You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
8.8 KiB
TOML
169 lines
8.8 KiB
TOML
name = "tabi"
|
|
description = "A fast, lightweight, and modern Zola theme with multi-language support, optional JavaScript, and a perfect Lighthouse score"
|
|
license = "MIT"
|
|
homepage = "https://github.com/welpo/tabi"
|
|
|
|
# The minimum version of Zola required
|
|
min_version = "0.17.0"
|
|
|
|
# An optional live demo URL
|
|
demo = "https://welpo.github.io/tabi"
|
|
|
|
# The theme author info: you!
|
|
[author]
|
|
name = "Óscar Fernández"
|
|
homepage = "https://osc.garden"
|
|
|
|
# Any variable there can be overridden in the end user `config.toml`
|
|
# You don't need to prefix variables by the theme name but as this will
|
|
# be merged with user data, some kind of prefix or nesting is preferable
|
|
# Use snake_casing to be consistent with the rest of Zola
|
|
[extra]
|
|
# Languages of your site.
|
|
# You'll need to add the language translations for each non-English language.
|
|
# See the config.toml file for an example.
|
|
language_name.ca = "Català"
|
|
language_name.en = "English"
|
|
language_name.es = "Español"
|
|
|
|
# Enable JavaScript theme toggler to allow users to switch between dark/light mode.
|
|
# Also enables automatic switching based on user's OS-level theme settings.
|
|
# If disabled, your site will only use the theme specified in the `default_theme` variable.
|
|
theme_switcher = true
|
|
|
|
# This setting determines the default theme ("light" or "dark").
|
|
# If you wish to use only a dark or light theme, disable the `theme_switcher` above and set this variable.
|
|
# If `theme_switcher` is enabled, this will be the theme that is visible to users who have JavaScript disabled.
|
|
# Defaults to "light", if unset.
|
|
default_theme = "light"
|
|
|
|
# Add a "copy" button to codeblocks (loads ~700 bytes of JavaScript).
|
|
copy_button = true
|
|
|
|
# Adds backlinks to footnotes (loads ~500 bytes of JavaScripts).
|
|
footnote_backlinks = false
|
|
|
|
# Enable KaTeX for all posts.
|
|
katex = false
|
|
|
|
# Date format used when listing posts (main page, /blog section, tag posts list…)
|
|
# Default is "6th July 2049" in English and "%d %B %Y" in other languages.
|
|
long_date_format = "%d %B %Y"
|
|
|
|
# Date format used for blog posts.
|
|
# Default is "31st Dec 2011".
|
|
short_date_format = ""
|
|
|
|
# Custom separator used in title tag and posts metadata (between date, time to read, and tags).
|
|
separator = "•"
|
|
|
|
# Full path after the base URL required. So if you were to place it in "static" it would be "/favicon.ico"
|
|
favicon = ""
|
|
|
|
# Add an emoji here to use it as favicon.
|
|
# Compatibility: https://caniuse.com/link-icon-svg
|
|
favicon_emoji = "🌱"
|
|
|
|
# This header image is used for SEO. For example if you were to share an image via Messenger/Instagram/Twitter a preview picture is also presented
|
|
headerImage = ""
|
|
|
|
menu = [
|
|
{ name = "blog", url = "blog", trailing_slash = true },
|
|
{ name = "archive", url = "archive", trailing_slash = true },
|
|
{ name = "tags", url = "tags", trailing_slash = true },
|
|
{ name = "projects", url = "projects", trailing_slash = true },
|
|
]
|
|
|
|
# The RSS icon will be shown if (1) it's enabled and (2) the following variable is set to true.
|
|
feed_icon = true
|
|
|
|
# The icons available can be found in "social_icons" in the "static" folder.
|
|
socials = [
|
|
{ name = "github", url = "https://github.com/welpo/", icon = "github" },
|
|
{ name = "soundcloud", url = "https://soundcloud.com/oskerwyld", icon = "soundcloud" },
|
|
{ name = "instagram", url = "https://instagram.com/oskerwyld", icon = "instagram" },
|
|
{ name = "youtube", url = "https://youtube.com/@oskerwyld", icon = "youtube" },
|
|
{ name = "spotify", url = "https://open.spotify.com/artist/5Hv2bYBhMp1lUHFri06xkE", icon = "spotify" },
|
|
]
|
|
|
|
# Custom security headers. What urls should your website be able to connect to?
|
|
# You need to specify the CSP and the URLs associated with the directive.
|
|
# Useful if you want to load remote content safely (embed YouTube videos, which needs frame-src, for example).
|
|
# Default directive is self.
|
|
# Default config, allows for https remote images and embedding YouTube and Vimeo content.
|
|
# This configuration (along with the right webserver settings) gets an A+ in Mozilla's Observatory: https://observatory.mozilla.org
|
|
allowed_domains = [
|
|
{ directive = "font-src", domains = ["'self'", "data:"] },
|
|
{ directive = "img-src", domains = ["'self'", "https://*", "data:"] },
|
|
{ directive = "script-src", domains = ["'self'"] },
|
|
{ directive = "style-src", domains = ["'self'"] },
|
|
{ directive = "frame-src", domains = ["player.vimeo.com", "https://www.youtube-nocookie.com"] },
|
|
]
|
|
|
|
# Custom subset of characters for the header.
|
|
# If set to true, the `static/custom_subset.css` file will be loaded first.
|
|
# This avoids a flashing text issue in Firefox.
|
|
# Please see https://welpo.github.io/tabi/blog/custom-font-subset/ to learn how to create this file.
|
|
custom_subset = true
|
|
|
|
# Quick navigation buttons.
|
|
# Adds "go up" and "go to comments" buttons on the bottom right (hidden for mobile).
|
|
# Can also be enabled on individual posts in the front matter's [extra].
|
|
quick_navigation_buttons = false
|
|
|
|
# giscus support for comments. https://giscus.app
|
|
# Setup instructions: https://welpo.github.io/tabi/blog/comments/#setup
|
|
[extra.giscus]
|
|
enabled_for_all_posts = false # Enables giscus on all posts. It can be enabled on individual posts by setting `giscus = true` in the [extra] section of a post's front matter.
|
|
automatic_loading = true # If set to false, a "Load comments" button will be shown.
|
|
repo = "welpo/tabi-comments"
|
|
repo_id = "R_kgDOJ59Urw" # Find this value in https://giscus.app/
|
|
category = "Announcements"
|
|
category_id = "DIC_kwDOJ59Ur84CX0QG" # Find this value in https://giscus.app/
|
|
mapping = "slug" # Available: pathname; url; title; slug. "slug" will use the post's filename (slug); this is the only way to share comments between languages.
|
|
strict_title_matching = 1 # 1 to enable, 0 to disable. https://github.com/giscus/giscus/blob/main/ADVANCED-USAGE.md#data-strict
|
|
enable_reactions = 1 # 1 to enable, 0 to disable.
|
|
comment_box_above_comments = true
|
|
light_theme = "noborder_light"
|
|
dark_theme = "noborder_dark"
|
|
lang = "" # Leave blank to match the page's language.
|
|
lazy_loading = true
|
|
|
|
# utterances support for comments. https://utteranc.es
|
|
# Setup instructions: https://welpo.github.io/tabi/blog/comments/#setup
|
|
[extra.utterances]
|
|
enabled_for_all_posts = false # Enables utterances on all posts. It can be enabled on individual posts by setting `utterances = true` in the [extra] section of a post's front matter.
|
|
automatic_loading = true # If set to false, a "Load comments" button will be shown.
|
|
repo = "yourGithubUsername/yourRepo" # https://utteranc.es/#heading-repository
|
|
issue_term = "slug" # Available: pathname; url; title; slug. "slug" will use the post's filename (slug); this is the only way to share comments between languages. https://utteranc.es/#heading-mapping
|
|
label = "💬" # https://utteranc.es/#heading-issue-label
|
|
light_theme = "github-light" # https://utteranc.es/#heading-theme
|
|
dark_theme = "photon-dark" # https://utteranc.es/#heading-theme
|
|
lazy_loading = true
|
|
|
|
# Hyvor Talk support for comments. https://talk.hyvor.com
|
|
[extra.hyvortalk]
|
|
enabled_for_all_posts = false # Enables hyvortalk on all posts. It can be enabled on individual posts by setting `hyvortalk = true` in the [extra] section of a post's front matter.
|
|
automatic_loading = true # If set to false, a "Load comments" button will be shown.
|
|
website_id = "1234"
|
|
page_id_is_slug = true # If true, it will use the post's filename (slug) as id; this is the only way to share comments between languages. If false, it will use the entire url as id.
|
|
lang = "" # Leave blank to match the page's language.
|
|
page_author = "" # Email (or base64 encoded email) of the author.
|
|
lazy_loading = true
|
|
|
|
# Isso support for comments. https://isso-comments.de/
|
|
# You need to self-host the backend first: https://blog.phusion.nl/2018/08/16/isso-simple-self-hosted-commenting-system/
|
|
# More info on some settings: https://isso-comments.de/docs/reference/client-config/
|
|
[extra.isso]
|
|
enabled_for_all_posts = false # Enables Isso on all posts. It can be enabled on individual posts by setting `isso = true` in the [extra] section of a post's front matter.
|
|
automatic_loading = true # If set to false, a "Load comments" button will be shown.
|
|
endpoint_url = "" # Accepts relative paths like "/comments/" or "/isso/", as well as full urls like "https://example.com/comments/". Include the trailing slash.
|
|
page_id_is_slug = true # If true, it will use the post's filename (slug) as id; this is the only way to share comments between languages. If false, it will use the entire url as id.
|
|
lang = "" # Leave blank to match the page's language.
|
|
max_comments_top = "inf" # Number of top level comments to show by default. If some comments are not shown, an “X Hidden” link is shown.
|
|
max_comments_nested = "5" # Number of nested comments to show by default. If some comments are not shown, an “X Hidden” link is shown.
|
|
avatar = true
|
|
voting = true
|
|
page_author_hashes = "" # hash (or list of hashes) of the author.
|
|
lazy_loading = true # Loads when the comments are in the viewport (using the Intersection Observer API).
|