postnhost 0.1.1 → 0.2.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 +28 -0
- data/README.md +11 -0
- data/app/assets/builds/postnhost/application.css +1 -1
- data/app/controllers/postnhost/api/base_controller.rb +29 -0
- data/app/controllers/postnhost/api/v1/commands_controller.rb +27 -0
- data/app/controllers/postnhost/api/v1/mcp_controller.rb +49 -0
- data/app/controllers/postnhost/api_tokens_controller.rb +34 -0
- data/app/controllers/postnhost/articles/translations_controller.rb +2 -9
- data/app/controllers/postnhost/categories/translations_controller.rb +2 -9
- data/app/controllers/postnhost/management_preview_controller.rb +17 -0
- data/app/controllers/postnhost/pages/translations_controller.rb +2 -9
- data/app/models/postnhost/api_token.rb +26 -0
- data/app/models/postnhost/user.rb +2 -0
- data/app/services/postnhost/api/v1/openapi.rb +27 -0
- data/app/services/postnhost/management/catalog.rb +151 -0
- data/app/services/postnhost/management/command.rb +174 -0
- data/app/services/postnhost/management/content_actions.rb +75 -0
- data/app/services/postnhost/management/input.rb +49 -0
- data/app/services/postnhost/management/mcp.rb +54 -0
- data/app/services/postnhost/management/preview.rb +25 -0
- data/app/services/postnhost/management/resources.rb +30 -0
- data/app/services/postnhost/management/schema_fields.rb +25 -0
- data/app/services/postnhost/management/serializer.rb +40 -0
- data/app/services/postnhost/management/settings_actions.rb +64 -0
- data/app/services/postnhost/management/upload.rb +18 -0
- data/app/services/postnhost/translation/enqueue.rb +59 -0
- data/app/views/layouts/postnhost/_sidebar.html.erb +7 -0
- data/app/views/postnhost/api_tokens/index.html.erb +92 -0
- data/config/routes.rb +12 -0
- data/db/migrate/20261008120000_create_api_tokens.rb +12 -0
- data/lib/postnhost/version.rb +1 -1
- metadata +22 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 627ae55fdce85eb1586f9dd686b9b637a83443c5b3752bb9b932f563d972cc72
|
|
4
|
+
data.tar.gz: 29b259e49deacd46af93786df0bb5ee347a91ebc5ec8902d1b56cceb16c0a7d7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e163ba13b11fed2c1840ccedb5d48523f89ea9039f5bf3b2d9fccc3ca02f2c2d82ed1d25133d08b6c5a0856ad3ff1df4b8ef0ba168603d3c9600862317a15ad3
|
|
7
|
+
data.tar.gz: f85efaf4ef237bb6119101c673ef8f57f1623f79e94fd488637590342b58b2c8c994d8189436f41bb8a7be9e41d068d069cd6e5a683e9f005dc83d6e0f60af03
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to PostnHost are documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.2.0] - 2026-10-24
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Versioned JSON management API and Streamable HTTP MCP endpoint at `/api/v1/mcp`, relative to the engine mount path.
|
|
10
|
+
- 89 shared commands for CMS content, publishing, versions, uploads, translations, users, navigation, and settings, with command discovery and OpenAPI schemas.
|
|
11
|
+
- API & MCP dashboard for creating and revoking personal bearer tokens, with hashed token storage and one-time secret display.
|
|
12
|
+
|
|
13
|
+
### Improved
|
|
14
|
+
|
|
15
|
+
- Paginated management lists use compact summaries and bounded database queries; full content remains available through individual record commands.
|
|
16
|
+
- UI and management commands share translation enqueueing, preserving successfully queued work and cleaning up placeholders when enqueueing fails.
|
|
17
|
+
|
|
18
|
+
### Upgrading existing blogs
|
|
19
|
+
|
|
20
|
+
From your host application's directory, update any Gemfile constraint to allow PostnHost 0.2.0, then run:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
bundle update postnhost
|
|
24
|
+
bin/rails postnhost:install:migrations
|
|
25
|
+
bin/rails db:migrate
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Commit the copied `db/migrate/*_create_api_tokens.postnhost.rb` migration and updated schema with your application. During production deployment, run `RAILS_ENV=production bin/rails db:migrate` before restarting the app.
|
|
29
|
+
|
|
30
|
+
The new `CreateApiTokens` migration creates the `postnhost_api_tokens` table. Existing blog content requires no backfill.
|
|
31
|
+
|
|
5
32
|
## [0.1.1] - 2026-08-31
|
|
6
33
|
|
|
7
34
|
### Fixed
|
|
@@ -29,5 +56,6 @@ First open source release of PostnHost.
|
|
|
29
56
|
|
|
30
57
|
Authored by Kirill Shevchenko (Ruby/Rails engineering) and Maxim Sova (technical SEO expertise).
|
|
31
58
|
|
|
59
|
+
[0.2.0]: https://github.com/postnhost/postnhost/compare/v0.1.1...v0.2.0
|
|
32
60
|
[0.1.1]: https://github.com/postnhost/postnhost/compare/v0.1.0...v0.1.1
|
|
33
61
|
[0.1.0]: https://github.com/postnhost/postnhost/releases/tag/v0.1.0
|
data/README.md
CHANGED
|
@@ -42,6 +42,7 @@ Mount this engine into an existing Rails app, or use the <a href="https://github
|
|
|
42
42
|
- [Replacing favicon](#replacing-favicon)
|
|
43
43
|
- [Host app i18n](#host-app-i18n-optional)
|
|
44
44
|
- [Static pages](#static-pages-terms-privacy-etc)
|
|
45
|
+
- [API and MCP](#api-and-mcp)
|
|
45
46
|
- [Routes](#routes)
|
|
46
47
|
- [Production checklist](#production-checklist)
|
|
47
48
|
- [Development](#development)
|
|
@@ -295,6 +296,16 @@ Link helpers:
|
|
|
295
296
|
<%= link_to "Terms", postnhost.public_static_page_path(slug: "terms") %>
|
|
296
297
|
```
|
|
297
298
|
|
|
299
|
+
## API and MCP
|
|
300
|
+
|
|
301
|
+
Manage CMS content and settings through the versioned JSON command API and the
|
|
302
|
+
Streamable HTTP MCP endpoint. Open **API & MCP** in the CMS to create or revoke
|
|
303
|
+
bearer tokens. The API and MCP share the same discoverable commands, input schemas,
|
|
304
|
+
and publishing workflows.
|
|
305
|
+
|
|
306
|
+
Discover commands at `/api/v1/commands`, OpenAPI at `/api/v1/openapi`, and
|
|
307
|
+
connect MCP clients to `/api/v1/mcp`, relative to the engine mount path.
|
|
308
|
+
|
|
298
309
|
## Routes
|
|
299
310
|
|
|
300
311
|
The engine mounts at `/blog` by default. You can change this in `config/routes.rb`:
|