Skip to content

Move static docs to openvox-docs, remove DITA#233

Open
miharp wants to merge 2 commits into
OpenVoxProject:mainfrom
miharp:jekyll-docs
Open

Move static docs to openvox-docs, remove DITA#233
miharp wants to merge 2 commits into
OpenVoxProject:mainfrom
miharp:jekyll-docs

Conversation

@miharp
Copy link
Copy Markdown

@miharp miharp commented May 12, 2026

Summary

Implements the openbolt side of OpenVoxProject/openvox-docs#98, following the approach agreed in team discussion (2026-05-13 — see #232):

  • Remove 49 static .md files from documentation/ — they move to openvox-docs where all other OpenVox docsets live
  • Remove DITAdocumentation/bolt.ditamap deleted; dita-ot-action step removed from CI; run-dita job renamed to generate-docs
  • Keep ERB templates — all 9 templates stay in openbolt; rake docs:all is unchanged
  • Jekyll front matter on ERB templateslayout: default and title: added to all 9 .md.erb files; no permalink: added
  • Bake .html links into ERB templates — cross-reference links in template-level content use .html directly; rewrite_md_links handles the remaining .md links embedded in Ruby config option descriptions and Puppet docstrings (where changing the source to .html would look odd to developers)
  • Simplified rake docs:jekyll — renders ERB templates, rewrites remaining .md links from source-generated content, copies output and images to documentation/jekyll_build/

The openvox-docs copy pipeline will run rake references:openbolt (using the PuppetReferences framework) which calls rake docs:all in a checked-out openbolt tree and copies the 9 generated reference pages.

Companion PR

OpenVoxProject/openvox-docs#191 — adds the 50 static documentation pages, Jekyll collection config, sidebar nav, and the PuppetReferences::Openbolt::Docs class that calls rake docs:all at CI time. That PR depends on this one merging first.

Notes

  • documentation/jekyll_build/ is gitignored — generated artifact only
  • No permalink: anywhere — collection-level routing in openvox-docs handles URL resolution

Test plan

  • bundle exec rake docs:all generates all 9 reference pages cleanly
  • bundle exec rake docs:jekyll produces documentation/jekyll_build/ with all 9 pages and images
  • bundle exec rake docs:jekyll_verify passes (all pages present, no unrewritten .md links)
  • CI generate-docs job passes
  • RuboCop passes

