@d10f/asciidoc-astro-loader 0.0.14 → 0.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/dist/{chunk-NYOV2AHU.js → chunk-TCLZUBH3.js} +42 -23
- package/dist/index.cjs +42 -23
- package/dist/index.d.cts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -1
- package/dist/lib/shiki/transformers/index.cjs +42 -23
- package/dist/lib/shiki/transformers/index.d.cts +10 -27
- package/dist/lib/shiki/transformers/index.d.ts +10 -27
- package/dist/lib/shiki/transformers/index.js +1 -1
- package/package.json +1 -1
|
@@ -61,36 +61,55 @@ var transformAsciidocCallout = (options) => {
|
|
|
61
61
|
};
|
|
62
62
|
|
|
63
63
|
// src/lib/shiki/transformers/transformerPrompt.ts
|
|
64
|
-
var
|
|
64
|
+
var DEFAULT_OPTS = {
|
|
65
|
+
breakOn: "\\",
|
|
66
|
+
cssClasses: "",
|
|
67
|
+
hideBreak: false,
|
|
68
|
+
prompt: "",
|
|
69
|
+
promptAttribute: "custom-prompt"
|
|
70
|
+
};
|
|
71
|
+
var transformerPrompt = (opts) => {
|
|
65
72
|
return (node) => {
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
73
|
+
const config = {
|
|
74
|
+
breakOn: opts?.breakOn ?? DEFAULT_OPTS.breakOn,
|
|
75
|
+
cssClasses: opts?.cssClasses ?? DEFAULT_OPTS.cssClasses,
|
|
76
|
+
hideBreak: opts?.hideBreak ?? DEFAULT_OPTS.hideBreak,
|
|
77
|
+
prompt: opts?.prompt ?? DEFAULT_OPTS.prompt
|
|
78
|
+
};
|
|
79
|
+
if (opts && opts.langs) {
|
|
80
|
+
const lang = node.getAttribute("language");
|
|
81
|
+
const langOpts = opts.langs[lang];
|
|
82
|
+
Object.assign(
|
|
83
|
+
config,
|
|
84
|
+
typeof langOpts === "object" ? langOpts : { prompt: langOpts }
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
const promptAttr = node.getAttribute(
|
|
88
|
+
opts?.promptAttribute ?? DEFAULT_OPTS.promptAttribute
|
|
69
89
|
);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
90
|
+
if (promptAttr) {
|
|
91
|
+
Object.assign(config, {
|
|
92
|
+
prompt: promptAttr
|
|
93
|
+
});
|
|
74
94
|
}
|
|
95
|
+
const breakOnRe = new RegExp(
|
|
96
|
+
`\\s+${escapeRegexCharacters(config.breakOn)}\\s*$`
|
|
97
|
+
);
|
|
75
98
|
let skipNext = false;
|
|
99
|
+
let skipCurrent = false;
|
|
76
100
|
return {
|
|
77
101
|
enforce: "pre",
|
|
78
102
|
line(hast) {
|
|
79
|
-
if (!
|
|
80
|
-
|
|
103
|
+
if (!config.prompt || !config.prompt.trim()) return;
|
|
104
|
+
skipCurrent = skipNext;
|
|
81
105
|
skipNext = false;
|
|
82
106
|
const lastChild = hast.children.at(-1);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
) {
|
|
90
|
-
skipNext = true;
|
|
91
|
-
lastChild.children[0].value = // @ts-expect-error property "children" does exist
|
|
92
|
-
lastChild.children[0].value.replace(
|
|
93
|
-
/\s+\\n\s*$/,
|
|
107
|
+
const lastToken = lastChild?.children[0];
|
|
108
|
+
if (lastToken) {
|
|
109
|
+
skipNext = breakOnRe.test(lastToken.value);
|
|
110
|
+
if (skipNext && config.hideBreak) {
|
|
111
|
+
lastToken.value = lastToken.value.replace(
|
|
112
|
+
breakOnRe,
|
|
94
113
|
""
|
|
95
114
|
);
|
|
96
115
|
}
|
|
@@ -100,12 +119,12 @@ var transformerPrompt = (options) => {
|
|
|
100
119
|
type: "element",
|
|
101
120
|
tagName: "span",
|
|
102
121
|
properties: {
|
|
103
|
-
class: cssClasses
|
|
122
|
+
class: config.cssClasses
|
|
104
123
|
},
|
|
105
124
|
children: [
|
|
106
125
|
{
|
|
107
126
|
type: "text",
|
|
108
|
-
value:
|
|
127
|
+
value: config.prompt
|
|
109
128
|
}
|
|
110
129
|
]
|
|
111
130
|
});
|
package/dist/index.cjs
CHANGED
|
@@ -785,36 +785,55 @@ async function setDocument(doc, converters, templateEngine, { parseData, store }
|
|
|
785
785
|
}
|
|
786
786
|
|
|
787
787
|
// src/lib/shiki/transformers/transformerPrompt.ts
|
|
788
|
-
var
|
|
788
|
+
var DEFAULT_OPTS = {
|
|
789
|
+
breakOn: "\\",
|
|
790
|
+
cssClasses: "",
|
|
791
|
+
hideBreak: false,
|
|
792
|
+
prompt: "",
|
|
793
|
+
promptAttribute: "custom-prompt"
|
|
794
|
+
};
|
|
795
|
+
var transformerPrompt = (opts) => {
|
|
789
796
|
return (node) => {
|
|
790
|
-
const
|
|
791
|
-
|
|
792
|
-
|
|
797
|
+
const config = {
|
|
798
|
+
breakOn: opts?.breakOn ?? DEFAULT_OPTS.breakOn,
|
|
799
|
+
cssClasses: opts?.cssClasses ?? DEFAULT_OPTS.cssClasses,
|
|
800
|
+
hideBreak: opts?.hideBreak ?? DEFAULT_OPTS.hideBreak,
|
|
801
|
+
prompt: opts?.prompt ?? DEFAULT_OPTS.prompt
|
|
802
|
+
};
|
|
803
|
+
if (opts && opts.langs) {
|
|
804
|
+
const lang = node.getAttribute("language");
|
|
805
|
+
const langOpts = opts.langs[lang];
|
|
806
|
+
Object.assign(
|
|
807
|
+
config,
|
|
808
|
+
typeof langOpts === "object" ? langOpts : { prompt: langOpts }
|
|
809
|
+
);
|
|
810
|
+
}
|
|
811
|
+
const promptAttr = node.getAttribute(
|
|
812
|
+
opts?.promptAttribute ?? DEFAULT_OPTS.promptAttribute
|
|
793
813
|
);
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
814
|
+
if (promptAttr) {
|
|
815
|
+
Object.assign(config, {
|
|
816
|
+
prompt: promptAttr
|
|
817
|
+
});
|
|
798
818
|
}
|
|
819
|
+
const breakOnRe = new RegExp(
|
|
820
|
+
`\\s+${escapeRegexCharacters(config.breakOn)}\\s*$`
|
|
821
|
+
);
|
|
799
822
|
let skipNext = false;
|
|
823
|
+
let skipCurrent = false;
|
|
800
824
|
return {
|
|
801
825
|
enforce: "pre",
|
|
802
826
|
line(hast) {
|
|
803
|
-
if (!
|
|
804
|
-
|
|
827
|
+
if (!config.prompt || !config.prompt.trim()) return;
|
|
828
|
+
skipCurrent = skipNext;
|
|
805
829
|
skipNext = false;
|
|
806
830
|
const lastChild = hast.children.at(-1);
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
) {
|
|
814
|
-
skipNext = true;
|
|
815
|
-
lastChild.children[0].value = // @ts-expect-error property "children" does exist
|
|
816
|
-
lastChild.children[0].value.replace(
|
|
817
|
-
/\s+\\n\s*$/,
|
|
831
|
+
const lastToken = lastChild?.children[0];
|
|
832
|
+
if (lastToken) {
|
|
833
|
+
skipNext = breakOnRe.test(lastToken.value);
|
|
834
|
+
if (skipNext && config.hideBreak) {
|
|
835
|
+
lastToken.value = lastToken.value.replace(
|
|
836
|
+
breakOnRe,
|
|
818
837
|
""
|
|
819
838
|
);
|
|
820
839
|
}
|
|
@@ -824,12 +843,12 @@ var transformerPrompt = (options) => {
|
|
|
824
843
|
type: "element",
|
|
825
844
|
tagName: "span",
|
|
826
845
|
properties: {
|
|
827
|
-
class: cssClasses
|
|
846
|
+
class: config.cssClasses
|
|
828
847
|
},
|
|
829
848
|
children: [
|
|
830
849
|
{
|
|
831
850
|
type: "text",
|
|
832
|
-
value:
|
|
851
|
+
value: config.prompt
|
|
833
852
|
}
|
|
834
853
|
]
|
|
835
854
|
});
|
package/dist/index.d.cts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -90,36 +90,55 @@ var transformAsciidocCallout = (options) => {
|
|
|
90
90
|
};
|
|
91
91
|
|
|
92
92
|
// src/lib/shiki/transformers/transformerPrompt.ts
|
|
93
|
-
var
|
|
93
|
+
var DEFAULT_OPTS = {
|
|
94
|
+
breakOn: "\\",
|
|
95
|
+
cssClasses: "",
|
|
96
|
+
hideBreak: false,
|
|
97
|
+
prompt: "",
|
|
98
|
+
promptAttribute: "custom-prompt"
|
|
99
|
+
};
|
|
100
|
+
var transformerPrompt = (opts) => {
|
|
94
101
|
return (node) => {
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
102
|
+
const config = {
|
|
103
|
+
breakOn: opts?.breakOn ?? DEFAULT_OPTS.breakOn,
|
|
104
|
+
cssClasses: opts?.cssClasses ?? DEFAULT_OPTS.cssClasses,
|
|
105
|
+
hideBreak: opts?.hideBreak ?? DEFAULT_OPTS.hideBreak,
|
|
106
|
+
prompt: opts?.prompt ?? DEFAULT_OPTS.prompt
|
|
107
|
+
};
|
|
108
|
+
if (opts && opts.langs) {
|
|
109
|
+
const lang = node.getAttribute("language");
|
|
110
|
+
const langOpts = opts.langs[lang];
|
|
111
|
+
Object.assign(
|
|
112
|
+
config,
|
|
113
|
+
typeof langOpts === "object" ? langOpts : { prompt: langOpts }
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
const promptAttr = node.getAttribute(
|
|
117
|
+
opts?.promptAttribute ?? DEFAULT_OPTS.promptAttribute
|
|
98
118
|
);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
119
|
+
if (promptAttr) {
|
|
120
|
+
Object.assign(config, {
|
|
121
|
+
prompt: promptAttr
|
|
122
|
+
});
|
|
103
123
|
}
|
|
124
|
+
const breakOnRe = new RegExp(
|
|
125
|
+
`\\s+${escapeRegexCharacters(config.breakOn)}\\s*$`
|
|
126
|
+
);
|
|
104
127
|
let skipNext = false;
|
|
128
|
+
let skipCurrent = false;
|
|
105
129
|
return {
|
|
106
130
|
enforce: "pre",
|
|
107
131
|
line(hast) {
|
|
108
|
-
if (!
|
|
109
|
-
|
|
132
|
+
if (!config.prompt || !config.prompt.trim()) return;
|
|
133
|
+
skipCurrent = skipNext;
|
|
110
134
|
skipNext = false;
|
|
111
135
|
const lastChild = hast.children.at(-1);
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
) {
|
|
119
|
-
skipNext = true;
|
|
120
|
-
lastChild.children[0].value = // @ts-expect-error property "children" does exist
|
|
121
|
-
lastChild.children[0].value.replace(
|
|
122
|
-
/\s+\\n\s*$/,
|
|
136
|
+
const lastToken = lastChild?.children[0];
|
|
137
|
+
if (lastToken) {
|
|
138
|
+
skipNext = breakOnRe.test(lastToken.value);
|
|
139
|
+
if (skipNext && config.hideBreak) {
|
|
140
|
+
lastToken.value = lastToken.value.replace(
|
|
141
|
+
breakOnRe,
|
|
123
142
|
""
|
|
124
143
|
);
|
|
125
144
|
}
|
|
@@ -129,12 +148,12 @@ var transformerPrompt = (options) => {
|
|
|
129
148
|
type: "element",
|
|
130
149
|
tagName: "span",
|
|
131
150
|
properties: {
|
|
132
|
-
class: cssClasses
|
|
151
|
+
class: config.cssClasses
|
|
133
152
|
},
|
|
134
153
|
children: [
|
|
135
154
|
{
|
|
136
155
|
type: "text",
|
|
137
|
-
value:
|
|
156
|
+
value: config.prompt
|
|
138
157
|
}
|
|
139
158
|
]
|
|
140
159
|
});
|
|
@@ -1,36 +1,19 @@
|
|
|
1
1
|
import { c as ShikiTransformerFactory } from '../../../index-C1F2jTPD.cjs';
|
|
2
|
-
import { BundledLanguage } from 'shiki
|
|
3
|
-
import 'shiki';
|
|
2
|
+
import { BundledLanguage } from 'shiki';
|
|
4
3
|
import 'asciidoctor';
|
|
5
4
|
import 'astro/zod';
|
|
6
5
|
|
|
7
|
-
type PromptOptions = {
|
|
6
|
+
type PromptOptions = Partial<{
|
|
8
7
|
prompt: string;
|
|
9
8
|
cssClasses: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* An object mapping each language block to a prompt string. An object
|
|
19
|
-
* can also be provided specified with two keys, the prompt and the
|
|
20
|
-
* css classes that modify this prompt in particular. Useful when you
|
|
21
|
-
* want to style them differently from the
|
|
22
|
-
* If not provided, it will default to look at the block attribute.
|
|
23
|
-
*/
|
|
24
|
-
langs?: Partial<Record<BundledLanguage, PromptOptions | string>>;
|
|
25
|
-
/**
|
|
26
|
-
* The name of the block attribute on the original document to look
|
|
27
|
-
* for and use as the prompt for this block.
|
|
28
|
-
*
|
|
29
|
-
* @default custom-prompt
|
|
30
|
-
*/
|
|
31
|
-
promptAttribute?: string;
|
|
32
|
-
};
|
|
33
|
-
declare const transformerPrompt: ShikiTransformerFactory<TransformOptions>;
|
|
9
|
+
breakOn: string;
|
|
10
|
+
hideBreak: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
type TransformerOptions$1 = PromptOptions & Partial<{
|
|
13
|
+
langs: Partial<Record<BundledLanguage, PromptOptions | string>>;
|
|
14
|
+
promptAttribute: string;
|
|
15
|
+
}>;
|
|
16
|
+
declare const transformerPrompt: ShikiTransformerFactory<TransformerOptions$1>;
|
|
34
17
|
|
|
35
18
|
type TransformerOptions = Partial<{
|
|
36
19
|
cssClasses?: string;
|
|
@@ -1,36 +1,19 @@
|
|
|
1
1
|
import { c as ShikiTransformerFactory } from '../../../index-C1F2jTPD.js';
|
|
2
|
-
import { BundledLanguage } from 'shiki
|
|
3
|
-
import 'shiki';
|
|
2
|
+
import { BundledLanguage } from 'shiki';
|
|
4
3
|
import 'asciidoctor';
|
|
5
4
|
import 'astro/zod';
|
|
6
5
|
|
|
7
|
-
type PromptOptions = {
|
|
6
|
+
type PromptOptions = Partial<{
|
|
8
7
|
prompt: string;
|
|
9
8
|
cssClasses: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* An object mapping each language block to a prompt string. An object
|
|
19
|
-
* can also be provided specified with two keys, the prompt and the
|
|
20
|
-
* css classes that modify this prompt in particular. Useful when you
|
|
21
|
-
* want to style them differently from the
|
|
22
|
-
* If not provided, it will default to look at the block attribute.
|
|
23
|
-
*/
|
|
24
|
-
langs?: Partial<Record<BundledLanguage, PromptOptions | string>>;
|
|
25
|
-
/**
|
|
26
|
-
* The name of the block attribute on the original document to look
|
|
27
|
-
* for and use as the prompt for this block.
|
|
28
|
-
*
|
|
29
|
-
* @default custom-prompt
|
|
30
|
-
*/
|
|
31
|
-
promptAttribute?: string;
|
|
32
|
-
};
|
|
33
|
-
declare const transformerPrompt: ShikiTransformerFactory<TransformOptions>;
|
|
9
|
+
breakOn: string;
|
|
10
|
+
hideBreak: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
type TransformerOptions$1 = PromptOptions & Partial<{
|
|
13
|
+
langs: Partial<Record<BundledLanguage, PromptOptions | string>>;
|
|
14
|
+
promptAttribute: string;
|
|
15
|
+
}>;
|
|
16
|
+
declare const transformerPrompt: ShikiTransformerFactory<TransformerOptions$1>;
|
|
34
17
|
|
|
35
18
|
type TransformerOptions = Partial<{
|
|
36
19
|
cssClasses?: string;
|