From 72eec2299707881e9e58660467e37b777b51a632 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Mon, 17 Apr 2023 19:59:34 +0200 Subject: [PATCH 001/120] Initial commit --- .envrc | 1 + config.toml | 33 ++++++ content/_index.md | 23 +++++ content/bear.md | 17 ++++ content/blog/_index.md | 3 + content/blog/markdown-syntax.md | 130 ++++++++++++++++++++++++ content/zola.md | 36 +++++++ flake.lock | 61 +++++++++++ flake.nix | 20 ++++ templates/404.html | 8 ++ templates/base.html | 39 +++++++ templates/favicon.html | 3 + templates/footer.html | 3 + templates/header.html | 4 + templates/index.html | 7 ++ templates/nav.html | 6 ++ templates/page.html | 33 ++++++ templates/section.html | 38 +++++++ templates/seo_tags.html | 1 + templates/style.html | 173 ++++++++++++++++++++++++++++++++ templates/taxonomy_list.html | 14 +++ templates/taxonomy_single.html | 30 ++++++ theme.toml | 23 +++++ 23 files changed, 706 insertions(+) create mode 100644 .envrc create mode 100644 config.toml create mode 100644 content/_index.md create mode 100644 content/bear.md create mode 100644 content/blog/_index.md create mode 100644 content/blog/markdown-syntax.md create mode 100644 content/zola.md create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 templates/404.html create mode 100644 templates/base.html create mode 100644 templates/favicon.html create mode 100644 templates/footer.html create mode 100644 templates/header.html create mode 100644 templates/index.html create mode 100644 templates/nav.html create mode 100644 templates/page.html create mode 100644 templates/section.html create mode 100644 templates/seo_tags.html create mode 100644 templates/style.html create mode 100644 templates/taxonomy_list.html create mode 100644 templates/taxonomy_single.html create mode 100644 theme.toml diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..a834b0b --- /dev/null +++ b/config.toml @@ -0,0 +1,33 @@ +title = "Zola ʕ•ᴥ•ʔ Bear Blog" +base_url = "https://codeberg.org/alanpearce/zola-bearblog" +description = "" + +# Whether to automatically compile all Sass files in the sass directory +compile_sass = false + +# Whether to build a search index to be used later on by a JavaScript library +build_search_index = false + +taxonomies = [ + {name = "categories", feed = true}, + {name = "tags", feed = true}, +] + +[markdown] +# Whether to do syntax highlighting +# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola +highlight_code = true + +[extra] + +[[extra.main_menu]] +name = "Bear" +url = "@/bear.md" + +[[extra.main_menu]] +name = "Zola" +url = "@/zola.md" + +[[extra.main_menu]] +name = "Blog" +url = "@/blog/_index.md" diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..7392780 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,23 @@ ++++ ++++ +# A match made in heaven + +There is a website obesity crisis. Bloated websites full of scripts, ads, and trackers are slowing your readers down every time they try to read your well-crafted content. + +Hugo Bear Blog is all you need to build a fantastic and optimized site or blog. It works perfectly on **any** viewing device. All you need to focus on is writing good content. + +[Go to the original bear blog](https://bearblog.dev/). + +--- + +What happens when you combine the worlds' fastest, most lightweight static site generator with a design theme built to provide you with free, no-nonsense, super-fast blogging capabilities? + +**Use this theme, and find out!** + +Made with 💚 by [Alan Pearce](https://alanpearce.eu). + +--- + +Simply publish content online, grow an audience, and keep your pages tiny, fast, and **optimized for search engines**. + +Each page is ~5kb, and you can **host your blog yourself**. diff --git a/content/bear.md b/content/bear.md new file mode 100644 index 0000000..62f5db5 --- /dev/null +++ b/content/bear.md @@ -0,0 +1,17 @@ ++++ +title = "Bear" ++++ + +# Bear + +Website: [https://bearblog.dev](https://bearblog.dev) + +There is a website obesity crisis. Bloated websites are full of scripts, ads, and trackers slowing your readers down every time they try to read your well-crafted content. + +Bear is all you need to build a fantastic and optimized site or blog. It works perfectly on **any** viewing device. All you need to focus on is writing good content. + +Bear makes it simple to publish content online and grow an audience while keeping pages tiny, fast, and **optimized for search engines.** + +Each page is ~5kb. + +Learn more and contribute on [GitHub](https://github.com/HermanMartinus/bearblog). diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..34651ab --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,3 @@ ++++ +title = "Blog" ++++ diff --git a/content/blog/markdown-syntax.md b/content/blog/markdown-syntax.md new file mode 100644 index 0000000..509cb4a --- /dev/null +++ b/content/blog/markdown-syntax.md @@ -0,0 +1,130 @@ ++++ +title = "Markdown Syntax Guide" +date = "2020-01-03" +description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements." +taxonomies.tags = [ + "markdown", + "syntax", +] ++++ + +For a quick cheatsheet, check out [https://simplemde.com/markdown-guide](https://simplemde.com/markdown-guide). + +--- + +This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme. + + +## Headings + +The following HTML `

`—`

` elements represent six levels of section headings. `

` is the highest section level while `

` is the lowest. + +# H1 +## H2 +### H3 +#### H4 +##### H5 +###### H6 + +## Paragraph + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Blockquotes + +The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. + +#### Blockquote without attribution + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Note** that you can use *Markdown syntax* within a blockquote. + +#### Blockquote with attribution + +> Don't communicate by sharing memory, share memory by communicating.
+> — Rob Pike[^1] + +[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. + +## Tables + +Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box. + + Name | Age +--------|------ + Bob | 27 + Alice | 23 + +#### Inline Markdown within tables + +| Italics | Bold | Code | +| -------- | -------- | ------ | +| *italics* | **bold** | `code` | + +## Code Blocks + +#### Code block with backticks + +```html + + + + + Example HTML5 Document + + +

Test

