@stati/core 1.3.1 → 1.4.0
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/config/loader.d.ts +7 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +17 -12
- package/dist/constants.d.ts +71 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +78 -0
- package/dist/core/build.d.ts +1 -1
- package/dist/core/build.d.ts.map +1 -1
- package/dist/core/build.js +94 -69
- package/dist/core/content.d.ts +1 -1
- package/dist/core/content.d.ts.map +1 -1
- package/dist/core/content.js +10 -5
- package/dist/core/dev.d.ts +1 -7
- package/dist/core/dev.d.ts.map +1 -1
- package/dist/core/dev.js +202 -141
- package/dist/core/invalidate.d.ts +1 -1
- package/dist/core/invalidate.d.ts.map +1 -1
- package/dist/core/invalidate.js +3 -3
- package/dist/core/isg/build-lock.d.ts.map +1 -1
- package/dist/core/isg/build-lock.js +4 -2
- package/dist/core/isg/builder.d.ts +1 -1
- package/dist/core/isg/builder.d.ts.map +1 -1
- package/dist/core/isg/deps.d.ts +1 -1
- package/dist/core/isg/deps.d.ts.map +1 -1
- package/dist/core/isg/deps.js +59 -78
- package/dist/core/isg/hash.d.ts.map +1 -1
- package/dist/core/isg/hash.js +26 -17
- package/dist/core/isg/manifest.d.ts +1 -1
- package/dist/core/isg/manifest.d.ts.map +1 -1
- package/dist/core/isg/manifest.js +21 -8
- package/dist/core/isg/ttl.d.ts +1 -1
- package/dist/core/isg/ttl.d.ts.map +1 -1
- package/dist/core/isg/ttl.js +6 -9
- package/dist/core/isg/validation.d.ts +1 -1
- package/dist/core/isg/validation.d.ts.map +1 -1
- package/dist/core/markdown.d.ts +1 -1
- package/dist/core/markdown.d.ts.map +1 -1
- package/dist/core/navigation.d.ts +1 -1
- package/dist/core/navigation.d.ts.map +1 -1
- package/dist/core/preview.d.ts +19 -0
- package/dist/core/preview.d.ts.map +1 -0
- package/dist/core/preview.js +163 -0
- package/dist/core/templates.d.ts +1 -1
- package/dist/core/templates.d.ts.map +1 -1
- package/dist/core/templates.js +28 -105
- package/dist/core/utils/fs.d.ts +37 -0
- package/dist/core/utils/fs.d.ts.map +1 -0
- package/dist/core/utils/fs.js +86 -0
- package/dist/core/utils/partials.d.ts +24 -0
- package/dist/core/utils/partials.d.ts.map +1 -0
- package/dist/core/utils/partials.js +85 -0
- package/dist/core/utils/paths.d.ts +67 -0
- package/dist/core/utils/paths.d.ts.map +1 -0
- package/dist/core/utils/paths.js +86 -0
- package/dist/core/utils/template-discovery.d.ts +34 -0
- package/dist/core/utils/template-discovery.d.ts.map +1 -0
- package/dist/core/utils/template-discovery.js +111 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/tests/utils/test-mocks.d.ts +69 -0
- package/dist/tests/utils/test-mocks.d.ts.map +1 -0
- package/dist/tests/utils/test-mocks.js +125 -0
- package/dist/types/config.d.ts +178 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +1 -0
- package/dist/types/content.d.ts +124 -0
- package/dist/types/content.d.ts.map +1 -0
- package/dist/types/content.js +4 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/isg.d.ts +103 -0
- package/dist/types/isg.d.ts.map +1 -0
- package/dist/types/isg.js +4 -0
- package/dist/types/logging.d.ts +113 -0
- package/dist/types/logging.d.ts.map +1 -0
- package/dist/types/logging.js +4 -0
- package/dist/types/navigation.d.ts +43 -0
- package/dist/types/navigation.d.ts.map +1 -0
- package/dist/types/navigation.js +4 -0
- package/dist/types.d.ts +10 -10
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized exports for all type definitions
|
|
3
|
+
* This file provides a single entry point for importing types
|
|
4
|
+
*/
|
|
5
|
+
export type { AgingRule, ISGConfig, CacheEntry, CacheManifest } from './isg.js';
|
|
6
|
+
export type { SiteConfig, StatiConfig, BuildContext, PageContext, BuildHooks, BuildStats, } from './config.js';
|
|
7
|
+
export type { FrontMatter, PageModel, CollectionData, TemplateContext } from './content.js';
|
|
8
|
+
export type { NavNode } from './navigation.js';
|
|
9
|
+
export type { Logger } from './logging.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGhF,YAAY,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG5F,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ISG (Incremental Static Generation) related type definitions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Aging rule for Incremental Static Generation (ISG) cache management.
|
|
6
|
+
* Defines how cache TTL changes based on content age.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const rule: AgingRule = {
|
|
11
|
+
* untilDays: 7, // Apply this rule for content older than 7 days
|
|
12
|
+
* ttlSeconds: 86400 // Cache for 24 hours
|
|
13
|
+
* };
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export interface AgingRule {
|
|
17
|
+
/** Number of days after which this aging rule applies */
|
|
18
|
+
untilDays: number;
|
|
19
|
+
/** Cache time-to-live in seconds for content matching this age */
|
|
20
|
+
ttlSeconds: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Configuration for Incremental Static Generation (ISG) caching.
|
|
24
|
+
* Enables smart caching strategies for static site generation.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const isgConfig: ISGConfig = {
|
|
29
|
+
* enabled: true,
|
|
30
|
+
* ttlSeconds: 3600, // Default 1 hour cache
|
|
31
|
+
* maxAgeCapDays: 30, // Max age for aging rules
|
|
32
|
+
* aging: [
|
|
33
|
+
* { untilDays: 7, ttlSeconds: 86400 }, // 1 day for week-old content
|
|
34
|
+
* { untilDays: 30, ttlSeconds: 604800 } // 1 week for month-old content
|
|
35
|
+
* ]
|
|
36
|
+
* };
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export interface ISGConfig {
|
|
40
|
+
/** Whether ISG caching is enabled */
|
|
41
|
+
enabled?: boolean;
|
|
42
|
+
/** Default cache time-to-live in seconds */
|
|
43
|
+
ttlSeconds?: number;
|
|
44
|
+
/** Maximum age in days for applying aging rules */
|
|
45
|
+
maxAgeCapDays?: number;
|
|
46
|
+
/** Array of aging rules for progressive cache extension */
|
|
47
|
+
aging?: AgingRule[];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Cache entry for a single page in the ISG cache manifest.
|
|
51
|
+
* Contains all information needed to determine if a page needs rebuilding.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const entry: CacheEntry = {
|
|
56
|
+
* path: '/blog/my-post/index.html',
|
|
57
|
+
* inputsHash: 'sha256-abc123...',
|
|
58
|
+
* deps: ['/site/_layouts/post.eta', '/site/_partials/header.eta'],
|
|
59
|
+
* tags: ['blog', 'tutorial'],
|
|
60
|
+
* publishedAt: '2024-01-01T00:00:00.000Z',
|
|
61
|
+
* renderedAt: '2024-01-15T10:30:00.000Z',
|
|
62
|
+
* ttlSeconds: 21600,
|
|
63
|
+
* maxAgeCapDays: 365
|
|
64
|
+
* };
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export interface CacheEntry {
|
|
68
|
+
/** Output path of the rendered page */
|
|
69
|
+
readonly path: string;
|
|
70
|
+
/** Hash of page content and all dependencies */
|
|
71
|
+
readonly inputsHash: string;
|
|
72
|
+
/** Array of file paths this page depends on (templates, partials) */
|
|
73
|
+
readonly deps: readonly string[];
|
|
74
|
+
/** Tags for invalidation and organization */
|
|
75
|
+
readonly tags: readonly string[];
|
|
76
|
+
/** ISO date when content was originally published */
|
|
77
|
+
publishedAt?: string;
|
|
78
|
+
/** ISO date when page was last rendered */
|
|
79
|
+
readonly renderedAt: string;
|
|
80
|
+
/** Effective TTL for this page in seconds */
|
|
81
|
+
readonly ttlSeconds: number;
|
|
82
|
+
/** Maximum age cap for this page in days */
|
|
83
|
+
maxAgeCapDays?: number;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* ISG cache manifest containing all cached page entries.
|
|
87
|
+
* Persisted as JSON in .stati/cache/manifest.json
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const manifest: CacheManifest = {
|
|
92
|
+
* entries: {
|
|
93
|
+
* '/blog/post-1': { ... },
|
|
94
|
+
* '/about': { ... }
|
|
95
|
+
* }
|
|
96
|
+
* };
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export interface CacheManifest {
|
|
100
|
+
/** Map of page URLs to their cache entries */
|
|
101
|
+
entries: Record<string, CacheEntry>;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=isg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isg.d.ts","sourceRoot":"","sources":["../../src/types/isg.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,SAAS;IACxB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,SAAS;IACxB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACrC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logging related type definitions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Logger interface for customizing build output and visualization.
|
|
6
|
+
* Provides comprehensive logging capabilities including basic log levels, build progress tracking,
|
|
7
|
+
* file operations, statistics display, and advanced tree-based rendering visualization.
|
|
8
|
+
*
|
|
9
|
+
* Core Methods (Required):
|
|
10
|
+
* - Basic logging: info, success, warning, error
|
|
11
|
+
* - Build progress: building, processing, stats
|
|
12
|
+
*
|
|
13
|
+
* Enhanced Methods (Optional):
|
|
14
|
+
* - Visual formatting: header, step, progress, divider
|
|
15
|
+
* - File operations: file, url, timing
|
|
16
|
+
* - Statistics: statsTable, navigationTree
|
|
17
|
+
* - Tree visualization: startRenderingTree, addTreeNode, updateTreeNode, showRenderingTree, clearRenderingTree
|
|
18
|
+
*
|
|
19
|
+
* @example Basic Logger Implementation
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const basicLogger: Logger = {
|
|
22
|
+
* info: (msg) => console.log('\x1b[38;2;37;99;235mℹ️ ' + msg + '\x1b[0m'),
|
|
23
|
+
* success: (msg) => console.log('\x1b[38;2;22;163;74m✅ ' + msg + '\x1b[0m'),
|
|
24
|
+
* warning: (msg) => console.warn('\x1b[38;2;217;119;6m⚠️ ' + msg + '\x1b[0m'),
|
|
25
|
+
* error: (msg) => console.error('\x1b[38;2;220;38;38m❌ ' + msg + '\x1b[0m'),
|
|
26
|
+
* building: (msg) => console.log('\x1b[38;2;79;70;229m' + msg + '\x1b[0m'),
|
|
27
|
+
* processing: (msg) => console.log('\x1b[38;2;107;114;128m ' + msg + '\x1b[0m'),
|
|
28
|
+
* stats: (msg) => console.log('\x1b[38;2;8;145;178m📊 ' + msg + '\x1b[0m')
|
|
29
|
+
* };
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @example Enhanced Logger with Tree Visualization
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const enhancedLogger: Logger = {
|
|
35
|
+
* // ... basic methods ...
|
|
36
|
+
* header: (msg) => console.log(boxedMessage(msg)),
|
|
37
|
+
* step: (step, total, msg) => console.log(`[${step}/${total}] ${msg}`),
|
|
38
|
+
* progress: (current, total, msg) => console.log(progressBar(current, total) + ' ' + msg),
|
|
39
|
+
* file: (op, path) => console.log(` 📄 ${op} ${path}`),
|
|
40
|
+
* url: (label, url) => console.log(` 🔗 ${label}: ${url}`),
|
|
41
|
+
* timing: (op, duration) => console.log(` ⏱️ ${op} completed in ${duration}ms`),
|
|
42
|
+
* divider: (title) => console.log('─'.repeat(50) + ' ' + title),
|
|
43
|
+
* statsTable: (stats) => displayStatsTable(stats),
|
|
44
|
+
* startRenderingTree: (label) => initTree(label),
|
|
45
|
+
* addTreeNode: (parentId, id, label, status, metadata) => addNode(parentId, id, label, status, metadata),
|
|
46
|
+
* updateTreeNode: (id, status, metadata) => updateNode(id, status, metadata),
|
|
47
|
+
* showRenderingTree: () => renderTree(),
|
|
48
|
+
* clearRenderingTree: () => clearTree()
|
|
49
|
+
* };
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export interface Logger {
|
|
53
|
+
/** Log informational messages */
|
|
54
|
+
info: (message: string) => void;
|
|
55
|
+
/** Log success messages */
|
|
56
|
+
success: (message: string) => void;
|
|
57
|
+
/** Log warning messages */
|
|
58
|
+
warning: (message: string) => void;
|
|
59
|
+
/** Log error messages */
|
|
60
|
+
error: (message: string) => void;
|
|
61
|
+
/** Log build progress messages */
|
|
62
|
+
building: (message: string) => void;
|
|
63
|
+
/** Log file processing messages */
|
|
64
|
+
processing: (message: string) => void;
|
|
65
|
+
/** Log statistics and metrics */
|
|
66
|
+
stats: (message: string) => void;
|
|
67
|
+
/** Display a header message in a box (optional) */
|
|
68
|
+
header?: (message: string) => void;
|
|
69
|
+
/** Display a step indicator (optional) */
|
|
70
|
+
step?: (step: number, total: number, message: string) => void;
|
|
71
|
+
/** Display progress with a bar (optional) */
|
|
72
|
+
progress?: (current: number, total: number, message: string) => void;
|
|
73
|
+
/** Log file operations (optional) */
|
|
74
|
+
file?: (operation: string, path: string) => void;
|
|
75
|
+
/** Log URLs with proper styling (optional) */
|
|
76
|
+
url?: (label: string, url: string) => void;
|
|
77
|
+
/** Log timing information (optional) */
|
|
78
|
+
timing?: (operation: string, duration: number) => void;
|
|
79
|
+
/** Display a section divider (optional) */
|
|
80
|
+
divider?: (title?: string) => void;
|
|
81
|
+
/** Display build statistics as a table (optional) */
|
|
82
|
+
statsTable?: (stats: {
|
|
83
|
+
totalPages: number;
|
|
84
|
+
assetsCount: number;
|
|
85
|
+
buildTimeMs: number;
|
|
86
|
+
outputSizeBytes: number;
|
|
87
|
+
cacheHits?: number;
|
|
88
|
+
cacheMisses?: number;
|
|
89
|
+
}) => void;
|
|
90
|
+
/** Display navigation tree structure (optional) */
|
|
91
|
+
navigationTree?: (navigation: import('./navigation.js').NavNode[]) => void;
|
|
92
|
+
/** Initialize a rendering tree for build process visualization (optional) */
|
|
93
|
+
startRenderingTree?: (label: string) => void;
|
|
94
|
+
/** Add a step to the rendering tree (optional) */
|
|
95
|
+
addTreeNode?: (parentId: string, id: string, label: string, status?: 'pending' | 'running' | 'cached' | 'completed' | 'error', metadata?: {
|
|
96
|
+
timing?: number;
|
|
97
|
+
cacheHit?: boolean;
|
|
98
|
+
url?: string;
|
|
99
|
+
operation?: string;
|
|
100
|
+
}) => void;
|
|
101
|
+
/** Update a node in the rendering tree (optional) */
|
|
102
|
+
updateTreeNode?: (id: string, status: 'pending' | 'running' | 'cached' | 'completed' | 'error', metadata?: {
|
|
103
|
+
timing?: number;
|
|
104
|
+
cacheHit?: boolean;
|
|
105
|
+
url?: string;
|
|
106
|
+
operation?: string;
|
|
107
|
+
}) => void;
|
|
108
|
+
/** Render and display the current tree (optional) */
|
|
109
|
+
showRenderingTree?: () => void;
|
|
110
|
+
/** Clear the rendering tree (optional) */
|
|
111
|
+
clearRenderingTree?: () => void;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/types/logging.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,WAAW,MAAM;IACrB,iCAAiC;IACjC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,2BAA2B;IAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,2BAA2B;IAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,yBAAyB;IACzB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,kCAAkC;IAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,mCAAmC;IACnC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,iCAAiC;IACjC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,mDAAmD;IACnD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,qCAAqC;IACrC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,8CAA8C;IAC9C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,wCAAwC;IACxC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,2CAA2C;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qDAAqD;IACrD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,IAAI,CAAC;IACX,mDAAmD;IACnD,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,iBAAiB,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC3E,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,kDAAkD;IAClD,WAAW,CAAC,EAAE,CACZ,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,EACjE,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KACjF,IAAI,CAAC;IACV,qDAAqD;IACrD,cAAc,CAAC,EAAE,CACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,EAChE,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KACjF,IAAI,CAAC;IACV,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,0CAA0C;IAC1C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigation related type definitions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Navigation node representing a page or collection in the site hierarchy.
|
|
6
|
+
* Provides structured navigation data for templates.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const navNode: NavNode = {
|
|
11
|
+
* title: 'Blog',
|
|
12
|
+
* url: '/blog',
|
|
13
|
+
* path: '/blog',
|
|
14
|
+
* order: 1,
|
|
15
|
+
* children: [
|
|
16
|
+
* {
|
|
17
|
+
* title: 'My First Post',
|
|
18
|
+
* url: '/blog/my-first-post',
|
|
19
|
+
* path: '/blog/my-first-post',
|
|
20
|
+
* order: 1,
|
|
21
|
+
* publishedAt: new Date('2024-01-01')
|
|
22
|
+
* }
|
|
23
|
+
* ]
|
|
24
|
+
* };
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export interface NavNode {
|
|
28
|
+
/** Display title for the navigation item */
|
|
29
|
+
title: string;
|
|
30
|
+
/** URL path for the navigation item */
|
|
31
|
+
url: string;
|
|
32
|
+
/** File system path (for organizing hierarchy) */
|
|
33
|
+
path: string;
|
|
34
|
+
/** Numeric order for sorting */
|
|
35
|
+
order?: number;
|
|
36
|
+
/** Publication date for sorting */
|
|
37
|
+
publishedAt?: Date;
|
|
38
|
+
/** Child navigation nodes (for collections/directories) */
|
|
39
|
+
children?: NavNode[];
|
|
40
|
+
/** Whether this node represents a collection/directory */
|
|
41
|
+
isCollection?: boolean;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/types/navigation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,OAAO;IACtB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
|
package/dist/types.d.ts
CHANGED
|
@@ -64,19 +64,19 @@ export interface ISGConfig {
|
|
|
64
64
|
*/
|
|
65
65
|
export interface CacheEntry {
|
|
66
66
|
/** Output path of the rendered page */
|
|
67
|
-
path: string;
|
|
67
|
+
readonly path: string;
|
|
68
68
|
/** Hash of page content and all dependencies */
|
|
69
|
-
inputsHash: string;
|
|
69
|
+
readonly inputsHash: string;
|
|
70
70
|
/** Array of file paths this page depends on (templates, partials) */
|
|
71
|
-
deps: string[];
|
|
71
|
+
readonly deps: readonly string[];
|
|
72
72
|
/** Tags for invalidation and organization */
|
|
73
|
-
tags: string[];
|
|
73
|
+
readonly tags: readonly string[];
|
|
74
74
|
/** ISO date when content was originally published */
|
|
75
75
|
publishedAt?: string;
|
|
76
76
|
/** ISO date when page was last rendered */
|
|
77
|
-
renderedAt: string;
|
|
77
|
+
readonly renderedAt: string;
|
|
78
78
|
/** Effective TTL for this page in seconds */
|
|
79
|
-
ttlSeconds: number;
|
|
79
|
+
readonly ttlSeconds: number;
|
|
80
80
|
/** Maximum age cap for this page in days */
|
|
81
81
|
maxAgeCapDays?: number;
|
|
82
82
|
}
|
|
@@ -113,11 +113,11 @@ export interface CacheManifest {
|
|
|
113
113
|
*/
|
|
114
114
|
export interface SiteConfig {
|
|
115
115
|
/** The site's title, used in templates and metadata */
|
|
116
|
-
title: string;
|
|
116
|
+
readonly title: string;
|
|
117
117
|
/** Base URL for the site, used for absolute URL generation */
|
|
118
|
-
baseUrl: string;
|
|
118
|
+
readonly baseUrl: string;
|
|
119
119
|
/** Default locale for internationalization (optional) */
|
|
120
|
-
defaultLocale?: string;
|
|
120
|
+
readonly defaultLocale?: string;
|
|
121
121
|
}
|
|
122
122
|
/**
|
|
123
123
|
* Main configuration interface for Stati static site generator.
|
|
@@ -524,7 +524,7 @@ export interface FrontMatter {
|
|
|
524
524
|
/** Page description for SEO and meta tags */
|
|
525
525
|
description?: string;
|
|
526
526
|
/** Array of tags for categorization */
|
|
527
|
-
tags?: string[];
|
|
527
|
+
tags?: readonly string[];
|
|
528
528
|
/** Template layout to use for rendering */
|
|
529
529
|
layout?: string;
|
|
530
530
|
/** Numeric order for sorting (useful for navigation) */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,SAAS;IACxB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,SAAS;IACxB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|