From 2fc0ef50ec7d50c78f11fecb1655a983f17d8fb4 Mon Sep 17 00:00:00 2001 From: hyzen Date: Tue, 3 Mar 2026 06:01:33 +0530 Subject: [PATCH] Update: Login/SignUp url --- content/coming-soon/index.md | 6 + content/login/index.md | 6 + content/signup/index.md | 6 + docs/404.html | 6 +- docs/blog/index.html | 6 +- docs/blog/what-is-education/index.html | 6 +- docs/categories/index.html | 6 +- docs/categories/philosophy/index.html | 6 +- docs/coming-soon/index.html | 4 + docs/contact/index.html | 6 +- docs/css/custom.css | 227 +++++++- docs/css/style.css | 774 ------------------------- docs/index.html | 6 +- docs/index.xml | 4 +- docs/login/index.html | 4 + docs/services/file-share/index.html | 6 +- docs/services/index.html | 6 +- docs/services/xmpp-account/index.html | 6 +- docs/signup/index.html | 4 + docs/sitemap.xml | 2 +- docs/tags/academics/index.html | 6 +- docs/tags/education/index.html | 6 +- docs/tags/index.html | 6 +- docs/tags/system/index.html | 6 +- layouts/_default/baseof.html | 32 +- layouts/_partials/body/body-end.html | 1 + layouts/baseof.html | 32 +- layouts/coming-soon/baseof.html | 44 ++ layouts/coming-soon/single.html | 4 + layouts/login/baseof.html | 44 ++ layouts/login/single.html | 4 + layouts/services/baseof.html | 28 +- layouts/signup/baseof.html | 44 ++ layouts/signup/single.html | 4 + static/css/custom.css | 227 +++++++- 35 files changed, 724 insertions(+), 861 deletions(-) create mode 100644 content/coming-soon/index.md create mode 100644 content/login/index.md create mode 100644 content/signup/index.md create mode 100644 docs/coming-soon/index.html delete mode 100644 docs/css/style.css create mode 100644 docs/login/index.html create mode 100644 docs/signup/index.html create mode 100644 layouts/_partials/body/body-end.html create mode 100644 layouts/coming-soon/baseof.html create mode 100644 layouts/coming-soon/single.html create mode 100644 layouts/login/baseof.html create mode 100644 layouts/login/single.html create mode 100644 layouts/signup/baseof.html create mode 100644 layouts/signup/single.html diff --git a/content/coming-soon/index.md b/content/coming-soon/index.md new file mode 100644 index 0000000..dacccda --- /dev/null +++ b/content/coming-soon/index.md @@ -0,0 +1,6 @@ +--- +title: "Coming Soon" +description: "This feature is coming soon." +--- + +This feature is not yet available. Check back later! diff --git a/content/login/index.md b/content/login/index.md new file mode 100644 index 0000000..674e9b2 --- /dev/null +++ b/content/login/index.md @@ -0,0 +1,6 @@ +--- +title: "Login" +description: "Login to Freedoms4." +--- + +This feature is not yet available. Check back later! diff --git a/content/signup/index.md b/content/signup/index.md new file mode 100644 index 0000000..9041d1e --- /dev/null +++ b/content/signup/index.md @@ -0,0 +1,6 @@ +--- +title: "Sign Up" +description: "Sign up for Freedoms4." +--- + +This feature is not yet available. Check back later! diff --git a/docs/404.html b/docs/404.html index 38b5eea..09e280c 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,2 +1,4 @@ -404 Page not found | Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

404

The page you visited was not found.

Return to the home page

\ No newline at end of file +404 Page not found | Freedoms4

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 1187b02..f03ca99 100644 --- a/docs/blog/index.html +++ b/docs/blog/index.html @@ -1,3 +1,5 @@ -Blogs | Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

All Posts | Categories

What is Education?

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

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 35422b3..38a7a9d 100644 --- a/docs/blog/what-is-education/index.html +++ b/docs/blog/what-is-education/index.html @@ -7,6 +7,8 @@ Education vs Academics: # Education and Academics are not the same thing. Academ 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.">
Freedoms4 logo

Freedoms4

-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 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.">

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 d448de8..ffb6808 100644 --- a/docs/categories/index.html +++ b/docs/categories/index.html @@ -1,2 +1,4 @@ -Categories | Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

All Posts | Categories

Philosophy (1)