+ + +``` + +#### Code block indented with four spaces + + + + + + Example HTML5 Document + + +

Test

+ + + +## List Types + +#### Ordered List + +1. First item +2. Second item +3. Third item + +#### Unordered List + +* List item +* Another item +* And another item + +#### Nested list + +* Fruit + * Apple + * Orange + * Banana +* Dairy + * Milk + * Cheese + +## Other Elements — abbr, sub, sup, kbd, mark + +GIF is a bitmap image format. + +H2O + +Xn + Yn = Zn + +Press CTRL+ALT+Delete to end the session. + +Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. diff --git a/content/zola.md b/content/zola.md new file mode 100644 index 0000000..5458750 --- /dev/null +++ b/content/zola.md @@ -0,0 +1,36 @@ ++++ +title = "Zola" ++++ +## No dependencies + +Zola comes as a single executable with Sass compilation, syntax +highlighting, table of contents and many other features that +traditionally require setting up a dev environment or adding some +JavaScript libraries to your site. + +## Blazing fast + +The average site will be generated in less than a second, including +Sass compilation and syntax highlighting. + +## Scalable + +Zola renders your whole site as static files, making it trivial to +handle any kind of traffic you will throw at it at no cost without +having to worry about managing a server or a database. + +## Easy to use + +From the CLI to the template engine, everything is designed to be +intuitive. Don't take my word for it though, look at the documentation +and see for yourself. + +## Flexible + +Zola gets out of your way so you can focus on your content, be it a +blog, a knowledge base, a landing page or a combination of them. + +## Augmented Markdown + +Zola comes with shortcodes and internal links to make it easier to +write your content. diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..afbf271 --- /dev/null +++ b/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1681693905, + "narHash": "sha256-XdXMvCt+i2ZcmAIPZvu3RUwcdaC9OX7d1WMAJJokzeA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "db34d7561caa508ece0265a56f382c5d3b7a6c1b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..c257b2a --- /dev/null +++ b/flake.nix @@ -0,0 +1,20 @@ +{ + description = "A bear blog theme for Zola"; + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + + outputs = { self, nixpkgs, flake-utils }: + flake-utils.lib.eachDefaultSystem (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in + { + devShells.default = pkgs.mkShell { + packages = with pkgs; [ + git + gnugrep + zola + ]; + }; + }); +} diff --git a/templates/404.html b/templates/404.html new file mode 100644 index 0000000..bfb6e35 --- /dev/null +++ b/templates/404.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} + +{% block title %}404{% endblock %} + +{% block main %} +

404

+

ʕノ•ᴥ•ʔノ ︵ ┻━┻

+{% endblock %} diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..299e92a --- /dev/null +++ b/templates/base.html @@ -0,0 +1,39 @@ + + + + + + + + {%- include "favicon.html" ignore missing -%} + {%- block title %}{{ config.title }}{%- endblock %} + + {%- include "seo_tags.html" ignore missing -%} + + + {%- if config.generate_feed %} + {%- block rss -%} + + {% endblock -%} + {%- endif %} + + {%- include "style.html" ignore missing -%} + + {%- include "custom_head.html" ignore missing -%} + + + +
+ {%- include "header.html" ignore missing -%} +
+
+ {%- block main %}{%- endblock %} +
+ + + {%- include "custom_body.html" ignore missing -%} + + + diff --git a/templates/favicon.html b/templates/favicon.html new file mode 100644 index 0000000..51d9fbd --- /dev/null +++ b/templates/favicon.html @@ -0,0 +1,3 @@ +{% if config.extra.favicon %} + +{%- endif %} diff --git a/templates/footer.html b/templates/footer.html new file mode 100644 index 0000000..97d6b89 --- /dev/null +++ b/templates/footer.html @@ -0,0 +1,3 @@ +{% if not config.extra.hide_made_with_line %} +Made with Zola ʕ•ᴥ•ʔ Bear +{% endif %} diff --git a/templates/header.html b/templates/header.html new file mode 100644 index 0000000..64c79f0 --- /dev/null +++ b/templates/header.html @@ -0,0 +1,4 @@ + +

{{ config.title }}

+
+ diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..31710be --- /dev/null +++ b/templates/index.html @@ -0,0 +1,7 @@ +{% extends "base.html" %} + +{% block main %} + + {{ section.content | safe }} + +{% endblock %} diff --git a/templates/nav.html b/templates/nav.html new file mode 100644 index 0000000..135e407 --- /dev/null +++ b/templates/nav.html @@ -0,0 +1,6 @@ +Home +{%- if config.extra.main_menu %} +{%- for item in config.extra.main_menu %} +{{ item.name }} +{%- endfor %} +{%- endif %} diff --git a/templates/page.html b/templates/page.html new file mode 100644 index 0000000..bf9eca7 --- /dev/null +++ b/templates/page.html @@ -0,0 +1,33 @@ +{% extends "base.html" %} + +{% block title %} +{{ page.title }} | {{ super() }} +{% endblock %} + +{% block main %} +{%- if not page.extra.menu %} +

{{ page.title }}

+{%- if page.date %} +

+ + + +

+{%- endif %} +{%- endif %} + + {{ page.content | safe }} + +

+ {%- if page.taxonomies %} + {%- for name, taxon in page.taxonomies %} + {{ name | capitalize }}: + {%- for item in taxon %} + #{{ item }} + {%- endfor %} + {%- endfor %} + {%- endif %} +

+{% endblock %} diff --git a/templates/section.html b/templates/section.html new file mode 100644 index 0000000..6801267 --- /dev/null +++ b/templates/section.html @@ -0,0 +1,38 @@ +{% extends "base.html" %} + +{% block main %} + + {%- if taxonomy.term %} +

Filtering for "{{ section.title }}"

+ + Remove filter + + {%- endif %} + + +
+ {% set tags = get_taxonomy(kind="tags") %} + {% for post in tags.items %} + #{{ post.name }}  + {% endfor %} +
+
+
+{% endblock %} diff --git a/templates/seo_tags.html b/templates/seo_tags.html new file mode 100644 index 0000000..88c14e0 --- /dev/null +++ b/templates/seo_tags.html @@ -0,0 +1 @@ + diff --git a/templates/style.html b/templates/style.html new file mode 100644 index 0000000..122a641 --- /dev/null +++ b/templates/style.html @@ -0,0 +1,173 @@ + diff --git a/templates/taxonomy_list.html b/templates/taxonomy_list.html new file mode 100644 index 0000000..876087c --- /dev/null +++ b/templates/taxonomy_list.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{% block main %} + + +
+ {% set tags = get_taxonomy(kind="tags") %} + {% for post in tags.items %} + #{{ post.name }}  + {% endfor %} +
+
+
+{% endblock %} diff --git a/templates/taxonomy_single.html b/templates/taxonomy_single.html new file mode 100644 index 0000000..685eaf5 --- /dev/null +++ b/templates/taxonomy_single.html @@ -0,0 +1,30 @@ +{% extends "base.html" %} + +{% block main %} + + {%- if taxonomy.term %} +

Filtering for "{{ term.name }}"

+ + Remove filter + + {%- endif %} + +
+{% endblock %} diff --git a/theme.toml b/theme.toml new file mode 100644 index 0000000..77d333d --- /dev/null +++ b/theme.toml @@ -0,0 +1,23 @@ +name = "Bear" +description = "Bear blog theme" +license = "MIT" +homepage = "https://github.com/getzola/hyde" +# The minimum version of Zola required +min_version = "0.4.0" +# An optional live demo URL +demo = "" + +# Any variable there can be overridden in the end user `config.toml` +# You don't need to prefix variables by the theme name but as this will +# be merged with user data, some kind of prefix or nesting is preferable +# Use snake_casing to be consistent with the rest of Zola +[extra] + +[author] +name = "Alan Pearce" +homepage = "https://alanpearce.eu" + +[original] +author = "janraasch" +repo = "https://github.com/janraasch/hugo-bearblog/" +homepage = "https://www.janraasch.com" From 87322aba527be085fd05e4ae26cb3e1b7139d5f0 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Mon, 17 Apr 2023 20:15:39 +0200 Subject: [PATCH 002/120] Add readme and license --- LICENSE | 21 +++++++++++++++++++ README.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 LICENSE create mode 100644 README.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ddc924b --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2023 Alan Pearce +Copyright (c) 2020 Jan Raasch + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..8caaef0 --- /dev/null +++ b/README.md @@ -0,0 +1,60 @@ +# Zola ʕ•ᴥ•ʔ Bear Blog + +🧸 A [Zola](https://www.getzola.org/)-theme based on [Bear Blog](https://bearblog.dev). + +> Free, no-nonsense, super-fast blogging. + +## Demo + +For a current & working demo of this theme, please check out https://alanpearce.codeberg.page/zola-bearblog/ 🎯. + +## Screenshots + +⬜️ [Light][light-screenshot] + +⬛️ [Dark][dark-screenshot] + +When the user's browser is running »dark mode«, the dark color scheme will be used automatically. The default is the light/white color scheme. Check out the [`style.html`](https://codeberg.org/alanpearce/zola-bearblog/src/branch/main/templates/style.html)-file for the implementation. + +## Installation + +If you already have a Zola site on your machine, you can simply add this theme via + +``` +git submodule add https://codeberg.org/alanpearce/zola-bearblog themes/zola-bearblog +``` + +Then, adjust the `config.toml` as detailed below. + +For more information, read the official [setup guide][zola-setup-guide] of Zola. + +## Adjust configuration / config.toml + +Please check out the included [config.toml](https://codeberg.org/alanpearce/zola-bearblog/src/branch/main/config.toml) + +## Content & structure + +### Adding / editing content + +#### Index-Page + +The contents of the `index`-page may be changed by editing your `content/_index.md`-file. + + +### Adding your branding / colors / css + +Add a `custom_head.html`-file to your `templates/`-directory. In there you may add a ` {% include "custom_head.html" ignore missing -%} diff --git a/theme.toml b/theme.toml index 1bba50d..902c8ec 100644 --- a/theme.toml +++ b/theme.toml @@ -13,6 +13,7 @@ demo = "https://zola-bearblog.netlify.app/" # Use snake_casing to be consistent with the rest of Zola [extra] date_format="%d %b, %Y" +webserver_sends_csp_headers=false [author] name = "Alan Pearce" From d10630da50a2b0e005ef0499190cc5cc898f0b06 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sat, 9 Sep 2023 19:11:07 +0200 Subject: [PATCH 042/120] Hash inline style in CSP openssl dgst -sha256 -binary < templates/style.html | openssl enc -base64 2Sbht7dvdhJX00j84akXy9AejYUf6sOM3OpwMxNiDXQ= --- netlify.toml | 2 +- templates/{style.html => style.css.html} | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) rename templates/{style.html => style.css.html} (99%) diff --git a/netlify.toml b/netlify.toml index b75399f..6be8468 100644 --- a/netlify.toml +++ b/netlify.toml @@ -22,4 +22,4 @@ command = "zola build --base-url $DEPLOY_PRIME_URL" X-XSS-Protection = "1; mode=block" Referrer-Policy = "strict-origin-when-cross-origin" Strict-Transport-Security = "max-age=63072000; includeSubdomains" - Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'unsafe-inline'; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" + Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-2Sbht7dvdhJX00j84akXy9AejYUf6sOM3OpwMxNiDXQ='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" diff --git a/templates/style.html b/templates/style.css.html similarity index 99% rename from templates/style.html rename to templates/style.css.html index 4744695..00b4131 100644 --- a/templates/style.html +++ b/templates/style.css.html @@ -1,4 +1,3 @@ - From f9a560a45d98436c270db6f226f26ccde5dd8844 Mon Sep 17 00:00:00 2001 From: g4m4 Date: Mon, 29 Jan 2024 09:45:17 +0100 Subject: [PATCH 043/120] [TEMPLATES] Use the localised version of get_url so multilingual sites can be setup --- templates/nav.html | 2 +- templates/section.html | 2 +- templates/taxonomy_single.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/nav.html b/templates/nav.html index e006ab1..e18fda2 100644 --- a/templates/nav.html +++ b/templates/nav.html @@ -4,7 +4,7 @@ {%- if item.url is matching("https?://") %} {{ item.name }} {%- else %} - {{ item.name }} + {{ item.name }} {%- endif %} {%- endfor %} {%- endif -%} diff --git a/templates/section.html b/templates/section.html index e596ffb..b9eb680 100644 --- a/templates/section.html +++ b/templates/section.html @@ -5,7 +5,7 @@ {%- if taxonomy.term %}

Filtering for "{{ section.title }}"

