From 94ceb078d104e11547db58cec17c1e8e12fdb240 Mon Sep 17 00:00:00 2001 From: Alexander Voss Date: Tue, 4 Aug 2026 09:37:19 -0400 Subject: [PATCH] refactor: update `zensical.toml` to TOML 1.1 syntax MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: alexvoss Signed-off-by: squidfunk Signed-off-by: Timothée Mazzucotelli Co-authored-by: alexvoss Co-authored-by: squidfunk Co-authored-by: Timothée Mazzucotelli --- python/zensical/bootstrap/zensical.toml | 447 +++++++----------------- 1 file changed, 118 insertions(+), 329 deletions(-) diff --git a/python/zensical/bootstrap/zensical.toml b/python/zensical/bootstrap/zensical.toml index 1c51255..a96b02d 100644 --- a/python/zensical/bootstrap/zensical.toml +++ b/python/zensical/bootstrap/zensical.toml @@ -1,349 +1,138 @@ -# ============================================================================ -# -# The configuration produced by default is meant to highlight the features -# that Zensical provides and to serve as a starting point for your own -# projects. -# -# ============================================================================ - [project] - -# The site_name is shown in the page header and the browser window title -# -# Read more: https://zensical.org/docs/setup/basics/#site_name +site_url = "https://www.example.com/" site_name = "Documentation" +# site_description = "Your project description" +# site_author = "Your name" -# The site_description is included in the HTML head and should contain a -# meaningful description of the site content for use by search engines. -# -# Read more: https://zensical.org/docs/setup/basics/#site_description -site_description = "A new project generated from the default template project." +# copyright = "Copyright © 2026 Your name" -# The site_author attribute. This is used in the HTML head element. -# -# Read more: https://zensical.org/docs/setup/basics/#site_author -site_author = "" +# repo_url = "https://github.com/user/repo" +# repo_name = "user/repo" +# edit_uri = "edit/main/docs/" -# The site_url is the canonical URL for your site. When building online -# documentation you should set this. -# Read more: https://zensical.org/docs/setup/basics/#site_url -#site_url = "https://www.example.com/" - -# The copyright notice appears in the page footer and can contain an HTML -# fragment. -# -# Read more: https://zensical.org/docs/setup/basics/#copyright -copyright = """ -Copyright © 2026 The authors -""" - -# Zensical supports both implicit navigation and explicitly defined navigation. -# If you decide not to define a navigation here then Zensical will simply -# derive the navigation structure from the directory structure of your -# "docs_dir". The definition below demonstrates how a navigation structure -# can be defined using TOML syntax. -# -# Read more: https://zensical.org/docs/setup/navigation/ -# nav = [ -# { "Get started" = "index.md" }, -# { "Markdown in 5min" = "markdown.md" }, -# ] - -# With the "extra_css" option you can add your own CSS styling to customize -# your Zensical project according to your needs. You can add any number of -# CSS files. -# -# The path provided should be relative to the "docs_dir". -# -# Read more: https://zensical.org/docs/customization/#additional-css -# -#extra_css = ["stylesheets/extra.css"] - -# With the `extra_javascript` option you can add your own JavaScript to your -# project to customize the behavior according to your needs. -# -# The path provided should be relative to the "docs_dir". -# -# Read more: https://zensical.org/docs/customization/#additional-javascript -#extra_javascript = ["javascripts/extra.js"] - -# ---------------------------------------------------------------------------- -# Section for configuring theme options -# ---------------------------------------------------------------------------- -[project.theme] - -# change this to "classic" to use the traditional Material for MkDocs look. -#variant = "classic" - -# Zensical allows you to override specific blocks, partials, or whole -# templates as well as to define your own templates. To do this, uncomment -# the custom_dir setting below and set it to a directory in which you -# keep your template overrides. -# -# Read more: -# - https://zensical.org/docs/customization/#extending-the-theme -# -#custom_dir = "overrides" - -# With the "favicon" option you can set your own image to use as the icon -# browsers will use in the browser title bar or tab bar. The path provided -# must be relative to the "docs_dir". -# -# Read more: -# - https://zensical.org/docs/setup/logo-and-icons/#favicon -# - https://developer.mozilla.org/en-US/docs/Glossary/Favicon -# -#favicon = "images/favicon.png" - -# Zensical supports more than 60 different languages. This means that the -# labels and tooltips that Zensical's templates produce are translated. -# The "language" option allows you to set the language used. This language -# is also indicated in the HTML head element to help with accessibility -# and guide search engines and translation tools. -# -# The default language is "en" (English). It is possible to create -# sites with multiple languages and configure a language selector. See -# the documentation for details. -# -# Read more: -# - https://zensical.org/docs/setup/language/ -# -language = "en" - -# Zensical provides a number of feature toggles that change the behavior -# of the documentation site. -features = [ - # Zensical includes an announcement bar. This feature allows users to - # dismiss it when they have read the announcement. - # https://zensical.org/docs/setup/header/#announcement-bar - "announce.dismiss", - - # If you have a repository configured and turn on this feature, Zensical - # will generate an edit button for the page. This works for common - # repository hosting services. - # https://zensical.org/docs/setup/repository/#content-actions - #"content.action.edit", - - # If you have a repository configured and turn on this feature, Zensical - # will generate a button that allows the user to view the Markdown - # code for the current page. - # https://zensical.org/docs/setup/repository/#content-actions - #"content.action.view", - - # Code annotations allow you to add an icon with a tooltip to your - # code blocks to provide explanations at crucial points. - # https://zensical.org/docs/authoring/code-blocks/#code-annotations - "content.code.annotate", - - # This feature turns on a button in code blocks that allow users to - # copy the content to their clipboard without first selecting it. - # https://zensical.org/docs/authoring/code-blocks/#code-copy-button - "content.code.copy", - - # Code blocks can include a button to allow for the selection of line - # ranges by the user. - # https://zensical.org/docs/authoring/code-blocks/#code-selection-button - "content.code.select", - - # Zensical can render footnotes as inline tooltips, so the user can read - # the footnote without leaving the context of the document. - # https://zensical.org/docs/authoring/footnotes/#footnote-tooltips - "content.footnote.tooltips", - - # If you have many content tabs that have the same titles (e.g., "Python", - # "JavaScript", "Cobol"), this feature causes all of them to switch to - # at the same time when the user chooses their language in one. - # https://zensical.org/docs/authoring/content-tabs/#linked-content-tabs - "content.tabs.link", - - # With this feature enabled users can add tooltips to links that will be - # displayed when the mouse pointer hovers the link. - # https://zensical.org/docs/authoring/tooltips/#improved-tooltips - "content.tooltips", - - # With this feature enabled, Zensical will automatically hide parts - # of the header when the user scrolls past a certain point. - # https://zensical.org/docs/setup/header/#automatic-hiding - # "header.autohide", - - # Turn on this feature to expand all collapsible sections in the - # navigation sidebar by default. - # https://zensical.org/docs/setup/navigation/#navigation-expansion - # "navigation.expand", - - # This feature turns on navigation elements in the footer that allow the - # user to navigate to a next or previous page. - # https://zensical.org/docs/setup/footer/#navigation - "navigation.footer", - - # When section index pages are enabled, documents can be directly attached - # to sections, which is particularly useful for providing overview pages. - # https://zensical.org/docs/setup/navigation/#section-index-pages - "navigation.indexes", - - # When instant navigation is enabled, clicks on all internal links will be - # intercepted and dispatched via XHR without fully reloading the page. - # https://zensical.org/docs/setup/navigation/#instant-navigation - "navigation.instant", - - # With instant prefetching, your site will start to fetch a page once the - # user hovers over a link. This will reduce the perceived loading time - # for the user. - # https://zensical.org/docs/setup/navigation/#instant-prefetching - "navigation.instant.prefetch", - - # In order to provide a better user experience on slow connections when - # using instant navigation, a progress indicator can be enabled. - # https://zensical.org/docs/setup/navigation/#progress-indicator - #"navigation.instant.progress", - - # When navigation paths are activated, a breadcrumb navigation is rendered - # above the title of each page - # https://zensical.org/docs/setup/navigation/#navigation-path - "navigation.path", - - # When pruning is enabled, only the visible navigation items are included - # in the rendered HTML, reducing the size of the built site by 33% or more. - # https://zensical.org/docs/setup/navigation/#navigation-pruning - #"navigation.prune", - - # When sections are enabled, top-level sections are rendered as groups in - # the sidebar for viewports above 1220px, but remain as-is on mobile. - # https://zensical.org/docs/setup/navigation/#navigation-sections - "navigation.sections", - - # When tabs are enabled, top-level sections are rendered in a menu layer - # below the header for viewports above 1220px, but remain as-is on mobile. - # https://zensical.org/docs/setup/navigation/#navigation-tabs - #"navigation.tabs", - - # When sticky tabs are enabled, navigation tabs will lock below the header - # and always remain visible when scrolling down. - # https://zensical.org/docs/setup/navigation/#sticky-navigation-tabs - #"navigation.tabs.sticky", - - # A back-to-top button can be shown when the user, after scrolling down, - # starts to scroll up again. - # https://zensical.org/docs/setup/navigation/#back-to-top-button - "navigation.top", - - # When anchor tracking is enabled, the URL in the address bar is - # automatically updated with the active anchor as highlighted in the table - # of contents. - # https://zensical.org/docs/setup/navigation/#anchor-tracking - "navigation.tracking", - - # When search highlighting is enabled and a user clicks on a search result, - # Zensical will highlight all occurrences after following the link. - # https://zensical.org/docs/setup/search/#search-highlighting - "search.highlight", - - # When anchor following for the table of contents is enabled, the sidebar - # is automatically scrolled so that the active anchor is always visible. - # https://zensical.org/docs/setup/navigation/#anchor-following - # "toc.follow", - - # When navigation integration for the table of contents is enabled, it is - # always rendered as part of the navigation sidebar on the left. - # https://zensical.org/docs/setup/navigation/#navigation-integration - #"toc.integrate", +nav = [ + { "Get started" = "index.md" }, + { "Markdown in 5min" = "markdown.md" }, ] -# ---------------------------------------------------------------------------- -# You can configure your own logo to be shown in the header using the "logo" -# option in the "theme" subsection. The logo must be a relative path to a file -# in your "docs_dir", e.g., to use `docs/assets/logo.png` you would set: -# ---------------------------------------------------------------------------- -#logo = "assets/logo.png" +# extra_css = ["stylesheets/extra.css"] +# extra_javascript = ["javascripts/extra.js"] -# ---------------------------------------------------------------------------- -# If you don't have a dedicated project logo, you can use a built-in icon from -# the icon sets shipped in Zensical. Please note that the setting lives in a -# different subsection, and that the above take precedence over the icon. -# -# Read more: -# - https://zensical.org/docs/setup/logo-and-icons -# - https://github.com/zensical/ui/tree/master/dist/.icons -# ---------------------------------------------------------------------------- -#[project.theme.icon] -#logo = "lucide/smile" +[project.theme] +# variant = "classic" +# custom_dir = "overrides" +# favicon = "images/favicon.png" +language = "en" +features = [ + "announce.dismiss", + # "content.action.edit", + # "content.action.view", + "content.code.annotate", + "content.code.copy", + "content.code.select", + "content.footnote.tooltips", + "content.tabs.link", + "content.tooltips", + # "header.autohide", + # "navigation.expand", + "navigation.footer", + "navigation.indexes", + "navigation.instant", + "navigation.instant.prefetch", + # "navigation.instant.progress", + "navigation.path", + # "navigation.prune", + "navigation.sections", + # "navigation.tabs", + # "navigation.tabs.sticky", + "navigation.top", + "navigation.tracking", + "search.highlight", + # "toc.follow", + # "toc.integrate", +] -# ---------------------------------------------------------------------------- -# In the "font" subsection you can configure the fonts used. By default, fonts -# are loaded from Google Fonts, giving you a wide range of choices from a set -# of suitably licensed fonts. There are options for a normal text font and for -# a monospaced font used in code blocks. -# ---------------------------------------------------------------------------- -#[project.theme.font] -#text = "Inter" -#code = "Jetbrains Mono" +# logo = "assets/logo.png" + +# [project.theme.icon] +# logo = "lucide/smile" + +# [project.theme.font] +# text = "Inter" +# code = "Jetbrains Mono" -# ---------------------------------------------------------------------------- -# In the "palette" subsection you can configure options for the color scheme. -# You can configure different color schemes, e.g., to turn on dark mode, -# that the user can switch between. Each color scheme can be further -# customized. -# -# Read more: -# - https://zensical.org/docs/setup/colors/ -# ---------------------------------------------------------------------------- [[project.theme.palette]] +media = "(prefers-color-scheme)" +toggle.icon = "lucide/sun-moon" +toggle.name = "Switch to light mode" + +[[project.theme.palette]] +media = "(prefers-color-scheme: light)" scheme = "default" toggle.icon = "lucide/sun" toggle.name = "Switch to dark mode" [[project.theme.palette]] +media = "(prefers-color-scheme: dark)" scheme = "slate" toggle.icon = "lucide/moon" -toggle.name = "Switch to light mode" +toggle.name = "Switch to system preference" -# ---------------------------------------------------------------------------- -# The "extra" section contains miscellaneous settings. -# ---------------------------------------------------------------------------- -#[[project.extra.social]] -#icon = "fontawesome/brands/github" -#link = "https://github.com/user/repo" +# [[project.extra.social]] +# icon = "fontawesome/brands/github" +# link = "https://github.com/user/repo" -# ---------------------------------------------------------------------------- -# In this section you can configure the Markdown extensions that are used when -# rendering your documentation. We enable the most useful extensions by default, -# but you can customize this list to your needs. -# -# Read more: -# - https://zensical.org/docs/setup/extensions/ -# ---------------------------------------------------------------------------- -[project.markdown_extensions.abbr] -[project.markdown_extensions.admonition] -[project.markdown_extensions.attr_list] -[project.markdown_extensions.def_list] -[project.markdown_extensions.footnotes] -[project.markdown_extensions.md_in_html] -[project.markdown_extensions.toc] -permalink = true -[project.markdown_extensions.pymdownx.arithmatex] -generic = true -[project.markdown_extensions.pymdownx.betterem] -[project.markdown_extensions.pymdownx.caret] -[project.markdown_extensions.pymdownx.details] -[project.markdown_extensions.pymdownx.emoji] -emoji_generator = "zensical.extensions.emoji.to_svg" -emoji_index = "zensical.extensions.emoji.twemoji" -[project.markdown_extensions.pymdownx.highlight] -anchor_linenums = true -line_spans = "__span" -pygments_lang_class = true -[project.markdown_extensions.pymdownx.inlinehilite] -[project.markdown_extensions.pymdownx.keys] -[project.markdown_extensions.pymdownx.magiclink] -[project.markdown_extensions.pymdownx.mark] -[project.markdown_extensions.pymdownx.smartsymbols] -[project.markdown_extensions.pymdownx.superfences] -custom_fences = [ - { name = "mermaid", class = "mermaid", format = "pymdownx.superfences.fence_code_format" } -] -[project.markdown_extensions.pymdownx.tabbed] -alternate_style = true -combine_header_slug = true -[project.markdown_extensions.pymdownx.tasklist] -custom_checkbox = true -[project.markdown_extensions.pymdownx.tilde] +# [[project.extra.social]] +# icon = "fontawesome/brands/mastodon" +# link = "https://fosstodon.org/@user" + +[project.markdown_extensions] +abbr = {} +admonition = {} +attr_list = {} +def_list = {} +footnotes = {} +md_in_html = {} +toc = { + permalink = true +} +pymdownx.arithmatex = { + generic = true +} +pymdownx.betterem = {} +pymdownx.caret = {} +pymdownx.details = {} +pymdownx.emoji = { + emoji_generator = "zensical.extensions.emoji.to_svg", + emoji_index = "zensical.extensions.emoji.twemoji", +} +pymdownx.highlight = { + anchor_linenums = true, + line_spans = "__span", + pygments_lang_class = true, +} +pymdownx.inlinehilite = {} +pymdownx.keys = {} +pymdownx.magiclink = {} +pymdownx.mark = {} +pymdownx.smartsymbols = {} +# pymdownx.snippets = { +# base_path = "includes", +# } +pymdownx.superfences = { + custom_fences = [ + { + name = "mermaid", + class = "mermaid", + format = "pymdownx.superfences.fence_code_format", + }, + ], +} +pymdownx.tabbed = { + alternate_style = true, + combine_header_slug = true +} +pymdownx.tasklist = { + custom_checkbox = true +} +pymdownx.tilde = {}