Move almost all of the docs config into a "common" file

With #631 in mind, start by moving the vast bulk of the documentation
configuration into a "common" file, and just keep the `nav` in the main
configuration file. The thinking here is that I want two entry points -- one
for building the full docs for the Textual website, and one for building a
local version of the docs.

Because mkdocs doesn't allow for inheriting a configuration and also
splicing into the `nav`, we'll be looking to duplicate the `nav` for now --
this will likely change eventually as that'll be a maintenance overhead that
we don't really want (will likely look at templating it or something). For
now though, let's look at the best way of splitting things up and seeing how
we can generate two different versions of the docs.
This commit is contained in:
Dave Pearson
2023-02-06 13:29:49 +00:00
parent 9f9ccf32d6
commit 6951ff5e60
2 changed files with 114 additions and 115 deletions

113
mkdocs-common.yml Normal file
View File

@@ -0,0 +1,113 @@
site_name: Textual
site_url: https://textual.textualize.io/
repo_url: https://github.com/textualize/textual/
edit_uri: edit/main/docs/
markdown_extensions:
- attr_list
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
- md_in_html
- admonition
- def_list
- meta
- toc:
permalink: true
baselevel: 1
- pymdownx.keys
- pymdownx.tasklist:
custom_checkbox: true
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.inlinehilite
- pymdownx.superfences:
custom_fences:
- name: textual
class: textual
format: !!python/name:textual._doc.format_svg
- name: rich
class: rich
format: !!python/name:textual._doc.rich
- pymdownx.inlinehilite
- pymdownx.superfences
- pymdownx.snippets
- pymdownx.tabbed:
alternate_style: true
- pymdownx.snippets
- markdown.extensions.attr_list
theme:
name: material
custom_dir: docs/custom_theme
features:
- navigation.tabs
- navigation.indexes
- navigation.tabs.sticky
- navigation.footer
- content.code.annotate
- content.code.copy
palette:
- media: "(prefers-color-scheme: light)"
scheme: default
accent: purple
toggle:
icon: material/weather-sunny
name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: black
toggle:
icon: material/weather-night
name: Switch to light mode
plugins:
- blog:
- rss:
match_path: blog/posts/.*
date_from_meta:
as_creation: date
categories:
- categories
- release
- tags
- search:
- autorefs:
- mkdocstrings:
custom_templates: docs/_templates
default_handler: python
handlers:
python:
options:
show_root_heading: true
show_root_full_path: false
show_source: false
filters:
- "!^_"
- "^__init__$"
- "!^can_replace$"
watch:
- src/textual
- exclude:
glob:
- "**/_template.md"
extra_css:
- stylesheets/custom.css
extra:
social:
- icon: fontawesome/brands/twitter
link: https://twitter.com/textualizeio
name: textualizeio on Twitter
- icon: fontawesome/brands/github
link: https://github.com/textualize/textual/
name: Textual on Github
- icon: fontawesome/brands/discord
link: https://discord.gg/Enf6Z3qhVr
name: Textual Discord server
copyright: Copyright © Textualize, Inc

View File

@@ -1,7 +1,4 @@
site_name: Textual
site_url: https://textual.textualize.io/
repo_url: https://github.com/textualize/textual/
edit_uri: edit/main/docs/
INHERIT: mkdocs-common.yml
nav:
- Introduction:
@@ -176,114 +173,3 @@ nav:
- "api/widget.md"
- "Blog":
- blog/index.md
markdown_extensions:
- attr_list
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
- md_in_html
- admonition
- def_list
- meta
- toc:
permalink: true
baselevel: 1
- pymdownx.keys
- pymdownx.tasklist:
custom_checkbox: true
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.inlinehilite
- pymdownx.superfences:
custom_fences:
- name: textual
class: textual
format: !!python/name:textual._doc.format_svg
- name: rich
class: rich
format: !!python/name:textual._doc.rich
- pymdownx.inlinehilite
- pymdownx.superfences
- pymdownx.snippets
- pymdownx.tabbed:
alternate_style: true
- pymdownx.snippets
- markdown.extensions.attr_list
theme:
name: material
custom_dir: docs/custom_theme
features:
- navigation.tabs
- navigation.indexes
- navigation.tabs.sticky
- navigation.footer
- content.code.annotate
- content.code.copy
palette:
- media: "(prefers-color-scheme: light)"
scheme: default
accent: purple
toggle:
icon: material/weather-sunny
name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: black
toggle:
icon: material/weather-night
name: Switch to light mode
plugins:
- blog:
- rss:
match_path: blog/posts/.*
date_from_meta:
as_creation: date
categories:
- categories
- release
- tags
- search:
- autorefs:
- mkdocstrings:
custom_templates: docs/_templates
default_handler: python
handlers:
python:
options:
show_root_heading: true
show_root_full_path: false
show_source: false
filters:
- "!^_"
- "^__init__$"
- "!^can_replace$"
watch:
- src/textual
- exclude:
glob:
- "**/_template.md"
extra_css:
- stylesheets/custom.css
extra:
social:
- icon: fontawesome/brands/twitter
link: https://twitter.com/textualizeio
name: textualizeio on Twitter
- icon: fontawesome/brands/github
link: https://github.com/textualize/textual/
name: Textual on Github
- icon: fontawesome/brands/discord
link: https://discord.gg/Enf6Z3qhVr
name: Textual Discord server
copyright: Copyright © Textualize, Inc