@ampless/plugin-rss 0.2.0-alpha.5 → 0.2.0-alpha.50

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.
package/README.ja.md ADDED
@@ -0,0 +1,61 @@
1
+ > English: [README.md](./README.md)
2
+ >
3
+
4
+ # @ampless/plugin-rss
5
+
6
+ [ampless](https://github.com/heavymoons/ampless) 向け RSS 2.0 フィードプラグイン。
7
+
8
+ > **プレリリース / アルファ版。** v1.0 まではマイナーバージョンでも破壊的変更が入る可能性があります。
9
+
10
+ 投稿が公開・非公開・更新・削除されるたびに `feed.xml` を S3 に再生成します。Next.js の `/feed.xml` ルートが最新バージョンを配信します。
11
+
12
+ ## インストール
13
+
14
+ ```bash
15
+ npm install @ampless/plugin-rss@alpha
16
+ ```
17
+
18
+ ## 設定
19
+
20
+ `cms.config.ts` に記述します:
21
+
22
+ ```ts
23
+ import { defineConfig } from 'ampless'
24
+ import rssPlugin from '@ampless/plugin-rss'
25
+
26
+ export default defineConfig({
27
+ // ...
28
+ plugins: [
29
+ rssPlugin({
30
+ limit: 20, // 最新の投稿数
31
+ language: 'ja', // BCP 47 言語タグ
32
+ // siteUrl: 'https://example.com',
33
+ // feedPath: '/feed.xml',
34
+ }),
35
+ ],
36
+ })
37
+ ```
38
+
39
+ | オプション | デフォルト | 備考 |
40
+ |---|---|---|
41
+ | `limit` | `20` | フィードに含める最新公開投稿数 |
42
+ | `language` | `'en'` | RSS `<language>` タグ(BCP 47) |
43
+ | `siteUrl` | `site.url` | ベース URL のオーバーライド(ステージング環境など) |
44
+ | `feedPath` | `/feed.xml` | フィードを配信するパス。`<atom:link rel="self">` 要素に出力されます |
45
+
46
+ このプラグインは `siteMetadata` フックを通じてサイトの `<head>` に自動検出用の `<link rel="alternate" type="application/rss+xml">` も追加します。
47
+
48
+ ## トラストレベル
49
+
50
+ `trusted` — 投稿テーブルへの読み取りアクセスと、サイトの S3 バケット内 `public/plugins/rss/` への書き込みアクセスを持つ、trusted Lambda プロセッサーで実行されます。
51
+
52
+ ## フック
53
+
54
+ 以下のイベントを購読します:
55
+
56
+ - `content.published`
57
+ - `content.unpublished`
58
+ - `content.deleted`
59
+ - `content.updated`(公開済み投稿のタイトル変更時にフィードの `<title>` を更新するため)
60
+
61
+ 各フック呼び出しで公開済み投稿の全セットを再取得し、再生成した XML を `s3://<site-bucket>/public/plugins/rss/feed.xml` に書き込みます。Next.js ルートがそこから読み取るため、フィードは常に最大 1 イベント分だけリアルタイムより遅れます。
package/README.md CHANGED
@@ -1,3 +1,6 @@
1
+ > 日本語版: [README.ja.md](./README.ja.md)
2
+ >
3
+
1
4
  # @ampless/plugin-rss
2
5
 
3
6
  RSS 2.0 feed plugin for [ampless](https://github.com/heavymoons/ampless).
package/dist/index.js CHANGED
@@ -48,8 +48,10 @@ function rssPlugin(options = {}) {
48
48
  }
49
49
  return definePlugin({
50
50
  name: "rss",
51
+ packageName: "@ampless/plugin-rss",
51
52
  apiVersion: 1,
52
53
  trust_level: "trusted",
54
+ capabilities: ["eventHooks", "writePublicAsset", "metadata"],
53
55
  hooks: {
54
56
  "content.published": rebuild,
55
57
  "content.unpublished": rebuild,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ampless/plugin-rss",
3
- "version": "0.2.0-alpha.5",
3
+ "version": "0.2.0-alpha.50",
4
4
  "description": "RSS / Atom feed plugin for ampless",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -8,7 +8,8 @@
8
8
  ".": {
9
9
  "import": "./dist/index.js",
10
10
  "types": "./dist/index.d.ts"
11
- }
11
+ },
12
+ "./package.json": "./package.json"
12
13
  },
13
14
  "files": [
14
15
  "dist",
@@ -25,15 +26,30 @@
25
26
  "homepage": "https://github.com/heavymoons/ampless/tree/main/packages/plugin-rss#readme",
26
27
  "bugs": "https://github.com/heavymoons/ampless/issues",
27
28
  "dependencies": {
28
- "ampless": "0.2.0-alpha.5"
29
+ "ampless": "1.0.0-alpha.50"
29
30
  },
30
31
  "keywords": [
31
32
  "ampless",
32
33
  "plugin",
34
+ "ampless-plugin",
33
35
  "rss",
34
36
  "atom",
35
37
  "feed"
36
38
  ],
39
+ "amplessPlugin": {
40
+ "apiVersion": 1,
41
+ "name": "rss",
42
+ "trustLevel": "trusted",
43
+ "capabilities": [
44
+ "eventHooks",
45
+ "writePublicAsset",
46
+ "metadata"
47
+ ],
48
+ "displayName": {
49
+ "en": "RSS Feed",
50
+ "ja": "RSS フィード"
51
+ }
52
+ },
37
53
  "scripts": {
38
54
  "build": "tsup",
39
55
  "dev": "tsup --watch",