Skip to content

docs: migrate documentation site from Jekyll to Zensical#1808

Merged
pedrolamas merged 22 commits intofluidd-core:developfrom
pedrolamas:docs/migrate-to-mkdocs
Mar 28, 2026
Merged

docs: migrate documentation site from Jekyll to Zensical#1808
pedrolamas merged 22 commits intofluidd-core:developfrom
pedrolamas:docs/migrate-to-mkdocs

Conversation

@pedrolamas
Copy link
Copy Markdown
Member

Used AI to upgrade and improve the documentation to use Zensical: updated documentation, linted markdown, fixed typos and urls, updated the organization, etc.

image

pedrolamas and others added 13 commits March 26, 2026 14:38
Replace the Jekyll-based documentation with Zensical (modern static site
generator from the Material for MkDocs team). Restructure content into
consolidated pages, update for latest Klipper 0.13.0, Moonraker, and
Kalico changes.

- Add zensical.toml configuration with modern theme, dark/light toggle,
  GitHub repo link, social footer, edit page shortcuts, and breadcrumbs
- Add GitHub Actions workflow for automated deployment to GitHub Pages
- Consolidate installation, configuration, customize, updates, and
  development pages into single-page sections
- Move authorization, obico, and octoeverywhere pages under features
- Merge moonraker.conf example into the configuration page
- Expand Kalico integration docs with MPC, non-critical MCUs, dockable
  probes, per-axis acceleration, fan curves, and more
- Update Moonraker config for current best practices (remove deprecated
  enable_auto_refresh, add update blocking and auto-refresh notes)
- Add new sensor types (BMP180/388, SHT3x) from Klipper 0.13.0
- Add probe/eddy current FAQ for Klipper 0.13.0 breaking changes
- Fix all markdownlint issues, standardize code block languages
- Add .markdownlint.json configuration
- Add custom template override for html_title frontmatter support
- Add header partial override to show logo without site name
- Style standalone links as buttons with .md-button
- Rename docs directory from docs/ to documentation/ and back to work
  around Zensical asset generation bug

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…changes

- Expand Kalico section with MPC, non-critical MCUs, dockable probes,
  per-axis acceleration, fan curves, Python templates, and more
- Update Moonraker config: remove deprecated enable_auto_refresh, add
  update blocking and auto-refresh notes, note klippy_uds_address
- Add API key retrieval instructions to authorization page
- Add BMP180/388 and SHT3x sensor examples
- Add probe/eddy current FAQ for Klipper 0.13.0 breaking changes
- Update manual update commands to use systemctl
- Add Kalico to feature list and KIAUH installation notes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rename feature files to kebab-case convention (med_mesh → bed-mesh,
  gcode_viewer → gcode-viewer, print_history → print-history, etc.)
- Fix bed mesh filename typo (med_mesh → bed-mesh)
- Rename chart → thermal-chart, presets → thermal-presets
- Shorten obico and octoeverywhere filenames
- Move installation and sponsors to top-level files
- Sort features alphabetically in navigation
- Enable instant navigation with progress indicator
- Enable code block copy button

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Enable attribute lists for adding classes/IDs to markdown elements
- Enable pymdownx.keys for rendering keyboard keys
- Replace <kbd> HTML tags with ++key++ syntax in console docs
- Remove MD033 kbd exception from markdownlint (no longer needed)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Enable abbr, pymdownx.snippets, pymdownx.keys extensions
- Add glossary with tooltips for common acronyms (API, MMU, AFC, ERCF,
  MCU, JWT, CORS, LDAP, CIDR, MJPEG, HLS, WebRTC, MPC, PID, etc.)
- Replace <kbd> HTML tags with ++key++ syntax
- Re-enable pymdownx.highlight and pymdownx.superfences to restore
  code block syntax highlighting
- Enable content.tooltips theme feature for improved tooltip rendering

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Terminology:
- Gcode/gcode → G-code in prose (keep gcode in config/code)
- Cors → CORS, Github → GitHub, NodeJS → Node.js
- WiFI/WiFi/wifi → Wi-Fi, SDCard/SDCARD → SD card
- web cam → webcam, ie → i.e.

