llm-docs-builder 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +35 -4
  3. data/.github/workflows/docker.yml +7 -7
  4. data/.github/workflows/push.yml +3 -3
  5. data/.gitignore +8 -0
  6. data/.rubocop.yml +1 -14
  7. data/.ruby-version +1 -1
  8. data/.yard-lint.yml +275 -0
  9. data/CHANGELOG.md +16 -0
  10. data/Dockerfile +14 -7
  11. data/Gemfile +1 -1
  12. data/Gemfile.lock +33 -25
  13. data/README.md +16 -0
  14. data/lib/llm_docs_builder/cli.rb +0 -1
  15. data/lib/llm_docs_builder/config.rb +33 -0
  16. data/lib/llm_docs_builder/helpers/prune_trailing_unsafe_link_separator.rb +31 -0
  17. data/lib/llm_docs_builder/helpers/squeeze_blank_lines_outside_fences.rb +71 -0
  18. data/lib/llm_docs_builder/helpers.rb +9 -0
  19. data/lib/llm_docs_builder/html_detector.rb +159 -0
  20. data/lib/llm_docs_builder/html_to_markdown/figure_code_block_renderer.rb +181 -0
  21. data/lib/llm_docs_builder/html_to_markdown/table_markup_renderer.rb +597 -0
  22. data/lib/llm_docs_builder/html_to_markdown_converter.rb +826 -0
  23. data/lib/llm_docs_builder/markdown_transformer.rb +23 -9
  24. data/lib/llm_docs_builder/output_formatter.rb +1 -1
  25. data/lib/llm_docs_builder/text_compressor.rb +2 -2
  26. data/lib/llm_docs_builder/transformers/base_transformer.rb +13 -1
  27. data/lib/llm_docs_builder/transformers/heading_transformer.rb +19 -7
  28. data/lib/llm_docs_builder/url_fetcher.rb +18 -0
  29. data/lib/llm_docs_builder/version.rb +1 -1
  30. data/lib/llm_docs_builder.rb +10 -0
  31. data/llm-docs-builder.gemspec +3 -2
  32. data/package-lock.json +331 -0
  33. data/package.json +9 -0
  34. data/renovate.json +22 -9
  35. metadata +31 -8
  36. data/AGENTS.md +0 -20
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llm-docs-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -9,6 +9,20 @@ bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: nokogiri
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '1.17'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.17'
12
26
  - !ruby/object:Gem::Dependency
13
27
  name: zeitwerk
14
28
  requirement: !ruby/object:Gem::Requirement
@@ -27,16 +41,16 @@ dependencies:
27
41
  name: bundler
28
42
  requirement: !ruby/object:Gem::Requirement
29
43
  requirements:
30
- - - "~>"
44
+ - - ">="
31
45
  - !ruby/object:Gem::Version
32
- version: '2.0'
46
+ version: '0'
33
47
  type: :development
34
48
  prerelease: false
35
49
  version_requirements: !ruby/object:Gem::Requirement
36
50
  requirements:
37
- - - "~>"
51
+ - - ">="
38
52
  - !ruby/object:Gem::Version
39
- version: '2.0'
53
+ version: '0'
40
54
  - !ruby/object:Gem::Dependency
41
55
  name: rake
42
56
  requirement: !ruby/object:Gem::Requirement
@@ -116,7 +130,7 @@ files:
116
130
  - ".rspec"
117
131
  - ".rubocop.yml"
118
132
  - ".ruby-version"
119
- - AGENTS.md
133
+ - ".yard-lint.yml"
120
134
  - CHANGELOG.md
121
135
  - Dockerfile
122
136
  - Gemfile
@@ -133,6 +147,13 @@ files:
133
147
  - lib/llm_docs_builder/config.rb
134
148
  - lib/llm_docs_builder/errors.rb
135
149
  - lib/llm_docs_builder/generator.rb
