mdjournal 1.0.14 → 1.0.16
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 +287 -164
- package/dist/client/assets/index-DlkkIyB6.js +402 -0
- package/dist/client/dist/assets/index-DlkkIyB6.js +402 -0
- package/dist/client/dist/index.html +1 -1
- package/dist/client/index.html +1 -1
- package/docs/api-reference.html +2295 -0
- package/docs/config-spec.md +322 -0
- package/docs/extension-spec.md +676 -0
- package/docs/index.md +261 -0
- package/docs/integration-spec.md +518 -0
- package/docs/markdown-format-spec.md +779 -0
- package/docs/openapi.yaml +1009 -0
- package/docs/requirements.md +837 -0
- package/docs/screenshot.png +0 -0
- package/package.json +5 -3
- package/dist/client/assets/index-BrIwqS4G.js +0 -402
- package/dist/client/dist/assets/index-BrIwqS4G.js +0 -402
package/docs/index.md
ADDED
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
# mdJournal - ドキュメント一覧
|
|
2
|
+
|
|
3
|
+
## 📋 概要
|
|
4
|
+
|
|
5
|
+
mdJournalは、Markdown形式で管理している日報をグラフィカルに表示・編集するためのWebダッシュボードアプリケーションです。
|
|
6
|
+
|
|
7
|
+
### 主な特徴
|
|
8
|
+
|
|
9
|
+
- 📅 カレンダー表示による予定の可視化
|
|
10
|
+
- ⏱️ タイムライン表示による計画・実績の管理
|
|
11
|
+
- ✅ TODOのプロジェクト別管理
|
|
12
|
+
- 📝 ビジュアル/テキストモードの切り替え編集
|
|
13
|
+
- 🔗 Slack、Git、Googleカレンダーとの連携
|
|
14
|
+
- ⚙️ カスタマイズ可能なダッシュボードレイアウト
|
|
15
|
+
|
|
16
|
+
### 技術スタック
|
|
17
|
+
|
|
18
|
+
| レイヤー | 技術 |
|
|
19
|
+
|---------|------|
|
|
20
|
+
| フロントエンド | React 18+ |
|
|
21
|
+
| UIフレームワーク | Ant Design 5.x |
|
|
22
|
+
| バックエンド | Express.js |
|
|
23
|
+
| データ形式 | Markdown / YAML |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 📚 ドキュメント一覧
|
|
28
|
+
|
|
29
|
+
### 要求・設計仕様
|
|
30
|
+
|
|
31
|
+
| ドキュメント | 説明 |
|
|
32
|
+
|-------------|------|
|
|
33
|
+
| [requirements.md](./requirements.md) | **要求仕様書**<br>機能要件、非機能要件、API仕様、画面設計、開発フェーズ |
|
|
34
|
+
| [markdown-format-spec.md](./markdown-format-spec.md) | **Markdownフォーマット仕様**<br>日報ファイルの形式、セクション定義、パース規則 |
|
|
35
|
+
| [config-spec.md](./config-spec.md) | **設定ファイル仕様**<br>YAML設定ファイルの詳細スキーマ |
|
|
36
|
+
| [integration-spec.md](./integration-spec.md) | **外部連携仕様**<br>Slack、Git、Googleカレンダー連携の技術仕様 |
|
|
37
|
+
| [extension-spec.md](./extension-spec.md) | **拡張機能仕様**<br>TypeScriptによるユーザー拡張の実装方法 |
|
|
38
|
+
|
|
39
|
+
### CLIツール
|
|
40
|
+
|
|
41
|
+
| コマンド | 説明 |
|
|
42
|
+
|---------|------|
|
|
43
|
+
| `npx mdjournal` | サーバー起動(サンプルデータ) |
|
|
44
|
+
| `npx mdjournal ./mdjournal.config.yaml` | 設定ファイルを指定して起動 |
|
|
45
|
+
| `npx mdjournal validate <path>` | 日報フォーマットのバリデーション |
|
|
46
|
+
| `npx mdjournal validate --rules` | バリデーションルール一覧 |
|
|
47
|
+
| `npx mdjournal stats <path>` | frontmatter(統計情報)の再集計 |
|
|
48
|
+
| `npx mdjournal stats <path> --dry-run` | 変更プレビュー(更新なし) |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 🗂️ プロジェクト構成
|
|
53
|
+
|
|
54
|
+
### mdJournal本体(npmパッケージ)
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
mdjournal/ # npmパッケージとして公開
|
|
58
|
+
├── docs/ # ドキュメント
|
|
59
|
+
│ ├── index.md
|
|
60
|
+
│ ├── requirements.md
|
|
61
|
+
│ ├── markdown-format-spec.md
|
|
62
|
+
│ ├── config-spec.md
|
|
63
|
+
│ ├── integration-spec.md
|
|
64
|
+
│ └── extension-spec.md
|
|
65
|
+
│
|
|
66
|
+
├── server/ # バックエンド(Express.js)
|
|
67
|
+
│ ├── src/
|
|
68
|
+
│ │ ├── index.ts # エントリーポイント
|
|
69
|
+
│ │ ├── cli.ts # CLIエントリーポイント
|
|
70
|
+
│ │ ├── routes/ # APIルート
|
|
71
|
+
│ │ │ ├── reports.ts
|
|
72
|
+
│ │ │ ├── calendar.ts
|
|
73
|
+
│ │ │ ├── config.ts
|
|
74
|
+
│ │ │ └── gcal.ts
|
|
75
|
+
│ │ ├── types/ # 型定義
|
|
76
|
+
│ │ └── utils/
|
|
77
|
+
│ │ ├── markdown.ts
|
|
78
|
+
│ │ ├── fileManager.ts
|
|
79
|
+
│ │ ├── validator.ts
|
|
80
|
+
│ │ └── git.ts
|
|
81
|
+
│ ├── package.json
|
|
82
|
+
│ └── tsconfig.json
|
|
83
|
+
│
|
|
84
|
+
├── client/ # フロントエンド(React)
|
|
85
|
+
│ ├── src/
|
|
86
|
+
│ │ ├── App.tsx
|
|
87
|
+
│ │ ├── components/ # UIコンポーネント
|
|
88
|
+
│ │ │ ├── Dashboard/
|
|
89
|
+
│ │ │ ├── Calendar/
|
|
90
|
+
│ │ │ ├── Timeline/
|
|
91
|
+
│ │ │ ├── Todo/
|
|
92
|
+
│ │ │ └── Editor/
|
|
93
|
+
│ │ ├── hooks/
|
|
94
|
+
│ │ ├── api/
|
|
95
|
+
│ │ ├── models/
|
|
96
|
+
│ │ ├── types/
|
|
97
|
+
│ │ └── utils/
|
|
98
|
+
│ ├── package.json
|
|
99
|
+
│ └── tsconfig.json
|
|
100
|
+
│
|
|
101
|
+
├── sample/ # サンプルデータ(動作確認用)
|
|
102
|
+
│ ├── mdjournal.config.yaml # ルート設定ファイル
|
|
103
|
+
│ ├── config/
|
|
104
|
+
│ │ ├── projects.yaml
|
|
105
|
+
│ │ └── routines.yaml
|
|
106
|
+
│ └── reports/
|
|
107
|
+
│ └── 2025/12/
|
|
108
|
+
│ └── 2025-12-18.md
|
|
109
|
+
│
|
|
110
|
+
├── package.json # ルートpackage.json
|
|
111
|
+
├── .gitignore
|
|
112
|
+
└── README.md
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### ユーザーデータリポジトリ(個人別に作成)
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
my-journals/ # ユーザー個人のデータリポジトリ
|
|
119
|
+
├── data/ # 日報ファイル(Git管理)
|
|
120
|
+
│ └── YYYY/MM/
|
|
121
|
+
│ └── YYYY-MM-DD.md
|
|
122
|
+
│
|
|
123
|
+
├── config/ # 設定ファイル
|
|
124
|
+
│ ├── projects.yaml # プロジェクトマスタ
|
|
125
|
+
│ └── routines.yaml # ルーチン定義
|
|
126
|
+
│
|
|
127
|
+
├── extensions/ # ユーザー拡張コード(TypeScript)
|
|
128
|
+
│ ├── tsconfig.json
|
|
129
|
+
│ ├── my-slack-extension.ts
|
|
130
|
+
│ └── my-attendance.ts
|
|
131
|
+
│
|
|
132
|
+
├── mdjournal.config.yaml # ルート設定ファイル
|
|
133
|
+
├── .env # 環境変数(APIキー等)
|
|
134
|
+
└── .gitignore # .envを除外
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 🚀 利用方法
|
|
140
|
+
|
|
141
|
+
### サンプルデータで試す
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# npxで直接起動(インストール不要)
|
|
145
|
+
npx mdjournal
|
|
146
|
+
|
|
147
|
+
# ブラウザでアクセス
|
|
148
|
+
open http://localhost:3001
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 個人データリポジトリで利用
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# 1. データリポジトリを作成
|
|
155
|
+
mkdir my-journals && cd my-journals
|
|
156
|
+
git init
|
|
157
|
+
|
|
158
|
+
# 2. 設定ファイル (mdjournal.config.yaml) を作成
|
|
159
|
+
cat > mdjournal.config.yaml << EOF
|
|
160
|
+
projects: ./config/projects.yaml
|
|
161
|
+
routines: ./config/routines.yaml
|
|
162
|
+
reports: ./data
|
|
163
|
+
|
|
164
|
+
timeline:
|
|
165
|
+
hourHeight: 60
|
|
166
|
+
maxHours: 36
|
|
167
|
+
defaultStartHour: 8
|
|
168
|
+
defaultEndHour: 20
|
|
169
|
+
snapMinutes: 15
|
|
170
|
+
|
|
171
|
+
server:
|
|
172
|
+
port: 3001
|
|
173
|
+
EOF
|
|
174
|
+
|
|
175
|
+
# 3. ダッシュボードを起動
|
|
176
|
+
npx mdjournal ./mdjournal.config.yaml
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### 日報フォーマットのバリデーション
|
|
180
|
+
|
|
181
|
+
既存の日報ファイルが仕様に準拠しているか検証できます。
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
# ディレクトリ内の全.mdファイルを検証
|
|
185
|
+
npx mdjournal validate ./data
|
|
186
|
+
|
|
187
|
+
# 詳細出力(修正提案を含む)
|
|
188
|
+
npx mdjournal validate ./data --verbose
|
|
189
|
+
|
|
190
|
+
# 厳格モード(警告もエラーとして扱う)
|
|
191
|
+
npx mdjournal validate ./data --strict
|
|
192
|
+
|
|
193
|
+
# JSON形式で出力(CI/CD連携用)
|
|
194
|
+
npx mdjournal validate ./data --json
|
|
195
|
+
|
|
196
|
+
# 利用可能なルール一覧を表示
|
|
197
|
+
npx mdjournal validate --rules
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**検出可能な問題:**
|
|
201
|
+
- ヘッダー形式の不備
|
|
202
|
+
- 旧形式のセクション区切り線(=====)
|
|
203
|
+
- 旧形式の場所サブセクション(### [home])
|
|
204
|
+
- PLAN/RESULT項目の形式エラー
|
|
205
|
+
- TODO行内のインラインプロジェクトコード(旧形式)
|
|
206
|
+
- 括弧形式の期限(旧形式)
|
|
207
|
+
- ネストされたTODO(旧形式)
|
|
208
|
+
|
|
209
|
+
### frontmatter(統計情報)の再集計
|
|
210
|
+
|
|
211
|
+
日報ファイルにfrontmatter(統計情報)を付与または再集計できます。
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# ディレクトリ内の全.mdファイルにfrontmatterを付与・更新
|
|
215
|
+
npx mdjournal stats ./data
|
|
216
|
+
|
|
217
|
+
# 変更内容のプレビュー(実際には更新しない)
|
|
218
|
+
npx mdjournal stats ./data --dry-run
|
|
219
|
+
|
|
220
|
+
# 詳細出力
|
|
221
|
+
npx mdjournal stats ./data --verbose
|
|
222
|
+
|
|
223
|
+
# バリデーションを事前実行(エラーがあるファイルはスキップ)
|
|
224
|
+
npx mdjournal stats ./data --validate
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**frontmatterフィールド:**
|
|
228
|
+
- `planHours`: 計画時間の合計(時間)
|
|
229
|
+
- `resultHours`: 実績時間の合計(時間)
|
|
230
|
+
- `todoCount`: TODO総数
|
|
231
|
+
- `todoCompleted`: 完了TODO数
|
|
232
|
+
- `todoInProgress`: 進行中TODO数
|
|
233
|
+
- `projectHours`: プロジェクト別実績時間
|
|
234
|
+
- `updatedAt`: 最終更新日時
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## 📝 更新履歴
|
|
240
|
+
|
|
241
|
+
| 日付 | バージョン | 更新内容 |
|
|
242
|
+
|------|-----------|---------|
|
|
243
|
+
| 2025-12-20 | 1.0.0 | mdJournalとして公開準備 |
|
|
244
|
+
| 2025-12-18 | 0.1 | 初版作成 |
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 👥 コントリビューション
|
|
249
|
+
|
|
250
|
+
本プロジェクトへの貢献を歓迎します。
|
|
251
|
+
|
|
252
|
+
1. Issueで機能要望やバグ報告
|
|
253
|
+
2. Pull Requestでコード貢献
|
|
254
|
+
3. ドキュメントの改善
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## 📄 ライセンス
|
|
259
|
+
|
|
260
|
+
MIT License
|
|
261
|
+
|