From 39ec7848aa04921edd4cdf6b650fd755e826662a Mon Sep 17 00:00:00 2001 From: dichgrem Date: Thu, 1 Jan 2026 16:01:43 +0800 Subject: [PATCH] chore:misc --- .gitignore | 2 + LICENSE | 2 +- Terminimal.md | 428 ----------------------------------------- config.toml | 6 +- justfile | 1 - shortcodes/figure.html | 8 - shortcodes/image.html | 8 - tags/list.html | 21 -- tags/single.html | 21 -- theme.toml | 18 -- 10 files changed, 6 insertions(+), 509 deletions(-) create mode 100644 .gitignore delete mode 100644 Terminimal.md delete mode 100644 shortcodes/figure.html delete mode 100644 shortcodes/image.html delete mode 100644 tags/list.html delete mode 100644 tags/single.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4139cd5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.idea/ +public diff --git a/LICENSE b/LICENSE index ef1abef..2960097 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2025 Dichgrem +Copyright (c) 2026 Dichgrem Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Terminimal.md b/Terminimal.md deleted file mode 100644 index 586b50c..0000000 --- a/Terminimal.md +++ /dev/null @@ -1,428 +0,0 @@ -# Terminimal - -[![Build Status](https://github.com/pawroman/zola-theme-terminimal/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/pawroman/zola-theme-terminimal/actions/workflows/pages/pages-build-deployment) -![No JavaScript](https://img.shields.io/badge/JavaScript-none-brightgreen.svg) - -![Screenshot](../master/screenshot.png?raw=true) - -See the live demo (of the default configuration) here: -https://pawroman.github.io/zola-theme-terminimal/ - -Tested with Zola v0.17.2. Please note that earlier versions might not work because of breaking changes across Zola versions. - -#### Fork disclaimer - -This theme is a fork (not a port) of "Terminal" Hugo theme -by Radosław Kozieł (aka. panr): -https://github.com/panr/hugo-theme-terminal - -Many thanks for that outstanding original theme, Radek! - -For more information about this fork and the differences to the original theme, please see: -[Changes compared to the original theme](#changes-compared-to-the-original-theme) below. - -## Versioning - -This theme used to be non-versioned, e.g. you'd pull the master branch, and occasionally new features or fixes would -be released. - -Starting from version v1.0.0, the project adopted [Semantic Versioning](https://semver.org/). - -Please check the [GitHub releases](https://github.com/pawroman/zola-theme-terminimal/releases) to see a change log -and work out if there's any breaking changes. - -## How to start - -Option A: clone the theme directly into your Zola site folder: - -``` -$ git clone https://github.com/pawroman/zola-theme-terminimal.git themes/terminimal -``` - -Option B: include it as a git submodule (it's better if you plan to use CI builders): - -``` -$ git submodule add https://github.com/pawroman/zola-theme-terminimal.git themes/terminimal -``` - -Then in your `config.toml` set: - -```toml -theme = "terminimal" - -# Sass compilation is required -compile_sass = true -``` - -Also see the Zola documentation on using themes: -https://www.getzola.org/documentation/themes/installing-and-using-themes/ - -## Shortcodes - -The theme adds two custom shortcodes related to image handling. - -### `image` - -Used to show images. - -Required arguments: - -- **`src`** - -Optional arguments: - -- **`alt`** -- **`position`** (center \[default\] | left | right) -- **`style`** - -Example: - -``` -{{ image(src="/img/hello.png", alt="Hello Friend", - position="left", style="border-radius: 8px;") }} -``` - -### `figure` - -Same as `image`, but with a few extra optional arguments: - -- **`caption`** (supports markdown) -- **`caption_position`** (center \[default\] | left | right) -- **`caption_style`** - -Example: - -``` -{{ figure(src="http://rustacean.net/assets/rustacean-flat-gesture.png", - style="width: 25%;", - position="right", - caption_position="left", - caption="**Ferris**, the (unofficial) Rust mascot", - caption_style="font-style: italic;") }} -``` - -## OpenGraph - -To add an image to a post, set the `og_image` extra option to the desired image -in the same directory of the markdown file: - -```toml -[extra] -og_image = "colocated_image.png" -``` - -Additionally, for the section pages and for posts to have a fallback image, add -`default_og_image` to the `[extra]` section: - -```toml -[extra] -default_og_image = "static/ocean.jpg" -``` - -## Configuration - -### Only show the post's description - -On each post you can specify the following: - -```toml -description = "test description" - -[extra] -show_only_description = true -``` - -This will render `test description` under this -particular post on the homepage instead of a summary. - -### Colors - -Both the accent colors and background colors are -configurable. - -By default, both accent and background are set -to `blue`. - -To configure menu, add this in `[extra]` section -of your `config.toml`: - -```toml -[extra] - -# One of: blue, green, orange, pink, red. -# Defaults to blue. -# Append -light for light themes, e.g. blue-light -# Or append -auto, e.g. blue-auto -accent_color = "green" - -# One of: blue, dark, green, orange, pink, red, light, auto -# Enabling dark background will also modify primary font color to be darker. -# Defaults to accent color (or, if not accent color specified, to blue). -background_color = "dark" -``` - -### Logo text and link - -You can set the "logo" text and what it links to, -by modifying `config.toml` like so: - -```toml -[extra] - -# The logo text - defaults to "Terminimal theme" -logo_text = "My blog" - -# The logo link - defaults to base_url. -logo_home_link = "/take/me/away!" -``` - -### Author and copyright - -You can set the footer's copyright author name like this: - -```toml -[extra] - -# Author name: when specified, modifies the default -# copyright text. Apart from author, it will -# contain current year and a link to the theme. -author = "My Name" -``` - -If you don't like the default copyright text, -you can set it to completely custom HTML: - -```toml -[extra] - -# Copyright text in HTML format. If specified, -# entirely replaces default copyright and author. -copyright_html = "My custom copyright" -``` - -### Menu - -The menu is optional, static (all items are always shown, -no matter what the screen size) and fully user-configurable. - -To configure menu, add this in `[extra]` section -of your `config.toml`: - -```toml -[extra] - -# menu is enabled by adding menu_items (optional) -menu_items = [ - # each of these is optional, name and url are required - # $BASE_URL is going to be substituted by base_url from configuration - {name = "blog", url = "$BASE_URL"}, - - # tags should only be enabled if you have "tags" taxonomy - # see documentation below for more details - {name = "tags", url = "$BASE_URL/tags"}, - {name = "archive", url = "$BASE_URL/archive"}, - {name = "about me", url = "$BASE_URL/about"}, - - # set newtab to true to make the link open in new tab - {name = "github", url = "url-to-your-github", newtab = true}, -] -``` - -### Tags - -The theme optionally supports tags. To enable them, create -a "tags" taxonomy in your `config.toml`: - -```toml -taxonomies = [ - {name = "tags"}, -] -``` - -Enabling tags will create a new `/tags` page, and -cause them to show up in `archive` section. Note -that you still need to create a menu link to the tags -page manually. - -### Pagination - -Pagination is fully supported for post list (main site) -and intra-post (you can navigate to earlier and later posts). - -To make sure pagination works properly, you must first configure -it in `content/_index.md`: - -``` -+++ -# number of pages to paginate by -paginate_by = 2 - -# sorting order for pagination -sort_by = "date" -+++ -``` - -Then, tweak the theme's pagination config in `config.toml`: - -```toml -[extra] - -# Whether to show links to earlier and later posts -# on each post page (defaults to true). -enable_post_view_navigation = true - -# The text shown at the bottom of a post, -# before earlier/later post links. -# Defaults to "Thanks for reading! Read other posts?" -post_view_navigation_prompt = "Read more" -``` - -### Language code - -Internationalization / translation is not supported -but you can set the HTML language code for your -site: - -```toml -default_language = "en" -``` - -### Hack font subset - -By default, the theme uses a mixed subset of the Hack font. -Normal weight font uses full character set -(for Unicode icons and special symbols), but all others -(bold, italic etc) use a limited subset. - -This results in much smaller transfer sizes, but the subset -might not contain all the Unicode characters you need. - -You can enable full unicode support in `config.toml`: - -```toml -[extra] - -# Use full Hack character set, not just a subset. -# Switch this to true if you need full unicode support. -# Defaults to false. -use_full_hack_font = true -``` - -Also see [Hack's docs](https://github.com/source-foundry/Hack/blob/master/docs/WEBFONT_USAGE.md). - -### Favicon - -The theme supports adding a global favicon (applies to -all pages) to the site: - -```toml -# Optional: Global favicon URL and mimetype. -# Mimetype defaults to "image/x-icon". -# The URL should point at a file located -# in your site's "static" directory. -favicon = "/favicon.png" -favicon_mimetype = "image/png" -``` - -### Page titles - -The theme allows you to configure how the page titles (the `` elements) are rendered. - -Use `"combined"` to render titles as `"Page title | Main title"`. - -```toml -# Optional: Set how <title> elements are rendered. -# Values: -# - "main_only" -- only the main title (`config.title`) is rendered. -# - "page_only" -- only the page title (if defined) is rendered, -# falling back to `config.title` if not defined or empty. -# - "combined" -- combine like so: "page_title | main_title", -# or if page_title is not defined or empty, fall back to `main_title` -# -# Note that the main (index) page only has the main title. -page_titles = "combined" -``` - -All the configuration options are also described in -[`config.toml`](../master/config.toml). - -## Extending - -Each of the templates defines named blocks, so -it should be quite easy to customize the most common things. - -For example, if you want to add extra `<meta>` tags to the -base template, `index.html`, create file like this in `templates/index.html`: - -```html -{% extends "terminimal/templates/index.html" %} - -{% block extra_head %} - <meta name="description" content="My awesome website"/> - <meta name="keywords" content="Hacking,Programming,Ranting"/> -{% endblock %} -``` - -## How to contribute - -If you spot any bugs or wish to contribute new features, please create a new -[Pull Request](https://github.com/pawroman/zola-theme-terminimal/pulls). - -## Changes compared to the original theme - -This theme has been forked from https://github.com/panr/hugo-theme-terminal - -- Slight changes in the layout and styling. - - Content has been centered (instead of left-aligned). - - The header stripes have been spaced out. - - Tweaks to pagination, especially on mobile (small screens). - - The post title underline is dashed instead of doubly-dotted. - - All links are underlined, as per - [Brutalist Web Design Guidelines](https://www.brutalist-web.design/). - - Tweaks to header font sizes. - - Minor footer tweaks. - -- Absolutely **no JavaScript**. - - No JavaScript needed to pre-process anything. - Zola with its Sass pre-processor is the only dependency. - - There's no menu trigger. - - Things load crazy fast, as it's all static content. - - Prism.js syntax highlighting is not supported (you can use - [Zola's](https://www.getzola.org/documentation/content/syntax-highlighting/)). - -- All references to social media (e.g. Twitter) have been removed. - -- All references to external URLs (e.g. Google CDN) have been removed. - This theme's static assets are meant to be served from where it's hosted. - -- [Hack](https://github.com/source-foundry/Hack) is the default font. - -- The default color theme is blue (original uses orange). - -### New features - -- You can pick the accent color as well as background color. - There's a new `dark` background. See [Configuration](#configuration) - below for details. -- Active "section" links will change color indicating the - active section. This is all static, done at template level. - -### Features retained from the original - -- 5 color themes, depending on your preference: - blue (default), green, orange, pink, red. -- The shortcodes `image` and `figure` (See [Shortcodes](#shortcodes)). -- Fully responsive. - -## License - -Copyright © 2019 Paweł Romanowski (pawroman) - -Original theme: Copyright © 2019 Radosław Kozieł ([@panr](https://twitter.com/panr)) - -The theme is released under the MIT License. -Check the [license file](../master/LICENSE.md) -for more information. - -The license for Hack fonts used is included in -[LICENSE-Hack.md](../master/LICENSE-Hack.md). diff --git a/config.toml b/config.toml index 6d2ead1..935e02a 100644 --- a/config.toml +++ b/config.toml @@ -61,13 +61,13 @@ menu_items = [ # see documentation below for more details {name = "Archive", url = "$BASE_URL/archive"}, {name = "Weekly", url = "$BASE_URL/weekly"}, - + {name = "Tags", url = "$BASE_URL/tags"}, {name = "Search", url = "$BASE_URL/search"}, - + {name = "Links", url = "$BASE_URL/links"}, {name = "Rss", url = "$BASE_URL/atom.xml"}, - + {name = "About me", url = "$BASE_URL/about"}, # set newtab to true to make the link open in new tab {name = "My github", url = "https://github.com/Dichgrem", newtab = true}, diff --git a/justfile b/justfile index b200e70..86e38a4 100644 --- a/justfile +++ b/justfile @@ -1,4 +1,3 @@ #!/usr/bin/env -S just --justfile build: zola build && pagefind --site public --root-selector body - diff --git a/shortcodes/figure.html b/shortcodes/figure.html deleted file mode 100644 index d841b5c..0000000 --- a/shortcodes/figure.html +++ /dev/null @@ -1,8 +0,0 @@ -{% if src %} - <figure class="{% if position %}{{ position }}{% else -%} center {%- endif %}" > - <img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %}{% if style %} style="{{ style }}"{% endif %} decoding="async" loading="lazy"/> - {% if caption %} - <figcaption class="{% if caption_position %}{{ caption_position }}{% else -%} center {%- endif %}"{% if caption_style %} style="{{ caption_style | safe }}"{% endif %}>{{ caption | markdown() | safe }}</figcaption> - {% endif %} - </figure> -{% endif %} diff --git a/shortcodes/image.html b/shortcodes/image.html deleted file mode 100644 index 7a2f044..0000000 --- a/shortcodes/image.html +++ /dev/null @@ -1,8 +0,0 @@ -{% if src %} - {# If the image's URL is internal to the site... #} - {% if src is not starting_with("http") %} - {# ... then prepend the site's base URL to the image's URL. #} - {% set src = config.base_url ~ src %} - {% endif %} - <img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %} class="{% if position %}{{ position }}{% else -%} center {%- endif %}" {%- if style %} style="{{ style | safe }}" {%- endif %} decoding="async" loading="lazy"/> -{% endif %} diff --git a/tags/list.html b/tags/list.html deleted file mode 100644 index 98cd693..0000000 --- a/tags/list.html +++ /dev/null @@ -1,21 +0,0 @@ -{% extends "index.html" %} - -{%- block title -%} -{{ title_macros::title(page_title="Tags", main_title=config.title) }} -{%- endblock -%} - -{% block content %} - <div class="post"> - <h1 class="post-title">all tags</h1> - - <ul> - {% for term in terms %} - <li class="tag-list"> - <a href="{{ term.permalink | safe }}"> - {{ term.name }} ({{ term.pages | length }} post{{ term.pages | length | pluralize }}) - </a> - </li> - {% endfor %} - </ul> - </div> -{% endblock content %} diff --git a/tags/single.html b/tags/single.html deleted file mode 100644 index 19c899b..0000000 --- a/tags/single.html +++ /dev/null @@ -1,21 +0,0 @@ -{% extends "index.html" %} - -{%- block title -%} -{% set title = "Tag: " ~ term.name %} -{{ title_macros::title(page_title=title, main_title=config.title) }} -{%- endblock -%} - -{% block content %} - <div class="post"> - <h1 class="post-title"> - tag: #{{ term.name }} - ({{ term.pages | length }} post{{ term.pages | length | pluralize }}) - </h1> - - <a href="{{ config.base_url | safe }}/tags/"> - Show all tags - </a> - - {{ post_macros::list_posts(pages=term.pages) }} - </div> -{% endblock content %} diff --git a/theme.toml b/theme.toml index cddb41e..f4353ca 100644 --- a/theme.toml +++ b/theme.toml @@ -4,25 +4,7 @@ license = "MIT" homepage = "https://github.com/pawroman/zola-theme-terminimal" min_version = "0.11.0" -# An optional live demo URL -#demo = "https://pawroman.github.io/zola-theme-terminimal/" - -[author] -name = "Dichgrem" -homepage = "https://github.com/Dichgrem" - -# The original theme this one's been forked off. -[original] -author = "Dichgrem" -homepage = "https://github.com/Dichgrem" -#repo = "https://github.com/panr/hugo-theme-terminal" - [extra] -# Author name: when specified, modifies the default -# copyright text. Apart from author, it will -# contain current year and a link to the theme. -author = "Dichgrem" - # One of: blue, green, orange, pink, red. # Defaults to blue. # Append -light for light themes, e.g. blue-light