docs: migrate documentation site from Jekyll to Zensical#1808
Merged
pedrolamas merged 22 commits intofluidd-core:developfrom Mar 28, 2026
Merged
docs: migrate documentation site from Jekyll to Zensical#1808pedrolamas merged 22 commits intofluidd-core:developfrom
pedrolamas merged 22 commits intofluidd-core:developfrom
Conversation
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>
Contributor
There was a problem hiding this comment.
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(withdocs.fluidd.xyzCNAME). - 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.
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>
Contributor
There was a problem hiding this comment.
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 intomoonraker.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.
- 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>
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>
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>
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Used AI to upgrade and improve the documentation to use Zensical: updated documentation, linted markdown, fixed typos and urls, updated the organization, etc.