@riebeckite/plugin-kanban 0.0.12 → 0.0.13

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.
Files changed (4) hide show
  1. package/README.md +116 -116
  2. package/README_ja.md +106 -106
  3. package/package.json +2 -2
  4. package/style.css +5 -0
package/README.md CHANGED
@@ -1,116 +1,116 @@
1
- # @riebeckite/plugin-kanban
2
-
3
- Render Obsidian Kanban boards as static HTML at build time. No client-side
4
- JavaScript is required.
5
-
6
- [日本語](./README_ja.md)
7
-
8
- ## Overview
9
-
10
- `kanban()` turns kanban markdown into a board. It accepts two kinds of input:
11
-
12
- - The body of a ` ```kanban ` fenced code block.
13
- - A whole note whose frontmatter contains `kanban-plugin` (enabled by
14
- `autoDetect`, on by default).
15
-
16
- Columns are lines that start with `## ` (configurable with `columnMarker`).
17
- Every list item that follows becomes a card: `- [ ] text` (unchecked),
18
- `- [x] text` (checked), or a plain `- text` item.
19
-
20
- Card text supports inline `[[wikilinks]]` (resolved to real hrefs from the
21
- content manifest), `#tags`, and simple `**bold**` emphasis.
22
-
23
- ## Usage
24
-
25
- ```ts
26
- import { defineConfig } from "@riebeckite/core";
27
- import { kanban } from "@riebeckite/plugin-kanban";
28
-
29
- export default defineConfig({
30
- // ...
31
- plugins: [kanban()],
32
- });
33
- ```
34
-
35
- ## Board syntax
36
-
37
- ````md
38
- ## Backlog
39
-
40
- - [ ] Draft the release notes
41
- - [ ] Link to [[index]]
42
- - [x] Review **metadata**
43
-
44
- ## Done
45
-
46
- - [x] Publish the fixture
47
- ````
48
-
49
- A note that is itself a board looks the same, with the board written directly
50
- in the body and `kanban-plugin` set in the frontmatter:
51
-
52
- ```md
53
- ---
54
- title: Roadmap
55
- kanban-plugin: board
56
- ---
57
-
58
- ## Planned
59
-
60
- - [ ] Ship the plugin
61
- ```
62
-
63
- ## Output
64
-
65
- ```html
66
- <div class="rb-kanban" data-kanban data-kanban-plugin data-kanban-source="note">
67
- <div class="rb-kanban__board" data-kanban-board>
68
- <div class="rb-kanban__column" data-column="Backlog">
69
- <header class="rb-kanban__column-title">Backlog</header>
70
- <ul class="rb-kanban__cards">
71
- <li class="rb-kanban__card" data-checked="false">
72
- <span class="rb-kanban__checkbox" data-checked="false" aria-hidden="true"></span>
73
- <span class="rb-kanban__card-text">Draft the release notes</span>
74
- </li>
75
- </ul>
76
- </div>
77
- </div>
78
- </div>
79
- ```
80
-
81
- `data-kanban-source` is `"block"` for a fenced block and `"note"` for an
82
- auto-detected note.
83
-
84
- ## Options
85
-
86
- | Option | Type | Default | Description |
87
- | --- | --- | --- | --- |
88
- | `className` | `string` | `"rb-kanban"` | Root CSS class; block names derive from it |
89
- | `language` | `string` | `"kanban"` | Fence language to target |
90
- | `columnMarker` | `string` | `"##"` | Prefix that starts a column |
91
- | `autoDetect` | `boolean` | `true` | Render notes with `kanban-plugin` frontmatter |
92
- | `fallback` | `boolean` | `true` | Keep unsupported lines in a `<details>` fallback |
93
-
94
- ## Fallback and diagnostics
95
-
96
- Lines that are neither a column nor a list item are kept verbatim inside
97
- `details.rb-kanban__fallback` when `fallback` is enabled, so nothing is lost.
98
-
99
- Parse problems (for example a block with no columns) are attached to the
100
- document with a `@riebeckite/plugin-kanban` message.
101
-
102
- ## Exports
103
-
104
- - `kanban(options?)` — plugin factory
105
- - `kanbanPlugin` — alias of `kanban`
106
- - `resolveKanbanOptions(options?)` — apply defaults
107
- - `remarkKanban(options?)` — remark transform used by the plugin
108
- - `parseKanban(source, options)`, `renderKanban(result, options, resolveLink, source)`
109
- - `stripFrontmatter(markdown)`, `isKanbanNote(frontmatter)`
110
- - `createKanbanLinkResolver(manifest)`, `createKanbanPlaceholder(source)`
111
- - Types: `KanbanOptions`, `ResolvedKanbanOptions`, `KanbanCard`, `KanbanColumn`,
112
- `KanbanParseResult`, `KanbanLinkResolver`, `RemarkKanbanOptions`
113
-
114
- ## See also
115
-
116
- - [Plugin guide](../../../docs/en/plugin-system.md)
1
+ # @riebeckite/plugin-kanban
2
+
3
+ Render Obsidian Kanban boards as static HTML at build time. No client-side
4
+ JavaScript is required.
5
+
6
+ [日本語](./README_ja.md)
7
+
8
+ ## Overview
9
+
10
+ `kanban()` turns kanban markdown into a board. It accepts two kinds of input:
11
+
12
+ - The body of a ` ```kanban ` fenced code block.
13
+ - A whole note whose frontmatter contains `kanban-plugin` (enabled by
14
+ `autoDetect`, on by default).
15
+
16
+ Columns are lines that start with `## ` (configurable with `columnMarker`).
17
+ Every list item that follows becomes a card: `- [ ] text` (unchecked),
18
+ `- [x] text` (checked), or a plain `- text` item.
19
+
20
+ Card text supports inline `[[wikilinks]]` (resolved to real hrefs from the
21
+ content manifest), `#tags`, and simple `**bold**` emphasis.
22
+
23
+ ## Usage
24
+
25
+ ```ts
26
+ import { defineConfig } from "@riebeckite/core";
27
+ import { kanban } from "@riebeckite/plugin-kanban";
28
+
29
+ export default defineConfig({
30
+ // ...
31
+ plugins: [kanban()],
32
+ });
33
+ ```
34
+
35
+ ## Board syntax
36
+
37
+ ````md
38
+ ## Backlog
39
+
40
+ - [ ] Draft the release notes
41
+ - [ ] Link to [[index]]
42
+ - [x] Review **metadata**
43
+
44
+ ## Done
45
+
46
+ - [x] Publish the fixture
47
+ ````
48
+
49
+ A note that is itself a board looks the same, with the board written directly
50
+ in the body and `kanban-plugin` set in the frontmatter:
51
+
52
+ ```md
53
+ ---
54
+ title: Roadmap
55
+ kanban-plugin: board
56
+ ---
57
+
58
+ ## Planned
59
+
60
+ - [ ] Ship the plugin
61
+ ```
62
+
63
+ ## Output
64
+
65
+ ```html
66
+ <div class="rb-kanban" data-kanban data-kanban-plugin data-kanban-source="note">
67
+ <div class="rb-kanban__board" data-kanban-board>
68
+ <div class="rb-kanban__column" data-column="Backlog">
69
+ <header class="rb-kanban__column-title">Backlog</header>
70
+ <ul class="rb-kanban__cards">
71
+ <li class="rb-kanban__card" data-checked="false">
72
+ <span class="rb-kanban__checkbox" data-checked="false" aria-hidden="true"></span>
73
+ <span class="rb-kanban__card-text">Draft the release notes</span>
74
+ </li>
75
+ </ul>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ ```
80
+
81
+ `data-kanban-source` is `"block"` for a fenced block and `"note"` for an
82
+ auto-detected note.
83
+
84
+ ## Options
85
+
86
+ | Option | Type | Default | Description |
87
+ | --- | --- | --- | --- |
88
+ | `className` | `string` | `"rb-kanban"` | Root CSS class; block names derive from it |
89
+ | `language` | `string` | `"kanban"` | Fence language to target |
90
+ | `columnMarker` | `string` | `"##"` | Prefix that starts a column |
91
+ | `autoDetect` | `boolean` | `true` | Render notes with `kanban-plugin` frontmatter |
92
+ | `fallback` | `boolean` | `true` | Keep unsupported lines in a `<details>` fallback |
93
+
94
+ ## Fallback and diagnostics
95
+
96
+ Lines that are neither a column nor a list item are kept verbatim inside
97
+ `details.rb-kanban__fallback` when `fallback` is enabled, so nothing is lost.
98
+
99
+ Parse problems (for example a block with no columns) are attached to the
100
+ document with a `@riebeckite/plugin-kanban` message.
101
+
102
+ ## Exports
103
+
104
+ - `kanban(options?)` — plugin factory
105
+ - `kanbanPlugin` — alias of `kanban`
106
+ - `resolveKanbanOptions(options?)` — apply defaults
107
+ - `remarkKanban(options?)` — remark transform used by the plugin
108
+ - `parseKanban(source, options)`, `renderKanban(result, options, resolveLink, source)`
109
+ - `stripFrontmatter(markdown)`, `isKanbanNote(frontmatter)`
110
+ - `createKanbanLinkResolver(manifest)`, `createKanbanPlaceholder(source)`
111
+ - Types: `KanbanOptions`, `ResolvedKanbanOptions`, `KanbanCard`, `KanbanColumn`,
112
+ `KanbanParseResult`, `KanbanLinkResolver`, `RemarkKanbanOptions`
113
+
114
+ ## See also
115
+
116
+ - [Plugin guide](../../../docs/en/reference/plugin-api.md)
package/README_ja.md CHANGED
@@ -1,106 +1,106 @@
1
- # @riebeckite/plugin-kanban
2
-
3
- Obsidian の Kanban ボードを、ビルド時に静的 HTML へ変換するプラグインです。クライアント側の JavaScript は不要です。
4
-
5
- [English](./README.md)
6
-
7
- ## 使い方
8
-
9
- `kanban()` をプラグインに追加します。
10
-
11
- ```ts
12
- import { defineConfig } from "@riebeckite/core";
13
- import { kanban } from "@riebeckite/plugin-kanban";
14
-
15
- export default defineConfig({
16
- // ...
17
- plugins: [kanban()],
18
- });
19
- ```
20
-
21
- ## ボードの書き方
22
-
23
- 入力は次の2通りです。
24
-
25
- - ` ```kanban ` のフェンスコードブロックの本文
26
- - フロントマターに `kanban-plugin` を持つノートの本文(`autoDetect`、既定で有効)
27
-
28
- どちらも本文の書き方は同じです。`## `(`columnMarker` で変更可)で始まる行が列を区切り、その後に続くリスト項目がカードになります。カードは `- [ ]`(未完了)、`- [x]`(完了)、`- テキスト`(チェックボックスなし)をそのまま扱います。
29
-
30
- ````md
31
- ## Backlog
32
-
33
- - [ ] リリースノートの下書き
34
- - [ ] [[index]] へのリンクを張る
35
- - [x] **メタデータ**を確認する
36
-
37
- ## Done
38
-
39
- - [x] フィクスチャを公開する
40
- ````
41
-
42
- ノート全体をボードにする場合は、本文に同じ内容を書き、フロントマターに `kanban-plugin` を追加します。
43
-
44
- ```md
45
- ---
46
- title: Roadmap
47
- kanban-plugin: board
48
- ---
49
-
50
- ## Planned
51
-
52
- - [ ] プラグインを公開する
53
- ```
54
-
55
- カードのテキストでは `[[ウィキリンク]]`(マニフェストから実際の href に解決)、`#タグ`、`**太字**` を使えます。
56
-
57
- ## 出力
58
-
59
- ```html
60
- <div class="rb-kanban" data-kanban data-kanban-plugin data-kanban-source="note">
61
- <div class="rb-kanban__board" data-kanban-board>
62
- <div class="rb-kanban__column" data-column="Backlog">
63
- <header class="rb-kanban__column-title">Backlog</header>
64
- <ul class="rb-kanban__cards">
65
- <li class="rb-kanban__card" data-checked="false">
66
- <span class="rb-kanban__checkbox" data-checked="false" aria-hidden="true"></span>
67
- <span class="rb-kanban__card-text">リリースノートの下書き</span>
68
- </li>
69
- </ul>
70
- </div>
71
- </div>
72
- </div>
73
- ```
74
-
75
- `data-kanban-source` は、フェンスブロックなら `"block"`、自動検出したノートなら `"note"` です。
76
-
77
- ## オプション
78
-
79
- | オプション | 型 | 既定値 | 内容 |
80
- | --- | --- | --- | --- |
81
- | `className` | `string` | `"rb-kanban"` | ルートの CSS クラス。各要素のクラス名はこれを基に組み立てる |
82
- | `language` | `string` | `"kanban"` | 対象のフェンス言語 |
83
- | `columnMarker` | `string` | `"##"` | 列の始まりを示す接頭辞 |
84
- | `autoDetect` | `boolean` | `true` | `kanban-plugin` を持つノートをボードとして描画する |
85
- | `fallback` | `boolean` | `true` | 解釈できなかった行を `<details>` に残す |
86
-
87
- ## フォールバックと診断
88
-
89
- 列でもリスト項目でもない行は、`fallback` を切らない限り `details.rb-kanban__fallback` にそのまま残ります。取りこぼしはありません。
90
-
91
- 列が1つもないなど解析に問題がある場合は、`@riebeckite/plugin-kanban` を発行元とするメッセージを文書に付与します。
92
-
93
- ## エクスポート
94
-
95
- - `kanban(options?)` — プラグインファクトリ
96
- - `kanbanPlugin` — `kanban` の別名
97
- - `resolveKanbanOptions(options?)` — 既定値を適用する
98
- - `remarkKanban(options?)` — プラグインが使う Remark 変換
99
- - `parseKanban(source, options)` と `renderKanban(result, options, resolveLink, source)`
100
- - `stripFrontmatter(markdown)` と `isKanbanNote(frontmatter)`
101
- - `createKanbanLinkResolver(manifest)` と `createKanbanPlaceholder(source)`
102
- - 型: `KanbanOptions`、`ResolvedKanbanOptions`、`KanbanCard`、`KanbanColumn`、`KanbanParseResult`、`KanbanLinkResolver`、`RemarkKanbanOptions`
103
-
104
- ## 関連資料
105
-
106
- - [プラグインガイド](../../../docs/ja/plugin-system.md)
1
+ # @riebeckite/plugin-kanban
2
+
3
+ Obsidian の Kanban ボードを、ビルド時に静的 HTML へ変換するプラグインです。クライアント側の JavaScript は不要です。
4
+
5
+ [English](./README.md)
6
+
7
+ ## 使い方
8
+
9
+ `kanban()` をプラグインに追加します。
10
+
11
+ ```ts
12
+ import { defineConfig } from "@riebeckite/core";
13
+ import { kanban } from "@riebeckite/plugin-kanban";
14
+
15
+ export default defineConfig({
16
+ // ...
17
+ plugins: [kanban()],
18
+ });
19
+ ```
20
+
21
+ ## ボードの書き方
22
+
23
+ 入力は次の2通りです。
24
+
25
+ - ` ```kanban ` のフェンスコードブロックの本文
26
+ - フロントマターに `kanban-plugin` を持つノートの本文(`autoDetect`、既定で有効)
27
+
28
+ どちらも本文の書き方は同じです。`## `(`columnMarker` で変更可)で始まる行が列を区切り、その後に続くリスト項目がカードになります。カードは `- [ ]`(未完了)、`- [x]`(完了)、`- テキスト`(チェックボックスなし)をそのまま扱います。
29
+
30
+ ````md
31
+ ## Backlog
32
+
33
+ - [ ] リリースノートの下書き
34
+ - [ ] [[index]] へのリンクを張る
35
+ - [x] **メタデータ**を確認する
36
+
37
+ ## Done
38
+
39
+ - [x] フィクスチャを公開する
40
+ ````
41
+
42
+ ノート全体をボードにする場合は、本文に同じ内容を書き、フロントマターに `kanban-plugin` を追加します。
43
+
44
+ ```md
45
+ ---
46
+ title: Roadmap
47
+ kanban-plugin: board
48
+ ---
49
+
50
+ ## Planned
51
+
52
+ - [ ] プラグインを公開する
53
+ ```
54
+
55
+ カードのテキストでは `[[ウィキリンク]]`(マニフェストから実際の href に解決)、`#タグ`、`**太字**` を使えます。
56
+
57
+ ## 出力
58
+
59
+ ```html
60
+ <div class="rb-kanban" data-kanban data-kanban-plugin data-kanban-source="note">
61
+ <div class="rb-kanban__board" data-kanban-board>
62
+ <div class="rb-kanban__column" data-column="Backlog">
63
+ <header class="rb-kanban__column-title">Backlog</header>
64
+ <ul class="rb-kanban__cards">
65
+ <li class="rb-kanban__card" data-checked="false">
66
+ <span class="rb-kanban__checkbox" data-checked="false" aria-hidden="true"></span>
67
+ <span class="rb-kanban__card-text">リリースノートの下書き</span>
68
+ </li>
69
+ </ul>
70
+ </div>
71
+ </div>
72
+ </div>
73
+ ```
74
+
75
+ `data-kanban-source` は、フェンスブロックなら `"block"`、自動検出したノートなら `"note"` です。
76
+
77
+ ## オプション
78
+
79
+ | オプション | 型 | 既定値 | 内容 |
80
+ | --- | --- | --- | --- |
81
+ | `className` | `string` | `"rb-kanban"` | ルートの CSS クラス。各要素のクラス名はこれを基に組み立てる |
82
+ | `language` | `string` | `"kanban"` | 対象のフェンス言語 |
83
+ | `columnMarker` | `string` | `"##"` | 列の始まりを示す接頭辞 |
84
+ | `autoDetect` | `boolean` | `true` | `kanban-plugin` を持つノートをボードとして描画する |
85
+ | `fallback` | `boolean` | `true` | 解釈できなかった行を `<details>` に残す |
86
+
87
+ ## フォールバックと診断
88
+
89
+ 列でもリスト項目でもない行は、`fallback` を切らない限り `details.rb-kanban__fallback` にそのまま残ります。取りこぼしはありません。
90
+
91
+ 列が1つもないなど解析に問題がある場合は、`@riebeckite/plugin-kanban` を発行元とするメッセージを文書に付与します。
92
+
93
+ ## エクスポート
94
+
95
+ - `kanban(options?)` — プラグインファクトリ
96
+ - `kanbanPlugin` — `kanban` の別名
97
+ - `resolveKanbanOptions(options?)` — 既定値を適用する
98
+ - `remarkKanban(options?)` — プラグインが使う Remark 変換
99
+ - `parseKanban(source, options)` と `renderKanban(result, options, resolveLink, source)`
100
+ - `stripFrontmatter(markdown)` と `isKanbanNote(frontmatter)`
101
+ - `createKanbanLinkResolver(manifest)` と `createKanbanPlaceholder(source)`
102
+ - 型: `KanbanOptions`、`ResolvedKanbanOptions`、`KanbanCard`、`KanbanColumn`、`KanbanParseResult`、`KanbanLinkResolver`、`RemarkKanbanOptions`
103
+
104
+ ## 関連資料
105
+
106
+ - [プラグインガイド](../../../docs/ja/reference/plugin-api.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riebeckite/plugin-kanban",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -17,7 +17,7 @@
17
17
  "dependencies": {
18
18
  "@types/mdast": "^4.0.4",
19
19
  "unist-util-visit": "^5.1.0",
20
- "@riebeckite/core": "0.0.12"
20
+ "@riebeckite/core": "0.0.13"
21
21
  },
22
22
  "publishConfig": {
23
23
  "access": "public"
package/style.css CHANGED
@@ -56,6 +56,7 @@
56
56
  .rb-kanban__card {
57
57
  display: flex;
58
58
  gap: 0.5rem;
59
+ margin: 0 1rem;
59
60
  align-items: baseline;
60
61
  padding: 0.5rem 0.625rem;
61
62
  border: 1px solid var(--rb-kanban-rule);
@@ -79,6 +80,10 @@
79
80
  transform: translateY(0.05em);
80
81
  }
81
82
 
83
+ .rb-kanban__card .rb-kanban__checkbox {
84
+ margin: 0 0 0 0.5rem;
85
+ }
86
+
82
87
  .rb-kanban__card[data-checked="true"] .rb-kanban__checkbox {
83
88
  background: var(--rb-kanban-accent);
84
89
  border-color: var(--rb-kanban-accent);