From b6feffaf6f18ba6991af0a589f93bd40abaffec2 Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Mon, 18 Aug 2025 09:05:17 +0200 Subject: [PATCH 01/12] Switch from git to https URLs --- source/_config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/_config.yml b/source/_config.yml index 2d3d4c6c7..e717c7f37 100644 --- a/source/_config.yml +++ b/source/_config.yml @@ -34,7 +34,7 @@ defaultnav: # subdirectory: documentation # A subdirectory within the remote repository that contains the documentation files that we'll build and mount at the specified url. externalsources: /mcollective: - repo: git@github.com:choria-legacy/marionette-collective.git + repo: https://github.com/choria-legacy/marionette-collective.git commit: origin/2.12.x subdirectory: website @@ -92,7 +92,7 @@ documents: version: "latest" nav: ./_puppetdb_nav.html external_source: - repo: git://github.com/puppetlabs/puppetdb.git + repo: https://github.com/puppetlabs/puppetdb.git commit: doc-latest subdirectory: documentation hide: true @@ -101,7 +101,7 @@ documents: version: "7" nav: ./_puppetdb_nav.html external_source: - repo: git://github.com/puppetlabs/puppetdb.git + repo: https://github.com/puppetlabs/puppetdb.git commit: doc-7.y subdirectory: documentation hide: true @@ -110,7 +110,7 @@ documents: version: "6" nav: ./_puppetdb_nav.html external_source: - repo: git://github.com/puppetlabs/puppetdb.git + repo: https://github.com/puppetlabs/puppetdb.git commit: doc-6.y subdirectory: documentation hide: true @@ -119,7 +119,7 @@ documents: version: "5.2" nav: ./_puppetdb_nav.html external_source: - repo: git://github.com/puppetlabs/puppetdb.git + repo: https://github.com/puppetlabs/puppetdb.git commit: doc-5.2 subdirectory: documentation hide: true @@ -129,7 +129,7 @@ documents: doc: puppet version: "latest" nav: ./_puppet_toc.html - + # Puppet 6.y /puppet/6.y: doc: puppet From bea3617b77bc743ee5d8e233b8a21a4746fb6742 Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Mon, 18 Aug 2025 09:08:53 +0200 Subject: [PATCH 02/12] Add CI job to build the site --- .github/workflows/test.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..c678d7edd --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,29 @@ +--- +name: Build site on PR + +on: + pull_request: {} + push: + branches: + - master + +permissions: + contents: read + +jobs: + rake_checks: + name: Rake Checks + runs-on: ubuntu-24.04 + steps: + # needs fetch-depth because the packaging dem reads old git tags + - name: Checkout current PR + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Install Ruby version 3.3 + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.3 + bundler-cache: true + - name: Validate code + run: bundle exec rake generate From fdc040ea034042da22f6b6484516fd571a14232b Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Mon, 18 Aug 2025 09:24:04 +0200 Subject: [PATCH 03/12] Gemfile: Switch to jekyll from Perforce --- Gemfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 6db7d14b3..46475a67c 100644 --- a/Gemfile +++ b/Gemfile @@ -8,8 +8,9 @@ gem 'git', '~> 4.0' gem 'json', '~> 2.5' group(:build_site) do - gem 'jekyll', '~> 4.1' - gem 'kramdown', '~> 2.3' + # gem 'jekyll', '~> 4.1' # Perforce has their own legacy fork + gem 'jekyll', github: 'puppetlabs/jekyll', branch: 'puppetdocs' + #gem 'kramdown', '~> 2.3' gem 'vlad', '~> 2.7' gem 'vlad-git', '~> 2.1' gem 'listen', '~> 3.9.0' # Preserve ability to run on Ruby 2.0, since listen 3.1 requires Ruby ~> 2.2. From e1d31b9287f536bf873d2f4cf3d8c2c3ad1da0fa Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Mon, 18 Aug 2025 09:35:22 +0200 Subject: [PATCH 04/12] CI: Output Ruby environment --- .github/workflows/test.yml | 2 ++ Gemfile | 1 + 2 files changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c678d7edd..d9be301e9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,5 +25,7 @@ jobs: with: ruby-version: 3.3 bundler-cache: true + - name: Display Ruby environment + run: bundle env - name: Validate code run: bundle exec rake generate diff --git a/Gemfile b/Gemfile index 46475a67c..c800f3ca2 100644 --- a/Gemfile +++ b/Gemfile @@ -10,6 +10,7 @@ gem 'json', '~> 2.5' group(:build_site) do # gem 'jekyll', '~> 4.1' # Perforce has their own legacy fork gem 'jekyll', github: 'puppetlabs/jekyll', branch: 'puppetdocs' + gem 'rexml' # jekyll uses it but doesn't depend on it? #gem 'kramdown', '~> 2.3' gem 'vlad', '~> 2.7' gem 'vlad-git', '~> 2.1' From 8354d4e60dfff9f8d63f121006a0afc283d9720b Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Mon, 18 Aug 2025 09:59:04 +0200 Subject: [PATCH 05/12] test jekyll --- Gemfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index c800f3ca2..8cfddfeb5 100644 --- a/Gemfile +++ b/Gemfile @@ -8,10 +8,10 @@ gem 'git', '~> 4.0' gem 'json', '~> 2.5' group(:build_site) do - # gem 'jekyll', '~> 4.1' # Perforce has their own legacy fork - gem 'jekyll', github: 'puppetlabs/jekyll', branch: 'puppetdocs' - gem 'rexml' # jekyll uses it but doesn't depend on it? - #gem 'kramdown', '~> 2.3' + gem 'jekyll', '~> 4.1' # Perforce has their own legacy fork + #gem 'jekyll', github: 'puppetlabs/jekyll', branch: 'puppetdocs' + #gem 'rexml' # jekyll uses it but doesn't depend on it? + gem 'kramdown', '~> 2.3' gem 'vlad', '~> 2.7' gem 'vlad-git', '~> 2.1' gem 'listen', '~> 3.9.0' # Preserve ability to run on Ruby 2.0, since listen 3.1 requires Ruby ~> 2.2. From 99cd218ded176ce2c067b247e4b0e8b7dadf8fca Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Mon, 18 Aug 2025 10:02:40 +0200 Subject: [PATCH 06/12] Test perforce versions --- Gemfile | 18 +++-- Gemfile.lock | 186 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 194 insertions(+), 10 deletions(-) create mode 100644 Gemfile.lock diff --git a/Gemfile b/Gemfile index 8cfddfeb5..ba353148e 100644 --- a/Gemfile +++ b/Gemfile @@ -3,18 +3,16 @@ gemspec :name => 'puppet_docs' gem 'versionomy', '~> 0.5.0' gem 'rake', '~> 13.0', '>= 13.0.1' -gem 'rack', '>= 2.2.14' -gem 'git', '~> 4.0' +gem 'rack', '~> 2.2', '>= 2.2.3' +gem 'git', '~> 1.8' gem 'json', '~> 2.5' group(:build_site) do - gem 'jekyll', '~> 4.1' # Perforce has their own legacy fork - #gem 'jekyll', github: 'puppetlabs/jekyll', branch: 'puppetdocs' - #gem 'rexml' # jekyll uses it but doesn't depend on it? + gem 'jekyll', '~> 4.1' gem 'kramdown', '~> 2.3' gem 'vlad', '~> 2.7' gem 'vlad-git', '~> 2.1' - gem 'listen', '~> 3.9.0' # Preserve ability to run on Ruby 2.0, since listen 3.1 requires Ruby ~> 2.2. + gem 'listen', '~> 3.5.1' # Preserve ability to run on Ruby 2.0, since listen 3.1 requires Ruby ~> 2.2. end group(:generate_references) do @@ -22,16 +20,16 @@ group(:generate_references) do gem 'rdoc', '~> 6.2' gem 'rgen', '~> 0.8' gem 'pandoc-ruby' - gem 'openvox-strings' - gem 'openvox', '~> 8' - gem 'nokogiri', '>= 1.18.9' + gem 'puppet-strings' + gem 'puppet', '>= 7', '< 9' + gem 'nokogiri', '>= 1.12.5' gem 'pragmatic_segmenter', '~> 0.3' gem 'punkt-segmenter', '~> 0.9' end group(:unknown) do gem 'maruku', '~> 0.7' - gem 'activerecord', '>= 7.1.5.2' + gem 'activerecord', '~>6' end # group(:debug) do diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000..9dacbb77b --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,186 @@ +PATH + remote: . + specs: + puppet_docs (0.1) + +GEM + remote: https://rubygems.org/ + specs: + activemodel (6.1.7.8) + activesupport (= 6.1.7.8) + activerecord (6.1.7.8) + activemodel (= 6.1.7.8) + activesupport (= 6.1.7.8) + activesupport (6.1.7.8) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + bigdecimal (3.1.8) + blockenspiel (0.5.0) + colorator (1.1.0) + concurrent-ruby (1.3.3) + deep_merge (1.2.2) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + eventmachine (1.2.7) + facter (4.7.1) + hocon (~> 1.3) + thor (>= 1.0.1, < 1.3) + fast_gettext (2.4.0) + prime + ffi (1.17.0-x86_64-linux-gnu) + forwardable (1.3.3) + forwardable-extended (2.6.0) + git (1.19.1) + addressable (~> 2.8) + rchardet (~> 1.8) + google-protobuf (4.27.2-x86_64-linux) + bigdecimal + rake (>= 13) + hocon (1.4.0) + http_parser.rb (0.8.0) + i18n (1.14.5) + concurrent-ruby (~> 1.0) + jekyll (4.3.3) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) + jekyll-watch (~> 2.0) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (>= 0.3.6, < 0.5) + pathutil (~> 0.9) + rouge (>= 3.0, < 5.0) + safe_yaml (~> 1.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-sass-converter (3.0.0) + sass-embedded (~> 1.54) + jekyll-watch (2.2.1) + listen (~> 3.0) + json (2.7.2) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.5.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + locale (2.1.4) + maruku (0.7.3) + mercenary (0.4.0) + minitest (5.24.1) + multi_json (1.15.0) + nokogiri (1.16.6-x86_64-linux) + racc (~> 1.4) + open4 (1.3.4) + pandoc-ruby (2.1.10) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + pragmatic_segmenter (0.3.23) + unicode + prime (0.1.2) + forwardable + singleton + psych (5.1.2) + stringio + public_suffix (6.0.0) + punkt-segmenter (0.9.1) + unicode_utils (>= 1.0.0) + puppet (8.7.0) + concurrent-ruby (~> 1.0) + deep_merge (~> 1.0) + facter (>= 4.3.0, < 5) + fast_gettext (>= 2.1, < 3) + locale (~> 2.1) + multi_json (~> 1.13) + puppet-resource_api (~> 1.5) + scanf (~> 1.0) + semantic_puppet (~> 1.0) + puppet-resource_api (1.9.0) + hocon (>= 1.0) + puppet-strings (4.1.2) + rgen (~> 0.9) + yard (~> 0.9) + racc (1.8.0) + rack (2.2.9) + rake (13.2.1) + rake-remote_task (2.4.4) + open4 (~> 1.0) + rake (>= 0.8, < 15.0) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rchardet (1.8.0) + rdoc (6.7.0) + psych (>= 4.0.0) + rexml (3.3.2) + strscan + rgen (0.9.1) + rouge (4.3.0) + safe_yaml (1.0.5) + sass-embedded (1.77.8) + google-protobuf (~> 4.26) + rake (>= 13) + scanf (1.0.0) + semantic_puppet (1.1.0) + singleton (0.2.0) + stringio (3.1.1) + strscan (3.1.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + thor (1.2.2) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode (0.4.4.5) + unicode-display_width (2.5.0) + unicode_utils (1.4.0) + versionomy (0.5.0) + blockenspiel (~> 0.5) + vlad (2.7.1) + rake (>= 0.8, < 15.0) + rake-remote_task (~> 2.3) + vlad-git (2.2.0) + vlad (>= 2.1.0) + webrick (1.8.1) + yard (0.9.36) + zeitwerk (2.6.16) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + activerecord (~> 6) + git (~> 1.8) + jekyll (~> 4.1) + json (~> 2.5) + kramdown (~> 2.3) + listen (~> 3.5.1) + maruku (~> 0.7) + nokogiri (>= 1.12.5) + pandoc-ruby + pragmatic_segmenter (~> 0.3) + punkt-segmenter (~> 0.9) + puppet (>= 7, < 9) + puppet-strings + puppet_docs! + rack (~> 2.2, >= 2.2.3) + rake (~> 13.0, >= 13.0.1) + rdoc (~> 6.2) + rgen (~> 0.8) + versionomy (~> 0.5.0) + vlad (~> 2.7) + vlad-git (~> 2.1) + yard (~> 0.9) + +BUNDLED WITH + 2.5.10 From a7d0e9f98aeb4242f46c74b61161e09242b4698e Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Mon, 18 Aug 2025 10:10:01 +0200 Subject: [PATCH 07/12] Build in verbose mode --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d9be301e9..e5d7e1a47 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,3 +29,5 @@ jobs: run: bundle env - name: Validate code run: bundle exec rake generate + env: + DEBUG_PUPPET_DOCS_RAKEFILE: 1 From a1960d4086f146121aabc873ae09c7e550034ddc Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Mon, 18 Aug 2025 10:12:01 +0200 Subject: [PATCH 08/12] jekyll: run with --trace --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 9bd70818e..11574409a 100644 --- a/Rakefile +++ b/Rakefile @@ -43,7 +43,7 @@ def jekyll(command = 'build', source = SOURCE_DIR, destination = OUTPUT_DIR, *ar puts about_verbose_mode if ENV['DEBUG_PUPPET_DOCS_RAKEFILE'] - verbose_mode = '--verbose | tee puppet-docs-build.log' + verbose_mode = '--verbose --trace | tee puppet-docs-build.log' end amended_config = "#{SOURCE_DIR}/_config_amended.yml" From 065776d22a2e00558fc1a103e52243e9a61ecbc3 Mon Sep 17 00:00:00 2001 From: Yury Bushmelev Date: Tue, 30 Dec 2025 11:15:52 +0800 Subject: [PATCH 09/12] update Gemfile.lock for MacOS/arm64 --- Gemfile.lock | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9dacbb77b..305bed7dd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -6,6 +6,7 @@ PATH GEM remote: https://rubygems.org/ specs: + CFPropertyList (3.0.8) activemodel (6.1.7.8) activesupport (= 6.1.7.8) activerecord (6.1.7.8) @@ -33,12 +34,16 @@ GEM thor (>= 1.0.1, < 1.3) fast_gettext (2.4.0) prime + ffi (1.17.0-arm64-darwin) ffi (1.17.0-x86_64-linux-gnu) forwardable (1.3.3) forwardable-extended (2.6.0) git (1.19.1) addressable (~> 2.8) rchardet (~> 1.8) + google-protobuf (4.27.2-arm64-darwin) + bigdecimal + rake (>= 13) google-protobuf (4.27.2-x86_64-linux) bigdecimal rake (>= 13) @@ -80,6 +85,8 @@ GEM mercenary (0.4.0) minitest (5.24.1) multi_json (1.15.0) + nokogiri (1.16.6-arm64-darwin) + racc (~> 1.4) nokogiri (1.16.6-x86_64-linux) racc (~> 1.4) open4 (1.3.4) @@ -106,6 +113,17 @@ GEM puppet-resource_api (~> 1.5) scanf (~> 1.0) semantic_puppet (~> 1.0) + puppet (8.7.0-universal-darwin) + CFPropertyList (>= 3.0.6, < 4) + concurrent-ruby (~> 1.0) + deep_merge (~> 1.0) + facter (>= 4.3.0, < 5) + fast_gettext (>= 2.1, < 3) + locale (~> 2.1) + multi_json (~> 1.13) + puppet-resource_api (~> 1.5) + scanf (~> 1.0) + semantic_puppet (~> 1.0) puppet-resource_api (1.9.0) hocon (>= 1.0) puppet-strings (4.1.2) @@ -128,9 +146,10 @@ GEM rgen (0.9.1) rouge (4.3.0) safe_yaml (1.0.5) - sass-embedded (1.77.8) + sass-embedded (1.77.8-arm64-darwin) + google-protobuf (~> 4.26) + sass-embedded (1.77.8-x86_64-linux-gnu) google-protobuf (~> 4.26) - rake (>= 13) scanf (1.0.0) semantic_puppet (1.1.0) singleton (0.2.0) @@ -156,6 +175,7 @@ GEM zeitwerk (2.6.16) PLATFORMS + arm64-darwin-24 x86_64-linux DEPENDENCIES From e34fca2773ddc17ec656eb194309732d03cd488b Mon Sep 17 00:00:00 2001 From: Yury Bushmelev Date: Tue, 30 Dec 2025 11:16:25 +0800 Subject: [PATCH 10/12] fix change_baseurl plugin --- source/_plugins/change_baseurl.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_plugins/change_baseurl.rb b/source/_plugins/change_baseurl.rb index 9843d5d26..b9a13f402 100644 --- a/source/_plugins/change_baseurl.rb +++ b/source/_plugins/change_baseurl.rb @@ -27,7 +27,7 @@ def render(context) (@url, @old_baseurl, @new_baseurl) = @args.map{|arg| if arg =~ @var_regex - Liquid::Variable.new(arg).render(context) + context[arg] else arg.sub(/\A['"]/, '').sub(/['"]\Z/, '') end From 06c5677930ecec7111b36c7913671d6dc93d763e Mon Sep 17 00:00:00 2001 From: Yury Bushmelev Date: Tue, 30 Dec 2025 11:17:03 +0800 Subject: [PATCH 11/12] delete duplicate facter index page --- source/facter/index.md | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 source/facter/index.md diff --git a/source/facter/index.md b/source/facter/index.md deleted file mode 100644 index a6f791451..000000000 --- a/source/facter/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: default -title: "Facter 3.1: Documentation index" ---- - -Facter is Puppet's cross-platform system profiling library. It discovers and reports per-node facts, which are available in your Puppet manifests as variables. - -* [The list of core facts](./core_facts.html) lists and describes every built-in fact that ships with Facter. -* [The custom fact reference](./fact_overview.html) serves as an example-driven primer and quick reference for fact authors. -* [The custom facts walkthrough](./custom_facts.html) explains in detail how to write and distribute your own custom or external facts. -* [The Facter release notes](./release_notes.html) document Facter's history. From 2da324ca5bb413c98b9013c357ae162cc010e19d Mon Sep 17 00:00:00 2001 From: Yury Bushmelev Date: Tue, 30 Dec 2025 11:47:45 +0800 Subject: [PATCH 12/12] fix rake serve --- config.ru | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/config.ru b/config.ru index 09799896e..eab5576de 100644 --- a/config.ru +++ b/config.ru @@ -30,7 +30,11 @@ module Rack return entity_not_found(path_info) end - def list_path + def list_path(env = @env, path = @path, path_info = @path_info, script_name = @script_name) + @env = env + @path = path + @path_info = path_info + @script_name = script_name @stat = ::File.stat(@path) if @stat.readable? @@ -41,7 +45,7 @@ module Rack @env['PATH_INFO'] = @env['PATH_INFO'].sub(/\/?$/, '/index.html') return @app.call(@env) else - return list_directory + return list_directory(@path_info, @path, @script_name) end end else @@ -49,7 +53,7 @@ module Rack end rescue Errno::ENOENT, Errno::ELOOP - return entity_not_found + return entity_not_found(@path_info) end end