@burger-editor/local 4.0.0-alpha.4 → 4.0.0-alpha.43
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.md +196 -2
- package/dist/client.js +38328 -23656
- package/dist/client.js.map +1 -1
- package/dist/local.css +581 -386
- package/import/index.d.ts +7 -0
- package/import/index.d.ts.map +1 -0
- package/import/index.js +42 -0
- package/package.json +37 -23
- package/server/helpers/$upload.d.ts +6 -12
- package/server/helpers/$upload.js +22 -22
- package/server/helpers/client-path-validation.d.ts +11 -0
- package/server/helpers/client-path-validation.d.ts.map +1 -0
- package/server/helpers/client-path-validation.js +18 -0
- package/server/helpers/debug.d.ts +1 -1
- package/server/helpers/edit-content.d.ts +29 -15
- package/server/helpers/edit-content.d.ts.map +1 -1
- package/server/helpers/edit-content.js +128 -43
- package/server/helpers/file-name.d.ts +5 -5
- package/server/helpers/file-name.js +28 -28
- package/server/helpers/front-matter.d.ts +25 -0
- package/server/helpers/front-matter.d.ts.map +1 -0
- package/server/helpers/front-matter.js +63 -0
- package/server/helpers/html-detection.d.ts +26 -0
- package/server/helpers/html-detection.d.ts.map +1 -0
- package/server/helpers/html-detection.js +137 -0
- package/server/helpers/no-editable-area-error.d.ts +5 -0
- package/server/helpers/no-editable-area-error.d.ts.map +1 -0
- package/server/helpers/no-editable-area-error.js +7 -0
- package/server/helpers/pagination.d.ts +10 -14
- package/server/helpers/pagination.js +33 -33
- package/server/index.d.ts +1 -1
- package/server/index.js +5 -6
- package/server/model/default-config.d.ts +6 -5
- package/server/model/default-config.d.ts.map +1 -1
- package/server/model/default-config.js +5 -4
- package/server/model/file-list-manager.d.ts +11 -15
- package/server/model/file-list-manager.d.ts.map +1 -1
- package/server/model/file-list-manager.js +168 -128
- package/server/model/file-tree.d.ts +7 -10
- package/server/model/file-tree.js +25 -26
- package/server/model/get-user-config.d.ts +1 -1
- package/server/model/get-user-config.d.ts.map +1 -1
- package/server/model/get-user-config.js +88 -69
- package/server/route.d.ts +325 -269
- package/server/route.d.ts.map +1 -1
- package/server/route.js +222 -260
- package/server/types.d.ts +66 -22
- package/server/types.d.ts.map +1 -1
- package/server/view/app.d.ts +10 -11
- package/server/view/app.d.ts.map +1 -1
- package/server/view/app.js +9 -19
- package/server/view/layout.d.ts +3 -6
- package/server/view/layout.js +2 -23
- package/server/view/nav-tree.d.ts +4 -6
- package/server/view/nav-tree.js +2 -19
- package/server/view/nav.d.ts +4 -6
- package/server/view/nav.js +3 -46
- package/style/app.css +24 -0
- package/LICENSE +0 -21
- package/server/model/app-config.d.ts +0 -7
- package/server/model/app-config.d.ts.map +0 -1
- package/server/model/app-config.js +0 -6
package/README.md
CHANGED
|
@@ -1,8 +1,202 @@
|
|
|
1
|
+
# @burger-editor/local
|
|
2
|
+
|
|
3
|
+
[](https://badge.fury.io/js/@burger-editor%2Flocal)
|
|
4
|
+
|
|
5
|
+
ローカルファイルシステムで動作するBurgerEditorのCMS実装です。HTMLファイルを直接編集できるローカル開発環境を提供します。
|
|
6
|
+
|
|
7
|
+
## インストール
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
yarn install
|
|
1
11
|
```
|
|
12
|
+
|
|
13
|
+
または
|
|
14
|
+
|
|
15
|
+
```bash
|
|
2
16
|
npm install
|
|
3
|
-
npm run dev
|
|
4
17
|
```
|
|
5
18
|
|
|
19
|
+
## 起動方法
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
yarn dev
|
|
6
23
|
```
|
|
7
|
-
|
|
24
|
+
|
|
25
|
+
開発サーバーが起動したら、ブラウザで以下にアクセスしてください:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
http://localhost:3000
|
|
8
29
|
```
|
|
30
|
+
|
|
31
|
+
## 設定ファイル
|
|
32
|
+
|
|
33
|
+
プロジェクトルートに `burgereditor.config.js` ファイルを作成することで、BurgerEditorの動作をカスタマイズできます。
|
|
34
|
+
|
|
35
|
+
### 基本的な設定例
|
|
36
|
+
|
|
37
|
+
```javascript
|
|
38
|
+
import path from 'node:path';
|
|
39
|
+
import { defaultCatalog } from '@burger-editor/blocks';
|
|
40
|
+
|
|
41
|
+
export default {
|
|
42
|
+
// ドキュメントルート(HTMLファイルを配置するディレクトリ)
|
|
43
|
+
documentRoot: path.join(import.meta.dirname, 'src'),
|
|
44
|
+
|
|
45
|
+
// アセットルート(画像やファイルを配置するディレクトリ)
|
|
46
|
+
assetsRoot: path.join(import.meta.dirname, 'public'),
|
|
47
|
+
|
|
48
|
+
// 言語設定
|
|
49
|
+
lang: 'ja',
|
|
50
|
+
|
|
51
|
+
// スタイルシートのパス
|
|
52
|
+
stylesheets: ['/css/style.css'],
|
|
53
|
+
|
|
54
|
+
// ブロックに適用するCSSクラス
|
|
55
|
+
classList: ['my-editor'],
|
|
56
|
+
|
|
57
|
+
// 編集可能エリアのセレクタ
|
|
58
|
+
editableArea: '.my-editor',
|
|
59
|
+
|
|
60
|
+
// ブロックカタログ
|
|
61
|
+
catalog: defaultCatalog,
|
|
62
|
+
|
|
63
|
+
// 新規ファイル作成時のテンプレート
|
|
64
|
+
newFileContent: `
|
|
65
|
+
---
|
|
66
|
+
title: 'New Page'
|
|
67
|
+
---
|
|
68
|
+
<div class="my-editor"></div>`,
|
|
69
|
+
|
|
70
|
+
// Google Maps APIキー(使用する場合)
|
|
71
|
+
googleMapsApiKey: null,
|
|
72
|
+
|
|
73
|
+
// サンプル画像のパス
|
|
74
|
+
sampleImagePath: '/images/sample.jpg',
|
|
75
|
+
|
|
76
|
+
// サンプルファイルのパス
|
|
77
|
+
sampleFilePath: '/files/sample.pdf',
|
|
78
|
+
|
|
79
|
+
// ファイル保存先ディレクトリ
|
|
80
|
+
filesDir: {
|
|
81
|
+
image: '/files/images',
|
|
82
|
+
other: '/files/others',
|
|
83
|
+
},
|
|
84
|
+
|
|
85
|
+
// 起動時にブラウザを自動で開く
|
|
86
|
+
open: true,
|
|
87
|
+
};
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 設定オプション
|
|
91
|
+
|
|
92
|
+
#### 必須オプション
|
|
93
|
+
|
|
94
|
+
- `documentRoot` (string): HTMLファイルを配置するディレクトリのパス
|
|
95
|
+
- `assetsRoot` (string): 静的ファイル(画像、CSS、JSなど)を配置するディレクトリのパス
|
|
96
|
+
|
|
97
|
+
#### オプショナル設定
|
|
98
|
+
|
|
99
|
+
- `version` (string): 設定ファイルのバージョン(デフォルト: パッケージバージョン)
|
|
100
|
+
- `port` (number): サーバーのポート番号(デフォルト: 3000)
|
|
101
|
+
- `host` (string): ホスト名(デフォルト: 'localhost')
|
|
102
|
+
- `lang` (string): 言語設定(デフォルト: 'ja')
|
|
103
|
+
- `stylesheets` (string[]): 読み込むスタイルシートのパス(デフォルト: [])
|
|
104
|
+
- `classList` (string[]): ブロックに適用するCSSクラス(デフォルト: [])
|
|
105
|
+
- `editableArea` (string | null): 編集可能エリアのセレクタ(デフォルト: null)
|
|
106
|
+
- `catalog` (BlockCatalog): ブロックカタログ(デフォルト: {})
|
|
107
|
+
- `newFileContent` (string): 新規ファイル作成時のテンプレート
|
|
108
|
+
- `googleMapsApiKey` (string | null): Google Maps APIキー(デフォルト: null)
|
|
109
|
+
- `sampleImagePath` (string): サンプル画像のパス
|
|
110
|
+
- `sampleFilePath` (string): サンプルファイルのパス
|
|
111
|
+
- `filesDir` (object): ファイルタイプごとの保存先ディレクトリ
|
|
112
|
+
- `open` (boolean): 起動時にブラウザを自動で開く(デフォルト: true)
|
|
113
|
+
- `enableImportBlock` (boolean): インポートブロックを有効にする(デフォルト: false)
|
|
114
|
+
- `healthCheck` (object): ヘルスチェックの設定
|
|
115
|
+
- `enabled` (boolean): ヘルスチェックを有効にする(デフォルト: false)
|
|
116
|
+
- `interval` (number): チェック間隔(ミリ秒)(デフォルト: 30000)
|
|
117
|
+
- `retryCount` (number): リトライ回数(デフォルト: 3)
|
|
118
|
+
|
|
119
|
+
## カスタムブロックカタログの追加
|
|
120
|
+
|
|
121
|
+
既存のブロックカタログにカスタムブロックを追加できます:
|
|
122
|
+
|
|
123
|
+
```javascript
|
|
124
|
+
import { defaultCatalog } from '@burger-editor/blocks';
|
|
125
|
+
|
|
126
|
+
export default {
|
|
127
|
+
documentRoot: './src',
|
|
128
|
+
assetsRoot: './public',
|
|
129
|
+
catalog: {
|
|
130
|
+
...defaultCatalog,
|
|
131
|
+
カスタムカテゴリ: [
|
|
132
|
+
{
|
|
133
|
+
label: '3列カード',
|
|
134
|
+
definition: {
|
|
135
|
+
name: 'three-column-card',
|
|
136
|
+
containerProps: {
|
|
137
|
+
type: 'grid',
|
|
138
|
+
columns: 3,
|
|
139
|
+
},
|
|
140
|
+
items: [
|
|
141
|
+
['image', 'wysiwyg'],
|
|
142
|
+
['image', 'wysiwyg'],
|
|
143
|
+
['image', 'wysiwyg'],
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## 実験的機能
|
|
153
|
+
|
|
154
|
+
### ボタンアイテムのカスタマイズ
|
|
155
|
+
|
|
156
|
+
ボタンアイテムの選択肢をカスタマイズできます:
|
|
157
|
+
|
|
158
|
+
```javascript
|
|
159
|
+
export default {
|
|
160
|
+
documentRoot: './src',
|
|
161
|
+
assetsRoot: './public',
|
|
162
|
+
catalog: defaultCatalog,
|
|
163
|
+
experimental: {
|
|
164
|
+
itemOptions: {
|
|
165
|
+
button: {
|
|
166
|
+
kinds: [
|
|
167
|
+
// 既存のラベルを変更
|
|
168
|
+
{ value: 'link', label: 'リンクボタン' },
|
|
169
|
+
// 既存の選択肢を削除
|
|
170
|
+
{ value: 'em', delete: true },
|
|
171
|
+
// 新しい選択肢を追加
|
|
172
|
+
{ value: 'primary', label: 'プライマリボタン' },
|
|
173
|
+
{ value: 'secondary', label: 'セカンダリボタン' },
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## カスタムアイテムの作成
|
|
182
|
+
|
|
183
|
+
カスタムアイテムの作成方法については、[@burger-editor/core のREADME](../core/README.md#カスタムアイテムの作成) を参照してください。
|
|
184
|
+
|
|
185
|
+
## TypeScript型定義
|
|
186
|
+
|
|
187
|
+
設定ファイルでTypeScriptの型補完を利用する場合:
|
|
188
|
+
|
|
189
|
+
```javascript
|
|
190
|
+
/**
|
|
191
|
+
* @type {import('@burger-editor/local').LocalServerConfigUserSettings}
|
|
192
|
+
*/
|
|
193
|
+
export default {
|
|
194
|
+
documentRoot: './src',
|
|
195
|
+
assetsRoot: './public',
|
|
196
|
+
// ... 型補完が効きます
|
|
197
|
+
};
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## ライセンス
|
|
201
|
+
|
|
202
|
+
Dual Licensed under MIT OR Apache-2.0
|