diff options
| author | Arne Rief <riearn@proton.me> | 2025-09-04 20:05:27 +0200 |
|---|---|---|
| committer | Arne Rief <riearn@proton.me> | 2025-09-04 20:05:27 +0200 |
| commit | 26df3baeb1afcb4c41ec99f940b237b9589caa42 (patch) | |
| tree | ee970fe0810d56a4b83174d282127593ba418547 | |
| parent | 2204aa9db535af9b0c38487f74a56bd0ac9f07e2 (diff) | |
Ready for deployment
| -rw-r--r-- | README.md | 57 | ||||
| -rw-r--r-- | assets/css/main.css | 142 | ||||
| -rw-r--r-- | assets/js/main.js | 5 | ||||
| -rw-r--r-- | content/all-posts.md | 5 | ||||
| -rw-r--r-- | content/search.md | 5 | ||||
| -rw-r--r-- | hugo.toml | 42 | ||||
| -rw-r--r-- | i18n/de.toml | 5 | ||||
| -rw-r--r-- | i18n/en.toml | 3 | ||||
| -rw-r--r-- | layouts/_default/all-posts.html | 36 | ||||
| -rw-r--r-- | layouts/_default/list.html | 4 | ||||
| -rw-r--r-- | layouts/_default/single.html | 4 | ||||
| -rw-r--r-- | layouts/index.html | 2 | ||||
| -rw-r--r-- | layouts/partials/list/pagination.html | 4 | ||||
| -rw-r--r-- | layouts/partials/list/post-card.html | 16 | ||||
| -rw-r--r-- | layouts/partials/list/recent-posts.html | 19 | ||||
| -rw-r--r-- | layouts/partials/navmenu.html | 3 | ||||
| -rw-r--r-- | layouts/partials/select-theme.html | 12 | ||||
| -rw-r--r-- | layouts/partials/single/next-prev.html | 2 | ||||
| -rw-r--r-- | layouts/tags/term.html | 6 | ||||
| -rw-r--r-- | theme.toml | 13 |
20 files changed, 294 insertions, 91 deletions
@@ -1,25 +1,62 @@ # Argo - -Argo is a clean, minimal, responsive Hugo theme. -You can see it in use on my personal website [arnerief.net](https://arnerief.net). +## A Hugo Theme +Argo is a clean, minimalist Hugo theme with multilingual support. +The theme follows the principles of meaningful semantic HTML with it's benefits of strong accessibility and SEO, as well as markup readability and beauty. +Argo also strives to be easy to modify, with clearly structured, readable and simple code that is easy to understand. +The theme uses no external dependencies, no frameworks, libraries or language supersets. Only plain HTML, CSS, a bit of JavaScript and of course Go templates. +The usage of JavaScript is limited to the absolute minimum necessary, for the site-wide search and for toggling light/dark mode. +You can see Argo in use on my personal website [arnerief.net](https://arnerief.net). ## Features - Multilingual support -- Fully responsive -- Toggle Light/Darkmode +- Semantic HTML for accessibility and SEO +- Toggle light/dark mode - Site-wide search +- Fully responsive ## Installation +Once you have [installed Hugo](https://gohugo.io/getting-started/quick-start/) with all it's prerequisites, you need to create a project, change into it's home directory and initialize a git repository. +If you have not done that already, open your terminal and enter the following commands: ```sh hugo new site your-site-name cd your-site-name git init -git submodule add https://arnerief.net themes/Argo +``` + +Now you can add Argo as a git submodule to your project, set it as your project's theme and start Hugo's embedded web server with the following commands: +```sh +``` +```sh +git submodule add https://codeberg.org/arrief/hugo-Argo.git themes/Argo echo "theme = 'Argo'" >> hugo.toml hugo server ``` -## Notice -Check the `hugo.toml` settings and the examples in the `i18n` directory for reference on how to set up Argo for a multilingual website. -Also note that the theme expects that `params.author.name` is defined, as can be seen in `hugo.toml`. -If you want to directly set `params.author` to your name you would have to remove "name" from all instances of `site.Params.author.name` in the HTML files. +To update the theme, run the following command inside your project's home directory: +```sh +git submodule update --remote --merge +``` + +## How to use +Check the `hugo.toml` settings and the examples in the `i18n` directory for reference on how to set up your own project's `hugo.toml` for a multilingual website. +Be sure to copy the lines marked in the theme's `hugo.toml` into that of your own project. Otherwise central features of the theme will not work. +Also note that the theme expects `params.author.name` to be defined, as can be seen in `hugo.toml`. + +You will need to create markdown files for the pages **"Search"** and **"All posts"** in your project's content directory. +If you want to go with the default text for both pages, these files can be empty except for title and `layout = all-posts` in the frontmatter. You can simply copy the example md files from the theme's `/content` directory. +In case you have a multilingual setup, you will need to create both pages in each language subdirectory, e.g. `content/de/search.md`, `content/en/all-posts.md` etc. + +The theme works with fallbacks and defaults a lot, e.g. if you do not set a logo, your website's title will be used instead. + +## How to modify +Editing the theme is simple: you only have to recreate the path and file that you want to edit in your corresponding project directories and implement your desired changes there. +Here are three examples how to edit different aspects of the theme: + +### Editing the Styling +Let's say you want to make changes to the stylesheet: in your project, create `assets/css/main.css`, then simply add the CSS rules you would like to have. They will be merge with the theme's stylesheet in the final build and be added to or overwrite the theme's styling rules. + +### Editing the HTML +You would like to display information like reading time and word count for each post. For this you will have to create `layouts/_default/single.html` in your project, then copy the content of the corresponding file from the theme into your own file and add the HTML and Go code for displaying this information. A block for displaying reading time and word count is already implemented in `layouts/partials/list/post-card.html`, here you would have to re-create these directories and this file in your project and simply remove the comment around the block. + +### Editing JavaScript functions +In case you want to expand the results of the site-wide search, you should first look at `layouts/index.json`. That file generates data about all of your posts in JSON format. The JavaScript function for searching the site then uses that data to find matches with the user's query. So for expanding the data that will be searched by e.g. adding each post's entire content, you would have to add `"content" .Plain` to the dict in the `index.json` file first, then copy `assets/js/main.js` to your project and expand the filtering logic in the function `searchPosts()` accordingly. diff --git a/assets/css/main.css b/assets/css/main.css index ce74245..c09c56d 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -5,16 +5,18 @@ --border-radius: 50px; --font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif; --font-size-default: 1rem; - --font-size-large: 2rem; - --font-size-smaller: 0.9rem; + --font-size-h1: 2rem; + --font-size-small: 0.85rem; --gap-default: 1rem; + --gap-large: 2rem; + --gap-small: 0.5rem; --line-height-default: 1.5; - --line-height-larger: 2; + --line-height-heading: 1.2; --link-color: #996100; --link-hover: #704100; - --margin-padding-Y-default: 1rem 0; - --margin-padding-Y-big: 2rem 0; - --margin-padding-Y-small: 0.5rem 0; + --margin-padding-Y-default: 20px 0; + --margin-padding-Y-big: 40px 0; + --margin-padding-Y-small: 10px 0; --text-color: #1e1e1e; } @@ -30,19 +32,19 @@ html { font-family: var(--font-family); font-size: var(--font-size-default); + line-height: var(--line-height-default); scroll-behavior: smooth; & .theme-toggle .icon-moon { display: block; } - & .theme-toggle .icon-sun { display: none; } /* DARK MODE */ &[data-theme="dark"] { - --bg-main: #0a234a; /* #031636 */ + --bg-main: #0a234a; --bg-special: #173d5a; --link-color: #4fc3f7; --link-hover: #039be5; @@ -51,7 +53,6 @@ html { & .theme-toggle .icon-moon { display: none; } - & .theme-toggle .icon-sun { display: block; } @@ -63,18 +64,22 @@ body { color: var(--text-color); display: grid; grid-template-rows: auto auto 1fr auto; /* Ensure header & navmenu at top, main taking up main space, footer at bottom */ - line-height: var(--line-height-default); + margin: 20px auto; + max-width: 80ch; min-height: 100vh; + + @media (max-width 900px) { + margin: var(--margin-padding-Y-default); + } } main { - margin: 3rem; - - @media (max-width: 768px) { - margin: 1rem; + @media (max-width: 900px) { + margin: 20px; } } +/* TYPOGRAPHY & text elements */ a { color: var(--link-color); font-weight: bold; @@ -86,27 +91,60 @@ a { } blockquote { - line-height: 3; + border-left: 4px solid var(--bg-special); + font-style: italic; + margin: var(--gap-large); + padding-left: 1rem; } -h1 { - margin-bottom: 1rem; -} +dl { + margin-left: 1rem; -h2, h3, h4, h5, h6 { - margin-bottom: 0.5rem; + dt { + color: var(--link-color); + font-weight: bold; + padding: var(--margin-padding-Y-small); + } + + dd { + line-height: var(--line-height-body); + padding-left: 1.5rem; + } } -header { - margin: var(--margin-padding-Y-default); +h1, h2, h3, h4, h5, h6 { + line-height: var(--line-height-heading); + margin: var(--gap-large) 0 var(--gap-small); } +h1 { font-size: var(--font-size-h1); } +h2 { font-size: 1.7rem; } +h3 { font-size: 1.5rem; } +h4 { font-size: 1.2rem; } +h5 { font-size: 1.1rem; } +h6 { font-size: var(--font-size-default); } + hr { - color: var(--text-color); + border: none; + border-top: 2px solid var(--bg-special); + color: var(--bg-special); +} + +p { + margin-bottom: var(--gap-default); +} + +/* Lists generated from markdown text */ +ol, ul { + padding-left: 1.5rem; + margin-bottom: var(--gap-default); } -ul { +/* Lists for site navigation */ +ul[class$="list"] { list-style: none; + padding-left: 0; + margin-bottom: 0; } section { @@ -154,7 +192,7 @@ time { .site-title { color: inherit !important; - font-size: var(--font-size-large); + font-size: var(--font-size-h1); font-weight: bold; text-decoration: none; } @@ -180,13 +218,14 @@ time { /* SITE NAVMENU */ .header__navigation { background-color: var(--bg-special); + border-radius: 5px; padding: var(--margin-padding-Y-small); } .header__navigation-list { display: flex; align-items: center; - justify-content: space-around; + justify-content: space-evenly; @media (max-width: 768px) { flex-direction: column; @@ -203,6 +242,7 @@ time { display: flex; align-items: center; justify-content: space-around; + margin-top: 2rem; @media (max-width: 768px) { flex-direction: column; @@ -228,7 +268,16 @@ time { /* POST CARD */ .post-card { - margin-bottom: 1rem; + margin: 0 0 1rem 2rem; + + & .post-card__title { + font-size: var(--font-size-default); + } + + & .post-card__meta, + .post-card__summary { + font-size: var(--font-size-small); + } } .post-card__header { @@ -245,7 +294,7 @@ time { align-items: center; justify-content: start; gap: var(--gap-default); - margin: var(--margin-padding-Y-default); + margin: var(--margin-padding-Y-default) !important; @media (max-width: 768px) { flex-direction: column; @@ -257,19 +306,24 @@ time { background-color: var(--bg-special); border-radius: var(--border-radius); color: #fff; - font-size: var(--font-size-smaller); + font-size: var(--font-size-small); padding: 0.1rem 0.4rem; } -/* PAGES */ +/* PAGES Content */ +/* Article */ +.article__header { + margin-bottom: var(--gap-large); +} + .article__navigation-list { display: flex; align-items: center; justify-content: space-between; - margin: 3rem; + margin: 0 1rem !important; @media (max-width: 768px) { - margin: 0; + margin: 0 !important; } } @@ -290,15 +344,35 @@ time { font-weight: normal; } -.tags-index__list { - line-height: var(--line-height-larger); +/* List navigation */ +.pagination { + display: flex; + align-items: center; + justify-content: space-between; +} + +.recent-posts__view-all-link, +.tag-page__view-all-link { + display: block; + margin: 0 auto; + width: max-content; } +.tags-index__list > li { + margin-bottom: var(--gap-small); +} + +/* Search */ .search-form__input { font-size: var(--font-size-default); border: 1px solid var(--bg-special); border-radius: 5px; padding: 0.2rem; + width: 50%; + + @media (max-width: 768px) { + width: 90%; + } } .search-form__reset { diff --git a/assets/js/main.js b/assets/js/main.js index dfb6d75..6ba0f19 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -17,7 +17,7 @@ const label = isDarkMode ? toggleThemeBtn.dataset.labelLight : toggleThemeBtn.dataset.labelDark; rootHtml.setAttribute("data-theme", theme); - toggleThemeBtn.setAttribute("aria-label", label); + toggleThemeBtn.setAttribute("aria-label", label); // display handled by CSS } // Apply initial theme @@ -57,16 +57,17 @@ resultsList.hidden = true; } - // Hydrate post-card list item(s) from the template with JSON data function renderSearchResults(matches) { clearResults(); + // Display how many results found for query resultsCount.hidden = false; resultsCount.querySelector("#search-results-number").textContent = String(matches.length ?? 0); // No posts matching query found if (!matches.length) return; + // Hydrate post-card list item(s) from the template with JSON data matches.forEach((post) => { const li = template.content.firstElementChild.cloneNode(true); diff --git a/content/all-posts.md b/content/all-posts.md new file mode 100644 index 0000000..83508dc --- /dev/null +++ b/content/all-posts.md @@ -0,0 +1,5 @@ ++++ +title = "All posts" +layout = "all-posts" +excludeFromLists = true ++++ diff --git a/content/search.md b/content/search.md new file mode 100644 index 0000000..e35e99b --- /dev/null +++ b/content/search.md @@ -0,0 +1,5 @@ ++++ +title = "Search" +layout = "search" +excludeFromLists = true ++++ @@ -8,6 +8,42 @@ enableRobotsTXT = true # Copy this line to your project's hugo.toml # {{ .Date }} will look for publishDate or aliases first, fallback to date date = ["publishdate", "pubdate", "published", "date"] +# EXAMPLE: multilingual English-German site with content/en & content/de directories; English as default +defaultContentLanguage = "en" +defaultContentLanguageInSubdir = true +disableDefaultLanguageRedirect = true + +[languages] + [languages.de] + contentDir = "content/de" + languageCode = "de-DE" + languageName = "Deutsch" + weight = 2 + + [[languages.de.menus.main]] + identifier = "home" + name = "Startseite" + pageRef = "/" + weight = 10 + + [[languages.de.menus.main]] + identifier = "about" + name = "Über mich" + pageRef = "/about/" + weight = 20 + + [[languages.de.menus.main]] + identifier = "search" + name = "Suche" + pageRef = "/search/" + weight = 30 + + [languages.en] + contentDir = "content/en" + languageCode = "en-US" + languageName = "English" + weight = 1 + [menus] [[menus.main]] identifier = "home" @@ -28,9 +64,9 @@ enableRobotsTXT = true # Copy this line to your project's hugo.toml weight = 30 [[menus.main]] - identifier = "tags" - name = "Tags" - pageRef = "/tags" + identifier = "search" + name = "Search" + pageRef = "/search" weight = 40 [outputs] # Copy outputs configuration to your project's hugo.toml diff --git a/i18n/de.toml b/i18n/de.toml index e675b16..fd13734 100644 --- a/i18n/de.toml +++ b/i18n/de.toml @@ -10,7 +10,8 @@ [list] default_description = "Alle Beiträge in {{ . }}" empty = "Keine Beiträge in diesem Bereich." - reading_time= "Geschätzte Lesezeit: {{ . }} min" + reading_time = "Geschätzte Lesezeit: {{ . }} min" + word_count = "{{ . }} Wörter" [pagination] current = "Aktuelle Seite" @@ -21,6 +22,8 @@ previous_page = "Vorherige Seite" [posts] + all_description = "Alle Beiträge auf dieser Webseite, vom Neuesten zum Ältesten." + empty = "Auf dieser Seite gibt es noch keine Beiträge." name = "Beiträge" navigation = "Beitrag Navigation" next = "Nächster Beitrag:" diff --git a/i18n/en.toml b/i18n/en.toml index 4fadaee..dc49095 100644 --- a/i18n/en.toml +++ b/i18n/en.toml @@ -11,6 +11,7 @@ default_description = "All posts in {{ . }}" empty = "No posts in this section." reading_time= "Estimated reading time: {{ . }} min" + word_count = "{{ . }} words" [pagination] current = "Current page" @@ -21,6 +22,8 @@ previous_page = "Previous page" [posts] + all_description = "All posts on this website, from newest to oldest." + empty = "This site does not have any posts yet." name = "Posts" navigation = "Post navigation" next = "Next post:" diff --git a/layouts/_default/all-posts.html b/layouts/_default/all-posts.html new file mode 100644 index 0000000..319a8d5 --- /dev/null +++ b/layouts/_default/all-posts.html @@ -0,0 +1,36 @@ +{{ define "main" }} +<section class="search-page"> + <header class="all-posts__header"> + <h1 class="all-posts__heading"> + {{ .Title }} + </h1> + {{- with .Content }} + <div class="all-posts__description"> + {{ . }} + </div> + {{- else }} + {{- $description := or .Description (lang.Translate "posts.all_description" | default "All posts on this website, from newest to oldest.") }} + <p class="all-posts__description"> + {{ $description }} + </p> + {{- end }} + </header> + + {{ $allPosts := where site.RegularPages "Params.excludeFromLists" "!=" true }} + {{- if $allPosts }} + <div class="all-posts__content"> + <ul class="all-posts__list" role="list"> + {{- range $allPosts.ByDate.Reverse }} + <li class="all-posts__list-item"> + {{ partial "list/post-card.html" . }} + </li> + {{- end }} + </ul> + </div> + {{ else }} + <p class="all-posts__empty-message"> + {{ lang.Translate "posts.empty" | default "This site does not have any posts yet." }} + </p> + {{- end }} +</section> +{{ end }} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index d3d2d99..a8cb92a 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -17,8 +17,8 @@ </header> <section class="list-page__content" aria-label="{{ lang.Translate "posts.name" | default "Posts" }}"> - {{- /* 20 posts per site */ -}} - {{- $paginator := .Paginate .Pages 20 }} + {{- /* 15 posts per site */ -}} + {{- $paginator := .Paginate .Pages 15 }} {{- with $paginator.Pages }} <ul class="list-page__posts-list"> {{- range . }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 24bc5c9..dba5a10 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -1,7 +1,9 @@ {{- define "main" }} <article class="post"> <header class="post__header"> - <h1 class="post__headline">{{ .Title }}</h1> + <h1 class="post__headline"> + {{ .Title }} + </h1> <time datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}" class="post__publish-date"> {{ .Date | time.Format ":date_medium" }} </time> diff --git a/layouts/index.html b/layouts/index.html index 127af83..b23b087 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -13,7 +13,7 @@ </header> {{- partial "list/recent-posts.html" (dict - "count" 10 + "count" 5 "title" (lang.Translate "posts.recent" | default "Recent Articles") "show_view_all" true ) diff --git a/layouts/partials/list/pagination.html b/layouts/partials/list/pagination.html index 47d90ff..d1170e1 100644 --- a/layouts/partials/list/pagination.html +++ b/layouts/partials/list/pagination.html @@ -7,7 +7,7 @@ rel="prev" aria-label="{{ lang.Translate "pagination.previous_page" | default "Previous page" }}" > - ← {{ lang.Translate "common.previous" | default "Previous" }} + ← {{ lang.Translate "common.previous" | default "Previous" }} </a> {{- end }} @@ -21,7 +21,7 @@ rel="next" aria-label="{{ lang.Translate "pagination.next_page" | default "Next page" }}" > - {{ lang.Translate "common.next" | default "Next" }} → + {{ lang.Translate "common.next" | default "Next" }} → </a> {{- end }} </nav> diff --git a/layouts/partials/list/post-card.html b/layouts/partials/list/post-card.html index 75be9ce..254cc6b 100644 --- a/layouts/partials/list/post-card.html +++ b/layouts/partials/list/post-card.html @@ -10,11 +10,17 @@ <time datetime="{{ $post.Date.Format "2006-01-02T15:04:05Z07:00" }}" class="post-card__publish-date"> {{ $post.Date | time.Format ":date_medium" }} </time> - {{- with $post.ReadingTime }} - <p class="post-card__reading-time"> - {{ lang.Translate "list.reading_time" . | default (printf "Estimated reading time: %s min" .) }} - </p> - {{- end }} + <!-- Uncomment for post meta info + <p class="post-card__meta-info"> + <span class="post-card__reading-time"> + {{ lang.Translate "list.reading_time" $post.ReadingTime | default (printf "Estimated reading time: %s min" $post.ReadingTime) }} + </span> + | + <span class="post-card__word-count"> + {{ lang.Translate "list.word_count" $post.WordCount | default (printf "%s words" $post.WordCount) }} + </span> + </p> + --> </div> </header> diff --git a/layouts/partials/list/recent-posts.html b/layouts/partials/list/recent-posts.html index d774138..2404910 100644 --- a/layouts/partials/list/recent-posts.html +++ b/layouts/partials/list/recent-posts.html @@ -18,10 +18,7 @@ List of specified number of the most recent and published posts. Accepts a dict </h2> </header> - {{- $recentPosts := where site.RegularPages "Date" "!=" nil }} - {{- $recentPosts = where $recentPosts ".Date" "le" now }} - {{- $recentPosts = first $count $recentPosts }} - + {{- $recentPosts := where site.RegularPages "Params.excludeFromLists" "!=" true | first $count }} {{- if $recentPosts }} <div class="recent-posts__content"> <ul class="recent-posts__list" role="list"> @@ -33,16 +30,16 @@ List of specified number of the most recent and published posts. Accepts a dict </ul> {{- if $showViewAll }} - <a href="{{ with site.GetPage "/posts" }}{{ .RelPermalink }}{{ else }}/posts/{{ end }}" class="recent-posts__view-all-link"> - {{ lang.Translate "posts.view_all" | default "View all posts" }} + {{- with site.GetPage "/all-posts"}} + <a href="{{ .RelPermalink }}" class="recent-posts__view-all-link"> + {{ lang.Translate "posts.view_all" | default "View all posts" }} » </a> + {{- end }} {{- end }} </div> {{ else }} - <div class="recent-posts__empty"> - <p class="recent-posts__empty-message"> - {{ lang.Translate "list.empty" | default "No posts in this section." }} - </p> - </div> + <p class="recent-posts__empty-message"> + {{ lang.Translate "list.empty" | default "No posts in this section." }} + </p> {{- end }} </section> diff --git a/layouts/partials/navmenu.html b/layouts/partials/navmenu.html index 91e53b3..e833168 100644 --- a/layouts/partials/navmenu.html +++ b/layouts/partials/navmenu.html @@ -1,6 +1,5 @@ {{- /* -Simplified version of the `hugo new template` menu.html default -Renders a menu for the given menu ID. +Simplified version of the `hugo new template` menu.html default. Renders a menu for the given menu ID. @context {page} page: The current page. @context {string} menuID: The menu ID. diff --git a/layouts/partials/select-theme.html b/layouts/partials/select-theme.html index 443e056..3d82bd6 100644 --- a/layouts/partials/select-theme.html +++ b/layouts/partials/select-theme.html @@ -6,10 +6,10 @@ data-label-dark="{{ lang.Translate "theme.toggle_dark" }}" data-label-light="{{ lang.Translate "theme.toggle_light" }}" > - <svg class="icon icon-moon" xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 16 16" aria-hidden="true"> - <path fill="currentColor" d="M6 .278a.768.768 0 0 1 .08.858a7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277c.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316a.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71C0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z"></path> - </svg> - <svg class="icon icon-sun" xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 16 16" aria-hidden="true"> - <path fill="currentColor" d="M8 12a4 4 0 1 0 0-8a4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"/> - </svg> + <svg class="icon icon-moon" xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 16 16" aria-hidden="true"> + <path fill="currentColor" d="M6 .278a.768.768 0 0 1 .08.858a7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277c.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316a.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71C0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z"></path> + </svg> + <svg class="icon icon-sun" xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 16 16" aria-hidden="true"> + <path fill="currentColor" d="M8 12a4 4 0 1 0 0-8a4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"/> + </svg> </button> diff --git a/layouts/partials/single/next-prev.html b/layouts/partials/single/next-prev.html index 1c0b462..b80e39a 100644 --- a/layouts/partials/single/next-prev.html +++ b/layouts/partials/single/next-prev.html @@ -21,7 +21,7 @@ {{ lang.Translate "post.next" | default "Next post:" }} </span> <span class="post__navigation-title"> - → {{ .Title }} + {{ .Title }} → </span> </a> </li> diff --git a/layouts/tags/term.html b/layouts/tags/term.html index d3d8b6a..bbdc0bf 100644 --- a/layouts/tags/term.html +++ b/layouts/tags/term.html @@ -17,7 +17,7 @@ <section class="tag-page__content" aria-label="{{ lang.Translate "tags.posts_list" | default "Posts with this tag:" }}"> {{- with .Pages }} - <ul class="tag-page__posts"> + <ul class="tag-page__posts-list"> {{- range . }} <li class="tag-page__post"> {{- partial "list/post-card.html" . }} @@ -33,8 +33,8 @@ <footer class="tag-page__footer"> <nav class="tag-page__navigation" aria-label="{{ lang.Translate "tags.navigation" | default "Tag navigation" }}"> - <a href="{{ .Parent.RelPermalink }}" class="tag-page__list-all-link"> - ← {{ lang.Translate "tags.all_tags" | default "All tags" }} + <a href="{{ .Parent.RelPermalink }}" class="tag-page__view-all-link"> + {{ lang.Translate "tags.all_tags" | default "All tags" }} » </a> </nav> </footer> @@ -1,13 +1,12 @@ -# theme.toml template for a Hugo theme -# See https://github.com/gohugoio/hugoThemes#themetoml for an example +# theme.toml template for a Hugo theme: https://github.com/gohugoio/hugoThemes#themetoml name = "Argo" -license = "GLPv3" +license = "GPL-3.0" licenselink = "https://www.gnu.org/licenses/gpl-3.0.html" -description = "A clean, minimal, responsive Hugo theme. Comes with multilingual support, theme toggling & a site-wide search." -homepage = "" -tags = ["blog", "dark", "light", "minimal", "multilingual", "responsive"] -features = ["darkmode", "lightmode", "minimal", "multilingual", "responsive", "search"] +description = "A clean, minimalist Hugo theme. Comes with multilingual support, theme toggling, a site-wide search and focus on accessibility & SEO." +homepage = "https://codeberg.org/arrief/hugo-Argo" +tags = ["accessibility", "blog", "dark", "light", "minimal", "multilingual", "responsive", "seo"] +features = ["accessibility", "darkmode", "lightmode", "minimal", "multilingual", "responsive", "search", "seo"] min_version = "0.146.0" [author] |
