diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2997c0c2..494d127a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -30,7 +30,7 @@ $ git submodule update --init
Zola only works with syntaxes in the `.sublime-syntax` format. If your syntax
is in `.tmLanguage` format, open it in Sublime Text and convert it to `sublime-syntax` by clicking on
-Tools > Developer > New Syntax from ... and put it at the root of `sublime_syntaxes`.
+Tools > Developer > New Syntax from ... and put it in the `sublime/syntaxes` directory.
You can also add a submodule to the repository of the wanted syntax:
@@ -56,7 +56,7 @@ $ cargo run --example generate_sublime synpack ../../sublime/syntaxes ../../subl
### Adding a theme
A gallery containing lots of themes is located at https://tmtheme-editor.herokuapp.com/#!/editor/theme/Agola%20Dark.
-More themes can be easily added to Zola, just make a PR with the wanted theme added in the `sublime_themes` directory.
+More themes can be easily added to Zola, just make a PR with the wanted theme added in the `sublime/themes` directory.
If you want to test Zola with a new theme, it needs to be built into the syntect file `all.themedump`.
diff --git a/EXAMPLES.md b/EXAMPLES.md
index f4109ae7..37d269d8 100644
--- a/EXAMPLES.md
+++ b/EXAMPLES.md
@@ -3,6 +3,7 @@
| Site | Source Code |
|:-------------------------------------------------------------------|:--------------------------------------------------------:|
| [vincentprouillet.com](https://www.vincentprouillet.com/) | https://github.com/Keats/vincentprouillet/ |
+| [blog.williamdes.eu](http://blog.williamdes.eu/) | https://github.com/wdesportes/blog.williamdes.eu |
| [t-rex.tileserver.ch](https://t-rex.tileserver.ch) | https://github.com/t-rex-tileserver/t-rex-website/ |
| [Philipp Oppermann's blog](https://os.phil-opp.com/) | https://github.com/phil-opp/blog_os/tree/master/blog |
| [seventeencups](https://www.seventeencups.net) | https://github.com/17cupsofcoffee/seventeencups.net |
diff --git a/README.md b/README.md
index efcaa5c5..da4dddac 100644
--- a/README.md
+++ b/README.md
@@ -33,6 +33,7 @@ in the `docs/content` folder of the repository and the community can use [its fo
| LiveReload | ![yes] | ![no] | ![yes] | ![yes] |
| Netlify support | ![yes] | ![no] | ![yes] | ![no] |
| Vercel support | ![yes] | ![no] | ![yes] | ![yes] |
+| Cloudflare Pages support | ![yes] | ![no] | ![yes] | ![yes] |
| Breadcrumbs | ![yes] | ![no] | ![no] | ![yes] |
| Custom output formats | ![no] | ![no] | ![yes] | ![no] |
diff --git a/docs/content/documentation/content/page.md b/docs/content/documentation/content/page.md
index faa61ff2..c0e80796 100644
--- a/docs/content/documentation/content/page.md
+++ b/docs/content/documentation/content/page.md
@@ -10,10 +10,10 @@ If a file ending with `.md` is named `index.md`, it will generate a page
with the name of its directory (for example, `/content/about/index.md` would
create a page at `[base_url]/about`). (Note the lack of an underscore; if the file
were named `_index.md`, then it would create a **section** at `[base_url]/about`, as
-discussed in a previous part of this documentation. In contrast, naming the file `index.md` will
+discussed in a previous part of this documentation. In contrast, naming the file `index.md` will
create a **page** at `[base_url]/about`).
-If the file is given any name *other* than `index.md` or `_index.md`, then it will
+If the file is given any name _other_ than `index.md` or `_index.md`, then it will
create a page with that name (without the `.md`). For example, naming a file in the root of your
content directory `about.md` would create a page at `[base_url]/about`.
Another exception to this rule is that a filename starting with a datetime (YYYY-mm-dd or [an RFC3339 datetime](https://www.ietf.org/rfc/rfc3339.txt)) followed by
@@ -23,7 +23,7 @@ be available at `[base_url]/hello-world`. Note that the full RFC3339 datetime co
character in a filename on Windows.
As you can see, creating an `about.md` file is equivalent to creating an
-`about/index.md` file. The only difference between the two methods is that creating
+`about/index.md` file. The only difference between the two methods is that creating
the `about` directory allows you to use asset co-location, as discussed in the
[overview](@/documentation/content/overview.md#asset-colocation) section.
@@ -35,7 +35,7 @@ For any page within your content folder, its output path will be defined by eith
- its filename
Either way, these proposed path will be sanitized before being used.
-If `slugify.paths` is set to `"on"` in the site's config - the default - paths are [slugified](https://en.wikipedia.org/wiki/Clean_URL#Slug).
+If `slugify.paths` is set to `"on"` in the site's config - the default - paths are [slugified](https://en.wikipedia.org/wiki/Clean_URL#Slug).
If it is set to `"safe"`, only sanitation is performed, with the following characters being removed: `<`, `>`, `:`, `/`, `|`, `?`, `*`, `#`, `\\`, `(`, `)`, `[`, `]` as well as newlines and tabulations. This ensures that the path can be represented on all operating systems.
Additionally, trailing whitespace and dots are removed and whitespaces are replaced by `_`.
@@ -62,6 +62,7 @@ This frontmatter will output the article to `[base_url]/zines/femmes-libres-lib
### Path from filename
When the article's output path is not specified in the frontmatter, it is extracted from the file's path in the content folder. Consider a file `content/foo/bar/thing.md`. The output path is constructed:
+
- if the filename is `index.md`, its parent folder name (`bar`) is used as output path
- otherwise, the output path is extracted from `thing` (the filename without the `.md` extension)
@@ -109,7 +110,7 @@ weight = 0
# A draft page is only loaded if the `--drafts` flag is passed to `zola build`, `zola serve` or `zola check`.
draft = false
-# If set, this slug will be instead of the filename to make the URL.
+# If set, this slug will be used instead of the filename to make the URL.
# The section path will still be used.
slug = ""
@@ -148,7 +149,7 @@ paragraph of the page content in a list.
To do so, add <!-- more -->
in your content at the point
where you want the summary to end. The content up to that point will be
available separately in the
-[template](@/documentation/templates/pages-sections.md#page-variables).
+[template](@/documentation/templates/pages-sections.md#page-variables) via `page.summary`.
A span element in this position with a `continue-reading` id is created, so you can link directly to it if needed. For example:
`Continue Reading`.
diff --git a/docs/content/documentation/content/sass.md b/docs/content/documentation/content/sass.md
index 8764467e..6b188e1d 100644
--- a/docs/content/documentation/content/sass.md
+++ b/docs/content/documentation/content/sass.md
@@ -8,7 +8,7 @@ maintenance of large sets of CSS rules. If you're curious about what Sass
is and why it might be useful for styling your static site, the following links
may be of interest:
-* The [official Sass website](http://sass-lang.com/)
+* The [official Sass website](https://sass-lang.com/)
* [Why Sass?](https://alistapart.com/article/why-sass), by Dan Cederholm
## Using Sass in Zola
diff --git a/docs/content/documentation/content/search.md b/docs/content/documentation/content/search.md
index df29f773..7150d9f9 100644
--- a/docs/content/documentation/content/search.md
+++ b/docs/content/documentation/content/search.md
@@ -22,5 +22,5 @@ the JavaScript/CSS code to do an actual search and display results. You can look
implements it to get an idea: [search.js](https://github.com/getzola/zola/tree/master/docs/static/search.js).
## Configuring the search index
-In some cases, the default indexing strategy is not suitable. You can customise which fields to include and whether
+In some cases, the default indexing strategy is not suitable. You can customize which fields to include and whether
to truncate the content in the [search configuration](@/documentation/getting-started/configuration.md).
diff --git a/docs/content/documentation/content/section.md b/docs/content/documentation/content/section.md
index f7f1d87b..6f23051a 100644
--- a/docs/content/documentation/content/section.md
+++ b/docs/content/documentation/content/section.md
@@ -7,7 +7,7 @@ A section is created whenever a directory (or subdirectory) in the `content` sec
`_index.md` file. If a directory does not contain an `_index.md` file, no section will be
created, but Markdown files within that directory will still create pages (known as orphan pages).
-The index page (i.e., the page displayed when a user browses to your `base_url`) is a section,
+The homepage (i.e., the page displayed when a user browses to your `base_url`) is a section,
which is created whether or not you add an `_index.md` file at the root of your `content` directory.
If you do not create an `_index.md` file in your content directory, this main content section will
not have any content or metadata. If you would like to add content or metadata, you can add an
@@ -73,6 +73,9 @@ paginate_by = 0
# The default is page/1.
paginate_path = "page"
+# If set, there will pagination will happen in a reversed order.
+paginate_reversed = false
+
# This determines whether to insert a link for each header like the ones you can see on this site if you hover over
# a header.
# The default template can be overridden by creating an `anchor-link.html` file in the `templates` directory.
@@ -208,4 +211,4 @@ equally weighted sections. Thus, if the `weight` variable for your section is no
is set in a way that produces ties), then your sections will be sorted in
**random** order. Moreover, that order is determined at build time and will
change with each site rebuild. Thus, if there is any chance that you will
-iterate over your sections, you should always assign them a weight.
+iterate over your sections, you should always assign them distinct weights.
diff --git a/docs/content/documentation/content/shortcodes.md b/docs/content/documentation/content/shortcodes.md
index 72c2834e..defa896f 100644
--- a/docs/content/documentation/content/shortcodes.md
+++ b/docs/content/documentation/content/shortcodes.md
@@ -10,7 +10,7 @@ try [Tera macros](https://tera.netlify.com/docs#macros).
Broadly speaking, Zola's shortcodes cover two distinct use cases:
-* Inject more complex HTML: Markdown is good for writing, but it isn't great when you need add inline HTML or styling.
+* Inject more complex HTML: Markdown is good for writing, but it isn't great when you need to add inline HTML or styling.
* Ease repetitive data based tasks: when you have [external data](@/documentation/templates/overview.md#load-data) that you
want to display in your page's body.
@@ -59,7 +59,7 @@ This will create a shortcode `books` with the argument `path` pointing to a `.to
titles and descriptions. They will flow with the rest of the document in which `books` is called.
Shortcodes are rendered before the page's Markdown is parsed so they don't have access to the page's table of contents.
-Because of that, you also cannot use the `get_page`/`get_section`/`get_taxonomy` global functions. It might work while
+Because of that, you also cannot use the [`get_page`](@/documentation/templates/overview.md#get-page)/[`get_section`](@/documentation/templates/overview.md#get-section)/[`get_taxonomy`](@/documentation/templates/overview.md#get-taxonomy) global functions. It might work while
running `zola serve` because it has been loaded but it will fail during `zola build`.
## Using shortcodes
diff --git a/docs/content/documentation/content/table-of-contents.md b/docs/content/documentation/content/table-of-contents.md
index b42a4dfd..7a94c667 100644
--- a/docs/content/documentation/content/table-of-contents.md
+++ b/docs/content/documentation/content/table-of-contents.md
@@ -12,22 +12,24 @@ documentation for information on its structure.
Here is an example of using that field to render a two-level table of contents:
```jinja2
-
Hi, this is me. I write about microcontrollers, programming and cloud software. ...
+``` + +If you want to have all pages sorted by their date, please create `myblog/content/_index.md`: +``` ++++ +sort_by = "date" ++++ +``` + +### About + +#### Inspired +I created this theme mainly for my personal website. You are free to use it or modify it. It is inspired by the [`no-style-please`](https://riggraz.dev/no-style-please/) jekyll theme. + +#### Typography + +This theme uses no special font, just the browsers default monospace font. Yes, this can mean that the website could be rendered differently, but users can freely choose their webfont. + +#### Darkmode + +This theme supports dark and light mode. Currently this will be only switched based on the users preffered system theme. But a manual switch will follow in the future in the footer (see the todo). + +| light | dark | +|-|-| +| ![](screenshot-light.png) | ![](screenshot-dark.png) | + +#### Size + +We need about `2kB` extra stuff aside from images and raw html. This is divided up to `1.7kB CSS` and `~300B JS`. + +#### Syntax Highlighting + +As I didn't want to invest any time in creating an own syntax color schema for this theme, I suggest to use `visual-studio-dark`, which is the same one used in the demo page. + +### TODO + +- [ ] introduce sass variables for colors +- [ ] dark/light switch with javascript and store in browser session + +## License + +![GitHub](https://img.shields.io/github/license/oltd/dose) + + \ No newline at end of file diff --git a/docs/content/themes/dose/screenshot.png b/docs/content/themes/dose/screenshot.png new file mode 100644 index 00000000..6eb257c4 Binary files /dev/null and b/docs/content/themes/dose/screenshot.png differ diff --git a/docs/content/themes/even/index.md b/docs/content/themes/even/index.md index 601364f1..90ffe9ea 100644 --- a/docs/content/themes/even/index.md +++ b/docs/content/themes/even/index.md @@ -3,11 +3,11 @@ title = "even" description = "A robust, elegant dark theme" template = "theme.html" -date = 2021-01-09T22:53:10+09:00 +date = 2021-05-06T18:30:07+02:00 [extra] -created = 2021-01-09T22:53:10+09:00 -updated = 2021-01-09T22:53:10+09:00 +created = 2021-05-06T18:30:07+02:00 +updated = 2021-05-06T18:30:07+02:00 repository = "https://github.com/getzola/even.git" homepage = "https://github.com/getzola/even" minimum_version = "0.11.0" @@ -35,8 +35,8 @@ Even is a clean, responsive theme based on the Hugo theme with the same name fea First download this theme to your `themes` directory: ```bash -$ cd themes -$ git clone https://github.com/getzola/even.git +cd themes +git clone https://github.com/getzola/even.git ``` and then enable it in your `config.toml`: @@ -49,8 +49,8 @@ The theme requires tags and categories taxonomies to be enabled in your `config. ```toml taxonomies = [ # You can enable/disable RSS - {name = "categories", rss = true}, - {name = "tags", rss = true}, + {name = "categories", feed = true}, + {name = "tags", feed = true}, ] ``` If you want to paginate taxonomies pages, you will need to overwrite the templates diff --git a/docs/content/themes/feather/index.md b/docs/content/themes/feather/index.md index 15b48602..84804452 100644 --- a/docs/content/themes/feather/index.md +++ b/docs/content/themes/feather/index.md @@ -3,11 +3,11 @@ title = "feather" description = "A modern blog theme" template = "theme.html" -date = 2021-01-09T22:53:10+09:00 +date = 2021-05-06T18:30:07+02:00 [extra] -created = 2021-01-09T22:53:10+09:00 -updated = 2021-01-09T22:53:10+09:00 +created = 2021-05-06T18:30:07+02:00 +updated = 2021-05-06T18:30:07+02:00 repository = "https://github.com/piedoom/feather" homepage = "https://github.com/piedoom/feather" minimum_version = "0.5.1" diff --git a/docs/content/themes/float/index.md b/docs/content/themes/float/index.md index a9d8fb91..f87e1e36 100644 --- a/docs/content/themes/float/index.md +++ b/docs/content/themes/float/index.md @@ -3,11 +3,11 @@ title = "Float" description = "An elegant blog theme" template = "theme.html" -date = 2021-01-09T22:53:10+09:00 +date = 2021-05-06T18:30:07+02:00 [extra] -created = 2021-01-09T22:53:10+09:00 -updated = 2021-01-09T22:53:10+09:00 +created = 2021-05-06T18:30:07+02:00 +updated = 2021-05-06T18:30:07+02:00 repository = "https://gitlab.com/float-theme/float.git" homepage = "https://float-theme.netlify.app/" minimum_version = "0.11.0" @@ -19,7 +19,7 @@ name = "Leon" homepage = "https://exp2.uniuni.space/" +++ -![Float](content/blog/2020-06-14-Float theme for Zola/Float.png) +![Float](content/blog/2020/2020-06-14-Float theme for Zola/Float.png) **[English](README.en.md)** @@ -45,9 +45,9 @@ Float 是一款為 [Zola](https://www.getzola.org/) 設計的佈景主題。 在您的 Zola 專案資料夾內: +把 Float 以 Git 子模組的方式加入專案內: ```shell -cd themes -git clone git@gitlab.com:float-theme/float.git +git submodule add https://gitlab.com/float-theme/float.git theme/float ``` 編輯您的 config.toml,指定 Float 作為佈景主題: @@ -85,11 +85,12 @@ cp -r themes/float/content/* content/ ``` content/ └── blog/ - └── 2020-06-21-Float theme for Zola/ - ├── index.md - ├── pic1.png - ├── pic2.png - └── qa_report.pdf + └── 2020/ + └── 2020-06-21-Float theme for Zola/ + ├── index.md + ├── pic1.png + ├── pic2.png + └── qa_report.pdf ``` 文章為 index.md,文內的配圖或其它檔案也是放在文章資料夾內。 @@ -107,6 +108,7 @@ tags = ["Float", "Zola"] [extra] feature_image = "pic1.png" # 卡片圖片。 feature = true # 是否為重點文章,重點文章會以寬版卡片顯示。 +link = "" # 指定卡片連結,若有指定則卡片不會連結到文章頁。 ``` ## 客製化 @@ -115,6 +117,8 @@ feature = true # 是否為重點文章,重點文章會以寬版卡片顯示。 ```TOML [extra] +main_section = "blog" + copyright = "" web_fonts = "" diff --git a/docs/content/themes/hallo/index.md b/docs/content/themes/hallo/index.md index 3692028f..95d4e5be 100644 --- a/docs/content/themes/hallo/index.md +++ b/docs/content/themes/hallo/index.md @@ -3,11 +3,11 @@ title = "hallo" description = "A single-page theme to introduce yourself." template = "theme.html" -date = 2021-01-09T22:53:10+09:00 +date = 2021-05-06T18:30:07+02:00 [extra] -created = 2021-01-09T22:53:10+09:00 -updated = 2021-01-09T22:53:10+09:00 +created = 2021-05-06T18:30:07+02:00 +updated = 2021-05-06T18:30:07+02:00 repository = "https://github.com/flyingP0tat0/zola-hallo.git" homepage = "https://github.com/janbaudisch/zola-hallo" minimum_version = "0.4.0" diff --git a/docs/content/themes/hyde/index.md b/docs/content/themes/hyde/index.md index b0522adc..db29b1e6 100644 --- a/docs/content/themes/hyde/index.md +++ b/docs/content/themes/hyde/index.md @@ -3,11 +3,11 @@ title = "hyde" description = "A classic blog theme" template = "theme.html" -date = 2021-01-09T22:53:10+09:00 +date = 2021-05-06T18:30:07+02:00 [extra] -created = 2021-01-09T22:53:10+09:00 -updated = 2021-01-09T22:53:10+09:00 +created = 2021-05-06T18:30:07+02:00 +updated = 2021-05-06T18:30:07+02:00 repository = "https://github.com/getzola/hyde.git" homepage = "https://github.com/getzola/hyde" minimum_version = "0.11.0" @@ -38,8 +38,8 @@ Hyde is a brazen two-column [Zola](https://github.com/getzola/zola) based on the First download this theme to your `themes` directory: ```bash -$ cd themes -$ git clone https://github.com/getzola/hyde.git +cd themes +git clone https://github.com/getzola/hyde.git ``` and then enable it in your `config.toml`: diff --git a/docs/content/themes/juice/index.md b/docs/content/themes/juice/index.md index 6883dbf4..05e74afb 100644 --- a/docs/content/themes/juice/index.md +++ b/docs/content/themes/juice/index.md @@ -1,13 +1,13 @@ +++ title = "juice" -description = "An intuitive, elegant, and lightweight Zola™ theme for product sites." +description = "An intuitive, elegant, and lightweight Zola theme for product sites." template = "theme.html" -date = 2021-01-09T22:53:10+09:00 +date = 2021-05-06T18:30:07+02:00 [extra] -created = 2021-01-09T22:53:10+09:00 -updated = 2021-01-09T22:53:10+09:00 +created = 2021-05-06T18:30:07+02:00 +updated = 2021-05-06T18:30:07+02:00 repository = "https://github.com/huhu/juice" homepage = "https://github.com/huhu/juice" minimum_version = "0.11.0" @@ -21,9 +21,9 @@ homepage = "https://huhu.io" # Juice - + -**Juice** is an intuitive, elegant, and responsive Zola™ theme for product sites. +**Juice** is an intuitive, elegant, and responsive Zola theme for product sites. - Build for product sites - Simple and intuitive structure @@ -61,6 +61,7 @@ theme = "juice" You can customize your **hero** by using `hero` block in the `index.html`. ```html +{%/* extends "juice/templates/index.html" */%} {%/* block hero */%}From the CLI to the template engine, everything is designed to be intuitive. - Don't take my words for it though, look at the + Don't take my word for it though, look at the documentation and see for yourself.