diff --git a/archetypes/uninotes.md b/archetypes/uninotes.md new file mode 100644 index 0000000..83535c0 --- /dev/null +++ b/archetypes/uninotes.md @@ -0,0 +1,9 @@ ++++ +date = '{{ .Date }}' +draft = true +semester = ['S1'] +subjectcode = ['SUBJECT CODE'] +unit = 'Unit 1' +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +toc = true ++++ diff --git a/content/semester/_index.md b/content/semester/_index.md new file mode 100644 index 0000000..0c99ed7 --- /dev/null +++ b/content/semester/_index.md @@ -0,0 +1,4 @@ ++++ +title = "Semester" +draft = false ++++ diff --git a/content/subjectcode/_index.md b/content/subjectcode/_index.md new file mode 100644 index 0000000..eb48a96 --- /dev/null +++ b/content/subjectcode/_index.md @@ -0,0 +1,4 @@ ++++ +title = "Subject Code" +draft = false ++++ diff --git a/content/uninotes/_index.md b/content/uninotes/_index.md new file mode 100644 index 0000000..5e7c40e --- /dev/null +++ b/content/uninotes/_index.md @@ -0,0 +1,5 @@ ++++ +title = "UniNotes" +date = '2025-11-11T23:15:44+05:30' +draft = false ++++ diff --git a/content/uninotes/pbm-dcm1110-unit1.md b/content/uninotes/pbm-dcm1110-unit1.md new file mode 100644 index 0000000..bad686f --- /dev/null +++ b/content/uninotes/pbm-dcm1110-unit1.md @@ -0,0 +1,13 @@ ++++ +date = '2025-11-11T23:15:44+05:30' +draft = false +semester = ['S1'] +subjectcode = ['PBM DCM1110'] +unit = 'Unit 1' +title = 'Unit 1' +toc = true ++++ + +## Introduction + +Unit 1 notes go here. diff --git a/docs/404.html b/docs/404.html index ebb4ccc..9dfcd7a 100644 --- a/docs/404.html +++ b/docs/404.html @@ -7,4 +7,4 @@

404

The page you visited was not found.

Return to the home page

\ No newline at end of file +Subscribe

404

The page you visited was not found.

Return to the home page

\ No newline at end of file diff --git a/docs/blog/index.html b/docs/blog/index.html index bf347e8..75d1f19 100644 --- a/docs/blog/index.html +++ b/docs/blog/index.html @@ -7,5 +7,5 @@

All Posts | Categories

What is Education?

What is Education? # Education simply means “learning”. It’s a natural process. +Subscribe

All Posts | Categories

What is Education?

What is Education? # Education simply means “learning”. It’s a natural process. Ratio of components in Education: # 50% Knowledge/Understanding, 30% …

\ No newline at end of file diff --git a/docs/blog/what-is-education/index.html b/docs/blog/what-is-education/index.html index b7da7ab..37402e9 100644 --- a/docs/blog/what-is-education/index.html +++ b/docs/blog/what-is-education/index.html @@ -16,5 +16,5 @@ Academics system has evolved with time and got worst. Let’s see what the syste

What is Education?


What is Education? #

Education simply means “learning”. It’s a natural process.

Ratio of components in Education: #

50% Knowledge/Understanding, 30% Skills, 20% Experience.

Education vs Academics: #

Education and Academics are not the same thing. Academics is Education based of a curriculum and an institution. Plato discovered the word while describing his school of philosophy.

Academics system has evolved with time and got worst. Let’s see what the system has become nowadays: #

Extra bad: #

Education as a concept/implementation/system is good. +Subscribe

What is Education?


What is Education? #

Education simply means “learning”. It’s a natural process.

Ratio of components in Education: #

50% Knowledge/Understanding, 30% Skills, 20% Experience.

Education vs Academics: #

Education and Academics are not the same thing. Academics is Education based of a curriculum and an institution. Plato discovered the word while describing his school of philosophy.

Academics system has evolved with time and got worst. Let’s see what the system has become nowadays: #

  • Wrong ratio of knowledge, skill, experience (knowledge takes about 90%).
  • Generalised curriculum for all students.

Extra bad: #

  • Goals are only bound to exams/grades, degree or certifications (year 1088), then getting jobs.
  • Unhealthy pressure and competition for students.
  • Money game.
  • Politics.

Education as a concept/implementation/system is good. Academics is good only as a concept. It’s implementation and system is always the worst and corrupted.

Activities in Education: #

  • Knowledge: Reading, listening, watching, feeling, thinking etc.

  • Understanding: Studying (literary, critical thinking, investigating), researching.

  • Skill: Practicing.

  • Experience: Time spending.

Read vs Study vs Research: #

  1. Read: Reading is about watching or interpreting something/someone to gain knowledge.

  2. Study: Studying is about interpreting a topic, going deeper and gaining some conscious understanding out of it.

  3. Research: Research is about studying a topic and then contributing to it with changes from your end.

  • Reading relates with knowledge.

  • Studying relates with understanding.

  • Research relates with understanding and contributing.

Knowledge vs Entertainment: #

  • Activities that are done for Knowledge/Understanding (reading, watching, listening, studying etc.) can also be done for Entertainment and vice versa.

Example:

  1. The first book was to provide Knowledge/Understanding, but later books became a source of Entertainment (fiction).
  2. Videos can be used for both Knowledge/Understanding and Entertainment purposes. For example, for Knowledge/Understanding, there are documentaries, tutorial videos etc. For Entertainment, there are movies, funny videos etc.
  • All these are taken from my notes, all of which I like to write and think about deeply.
Tags:
Categories:
\ No newline at end of file diff --git a/docs/categories/index.html b/docs/categories/index.html index 77b7f1e..a772ce1 100644 --- a/docs/categories/index.html +++ b/docs/categories/index.html @@ -7,4 +7,5 @@

All Posts | Categories

Philosophy (1)

\ No newline at end of file +Subscribe

All Posts | Categories

Philosophy (1)

\ No newline at end of file diff --git a/docs/categories/philosophy/index.html b/docs/categories/philosophy/index.html index 85cca84..efbd25f 100644 --- a/docs/categories/philosophy/index.html +++ b/docs/categories/philosophy/index.html @@ -7,4 +7,7 @@

All Posts | Categories

Philosophy

What is Education?

\ No newline at end of file +Subscribe

All Posts | +Categories

Philosophy

What is Education?

\ No newline at end of file diff --git a/docs/categories/philosophy/page/1/index.html b/docs/categories/philosophy/page/1/index.html new file mode 100644 index 0000000..05e6afd --- /dev/null +++ b/docs/categories/philosophy/page/1/index.html @@ -0,0 +1 @@ +https://freedoms4.org/categories/philosophy/ \ No newline at end of file diff --git a/docs/coming-soon/index.html b/docs/coming-soon/index.html index c4596f5..66243cc 100644 --- a/docs/coming-soon/index.html +++ b/docs/coming-soon/index.html @@ -7,4 +7,4 @@

Coming Soon

This feature is not yet available. Check back later!

\ No newline at end of file +Subscribe

Coming Soon

This feature is not yet available. Check back later!

\ No newline at end of file diff --git a/docs/contact/index.html b/docs/contact/index.html index cb98ad6..c46ff07 100644 --- a/docs/contact/index.html +++ b/docs/contact/index.html @@ -19,4 +19,4 @@ Lemmy: hyzen@lemmy.today">

