From d91ff9fd54888d26229129b1cbb851fedbb51e8d Mon Sep 17 00:00:00 2001 From: yubiuser Date: Mon, 17 Nov 2025 23:11:47 +0100 Subject: [PATCH] Port mkdocs.yml to zensical.toml Signed-off-by: yubiuser --- docs/CNAME | 1 - mkdocs.yml | 285 ---------------------------------------------- package-lock.json | 17 +++ requirements.txt | 2 - zensical.toml | 140 +++++++++++++++++++++++ 5 files changed, 157 insertions(+), 288 deletions(-) delete mode 100644 docs/CNAME delete mode 100644 mkdocs.yml create mode 100644 zensical.toml diff --git a/docs/CNAME b/docs/CNAME deleted file mode 100644 index 297dda3..0000000 --- a/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -docs.pi-hole.net diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index bfb8a2a..0000000 --- a/mkdocs.yml +++ /dev/null @@ -1,285 +0,0 @@ -site_name: 'Pi-hole documentation' -site_url: 'https://docs.pi-hole.net/' -repo_url: 'https://github.com/pi-hole/pi-hole' -edit_uri: '../docs/blob/master/docs/' -copyright: -remote_branch: gh-pages -validation: - links: - anchors: warn -theme: - name: 'material' - custom_dir: overrides -# icon: -# repo: fontawesome/brands/github-alt - favicon: 'images/favicon.ico' - logo: 'images/logo.svg' - language: 'en' - font: - text: 'Source Sans Pro' - code: 'Roboto Mono' - features: - - navigation.top - - navigation.instant - - navigation.indexes - - search.suggest - - search.highlight - - search.share - - content.action.edit - - content.code.copy - palette: - - # Light mode - - media: "(prefers-color-scheme: light)" - scheme: default - primary: indigo - accent: indigo - toggle: - icon: material/lightbulb-outline - name: Switch to dark mode - - # Dark mode - - media: "(prefers-color-scheme: dark)" - scheme: slate - primary: indigo - accent: indigo - toggle: - icon: material/lightbulb - name: Switch to light mode - -markdown_extensions: - # Code highlighting in ``` ``` blocks, superseeds codehilite - - pymdownx.highlight - # allows for the nesting of code blocks inside other blocks - - pymdownx.superfences - - pymdownx.inlinehilite - # Table of Contents - # https://python-markdown.github.io/extensions/toc/ - - toc: - permalink: true - # block-styled side content - # https://squidfunk.github.io/mkdocs-material/reference/admonitions/ - - admonition - # https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#details - - pymdownx.details - - # linkifies URL and email links without having to wrap them in Markdown syntax. Also, allows shortens repository issue, pull request, and commit links. - - pymdownx.magiclink - # Task lists (https://facelessuser.github.io/pymdown-extensions/extensions/tasklist/) - - pymdownx.tasklist: - custom_checkbox: true - # Highlight words with ==mark me== - - pymdownx.mark - # Adds support for deletion ~~Delete me~~ and subscript text~a\ subscript~ - - pymdownx.tilde - # This extension is a convenience extension which includes many pymdownx extensions - # (https://facelessuser.github.io/pymdown-extensions/extensions/extra/) - - pymdownx.extra - - # Tabbed provides a syntax to easily add tabbed Markdown content. - # https://facelessuser.github.io/pymdown-extensions/extensions/tabbed/ - - pymdownx.tabbed: - alternate_style: true - # Adds syntax for defining footnotes in Markdown documents (https://squidfunk.github.io/mkdocs-material/reference/footnotes/) - - footnotes - # Adds the ability to define abbreviations (https://squidfunk.github.io/mkdocs-material/reference/tooltips/) - - abbr - - attr_list - - pymdownx.snippets: - # auto_append abbreviations.md to every file - # https://squidfunk.github.io/mkdocs-material/reference/tooltips/#adding-a-glossary - auto_append: - - docs/abbreviations.md - # Metadata support in pages - # (https://squidfunk.github.io/mkdocs-material/extensions/metadata/) - - meta - # Tabbed provides a syntax to easily add tabbed Markdown content. - # (https://facelessuser.github.io/pymdown-extensions/extensions/tabbed/) - - pymdownx.tabbed - # InlineHilite is an inline code highlighter inspired by CodeHilite. - # (https://facelessuser.github.io/pymdown-extensions/extensions/inlinehilite/) - - pymdownx.inlinehilite - - pymdownx.arithmatex: - generic: true - -nav: - - 'About Pi-hole': - - 'About Pi-hole': index.md - - 'Contact Us': main/contact.md - - 'Pi-hole Origins': main/origins.md - - 'On the Web': main/coverage.md - - 'Getting Started': - - 'Getting Started': main/index.md - - 'Prerequisites': main/prerequisites.md - - 'Installation': main/basic-install.md - - 'Post-Install': main/post-install.md - - 'Updating': main/update.md - - 'Uninstalling': main/uninstall.md - - 'The  pihole  Command': main/pihole-command.md - - 'Databases': - - 'Databases': database/index.md - - 'Query Database': database/query-database.md - - 'Domain Database': - - 'Domain Database': database/domain-database/index.md - - 'Group Management': database/domain-database/groups.md - - 'Database Recovery': database/domain-database/recovery.md - - 'Pi-hole API': - - 'Pi-hole API': api/index.md - - 'Authentication': api/auth.md - - 'TLS/SSL': api/tls.md - - 'FTLDNS': - - 'FTLDNS': ftldns/index.md - - 'Configuration': ftldns/configfile.md - - 'Interfaces': ftldns/interfaces.md - - 'DNS cache': ftldns/dns-cache.md - - 'DNS resolver': ftldns/dns-resolver.md - - 'Blocking mode': ftldns/blockingmode.md - - 'Privacy levels': ftldns/privacylevels.md - - 'dnsmasq warnings': ftldns/dnsmasq_warn.md - - 'Webserver': ftldns/webserver.md - - 'Advanced': - - 'Install from source': ftldns/compile.md - - 'Signals': 'ftldns/signals.md' - - 'Cache dump': ftldns/cache_dump.md - - 'Packet dump': ftldns/package_dump.md - - 'Debugging': - - 'gdb': ftldns/gdb.md - - 'valgrind': ftldns/valgrind.md - - 'Group Management': - - 'Group Management': group_management/index.md - - 'Examples': group_management/example.md - - 'RegEx Blocking': - - "Regex Blocking": regex/index.md - - "Testing": regex/testmode.md - - "Tutorial": regex/tutorial.md - - "Pi-hole extensions": regex/pi-hole.md - - "Approximate matching": regex/approximate.md - - 'Docker': - - 'Docker': docker/index.md - - 'Configuration': docker/configuration.md - - 'Upgrading': - - 'Upgrading': docker/upgrading/index.md - - 'Upgrading from v5.x': docker/upgrading/v5-v6.md - - 'Building': docker/build-image.md - - 'DHCP': docker/DHCP.md - - 'Tips and Tricks': docker/tips-and-tricks.md - - 'Contributing': - - 'Contributing': guides/github/index.md - - 'Developer Certificate of Origin (DCO)': guides/github/dco.md - - 'How to sign-off commits': guides/github/how-to-signoff.md - - 'How to fork and rebase': guides/github/how-to-fork-rebase.md - - 'Guides': - - 'DNS': - - 'unbound': guides/dns/unbound.md - - 'cloudflared (DoH)': guides/dns/cloudflared.md - - 'dnscrypt-proxy (DoH)': guides/dns/dnscrypt-proxy.md - - 'Upstream DNS Providers': guides/dns/upstream-dns-providers.md - - 'VPN': - - 'WireGuard': - - 'Wireguard': guides/vpn/wireguard/index.md - - 'Concept': guides/vpn/wireguard/concept.md - - 'Install server': guides/vpn/wireguard/server.md - - 'Add client(s)': guides/vpn/wireguard/client.md - - 'Optional extra features': - - 'Make local devices accessible': guides/vpn/wireguard/internal.md - - 'Tunnel all Internet traffic': guides/vpn/wireguard/route-everything.md - - 'Troubleshooting': guides/vpn/wireguard/faq.md - - 'OpenVPN': - - 'OpenVPN': guides/vpn/openvpn/index.md - - 'Installation': guides/vpn/openvpn/installation.md - - 'Setup OpenVPN Server': guides/vpn/openvpn/setup-openvpn-server.md - - 'Firewall Configuration': guides/vpn/openvpn/firewall.md - - 'Connecting clients': - - 'General': guides/vpn/openvpn/clients.md - - 'Android': guides/vpn/openvpn/android-client.md - - 'Optional: Only route DNS via VPN': guides/vpn/openvpn/only-dns-via-vpn.md - - 'Optional: Dual operation: LAN & VPN at the same time': guides/vpn/openvpn/dual-operation.md - - 'Optional: Full and DNS-only': guides/vpn/openvpn/dual-VPN.md - - 'Optional: Dynamic DNS': guides/vpn/openvpn/dynDNS.md - - 'Troubleshooting': guides/vpn/openvpn/troubleshooting.md - - 'Misc': - - 'Home Assistant': guides/misc/homeassistant.md - - 'Benchmarking': guides/misc/benchmark.md - - 'Tor & Pi-hole': - - 'Tor & Pi-hole': guides/misc/tor/index.md - - 'Basic Setup': guides/misc/tor/setup.md - - 'Using Tor': guides/misc/tor/using-tor.md - - 'Performance and other issues': guides/misc/tor/performance-issues.md - - 'Using DNSSEC': guides/misc/tor/dnssec.md - - 'Allowlist and Denylist editing': guides/misc/allowlist-denylist.md - - 'Network Time Protocol': guides/misc/ntp.md - - 'Router setup': - - 'ASUS router': routers/asus.md - - 'Fritz!Box (EN)': routers/fritzbox.md - - 'Fritz!Box (DE)': routers/fritzbox-de.md - - 'Nokia G-240W-B': routers/nokia-G240WB.md - - 'OPNsense': routers/OPNsense.md - - 'TP-Link': routers/tp-link.md - - 'Ubiquiti USG': routers/ubiquiti-usg.md - - 'FAQ': main/faq.md - - 'Community Projects': main/projects.md - -not_in_nav: | - /abbreviations.md - /guides/vpn/openvpn/deprecation_notice.md - -extra: - social: - - icon: fontawesome/solid/earth-americas - link: https://pi-hole.net/ - name: Website - - icon: fontawesome/brands/github - link: https://github.com/pi-hole - name: GitHub - -extra_css: - - extra.css - -plugins: - - search - - git-revision-date-localized: - fallback_to_build_date: true - enable_parallel_processing: false - - redirects: - redirect_maps: - 'ftldns/database.md': database/index.md - 'main/presentations.md': index.md - 'main/prerequesites.md': main/prerequisites.md - 'guides/unbound.md': guides/dns/unbound.md - 'guides/upstream-dns-providers.md': guides/dns/upstream-dns-providers.md - 'guides/dns-over-https.md': guides/dns/cloudflared.md - 'guides/vpn/overview.md': guides/vpn/openvpn/index.md - 'guides/vpn/installation.md': guides/vpn/openvpn/installation.md - 'guides/vpn/setup-openvpn-server.md': guides/vpn/openvpn/setup-openvpn-server.md - 'guides/vpn/firewall.md': guides/vpn/openvpn/firewall.md - 'guides/vpn/clients.md': guides/vpn/openvpn/clients.md - 'guides/vpn/android-client.md': guides/vpn/openvpn/android-client.md - 'guides/vpn/only-dns-via-vpn.md': guides/vpn/openvpn/only-dns-via-vpn.md - 'guides/vpn/dual-operation.md': guides/vpn/openvpn/dual-operation.md - 'guides/vpn/dual-VPN.md': guides/vpn/openvpn/dual-VPN.md - 'guides/vpn/dynDNS.md': guides/vpn/openvpn/dynDNS.md - 'guides/vpn/troubleshooting.md': guides/vpn/openvpn/troubleshooting.md - 'guides/benchmark.md': guides/misc/benchmark.md - 'guides/tor/overview.md': guides/misc/tor/index.md - 'guides/tor/setup.md': guides/misc/tor/setup.md - 'guides/tor/using-tor.md': guides/misc/tor/using-tor.md - 'guides/tor/performance-issues.md': guides/misc/tor/performance-issues.md - 'guides/tor/dnssec.md': guides/misc/tor/dnssec.md - 'guides/whitelist-blacklist.md': guides/misc/allowlist-denylist.md - 'ftldns/regex/index.md': regex/index.md - 'ftldns/regex/overview.md': regex/index.md - 'ftldns/regex/tutorial.md': regex/tutorial.md - 'database/gravity/example.md': group_management/example.md - 'core/pihole-command.md': main/pihole-command.md - 'database/ftl.md': database/query-database.md - 'database/gravity/index.md': database/domain-database/index.md - 'database/gravity/recovery.md': database/domain-database/recovery.md - 'database/gravity/groups.md': database/domain-database/groups.md - 'group_management/groups.md': group_management/index.md - 'regex/overview.md': regex/index.md - 'guides/vpn/wireguard/overview.md': guides/vpn/wireguard/index.md - 'guides/vpn/openvpn/overview.md': guides/vpn/openvpn/index.md - 'guides/misc/tor/overview.md': guides/misc/tor/index.md - 'guides/github/contributing.md': guides/github/index.md - 'guides/misc/whitelist-blacklist.md': guides/misc/allowlist-denylist.md - 'ftldns/debugging.md': ftldns/gdb.md diff --git a/package-lock.json b/package-lock.json index 969dab6..352ee1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -138,6 +138,23 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", diff --git a/requirements.txt b/requirements.txt index a423151..26d72fd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1 @@ zensical==0.0.8 -mkdocs-git-revision-date-localized-plugin==1.5.0 -mkdocs-redirects==1.2.2 diff --git a/zensical.toml b/zensical.toml new file mode 100644 index 0000000..ca03972 --- /dev/null +++ b/zensical.toml @@ -0,0 +1,140 @@ +# ---------------------------------------------------------------------------- +# Global options section +# ---------------------------------------------------------------------------- + +[project] +site_name = "Pi-hole documentation" +site_url = "https://docs.pi-hole.net/" +site_description = "A black hole for Internet advertisements" +site_author = "Pi-hole Team" +repo_url = "https://github.com/pi-hole/pi-hole" + +edit_uri = "../docs/blob/master/docs/" + +docs_dir = "docs" + +# This is overwritten by orverrides/partials/copyright.html +# see https://zensical.org/docs/customization/?h=over#overriding-partials +copyright = "" + +extra_css = ["extra.css"] +#extra_javascript = ["assets/javascript/extra.js"] + +# ---------------------------------------------------------------------------- +# Section for configuring theme options +# ---------------------------------------------------------------------------- +[project.theme] + +# change this to "classic" to use the traditional Material for MkDocs look. +variant = "modern" + +custom_dir = "overrides" +favicon = "images/favicon.ico" +logo = "images/logo.svg" +language = "en" + +# Zensical provides a number of feature toggles that change the behavior +# of the documentation site. +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", +] + +# Palette toggle for light mode +[[project.theme.palette]] +scheme = "default" +media = "(prefers-color-scheme: light)" +palette.primary = "indigo" +palette.accent = "indigo" +toggle.icon = "lucide/sun" +toggle.name = "Switch to dark mode" + +# Palette toggle for dark mode +[[project.theme.palette]] +scheme = "slate" +media = "(prefers-color-scheme: dark)" +palette.primary = "indigo" +palette.accent = "indigo" +toggle.icon = "lucide/moon" +toggle.name = "Switch to light mode" + +[project.theme.font] +text = "Source Sans Pro" +code = "Roboto Mono" + +# ---------------------------------------------------------------------------- +# Section for markdown extensions +# ---------------------------------------------------------------------------- + +[project.markdown_extensions.abbr] +[project.markdown_extensions.attr_list] +[project.markdown_extensions.footnotes] +[project.markdown_extensions.toc] +permalink = "true" +permalink_title = "Anchor link to this section" + +[project.markdown_extensions.admonition] +[project.markdown_extensions.pymdownx.details] +[project.markdown_extensions.pymdownx.superfences] + +[project.markdown_extensions.pymdownx.highlight] +anchor_linenums = true +line_spans = "__span" +pygments_lang_class = true + +[project.markdown_extensions.pymdownx.inlinehilite] + +[project.markdown_extensions.pymdownx.snippets] +auto_append = ["abbreviations.md"] + +[project.markdown_extensions.pymdownx.tabbed] +alternate_style = "true" + +[project.markdown_extensions.pymdownx.tilde] + +# ---------------------------------------------------------------------------- +# Section for configuring extra options +# ---------------------------------------------------------------------------- + +[[project.extra.social]] +icon = "fontawesome/solid/earth-americas" +link = "https://pi-hole.net/" +name = "Website" + +[[project.extra.social]] +icon = "fontawesome/brands/github" +link = "https://github.com/pi-hole" +name = "GitHub" + +# ---------------------------------------------------------------------------- +# Navigation section +# ---------------------------------------------------------------------------- + +# nav = [ +# { "Get started" = "index.md" }, +# { "Markdown in 5min" = "markdown.md" }, +# ]