- Remove filter + Remove filter {%- endif %}
    diff --git a/templates/taxonomy_single.html b/templates/taxonomy_single.html index d5712b0..be0f2ad 100644 --- a/templates/taxonomy_single.html +++ b/templates/taxonomy_single.html @@ -5,7 +5,7 @@ {%- if taxonomy.term %}

    Filtering for "{{ term.name }}"

    - Remove filter + Remove filter {%- endif %}
      From 5e9c829bd70a14ada0818976011b59bf6babbae9 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Fri, 9 Feb 2024 14:06:50 +0100 Subject: [PATCH 044/120] Display tag header on single-tag pages Fixes https://codeberg.org/alanpearce/zola-bearblog/issues/3 --- templates/taxonomy_single.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/taxonomy_single.html b/templates/taxonomy_single.html index be0f2ad..b46e07f 100644 --- a/templates/taxonomy_single.html +++ b/templates/taxonomy_single.html @@ -2,7 +2,7 @@ {% block main %}
      - {%- if taxonomy.term %} + {%- if term %}

      Filtering for "{{ term.name }}"

      Remove filter From 5f7390ee69cf214b2be78279a97bcadc8d6604e6 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Fri, 9 Feb 2024 14:13:23 +0100 Subject: [PATCH 045/120] Show heading in taxonomy list page --- templates/taxonomy_list.html | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/taxonomy_list.html b/templates/taxonomy_list.html index 69d9fa2..e5a5cb3 100644 --- a/templates/taxonomy_list.html +++ b/templates/taxonomy_list.html @@ -2,6 +2,7 @@ {% block main %}
      +

      {{ taxonomy.name | capitalize }}

      {% set tags = get_taxonomy(kind="tags") %} From 68fd0902b1b7c540e1b8b79ae02b69b85327e070 Mon Sep 17 00:00:00 2001 From: Oleksii Dobrovolskyi Date: Tue, 13 Feb 2024 16:56:15 +0200 Subject: [PATCH 046/120] Adding lang=lang attribute to header.html and page.html --- templates/header.html | 2 +- templates/page.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/header.html b/templates/header.html index c1d3c3e..43f6c40 100644 --- a/templates/header.html +++ b/templates/header.html @@ -1,5 +1,5 @@
      - +

      {{ config.title }}

    From d604fa65ddad76100d9061d35b4129e6c6c5771d Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sun, 18 Feb 2024 14:59:47 +0100 Subject: [PATCH 052/120] Create optional language switcher --- config.toml | 14 ++++++++++---- templates/header.html | 1 + templates/language_switcher.html | 11 +++++++++++ templates/nav.html | 9 +++++++-- 4 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 templates/language_switcher.html diff --git a/config.toml b/config.toml index 5a54517..92637f3 100644 --- a/config.toml +++ b/config.toml @@ -44,23 +44,29 @@ highlight_code = true [extra] date_format="%d %b, %Y" webserver_sends_csp_headers=true +language_switcher=true + +translations = [ + { code="en", name="English" }, + { code="de", name="Deutsch" }, +] [[extra.main_menu]] -name_en = "Home" +name = "Home" name_de = "Startseite" url = "/" [[extra.main_menu]] -name_en = "Bear" +name = "Bear" name_de = "Bear" url = "@/bear.md" [[extra.main_menu]] -name_en = "Zola" +name = "Zola" name_de = "Zola" url = "@/zola.md" [[extra.main_menu]] -name_en = "Blog" +name = "Blog" name_de = "Blog" url = "@/blog/_index.md" diff --git a/templates/header.html b/templates/header.html index f92e903..6e56025 100644 --- a/templates/header.html +++ b/templates/header.html @@ -1,4 +1,5 @@
    + {% include "language_switcher.html" %}

    {{ config.title }}

    diff --git a/templates/language_switcher.html b/templates/language_switcher.html new file mode 100644 index 0000000..b82ddfc --- /dev/null +++ b/templates/language_switcher.html @@ -0,0 +1,11 @@ +{% if config.extra.language_switcher %} + +{% endif %} diff --git a/templates/nav.html b/templates/nav.html index cd2d391..ac3f44e 100644 --- a/templates/nav.html +++ b/templates/nav.html @@ -7,10 +7,15 @@ {%- if config.extra.main_menu %} {%- for item in config.extra.main_menu %} {% set language_key = 'name_' ~ current_lang %} + {% if current_lang == config.default_language %} + {% set title = item | get(key=language_key, default=item.name) %} + {% else %} + {% set title = item[language_key] %} + {% endif %} {%- if item.url is matching("https?://") %} - {{ item[language_key] }} + {{ title }} {%- else %} - {{ item[language_key] }} + {{ title }} {%- endif %} {%- endfor %} {%- endif -%} From 62014d65b9693908189fd7c73a5dc1062113a72c Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sun, 18 Feb 2024 17:30:09 +0100 Subject: [PATCH 053/120] Update netlify style-src hash --- netlify.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netlify.toml b/netlify.toml index 59e0094..dc69016 100644 --- a/netlify.toml +++ b/netlify.toml @@ -22,4 +22,4 @@ command = "zola build --base-url $DEPLOY_PRIME_URL" X-XSS-Protection = "1; mode=block" Referrer-Policy = "strict-origin-when-cross-origin" Strict-Transport-Security = "max-age=63072000; includeSubdomains" - Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-PfqYdfojK4X5lEpBXpUr/pJgf8BZ0tVvD+shnG3tM/E='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" + Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-5K5tkbXKXWE7Xcs3HIt98Y+XOWAAsdSyGzixGECKPcA='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" From cfe243132912e9a21e7de990836380f4356ba92d Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sun, 18 Feb 2024 20:38:47 +0100 Subject: [PATCH 054/120] Fix nav with default language --- templates/nav.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/nav.html b/templates/nav.html index ac3f44e..ba9f543 100644 --- a/templates/nav.html +++ b/templates/nav.html @@ -6,10 +6,10 @@ {% endif %} {%- if config.extra.main_menu %} {%- for item in config.extra.main_menu %} - {% set language_key = 'name_' ~ current_lang %} {% if current_lang == config.default_language %} - {% set title = item | get(key=language_key, default=item.name) %} + {% set title = item.name %} {% else %} + {% set language_key = 'name_' ~ current_lang %} {% set title = item[language_key] %} {% endif %} {%- if item.url is matching("https?://") %} From 1c52ee3cc089e6b7ef8f38d1e6530b219239bd2e Mon Sep 17 00:00:00 2001 From: g4m4 Date: Mon, 19 Feb 2024 17:18:16 +0100 Subject: [PATCH 055/120] Translation link now pointing to the translation of the current page --- templates/language_switcher.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/templates/language_switcher.html b/templates/language_switcher.html index b82ddfc..d3cd383 100644 --- a/templates/language_switcher.html +++ b/templates/language_switcher.html @@ -1,10 +1,15 @@ {% if config.extra.language_switcher %} From 21091740f78eb4653cfc7e1dceba6f8856f3d210 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Tue, 20 Feb 2024 17:04:48 +0100 Subject: [PATCH 056/120] Show language switcher on all pages --- templates/language_switcher.html | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/templates/language_switcher.html b/templates/language_switcher.html index d3cd383..a300028 100644 --- a/templates/language_switcher.html +++ b/templates/language_switcher.html @@ -1,15 +1,11 @@ {% if config.extra.language_switcher %} From f138825a20271b4c117ddd42ea6749a4378a9efb Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Tue, 20 Feb 2024 17:05:02 +0100 Subject: [PATCH 057/120] Add missing trailing slash to translation links --- templates/language_switcher.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/language_switcher.html b/templates/language_switcher.html index a300028..3af5e66 100644 --- a/templates/language_switcher.html +++ b/templates/language_switcher.html @@ -5,7 +5,7 @@ {%- if tr.code == lang %} {{ tr.name }} {%- else %} - {{ tr.name }} + {{ tr.name }} {%- endif %} {%- endfor %} From fa345b1d1e11cc66ed92605382887fd4367ef97a Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Tue, 20 Feb 2024 17:08:59 +0100 Subject: [PATCH 058/120] Make language switcher more semantic --- templates/language_switcher.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/language_switcher.html b/templates/language_switcher.html index 3af5e66..3968c73 100644 --- a/templates/language_switcher.html +++ b/templates/language_switcher.html @@ -1,11 +1,11 @@ {% if config.extra.language_switcher %} -
    diff --git a/templates/language_switcher.html b/templates/language_switcher.html index 04ce9a5..11e2637 100644 --- a/templates/language_switcher.html +++ b/templates/language_switcher.html @@ -1,11 +1,11 @@ {%- if config.extra.language_switcher %} -
