@mralfarrakhan/svork 0.5.0 → 0.6.0
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 +2 -2
- package/dist/index.mjs +16 -2
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ It is intended for blog/content pages where Markdown should stay ergonomic while
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
9
9
|
```sh
|
|
10
|
-
bun add svork
|
|
10
|
+
bun add -D @mralfarrakhan/svork
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Svork has a peer dependency on Svelte 5.
|
|
@@ -21,7 +21,7 @@ import { svelteMarkdown } from "svork";
|
|
|
21
21
|
|
|
22
22
|
export default {
|
|
23
23
|
preprocess: [svelteMarkdown()],
|
|
24
|
-
extensions: [".
|
|
24
|
+
extensions: [".svx", ".md"],
|
|
25
25
|
};
|
|
26
26
|
```
|
|
27
27
|
|
package/dist/index.mjs
CHANGED
|
@@ -2354,11 +2354,25 @@ const svelteMarkdown = (options) => {
|
|
|
2354
2354
|
workingString = workingString.slice(fmMatch[0].length);
|
|
2355
2355
|
}
|
|
2356
2356
|
const finalize = async (markdownSource, placeholderMap = /* @__PURE__ */ new Map()) => {
|
|
2357
|
-
|
|
2357
|
+
const vfile = await mdCompiler.process(markdownSource);
|
|
2358
|
+
let compiled = String(vfile);
|
|
2358
2359
|
compiled = compiled.replace(/({|{)/g, "{").replace(/(}|})/g, "}");
|
|
2359
2360
|
let restored = compiled;
|
|
2361
|
+
if (vfile.data?.fm && typeof vfile.data.fm === "object") metadata = {
|
|
2362
|
+
...metadata,
|
|
2363
|
+
...vfile.data.fm
|
|
2364
|
+
};
|
|
2360
2365
|
const metadataString = `\nexport const metadata = ${JSON.stringify(metadata)};\n`;
|
|
2366
|
+
let hasModuleScript = false;
|
|
2361
2367
|
for (const [placeholder, info] of placeholderMap.entries()) {
|
|
2368
|
+
if (info.type === "ModuleScript") {
|
|
2369
|
+
const scriptTagMatch = info.original.match(/^<script[^>]*>/);
|
|
2370
|
+
if (scriptTagMatch) {
|
|
2371
|
+
const injectIndex = scriptTagMatch[0].length;
|
|
2372
|
+
info.original = info.original.slice(0, injectIndex) + metadataString + info.original.slice(injectIndex);
|
|
2373
|
+
}
|
|
2374
|
+
hasModuleScript = true;
|
|
2375
|
+
}
|
|
2362
2376
|
const escPlaceholder = escapeRegExp(placeholder);
|
|
2363
2377
|
const markerPattern = `<svork-placeholder\\s+data-svork-id=(["'])${escPlaceholder}\\1[^>]*>[\\s\\S]*?<\\/svork-placeholder>`;
|
|
2364
2378
|
const markerRegex = new RegExp(markerPattern, "g");
|
|
@@ -2395,7 +2409,7 @@ const svelteMarkdown = (options) => {
|
|
|
2395
2409
|
}
|
|
2396
2410
|
restored = restored.replace(new RegExp(placeholder, "g"), () => info.original);
|
|
2397
2411
|
}
|
|
2398
|
-
restored = `<script module lang="ts">${metadataString}<\/script>\n` + restored;
|
|
2412
|
+
if (!hasModuleScript) restored = `<script module lang="ts">${metadataString}<\/script>\n` + restored;
|
|
2399
2413
|
return restored;
|
|
2400
2414
|
};
|
|
2401
2415
|
let root;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mralfarrakhan/svork",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.6.0",
|
|
5
5
|
"description": "Svelte utilities for writing blog",
|
|
6
6
|
"author": "mralfarrakhan <alfarrakhan@gmail.com",
|
|
7
7
|
"license": "AGPL-3.0-or-later",
|
|
@@ -77,5 +77,8 @@
|
|
|
77
77
|
"unist-util-stringify-position": "4.0.0",
|
|
78
78
|
"vfile": "6.0.3",
|
|
79
79
|
"vfile-message": "4.0.3"
|
|
80
|
+
},
|
|
81
|
+
"publishConfig": {
|
|
82
|
+
"access": "public"
|
|
80
83
|
}
|
|
81
84
|
}
|