Admin: hyzen

Contacts #

Email and XMPP: hyzen@freedoms4.org

IRC/Liberachat: hyzen, #freedoms4

Follow on #

Mastodon: hyzen@mastodon.social

Lemmy: hyzen@lemmy.today

\ No newline at end of file +Subscribe

Admin: hyzen

Contacts #

Email and XMPP: hyzen@freedoms4.org

IRC/Liberachat: hyzen, #freedoms4

Follow on #

Mastodon: hyzen@mastodon.social

Lemmy: hyzen@lemmy.today

\ No newline at end of file diff --git a/docs/css/custom.css b/docs/css/custom.css index 841a8bb..670083d 100644 --- a/docs/css/custom.css +++ b/docs/css/custom.css @@ -1,3 +1,70 @@ +/* ── UniNotes ───────────────────────────────────────────────────────────── */ + +.uninotes-breadcrumbs { + font-size: 0.85rem; + margin-bottom: 1.4rem; + color: var(--foreground-color3, #888); +} + +.uninotes-breadcrumbs a { + color: var(--accent-color); + text-decoration: none; +} + +.uninotes-breadcrumbs a:hover { + text-decoration: underline; +} + +.uninotes-list { + list-style: none; + padding: 0; + margin: 1.5rem 0 0 0; +} + +.uninotes-list__item { + margin-bottom: 0.6rem; + border-left: 3px solid var(--accent-color); + padding-left: 0.75rem; +} + +.uninotes-list__link { + color: var(--foreground-color); + text-decoration: none; + font-size: 1rem; +} + +.uninotes-list__link:hover { + color: var(--accent-color); + text-decoration: underline; +} + +.uninotes-list--subjects .uninotes-list__item { + border-left-color: var(--accent-color); +} + +.uninotes-list--units .uninotes-list__item { + border-left-color: var(--foreground-color3, #888); +} + +.uninotes-meta { + display: flex; + flex-wrap: wrap; + gap: 0.4rem; + margin-bottom: 0.75rem; +} + +.uninotes-meta__pill { + display: inline-block; + font-size: 0.72rem; + padding: 0.15rem 0.55rem; + border-radius: 999px; + border: 1px solid var(--accent-color); + color: var(--accent-color); + font-weight: 500; + letter-spacing: 0.02em; +} + +/* ── Menu links ─────────────────────────────────────────────────────────── */ /* Menu links */ .menu__link { color: var(--menu-color, var(--accent-color)); diff --git a/docs/css/style.css b/docs/css/style.css deleted file mode 100644 index 37d945c..0000000 --- a/docs/css/style.css +++ /dev/null @@ -1,774 +0,0 @@ -/* -Styles are mobile-first. Desktop styles are wrapped in media queries. -Naming convention: BEM (Block, Element, Modifier). When it's difficult to add classes, I will use tag names. -*/ -*, -*::before, -*::after { - box-sizing: border-box; } - -.body { - margin: 0; } - -a { - text-decoration: none; } - -.menu__list, -.translation-list, -.pagination { - list-style-type: none; - padding-inline-start: 0; } - -ul:has(> li > input[type="checkbox"]) { - list-style-type: none; - padding-inline-start: 1em; } - -blockquote { - margin: 0; } - -.body { - margin-left: 16px; - margin-right: 16px; } - -@media (min-width: 800px) { - .body { - width: 768px; - margin-left: auto; - margin-right: auto; } } - -:root { - --background-color: #171414; - --background-color1: #fff; - --foreground-color: #e3e1db; - --foreground-color3: #ccc3b3; - --accent-color: #fff; } - -@media (prefers-color-scheme: light) { - :root { - --background-color: #fbf1c7; - --background-color1: #ebdbb2; - --foreground-color: #3c3836; - --foreground-color3: #665c54; - --accent-color: #af3a03; } } - -.body { - background-color: var(--background-color); - color: var(--foreground-color); } - -h1, -h2, -h3, -h4, -h5, -h6 { - color: var(--foreground-color); } - -a { - color: var(--accent-color); } - -.header { - border-bottom: 1px solid var(--background-color1); } - -.brand { - display: flex; - align-items: center; - gap: 6.9px; - margin-bottom: -18px; } - -.brand img { - height: 37px; - padding: 0px; } - -.footer { - border-top: 1px solid var(--background-color1); } - -blockquote { - background-color: var(--background-color1); } - [dir=rtl] blockquote { - border-right: 0.5rem solid var(--accent-color); } - [dir=ltr] blockquote { - border-left: 0.5rem solid var(--accent-color); } - -:not(pre) > code { - background-color: var(--background-color1); } - -hr { - background: var(--background-color1); } - -table { - background-color: var(--background-color1); } - -td, -th { - border: 1px solid var(--background-color); } - -figcaption { - color: var(--foreground-color3); } - -/* Background */ -.bg { - color: #3c3836; - background-color: #fbf1c7; } - -/* PreWrapper */ -.chroma { - color: #3c3836; - background-color: #fbf1c7; } - -/* Other */ -/* Error */ -/* CodeLine */ -/* LineLink */ -.chroma .lnlinks { - outline: none; - text-decoration: none; - color: inherit; } - -/* LineTableTD */ -.chroma .lntd { - vertical-align: top; - padding: 0; - margin: 0; - border: 0; } - -/* LineTable */ -.chroma .lntable { - border-spacing: 0; - padding: 0; - margin: 0; - border: 0; } - -/* LineHighlight */ -.chroma .hl { - background-color: #e1d8b3; } - -/* LineNumbersTable */ -.chroma .lnt { - white-space: pre; - -webkit-user-select: none; - user-select: none; - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #9d9b9a; } - -/* LineNumbers */ -.chroma .ln { - white-space: pre; - -webkit-user-select: none; - user-select: none; - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #9d9b9a; } - -/* Line */ -.chroma .line { - display: flex; } - -/* Keyword */ -.chroma .k { - color: #af3a03; } - -/* KeywordConstant */ -.chroma .kc { - color: #af3a03; } - -/* KeywordDeclaration */ -.chroma .kd { - color: #af3a03; } - -/* KeywordNamespace */ -.chroma .kn { - color: #af3a03; } - -/* KeywordPseudo */ -.chroma .kp { - color: #af3a03; } - -/* KeywordReserved */ -.chroma .kr { - color: #af3a03; } - -/* KeywordType */ -.chroma .kt { - color: #b57614; } - -/* Name */ -/* NameAttribute */ -.chroma .na { - color: #79740e; - font-weight: bold; } - -/* NameBuiltin */ -.chroma .nb { - color: #b57614; } - -/* NameBuiltinPseudo */ -/* NameClass */ -/* NameConstant */ -.chroma .no { - color: #d3869b; } - -/* NameDecorator */ -/* NameEntity */ -.chroma .ni { - color: #b57614; } - -/* NameException */ -.chroma .ne { - color: #fb4934; } - -/* NameFunction */ -.chroma .nf { - color: #b57614; } - -/* NameFunctionMagic */ -/* NameLabel */ -.chroma .nl { - color: #9d0006; } - -/* NameNamespace */ -/* NameOther */ -/* NameProperty */ -/* NameTag */ -.chroma .nt { - color: #9d0006; } - -/* NameVariable */ -/* NameVariableClass */ -/* NameVariableGlobal */ -/* NameVariableInstance */ -/* NameVariableMagic */ -/* Literal */ -/* LiteralDate */ -/* LiteralString */ -.chroma .s { - color: #79740e; } - -/* LiteralStringAffix */ -.chroma .sa { - color: #79740e; } - -/* LiteralStringBacktick */ -.chroma .sb { - color: #79740e; } - -/* LiteralStringChar */ -.chroma .sc { - color: #79740e; } - -/* LiteralStringDelimiter */ -.chroma .dl { - color: #79740e; } - -/* LiteralStringDoc */ -.chroma .sd { - color: #79740e; } - -/* LiteralStringDouble */ -.chroma .s2 { - color: #79740e; } - -/* LiteralStringEscape */ -.chroma .se { - color: #79740e; } - -/* LiteralStringHeredoc */ -.chroma .sh { - color: #79740e; } - -/* LiteralStringInterpol */ -.chroma .si { - color: #79740e; } - -/* LiteralStringOther */ -.chroma .sx { - color: #79740e; } - -/* LiteralStringRegex */ -.chroma .sr { - color: #79740e; } - -/* LiteralStringSingle */ -.chroma .s1 { - color: #79740e; } - -/* LiteralStringSymbol */ -.chroma .ss { - color: #076678; } - -/* LiteralNumber */ -.chroma .m { - color: #8f3f71; } - -/* LiteralNumberBin */ -.chroma .mb { - color: #8f3f71; } - -/* LiteralNumberFloat */ -.chroma .mf { - color: #8f3f71; } - -/* LiteralNumberHex */ -.chroma .mh { - color: #8f3f71; } - -/* LiteralNumberInteger */ -.chroma .mi { - color: #8f3f71; } - -/* LiteralNumberIntegerLong */ -.chroma .il { - color: #8f3f71; } - -/* LiteralNumberOct */ -.chroma .mo { - color: #8f3f71; } - -/* Operator */ -.chroma .o { - color: #af3a03; } - -/* OperatorWord */ -.chroma .ow { - color: #af3a03; } - -/* Punctuation */ -/* Comment */ -.chroma .c { - color: #928374; - font-style: italic; } - -/* CommentHashbang */ -.chroma .ch { - color: #928374; - font-style: italic; } - -/* CommentMultiline */ -.chroma .cm { - color: #928374; - font-style: italic; } - -/* CommentSingle */ -.chroma .c1 { - color: #928374; - font-style: italic; } - -/* CommentSpecial */ -.chroma .cs { - color: #928374; - font-style: italic; } - -/* CommentPreproc */ -.chroma .cp { - color: #427b58; } - -/* CommentPreprocFile */ -.chroma .cpf { - color: #427b58; - font-style: italic; } - -/* Generic */ -/* GenericDeleted */ -.chroma .gd { - color: #282828; - background-color: #9d0006; } - -/* GenericEmph */ -.chroma .ge { - color: #076678; - text-decoration: underline; } - -/* GenericError */ -.chroma .gr { - background-color: #9d0006; - font-weight: bold; } - -/* GenericHeading */ -.chroma .gh { - color: #79740e; - font-weight: bold; } - -/* GenericInserted */ -.chroma .gi { - color: #282828; - background-color: #79740e; } - -/* GenericOutput */ -.chroma .go { - color: #504945; } - -/* GenericPrompt */ -/* GenericStrong */ -/* GenericSubheading */ -.chroma .gu { - color: #79740e; - font-weight: bold; } - -/* GenericTraceback */ -.chroma .gt { - background-color: #3c3836; - font-weight: bold; } - -/* GenericUnderline */ -/* TextWhitespace */ -@media (prefers-color-scheme: dark) { - /* Background */ - .bg { - color: #ebdbb2; - background-color: #282828; } - /* PreWrapper */ - .chroma { - color: #ebdbb2; - background-color: #282828; } - /* Other */ - /* Error */ - /* CodeLine */ - /* LineLink */ - .chroma .lnlinks { - outline: none; - text-decoration: none; - color: inherit; } - /* LineTableTD */ - .chroma .lntd { - vertical-align: top; - padding: 0; - margin: 0; - border: 0; } - /* LineTable */ - .chroma .lntable { - border-spacing: 0; - padding: 0; - margin: 0; - border: 0; } - /* LineHighlight */ - .chroma .hl { - background-color: #3d3d3d; } - /* LineNumbersTable */ - .chroma .lnt { - white-space: pre; - -webkit-user-select: none; - user-select: none; - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #756d59; } - /* LineNumbers */ - .chroma .ln { - white-space: pre; - -webkit-user-select: none; - user-select: none; - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #756d59; } - /* Line */ - .chroma .line { - display: flex; } - /* Keyword */ - .chroma .k { - color: #fe8019; } - /* KeywordConstant */ - .chroma .kc { - color: #fe8019; } - /* KeywordDeclaration */ - .chroma .kd { - color: #fe8019; } - /* KeywordNamespace */ - .chroma .kn { - color: #fe8019; } - /* KeywordPseudo */ - .chroma .kp { - color: #fe8019; } - /* KeywordReserved */ - .chroma .kr { - color: #fe8019; } - /* KeywordType */ - .chroma .kt { - color: #fabd2f; } - /* Name */ - /* NameAttribute */ - .chroma .na { - color: #b8bb26; - font-weight: bold; } - /* NameBuiltin */ - .chroma .nb { - color: #fabd2f; } - /* NameBuiltinPseudo */ - /* NameClass */ - /* NameConstant */ - .chroma .no { - color: #d3869b; } - /* NameDecorator */ - /* NameEntity */ - .chroma .ni { - color: #fabd2f; } - /* NameException */ - .chroma .ne { - color: #fb4934; } - /* NameFunction */ - .chroma .nf { - color: #fabd2f; } - /* NameFunctionMagic */ - /* NameLabel */ - .chroma .nl { - color: #fb4934; } - /* NameNamespace */ - /* NameOther */ - /* NameProperty */ - /* NameTag */ - .chroma .nt { - color: #fb4934; } - /* NameVariable */ - /* NameVariableClass */ - /* NameVariableGlobal */ - /* NameVariableInstance */ - /* NameVariableMagic */ - /* Literal */ - /* LiteralDate */ - /* LiteralString */ - .chroma .s { - color: #b8bb26; } - /* LiteralStringAffix */ - .chroma .sa { - color: #b8bb26; } - /* LiteralStringBacktick */ - .chroma .sb { - color: #b8bb26; } - /* LiteralStringChar */ - .chroma .sc { - color: #b8bb26; } - /* LiteralStringDelimiter */ - .chroma .dl { - color: #b8bb26; } - /* LiteralStringDoc */ - .chroma .sd { - color: #b8bb26; } - /* LiteralStringDouble */ - .chroma .s2 { - color: #b8bb26; } - /* LiteralStringEscape */ - .chroma .se { - color: #b8bb26; } - /* LiteralStringHeredoc */ - .chroma .sh { - color: #b8bb26; } - /* LiteralStringInterpol */ - .chroma .si { - color: #b8bb26; } - /* LiteralStringOther */ - .chroma .sx { - color: #b8bb26; } - /* LiteralStringRegex */ - .chroma .sr { - color: #b8bb26; } - /* LiteralStringSingle */ - .chroma .s1 { - color: #b8bb26; } - /* LiteralStringSymbol */ - .chroma .ss { - color: #83a598; } - /* LiteralNumber */ - .chroma .m { - color: #d3869b; } - /* LiteralNumberBin */ - .chroma .mb { - color: #d3869b; } - /* LiteralNumberFloat */ - .chroma .mf { - color: #d3869b; } - /* LiteralNumberHex */ - .chroma .mh { - color: #d3869b; } - /* LiteralNumberInteger */ - .chroma .mi { - color: #d3869b; } - /* LiteralNumberIntegerLong */ - .chroma .il { - color: #d3869b; } - /* LiteralNumberOct */ - .chroma .mo { - color: #d3869b; } - /* Operator */ - .chroma .o { - color: #fe8019; } - /* OperatorWord */ - .chroma .ow { - color: #fe8019; } - /* Punctuation */ - /* Comment */ - .chroma .c { - color: #928374; - font-style: italic; } - /* CommentHashbang */ - .chroma .ch { - color: #928374; - font-style: italic; } - /* CommentMultiline */ - .chroma .cm { - color: #928374; - font-style: italic; } - /* CommentSingle */ - .chroma .c1 { - color: #928374; - font-style: italic; } - /* CommentSpecial */ - .chroma .cs { - color: #928374; - font-style: italic; } - /* CommentPreproc */ - .chroma .cp { - color: #8ec07c; } - /* CommentPreprocFile */ - .chroma .cpf { - color: #8ec07c; - font-style: italic; } - /* Generic */ - /* GenericDeleted */ - .chroma .gd { - color: #282828; - background-color: #fb4934; } - /* GenericEmph */ - .chroma .ge { - color: #83a598; - text-decoration: underline; } - /* GenericError */ - .chroma .gr { - background-color: #fb4934; - font-weight: bold; } - /* GenericHeading */ - .chroma .gh { - color: #b8bb26; - font-weight: bold; } - /* GenericInserted */ - .chroma .gi { - color: #282828; - background-color: #b8bb26; } - /* GenericOutput */ - .chroma .go { - color: #504945; } - /* GenericPrompt */ - /* GenericStrong */ - /* GenericSubheading */ - .chroma .gu { - color: #b8bb26; - font-weight: bold; } - /* GenericTraceback */ - .chroma .gt { - background-color: #fb4934; - font-weight: bold; } - /* GenericUnderline */ - /* TextWhitespace */ } - -pre:not(.chroma), -.bg, -.chroma, -.highlight { - background-color: var(--background-color1); } - -.html { - font-size: 18px; } - -.body { - font-family: sans-serif; - line-height: 1.5; } - -p, -ul, -ol, -h1, -h2, -h3, -h4, -h5, -h6 { - overflow-wrap: break-word; } - -.toc { - margin-block: 1rem; } - .toc__summary { - font-weight: bolder; - cursor: pointer; } - -blockquote { - padding: 0.5rem; } - -hr { - border: none; - height: 1px; } - -figure { - margin-inline: 0; } - -.heading__anchor { - display: none; } - -.heading:hover > .heading__anchor { - display: inline; } - -.table-wrapper { - overflow-x: auto; - margin-block: 1rem; } - .table-wrapper > table { - word-break: keep-all; - border-collapse: collapse; } - .table-wrapper > table td, - .table-wrapper > table th { - padding: 0.5rem; - text-align: start; } - -svg, -img, -video, -iframe { - max-width: 100%; } - -.menu__list { - display: flex; - flex-direction: row; - gap: 0.5rem; - flex-wrap: wrap; } - -.menu__link--active { - font-weight: bolder; } - -.pagination { - display: flex; - gap: 1rem; } - -.page-item.active { - font-weight: bolder; } - -.page-nav { - display: flex; - flex-direction: column; - margin-block: 1rem; } - -.section-post-title, -.term-post-title { - margin-block-start: 0; } - -.home-post-title { - margin-block-end: 0; } - -.summary { - margin-block-start: 0; } - -:not(pre) > code { - padding-inline: 0.25rem; } - -div.highlight { - overflow-x: auto; - margin-block: 1rem; } - div.highlight > div.chroma > table.lntable { - padding-inline-end: 0.4rem; } - div.highlight > pre.chroma { - padding-inline: 0.4rem; } - -pre:not(.chroma) { - overflow-x: auto; - padding-block: 1rem; - padding-inline: 0.4rem; } - -pre { - font-size: 0.875rem; } - -.footer { - font-size: smaller; } diff --git a/docs/index.html b/docs/index.html index 7e4cd03..32050aa 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -Freedoms4
Freedoms4 logo

Freedoms4

Namaste 🙏 #

My name is hyzen, I'm the founder of this site. This site is my space to write about my views on various subjects and explore ideas that matter to me. I also provide free services to the public that may matter to them.

On the blog I’m writing about: #

  • Tech - Free and Open-Source Software, digital freedom.
  • Philosophy - Reflections on ideas, ethics, meaning, and ways of thinking.
  • Communism - I believe in Marxism. I am committed to the principle of providing internet services in a socialist way. This means creating tools and spaces that prioritize community benefit over profit, and believing in the collective good.
  • Politics as a whole - Commentary on political systems, economics, and social issues.

Beyond theoretical discussions, I may also write about my day-to-day experiences, thoughts, and feelings - the personal reflections that shape my worldview and understanding of the world around me.

Motive: #

My goal is for everyone who visits this site to leave with something valuable.

Site’s Code: #

This site is also built with open source tools like Hugo and served freely. If you're interested in the code , you can find it here↗.

\ No newline at end of file +Subscribe

Namaste 🙏 #

My name is hyzen, I'm the founder of this site. This site is my space to write about my views on various subjects and explore ideas that matter to me. I also provide free services to the public that may matter to them.

On the blog I’m writing about: #

  • Tech - Free and Open-Source Software, digital freedom.
  • Philosophy - Reflections on ideas, ethics, meaning, and ways of thinking.
  • Communism - I believe in Marxism. I am committed to the principle of providing internet services in a socialist way. This means creating tools and spaces that prioritize community benefit over profit, and believing in the collective good.
  • Politics as a whole - Commentary on political systems, economics, and social issues.

Beyond theoretical discussions, I may also write about my day-to-day experiences, thoughts, and feelings - the personal reflections that shape my worldview and understanding of the world around me.

Motive: #

My goal is for everyone who visits this site to leave with something valuable.

Site’s Code: #

This site is also built with open source tools like Hugo and served freely. If you're interested in the code , you can find it here↗.

\ No newline at end of file diff --git a/docs/index.xml b/docs/index.xml index 3582a0e..4524087 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -22,7 +22,9 @@ <li>Politics.</li> </ul> <p>Education as a concept/implementation/system is good. -Academics is good only as a concept. It&rsquo;s implementation and system is always the worst and corrupted.</p>Coming Soonhttps://freedoms4.org/coming-soon/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/coming-soon/<p>This feature is not yet available. Check back later!</p>Coming soon!https://freedoms4.org/login/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/login/<p>The feature is not available yet.</p>Coming soon!https://freedoms4.org/signup/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/signup/<p>The feature is not available yet.</p>Contacthttps://freedoms4.org/contact/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/contact/<p><strong>Admin:</strong> hyzen</p> +Academics is good only as a concept. It&rsquo;s implementation and system is always the worst and corrupted.</p>Unit 1https://freedoms4.org/uninotes/pbm-dcm1110-unit1/Tue, 11 Nov 2025 23:15:44 +0530your-email@example.com (Freedoms4)https://freedoms4.org/uninotes/pbm-dcm1110-unit1/<h2 class="heading" id="introduction"> + Introduction<span class="heading__anchor"> <a href="#introduction">#</a></span> +</h2><p>Unit 1 notes go here.</p>Coming Soonhttps://freedoms4.org/coming-soon/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/coming-soon/<p>This feature is not yet available. Check back later!</p>Coming soon!https://freedoms4.org/login/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/login/<p>The feature is not available yet.</p>Coming soon!https://freedoms4.org/signup/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/signup/<p>The feature is not available yet.</p>Contacthttps://freedoms4.org/contact/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/contact/<p><strong>Admin:</strong> hyzen</p> <h2 class="heading" id="contacts"> Contacts<span class="heading__anchor"> <a href="#contacts">#</a></span> </h2><p><strong><a href="mailto:hyzen@freedoms4.org">Email</a> and <a href="xmpp:hyzen@freedoms4.org">XMPP</a>:</strong> <a href="mailto:hyzen@freedoms4.org">hyzen@freedoms4.org</a></p> diff --git a/docs/login/index.html b/docs/login/index.html index 9822ea5..5cc8ce5 100644 --- a/docs/login/index.html +++ b/docs/login/index.html @@ -7,4 +7,4 @@

Coming soon!

The feature is not available yet.

\ No newline at end of file +Subscribe

Coming soon!

The feature is not available yet.

\ No newline at end of file diff --git a/docs/semester/index.html b/docs/semester/index.html new file mode 100644 index 0000000..dcc25b6 --- /dev/null +++ b/docs/semester/index.html @@ -0,0 +1,11 @@ +Semester | Freedoms4

All Posts | Categories

S1 (1)

\ No newline at end of file diff --git a/docs/semester/index.xml b/docs/semester/index.xml new file mode 100644 index 0000000..8da5b80 --- /dev/null +++ b/docs/semester/index.xml @@ -0,0 +1 @@ +Semester on Freedoms4https://freedoms4.org/semester/Recent content in Semester on Freedoms4Hugoen-usyour-email@example.com (Freedoms4)your-email@example.com (Freedoms4)Tue, 11 Nov 2025 23:15:44 +0530S1https://freedoms4.org/semester/s1/Tue, 11 Nov 2025 23:15:44 +0530your-email@example.com (Freedoms4)https://freedoms4.org/semester/s1/ \ No newline at end of file diff --git a/docs/semester/s1/index.html b/docs/semester/s1/index.html new file mode 100644 index 0000000..a61e843 --- /dev/null +++ b/docs/semester/s1/index.html @@ -0,0 +1,11 @@ +S1 | Freedoms4

S1

  1. PBM DCM1110
\ No newline at end of file diff --git a/docs/semester/s1/index.xml b/docs/semester/s1/index.xml new file mode 100644 index 0000000..3fdd5d3 --- /dev/null +++ b/docs/semester/s1/index.xml @@ -0,0 +1,3 @@ +S1 on Freedoms4https://freedoms4.org/semester/s1/Recent content in S1 on Freedoms4Hugoen-usyour-email@example.com (Freedoms4)your-email@example.com (Freedoms4)Tue, 11 Nov 2025 23:15:44 +0530Unit 1https://freedoms4.org/uninotes/pbm-dcm1110-unit1/Tue, 11 Nov 2025 23:15:44 +0530your-email@example.com (Freedoms4)https://freedoms4.org/uninotes/pbm-dcm1110-unit1/<h2 class="heading" id="introduction"> + Introduction<span class="heading__anchor"> <a href="#introduction">#</a></span> +</h2><p>Unit 1 notes go here.</p> \ No newline at end of file diff --git a/docs/services/file-share/index.html b/docs/services/file-share/index.html index c77164a..383e336 100644 --- a/docs/services/file-share/index.html +++ b/docs/services/file-share/index.html @@ -7,5 +7,6 @@

Visit share.freedoms4.org↗ -to quickly upload files and get sharable links.

\ No newline at end of file +Subscribe

File share

Visit share.freedoms4.org↗ +to quickly upload files and get sharable links.

\ No newline at end of file diff --git a/docs/services/index.html b/docs/services/index.html index cb29c1c..3cb7c96 100644 --- a/docs/services/index.html +++ b/docs/services/index.html @@ -7,4 +7,4 @@

Services

1. File share

2. XMPP Account

\ No newline at end of file +Subscribe

Services

  1. File share
  2. XMPP Account
\ No newline at end of file diff --git a/docs/services/page/1/index.html b/docs/services/page/1/index.html deleted file mode 100644 index 9cfcf67..0000000 --- a/docs/services/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://freedoms4.org/services/ \ No newline at end of file diff --git a/docs/services/xmpp-account/index.html b/docs/services/xmpp-account/index.html index fdea354..bc940ec 100644 --- a/docs/services/xmpp-account/index.html +++ b/docs/services/xmpp-account/index.html @@ -7,4 +7,5 @@

Send your desired username to hyzen@freedoms4.org via Email (or via XMPP if already have an XMPP account). Account creation can take upto 24 hours.

\ No newline at end of file +Subscribe

XMPP Account

Send your desired username to hyzen@freedoms4.org via Email (or via XMPP if already have an XMPP account). Account creation can take upto 24 hours.

\ No newline at end of file diff --git a/docs/signup/index.html b/docs/signup/index.html index 463852a..c778f13 100644 --- a/docs/signup/index.html +++ b/docs/signup/index.html @@ -7,4 +7,4 @@

Coming soon!

The feature is not available yet.

\ No newline at end of file +Subscribe

Coming soon!

The feature is not available yet.

\ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 144e113..9888911 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -1 +1 @@ -https://freedoms4.org/tags/academics/2026-03-01T18:11:14+00:00https://freedoms4.org/blog/2026-03-01T18:11:14+00:00https://freedoms4.org/categories/2026-03-01T18:11:14+00:00https://freedoms4.org/tags/education/2026-03-01T18:11:14+00:00https://freedoms4.org/2026-03-01T18:11:14+00:00https://freedoms4.org/categories/philosophy/2026-03-01T18:11:14+00:00https://freedoms4.org/tags/system/2026-03-01T18:11:14+00:00https://freedoms4.org/tags/2026-03-01T18:11:14+00:00https://freedoms4.org/blog/what-is-education/2026-03-01T18:11:14+00:00https://freedoms4.org/coming-soon/https://freedoms4.org/login/https://freedoms4.org/signup/https://freedoms4.org/contact/https://freedoms4.org/services/file-share/https://freedoms4.org/services/https://freedoms4.org/services/xmpp-account/ \ No newline at end of file +https://freedoms4.org/tags/academics/2026-03-01T18:11:14+00:00https://freedoms4.org/blog/2026-03-01T18:11:14+00:00https://freedoms4.org/categories/2026-03-01T18:11:14+00:00https://freedoms4.org/tags/education/2026-03-01T18:11:14+00:00https://freedoms4.org/2026-03-01T18:11:14+00:00https://freedoms4.org/categories/philosophy/2026-03-01T18:11:14+00:00https://freedoms4.org/tags/system/2026-03-01T18:11:14+00:00https://freedoms4.org/tags/2026-03-01T18:11:14+00:00https://freedoms4.org/blog/what-is-education/2026-03-01T18:11:14+00:00https://freedoms4.org/subjectcode/pbm-dcm1110/2025-11-11T23:15:44+05:30https://freedoms4.org/semester/s1/2025-11-11T23:15:44+05:30https://freedoms4.org/semester/2025-11-11T23:15:44+05:30https://freedoms4.org/subjectcode/2025-11-11T23:15:44+05:30https://freedoms4.org/uninotes/2025-11-11T23:15:44+05:30https://freedoms4.org/uninotes/pbm-dcm1110-unit1/2025-11-11T23:15:44+05:30https://freedoms4.org/coming-soon/https://freedoms4.org/login/https://freedoms4.org/signup/https://freedoms4.org/contact/https://freedoms4.org/services/file-share/https://freedoms4.org/services/https://freedoms4.org/services/xmpp-account/ \ No newline at end of file diff --git a/docs/subjectcode/index.html b/docs/subjectcode/index.html new file mode 100644 index 0000000..f4817d0 --- /dev/null +++ b/docs/subjectcode/index.html @@ -0,0 +1,11 @@ +Subject Code | Freedoms4

All Posts | Categories

PBM DCM1110 (1)

\ No newline at end of file diff --git a/docs/subjectcode/index.xml b/docs/subjectcode/index.xml new file mode 100644 index 0000000..0ff1051 --- /dev/null +++ b/docs/subjectcode/index.xml @@ -0,0 +1 @@ +Subject Code on Freedoms4https://freedoms4.org/subjectcode/Recent content in Subject Code on Freedoms4Hugoen-usyour-email@example.com (Freedoms4)your-email@example.com (Freedoms4)Tue, 11 Nov 2025 23:15:44 +0530PBM DCM1110https://freedoms4.org/subjectcode/pbm-dcm1110/Tue, 11 Nov 2025 23:15:44 +0530your-email@example.com (Freedoms4)https://freedoms4.org/subjectcode/pbm-dcm1110/ \ No newline at end of file diff --git a/docs/subjectcode/pbm-dcm1110/index.html b/docs/subjectcode/pbm-dcm1110/index.html new file mode 100644 index 0000000..a032986 --- /dev/null +++ b/docs/subjectcode/pbm-dcm1110/index.html @@ -0,0 +1,12 @@ +PBM DCM1110 | Freedoms4

PBM DCM1110

\ No newline at end of file diff --git a/docs/subjectcode/pbm-dcm1110/index.xml b/docs/subjectcode/pbm-dcm1110/index.xml new file mode 100644 index 0000000..d1fa15a --- /dev/null +++ b/docs/subjectcode/pbm-dcm1110/index.xml @@ -0,0 +1,3 @@ +PBM DCM1110 on Freedoms4https://freedoms4.org/subjectcode/pbm-dcm1110/Recent content in PBM DCM1110 on Freedoms4Hugoen-usyour-email@example.com (Freedoms4)your-email@example.com (Freedoms4)Tue, 11 Nov 2025 23:15:44 +0530Unit 1https://freedoms4.org/uninotes/pbm-dcm1110-unit1/Tue, 11 Nov 2025 23:15:44 +0530your-email@example.com (Freedoms4)https://freedoms4.org/uninotes/pbm-dcm1110-unit1/<h2 class="heading" id="introduction"> + Introduction<span class="heading__anchor"> <a href="#introduction">#</a></span> +</h2><p>Unit 1 notes go here.</p> \ No newline at end of file diff --git a/docs/tags/academics/index.html b/docs/tags/academics/index.html index 003402e..fce8f63 100644 --- a/docs/tags/academics/index.html +++ b/docs/tags/academics/index.html @@ -7,4 +7,7 @@

All Posts | Categories

Academics

What is Education?

\ No newline at end of file +Subscribe

All Posts | +Categories

Academics

What is Education?

\ No newline at end of file diff --git a/docs/tags/academics/page/1/index.html b/docs/tags/academics/page/1/index.html new file mode 100644 index 0000000..7679e13 --- /dev/null +++ b/docs/tags/academics/page/1/index.html @@ -0,0 +1 @@ +https://freedoms4.org/tags/academics/ \ No newline at end of file diff --git a/docs/tags/education/index.html b/docs/tags/education/index.html index 11cfa62..ddff007 100644 --- a/docs/tags/education/index.html +++ b/docs/tags/education/index.html @@ -7,4 +7,7 @@

All Posts | Categories

Education

What is Education?

\ No newline at end of file +Subscribe

All Posts | +Categories

Education

What is Education?

\ No newline at end of file diff --git a/docs/tags/education/page/1/index.html b/docs/tags/education/page/1/index.html new file mode 100644 index 0000000..bd49260 --- /dev/null +++ b/docs/tags/education/page/1/index.html @@ -0,0 +1 @@ +https://freedoms4.org/tags/education/ \ No newline at end of file diff --git a/docs/tags/index.html b/docs/tags/index.html index 51b1c06..649f1b7 100644 --- a/docs/tags/index.html +++ b/docs/tags/index.html @@ -7,4 +7,5 @@

All Posts | Categories

Academics (1)

Education (1)

System (1)

\ No newline at end of file +Subscribe

All Posts | Categories

Academics (1)

Education (1)

System (1)

\ No newline at end of file diff --git a/docs/tags/system/index.html b/docs/tags/system/index.html index 9e7a802..4362d30 100644 --- a/docs/tags/system/index.html +++ b/docs/tags/system/index.html @@ -7,4 +7,7 @@

All Posts | Categories

System

What is Education?

\ No newline at end of file +Subscribe

All Posts | +Categories

System

What is Education?

\ No newline at end of file diff --git a/docs/tags/system/page/1/index.html b/docs/tags/system/page/1/index.html new file mode 100644 index 0000000..e390124 --- /dev/null +++ b/docs/tags/system/page/1/index.html @@ -0,0 +1 @@ +https://freedoms4.org/tags/system/ \ No newline at end of file diff --git a/docs/uninotes/index.html b/docs/uninotes/index.html new file mode 100644 index 0000000..4f06482 --- /dev/null +++ b/docs/uninotes/index.html @@ -0,0 +1,10 @@ +UniNotes | Freedoms4

UniNotes

\ No newline at end of file diff --git a/docs/uninotes/index.xml b/docs/uninotes/index.xml new file mode 100644 index 0000000..3af1635 --- /dev/null +++ b/docs/uninotes/index.xml @@ -0,0 +1,3 @@ +UniNotes on Freedoms4https://freedoms4.org/uninotes/Recent content in UniNotes on Freedoms4Hugoen-usyour-email@example.com (Freedoms4)your-email@example.com (Freedoms4)Tue, 11 Nov 2025 23:15:44 +0530Unit 1https://freedoms4.org/uninotes/pbm-dcm1110-unit1/Tue, 11 Nov 2025 23:15:44 +0530your-email@example.com (Freedoms4)https://freedoms4.org/uninotes/pbm-dcm1110-unit1/<h2 class="heading" id="introduction"> + Introduction<span class="heading__anchor"> <a href="#introduction">#</a></span> +</h2><p>Unit 1 notes go here.</p> \ No newline at end of file diff --git a/docs/uninotes/pbm-dcm1110-unit1/index.html b/docs/uninotes/pbm-dcm1110-unit1/index.html new file mode 100644 index 0000000..108169f --- /dev/null +++ b/docs/uninotes/pbm-dcm1110-unit1/index.html @@ -0,0 +1,14 @@ +Unit 1 | Freedoms4
S1 +PBM DCM1110

Unit 1

Table of Contents

Introduction #

Unit 1 notes go here.

\ No newline at end of file diff --git a/hugo.toml b/hugo.toml index 4aeab81..1bc49ec 100644 --- a/hugo.toml +++ b/hugo.toml @@ -41,12 +41,20 @@ name = "Services" url = "/services/" weight = 3 +[[menu.main]] +identifier = "uninotes" +name = "UniNotes" +url = "/uninotes/" +weight = 4 + [[menu.main]] identifier = "contact" name = "Contact" url = "/contact/" -weight = 4 +weight = 5 [taxonomies] category = "categories" tag = "tags" +semester = "semester" +subjectcode = "subjectcode" diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..e298f97 --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,18 @@ +{{ define "main" }} + + + +

{{ .Title }}

+{{ partial "page/author.html" . }} +{{ partial "main/dates.html" . }} +{{ partial "page/translation_list.html" . }} +{{ partial "page/toc.html" . }} +{{ .Content }} +{{ partial "page/terms.html" (dict "taxonomy" "tags" "page" .) }} +{{ partial "page/terms.html" (dict "taxonomy" "categories" "page" .) }} +{{ partial "page/page_nav.html" . }} +{{ partial "page/page-end.html" . }} +{{ end }} diff --git a/layouts/_default/term.html b/layouts/_default/term.html index b6644d4..3db2b30 100644 --- a/layouts/_default/term.html +++ b/layouts/_default/term.html @@ -1,15 +1,30 @@ {{ define "main" }} +{{ $sectionPagerSize := or site.Params.sectionPagerSize 10 }} +{{ $paginator := .Paginate .Pages.ByDate.Reverse $sectionPagerSize }} + + + {{ .Content }} -

All Posts | Categories

+

+ All Posts | + Categories +

{{ .Title }}

- {{ range .Pages.ByDate.Reverse }} + {{ range $paginator.Pages }} {{ partial "main/dates.html" . }}

{{ .LinkTitle }} @@ -17,4 +32,8 @@ {{ end }}

+ + {{ end }} diff --git a/layouts/section.html b/layouts/section.html index cd477db..673a684 100644 --- a/layouts/section.html +++ b/layouts/section.html @@ -2,6 +2,14 @@ {{ $pages := .Pages }} {{ $sectionPagerSize := or site.Params.sectionPagerSize 10 }} {{ $paginator := .Paginate $pages $sectionPagerSize }} + + + {{ .Content }}

All Posts | Categories

{{ range $paginator.Pages }} diff --git a/layouts/semester/baseof.html b/layouts/semester/baseof.html new file mode 100644 index 0000000..d084a50 --- /dev/null +++ b/layouts/semester/baseof.html @@ -0,0 +1,65 @@ + + + + {{ partial "head.html" . }} + + +
+
+ Freedoms4 logo +

Freedoms4

+
+ + +
+ + + +
+ {{- $rssURL := "/index.xml" -}} + {{- with .OutputFormats.Get "rss" -}} + {{- $rssURL = .RelPermalink -}} + {{- end -}} + + + Subscribe + + +
+ + + +
+
+
+ {{ partial "header.html" . }} +
+
{{ block "main" . }}{{ end }}
+
{{ partial "footer.html" . }}
+ {{ partial "body/body-end.html" . }} + + diff --git a/layouts/semester/term.html b/layouts/semester/term.html new file mode 100644 index 0000000..5769a14 --- /dev/null +++ b/layouts/semester/term.html @@ -0,0 +1,61 @@ +{{ define "main" }} + +{{ $semesterName := .Title }} + + + +

{{ $semesterName }}

+ +{{/* Collect unique subject codes from posts tagged with this semester */}} +{{ $subjectCodes := slice }} +{{ range .Pages }} + {{ $raw := .Params.subjectcode }} + {{ $code := "" }} + {{ if reflect.IsSlice $raw }} + {{ $code = index $raw 0 }} + {{ else }} + {{ $code = $raw }} + {{ end }} + {{ if and $code (not (in $subjectCodes $code)) }} + {{ $subjectCodes = $subjectCodes | append $code }} + {{ end }} +{{ end }} + +{{ $subjectCodes = sort $subjectCodes }} + +
    + {{ range $subjectCodes }} + {{ $tp := site.GetPage (printf "/subjectcode/%s" (. | urlize)) }} +
  1. + {{ if $tp }} + {{ . }} + {{ else }} + {{ . }} + {{ end }} +
  2. + {{ end }} +
+ +{{/* Semester prev/next */}} +{{ $allSemesters := site.Taxonomies.semester.Alphabetical }} +{{ if gt (len $allSemesters) 1 }} + {{ $currentIdx := 0 }} + {{ range $i, $s := $allSemesters }} + {{ if eq $s.Page.Title $semesterName }}{{ $currentIdx = $i }}{{ end }} + {{ end }} + +{{ end }} + +{{ end }} diff --git a/layouts/services/section.html b/layouts/services/section.html index 8f2a803..3824ad2 100644 --- a/layouts/services/section.html +++ b/layouts/services/section.html @@ -1,13 +1,17 @@ {{ define "main" }} -{{ $pages := .Pages.ByTitle }} -{{ $sectionPagerSize := or site.Params.sectionPagerSize 10 }} -{{ $paginator := .Paginate $pages $sectionPagerSize }} - {{ .Content }} -

Services

- {{ range $index, $page := $paginator.Pages }} -

{{ add $index 1 }}. {{ $page.LinkTitle }}

+ + + +

Services

+ +
    + {{ range .Pages.ByTitle }} +
  1. + {{ .LinkTitle }} +
  2. {{ end }} - +
+ {{ end }} diff --git a/layouts/services/single.html b/layouts/services/single.html index 83a9fdd..282c501 100644 --- a/layouts/services/single.html +++ b/layouts/services/single.html @@ -1,27 +1,31 @@ {{ define "main" }} + + +

{{ .Title }}

+ {{ .Content }} +{{/* Prev/next among sibling services */}} +{{ $allPages := .CurrentSection.Pages.ByTitle }} {{ $currentTitle := .Title }} -{{ $allPages := .Section | .Site.GetPage }} -{{ $sortedPages := $allPages.Pages.ByTitle }} -{{ $currentIndex := 0 }} - -{{ range $index, $page := $sortedPages }} - {{ if eq $page.Title $currentTitle }} - {{ $currentIndex = $index }} - {{ end }} +{{ $currentIdx := 0 }} +{{ range $i, $p := $allPages }} + {{ if eq $p.Title $currentTitle }}{{ $currentIdx = $i }}{{ end }} {{ end }} -{{ if gt (len $sortedPages) 1 }} +{{ if gt (len $allPages) 1 }} {{ end }} diff --git a/layouts/subjectcode/baseof.html b/layouts/subjectcode/baseof.html new file mode 100644 index 0000000..d084a50 --- /dev/null +++ b/layouts/subjectcode/baseof.html @@ -0,0 +1,65 @@ + + + + {{ partial "head.html" . }} + + +
+
+ Freedoms4 logo +

Freedoms4

+
+ + +
+ + + +
+ {{- $rssURL := "/index.xml" -}} + {{- with .OutputFormats.Get "rss" -}} + {{- $rssURL = .RelPermalink -}} + {{- end -}} + + + Subscribe + + +
+ + + +
+
+
+ {{ partial "header.html" . }} +
+
{{ block "main" . }}{{ end }}
+
{{ partial "footer.html" . }}
+ {{ partial "body/body-end.html" . }} + + diff --git a/layouts/subjectcode/term.html b/layouts/subjectcode/term.html new file mode 100644 index 0000000..a0fe14e --- /dev/null +++ b/layouts/subjectcode/term.html @@ -0,0 +1,87 @@ +{{ define "main" }} + +{{ $subjectCode := .Title }} + +{{/* Find which semester this subject belongs to */}} +{{ $semester := "" }} +{{ range .Pages }} + {{ if eq $semester "" }} + {{ $raw := .Params.semester }} + {{ if reflect.IsSlice $raw }} + {{ $semester = index $raw 0 }} + {{ else }} + {{ $semester = $raw }} + {{ end }} + {{ end }} +{{ end }} + +{{/* Breadcrumbs */}} + + +

{{ $subjectCode }}

+ +{{/* List units sorted by date */}} + + +{{/* Subject prev/next — siblings are other subjectcodes in the same semester */}} +{{ if $semester }} + {{ $semPage := site.GetPage (printf "/semester/%s" ($semester | urlize)) }} + {{ if $semPage }} + {{ $siblingCodes := slice }} + {{ range $semPage.Pages }} + {{ $raw := .Params.subjectcode }} + {{ $code := "" }} + {{ if reflect.IsSlice $raw }} + {{ $code = index $raw 0 }} + {{ else }} + {{ $code = $raw }} + {{ end }} + {{ if and $code (not (in $siblingCodes $code)) }} + {{ $siblingCodes = $siblingCodes | append $code }} + {{ end }} + {{ end }} + {{ $siblingCodes = sort $siblingCodes }} + + {{ if gt (len $siblingCodes) 1 }} + {{ $currentIdx := 0 }} + {{ range $i, $c := $siblingCodes }} + {{ if eq $c $subjectCode }}{{ $currentIdx = $i }}{{ end }} + {{ end }} + + {{ end }} + {{ end }} +{{ end }} + +{{ end }} diff --git a/layouts/taxonomy.html b/layouts/taxonomy.html index 7cb5769..1bb2961 100644 --- a/layouts/taxonomy.html +++ b/layouts/taxonomy.html @@ -1 +1,20 @@ -{{ define "main" }}

All Posts | Categories

{{ range .Data.Terms.Alphabetical }}

{{ .Page.Title }} ({{ .Count }})

{{ end }}
{{ end }} +{{ define "main" }} + + + +

All Posts | Categories

+ +
+ {{ range .Data.Terms.Alphabetical }} +

+ + {{ .Page.Title }} ({{ .Count }}) + +

+ {{ end }} +
+ +{{ end }} diff --git a/layouts/uninotes/section.html b/layouts/uninotes/section.html new file mode 100644 index 0000000..c0f38a7 --- /dev/null +++ b/layouts/uninotes/section.html @@ -0,0 +1,19 @@ +{{ define "main" }} + + +

UniNotes

+ +{{/* Pull all semester terms from the taxonomy */}} +{{ $semesterTaxonomy := site.Taxonomies.semester }} +{{ $semesters := $semesterTaxonomy.Alphabetical }} + + +{{ end }} diff --git a/layouts/uninotes/single.html b/layouts/uninotes/single.html new file mode 100644 index 0000000..1cf2422 --- /dev/null +++ b/layouts/uninotes/single.html @@ -0,0 +1,78 @@ +{{ define "main" }} + +{{ $semesterRaw := .Params.semester }} +{{ $subjectcodeRaw := .Params.subjectcode }} +{{ $semester := "" }} +{{ if reflect.IsSlice $semesterRaw }} + {{ $semester = index $semesterRaw 0 }} +{{ else }} + {{ $semester = $semesterRaw }} +{{ end }} +{{ $subjectcode := "" }} +{{ if reflect.IsSlice $subjectcodeRaw }} + {{ $subjectcode = index $subjectcodeRaw 0 }} +{{ else }} + {{ $subjectcode = $subjectcodeRaw }} +{{ end }} + +{{/* Breadcrumbs */}} + + +{{/* Metadata pills */}} +
+ {{ with $semester }}{{ . }}{{ end }} + {{ with $subjectcode }}{{ . }}{{ end }} +
+ +

{{ .Params.unit | default .Title }}

+ +{{ partial "main/dates.html" . }} +{{ partial "page/toc.html" . }} + +{{ .Content }} + +{{ partial "page/terms.html" (dict "taxonomy" "tags" "page" .) }} +{{ partial "page/terms.html" (dict "taxonomy" "categories" "page" .) }} + +{{/* Next/prev: siblings = other posts with same subjectcode, sorted by date */}} +{{ if $subjectcode }} + {{ $subPage := site.GetPage (printf "/subjectcode/%s" ($subjectcode | urlize)) }} + {{ if $subPage }} + {{ $siblings := $subPage.Pages.ByDate }} + {{ $currentTitle := .Title }} + {{ $currentIdx := 0 }} + {{ range $i, $p := $siblings }} + {{ if eq $p.Title $currentTitle }}{{ $currentIdx = $i }}{{ end }} + {{ end }} + {{ if gt (len $siblings) 1 }} + + {{ end }} + {{ end }} +{{ end }} + +{{ partial "page/page-end.html" . }} +{{ end }} diff --git a/static/css/custom.css b/static/css/custom.css index 841a8bb..670083d 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -1,3 +1,70 @@ +/* ── UniNotes ───────────────────────────────────────────────────────────── */ + +.uninotes-breadcrumbs { + font-size: 0.85rem; + margin-bottom: 1.4rem; + color: var(--foreground-color3, #888); +} + +.uninotes-breadcrumbs a { + color: var(--accent-color); + text-decoration: none; +} + +.uninotes-breadcrumbs a:hover { + text-decoration: underline; +} + +.uninotes-list { + list-style: none; + padding: 0; + margin: 1.5rem 0 0 0; +} + +.uninotes-list__item { + margin-bottom: 0.6rem; + border-left: 3px solid var(--accent-color); + padding-left: 0.75rem; +} + +.uninotes-list__link { + color: var(--foreground-color); + text-decoration: none; + font-size: 1rem; +} + +.uninotes-list__link:hover { + color: var(--accent-color); + text-decoration: underline; +} + +.uninotes-list--subjects .uninotes-list__item { + border-left-color: var(--accent-color); +} + +.uninotes-list--units .uninotes-list__item { + border-left-color: var(--foreground-color3, #888); +} + +.uninotes-meta { + display: flex; + flex-wrap: wrap; + gap: 0.4rem; + margin-bottom: 0.75rem; +} + +.uninotes-meta__pill { + display: inline-block; + font-size: 0.72rem; + padding: 0.15rem 0.55rem; + border-radius: 999px; + border: 1px solid var(--accent-color); + color: var(--accent-color); + font-weight: 500; + letter-spacing: 0.02em; +} + +/* ── Menu links ─────────────────────────────────────────────────────────── */ /* Menu links */ .menu__link { color: var(--menu-color, var(--accent-color));