yumiamd 0.1.34 → 0.1.35

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/bin.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "./chunk-VTY4XT47.js";
4
+ } from "./chunk-FUQWTKHG.js";
5
5
 
6
6
  // src/bin.ts
7
7
  var result = await runCli(process.argv);
@@ -1814,10 +1814,10 @@ var NativeYumiaParser = class {
1814
1814
  return { element: heroEl, nextIdx };
1815
1815
  }
1816
1816
  case "callout": {
1817
- const titleMatch = tok.args.match(/title=["']([^"']+)["']/);
1818
- const sevMatch = tok.args.match(/\b(?:severity|variant)=["']?([^"'\s]+)["']?/);
1819
- const iconMatch = tok.args.match(/\bicon=["']?([^"'\s]+)["']?/);
1820
- let text = this.stripQuotes(tok.args.replace(/title=["'][^"']+["']/, "").replace(/(?:severity|variant|icon)=["']?[^"'\s]+["']?/g, ""));
1817
+ const titleVal = this.extractAttr(tok.args, "title");
1818
+ const sevVal = this.extractAttr(tok.args, "severity") ?? this.extractAttr(tok.args, "variant");
1819
+ const iconVal = this.extractAttr(tok.args, "icon");
1820
+ let text = this.stripQuotes(tok.args.replace(/\btitle=(?:"[^"]*"|'[^']*'|\S+)/g, "").replace(/\b(?:severity|variant|icon)=(?:"[^"]*"|'[^']*'|\S+)/g, ""));
1821
1821
  let nextIdx = idx + 1;
1822
1822
  if (!text) {
1823
1823
  const cLines = [];
@@ -1827,7 +1827,7 @@ var NativeYumiaParser = class {
1827
1827
  }
1828
1828
  text = cLines.join(" ");
1829
1829
  }
1830
- const calloutEl = createCallout(text || "Note", sevMatch ? sevMatch[1] : "info", titleMatch ? titleMatch[1] : void 0, iconMatch ? iconMatch[1] : void 0);
1830
+ const calloutEl = createCallout(text || "Note", sevVal ? sevVal : "info", titleVal, iconVal);
1831
1831
  calloutEl.loc = {
1832
1832
  start: { line: tok.lineNum, column: 1 },
1833
1833
  end: { line: tok.lineNum, column: tok.text.length }
@@ -1888,10 +1888,10 @@ var NativeYumiaParser = class {
1888
1888
  };
1889
1889
  }
1890
1890
  case "card": {
1891
- const titleMatch = tok.args.match(/title=["']([^"']+)["']/);
1892
- const variantMatch = tok.args.match(/variant=["']?([^"'\s]+)["']?/);
1893
- const title = titleMatch ? titleMatch[1] : this.stripQuotes(tok.args) || void 0;
1894
- const variant = variantMatch ? variantMatch[1] : "default";
1891
+ const titleVal = this.extractAttr(tok.args, "title");
1892
+ const variantVal = this.extractAttr(tok.args, "variant");
1893
+ const title = titleVal ?? (this.stripQuotes(tok.args) || void 0);
1894
+ const variant = variantVal ? variantVal : "default";
1895
1895
  const children = [];
1896
1896
  let nextIdx = idx + 1;
1897
1897
  while (nextIdx < tokens.length && tokens[nextIdx].indent > baseIndent) {
@@ -1974,14 +1974,14 @@ var NativeYumiaParser = class {
1974
1974
  };
1975
1975
  }
1976
1976
  case "metric": {
1977
- const valMatch = tok.args.match(/^(?:value=)?["']([^"']+)["']/);
1978
- const labelMatch = tok.args.match(/\blabel=["']([^"']+)["']/);
1979
- const diffMatch = tok.args.match(/\bdiff=["']([^"']+)["']/);
1980
- const variantMatch = tok.args.match(/\bvariant=["']?([^"'\s]+)["']?/);
1981
- const value = valMatch ? valMatch[1] : "0";
1982
- const label = labelMatch ? labelMatch[1] : "Metric";
1977
+ const valVal = this.extractAttr(tok.args, "value") ?? this.extractAttr(tok.args);
1978
+ const labelVal = this.extractAttr(tok.args, "label");
1979
+ const diffVal = this.extractAttr(tok.args, "diff") ?? this.extractAttr(tok.args, "change");
1980
+ const variantVal = this.extractAttr(tok.args, "variant");
1981
+ const value = valVal || "0";
1982
+ const label = labelVal || "Metric";
1983
1983
  return {
1984
- element: createMetric(value, label, variantMatch ? variantMatch[1] : "primary", void 0, void 0, diffMatch ? diffMatch[1] : void 0),
1984
+ element: createMetric(value, label, variantVal || "primary", void 0, void 0, diffVal),
1985
1985
  nextIdx: idx + 1
1986
1986
  };
1987
1987
  }
@@ -2451,10 +2451,8 @@ var NativeYumiaParser = class {
2451
2451
  return { element: classEl, nextIdx };
2452
2452
  }
2453
2453
  case "compare": {
2454
- const leftTitleMatch = tok.args.match(/\bleft(?:Title)?=["']([^"']+)["']/);
2455
- const rightTitleMatch = tok.args.match(/\bright(?:Title)?=["']([^"']+)["']/);
2456
- const leftTitle = leftTitleMatch ? leftTitleMatch[1] : void 0;
2457
- const rightTitle = rightTitleMatch ? rightTitleMatch[1] : void 0;
2454
+ const leftTitle = this.extractAttr(tok.args, "left") ?? this.extractAttr(tok.args, "leftTitle");
2455
+ const rightTitle = this.extractAttr(tok.args, "right") ?? this.extractAttr(tok.args, "rightTitle");
2458
2456
  const leftEls = [];
2459
2457
  const rightEls = [];
2460
2458
  let currentSide = "left";
@@ -2491,13 +2489,13 @@ var NativeYumiaParser = class {
2491
2489
  while (nextIdx < tokens.length && tokens[nextIdx].indent > baseIndent) {
2492
2490
  const sub = tokens[nextIdx];
2493
2491
  if (sub.command === "item") {
2494
- const dateMatch = sub.args.match(/date=["']([^"']+)["']/);
2495
- const titleMatch = sub.args.match(/title=["']([^"']+)["']/);
2496
- const descMatch = sub.args.match(/desc(?:ription)?=["']([^"']+)["']/);
2492
+ const dateVal = this.extractAttr(sub.args, "date");
2493
+ const titleVal = this.extractAttr(sub.args, "title");
2494
+ const descVal = this.extractAttr(sub.args, "desc") ?? this.extractAttr(sub.args, "description");
2497
2495
  items.push({
2498
- date: dateMatch ? dateMatch[1] : "2026",
2499
- title: titleMatch ? titleMatch[1] : "Milestone",
2500
- description: descMatch ? descMatch[1] : void 0
2496
+ date: dateVal || "2026",
2497
+ title: titleVal || "Milestone",
2498
+ description: descVal
2501
2499
  });
2502
2500
  }
2503
2501
  nextIdx++;
@@ -12061,7 +12059,7 @@ function startDevServer(filePath, options = {}) {
12061
12059
  // src/cli.ts
12062
12060
  import { mkdirSync, readFileSync as readFileSync3, watch as fsWatch, writeFileSync } from "fs";
12063
12061
  import { basename, dirname, extname, join, resolve as resolve3 } from "path";
12064
- var VERSION = "0.1.34";
12062
+ var VERSION = "0.1.35";
12065
12063
  function printHelp() {
12066
12064
  return `
12067
12065
  YumiaMD \u2014 Markdown-based presentation compiler (v${VERSION})
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export * from '@yumiamd/renderer-pptx';
9
9
  export * from '@yumiamd/renderer-html';
10
10
  export * from '@yumiamd/renderer-pdf';
11
11
 
12
- declare const VERSION = "0.1.34";
12
+ declare const VERSION = "0.1.35";
13
13
  declare function printHelp(): string;
14
14
  declare function runCli(argv: string[]): Promise<{
15
15
  exitCode: number;
package/dist/index.js CHANGED
@@ -92,7 +92,7 @@ import {
92
92
  themeSizeToPptxPoints,
93
93
  tokyoNightTheme,
94
94
  validate
95
- } from "./chunk-VTY4XT47.js";
95
+ } from "./chunk-FUQWTKHG.js";
96
96
  export {
97
97
  DEFAULT_VIEWPORT,
98
98
  DefaultLayoutEngine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yumiamd",
3
- "version": "0.1.34",
3
+ "version": "0.1.35",
4
4
  "description": "Command line interface and compiler for YumiaMD presentations",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,15 +22,15 @@
22
22
  },
23
23
  "devDependencies": {
24
24
  "tsup": "^8.5.1",
25
- "@yumiamd/ast": "0.1.34",
26
- "@yumiamd/parser": "0.1.34",
27
- "@yumiamd/layout": "0.1.34",
28
- "@yumiamd/core": "0.1.34",
29
- "@yumiamd/renderer-pdf": "0.1.34",
30
- "@yumiamd/renderer": "0.1.34",
31
- "@yumiamd/renderer-pptx": "0.1.34",
32
- "@yumiamd/renderer-html": "0.1.34",
33
- "@yumiamd/theme": "0.1.34"
25
+ "@yumiamd/ast": "0.1.35",
26
+ "@yumiamd/core": "0.1.35",
27
+ "@yumiamd/renderer-html": "0.1.35",
28
+ "@yumiamd/parser": "0.1.35",
29
+ "@yumiamd/renderer": "0.1.35",
30
+ "@yumiamd/renderer-pptx": "0.1.35",
31
+ "@yumiamd/renderer-pdf": "0.1.35",
32
+ "@yumiamd/layout": "0.1.35",
33
+ "@yumiamd/theme": "0.1.35"
34
34
  },
35
35
  "keywords": [
36
36
  "yumia",