@miharp miharp changed the title Add Jekyll front matter to documentation files Add Jekyll front matter and rake docs:jekyll build task May 12, 2026
@miharp miharp force-pushed the jekyll-docs branch 2 times, most recently from 068fe90 to 8947949 Compare May 12, 2026 13:57
@miharp miharp marked this pull request as ready for review May 12, 2026 14:18
Comment thread .github/workflows/tests.yaml Outdated
Comment on lines +132 to +147
run: |
# Every ERB template must have a generated page in the output
for template in documentation/templates/*.md.erb; do
page="documentation/jekyll_build/$(basename "${template%.erb}")"
test -f "$page" || (echo "Missing generated page: $page" && exit 1)
done
# No .md cross-reference links should remain
if grep -rP '\]\([^):]*\.md[)#]' documentation/jekyll_build/*.md; then
echo "Found unrewritten markdown .md links" && exit 1
fi
if grep -r 'href="[^"]*\.md' documentation/jekyll_build/*.md; then
echo "Found unrewritten HTML href .md links" && exit 1
fi
# Nav YAML must be present and parse cleanly
ruby -e "require 'yaml'; YAML.safe_load(File.read('documentation/jekyll_build/_data/openbolt_nav.yml'))" \
|| (echo "openbolt_nav.yml is invalid YAML" && exit 1)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'd make make this a rake task and put it under rakelib/*.rake

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

great idea

Comment thread documentation/upgrading_to_bolt_3.md Outdated
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Do we still need this file?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Probably not needed, but out of scope for this PR. Opened #234 to track its removal.

with:
build: dita -i documentation/bolt.ditamap -o out -f html5 --processing-mode=strict
- name: Generate and verify Jekyll docs
run: bundle exec rake docs:jekyll docs:jekyll_verify
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

How about all the includes and layout from the docs repo?
Is this taken into account?
Are includes and layout needed at all in this step?

Copy link
Copy Markdown
Author

@miharp miharp May 13, 2026

Choose a reason for hiding this comment

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

The docs:jekyll task doesn't actually run Jekyll — it just copies the markdown files, rewrites .md links to .html, and generates the nav YAML. Includes and layouts live in the openvox-docs repo and are only needed when Jekyll builds the HTML over there. This step only validates that the content and nav data are correct before they're published. But I may have misunderstood your question :)

@miharp miharp marked this pull request as draft May 13, 2026 13:33
@miharp miharp changed the title Add Jekyll front matter and rake docs:jekyll build task Move static docs to openvox-docs, remove DITA May 13, 2026
Static .md files move to openvox-docs where all other OpenVox docsets
live. ERB templates stay in openbolt and continue to generate reference
pages from source via rake docs:all.

- Remove 49 static .md files from documentation/ (move to openvox-docs)
- Remove bolt.ditamap — DITA is no longer used
- Rename run-dita CI job to generate-docs; remove dita-ot-action step
- Add layout/title front matter to all 9 ERB templates (no permalink:)
- Bake .html cross-reference links directly into ERB template content;
  rewrite_md_links handles remaining .md links from Ruby config option
  descriptions and Puppet docstrings at rake docs:jekyll time
- rake docs:jekyll: renders ERB templates, rewrites source-generated
  .md links to .html, copies output to documentation/jekyll_build/
- rake docs:jekyll_verify: checks all 9 pages present and no .md links
  remain in output
- Update documentation/README.md to describe ERB-only structure

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Signed-off-by: Michael Harp <mike@mikeharp.com>
miharp added a commit to miharp/openvox-docs that referenced this pull request May 13, 2026
Adds OpenBolt 5.x documentation as a new Jekyll collection. Static
documentation pages are moved here from the openbolt repo; 9 reference
pages (bolt_command_reference, plan_functions, etc.) are generated at
CI time by running `rake references:openbolt`, which clones the openbolt
repo and invokes `rake docs:all` to render ERB templates.

- Add `openbolt_latest` / `openbolt_5x` Jekyll collections with layout
  and sidebar nav defaults, nav-map routing, and `docs/_openbolt_latest`
  symlink → `docs/_openbolt_5x`
- Add 49 static documentation pages with `.html` cross-reference links
- Add `PuppetReferences::Openbolt::Docs` class that runs `rake docs:all`
  in the vendored openbolt repo and copies the 9 generated reference pages
- Wire into `puppet_references.rb`, `Rakefile`, and CI `build.yaml`
- Add OpenBolt feature card to homepage

Depends on OpenVoxProject/openbolt#233, which adds `rake docs:all` and
updates ERB templates with Jekyll front matter.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Signed-off-by: Michael Harp <mike@mikeharp.com>
@miharp miharp marked this pull request as ready for review May 13, 2026 15:20
miharp added a commit to miharp/openvox-docs that referenced this pull request May 13, 2026
Adds OpenBolt 5.x documentation as a new Jekyll collection. Static
documentation pages are moved here from the openbolt repo; 9 reference
pages (bolt_command_reference, plan_functions, etc.) are generated at
CI time by running `rake references:openbolt`, which clones the openbolt
repo and invokes `rake docs:all` to render ERB templates.

- Add `openbolt_latest` / `openbolt_5x` Jekyll collections with layout
  and sidebar nav defaults, nav-map routing, and `docs/_openbolt_latest`
  symlink → `docs/_openbolt_5x`
- Add 50 static documentation pages including collection index, release
  notes, and 49 pages moved from openbolt, with `.html` cross-reference links
- Add `PuppetReferences::Openbolt::Docs` class that runs `rake docs:all`
  in the vendored openbolt repo and copies the 9 generated reference pages
- Wire into `puppet_references.rb`, `Rakefile`, and CI `build.yaml`
- Add OpenBolt feature card to homepage

Depends on OpenVoxProject/openbolt#233, which adds `rake docs:all` and
updates ERB templates with Jekyll front matter.

Signed-off-by: Michael Harp <mike@mikeharp.com>
miharp added a commit to miharp/openvox-docs that referenced this pull request May 13, 2026
Adds OpenBolt 5.x documentation as a new Jekyll collection. Static
documentation pages are moved here from the openbolt repo; 9 reference
pages (bolt_command_reference, plan_functions, etc.) are generated at
CI time by running `rake references:openbolt`, which clones the openbolt
repo and invokes `rake docs:all` to render ERB templates.

- Add `openbolt_latest` / `openbolt_5x` Jekyll collections with layout
  and sidebar nav defaults, nav-map routing, and `docs/_openbolt_latest`
  symlink → `docs/_openbolt_5x`
- Add 50 static documentation pages including collection index, release
  notes, and 49 pages moved from openbolt, with `.html` cross-reference links
- Add `PuppetReferences::Openbolt::Docs` class that runs `rake docs:all`
  in the vendored openbolt repo and copies the 9 generated reference pages
- Wire into `puppet_references.rb`, `Rakefile`, and CI `build.yaml`
- Add OpenBolt feature card to homepage

Depends on OpenVoxProject/openbolt#233, which adds `rake docs:all` and
updates ERB templates with Jekyll front matter.

Signed-off-by: Michael Harp <mike@mikeharp.com>
@miharp miharp requested review from jay7x and tuxmea May 13, 2026 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants