diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 49f84df9..54dd40a6 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -26,14 +26,12 @@ jobs: - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV - uses: actions/cache@v4 with: - key: mkdocs-material-${{ env.cache_id }} + key: zensical-${{ env.cache_id }} path: ~/.cache restore-keys: | - mkdocs-material- + zensical- - run: pip install -r docs/requirements.txt - name: Deploy versioned docs - env: - MKDOCS_GIT_COMMITTERS_APIKEY: ${{ secrets.MKDOCS_GIT_COMMITTERS_APIKEY }} run: mike deploy --push ${{ github.ref_name }} - name: Set default docs version if: github.ref_name == 'release' diff --git a/README.md b/README.md index b55e9620..1ae83ff7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ + + # Yamtrack ![App Tests](https://github.com/FuzzyGrim/Yamtrack/actions/workflows/app-tests.yml/badge.svg) @@ -8,13 +10,13 @@ Yamtrack is a self hosted media tracker for movies, tv shows, anime, manga, video games, books, comics, and board games. - + ## 📚 Documentation The full documentation is available at [fuzzygrim.github.io/Yamtrack](https://fuzzygrim.github.io/Yamtrack/). - + ## 🚀 Demo diff --git a/docs/development.md b/docs/development.md index f61d08ea..06317ada 100644 --- a/docs/development.md +++ b/docs/development.md @@ -94,10 +94,10 @@ http://localhost:8000 ## Documentation -Install the docs dependencies with the development requirements, then serve the current checkout: +Install the docs dependencies from `docs/requirements.txt`, then serve the current checkout: ```bash -venv/bin/mkdocs serve --livereload +venv/bin/zensical serve ``` ## Testing diff --git a/docs/index.md b/docs/index.md index c12181e3..5ca37878 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,2 +1,2 @@ -{% include-markdown "../README.md" end="" %} -{% include-markdown "../README.md" start="" %} +--8<-- "README.md:docs-index-intro" +--8<-- "README.md:docs-index-body" diff --git a/docs/requirements.txt b/docs/requirements.txt index f1c9cdd0..3186310d 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,10 +1,2 @@ -mkdocs-git-authors-plugin==0.10.0 -mkdocs-git-committers-plugin-2==2.5.0 -mkdocs-include-markdown-plugin==7.2.2 -mkdocs-git-revision-date-localized-plugin==1.5.1 -mkdocs-material==9.7.1 -mike==2.1.3 -# Keep pinned until Pygments 2.20+ works with pymdownx.superfences. -# Newer versions render fenced code blocks as inline code in CI builds. -Pygments==2.19.2 -pymdown-extensions==10.20.1 +zensical==0.0.42 +git+https://github.com/squidfunk/mike.git diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index c769524e..f632114e 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -1,6 +1,34 @@ -:root > * { +[data-md-color-primary="indigo"] { --md-primary-fg-color: #6366f1; --md-primary-fg-color--light: #818cf8; --md-primary-fg-color--dark: #4f46e5; - --md-accent-fg-color: #4a9eff; +} + +[data-md-color-accent="indigo"] { + --md-accent-fg-color: #4a9eff; + --md-accent-fg-color--transparent: #4a9eff1a; +} + +[data-md-color-primary="indigo"] .md-header, +[data-md-color-primary="indigo"] .md-tabs { + background-color: var(--md-primary-fg-color); + color: var(--md-primary-bg-color); +} + +[data-md-color-primary="indigo"] .md-tabs { + box-shadow: none; +} + +[data-md-color-primary="indigo"] .md-tabs__item--active { + border-bottom-color: var(--md-primary-bg-color); +} + +[data-md-color-scheme="slate"] { + --md-default-bg-color: #1e2129; + --md-default-bg-color--light: #1e2129b3; + --md-default-bg-color--lighter: #1e21294d; + --md-default-bg-color--lightest: #1e21291f; + --color-background: 30 33 41; + --color-background-subtle: 39 43 53; + --color-backdrop: 22 24 30; } diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index ad73fa76..00000000 --- a/mkdocs.yml +++ /dev/null @@ -1,89 +0,0 @@ -site_name: Yamtrack Documentation -site_url: https://FuzzyGrim.github.io/Yamtrack/ -site_author: FuzzyGrim -site_description: >- - Yamtrack is a self hosted media tracker for movies, tv shows, - anime, manga, video games, books, comics, and board games. -repo_name: FuzzyGrim/Yamtrack -repo_url: https://github.com/FuzzyGrim/Yamtrack -copyright: Copyright © 2022 - 2026 FuzzyGrim -edit_uri: edit/dev/docs/ -nav: - - Home: index.md - - Setup: setup.md - - Development: development.md - - Environment Variables: env-variables.md - - Media Imports: media-imports.md - - Social Auth: social-auth.md - - Administration: administration.md -theme: - name: material - language: en - logo: assets/logo.png - favicon: assets/logo.png - features: - - content.action.edit - - content.action.view - - content.code.annotate - - content.code.copy - - header.autohide - - navigation.footer - - navigation.indexes - - navigation.sections - - navigation.tabs - - navigation.top - - navigation.tracking - - search.highlight - - search.share - - search.suggest - - toc.follow - - toc.integrate - palette: - - media: "(prefers-color-scheme)" - primary: custom - toggle: - icon: material/brightness-auto - name: Switch to light mode - - media: "(prefers-color-scheme: light)" - primary: custom - scheme: default - toggle: - icon: material/brightness-7 - name: Switch to dark mode - - media: "(prefers-color-scheme: dark)" - primary: custom - scheme: slate - toggle: - icon: material/brightness-4 - name: Switch to system preference -plugins: - - search: - lang: - - en - - include-markdown - - git-revision-date-localized: - enable_creation_date: true - - git-committers: - repository: FuzzyGrim/Yamtrack - branch: dev - - git-authors: - show_email_address: false -extra: - version: - provider: mike - default: release - alias: true - social: - - icon: fontawesome/brands/github - link: https://github.com/FuzzyGrim/Yamtrack -extra_css: - - stylesheets/extra.css -markdown_extensions: - - admonition - - pymdownx.details - - pymdownx.superfences - - pymdownx.tabbed: - alternate_style: true - - tables -watch: - - docs diff --git a/zensical.toml b/zensical.toml new file mode 100644 index 00000000..3b5197be --- /dev/null +++ b/zensical.toml @@ -0,0 +1,92 @@ +[project] +site_name = "Yamtrack Documentation" +site_url = "https://FuzzyGrim.github.io/Yamtrack/" +site_author = "FuzzyGrim" +site_description = "Yamtrack is a self hosted media tracker for movies, tv shows, anime, manga, video games, books, comics, and board games." +repo_name = "FuzzyGrim/Yamtrack" +repo_url = "https://github.com/FuzzyGrim/Yamtrack" +copyright = "Copyright © 2022 - 2026 FuzzyGrim" +edit_uri = "edit/dev/docs/" +extra_css = ["stylesheets/extra.css"] + +nav = [ + { "Home" = "index.md" }, + { "Setup" = "setup.md" }, + { "Development" = "development.md" }, + { "Environment Variables" = "env-variables.md" }, + { "Media Imports" = "media-imports.md" }, + { "Social Auth" = "social-auth.md" }, + { "Administration" = "administration.md" }, +] + +[project.theme] +variant = "modern" +language = "en" +logo = "assets/logo.png" +favicon = "assets/logo.png" +features = [ + "content.action.edit", + "content.action.view", + "content.code.annotate", + "content.code.copy", + "header.autohide", + "navigation.footer", + "navigation.indexes", + "navigation.sections", + "navigation.tabs", + "navigation.top", + "navigation.tracking", + "search.highlight", + "search.share", + "search.suggest", + "toc.follow", + "toc.integrate", +] + +[[project.theme.palette]] +media = "(prefers-color-scheme)" +primary = "indigo" +accent = "indigo" +toggle.icon = "lucide/sun-moon" +toggle.name = "Switch to light mode" + +[[project.theme.palette]] +media = "(prefers-color-scheme: light)" +primary = "indigo" +accent = "indigo" +scheme = "default" +toggle.icon = "lucide/sun" +toggle.name = "Switch to dark mode" + +[[project.theme.palette]] +media = "(prefers-color-scheme: dark)" +primary = "indigo" +accent = "indigo" +scheme = "slate" +toggle.icon = "lucide/moon" +toggle.name = "Switch to system preference" + +[project.extra.version] +provider = "mike" +default = "release" +alias = true + +[[project.extra.social]] +icon = "fontawesome/brands/github" +link = "https://github.com/FuzzyGrim/Yamtrack" + +[project.markdown_extensions.admonition] +[project.markdown_extensions.tables] +[project.markdown_extensions.toc] +permalink = true + +[project.markdown_extensions.pymdownx.highlight] +anchor_linenums = true +line_spans = "__span" +pygments_lang_class = true + +[project.markdown_extensions.pymdownx.snippets] +base_path = ["."] +check_paths = true + +[project.markdown_extensions.pymdownx.superfences]