@ox-content/napi 3.0.0-alpha.10 → 3.0.0-alpha.11
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/index.d.ts +386 -1
- package/index.js +11 -0
- package/package.json +8 -8
package/index.d.ts
CHANGED
|
@@ -149,6 +149,12 @@ export declare function extractSsgTitle(content: string, frontmatterTitle?: stri
|
|
|
149
149
|
*/
|
|
150
150
|
export declare function extractTranslationKeys(source: string, filePath: string, functionNames?: Array<string> | undefined | null): Array<I18NKeyUsage>
|
|
151
151
|
|
|
152
|
+
/**
|
|
153
|
+
* Extracts a YouTube video id from a bare id or a watch / share / embed /
|
|
154
|
+
* shorts URL, returning `null` when the input names no video.
|
|
155
|
+
*/
|
|
156
|
+
export declare function extractYoutubeVideoId(input: string): string | null
|
|
157
|
+
|
|
152
158
|
/** Formats a file or directory segment as an SSG title. */
|
|
153
159
|
export declare function formatSsgTitle(name: string): string
|
|
154
160
|
|
|
@@ -172,6 +178,9 @@ export declare function generateDocsNavMetadata(files: Array<string>, basePath?:
|
|
|
172
178
|
*/
|
|
173
179
|
export declare function generateDocsNavMetadataFromDocs(docs: Array<JsDocsMarkdownModule>, options?: JsDocsNavOptions | undefined | null): Array<JsDocsNavItem>
|
|
174
180
|
|
|
181
|
+
/** Builds RSS / Atom / JSON Feed bodies without writing files. */
|
|
182
|
+
export declare function generateFeedBodies(options: JsFeedsOptions, items: Array<JsFeedItem>): JsFeedsOutput
|
|
183
|
+
|
|
175
184
|
/** Generates the `virtual:ox-content/i18n` runtime module. */
|
|
176
185
|
export declare function generateI18nModule(dictDir: string, config: JsI18NRuntimeConfig): string
|
|
177
186
|
|
|
@@ -192,6 +201,9 @@ export declare function generateSearchModule(optionsJson: string, indexPath: str
|
|
|
192
201
|
/** Generates the client-side search runtime module from typed options. */
|
|
193
202
|
export declare function generateSearchModuleFromOptions(options: JsSearchRuntimeOptions, indexPath: string): string
|
|
194
203
|
|
|
204
|
+
/** Builds `sitemap.xml`, `robots.txt`, and `llms.txt` bodies without writing files. */
|
|
205
|
+
export declare function generateSiteMapBodies(options: JsSiteMapsOptions, pages: Array<JsSiteMapPage>): JsSiteMapsOutput
|
|
206
|
+
|
|
195
207
|
/** Generates a bare SSG HTML page without navigation or styles. */
|
|
196
208
|
export declare function generateSsgBareHtml(content: string, title: string): string
|
|
197
209
|
|
|
@@ -332,6 +344,9 @@ export interface IncrementalMarkdownRenderResult {
|
|
|
332
344
|
errors: Array<string>
|
|
333
345
|
}
|
|
334
346
|
|
|
347
|
+
/** Same-origin path check: leading `/`, not `//`, and no scheme. */
|
|
348
|
+
export declare function isSafeRedirectDest(value: string): boolean
|
|
349
|
+
|
|
335
350
|
/** Opt-in skip link and print styles. Presence of the object enables the feature. */
|
|
336
351
|
export interface JsA11y {
|
|
337
352
|
/** Override for the skip-link label. Empty / omitted uses "Skip to content". */
|
|
@@ -487,6 +502,22 @@ export interface JsCollectionDefinition {
|
|
|
487
502
|
include: Array<string>
|
|
488
503
|
}
|
|
489
504
|
|
|
505
|
+
/** Opt-in static `::: if` / `::: else` conditional blocks. */
|
|
506
|
+
export interface JsConditionalBlockOptions {
|
|
507
|
+
/**
|
|
508
|
+
* Enable conditional block evaluation.
|
|
509
|
+
*
|
|
510
|
+
* Default: `true` when the options object is supplied.
|
|
511
|
+
*/
|
|
512
|
+
enabled?: boolean
|
|
513
|
+
/**
|
|
514
|
+
* Build-time values available as `config.*` or bare identifiers.
|
|
515
|
+
*
|
|
516
|
+
* Default: `{}`.
|
|
517
|
+
*/
|
|
518
|
+
values?: Record<string, any>
|
|
519
|
+
}
|
|
520
|
+
|
|
490
521
|
/** Opt-in `::: tip` custom containers. */
|
|
491
522
|
export interface JsContainerOptions {
|
|
492
523
|
/**
|
|
@@ -507,6 +538,49 @@ export interface JsContainerTypeOptions {
|
|
|
507
538
|
tag?: string
|
|
508
539
|
}
|
|
509
540
|
|
|
541
|
+
/** One rule the document broke. */
|
|
542
|
+
export interface JsCrossReferenceDiagnostic {
|
|
543
|
+
/** `"error"` or `"warn"`, as the options asked. */
|
|
544
|
+
policy: string
|
|
545
|
+
message: string
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
/** One numbered target the document defines. */
|
|
549
|
+
export interface JsCrossReferenceEntry {
|
|
550
|
+
id: string
|
|
551
|
+
/** `"figure"`, `"table"`, or `"section"`. */
|
|
552
|
+
kind: string
|
|
553
|
+
number: string
|
|
554
|
+
label: string
|
|
555
|
+
text: string
|
|
556
|
+
href: string
|
|
557
|
+
title?: string
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
/** The word placed before each number, per kind. */
|
|
561
|
+
export interface JsCrossReferenceLabels {
|
|
562
|
+
figure?: string
|
|
563
|
+
table?: string
|
|
564
|
+
section?: string
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
/** The annotated HTML, what it defined, and what it got wrong. */
|
|
568
|
+
export interface JsCrossReferenceOutput {
|
|
569
|
+
html: string
|
|
570
|
+
references: Array<JsCrossReferenceEntry>
|
|
571
|
+
diagnostics: Array<JsCrossReferenceDiagnostic>
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
/** Switches and labels for the cross-reference pass. */
|
|
575
|
+
export interface JsCrossReferencesOptions {
|
|
576
|
+
enabled: boolean
|
|
577
|
+
/** `"warn"` reports and carries on; anything else fails the build. */
|
|
578
|
+
missing?: string
|
|
579
|
+
duplicates?: string
|
|
580
|
+
mismatches?: string
|
|
581
|
+
labels?: JsCrossReferenceLabels
|
|
582
|
+
}
|
|
583
|
+
|
|
510
584
|
/** Opt-in static `csv-table` / `json-table` fences. */
|
|
511
585
|
export interface JsDataTableOptions {
|
|
512
586
|
/**
|
|
@@ -824,6 +898,24 @@ export interface JsEditThisPageOptions {
|
|
|
824
898
|
label?: string
|
|
825
899
|
}
|
|
826
900
|
|
|
901
|
+
/**
|
|
902
|
+
* Transform opt-in static media embed components in already-rendered HTML.
|
|
903
|
+
* One tag an enabled provider refused, and what the transform did instead.
|
|
904
|
+
*/
|
|
905
|
+
export interface JsEmbedDiagnostic {
|
|
906
|
+
/** Tag name as the provider registers it, for example `speakerdeck`. */
|
|
907
|
+
provider: string
|
|
908
|
+
/** The URL the tag carried, when it carried one worth naming. */
|
|
909
|
+
url?: string
|
|
910
|
+
/** 1-based line of the opening tag in the transformed HTML. */
|
|
911
|
+
line: number
|
|
912
|
+
/**
|
|
913
|
+
* `"linked"` when the tag became a plain link, `"kept"` when its markup
|
|
914
|
+
* was left as authored.
|
|
915
|
+
*/
|
|
916
|
+
fallback: string
|
|
917
|
+
}
|
|
918
|
+
|
|
827
919
|
/** Emoji-shortcode transform options. */
|
|
828
920
|
export interface JsEmojiShortcodeOptions {
|
|
829
921
|
/**
|
|
@@ -934,6 +1026,65 @@ export interface JsFeatureConfig {
|
|
|
934
1026
|
linkText?: string
|
|
935
1027
|
}
|
|
936
1028
|
|
|
1029
|
+
/** A file carried alongside a feed item. */
|
|
1030
|
+
export interface JsFeedAttachment {
|
|
1031
|
+
url: string
|
|
1032
|
+
mimeType?: string
|
|
1033
|
+
title?: string
|
|
1034
|
+
sizeInBytes?: number
|
|
1035
|
+
durationInSeconds?: number
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
/** A person credited on a feed item. */
|
|
1039
|
+
export interface JsFeedAuthor {
|
|
1040
|
+
name: string
|
|
1041
|
+
url?: string
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
/** One collection entry considered for a feed. */
|
|
1045
|
+
export interface JsFeedItem {
|
|
1046
|
+
title: string
|
|
1047
|
+
description?: string
|
|
1048
|
+
loc: string
|
|
1049
|
+
date?: string
|
|
1050
|
+
lastUpdated?: string
|
|
1051
|
+
draft?: boolean
|
|
1052
|
+
unlisted?: boolean
|
|
1053
|
+
content?: string
|
|
1054
|
+
id?: string
|
|
1055
|
+
authors?: Array<JsFeedAuthor>
|
|
1056
|
+
image?: string
|
|
1057
|
+
attachments?: Array<JsFeedAttachment>
|
|
1058
|
+
language?: string
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
/** Switches and site metadata for feed generation. */
|
|
1062
|
+
export interface JsFeedsOptions {
|
|
1063
|
+
enabled: boolean
|
|
1064
|
+
siteUrl?: string
|
|
1065
|
+
siteName: string
|
|
1066
|
+
siteDescription?: string
|
|
1067
|
+
homePageUrl: string
|
|
1068
|
+
rssUrl: string
|
|
1069
|
+
atomUrl: string
|
|
1070
|
+
jsonUrl: string
|
|
1071
|
+
/** Any of `"rss"`, `"atom"`, `"json"`. Unknown names are ignored. */
|
|
1072
|
+
formats: Array<string>
|
|
1073
|
+
limit: number
|
|
1074
|
+
language?: string
|
|
1075
|
+
image?: string
|
|
1076
|
+
favicon?: string
|
|
1077
|
+
copyright?: string
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
/** Generated feed bodies, or a warning when generation is skipped. */
|
|
1081
|
+
export interface JsFeedsOutput {
|
|
1082
|
+
rssXml?: string
|
|
1083
|
+
atomXml?: string
|
|
1084
|
+
jsonFeed?: string
|
|
1085
|
+
warning?: string
|
|
1086
|
+
}
|
|
1087
|
+
|
|
937
1088
|
/** Opt-in static `file-tree` fences. */
|
|
938
1089
|
export interface JsFileTreeOptions {
|
|
939
1090
|
/**
|
|
@@ -1384,6 +1535,78 @@ export interface JsMediaEmbedsOptions {
|
|
|
1384
1535
|
* Default: `false`.
|
|
1385
1536
|
*/
|
|
1386
1537
|
bluesky?: boolean
|
|
1538
|
+
/**
|
|
1539
|
+
* Render `<GoogleMaps>` static place cards.
|
|
1540
|
+
*
|
|
1541
|
+
* Default: `false`.
|
|
1542
|
+
*/
|
|
1543
|
+
googleMaps?: boolean
|
|
1544
|
+
/**
|
|
1545
|
+
* Render `<Qiita>` static article cards.
|
|
1546
|
+
*
|
|
1547
|
+
* Default: `false`.
|
|
1548
|
+
*/
|
|
1549
|
+
qiita?: boolean
|
|
1550
|
+
/**
|
|
1551
|
+
* Render `<Zenn>` static article cards.
|
|
1552
|
+
*
|
|
1553
|
+
* Default: `false`.
|
|
1554
|
+
*/
|
|
1555
|
+
zenn?: boolean
|
|
1556
|
+
/**
|
|
1557
|
+
* Render package registry cards for npm, crates.io, PyPI, and Docker Hub.
|
|
1558
|
+
*
|
|
1559
|
+
* Default: `false`.
|
|
1560
|
+
*/
|
|
1561
|
+
packageRegistry?: boolean
|
|
1562
|
+
/**
|
|
1563
|
+
* Render `<CodePen>`, `<JSFiddle>`, and `<Observable>` playground cards.
|
|
1564
|
+
*
|
|
1565
|
+
* Default: `false`.
|
|
1566
|
+
*/
|
|
1567
|
+
playgrounds?: boolean
|
|
1568
|
+
/**
|
|
1569
|
+
* Render `<Vimeo>` video cards.
|
|
1570
|
+
*
|
|
1571
|
+
* Default: `false`.
|
|
1572
|
+
*/
|
|
1573
|
+
vimeo?: boolean
|
|
1574
|
+
/**
|
|
1575
|
+
* Render `<Twitch>` video, clip, and channel cards.
|
|
1576
|
+
*
|
|
1577
|
+
* Default: `false`.
|
|
1578
|
+
*/
|
|
1579
|
+
twitch?: boolean
|
|
1580
|
+
/**
|
|
1581
|
+
* Render `<Discord>` static invite/message cards.
|
|
1582
|
+
*
|
|
1583
|
+
* Default: `false`.
|
|
1584
|
+
*/
|
|
1585
|
+
discord?: boolean
|
|
1586
|
+
/**
|
|
1587
|
+
* Render `<Fediverse>`, `<Mastodon>`, `<Misskey>`, and `<Mixi2>` static post cards.
|
|
1588
|
+
*
|
|
1589
|
+
* Default: `false`.
|
|
1590
|
+
*/
|
|
1591
|
+
fediverse?: boolean
|
|
1592
|
+
/**
|
|
1593
|
+
* Render `<Facebook>` static post cards.
|
|
1594
|
+
*
|
|
1595
|
+
* Default: `false`.
|
|
1596
|
+
*/
|
|
1597
|
+
facebook?: boolean
|
|
1598
|
+
/**
|
|
1599
|
+
* Render `<Threads>` static post cards.
|
|
1600
|
+
*
|
|
1601
|
+
* Default: `false`.
|
|
1602
|
+
*/
|
|
1603
|
+
threads?: boolean
|
|
1604
|
+
/**
|
|
1605
|
+
* Render `<Instagram>` static post cards.
|
|
1606
|
+
*
|
|
1607
|
+
* Default: `false`.
|
|
1608
|
+
*/
|
|
1609
|
+
instagram?: boolean
|
|
1387
1610
|
/**
|
|
1388
1611
|
* Render `<WebContainer>` lazy placeholder blocks.
|
|
1389
1612
|
*
|
|
@@ -1404,6 +1627,12 @@ export interface JsMediaEmbedsOptions {
|
|
|
1404
1627
|
video?: boolean
|
|
1405
1628
|
}
|
|
1406
1629
|
|
|
1630
|
+
/** Rewritten HTML plus every tag an enabled provider refused. */
|
|
1631
|
+
export interface JsMediaEmbedsResult {
|
|
1632
|
+
html: string
|
|
1633
|
+
diagnostics: Array<JsEmbedDiagnostic>
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1407
1636
|
/** Opt-in `<NotByAI />` authorship badge. */
|
|
1408
1637
|
export interface JsNotByAiOptions {
|
|
1409
1638
|
/**
|
|
@@ -1488,6 +1717,31 @@ export interface JsPagerOverride {
|
|
|
1488
1717
|
href?: string
|
|
1489
1718
|
}
|
|
1490
1719
|
|
|
1720
|
+
/**
|
|
1721
|
+
* A feed date after parsing: the instant, its civil parts in UTC, and the two
|
|
1722
|
+
* serializations the feed formats ask for.
|
|
1723
|
+
*/
|
|
1724
|
+
export interface JsParsedFeedDate {
|
|
1725
|
+
/** Seconds since the Unix epoch. */
|
|
1726
|
+
unix: number
|
|
1727
|
+
/** Civil year in UTC. */
|
|
1728
|
+
year: number
|
|
1729
|
+
/** Civil month, 1-12. */
|
|
1730
|
+
month: number
|
|
1731
|
+
/** Civil day of month, 1-31. */
|
|
1732
|
+
day: number
|
|
1733
|
+
/** Hour, 0-23. */
|
|
1734
|
+
hour: number
|
|
1735
|
+
/** Minute, 0-59. */
|
|
1736
|
+
minute: number
|
|
1737
|
+
/** Second, 0-60. */
|
|
1738
|
+
second: number
|
|
1739
|
+
/** `YYYY-MM-DDTHH:MM:SSZ`, as Atom and JSON Feed want it. */
|
|
1740
|
+
rfc3339: string
|
|
1741
|
+
/** `Day, DD Mon YYYY HH:MM:SS +0000`, as RSS wants it. */
|
|
1742
|
+
rfc822: string
|
|
1743
|
+
}
|
|
1744
|
+
|
|
1491
1745
|
/**
|
|
1492
1746
|
* Parser options for JavaScript.
|
|
1493
1747
|
*
|
|
@@ -1632,12 +1886,63 @@ export interface JsReaderChrome {
|
|
|
1632
1886
|
backToTop?: boolean
|
|
1633
1887
|
}
|
|
1634
1888
|
|
|
1889
|
+
/** One planned static HTML redirect. */
|
|
1890
|
+
export interface JsRedirectEntry {
|
|
1891
|
+
from: string
|
|
1892
|
+
to: string
|
|
1893
|
+
html: string
|
|
1894
|
+
relativePath: string
|
|
1895
|
+
}
|
|
1896
|
+
|
|
1897
|
+
/** One entry of the config rewrite map, in author order. */
|
|
1898
|
+
export interface JsRedirectMapEntry {
|
|
1899
|
+
from: string
|
|
1900
|
+
to: string
|
|
1901
|
+
}
|
|
1902
|
+
|
|
1903
|
+
/** One page that other paths can redirect to. */
|
|
1904
|
+
export interface JsRedirectPage {
|
|
1905
|
+
dest: string
|
|
1906
|
+
aliases?: Array<string>
|
|
1907
|
+
redirect?: string
|
|
1908
|
+
}
|
|
1909
|
+
|
|
1910
|
+
/** Switches and the config rewrite map. */
|
|
1911
|
+
export interface JsRedirectsOptions {
|
|
1912
|
+
enabled: boolean
|
|
1913
|
+
map: Array<JsRedirectMapEntry>
|
|
1914
|
+
netlify: boolean
|
|
1915
|
+
headers: boolean
|
|
1916
|
+
json: boolean
|
|
1917
|
+
allowExternal: boolean
|
|
1918
|
+
html: boolean
|
|
1919
|
+
base?: string
|
|
1920
|
+
}
|
|
1921
|
+
|
|
1922
|
+
/** Planned redirect pages and optional host files. */
|
|
1923
|
+
export interface JsRedirectsOutput {
|
|
1924
|
+
pages: Array<JsRedirectEntry>
|
|
1925
|
+
netlify?: string
|
|
1926
|
+
headers?: string
|
|
1927
|
+
json?: string
|
|
1928
|
+
}
|
|
1929
|
+
|
|
1635
1930
|
/** Resolved source module. */
|
|
1636
1931
|
export interface JsResolvedModule {
|
|
1637
1932
|
path: string
|
|
1638
1933
|
exports: Array<JsPublicExport>
|
|
1639
1934
|
}
|
|
1640
1935
|
|
|
1936
|
+
/** One page after cascade and optional permalink / slug rewriting. */
|
|
1937
|
+
export interface JsResolvedSsgRoutePage {
|
|
1938
|
+
/** Source path relative to the content root. */
|
|
1939
|
+
source: string
|
|
1940
|
+
/** Resolved URL path. */
|
|
1941
|
+
urlPath: string
|
|
1942
|
+
/** Frontmatter after cascade fills. */
|
|
1943
|
+
frontmatter: Record<string, unknown>
|
|
1944
|
+
}
|
|
1945
|
+
|
|
1641
1946
|
/** HTML sanitizer options. */
|
|
1642
1947
|
export interface JsSanitizeOptions {
|
|
1643
1948
|
/**
|
|
@@ -1696,6 +2001,8 @@ export interface JsSearchIndexBuildOptions {
|
|
|
1696
2001
|
publishState?: JsPublishStateOptions
|
|
1697
2002
|
/** Explicit MDX parser override. When omitted, `.mdx` files enable MDX. */
|
|
1698
2003
|
mdx?: boolean
|
|
2004
|
+
/** Conditional blocks are resolved before extracting searchable content. */
|
|
2005
|
+
conditionalBlocks?: JsConditionalBlockOptions
|
|
1699
2006
|
}
|
|
1700
2007
|
|
|
1701
2008
|
/** Search options for JavaScript. */
|
|
@@ -1752,6 +2059,36 @@ export interface JsSectionIndexItem {
|
|
|
1752
2059
|
description?: string
|
|
1753
2060
|
}
|
|
1754
2061
|
|
|
2062
|
+
/** One page considered for the crawl manifests. */
|
|
2063
|
+
export interface JsSiteMapPage {
|
|
2064
|
+
loc: string
|
|
2065
|
+
title: string
|
|
2066
|
+
description?: string
|
|
2067
|
+
/** Source-file git commit time in milliseconds. `None` omits `<lastmod>`. */
|
|
2068
|
+
lastUpdated?: number
|
|
2069
|
+
draft?: boolean
|
|
2070
|
+
unlisted?: boolean
|
|
2071
|
+
}
|
|
2072
|
+
|
|
2073
|
+
/** Switches and site metadata for crawl-manifest generation. */
|
|
2074
|
+
export interface JsSiteMapsOptions {
|
|
2075
|
+
enabled: boolean
|
|
2076
|
+
siteUrl?: string
|
|
2077
|
+
sitemapLoc: string
|
|
2078
|
+
siteName: string
|
|
2079
|
+
siteDescription?: string
|
|
2080
|
+
robots: boolean
|
|
2081
|
+
llms: boolean
|
|
2082
|
+
}
|
|
2083
|
+
|
|
2084
|
+
/** Generated crawl-manifest bodies, or a warning when generation is skipped. */
|
|
2085
|
+
export interface JsSiteMapsOutput {
|
|
2086
|
+
sitemapXml?: string
|
|
2087
|
+
robotsTxt?: string
|
|
2088
|
+
llmsTxt?: string
|
|
2089
|
+
warning?: string
|
|
2090
|
+
}
|
|
2091
|
+
|
|
1755
2092
|
/** Custom social link for JavaScript. */
|
|
1756
2093
|
export interface JsSocialLink {
|
|
1757
2094
|
/** Icon label. */
|
|
@@ -2002,6 +2339,24 @@ export interface JsSsgPageData {
|
|
|
2002
2339
|
markdownSource?: string
|
|
2003
2340
|
}
|
|
2004
2341
|
|
|
2342
|
+
/** Resolved page routes plus collision and rejection diagnostics. */
|
|
2343
|
+
export interface JsSsgPageRouteOutput {
|
|
2344
|
+
/** Pages that still have a unique URL. */
|
|
2345
|
+
pages: Array<JsResolvedSsgRoutePage>
|
|
2346
|
+
/** Human-readable collision and rejection messages. */
|
|
2347
|
+
errors: Array<string>
|
|
2348
|
+
}
|
|
2349
|
+
|
|
2350
|
+
/** One page considered for cascade and permalink resolution. */
|
|
2351
|
+
export interface JsSsgRoutePageInput {
|
|
2352
|
+
/** Source path relative to the content root. */
|
|
2353
|
+
source: string
|
|
2354
|
+
/** File-tree URL before permalink or slug rewriting. */
|
|
2355
|
+
fileUrl: string
|
|
2356
|
+
/** Parsed frontmatter object. */
|
|
2357
|
+
frontmatter: Record<string, unknown>
|
|
2358
|
+
}
|
|
2359
|
+
|
|
2005
2360
|
/** Resolved SSG output and public route paths. */
|
|
2006
2361
|
export interface JsSsgRoutePaths {
|
|
2007
2362
|
/** HTML output file path. */
|
|
@@ -2534,6 +2889,12 @@ export interface JsTransformOptions {
|
|
|
2534
2889
|
* Default: disabled.
|
|
2535
2890
|
*/
|
|
2536
2891
|
timelines?: JsTimelineOptions
|
|
2892
|
+
/**
|
|
2893
|
+
* Opt-in static `::: if` / `::: else` conditional blocks.
|
|
2894
|
+
*
|
|
2895
|
+
* Default: disabled.
|
|
2896
|
+
*/
|
|
2897
|
+
conditionalBlocks?: JsConditionalBlockOptions
|
|
2537
2898
|
/**
|
|
2538
2899
|
* Opt-in `::: card` / `::: link-card` / `::: card-grid` blocks.
|
|
2539
2900
|
*
|
|
@@ -2683,6 +3044,9 @@ export interface Mf2ValidateResult {
|
|
|
2683
3044
|
/** Every language name and alias the native highlighter answers to. */
|
|
2684
3045
|
export declare function nativeHighlightLanguages(): Array<string>
|
|
2685
3046
|
|
|
3047
|
+
/** Strips a trailing slash except for `/`. Unsafe values return `None`. */
|
|
3048
|
+
export declare function normalizeRedirectPath(value: string): string | null
|
|
3049
|
+
|
|
2686
3050
|
/** Normalizes VitePress-specific frontmatter into ox-content's entry-page shape. */
|
|
2687
3051
|
export declare function normalizeVitePressFrontmatter(frontmatter: any): any
|
|
2688
3052
|
|
|
@@ -2699,6 +3063,13 @@ export declare function parseAndRender(source: string, options?: JsParserOptions
|
|
|
2699
3063
|
/** Parses Markdown and renders to HTML asynchronously (runs on worker thread). */
|
|
2700
3064
|
export declare function parseAndRenderAsync(source: string, options?: JsParserOptions | undefined | null): Promise<unknown>
|
|
2701
3065
|
|
|
3066
|
+
/**
|
|
3067
|
+
* Parses a feed date — an epoch seconds/milliseconds integer, or a civil
|
|
3068
|
+
* date-time with an optional zone offset — returning `null` when the value
|
|
3069
|
+
* names no instant.
|
|
3070
|
+
*/
|
|
3071
|
+
export declare function parseFeedDate(value?: string | undefined | null): JsParsedFeedDate | null
|
|
3072
|
+
|
|
2702
3073
|
/** Parses Markdown source into a raw mdast memory block for JavaScript-side deserialization. */
|
|
2703
3074
|
export declare function parseMdastRaw(source: string, options?: JsParserOptions | undefined | null): Uint8Array
|
|
2704
3075
|
|
|
@@ -2721,6 +3092,9 @@ export declare function parseScopedSearchQuery(query: string): JsScopedSearchQue
|
|
|
2721
3092
|
*/
|
|
2722
3093
|
export declare function parseTransferRaw(source: string, kind: string, options?: JsParserOptions | undefined | null): Uint8Array
|
|
2723
3094
|
|
|
3095
|
+
/** Plans redirect pages and host files without writing anything. */
|
|
3096
|
+
export declare function planRedirects(options: JsRedirectsOptions, pages: Array<JsRedirectPage>): JsRedirectsOutput
|
|
3097
|
+
|
|
2724
3098
|
/** Prepared Markdown source with parsed frontmatter. */
|
|
2725
3099
|
export interface PreparedSourceResult {
|
|
2726
3100
|
/** Markdown content after optional frontmatter removal. */
|
|
@@ -2756,6 +3130,9 @@ export declare function renderFrameworkComponentCode(html: string, target: strin
|
|
|
2756
3130
|
/** Resolve Unhead-compatible page-head descriptors to HTML. */
|
|
2757
3131
|
export declare function renderHead(inputJson: string): JsSsgHtmlResult
|
|
2758
3132
|
|
|
3133
|
+
/** Static HTML redirect body. `dest` is escaped; callers still validate it. */
|
|
3134
|
+
export declare function renderRedirectHtml(dest: string): string
|
|
3135
|
+
|
|
2759
3136
|
/** Render result containing the HTML output. */
|
|
2760
3137
|
export interface RenderResult {
|
|
2761
3138
|
/** The rendered HTML. */
|
|
@@ -2770,6 +3147,9 @@ export declare function renderSsgSectionIndex(title: string, items: Array<JsSect
|
|
|
2770
3147
|
/** Resolves manual SSG navigation groups. */
|
|
2771
3148
|
export declare function resolveSsgNavigationGroups(navigation: Array<JsSsgNavigationGroup>, base: string, extension: string): Array<JsSsgNavGroup>
|
|
2772
3149
|
|
|
3150
|
+
/** Resolves permalink / slug routes and `_index` frontmatter cascade. */
|
|
3151
|
+
export declare function resolveSsgPageRoutes(pages: Array<JsSsgRoutePageInput>, permalinksEnabled: boolean, cascadeEnabled: boolean): JsSsgPageRouteOutput
|
|
3152
|
+
|
|
2773
3153
|
/** Resolves all output and public route paths for an SSG page. */
|
|
2774
3154
|
export declare function resolveSsgRoutePaths(inputPath: string, srcDir: string, outDir: string, base: string, extension: string, siteUrl?: string | undefined | null): JsSsgRoutePaths
|
|
2775
3155
|
|
|
@@ -2809,6 +3189,9 @@ export declare function transform(source: string, options?: JsTransformOptions |
|
|
|
2809
3189
|
/** Transforms Markdown source asynchronously (runs on worker thread). */
|
|
2810
3190
|
export declare function transformAsync(source: string, options?: JsTransformOptions | undefined | null): Promise<unknown>
|
|
2811
3191
|
|
|
3192
|
+
/** Numbers headings, figures, and tables, and links `@id` references to them. */
|
|
3193
|
+
export declare function transformCrossReferences(html: string, options: JsCrossReferencesOptions): JsCrossReferenceOutput
|
|
3194
|
+
|
|
2812
3195
|
/**
|
|
2813
3196
|
* Transforms Markdown into a raw mdast transfer buffer.
|
|
2814
3197
|
*
|
|
@@ -2817,9 +3200,11 @@ export declare function transformAsync(source: string, options?: JsTransformOpti
|
|
|
2817
3200
|
*/
|
|
2818
3201
|
export declare function transformMdastRaw(source: string, options?: JsTransformOptions | undefined | null): Uint8Array
|
|
2819
3202
|
|
|
2820
|
-
/** Transform opt-in static media embed components in already-rendered HTML. */
|
|
2821
3203
|
export declare function transformMediaEmbeds(html: string, options?: JsMediaEmbedsOptions | undefined | null): string
|
|
2822
3204
|
|
|
3205
|
+
/** Rewrites embeds and reports the tags no provider would render. */
|
|
3206
|
+
export declare function transformMediaEmbedsWithDiagnostics(html: string, options?: JsMediaEmbedsOptions | undefined | null): JsMediaEmbedsResult
|
|
3207
|
+
|
|
2823
3208
|
/** Transforms mermaid code blocks in HTML to rendered SVG diagrams. */
|
|
2824
3209
|
export declare function transformMermaid(html: string, mmdcPath: string): MermaidTransformResult
|
|
2825
3210
|
|
package/index.js
CHANGED
|
@@ -173,9 +173,11 @@ module.exports.transformAsync = binding.transformAsync;
|
|
|
173
173
|
module.exports.transformMdastRaw = binding.transformMdastRaw;
|
|
174
174
|
module.exports.sanitizeHtml = binding.sanitizeHtml;
|
|
175
175
|
module.exports.transformMediaEmbeds = binding.transformMediaEmbeds;
|
|
176
|
+
module.exports.transformMediaEmbedsWithDiagnostics = binding.transformMediaEmbedsWithDiagnostics;
|
|
176
177
|
module.exports.transformPmEmbeds = binding.transformPmEmbeds;
|
|
177
178
|
module.exports.transformTabsEmbeds = binding.transformTabsEmbeds;
|
|
178
179
|
module.exports.transformYoutubeEmbeds = binding.transformYoutubeEmbeds;
|
|
180
|
+
module.exports.extractYoutubeVideoId = binding.extractYoutubeVideoId;
|
|
179
181
|
module.exports.extractCodeBlocks = binding.extractCodeBlocks;
|
|
180
182
|
module.exports.lintCodeBlocks = binding.lintCodeBlocks;
|
|
181
183
|
module.exports.extractDocsTests = binding.extractDocsTests;
|
|
@@ -221,6 +223,7 @@ module.exports.nativeHighlightLanguages = binding.nativeHighlightLanguages;
|
|
|
221
223
|
module.exports.generateSsgBarePage = binding.generateSsgBarePage;
|
|
222
224
|
module.exports.getGitLastUpdated = binding.getGitLastUpdated;
|
|
223
225
|
module.exports.getGitContributors = binding.getGitContributors;
|
|
226
|
+
module.exports.resolveSsgPageRoutes = binding.resolveSsgPageRoutes;
|
|
224
227
|
module.exports.resolveSsgRoutePaths = binding.resolveSsgRoutePaths;
|
|
225
228
|
module.exports.getSsgOutputPath = binding.getSsgOutputPath;
|
|
226
229
|
module.exports.getSsgUrlPath = binding.getSsgUrlPath;
|
|
@@ -243,4 +246,12 @@ module.exports.checkI18nProject = binding.checkI18nProject;
|
|
|
243
246
|
module.exports.extractTranslationKeys = binding.extractTranslationKeys;
|
|
244
247
|
module.exports.renderFrameworkComponentCode = binding.renderFrameworkComponentCode;
|
|
245
248
|
module.exports.renderSsgSectionIndex = binding.renderSsgSectionIndex;
|
|
249
|
+
module.exports.parseFeedDate = binding.parseFeedDate;
|
|
250
|
+
module.exports.generateFeedBodies = binding.generateFeedBodies;
|
|
251
|
+
module.exports.transformCrossReferences = binding.transformCrossReferences;
|
|
252
|
+
module.exports.planRedirects = binding.planRedirects;
|
|
253
|
+
module.exports.renderRedirectHtml = binding.renderRedirectHtml;
|
|
254
|
+
module.exports.isSafeRedirectDest = binding.isSafeRedirectDest;
|
|
255
|
+
module.exports.normalizeRedirectPath = binding.normalizeRedirectPath;
|
|
256
|
+
module.exports.generateSiteMapBodies = binding.generateSiteMapBodies;
|
|
246
257
|
module.exports.escapeSvelteMarkup = binding.escapeSvelteMarkup;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ox-content/napi",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.11",
|
|
4
4
|
"description": "Node.js bindings for Ox Content - High-performance Markdown parser",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"markdown",
|
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
]
|
|
48
48
|
},
|
|
49
49
|
"optionalDependencies": {
|
|
50
|
-
"@ox-content/binding-darwin-x64": "3.0.0-alpha.
|
|
51
|
-
"@ox-content/binding-darwin-arm64": "3.0.0-alpha.
|
|
52
|
-
"@ox-content/binding-linux-x64-gnu": "3.0.0-alpha.
|
|
53
|
-
"@ox-content/binding-linux-x64-musl": "3.0.0-alpha.
|
|
54
|
-
"@ox-content/binding-linux-arm64-gnu": "3.0.0-alpha.
|
|
55
|
-
"@ox-content/binding-linux-arm64-musl": "3.0.0-alpha.
|
|
56
|
-
"@ox-content/binding-win32-x64-msvc": "3.0.0-alpha.
|
|
50
|
+
"@ox-content/binding-darwin-x64": "3.0.0-alpha.11",
|
|
51
|
+
"@ox-content/binding-darwin-arm64": "3.0.0-alpha.11",
|
|
52
|
+
"@ox-content/binding-linux-x64-gnu": "3.0.0-alpha.11",
|
|
53
|
+
"@ox-content/binding-linux-x64-musl": "3.0.0-alpha.11",
|
|
54
|
+
"@ox-content/binding-linux-arm64-gnu": "3.0.0-alpha.11",
|
|
55
|
+
"@ox-content/binding-linux-arm64-musl": "3.0.0-alpha.11",
|
|
56
|
+
"@ox-content/binding-win32-x64-msvc": "3.0.0-alpha.11"
|
|
57
57
|
}
|
|
58
58
|
}
|