kopia lustrzana https://github.com/trojkat/zdecentralizowani
Szablon tale-zola
rodzic
30d457c853
commit
7ad8b62600
|
@ -1 +0,0 @@
|
|||
Subproject commit 297255d98722f37f05de579693a782e0b681cf82
|
|
@ -0,0 +1,133 @@
|
|||
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, caste, color, religion, or sexual identity
|
||||
and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the
|
||||
overall community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email
|
||||
address, without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
<aaranxu@outlook.com>.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series
|
||||
of actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or
|
||||
permanent ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within
|
||||
the community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.0, available at
|
||||
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
|
||||
|
||||
Community Impact Guidelines were inspired by
|
||||
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
|
||||
at [https://www.contributor-covenant.org/translations][translations].
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
|
||||
[Mozilla CoC]: https://github.com/mozilla/diversity
|
||||
[FAQ]: https://www.contributor-covenant.org/faq
|
||||
[translations]: https://www.contributor-covenant.org/translations
|
|
@ -0,0 +1,21 @@
|
|||
# Contributing
|
||||
|
||||
We'd love your help! Thanks for caring about the theme of Zola.
|
||||
|
||||
## Licensing
|
||||
|
||||
This repository is under the MIT license. You can find the full text of the [license](./LICENSE) in this repository.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
The AdiDoks theme has a [code of conduct](./CODE_OF_CONDUCT.md) that governs all sub-projects, including this one. Please respect it!
|
||||
|
||||
## Contribute to Doks
|
||||
|
||||
- Follow the [GitHub flow](https://guides.github.com/introduction/flow/).
|
||||
- Follow the [Conventional Commits Specification](https://www.conventionalcommits.org/en/v1.0.0/)
|
||||
|
||||
## Create an issue
|
||||
|
||||
- [Bug report](https://github.com/aaranxu/adidoks/issues/new?template=bug-report---.md)
|
||||
- [Feature request](https://github.com/aaranxu/adidoks/issues/new?template=feature-request---.md)
|
|
@ -0,0 +1,21 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2021 Aaran Xu
|
||||
Copyright (c) 2018 Chester How (original theme)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@ -0,0 +1,274 @@
|
|||
# Tale-Zola Theme
|
||||
|
||||
|
||||
Tala-Zola is a minimal [Zola](https://www.getzola.org) theme helping you to
|
||||
build a light and seo-ready blog, and you can customise any information of the
|
||||
blog without having to modify the codes of the template. Tala-Zola is a port of
|
||||
the Jekyll theme [Tale](https://github.com/chesterhow/tale).
|
||||
|
||||
|
||||
## Demo
|
||||
|
||||
[Live Preview](https://tale-zola.netlify.app/).
|
||||
|
||||
## Requirements
|
||||
|
||||
Before using the theme, you need to install the [Zola](https://www.getzola.org/documentation/getting-started/installation/) ≥ 0.13.0.
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
git clone git@github.com:aaranxu/tale-zola.git
|
||||
cd tale-zola
|
||||
zola serve
|
||||
# open http://127.0.0.1:1111/ in the browser
|
||||
```
|
||||
|
||||
## Installation
|
||||
|
||||
Just earlier we showed you how to run the theme directly. Now we start to
|
||||
install the theme in an existing site step by step.
|
||||
|
||||
### Step 1: Create a new zola site
|
||||
|
||||
```bash
|
||||
zola init blog
|
||||
```
|
||||
|
||||
### Step 2: Install Tale-Zola
|
||||
|
||||
Download this theme to your themes directory:
|
||||
|
||||
```bash
|
||||
cd blog/themes
|
||||
git clone git@github.com:aaranxu/tale-zola.git
|
||||
```
|
||||
|
||||
Or install as a submodule:
|
||||
|
||||
```bash
|
||||
cd blog
|
||||
git init # if your project is a git repository already, ignore this command
|
||||
git submodule add git@github.com:aaranxu/tale-zola.git themes/tale-zola
|
||||
```
|
||||
|
||||
### Step 3: Configuration
|
||||
|
||||
Enable the theme in your `config.toml` in the site derectory:
|
||||
|
||||
```toml
|
||||
theme = "tale-zola"
|
||||
```
|
||||
|
||||
Or copy the `config.toml.example` from the theme directory to your project's
|
||||
root directory:
|
||||
|
||||
```bash
|
||||
cp themes/tale-zola/config.toml.example config.toml
|
||||
```
|
||||
|
||||
### Step 4: Add new content
|
||||
|
||||
Add an `_index.md` file to your `content` directory with some lines as bellows.
|
||||
|
||||
```text
|
||||
+++
|
||||
sort_by = "date"
|
||||
paginate_by = 5
|
||||
+++
|
||||
```
|
||||
|
||||
Add a blog article file with a filename `first-post.md` (or other filenames) and
|
||||
input some content in it.
|
||||
|
||||
```text
|
||||
+++
|
||||
title = "First Post"
|
||||
date = 2021-05-01T18:18:18+00:00
|
||||
|
||||
[taxonomies]
|
||||
tags = ["Post"]
|
||||
|
||||
[extra]
|
||||
author = "Your Name"
|
||||
+++
|
||||
|
||||
This is my first post.
|
||||
```
|
||||
|
||||
|
||||
Or you can just copy the content from the theme directory to your project:
|
||||
|
||||
```bash
|
||||
cp -r themes/tale-zola/content .
|
||||
```
|
||||
|
||||
### Step 5: Run the project
|
||||
|
||||
Just run `zola serve` in the root path of the project:
|
||||
|
||||
```bash
|
||||
zola serve
|
||||
```
|
||||
|
||||
Tale-Zola will start the Zola development web server accessible by default at
|
||||
`http://127.0.0.1:1111`. Saved changes will live reload in the browser.
|
||||
|
||||
## Customisation
|
||||
|
||||
You can customize your configurations, templates and content for yourself. Look
|
||||
at the `config.toml`, `theme.toml` and templates files in this repo for an idea.
|
||||
|
||||
In most cases you only need to modify the content in the `config.toml` file to
|
||||
custom your blog, including different expressions in your speaking language.
|
||||
|
||||
### Necessary Configurations
|
||||
|
||||
Add some information for your blog.
|
||||
|
||||
```toml
|
||||
title = "You Blog Title"
|
||||
description = "The description of your blog."
|
||||
```
|
||||
|
||||
Set the tags for the site.
|
||||
|
||||
```toml
|
||||
taxonomies = [
|
||||
{name = "tags"},
|
||||
]
|
||||
```
|
||||
|
||||
Add menus and footer information for your blog.
|
||||
|
||||
```
|
||||
# Menu items
|
||||
[[extra.menu]]
|
||||
name = "Posts"
|
||||
url = "/"
|
||||
|
||||
[[extra.menu]]
|
||||
name = "Tags"
|
||||
url = "tags"
|
||||
|
||||
[[extra.menu]]
|
||||
name = "About"
|
||||
url = "about"
|
||||
|
||||
[extra.footer]
|
||||
start_year = "2020" # start year of the site
|
||||
end_year = "2021" # end year of the site
|
||||
info = "The information on the footer."
|
||||
```
|
||||
|
||||
#### Option Configurations
|
||||
|
||||
Add your name as the author name for the blog globally.
|
||||
|
||||
```toml
|
||||
[extra]
|
||||
author = "Your Name"
|
||||
```
|
||||
|
||||
Use Google Analytics. Add your own Google Analytics ID.
|
||||
|
||||
```toml
|
||||
[extra]
|
||||
google_analytics = "UA—XXXXXXXX-X"
|
||||
```
|
||||
|
||||
Whether to use Disqus globally and set to your disqus id name.
|
||||
And you can enable the disqus on per post page with `extra.disqus` option
|
||||
|
||||
```toml
|
||||
[extra]
|
||||
disqus = false
|
||||
disqus_id = ""
|
||||
```
|
||||
|
||||
Code syntax highlighting. See also [syntax hightlighting](https://www.getzola.org/documentation/getting-started/configuration/#syntax-highlighting).
|
||||
|
||||
```toml
|
||||
[markdown]
|
||||
highlight_code = true
|
||||
highlight_theme = "base16-ocean-light"
|
||||
```
|
||||
|
||||
Use KaTeX to support the math notation
|
||||
|
||||
```toml
|
||||
[extra]
|
||||
katex = true
|
||||
```
|
||||
|
||||
> Note: You can also add the `katex` option on per mardown file of the page or section.
|
||||
|
||||
Set date format in the site
|
||||
|
||||
```toml
|
||||
[extra]
|
||||
timeformat = "%B %e, %Y" # e.g. June 14, 2021, and this is the default format
|
||||
```
|
||||
|
||||
SEO settings, like Open Graph + Twitter Cards
|
||||
|
||||
```toml
|
||||
[extra.seo]
|
||||
# this image will be used as fallback if a page has no image of its own
|
||||
image = "tale.png"
|
||||
image_height = 50
|
||||
image_width = 50
|
||||
og_locale = "en_US"
|
||||
|
||||
[extra.seo.twitter]
|
||||
site = "twitter_accout"
|
||||
creator = "twitter_accout"
|
||||
|
||||
[extra.seo.facebook]
|
||||
admins = "facebook_accout"
|
||||
publisher = "facebook_accout"
|
||||
```
|
||||
|
||||
Change the words in your speaking language.
|
||||
|
||||
```toml
|
||||
[extra.expressions]
|
||||
home = "Home" # The homepage's name
|
||||
pinned = "Pinned" # On the header of the post list
|
||||
written_by = "Written by" # Like: Written by Aaran Xu
|
||||
on = "on" # Like: on May 3, 2021
|
||||
top = "Top" # Go to the top of the page in the post
|
||||
tags = "Tags" # In the page of Tags
|
||||
|
||||
# disqus comments block
|
||||
disqus_discussion = "Discussion and feedback"
|
||||
|
||||
# The contents of the 404 page
|
||||
p404 = "404: Page not found"
|
||||
p404_info = "Oops! We can't seem to find the page you are looking for."
|
||||
p404_back_home_start = "Let's"
|
||||
p404_back_home_with_link = "head back home"
|
||||
p404_back_home_end = "."
|
||||
```
|
||||
|
||||
### Custom CSS styles
|
||||
|
||||
Just add your own styles to `sass/_custom.scss` file.
|
||||
|
||||
## Reporting Issues
|
||||
|
||||
We use GitHub Issues as the official bug tracker for the **Tale-Zola**. Please
|
||||
search [existing issues](https://github.com/aaranxu/tale-zola/issues). It’s
|
||||
possible someone has already reported the same problem.
|
||||
|
||||
If your problem or idea is not addressed yet, [open a new issue](https://github.com/aaranxu/tale-zola/issues/new).
|
||||
|
||||
## Contributing
|
||||
|
||||
We'd love your help! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) to learn
|
||||
about the kinds of contributions we're looking for.
|
||||
|
||||
## License
|
||||
|
||||
Tale-Zola is distributed under the terms of the
|
||||
[MIT license](LICENSE).
|
|
@ -0,0 +1,117 @@
|
|||
# The URL the site will be built for
|
||||
base_url = "https://tale-zola.netlify.app"
|
||||
|
||||
# The basic information about the site
|
||||
title = "Tala-Zola"
|
||||
description = "Tala-Zola is a minimal Zola theme helping you to build a light blog, and you can customise any information of the blog without having to modify the codes of the template."
|
||||
|
||||
# Whether to automatically compile all Sass files in the sass directory
|
||||
compile_sass = true
|
||||
|
||||
# Whether to generate a feed file for the site
|
||||
generate_feed = true
|
||||
|
||||
# The filename to use for the feed. Used as the template filename, too.
|
||||
# Defaults to "atom.xml", which has a built-in template that renders an Atom 1.0 feed.
|
||||
# There is also a built-in template "rss.xml" that renders an RSS 2.0 feed.
|
||||
# feed_filename = "atom.xml"
|
||||
|
||||
# Whether to build a search index to be used later on by a JavaScript library
|
||||
build_search_index = false
|
||||
|
||||
# The taxonomies to be rendered for the site and their configuration.
|
||||
taxonomies = [
|
||||
{name = "tags", feed = true}, # each tag will have its own feed
|
||||
]
|
||||
|
||||
[markdown]
|
||||
# Whether to do syntax highlighting
|
||||
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
|
||||
highlight_code = true
|
||||
highlight_theme = "base16-ocean-light"
|
||||
|
||||
[extra]
|
||||
# Basic infomation
|
||||
author = "Aaran Xu"
|
||||
github = "https://github.com/aaranxu"
|
||||
email = "aaranxu@outlook.com"
|
||||
|
||||
# Set date format in the site
|
||||
timeformat = "%B %e, %Y" # e.g. June 14, 2021
|
||||
|
||||
# Whether to support KaTeX globally
|
||||
katex = false
|
||||
|
||||
# Google Analytics
|
||||
# If using this, add a value like "UA—XXXXXXXX-X"
|
||||
google_analytics = ""
|
||||
|
||||
# Whether to use Disqus globally and set to your disqus id
|
||||
# or you can enable the disqus on per post page with `extra.disqus` option
|
||||
disqus = false
|
||||
disqus_id = ""
|
||||
|
||||
## Open Graph + Twitter Cards
|
||||
[extra.seo]
|
||||
# this image will be used as fallback if a page has no image of its own
|
||||
image = "tale.png"
|
||||
image_height = 0
|
||||
image_width = 0
|
||||
og_locale = "en_US"
|
||||
|
||||
[extra.seo.twitter]
|
||||
site = "aaranxu"
|
||||
creator = "aaranxu"
|
||||
|
||||
[extra.seo.facebook]
|
||||
admins = "ichunyun"
|
||||
publisher = "ichunyun"
|
||||
app_id = ""
|
||||
|
||||
# Webmaster verifications' tokens
|
||||
[extra.seo.webmaster]
|
||||
google = ""
|
||||
bing = ""
|
||||
alexa = ""
|
||||
yandex = ""
|
||||
baidu = ""
|
||||
|
||||
|
||||
# Menu items
|
||||
[[extra.menu]]
|
||||
name = "Posts"
|
||||
url = "/"
|
||||
|
||||
[[extra.menu]]
|
||||
name = "Tags"
|
||||
url = "tags"
|
||||
|
||||
[[extra.menu]]
|
||||
name = "About"
|
||||
url = "about"
|
||||
|
||||
[extra.footer]
|
||||
start_year = "2020" # start year of the site
|
||||
end_year = "2021" # end year of the site
|
||||
info = "Made with <a href=\"https://www.getzola.org\">Zola</a> with <a href=\"https://github.com/aaranxu/tale-zola\">Tala-Zola</a> theme."
|
||||
|
||||
|
||||
# The options below are used to refer to the expressions on the pages, and you
|
||||
# can custom the contents as needed in your language.
|
||||
[extra.expressions]
|
||||
home = "Home" # The homepage's name
|
||||
pinned = "Pinned" # On the header of the post list
|
||||
written_by = "Written by" # Like: Written by Aaran Xu
|
||||
on = "on" # Like: on May 3, 2021
|
||||
top = "Top" # Go to the top of the page in the post
|
||||
tags = "Tags" # In the page of Tags
|
||||
|
||||
# disqus comments block
|
||||
disqus_discussion = "Discussion and feedback"
|
||||
|
||||
# The contents of the 404 page
|
||||
p404 = "404: Page not found"
|
||||
p404_info = "Oops! We can't seem to find the page you are looking for."
|
||||
p404_back_home_start = "Let's"
|
||||
p404_back_home_with_link = "head back home"
|
||||
p404_back_home_end = "."
|
|
@ -0,0 +1,120 @@
|
|||
# The URL the site will be built for
|
||||
base_url = "https://tale-zola.netlify.app"
|
||||
|
||||
# Use the Tale-Zola theme
|
||||
theme = "tale-zola"
|
||||
|
||||
# The basic information about the site
|
||||
title = "Tala-Zola"
|
||||
description = "Tala-Zola is a minimal Zola theme helping you to build a light blog, and you can customise any information of the blog without having to modify the codes of the template."
|
||||
|
||||
# Whether to automatically compile all Sass files in the sass directory
|
||||
compile_sass = true
|
||||
|
||||
# Whether to generate a feed file for the site
|
||||
generate_feed = true
|
||||
|
||||
# The filename to use for the feed. Used as the template filename, too.
|
||||
# Defaults to "atom.xml", which has a built-in template that renders an Atom 1.0 feed.
|
||||
# There is also a built-in template "rss.xml" that renders an RSS 2.0 feed.
|
||||
# feed_filename = "atom.xml"
|
||||
|
||||
# Whether to build a search index to be used later on by a JavaScript library
|
||||
build_search_index = false
|
||||
|
||||
# The taxonomies to be rendered for the site and their configuration.
|
||||
taxonomies = [
|
||||
{name = "tags", feed = true}, # each tag will have its own feed
|
||||
]
|
||||
|
||||
[markdown]
|
||||
# Whether to do syntax highlighting
|
||||
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
|
||||
highlight_code = true
|
||||
highlight_theme = "base16-ocean-light"
|
||||
|
||||
[extra]
|
||||
# Basic infomation
|
||||
author = "Aaran Xu"
|
||||
github = "https://github.com/aaranxu"
|
||||
email = "aaranxu@outlook.com"
|
||||
|
||||
# Set date format in the site
|
||||
timeformat = "%B %e, %Y" # e.g. June 14, 2021
|
||||
|
||||
# Whether to support KaTeX globally
|
||||
katex = false
|
||||
|
||||
# Google Analytics
|
||||
# If using this, add a value like "UA—XXXXXXXX-X"
|
||||
google_analytics = ""
|
||||
|
||||
# Whether to use Disqus globally and set to your disqus id
|
||||
# or you can enable the disqus on per post page with `extra.disqus` option
|
||||
disqus = false
|
||||
disqus_id = ""
|
||||
|
||||
## Open Graph + Twitter Cards
|
||||
[extra.seo]
|
||||
# this image will be used as fallback if a page has no image of its own
|
||||
image = "tale.png"
|
||||
image_height = 0
|
||||
image_width = 0
|
||||
og_locale = "en_US"
|
||||
|
||||
[extra.seo.twitter]
|
||||
site = "aaranxu"
|
||||
creator = "aaranxu"
|
||||
|
||||
[extra.seo.facebook]
|
||||
admins = "ichunyun"
|
||||
publisher = "ichunyun"
|
||||
app_id = ""
|
||||
|
||||
# Webmaster verifications' tokens
|
||||
[extra.seo.webmaster]
|
||||
google = ""
|
||||
bing = ""
|
||||
alexa = ""
|
||||
yandex = ""
|
||||
baidu = ""
|
||||
|
||||
|
||||
# Menu items
|
||||
[[extra.menu]]
|
||||
name = "Posts"
|
||||
url = "/"
|
||||
|
||||
[[extra.menu]]
|
||||
name = "Tags"
|
||||
url = "tags"
|
||||
|
||||
[[extra.menu]]
|
||||
name = "About"
|
||||
url = "about"
|
||||
|
||||
[extra.footer]
|
||||
start_year = "2020" # start year of the site
|
||||
end_year = "2021" # end year of the site
|
||||
info = "Made with <a href=\"https://www.getzola.org\">Zola</a> with <a href=\"https://github.com/aaranxu/tale-zola\">Tala-Zola</a> theme."
|
||||
|
||||
|
||||
# The options below are used to refer to the expressions on the pages, and you
|
||||
# can custom the contents as needed in your language.
|
||||
[extra.expressions]
|
||||
home = "Home" # The homepage's name
|
||||
pinned = "Pinned" # On the header of the post list
|
||||
written_by = "Written by" # Like: Written by Aaran Xu
|
||||
on = "on" # Like: on May 3, 2021
|
||||
top = "Top" # Go to the top of the page in the post
|
||||
tags = "Tags" # In the page of Tags
|
||||
|
||||
# disqus comments block
|
||||
disqus_discussion = "Discussion and feedback"
|
||||
|
||||
# The contents of the 404 page
|
||||
p404 = "404: Page not found"
|
||||
p404_info = "Oops! We can't seem to find the page you are looking for."
|
||||
p404_back_home_start = "Let's"
|
||||
p404_back_home_with_link = "head back home"
|
||||
p404_back_home_end = "."
|
|
@ -0,0 +1,9 @@
|
|||
[build]
|
||||
publish = "public"
|
||||
command = "zola build"
|
||||
|
||||
[build.environment]
|
||||
ZOLA_VERSION = "0.13.0"
|
||||
|
||||
[context.deploy-preview]
|
||||
command = "zola build --base-url $DEPLOY_PRIME_URL"
|
|
@ -0,0 +1,26 @@
|
|||
pre {
|
||||
padding: 1rem;
|
||||
overflow: auto;
|
||||
}
|
||||
// The line numbers already provide some kind of left/right padding
|
||||
pre[data-linenos] {
|
||||
padding: 1rem 0;
|
||||
}
|
||||
pre table td {
|
||||
padding: 0;
|
||||
}
|
||||
// The line number cells
|
||||
pre table td:nth-of-type(1) {
|
||||
text-align: center;
|
||||
user-select: none;
|
||||
}
|
||||
pre mark {
|
||||
// If you want your highlights to take the full width.
|
||||
display: block;
|
||||
// The default background colour of a mark is bright yellow
|
||||
background-color: rgba(254, 252, 232, 0.9);
|
||||
}
|
||||
pre table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
@import 'tale/variables';
|
||||
@import 'tale/base';
|
||||
@import 'tale/code';
|
||||
@import 'tale/post';
|
||||
@import 'tale/footnote';
|
||||
@import 'tale/syntax';
|
||||
@import 'tale/layout';
|
||||
@import 'tale/pagination';
|
||||
@import 'tale/catalogue';
|
||||
@import 'tale/404';
|
||||
@import 'tale/tags';
|
||||
@import 'custom';
|
|
@ -0,0 +1,22 @@
|
|||
.notfound {
|
||||
position: relative;
|
||||
text-align: center;
|
||||
margin: 4rem 0;
|
||||
|
||||
&-error {
|
||||
font-size: 4rem;
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
&-line {
|
||||
border-top: 0.4rem solid $default-shade;
|
||||
display: block;
|
||||
margin: 0 auto 3rem;
|
||||
width: 4rem;
|
||||
}
|
||||
|
||||
&-message {
|
||||
max-width: 25rem;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
* {
|
||||
@include box-sizing;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
color: $default-color;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: $serif-primary;
|
||||
font-size: 14px;
|
||||
overflow-y: scroll;
|
||||
|
||||
@media (min-width: 600px) {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: $default-shade;
|
||||
font-family: $sans-serif;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
a {
|
||||
color: $blue;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: .25rem solid $grey-2;
|
||||
color: $grey-1;
|
||||
margin: .8rem 0;
|
||||
padding: .5rem 1rem;
|
||||
|
||||
p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (min-width: 600px) {
|
||||
padding: 0 5rem 0 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
margin: 0 0 1rem;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
td {
|
||||
vertical-align: top;
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
.catalogue {
|
||||
&-item {
|
||||
border-bottom: 1px solid $grey-2;
|
||||
color: $default-color;
|
||||
display: block;
|
||||
padding: 2rem 0;
|
||||
|
||||
&:hover .catalogue-line,
|
||||
&:focus .catalogue-line {
|
||||
width: 5rem;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&-pinned {
|
||||
color: $default-tint;
|
||||
font-family: $serif-secondary;
|
||||
letter-spacing: .5px;
|
||||
}
|
||||
|
||||
&-time {
|
||||
color: $default-tint;
|
||||
font-family: $serif-secondary;
|
||||
letter-spacing: .5px;
|
||||
}
|
||||
|
||||
&-title {
|
||||
color: $default-shade;
|
||||
display: block;
|
||||
font-family: $sans-serif;
|
||||
font-size: 2rem;
|
||||
font-weight: 700;
|
||||
margin: .5rem 0;
|
||||
}
|
||||
|
||||
&-line {
|
||||
@include transition(all .3s ease-out);
|
||||
border-top: .2rem solid $default-shade;
|
||||
display: block;
|
||||
width: 2rem;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
pre,
|
||||
code {
|
||||
font-family: $monospaced;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: $grey-3;
|
||||
border-radius: 3px;
|
||||
color: $code-color;
|
||||
font-size: 85%;
|
||||
padding: .25em .5em;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin: 0 0 1rem;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
pre code {
|
||||
background-color: transparent;
|
||||
color: inherit;
|
||||
font-size: 100%;
|
||||
padding: 0;
|
||||
font: $code-font;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
background-color: $grey-3;
|
||||
border-radius: 3px;
|
||||
line-height: 1.4;
|
||||
margin: 0 0 1rem;
|
||||
padding: 1rem;
|
||||
|
||||
pre {
|
||||
margin-bottom: 0;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.lineno {
|
||||
color: $default-tint;
|
||||
display: inline-block; // Ensures the null space also isn't selectable
|
||||
padding: 0 .75rem 0 .25rem;
|
||||
// Make sure numbers aren't selectable
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
.footnote-definition {
|
||||
sup {
|
||||
top: -.2.5em;
|
||||
font-size: 0.75em;
|
||||
display: inline;
|
||||
}
|
||||
p {
|
||||
display: inline;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,92 @@
|
|||
.container {
|
||||
margin: 0 auto;
|
||||
max-width: 800px;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
main,
|
||||
footer,
|
||||
.nav-container {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
max-width: 800px;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.nav {
|
||||
box-shadow: 0 2px 2px -2px $shadow-color;
|
||||
overflow: auto;
|
||||
|
||||
&-container {
|
||||
margin: 1rem auto;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&-title {
|
||||
@include transition(all .2s ease-out);
|
||||
color: $default-color;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding-right: .2rem;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
opacity: .6;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style-type: none;
|
||||
margin: 1rem 0 0;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
li {
|
||||
@include transition(all .2s ease-out);
|
||||
color: $default-color;
|
||||
display: inline-block;
|
||||
opacity: .6;
|
||||
padding: 0 2rem 0 0;
|
||||
|
||||
&:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: $default-color;
|
||||
font-family: $sans-serif;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 600px) {
|
||||
.nav {
|
||||
&-container {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
ul {
|
||||
bottom: 0;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
font-family: $serif-secondary;
|
||||
padding: 2rem 0;
|
||||
text-align: center;
|
||||
|
||||
span {
|
||||
color: $default-color;
|
||||
font-size: .8rem;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
.pagination {
|
||||
border-top: .5px solid $grey-2;
|
||||
font-family: $serif-secondary;
|
||||
padding-top: 2rem;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
|
||||
span {
|
||||
color: $default-shade;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.top {
|
||||
@include transition(all .3s ease-out);
|
||||
color: $default-color;
|
||||
font-family: $sans-serif;
|
||||
font-size: 1.1rem;
|
||||
opacity: .6;
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.arrow {
|
||||
@include transition(all .3s ease-out);
|
||||
color: $default-color;
|
||||
position: absolute;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
opacity: .6;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.left {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.right {
|
||||
right: 0;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
.post {
|
||||
padding: 3rem 0;
|
||||
|
||||
&-info {
|
||||
color: $default-tint;
|
||||
font-family: $serif-secondary;
|
||||
letter-spacing: 0.5px;
|
||||
text-align: center;
|
||||
|
||||
span {
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
|
||||
&-title {
|
||||
color: $default-shade;
|
||||
font-family: $sans-serif;
|
||||
font-size: 4rem;
|
||||
margin: 1rem 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&-line {
|
||||
border-top: 0.4rem solid $default-shade;
|
||||
display: block;
|
||||
margin: 0 auto 3rem;
|
||||
width: 4rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 0 1rem;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
img {
|
||||
margin: 0 auto 0.5rem;
|
||||
}
|
||||
|
||||
img + em {
|
||||
color: $default-tint;
|
||||
display: block;
|
||||
font-family: $sans-serif;
|
||||
font-size: 0.9rem;
|
||||
font-style: normal;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
// CSS for making emoji inline
|
||||
img.emoji {
|
||||
display: inline-block;
|
||||
left: 0;
|
||||
transform: none;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
vertical-align: text-top;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 2em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
.highlight .hll { background-color: #ffc; }
|
||||
.highlight .c { color: #999; } /* Comment */
|
||||
.highlight .err { color: #a00; background-color: #faa } /* Error */
|
||||
.highlight .k { color: #069; } /* Keyword */
|
||||
.highlight .o { color: #555 } /* Operator */
|
||||
.highlight .cm { color: #09f; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #099 } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #999; } /* Comment.Single */
|
||||
.highlight .cs { color: #999; } /* Comment.Special */
|
||||
.highlight .gd { background-color: #fcc; border: 1px solid #c00 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #f00 } /* Generic.Error */
|
||||
.highlight .gh { color: #030; } /* Generic.Heading */
|
||||
.highlight .gi { background-color: #cfc; border: 1px solid #0c0 } /* Generic.Inserted */
|
||||
.highlight .go { color: #aaa } /* Generic.Output */
|
||||
.highlight .gp { color: #009; } /* Generic.Prompt */
|
||||
.highlight .gs { } /* Generic.Strong */
|
||||
.highlight .gu { color: #030; } /* Generic.Subheading */
|
||||
.highlight .gt { color: #9c6 } /* Generic.Traceback */
|
||||
.highlight .kc { color: #069; } /* Keyword.Constant */
|
||||
.highlight .kd { color: #069; } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #069; } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #069 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #069; } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #078; } /* Keyword.Type */
|
||||
.highlight .m { color: #f60 } /* Literal.Number */
|
||||
.highlight .s { color: #d44950 } /* Literal.String */
|
||||
.highlight .na { color: #4f9fcf } /* Name.Attribute */
|
||||
.highlight .nb { color: #366 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0a8; } /* Name.Class */
|
||||
.highlight .no { color: #360 } /* Name.Constant */
|
||||
.highlight .nd { color: #99f } /* Name.Decorator */
|
||||
.highlight .ni { color: #999; } /* Name.Entity */
|
||||
.highlight .ne { color: #c00; } /* Name.Exception */
|
||||
.highlight .nf { color: #c0f } /* Name.Function */
|
||||
.highlight .nl { color: #99f } /* Name.Label */
|
||||
.highlight .nn { color: #0cf; } /* Name.Namespace */
|
||||
.highlight .nt { color: #2f6f9f; } /* Name.Tag */
|
||||
.highlight .nv { color: #033 } /* Name.Variable */
|
||||
.highlight .ow { color: #000; } /* Operator.Word */
|
||||
.highlight .w { color: #bbb } /* Text.Whitespace */
|
||||
.highlight .mf { color: #f60 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #f60 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #f60 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #f60 } /* Literal.Number.Oct */
|
||||
.highlight .sb { color: #c30 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #c30 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #c30; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #c30 } /* Literal.String.Double */
|
||||
.highlight .se { color: #c30; } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #c30 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #a00 } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #c30 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #3aa } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #c30 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #fc3 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #366 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #033 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #033 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #033 } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #f60 } /* Literal.Number.Integer.Long */
|
||||
|
||||
.css .o,
|
||||
.css .o + .nt,
|
||||
.css .nt + .nt { color: #999; }
|
|
@ -0,0 +1,92 @@
|
|||
.tags {
|
||||
&-header {
|
||||
&-title {
|
||||
color: $default-shade;
|
||||
font-family: $sans-serif;
|
||||
font-size: 4rem;
|
||||
margin: 1rem 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&-line {
|
||||
border-top: 0.4rem solid $default-shade;
|
||||
display: block;
|
||||
margin: 0 auto 3rem;
|
||||
width: 4rem;
|
||||
}
|
||||
}
|
||||
|
||||
&-clouds {
|
||||
text-align: center;
|
||||
font-family: $sans-serif;
|
||||
|
||||
a {
|
||||
display: inline-block;
|
||||
margin: 0 0.1rem 0.2rem;
|
||||
padding: 0.2rem 0.5rem;
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
border-radius: 5px;
|
||||
color: $default-color;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover,
|
||||
&:active {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&-item {
|
||||
&-icon {
|
||||
height: 1rem;
|
||||
}
|
||||
|
||||
&-label {
|
||||
display: inline-block;
|
||||
margin: 2rem 0 0.5rem;
|
||||
|
||||
a {
|
||||
font-family: $sans-serif;
|
||||
color: $default-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&-post {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 5px 0;
|
||||
|
||||
&-title {
|
||||
color: $default-color;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
&-line {
|
||||
@include transition(all 0.3s ease-out);
|
||||
border-top: 0.1rem solid $default-shade;
|
||||
display: block;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
&-meta {
|
||||
color: $default-tint;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:active {
|
||||
.tags-post-line {
|
||||
width: 3rem;
|
||||
}
|
||||
|
||||
.tags-post-meta {
|
||||
color: $default-shade;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
// Colors
|
||||
$default-color: #555 !default;
|
||||
$default-shade: #353535 !default;
|
||||
$default-tint: #aaa !default;
|
||||
$grey-1: #979797 !default;
|
||||
$grey-2: #e5e5e5 !default;
|
||||
$grey-3: #f9f9f9 !default;
|
||||
$white: #fff !default;
|
||||
$blue: #4a9ae1 !default;
|
||||
$shadow-color: rgba(0, 0, 0, .2) !default;
|
||||
$code-color: #bf616a !default;
|
||||
|
||||
// Fonts
|
||||
$serif-primary: 'Libre Baskerville', 'Times New Roman', Times, "Source Serif Pro", "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Hiragino Sans GB W3", "Microsoft YaHei UI", "Microsoft YaHei", '微软雅黑', '思源黑体', SYHT, "WenQuanYi Micro Hei", serif !default;
|
||||
$serif-secondary: Palatino, 'Palatino LT STD', 'Palatino Linotype', 'Book Antiqua', 'Georgia', serif !default;
|
||||
$sans-serif: 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, sans-serif !default;
|
||||
$monospaced: Menlo, Monaco, monospace !default;
|
||||
$code-font: 400 1.125rem/1.75 SFMono-Regular, Consolas, Liberation Mono,Menlo, monospace;
|
||||
|
||||
@mixin box-sizing($type: border-box) {
|
||||
-webkit-box-sizing: $type;
|
||||
-moz-box-sizing: $type;
|
||||
box-sizing: $type;
|
||||
}
|
||||
|
||||
@mixin transition($args...) {
|
||||
-webkit-transition: $args;
|
||||
-moz-transition: $args;
|
||||
transition: $args;
|
||||
}
|
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 182 KiB |
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 1.1 KiB |
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 578 B |
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 753 B |
|
@ -0,0 +1,10 @@
|
|||
/*
|
||||
disqusLoader.js v1.0
|
||||
A JavaScript plugin for lazy-loading Disqus comments widget.
|
||||
-
|
||||
By Osvaldas Valutis, www.osvaldas.info
|
||||
Available for use under the MIT License
|
||||
*/
|
||||
(function(b,f,l){var r=function(a){a=a.getBoundingClientRect();return{top:a.top+f.body.scrollTop,left:a.left+f.body.scrollLeft}},t=function(a,c){var d=f.createElement("script");d.src=a;d.async=!0;d.setAttribute("data-timestamp",+new Date);d.addEventListener("load",function(){"function"===typeof c&&c()});(f.head||f.body).appendChild(d)};l=function(a,c){var d,e;return function(){var g=this,f=arguments,b=+new Date;d&&b<d+a?(clearTimeout(e),e=setTimeout(function(){d=b;c.apply(g,f)},a)):(d=b,c.apply(g,
|
||||
f))}};var m=!1,n=!1,p=!1,k=!1,h="unloaded",e=!1,q=function(){if(!e||!f.body.contains(e)||"loaded"==e.disqusLoaderStatus)return!0;var a=b.pageYOffset,c=r(e).top;if(c-a>b.innerHeight*n||0<a-c-e.offsetHeight-b.innerHeight*n)return!0;(a=f.getElementById("disqus_thread"))&&a.removeAttribute("id");e.setAttribute("id","disqus_thread");e.disqusLoaderStatus="loaded";"loaded"==h?DISQUS.reset({reload:!0,config:p}):(b.disqus_config=p,"unloaded"==h&&(h="loading",t(k,function(){h="loaded"})))};b.addEventListener("scroll",
|
||||
l(m,q));b.addEventListener("resize",l(m,q));b.disqusLoader=function(a,c){var d={laziness:1,throttle:250,scriptUrl:!1,disqusConfig:!1},b=c,g,h={};for(g in d)Object.prototype.hasOwnProperty.call(d,g)&&(h[g]=d[g]);for(g in b)Object.prototype.hasOwnProperty.call(b,g)&&(h[g]=b[g]);c=h;n=c.laziness+1;m=c.throttle;p=c.disqusConfig;k=!1===k?c.scriptUrl:k;e="string"===typeof a?f.querySelector(a):"number"===typeof a.length?a[0]:a;e.disqusLoaderStatus="unloaded";q()}})(window,document,0);
|
|
@ -0,0 +1,37 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
|
||||
|
||||
{% block seo -%}
|
||||
{{ super() }}
|
||||
|
||||
{%- set home = "404" -%}
|
||||
{% set og_title = home -%}
|
||||
|
||||
{% if config.title -%}
|
||||
{% set title = home ~ " | " ~ config.title -%}
|
||||
{% else -%}
|
||||
{% set title = home -%}
|
||||
{% endif -%}
|
||||
|
||||
{% set web_type = "WebPage" -%}
|
||||
|
||||
{{ macros::seo(title=title, og_title=og_title, author=author, description=description, site_url=site_url, image=image, image_height=image_height, image_width=image_width, web_type=web_type) }}
|
||||
{%- endblock seo %}
|
||||
|
||||
|
||||
|
||||
{% block content %}
|
||||
<div class="notfound">
|
||||
<h1 class="notfound-error">{{ config.extra.expressions.p404 | default(value="404: Page not found") }}</h1>
|
||||
<div class="notfound-line"></div>
|
||||
<p class="notfound-message">
|
||||
{{ config.extra.expressions.p404_info | default(value="Oops! We can't seem to find the page you are looking for.") | safe }} {{ config.extra.expressions.p404_back_home_start | default(value="Let's") |
|
||||
safe }}
|
||||
<a href="{{ config.base_url | safe }}">{{ config.extra.expressions.p404_back_home_with_link | default(value="head back home") |
|
||||
safe }}</a>{{ config.extra.expressions.p404_back_home_end | default(value=".") |
|
||||
safe }}
|
||||
</p>
|
||||
<p></p>
|
||||
</div>
|
||||
{% endblock content %}
|
|
@ -0,0 +1,80 @@
|
|||
{% import 'macros.html' as macros %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ config.extra.language_code | default(value="en") }}">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
{% block seo %}
|
||||
{%- set site_url = current_url | default(value=get_url(path="404.html")) -%}
|
||||
{% set author = config.extra.author | default(value="") -%}
|
||||
{% set description = config.description | default(value="") -%}
|
||||
{% set image = config.extra.seo.image | default(value="") -%}
|
||||
{% set image_height = config.extra.seo.image_height | default(value=0) -%}
|
||||
{% set image_width = config.extra.seo.image_width | default(value=0) -%}
|
||||
{% endblock seo %}
|
||||
|
||||
<link rel="stylesheet" href="{{ get_url(path="main.css") | safe }}">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Libre+Baskerville:400,400i,700">
|
||||
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ get_url(path="assets/favicon-32x32.png") | safe }}">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ get_url(path="assets/favicon-16x16.png") | safe }}">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ get_url(path="assets/apple-touch-icon.png") | safe }}">
|
||||
|
||||
{% if config.generate_feed %}
|
||||
<link type="application/atom+xml" rel="alternate" href="{{ get_url(path=config.feed_filename | default(value="atom.xml")) | safe }}" title="{{ config.title | default(value="Tale-Zola") }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if config.extra.google_analytics %}
|
||||
<script async src='https://www.google-analytics.com/analytics.js'></script>
|
||||
<script>
|
||||
window.ga = window.ga || function () { (ga.q = ga.q || []).push(arguments) }; ga.l = +new Date;
|
||||
ga('create', '{{ config.extra.google_analytics }}', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
{% endif %}
|
||||
|
||||
{#{ macros::katex() }#}
|
||||
{% include "partials/katex.html" %}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{% block header %}
|
||||
<nav class="nav">
|
||||
<div class="nav-container">
|
||||
<a href="{{ config.base_url | safe }}">
|
||||
<h2 class="nav-title">{{ config.title | default(value="Tale-Zola")}}</h2>
|
||||
</a>
|
||||
<ul>
|
||||
{% if config.extra.menu %}
|
||||
{% for menu in config.extra.menu %}
|
||||
<li><a href="{{ get_url(path=menu.url) | safe }}">{{ menu.name }}</a></li>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<li><a href="{{ config.base_url | safe }}">Posts</a></li>
|
||||
<li><a href="{{ get_url(path="tags") | safe }}">Tags</a></li>
|
||||
<li><a href="{{ get_url(path="about") | safe }}">About</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
{% endblock header %}
|
||||
|
||||
<main>
|
||||
{% block content %}{% endblock content %}
|
||||
</main>
|
||||
|
||||
{% block footer %}
|
||||
<footer>
|
||||
<span>
|
||||
{%- if config.extra.footer -%}
|
||||
© {{ macros::time() }} {{ config.extra.author | default(value="Aaran Xu")}}. {{ config.extra.footer.info | default(value="Made with Zola with Tala-Zola theme.") | safe }}
|
||||
{%- else -%}
|
||||
© 2021 Aaran Xu. Made with <a href="https://www.getzola.org">Zola</a> using the <a
|
||||
href="https://github.com/aaranxu/tale-zola">Tale-Zola</a> theme.
|
||||
{%- endif -%}
|
||||
</span>
|
||||
</footer>
|
||||
{% endblock footer %}
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,41 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
|
||||
|
||||
{% block seo -%}
|
||||
{{ super() }}
|
||||
|
||||
{%- set home = config.extra.expressions.home | default(value="Home") -%}
|
||||
{% set og_title = home -%}
|
||||
|
||||
{% if config.title -%}
|
||||
{% set title = home ~ " | " ~ config.title -%}
|
||||
{% else -%}
|
||||
{% set title = home -%}
|
||||
{% endif -%}
|
||||
|
||||
{{ macros::seo(title=title, og_title=og_title, author=author, description=description, site_url=site_url, image=image, image_height=image_height, image_width=image_width) }}
|
||||
{%- endblock seo %}
|
||||
|
||||
|
||||
|
||||
{% block content %}
|
||||
{% if paginator.pages %}
|
||||
<div class="catalogue">
|
||||
{% for page in paginator.pages -%}
|
||||
{{ macros::page(page=page) }}
|
||||
{%- endfor %}
|
||||
</div>
|
||||
<div class="pagination">
|
||||
{% if paginator.previous -%}
|
||||
<a href="{{ paginator.previous | safe }}" class="left arrow">←</a>
|
||||
{%- endif %}
|
||||
{% if paginator.previous or paginator.next -%}
|
||||
<span>{{ paginator.current_index }}</span>
|
||||
{%- endif %}
|
||||
{% if paginator.next -%}
|
||||
<a href="{{ paginator.next | safe }}" class="right arrow">→</a>
|
||||
{%- endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock content %}
|
|
@ -0,0 +1,191 @@
|
|||
{%- macro time() -%}
|
||||
{%- if config.extra.footer.start_year -%}
|
||||
{%- set start_year = config.extra.footer.start_year -%}
|
||||
{%- else -%}
|
||||
{%- set start_year = now() | date(format="%Y") -%}
|
||||
{%- endif -%}
|
||||
|
||||
{%- if config.extra.footer.end_year -%}
|
||||
{%- set end_year = config.extra.footer.end_year -%}
|
||||
{%- else -%}
|
||||
{%- set end_year = now() | date(format="%Y") -%}
|
||||
{%- endif -%}
|
||||
|
||||
{%- if start_year == end_year -%}
|
||||
{%- set year = start_year -%}
|
||||
{%- else -%}
|
||||
{%- set year = start_year ~ "-" ~ end_year -%}
|
||||
{%- endif -%}
|
||||
|
||||
<time datetime="{{ now() }}">{{ year }}</time>
|
||||
{%- endmacro -%}
|
||||
|
||||
|
||||
|
||||
{% macro page(page) -%}
|
||||
<a href="{{ page.permalink | safe }}" class="catalogue-item">
|
||||
<div>
|
||||
<span class="catalogue-pinned">{{ config.extra.expressions.pinned | default(value="Pinned")}} ·</span>
|
||||
<time datetime="{{ page.date }}" class="catalogue-time">{{ page.date | date(format=config.extra.timeformat |
|
||||
default(value="%B %e, %Y")) }}</time>
|
||||
<h1 class="catalogue-title">{{ page.title }}</h1>
|
||||
<div class="catalogue-line"></div>
|
||||
<p>
|
||||
{%- if page.summary -%}
|
||||
{{ page.summary | safe }}
|
||||
{% else -%}
|
||||
{{ page.content | striptags | truncate(length=280) | safe }}
|
||||
{%- endif -%}
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
{%- endmacro %}
|
||||
|
||||
|
||||
|
||||
{% macro seo(
|
||||
title="",
|
||||
og_title="",
|
||||
author="",
|
||||
description="",
|
||||
site_url="",
|
||||
image="",
|
||||
image_height="",
|
||||
image_width="",
|
||||
web_type="WebSite"
|
||||
) -%}
|
||||
{% if title %}
|
||||
<title>{{ title }}</title>
|
||||
{% endif %}
|
||||
|
||||
{% if og_title %}
|
||||
<meta property="og:title" content="{{ og_title }}">
|
||||
{% endif %}
|
||||
|
||||
{% if author %}
|
||||
<meta name="author" content="{{ author }}">
|
||||
{% endif %}
|
||||
|
||||
<meta property="og:locale" content="{{ config.extra.seo.og_locale | default(value="en-US") }}">
|
||||
|
||||
{% if description %}
|
||||
<meta name="description" content="{{ description }}">
|
||||
<meta property="og:description" content="{{ description }}">
|
||||
{% endif %}
|
||||
|
||||
{% if site_url %}
|
||||
<link rel="canonical" href="{{ site_url | safe }}">
|
||||
<meta property="og:url" content="{{ site_url | safe }}">
|
||||
{% endif %}
|
||||
|
||||
{% if config.title %}
|
||||
<meta property="og:site_name" content="{{ config.title }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if image %}
|
||||
<meta property="og:image" content="{{ get_url(path=image) | safe }}">
|
||||
{% if image_height -%}
|
||||
<meta property="og:image:height" content="{{ image_height }}">
|
||||
{%- endif %}
|
||||
{% if image_width -%}
|
||||
<meta property="og:image:width" content="{{ image_width }}">
|
||||
{%- endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.date %}
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="article:published_time" content="{{ page.date | date(format="%+") }}">
|
||||
{% endif %}
|
||||
|
||||
{% if page.earlier %}
|
||||
<link rel="prev" href="{{ page.earlier.permalink | safe }}">
|
||||
{% elif paginator.previous %}
|
||||
<link rel="prev" href="{{ paginator.previous | safe }}">
|
||||
{% endif %}
|
||||
|
||||
{% if ppage.later %}
|
||||
<link rel="next" href="{{ page.later.permalink | safe }}">
|
||||
{% elif paginator.next %}
|
||||
<link rel="next" href="{{ paginator.next | safe }}">
|
||||
{% endif %}
|
||||
|
||||
{% if image %}
|
||||
<meta name="twitter:card" content="summary_large_image"">
|
||||
<meta property="twitter:image" content="{{ get_url(path=image) | safe }}">
|
||||
{% else %}
|
||||
<meta name="twitter:card" content="summary">
|
||||
{% endif %}
|
||||
|
||||
{% if og_title %}
|
||||
<meta property="twitter:title" content="{{ og_title }}">
|
||||
{% endif %}
|
||||
|
||||
{% if config.extra.seo.twitter.site %}
|
||||
<meta name="twitter:site" content="@{{ config.extra.seo.twitter.site }}">
|
||||
{% if config.extra.seo.twitter_creator %}
|
||||
<meta name="twitter:creator" content="@{{ config.extra.seo.twitter.creator }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if config.extra.seo.facebook %}
|
||||
{% if config.extra.seo.facebook.admins %}
|
||||
<meta property="fb:admins" content="{{ config.extra.seo.facebook.admins }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if config.extra.seo.facebook.publisher %}
|
||||
<meta property="article:publisher" content="{{ config.extra.seo.facebook.publisher }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if config.extra.seo.facebook.app_id %}
|
||||
<meta property="fb:app_id" content="{{ config.extra.seo.facebook.app_id }}" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if config.extra.seo.webmaster %}
|
||||
{% if config.extra.seo.webmaster.google %}
|
||||
<meta name="google-site-verification" content="{{ config.extra.seo.webmaster.google }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if config.extra.seo.webmaster.bing %}
|
||||
<meta name="msvalidate.01" content="{{ config.extra.seo.webmaster.bing }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if config.extra.seo.webmaster.alexa %}
|
||||
<meta name="alexaVerifyID" content="{{ config.extra.seo.webmaster.alexa }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if config.extra.seo.webmaster.yandex %}
|
||||
<meta name="yandex-verification" content="{{ config.extra.seo.webmaster.yandex }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if config.extra.seo.webmaster.baidu %}
|
||||
<meta name="baidu-site-verification" content="{{ config.extra.seo.webmaster.baidu }}" />
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"author": {
|
||||
"@type":"Person",
|
||||
"name":"{{ author }}",
|
||||
},
|
||||
"description": "{{description }}",
|
||||
"url": "{{ site_url | safe }}",
|
||||
"@context":"https://schema.org",
|
||||
"@type": "{{ web_type }}",
|
||||
"headline": "{{ og_title }}"
|
||||
{% if page %}
|
||||
{% if page.updated %}
|
||||
"dateModified":"{{ page.updated | date(format="%+") }}",
|
||||
{% endif %}
|
||||
{% if page.date %}
|
||||
"datePublished":"{{ page.date | date(format="%+") }}",
|
||||
{% endif %}
|
||||
"mainEntityOfPage":{
|
||||
"@type":"WebPage",
|
||||
"@id":"{{ site_url | safe }}"
|
||||
},
|
||||
{% endif %}
|
||||
}
|
||||
</script>
|
||||
{%- endmacro %}
|
|
@ -0,0 +1,73 @@
|
|||
{% extends "base.html"%}
|
||||
|
||||
|
||||
|
||||
{% block seo -%}
|
||||
{{ super() }}
|
||||
|
||||
{%- set og_title = page.title -%}
|
||||
|
||||
{% if config.title and page.title -%}
|
||||
{% set title = page.title ~ " | " ~ config.title -%}
|
||||
{% elif page.title -%}
|
||||
{% set title = page.title -%}
|
||||
{% elif config.title -%}
|
||||
{% set title = config.title -%}
|
||||
{% else -%}
|
||||
{% set title = "" -%}
|
||||
{% endif -%}
|
||||
|
||||
{% if page.extra.author -%}
|
||||
{% set author = page.extra.author -%}
|
||||
{% endif -%}
|
||||
|
||||
{% if page.description -%}
|
||||
{% set description = page.description -%}
|
||||
{% endif -%}
|
||||
|
||||
{% if page.extra.image -%}
|
||||
{% set image = page.extra.image -%}
|
||||
{% endif -%}
|
||||
|
||||
{% if page.extra.image_height -%}
|
||||
{% set image_height = page.extra.image_height -%}
|
||||
{% endif -%}
|
||||
|
||||
{% if page.extra.image_width -%}
|
||||
{% set image_width = page.extra.image_width -%}
|
||||
{% endif -%}
|
||||
|
||||
{% set web_type = "BlogPosting" -%}
|
||||
|
||||
{{ macros::seo(title=title, og_title=og_title, author=author, description=description, site_url=site_url, image=image, image_height=image_height, image_width=image_width, web_type=web_type) }}
|
||||
{%- endblock seo %}
|
||||
|
||||
|
||||
|
||||
{% block content %}
|
||||
<div class="post">
|
||||
<div class="post-info">
|
||||
{% if page.extra.author -%}
|
||||
<span>{{ config.extra.expressions.written_by | default(value="Written by") }}</span> {{ page.extra.author }}<br>
|
||||
{% elif config.extra.author -%}
|
||||
<span>{{ config.extra.expressions.written_by | default(value="Written by") }}</span> {{ config.extra.author }}<br>
|
||||
{%- endif %}
|
||||
<span>{{ config.extra.expressions.on | default(value="on")}} </span><time datetime="{{ page.date }}">{{ page.date | date(format=config.extra.timeformat | default(value="%B %e, %Y"))}}</time>
|
||||
</div>
|
||||
<h1 class="post-title">{{ page.title }}</h1>
|
||||
<div class="post-line"></div>
|
||||
{{ page.content | safe }}
|
||||
</div>
|
||||
|
||||
{% include "partials/disqus.html" %}
|
||||
|
||||
<div class="pagination">
|
||||
{% if page.later -%}
|
||||
<a href="{{ page.later.permalink | safe }}" class="left arrow">←</a>
|
||||
{%- endif %}
|
||||
<a href="#" class="top">Top</a>
|
||||
{% if page.earlier -%}
|
||||
<a href="{{ page.earlier.permalink | safe }}" class="right arrow">→</a>
|
||||
{%- endif %}
|
||||
</div>
|
||||
{% endblock content %}
|
|
@ -0,0 +1,13 @@
|
|||
{% if page.extra.disqus or config.extra.disqus -%}
|
||||
<script src="{{ get_url(path=" assets/js/disqusLoader.js") | safe }}"></script>
|
||||
<div id="disqus_thread">
|
||||
<h3>{{ config.extra.expressions.disqus_discussion | default(value="Discussion and feedback") }}</h3>
|
||||
</div>
|
||||
<div class="disqus"></div>
|
||||
<script>
|
||||
disqusLoader('.disqus', {
|
||||
scriptUrl: 'https://{{ config.extra.disqus_id | default(value="") }}.disqus.com/embed.js'
|
||||
});
|
||||
</script>
|
||||
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||
{%- endif %}
|
|
@ -0,0 +1,9 @@
|
|||
{% if page.extra.katex or section.extra.katex or config.extra.katex %}
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css"
|
||||
integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js"
|
||||
integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js"
|
||||
integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"
|
||||
onload="renderMathInElement(document.body);"></script>
|
||||
{% endif %}
|
|
@ -0,0 +1,40 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
|
||||
|
||||
{% block seo -%}
|
||||
{{ super() }}
|
||||
|
||||
{% set og_title = section.title | default(value="About") -%}
|
||||
|
||||
{% if config.title and section.title -%}
|
||||
{% set title = section.title ~ " | " ~ config.title -%}
|
||||
{% elif section.title -%}
|
||||
{% set title = section.title -%}
|
||||
{% elif config.title -%}
|
||||
{% set title = config.title -%}
|
||||
{% else -%}
|
||||
{% set title = "" -%}
|
||||
{% endif -%}
|
||||
|
||||
{% if section.description -%}
|
||||
{% set description = section.description -%}
|
||||
{% endif -%}
|
||||
|
||||
{% set web_type = "WebPage" -%}
|
||||
|
||||
{{ macros::seo(title=title, og_title=og_title, author=author, description=description, site_url=site_url, image=image, image_height=image_height, image_width=image_width, web_type=web_type) }}
|
||||
{%- endblock seo %}
|
||||
|
||||
|
||||
|
||||
{% block content %}
|
||||
<div class="post">
|
||||
<h1 class="post-title">{{ section.title }}</h1>
|
||||
<div class="post-line"></div>
|
||||
{{ section.content | safe }}
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<a href="#" class="top">Top</a>
|
||||
</div>
|
||||
{% endblock content %}
|
|
@ -0,0 +1,63 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
|
||||
|
||||
{% block seo -%}
|
||||
{{ super() }}
|
||||
|
||||
{%- set tags = config.extra.expressions.tags | default(value="Tags") -%}
|
||||
|
||||
{% set og_title = tags -%}
|
||||
|
||||
{% if config.title -%}
|
||||
{% set title = tags ~ " | " ~ config.title -%}
|
||||
{% else -%}
|
||||
{% set title = tags -%}
|
||||
{% endif -%}
|
||||
|
||||
{% set web_type = "WebPage" -%}
|
||||
|
||||
{{ macros::seo(title=title, og_title=og_title, author=author, description=description, site_url=site_url, image=image, image_height=image_height, image_width=image_width, web_type=web_type) }}
|
||||
{%- endblock seo %}
|
||||
|
||||
|
||||
|
||||
{% block content %}
|
||||
<div class="tags">
|
||||
<div class="tags-header">
|
||||
<h2 class="tags-header-title">{{ config.extra.expressions.tags | default(value="Tags") }}</h2>
|
||||
<div class="tags-header-line"></div>
|
||||
</div>
|
||||
<div class="tags-clouds">
|
||||
{% for term in terms -%}
|
||||
<a href="#{{ term.name }}">{{ term.name }}</a>
|
||||
{%- endfor %}
|
||||
</div>
|
||||
|
||||
{% for term in terms -%}
|
||||
<div class="tags-item" id="{{ term.name }}">
|
||||
<svg class="tags-item-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path>
|
||||
<line x1="7" y1="7" x2="7.01" y2="7"></line>
|
||||
</svg>
|
||||
<h2 class="tags-item-label"><a href="{{ term.permalink | safe }}">{{ term.name }}</a></h2>
|
||||
|
||||
{% for page in term.pages -%}
|
||||
<a class="tags-post" href="{{ page.permalink | safe }}">
|
||||
<div>
|
||||
<span class="tags-post-title">{{ page.title }}</span>
|
||||
<div class="tags-post-line"></div>
|
||||
</div>
|
||||
<span class="tags-post-meta">
|
||||
<time datetime="{{ page.date }}">
|
||||
{{ page.date | date(format=config.extra.timeformat |
|
||||
default(value="%B %e, %Y")) }}
|
||||
</time>
|
||||
</span>
|
||||
</a>
|
||||
{% endfor -%}
|
||||
</div>
|
||||
{% endfor -%}
|
||||
</div>
|
||||
{% endblock content %}
|
|
@ -0,0 +1,37 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
|
||||
|
||||
{% block seo -%}
|
||||
{{ super() }}
|
||||
|
||||
{%- set og_title = term.name -%}
|
||||
|
||||
{% if config.title -%}
|
||||
{% set title = term.name ~ " | " ~ config.title -%}
|
||||
{% else -%}
|
||||
{% set title = term.name -%}
|
||||
{% endif -%}
|
||||
|
||||
{% set web_type = "WebPage" -%}
|
||||
|
||||
{{ macros::seo(title=title, og_title=og_title, author=author, description=description, site_url=site_url, image=image, image_height=image_height, image_width=image_width, web_type=web_type) }}
|
||||
{%- endblock seo %}
|
||||
|
||||
|
||||
|
||||
|
||||
{% block content %}
|
||||
<div class="tags">
|
||||
<div class="tags-header">
|
||||
<h2 class="tags-header-title">{{ term.name }}</h2>
|
||||
<div class="tags-header-line"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="catalogue">
|
||||
{% for page in term.pages -%}
|
||||
{{ macros::page(page=page) }}
|
||||
{%- endfor %}
|
||||
</div>
|
||||
{% endblock content %}
|
|
@ -0,0 +1,17 @@
|
|||
name = "tale-zola"
|
||||
description = "Tala-Zola is a minimal Zola theme helping you to build a nice and seo-ready blog."
|
||||
license = "MIT"
|
||||
homepage = "https://github.com/aaranxu/tale-zola"
|
||||
min_version = "0.13.0"
|
||||
demo = "https://tale-zola.netlify.app/"
|
||||
|
||||
[extra]
|
||||
|
||||
[author]
|
||||
name = "Aaran Xu"
|
||||
homepage = "https://github.com/aaranxu"
|
||||
|
||||
[original]
|
||||
author = "Chester How"
|
||||
homepage = "https://chesterhow.github.io/tale/"
|
||||
repo = "https://github.com/chesterhow/tale"
|
Ładowanie…
Reference in New Issue