podlite 0.0.61 → 0.0.63

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/CHANGELOG.podlite CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  =head1 Upcoming
4
4
 
5
+ =head1 0.0.63
6
+
7
+ =item podlite lint C<syntax-valid> flags directive-like lines that fail to parse and are recovered as text
8
+
9
+ =item podlite convert accepts C<--base> (and env C<PODLITE_BASE>) to prefix relative C<file:> image paths
10
+
11
+ =item podlite convert renders plugin blocks (pictures, diagrams, formulas) through the full plugin pipeline
12
+
13
+ =item podlite lint C<media-absolute-file> flags absolute local image paths that a published site cannot resolve
14
+
5
15
  =head1 0.0.61
6
16
 
7
17
  =item add C<exports> map, top-level C<types>, and explicit C<sideEffects> to package manifest
package/esm/cli.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
- import { parse, toMarkdown, toHtml } from '@podlite/schema';
3
+ import { toMarkdown, toHtml } from '@podlite/schema';
4
+ import { podlite } from './index';
4
5
  import { runLint } from './lint';
5
6
  import { runQuery } from './query';
6
7
  const FORMATS = {
@@ -28,6 +29,7 @@ Options:
28
29
  --format lint output format: text (default), json
29
30
  --strict lint: promote warnings to errors
30
31
  --config lint: path to .podlitelintrc.{json,js}
32
+ --base convert: prefix for relative file: image paths (or env PODLITE_BASE)
31
33
  -o Output file or directory (default: same dir, new extension)
32
34
  --fail-on-empty query: exit 1 if no blocks matched
33
35
  --quiet query: suppress match count on stderr
@@ -56,6 +58,7 @@ function parseArgs(argv) {
56
58
  strict: false,
57
59
  format: '',
58
60
  configPath: '',
61
+ base: '',
59
62
  };
60
63
  if (argv.length === 0 || argv[0] === '--help' || argv[0] === '-h') {
61
64
  return null;
@@ -85,6 +88,9 @@ function parseArgs(argv) {
85
88
  else if (arg === '--config') {
86
89
  args.configPath = argv[++i] || '';
87
90
  }
91
+ else if (arg === '--base') {
92
+ args.base = argv[++i] || '';
93
+ }
88
94
  else if (arg === '--help' || arg === '-h') {
89
95
  return null;
90
96
  }
@@ -95,20 +101,21 @@ function parseArgs(argv) {
95
101
  }
96
102
  return args;
97
103
  }
98
- function convertFile(inputPath, format, outputPath) {
104
+ function convertFile(inputPath, format, outputPath, base) {
99
105
  const ext = FORMATS[format];
100
106
  if (!ext) {
101
107
  console.error(`Unknown format: ${format}. Supported: ${Object.keys(FORMATS).join(', ')}`);
102
108
  process.exit(1);
103
109
  }
104
110
  const content = fs.readFileSync(inputPath, 'utf-8');
105
- const tree = parse(content);
111
+ const p = podlite({ importPlugins: true });
112
+ const tree = p.toAst(p.parse(content, { podMode: 1 }));
106
113
  let result;
107
114
  if (format === 'md' || format === 'markdown') {
108
- result = toMarkdown({}).run(tree).toString();
115
+ result = toMarkdown({ base }).run(tree).toString();
109
116
  }
110
117
  else if (format === 'html') {
111
- result = toHtml({}).run(tree).toString();
118
+ result = toHtml({ base }).run(tree).toString();
112
119
  }
113
120
  else {
114
121
  console.error(`Format "${format}" not implemented yet`);
@@ -248,7 +255,7 @@ function main() {
248
255
  console.error(`File not found: ${file}`);
249
256
  process.exit(1);
250
257
  }
251
- convertFile(file, args.to, args.output || undefined);
258
+ convertFile(file, args.to, args.output || undefined, args.base || process.env.PODLITE_BASE);
252
259
  }
253
260
  }
254
261
  main();
package/esm/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ import { syntaxValidRule } from './syntax-valid';
1
2
  import { headingHierarchyRule } from './heading-hierarchy';
2
3
  import { idUniqueRule } from './id-unique';
3
- export const DEFAULT_RULES = [headingHierarchyRule, idUniqueRule];
4
+ import { mediaAbsoluteFileRule } from './media-absolute-file';
5
+ export const DEFAULT_RULES = [syntaxValidRule, headingHierarchyRule, idUniqueRule, mediaAbsoluteFileRule];
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lint/rules/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAW,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lint/rules/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,CAAC,MAAM,aAAa,GAAW,CAAC,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Rule } from '../types';
2
+ export declare const MEDIA_ABSOLUTE_FILE_RULE_ID = "media-absolute-file";
3
+ export declare const mediaAbsoluteFileRule: Rule;
@@ -0,0 +1,50 @@
1
+ import { getFromTree, makeAttrs } from '@podlite/schema';
2
+ export const MEDIA_ABSOLUTE_FILE_RULE_ID = 'media-absolute-file';
3
+ const firstLine = (value) => value
4
+ .split('\n')
5
+ .map(line => line.trim())
6
+ .find(line => line.length > 0) || '';
7
+ const pictureSource = (node) => {
8
+ const attrs = makeAttrs(node);
9
+ if (attrs.exists('src'))
10
+ return String(attrs.getFirstValue('src'));
11
+ const content = Array.isArray(node.content) ? node.content : [];
12
+ for (const child of content) {
13
+ if (child && typeof child.value === 'string') {
14
+ const line = firstLine(child.value);
15
+ if (line)
16
+ return line;
17
+ }
18
+ }
19
+ return '';
20
+ };
21
+ const isAbsoluteLocal = (src) => {
22
+ const scheme = /^([a-zA-Z][a-zA-Z0-9+.-]*):(.*)$/.exec(src);
23
+ if (scheme)
24
+ return scheme[1].toLowerCase() === 'file' && scheme[2].startsWith('/');
25
+ return src.startsWith('/');
26
+ };
27
+ export const mediaAbsoluteFileRule = {
28
+ id: MEDIA_ABSOLUTE_FILE_RULE_ID,
29
+ severity: 'info',
30
+ check: (ast, _ctx) => {
31
+ const pictures = getFromTree(ast, node => {
32
+ const n = node;
33
+ return n.type === 'block' && (n.name === 'picture' || n.name === 'Image');
34
+ });
35
+ const violations = [];
36
+ for (const node of pictures) {
37
+ const src = pictureSource(node);
38
+ if (src && isAbsoluteLocal(src)) {
39
+ violations.push({
40
+ rule: MEDIA_ABSOLUTE_FILE_RULE_ID,
41
+ severity: 'info',
42
+ message: `Absolute local image path "${src}". A published site cannot resolve it; use a relative path with an export base, or a full https: URL`,
43
+ location: node.location,
44
+ });
45
+ }
46
+ }
47
+ return violations;
48
+ },
49
+ };
50
+ //# sourceMappingURL=media-absolute-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-absolute-file.js","sourceRoot":"","sources":["../../../src/lint/rules/media-absolute-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAmB,MAAM,iBAAiB,CAAA;AAGzE,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAA;AAEhE,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE,CAC1C,KAAK;KACF,KAAK,CAAC,IAAI,CAAC;KACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KACxB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AAExC,MAAM,aAAa,GAAG,CAAC,IAA6C,EAAU,EAAE;IAC9E,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAClE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,IAAI,KAAK,IAAI,OAAQ,KAA6B,CAAC,KAAK,KAAK,QAAQ,EAAE;YACrE,MAAM,IAAI,GAAG,SAAS,CAAE,KAA2B,CAAC,KAAK,CAAC,CAAA;YAC1D,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;SACtB;KACF;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,GAAW,EAAW,EAAE;IAC/C,MAAM,MAAM,GAAG,kCAAkC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3D,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAClF,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAS;IACzC,EAAE,EAAE,2BAA2B;IAC/B,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,CAAC,GAAoB,EAAE,IAAiB,EAAe,EAAE;QAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;YACvC,MAAM,CAAC,GAAG,IAAwC,CAAA;YAClD,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;QAC3E,CAAC,CAAqF,CAAA;QACtF,MAAM,UAAU,GAAgB,EAAE,CAAA;QAClC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YAC3B,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;gBAC/B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,2BAA2B;oBACjC,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,8BAA8B,GAAG,sGAAsG;oBAChJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAA;aACH;SACF;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;CACF,CAAA"}
@@ -1,4 +1,6 @@
1
+ import { PodliteDocument } from '@podlite/schema';
1
2
  import type { Rule, Violation } from '../types';
2
3
  export declare const SYNTAX_VALID_RULE_ID = "syntax-valid";
3
4
  export declare function makeSyntaxViolation(err: unknown, filePath: string): Violation;
5
+ export declare function collectRecoveredErrors(ast: PodliteDocument): Violation[];
4
6
  export declare const syntaxValidRule: Rule;
@@ -1,3 +1,4 @@
1
+ import { getFromTree } from '@podlite/schema';
1
2
  export const SYNTAX_VALID_RULE_ID = 'syntax-valid';
2
3
  export function makeSyntaxViolation(err, filePath) {
3
4
  const e = err;
@@ -22,9 +23,25 @@ export function makeSyntaxViolation(err, filePath) {
22
23
  : undefined,
23
24
  };
24
25
  }
26
+ export function collectRecoveredErrors(ast) {
27
+ const nodes = getFromTree(ast, () => true);
28
+ const violations = [];
29
+ for (const node of nodes) {
30
+ if (node && node.error === true) {
31
+ const snippet = String(node.value ?? '').trim();
32
+ violations.push({
33
+ rule: SYNTAX_VALID_RULE_ID,
34
+ severity: 'warning',
35
+ message: `Line could not be parsed as a directive or block: ${snippet}`,
36
+ location: node.location,
37
+ });
38
+ }
39
+ }
40
+ return violations;
41
+ }
25
42
  export const syntaxValidRule = {
26
43
  id: SYNTAX_VALID_RULE_ID,
27
44
  severity: 'error',
28
- check: (_ast, _ctx) => [],
45
+ check: (ast, _ctx) => collectRecoveredErrors(ast),
29
46
  };
30
47
  //# sourceMappingURL=syntax-valid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syntax-valid.js","sourceRoot":"","sources":["../../../src/lint/rules/syntax-valid.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAA;AAElD,MAAM,UAAU,mBAAmB,CAAC,GAAY,EAAE,QAAgB;IAChE,MAAM,CAAC,GAAG,GAAuG,CAAA;IACjH,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAA;IAChC,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;QACtE,QAAQ,EAAE,CAAC,EAAE,QAAQ;YACnB,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;oBACtB,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;oBAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;iBAC3B;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;oBACtB,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;oBAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;iBAC3B;aACF;YACH,CAAC,CAAC,SAAS;KACd,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,EAAE,EAAE,oBAAoB;IACxB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,IAAqB,EAAE,IAAiB,EAAe,EAAE,CAAC,EAAE;CACrE,CAAA"}
1
+ {"version":3,"file":"syntax-valid.js","sourceRoot":"","sources":["../../../src/lint/rules/syntax-valid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAmB,MAAM,iBAAiB,CAAA;AAG9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAA;AAElD,MAAM,UAAU,mBAAmB,CAAC,GAAY,EAAE,QAAgB;IAChE,MAAM,CAAC,GAAG,GAAuG,CAAA;IACjH,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAA;IAChC,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;QACtE,QAAQ,EAAE,CAAC,EAAE,QAAQ;YACnB,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;oBACtB,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;oBAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;iBAC3B;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;oBACtB,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;oBAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;iBAC3B;aACF;YACH,CAAC,CAAC,SAAS;KACd,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAoB;IACzD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAIvC,CAAA;IACF,MAAM,UAAU,GAAgB,EAAE,CAAA;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC/C,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,qDAAqD,OAAO,EAAE;gBACvE,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAA;SACH;KACF;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,EAAE,EAAE,oBAAoB;IACxB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,GAAoB,EAAE,IAAiB,EAAe,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC;CAC7F,CAAA"}
package/esm/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.61";
1
+ export declare const version = "0.0.63";
package/esm/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // generated by scripts/inject-version.mjs — do not edit by hand
2
- export const version = '0.0.61';
2
+ export const version = '0.0.63';
3
3
  //# sourceMappingURL=version.js.map
package/lib/cli.js CHANGED
@@ -22,6 +22,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
22
22
  const fs = __importStar(require("fs"));
23
23
  const path = __importStar(require("path"));
24
24
  const schema_1 = require("@podlite/schema");
25
+ const index_1 = require("./index");
25
26
  const lint_1 = require("./lint");
26
27
  const query_1 = require("./query");
27
28
  const FORMATS = {
@@ -49,6 +50,7 @@ Options:
49
50
  --format lint output format: text (default), json
50
51
  --strict lint: promote warnings to errors
51
52
  --config lint: path to .podlitelintrc.{json,js}
53
+ --base convert: prefix for relative file: image paths (or env PODLITE_BASE)
52
54
  -o Output file or directory (default: same dir, new extension)
53
55
  --fail-on-empty query: exit 1 if no blocks matched
54
56
  --quiet query: suppress match count on stderr
@@ -77,6 +79,7 @@ function parseArgs(argv) {
77
79
  strict: false,
78
80
  format: '',
79
81
  configPath: '',
82
+ base: '',
80
83
  };
81
84
  if (argv.length === 0 || argv[0] === '--help' || argv[0] === '-h') {
82
85
  return null;
@@ -106,6 +109,9 @@ function parseArgs(argv) {
106
109
  else if (arg === '--config') {
107
110
  args.configPath = argv[++i] || '';
108
111
  }
112
+ else if (arg === '--base') {
113
+ args.base = argv[++i] || '';
114
+ }
109
115
  else if (arg === '--help' || arg === '-h') {
110
116
  return null;
111
117
  }
@@ -116,20 +122,21 @@ function parseArgs(argv) {
116
122
  }
117
123
  return args;
118
124
  }
119
- function convertFile(inputPath, format, outputPath) {
125
+ function convertFile(inputPath, format, outputPath, base) {
120
126
  const ext = FORMATS[format];
121
127
  if (!ext) {
122
128
  console.error(`Unknown format: ${format}. Supported: ${Object.keys(FORMATS).join(', ')}`);
123
129
  process.exit(1);
124
130
  }
125
131
  const content = fs.readFileSync(inputPath, 'utf-8');
126
- const tree = (0, schema_1.parse)(content);
132
+ const p = (0, index_1.podlite)({ importPlugins: true });
133
+ const tree = p.toAst(p.parse(content, { podMode: 1 }));
127
134
  let result;
128
135
  if (format === 'md' || format === 'markdown') {
129
- result = (0, schema_1.toMarkdown)({}).run(tree).toString();
136
+ result = (0, schema_1.toMarkdown)({ base }).run(tree).toString();
130
137
  }
131
138
  else if (format === 'html') {
132
- result = (0, schema_1.toHtml)({}).run(tree).toString();
139
+ result = (0, schema_1.toHtml)({ base }).run(tree).toString();
133
140
  }
134
141
  else {
135
142
  console.error(`Format "${format}" not implemented yet`);
@@ -269,7 +276,7 @@ function main() {
269
276
  console.error(`File not found: ${file}`);
270
277
  process.exit(1);
271
278
  }
272
- convertFile(file, args.to, args.output || undefined);
279
+ convertFile(file, args.to, args.output || undefined, args.base || process.env.PODLITE_BASE);
273
280
  }
274
281
  }
275
282
  main();
package/lib/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_RULES = void 0;
4
+ const syntax_valid_1 = require("./syntax-valid");
4
5
  const heading_hierarchy_1 = require("./heading-hierarchy");
5
6
  const id_unique_1 = require("./id-unique");
6
- exports.DEFAULT_RULES = [heading_hierarchy_1.headingHierarchyRule, id_unique_1.idUniqueRule];
7
+ const media_absolute_file_1 = require("./media-absolute-file");
8
+ exports.DEFAULT_RULES = [syntax_valid_1.syntaxValidRule, heading_hierarchy_1.headingHierarchyRule, id_unique_1.idUniqueRule, media_absolute_file_1.mediaAbsoluteFileRule];
7
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lint/rules/index.ts"],"names":[],"mappings":";;;AACA,2DAA0D;AAC1D,2CAA0C;AAE7B,QAAA,aAAa,GAAW,CAAC,wCAAoB,EAAE,wBAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lint/rules/index.ts"],"names":[],"mappings":";;;AACA,iDAAgD;AAChD,2DAA0D;AAC1D,2CAA0C;AAC1C,+DAA6D;AAEhD,QAAA,aAAa,GAAW,CAAC,8BAAe,EAAE,wCAAoB,EAAE,wBAAY,EAAE,2CAAqB,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Rule } from '../types';
2
+ export declare const MEDIA_ABSOLUTE_FILE_RULE_ID = "media-absolute-file";
3
+ export declare const mediaAbsoluteFileRule: Rule;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mediaAbsoluteFileRule = exports.MEDIA_ABSOLUTE_FILE_RULE_ID = void 0;
4
+ const schema_1 = require("@podlite/schema");
5
+ exports.MEDIA_ABSOLUTE_FILE_RULE_ID = 'media-absolute-file';
6
+ const firstLine = (value) => value
7
+ .split('\n')
8
+ .map(line => line.trim())
9
+ .find(line => line.length > 0) || '';
10
+ const pictureSource = (node) => {
11
+ const attrs = (0, schema_1.makeAttrs)(node);
12
+ if (attrs.exists('src'))
13
+ return String(attrs.getFirstValue('src'));
14
+ const content = Array.isArray(node.content) ? node.content : [];
15
+ for (const child of content) {
16
+ if (child && typeof child.value === 'string') {
17
+ const line = firstLine(child.value);
18
+ if (line)
19
+ return line;
20
+ }
21
+ }
22
+ return '';
23
+ };
24
+ const isAbsoluteLocal = (src) => {
25
+ const scheme = /^([a-zA-Z][a-zA-Z0-9+.-]*):(.*)$/.exec(src);
26
+ if (scheme)
27
+ return scheme[1].toLowerCase() === 'file' && scheme[2].startsWith('/');
28
+ return src.startsWith('/');
29
+ };
30
+ exports.mediaAbsoluteFileRule = {
31
+ id: exports.MEDIA_ABSOLUTE_FILE_RULE_ID,
32
+ severity: 'info',
33
+ check: (ast, _ctx) => {
34
+ const pictures = (0, schema_1.getFromTree)(ast, node => {
35
+ const n = node;
36
+ return n.type === 'block' && (n.name === 'picture' || n.name === 'Image');
37
+ });
38
+ const violations = [];
39
+ for (const node of pictures) {
40
+ const src = pictureSource(node);
41
+ if (src && isAbsoluteLocal(src)) {
42
+ violations.push({
43
+ rule: exports.MEDIA_ABSOLUTE_FILE_RULE_ID,
44
+ severity: 'info',
45
+ message: `Absolute local image path "${src}". A published site cannot resolve it; use a relative path with an export base, or a full https: URL`,
46
+ location: node.location,
47
+ });
48
+ }
49
+ }
50
+ return violations;
51
+ },
52
+ };
53
+ //# sourceMappingURL=media-absolute-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-absolute-file.js","sourceRoot":"","sources":["../../../src/lint/rules/media-absolute-file.ts"],"names":[],"mappings":";;;AAAA,4CAAyE;AAG5D,QAAA,2BAA2B,GAAG,qBAAqB,CAAA;AAEhE,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE,CAC1C,KAAK;KACF,KAAK,CAAC,IAAI,CAAC;KACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KACxB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AAExC,MAAM,aAAa,GAAG,CAAC,IAA6C,EAAU,EAAE;IAC9E,MAAM,KAAK,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAA;IAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAClE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,IAAI,KAAK,IAAI,OAAQ,KAA6B,CAAC,KAAK,KAAK,QAAQ,EAAE;YACrE,MAAM,IAAI,GAAG,SAAS,CAAE,KAA2B,CAAC,KAAK,CAAC,CAAA;YAC1D,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;SACtB;KACF;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,GAAW,EAAW,EAAE;IAC/C,MAAM,MAAM,GAAG,kCAAkC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3D,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAClF,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC,CAAA;AAEY,QAAA,qBAAqB,GAAS;IACzC,EAAE,EAAE,mCAA2B;IAC/B,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,CAAC,GAAoB,EAAE,IAAiB,EAAe,EAAE;QAC9D,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,GAAG,EAAE,IAAI,CAAC,EAAE;YACvC,MAAM,CAAC,GAAG,IAAwC,CAAA;YAClD,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;QAC3E,CAAC,CAAqF,CAAA;QACtF,MAAM,UAAU,GAAgB,EAAE,CAAA;QAClC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YAC3B,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;gBAC/B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,mCAA2B;oBACjC,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,8BAA8B,GAAG,sGAAsG;oBAChJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAA;aACH;SACF;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;CACF,CAAA"}
@@ -1,4 +1,6 @@
1
+ import { PodliteDocument } from '@podlite/schema';
1
2
  import type { Rule, Violation } from '../types';
2
3
  export declare const SYNTAX_VALID_RULE_ID = "syntax-valid";
3
4
  export declare function makeSyntaxViolation(err: unknown, filePath: string): Violation;
5
+ export declare function collectRecoveredErrors(ast: PodliteDocument): Violation[];
4
6
  export declare const syntaxValidRule: Rule;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.syntaxValidRule = exports.makeSyntaxViolation = exports.SYNTAX_VALID_RULE_ID = void 0;
3
+ exports.syntaxValidRule = exports.collectRecoveredErrors = exports.makeSyntaxViolation = exports.SYNTAX_VALID_RULE_ID = void 0;
4
+ const schema_1 = require("@podlite/schema");
4
5
  exports.SYNTAX_VALID_RULE_ID = 'syntax-valid';
5
6
  function makeSyntaxViolation(err, filePath) {
6
7
  const e = err;
@@ -26,9 +27,26 @@ function makeSyntaxViolation(err, filePath) {
26
27
  };
27
28
  }
28
29
  exports.makeSyntaxViolation = makeSyntaxViolation;
30
+ function collectRecoveredErrors(ast) {
31
+ const nodes = (0, schema_1.getFromTree)(ast, () => true);
32
+ const violations = [];
33
+ for (const node of nodes) {
34
+ if (node && node.error === true) {
35
+ const snippet = String(node.value ?? '').trim();
36
+ violations.push({
37
+ rule: exports.SYNTAX_VALID_RULE_ID,
38
+ severity: 'warning',
39
+ message: `Line could not be parsed as a directive or block: ${snippet}`,
40
+ location: node.location,
41
+ });
42
+ }
43
+ }
44
+ return violations;
45
+ }
46
+ exports.collectRecoveredErrors = collectRecoveredErrors;
29
47
  exports.syntaxValidRule = {
30
48
  id: exports.SYNTAX_VALID_RULE_ID,
31
49
  severity: 'error',
32
- check: (_ast, _ctx) => [],
50
+ check: (ast, _ctx) => collectRecoveredErrors(ast),
33
51
  };
34
52
  //# sourceMappingURL=syntax-valid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syntax-valid.js","sourceRoot":"","sources":["../../../src/lint/rules/syntax-valid.ts"],"names":[],"mappings":";;;AAGa,QAAA,oBAAoB,GAAG,cAAc,CAAA;AAElD,SAAgB,mBAAmB,CAAC,GAAY,EAAE,QAAgB;IAChE,MAAM,CAAC,GAAG,GAAuG,CAAA;IACjH,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAA;IAChC,OAAO;QACL,IAAI,EAAE,4BAAoB;QAC1B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;QACtE,QAAQ,EAAE,CAAC,EAAE,QAAQ;YACnB,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;oBACtB,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;oBAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;iBAC3B;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;oBACtB,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;oBAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;iBAC3B;aACF;YACH,CAAC,CAAC,SAAS;KACd,CAAA;AACH,CAAC;AAtBD,kDAsBC;AAEY,QAAA,eAAe,GAAS;IACnC,EAAE,EAAE,4BAAoB;IACxB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,IAAqB,EAAE,IAAiB,EAAe,EAAE,CAAC,EAAE;CACrE,CAAA"}
1
+ {"version":3,"file":"syntax-valid.js","sourceRoot":"","sources":["../../../src/lint/rules/syntax-valid.ts"],"names":[],"mappings":";;;AAAA,4CAA8D;AAGjD,QAAA,oBAAoB,GAAG,cAAc,CAAA;AAElD,SAAgB,mBAAmB,CAAC,GAAY,EAAE,QAAgB;IAChE,MAAM,CAAC,GAAG,GAAuG,CAAA;IACjH,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAA;IAChC,OAAO;QACL,IAAI,EAAE,4BAAoB;QAC1B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;QACtE,QAAQ,EAAE,CAAC,EAAE,QAAQ;YACnB,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;oBACtB,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;oBAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;iBAC3B;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;oBACtB,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;oBAC1B,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;iBAC3B;aACF;YACH,CAAC,CAAC,SAAS;KACd,CAAA;AACH,CAAC;AAtBD,kDAsBC;AAED,SAAgB,sBAAsB,CAAC,GAAoB;IACzD,MAAM,KAAK,GAAG,IAAA,oBAAW,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAIvC,CAAA;IACF,MAAM,UAAU,GAAgB,EAAE,CAAA;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC/C,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,4BAAoB;gBAC1B,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,qDAAqD,OAAO,EAAE;gBACvE,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAA;SACH;KACF;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAnBD,wDAmBC;AAEY,QAAA,eAAe,GAAS;IACnC,EAAE,EAAE,4BAAoB;IACxB,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC,GAAoB,EAAE,IAAiB,EAAe,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC;CAC7F,CAAA"}
package/lib/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.61";
1
+ export declare const version = "0.0.63";
package/lib/version.js CHANGED
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
4
  // generated by scripts/inject-version.mjs — do not edit by hand
5
- exports.version = '0.0.61';
5
+ exports.version = '0.0.63';
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "podlite",
3
- "version": "0.0.61",
3
+ "version": "0.0.63",
4
4
  "description": "Podlite markup language parser — Markdown-compatible, with native support for diagrams, formulas, and custom blocks",
5
5
  "homepage": "https://podlite.org",
6
6
  "repository": {
@@ -64,12 +64,12 @@
64
64
  "url": "https://github.com/podlite/podlite/issues"
65
65
  },
66
66
  "dependencies": {
67
- "@podlite/diagram": "^0.0.52",
68
- "@podlite/formula": "0.0.30",
69
- "@podlite/image": "^0.0.47",
70
- "@podlite/markdown": "0.0.41",
71
- "@podlite/schema": "^0.0.48",
72
- "@podlite/toc": "0.0.41",
67
+ "@podlite/diagram": "^0.0.54",
68
+ "@podlite/formula": "0.0.32",
69
+ "@podlite/image": "^0.0.49",
70
+ "@podlite/markdown": "0.0.43",
71
+ "@podlite/schema": "^0.0.50",
72
+ "@podlite/toc": "0.0.43",
73
73
  "nanoid": "3.1.30"
74
74
  },
75
75
  "devDependencies": {