mkdocs.yml 5.17 KB
site_name: xly (小羚羊) ERP — Framework Wiki
site_description: Developer / module-builder wiki for the xly printing-industry ERP framework.
site_url: ""
use_directory_urls: true

docs_dir: docs
site_dir: ../site/en

theme:
  name: material
  custom_dir: ../overrides
  language: en
  features:
    - navigation.instant
    - navigation.tracking
    - navigation.sections
    - navigation.indexes
    - navigation.top
    - search.suggest
    - search.highlight
    - content.code.copy
    - toc.follow
  palette:
    - media: "(prefers-color-scheme: light)"
      scheme: default
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-7
        name: Switch to dark mode
    - media: "(prefers-color-scheme: dark)"
      scheme: slate
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-4
        name: Switch to light mode

# CJK-aware search: regex separator includes word boundaries plus CJK punctuation;
# for true Chinese tokenization, jieba is invoked by the catalog generator at index time
# (see scripts/gen_catalog.py). Mid-term improvement: a custom mkdocs plugin to feed
# jieba-segmented terms into lunr.
plugins:
  - search:
      separator: '[\s\-,;:!=\[\]()"`/]+|(?!\b)(?=[A-Z][a-z])|\.(?!\d)|&[lg]t;|[\u3000-\u303f\uff00-\uffef]'

markdown_extensions:
  - admonition
  - attr_list
  - def_list
  - footnotes
  - md_in_html
  - tables
  - toc:
      permalink: true
      toc_depth: 4
  - pymdownx.details
  - pymdownx.highlight:
      anchor_linenums: true
      line_spans: __span
      pygments_lang_class: 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
  - pymdownx.tasklist:
      custom_checkbox: true

nav:
  - Home: index.md
  - 1. Mental Model:
      - concepts/index.md
      - The data-driven thesis: concepts/thesis.md
      - Modules, forms, virtual tables: concepts/modules-forms-vtables.md
      - Master / slave document pattern: concepts/master-slave.md
      - "No-FK, semantic-FK reality": concepts/semantic-fk.md
      - Two customization channels: concepts/customization-channels.md
      - Customization layers: concepts/customization-layers.md
      - Multi-tenancy and product editions: concepts/multi-tenancy.md
      - The metadata-driven request lifecycle: concepts/request-lifecycle.md
      - The three API tiers: concepts/api-surface.md
  - 2. Vertical Slices:
      - slices/index.md
      - "Slice 1: a CRUD module (Hello World)": slices/01-hello-world.md
      - "Slice 2: multi-tenancy and product editions": slices/02-multi-tenancy.md
      - "Slice 3: a module with a report": slices/03-report.md
      - "Slice 4: extending  a custom field": slices/04-custom-field.md
      - "Slice 5: extending  a per-customer SQL override": slices/05-customer-sql-override.md
      - "Slice 6: a hardware-integrated module (xlyPlc)": slices/06-hardware.md
      - "Slice 7 (deferred): a module with workflow": slices/07-workflow.md
  - 3. Reference (Builder):
      - reference/builder/index.md
      - "How to define a form": reference/builder/define-form.md
      - "How to define a virtual table": reference/builder/define-vtable.md
      - "How to attach a workflow": reference/builder/attach-workflow.md
      - "How to set permissions": reference/builder/permissions.md
  - 4. Reference (Maintainer):
      - reference/maintainer/index.md
      - "Running xlyEntry locally": reference/maintainer/running-locally.md
      - "Tech stack": reference/maintainer/tech-stack.md
      - "The runtime: BusinessBaseController & friends": reference/maintainer/runtime.md
      - "Generic procedure dispatch": reference/maintainer/proc-dispatch.md
      - "Cache invalidation on metadata change": reference/maintainer/cache-invalidation.md
      - "SQL templates (xlyEntry/templesql/)": reference/maintainer/sql-templates.md
      - "Multi-service deployment": reference/maintainer/deployment.md
      - "Metadata-management services (xlyManage)": reference/maintainer/management-services.md
      - "Activiti integration": reference/maintainer/activiti.md
  - 5. API Reference:
      - api-reference/index.md
      - "Internal API (xlyEntry)": api-reference/internal.md
      - "External API (xlyApi)": api-reference/external.md
      - "Inbound webhooks (xlyInterface)": api-reference/webhooks.md
      - "Messaging (ActiveMQ / RocketMQ)": api-reference/messaging.md
      - "Notifications (xlyMsg)": api-reference/notifications.md
  - 6. Auto-Catalog:
      - auto-catalog/index.md
      - Tables: auto-catalog/tables/index.md
      - Views: auto-catalog/views/index.md
      - Procedures: auto-catalog/procedures/index.md
      - Functions: auto-catalog/functions/index.md
  - 7. Glossary:
      - glossary/index.md
  - 8. Contributing:
      - contributing/index.md

extra:
  alternate:
    - name: English
      link: /en/
      lang: en
    - name: 简体中文
      link: /zh/
      lang: zh
  generator: false

# Build strict mode is OFF for now (lots of empty stubs would otherwise fail).
# Re-enable once chapters are filled in.
strict: false