Update themes gallery (#2309)
Co-authored-by: GitHub Action <action@github.com>
|
@ -3,11 +3,11 @@
|
|||
title = "DeepThought"
|
||||
description = "A simple blog theme focused on writing powered by Bulma and Zola."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/RatanShreshtha/DeepThought.git"
|
||||
homepage = "https://github.com/RatanShreshtha/DeepThought"
|
||||
minimum_version = "0.14.1"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Ergo"
|
||||
description = "A simple blog Theme focused on writing, inspired by svbtle"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/insipx/Ergo.git"
|
||||
homepage = "https://github.com/insipx/Ergo"
|
||||
minimum_version = "0.4.1"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "HayFlow"
|
||||
description = "HayFlow is a minimal and completely modular Zola theme for anyone wishing to have their own landing page."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://gitlab.com/cyril-marpaud/hayflow.git"
|
||||
homepage = "https://gitlab.com/cyril-marpaud/hayflow"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Zulma"
|
||||
description = "A zola theme based off bulma.css"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/Worble/Zulma.git"
|
||||
homepage = "https://github.com/Worble/Zulma"
|
||||
minimum_version = "0.6.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "abridge"
|
||||
description = "A fast and lightweight Zola theme using semantic html, a class-light abridge.css, and No mandatory JS."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/Jieiku/abridge.git"
|
||||
homepage = "https://github.com/jieiku/abridge"
|
||||
minimum_version = "0.17.2"
|
||||
|
@ -24,11 +24,9 @@ homepage = "https://github.com/jieiku/"
|
|||
|
||||
# Abridge Zola Theme
|
||||
|
||||
Abridge is a fast and lightweight Zola theme using semantic html, only ~6kb css before the svg icons and syntax highlighting css, no mandatory JS[*](https://github.com/Jieiku/abridge#contributing-and-philosophy), and perfect [Lighthouse](https://pagespeed.web.dev/report?url=abridge.netlify.app), [YellowLabTools](https://yellowlab.tools/), and [Observatory](https://observatory.mozilla.org/analyze/abridge.netlify.app) scores.
|
||||
A fast, lightweight, and modern [Zola](https://getzola.org) theme utilizing [abridge.css](https://github.com/Jieiku/abridge.css) (a class-light semantic HTML CSS Framework). Perfect [Lighthouse](https://pagespeed.web.dev/report?url=abridge.netlify.app), [YellowLabTools](https://yellowlab.tools/), and [Observatory](https://observatory.mozilla.org/analyze/abridge.netlify.app) scores. Here is a [Zola Themes Benchmarks](https://github.com/Jieiku/zola-themes-benchmarks/blob/main/README.md) Page.
|
||||
|
||||
There is also [Abridge-minimal](https://github.com/jieiku/abridge.css) Theme which is used to showcase the [abridge.css framework](https://github.com/Jieiku/abridge.css/tree/master/dist)
|
||||
|
||||
Here is a [Zola Themes Benchmarks](https://github.com/Jieiku/zola-themes-benchmarks/blob/main/README.md) Page.
|
||||
![Lighthouse Score](https://raw.githubusercontent.com/Jieiku/abridge/master/content/overview-abridge/lighthouse.png)
|
||||
|
||||
Maintenance of this project is made possible by all the <a href="https://github.com/Jieiku/abridge/graphs/contributors">contributors</a> and <a href="https://github.com/sponsors/Jieiku">sponsors</a>. If you'd like to sponsor this project and have your avatar or company logo appear below <a href="https://github.com/sponsors/Jieiku">click here</a>. 💖
|
||||
|
||||
|
@ -36,16 +34,50 @@ Maintenance of this project is made possible by all the <a href="https://github.
|
|||
|
||||
---
|
||||
|
||||
**[View demo](https://abridge.netlify.app/)**
|
||||
**[View Abridge demo](https://abridge.netlify.app/overview-abridge/)**
|
||||
|
||||
**[View Abridge.css demo](https://abridgecss.netlify.app/overview-abridge/)** [[abridge.css framework](https://github.com/Jieiku/abridge.css/tree/master/dist)]
|
||||
|
||||
The Abridge.css demo is simply using Abridge theme as a submodule: [config.toml](https://github.com/Jieiku/abridge.css/blob/master/config.toml), [sass/abridge.scss](https://github.com/Jieiku/abridge.css/blob/master/sass/abridge.scss)
|
||||
</div>
|
||||
|
||||
## Requirements
|
||||
## Features
|
||||
|
||||
This theme requires version 0.17.3 or later of [Zola](https://www.getzola.org/documentation/getting-started/installation/)
|
||||
- [X] Perfect [Lighthouse](https://pagespeed.web.dev/report?url=abridge.netlify.app), [YellowLabTools](https://yellowlab.tools/), and [Observatory](https://observatory.mozilla.org/analyze/abridge.netlify.app) scores.
|
||||
- [X] [PWA support](https://abridge.netlify.app/overview-abridge/#pwa-progressive-web-app) (Progressive Web Application).
|
||||
- [X] All JavaScript can be [fully disabled](https://abridge.netlify.app/overview-abridge/#javascript-files).
|
||||
- [X] Dark, Light, Auto, and Switcher themes. (colors can be customized, css variables)
|
||||
- [X] Code [syntax highlighting](https://abridge.netlify.app/overview-code-blocks/). (colors can be customized, css variables)
|
||||
- [X] Numbered code blocks with [line highlighting](https://abridge.netlify.app/overview-code-blocks/#toml).
|
||||
- [X] Entirely Offline Site by using the PWA **or** by setting `offline = true` in `config.toml` (full search support).
|
||||
- [X] Multi-language support.
|
||||
- [X] Search support. (elasticlunr, tinysearch, stork)
|
||||
- [X] Search Suggestions navigation keys, `/` focus, `arrow` move, `enter` select, `escape` close.
|
||||
- [X] Search Results Page, type search query then hit `Enter Key` or `click` the search button icon.
|
||||
- [X] [SEO](https://abridge.netlify.app/overview-abridge/#seo-and-header-tags) support. (Search Engine Optimization)
|
||||
- [X] [Pagination](https://abridge.netlify.app/overview-abridge/#pagination) with numbered paginator on index.
|
||||
- [X] Title Based Previous and Next Article links at bottom of Article.
|
||||
- [X] Table of Contents in page Index (Optional, clickable links)
|
||||
- [X] Recent Posts Block. (Optional)
|
||||
- [X] Back to Top button. (uses css only)
|
||||
- [X] Code Blocks copy button.
|
||||
- [X] Email link in footer obfuscation. (anti-spam)
|
||||
- [X] [KaTeX](https://katex.org/) support.
|
||||
- [X] [Archive page](https://abridge.netlify.app/archive/).
|
||||
- [x] [Tags](https://abridge.netlify.app/tags/).
|
||||
- [x] Categories. (similar to Tags, disabled/commented out by default)
|
||||
- [x] Social icon links in footer.
|
||||
- [X] Responsive design. (mobile first)
|
||||
- [X] Video Shortcodes: [Youtube](https://abridge.netlify.app/overview-embed-youtube/), [Vimeo](https://abridge.netlify.app/overview-embed-vimeo/), [Streamable](https://abridge.netlify.app/overview-embed-streamable/).
|
||||
- [X] Media Shortcodes: [video](https://abridge.netlify.app/overview-rich-content/#video), [img](https://abridge.netlify.app/overview-images/#img-shortcode), [imgswap](https://abridge.netlify.app/overview-images/#imgswap-shortcode), [image](https://abridge.netlify.app/overview-rich-content/#image), [gif](https://abridge.netlify.app/overview-rich-content/#gif), [audio](https://abridge.netlify.app/overview-rich-content/#audio).
|
||||
- [X] Other Shortcodes: [showdata](https://abridge.netlify.app/overview-showdata/), [katex](https://abridge.netlify.app/overview-math/#usage-1).
|
||||
|
||||
**[Complete Documentation is availabe here](https://abridge.netlify.app/overview-abridge/)**
|
||||
|
||||
## Quick Start
|
||||
|
||||
This theme requires version 0.17.2 or later of [Zola](https://www.getzola.org/documentation/getting-started/installation/)
|
||||
|
||||
```bash
|
||||
git clone https://github.com/jieiku/abridge.git
|
||||
cd abridge
|
||||
|
@ -54,55 +86,60 @@ zola serve
|
|||
```
|
||||
|
||||
## Installation
|
||||
The Quick Start shows how to run the theme directly.
|
||||
Next we will use abridge as a theme to a NEW site.
|
||||
|
||||
### Step 1: Create a new zola site
|
||||
The Quick Start shows how to run the theme directly. Next we will use abridge as a theme to a NEW site.
|
||||
|
||||
### 1: Create a new zola site
|
||||
|
||||
```bash
|
||||
zola init mysite
|
||||
cd mysite
|
||||
```
|
||||
|
||||
### Step 2: Install abridge
|
||||
### 2: Install Abridge
|
||||
|
||||
Download this theme to your themes directory:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/jieiku/abridge.git themes/abridge
|
||||
```
|
||||
|
||||
Or install as a submodule:
|
||||
Add the theme as a git submodule:
|
||||
|
||||
```bash
|
||||
git init # if your project is a git repository already, ignore this command
|
||||
git submodule add https://github.com/jieiku/abridge.git themes/abridge
|
||||
```
|
||||
|
||||
### Step 3: Configuration
|
||||
Or clone the theme into your themes directory:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/jieiku/abridge.git themes/abridge
|
||||
```
|
||||
|
||||
### 3: Configuration
|
||||
|
||||
Copy some files from the theme directory to your project's root directory:
|
||||
|
||||
```bash
|
||||
touch templates/.gitkeep
|
||||
rsync themes/abridge/config.toml config.toml
|
||||
rsync themes/abridge/content/_index.md content/
|
||||
rsync themes/abridge/COPY-TO-ROOT-SASS/* sass/
|
||||
rsync themes/abridge/netlify.toml netlify.toml
|
||||
rsync themes/abridge/package_abridge.js package_abridge.js
|
||||
rsync themes/abridge/package.json package.json
|
||||
rsync -r themes/abridge/content/static content/
|
||||
```
|
||||
|
||||
- `config.toml` base configuration with all config values
|
||||
- `templates/.gitkeep` the templates directory is required in your base site. [#2150](https://github.com/getzola/zola/issues/2150)
|
||||
- `config.toml` base configuration with all config values.
|
||||
- `content/_index.md` required to set pagination.
|
||||
- `COPY-TO-ROOT-SASS/abridge.scss` overrides to customize Abridge variables.
|
||||
- `netlify.toml` settings to deploy your repo with netlfiy
|
||||
- `netlify.toml` settings to deploy your repo with netlfiy.
|
||||
- `package_abridge.js` node script to: update cache files list in PWA, minify js, bundle js
|
||||
- `package.json` to switch between nosearch, elasticlunr, tinysearch, stork.
|
||||
- `content/static` files for generating tinysearch and stork indexes.
|
||||
|
||||
Uncomment the theme line in your project's root config.toml:
|
||||
|
||||
```bash
|
||||
sed -i 's/^#theme = "abridge"/theme = "abridge"/' config.toml
|
||||
```
|
||||
|
||||
### Step 4: Add new content
|
||||
### 4: Add new content
|
||||
|
||||
Copy the content from the theme directory to your project or make a new post:
|
||||
|
||||
|
@ -110,7 +147,7 @@ Copy the content from the theme directory to your project or make a new post:
|
|||
rsync -r themes/abridge/content .
|
||||
```
|
||||
|
||||
### Step 5: Run the project
|
||||
### 5: Run the project
|
||||
|
||||
Just run `zola serve` in the root path of the project:
|
||||
|
||||
|
@ -120,326 +157,26 @@ zola serve
|
|||
|
||||
Zola will start the dev web server, accessible by default at `http://127.0.0.1:1111`.
|
||||
|
||||
Saved changes will live reload in the browser.
|
||||
Saved changes will live reload in the browser. (press `ctrl+f5`, or while developing set `pwa=false` in `config.toml`)
|
||||
|
||||
## Customization
|
||||
|
||||
A lot of effort has been made to ensure Abridge features can be easily customized.
|
||||
For further customization be sure to [check the docs](https://abridge.netlify.app/overview-abridge/).
|
||||
|
||||
### Default Theme for nojs/noscript visitors.
|
||||
## Sponsor
|
||||
|
||||
If you have abridge configured to use the switcher mode instead of auto/dark/light, then your site will have a button that allows the visitor to toggle the theme.
|
||||
|
||||
If your visitor uses noscript or some other javascript blocking browser addon, then they will be stuck with whatever the configured default theme is for the switcher mode.
|
||||
|
||||
To adjust this mode you would set the following two config values in abridge.scss **AND** config.toml:
|
||||
|
||||
```scss
|
||||
$switcherDefault: "dark",// default nojs switcher mode: dark, light (make sure to also set js_switcher_default in config.toml)
|
||||
```
|
||||
|
||||
```toml
|
||||
js_switcher_default = "dark" # default nojs switcher mode: dark, light (make sure to also set $switcherDefault in abridge.scss)
|
||||
```
|
||||
|
||||
By default abridge uses dark mode for the switcher, so unless you want to set the default mode to light for nojs visitors, then you do not need to worry about these settings.
|
||||
|
||||
### Number of Items per page for pagination
|
||||
|
||||
To change the number of items per page edit: `content/_index.md` and change the value for `paginate_by`
|
||||
|
||||
## Sass Overrides
|
||||
|
||||
Abridge SASS variables can be overrided by editing `sass\abridge.scss` file in your project's root sass folder.
|
||||
|
||||
### Page Width:
|
||||
|
||||
```scss
|
||||
$mw:75%,// max-width
|
||||
```
|
||||
|
||||
### Abridge Theme Modes
|
||||
|
||||
```scss
|
||||
$abridgeMode: "switcher",//valid values: switcher, auto, dark, light
|
||||
```
|
||||
|
||||
- Switcher automatically displays a dark or light version depending on browser/OS settings, and has a javascript user clickable theme switcher.
|
||||
- Auto automatically displays a dark or light version depending on browser/OS settings.
|
||||
- Dark is the dark theme always.
|
||||
- Light is the light theme always.
|
||||
|
||||
### Colors and Styles
|
||||
|
||||
You can specify which color template you want to use as a base:
|
||||
```scss
|
||||
$color: "orange",// color template to use/override: orange, blue, blueshade
|
||||
```
|
||||
|
||||
Then override individual colors as needed:
|
||||
```scss
|
||||
/// Dark Colors
|
||||
$f1d: #ccc,// Font Color Primary
|
||||
$f2d: #ddd,// Font Color Headers
|
||||
$c1d: #111,// Background Color Primary
|
||||
$c2d: #222,// Background Color Secondary
|
||||
...
|
||||
```
|
||||
|
||||
### Footer Social Icons
|
||||
|
||||
You should configure which social icons you plan to use. (makes the css file size smaller)
|
||||
|
||||
To simply turn them all off you can set `$enable-icons: false`
|
||||
|
||||
Otherwise enable only the icons you need, eg for mail you would set `$icon-mail: true`
|
||||
|
||||
You should then disable all the icons that you do not use.
|
||||
|
||||
## Config.toml Configuration
|
||||
|
||||
Most Options in config.toml are self documenting. (obvious between name of config value and comments)
|
||||
|
||||
Abridge will work with a barebones config.toml because default values are provided in the template files.
|
||||
|
||||
I recommend copying the entire config.toml file as outlined in Step 3 as it provides all configurable values.
|
||||
|
||||
### Top and Footer menus
|
||||
|
||||
Set a field in `extra` with a key of `menu` and `menu_footer`.
|
||||
If you want the link to open in a new tab/browser then set `blank = true`.
|
||||
If a link should have a trailing slash at the end of the url set `slash = true`.
|
||||
(generally all links should have a trailing slash unless its a file link such as sitemap.xml)
|
||||
|
||||
```toml
|
||||
menu = [
|
||||
{url = "about", name = "About", slash = true, blank = false},
|
||||
{url = "posts", name = "Posts", slash = true, blank = false},
|
||||
{url = "categories", name = "Categories", slash = true, blank = false},
|
||||
{url = "tags", name = "Tags", slash = true, blank = false},
|
||||
]
|
||||
menu_footer = [
|
||||
{url = "about", name = "About", slash = true, blank = false},
|
||||
{url = "contact", name = "Contact", slash = true, blank = false},
|
||||
{url = "privacy", name = "Privacy", slash = true, blank = false},
|
||||
{url = "sitemap.xml", name = "Sitemap", slash = false, blank = true},
|
||||
]
|
||||
```
|
||||
|
||||
### SEO and Header Tags
|
||||
|
||||
You can review the SEO tags in the head macro located at `templates/macros/head.html`, all configurable values should be in config.toml under config.extra or in the content markdown files.
|
||||
|
||||
In your post markdown file you should set a title less than 60 characters and a description between 80 and 160 characters in length. The description is what is displayed in search results below the page title. Anywhere that you do not set a page description, the primary site config.description will be used instead.
|
||||
|
||||
You should also set page specific keywords unless your keywords defined in config.toml suffice, any keywords that you add to the page are in addition to the ones defined in config.toml, so do not add those same keywords to your page keywords.
|
||||
|
||||
You can optionally also set a page specific image for search results by using page.extra.thumbnail. OpenGraph recommends 1200 x 630 (1.9:1). Twitter recommends 2:1 for large and 1:1 for small. If you do not set a page specific thumbnail then the banner defined in config.toml will be used instead.
|
||||
|
||||
Refer to [overview-images](https://raw.githubusercontent.com/Jieiku/abridge/master/content/overview-images/index.md) for an example:
|
||||
```md
|
||||
+++
|
||||
title = "Image Shortcodes"
|
||||
description = "Images can be embedded directly using markdown `![Ferris](ferris.svg)`, but using a shortcode prevents CLS by explicitly setting the width and height."
|
||||
date = 2021-05-19
|
||||
|
||||
[taxonomies]
|
||||
categories = ["Features"]
|
||||
tags = ["shortcodes","images"]
|
||||
[extra]
|
||||
toc = true
|
||||
keywords = "Image, Markdown, Shortcodes, Hover"
|
||||
thumbnail = "ferris-gesture.png"
|
||||
+++
|
||||
```
|
||||
|
||||
### KaTeX Math Notation
|
||||
|
||||
KaTeX can be used to display complex mathematics, it is a "Fast math typesetting for the web."
|
||||
|
||||
You can see a demo on [this page](https://abridge.netlify.app/overview-math/).
|
||||
|
||||
For better performance I recommend only enabling math on a [per page bases in your post.md files](https://github.com/Jieiku/abridge/blob/master/content/overview-math.md?plain=1#L11-L13), instead of in your main config.toml file.
|
||||
|
||||
### PWA (Progressive Web Application)
|
||||
|
||||
Abridge theme has PWA support. You can install the entire site as an app and have it work offline. To try it out simply use google chrome or your phone and go here: https://abridge.netlify.app/
|
||||
|
||||
If using chrome on desktop then look at the end of the address bar for the install button. On android you should get a popup to install, you can also install from the 3 dot menu in the top right corner. Once you have the PWA installed, you can go completely offline and you will still be able to browse or search the site!
|
||||
|
||||
To use it in your own instance you will need to edit `static/sw.js` for the list of files to cache. Technically you do not need to edit `sw.js`, but if even a single file in the cache list is missing then it wont pre cache the list, so it will only cache as you browse.
|
||||
|
||||
There is an npm script to generate the file cache list and minification `npm run pwa`. My `netlify.toml` file automatically runs this npm script during site deployment, so everything is automatic. If Zola was able to template a js file then it might be possible to generate the list of cache files dynamically at build.
|
||||
|
||||
The PWA feature is also easy to disable by simply setting `pwa = false` in `config.toml`
|
||||
|
||||
## Javascript files
|
||||
|
||||
These are the javascript files currently used by Abridge:
|
||||
|
||||
- search_index.en.js: search index generated by zola at each build for elasticlunr.
|
||||
- elasticlunr.min.js: search library for client side searching.
|
||||
- search.js: to make use of elasticlunr from our sites search box for both suggestions and the results page.
|
||||
- email.js: uses javascript to obfuscate your real email address for the mail icon at the bottom of the page.
|
||||
- codecopy.js: add a Copy Button to code blocks, to copy contents of the code block to clipboard.
|
||||
- theme.js: tiny script to facilitate local storage for the theme switcher. (never bundle, always separate)
|
||||
- theme_button.js: tiny script for the theme switcher function when you click the theme switch button.
|
||||
- prestyle.js: Used to preload css files `<link rel="preload"` - this script changes these to `<link rel="stylesheet"` once the page has finished loading, this allows us to load stylesheets for external fonts, fontawesome, or katex in a non blocking fashion.
|
||||
- sw.js: this is the Service Worker file for the PWA.
|
||||
- sw_load.js: this file handles loading the Service Worker for the PWA.
|
||||
|
||||
### js_bundle option
|
||||
|
||||
`js_bundle` when set to true serves a bundle file instead of all of the individual js files.
|
||||
|
||||
All Bundles are defined in [package.json](https://github.com/Jieiku/abridge/blob/master/package.json)
|
||||
|
||||
A Bundle can be generated from the package.json scripts using npm:
|
||||
|
||||
- `npm run abridge-bundle-nosearch` - generates a bundle without search.
|
||||
- `npm run abridge-bundle-elasticlunr` - generates a bundle of all js with elasticlunr.
|
||||
- `npm run abridge-bundle-tinysearch` - generates a bundle of all js with tinysearch.
|
||||
- `npm run abridge-bundle-stork` - generates a bundle of all js with stork.
|
||||
|
||||
## Switch Search Library
|
||||
|
||||
In addition to elasticlunr abridge also supports tinysearch and stork.
|
||||
|
||||
tinysearch demo: https://jieiku.github.io/abridge-tinysearch/
|
||||
|
||||
stork demo: https://jieiku.github.io/abridge-stork/
|
||||
|
||||
To use tinysearch/stork extra steps are required.
|
||||
|
||||
**Switch to tinysearch:**
|
||||
|
||||
First you have to install tinysearch so that you can build the index:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/tinysearch/tinysearch
|
||||
cd tinysearch
|
||||
cargo build --release
|
||||
sudo cp ./target/release/tinysearch /usr/local/bin/tinysearch
|
||||
exit # reload shell environment
|
||||
```
|
||||
|
||||
Switch abridge to tinysearch:
|
||||
```shell
|
||||
npm run tinysearch
|
||||
zola build
|
||||
tinysearch --optimize --path static public/data_tinysearch/index.html
|
||||
# zola serve
|
||||
```
|
||||
|
||||
**Switch to stork:**
|
||||
|
||||
First you have to install stork so that you can build the index:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/jameslittle230/stork
|
||||
cd stork
|
||||
cargo build --release
|
||||
sudo cp ./target/release/stork /usr/local/bin/stork
|
||||
exit # reload shell environment
|
||||
```
|
||||
|
||||
Switch abridge to stork:
|
||||
|
||||
```shell
|
||||
npm run stork
|
||||
zola build
|
||||
stork build --input public/data_stork/index.html --output static/stork.st
|
||||
# zola serve
|
||||
```
|
||||
|
||||
**Switch to elasticlunr:**
|
||||
|
||||
```shell
|
||||
npm run elasticlunr
|
||||
```
|
||||
|
||||
**Switch to nosearch:**
|
||||
|
||||
```shell
|
||||
npm run nosearch
|
||||
```
|
||||
|
||||
## Optional Performance Optimizations:
|
||||
|
||||
### Theme-Switcher
|
||||
|
||||
The theme switcher relies on javascript to work, it applies the .light class to the root documentElement. The file that handles this (theme.js) is tiny and optimized and it is the first file loaded in the head, so the performance hit is minimal. Without the Theme switcher you can still use The automatic Theme which uses the Browser/OS preference settings. You can even install a [Firefox plugin](https://addons.mozilla.org/en-US/firefox/addon/theme-switcher-for-firefox/) to quickly switch between the two.
|
||||
|
||||
### Optimize PNG/ICO files:
|
||||
|
||||
All png files can be optimized using [oxipng](https://github.com/shssoichiro/oxipng):
|
||||
|
||||
```bash
|
||||
cd static
|
||||
oxipng -o max --strip all -a -Z *.png
|
||||
```
|
||||
|
||||
leanify can compress farther for both png and ico files:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/JayXon/Leanify
|
||||
cd Leanify
|
||||
make
|
||||
sudo cp leanify /usr/local/bin/leanify
|
||||
exit #launch new terminal
|
||||
leanify -i 7777 *.png
|
||||
leanify -i 7777 *.ico
|
||||
```
|
||||
|
||||
With larger displays and greater pixel density becoming common it is probably a good idea to use atleast a littly bit of lossy compression. For example you can use pngquant with a 93% quality and you will often get images around 1/2 the size. Understand that pngquant is cumulative, so you should keep your original images somewhere, and only ever use pngquant once per image, if you use it again and again on the same image then you will lower the image quality each time. Always use oxipng afterwards, oxipng is lossless.
|
||||
|
||||
```bash
|
||||
pngquant --skip-if-larger --strip --quality=93-93 --speed 1 *.png
|
||||
oxipng -o max --strip all -a -Z *.png
|
||||
```
|
||||
|
||||
### Pre gzip/brotli content to serve with nginx:
|
||||
|
||||
If you are serving your site with nginx, you can pre gzip your content.
|
||||
|
||||
First configure nginx:
|
||||
|
||||
```bash
|
||||
sudo nano /etc/nginx/nginx.conf
|
||||
|
||||
gzip on;
|
||||
gzip_vary on;
|
||||
gzip_proxied expired no-cache no-store private auth;
|
||||
#gzip_proxied any;
|
||||
gzip_comp_level 9;
|
||||
gzip_buffers 64 16k;
|
||||
#gzip_buffers 16 8k;
|
||||
gzip_http_version 1.1;
|
||||
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml application/xhtml+xml application/x-javascript application/x-font-ttf application/vnd.ms-fontobject font/opentype font/ttf font/eot font/otf;
|
||||
#gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
|
||||
```
|
||||
|
||||
Then you can gzip/brotli your files:
|
||||
```bash
|
||||
zola build
|
||||
find ~/.dev/abridge/public -type f -regextype posix-extended -regex '.*\.(htm|html|css|js|xml|xsl|txt|woff|woff2|svg|otf|eot|ttf)' -exec gzip --best -k -f {} \+ -exec brotli --best -f {} \;
|
||||
rsync -zvrh ~/.dev/abridge/public/ web:/var/www/abridge
|
||||
```
|
||||
|
||||
Nginx does not come by default with brotli support, but adding it was not difficult.
|
||||
|
||||
(Netlify brotli gzips your files automatically, no exta work required.)
|
||||
Do you love this theme? Was it useful to you? Please leave a github star, and if you feel inclined to donate you can make a donation to me through [github sponsors](https://github.com/sponsors/Jieiku/).
|
||||
|
||||
## Contributing and Philosophy
|
||||
|
||||
We'd love your help! Especially with fixes to issues, or improvements to existing features.
|
||||
|
||||
The goal is for abridge to be lightweight, fast, and to work properly even if javascript is disabled or blocked.
|
||||
The goal is for Abridge to be lightweight, fast, and to work properly even if javascript is disabled or blocked.
|
||||
|
||||
The only feature that may be considered a necessity that relies on javascript is the Search.
|
||||
|
||||
## License
|
||||
|
||||
**abridge** is distributed under the terms of the [MIT license](https://github.com/jieiku/abridge/blob/master/LICENSE).
|
||||
**Abridge** is distributed under the terms of the [MIT license](https://github.com/jieiku/abridge/blob/master/LICENSE).
|
||||
|
||||
|
|
@ -3,11 +3,11 @@
|
|||
title = "adidoks"
|
||||
description = "AdiDoks is a Zola theme helping you build modern documentation."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/aaranxu/adidoks.git"
|
||||
homepage = "https://github.com/aaranxu/adidoks"
|
||||
minimum_version = "0.15.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "after-dark"
|
||||
description = "A robust, elegant dark theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/getzola/after-dark.git"
|
||||
homepage = "https://github.com/getzola/after-dark"
|
||||
minimum_version = "0.17.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Albatros"
|
||||
description = "A feature rich theme originally made for Duniter website."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://git.42l.fr/HugoTrentesaux/Albatros.git"
|
||||
homepage = "https://git.42l.fr/HugoTrentesaux/Albatros"
|
||||
minimum_version = "0.16.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "anatole-zola"
|
||||
description = "A port of farbox-theme-Anatole for zola"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/longfangsong/anatole-zola.git"
|
||||
homepage = "https://github.com/longfangsong/anatole-zola"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Andromeda"
|
||||
description = "Photography journal blog theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/Pixadus/andromeda-theme.git"
|
||||
homepage = "https://github.com/Pixadus/andromeda-theme"
|
||||
minimum_version = "0.16.0"
|
||||
|
@ -43,6 +43,7 @@ Assuming you already have a site set up (see the [Zola guide for setting up a si
|
|||
git clone https://github.com/Pixadus/andromeda-theme themes/andromeda
|
||||
```
|
||||
3. Duplicate the structure of the the `config.toml` file found in `themes/andromeda/config.toml` or [this repository](https://github.com/Pixadus/andromeda-theme/blob/main/config.toml) within your own `config.toml`.
|
||||
4. Set the theme to Andromeda, by including `theme = andromeda` in your `config.toml` file.
|
||||
|
||||
## Creating pages
|
||||
|
||||
|
|
Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 4.9 MiB |
|
@ -1,13 +1,13 @@
|
|||
|
||||
+++
|
||||
title = "anemone"
|
||||
description = "Nearly no-Javascript, efficient, minimal theme."
|
||||
description = "A minimalist Zola theme that prioritizes clean CSS and avoids heavy JavaScript. Enjoy a seamless user experience with lightning-fast load times. Let your content take center stage in a clutter-free, elegant design that enhances readability. Responsive and efficient, anemone brings focus to your ideas."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/Speyll/anemone"
|
||||
homepage = "https://github.com/Speyll/anemone"
|
||||
minimum_version = "0.4.0"
|
||||
|
@ -15,96 +15,141 @@ license = "MIT"
|
|||
demo = "https://anemone.pages.dev"
|
||||
|
||||
[extra.author]
|
||||
name = "Lyes 'Speyll'"
|
||||
name = "Speyll"
|
||||
homepage = "https://speyllsite.pages.dev/"
|
||||
+++
|
||||
|
||||
# anemone
|
||||
|
||||
Nearly no-Javascript, efficient, minimal [Zola](https://www.getzola.org) theme.
|
||||
I use it on my own [website](https://speyllsite.pages.dev/)
|
||||
Introducing "anemone," a minimalist [Zola](https://www.getzola.org) theme that prioritizes clean CSS and avoids heavy JavaScript. Enjoy a seamless user experience with lightning-fast load times. Let your content take center stage in a clutter-free, elegant design that enhances readability. Responsive and efficient, anemone brings focus to your ideas.
|
||||
|
||||
## Light and dark theme
|
||||
![screenshotLight](screenshot.png)
|
||||
You can browse the demo website [here](https://anemone.pages.dev/)
|
||||
I also use it on my own [website.](https://speyllsite.pages.dev/)
|
||||
|
||||
## Installation
|
||||
First download this theme to your `themes` directory:
|
||||
Anemone is a versatile Zola theme that comes with both light and dark variants. You can easily switch between the light and dark themes to suit your preferences.
|
||||
|
||||
![Anemone Light and Dark Theme](screenshot.png)
|
||||
|
||||
### Installation
|
||||
|
||||
To get started with Anemone, follow these simple steps:
|
||||
|
||||
1. Download the theme to your `themes` directory:
|
||||
|
||||
```bash
|
||||
cd themes
|
||||
git clone https://github.com/Speyll/anemone
|
||||
```
|
||||
|
||||
and then enable it in your `config.toml`:
|
||||
2. Enable Anemone in your `config.toml`:
|
||||
|
||||
```toml
|
||||
theme = "anemone"
|
||||
```
|
||||
|
||||
## Options
|
||||
### Options
|
||||
|
||||
### Default taxonomies
|
||||
To use tags, in a page metadata add
|
||||
Anemone provides various options to customize your website:
|
||||
|
||||
#### Default Taxonomies
|
||||
|
||||
To use tags, add the following code to a page's metadata:
|
||||
|
||||
```toml
|
||||
[taxonomies]
|
||||
tags = [ 'tag1', 'tag2' ]
|
||||
tags = ["tag1", "tag2"]
|
||||
```
|
||||
|
||||
### Pages list in homepage
|
||||
To enable listing of pages in homepage add the following in `config.toml`
|
||||
#### Pages List in Homepage
|
||||
|
||||
Enable listing of pages in the homepage by adding the following code to `config.toml`:
|
||||
|
||||
```toml
|
||||
[extra]
|
||||
list_pages = true
|
||||
```
|
||||
|
||||
### Header and footer nav links
|
||||
Also in the `extra` section in `config.toml`
|
||||
#### Multilanguage
|
||||
|
||||
The theme has a built-in feature that allows you to use multiple languages. For detailed instructions on how to use this feature, you can refer to the [Zola Multilingual documentation](https://www.getzola.org/documentation/content/multilingual/). This documentation provides additional information on how to make the most out of this multilingual capability.
|
||||
|
||||
```toml
|
||||
[languages.en]
|
||||
weight = 1
|
||||
title = "anemone"
|
||||
languageName = "English"
|
||||
languageCode = "en"
|
||||
relativeURL = false
|
||||
|
||||
[languages.fr]
|
||||
weight = 2
|
||||
title = "anemone"
|
||||
languageName = "Français"
|
||||
languageCode = "fr"
|
||||
relativeURL = false
|
||||
|
||||
taxonomies = [
|
||||
{name = "tags", feed = true},
|
||||
]
|
||||
```
|
||||
#### Multilanguage-Ready Navigation Bar
|
||||
|
||||
Customize the header navigation links with the following code in the `extra` section of `config.toml`:
|
||||
|
||||
```toml
|
||||
[extra]
|
||||
|
||||
header_nav = [
|
||||
{ name = "/home/", url = "/" },
|
||||
{ name = "/about/", url = "/about" },
|
||||
{ name = "/journal/", url = "/journal" },
|
||||
{ name = "/blog/", url = "/blog" },
|
||||
]
|
||||
[[extra.header_nav]]
|
||||
en = { name = "/home/", url = "/" }
|
||||
fr = { name = "/accueil/", url = "/fr" }
|
||||
|
||||
footer_nav = [
|
||||
{ name = "< previous", url = "#" },
|
||||
{ name = "webring", url = "#" },
|
||||
{ name = "next >", url = "#" },
|
||||
]
|
||||
[[extra.header_nav]]
|
||||
en = { name = "/about/", url = "/about" }
|
||||
fr = { name = "/concernant/", url = "/about" }
|
||||
|
||||
[[extra.header_nav]]
|
||||
en = { name = "/journal/", url = "/journal" }
|
||||
fr = { name = "/journal/", url = "/journal" }
|
||||
|
||||
[[extra.header_nav]]
|
||||
en = { name = "/blog/", url = "/blog" }
|
||||
fr = { name = "/blog/", url = "/blog" }
|
||||
```
|
||||
|
||||
### Add TOC to pages
|
||||
### Webrings
|
||||
|
||||
In a page frontmatter, set `extra.toc` to `true`
|
||||
Add a webring with a shortcode:
|
||||
|
||||
```html
|
||||
{{/* webring(prev="#", webring="#", webringName="Random Webring", next="#") */}}
|
||||
```
|
||||
|
||||
#### Add Table of Contents (TOC) to Pages
|
||||
|
||||
In a page's frontmatter, set `extra.toc` to `true`:
|
||||
|
||||
```toml
|
||||
[extra]
|
||||
toc = true
|
||||
```
|
||||
|
||||
### Extra data
|
||||
### Extra Data
|
||||
|
||||
- `author` can be set in both main config and in pages metadata
|
||||
- `image` variable can be used in pages to add an image to HTML `<meta>` tags
|
||||
- Same for `favicon` in main config, except this one is also used as the site icon
|
||||
- Set the `author` in both the main config and in pages' metadata.
|
||||
- Use the `image` variable in pages to add an image to HTML `<meta>` tags.
|
||||
- Similarly, set `favicon` in the main config, and it will be used as the site icon.
|
||||
|
||||
### Disable Twitter card
|
||||
#### Disable Twitter Card
|
||||
|
||||
Twitter metatags are generated by default, to disable them set `extra.twitter_card` to `false` in in your `config.toml`
|
||||
Twitter metatags are generated by default. To disable them, set `extra.twitter_card` to `false` in `config.toml`:
|
||||
|
||||
```toml
|
||||
[extra]
|
||||
twitter_card = true
|
||||
```
|
||||
|
||||
## License
|
||||
### License
|
||||
|
||||
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
||||
The Anemone theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
||||
|
||||
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 59 KiB |
|
@ -3,11 +3,11 @@
|
|||
title = "Anpu"
|
||||
description = "A port of the Hugo Anubis theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/zbrox/anpu-zola-theme.git"
|
||||
homepage = "https://github.com/zbrox/anpu-zola-theme"
|
||||
minimum_version = "0.11.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "apollo"
|
||||
description = "Modern and minimalistic blog theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/not-matthias/apollo.git"
|
||||
homepage = "https://github.com/not-matthias/apollo"
|
||||
minimum_version = "0.14.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "archie-zola"
|
||||
description = "A zola theme based on Hugo archie."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/XXXMrG/archie-zola.git"
|
||||
homepage = "https://github.com/XXXMrG/archie-zola"
|
||||
minimum_version = "0.14.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "ataraxia"
|
||||
description = "A personal theme focused on ease of reading."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/gersonbdev/ataraxia-zola"
|
||||
homepage = "https://github.com/gersonbenavides/ataraxia-zola"
|
||||
minimum_version = "0.16.0"
|
||||
|
|
|
@ -3,16 +3,16 @@
|
|||
title = "Bear"
|
||||
description = "Bear blog theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://codeberg.org/alanpearce/zola-bearblog"
|
||||
homepage = "https://codeberg.org/alanpearce/zola/bearblog"
|
||||
homepage = "https://codeberg.org/alanpearce/zola-bearblog"
|
||||
minimum_version = "0.4.0"
|
||||
license = "MIT"
|
||||
demo = "https://alanpearce.codeberg.page/zola-bearblog"
|
||||
demo = "https://zola-bearblog.netlify.app/"
|
||||
|
||||
[extra.author]
|
||||
name = "Alan Pearce"
|
||||
|
@ -21,21 +21,19 @@ homepage = "https://alanpearce.eu"
|
|||
|
||||
# Zola ʕ•ᴥ•ʔ Bear Blog
|
||||
|
||||
[![Netlify Status](https://api.netlify.com/api/v1/badges/121b53ce-c913-4604-9179-eb3cca31cd2c/deploy-status)](https://app.netlify.com/sites/zola-bearblog/deploys)
|
||||
|
||||
🧸 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/ 🎯.
|
||||
For a current & working demo of this theme, please check out <https://zola-bearblog.netlify.app/> 🎯.
|
||||
|
||||
## Screenshots
|
||||
## Screenshot
|
||||
|
||||
⬜️ [Light][light-screenshot]
|
||||
![light mode screenshot][light-screenshot]
|
||||
|
||||
⬛️ [Dark][dark-screenshot]
|
||||
![dark mode screenshot][dark-screenshot]
|
||||
![Screenshot][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.
|
||||
|
||||
|
@ -51,6 +49,12 @@ Then, adjust the `config.toml` as detailed below.
|
|||
|
||||
For more information, read the official [setup guide][zola-setup-guide] of Zola.
|
||||
|
||||
Alternatively, you can quickly deploy a copy of the theme site to Netlify using this button:
|
||||
|
||||
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://gitlab.com/alanpearce/zola-bearblog)
|
||||
|
||||
(Note that this method makes it harder to keep up-to-date with theme updates, which might be necessary for newer versions of Zola.)
|
||||
|
||||
## Adjust configuration / config.toml
|
||||
|
||||
Please check out the included [config.toml](https://codeberg.org/alanpearce/zola-bearblog/src/branch/main/config.toml)
|
||||
|
@ -97,7 +101,6 @@ A special thank you goes out to [Herman](https://herman.bearblog.dev), for creat
|
|||
[MIT License](http://en.wikipedia.org/wiki/MIT_License) © [Alan Pearce](https://www.alanpearce.eu/)
|
||||
|
||||
[zola-setup-guide]: https://www.getzola.org/documentation/getting-started/installation/
|
||||
[light-screenshot]: https://codeberg.org/alanpearce/zola-bearblog/raw/branch/main/screenshot.png
|
||||
[dark-screenshot]: https://codeberg.org/alanpearce/zola-bearblog/raw/branch/main/screenshot-dark.png
|
||||
[screenshot]: https://codeberg.org/alanpearce/zola-bearblog/raw/branch/main/screenshot.png
|
||||
|
||||
|
Before Width: | Height: | Size: 310 KiB After Width: | Height: | Size: 256 KiB |
|
@ -3,11 +3,11 @@
|
|||
title = "Blow"
|
||||
description = "A Zola theme made with Tailwindcss"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/tchartron/blow.git"
|
||||
homepage = "https://github.com/tchartron/blow"
|
||||
minimum_version = "0.9.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "book"
|
||||
description = "A book theme inspired from GitBook/mdBook"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/getzola/book.git"
|
||||
homepage = "https://github.com/getzola/book"
|
||||
minimum_version = "0.17.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "boring"
|
||||
description = "A minimal theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/ssiyad/boring.git"
|
||||
homepage = "https://github.com/ssiyad/boring"
|
||||
minimum_version = "0.16.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Clean Blog"
|
||||
description = "A port of Start Bootstrap Clean Blog for Zola"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/dave-tucker/zola-clean-blog.git"
|
||||
homepage = "https://github.com/dave-tucker/zola-clean-blog"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "codinfox-zola"
|
||||
description = "Codinfox theme for Zola"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/svavs/codinfox-zola.git"
|
||||
homepage = "https://github.com/svavs/codinfox-zola"
|
||||
minimum_version = "0.11.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "d3c3nt"
|
||||
description = "A simple, clean, and flexible theme for personal sites."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "git://git.figbert.com/d3c3nt.git"
|
||||
homepage = "https://git.figbert.com/d3c3nt/"
|
||||
minimum_version = "0.15.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "dinkleberg"
|
||||
description = "The Rust BR theme for Gutenberg"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/rust-br/dinkleberg.git"
|
||||
homepage = "https://github.com/rust-br/dinkleberg"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Docsascode_theme"
|
||||
description = "A modern simple Zola's theme related to docs as code methodology"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/codeandmedia/zola_docsascode_theme.git"
|
||||
homepage = "https://github.com/codeandmedia/zola_docsascode_theme"
|
||||
minimum_version = "0.10.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "dose"
|
||||
description = "a small blog theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/oltdaniel/dose.git"
|
||||
homepage = "https://github.com/oltdaniel/dose"
|
||||
minimum_version = "0.14.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "emily_zola_theme"
|
||||
description = "a KISS theme for Zola"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/kyoheiu/emily_zola_theme.git"
|
||||
homepage = "https://github.com/kyoheiu/emily_zola_theme"
|
||||
minimum_version = "0.14.1"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "even"
|
||||
description = "A robust, elegant dark theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/getzola/even.git"
|
||||
homepage = "https://github.com/getzola/even"
|
||||
minimum_version = "0.17.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "feather"
|
||||
description = "A modern blog theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/piedoom/feather.git"
|
||||
homepage = "https://github.com/piedoom/feather"
|
||||
minimum_version = "0.11.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Float"
|
||||
description = "An elegant blog theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://gitlab.com/float-theme/float.git"
|
||||
homepage = "https://gitlab.com/float-theme/float/"
|
||||
minimum_version = "0.15.3"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "hallo"
|
||||
description = "A single-page theme to introduce yourself."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/flyingP0tat0/zola-hallo.git"
|
||||
homepage = "https://github.com/janbaudisch/zola-hallo"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "hephaestus"
|
||||
description = "A portfolio theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/BConquest/hephaestus.git"
|
||||
homepage = "https://github.com/BConquest/hephaestus"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Hermit_Zola"
|
||||
description = "Minimal Zola theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/VersBinarii/hermit_zola.git"
|
||||
homepage = "https://github.com/VersBinarii/hermit_zola"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Hook"
|
||||
description = "Clean and simple personal site/blog theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/InputUsername/zola-hook.git"
|
||||
homepage = "https://github.com/InputUsername/zola-hook"
|
||||
minimum_version = "0.15.2"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "hyde"
|
||||
description = "A classic blog theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/getzola/hyde.git"
|
||||
homepage = "https://github.com/getzola/hyde"
|
||||
minimum_version = "0.11.0"
|
||||
|
|
79
docs/content/themes/inky/index.md
Normal file
|
@ -0,0 +1,79 @@
|
|||
|
||||
+++
|
||||
title = "Inky"
|
||||
description = "An elegant and understated theme for Zola"
|
||||
template = "theme.html"
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/jimmyff/zola-inky.git"
|
||||
homepage = "https://github.com/jimmyff/zola-inky"
|
||||
minimum_version = "0.4.0"
|
||||
license = "MIT"
|
||||
demo = "https://jimmyff.github.io/zola-inky/"
|
||||
|
||||
[extra.author]
|
||||
name = "jimmyff"
|
||||
homepage = "https://www.jimmyff.co.uk"
|
||||
+++
|
||||
|
||||
|
||||
# Zola-Inky
|
||||
|
||||
> An elegant and understated theme for Zola
|
||||
|
||||
Zola Inky ([view demo](https://jimmyff.github.io/zola-inky)) is a theme by [jimmyff](https://github.com/jimmyff) and [mr-karan](https://github.com/mr-karan) for the [Zola](https://www.getzola.org/) static site generator. This theme was originally based on the [hugo-ink](https://github.com/knadh/hugo-ink) theme, ported by mr-karan. It was then packaged and developed further by jimmyff. The theme is available on [Github](https://github.com/jimmyff/zola-inky) under the MIT license, for more information on how to use it please see the [readme](https://github.com/jimmyff/zola-inky/blob/main/README.md) and check the [changelog](https://github.com/jimmyff/zola-inky/blob/main/CHANGELOG.md) for a list of the latest changes.
|
||||
|
||||
[![PNG](screenshot.png)](https://jimmyff.github.io/zola-inky)
|
||||
|
||||
## Changelog
|
||||
|
||||
For latest changes please see the [changelog](CHANGELOG.md).
|
||||
|
||||
## Features
|
||||
|
||||
- Responsive design
|
||||
- Responsive images
|
||||
- Gallery template
|
||||
- Taxonomy support
|
||||
- Search
|
||||
- Customisable via template hooks
|
||||
|
||||
## Getting started
|
||||
|
||||
1. Add this theme to your `themes/` folder (recommended method: git submodule).
|
||||
2. Copy of the the theme's config.toml file and put in your projects root directory. Update it as required and don't forget to add `theme = 'zola-inky'` at the top of the file.
|
||||
3. Copy this contents of the `content/` directory the root of your project and change the files as your necessary.
|
||||
|
||||
## Customising the theme
|
||||
|
||||
- __To change the settings__ copy `config.toml` in to your project and update as required (make sure you add the theme variable at the top of the file, see the getting started heading above).
|
||||
- __To change the themes colours__ copy `sass/variables.scss` in to your project under the same folder and update as required.
|
||||
- __To inject content in to templates__ copy `templates/macros/hooks.html` and update as required.
|
||||
|
||||
## Using the responsive image shortcode
|
||||
|
||||
Using the responsive images will make sure your images are generated at various sizes and served up to viewers at the size that best suits their device via the image srcset attribute. You can use this feature in your markdown like so:
|
||||
|
||||
```md
|
||||
{{/* image(src="yourimage.jpg", alt="This is my image") */}}
|
||||
```
|
||||
|
||||
## Feature requests & support
|
||||
|
||||
I'm afraid I'm unable to accept feature requests or provide user support for this theme. The [Zola documentation](https://www.getzola.org/documentation/getting-started/overview/) and [Tera documentation](https://tera.netlify.app/docs/) are great resources and there is a [Zola discussion forum](https://zola.discourse.group/). If you've found a bug in the themse please open a github issue.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are very welcome! If you are planning to add a feature to the theme then feel free to open an issue to discuss your approach and we will be able to say if it's it will likely be accepted. Please keep the following in mind:
|
||||
|
||||
- Only widely generic features will be accepted, anything too specific should be kept to your own templates.
|
||||
- Be careful about destroying indentation as Tera syntax doesn't seem to be widely supported by IDEs.
|
||||
- Keep it lean. Adding bloat will likely result in your PR being rejected.
|
||||
- Consider backward compatibility, ideally people blindly-upgrading won't see any unexpected changes to their sites.
|
||||
|
||||
New theme maintainers are welcome but should provide pull-request or two first!
|
||||
|
||||
|
BIN
docs/content/themes/inky/screenshot.png
Normal file
After Width: | Height: | Size: 90 KiB |
|
@ -3,11 +3,11 @@
|
|||
title = "juice"
|
||||
description = "An intuitive, elegant, and lightweight Zola theme for product sites."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/huhu/juice.git"
|
||||
homepage = "https://github.com/huhu/juice"
|
||||
minimum_version = "0.11.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "kangae"
|
||||
description = "a lightweight microblog theme for zola"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/ayushnix/kangae.git"
|
||||
homepage = "https://github.com/ayushnix/kangae"
|
||||
minimum_version = "0.15.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "karzok"
|
||||
description = "The theme for launching fast documentation sites"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/kogeletey/karzok.git"
|
||||
homepage = "https://github.com/kogeletey/karzok"
|
||||
minimum_version = "0.15.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "kodama"
|
||||
description = "Theme insipired by wowchemy academic."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/adfaure/kodama-theme.git"
|
||||
homepage = "https://github.com/adfaure/kodama-theme"
|
||||
minimum_version = "0.15"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "lightspeed"
|
||||
description = "Zola theme with a perfect Lighthouse score"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/carpetscheme/lightspeed.git"
|
||||
homepage = "https://github.com/carpetscheme/lightspeed"
|
||||
minimum_version = "0.10.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "nasm-theme"
|
||||
description = "A robust, elegant blue theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/lucasnasm/nasm-theme.git"
|
||||
homepage = "https://github.com/lucasnasm/nasm-theme"
|
||||
minimum_version = "0.1.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "no style, please!"
|
||||
description = "A (nearly) no-CSS, fast, minimalist Zola theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://gitlab.com/4bcx/no-style-please.git"
|
||||
homepage = "https://gitlab.com/4bcx/no-style-please"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "ntun-zola-theme"
|
||||
description = "A classic resume theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/Netoun/ntun.git"
|
||||
homepage = "https://github.com/netoun/ntun"
|
||||
minimum_version = "0.1.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Oceanic Zen"
|
||||
description = "Minimalistic blog theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/barlog-m/oceanic-zen.git"
|
||||
homepage = "https://github.com/barlog-m/oceanic-zen"
|
||||
minimum_version = "0.12.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Papaya"
|
||||
description = "A clean Zola theme for blogging and projects"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/justint/papaya.git"
|
||||
homepage = "https://github.com/justint/papaya"
|
||||
minimum_version = "0.16.1"
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
|
||||
+++
|
||||
title = "PaperMod"
|
||||
description = ""
|
||||
description = "A fast, clean, responsive theme ported to Zola."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/cydave/zola-theme-papermod.git"
|
||||
homepage = "https://github.com/cydave/zola-theme-papermod"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "particle"
|
||||
description = "Particle theme for Zola"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/svavs/particle-zola.git"
|
||||
homepage = "https://github.com/svavs/particle-zola"
|
||||
minimum_version = "0.16.1"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "resume"
|
||||
description = "A resume theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/AlongWY/zola-resume.git"
|
||||
homepage = "https://github.com/alongwy/zola-resume"
|
||||
minimum_version = "0.11.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "sam"
|
||||
description = "A Simple and Minimalist theme with a focus on typography and content."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/janbaudisch/zola-sam.git"
|
||||
homepage = "https://github.com/janbaudisch/zola-sam"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Seagull"
|
||||
description = "A Zola theme."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://git.42l.fr/HugoTrentesaux/seagull.git"
|
||||
homepage = "https://git.42l.fr/HugoTrentesaux/seagull"
|
||||
minimum_version = "0.17.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Seje2"
|
||||
description = "A beautiful zola theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/eatradish/seje2"
|
||||
homepage = "https://github.com/eatradish/Seje2"
|
||||
minimum_version = "0.15.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "serene"
|
||||
description = "A blog theme for zola, simple and clean"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/isunjn/serene.git"
|
||||
homepage = "https://github.com/isunjn/serene"
|
||||
minimum_version = "0.9.0"
|
||||
|
@ -19,9 +19,9 @@ name = "isunjn"
|
|||
homepage = "https://github.com/isunjn"
|
||||
+++
|
||||
|
||||
![screenshot](https://github.com/isunjn/serene/blob/main/screenshot.png?raw=true)
|
||||
<img width="1501" alt="screenshot" src="https://github.com/isunjn/serene/assets/60461730/33516366-3670-497f-bd72-41ebe8f06f1a">
|
||||
|
||||
<br />
|
||||
<br /><br />
|
||||
|
||||
A blog theme for [zola](https://www.getzola.org), simple and clean
|
||||
|
||||
|
@ -50,6 +50,5 @@ A blog theme for [zola](https://www.getzola.org), simple and clean
|
|||
## Contributing
|
||||
|
||||
- Before you make any non-trivial changes, you may want to open an issue so we can discuss
|
||||
- If you got any idea inspired by another blog theme or website and want to have that in serene, I'd like to hear about it
|
||||
|
||||
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 357 KiB |
|
@ -3,11 +3,11 @@
|
|||
title = "shadharon"
|
||||
description = "Simple blog theme powered by Zola"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/syedzayyan/shadharon"
|
||||
homepage = "https://github.com/syedzayyan/shadharon"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "simple-dev-blog"
|
||||
description = "A simple dev blog theme with no javascript, prerendered linked pages and SEO tags."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/bennetthardwick/simple-dev-blog-zola-starter.git"
|
||||
homepage = "https://github.com/bennetthardwick/simple-dev-blog-zola-starter"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Slim"
|
||||
description = "Slim is a minimal, clean and beautiful theme for Zola."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/jameshclrk/zola-slim.git"
|
||||
homepage = "https://github.com/jameshclrk/zola-slim"
|
||||
minimum_version = "0.8.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Soapstone"
|
||||
description = "A bare bones dark theme with some color tweakability"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/MattyRad/soapstone.git"
|
||||
homepage = "https://github.com/MattyRad/soapstone"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "solar-theme-zola"
|
||||
description = "A port of solar-theme-hugo for zola"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/hulufei/solar-theme-zola.git"
|
||||
homepage = "https://github.com/hulufei/solar-theme-zola"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -1,57 +1,63 @@
|
|||
|
||||
+++
|
||||
title = "tabi"
|
||||
description = "A fast, lightweight, and modern Zola theme with optional JavaScript, and a perfect Lighthouse score."
|
||||
description = "A fast, lightweight, and modern Zola theme with multi-language support, optional JavaScript, and a perfect Lighthouse score"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/welpo/tabi.git"
|
||||
homepage = "https://github.com/welpo/tabi"
|
||||
minimum_version = "0.9.0"
|
||||
minimum_version = "0.17.0"
|
||||
license = "MIT"
|
||||
demo = "https://welpo.github.io/tabi"
|
||||
|
||||
[extra.author]
|
||||
name = "Óscar Fernández"
|
||||
homepage = "https://welpo.ooo"
|
||||
homepage = "https://osc.garden"
|
||||
+++
|
||||
|
||||
# tabi
|
||||
|
||||
A fast, lightweight, and modern [Zola](https://getzola.org) theme. It aims to be a personal page and home to blog posts.
|
||||
A fast, lightweight, and modern [Zola](https://getzola.org) theme with multi-language support. It aims to be a personal page and home to blog posts.
|
||||
|
||||
See a live preview [here](https://welpo.github.io/tabi).
|
||||
See a live preview (and the theme's documentation) [here](https://welpo.github.io/tabi).
|
||||
|
||||
> tabi (旅): Journey.
|
||||
|
||||
![tabi](light_dark_screenshot.png)
|
||||
![tabi](https://github.com/welpo/tabi/raw/main/light_dark_screenshot.png)
|
||||
|
||||
tabi has a perfect score on Google's Lighthouse audit:
|
||||
|
||||
![lighthouse](lighthouse_score.png)
|
||||
![lighthouse](https://raw.githubusercontent.com/welpo/tabi/main/lighthouse_score.png)
|
||||
|
||||
## Features
|
||||
|
||||
- [X] [Comprehensive multi-language support](https://welpo.github.io/tabi/blog/faq-languages/#how-does-tabi-handle-multilingual-support). Add as many languages as you wish.
|
||||
- [X] [Set any language as default](https://welpo.github.io/tabi/blog/faq-languages/#how-do-i-set-a-default-language-for-my-site). Set your base site to Chinese, Spanish, French, Hindi… or any [other supported language](/i18n). The theme's interface will be translated accordingly.
|
||||
- [X] Dark and light themes. Defaults to the OS setting, with a switcher in the navigation bar.
|
||||
- [X] Support for [comments using giscus, utterances, Hyvor Talk, or Isso](https://welpo.github.io/tabi/blog/comments/).
|
||||
- [X] Perfect Lighthouse score (Performance, Accessibility, Best Practices and SEO).
|
||||
- [X] [KaTeX](https://katex.org/) support.
|
||||
- [X] All JavaScript (theme switcher and KaTeX) can be fully disabled.
|
||||
- [X] Responsive design.
|
||||
- [X] Projects page.
|
||||
- [X] Archive page.
|
||||
- [X] All JavaScript can be [fully disabled](https://welpo.github.io/tabi/blog/javascript/).
|
||||
- [X] [Customizable skins](https://welpo.github.io/tabi/blog/customise-tabi/).
|
||||
- [X] [Stylized feed](https://welpo.github.io/tabi/atom.xml).
|
||||
- [X] [Projects page](https://welpo.github.io/tabi/projects/).
|
||||
- [X] [Archive page](https://welpo.github.io/tabi/archive/).
|
||||
- [x] [Table of Contents](https://welpo.github.io/tabi/blog/toc/).
|
||||
- [x] Tags.
|
||||
- [x] Social links.
|
||||
- [X] Responsive design.
|
||||
- [X] Code syntax highlighting.
|
||||
- [X] [Custom shortcodes](./templates/shortcodes/).
|
||||
- [X] Customizable secure headers.
|
||||
|
||||
See the project's roadmap [here](https://github.com/users/welpo/projects/1).
|
||||
- [X] [Customizable secure headers](https://welpo.github.io/tabi/blog/security/).
|
||||
- [X] [Custom shortcodes](https://welpo.github.io/tabi/blog/shortcodes/).
|
||||
|
||||
## Quick start
|
||||
|
||||
Once you have installed Zola 0.17.0 or newer:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/welpo/tabi.git
|
||||
cd tabi
|
||||
|
@ -117,22 +123,40 @@ section_path = "blog/_index.md"
|
|||
|
||||
```
|
||||
[extra]
|
||||
header = {title = "Hello! I'm tabi~", img = "$BASE_URL/img/main.webp" }
|
||||
header = {title = "Hello! I'm tabi~", img = "img/main.webp", img_alt = "Your Name" }
|
||||
```
|
||||
|
||||
The content outside the front matter will be rendered between the header title and the posts listing. In the screenshot above, it's the text that reads "tabi is a fast, lightweight, and modern Zola theme…".
|
||||
|
||||
6. If you want a multilingual site, you will need to set up each language. In `config.toml`, set the title and taxonomies for each language, like:
|
||||
|
||||
```toml
|
||||
[languages.es]
|
||||
title = "~/tabi"
|
||||
taxonomies = [{name = "tags", feed = true}]
|
||||
```
|
||||
|
||||
You will need an `_index.{language_code}.md` per language for each section (e.g. /blog or /projects) that you want to enable in that language.
|
||||
|
||||
The same is true for individual posts, which should have the exact same name as the default language, with an extra `.{code}` before the extension (e.g. the Spanish version of `security.md` would be `security.es.md`).
|
||||
|
||||
This configuration allows the language switcher to take the user to the translation of the current URL. If a translation doesn't exist, the 404 page will be displayed, with an explanation in each language set in the config.
|
||||
|
||||
To learn more about multilingual support, see the [Frequently Asked Questions](https://welpo.github.io/tabi/blog/faq-languages/).
|
||||
|
||||
## Inspiration
|
||||
|
||||
This theme was inspired by:
|
||||
- [shadharon](https://github.com/syedzayyan/shadharon). tabi started as a fork of [syedzayyan](https://github.com/syedzayyan)'s theme.
|
||||
- [tailwind-nextjs-starter-blog](https://github.com/timlrx/tailwind-nextjs-starter-blog)
|
||||
- [tale-zola](https://github.com/aaranxu/tale-zola)
|
||||
- [internetVin's blog](https://internetvin.ghost.io)
|
||||
- [shadharon](https://github.com/syedzayyan/shadharon) — tabi started as a fork of [syedzayyan](https://github.com/syedzayyan)'s theme;
|
||||
- [tailwind-nextjs-starter-blog](https://github.com/timlrx/tailwind-nextjs-starter-blog);
|
||||
- [abridge](https://github.com/Jieiku/abridge);
|
||||
- [internetVin's blog](https://internetvin.ghost.io).
|
||||
|
||||
## Contributing
|
||||
|
||||
Please do! Take a look at the [Contributing Guidelines](/CONTRIBUTING.md) to learn more.
|
||||
Please do! We appreciate bug reports, improvements to translations or documentation (however minor), feature requests…
|
||||
|
||||
Take a look at the [Contributing Guidelines](/CONTRIBUTING.md) to learn more.
|
||||
|
||||
## License
|
||||
|
||||
|
|
Before Width: | Height: | Size: 161 KiB After Width: | Height: | Size: 157 KiB |
|
@ -3,11 +3,11 @@
|
|||
title = "tale-zola"
|
||||
description = "Tala-Zola is a minimal Zola theme helping you to build a nice and seo-ready blog."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/aaranxu/tale-zola.git"
|
||||
homepage = "https://github.com/aaranxu/tale-zola"
|
||||
minimum_version = "0.13.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "tilde"
|
||||
description = "Simple theme to match the dracula tilde css"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://git.sr.ht/~savoy/tilde"
|
||||
homepage = "https://git.sr.ht/~savoy/tilde"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Toucan"
|
||||
description = "Inspired from Pelican default theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://git.42l.fr/HugoTrentesaux/toucan.git"
|
||||
homepage = "https://git.42l.fr/HugoTrentesaux/toucan"
|
||||
minimum_version = "0.8.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "zerm"
|
||||
description = "A minimalistic and dark theme based on Radek Kozieł's theme for Hugo"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/ejmg/zerm.git"
|
||||
homepage = "https://github.com/ejmg/zerm"
|
||||
minimum_version = "0.8.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Zhuia"
|
||||
description = "An elegant but still playful theme for Zola."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/gicrisf/zhuia.git"
|
||||
homepage = "https://github.com/gicrisf/zhuia"
|
||||
minimum_version = "0.15.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "henry"
|
||||
description = "A timeless blog theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/sirodoht/zola-henry.git"
|
||||
homepage = "https://github.com/sirodoht/zola-henry"
|
||||
minimum_version = "0.4.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "zola-paper"
|
||||
description = "A clean theme inspired from hugo-paper."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/schoenenberg/zola-paper.git"
|
||||
homepage = "https://github.com/schoenenberg/zola-paper"
|
||||
minimum_version = "0.11.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "pickles"
|
||||
description = "A modern, simple, clean blog theme for Zola."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/lukehsiao/zola-pickles.git"
|
||||
homepage = "https://github.com/lukehsiao/zola-pickles"
|
||||
minimum_version = "0.13.0"
|
||||
|
@ -19,10 +19,24 @@ name = "Luke Hsiao"
|
|||
homepage = "https://luke.hsiao.dev"
|
||||
+++
|
||||
|
||||
# Pickles
|
||||
Pickles is a clean, responsive blog theme for [Zola](https://www.getzola.org/) based on the Hugo theme with the same name featuring pagination.
|
||||
<h1 align="center">
|
||||
🥒<br>
|
||||
zola-pickes
|
||||
</h1>
|
||||
<div align="center">
|
||||
<strong>Pickles is a clean, responsive blog theme for <a href="https://www.getzola.org/">Zola</a> based on the <a href="https://github.com/mismith0227/hugo_theme_pickles">Hugo theme</a> with the same name.</strong>
|
||||
</div>
|
||||
<br>
|
||||
<div align="center">
|
||||
<a href="https://effervescent-chebakia-056748.netlify.app/">
|
||||
<img src="https://img.shields.io/badge/demo-website-forestgreen" alt="demo website"></a>
|
||||
<a href="https://github.com/lukehsiao/zola-pickles/blob/main/LICENSE">
|
||||
<img src="https://img.shields.io/badge/license-BlueOak--1.0.0-blue" alt="License">
|
||||
</a>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
![pickles screenshot](https://github.com/lukehsiao/zola-pickles/blob/master/screenshot.png?raw=true)
|
||||
![pickles screenshot](https://github.com/lukehsiao/zola-pickles/blob/main/screenshot.png?raw=true)
|
||||
|
||||
## Installation
|
||||
First download this theme to your `themes` directory:
|
||||
|
@ -37,8 +51,7 @@ and then enable it in your `config.toml`:
|
|||
theme = "zola-pickles"
|
||||
```
|
||||
|
||||
The theme requires putting the posts in the root of the `content` folder and to
|
||||
enable pagination, for example in `content/_index.md`:
|
||||
The theme requires putting the posts in the root of the `content` folder and to enable pagination, for example in `content/_index.md`.
|
||||
|
||||
```
|
||||
+++
|
||||
|
@ -72,14 +85,11 @@ instantpage_enable = false
|
|||
|
||||
A full example configuration is included in config.toml.
|
||||
|
||||
Note how pickles also expects `title` and `description` to also be set in the
|
||||
Zola configuration.
|
||||
Note how pickles also expects `title` and `description` to also be set in the Zola configuration.
|
||||
|
||||
### KaTeX math formula support
|
||||
|
||||
This theme contains math formula support using [KaTeX](https://katex.org/),
|
||||
which can be enabled by setting `katex_enable = true` in the `extra` section
|
||||
of `config.toml`.
|
||||
This theme contains math formula support using [KaTeX](https://katex.org/), which can be enabled by setting `katex_enable = true` in the `extra` section of `config.toml`.
|
||||
|
||||
After enabling this extension, the `katex` short code can be used in documents:
|
||||
* `{%/* katex(block=true) */%}\KaTeX{%/* end */%}` to typeset a block of math formulas,
|
||||
|
@ -87,7 +97,7 @@ After enabling this extension, the `katex` short code can be used in documents:
|
|||
|
||||
### Figure Shortcode
|
||||
|
||||
This them also includes a figure shortcode for convenience in captioning figures.
|
||||
The figure shortcode is convenient for captioning figures.
|
||||
|
||||
```
|
||||
{%/* figure(link="https://www.example.com/", src="https://www.example.com/img.jpeg", alt="sample alt text") */%}
|
||||
|
@ -95,21 +105,30 @@ Your caption here.
|
|||
{%/* end */%}
|
||||
```
|
||||
|
||||
### Table Shortcode
|
||||
|
||||
The table shortcode is convenient for making mobile-friendly tables (centered with overflow scrollbar).
|
||||
|
||||
```
|
||||
{%/* table() */%}
|
||||
| Item | Price | # In stock |
|
||||
| :----------- | ----: | ---------: |
|
||||
| Juicy Apples | 1.99 | 739 |
|
||||
| Bananas | 1.89 | 6 |
|
||||
{%/* end */%}
|
||||
```
|
||||
|
||||
### Fontawesome
|
||||
|
||||
This theme includes fontawesome, so that fontawesome icons can be directly used.
|
||||
|
||||
### Instant.page
|
||||
|
||||
The theme contains instant.page prefetching. This can be enabled by setting
|
||||
`instantpage_enable = true` in the `extra` section of `config.toml`.
|
||||
The theme contains instant.page prefetching. This can be enabled by setting `instantpage_enable = true` in the `extra` section of `config.toml`.
|
||||
|
||||
## Showing article summaries
|
||||
|
||||
By default, the theme will use the first 280 characters of your post as a
|
||||
summary, if a proper [page
|
||||
summary](https://www.getzola.org/documentation/content/page/#summary) using
|
||||
`<!-- more -->` is not provided. For more sensible summaries, we recommend using
|
||||
the manual more indicator.
|
||||
By default, the theme will use the first 280 characters of your post as a summary, if a proper [page summary](https://www.getzola.org/documentation/content/page/#summary) using `<!-- more -->` is not provided.
|
||||
For more sensible summaries, we recommend using the manual more indicator.
|
||||
|
||||
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 77 KiB |
|
@ -3,11 +3,11 @@
|
|||
title = "Course"
|
||||
description = "A zola theme designed for online courses or tutorials"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/elegaanz/zola-theme-course.git"
|
||||
homepage = "https://github.com/elegaanz/zola-theme-course"
|
||||
minimum_version = "0.17.1"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Hikari"
|
||||
description = "Fluid, responsive blog theme for Zola"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/waynee95/zola-theme-hikari.git"
|
||||
homepage = "https://github.com/waynee95/zola-theme-hikari"
|
||||
minimum_version = "0.5.1"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "terminimal"
|
||||
description = "A simple, minimal retro theme"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/pawroman/zola-theme-terminimal.git"
|
||||
homepage = "https://github.com/pawroman/zola-theme-terminimal"
|
||||
minimum_version = "0.11.0"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "zola.386"
|
||||
description = "Zola port of the BOOTSTRA.386 theme."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/lopes/zola.386.git"
|
||||
homepage = "https://github.com/lopes/zola.386"
|
||||
minimum_version = "0.10.1"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "EasyDocs"
|
||||
description = "An easy way to create docs for your project"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/codeandmedia/zola_easydocs_theme.git"
|
||||
homepage = "https://github.com/codeandmedia/zola_easydocs_theme"
|
||||
minimum_version = "0.13.0"
|
||||
|
|
397
docs/content/themes/zolarwind/index.md
Normal file
|
@ -0,0 +1,397 @@
|
|||
|
||||
+++
|
||||
title = "Zolarwind"
|
||||
description = "A localizable blog theme using Tailwind CSS for styling and KaTex for math"
|
||||
template = "theme.html"
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/thomasweitzel/zolarwind.git"
|
||||
homepage = "https://github.com/thomasweitzel/zolarwind"
|
||||
minimum_version = "0.17.0"
|
||||
license = "MIT"
|
||||
demo = "https://pureandroid.com"
|
||||
|
||||
[extra.author]
|
||||
name = "Thomas Weitzel"
|
||||
homepage = "https://weitzel.dev"
|
||||
+++
|
||||
|
||||
![A screenshot of how the theme looks like](screenshot.png)
|
||||
|
||||
# The Zolarwind Theme for Zola
|
||||
|
||||
Welcome to Zolarwind, the simple Zola blog theme with Tailwind CSS and KaTex support.
|
||||
This theme is for Zola users aiming to have a nice blog design powered by Tailwind CSS.
|
||||
Additionally, the theme smoothly integrates math formulas using [KaTex](https://katex.org).
|
||||
Most importantly, while the theme is designed to be easily localizable, you can choose your preferred language setting for a consistent blog experience.
|
||||
|
||||
---
|
||||
|
||||
## Features:
|
||||
|
||||
- **Tailwind CSS**: Utilize the utility-first CSS framework for rapid UI development.
|
||||
|
||||
- **KaTex Integration**: Integrate and display math formulas seamlessly in your blog posts.
|
||||
|
||||
- **Localization Support**: All theme-specific strings are available in multiple languages; choose the one that's right for you.
|
||||
If your language isn't supported yet, just create the resource file with your translations.
|
||||
|
||||
---
|
||||
|
||||
## Table of Contents:
|
||||
- Demo Website
|
||||
- Prerequisites
|
||||
- Installation
|
||||
- Configuration
|
||||
- Front Matter
|
||||
- Localization
|
||||
- Integrating in theme folder
|
||||
- Development
|
||||
- Remarks
|
||||
- Contributing
|
||||
- License
|
||||
|
||||
---
|
||||
|
||||
## Demo Website
|
||||
|
||||
You can see the theme in action on my [personal website](https://pureandroid.com).
|
||||
The site uses the German language.
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
In order to use the theme, you need some software pre-installed:
|
||||
|
||||
- [Git](https://git-scm.com/downloads), Required for version control.
|
||||
|
||||
- [Node](https://nodejs.org/en/download), an open-source, cross-platform JavaScript runtime environment.
|
||||
|
||||
- [Zola](https://github.com/getzola/zola/releases), a fast static site generator.
|
||||
|
||||
- an editor or integrated development environment of your choice - I use [JetBrains IDEA](https://www.jetbrains.com/idea/download),
|
||||
an IDE that makes development a more productive and enjoyable experience.
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
1. Clone this theme repository with e.g. `git@github.com:thomasweitzel/zolarwind.git`.
|
||||
Or download it from `https://github.com/thomasweitzel/zolarwind`.
|
||||
|
||||
2. Make adjustments to the `config.toml` file as needed.
|
||||
In order to run the theme as a standalone site, you need to adjust the `base_url` to your domain.
|
||||
If you want to try it out on your local machine, you can leave it as is.
|
||||
Just run `zola serve` from the theme's root directory.
|
||||
|
||||
---
|
||||
|
||||
## Configuration
|
||||
|
||||
Your `config.toml` file is crucial in customizing the Zola site.
|
||||
Here's a breakdown of the configuration settings tailored for this theme:
|
||||
|
||||
### Basic Configuration:
|
||||
|
||||
- **base_url**: Specifies the URL the site will be built for.
|
||||
In this case, the site will be built for `https://example.org`.
|
||||
Adjust this to your own domain.
|
||||
|
||||
- **compile_sass**: Determines whether to automatically compile all Sass files present in the `sass` directory.
|
||||
Here, it's set to `false`, meaning Sass files won't be automatically compiled for this theme.
|
||||
|
||||
- **default_language**: Sets the default language for the site.
|
||||
The provided config uses English (`en`) as the default language.
|
||||
As of now, German (`de`) is available in the `i18n` directory.
|
||||
|
||||
- **theme**: The theme used for the site.
|
||||
The provided line is commented out, indicating that the themes files are taken from the `template` directory.
|
||||
If you move the theme to the `themes/zolarwind` directory, use `zolarwind` for this entry.
|
||||
|
||||
- **build_search_index**: If set to `true`, a search index will be built from the pages and section content for the `default_language`.
|
||||
In this configuration and for this theme, it's disabled (`false`).
|
||||
|
||||
- **generate_feed**: Determines if an Atom feed (file `atom.xml`) is automatically generated.
|
||||
It's set to `true`, meaning a feed will be generated.
|
||||
|
||||
- **taxonomies**: An array of taxonomies (classification systems) used for the site.
|
||||
Here, a taxonomy for `tags` is defined, with a pagination limit of 6 and an enabled feed.
|
||||
|
||||
### Markdown Configuration:
|
||||
|
||||
- **highlight_code**: Indicates whether code snippets in Markdown files should be highlighted. Here, it's set to `true`.
|
||||
|
||||
- **highlight_theme**: Specifies the theme to be used for code highlighting. The chosen theme in this configuration is `1337`.
|
||||
|
||||
### Extra Configuration:
|
||||
|
||||
The `[extra]` section is where you can place any custom variables you want to be accessible in your templates.
|
||||
|
||||
- **title**: The title of the site.
|
||||
Here, it's set to "Zolarwind".
|
||||
|
||||
- **generator**: Optional.
|
||||
Specifies the generator used for creating the static website.
|
||||
This site is generated using `Zola v0.17.2`.
|
||||
|
||||
- **path_language_resources**: The path to the directory containing language resource files.
|
||||
In this config, it's set to `i18n/`.
|
||||
If you move the theme to the `themes/zolarwind` directory, use `themes/zolarwind/i18n/` for this entry.
|
||||
|
||||
- **favicon_svg**: Provides a path to the site's favicon in SVG format.
|
||||
The provided path points to `/img/yin-yang.svg`.
|
||||
|
||||
- **copyright**: A template for the copyright notice.
|
||||
It includes a placeholder `{year}` which is dynamically replaced with the current year of your `zola build` run.
|
||||
|
||||
- **site_description**: A brief description displayed on the site's banner.
|
||||
|
||||
- **quote**: A structure defining a quote and its author.
|
||||
This quote is from Yoda.
|
||||
|
||||
- **menu_pages**: An array of main navigation menu items.
|
||||
Each item has a `title` and a `url`.
|
||||
|
||||
- **footer_pages**: An array of pages that will appear in the site's footer.
|
||||
Each item has a `title` and a `url`.
|
||||
|
||||
- **social_links**: An array of social media links.
|
||||
Each link has a name, a boolean indicating if it's enabled, a URL, and an SVG icon.
|
||||
|
||||
---
|
||||
|
||||
## Front matter
|
||||
|
||||
For blog posts (Markdown files in folder `content/blog`), this theme uses a directory structure where each post has its own folder.
|
||||
This way, I have all resources for a post in one place.
|
||||
It can include images, videos, and other files.
|
||||
|
||||
Each post is associated with an image, that is displayed on the blog's main page and on the posts detail page.
|
||||
If you do not provide an image under `extra.image`, a default image is used instead.
|
||||
|
||||
- **date**: the date of the blog posts, e.g. `2020-06-11`.
|
||||
|
||||
- **title**: the title of the blog posts, e.g. `The Game of Fifteen`.
|
||||
|
||||
- **description**: the description of the blog posts. It is used as a summary on the blog's main page.
|
||||
|
||||
- **authors**: an optional array of all the posts authors, e.g. `["Thomas Weitzel"]`.
|
||||
You can leave it empty, but then the first author will show up as `Unknown` in the feed (`atom.xml`).
|
||||
|
||||
- **taxonomies**: only the optional `tags` taxonomy is used by this theme.
|
||||
I tend to list programming languages used in the post, e.g. `["rust", "javascript"]`.
|
||||
You can omit it, but then the post will not show up under `tags`.
|
||||
|
||||
- **extra.math**: either `false` (default) or `true`.
|
||||
If set to `true`, the post will be rendered with KaTex support for displaying math formulas.
|
||||
If the entry is omitted or set to `false`, the post will not have KaTex support.
|
||||
|
||||
- **extra.image**: an optional image for the post.
|
||||
If omitted, a default image is used instead.
|
||||
The image is displayed on the blog's main page and on the posts detail page.
|
||||
|
||||
---
|
||||
|
||||
## Localization
|
||||
|
||||
Consider this text on a page where a blog post is published as an example: `Published on July 04, 2023; 1,234 words`.
|
||||
If your blog is in the German language, you want to have `Veröffentlicht am 04. Juli 2023; 1.234 Wörter` instead.
|
||||
Not only the text should be translated, but also the date and number formats are different.
|
||||
And you want a text like `1 word` or `1 Wort`, because the singular form should be used where applicable.
|
||||
This theme takes care of that.
|
||||
|
||||
To localize your blog with this theme:
|
||||
|
||||
1. Pick your desired language by setting the `default_language` in `config.toml`.
|
||||
As of now, English (`en`) and German (`de`) have language resources available in the `i18n` directory.
|
||||
If your language is not supported yet, just create a new resource file with your translations.
|
||||
Use the file `en.toml` as a template for your own translations.
|
||||
Use the correct language code for the file name, e.g. `eo.toml` for Esperanto.
|
||||
Only languages that read from left-to-right (ltr) are supported by this theme.
|
||||
|
||||
2. The theme will automatically display all theme-specific string resources in the chosen language.
|
||||
|
||||
3. The content that you provide should match this language.
|
||||
But that is your responsibility.
|
||||
The theme will not translate your content.
|
||||
|
||||
If you need to define your own date format, look [here](https://docs.rs/chrono/latest/chrono/format/strftime/index.html) for supported specifiers.
|
||||
|
||||
---
|
||||
|
||||
## Integrating in theme folder
|
||||
|
||||
This project is structured as a stand-alone Zola site.
|
||||
This section is for those who might want to integrate the theme into an existing Zola website.
|
||||
You can do so by moving the relevant theme files to the `themes/zolarwind` directory.
|
||||
All other files stay in the root directory.
|
||||
If you have your own files there, you need to merge them with the ones from this theme.
|
||||
You also need to adjust the `config.toml` and `package.json` files in the root accordingly.
|
||||
|
||||
I will only show you the relevant directories that need to be moved.
|
||||
This is the directory structure of the stand-alone site, where the theme is in the root directory:
|
||||
|
||||
```
|
||||
/
|
||||
├── css
|
||||
├── i18n
|
||||
├── static
|
||||
│ ├── css
|
||||
│ ├── img
|
||||
│ └── js
|
||||
├── templates
|
||||
└── theme.toml
|
||||
```
|
||||
|
||||
Create a new directory `themes/zolarwind` and move the following files and directories there:
|
||||
|
||||
```
|
||||
/
|
||||
├── static
|
||||
│ └── css
|
||||
└── themes
|
||||
└── zolarwind
|
||||
├── css
|
||||
├── i18n
|
||||
├── static
|
||||
│ ├── img
|
||||
│ └── js
|
||||
├── templates
|
||||
└── theme.toml
|
||||
```
|
||||
|
||||
The `static/css` directory is a special case.
|
||||
It contains the generated Tailwind CSS file with the name `generated.css`.
|
||||
It will stay in its original location.
|
||||
This file is generated from the file `css/main.css`, which is the input for the CSS generation.
|
||||
The generation process can be triggered with a script in the `package.json` file.
|
||||
**You only need to adjust and run the script** in `package.json` if you make changes to the theme's template files or use new Tailwind CSS classes directly in your content files.
|
||||
Since the source file `css/main.css` has moved to the directory `themes/zolarwind/css/main.css`, we need to adjust the script in `package.json` accordingly.
|
||||
|
||||
This is how the relevant part of it looks like for the stand-alone site:
|
||||
|
||||
```json
|
||||
"scripts": {
|
||||
"css:build": "npx tailwindcss -i ./css/main.css -o ./static/css/generated.css --minify",
|
||||
"css:watch": "npx tailwindcss -i ./css/main.css -o ./static/css/generated.css --watch",
|
||||
"server": "zola serve"
|
||||
}
|
||||
```
|
||||
|
||||
Now change it so that the input file `css/main.css` will be the file `themes/zolarwind/css/main.css`:
|
||||
|
||||
```json
|
||||
"scripts": {
|
||||
"css:build": "npx tailwindcss -i ./themes/zolarwind/css/main.css -o ./static/css/generated.css --minify",
|
||||
"css:watch": "npx tailwindcss -i ./themes/zolarwind/css/main.css -o ./static/css/generated.css --watch",
|
||||
"server": "zola serve"
|
||||
}
|
||||
```
|
||||
|
||||
Since you now use Zolarwind as a theme, you need to declare it in the `config.toml` file.
|
||||
The theme's files have moved to the directory `themes/zolarwind`, so you need to adjust the only reference to the theme's files in the `config.toml` file accordingly by changing the `path_language_resources` entry:
|
||||
|
||||
```toml
|
||||
# The site theme to use
|
||||
theme = "zolarwind"
|
||||
|
||||
# ...
|
||||
|
||||
# Path to the language resource files
|
||||
path_language_resources = "themes/zolarwind/i18n/"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Development
|
||||
|
||||
If you want to adjust the CSS of the theme to your needs, you will need to edit the files in the `templates` and `css` directories.
|
||||
While you do this, you should make sure that the CSS file `static/css/generated.css` is up-to-date.
|
||||
This file is generated from the file `css/main.css`, and all the files that are configured as a pattern in `tailwind.config.js`:
|
||||
|
||||
- `css/main.css`
|
||||
|
||||
- `themes/**/*.html`
|
||||
|
||||
- `templates/**/*.html`
|
||||
|
||||
- `content/**/*.md`
|
||||
|
||||
So whenever one of these files changes, you need to run the script `css:build` from the `package.json` file.
|
||||
To accomplish this, you need to have `Node.js` and all dependencies from `package.json` installed (with `npm install`).
|
||||
Then you can run the script with `npm run css:watch`.
|
||||
It monitors all files mentioned above and triggers the CSS generation whenever a relevant file changes.
|
||||
This ensures, that the file `static/css/generated.css` is always up-to-date.
|
||||
|
||||
I recommend to have two terminals open.
|
||||
In one terminal, run `zola serve` to start the Zola server.
|
||||
In the other terminal, run `npm run css:watch` to start the CSS generation whenever a relevant file changes.
|
||||
|
||||
That way, your local web browser will automatically reload the page with the updated CSS whenever you change a file.
|
||||
|
||||
---
|
||||
|
||||
## Remarks
|
||||
|
||||
### Typography for markdown
|
||||
|
||||
I'm not using `@tailwindcss/typography` for styling of markdown files.
|
||||
I don't like how it looks.
|
||||
Instead, I use `@apply` in the `css/main.css` file.
|
||||
The `@apply` directive in Tailwind CSS enables you to compose utility classes into custom CSS classes.
|
||||
This makes it possible to apply multiple utility styles within a single class, making it efficient to style markdown content.
|
||||
|
||||
This approach has pros and cons.
|
||||
But it gives me fine-grained control over how the end result looks like.
|
||||
While it is time-consuming, I prefer this solution over the `@tailwindcss/typography` plugin.
|
||||
|
||||
Yes, I'm reinventing the wheel here, because for common typographic patterns, I'm just recreating what's already provided by the typography plugin.
|
||||
|
||||
### Serve KaTex files locally
|
||||
|
||||
All KaTex files are included in the `static` directory for this theme.
|
||||
Using KaTeX (or any other library) by serving it from a Content Delivery Network (CDN) has implications concerning the General Data Protection Regulation (GDPR) and the use of cookies:
|
||||
|
||||
- **Third-Party Requests & Data Privacy**: When you load resources from a CDN, it triggers third-party requests to the CDN's servers.
|
||||
These servers might log your IP address, user agent, and other request-related metadata.
|
||||
Under GDPR, IP addresses can be considered personal data.
|
||||
By serving KaTeX from your domain, you reduce third-party data transfers, limiting the amount of personal data you expose to external entities.
|
||||
|
||||
- **Cookies**: Many CDNs set cookies for various reasons, including analytics or performance optimizations.
|
||||
These cookies can track users across different websites that use the same CDN, potentially infringing on their privacy rights.
|
||||
By hosting KaTeX on your domain, you have full control over the cookies set and can ensure compliance with GDPR.
|
||||
|
||||
- **Consent**: If you're using a CDN that sets cookies or collects data, you might need to get explicit user consent before loading resources from that CDN.
|
||||
This can complicate user experience and lead to a reduced site performance for users who opt-out.
|
||||
By self-hosting, you circumvent this issue.
|
||||
|
||||
- **Transparency & Control**: By self-hosting, you know exactly which version of KaTeX you're using and can ensure there are no modifications or unexpected behaviors.
|
||||
With CDNs, there's a minor risk of the library being compromised, which could affect all sites using that resource.
|
||||
|
||||
- **Data Transfer Outside the EU**: If the CDN servers are located outside the European Union, you might be transferring data out of the EU,
|
||||
which adds another layer of GDPR compliance requirements.
|
||||
By self-hosting, you ensure that user data doesn't leave the region unless you specifically choose a hosting solution outside the EU.
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are always welcome!
|
||||
If you see areas of improvement or want to add features, please submit a PR.
|
||||
|
||||
I'm especially interested in more translations.
|
||||
See folder `i18n` for what's available and what is not.
|
||||
Just use the file `en.toml` as a template for your own translations.
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
This theme is under the MIT License.
|
||||
For details, please refer to the LICENSE file.
|
||||
|
||||
|
BIN
docs/content/themes/zolarwind/screenshot.png
Normal file
After Width: | Height: | Size: 573 KiB |
|
@ -3,11 +3,11 @@
|
|||
title = "zolastrap"
|
||||
description = "A bootstrap theme for zola"
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/marcodpt/zolastrap.git"
|
||||
homepage = "https://github.com/marcodpt/zolastrap"
|
||||
minimum_version = "0.14.1"
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
title = "Zplit"
|
||||
description = "A single page theme for a professional online presence."
|
||||
template = "theme.html"
|
||||
date = 2023-08-20T14:37:38+02:00
|
||||
date = 2023-09-15T21:56:17+02:00
|
||||
|
||||
[extra]
|
||||
created = 2023-08-20T14:37:38+02:00
|
||||
updated = 2023-08-20T14:37:38+02:00
|
||||
created = 2023-09-15T21:56:17+02:00
|
||||
updated = 2023-09-15T21:56:17+02:00
|
||||
repository = "https://github.com/gicrisf/zplit"
|
||||
homepage = "https://github.com/gicrisf/zplit"
|
||||
minimum_version = "0.15.0"
|
||||
|
|