@moonwave99/goffre 0.1.1 → 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/dist/index.d.ts +40 -1
- package/dist/index.js +5 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
import { MarkedExtension, RendererObject } from 'marked';
|
|
2
|
+
import { HelperOptions } from 'handlebars';
|
|
2
3
|
|
|
4
|
+
type Context = {
|
|
5
|
+
data: {
|
|
6
|
+
root: {
|
|
7
|
+
options?: {
|
|
8
|
+
domain?: string;
|
|
9
|
+
env?: {
|
|
10
|
+
mode?: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
type HelperContext = Context & Omit<HelperOptions, "fn" | "inverse">;
|
|
17
|
+
type BlockContext = Context & HelperOptions;
|
|
18
|
+
declare const markdown: (text: string) => string | Promise<string>;
|
|
19
|
+
declare const getParamLink: (url: string, options: HelperContext) => string;
|
|
20
|
+
declare const getAsset: (asset: string, context: Omit<HelperContext, "hash">) => string;
|
|
21
|
+
declare const getSitemapLink: (page: Page, context: HelperContext) => string;
|
|
22
|
+
declare const getLink: (page: Page, context: HelperContext) => string;
|
|
23
|
+
declare const getNavClass: ({ slug }: Page, currentPage: Page) => string;
|
|
24
|
+
declare const list: (context: Page[], options: BlockContext) => string;
|
|
25
|
+
declare const nextItem: (context: Page, options: Pick<BlockContext, "hash" | "fn">) => string | undefined;
|
|
26
|
+
declare const prevItem: (context: Page, options: Pick<BlockContext, "hash" | "fn">) => string | undefined;
|
|
27
|
+
|
|
28
|
+
declare const defaultHelpers_getAsset: typeof getAsset;
|
|
29
|
+
declare const defaultHelpers_getLink: typeof getLink;
|
|
30
|
+
declare const defaultHelpers_getNavClass: typeof getNavClass;
|
|
31
|
+
declare const defaultHelpers_getParamLink: typeof getParamLink;
|
|
32
|
+
declare const defaultHelpers_getSitemapLink: typeof getSitemapLink;
|
|
33
|
+
declare const defaultHelpers_list: typeof list;
|
|
34
|
+
declare const defaultHelpers_markdown: typeof markdown;
|
|
35
|
+
declare const defaultHelpers_nextItem: typeof nextItem;
|
|
36
|
+
declare const defaultHelpers_prevItem: typeof prevItem;
|
|
37
|
+
declare namespace defaultHelpers {
|
|
38
|
+
export { defaultHelpers_getAsset as getAsset, defaultHelpers_getLink as getLink, defaultHelpers_getNavClass as getNavClass, defaultHelpers_getParamLink as getParamLink, defaultHelpers_getSitemapLink as getSitemapLink, defaultHelpers_list as list, defaultHelpers_markdown as markdown, defaultHelpers_nextItem as nextItem, defaultHelpers_prevItem as prevItem };
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
declare const helpers: typeof defaultHelpers;
|
|
3
42
|
type Page = {
|
|
4
43
|
slug: string;
|
|
5
44
|
link?: string;
|
|
@@ -80,4 +119,4 @@ type PaginatedResult<T extends Page> = {
|
|
|
80
119
|
};
|
|
81
120
|
declare function paginate<T extends Page>({ collection, size, sortBy, order, }: PaginateParams<T>): PaginatedResult<T>[];
|
|
82
121
|
|
|
83
|
-
export { type Page, getSlug, getSorter, getTemplate, load, loadJSON, loadMarkdown, paginate, render };
|
|
122
|
+
export { type Page, getSlug, getSorter, getTemplate, helpers, load, loadJSON, loadMarkdown, paginate, render };
|
package/dist/index.js
CHANGED
|
@@ -94,6 +94,7 @@ var prevItem = (context, options) => {
|
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
// lib/goffre.ts
|
|
97
|
+
var helpers = helpers_exports;
|
|
97
98
|
var require2 = createRequire(import.meta.url);
|
|
98
99
|
var { readFile, outputFile } = fs;
|
|
99
100
|
var DEFAULT_DATA_PATH = path.join(process.cwd(), "data");
|
|
@@ -156,6 +157,7 @@ function renderPage({
|
|
|
156
157
|
buildPath,
|
|
157
158
|
maxSlugLogLength,
|
|
158
159
|
blockSeparator,
|
|
160
|
+
sitemapLink,
|
|
159
161
|
...page
|
|
160
162
|
}) {
|
|
161
163
|
return new Promise((resolve, reject) => {
|
|
@@ -178,6 +180,7 @@ function renderPage({
|
|
|
178
180
|
template,
|
|
179
181
|
{
|
|
180
182
|
...page,
|
|
183
|
+
sitemapLink,
|
|
181
184
|
layout: typeof page.layout === "undefined" ? "main" : page.layout,
|
|
182
185
|
content: page.content ? marked2.parse(page.content) : null,
|
|
183
186
|
blocks: getPageBlocks(
|
|
@@ -321,6 +324,7 @@ async function render({
|
|
|
321
324
|
buildPath,
|
|
322
325
|
app,
|
|
323
326
|
templates,
|
|
327
|
+
sitemapLink: sitemap.generate ? `${domain}/sitemap.xml` : "",
|
|
324
328
|
blockSeparator,
|
|
325
329
|
maxSlugLogLength: Math.min(
|
|
326
330
|
Math.max.call(null, ...pages.map((x2) => x2.slug.length)),
|
|
@@ -387,6 +391,7 @@ export {
|
|
|
387
391
|
getSlug,
|
|
388
392
|
getSorter,
|
|
389
393
|
getTemplate,
|
|
394
|
+
helpers,
|
|
390
395
|
load,
|
|
391
396
|
loadJSON,
|
|
392
397
|
loadMarkdown,
|