@riebeckite/plugin-code-enhance 0.0.27 → 0.0.29
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 +7 -4
- package/README_ja.md +11 -8
- package/dist/index.js +3 -5
- package/dist/src/types.d.ts +0 -1
- package/package.json +2 -2
- package/style.css +2 -25
package/README.md
CHANGED
|
@@ -46,10 +46,14 @@ export default defineConfig({
|
|
|
46
46
|
- Line numbers (`data-line-number` gutter)
|
|
47
47
|
- Line and character highlighting from pretty-code meta (`{1,3}`, `[/re/]`)
|
|
48
48
|
- Diff coloring for `+` / `-` lines in `diff` code blocks
|
|
49
|
-
-
|
|
50
|
-
|
|
49
|
+
- One dark, terminal-style surface for every code block (inverted palette)
|
|
50
|
+
- A `$` prompt prefix on `bash`, `console`, `sh`, `shell`, `terminal`, `zsh`
|
|
51
|
+
lines
|
|
51
52
|
- Focusable `<pre>` (`tabindex="0"`) for keyboard scrolling
|
|
52
53
|
|
|
54
|
+
Themes can set `--rr-code-syntax` on an `rr-code` root to choose the syntax
|
|
55
|
+
foreground without selecting highlighted-code descendants.
|
|
56
|
+
|
|
53
57
|
## Options
|
|
54
58
|
|
|
55
59
|
| Option | Type | Default | Description |
|
|
@@ -61,8 +65,7 @@ export default defineConfig({
|
|
|
61
65
|
| `lineHighlight` | `boolean` | `true` | Apply meta-based line/char highlights |
|
|
62
66
|
| `diffHighlight` | `boolean` | `true` | Color `+` / `-` lines in `diff` blocks |
|
|
63
67
|
| `collapsible` | `boolean` | `false` | Add the collapse button |
|
|
64
|
-
| `
|
|
65
|
-
| `commandPrompt` | `boolean` | `true` | `$` prompt prefix on terminal lines |
|
|
68
|
+
| `commandPrompt` | `boolean` | `true` | `$` prompt prefix on shell-language lines |
|
|
66
69
|
| `wrapToggle` | `boolean` | `true` | Show the wrap toggle button |
|
|
67
70
|
| `defaultCollapsed` | `boolean` | `false` | Start collapsed (requires `collapsible`) |
|
|
68
71
|
| `copyLabel` | `string` | `"Copy"` | Copy button label forwarded to the client |
|
package/README_ja.md
CHANGED
|
@@ -25,9 +25,13 @@ export default defineConfig({
|
|
|
25
25
|
- Shiki のテーマによる色付け、行番号、メタデータによる行・文字の強調
|
|
26
26
|
- `diff` コードブロックの `+` と `-` で始まる行の差分表示
|
|
27
27
|
- コピー、折り返し、任意の折りたたみ
|
|
28
|
-
-
|
|
28
|
+
- すべてのコードブロックを端末風の暗い配色で表示する
|
|
29
|
+
- `bash`、`console`、`sh` などのシェル言語の行に `$` を付ける
|
|
29
30
|
- キーボードで内容を確認できるよう、`<pre>` をフォーカス可能にする
|
|
30
31
|
|
|
32
|
+
Theme は `rr-code` の root に `--rr-code-syntax` を指定すると、ハイライト済みコードの
|
|
33
|
+
子要素を選択せずに構文色を指定できます。
|
|
34
|
+
|
|
31
35
|
## オプション
|
|
32
36
|
|
|
33
37
|
| オプション | 型 | 既定値 | 内容 |
|
|
@@ -39,8 +43,7 @@ export default defineConfig({
|
|
|
39
43
|
| `lineHighlight` | `boolean` | `true` | メタデータによる行・文字の強調を適用する |
|
|
40
44
|
| `diffHighlight` | `boolean` | `true` | `diff` コードブロックの `+` / `-` で始まる行を色付けする |
|
|
41
45
|
| `collapsible` | `boolean` | `false` | 折りたたみボタンを追加する |
|
|
42
|
-
| `
|
|
43
|
-
| `commandPrompt` | `boolean` | `true` | 端末の各行に `$` を付ける |
|
|
46
|
+
| `commandPrompt` | `boolean` | `true` | シェル言語の行に `$` を付ける |
|
|
44
47
|
| `wrapToggle` | `boolean` | `true` | 折り返し切替ボタンを表示する |
|
|
45
48
|
| `defaultCollapsed` | `boolean` | `false` | `collapsible` 有効時に折りたたんで開始する |
|
|
46
49
|
| `copyLabel` | `string` | `"Copy"` | クライアントに渡すコピー前の文言 |
|
|
@@ -52,11 +55,11 @@ export default defineConfig({
|
|
|
52
55
|
|
|
53
56
|
## 公開 API
|
|
54
57
|
|
|
55
|
-
- `codeEnhance(options?)
|
|
56
|
-
- `rehypeCodeEnhance(options?)
|
|
57
|
-
- `initCodeEnhance(options?)
|
|
58
|
-
- `DEFAULT_COPY_LABEL`、`DEFAULT_COPIED_LABEL
|
|
59
|
-
- `CodeEnhanceOptions`、`CodeEnhanceClientOptions`、`CodeEnhanceTheme
|
|
58
|
+
- `codeEnhance(options?)`:プラグインファクトリ
|
|
59
|
+
- `rehypeCodeEnhance(options?)`:Rehype 変換
|
|
60
|
+
- `initCodeEnhance(options?)`:ブラウザ初期化関数
|
|
61
|
+
- `DEFAULT_COPY_LABEL`、`DEFAULT_COPIED_LABEL`:既定のコピー文言
|
|
62
|
+
- `CodeEnhanceOptions`、`CodeEnhanceClientOptions`、`CodeEnhanceTheme`:型
|
|
60
63
|
|
|
61
64
|
## 関連資料
|
|
62
65
|
|
package/dist/index.js
CHANGED
|
@@ -230,12 +230,11 @@ function enhancePrettyCodeFigures(tree, options) {
|
|
|
230
230
|
const titleNode = findTitleNode(node);
|
|
231
231
|
const title = titleNode ? getTextContent(titleNode) : null;
|
|
232
232
|
const language = getLanguage(pre, code);
|
|
233
|
-
const
|
|
233
|
+
const isShell = isTerminalLanguage(language);
|
|
234
234
|
node.properties = {
|
|
235
235
|
...node.properties,
|
|
236
236
|
className: mergeClassName(node.properties?.className, "rr-code"),
|
|
237
|
-
dataLanguage: language
|
|
238
|
-
dataTerminal: isTerminal ? "true" : void 0
|
|
237
|
+
dataLanguage: language
|
|
239
238
|
};
|
|
240
239
|
pre.properties = {
|
|
241
240
|
...pre.properties,
|
|
@@ -253,8 +252,7 @@ function enhancePrettyCodeFigures(tree, options) {
|
|
|
253
252
|
if (options.lineNumbers) markLineNumbers(code);
|
|
254
253
|
if (options.diffHighlight !== false && isDiffLanguage(language))
|
|
255
254
|
markDiffLines(code);
|
|
256
|
-
if (options.commandPrompt !== false &&
|
|
257
|
-
markCommandPrompts(code);
|
|
255
|
+
if (options.commandPrompt !== false && isShell) markCommandPrompts(code);
|
|
258
256
|
}
|
|
259
257
|
const bodyChildren = node.children?.filter((child) => child !== titleNode) ?? [];
|
|
260
258
|
const body = element("div", { className: "rr-code__body" }, bodyChildren);
|
package/dist/src/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@riebeckite/plugin-code-enhance",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.29",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"rehype-pretty-code": "^0.14.1",
|
|
25
25
|
"shiki": "^3.13.0",
|
|
26
|
-
"@riebeckite/core": "0.0.
|
|
26
|
+
"@riebeckite/core": "0.0.29"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"tsx": "^4.22.4"
|
package/style.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.rr-code {
|
|
2
|
-
--rr-code-paper: var(--rb-color-
|
|
3
|
-
--rr-code-ink: var(--rb-color-
|
|
2
|
+
--rr-code-paper: var(--rb-color-ink, #000000);
|
|
3
|
+
--rr-code-ink: var(--rb-color-paper, #ffffff);
|
|
4
4
|
--rr-code-muted: color-mix(in srgb, var(--rr-code-ink) 56%, transparent);
|
|
5
5
|
--rr-code-rule: color-mix(in srgb, var(--rr-code-ink) 18%, transparent);
|
|
6
6
|
--rr-code-accent: var(--rb-color-accent, #686868);
|
|
@@ -14,12 +14,6 @@
|
|
|
14
14
|
margin-bottom: 2rem;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
.rr-code[data-terminal="true"] {
|
|
18
|
-
--rr-code-paper: var(--rb-color-ink, #000000);
|
|
19
|
-
--rr-code-ink: var(--rb-color-paper, #ffffff);
|
|
20
|
-
--rr-code-syntax: var(--shiki-dark, inherit);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
17
|
.rr-code__header {
|
|
24
18
|
display: flex;
|
|
25
19
|
align-items: center;
|
|
@@ -91,21 +85,9 @@
|
|
|
91
85
|
|
|
92
86
|
.rr-code .rr-code__code,
|
|
93
87
|
.rr-code .rr-code__code span {
|
|
94
|
-
color: var(--rr-code-syntax, var(--shiki-light, inherit));
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
:is(:root, .rb-theme-root)[data-theme="dark"] .rr-code .rr-code__code,
|
|
98
|
-
:is(:root, .rb-theme-root)[data-theme="dark"] .rr-code .rr-code__code span {
|
|
99
88
|
color: var(--rr-code-syntax, var(--shiki-dark, inherit));
|
|
100
89
|
}
|
|
101
90
|
|
|
102
|
-
@media (prefers-color-scheme: dark) {
|
|
103
|
-
:is(:root, .rb-theme-root):not([data-theme]) .rr-code .rr-code__code,
|
|
104
|
-
:is(:root, .rb-theme-root):not([data-theme]) .rr-code .rr-code__code span {
|
|
105
|
-
color: var(--rr-code-syntax, var(--shiki-dark, inherit));
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
91
|
.rr-code__line {
|
|
110
92
|
display: inline-block;
|
|
111
93
|
min-width: 100%;
|
|
@@ -163,8 +145,3 @@
|
|
|
163
145
|
--rr-code-ink: var(--rb-color-ink, #ffffff);
|
|
164
146
|
}
|
|
165
147
|
}
|
|
166
|
-
|
|
167
|
-
.rr-code[data-terminal="true"] .rr-code__code,
|
|
168
|
-
.rr-code[data-terminal="true"] .rr-code__code span {
|
|
169
|
-
color: var(--shiki-dark, inherit);
|
|
170
|
-
}
|