title = "user0x42"
base_url = "https://u42.dev"
description = "Home of a Random Dude"

theme = "duckquill"

compile_sass = true
minify_html = true
generate_feeds = true
# Only the first file will be used in the navbar feed button,
# other feeds will still be available in page's head.
feed_filenames = ["rss.xml", "atom.xml"]
build_search_index = true
author = "user0x42"

# Based on https://github.com/welpo/tabi
#
# To translate the entire theme, there must be a file with the same ISO 639-1 or BCP 47
# language code in the `i18n` directory of your site or the Duckquill theme.
# For example, "i18n/fr.toml" for French or "i18n/zh-Hans.toml" for Simplified Chinese.
# Otherwise the theme will be in English.
#
# ISO 639-1: https://localizely.com/iso-639-1-list/
# BCP 47: https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
default_language = "en"

taxonomies = [{ name = "tags", feed = true }]

[markdown]
highlight_code = true
highlight_theme = "css"
highlight_themes_css = [
    { theme = "solarized-dark", filename = "syntax-theme-dark.css" },
    { theme = "solarized-light", filename = "syntax-theme-light.css" },
]
smart_punctuation = true
bottom_footnotes = true

[search]
# index_format = "elasticlunr_json"
index_format = "fuse_json"

taxonomies = [{ name = "tags", feed = true }]

[extra]
# Which theme should be used by default (light/dark).
#
default_theme = "dark"
#
# Sets theme and browser theme color.
# See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name/theme-color
accent_color = "#72BCDE"
# Ditto but for the dark theme.
# If not set regular variant will be used.
accent_color_dark = "#2d7ea0"
# Whether to fix low contrast in text selection, checkboxes, etc.
# Use only if the default doesn't provide enough contrast, e.g. the accent color is set to yellow.
#
fix_contrast = false
#
# Ditto but for the dark theme.
fix_contrast_dark = true
# Whether to use fonts bundled with Duckquill instead of system ones.
# Keep in mind that it also changes the style of headings.
#
bundled_fonts = false
#
# Use emoji as a favicon.
# Only one emoji is being rendered, everything else is truncated.
#
# emoji_favicon = "🦆"
#
# URL to website's issue tracker
issues_url = "https://code.xsiz.eu/user0x42/home/issues"
# URL to website's source code
source_url = "https://code.xsiz.eu/user0x42/home"
# Additional CSS styles; expects them to be in the "./static/" directory.
# If you are using Sass it will be generated there automatically.
#
styles = ["mods.css"]
#
# Additional JavaScript scripts; expects them to be in the "./static/" directory.
#
# scripts = [
#   "YOUR_SCRIPT.js",
# ]
#
# Whether to show "copy code" button on all code blocks
# that have the language set.
# See https://www.getzola.org/documentation/content/syntax-highlighting/
show_copy_button = true
# Whether to show estimated read time in posts.
show_reading_time = true
#
# Whether to show a share button in article's quick actions.
# Uses https://shareopenly.org.
show_share_button = true
# Whether to show the backlinks button for linked articles in the article's quick actions
show_backlinks = true
# Whether to enable the KaTeX library for rendering LaTeX.
# Note: This will make your page significantly heavier.
# Instead, consider enabling it per page/section.
# katex = true
#
# Whether to render table of contents on all pages.
# Will not be rendered if page doesn't have any headings.
# Can be set per page/section.
# toc = true
#
# Whether to render inline table of contents at the top of all pages,
# in addition to floating quick navigation buttons.
# Can be set per page/section.
# toc_inline = true
#
# Whether to use numbered (ordered) list for table of contents.
# Can be set per page/section.
# toc_ordered = true
#
# Custom separator used across the theme.
# separator = "•"
# Custom separator used in title tag and posts metadata.
# title_separator = "-"
#
# Whether to use Content Security Policy.
# Keep in mind that although this can potentially increase security,
# it can break some stuff, in which case you will need to set custom policy.
csp = [
    { directive = "font-src", domains = [
        "'self'",
    ] },
    { directive = "img-src", domains = [
        "'self'",
        "https:",
        "data:",
    ] },
    { directive = "media-src", domains = [
        "'self'",
        "https:",
    ] },
    { directive = "script-src", domains = [
        "'self'",
        "*.xsiz.eu",
    ] },
    { directive = "style-src", domains = [
        "'self'",
        "'unsafe-inline'",
    ] },
    { directive = "frame-src", domains = [
        "https://player.vimeo.com",
        "https://www.youtube-nocookie.com",
        "https://toot.community",
    ] },
    { directive = "connect-src", domains = [
        "https://toot.community",
        "*.xsiz.eu",
    ] },
    { directive = "frame-ancestors", domains = [
        "'none'",
    ] },
    { directive = "base-uri", domains = [
        "'none'",
    ] },
    { directive = "form-action", domains = [
        "'none'",
    ] },
]

