Keri sisuni

Docs🔗

Kasutusel Alpine mall, et oleks võimalikult resurssi kokkuhoidev:
Alpine basic seadistus

Alpine setup

Väga lühike info killuke selle kohta kuidas ma Alpine LXC püsti panen.
Ei kasuta Template kuna ei tea mida läheb vaja ja mida mitte.

Basic setup
Vaikimisi on vale timezone, panen eesti:
apk update
apk add tzdata
ln -sf /usr/share/zoneinfo/Europe/Tallinn /etc/localtime

apk update
apk upgrade

VS Code sõltuvuspaketid + SSH
SSH jaoks kasutan Dropbear kuna see on väidetavalt rohkem light weight ja ma ei pea eraldi lubama root kontol SSH kasutamist (jah ma tean, et ma ei võiks root kontot kasutada)
apk add gcompat libstdc++ bash grep wget tar curl openrc dropbear
rc-service dropbear start
rc-update add dropbear

Docker ja Compose
Install: apk add --update docker docker-compose
Peale installi on vaja ka boot startup lisada:
rc-update add docker boot
service docker start
service docker status

Tausta info, ma kasutan MkDocs, aga täpsemalt Properdocs versiooni, sest MkDocs tegijad teevad 2.0 versiooni mis on täiesti uus tarkvara ja ei toeta midagi vanast versioonist:
Material loojate blogi - What MkDocs 2.0 means for your documentation projects

Tulevikus kui Zensical toetab mitme keele kasutamist, siis kolin selle peale.

Lisaks, lehe failid on GitHub-is ja kasutan Cloudflare Pages, et lehte jooksutada, see LXC on kõigest sisemine test enne kui 'git push' teen.

Seadsitus🔗

Setup muidu väga lihtne, ainuke asi on conf faili soovitud funktsioonide lisamine ja siis md failide kirjutamine.

Pluginad
Mõned plugin on vajalikud, ilma ei tööta midagi:
pip install properdocs>=1.6.7 mkdocs-material>=9.7.6
Ja muud on lisad mida kasutan:
pip install mkdocs-glightbox>=0.5.2 mkdocs-literate-nav>=0.6.3 mkdocs-include-markdown-plugin>=7.3.0 mkdocs-video>=1.5.0 mkdocs-d2-plugin>=1.7.0 mkdocs-static-i18n>=1.3.1 mkdocs-git-revision-date-localized-plugin>=1.5.3 mkdocs-minify-plugin>=0.8.0

Minu conf: Siin olen mõned asjad välja lõiganud, et oleks rohkem loetavam.

mkdocs.yml fail
site_name: Timmo homelab
site_url: https://docs.timmo.ee/
use_directory_urls: true

extra_javascript:
  - assets/javascripts/logos-mermaid.js

extra_css:
  - assets/stylesheets/theme.css

extra:
  alternate:
    - name: Eesti
      link: /
      lang: et
    - name: English
      link: /en/
      lang: en

markdown_extensions:
  - abbr
  - admonition
  - attr_list
  - def_list
  - footnotes
  - md_in_html
  - pymdownx.critic
  - pymdownx.caret
  - pymdownx.keys
  - pymdownx.mark
  - pymdownx.tilde
  - pymdownx.tasklist:
      custom_checkbox: true
  - pymdownx.snippets:
      base_path: docs
  - pymdownx.betterem
  - pymdownx.blocks.caption
  - pymdownx.details
  - pymdownx.highlight:
      anchor_linenums: true
      line_spans: __span
      pygments_lang_class: true
  - pymdownx.inlinehilite
  - pymdownx.superfences
#      custom_fences:
#        - name: mermaid
#          class: mermaid
#          format: !!python/name:pymdownx.superfences.fence_code_format
  - pymdownx.tabbed:
      alternate_style: true
  - sane_lists
  - tables
  - toc:
      permalink: 🔗

theme:
  language: et
  name: material
  custom_dir: docs/overrides
  logo: assets/images/logo.png
  favicon: assets/images/logo.png
  features:
    - content.footnote.tooltips
    - content.code.copy
    - content.code.select
    - content.code.annotate
    - navigation.instant
    - navigation.instant.progress
    - navigation.instant.prefetch
    - search.suggest
    - search.highlight
    - search.share
    - navigation.top
    - navigation.tabs
    - navigation.path
    - navigation.expand
    - navigation.indexes
    - mermaid
    - content.tabs.link
  font: false
  palette:
    # Light Mode
    - media: "(prefers-color-scheme: light)"
      scheme: default
      toggle:
        icon: material/lightbulb-outline
        name: Switch to light mode
#      primary: indigo
#      accent: deep purple
    # Dark Mode
    - media: "(prefers-color-scheme: dark)"
      scheme: slate
      toggle:
        icon: material/lightbulb
        name: Switch to dark mode
      primary: black
#      accent: deep purple

nav:
  - Avaleht: et/index.md

plugins:
  - include-markdown
  - glightbox:
      touchNavigation: true
      loop: false
      effect: zoom
#      width: 100%
      height: auto
      zoomable: true
      draggable: true
      auto_caption: false
      caption_position: bottom
  - d2:
      cache: false
      layout: elk
      theme: 101
      dark_theme: 200
      scale: 1.0
      pad: 25
#  - kroki:
#      tag_format: svg
  - i18n:
      docs_structure: folder
      fallback_to_default: false
      reconfigure_material: true
      reconfigure_search: true
      languages:
        - locale: et
          name: Estonian
          default: true
          build: true
        - locale: en
          name: English
          build: true
          nav:
            - Homepage: index.md
  - git-revision-date-localized:
      enable_creation_date: true
  - search
  - minify:
      minify_html: true

Testmine
Testimiseks on vaja python + venv ja seal venv-is selle sees jooksutada live keskkonna käsk.

Python install: apk add python3
Venv loomine: python -m venv KAUSTA_NIMI
Virtuaal keskkonda sisenemine: source KAUSTA_NIMI/bin/activate
Pakettide install: pip install PAKETTIDE-NIMED
Test: properdocs serve -f teekond/failini/mkdocs.yml -a 0.0.0.0:8000
Võid ka kasutada mis iganes nime, ei pea olema mkdocs.yml kui kasutad parameetrit '-f', aga ilma selleta otsib käsk samast kaustast mkdocs.yml nimelist faili.