Typos:
- positon → position, posion → position
- accessable → accessible, ip → IP
- these some → some, maybe → may be
- it's (possessive) → its

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add Fluidd Config (recommended) section to configuration page with
  KIAUH and manual installation instructions, features overview, and
  customization via _CLIENT_VARIABLE macro
- Rename manual Klipper config section to clarify it's an alternative
- Add MCUs to glossary
- Fix "its" typo in installation page

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Navigation:
- Rename Installation → Getting Started with "what you need" intro
- Add Features index page with categorized overview
- Group features: Printing (G-code viewer + thumbnails + bed mesh +
  print history), Thermals (chart + presets + sensors), Multi-Material
  (extruders + spoolman), System & Notifications (system + notifications)
- Condense Obico and OctoEverywhere into integrations page
- Reorganize FAQ by topic (Setup, Cameras, System, Printing)
- Enable navigation.indexes for section landing pages
- Add Lucide icons to top-level nav items

Content:
- Add intro paragraphs to merged pages
- Clarify PAUSE/RESUME/CANCEL macros are optional (built-in with
  pause_resume)
- Fix "won't let me save" prose
- Standardize em dash usage
- Streamline homepage: tighter feature list, remove redundant sections
- Add FDM, I2C, SPI, UART, PWM to glossary

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Document Zensical tooling, build, serve, and deploy workflow
- Add full documentation directory structure reference
- List conventions: frontmatter, images, code blocks, terminology
- Require markdownlint and codespell checks before committing docs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Repo moved from AFC-Klipper-Add-On org to ArmoredTurtle org.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace `bundle exec jekyll serve` with `zensical serve` in
package.json. Add npm script reference to AI development guide.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@pedrolamas pedrolamas added this to the 1.36.3 milestone Mar 27, 2026
@pedrolamas pedrolamas requested a review from Copilot March 27, 2026 15:31
@pedrolamas pedrolamas added the Docs - Change Pertaining changes to the Docs label Mar 27, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Migrates Fluidd’s documentation site from the legacy Jekyll setup to a Zensical-based site under docs/, including content re-organization, updated navigation, and automated deployment to GitHub Pages.

Changes:

  • Replaced Jekyll docs infrastructure (Ruby/Gemfile/_config.yml, old page tree) with Zensical config + MkDocs-style content layout in docs/docs/.
  • Added a GitHub Actions workflow to build and deploy docs to gh-pages (with docs.fluidd.xyz CNAME).
  • Refreshed/rewrote many documentation pages, added glossary/tooltips support, and introduced custom theme overrides/CSS.

Reviewed changes