[extra.nav]
# Whether to automatically hide nav when not hovered or focused
auto_hide = false
# Whether to show the Atom/RSS feed button in the nav
show_feed = true
# Whether to show the manual theme switcher in the nav
show_theme_switcher = false
# Whether to show the link to the source repository in the nav
show_repo = true
# Links used in the nav.
# For local files use same link format as in Markdown,
# i.e. "@/blog/_index.md".
# See https://www.getzola.org/documentation/content/linking/#internal-links
#links = [
#	{ name = "Links", menu = [
#		{ url = "@/blog/_index.md", name = "Blog" },
#	] },
#	{ url = "https://diadz.de", name = "DIADZ" }
#]
links = [
    { url = "@/blog/_index.md", name = "Blog" },
    { url = "https://xsiz.eu", name = "XSIZ" },
]

[extra.footer]
# Links used in the footer.
# Same as the nav ones.
links = [
    { url = "@/blog/_index.md", name = "Blog" },
    { url = "https://xsiz.eu", name = "XSIZ" },
]
# Social links in the footer.
# Any URL-encoded SVG can be used as an icon.
# https://simpleicons.org is the recommended source of SVG icons.
# For URL encoding use https://yoksel.github.io/url-encoder/.
# Make sure that "external quotes" are set to "double".
socials = [
    { url = "https://code.xsiz.eu/user0x42", name = "XSIZ Code", icon = "%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 24 24'%3E%3Cmask id='lineMdCloudAltTagsTwotoneLoop0'%3E%3Cg fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath stroke-dasharray='64' stroke-dashoffset='64' d='M7 19h11c2.21 0 4 -1.79 4 -4c0 -2.21 -1.79 -4 -4 -4h-1v-1c0 -2.76 -2.24 -5 -5 -5c-2.42 0 -4.44 1.72 -4.9 4h-0.1c-2.76 0 -5 2.24 -5 5c0 2.76 2.24 5 5 5Z'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' dur='0.6s' values='64;0'/%3E%3Cset fill='freeze' attributeName='opacity' begin='0.7s' to='0'/%3E%3C/path%3E%3Cg fill='%23fff' stroke='none' opacity='0'%3E%3Ccircle cx='12' cy='10' r='6'%3E%3Canimate attributeName='cx' begin='0.7s' dur='30s' repeatCount='indefinite' values='12;11;12;13;12'/%3E%3C/circle%3E%3Crect width='9' height='8' x='8' y='12'/%3E%3Crect width='15' height='12' x='1' y='8' rx='6'%3E%3Canimate attributeName='x' begin='0.7s' dur='21s' repeatCount='indefinite' values='1;0;1;2;1'/%3E%3C/rect%3E%3Crect width='13' height='10' x='10' y='10' rx='5'%3E%3Canimate attributeName='x' begin='0.7s' dur='17s' repeatCount='indefinite' values='10;9;10;11;10'/%3E%3C/rect%3E%3Cset fill='freeze' attributeName='opacity' begin='0.7s' to='1'/%3E%3C/g%3E%3Cg fill='%23000' fill-opacity='0' stroke='none'%3E%3Ccircle cx='12' cy='10' r='4'%3E%3Canimate attributeName='cx' begin='0.7s' dur='30s' repeatCount='indefinite' values='12;11;12;13;12'/%3E%3C/circle%3E%3Crect width='9' height='6' x='8' y='12'/%3E%3Crect width='11' height='8' x='3' y='10' rx='4'%3E%3Canimate attributeName='x' begin='0.7s' dur='21s' repeatCount='indefinite' values='3;2;3;4;3'/%3E%3C/rect%3E%3Crect width='9' height='6' x='12' y='12' rx='3'%3E%3Canimate attributeName='x' begin='0.7s' dur='17s' repeatCount='indefinite' values='12;11;12;13;12'/%3E%3C/rect%3E%3Cset fill='freeze' attributeName='fill-opacity' begin='0.7s' to='1'/%3E%3Canimate fill='freeze' attributeName='opacity' begin='0.7s' dur='0.15s' values='1;0.7'/%3E%3C/g%3E%3Cg stroke-dasharray='6' stroke-dashoffset='6' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M7 14l2 2M7 14l2 -2'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' begin='0.95s' dur='0.3s' values='6;0'/%3E%3CanimateMotion begin='1.25s' calcMode='linear' dur='6s' keyPoints='0;0.25;0.5;0.75;1' keyTimes='0;0.1;0.5;0.8;1' path='M0 0h-1h2z' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M15 14l-2 2M15 14l-2 -2'%3E%3Canimate fill='freeze' attributeName='stroke-dashoffset' begin='0.95s' dur='0.3s' values='6;0'/%3E%3CanimateMotion begin='1.25s' calcMode='linear' dur='6s' keyPoints='0;0.25;0.5;0.75;1' keyTimes='0;0.1;0.5;0.8;1' path='M0 0h1h-2z' repeatCount='indefinite'/%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/mask%3E%3Crect width='24' height='24' fill='%23ff6f00' mask='url(%23lineMdCloudAltTagsTwotoneLoop0)'/%3E%3C/svg%3E" },
    { url = "https://codeberg.org/user0x42", name = "Codeberg", icon = "%3Csvg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3ECodeberg%3C/title%3E%3Cpath d='M11.955.49A12 12 0 0 0 0 12.49a12 12 0 0 0 1.832 6.373L11.838 5.928a.187.14 0 0 1 .324 0l10.006 12.935A12 12 0 0 0 24 12.49a12 12 0 0 0-12-12 12 12 0 0 0-.045 0zm.375 6.467l4.416 16.553a12 12 0 0 0 5.137-4.213z'/%3E%3C/svg%3E" },
    { url = "https://github.com/user0x42", name = "GitHub", icon = "%3Csvg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EGitHub%3C/title%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E" },
    { url = "https://social.vivaldi.net/@user0x42", name = "Mastodon", icon = "%3Csvg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EMastodon%3C/title%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E" },
]
# Whether to show "© Title, YEAR"
show_copyright = true
# Whether to show "Powered by Zola and Duckquill"
show_powered_by = true
# Whether to show link to website source
show_source = false
# Custom copyright text
#
# copyright = "© *Aperture* **Science** ~~Innovators~~, `1972`"

# Based on https://carlschwan.eu/2020/12/29/adding-comments-to-your-static-blog-with-mastodon/
#
# Mastodon-powered commenting.
# Values can be overridden in the front-matter, e.g.
# for multi-author blogs or guest posts.
#
# These variables are also used for Mastodon verification,
# the needed rel="me" link is set in the head based on these.
[extra.comments]
# Your Mastodon API host; instance that you have an account on.
host = "social.vivaldi.net"
# Your Mastodon username; used to determine who the original poster is.
user = "user0x42"
# Whether to show the QR code to Mastodon post
show_qr = true

# GoatCounter analytics; enabled only if present in config.
# [extra.goatcounter]
# host = "YOUR_SERVER"
# user = "u42"
#
# Additional JavaScript scripts; expects them to be in the "./static/" directory.
#
