open_blog 0.3.0 → 0.4.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 +4 -4
- data/CHANGELOG.md +19 -0
- data/README.md +3 -1
- data/lib/open_blog/admin_suite.rb +1 -1
- data/lib/open_blog/version.rb +1 -1
- data/lib/open_blog.rb +9 -0
- data/skills/open-blog-install/SKILL.md +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: efdb8a5a4e6810822b5821360a7dafa544d704135f98ef877c226d7ae7888117
|
|
4
|
+
data.tar.gz: e15a793d38b597451baf0accb892cc5cb73ab4e86fa82fc90a04e6ea45807d9c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a6554c741ba91b63ef85d001ea36f25b62aad3b351407a6e46fff323e79204a52aa7fbedd3837c114fb96548fc3b312236e8562fbb613d03c4ac0ec504ec6a12
|
|
7
|
+
data.tar.gz: 6cb4979aab3f7ea903759ff765c3a9843a7d917a9a1965241fcf2f9326c6dc7b338fe88e597e69248233e77d194254e7c0c2aeb71c325adeaa7840069cea55b5
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.4.0] - 2026-10-28
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Releases publish automatically. When a merged pull request changes the gem version and CI, Installer, and Docs pass on `main`, the Publish workflow pushes the gem to RubyGems and creates the GitHub Release from this changelog. The Prepare Release workflow is removed.
|
|
15
|
+
- CI fails a pull request whose gem version has no dated changelog entry with notes.
|
|
16
|
+
- The AdminSuite reload hook no longer raises `NoMethodError` on every code reload in development.
|
|
17
|
+
|
|
18
|
+
## [0.3.1] - 2026-10-28
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Allow JSON 3. The JSON requirement is now `>= 2.3, < 4`. Rails 8.1 hosts can use JSON 2 or 3.
|
|
23
|
+
- On Rails 8.0 with JSON 3, Open Blog refuses to load with an `OpenBlog::ConfigurationError` that names the fix. Rails 8.0 passes `quirks_mode`, which JSON 3 rejects, so that pair does not work even without Open Blog.
|
|
24
|
+
|
|
25
|
+
### Upgrade notes
|
|
26
|
+
|
|
27
|
+
- On Rails 8.0, add `gem "json", "< 3"` to the Gemfile before `bundle update open_blog`, or upgrade to Rails 8.1. A new Rails 8.0 application installs JSON 3, so run `bundle add json --version "< 3"` before `bundle add open_blog`.
|
|
28
|
+
|
|
10
29
|
## [0.3.0] - 2026-10-20
|
|
11
30
|
|
|
12
31
|
### Added
|
data/README.md
CHANGED
|
@@ -61,6 +61,8 @@ bundle add open_blog
|
|
|
61
61
|
bin/rails generate open_blog:install
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
+
On Rails 8.0, run `bundle add json --version "< 3"` first. Rails 8.0 does not work with JSON 3, and Open Blog refuses to load on that pair.
|
|
65
|
+
|
|
64
66
|
To run the latest unreleased source instead, use `bundle add open_blog --github techwright-lab/open-blog`.
|
|
65
67
|
|
|
66
68
|
Start `bin/dev` (or `bin/rails server`) and open `/blog`. The generator installs tables, mounts the engine at `/blog`, copies the reader views and browser controllers, writes `config/initializers/open_blog.rb`, and publishes a sample article. If it prints an API token, save it: the secret is shown once.
|
|
@@ -129,7 +131,7 @@ The documentation is Markdown in `docs/`, built with Jekyll and Just the Docs fr
|
|
|
129
131
|
|
|
130
132
|
## Releases
|
|
131
133
|
|
|
132
|
-
|
|
134
|
+
To release, change the version in `lib/open_blog/version.rb` and date its `CHANGELOG.md` section in a pull request. After the merge, when CI, Installer, and Docs pass on `main`, **Publish** publishes the package to RubyGems and creates the GitHub Release. Merging ordinary changes does not publish a gem. See the [release guide](https://techwright-lab.github.io/open-blog/releases/) for the first-time Trusted Publishing setup.
|
|
133
135
|
|
|
134
136
|
## License
|
|
135
137
|
|
|
@@ -43,7 +43,7 @@ module OpenBlog
|
|
|
43
43
|
::AdminSuite::UI::FieldRendererRegistry.register(:open_blog_faq) do |view, form, field, resource, field_class|
|
|
44
44
|
render_faqs(view, form, field, resource, field_class)
|
|
45
45
|
end
|
|
46
|
-
Rails.application.reloader.to_prepare { install_controller! }
|
|
46
|
+
Rails.application.reloader.to_prepare { ::OpenBlog::AdminSuite.install_controller! }
|
|
47
47
|
install_controller!
|
|
48
48
|
@installed = true
|
|
49
49
|
end
|
data/lib/open_blog/version.rb
CHANGED
data/lib/open_blog.rb
CHANGED
|
@@ -87,7 +87,16 @@ module OpenBlog
|
|
|
87
87
|
end
|
|
88
88
|
route ? route.path.spec.to_s : config.mount_path
|
|
89
89
|
end
|
|
90
|
+
|
|
91
|
+
def require_supported_json!(rails: Rails.gem_version, json: Gem::Version.new(JSON::VERSION))
|
|
92
|
+
return if json < Gem::Version.new("3") || rails.release >= Gem::Version.new("8.1")
|
|
93
|
+
|
|
94
|
+
raise ConfigurationError, "JSON #{json} needs Rails 8.1 or later: Rails #{rails} passes quirks_mode, " \
|
|
95
|
+
'which JSON 3 rejects. Add gem "json", "< 3" to the Gemfile or upgrade Rails.'
|
|
96
|
+
end
|
|
90
97
|
end
|
|
91
98
|
end
|
|
92
99
|
|
|
100
|
+
OpenBlog.require_supported_json!
|
|
101
|
+
|
|
93
102
|
require_relative "open_blog/engine"
|
|
@@ -19,7 +19,7 @@ For examples and explanations, read [host integration](https://techwright-lab.gi
|
|
|
19
19
|
|
|
20
20
|
## Install and configure
|
|
21
21
|
|
|
22
|
-
Add a missing gem with `bundle add open_blog`, passing the requested version constraint when specified. For a fresh application, use `bin/rails generate open_blog:install`. For an existing application retaining its CSS pipeline, use `--skip-tailwind`. A staged local pilot can use:
|
|
22
|
+
Add a missing gem with `bundle add open_blog`, passing the requested version constraint when specified. On Rails 8.0, first run `bundle add json --version "< 3"`; Open Blog refuses to load on Rails 8.0 with JSON 3. For a fresh application, use `bin/rails generate open_blog:install`. For an existing application retaining its CSS pipeline, use `--skip-tailwind`. A staged local pilot can use:
|
|
23
23
|
|
|
24
24
|
```sh
|
|
25
25
|
bin/rails generate open_blog:install --theme=signal --skip-tailwind --skip-migrate --skip-sample
|
|
@@ -47,7 +47,7 @@ The controller stores `open-blog-theme` and sets `data-theme="light"` or `"dark"
|
|
|
47
47
|
|
|
48
48
|
## Upgrade copied files deliberately
|
|
49
49
|
|
|
50
|
-
Read the target changelog, update any version constraint, then `bundle update open_blog --conservative`; review dependency changes too (
|
|
50
|
+
Read the target changelog, update any version constraint, then `bundle update open_blog --conservative`; review dependency changes too (on Rails 8.0, keep JSON below 3; Rails 8.1 can use JSON 3). Bundler does not refresh copied host files.
|
|
51
51
|
|
|
52
52
|
`bin/rails generate open_blog:views` refreshes reader templates and `layouts/open_blog.html.erb` only. Compare controllers, locales, and theme sources with the installed package separately. Conflicting files are kept in a noninteractive rerun; a successful generator exit does not mean all copies are current. Merge required changes and use replacement only for reviewed files. A blanket `open_blog:install --force` also replaces the initializer. Review a host-owned layout against new helper/asset contracts manually. When moving from 0.1.0 to presets, replace old full-palette definitions with intentional overrides so they do not mask the new preset. Rebuild affected assets and restart.
|
|
53
53
|
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: open_blog
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- TechWright Labs
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-10-
|
|
10
|
+
date: 2026-10-28 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: json
|
|
@@ -18,7 +18,7 @@ dependencies:
|
|
|
18
18
|
version: '2.3'
|
|
19
19
|
- - "<"
|
|
20
20
|
- !ruby/object:Gem::Version
|
|
21
|
-
version: '
|
|
21
|
+
version: '4'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -28,7 +28,7 @@ dependencies:
|
|
|
28
28
|
version: '2.3'
|
|
29
29
|
- - "<"
|
|
30
30
|
- !ruby/object:Gem::Version
|
|
31
|
-
version: '
|
|
31
|
+
version: '4'
|
|
32
32
|
- !ruby/object:Gem::Dependency
|
|
33
33
|
name: rails
|
|
34
34
|
requirement: !ruby/object:Gem::Requirement
|