docs-kit 0.1.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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +46 -0
- data/LICENSE.txt +21 -0
- data/README.md +939 -0
- data/app/components/docs_ui/brand_mark.rb +88 -0
- data/app/components/docs_ui/callout.rb +37 -0
- data/app/components/docs_ui/code.rb +123 -0
- data/app/components/docs_ui/endpoint.rb +44 -0
- data/app/components/docs_ui/error_table.rb +72 -0
- data/app/components/docs_ui/example.rb +102 -0
- data/app/components/docs_ui/field_table.rb +46 -0
- data/app/components/docs_ui/header.rb +30 -0
- data/app/components/docs_ui/icon.rb +65 -0
- data/app/components/docs_ui/json_response.rb +46 -0
- data/app/components/docs_ui/markdown.rb +187 -0
- data/app/components/docs_ui/markdown_action.rb +45 -0
- data/app/components/docs_ui/on_this_page.rb +104 -0
- data/app/components/docs_ui/open_api_operation.rb +126 -0
- data/app/components/docs_ui/page.rb +83 -0
- data/app/components/docs_ui/page_helpers.rb +52 -0
- data/app/components/docs_ui/prop_table.rb +43 -0
- data/app/components/docs_ui/prose.rb +30 -0
- data/app/components/docs_ui/request_example.rb +85 -0
- data/app/components/docs_ui/search_box.rb +106 -0
- data/app/components/docs_ui/search_results.rb +95 -0
- data/app/components/docs_ui/section.rb +94 -0
- data/app/components/docs_ui/shell.rb +161 -0
- data/app/components/docs_ui/sidebar.rb +106 -0
- data/app/components/docs_ui/table.rb +64 -0
- data/app/components/docs_ui/theme_switcher.rb +46 -0
- data/app/components/docs_ui/topbar_links.rb +42 -0
- data/app/controllers/docs_kit/llms_controller.rb +76 -0
- data/app/controllers/docs_kit/mcp_controller.rb +60 -0
- data/app/controllers/docs_kit/search_controller.rb +72 -0
- data/app/javascript/docs_kit/controllers/docs_nav_controller.js +619 -0
- data/config/importmap.rb +15 -0
- data/config/rubocop/docs_kit.yml +24 -0
- data/exe/docs-kit +80 -0
- data/lib/docs-kit.rb +5 -0
- data/lib/docs_kit/api_client.rb +52 -0
- data/lib/docs_kit/api_request.rb +66 -0
- data/lib/docs_kit/api_templates.rb +92 -0
- data/lib/docs_kit/configuration.rb +485 -0
- data/lib/docs_kit/controller.rb +47 -0
- data/lib/docs_kit/engine.rb +49 -0
- data/lib/docs_kit/llms_text.rb +105 -0
- data/lib/docs_kit/markdown_export/blocks.rb +160 -0
- data/lib/docs_kit/markdown_export/inline.rb +95 -0
- data/lib/docs_kit/markdown_export/table.rb +53 -0
- data/lib/docs_kit/markdown_export.rb +92 -0
- data/lib/docs_kit/mcp_server.rb +128 -0
- data/lib/docs_kit/mcp_tools.rb +118 -0
- data/lib/docs_kit/nav_item.rb +22 -0
- data/lib/docs_kit/open_api/document.rb +91 -0
- data/lib/docs_kit/open_api/operation.rb +213 -0
- data/lib/docs_kit/open_api/schema.rb +178 -0
- data/lib/docs_kit/open_api.rb +55 -0
- data/lib/docs_kit/registry.rb +152 -0
- data/lib/docs_kit/rubocop.rb +19 -0
- data/lib/docs_kit/search_hit.rb +28 -0
- data/lib/docs_kit/search_index/snippet.rb +65 -0
- data/lib/docs_kit/search_index.rb +169 -0
- data/lib/docs_kit/shortcut.rb +99 -0
- data/lib/docs_kit/templates/new_site.rb +175 -0
- data/lib/docs_kit/topbar_link.rb +39 -0
- data/lib/docs_kit/version.rb +5 -0
- data/lib/docs_kit.rb +72 -0
- data/lib/generators/docs_kit/install/USAGE +15 -0
- data/lib/generators/docs_kit/install/install_generator.rb +447 -0
- data/lib/generators/docs_kit/install/sync_report.rb +64 -0
- data/lib/generators/docs_kit/install/templates/agents_md.erb +105 -0
- data/lib/generators/docs_kit/install/templates/application.tailwind.css.erb +39 -0
- data/lib/generators/docs_kit/install/templates/build-css +34 -0
- data/lib/generators/docs_kit/install/templates/build_css.rake +13 -0
- data/lib/generators/docs_kit/install/templates/doc.rb.erb +17 -0
- data/lib/generators/docs_kit/install/templates/docs_controller.rb.erb +14 -0
- data/lib/generators/docs_kit/install/templates/docs_kit.rb.erb +91 -0
- data/lib/generators/docs_kit/install/templates/installation_page.rb.erb +37 -0
- data/lib/generators/docs_kit/install/templates/landing.rb.erb +25 -0
- data/lib/generators/docs_kit/install/templates/landings_controller.rb.erb +7 -0
- data/lib/generators/docs_kit/install/templates/phlex.rb.erb +14 -0
- data/lib/generators/docs_kit/install/templates/rails_icons.rb.erb +12 -0
- data/lib/generators/docs_kit/install/templates/skill.md.erb +88 -0
- data/lib/generators/docs_kit/page/USAGE +26 -0
- data/lib/generators/docs_kit/page/page_generator.rb +127 -0
- data/lib/generators/docs_kit/page/templates/page.rb.erb +21 -0
- data/lib/rubocop/cop/docs_kit/escaped_interpolation_in_heredoc.rb +119 -0
- data/lib/rubocop/cop/docs_kit/render_component_preferred.rb +123 -0
- metadata +253 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: aa6ab8345eda1cc169927e190d267236133574627f0075f528bb417d842b2868
|
|
4
|
+
data.tar.gz: f620e9eb3e6bdca64e1d8365ad5cb2647bcc38d8576af8f2f7e2a1b397f8584c
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: b813b8eef499c093632c7b06974acdf3b5bd7033235020b815c19933ffb8ba82d08f7640791c5cb3685334ca67fa7e93012a83b214308339495ddabdbd4edaa8
|
|
7
|
+
data.tar.gz: ad7d05a4a84edc6cf1a4348c3e04da3f01a7402be4a0d55d68cdbad1978b5735eec30846edf8994b6b6747dac452a03ca4f5c7eec583f359935a847f136c5cfe
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [Unreleased]
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Release tooling matching the sibling gems (daisyui/phlex-reactive/pgbus): a
|
|
8
|
+
`rake release[X.Y.Z]` task (version bump → lockfile update → build-verify →
|
|
9
|
+
commit → push → GitHub Release; `pre`/`force` supported, `main`-only, clean-tree
|
|
10
|
+
guard) and `.github/workflows/release.yml`, which on `release: published` runs
|
|
11
|
+
the suite, content-checks the built gem, signs it with Sigstore, and publishes
|
|
12
|
+
to RubyGems over **OIDC trusted publishing** (no stored API token). See the
|
|
13
|
+
README "Releasing (maintainers)" section for the one-time trusted-publisher +
|
|
14
|
+
`rubygems` environment setup.
|
|
15
|
+
- Initial extraction of the shared docs-site chrome into `docs-kit`.
|
|
16
|
+
- `Docs::*` Phlex component kit: `Shell` (full-document drawer layout), `Sidebar`
|
|
17
|
+
(config-driven nav), `ThemeSwitcher`, `Icon`, `Code` (Rouge + inline theme),
|
|
18
|
+
`Page`, `Header`, `Section`, `Prose`, `Callout`, `Example` (source extraction).
|
|
19
|
+
- `DocsKit.configure` for per-site brand, themes, nav, version badge, stylesheets,
|
|
20
|
+
and code theme.
|
|
21
|
+
- `DocsKit::Registry` mixin for in-memory docs registries (slug/title/group +
|
|
22
|
+
`all`/`from_slug`/`grouped` + the "authored" filter).
|
|
23
|
+
- `DocsKit::NavItem` value object consumed by the sidebar.
|
|
24
|
+
- `DocsKit::Controller#render_page` and a Rails engine that wires it.
|
|
25
|
+
- Custom RuboCop cops shipped from the gem (`require: docs_kit/rubocop` +
|
|
26
|
+
`inherit_gem: { docs-kit: config/rubocop/docs_kit.yml }`, wired automatically by
|
|
27
|
+
the install generator): `DocsKit/RenderComponentPreferred` (prefer the Phlex-kit
|
|
28
|
+
helper form `DocsUI::Code(...)` over `render DocsUI::Code.new(...)`) and
|
|
29
|
+
`DocsKit/EscapedInterpolationInHeredoc` (steer `\#{...}` escapes in a
|
|
30
|
+
double-quoted heredoc to a single-quoted delimiter). RuboCop stays a
|
|
31
|
+
development-time dependency of the host — never a runtime dependency.
|
|
32
|
+
- `rails g docs_kit:install --sync`: the sanctioned upgrade path for an existing
|
|
33
|
+
site. Runs only the additive/wiring steps (routes, initializer hint,
|
|
34
|
+
importmap/Stimulus registration, AGENTS.md, `.rubocop.yml`) — never
|
|
35
|
+
re-scaffolds site-owned content (the `Doc` registry, pages, the themed CSS
|
|
36
|
+
build) — and prints a conservative drift checklist (a hand-written
|
|
37
|
+
`render_page`, a dead `IconHelper`) it warns about but never auto-deletes. See
|
|
38
|
+
the README "Keeping a site in sync" section.
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- `rails g docs_kit:install` is now fully idempotent, making re-running it the
|
|
43
|
+
safe upgrade path: `create_initializer` no longer clobbers a site's edited
|
|
44
|
+
`config/initializers/docs_kit.rb` (it skips + hints at the template for a
|
|
45
|
+
diff), and `add_routes` no longer duplicates a route the site already drew when
|
|
46
|
+
it was written in a different style (single vs double quotes, `to:` vs `=>`).
|
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Mikael Henriksson
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|