Port mkdocs.yml to zensical.toml

Signed-off-by: yubiuser <github@yubiuser.dev>
This commit is contained in:
yubiuser
2025-11-17 23:11:47 +01:00
parent d644b5ea97
commit d91ff9fd54
5 changed files with 157 additions and 288 deletions

View File

@@ -1 +0,0 @@
docs.pi-hole.net

View File

@@ -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 &nbsp<samp>pihole</samp>&nbsp 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

17
package-lock.json generated
View File

@@ -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",

View File

@@ -1,3 +1 @@
zensical==0.0.8
mkdocs-git-revision-date-localized-plugin==1.5.0
mkdocs-redirects==1.2.2

140
zensical.toml Normal file
View File

@@ -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" },
# ]