Copilot reviewed 75 out of 123 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
package.json Switch serve:docs to run zensical serve in docs/.
docs/zensical.toml New Zensical site configuration (nav/theme/extensions).
docs/updates/manual-updates.md Removed old Jekyll page (content moved/reworked under new structure).
docs/updates/index.md Removed old Jekyll Updates landing page.
docs/updates/automated.md Removed old Jekyll Automated Updates page.
docs/overrides/main.html Adds template override for custom <title> handling.
docs/installation/manual.md Removed old Jekyll Manual Installation page.
docs/installation/kiauh.md Removed old Jekyll KIAUH page.
docs/installation/index.md Removed old Jekyll Installation landing page.
docs/installation/fluiddpi.md Removed old Jekyll FluiddPI page.
docs/installation/docker.md Removed old Jekyll Docker page.
docs/index.md Removed old Jekyll homepage (replaced by docs/docs/index.md).
docs/includes/glossary.md Adds shared glossary for abbreviation tooltips (auto-appended).
docs/features/updates.md Removed old Jekyll Updates feature page (replaced by docs/docs/features/updates.md).
docs/features/thumbnails.md Removed old Jekyll Thumbnails page (merged into features/printing.md).
docs/features/system.md Removed old Jekyll System page (replaced by docs/docs/features/system.md).
docs/features/spoolman.md Removed old Jekyll Spoolman page (merged into features/multi-material.md).
docs/features/sensors.md Removed old Jekyll Sensors page (merged into features/thermals.md).
docs/features/print_history.md Removed old Jekyll Print History page (merged into features/printing.md).
docs/features/presets.md Removed old Jekyll Presets page (merged into features/thermals.md).
docs/features/notifications.md Removed old Jekyll Notifications page (merged into features/system.md).
docs/features/multiple_extruders.md Removed old Jekyll Multiple Extruders page (merged into features/multi-material.md).
docs/features/med_mesh.md Removed old Jekyll Bed Mesh page (merged into features/printing.md).
docs/features/integrations.md Removed old Jekyll Integrations page (replaced by docs/docs/features/integrations.md).
docs/features/index.md Removed old Jekyll Features landing page (replaced by docs/docs/features/index.md).
docs/features/gcode_viewer.md Removed old Jekyll G-code Viewer page (merged into features/printing.md).
docs/features/chart.md Removed old Jekyll Thermals Chart page (merged into features/thermals.md).
docs/faq.md Removed old Jekyll FAQ page (replaced by docs/docs/faq.md).
docs/docs/stylesheets/extra.css Adds custom CSS (brand colors + small header tweak).
docs/docs/sponsors.md Converts Sponsors page to new frontmatter/style.
docs/docs/index.md New Zensical homepage content.
docs/docs/getting-started.md New Getting Started page (install options + hosted app notes).
docs/docs/features/updates.md New consolidated Updates page (automated + manual).
docs/docs/features/timelapse.md Converts Timelapse page to new frontmatter/style.
docs/docs/features/thermals.md New consolidated Thermals page (chart/presets/sensors).
docs/docs/features/system.md New consolidated System & Notifications page.
docs/docs/features/slicer-uploads.md Updates content and fixes links for new config anchors.
docs/docs/features/printing.md New consolidated Printing page (viewer/thumbnails/mesh/history).
docs/docs/features/multiple-printers.md Updates content and link targets for new config anchors.
docs/docs/features/multi-material.md New consolidated Multi-Material page (extruders + Spoolman).
docs/docs/features/macros.md Converts Macros page to new frontmatter/style and expands content.
docs/docs/features/localization.md Updates localization doc link targets for new development anchors.
docs/docs/features/integrations.md New integrations page (Kalico + ecosystem services).
docs/docs/features/index.md New features landing page/overview.
docs/docs/features/diagnostics.md Converts Diagnostics page to new frontmatter/style.
docs/docs/features/console.md Updates Console page formatting and key notation.
docs/docs/features/cameras.md Converts Cameras page to new frontmatter/style.
docs/docs/features/authorization.md Updates Authorization page content + adds API key/LDAP notes.
docs/docs/faq.md New reorganized FAQ under docs/docs/.
docs/docs/development.md Updates dev docs and adds localization contribution info.
docs/docs/customize.md New consolidated Customize page (layout/themes/hiding components).
docs/docs/configuration.md New consolidated Configuration page (Klipper + Moonraker + examples).
docs/docs/assets/images/side_menu.png Adds new screenshot asset for docs.
docs/docs/assets/images/printer-selection.png Adds new screenshot asset for docs.
docs/docs/assets/images/presets.png Adds new screenshot asset for docs.
docs/docs/assets/images/macros1.png Adds new screenshot asset for docs.
docs/docs/assets/images/logo_ldo.svg Adds additional logo asset.
docs/docs/assets/images/logo.svg Adds logo asset for docs theme.
docs/docs/assets/images/fluidd_icon.svg Adds Fluidd icon asset referenced by theme config.
docs/docs/assets/images/auth_trusted.png Adds authorization screenshot asset.
docs/docs/assets/images/auth_login_multisource_select.png Adds authorization screenshot asset.
docs/docs/assets/images/adjust_layout.png Adds layout screenshot asset.
docs/development/localization.md Removed old Jekyll localization page (content merged into docs/docs/development.md).
docs/customize/themes.md Removed old Jekyll Themes page (merged into docs/docs/customize.md).
docs/customize/layout.md Removed old Jekyll Layout page (merged into docs/docs/customize.md).
docs/customize/index.md Removed old Jekyll Customize landing page.
docs/customize/hide_outputs.md Removed old Jekyll Hide Outputs page (merged into docs/docs/customize.md).
docs/configuration/octoeverywhere_free_remote_access.md Removed old Jekyll config page (content moved/rewritten under new docs).
docs/configuration/obico_for_remote_access.md Removed old Jekyll config page (content moved/rewritten under new docs).
docs/configuration/multiple_printers.md Removed old Jekyll multiple printers page (merged into docs/docs/configuration.md).
docs/configuration/moonraker_conf.md Removed old Jekyll moonraker.conf example page (merged into docs/docs/configuration.md).
docs/configuration/moonraker.md Removed old Jekyll Moonraker page (merged into docs/docs/configuration.md).
docs/configuration/initial_setup.md Removed old Jekyll Initial Setup page (merged into docs/docs/configuration.md).
docs/configuration/index.md Removed old Jekyll Configuration landing page.
docs/configuration/fluidd.xyz.md Removed old Jekyll fluidd.xyz page (covered in docs/docs/getting-started.md + config section).
docs/_sass/color_schemes/fluidd.scss Removed Jekyll theme SCSS.
docs/_config.yml Removed Jekyll site config.
docs/README.md Removed Jekyll docs notes.
docs/Gemfile.lock Removed Jekyll Ruby dependency lockfile.
docs/Gemfile Removed Jekyll Ruby dependencies.
docs/CNAME Removed (now handled in deployment workflow).
docs/404.html Removed Jekyll custom 404 page.
docs/.markdownlint.json Adds docs-specific markdownlint configuration.
docs/.gitignore Updates ignores for Zensical outputs/cache.
CLAUDE.md Updates repo guidance and documents new Zensical docs setup.
.gitignore Adds ignores for Zensical build output and Python venv.
.github/workflows/docs.yml Adds docs build + deploy workflow to GitHub Pages.
Comments suppressed due to low confidence (1)

