mr-md 1.0.3 → 1.0.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
package/dist/builder.js CHANGED
@@ -109,17 +109,16 @@ export class LessonBuilder {
109
109
  /** @internal Used by ChapterBuilder to push down shared config */
110
110
  _inheritOptions(parentOpts, parentRawOpts) {
111
111
  this.options = {
112
- outDir: this._rawOptions.outDir ?? (parentRawOpts?.outDir || parentOpts.outDir) ?? this.options.outDir,
113
- contentBase: this._rawOptions.contentBase ??
114
- parentRawOpts?.contentBase ??
115
- this.options.contentBase,
112
+ ...this.options,
113
+ outDir: this._rawOptions.outDir ?? parentOpts.outDir ?? this.options.outDir,
114
+ contentBase: this._rawOptions.contentBase ?? this.options.contentBase,
116
115
  theme: this._rawOptions.theme ?? parentOpts.theme ?? this.options.theme,
117
116
  palette: this._rawOptions.palette ?? parentOpts.palette ?? this.options.palette,
118
117
  strict: this._rawOptions.strict ?? parentOpts.strict ?? this.options.strict,
119
118
  preset: {
119
+ ...this.options.preset,
120
120
  ...parentOpts.preset,
121
121
  ...this._rawOptions.preset,
122
- ...this.options.preset,
123
122
  },
124
123
  };
125
124
  }
@@ -515,17 +514,16 @@ export class ChapterBuilder {
515
514
  /** @internal Used by CourseBuilder to push down shared config */
516
515
  _inheritOptions(parentOpts, parentRawOpts) {
517
516
  this.options = {
518
- outDir: this._rawOptions.outDir ?? (parentRawOpts?.outDir || parentOpts.outDir) ?? this.options.outDir,
519
- contentBase: this._rawOptions.contentBase ??
520
- parentRawOpts?.contentBase ??
521
- this.options.contentBase,
517
+ ...this.options,
518
+ outDir: this._rawOptions.outDir ?? parentOpts.outDir ?? this.options.outDir,
519
+ contentBase: this._rawOptions.contentBase ?? this.options.contentBase,
522
520
  theme: this._rawOptions.theme ?? parentOpts.theme ?? this.options.theme,
523
521
  palette: this._rawOptions.palette ?? parentOpts.palette ?? this.options.palette,
524
522
  strict: this._rawOptions.strict ?? parentOpts.strict ?? this.options.strict,
525
523
  preset: {
524
+ ...this.options.preset,
526
525
  ...parentOpts.preset,
527
526
  ...this._rawOptions.preset,
528
- ...this.options.preset,
529
527
  },
530
528
  };
531
529
  for (const lb of this.lessonBuilders) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/renderer/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;CACrC;AAID,iBAAS,cAAc,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,YAAY,EACrB,YAAY,GAAE,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAe,GAClD,MAAM,CAmCR;AAED,iBAAS,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAwCnE;AAED,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/renderer/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;CACrC;AAID,iBAAS,cAAc,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,YAAY,EACrB,YAAY,GAAE,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAe,GAClD,MAAM,CA0CR;AAED,iBAAS,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAgDnE;AAED,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
@@ -14,9 +14,15 @@ function resolveContent(src, options, expectedType = "text") {
14
14
  src.startsWith("/") ||
15
15
  src.startsWith("./") ||
16
16
  src.startsWith("../");
17
- const filePath = path.isAbsolute(src)
17
+ let filePath = path.isAbsolute(src)
18
18
  ? src
19
19
  : path.resolve(options.contentBase ?? ".", src);
20
+ if (!fs.existsSync(filePath) && !path.isAbsolute(src)) {
21
+ const cwdFilePath = path.resolve(process.cwd(), src);
22
+ if (fs.existsSync(cwdFilePath)) {
23
+ filePath = cwdFilePath;
24
+ }
25
+ }
20
26
  if (fs.existsSync(filePath)) {
21
27
  const stat = fs.statSync(filePath);
22
28
  if (stat.isFile()) {
@@ -35,9 +41,15 @@ function resolveAssetSrc(src, options) {
35
41
  const isWebAbsolute = src.startsWith("/") && !fs.existsSync(src);
36
42
  if (isWebAbsolute)
37
43
  return src;
38
- const filePath = path.isAbsolute(src)
44
+ let filePath = path.isAbsolute(src)
39
45
  ? src
40
46
  : path.resolve(options.contentBase ?? ".", src);
47
+ if (!fs.existsSync(filePath) && !path.isAbsolute(src)) {
48
+ const cwdFilePath = path.resolve(process.cwd(), src);
49
+ if (fs.existsSync(cwdFilePath)) {
50
+ filePath = cwdFilePath;
51
+ }
52
+ }
41
53
  if (!fs.existsSync(filePath)) {
42
54
  if (options.strict !== false)
43
55
  throw new Error(`Missing media asset: ${filePath}`);
package/package.json CHANGED
@@ -1,62 +1,62 @@
1
1
  {
2
- "name": "mr-md",
3
- "version": "1.0.3",
4
- "description": "Mr Markdown is an opinionated TypeScript SDK for building interactive, single-file learning pages.",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js",
12
- "default": "./dist/index.js"
13
- }
14
- },
15
- "files": [
16
- "dist",
17
- "src"
18
- ],
19
- "directories": {
20
- "demo": "demo"
21
- },
22
- "scripts": {
23
- "build": "tsc -p tsconfig.build.json && mkdir -p dist/styles dist/client && cp -r src/styles/* dist/styles/ && cp -r src/client/* dist/client/",
24
- "prepublishOnly": "bun run build",
25
- "build:example": "bun demo/src/course.ts",
26
- "serve:example": "bunx serve demo/out",
27
- "typecheck": "bunx tsc --noEmit",
28
- "test": "bun test && bun run typecheck",
29
- "test:watch": "bun test --watch",
30
- "lint": "biome lint .",
31
- "format": "biome format --write .",
32
- "check": "biome check --write ."
33
- },
34
- "keywords": [
35
- "markdown",
36
- "blog",
37
- "interactive",
38
- "education",
39
- "shiki",
40
- "katex",
41
- "course"
42
- ],
43
- "author": "Chirayu Chhabra",
44
- "repository": {
45
- "type": "git",
46
- "url": "git+https://github.com/chirayuChhabra/blogkit.git"
47
- },
48
- "license": "ISC",
49
- "devDependencies": {
50
- "@types/katex": "^0.16.8",
51
- "@types/node": "^25.8.0",
52
- "biome": "^0.3.3",
53
- "ts-node": "^10.9.2",
54
- "typescript": "^6.0.3"
55
- },
56
- "dependencies": {
57
- "highlight.js": "^11.11.1",
58
- "katex": "^0.16.47",
59
- "marked": "^18.0.4",
60
- "marked-highlight": "^2.2.4"
61
- }
2
+ "name": "mr-md",
3
+ "version": "1.0.4",
4
+ "description": "Mr Markdown is an opinionated TypeScript SDK for building interactive, single-file learning pages.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "src"
18
+ ],
19
+ "directories": {
20
+ "demo": "demo"
21
+ },
22
+ "scripts": {
23
+ "build": "tsc -p tsconfig.build.json && mkdir -p dist/styles dist/client && cp -r src/styles/* dist/styles/ && cp -r src/client/* dist/client/",
24
+ "prepublishOnly": "bun run build",
25
+ "build:example": "bun demo/src/course.ts",
26
+ "serve:example": "bunx serve demo/out",
27
+ "typecheck": "bunx tsc --noEmit",
28
+ "test": "bun test && bun run typecheck",
29
+ "test:watch": "bun test --watch",
30
+ "lint": "biome lint .",
31
+ "format": "biome format --write .",
32
+ "check": "biome check --write ."
33
+ },
34
+ "keywords": [
35
+ "markdown",
36
+ "blog",
37
+ "interactive",
38
+ "education",
39
+ "shiki",
40
+ "katex",
41
+ "course"
42
+ ],
43
+ "author": "Chirayu Chhabra",
44
+ "repository": {
45
+ "type": "git",
46
+ "url": "git+https://github.com/chirayuChhabra/blogkit.git"
47
+ },
48
+ "license": "ISC",
49
+ "devDependencies": {
50
+ "@types/katex": "^0.16.8",
51
+ "@types/node": "^25.8.0",
52
+ "biome": "^0.3.3",
53
+ "ts-node": "^10.9.2",
54
+ "typescript": "^6.0.3"
55
+ },
56
+ "dependencies": {
57
+ "highlight.js": "^11.11.1",
58
+ "katex": "^0.16.47",
59
+ "marked": "^18.0.4",
60
+ "marked-highlight": "^2.2.4"
61
+ }
62
62
  }
package/src/builder.ts CHANGED
@@ -155,21 +155,19 @@ export class LessonBuilder {
155
155
  /** @internal Used by ChapterBuilder to push down shared config */
156
156
  _inheritOptions(parentOpts: BuildOptions, parentRawOpts?: BuildOptions) {
157
157
  this.options = {
158
+ ...this.options,
158
159
  outDir:
159
- this._rawOptions.outDir ?? (parentRawOpts?.outDir || parentOpts.outDir) ?? this.options.outDir,
160
- contentBase:
161
- this._rawOptions.contentBase ??
162
- parentRawOpts?.contentBase ??
163
- this.options.contentBase,
160
+ this._rawOptions.outDir ?? parentOpts.outDir ?? this.options.outDir,
161
+ contentBase: this._rawOptions.contentBase ?? this.options.contentBase,
164
162
  theme: this._rawOptions.theme ?? parentOpts.theme ?? this.options.theme,
165
163
  palette:
166
164
  this._rawOptions.palette ?? parentOpts.palette ?? this.options.palette,
167
165
  strict:
168
166
  this._rawOptions.strict ?? parentOpts.strict ?? this.options.strict,
169
167
  preset: {
168
+ ...this.options.preset,
170
169
  ...parentOpts.preset,
171
170
  ...this._rawOptions.preset,
172
- ...this.options.preset,
173
171
  },
174
172
  };
175
173
  }
@@ -670,21 +668,19 @@ export class ChapterBuilder {
670
668
  /** @internal Used by CourseBuilder to push down shared config */
671
669
  _inheritOptions(parentOpts: BuildOptions, parentRawOpts?: BuildOptions) {
672
670
  this.options = {
671
+ ...this.options,
673
672
  outDir:
674
- this._rawOptions.outDir ?? (parentRawOpts?.outDir || parentOpts.outDir) ?? this.options.outDir,
675
- contentBase:
676
- this._rawOptions.contentBase ??
677
- parentRawOpts?.contentBase ??
678
- this.options.contentBase,
673
+ this._rawOptions.outDir ?? parentOpts.outDir ?? this.options.outDir,
674
+ contentBase: this._rawOptions.contentBase ?? this.options.contentBase,
679
675
  theme: this._rawOptions.theme ?? parentOpts.theme ?? this.options.theme,
680
676
  palette:
681
677
  this._rawOptions.palette ?? parentOpts.palette ?? this.options.palette,
682
678
  strict:
683
679
  this._rawOptions.strict ?? parentOpts.strict ?? this.options.strict,
684
680
  preset: {
681
+ ...this.options.preset,
685
682
  ...parentOpts.preset,
686
683
  ...this._rawOptions.preset,
687
- ...this.options.preset,
688
684
  },
689
685
  };
690
686
 
@@ -30,10 +30,17 @@ function resolveContent(
30
30
  src.startsWith("./") ||
31
31
  src.startsWith("../");
32
32
 
33
- const filePath = path.isAbsolute(src)
33
+ let filePath = path.isAbsolute(src)
34
34
  ? src
35
35
  : path.resolve(options.contentBase ?? ".", src);
36
36
 
37
+ if (!fs.existsSync(filePath) && !path.isAbsolute(src)) {
38
+ const cwdFilePath = path.resolve(process.cwd(), src);
39
+ if (fs.existsSync(cwdFilePath)) {
40
+ filePath = cwdFilePath;
41
+ }
42
+ }
43
+
37
44
  if (fs.existsSync(filePath)) {
38
45
  const stat = fs.statSync(filePath);
39
46
  if (stat.isFile()) {
@@ -57,9 +64,17 @@ function resolveAssetSrc(src: string, options: BuildOptions): string {
57
64
  const isWebAbsolute = src.startsWith("/") && !fs.existsSync(src);
58
65
  if (isWebAbsolute) return src;
59
66
 
60
- const filePath = path.isAbsolute(src)
67
+ let filePath = path.isAbsolute(src)
61
68
  ? src
62
69
  : path.resolve(options.contentBase ?? ".", src);
70
+
71
+ if (!fs.existsSync(filePath) && !path.isAbsolute(src)) {
72
+ const cwdFilePath = path.resolve(process.cwd(), src);
73
+ if (fs.existsSync(cwdFilePath)) {
74
+ filePath = cwdFilePath;
75
+ }
76
+ }
77
+
63
78
  if (!fs.existsSync(filePath)) {
64
79
  if (options.strict !== false)
65
80
  throw new Error(`Missing media asset: ${filePath}`);