Mkdocs.yml

# 1. 基礎設定
site_name: "unhappyjavamansfriend's obsidian docs"
site_url: http://localhost:8000/

# 2. 自訂樣式 (確保檔案存在於 docs/assets/stylesheets/extra.css)
extra_css:
  - assets/stylesheets/extra.css

# 3. 主題設定 (Material for MkDocs)
theme:
  name: material
  language: zh  # 介面中文語系

  # 圖標與標誌
  icon:
    logo: material/book-open-variant

  # 字體設置
  font:
    text: Roboto Serif
    code: Roboto Mono

  # 調色板設定(支援切換深淺模式)
  palette:
    - media: "(prefers-color-scheme: light)"
      scheme: default
      primary: deep purple
      accent: indigo
      toggle:
        icon: material/weather-sunny
        name: 切換到暗色模式
    - media: "(prefers-color-scheme: dark)"
      scheme: slate
      primary: blue grey
      accent: indigo
      toggle:
        icon: material/weather-night
        name: 切換到淺色模式

  # 功能增強 (Features)
  features:
    - content.code.copy          # 代碼複製按鈕
    - content.code.annotate      # 代碼註釋 (圓圈數字)
    - content.tabs.link          # Tab 切換同步
    - navigation.tabs            # 頂部導航標籤
    - navigation.indexes         # 索引頁點擊支援
    - navigation.expand          # 自動展開側邊欄
    - navigation.path            # 顯示目前路徑麵包屑
    - navigation.top             # 回到頂部按鈕
    - toc.integrate              # 將右側大綱整合進左側導航
    - search.suggest             # 搜尋建議
    - search.highlight           # 搜尋關鍵字高亮

# 4. Markdown 擴展設定 (語法解析)
markdown_extensions:
  # 代碼高亮核心
  - pymdownx.highlight:
      anchor_linenums: true
      line_spans: __span
      pygments_lang_class: true
  - pymdownx.inlinehilite:       # 行內代碼高亮
  - pymdownx.snippets:           # 代碼片段嵌入
  - pymdownx.superfences:        # 支援 Mermaid 圖表與複雜代碼塊
      custom_fences:
        - name: mermaid
          class: mermaid
          format: !!python/name:pymdownx.superfences.fence_code_format

  # 支援 Obsidian 常用語法
  - admonition                   # 支援 !!! info "標題" 警告框 (Obsidian Callouts)
  - pymdownx.details             # 支援可折疊區塊 (??? info)
  - pymdownx.tasklist:           # 支援 - [ ] 待辦清單
      custom_checkbox: true
  - attr_list                    # 支援圖片大小調整 {: width="300"}

# 5. 插件設定
plugins:
  - search
  - awesome-pages                # 根據資料夾結構自動生成導航
  - roamlinks                    # 支援 Obsidian 的 [[雙括號]] 連結格式
  - mermaid2