@publisle/template-sdk 0.1.2 → 0.1.3

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 CHANGED
@@ -3,7 +3,7 @@
3
3
  Publisle Research profile package.
4
4
 
5
5
  Requires Node.js 24 or later. Framework adapters also require their declared peer dependencies.
6
- This package is part of Publisle, independently versioned at `0.1.2` and published under the npm `latest` tag.
6
+ This package is part of Publisle, independently versioned at `0.1.3` and published under the npm `latest` tag.
7
7
  Frozen contract version integers are independent of npm package versions.
8
8
 
9
9
  - [Core standard](https://github.com/VoidReg/publisle/blob/main/docs/standards/README.md)
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAgC,qBAAqB;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB;AAI9E,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,KAC5B,MAAM,CAAC;IACZ,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,KAC5B,MAAM,CAAC;IACZ,QAAQ,CAAC,WAAW,CAAC,EAAE,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,KAC5B,MAAM,CAAC;CACb;AACD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,YAAY,GACpB,aAAa,CA+Wf"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAgC,qBAAqB;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB;AAI9E,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,KAC5B,MAAM,CAAC;IACZ,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,KAC5B,MAAM,CAAC;IACZ,QAAQ,CAAC,WAAW,CAAC,EAAE,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,KAC5B,MAAM,CAAC;CACb;AACD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,YAAY,GACpB,aAAa,CA0Xf"}
package/dist/render.js CHANGED
@@ -27,8 +27,11 @@ export function renderLatexArticle(article, context, profile) {
27
27
  context.bibliography,
28
28
  context.citations,
29
29
  ]);
30
+ const needsColor = /\\(?:textcolor|color|colorbox|fcolorbox)\b/u.test(scriptText);
30
31
  const needsCjk = /[\p{Script=Han}\u3000-\u303f\uff00-\uffef]/u.test(scriptText);
31
- const needsArabic = profile.direction === "rtl" || /\p{Script=Arabic}/u.test(scriptText);
32
+ const needsArabic = profile.direction === "rtl" ||
33
+ /\p{Script=Arabic}/u.test(scriptText) ||
34
+ scriptText.includes('"direction":"rtl"');
32
35
  for (const font of Object.values(fonts))
33
36
  if (!/^[\p{L}\p{N} .-]+$/u.test(font))
34
37
  throw new Error("Font names must contain letters, digits, spaces, dots or hyphens.");
