mkdocs.yml
# yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json
# Test this locally with:
# $ docker run --rm -it -v $(pwd):$(pwd) --workdir $(pwd) python:3 bash
# # pip install -r docs/requirements.txt
# # mkdocs serve
# # mkdocs build
# $ ls -lah site/
# Site specific data
site_name: Java Patterns
site_description: >-
java code patterns and basic architecture designing concepts
site_author: Alexander Rogalskiy
# Canonical URL (HTML content instructs search engines that this is where the preferred version of the docs is located, useful when we have duplicate content like versioned docs)
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Choosing_between_www_and_non-www_URLs#using_%3Clink_relcanonical%3E
# Also required for `sitemap.xml` generation at build time; which bots use to assist them crawling and indexing a website,
# the `mkdocs-material` 'Instant Navigation' feature utilizes the sitemap data to work.
site_url: https://alexander-rogalsky.gitbook.io/java-patterns/
# The main docs content lives here, any files will be copied over to the deployed version,
# unless the file or directory name is prefixed with a `.`
docs_dir: docs/
remote_branch: gh-pages
# Google analytics
# google_analytics: ['UA-7131053-20', 'auto']
# Project source specific data
repo_name: AlexRogalskiy/java-patterns
repo_url: https://github.com/AlexRogalskiy/java-patterns
# All docs `edit` button will go to this subpath of the `repo_url`:
# For versioned docs, this may be a little misleading for a user not viewing the `edge` docs which match the `master` branch.
edit_uri: edit/master/docs
# Copyright (shown at the footer)
copyright:
Copyright © 2021-2022 <a
href="https://github.com/AlexRogalskiy/java-patterns"><em>Nullables.io</em></a><br/><span>This
project is licensed under the <a
href="https://github.com/AlexRogalskiy/java-patterns/blob/master/LICENSE.txt"><em>GPL license</em></a>.</span></p> <p>All rights
reserved.</p>
# Other settings
use_directory_urls: true
strict: false # halt processing when a warning is raised
dev_addr: '0.0.0.0:8000'
# Theme settings
theme:
name: material
language: en
highlightjs: true
titles_only: false
collapse_navigation: false
include_sidebar: true
hljs_languages:
- yaml
- json
- bash
- dockerfile
custom_dir: docs/overrides
include_search_page: false
search_index_only: true
static_templates:
- 401.html
- 404.html
i18n:
prev: 'Previous'
next: 'Next'
font:
text: Roboto
code: Roboto Mono
logo: assets/images/logos/logo.svg
favicon: assets/images/favicons/favicon.ico
icon:
repo: fontawesome/brands/github
features:
- announce.dismiss
- tabs
# show back to top button
- navigation.instant
- navigation.top
# https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/?h=navigation+tabs#navigation-tabs
- navigation.tabs.sticky
# https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/?h=navigation+tabs#anchor-tracking
- navigation.tracking
- navigation.sections
- navigation.expand
# - navigation.instant
- navigation.indexes
# search suggestions: https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-search/#search-suggestions
- search.suggest
- search.share
# highlight search term on target page: https://squidfunk.github.io/mkdocs-material/setup/setting-up-site-search/#search-suggestions
- search.highlight
- header.autohide
- toc.integrate
- toc.autohide
- content.tabs.link
- content.code.annotate
palette:
- media: '(prefers-color-scheme: light)'
scheme: default
primary: 'black'
accent: 'grey'
toggle:
icon: material/toggle-switch-off-outline
name: Switch to dark mode
- media: '(prefers-color-scheme: dark)'
scheme: slate
primary: light blue
accent: blue
toggle:
icon: material/toggle-switch
name: Switch to light mode
# Plugins settings
plugins:
# - redirects:
# redirect_maps:
# 'README.md': 'README.md'
- exclude:
glob:
- "*.tmp"
- "*.pdf"
- "*.gz"
regex:
- '.*\.(tmp|bin|tar)$'
# - mkdocstrings
# - render_swagger
- mike:
# these fields are all optional; the defaults are as below...
version_selector: true # set to false to leave out the version selector
css_dir: css # the directory to put the version selector's CSS
javascript_dir: js # the directory to put the version selector's JS
canonical_version:
null # the version for <link rel="canonical">; `null`
# uses the version specified via `mike deploy`
- mermaid2
- em-img2fig
- mkdocs-video
# mark: 'video-marker'
# is_video: true
# video_autoplay: false
# css_style:
# width: '100%'
# height: '22.172vw'
- search:
lang:
- en
- ru
- codeinclude
- markdownextradata
- i18n:
default_language: en
languages:
en: English
ru: Russian
- git-revision-date-localized: # https://squidfunk.github.io/mkdocs-material/plugins/revision-date/
fallback_to_build_date: true
type: date
- awesome-pages:
filename: _config.yml # https://squidfunk.github.io/mkdocs-material/plugins/awesome-pages/
- include-markdown # https://github.com/mondeja/mkdocs-include-markdown-plugin
- minify:
minify_html: true
- macros:
modules:
- docs.mkdocs_macros
- mkdocs-simple-hooks:
enabled: !ENV [ENABLE_MKDOCS_SIMPLE_HOOKS, True]
hooks:
on_pre_build: 'docs.hooks:copy_generated_files'
- literate-nav
# Extra settings
extra:
homepage: https://alexander-rogalsky.gitbook.io/java-patterns/
generator: false
social:
- icon: fontawesome/brands/github-alt
link: https://github.com/AlexRogalskiy/java-patterns
name: Go to GitHub
- icon: fontawesome/regular/circle-question
link: https://github.com/AlexRogalskiy/java-patterns/issues
title: Need help ? Post an issue :)
- icon: kofi
link: https://ko-fi.com/alexrogalskiy
name: Go to Kofi
- icon: fontawesome/brands/docker
link: https://hub.docker.com/repository/docker/alexanderr/styled-java-patterns
name: Go to Docker Hub
- icon: fontawesome/brands/linkedin
link: https://www.linkedin.com/in/alexander-rogalskiy-985a4828/
name: Go to LinkedIn
version:
provider: mike
default: latest
# analytics:
# provider: google
# property: G-FB1NX90MYZ
consent:
cookies:
analytics: Google Analytics
title: Cookie consent
description: >
We use cookies to recognize your repeated visits and preferences, as well
as to measure the effectiveness of our documentation and whether users
find what they're searching for. With your consent, you're helping us to
make our documentation better.
# Extra css settings
# https://squidfunk.github.io/mkdocs-material/customization/?h=#additional-css
extra_css:
- assets/css/customizations.css
- assets/css/asciinema-player.css
- assets/css/extra.css
# Extra javascript settings
# https://squidfunk.github.io/mkdocs-material/customization/?h=#additional-javascript
extra_javascript:
- https://cdnjs.cloudflare.com/ajax/libs/tablesort/5.2.1/tablesort.min.js
- https://unpkg.com/mermaid@8.9.3/dist/mermaid.min.js
- assets/js/asciinema-player.js
- assets/js/chat.js
- assets/js/sidecar-1.5.0.js
# Extensions settings
markdown_extensions:
# https://www.mkdocs.org/user-guide/writing-your-docs/#linking-to-pages
- toc:
anchorlink: true
permalink: true
toc_depth: 3
slugify: !!python/name:pymdownx.slugs.uslugify
title: On this page
- abbr: {}
# https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown/?h=attr#attribute-lists attr_list is required for several other features. Always enable.
- attr_list: {}
# - mkdocs-click: {}
- def_list: {}
# https://squidfunk.github.io/mkdocs-material/reference/admonitions/?h=admoni
- admonition: {}
- footnotes: {}
- tables: {}
# https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#superfences Used for tags, setting unique templates for certain pages, and other custom frontmatter.
- meta: {}
- md_in_html: {}
- mkautodoc: {}
- codehilite: # https://squidfunk.github.io/mkdocs-material/extensions/codehilite/
linenums: true
use_pygments: false
guess_lang: false
# https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#highlight
- pymdownx.highlight:
linenums: true
extend_pygments_lang:
- name: yml
lang: yaml
- name: cf
lang: cfg
- name: conf
lang: cfg
- name: env
lang: properties
# Not helpful with Python Pygments lexer highlighting, but we might change to a JS highlighter in future
# Ideally, this type of codefence might also have word-wrap enabled (CSS: {white-space: pre-wrap})
- name: log
lang: shell-session
- name: fetchmailrc
lang: txt
- name: caddyfile
lang: txt
- pymdownx.escapeall: {}
- pymdownx.tasklist:
custom_checkbox: true
clickable_checkbox: true
- pymdownx.extra: {}
# https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#snippets
- pymdownx.snippets:
base_path: docs/snippets
check_paths: true
- pymdownx.tilde: {}
- pymdownx.magiclink:
repo_url_shortener: true
social_url_shortener: true
user: AlexRogalskiy
repo: java-patterns
- pymdownx.caret: {}
- pymdownx.keys: {}
- pymdownx.smartsymbols: {}
- pymdownx.progressbar: {}
- pymdownx.arithmatex:
generic: true
- pymdownx.betterem:
smart_enable: all
- pymdownx.mark: {}
- pymdownx.critic: {}
# https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#inlinehilite
- pymdownx.inlinehilite: {}
# https://squidfunk.github.io/mkdocs-material/setup/extensions/python-markdown-extensions/#superfences Superfences is required for several other features. Always enable.
- pymdownx.superfences:
preserve_tabs: true
custom_fences:
- name: mermaid
class: mermaid
format:
!!python/name:pymdownx.superfences.fence_div_format # https://squidfunk.github.io/mkdocs-material/extensions/pymdown/#tabbed
- pymdownx.tabbed:
alternate_style: true
- pymdownx.details: {} # https://squidfunk.github.io/mkdocs-material/extensions/pymdown/#details
- pymdownx.emoji: # https://squidfunk.github.io/mkdocs-material/reference/icons-emojis/#configuration
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
options:
custom_icons:
- docs/overrides/.icons
- smarty: {} # https://python-markdown.github.io/extensions/smarty/
- nl2br: {} # https://python-markdown.github.io/extensions/smarty/
- mdx_truly_sane_lists: {} # https://github.com/radude/mdx_truly_sane_lists -> proper indentation of md list items
# Navigation
# nav: omitted, because we're using the awesome-pages plugin (https://squidfunk.github.io/mkdocs-material/plugins/awesome-pages/)