- -
- {%- set tags = get_taxonomy(kind="tags", lang=lang) %} - {%- for post in tags.items %} +
+ {%- set tags = get_taxonomy(kind="tags", lang=lang) %} + {%- for post in tags.items %} #{{ post.name }}  - {%- endfor %} -
-
+ {%- endfor %} +
{% endblock %} diff --git a/templates/seo_tags.html b/templates/seo_tags.html index 4eb2bc8..b9a9e84 100644 --- a/templates/seo_tags.html +++ b/templates/seo_tags.html @@ -1,2 +1,2 @@ - + diff --git a/templates/style.css.html b/templates/style.css.html index 2196ce5..bb7915c 100644 --- a/templates/style.css.html +++ b/templates/style.css.html @@ -64,7 +64,7 @@ margin-right: 8px; } - nav active { + nav span.active { font-weight: bold; margin-right: 10px; } @@ -165,3 +165,7 @@ ul.blog-posts li a:visited { color: var(--visited-color); } + + .tags { + font-size: smaller; + } diff --git a/templates/taxonomy_list.html b/templates/taxonomy_list.html index f11519d..7ccb4a5 100644 --- a/templates/taxonomy_list.html +++ b/templates/taxonomy_list.html @@ -3,13 +3,11 @@ {% block main %}

{{ taxonomy.name | capitalize }}

- -
- {%- set tags = get_taxonomy(kind="tags", lang=lang) %} - {%- for post in tags.items %} - #{{ post.name }}  - {%- endfor %} -
-
+
+ {%- set tags = get_taxonomy(kind="tags", lang=lang) %} + {%- for post in tags.items %} + #{{ post.name }}  + {%- endfor %} +
{% endblock %} diff --git a/templates/taxonomy_single.html b/templates/taxonomy_single.html index ea58c99..2e5533b 100644 --- a/templates/taxonomy_single.html +++ b/templates/taxonomy_single.html @@ -13,7 +13,7 @@
  • - From ff313053e56bf5c606376435050eb7f40ad3f28a Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Wed, 29 May 2024 16:06:16 +0200 Subject: [PATCH 079/120] Update style hash --- netlify.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netlify.toml b/netlify.toml index 6b9b76c..2f4a020 100644 --- a/netlify.toml +++ b/netlify.toml @@ -32,4 +32,4 @@ Strict-Transport-Security = "max-age=63072000; includeSubdomains" # if nothing else works # openssl dgst -sha256 -binary < templates/style.css.html | openssl enc -base64 # and paste the output after sha256- -Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-KOMZEackHZgE4VhODEG7gEiJLdQZogO6BfMk+c0NWoM='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" +Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-uU4G1WTuiOX/p9qEijPXhC3yBhVDdqYQmS0cfQjytZM='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" From a6f09143e8875005238361d8d4a8eb25bf040878 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Wed, 29 May 2024 16:09:02 +0200 Subject: [PATCH 080/120] Fix style hash --- netlify.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netlify.toml b/netlify.toml index 2f4a020..6ca9d0e 100644 --- a/netlify.toml +++ b/netlify.toml @@ -32,4 +32,4 @@ Strict-Transport-Security = "max-age=63072000; includeSubdomains" # if nothing else works # openssl dgst -sha256 -binary < templates/style.css.html | openssl enc -base64 # and paste the output after sha256- -Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-uU4G1WTuiOX/p9qEijPXhC3yBhVDdqYQmS0cfQjytZM='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" +Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-wOE0zNBQWpUBcOQHPSvj7V8Ez3XVcJjNkSmw4Zp5pyA='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" From 8a7b1b9d08bf9131801db383df88720c7500f648 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Wed, 29 May 2024 16:11:02 +0200 Subject: [PATCH 081/120] Fix style hash again? --- netlify.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netlify.toml b/netlify.toml index 6ca9d0e..7eee58f 100644 --- a/netlify.toml +++ b/netlify.toml @@ -32,4 +32,4 @@ Strict-Transport-Security = "max-age=63072000; includeSubdomains" # if nothing else works # openssl dgst -sha256 -binary < templates/style.css.html | openssl enc -base64 # and paste the output after sha256- -Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-wOE0zNBQWpUBcOQHPSvj7V8Ez3XVcJjNkSmw4Zp5pyA='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" +Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-p5EfRIhWJi7Zh7WJil3mpIVCZvcu+zebWbMe6B0so8A='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" From 14ad9250cf52b005ff17e0d9971c4087ddb6718d Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Wed, 29 May 2024 16:22:17 +0200 Subject: [PATCH 082/120] update referrer meta header to match Netlify header --- templates/base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/base.html b/templates/base.html index a2c5187..6a20cb9 100644 --- a/templates/base.html +++ b/templates/base.html @@ -9,7 +9,7 @@ {% include "favicon.html" ignore missing -%} {%- block title %}{{ config.title }}{%- endblock %} {% include "seo_tags.html" ignore missing -%} - + {%- if config.generate_feed %} {% block rss -%} From 5a76992885614579d234bf53a61dd1172be3536e Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Fri, 31 May 2024 17:55:40 +0200 Subject: [PATCH 083/120] update zola version in netlify --- netlify.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netlify.toml b/netlify.toml index 7eee58f..3f4cbe4 100644 --- a/netlify.toml +++ b/netlify.toml @@ -4,7 +4,7 @@ command = "zola build" [build.environment] # Set the version name that you want to use and Netlify will automatically use it. -ZOLA_VERSION = "0.17.2" +ZOLA_VERSION = "0.18.0" # The magic for deploying previews of branches. # We need to override the base url with whatever url Netlify assigns to our From ef80ea741b1e5c8203584485e735ad144b7202d3 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Fri, 31 May 2024 18:10:03 +0200 Subject: [PATCH 084/120] default to relative URLs --- config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.toml b/config.toml index fd1eff1..ce7f669 100644 --- a/config.toml +++ b/config.toml @@ -1,5 +1,5 @@ title = "Zola ʕ•ᴥ•ʔ Bear Blog" -base_url = "https://zola-bearblog.netlify.app/" +base_url = "/" description = "A Zola-theme based on Bear Blog." # Whether to automatically compile all Sass files in the sass directory From 4aef976fbd1c1f8fd2da4900d3a8d3fb6ea6eb8c Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Fri, 31 May 2024 18:11:49 +0200 Subject: [PATCH 085/120] netlify: remove now-unnecessary base-url overrides --- netlify.toml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/netlify.toml b/netlify.toml index 3f4cbe4..ec9c017 100644 --- a/netlify.toml +++ b/netlify.toml @@ -6,16 +6,6 @@ command = "zola build" # Set the version name that you want to use and Netlify will automatically use it. ZOLA_VERSION = "0.18.0" -# The magic for deploying previews of branches. -# We need to override the base url with whatever url Netlify assigns to our -# preview site. We do this using the Netlify environment variable -# `$DEPLOY_PRIME_URL`. - -[context.deploy-preview] -command = "zola build --base-url $DEPLOY_PRIME_URL" -[context.branch-deploy] -command = "zola build --base-url $DEPLOY_PRIME_URL" - [[headers]] for = "/*" [headers.values] From 39f7b2de1982d93da413a740fe56eaed404960c9 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Fri, 31 May 2024 18:20:43 +0200 Subject: [PATCH 086/120] add initial support for deploying on vercel --- .gitignore | 1 + vercel.json | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 vercel.json diff --git a/.gitignore b/.gitignore index 87174b6..02e3efd 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /public/ +.vercel diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..071f918 --- /dev/null +++ b/vercel.json @@ -0,0 +1,42 @@ +{ + "$schema": "https://openapi.vercel.sh/vercel.json", + "framework": "zola", + "build": { + "env": { + "ZOLA_VERSION": "0.18.0" + } + }, + "cleanUrls": true, + "trailingSlash": true, + "headers": [ + { + "source": "/(.*)", + "headers": [ + { + "key": "X-Frame-Options", + "value": "DENY" + }, + { + "key": "X-Content-Type-Options", + "value": "nosniff" + }, + { + "key": "X-XSS-Protection", + "value": "1; mode=block" + }, + { + "key": "Referrer-Policy", + "value": "strict-origin-when-cross-origin" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=63072000; includeSubDomains; preload" + }, + { + "key": "Content-Security-Policy", + "value": "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-p5EfRIhWJi7Zh7WJil3mpIVCZvcu+zebWbMe6B0so8A='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" + } + ] + } + ] +} From c5d70ac784a3374eb42fc6d8d36a896ada587002 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Fri, 31 May 2024 18:49:29 +0200 Subject: [PATCH 087/120] add caching headers for netlify and vercel --- netlify.toml | 5 +++++ vercel.json | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/netlify.toml b/netlify.toml index ec9c017..ec51225 100644 --- a/netlify.toml +++ b/netlify.toml @@ -23,3 +23,8 @@ Strict-Transport-Security = "max-age=63072000; includeSubdomains" # openssl dgst -sha256 -binary < templates/style.css.html | openssl enc -base64 # and paste the output after sha256- Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-p5EfRIhWJi7Zh7WJil3mpIVCZvcu+zebWbMe6B0so8A='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" +Cache-Control = ''' + max-age=300, + s-maxage=86400, + state-while-revalidate +''' diff --git a/vercel.json b/vercel.json index 071f918..c23d334 100644 --- a/vercel.json +++ b/vercel.json @@ -35,6 +35,10 @@ { "key": "Content-Security-Policy", "value": "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-p5EfRIhWJi7Zh7WJil3mpIVCZvcu+zebWbMe6B0so8A='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" + }, + { + "key": "Cache-Control", + "value": "max-age=300, s-maxage=86400, state-while-revalidate" } ] } From a6f897981be14bb9cb46033a6769a7417ed73337 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sat, 1 Jun 2024 19:20:48 +0200 Subject: [PATCH 088/120] add support for deploying to Gitlab pages --- .gitlab-ci.yml | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..040380f --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,53 @@ +stages: + - deploy + +default: + image: debian:stable-slim + +variables: + # The runner will be able to pull your Zola theme when the strategy is + # set to "recursive". + GIT_SUBMODULE_STRATEGY: "recursive" + + # If you don't set a version here, your site will be built with the latest + # version of Zola available in GitHub releases. + # Use the semver (x.y.z) format to specify a version. For example: "0.17.2" or "0.18.0". + ZOLA_VERSION: + description: "The version of Zola used to build the site." + value: "" + +pages: + stage: deploy + script: + - | + apt-get update --assume-yes && apt-get install --assume-yes --no-install-recommends wget ca-certificates + if [ $ZOLA_VERSION ]; then + zola_url="https://github.com/getzola/zola/releases/download/v$ZOLA_VERSION/zola-v$ZOLA_VERSION-x86_64-unknown-linux-gnu.tar.gz" + if ! wget --quiet --spider $zola_url; then + echo "A Zola release with the specified version could not be found."; + exit 1; + fi + else + github_api_url="https://api.github.com/repos/getzola/zola/releases/latest" + zola_url=$( + wget --output-document - $github_api_url | + grep "browser_download_url.*linux-gnu.tar.gz" | + cut --delimiter : --fields 2,3 | + tr --delete "\" " + ) + fi + wget $zola_url + tar -xzf *.tar.gz + ./zola build + + artifacts: + paths: + # This is the directory whose contents will be deployed to the GitLab Pages + # server. + # GitLab Pages expects a directory with this name by default. + - public + + rules: + # This rule makes it so that your website is published and updated only when + # you push to the default branch of your repository (e.g. "master" or "main"). + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH From ba8c844236e47100126e6b2be37f5555595996a3 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sat, 1 Jun 2024 19:51:59 +0200 Subject: [PATCH 089/120] Add alternative demo sites to readme --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 779ca71..bab2a89 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,11 @@ ## Demo -For a current & working demo of this theme, please check out 🎯. +This theme has multiple demo sites, to provide examples of how to set up deployment +- [Vercel](https://zola-bearblog.vercel.app/) +- [Netlify](https://zola-bearblog.netlify.app/) +- [Gitlab Pages](https://alanpearce.gitlab.io/zola-bearblog) +- [Cloudflare Pages](https://zola-bearblog.pages.dev/) ## Screenshot From 766f10237856b3d7eee457aa43c02417aaf44962 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Thu, 4 Jul 2024 21:02:25 +0200 Subject: [PATCH 090/120] update flake inputs --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 8cec57d..24d4009 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1715413075, - "narHash": "sha256-FCi3R1MeS5bVp0M0xTheveP6hhcCYfW/aghSTPebYL4=", + "lastModified": 1720058333, + "narHash": "sha256-gM2RCi5XkxmcsZ44pUkKIYBiBMfZ6u7MdcZcykmccrs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e4e7a43a9db7e22613accfeb1005cca1b2b1ee0d", + "rev": "6842b061970bf96965d66fcc86a28e1f719aae95", "type": "github" }, "original": { From 3d1ea12f05332a0c414366eb50e2fcfcb3a99f2f Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Thu, 4 Jul 2024 21:04:29 +0200 Subject: [PATCH 091/120] add cross-origin-resource-policy header --- netlify.toml | 1 + vercel.json | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/netlify.toml b/netlify.toml index ec51225..88a3cba 100644 --- a/netlify.toml +++ b/netlify.toml @@ -23,6 +23,7 @@ Strict-Transport-Security = "max-age=63072000; includeSubdomains" # openssl dgst -sha256 -binary < templates/style.css.html | openssl enc -base64 # and paste the output after sha256- Content-Security-Policy = "default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-p5EfRIhWJi7Zh7WJil3mpIVCZvcu+zebWbMe6B0so8A='; form-action 'none'; base-uri 'self'; frame-ancestors 'none'" +Cross-Origin-Resource-Policy = "same-site" Cache-Control = ''' max-age=300, s-maxage=86400, diff --git a/vercel.json b/vercel.json index c23d334..4e5615b 100644 --- a/vercel.json +++ b/vercel.json @@ -24,6 +24,10 @@ "key": "X-XSS-Protection", "value": "1; mode=block" }, + { + "key": "Cross-Origin-Resource-Policy", + "value": "same-site" + }, { "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" From 0afa9e528e91ec1ed7e90627d99831bba2b077d4 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Thu, 4 Jul 2024 21:04:39 +0200 Subject: [PATCH 092/120] update demo URL --- theme.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/theme.toml b/theme.toml index 6959f90..11bf154 100644 --- a/theme.toml +++ b/theme.toml @@ -5,7 +5,7 @@ homepage = "https://codeberg.org/alanpearce/zola-bearblog" # The minimum version of Zola required min_version = "0.4.0" # An optional live demo URL -demo = "https://zola-bearblog.netlify.app/" +demo = "https://zola-bearblog.vercel.app/" # Any variable there can be overridden in the end user `config.toml` # You don't need to prefix variables by the theme name but as this will From 7400b2527aa7689cec3ed6a8d3382d20c067d88d Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Thu, 4 Jul 2024 21:12:18 +0200 Subject: [PATCH 093/120] fix typo in headers --- netlify.toml | 2 +- vercel.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/netlify.toml b/netlify.toml index 88a3cba..97c219d 100644 --- a/netlify.toml +++ b/netlify.toml @@ -27,5 +27,5 @@ Cross-Origin-Resource-Policy = "same-site" Cache-Control = ''' max-age=300, s-maxage=86400, - state-while-revalidate + stale-while-revalidate ''' diff --git a/vercel.json b/vercel.json index 4e5615b..4a66b83 100644 --- a/vercel.json +++ b/vercel.json @@ -42,7 +42,7 @@ }, { "key": "Cache-Control", - "value": "max-age=300, s-maxage=86400, state-while-revalidate" + "value": "max-age=300, s-maxage=86400, stale-while-revalidate" } ] } From 612e4d3bac02ad9293305c4298886c3906c2cddb Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Thu, 4 Jul 2024 21:13:10 +0200 Subject: [PATCH 094/120] add headers for cloudflare pages --- static/_headers | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 static/_headers diff --git a/static/_headers b/static/_headers new file mode 100644 index 0000000..e9c6024 --- /dev/null +++ b/static/_headers @@ -0,0 +1,13 @@ +# This _headers file is used to set headers on cloudflare pages: https://developers.cloudflare.com/pages/configuration/headers/ +# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy (disabled everything except autoplay, local-fonts, screen-wake-lock, speaker-selection) +# opt out of Federated Learning of Cohorts (aka "FLoC") - https://amifloced.org/ +/* + X-Frame-Options: DENY + X-Content-Type-Options: nosniff + X-XSS-Protection: 1; mode=block + Referrer-Policy: strict-origin-when-cross-origin + Strict-Transport-Security: max-age=63072000; includeSubdomains + Permissions-Policy: interest-cohort=(), accelerometer=(), ambient-light-sensor=(), battery=(), bluetooth=(), browsing-topics=(), camera=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), identity-credentials-get=(), idle-detection=(), magnetometer=(), microphone=(), midi=(), otp-credentials=(), payment=(), picture-in-picture=(), publickey-credentials-create=(), publickey-credentials-get=(), serial=(), storage-access=(), sync-xhr=(), usb=(), web-share=(), window-management=(), xr-spatial-tracking=() + Content-Security-Policy: default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-p5EfRIhWJi7Zh7WJil3mpIVCZvcu+zebWbMe6B0so8A='; form-action 'none'; base-uri 'self'; frame-ancestors 'none' + Cross-Origin-Resource-Policy: same-site + Cache-Control: max-age=300, s-maxage=86400, stale-while-revalidate From c13e8af6e06120e916cc58bf95fdada09d7cc9c8 Mon Sep 17 00:00:00 2001 From: osbre Date: Sat, 17 Aug 2024 20:53:15 +0000 Subject: [PATCH 095/120] Use translation key in `taxonomy_single.html` --- templates/taxonomy_single.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/taxonomy_single.html b/templates/taxonomy_single.html index 2e5533b..3d33731 100644 --- a/templates/taxonomy_single.html +++ b/templates/taxonomy_single.html @@ -3,7 +3,7 @@ {%- block main -%}
    {%- if term %} -

    Filtering for "{{ term.name }}"

    +

    {{ trans(key="filtering_for", lang=lang) }} "{{ term.name }}"

    {{ trans(key="remove_filter", lang=lang) }} From 4b7e01f914a26f3f45dba77b951dd34a62eb0a6b Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sun, 18 Aug 2024 10:29:08 +0200 Subject: [PATCH 096/120] Add German sample post to showcase tags pages --- content/blog/beispiel.de.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 content/blog/beispiel.de.md diff --git a/content/blog/beispiel.de.md b/content/blog/beispiel.de.md new file mode 100644 index 0000000..607ef09 --- /dev/null +++ b/content/blog/beispiel.de.md @@ -0,0 +1,33 @@ ++++ +title = "Wortbergen" +date = "2024-08-18" +description = "Beispielsbetrag" +taxonomies.tags = [ + "test" +] ++++ +Weit hinten, hinter den Wortbergen, fern der Länder Vokalien +und Konsonantien leben die Blindtexte. Abgeschieden wohnen sie in +Buchstabhausen an der Küste des Semantik, eines großen +Sprachozeans. Ein kleines Bächlein namens Duden fließt durch ihren Ort +und versorgt sie mit den nötigen Regelialien. + +Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in +den Mund fliegen. Nicht einmal von der allmächtigen Interpunktion +werden die Blindtexte beherrscht – ein geradezu unorthographisches +Leben. + +Eines Tages aber beschloß eine kleine Zeile Blindtext, ihr Name war +Lorem Ipsum, hinaus zu gehen in die weite Grammatik. Der große Oxmox +riet ihr davon ab, da es dort wimmele von bösen Kommata, wilden +Fragezeichen und hinterhältigen Semikoli, doch das Blindtextchen ließ +sich nicht beirren. + +Es packte seine sieben Versalien, schob sich sein Initial in den +Gürtel und machte sich auf den Weg. Als es die ersten Hügel des +Kursivgebirges erklommen hatte, warf es einen letzten Blick zurück auf +die Skyline seiner Heimatstadt Buchstabhausen, die Headline von +Alphabetdorf und die Subline seiner eigenen Straße, der +Zeilengasse. Wehmütig lief ihm eine rhetorische Frage über die Wange, +dann setzte es seinen Weg fort. Unterwegs traf es eine Copy. Die Copy +warnte das Blindtextchen, da, wo sie herkäme wäre sie From ffd01734032aa63e6190e9b5afb646af866ffc27 Mon Sep 17 00:00:00 2001 From: Karcsesz Date: Mon, 4 Aug 2025 12:12:59 +0200 Subject: [PATCH 097/120] Allow changing what taxonomy group gets listed at the bottom of a given section page by setting `extra.taxonomy_group` in its frontmatter --- templates/section.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/section.html b/templates/section.html index a3520b5..4ed1fed 100644 --- a/templates/section.html +++ b/templates/section.html @@ -25,7 +25,8 @@ {%- endfor -%}
    - {%- set tags = get_taxonomy(kind="tags", lang=lang) %} + {%- set taxonomy_group = section.extra.taxonomy_group | default(value="tags") %} + {%- set tags = get_taxonomy(kind=taxonomy_group, lang=lang) %} {%- for post in tags.items %} #{{ post.name }}  {%- endfor %} From 731031b3fe2e4964120a615fe93349d268b46758 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Mon, 4 Aug 2025 20:32:22 +0200 Subject: [PATCH 098/120] update zola to v0.21.0 --- flake.lock | 12 ++++++------ netlify.toml | 2 +- vercel.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index 24d4009..c4915a6 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720058333, - "narHash": "sha256-gM2RCi5XkxmcsZ44pUkKIYBiBMfZ6u7MdcZcykmccrs=", + "lastModified": 1754278406, + "narHash": "sha256-jvIQTMN5EzoOP5RaGztpVese8a3wqy0M/h6tNzycW28=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6842b061970bf96965d66fcc86a28e1f719aae95", + "rev": "6a489c9482ca676ce23c0bcd7f2e1795383325fa", "type": "github" }, "original": { diff --git a/netlify.toml b/netlify.toml index 97c219d..a4c5282 100644 --- a/netlify.toml +++ b/netlify.toml @@ -4,7 +4,7 @@ command = "zola build" [build.environment] # Set the version name that you want to use and Netlify will automatically use it. -ZOLA_VERSION = "0.18.0" +ZOLA_VERSION = "0.21.0" [[headers]] for = "/*" diff --git a/vercel.json b/vercel.json index 4a66b83..97c2b10 100644 --- a/vercel.json +++ b/vercel.json @@ -3,7 +3,7 @@ "framework": "zola", "build": { "env": { - "ZOLA_VERSION": "0.18.0" + "ZOLA_VERSION": "0.21.0" } }, "cleanUrls": true, From 32a21a70019f43034561cd14875dfe2b8316c0cc Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Tue, 26 Aug 2025 11:42:33 +0200 Subject: [PATCH 099/120] update feed config schema changed in https://github.com/getzola/zola/pull/2477 Fixes: https://codeberg.org/alanpearce/zola-bearblog/issues/35 --- config.toml | 2 ++ templates/base.html | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/config.toml b/config.toml index ce7f669..93d0bd9 100644 --- a/config.toml +++ b/config.toml @@ -2,6 +2,8 @@ title = "Zola ʕ•ᴥ•ʔ Bear Blog" base_url = "/" description = "A Zola-theme based on Bear Blog." +generate_feeds = true + # Whether to automatically compile all Sass files in the sass directory compile_sass = false diff --git a/templates/base.html b/templates/base.html index 6a20cb9..9b6d2dc 100644 --- a/templates/base.html +++ b/templates/base.html @@ -10,9 +10,11 @@ {%- block title %}{{ config.title }}{%- endblock %} {% include "seo_tags.html" ignore missing -%} - {%- if config.generate_feed %} + {%- if config.generate_feeds %} {% block rss -%} - + {%- for feed_filename in config.feed_filenames %} + + {%- endfor -%} {%- endblock -%} {%- endif %} + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    + +

    404

    +

    ʕノ•ᴥ•ʔノ ︵ ┻━┻

    + + + diff --git a/_headers b/_headers new file mode 100644 index 0000000..e9c6024 --- /dev/null +++ b/_headers @@ -0,0 +1,13 @@ +# This _headers file is used to set headers on cloudflare pages: https://developers.cloudflare.com/pages/configuration/headers/ +# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy (disabled everything except autoplay, local-fonts, screen-wake-lock, speaker-selection) +# opt out of Federated Learning of Cohorts (aka "FLoC") - https://amifloced.org/ +/* + X-Frame-Options: DENY + X-Content-Type-Options: nosniff + X-XSS-Protection: 1; mode=block + Referrer-Policy: strict-origin-when-cross-origin + Strict-Transport-Security: max-age=63072000; includeSubdomains + Permissions-Policy: interest-cohort=(), accelerometer=(), ambient-light-sensor=(), battery=(), bluetooth=(), browsing-topics=(), camera=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), identity-credentials-get=(), idle-detection=(), magnetometer=(), microphone=(), midi=(), otp-credentials=(), payment=(), picture-in-picture=(), publickey-credentials-create=(), publickey-credentials-get=(), serial=(), storage-access=(), sync-xhr=(), usb=(), web-share=(), window-management=(), xr-spatial-tracking=() + Content-Security-Policy: default-src 'none'; img-src 'self'; object-src 'none'; script-src 'none'; style-src 'sha256-p5EfRIhWJi7Zh7WJil3mpIVCZvcu+zebWbMe6B0so8A='; form-action 'none'; base-uri 'self'; frame-ancestors 'none' + Cross-Origin-Resource-Policy: same-site + Cache-Control: max-age=300, s-maxage=86400, stale-while-revalidate diff --git a/atom.xml b/atom.xml new file mode 100644 index 0000000..e351c57 --- /dev/null +++ b/atom.xml @@ -0,0 +1,31 @@ + + + Zola ʕ•ᴥ•ʔ Bear Blog + A Zola-theme based on Bear Blog. + + + Zola + 2020-01-03T00:00:00+00:00 + /atom.xml + + Markdown Syntax Guide + 2020-01-03T00:00:00+00:00 + 2020-01-03T00:00:00+00:00 + + + + + Unknown + + + + + + /blog/markdown-syntax/ + + <p>For a quick cheatsheet, check out <a href="https://simplemde.com/markdown-guide">https://simplemde.com/markdown-guide</a>.</p> +<hr /> +<p>This article offers a sample of basic Markdown syntax that can be used in Zola content files, also it shows whether basic HTML elements are decorated with CSS in a Zola theme.</p> + + + diff --git a/bear/index.html b/bear/index.html new file mode 100644 index 0000000..a0e6086 --- /dev/null +++ b/bear/index.html @@ -0,0 +1,219 @@ + + + + + + Bear | Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    +

    Bear

    +
    +

    Website: https://bearblog.dev

    +

    There is a website obesity crisis. Bloated websites are full of scripts, ads, and trackers slowing your readers down every time they try to read your well-crafted content.

    +

    Bear is all you need to build a fantastic and optimized site or blog. It works perfectly on any viewing device. All you need to focus on is writing good content.

    +

    Bear makes it simple to publish content online and grow an audience while keeping pages tiny, fast, and optimized for search engines.

    +

    Each page is ~5kb.

    +

    Learn more and contribute on GitHub.

    + +
    +

    +

    + + + diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 0000000..3ad65e9 --- /dev/null +++ b/blog/index.html @@ -0,0 +1,224 @@ + + + + + + Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    +
    + +
    + #markdown  + #syntax  +
    +
    + + + diff --git a/blog/markdown-syntax/index.html b/blog/markdown-syntax/index.html new file mode 100644 index 0000000..9043512 --- /dev/null +++ b/blog/markdown-syntax/index.html @@ -0,0 +1,354 @@ + + + + + + Markdown Syntax Guide | Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    +

    Markdown Syntax Guide

    +

    + + + +

    +
    + Table of contents + +
    +
    +

    For a quick cheatsheet, check out https://simplemde.com/markdown-guide.

    +
    +

    This article offers a sample of basic Markdown syntax that can be used in Zola content files, also it shows whether basic HTML elements are decorated with CSS in a Zola theme.

    +

    Headings

    +

    The following HTML <h1><h6> elements represent six levels of section headings. <h1> is the highest section level while <h6> is the lowest.

    +

    H1

    +

    H2

    +

    H3

    +

    H4

    +
    H5
    +
    H6
    +

    Paragraph

    +

    Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.

    +

    Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.

    +

    Blockquotes

    +

    The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a footer or cite element, and optionally with in-line changes such as annotations and abbreviations.

    +

    Blockquote without attribution

    +
    +

    Tiam, ad mint andaepu dandae nostion secatur sequo quae. +Note that you can use Markdown syntax within a blockquote.

    +
    +

    Blockquote with attribution

    +
    +

    Don't communicate by sharing memory, share memory by communicating.
    +— Rob Pike1

    +
    +
    1 +

    The above quote is excerpted from Rob Pike's talk during Gopherfest, November 18, 2015.

    +
    +

    Tables

    +

    Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box.

    + + + +
    NameAge
    Bob27
    Alice23
    +

    Inline Markdown within tables

    + + +
    ItalicsBoldCode
    italicsboldcode
    +

    Code Blocks

    +

    Code block with backticks

    +
    <!doctype html>
    +<html lang="en">
    +<head>
    +  <meta charset="utf-8">
    +  <title>Example HTML5 Document</title>
    +</head>
    +<body>
    +  <p>Test</p>
    +</body>
    +</html>
    +
    +

    Code block indented with four spaces

    +
    <!doctype html>
    +<html lang="en">
    +<head>
    +  <meta charset="utf-8">
    +  <title>Example HTML5 Document</title>
    +</head>
    +<body>
    +  <p>Test</p>
    +</body>
    +</html>
    +
    +

    List Types

    +

    Ordered List

    +
      +
    1. First item
    2. +
    3. Second item
    4. +
    5. Third item
    6. +
    +

    Unordered List

    +
      +
    • List item
    • +
    • Another item
    • +
    • And another item
    • +
    +

    Nested list

    +
      +
    • Fruit +
        +
      • Apple
      • +
      • Orange
      • +
      • Banana
      • +
      +
    • +
    • Dairy +
        +
      • Milk
      • +
      • Cheese
      • +
      +
    • +
    +

    Other Elements — abbr, sub, sup, kbd, mark

    +

    GIF is a bitmap image format.

    +

    H2O

    +

    Xn + Yn = Zn

    +

    Press CTRL+ALT+Delete to end the session.

    +

    Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures.

    + +
    +

    + Tags: + #markdown + #syntax +

    + + + diff --git a/de/bear/index.html b/de/bear/index.html new file mode 100644 index 0000000..dd0253d --- /dev/null +++ b/de/bear/index.html @@ -0,0 +1,217 @@ + + + + + + Bear | Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    +

    Bear

    +
    +

    Webseite: https://bearblog.dev

    +

    Es gibt eine Krise der Website-Fettleibigkeit. Aufgeblähte Websites voller Skripte, Werbung und Tracker bremsen deine Leser jedes Mal aus, wenn sie versuchen, deine gut gestalteten Inhalte zu lesen.

    +

    Zola Bear Blog ist alles, was du brauchst, um eine fantastische und optimierte Website oder einen Blog zu erstellen. Es funktioniert perfekt auf jedem Anzeigegerät. Alles, worauf du dich konzentrieren müssen, ist das Schreiben guter Inhalte.

    +

    Bear macht es einfach, Inhalte online zu veröffentlichen und ein Publikum aufzubauen, während die Seiten klein, schnell und für Suchmaschinen optimiert bleiben.

    +

    Jede Seite ist ~5kb.

    +

    Weitere Informationen und Beiträge unter GitHub.

    + +
    +

    +

    + + + diff --git a/de/blog/beispiel/index.html b/de/blog/beispiel/index.html new file mode 100644 index 0000000..9a826c7 --- /dev/null +++ b/de/blog/beispiel/index.html @@ -0,0 +1,240 @@ + + + + + + Wortbergen | Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    +

    Wortbergen

    +

    + + + +

    +
    +

    Weit hinten, hinter den Wortbergen, fern der Länder Vokalien +und Konsonantien leben die Blindtexte. Abgeschieden wohnen sie in +Buchstabhausen an der Küste des Semantik, eines großen +Sprachozeans. Ein kleines Bächlein namens Duden fließt durch ihren Ort +und versorgt sie mit den nötigen Regelialien.

    +

    Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in +den Mund fliegen. Nicht einmal von der allmächtigen Interpunktion +werden die Blindtexte beherrscht – ein geradezu unorthographisches +Leben.

    +

    Eines Tages aber beschloß eine kleine Zeile Blindtext, ihr Name war +Lorem Ipsum, hinaus zu gehen in die weite Grammatik. Der große Oxmox +riet ihr davon ab, da es dort wimmele von bösen Kommata, wilden +Fragezeichen und hinterhältigen Semikoli, doch das Blindtextchen ließ +sich nicht beirren.

    +

    Es packte seine sieben Versalien, schob sich sein Initial in den +Gürtel und machte sich auf den Weg. Als es die ersten Hügel des +Kursivgebirges erklommen hatte, warf es einen letzten Blick zurück auf +die Skyline seiner Heimatstadt Buchstabhausen, die Headline von +Alphabetdorf und die Subline seiner eigenen Straße, der +Zeilengasse. Wehmütig lief ihm eine rhetorische Frage über die Wange, +dann setzte es seinen Weg fort. Unterwegs traf es eine Copy. Die Copy +warnte das Blindtextchen, da, wo sie herkäme wäre sie

    + +
    +

    + Tags: + #test +

    + + + diff --git a/de/blog/index.html b/de/blog/index.html new file mode 100644 index 0000000..b06f33c --- /dev/null +++ b/de/blog/index.html @@ -0,0 +1,221 @@ + + + + + + Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    +
    + +
    + #test  +
    +
    + + + diff --git a/de/index.html b/de/index.html new file mode 100644 index 0000000..e33295e --- /dev/null +++ b/de/index.html @@ -0,0 +1,220 @@ + + + + + + Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    + +
    +

    Eine himmlische Verbindung

    +

    Es gibt eine Krise der Website-Fettleibigkeit. Aufgeblähte Websites voller Skripte, Werbung und Tracker bremsen deine Leser jedes Mal aus, wenn sie versuchen, deine gut gestalteten Inhalte zu lesen.

    +

    Zola Bear Blog ist alles, was du brauchst, um eine fantastische und optimierte Website oder einen Blog zu erstellen. Es funktioniert perfekt auf jedem Anzeigegerät. Alles, worauf du dich konzentrieren müssen, ist das Schreiben guter Inhalte.

    +

    Zum ursprünglichen Bear-Blog.

    +
    +

    Was passiert, wenn du den weltweit schnellsten und leichtesten Generator für statische Websites mit einem Design-Theme kombinieren, das dir kostenlose, unkomplizierte und superschnelle Blogging-Funktionen bietet?

    +

    Benutze dieses Theme und finde es heraus!

    +

    Erstellt mit 💚 von Alan Pearce.

    +
    +

    Veröffentliche einfach deine Inhalte online, bau ein Publikum auf und halte deine Seiten klein, schnell und für Suchmaschinen optimiert.

    +

    Jede Seite ist ~5kb groß, und du kannst dein Blog selbst hosten.

    + +
    + + + diff --git a/de/tags/index.html b/de/tags/index.html new file mode 100644 index 0000000..1e34bbe --- /dev/null +++ b/de/tags/index.html @@ -0,0 +1,212 @@ + + + + + + Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    + +
    +

    Tags

    +
    + #test  +
    +
    + + + diff --git a/de/tags/test/atom.xml b/de/tags/test/atom.xml new file mode 100644 index 0000000..406e3a8 --- /dev/null +++ b/de/tags/test/atom.xml @@ -0,0 +1,51 @@ + + + Zola ʕ•ᴥ•ʔ Bear Blog - test + Ein Zola-theme basiert auf Bear Blog. + + + Zola + 2024-08-18T00:00:00+00:00 + /de/tags/test/atom.xml + + Wortbergen + 2024-08-18T00:00:00+00:00 + 2024-08-18T00:00:00+00:00 + + + + + Unknown + + + + + + /de/blog/beispiel/ + + <p>Weit hinten, hinter den Wortbergen, fern der Länder Vokalien +und Konsonantien leben die Blindtexte. Abgeschieden wohnen sie in +Buchstabhausen an der Küste des Semantik, eines großen +Sprachozeans. Ein kleines Bächlein namens Duden fließt durch ihren Ort +und versorgt sie mit den nötigen Regelialien.</p> +<p>Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in +den Mund fliegen. Nicht einmal von der allmächtigen Interpunktion +werden die Blindtexte beherrscht – ein geradezu unorthographisches +Leben.</p> +<p>Eines Tages aber beschloß eine kleine Zeile Blindtext, ihr Name war +Lorem Ipsum, hinaus zu gehen in die weite Grammatik. Der große Oxmox +riet ihr davon ab, da es dort wimmele von bösen Kommata, wilden +Fragezeichen und hinterhältigen Semikoli, doch das Blindtextchen ließ +sich nicht beirren.</p> +<p>Es packte seine sieben Versalien, schob sich sein Initial in den +Gürtel und machte sich auf den Weg. Als es die ersten Hügel des +Kursivgebirges erklommen hatte, warf es einen letzten Blick zurück auf +die Skyline seiner Heimatstadt Buchstabhausen, die Headline von +Alphabetdorf und die Subline seiner eigenen Straße, der +Zeilengasse. Wehmütig lief ihm eine rhetorische Frage über die Wange, +dann setzte es seinen Weg fort. Unterwegs traf es eine Copy. Die Copy +warnte das Blindtextchen, da, wo sie herkäme wäre sie</p> + + + + diff --git a/de/tags/test/index.html b/de/tags/test/index.html new file mode 100644 index 0000000..2c0c43d --- /dev/null +++ b/de/tags/test/index.html @@ -0,0 +1,222 @@ + + + + + + Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    +
    +

    Filtern nach "test"

    + + Filter entfernen + + +
    + + diff --git a/de/zola/index.html b/de/zola/index.html new file mode 100644 index 0000000..7c64702 --- /dev/null +++ b/de/zola/index.html @@ -0,0 +1,233 @@ + + + + + + Zola | Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    +

    Zola

    +
    +

    Keine Abhängigkeiten

    +

    Zola wird als einzelne ausführbare Datei mit Sass-Kompilierung, Syntax +Syntaxhervorhebung, Inhaltsverzeichnis und vielen anderen Funktionen, die +die normalerweise das Einrichten einer Entwicklungsumgebung oder das Hinzufügen einiger +JavaScript-Bibliotheken zu deiner Website.

    +

    Rasend schnell

    +

    Die durchschnittliche Website wird in weniger als einer Sekunde erstellt, einschließlich +Sass-Kompilierung und Syntaxhervorhebung.

    +

    Skalierbar

    +

    Zola rendert deine gesamte Website als statische Dateien, was es trivial macht +jede Art von Datenverkehr zu bewältigen, ohne dass du dich um die +ohne sich um die Verwaltung eines Servers oder einer Datenbank kümmern zu müssen.

    +

    Einfach zu bedienen

    +

    Von der CLI bis zur Template-Engine ist alles so konzipiert, dass es +intuitiv. Verlasse dich jedoch nicht auf mein Wort, sondern schaue in die Dokumentation +und überzeug dich selbst.

    +

    Flexibel

    +

    Zola geht dir aus dem Weg, damit du dich auf deine Inhalte konzentrieren kannst, sei es ein +Blog, eine Wissensdatenbank, eine Landing Page oder eine Kombination aus beidem.

    +

    Erweitertes Markdown

    +

    Zola verfügt über Shortcodes und interne Links, die das Schreiben von +deine Inhalte zu schreiben.

    + +
    +

    +

    + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..d1cc578 --- /dev/null +++ b/index.html @@ -0,0 +1,222 @@ + + + + + + Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    + +
    +

    A match made in heaven

    +

    There is a website obesity crisis. Bloated websites full of scripts, ads, and trackers are slowing your readers down every time they try to read your well-crafted content.

    +

    Zola Bear Blog is all you need to build a fantastic and optimized site or blog. It works perfectly on any viewing device. All you need to focus on is writing good content.

    +

    Go to the original bear blog.

    +
    +

    What happens when you combine the worlds' fastest, most lightweight static site generator with a design theme built to provide you with free, no-nonsense, super-fast blogging capabilities?

    +

    Use this theme, and find out!

    +

    Made with 💚 by Alan Pearce.

    +
    +

    Simply publish content online, grow an audience, and keep your pages tiny, fast, and optimized for search engines.

    +

    Each page is ~5kb, and you can host your blog yourself.

    + +
    + + + diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..49b6b2e --- /dev/null +++ b/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Disallow: +Allow: / +Sitemap: /sitemap.xml diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..9bd6b7a --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,56 @@ + + + + / + + + /bear/ + + + /blog/ + + + /blog/markdown-syntax/ + 2020-01-03 + + + /categories/ + + + /de/ + + + /de/bear/ + + + /de/blog/ + + + /de/blog/beispiel/ + 2024-08-18 + + + /de/categories/ + + + /de/tags/ + + + /de/tags/test/ + + + /de/zola/ + + + /tags/ + + + /tags/markdown/ + + + /tags/syntax/ + + + /zola/ + + diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000..1093789 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,215 @@ + + + + + + Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    + +
    +

    Tags

    +
    + #markdown  + #syntax  +
    +
    + + + diff --git a/tags/markdown/atom.xml b/tags/markdown/atom.xml new file mode 100644 index 0000000..b87bb4c --- /dev/null +++ b/tags/markdown/atom.xml @@ -0,0 +1,31 @@ + + + Zola ʕ•ᴥ•ʔ Bear Blog - markdown + A Zola-theme based on Bear Blog. + + + Zola + 2020-01-03T00:00:00+00:00 + /tags/markdown/atom.xml + + Markdown Syntax Guide + 2020-01-03T00:00:00+00:00 + 2020-01-03T00:00:00+00:00 + + + + + Unknown + + + + + + /blog/markdown-syntax/ + + <p>For a quick cheatsheet, check out <a href="https://simplemde.com/markdown-guide">https://simplemde.com/markdown-guide</a>.</p> +<hr /> +<p>This article offers a sample of basic Markdown syntax that can be used in Zola content files, also it shows whether basic HTML elements are decorated with CSS in a Zola theme.</p> + + + diff --git a/tags/markdown/index.html b/tags/markdown/index.html new file mode 100644 index 0000000..b682c63 --- /dev/null +++ b/tags/markdown/index.html @@ -0,0 +1,224 @@ + + + + + + Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    +
    +

    Filtering for "markdown"

    + + Remove filter + + +
    + + diff --git a/tags/syntax/atom.xml b/tags/syntax/atom.xml new file mode 100644 index 0000000..308fe05 --- /dev/null +++ b/tags/syntax/atom.xml @@ -0,0 +1,31 @@ + + + Zola ʕ•ᴥ•ʔ Bear Blog - syntax + A Zola-theme based on Bear Blog. + + + Zola + 2020-01-03T00:00:00+00:00 + /tags/syntax/atom.xml + + Markdown Syntax Guide + 2020-01-03T00:00:00+00:00 + 2020-01-03T00:00:00+00:00 + + + + + Unknown + + + + + + /blog/markdown-syntax/ + + <p>For a quick cheatsheet, check out <a href="https://simplemde.com/markdown-guide">https://simplemde.com/markdown-guide</a>.</p> +<hr /> +<p>This article offers a sample of basic Markdown syntax that can be used in Zola content files, also it shows whether basic HTML elements are decorated with CSS in a Zola theme.</p> + + + diff --git a/tags/syntax/index.html b/tags/syntax/index.html new file mode 100644 index 0000000..e2d708a --- /dev/null +++ b/tags/syntax/index.html @@ -0,0 +1,224 @@ + + + + + + Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    +
    +

    Filtering for "syntax"

    + + Remove filter + + +
    + + diff --git a/zola/index.html b/zola/index.html new file mode 100644 index 0000000..c0e59f1 --- /dev/null +++ b/zola/index.html @@ -0,0 +1,235 @@ + + + + + + Zola | Zola ʕ•ᴥ•ʔ Bear Blog + + + + + + + + +
    + + +

    Zola ʕ•ᴥ•ʔ Bear Blog

    +
    + +
    +

    Zola

    +
    +

    No dependencies

    +

    Zola comes as a single executable with Sass compilation, syntax +highlighting, table of contents and many other features that +traditionally require setting up a dev environment or adding some +JavaScript libraries to your site.

    +

    Blazing fast

    +

    The average site will be generated in less than a second, including +Sass compilation and syntax highlighting.

    +

    Scalable

    +

    Zola renders your whole site as static files, making it trivial to +handle any kind of traffic you will throw at it at no cost without +having to worry about managing a server or a database.

    +

    Easy to use

    +

    From the CLI to the template engine, everything is designed to be +intuitive. Don't take my word for it though, look at the documentation +and see for yourself.

    +

    Flexible

    +

    Zola gets out of your way so you can focus on your content, be it a +blog, a knowledge base, a landing page or a combination of them.

    +

    Augmented Markdown

    +

    Zola comes with shortcodes and internal links to make it easier to +write your content.

    + +
    +

    +

    + + + From 5b3f4b50e77b0def4ba24a736d5494aef7876e17 Mon Sep 17 00:00:00 2001 From: alanpearce Date: Mon, 29 Sep 2025 13:52:43 +0200 Subject: [PATCH 109/120] Switch theme demo URL --- theme.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/theme.toml b/theme.toml index 11bf154..6959f90 100644 --- a/theme.toml +++ b/theme.toml @@ -5,7 +5,7 @@ homepage = "https://codeberg.org/alanpearce/zola-bearblog" # The minimum version of Zola required min_version = "0.4.0" # An optional live demo URL -demo = "https://zola-bearblog.vercel.app/" +demo = "https://zola-bearblog.netlify.app/" # Any variable there can be overridden in the end user `config.toml` # You don't need to prefix variables by the theme name but as this will From 01e6795ebebe429eacdb08b32eca270de7c96950 Mon Sep 17 00:00:00 2001 From: Codeberg CI Date: Mon, 29 Sep 2025 11:53:39 +0000 Subject: [PATCH 110/120] Codeberg build for 5b3f4b50e77b0def4ba24a736d5494aef7876e17 From 91edca06f9a2609a1a5db086ca28eb590cc34f8c Mon Sep 17 00:00:00 2001 From: Codeberg CI Date: Wed, 8 Oct 2025 20:53:19 +0000 Subject: [PATCH 111/120] Codeberg build for 5b3f4b50e77b0def4ba24a736d5494aef7876e17 From afd0e4ac192daf8c11f220f0c46c27b15d43110b Mon Sep 17 00:00:00 2001 From: jokerian Date: Wed, 8 Oct 2025 23:01:26 +0200 Subject: [PATCH 112/120] Add Domains --- .domains | 1 + 1 file changed, 1 insertion(+) create mode 100644 .domains diff --git a/.domains b/.domains new file mode 100644 index 0000000..5be11d0 --- /dev/null +++ b/.domains @@ -0,0 +1 @@ +jokerian.grebedoc.dev \ No newline at end of file From 1880fc8f8b68fc058c7649402c6e683e77e3605b Mon Sep 17 00:00:00 2001 From: Codeberg CI Date: Wed, 8 Oct 2025 21:02:19 +0000 Subject: [PATCH 113/120] Codeberg build for afd0e4ac192daf8c11f220f0c46c27b15d43110b From ff0226af72e51d59d766ef9fbbc9602b433c8f24 Mon Sep 17 00:00:00 2001 From: Codeberg CI Date: Wed, 8 Oct 2025 21:02:34 +0000 Subject: [PATCH 114/120] Codeberg build for afd0e4ac192daf8c11f220f0c46c27b15d43110b From bfa7200eb12e3a997ce4f7a34528dde38865dcce Mon Sep 17 00:00:00 2001 From: Codeberg CI Date: Thu, 9 Oct 2025 01:04:28 +0000 Subject: [PATCH 115/120] Codeberg build for afd0e4ac192daf8c11f220f0c46c27b15d43110b From b441269c1570738d05c544cacc93ccbf94649a34 Mon Sep 17 00:00:00 2001 From: jokerian Date: Fri, 10 Oct 2025 20:34:11 +0200 Subject: [PATCH 116/120] Delete .domains --- .domains | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .domains diff --git a/.domains b/.domains deleted file mode 100644 index 5be11d0..0000000 --- a/.domains +++ /dev/null @@ -1 +0,0 @@ -jokerian.grebedoc.dev \ No newline at end of file From 41c4ef0aa373170a99c8a0b30a8cca78b5a503d6 Mon Sep 17 00:00:00 2001 From: Codeberg CI Date: Fri, 10 Oct 2025 18:35:03 +0000 Subject: [PATCH 117/120] Codeberg build for b441269c1570738d05c544cacc93ccbf94649a34 From 96bfb1c1380d1c37552fd2c6404e245ae349ea0f Mon Sep 17 00:00:00 2001 From: Codeberg CI Date: Fri, 10 Oct 2025 18:37:14 +0000 Subject: [PATCH 118/120] Codeberg build for b441269c1570738d05c544cacc93ccbf94649a34 From c76686207c0d1575c9f74437ca90ff1b0749d6d7 Mon Sep 17 00:00:00 2001 From: Codeberg CI Date: Fri, 10 Oct 2025 18:38:13 +0000 Subject: [PATCH 119/120] Codeberg build for b441269c1570738d05c544cacc93ccbf94649a34 From 9e1ad789e0b4aa2325b4b6a4933bafad79fd79fc Mon Sep 17 00:00:00 2001 From: jokerian Date: Sat, 11 Oct 2025 03:40:58 +0200 Subject: [PATCH 120/120] Update .forgejo/workflows/zola.yaml --- .forgejo/workflows/zola.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/zola.yaml b/.forgejo/workflows/zola.yaml index d67dd6c..bb468eb 100644 --- a/.forgejo/workflows/zola.yaml +++ b/.forgejo/workflows/zola.yaml @@ -15,7 +15,7 @@ on: jobs: build: # You can find the list of available runners on https://codeberg.org/actions/meta, or run one yourself. - runs-on: codeberg-tiny-lazy + runs-on: docker container: image: "alpine:edge" steps: @@ -39,7 +39,7 @@ jobs: deploy: needs: [build] - runs-on: codeberg-tiny-lazy + runs-on: docker steps: - name: Clone the repository uses: https://code.forgejo.org/actions/checkout@v5