@riebeckite/core 0.0.16 → 0.0.18
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 +6 -6
- package/README_ja.md +6 -6
- package/dist/index.d.ts +6 -2
- package/dist/index.js +590 -440
- package/dist/src/config.d.ts +3 -1
- package/dist/src/content/content_build_coordinator.d.ts +2 -1
- package/dist/src/content/content_build_state.d.ts +1 -1
- package/dist/src/content/content_dependency_tracker.d.ts +2 -0
- package/dist/src/content/content_index_builder.d.ts +6 -2
- package/dist/src/content/content_language.d.ts +3 -0
- package/dist/src/content/content_manager.d.ts +2 -0
- package/dist/src/content/content_stable_id.d.ts +1 -4
- package/dist/src/content/file_system_content_source.d.ts +10 -1
- package/dist/src/content/folder_entry.d.ts +1 -1
- package/dist/src/content/manifest_builder.d.ts +1 -1
- package/dist/src/pipeline.d.ts +1 -0
- package/dist/src/plugin/plugin_lifecycle.d.ts +7 -4
- package/dist/src/plugin/plugin_runtime.d.ts +5 -2
- package/dist/src/project/project_layout.d.ts +11 -0
- package/dist/src/types/content_manifest.d.ts +15 -4
- package/dist/src/types/plugin.d.ts +0 -2
- package/dist/src/types/plugin_page.d.ts +2 -0
- package/dist/src/types/plugin_seo.d.ts +3 -2
- package/dist/src/types/post_content.d.ts +0 -2
- package/dist/src/types/resolved_riebeckite_config.d.ts +12 -8
- package/dist/src/types/riebeckite_config.d.ts +0 -7
- package/dist/src/utils/error.d.ts +1 -0
- package/package.json +2 -2
- package/dist/src/types/navigation_config.d.ts +0 -10
package/dist/src/config.d.ts
CHANGED
|
@@ -4,5 +4,7 @@ import type { RiebeckiteConfig } from "./types/riebeckite_config.js";
|
|
|
4
4
|
export declare function defineConfig(config: RiebeckiteConfig): RiebeckiteConfig;
|
|
5
5
|
export declare function resolveConfigModule(configModule: unknown): ResolvedRiebeckiteConfig;
|
|
6
6
|
export declare function resolveConfig(config: RiebeckiteConfig): ResolvedRiebeckiteConfig;
|
|
7
|
-
export declare function isPublished(config: ResolvedRiebeckiteConfig, frontmatter: PostFrontmatter | undefined
|
|
7
|
+
export declare function isPublished(config: ResolvedRiebeckiteConfig, frontmatter: PostFrontmatter | undefined, options?: {
|
|
8
|
+
buildTime?: Date | string;
|
|
9
|
+
}): boolean;
|
|
8
10
|
export declare function isExcluded(patterns: readonly string[], relativePath: string): boolean;
|
|
@@ -3,7 +3,7 @@ import type { ContentManifest, ContentManifestEntry } from "../types/content_man
|
|
|
3
3
|
import { determineAffectedContent } from "./affected_content.js";
|
|
4
4
|
import { type ContentBuildState, type FingerprintedContentEntry } from "./content_build_state.js";
|
|
5
5
|
import { type ContentChangeSet } from "./content_change_set.js";
|
|
6
|
-
import type
|
|
6
|
+
import { type CachedContentDependency } from "./content_dependency_tracker.js";
|
|
7
7
|
import type { ContentSourceEntry } from "./content_source.js";
|
|
8
8
|
import type { OutputDescriptor } from "./output_dependency.js";
|
|
9
9
|
export type ContentBuildPreparation = {
|
|
@@ -12,6 +12,7 @@ export type ContentBuildPreparation = {
|
|
|
12
12
|
readonly currentEntries: readonly FingerprintedContentEntry[];
|
|
13
13
|
readonly currentContentAliases: ReadonlyMap<string, readonly string[]>;
|
|
14
14
|
readonly currentContentIndex: Map<string, string>;
|
|
15
|
+
readonly currentContentIndexAmbiguities: ReadonlyMap<string, readonly string[]>;
|
|
15
16
|
readonly changeSet: ContentChangeSet;
|
|
16
17
|
readonly affectedContent: ReturnType<typeof determineAffectedContent>;
|
|
17
18
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ContentManifestEntry } from "../types/content_manifest.js";
|
|
2
2
|
import type { ContentSourceEntry } from "./content_source.js";
|
|
3
3
|
import type { OutputDescriptor } from "./output_dependency.js";
|
|
4
|
-
export declare const CONTENT_BUILD_STATE_VERSION =
|
|
4
|
+
export declare const CONTENT_BUILD_STATE_VERSION = 8;
|
|
5
5
|
/**
|
|
6
6
|
* Build state lives under `<content directory>/.riebeckite`. That directory is
|
|
7
7
|
* build-time state, not content, so content sources must exclude it from scans
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ContentSource, ContentSourceContent } from "./content_source.js";
|
|
2
|
+
export declare const LINK_INDEX_PREFIX = "index:";
|
|
3
|
+
export declare const LINK_LOCATION_PREFIX = "location:";
|
|
2
4
|
export type CachedContentDependency = {
|
|
3
5
|
readonly kind: "content" | "file" | "link";
|
|
4
6
|
readonly id: string;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import type { ContentSource, ContentSourceEntry } from "./content_source.js";
|
|
2
|
+
export type ContentIndexBuild = {
|
|
3
|
+
readonly index: Map<string, string>;
|
|
4
|
+
readonly ambiguities: ReadonlyMap<string, readonly string[]>;
|
|
5
|
+
};
|
|
2
6
|
export declare class ContentIndexBuilder {
|
|
3
7
|
private source;
|
|
4
8
|
constructor(source: ContentSource);
|
|
5
|
-
build(contentEntries: readonly ContentSourceEntry[], read?: (entry: ContentSourceEntry) => Promise<import("./content_source.js").ContentSourceContent>): Promise<
|
|
6
|
-
static buildFromAliases(contentEntries: readonly ContentSourceEntry[], aliasesByPath: ReadonlyMap<string, readonly string[]>):
|
|
9
|
+
build(contentEntries: readonly ContentSourceEntry[], read?: (entry: ContentSourceEntry) => Promise<import("./content_source.js").ContentSourceContent>): Promise<ContentIndexBuild>;
|
|
10
|
+
static buildFromAliases(contentEntries: readonly ContentSourceEntry[], aliasesByPath: ReadonlyMap<string, readonly string[]>): ContentIndexBuild;
|
|
7
11
|
private indexContentEntry;
|
|
8
12
|
private static indexContentEntryFromAliases;
|
|
9
13
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ContentManifestEntry } from "../types/content_manifest.js";
|
|
2
|
+
export declare function getEntryLanguage(entry: ContentManifestEntry): string | undefined;
|
|
3
|
+
export declare function selectEntriesByLanguage(entries: readonly ContentManifestEntry[], language: string | undefined): readonly ContentManifestEntry[];
|
|
@@ -29,6 +29,7 @@ export declare class ContentManager {
|
|
|
29
29
|
private manifestBuilder;
|
|
30
30
|
private pluginRuntime;
|
|
31
31
|
private contentIndex;
|
|
32
|
+
private contentIndexAmbiguities;
|
|
32
33
|
private contentIndexPromise;
|
|
33
34
|
private contentCache;
|
|
34
35
|
private manifest;
|
|
@@ -51,6 +52,7 @@ export declare class ContentManager {
|
|
|
51
52
|
getPost(slug: string): Promise<string>;
|
|
52
53
|
getContentIndex(preparation?: ContentBuildPreparation): Promise<Map<string, string>>;
|
|
53
54
|
getProcessedContent(slug: string): Promise<PostContent>;
|
|
55
|
+
private processContent;
|
|
54
56
|
getManifest(options?: ContentBuildOptions): Promise<ContentManifest>;
|
|
55
57
|
private buildManifest;
|
|
56
58
|
build(options?: ContentBuildOptions): Promise<ContentManifest>;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import type { PostFrontmatter } from "../types/post_content.js";
|
|
2
2
|
/**
|
|
3
|
-
* Reads the optional, source-authored stable content ID.
|
|
4
|
-
*
|
|
5
|
-
* `id` is the canonical frontmatter field. `uid` is accepted only for
|
|
6
|
-
* compatibility with existing content that used it before `id` was standard.
|
|
3
|
+
* Reads the optional, source-authored stable content ID from frontmatter.
|
|
7
4
|
*/
|
|
8
5
|
export declare function resolveContentStableId(frontmatter: PostFrontmatter): string | undefined;
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import type { ContentSource, ContentSourceContent, ContentSourceEntry } from "./content_source.js";
|
|
2
2
|
export declare const INTERNAL_CONTENT_IGNORE_PATTERNS: readonly [".git", ".git/**", ".github", ".github/**", ".obsidian", ".obsidian/**", "node_modules", "node_modules/**", "**/.DS_Store", "**/Thumbs.db", "**/desktop.ini"];
|
|
3
|
+
export type ContentSourceExclusion = {
|
|
4
|
+
readonly path: string;
|
|
5
|
+
readonly pattern: string;
|
|
6
|
+
};
|
|
7
|
+
export type ContentSourceScan = {
|
|
8
|
+
readonly entries: readonly ContentSourceEntry[];
|
|
9
|
+
readonly exclusions: readonly ContentSourceExclusion[];
|
|
10
|
+
};
|
|
3
11
|
export declare class FileSystemContentSource implements ContentSource {
|
|
4
12
|
private contentDirectory;
|
|
5
13
|
private exclude;
|
|
6
14
|
constructor(contentDirectory: string, exclude?: readonly string[]);
|
|
7
15
|
scan(): Promise<readonly ContentSourceEntry[]>;
|
|
16
|
+
scanWithExclusions(): Promise<ContentSourceScan>;
|
|
8
17
|
read(entry: ContentSourceEntry): Promise<ContentSourceContent>;
|
|
9
18
|
private scanDirectory;
|
|
10
|
-
private isExcluded;
|
|
11
19
|
private resolveFilePath;
|
|
12
20
|
}
|
|
13
21
|
export declare function isIgnoredContentPath(logicalPath: string, exclude?: readonly string[]): boolean;
|
|
22
|
+
export declare function matchContentExcludePattern(logicalPath: string, exclude?: readonly string[]): string | undefined;
|
|
@@ -33,4 +33,4 @@ export type FolderLocationResolution = {
|
|
|
33
33
|
export declare function resolveFolderEntry(manifest: ContentManifest, folder: string, options?: ResolveFolderEntryOptions): FolderEntryResolution;
|
|
34
34
|
export declare function resolveFolderLocation(manifest: ContentManifest, folder: string): FolderLocationResolution;
|
|
35
35
|
export declare function resolvePublicFolderLocation(manifest: ContentManifest, pathname: string): FolderLocationResolution;
|
|
36
|
-
export declare function resolveGeneratedFolderLocation(manifest: ContentManifest, folder: string): string | null;
|
|
36
|
+
export declare function resolveGeneratedFolderLocation(manifest: ContentManifest, folder: string, language?: string): string | null;
|
|
@@ -3,5 +3,5 @@ import type { PostContent } from "../types/post_content.js";
|
|
|
3
3
|
import type { ResolvedPublishingState } from "./publishing.js";
|
|
4
4
|
export declare class ManifestBuilder {
|
|
5
5
|
createEntry(slug: string, markdown: string, processed: PostContent, contentIndex: Map<string, string>, location: ContentPublicLocation, publishing: ResolvedPublishingState): ContentManifestEntry;
|
|
6
|
-
build(entries: ContentManifestEntry[], contentIndex: Map<string, string>): ContentManifest;
|
|
6
|
+
build(entries: ContentManifestEntry[], contentIndex: Map<string, string>, contentIndexAmbiguities?: ReadonlyMap<string, readonly string[]>): ContentManifest;
|
|
7
7
|
}
|
package/dist/src/pipeline.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import type { Tracer } from "../observability.js";
|
|
1
2
|
import type { RiebeckitePlugin } from "../types/plugin.js";
|
|
2
3
|
import type { PluginLifecycleContext, PluginManifestContext } from "../types/plugin_context.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
constructor(pluginName: string, hookName:
|
|
4
|
+
export declare class PluginHookError extends Error {
|
|
5
|
+
readonly path?: string;
|
|
6
|
+
constructor(pluginName: string, hookName: string, cause: unknown);
|
|
6
7
|
}
|
|
8
|
+
export declare function runPluginHook<TContext extends {
|
|
9
|
+
tracer: Tracer;
|
|
10
|
+
}, TResult>(plugin: RiebeckitePlugin, hookName: string, context: TContext, hook: (context: TContext) => TResult | Promise<TResult>): Promise<TResult>;
|
|
7
11
|
export declare function runSetup(plugins: readonly RiebeckitePlugin[], createContext: (plugin: RiebeckitePlugin) => PluginLifecycleContext): Promise<void>;
|
|
8
12
|
export declare function runBuildStart(plugins: readonly RiebeckitePlugin[], createContext: (plugin: RiebeckitePlugin) => PluginLifecycleContext): Promise<void>;
|
|
9
13
|
export declare function runBuildEnd(plugins: readonly RiebeckitePlugin[], createContext: (plugin: RiebeckitePlugin) => PluginManifestContext): Promise<void>;
|
|
10
14
|
export declare function runDispose(plugins: readonly RiebeckitePlugin[], createContext: (plugin: RiebeckitePlugin) => PluginLifecycleContext): Promise<void>;
|
|
11
|
-
export {};
|
|
@@ -12,7 +12,7 @@ import type { PostContent } from "../types/post_content.js";
|
|
|
12
12
|
* requested yet; the remaining values name the stage currently executing.
|
|
13
13
|
* Once `started` is reached the lifecycle never runs again.
|
|
14
14
|
*/
|
|
15
|
-
export type PluginBuildStage = "idle" | "setup" | "buildStart" | "
|
|
15
|
+
export type PluginBuildStage = "idle" | "setup" | "buildStart" | "onConfigResolved" | "started";
|
|
16
16
|
export declare class PluginRuntime {
|
|
17
17
|
private pipelineOptions;
|
|
18
18
|
private buildLifecycle;
|
|
@@ -23,6 +23,7 @@ export declare class PluginRuntime {
|
|
|
23
23
|
private generatedOutputs;
|
|
24
24
|
private isBuildTime;
|
|
25
25
|
private resolvedPlugins;
|
|
26
|
+
private pageDeclarations;
|
|
26
27
|
constructor(pipelineOptions?: PipelineOptions);
|
|
27
28
|
getDiagnostics(): Diagnostic[];
|
|
28
29
|
getBuildStage(): PluginBuildStage;
|
|
@@ -30,7 +31,7 @@ export declare class PluginRuntime {
|
|
|
30
31
|
* Starts the plugin build lifecycle exactly once, regardless of which public
|
|
31
32
|
* entry point (content processing or location resolution) reaches it first.
|
|
32
33
|
* Concurrent callers await the same run, so the ordered hooks
|
|
33
|
-
* (`setup` → `buildStart` → `
|
|
34
|
+
* (`setup` → `buildStart` → `onConfigResolved`) are never
|
|
34
35
|
* duplicated and no caller proceeds before the lifecycle completes.
|
|
35
36
|
*/
|
|
36
37
|
startBuild(contentIndex: Map<string, string>): Promise<void>;
|
|
@@ -61,6 +62,8 @@ export declare class PluginRuntime {
|
|
|
61
62
|
getPagePaths(manifest: ContentManifest, contentIndex: Map<string, string>): Promise<readonly string[]>;
|
|
62
63
|
getPageRoutes(manifest: ContentManifest, contentIndex: Map<string, string>): Promise<readonly PluginPageRoute[]>;
|
|
63
64
|
getPageOutputs(manifest: ContentManifest, contentIndex: Map<string, string>): Promise<readonly OutputDescriptor[]>;
|
|
65
|
+
private getPageDeclarations;
|
|
66
|
+
private resolvePageDeclarations;
|
|
64
67
|
getContentOutputDependencies(): readonly OutputDependency[];
|
|
65
68
|
collectDiagnostics(contentIndex: Map<string, string>): Promise<Diagnostic[]>;
|
|
66
69
|
private runBuildLifecycle;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ResolvedRiebeckiteConfig } from "../types/resolved_riebeckite_config.js";
|
|
2
|
+
/**
|
|
3
|
+
* Root directory for Riebeckite-managed persistent state: content build state,
|
|
4
|
+
* plugin cache, persistent content cache, and the SSG output cache. The root is
|
|
5
|
+
* reproducible and safe to remove; missing paths are not an error.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveManagedStateRoot(config: ResolvedRiebeckiteConfig | undefined): string | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Directory for the built site. Missing paths are not an error.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveBuildOutputDirectory(config: ResolvedRiebeckiteConfig | undefined): string | undefined;
|
|
@@ -24,7 +24,7 @@ export type ContentManifestPluginAsset = PluginAsset & {
|
|
|
24
24
|
* The standard article consumer recognizes the `article.*` positions below.
|
|
25
25
|
* Other names remain valid so a custom Site can define its own layout slots.
|
|
26
26
|
*/
|
|
27
|
-
export type ContentBodySlot = "article.
|
|
27
|
+
export type ContentBodySlot = "article.header" | "article.metadata" | "article.aside" | "article.before-content" | "article.after-content" | "article.footer" | (string & {});
|
|
28
28
|
/** Client entries and their explicitly public configuration. */
|
|
29
29
|
export type ContentManifestPluginClientEntry = PluginClientEntry;
|
|
30
30
|
export type ContentManifestEntry = {
|
|
@@ -71,11 +71,14 @@ export type ContentRedirect = {
|
|
|
71
71
|
export type ContentPublicLocation = {
|
|
72
72
|
slug: string;
|
|
73
73
|
permalink: string;
|
|
74
|
+
language?: string;
|
|
74
75
|
redirects?: readonly ContentRedirect[];
|
|
75
76
|
metadata?: Readonly<Record<string, string>>;
|
|
76
77
|
};
|
|
77
78
|
export type FolderLocation = {
|
|
78
79
|
pathname: string;
|
|
80
|
+
folder?: string;
|
|
81
|
+
language?: string;
|
|
79
82
|
};
|
|
80
83
|
export type PluginPageRoute = {
|
|
81
84
|
pathname: string;
|
|
@@ -90,9 +93,10 @@ export type ContentLocationInput = {
|
|
|
90
93
|
export type ContentManifest = {
|
|
91
94
|
entries: ContentManifestEntry[];
|
|
92
95
|
/**
|
|
93
|
-
* Entries that
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
+
* Entries that are routable and therefore get a generated page: `public`
|
|
97
|
+
* and `unlisted` notes. `entries` keeps every scanned note for backward
|
|
98
|
+
* compatibility; plugins that emit generated output should read this view
|
|
99
|
+
* so drafts and scheduled notes never reach generated output.
|
|
96
100
|
*/
|
|
97
101
|
publicEntries: ContentManifestEntry[];
|
|
98
102
|
/** Entries that may appear on discovery surfaces such as navigation, search, feeds, taxonomy, and public graphs. */
|
|
@@ -119,6 +123,13 @@ export type ContentManifest = {
|
|
|
119
123
|
outgoingLinks: Map<string, ContentLink[]>;
|
|
120
124
|
incomingLinks: Map<string, string[]>;
|
|
121
125
|
contentIndex: Map<string, string>;
|
|
126
|
+
/**
|
|
127
|
+
* Lookup keys that matched more than one candidate, mapped to their
|
|
128
|
+
* candidates (sorted). These keys are intentionally absent from
|
|
129
|
+
* `contentIndex` so links stay unresolved instead of picking a target by
|
|
130
|
+
* discovery order. Used to report actionable ambiguity diagnostics.
|
|
131
|
+
*/
|
|
132
|
+
contentIndexAmbiguities?: ReadonlyMap<string, readonly string[]>;
|
|
122
133
|
graph: ContentGraph;
|
|
123
134
|
assets: ContentManifestPluginAsset[];
|
|
124
135
|
/**
|
|
@@ -59,8 +59,6 @@ export type RiebeckitePlugin<TOptions = unknown> = {
|
|
|
59
59
|
onPostParsed?(context: PluginPostContext): void | Promise<void>;
|
|
60
60
|
onPostProcessed?(context: PluginPostContext): void | Promise<void>;
|
|
61
61
|
onManifestCreated?(context: PluginManifestContext): void | Promise<void>;
|
|
62
|
-
onBuildStart?(context: PluginContext): void | Promise<void>;
|
|
63
|
-
onBuildEnd?(context: PluginManifestContext): void | Promise<void>;
|
|
64
62
|
extendMarkdownPipeline?(pipeline: MarkdownPipeline, context: MarkdownPipelineContext): void;
|
|
65
63
|
extendHtmlPipeline?(pipeline: HtmlPipeline): void;
|
|
66
64
|
addDiagnostics?(context: PluginContext): Diagnostic[] | Promise<Diagnostic[]>;
|
|
@@ -14,6 +14,8 @@ export type PluginPage = {
|
|
|
14
14
|
description?: string;
|
|
15
15
|
/** Optional document metadata rendered by the site's document frame. */
|
|
16
16
|
headTags?: readonly PluginHeadTag[];
|
|
17
|
+
/** Language of the page when the page type resolved one. */
|
|
18
|
+
language?: string;
|
|
17
19
|
};
|
|
18
20
|
export type PluginPageContext = PluginContext & {
|
|
19
21
|
/** The public manifest. Unpublished content is not exposed through pages. */
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ContentManifestEntry } from "./content_manifest.js";
|
|
2
|
+
import type { PluginHeadTag } from "./plugin_head.js";
|
|
2
3
|
import type { PostContent } from "./post_content.js";
|
|
3
4
|
import type { ResolvedRiebeckiteConfig } from "./resolved_riebeckite_config.js";
|
|
4
5
|
export type SeoMetadata = {
|
|
@@ -24,8 +25,8 @@ export type RenderableFeedEntry = ContentManifestEntry & {
|
|
|
24
25
|
html?: string;
|
|
25
26
|
};
|
|
26
27
|
export type PluginSeoExtension = {
|
|
27
|
-
buildArticleSeo(config: ResolvedRiebeckiteConfig, permalink: string, post: PostContent): SeoMetadata;
|
|
28
|
-
buildWebsiteSeo(config: ResolvedRiebeckiteConfig, input: WebsiteSeoInput): SeoMetadata;
|
|
28
|
+
buildArticleSeo(config: ResolvedRiebeckiteConfig, permalink: string, post: PostContent, headTags?: readonly PluginHeadTag[], language?: string): SeoMetadata;
|
|
29
|
+
buildWebsiteSeo(config: ResolvedRiebeckiteConfig, input: WebsiteSeoInput, headTags?: readonly PluginHeadTag[]): SeoMetadata;
|
|
29
30
|
buildAbsoluteUrl(config: ResolvedRiebeckiteConfig, pathOrUrl: string): string;
|
|
30
31
|
buildPostUrl(config: ResolvedRiebeckiteConfig, permalink: string): string;
|
|
31
32
|
getDescription(post: Pick<PostContent, "frontmatter" | "html">): string;
|
|
@@ -8,8 +8,6 @@ export type PostFrontmatter = Record<string, unknown> & {
|
|
|
8
8
|
* this value survives a rename or public-location change.
|
|
9
9
|
*/
|
|
10
10
|
id?: string;
|
|
11
|
-
/** @deprecated Use `id`. Read only as a compatibility fallback. */
|
|
12
|
-
uid?: string;
|
|
13
11
|
title?: string;
|
|
14
12
|
description?: string;
|
|
15
13
|
date?: string | Date;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { ContentSource } from "../content/content_source.js";
|
|
2
|
-
import type { NavigationConfig } from "./navigation_config.js";
|
|
3
2
|
import type { RiebeckitePlugin } from "./plugin.js";
|
|
4
3
|
import type { PublishStrategy } from "./publish_strategy.js";
|
|
5
4
|
import type { SiteConfig } from "./site_config.js";
|
|
@@ -10,8 +9,18 @@ export type ResolvedRiebeckiteConfig = {
|
|
|
10
9
|
* relative to their application root.
|
|
11
10
|
*/
|
|
12
11
|
buildDirectory?: string;
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Directory for the built site. Host integrations resolve this relative to
|
|
14
|
+
* their application root.
|
|
15
|
+
*/
|
|
16
|
+
outputDirectory?: string;
|
|
17
|
+
site: Omit<Required<SiteConfig>, "feed"> & {
|
|
18
|
+
feed: {
|
|
19
|
+
title: string;
|
|
20
|
+
description: string;
|
|
21
|
+
language: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
15
24
|
content: {
|
|
16
25
|
directory: string;
|
|
17
26
|
source?: ContentSource;
|
|
@@ -20,11 +29,6 @@ export type ResolvedRiebeckiteConfig = {
|
|
|
20
29
|
publishStrategy: PublishStrategy;
|
|
21
30
|
};
|
|
22
31
|
};
|
|
23
|
-
markdown: {
|
|
24
|
-
syntaxHighlight: {
|
|
25
|
-
theme: string;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
32
|
theme: Required<Omit<ThemeConfig, "tokens">> & {
|
|
29
33
|
tokens: NonNullable<ThemeConfig["tokens"]>;
|
|
30
34
|
styles: ThemeStyle[];
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { ContentSource } from "../content/content_source.js";
|
|
2
|
-
import type { NavigationConfig } from "./navigation_config.js";
|
|
3
2
|
import type { PluginInput } from "./plugin.js";
|
|
4
3
|
import type { PublishStrategy } from "./publish_strategy.js";
|
|
5
4
|
import type { SiteConfig } from "./site_config.js";
|
|
6
5
|
import type { ThemeInput } from "./theme_config.js";
|
|
7
6
|
export interface RiebeckiteConfig {
|
|
8
7
|
site: SiteConfig;
|
|
9
|
-
navigation?: NavigationConfig;
|
|
10
8
|
content?: {
|
|
11
9
|
directory?: string;
|
|
12
10
|
source?: ContentSource;
|
|
@@ -15,11 +13,6 @@ export interface RiebeckiteConfig {
|
|
|
15
13
|
publishStrategy?: PublishStrategy;
|
|
16
14
|
};
|
|
17
15
|
};
|
|
18
|
-
markdown?: {
|
|
19
|
-
syntaxHighlight?: {
|
|
20
|
-
theme?: string;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
16
|
theme?: ThemeInput;
|
|
24
17
|
plugins?: PluginInput[];
|
|
25
18
|
cache?: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function attachErrorPath<T>(error: T, path: string): T;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@riebeckite/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.18",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"tsx": "^4.22.4",
|
|
52
|
-
"@riebeckite/test": "0.0.
|
|
52
|
+
"@riebeckite/test": "0.0.18"
|
|
53
53
|
},
|
|
54
54
|
"repository": {
|
|
55
55
|
"type": "git",
|