@@ -152,6 +155,7 @@ export function renderLatexArticle(article, context, profile) {
152
155
  .join("");
153
156
  const abstract = [];
154
157
  const body = [];
158
+ const firstHeadingLevel = Math.min(...article.blocks.flatMap((block) => block.kind === "heading" && !block.abstract ? [block.level] : []));
155
159
  for (const block of article.blocks) {
156
160
  // Floating environments never join the abstract: a [!t] float inside the
157
161
  // abstract would be hoisted above it on the first page.
@@ -164,7 +168,7 @@ export function renderLatexArticle(article, context, profile) {
164
168
  const label = block.label ? `\\label{${latexKey(block.label)}}` : "";
165
169
  if (block.kind === "heading") {
166
170
  if (!block.abstract)
167
- target.push(`\\${block.level <= 1 ? "section" : block.level === 2 ? "subsection" : "subsubsection"}{${take(block.inlines)}}${label}`);
171
+ target.push(`\\${block.level <= firstHeadingLevel ? "section" : block.level === firstHeadingLevel + 1 ? "subsection" : "subsubsection"}{${take(block.inlines)}}${label}`);
168
172
  }
169
173
  else if (block.kind === "paragraph")
170
174
  target.push(take(block.inlines));
@@ -221,8 +225,8 @@ export function renderLatexArticle(article, context, profile) {
221
225
  \\setmainfont{${fonts.latin}}
222
226
  \\usepackage{unicode-math}
223
227
  \\setmathfont{${fonts.math}}
224
- \\usepackage[bidi=basic]{babel}
225
- ${profile.direction === "rtl" ? "\\babelprovide[import]{english}\n\\babelprovide[import,main]{arabic}" : "\\babelprovide[import,main]{english}\n\\babelprovide[import]{arabic}"}
228
+ \\usepackage${needsArabic ? "[bidi=basic]" : "[english]"}{babel}
229
+ ${needsArabic ? (profile.direction === "rtl" ? "\\babelprovide[import]{english}\n\\babelprovide[import,main]{arabic}" : "\\babelprovide[import,main]{english}\n\\babelprovide[import]{arabic}") : ""}
226
230
  ${needsArabic ? `\\babelfont[arabic]{rm}{${fonts.arabic}}` : ""}
227
231
  ${needsCjk ? `\\newfontfamily\\cjkfont{${fonts.cjk}}` : ""}
228
232
  `
@@ -253,8 +257,8 @@ ${needsCjk ? `\\newfontfamily\\cjkfont{${fonts.cjk}}` : ""}
253
257
  .map(([key, value]) => [key, text(String(value))])),
254
258
  };
255
259
  });
256
- const manuscript = `${pdfStandard ? `\\DocumentMetadata{lang=${language},pdfstandard=${pdfStandard},${pdfStandard === "ua-1" ? "pdfversion=1.7," : ""}tagging=on,tagging-setup={math/setup={mathml-AF${pdfStandard === "ua-2" ? ",mathml-SE" : ""}}}}\n` : ""}\\documentclass${profile.classOptions ? `[${profile.classOptions}]` : ""}{${profile.className}}
257
- ${unicodePreamble}\\usepackage{amsmath,${engine === "pdflatex" && profile.pdfSymbols === true ? "amssymb," : ""}graphicx,tabularx${profile.numericCitationPackage ? ",cite" : ""}}
260
+ const manuscript = `${needsColor ? "\\PassOptionsToPackage{dvipsnames,svgnames}{xcolor}\n" : ""}${pdfStandard ? `\\DocumentMetadata{lang=${language},pdfstandard=${pdfStandard},${pdfStandard === "ua-1" ? "pdfversion=1.7," : ""}tagging=on,tagging-setup={math/setup={mathml-AF${pdfStandard === "ua-2" ? ",mathml-SE" : ""}}}}\n` : ""}\\documentclass${profile.classOptions ? `[${profile.classOptions}]` : ""}{${profile.className}}
261
+ ${unicodePreamble}${needsColor ? "\\usepackage{xcolor}\n" : ""}\\usepackage{amsmath,${engine === "pdflatex" && profile.pdfSymbols === true ? "amssymb," : ""}graphicx,tabularx${profile.numericCitationPackage ? ",cite" : ""}}
258
262
  % flafter keeps floats at or after their source position, so a figure can
259
263
  % never be hoisted above the abstract region on the first page.
260
264
  \\usepackage{flafter}
@@ -265,7 +269,7 @@ ${unicodePreamble}\\usepackage{amsmath,${engine === "pdflatex" && profile.pdfSym
265
269
  ${profile.author ? profile.author(article, text) : `\\title{${text(article.title ?? "Untitled")}}\n\\author{${authors}${affiliations}}`}
266
270
  ${profile.preamble ?? ""}
267
271
  \\begin{document}
268
- ${profile.frontmatter ? profile.frontmatter(abstract.join("\n\n"), article, text) : `\\maketitle\n\\begin{abstract}\n${abstract.join("\n\n")}\n\\end{abstract}`}
272
+ ${profile.frontmatter ? profile.frontmatter(abstract.join("\n\n"), article, text) : `\\maketitle${abstract.join("\n\n").trim() ? `\n\\begin{abstract}\n${abstract.join("\n\n")}\n\\end{abstract}` : ""}`}
269
273
  ${profile.keywords?.(article.subjects ?? [], text) ?? ""}
270
274
  ${body.join("\n\n")}
271
275
  ${profile.bibliographyStyle ? (context.bibliography.length ? `${profile.automaticBibliographyStyle ? "" : `\\bibliographystyle{${profile.bibliographyStyle}}\n`}\\bibliography{references}` : "") : `\\section*{${profile.direction === "rtl" ? text("المراجع") : "References"}}\n${context.bibliography.map((item) => text(item.text)).join("\n\n")}`}
@@ -279,6 +283,7 @@ ${profile.bibliographyStyle ? (context.bibliography.length ? `${profile.automati
279
283
  ...(pdfStandard ? { pdfStandard } : {}),
280
284
  requirements: [
281
285
  "amsmath.sty",
286
+ ...(needsColor ? ["xcolor.sty"] : []),
282
287
  "flafter.sty",
283
288
  "graphicx.sty",
284
289
  "tabularx.sty",
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,14 @@
1
1
  {
2
2
  "name": "@publisle/template-sdk",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "license": "MIT",
5
+ "keywords": [
6
+ "latex",
7
+ "publisle",
8
+ "template-sdk",
9
+ "pdf-ua",
10
+ "publishing"
11
+ ],
5
12
  "type": "module",
6
13
  "sideEffects": false,
7
14
  "exports": {
@@ -12,7 +19,7 @@
12
19
  }
13
20
  },
14
21
  "dependencies": {
15
- "@publisle/schema": "^0.1.0"
22
+ "@publisle/schema": "^0.1.1"
16
23
  },
17
24
  "publishConfig": {
18
25
  "access": "public"
package/src/render.ts CHANGED
@@ -66,11 +66,16 @@ export function renderLatexArticle(
66
66
  context.bibliography,
67
67
  context.citations,
68
68
  ]);
69
+ const needsColor = /\\(?:textcolor|color|colorbox|fcolorbox)\b/u.test(
70
+ scriptText,
71
+ );
69
72
  const needsCjk = /[\p{Script=Han}\u3000-\u303f\uff00-\uffef]/u.test(
70
73
  scriptText,
71
74
  );
72
75
  const needsArabic =
73
- profile.direction === "rtl" || /\p{Script=Arabic}/u.test(scriptText);
76
+ profile.direction === "rtl" ||
77
+ /\p{Script=Arabic}/u.test(scriptText) ||
78
+ scriptText.includes('"direction":"rtl"');
74
79
  for (const font of Object.values(fonts))
75
80
  if (!/^[\p{L}\p{N} .-]+$/u.test(font))
76
81
  throw new Error(
@@ -213,6 +218,11 @@ export function renderLatexArticle(
213
218
  .join("");
214
219
  const abstract: string[] = [];
215
220
  const body: string[] = [];
221
+ const firstHeadingLevel = Math.min(
222
+ ...article.blocks.flatMap((block) =>
223
+ block.kind === "heading" && !block.abstract ? [block.level] : [],
224
+ ),
225
+ );
216
226
  for (const block of article.blocks) {
217
227
  // Floating environments never join the abstract: a [!t] float inside the
218
228
  // abstract would be hoisted above it on the first page.
@@ -227,7 +237,7 @@ export function renderLatexArticle(
227
237
  if (block.kind === "heading") {
228
238
  if (!block.abstract)
229
239
  target.push(
230
- `\\${block.level <= 1 ? "section" : block.level === 2 ? "subsection" : "subsubsection"}{${take(block.inlines)}}${label}`,
240
+ `\\${block.level <= firstHeadingLevel ? "section" : block.level === firstHeadingLevel + 1 ? "subsection" : "subsubsection"}{${take(block.inlines)}}${label}`,
231
241
  );
232
242
  } else if (block.kind === "paragraph") target.push(take(block.inlines));
233
243
  else if (block.kind === "math")
@@ -301,8 +311,8 @@ export function renderLatexArticle(
301
311
  \\setmainfont{${fonts.latin}}
302
312
  \\usepackage{unicode-math}
303
313
  \\setmathfont{${fonts.math}}
304
- \\usepackage[bidi=basic]{babel}
305
- ${profile.direction === "rtl" ? "\\babelprovide[import]{english}\n\\babelprovide[import,main]{arabic}" : "\\babelprovide[import,main]{english}\n\\babelprovide[import]{arabic}"}
314
+ \\usepackage${needsArabic ? "[bidi=basic]" : "[english]"}{babel}
315
+ ${needsArabic ? (profile.direction === "rtl" ? "\\babelprovide[import]{english}\n\\babelprovide[import,main]{arabic}" : "\\babelprovide[import,main]{english}\n\\babelprovide[import]{arabic}") : ""}
306
316
  ${needsArabic ? `\\babelfont[arabic]{rm}{${fonts.arabic}}` : ""}
307
317
  ${needsCjk ? `\\newfontfamily\\cjkfont{${fonts.cjk}}` : ""}
308
318
  `
@@ -341,8 +351,8 @@ ${needsCjk ? `\\newfontfamily\\cjkfont{${fonts.cjk}}` : ""}
341
351
  ),
342
352
  };
343
353
  });
344
- const manuscript = `${pdfStandard ? `\\DocumentMetadata{lang=${language},pdfstandard=${pdfStandard},${pdfStandard === "ua-1" ? "pdfversion=1.7," : ""}tagging=on,tagging-setup={math/setup={mathml-AF${pdfStandard === "ua-2" ? ",mathml-SE" : ""}}}}\n` : ""}\\documentclass${profile.classOptions ? `[${profile.classOptions}]` : ""}{${profile.className}}
345
- ${unicodePreamble}\\usepackage{amsmath,${engine === "pdflatex" && profile.pdfSymbols === true ? "amssymb," : ""}graphicx,tabularx${profile.numericCitationPackage ? ",cite" : ""}}
354
+ const manuscript = `${needsColor ? "\\PassOptionsToPackage{dvipsnames,svgnames}{xcolor}\n" : ""}${pdfStandard ? `\\DocumentMetadata{lang=${language},pdfstandard=${pdfStandard},${pdfStandard === "ua-1" ? "pdfversion=1.7," : ""}tagging=on,tagging-setup={math/setup={mathml-AF${pdfStandard === "ua-2" ? ",mathml-SE" : ""}}}}\n` : ""}\\documentclass${profile.classOptions ? `[${profile.classOptions}]` : ""}{${profile.className}}
355
+ ${unicodePreamble}${needsColor ? "\\usepackage{xcolor}\n" : ""}\\usepackage{amsmath,${engine === "pdflatex" && profile.pdfSymbols === true ? "amssymb," : ""}graphicx,tabularx${profile.numericCitationPackage ? ",cite" : ""}}
346
356
  % flafter keeps floats at or after their source position, so a figure can
347
357
  % never be hoisted above the abstract region on the first page.
348
358
  \\usepackage{flafter}
@@ -353,7 +363,7 @@ ${unicodePreamble}\\usepackage{amsmath,${engine === "pdflatex" && profile.pdfSym
353
363
  ${profile.author ? profile.author(article, text) : `\\title{${text(article.title ?? "Untitled")}}\n\\author{${authors}${affiliations}}`}
354
364
  ${profile.preamble ?? ""}
355
365
  \\begin{document}
356
- ${profile.frontmatter ? profile.frontmatter(abstract.join("\n\n"), article, text) : `\\maketitle\n\\begin{abstract}\n${abstract.join("\n\n")}\n\\end{abstract}`}
366
+ ${profile.frontmatter ? profile.frontmatter(abstract.join("\n\n"), article, text) : `\\maketitle${abstract.join("\n\n").trim() ? `\n\\begin{abstract}\n${abstract.join("\n\n")}\n\\end{abstract}` : ""}`}
357
367
  ${profile.keywords?.(article.subjects ?? [], text) ?? ""}
358
368
  ${body.join("\n\n")}
359
369
  ${profile.bibliographyStyle ? (context.bibliography.length ? `${profile.automaticBibliographyStyle ? "" : `\\bibliographystyle{${profile.bibliographyStyle}}\n`}\\bibliography{references}` : "") : `\\section*{${profile.direction === "rtl" ? text("المراجع") : "References"}}\n${context.bibliography.map((item) => text(item.text)).join("\n\n")}`}
@@ -367,6 +377,7 @@ ${profile.bibliographyStyle ? (context.bibliography.length ? `${profile.automati
367
377
  ...(pdfStandard ? { pdfStandard } : {}),
368
378
  requirements: [
369
379
  "amsmath.sty",
380
+ ...(needsColor ? ["xcolor.sty"] : []),
370
381
  "flafter.sty",
371
382
  "graphicx.sty",
372
383
  "tabularx.sty",