docs/docs/features/macros.md:8

  • Grammar: “Fluidd support turning …” should be “Fluidd supports turning …” to read correctly.

pedrolamas and others added 2 commits March 27, 2026 15:53
The {% set %}, {% if %}, {% else %}, {% endif %} Klipper Jinja2
template tags were stripped during the Jekyll-to-Zensical migration.
Restore the full macro code matching the develop branch.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The repo uses develop as default and master for releases — there is no
main branch. The docs workflow would never have triggered.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 75 out of 123 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (2)

docs/docs/features/authorization.md:68

  • Same copy/paste issue here: the [secrets] / [ldap] section headers (and subsequent keys) are indented inside the code block. This risks breaking the config when pasted into moonraker.conf. Please remove the leading spaces so the example matches real config formatting.
    docs/docs/features/authorization.md:27
  • The INI snippet includes leading spaces before section headers ([authorization], force_logins). If users copy/paste, those leading spaces may cause Moonraker to ignore/misparse the section. Please remove the leading indentation inside the code block so it’s copy/paste-safe.

pedrolamas and others added 2 commits March 27, 2026 16:19
- Fix grammar: "be setup" → "be set up"
- Fix terminology: "gcodes path" → "G-code path"
- Fix typo: stray hyphen in "fluidd-" → "Fluidd,"
- Pin Zensical version to 0.0.29 in CI workflow for reproducible builds

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix grammar: "Fluidd support" → "Fluidd supports" in macros page
- Remove leading spaces in authorization config code blocks to ensure
  copy-paste safe INI examples

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 76 out of 124 changed files in this pull request and generated 3 comments.

pedrolamas and others added 2 commits March 27, 2026 17:45
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- positon → position
- posion → position

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 76 out of 124 changed files in this pull request and generated no new comments.

pedrolamas and others added 2 commits March 28, 2026 00:46
Replace peaceiris/actions-gh-pages with official actions:
- actions/upload-pages-artifact@v4 + actions/deploy-pages@v5
- Split into build and deploy jobs
- Use environment-based deployment (github-pages)
- Scope permissions to pages:write + id-token:write
- Bump all actions to latest: checkout@v6, setup-python@v6

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 76 out of 124 changed files in this pull request and generated no new comments.

Add title="printer.cfg", title="moonraker.conf", or
title="moonraker_secure.json" to code blocks that show file contents,
so users can see which file each snippet belongs to.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@pedrolamas pedrolamas merged commit 206645e into fluidd-core:develop Mar 28, 2026
4 checks passed
@pedrolamas pedrolamas deleted the docs/migrate-to-mkdocs branch March 28, 2026 17:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Docs - Change Pertaining changes to the Docs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants