@ampless/admin 0.2.0-alpha.16 → 0.2.0-alpha.17
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 +73 -0
- package/README.md +3 -0
- package/package.json +4 -4
package/README.ja.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
> English: [README.md](./README.md)
|
|
2
|
+
>
|
|
3
|
+
|
|
4
|
+
# @ampless/admin
|
|
5
|
+
|
|
6
|
+
[ampless](https://github.com/heavymoons/ampless) 向け管理 UI ライブラリ。投稿エディター(Tiptap + Markdown + HTML)、メディアマネージャー(S3 + 画像処理)、サイト / テーマ設定、ロケール対応 UI 文字列、そしてすべてを結びつける Next.js ページファクトリーを提供します。
|
|
7
|
+
|
|
8
|
+
> **プレリリース / アルファ版。** v1.0 まではマイナーバージョンでも破壊的変更が入る可能性があります。
|
|
9
|
+
|
|
10
|
+
## なぜライブラリなのか?
|
|
11
|
+
|
|
12
|
+
以前は管理 UI がテンプレートプロジェクト内に存在していました。バグ修正や機能追加のたびに、テンプレートと各サイト間でファイルをコピーし続ける必要がありました。`@ampless/admin` として切り出すことで、プロジェクトは `npm update @ampless/admin` を実行するだけで改善を取り込めます — 他の依存パッケージと同じアップグレードフローです。
|
|
13
|
+
|
|
14
|
+
## インストール
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @ampless/admin@alpha @ampless/runtime@alpha ampless@alpha
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
ピア依存: `next`、`react`、`react-dom`、`aws-amplify`、`@aws-amplify/adapter-nextjs`。
|
|
21
|
+
|
|
22
|
+
## 接続方法
|
|
23
|
+
|
|
24
|
+
Next.js プロジェクトに `lib/admin.ts` を作成します:
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
import outputs from '../amplify_outputs.json'
|
|
28
|
+
import cmsConfig from '../cms.config'
|
|
29
|
+
import { createAdmin } from '@ampless/admin'
|
|
30
|
+
import { ampless } from './ampless'
|
|
31
|
+
|
|
32
|
+
export const admin = createAdmin({ outputs, cmsConfig, ampless })
|
|
33
|
+
export const t = admin.t
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
各管理ルートを薄いシェルとして公開します:
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
// app/(admin)/admin/posts/page.tsx
|
|
40
|
+
import { admin } from '@/lib/admin'
|
|
41
|
+
import { createPostsListPage } from '@ampless/admin/pages'
|
|
42
|
+
export default createPostsListPage(admin)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
// app/api/media/[...path]/route.ts
|
|
47
|
+
import { admin } from '@/lib/admin'
|
|
48
|
+
import { createMediaProxyRoute } from '@ampless/admin/api'
|
|
49
|
+
export const { GET } = createMediaProxyRoute(admin)
|
|
50
|
+
export const runtime = 'nodejs'
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## サブパス
|
|
54
|
+
|
|
55
|
+
| サブパス | 内容 |
|
|
56
|
+
| ----------------------------- | --------------------------------------------------- |
|
|
57
|
+
| `@ampless/admin` | `createAdmin` ファクトリー + `Admin` インターフェース |
|
|
58
|
+
| `@ampless/admin/pages` | ページファクトリー — 管理ルートごとに 1 つ |
|
|
59
|
+
| `@ampless/admin/api` | API ルートファクトリー(`createMediaProxyRoute` など)|
|
|
60
|
+
| `@ampless/admin/components` | 高度な接続用フォーム / エディターコンポーネント |
|
|
61
|
+
|
|
62
|
+
## ロケール
|
|
63
|
+
|
|
64
|
+
`createAdmin({ locale: 'ja' })` で管理 UI 文字列を日本語に切り替えます。
|
|
65
|
+
オブジェクトリテラルを渡すと個別の文字列をオーバーライドできます:
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
createAdmin({
|
|
69
|
+
outputs,
|
|
70
|
+
cmsConfig,
|
|
71
|
+
locale: { sidebar: { brand: 'MySite Admin' } },
|
|
72
|
+
})
|
|
73
|
+
```
|
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ampless/admin",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.17",
|
|
4
4
|
"description": "Admin UI for ampless: post editor, media manager, site/theme settings",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"lucide-react": "^1.16.0",
|
|
53
53
|
"react-image-crop": "^11.0.7",
|
|
54
54
|
"tailwind-merge": "^3.6.0",
|
|
55
|
-
"@ampless/mcp-server": "0.2.0-alpha.
|
|
56
|
-
"@ampless/runtime": "0.2.0-alpha.
|
|
57
|
-
"ampless": "0.2.0-alpha.
|
|
55
|
+
"@ampless/mcp-server": "0.2.0-alpha.6",
|
|
56
|
+
"@ampless/runtime": "0.2.0-alpha.9",
|
|
57
|
+
"ampless": "0.2.0-alpha.6"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
60
|
"@aws-amplify/adapter-nextjs": "^1",
|