150
+ - lib/llm_docs_builder/helpers.rb
151
+ - lib/llm_docs_builder/helpers/prune_trailing_unsafe_link_separator.rb
152
+ - lib/llm_docs_builder/helpers/squeeze_blank_lines_outside_fences.rb
153
+ - lib/llm_docs_builder/html_detector.rb
154
+ - lib/llm_docs_builder/html_to_markdown/figure_code_block_renderer.rb
155
+ - lib/llm_docs_builder/html_to_markdown/table_markup_renderer.rb
156
+ - lib/llm_docs_builder/html_to_markdown_converter.rb
136
157
  - lib/llm_docs_builder/markdown_transformer.rb
137
158
  - lib/llm_docs_builder/output_formatter.rb
138
159
  - lib/llm_docs_builder/parser.rb
@@ -152,6 +173,8 @@ files:
152
173
  - misc/diff.png
153
174
  - misc/logo.png
154
175
  - misc/logo_wide.png
176
+ - package-lock.json
177
+ - package.json
155
178
  - renovate.json
156
179
  homepage: https://github.com/mensfeld/llm-docs-builder
157
180
  licenses:
@@ -170,14 +193,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
170
193
  requirements:
171
194
  - - ">="
172
195
  - !ruby/object:Gem::Version
173
- version: '3.2'
196
+ version: '3.3'
174
197
  required_rubygems_version: !ruby/object:Gem::Requirement
175
198
  requirements:
176
199
  - - ">="
177
200
  - !ruby/object:Gem::Version
178
201
  version: '0'
179
202
  requirements: []
180
- rubygems_version: 3.6.9
203
+ rubygems_version: 4.0.6
181
204
  specification_version: 4
182
205
  summary: Build and optimize documentation for LLMs - generate llms.txt, transform
183
206
  markdown, and more
data/AGENTS.md DELETED
@@ -1,20 +0,0 @@
1
- # Repository Guidelines
2
-
3
- ## Project Structure & Module Organization
4
- Core gem code lives in `lib/llm_docs_builder`, with single-responsibility modules such as `generator.rb`, `validator.rb`, and the CLI glue in `cli.rb`. Shared entrypoint `lib/llm_docs_builder.rb` wires dependencies. Executables reside in `bin/`: `llm-docs-builder` boots the CLI, while `rspecs` runs the full test matrix. Specs mirror library files under `spec/` with command-level coverage in `spec/integrations`. Static assets (logos, diff screenshots) are in `misc/`. Example configuration templates live at `llm-docs-builder.yml.example`.
5
-
6
- ## Build, Test, and Development Commands
7
- - `bundle install` — sync gem dependencies defined in `Gemfile`.
8
- - `bundle exec rake` — default task; runs RSpec and RuboCop together.
9
- - `bundle exec rspec` or `bin/rspecs` — execute unit and integration specs with doc formatter.
10
- - `bundle exec rubocop` — enforce the Ruby style guide; mirrors CI.
11
- - `bin/llm-docs-builder transform --docs README.md` — smoke-test the CLI against a local file.
12
-
13
- ## Coding Style & Naming Conventions
14
- Target Ruby 3.2 with two-space indentation and trailing newline. Prefer single-quoted strings; enable `# frozen_string_literal: true` headers on Ruby files. Keep lines ≤120 characters except where the RuboCop config allows. Use descriptive module/class names (e.g., `LlmDocsBuilder::Generator`) and predicate methods ending with `?` when returning booleans. Place supporting fixtures in `spec/support` if added, and name files after the class they extend.
15
-
16
- ## Testing Guidelines
17
- RSpec is the sole testing framework. Name files `*_spec.rb` and align describe blocks with constant paths. Integration scenarios belong in `spec/integrations` to capture CLI behaviors. SimpleCov is enabled by default for line and branch coverage; export `SIMPLECOV=false` for quick local runs. Persist example statuses with the automatically managed `spec/examples.txt`.
18
-
19
- ## Commit & Pull Request Guidelines
20
- Keep commit subjects short, present-tense, and focused (e.g., `Align CLI config (#27)`). Group related changes together so `git log` remains readable. Pull requests should describe motivation, summarize behavioral impact, link related issues or discussions, and include CLI output or screenshots when touching generated docs. Ensure CI passes (`bundle exec rake`) before requesting review, and note any follow-up work in the PR description.