Skip to content

docs: Add MkDocs-based documentation with wiki migration#6972

Open
mreid-tt wants to merge 31 commits into
SynoCommunity:masterfrom
mreid-tt:docs-migration
Open

docs: Add MkDocs-based documentation with wiki migration#6972
mreid-tt wants to merge 31 commits into
SynoCommunity:masterfrom
mreid-tt:docs-migration

Conversation

@mreid-tt
Copy link
Copy Markdown
Contributor

@mreid-tt mreid-tt commented Feb 15, 2026

Description

Adds comprehensive MkDocs-based documentation to replace the GitHub Wiki, deployed via GitHub Pages.

Live Preview: https://mreid-tt.github.io/spksrc/

What's Included

Documentation Structure

  • User Guide - Installation, permissions, troubleshooting, SSH access
  • Developer Guide - Setup, packaging, service scripts, wizards, publishing
  • Framework - Architecture, makefile system, toolchains (for contributors)
  • Reference - Architectures, ports, makefile variables, DSM APIs, permissions
  • Packages - Comprehensive catalog with 40+ detailed package pages
  • Contributing - Development process, pull requests

Key Features

  • MkDocs Material theme with search, dark mode, and navigation
  • GitHub Actions workflow for automatic deployment
  • Screenshots and diagrams for user guide
  • All wiki content migrated and reorganized
  • Cross-references between related topics

Migration from Wiki

  • FAQ pages converted to package-specific documentation
  • Developer guides updated with accurate framework references
  • Removed outdated/incorrect information (invalid make targets, deprecated variables)
  • Added missing documentation (Python wheels, DSM 7.2 migration, resource files)

Files Changed

  • docs/ - 120+ new documentation files
  • mkdocs.yml - Site configuration
  • .github/workflows/docs.yml - Deployment workflow
  • .gitignore - Exclude MkDocs build artifacts

Testing

Notes

  • The docs-migration branch currently has docs deployment enabled for preview
  • Once merged, the workflow should be updated to deploy from master only
  • Wiki can be deprecated after merge (or kept as archive)

Fixes #

Checklist

  • Build rule all-supported completed successfully
  • New installation of package completed successfully
  • Package upgrade completed successfully (Manually install the package again)
  • Package functionality was tested
  • Any needed documentation is updated/created

Type of change

  • Includes small framework changes
  • This change requires a documentation update (e.g. Wiki)

Migrate documentation from wiki to in-repo MkDocs Material site.

Structure:
- docs/user-guide/ - End-user installation and troubleshooting
- docs/developer-guide/ - Package development guides
- docs/reference/ - Architecture and port references
- docs/packages/ - Package catalog and template
- docs/contributing/ - Contributor guidelines

Includes:
- mkdocs.yml with Material theme configuration
- GitHub Actions workflow for Pages deployment
- 45 markdown documentation files
- Add Permission Management guide for DSM 6/7 folder access
- Add Update Policy and Publish Process documentation
- Add Ash Shell PID tracking issue for DSM 5/SRM
- Expand troubleshooting with FAQ content:
  - DSM certificate issues
  - DNS workarounds
  - Package downgrade procedure
  - GitHub artifact downloads
  - Port conflict resolution
- Add Synology Developer Guide external references
- Document diyspk folder in package anatomy
- Add Makefile include order caveat
- Update mkdocs.yml navigation for new pages
- Fix deprecated tags plugin configuration
- Add docs/packages/ section with catalog and template
- Update .gitignore to allow docs/packages/ and ignore site/
- Remove broken links to non-existent pages
- Comment out placeholder screenshot reference
- Replace tmux references with transmission (tmux is in synocli-net bundle)
- Update packages/index.md with accurate package catalog
- Fix cross package example (screen instead of tmux)
- Update copyright footer to 2026
- Add naming conventions section for wizard templates
- Fix examples to use UPPERCASE for mustache substitutions
- Keep lowercase wizard_ prefix for input keys passed to scripts
- Fix beta packages note (DSM 6.x only)
- Fix trust level setting (Synology Inc. and trusted publishers)
- Add DSM 7.x third-party warning note
- Fix manual download URL (synocommunity.com)
- Fix data retention notes for DSM 6.x vs 7.x
- Fix troubleshooting section (servicetool commands, log paths)
- Fix compatibility section (syno_cpu_arch command, KB links)
- Fix permissions grep command (username not run-as)
- Add screenshots for installation, compatibility, permissions
- Add GitHub Actions screenshots for troubleshooting
- Add port conflict error screenshot
Remove sections that duplicate DSM's built-in error handling:
- "Insufficient Privilege" or Permission Denied
- Installation Wizard Fails
- Package Dependencies Not Met
…mprove accuracy

- makefile-variables: Fix SPK_REV description, SPK_ICON dimensions, add LICENSE_FILE, mark MAINTAINER as required
- build-rules: Fix spksrc.python-module.mk include (was incorrectly spksrc.cross-python-module.mk)
- python: Simplify service_postinst to use install_python_virtualenv, add crossenv prerequisites, add python312-wheels example, fix crossenvclean command
- rust: Remove invalid rust-clean and rustc make targets
- web: Correct timing - pkg_dir_prepare runs BEFORE service_postinst
- debugging: Add sudo for system log, remove ldd (not available on DSM)
- testing: Already had all-supported fix from prior commit
- dsm7: Remove inaccurate wizard templates note, add web service resource, fix permission example
- dsm72: Add required include statement in conditional config example
- github-actions: Update to reflect actual workflow (DSM 7.1/6.2 default, 7.2 opt-in)
- package-server: Mark trust settings DSM 6.x only, update signing section
- update-policy: Fix DSM version priorities, remove unsubstantiated sections, fix testing checklist
- Use DISPLAY_NAME prefix for commit messages (e.g., 'Transmission:' not 'transmission:')
- Add versioning rules section (never reset SPK_REV, never decrement)
- Add rebase guidance before merging
- Update examples throughout to match actual commit patterns
Replace ASCII box-drawing diagrams with Mermaid flowcharts for better
rendering in documentation viewers that support Mermaid (GitHub, MkDocs,
etc.).

Converted diagrams:
- Build Pipeline Overview (download -> plist flow)
- SPK Package Assembly (depend -> spk file flow)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant