site_name: Tristan Programming Language

# TODO: Fix the site url such that the blogging plugin shuts up
# site_url: http://journal/

# TODO: We must host fonts locally
# https://t.pxeger.com/mkdocs-material/setup/changing-the-fonts/

repo_url: http://deavmi.assigned.network/git/tlang/tlang
repo_name: tlang/tlang

nav:
  - Home: index.md
  - Introduction:
    - Why: introduction/11-why.md
    - Aims: introduction/12-aims.md
  - Language:
    - Introduction: language/30-index.md
    - Grammar: language/31-grammar.md
    - Literals: language/32-literals.md
    - Types: language/33-types.md
    - Variables: language/34-variables.md
    - Conditionals: language/35-conditionals.md
    - Loops: language/36-loops.md
    - Funtions: language/37-functions.md
    - Arrays: language/38-arrays.md
    - Pointers: language/39-pointers.md
    - Extern: language/42-extern.md
    - Structs: language/39-structs.md
    - OOP: language/40-oop.md
    - Modules: language/41-modules.md
  - Implementation:
    - Introduction: implementation/30-introduction.md
    - Lexical analysis: implementation/31-lexical.md
    - Parsing: implementation/32-parsing.md
    - Naming: implementation/33-naming.md
    - Dependency generation: implementation/34-dependency.md
    - Typechecking and codegen: implementation/35-typechecking.md
    - Emit: implementation/36-emit.md
    - Compiler: implementation/37-compiler.md

theme:
  name: bootstrap-classic
  logo: logo.png
  favicon: logo.png
  features:
    - search.highlight
  palette:
    primary: indigo

plugins:
    # - blog
    - search
    #- mermaid2

    - exclude:
        glob:
          - docs/00-bookindex.md

    
    - section-index
    #- git-committers-2
    - git-revision-date

    - tooltips
    #- mknotebooks

    # - blogging:
    #       dirs:
    #         - journal
    #       features:
    #         tags: {}

    #- print-site

#TODO: See if we can get git commit authors automatically on each page
#TODO: See if we can ehnace material docs theme

extra_css:
  - css/hint.min.css

markdown_extensions:
  - pymdownx.caret
  - pymdownx.mark
  - pymdownx.tilde

  - pymdownx.arithmatex:
      generic: true

  - pymdownx.highlight:
      anchor_linenums: true
  - pymdownx.inlinehilite
  - pymdownx.snippets
  - pymdownx.superfences:
      custom_fences:
        - name: mermaid
          class: mermaid
          format: !!python/name:pymdownx.superfences.fence_code_format

  - pymdownx.tabbed:
      alternate_style: true 

  - admonition
  - pymdownx.details

  - pymdownx.tasklist:
      custom_checkbox: true

  - attr_list

  - pymdownx.emoji:
      emoji_index: !!python/name:materialx.emoji.twemoji
      emoji_generator: !!python/name:materialx.emoji.to_svg


extra_javascript:
  - javascripts/mathjax.js
  - https://polyfill.io/v3/polyfill.min.js?features=es6
  - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