\ No newline at end of file +Categories | Freedoms4

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 1968f91..809faf4 100644 --- a/docs/categories/philosophy/index.html +++ b/docs/categories/philosophy/index.html @@ -1,2 +1,4 @@ -Philosophy | Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

All Posts | Categories

Philosophy

What is Education?

\ No newline at end of file +Philosophy | Freedoms4

All Posts | Categories

Philosophy

What is Education?

\ No newline at end of file diff --git a/docs/coming-soon/index.html b/docs/coming-soon/index.html new file mode 100644 index 0000000..8e7b58d --- /dev/null +++ b/docs/coming-soon/index.html @@ -0,0 +1,4 @@ +Coming Soon | Freedoms4

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 2d2e5d7..ad0c799 100644 --- a/docs/contact/index.html +++ b/docs/contact/index.html @@ -10,5 +10,7 @@ Lemmy: hyzen@lemmy.today">
Freedoms4 logo

Freedoms4

-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 +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 diff --git a/docs/css/custom.css b/docs/css/custom.css index 8e1218e..cc084e9 100644 --- a/docs/css/custom.css +++ b/docs/css/custom.css @@ -23,7 +23,7 @@ } .term-list__link { - color: inherit; /* inherit theme text color */ + color: inherit; text-decoration: none; } @@ -35,16 +35,31 @@ margin-top: 2rem; } -/* RSS Subscribe button next to brand */ +/* Brand actions */ +.brand__actions { + display: flex; + align-items: center; + gap: 0.4rem; + margin-left: auto; + flex-wrap: nowrap; +} + +.brand__auth { + display: flex; + align-items: center; + gap: 0.3rem; +} + +/* RSS Subscribe button */ .rss-subscribe__link { display: inline-flex; align-items: center; gap: 0.2rem; padding: 0.2rem 0.4rem; border-radius: 3px; - border: 1px solid #f26522; - background-color: #f26522; - color: #fff !important; + border: 1px solid currentColor; + background-color: var(--foreground-color); + color: var(--background-color) !important; font-size: 0.7rem; font-weight: 340; text-decoration: none !important; @@ -53,25 +68,207 @@ background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; - margin-left: auto; } .rss-subscribe__link:hover { background-color: transparent; - border-color: #f26522; - color: #f26522 !important; + color: var(--foreground-color) !important; } -@media (prefers-color-scheme: dark) { +/* Auth links */ +.auth-link { + display: inline-flex; + align-items: center; + padding: 0.2rem 0.4rem; + border-radius: 3px; + font-size: 0.7rem; + font-weight: 340; + text-decoration: none !important; + line-height: 1.4; + transition: + background-color 0.2s ease, + border-color 0.2s ease, + color 0.2s ease; +} + +.auth-link--login { + border: 1px solid currentColor; + background-color: transparent; + color: inherit !important; +} + +.auth-link--login:hover { + background-color: var(--foreground-color); + color: var(--background-color) !important; +} + +.auth-link--signup { + border: 1px solid currentColor; + background-color: transparent; + color: inherit !important; +} + +.auth-link--signup:hover { + background-color: var(--foreground-color); + color: var(--background-color) !important; +} + +/* Make RSS icon bigger on desktop without affecting button size */ +.rss-subscribe__link svg { + width: 10px; + height: 10px; +} + +/* Auth toggle hidden on desktop, links always visible */ +.brand__auth-toggle { + display: none; +} + +.brand__auth-check { + display: none; +} + +.brand__auth-links { + display: flex; + align-items: center; + gap: 0.3rem; +} + +/* Mobile dropdown */ +@media (max-width: 600px) { + /* RSS outline on mobile */ .rss-subscribe__link { - background-color: transparent; - border-color: #fff; - color: #fff !important; + background-color: transparent !important; + color: var(--foreground-color) !important; + border-color: currentColor; } .rss-subscribe__link:hover { - background-color: #fff; - border-color: #fff; - color: #171414 !important; + background-color: var(--foreground-color) !important; + color: var(--background-color) !important; + } + + /* Orange filled dropdown toggle on mobile light mode */ + .brand__auth-toggle { + background-color: #f26522 !important; + border-color: #f26522 !important; + color: #fff !important; + } + + .brand__auth-toggle:hover { + background-color: transparent !important; + border-color: #f26522 !important; + color: #f26522 !important; + } + + @media (prefers-color-scheme: dark) { + .brand__auth-toggle { + background-color: transparent !important; + border-color: currentColor !important; + color: var(--foreground-color) !important; + } + + .brand__auth-toggle:hover, + .brand__auth:focus-within .brand__auth-toggle { + background-color: var(--foreground-color) !important; + border-color: var(--foreground-color) !important; + color: var(--background-color) !important; + } + } + + /* Hide subscribe text, icon only */ + .rss-subscribe__link span { + display: none; + } + + .rss-subscribe__link, + .brand__auth-toggle { + height: 1.6rem; + width: 1.6rem; + box-sizing: border-box; + padding: 0; + justify-content: center; + } + + /* Make RSS icon bigger without affecting button size */ + .rss-subscribe__link svg { + width: 14px; + height: 14px; + } + + .brand__auth { + position: relative; + } + + /* Show toggle button */ + .brand__auth-toggle { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 0.15rem; + padding: 0.2rem 0.4rem; + border-radius: 3px; + border: 1px solid currentColor; + background: transparent; + color: var(--foreground-color); + cursor: pointer; + font-size: 0.7rem; + line-height: 1; + user-select: none; + outline: none; + } + + .brand__auth-toggle:hover { + background-color: var(--background-color1); + } + + .brand__auth-chevron { + transition: transform 0.2s ease; + } + + /* Open dropdown on focus-within — closes when user taps outside */ + .brand__auth:focus-within .brand__auth-links { + display: flex; + } + + .brand__auth:focus-within .brand__auth-chevron { + transform: rotate(180deg); + } + + /* Dropdown panel */ + .brand__auth-links { + display: none; + position: absolute; + top: calc(100% + 0.4rem); + right: 0; + flex-direction: column; + gap: 0; + background-color: var(--background-color); + border: 1px solid var(--background-color1); + border-radius: 6px; + overflow: hidden; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18); + z-index: 100; + min-width: 110px; + } + + .brand__auth-links .auth-link { + border: none; + border-radius: 0; + padding: 0.55rem 1rem; + font-size: 0.78rem; + width: 100%; + justify-content: center; + background-color: transparent; + color: var(--foreground-color) !important; + } + + .brand__auth-links .auth-link:not(:last-child) { + border-bottom: 1px solid var(--background-color1); + } + + .brand__auth-links .auth-link:hover { + background-color: var(--background-color1); + color: var(--foreground-color) !important; } } 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 d3e1422..ee16f8f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,2 +1,4 @@ -Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

Hello! Welcome 🙏 #

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 +Freedoms4

Hello! Welcome 🙏 #

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 7535c1d..b478dcc 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -22,7 +22,7 @@ <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>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>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>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> @@ -32,4 +32,4 @@ Academics is good only as a concept. It&rsquo;s implementation and system is </h2><p><strong><a href="https://mastodon.social/@hyzen">Mastodon</a>:</strong> <a href="mailto:hyzen@mastodon.social">hyzen@mastodon.social</a></p> <p><strong>Lemmy:</strong> <a href="mailto:hyzen@lemmy.today">hyzen@lemmy.today</a></p>File sharehttps://freedoms4.org/services/file-share/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/services/file-share/<p>Visit <a href="https://share.freedoms4.org" target="_blank" rel="noopener noreferrer"> share.freedoms4.org↗ -</a> to quickly upload files and get sharable links.</p>XMPP Accounthttps://freedoms4.org/services/xmpp-account/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/services/xmpp-account/<p>Send your desired username to <a href="mailto:hyzen@freedoms4.org">hyzen@freedoms4.org</a> via Email (or via XMPP if already have an XMPP account). Account creation can take upto 24 hours.</p> \ No newline at end of file +</a> to quickly upload files and get sharable links.</p>Loginhttps://freedoms4.org/login/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/login/<p>This feature is not yet available. Check back later!</p>Sign Uphttps://freedoms4.org/signup/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/signup/<p>This feature is not yet available. Check back later!</p>XMPP Accounthttps://freedoms4.org/services/xmpp-account/Mon, 01 Jan 0001 00:00:00 +0000your-email@example.com (Freedoms4)https://freedoms4.org/services/xmpp-account/<p>Send your desired username to <a href="mailto:hyzen@freedoms4.org">hyzen@freedoms4.org</a> via Email (or via XMPP if already have an XMPP account). Account creation can take upto 24 hours.</p> \ No newline at end of file diff --git a/docs/login/index.html b/docs/login/index.html new file mode 100644 index 0000000..03f0a8d --- /dev/null +++ b/docs/login/index.html @@ -0,0 +1,4 @@ +Login | Freedoms4

Login

This feature is not yet available. Check back later!

\ No newline at end of file diff --git a/docs/services/file-share/index.html b/docs/services/file-share/index.html index 5431a45..ff64eef 100644 --- a/docs/services/file-share/index.html +++ b/docs/services/file-share/index.html @@ -1,3 +1,5 @@ -File share | Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

Visit share.freedoms4.org↗ +File share | Freedoms4

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 5720596..1e6be4d 100644 --- a/docs/services/index.html +++ b/docs/services/index.html @@ -1,2 +1,4 @@ -Services | Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

Services

1. File share

2. XMPP Account

\ No newline at end of file +Services | Freedoms4

Services

1. File share

2. XMPP Account

\ No newline at end of file diff --git a/docs/services/xmpp-account/index.html b/docs/services/xmpp-account/index.html index 222ac46..0d4275e 100644 --- a/docs/services/xmpp-account/index.html +++ b/docs/services/xmpp-account/index.html @@ -1,2 +1,4 @@ -XMPP Account | Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

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 +XMPP Account | Freedoms4

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 new file mode 100644 index 0000000..f0ba25e --- /dev/null +++ b/docs/signup/index.html @@ -0,0 +1,4 @@ +Sign Up | Freedoms4

Sign Up

This feature is not yet available. Check back later!

\ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 651f0ea..cd092c0 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/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/coming-soon/https://freedoms4.org/contact/https://freedoms4.org/services/file-share/https://freedoms4.org/login/https://freedoms4.org/services/https://freedoms4.org/signup/https://freedoms4.org/services/xmpp-account/ \ No newline at end of file diff --git a/docs/tags/academics/index.html b/docs/tags/academics/index.html index c4a3325..f6a3b18 100644 --- a/docs/tags/academics/index.html +++ b/docs/tags/academics/index.html @@ -1,2 +1,4 @@ -Academics | Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

All Posts | Categories

Academics

What is Education?

\ No newline at end of file +Academics | Freedoms4

All Posts | Categories

Academics

What is Education?

\ No newline at end of file diff --git a/docs/tags/education/index.html b/docs/tags/education/index.html index 2096635..e86199d 100644 --- a/docs/tags/education/index.html +++ b/docs/tags/education/index.html @@ -1,2 +1,4 @@ -Education | Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

All Posts | Categories

Education

What is Education?

\ No newline at end of file +Education | Freedoms4

All Posts | Categories

Education

What is Education?

\ No newline at end of file diff --git a/docs/tags/index.html b/docs/tags/index.html index 997cfee..1b1c4fa 100644 --- a/docs/tags/index.html +++ b/docs/tags/index.html @@ -1,2 +1,4 @@ -Tags | Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

All Posts | Categories

Academics (1)

Education (1)

System (1)

\ No newline at end of file +Tags | Freedoms4

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 67b9a0c..ed7f44d 100644 --- a/docs/tags/system/index.html +++ b/docs/tags/system/index.html @@ -1,2 +1,4 @@ -System | Freedoms4
Freedoms4 logo

Freedoms4

-Subscribe

All Posts | Categories

System

What is Education?

\ No newline at end of file +System | Freedoms4

All Posts | Categories

System

What is Education?

\ No newline at end of file diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 6dec3e2..c1a4489 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -12,16 +12,28 @@
Freedoms4 logo

Freedoms4

- {{- $rssURL := "/index.xml" -}} - {{- with .OutputFormats.Get "rss" -}} - {{- $rssURL = .RelPermalink -}} - {{- end -}} - - - Subscribe - +
+
+ + + +
+ {{- $rssURL := "/index.xml" -}} + {{- with .OutputFormats.Get "rss" -}} + {{- $rssURL = .RelPermalink -}} + {{- end -}} + + + Subscribe + +
{{ partial "header.html" . }} diff --git a/layouts/_partials/body/body-end.html b/layouts/_partials/body/body-end.html new file mode 100644 index 0000000..a5b8446 --- /dev/null +++ b/layouts/_partials/body/body-end.html @@ -0,0 +1 @@ +{{- /* You can dynamically load scripts in this file */ -}} diff --git a/layouts/baseof.html b/layouts/baseof.html index 6dec3e2..c1a4489 100644 --- a/layouts/baseof.html +++ b/layouts/baseof.html @@ -12,16 +12,28 @@
Freedoms4 logo

Freedoms4

- {{- $rssURL := "/index.xml" -}} - {{- with .OutputFormats.Get "rss" -}} - {{- $rssURL = .RelPermalink -}} - {{- end -}} - - - Subscribe - +
+
+ + + +
+ {{- $rssURL := "/index.xml" -}} + {{- with .OutputFormats.Get "rss" -}} + {{- $rssURL = .RelPermalink -}} + {{- end -}} + + + Subscribe + +
{{ partial "header.html" . }} diff --git a/layouts/coming-soon/baseof.html b/layouts/coming-soon/baseof.html new file mode 100644 index 0000000..c1a4489 --- /dev/null +++ b/layouts/coming-soon/baseof.html @@ -0,0 +1,44 @@ + + + + {{ 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/coming-soon/single.html b/layouts/coming-soon/single.html new file mode 100644 index 0000000..17b274b --- /dev/null +++ b/layouts/coming-soon/single.html @@ -0,0 +1,4 @@ +{{ define "main" }} +

{{ .Title }}

+{{ .Content }} +{{ end }} diff --git a/layouts/login/baseof.html b/layouts/login/baseof.html new file mode 100644 index 0000000..c1a4489 --- /dev/null +++ b/layouts/login/baseof.html @@ -0,0 +1,44 @@ + + + + {{ 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/login/single.html b/layouts/login/single.html new file mode 100644 index 0000000..17b274b --- /dev/null +++ b/layouts/login/single.html @@ -0,0 +1,4 @@ +{{ define "main" }} +

{{ .Title }}

+{{ .Content }} +{{ end }} diff --git a/layouts/services/baseof.html b/layouts/services/baseof.html index 0a4b204..c1a4489 100644 --- a/layouts/services/baseof.html +++ b/layouts/services/baseof.html @@ -12,12 +12,28 @@
Freedoms4 logo

Freedoms4

- - - Subscribe - +
+
+ + + +
+ {{- $rssURL := "/index.xml" -}} + {{- with .OutputFormats.Get "rss" -}} + {{- $rssURL = .RelPermalink -}} + {{- end -}} + + + Subscribe + +
{{ partial "header.html" . }} diff --git a/layouts/signup/baseof.html b/layouts/signup/baseof.html new file mode 100644 index 0000000..c1a4489 --- /dev/null +++ b/layouts/signup/baseof.html @@ -0,0 +1,44 @@ + + + + {{ 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/signup/single.html b/layouts/signup/single.html new file mode 100644 index 0000000..17b274b --- /dev/null +++ b/layouts/signup/single.html @@ -0,0 +1,4 @@ +{{ define "main" }} +

{{ .Title }}

+{{ .Content }} +{{ end }} diff --git a/static/css/custom.css b/static/css/custom.css index 8e1218e..cc084e9 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -23,7 +23,7 @@ } .term-list__link { - color: inherit; /* inherit theme text color */ + color: inherit; text-decoration: none; } @@ -35,16 +35,31 @@ margin-top: 2rem; } -/* RSS Subscribe button next to brand */ +/* Brand actions */ +.brand__actions { + display: flex; + align-items: center; + gap: 0.4rem; + margin-left: auto; + flex-wrap: nowrap; +} + +.brand__auth { + display: flex; + align-items: center; + gap: 0.3rem; +} + +/* RSS Subscribe button */ .rss-subscribe__link { display: inline-flex; align-items: center; gap: 0.2rem; padding: 0.2rem 0.4rem; border-radius: 3px; - border: 1px solid #f26522; - background-color: #f26522; - color: #fff !important; + border: 1px solid currentColor; + background-color: var(--foreground-color); + color: var(--background-color) !important; font-size: 0.7rem; font-weight: 340; text-decoration: none !important; @@ -53,25 +68,207 @@ background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; - margin-left: auto; } .rss-subscribe__link:hover { background-color: transparent; - border-color: #f26522; - color: #f26522 !important; + color: var(--foreground-color) !important; } -@media (prefers-color-scheme: dark) { +/* Auth links */ +.auth-link { + display: inline-flex; + align-items: center; + padding: 0.2rem 0.4rem; + border-radius: 3px; + font-size: 0.7rem; + font-weight: 340; + text-decoration: none !important; + line-height: 1.4; + transition: + background-color 0.2s ease, + border-color 0.2s ease, + color 0.2s ease; +} + +.auth-link--login { + border: 1px solid currentColor; + background-color: transparent; + color: inherit !important; +} + +.auth-link--login:hover { + background-color: var(--foreground-color); + color: var(--background-color) !important; +} + +.auth-link--signup { + border: 1px solid currentColor; + background-color: transparent; + color: inherit !important; +} + +.auth-link--signup:hover { + background-color: var(--foreground-color); + color: var(--background-color) !important; +} + +/* Make RSS icon bigger on desktop without affecting button size */ +.rss-subscribe__link svg { + width: 10px; + height: 10px; +} + +/* Auth toggle hidden on desktop, links always visible */ +.brand__auth-toggle { + display: none; +} + +.brand__auth-check { + display: none; +} + +.brand__auth-links { + display: flex; + align-items: center; + gap: 0.3rem; +} + +/* Mobile dropdown */ +@media (max-width: 600px) { + /* RSS outline on mobile */ .rss-subscribe__link { - background-color: transparent; - border-color: #fff; - color: #fff !important; + background-color: transparent !important; + color: var(--foreground-color) !important; + border-color: currentColor; } .rss-subscribe__link:hover { - background-color: #fff; - border-color: #fff; - color: #171414 !important; + background-color: var(--foreground-color) !important; + color: var(--background-color) !important; + } + + /* Orange filled dropdown toggle on mobile light mode */ + .brand__auth-toggle { + background-color: #f26522 !important; + border-color: #f26522 !important; + color: #fff !important; + } + + .brand__auth-toggle:hover { + background-color: transparent !important; + border-color: #f26522 !important; + color: #f26522 !important; + } + + @media (prefers-color-scheme: dark) { + .brand__auth-toggle { + background-color: transparent !important; + border-color: currentColor !important; + color: var(--foreground-color) !important; + } + + .brand__auth-toggle:hover, + .brand__auth:focus-within .brand__auth-toggle { + background-color: var(--foreground-color) !important; + border-color: var(--foreground-color) !important; + color: var(--background-color) !important; + } + } + + /* Hide subscribe text, icon only */ + .rss-subscribe__link span { + display: none; + } + + .rss-subscribe__link, + .brand__auth-toggle { + height: 1.6rem; + width: 1.6rem; + box-sizing: border-box; + padding: 0; + justify-content: center; + } + + /* Make RSS icon bigger without affecting button size */ + .rss-subscribe__link svg { + width: 14px; + height: 14px; + } + + .brand__auth { + position: relative; + } + + /* Show toggle button */ + .brand__auth-toggle { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 0.15rem; + padding: 0.2rem 0.4rem; + border-radius: 3px; + border: 1px solid currentColor; + background: transparent; + color: var(--foreground-color); + cursor: pointer; + font-size: 0.7rem; + line-height: 1; + user-select: none; + outline: none; + } + + .brand__auth-toggle:hover { + background-color: var(--background-color1); + } + + .brand__auth-chevron { + transition: transform 0.2s ease; + } + + /* Open dropdown on focus-within — closes when user taps outside */ + .brand__auth:focus-within .brand__auth-links { + display: flex; + } + + .brand__auth:focus-within .brand__auth-chevron { + transform: rotate(180deg); + } + + /* Dropdown panel */ + .brand__auth-links { + display: none; + position: absolute; + top: calc(100% + 0.4rem); + right: 0; + flex-direction: column; + gap: 0; + background-color: var(--background-color); + border: 1px solid var(--background-color1); + border-radius: 6px; + overflow: hidden; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18); + z-index: 100; + min-width: 110px; + } + + .brand__auth-links .auth-link { + border: none; + border-radius: 0; + padding: 0.55rem 1rem; + font-size: 0.78rem; + width: 100%; + justify-content: center; + background-color: transparent; + color: var(--foreground-color) !important; + } + + .brand__auth-links .auth-link:not(:last-child) { + border-bottom: 1px solid var(--background-color1); + } + + .brand__auth-links .auth-link:hover { + background-color: var(--background-color1); + color: var(--foreground-color) !important; } }