@podlite/publisher 0.0.4 → 0.0.6

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/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  ## Upcoming
4
4
 
5
+ ## 0.0.6
6
+
7
+ - implement resolvers for `=include` block
8
+
9
+ ## 0.0.5
10
+
11
+ - initial support for `=Include` blocks and Selectors (https://podlite.org/specification#Selectors)
12
+ - add support for embeded data using `=data` block
13
+ - refactor existed and added new plugins:
14
+ - docs-injector-plugin
15
+ - dump-pages-plugin
16
+ - include-resolve-plugin.spec
17
+ - prev-next-plugin
18
+
5
19
  ## 0.0.4
6
20
 
7
21
  - add template configuration attribute for site: `:templateFile<file path>`
package/README.md CHANGED
@@ -22,19 +22,66 @@ Podlite aims to provide users with a means for creativity and expressing ideas i
22
22
 
23
23
  ## Useful links
24
24
 
25
- 📖 _Project site_: [podlite.org](https://podlite.org)
25
+ <div align="center">
26
+ <table border=0><tr><td valign=top><div align="center">
27
+
28
+ ##### specification
29
+
30
+ </div>
31
+
32
+ - [Source](https://github.com/podlite/podlite-specs)
33
+ - [in HTML](https://podlite.org/specification)
34
+ - [Discussions](https://github.com/podlite/podlite-specs/discussions)
35
+
36
+ <div align="center">
37
+
38
+ ##### implementation
39
+ </div>
40
+
41
+ - [Source](https://github.com/podlite/podlite)
42
+ - [Changelog](https://github.com/podlite/podlite/releases)
43
+ - [Issues](https://github.com/podlite/podlite/issues)
44
+
26
45
 
27
- 📌 _Github_: [github.com/podlite](https://github.com/podlite/) 🤩
46
+ </td><td valign=top><div align="center">
28
47
 
29
- 🖥️ _Online editor_: [pod6.in](https://pod6.in/)
48
+ ##### publishing system
30
49
 
31
- 🖥️ _Desktop editor/viewer_: [github.com/podlite/podlite-desktop](https://github.com/podlite/podlite-desktop) - the viewer and editor of `.podlite` and `.pod6` files for Windows, Linux and Mac.
50
+ </div>
51
+
52
+ - [Podlite-web](https://github.com/podlite/podlite-web)
53
+ - [How-to article](https://zahatski.com/2022/8/23/1/start-you-own-blog-site-with-podlite-for-web)
54
+ - [Issues](https://github.com/podlite/podlite-specs/issues)
55
+ - [Changelog](https://github.com/podlite/podlite-web/releases)
56
+ - [Example: Knowledge base for <br/> raku programming language](https://raku-knowledge-base.podlite.org/)
57
+
58
+ </td><td valign=top><div align="center">
59
+
60
+ ##### desktop viewer/editor
61
+
62
+ </div>
63
+
64
+ - [Podlite-desktop](https://github.com/podlite/podlite-desktop)
65
+ - [Releases](https://github.com/podlite/podlite-desktop/releases)
66
+ - [Issues](https://github.com/podlite/podlite-desktop/issues)
32
67
 
33
- 📚 _Podlite for web_ - static site generator: [github.com/podlite/podlite-web](https://github.com/podlite/podlite-web)
68
+ </td><td valign=top><div align="center">
69
+
70
+ ##### online resurces
71
+
72
+ </div>
73
+
74
+ - [podlite.org](https://podlite.org)
75
+ - [pod6.in](https://pod6.in/)
76
+ - [github.com/podlite](https://github.com/podlite/)
77
+ - [Podlite project updates](https://podlite.org/contents)
78
+
79
+ </td></tr></table>
80
+ </div>
34
81
 
35
82
  ## AUTHOR
36
83
 
37
- Copyright (c) 2021-2024 Aliaksandr Zahatski
84
+ Copyright (c) 2021-2025 Aliaksandr Zahatski
38
85
 
39
86
  ## License
40
87
 
@@ -0,0 +1,6 @@
1
+ import { PodliteWebPlugin, publishRecord } from '.';
2
+ interface docsInjectorPluginInitParams {
3
+ docs: publishRecord[];
4
+ }
5
+ declare const plugin: ({ docs }: docsInjectorPluginInitParams) => PodliteWebPlugin;
6
+ export default plugin;
@@ -0,0 +1,11 @@
1
+ const plugin = ({ docs = [] }) => {
2
+ const onExit = ctx => {
3
+ return { ...ctx };
4
+ };
5
+ const onProcess = (recs) => {
6
+ return [...recs, ...docs];
7
+ };
8
+ return [onProcess, onExit];
9
+ };
10
+ export default plugin;
11
+ //# sourceMappingURL=docs-injector-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-injector-plugin.js","sourceRoot":"","sources":["../src/docs-injector-plugin.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAgC,EAAoB,EAAE;IAC/E,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE;QACnB,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;IACnB,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE;QAC1C,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { PodliteWebPlugin } from '.';
2
+ interface dumpPagesPluginInitParams {
3
+ built_path: string;
4
+ }
5
+ declare const plugin: ({ built_path }: dumpPagesPluginInitParams) => PodliteWebPlugin;
6
+ export default plugin;
@@ -0,0 +1,21 @@
1
+ import { BUILT_PATH } from './constants';
2
+ import { streamWriteArray } from '.';
3
+ const plugin = ({ built_path = BUILT_PATH }) => {
4
+ let allRecords = [];
5
+ const outCtx = {};
6
+ const onExit = ctx => {
7
+ if (!ctx.testing) {
8
+ streamWriteArray(allRecords, `${built_path}/pages.json`)
9
+ .then(() => console.log('All pages written successfully'))
10
+ .catch(err => console.error('Error writing file:', err));
11
+ }
12
+ return { ...ctx, ...outCtx };
13
+ };
14
+ const onProcess = (recs) => {
15
+ allRecords.push(...recs);
16
+ return [...recs];
17
+ };
18
+ return [onProcess, onExit];
19
+ };
20
+ export default plugin;
21
+ //# sourceMappingURL=dump-pages-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dump-pages-plugin.js","sourceRoot":"","sources":["../src/dump-pages-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAA4D,gBAAgB,EAAE,MAAM,GAAG,CAAA;AAK9F,MAAM,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,EAA6B,EAAoB,EAAE;IAC1F,IAAI,UAAU,GAAoB,EAAE,CAAA;IAEpC,MAAM,MAAM,GAA4B,EAAE,CAAA;IAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE;QACnB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,gBAAgB,CAAC,UAAU,EAAE,GAAG,UAAU,aAAa,CAAC;iBACrD,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;iBACzD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAA;SAC3D;QACD,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IAC9B,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE;QAC1C,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACxB,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { PodliteWebPlugin } from '.';
2
+ declare const plugin: () => PodliteWebPlugin;
3
+ export default plugin;
@@ -0,0 +1,59 @@
1
+ import { getTextContentFromNode, makeInterator } from '@podlite/schema';
2
+ import { runSelector } from '.';
3
+ const plugin = () => {
4
+ const outCtx = {};
5
+ const docsMap = new Map();
6
+ const onExit = ctx => ({ ...ctx, ...outCtx });
7
+ const processNode = (node, recs) => {
8
+ const rules = {
9
+ // TODO: remove 'Include' due to duplicate to 'include'
10
+ Include: node => {
11
+ const { content } = node;
12
+ const selector = getTextContentFromNode(content).trim();
13
+ console.warn(`[include] start resolve selector: ${selector}`);
14
+ if (selector) {
15
+ // try to resolve selector
16
+ const [block] = runSelector(selector, recs);
17
+ if (typeof block === 'object' && !('file' in block)) {
18
+ const updated = { content: block };
19
+ return { ...node, ...updated };
20
+ }
21
+ if (!block) {
22
+ console.warn(`[plugin: resolve ] selector ${selector} not found`);
23
+ }
24
+ }
25
+ return node;
26
+ },
27
+ include: node => {
28
+ const { content } = node;
29
+ const selector = getTextContentFromNode(content).trim();
30
+ console.warn(`[include] start resolve selector: ${selector}`);
31
+ if (selector) {
32
+ // try to resolve selector
33
+ const [block] = runSelector(selector, recs);
34
+ if (typeof block === 'object' && !('file' in block)) {
35
+ const updated = { content: block };
36
+ return { ...node, ...updated };
37
+ }
38
+ if (!block) {
39
+ console.warn(`[plugin: resolve ] selector ${selector} not found`);
40
+ }
41
+ }
42
+ return node;
43
+ },
44
+ };
45
+ return makeInterator(rules)(node, {});
46
+ };
47
+ const onProcess = (recs) => {
48
+ // convert all doc: links to file:: links
49
+ const docsWithIncludesResolves = recs.map(item => {
50
+ const node = processNode(item.node, recs);
51
+ // const node = item.node
52
+ return { ...item, node };
53
+ });
54
+ return docsWithIncludesResolves;
55
+ };
56
+ return [onProcess, onExit];
57
+ };
58
+ export default plugin;
59
+ //# sourceMappingURL=include-resolve-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"include-resolve-plugin.js","sourceRoot":"","sources":["../src/include-resolve-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { PodliteWebPlugin } from '.';
2
+ declare const plugin: () => PodliteWebPlugin;
3
+ export default plugin;
@@ -0,0 +1,30 @@
1
+ const plugin = () => {
2
+ const outCtx = {};
3
+ const onExit = ctx => ({ ...ctx, ...outCtx });
4
+ const onProcess = (recs) => {
5
+ const notPages = recs.filter(({ type = '' }) => type !== 'page');
6
+ recs.forEach(item => {
7
+ if (item.publishUrl) {
8
+ const allData = (item.type !== 'page' ? notPages : recs).filter(({ publishUrl }) => Boolean(publishUrl));
9
+ const articleIndex = allData.findIndex(({ publishUrl }) => publishUrl === item.publishUrl);
10
+ const prepareReference = (item) => {
11
+ if (item) {
12
+ const { pluginsData, node, ...rest } = item;
13
+ return rest;
14
+ }
15
+ return false;
16
+ };
17
+ const prev = prepareReference(allData[articleIndex - 1]);
18
+ const next = prepareReference(allData[articleIndex + 1]);
19
+ //
20
+ const navigate = { prev, next };
21
+ item.pluginsData = item.pluginsData || {};
22
+ item.pluginsData.navigate = navigate;
23
+ }
24
+ });
25
+ return recs;
26
+ };
27
+ return [onProcess, onExit];
28
+ };
29
+ export default plugin;
30
+ //# sourceMappingURL=prev-next-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prev-next-plugin.js","sourceRoot":"","sources":["../src/prev-next-plugin.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,GAAqB,EAAE;IACpC,MAAM,MAAM,GAA4B,EAAE,CAAA;IAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,EAAO,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;QACrE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;gBACxG,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC1F,MAAM,gBAAgB,GAAG,CAAC,IAAmB,EAAiB,EAAE;oBAC9D,IAAI,IAAI,EAAE;wBACR,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;wBAC3C,OAAO,IAAI,CAAA;qBACZ;oBACD,OAAO,KAAK,CAAA;gBACd,CAAC,CAAA;gBACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAA;gBACxD,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAA;gBACxD,EAAE;gBAEF,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;gBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;gBACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;aACrC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,eAAe,MAAM,CAAA"}
package/esm/shared.d.ts CHANGED
@@ -34,3 +34,4 @@ export declare const addUrl: (items: publishRecord[]) => {
34
34
  sequence?: number;
35
35
  slug?: string;
36
36
  }[];
37
+ export declare const runSelector: (selector: string, docs: publishRecord[]) => publishRecord[] | PodNode[];
package/esm/shared.js CHANGED
@@ -1,4 +1,4 @@
1
- import { getFromTree, makeAttrs, makeInterator } from '@podlite/schema';
1
+ import { getFromTree, getNodeId, getTextContentFromNode, makeAttrs, makeInterator, } from '@podlite/schema';
2
2
  import { podlite as podlite_core } from 'podlite';
3
3
  // now we add base60 letters
4
4
  import translit from 'iso_9';
@@ -154,4 +154,74 @@ export const addUrl = (items) => {
154
154
  return { ...item, shortUrl, publishUrl, sources };
155
155
  });
156
156
  };
157
+ const parseSelector = (selector) => {
158
+ // doc:File1#data1
159
+ const docWithAnchorPattern = /^([^:]+):([^#]+)#(.+)$/;
160
+ // Try doc:name#anchor pattern first
161
+ const anchorMatch = selector.match(docWithAnchorPattern);
162
+ if (anchorMatch) {
163
+ return {
164
+ scheme: anchorMatch[1],
165
+ document: anchorMatch[2],
166
+ anchor: anchorMatch[3],
167
+ };
168
+ }
169
+ };
170
+ const getDocIDs = (doc) => {
171
+ const ids = [];
172
+ // for (const item of [doc]) {
173
+ getFromTree(doc.node, 'NAME', 'TITLE').map(block => {
174
+ const conf = makeAttrs(block, {});
175
+ const title = getTextContentFromNode(block).trim();
176
+ if (conf.exists('id')) {
177
+ const id = conf.getFirstValue('id');
178
+ if (id) {
179
+ ids.push(id);
180
+ }
181
+ }
182
+ ids.push(title);
183
+ });
184
+ return ids;
185
+ };
186
+ function getMapIDsBlocks(srcNode) {
187
+ const ids = [];
188
+ const idsMap = new Map();
189
+ const t = getFromTree(srcNode, { type: 'block' }).map(i => {
190
+ const id = getNodeId(i, {});
191
+ if (id) {
192
+ idsMap.set(id, i);
193
+ }
194
+ });
195
+ return idsMap;
196
+ }
197
+ export const runSelector = (selector, docs) => {
198
+ const paresedSelector = parseSelector(selector);
199
+ if (paresedSelector) {
200
+ const { scheme, document, anchor } = paresedSelector;
201
+ const filters = [];
202
+ if (scheme === 'doc') {
203
+ filters.push((doc) => {
204
+ // console.log(`[incliude] `)
205
+ return getDocIDs(doc).includes(document);
206
+ });
207
+ }
208
+ // Return documents that successfully pass all the filters.
209
+ const subdocs = docs.filter(item => !filters.some(fn => !fn(item)));
210
+ console.warn(`[include] found ${subdocs.length} docs for ${document}`);
211
+ if (anchor) {
212
+ const collected_blocks = [];
213
+ for (const d of subdocs) {
214
+ const idsMap = getMapIDsBlocks(d.node);
215
+ const block = idsMap.get(anchor);
216
+ if (block) {
217
+ collected_blocks.push(block);
218
+ }
219
+ }
220
+ console.warn(`[include] found ${collected_blocks.length} blocks for anchor: ${anchor}`);
221
+ return collected_blocks;
222
+ }
223
+ }
224
+ console.log(`[include] no any blocks found for ${selector}`);
225
+ return [];
226
+ };
157
227
  //# sourceMappingURL=shared.js.map
package/esm/shared.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { getFromTree, getTextContentFromNode, makeAttrs, makeInterator } from '@podlite/schema';
2
2
  import { BUILT_PATH, INDEX_PATH, POSTS_PATH, PUBLIC_PATH } from './constants';
3
3
  import * as fs from 'fs';
4
- import { streamWriteArray } from '.';
4
+ import { processFile } from '.';
5
5
  import pathFs from 'path';
6
6
  const plugin = ({ public_path = PUBLIC_PATH, indexFilePath = `${POSTS_PATH}/${INDEX_PATH}`, built_path = BUILT_PATH, site_url, }) => {
7
7
  let indexPage;
@@ -71,25 +71,10 @@ const plugin = ({ public_path = PUBLIC_PATH, indexFilePath = `${POSTS_PATH}/${IN
71
71
  siteInfo: siteData,
72
72
  };
73
73
  if (!ctx.testing) {
74
- streamWriteArray(allRecords, `${built_path}/pages.json`)
75
- .then(() => console.log('All pages written successfully'))
76
- .catch(err => console.error('Error writing file:', err));
77
74
  fs.writeFileSync(`${built_path}/data.json`, JSON.stringify(dataJson));
78
75
  fs.writeFileSync(`${built_path}/siteInfo.json`, JSON.stringify(siteData, null, 2));
79
76
  fs.writeFileSync(`${built_path}/imagesMap.json`, JSON.stringify(imagesMap, null, 2));
80
77
  }
81
- // prepare data for LastArticles component
82
- if (!ctx.testing) {
83
- const source = () => allRecords.filter(i => i.publishUrl).filter(({ type = '' }) => type !== 'page');
84
- const articles = source().reverse().slice(0, 10);
85
- // if (!articles[articles.length - 1]) {
86
- // throw new Error('No articles found' + JSON.stringify({'articles.length - 1':articles.length - 1, articles, 'allRecords':allRecords.length}, null, 2))
87
- // }
88
- // const lastArticleUrl = articles[articles.length - 1].publishUrl
89
- // const articleIndex = source().findIndex(({ publishUrl }) => publishUrl === lastArticleUrl)
90
- // const prev = source()[articleIndex - 1]
91
- fs.writeFileSync(`${built_path}/lastArticles.json`, JSON.stringify({ articles, prev: {} }, null, 2));
92
- }
93
78
  // process GlobalStyles
94
79
  let stylesContent = '';
95
80
  if (siteData.globalStyles) {
@@ -127,8 +112,19 @@ const plugin = ({ public_path = PUBLIC_PATH, indexFilePath = `${POSTS_PATH}/${IN
127
112
  throw new Error('Index page not found. Used path: ' + indexFilePath);
128
113
  }
129
114
  indexPage.publishUrl = '/';
130
- allRecords.push(...recs);
131
- return recs;
115
+ const articlesJSON = JSON.stringify(recs.filter(i => i.publishUrl).filter(({ type = '' }) => type !== 'page'));
116
+ const storeFile = `
117
+ =begin pod
118
+ =for NAME :id<PLUGIN_DATA>
119
+ SITE DATA
120
+ =begin data :id<articles>
121
+ ${articlesJSON}
122
+ =end data
123
+ =end pod
124
+ `;
125
+ const storeDoc = processFile('virtual/site-data-plugin.podlite', storeFile);
126
+ allRecords.push(...recs, storeDoc);
127
+ return [...recs, storeDoc];
132
128
  };
133
129
  return [onProcess, onExit];
134
130
  };
@@ -1 +1 @@
1
- {"version":3,"file":"site-data-plugin.js","sourceRoot":"","sources":["../src/site-data-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"site-data-plugin.js","sourceRoot":"","sources":["../src/site-data-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { PodliteWebPlugin, publishRecord } from '.';
2
+ interface docsInjectorPluginInitParams {
3
+ docs: publishRecord[];
4
+ }
5
+ declare const plugin: ({ docs }: docsInjectorPluginInitParams) => PodliteWebPlugin;
6
+ export default plugin;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const plugin = ({ docs = [] }) => {
4
+ const onExit = ctx => {
5
+ return { ...ctx };
6
+ };
7
+ const onProcess = (recs) => {
8
+ return [...recs, ...docs];
9
+ };
10
+ return [onProcess, onExit];
11
+ };
12
+ exports.default = plugin;
13
+ //# sourceMappingURL=docs-injector-plugin.js.map
@@ -0,0 +1,6 @@
1
+ import { PodliteWebPlugin } from '.';
2
+ interface dumpPagesPluginInitParams {
3
+ built_path: string;
4
+ }
5
+ declare const plugin: ({ built_path }: dumpPagesPluginInitParams) => PodliteWebPlugin;
6
+ export default plugin;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const constants_1 = require("./constants");
4
+ const _1 = require(".");
5
+ const plugin = ({ built_path = constants_1.BUILT_PATH }) => {
6
+ let allRecords = [];
7
+ const outCtx = {};
8
+ const onExit = ctx => {
9
+ if (!ctx.testing) {
10
+ (0, _1.streamWriteArray)(allRecords, `${built_path}/pages.json`)
11
+ .then(() => console.log('All pages written successfully'))
12
+ .catch(err => console.error('Error writing file:', err));
13
+ }
14
+ return { ...ctx, ...outCtx };
15
+ };
16
+ const onProcess = (recs) => {
17
+ allRecords.push(...recs);
18
+ return [...recs];
19
+ };
20
+ return [onProcess, onExit];
21
+ };
22
+ exports.default = plugin;
23
+ //# sourceMappingURL=dump-pages-plugin.js.map
@@ -0,0 +1,3 @@
1
+ import { PodliteWebPlugin } from '.';
2
+ declare const plugin: () => PodliteWebPlugin;
3
+ export default plugin;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const schema_1 = require("@podlite/schema");
4
+ const _1 = require(".");
5
+ const plugin = () => {
6
+ const outCtx = {};
7
+ const docsMap = new Map();
8
+ const onExit = ctx => ({ ...ctx, ...outCtx });
9
+ const processNode = (node, recs) => {
10
+ const rules = {
11
+ // TODO: remove 'Include' due to duplicate to 'include'
12
+ Include: node => {
13
+ const { content } = node;
14
+ const selector = (0, schema_1.getTextContentFromNode)(content).trim();
15
+ console.warn(`[include] start resolve selector: ${selector}`);
16
+ if (selector) {
17
+ // try to resolve selector
18
+ const [block] = (0, _1.runSelector)(selector, recs);
19
+ if (typeof block === 'object' && !('file' in block)) {
20
+ const updated = { content: block };
21
+ return { ...node, ...updated };
22
+ }
23
+ if (!block) {
24
+ console.warn(`[plugin: resolve ] selector ${selector} not found`);
25
+ }
26
+ }
27
+ return node;
28
+ },
29
+ include: node => {
30
+ const { content } = node;
31
+ const selector = (0, schema_1.getTextContentFromNode)(content).trim();
32
+ console.warn(`[include] start resolve selector: ${selector}`);
33
+ if (selector) {
34
+ // try to resolve selector
35
+ const [block] = (0, _1.runSelector)(selector, recs);
36
+ if (typeof block === 'object' && !('file' in block)) {
37
+ const updated = { content: block };
38
+ return { ...node, ...updated };
39
+ }
40
+ if (!block) {
41
+ console.warn(`[plugin: resolve ] selector ${selector} not found`);
42
+ }
43
+ }
44
+ return node;
45
+ },
46
+ };
47
+ return (0, schema_1.makeInterator)(rules)(node, {});
48
+ };
49
+ const onProcess = (recs) => {
50
+ // convert all doc: links to file:: links
51
+ const docsWithIncludesResolves = recs.map(item => {
52
+ const node = processNode(item.node, recs);
53
+ // const node = item.node
54
+ return { ...item, node };
55
+ });
56
+ return docsWithIncludesResolves;
57
+ };
58
+ return [onProcess, onExit];
59
+ };
60
+ exports.default = plugin;
61
+ //# sourceMappingURL=include-resolve-plugin.js.map
@@ -0,0 +1,3 @@
1
+ import { PodliteWebPlugin } from '.';
2
+ declare const plugin: () => PodliteWebPlugin;
3
+ export default plugin;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const plugin = () => {
4
+ const outCtx = {};
5
+ const onExit = ctx => ({ ...ctx, ...outCtx });
6
+ const onProcess = (recs) => {
7
+ const notPages = recs.filter(({ type = '' }) => type !== 'page');
8
+ recs.forEach(item => {
9
+ if (item.publishUrl) {
10
+ const allData = (item.type !== 'page' ? notPages : recs).filter(({ publishUrl }) => Boolean(publishUrl));
11
+ const articleIndex = allData.findIndex(({ publishUrl }) => publishUrl === item.publishUrl);
12
+ const prepareReference = (item) => {
13
+ if (item) {
14
+ const { pluginsData, node, ...rest } = item;
15
+ return rest;
16
+ }
17
+ return false;
18
+ };
19
+ const prev = prepareReference(allData[articleIndex - 1]);
20
+ const next = prepareReference(allData[articleIndex + 1]);
21
+ //
22
+ const navigate = { prev, next };
23
+ item.pluginsData = item.pluginsData || {};
24
+ item.pluginsData.navigate = navigate;
25
+ }
26
+ });
27
+ return recs;
28
+ };
29
+ return [onProcess, onExit];
30
+ };
31
+ exports.default = plugin;
32
+ //# sourceMappingURL=prev-next-plugin.js.map
package/lib/shared.d.ts CHANGED
@@ -34,3 +34,4 @@ export declare const addUrl: (items: publishRecord[]) => {
34
34
  sequence?: number;
35
35
  slug?: string;
36
36
  }[];
37
+ export declare const runSelector: (selector: string, docs: publishRecord[]) => publishRecord[] | PodNode[];
package/lib/shared.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.addUrl = exports.getAllArticles = exports.isExistsPubdate = exports.isExistsDocBlocks = exports.makeAstFromSrc = exports.defaultLangForFile = exports.getLangFromFilename = void 0;
6
+ exports.runSelector = exports.addUrl = exports.getAllArticles = exports.isExistsPubdate = exports.isExistsDocBlocks = exports.makeAstFromSrc = exports.defaultLangForFile = exports.getLangFromFilename = void 0;
7
7
  const schema_1 = require("@podlite/schema");
8
8
  const podlite_1 = require("podlite");
9
9
  // now we add base60 letters
@@ -166,4 +166,75 @@ const addUrl = (items) => {
166
166
  });
167
167
  };
168
168
  exports.addUrl = addUrl;
169
+ const parseSelector = (selector) => {
170
+ // doc:File1#data1
171
+ const docWithAnchorPattern = /^([^:]+):([^#]+)#(.+)$/;
172
+ // Try doc:name#anchor pattern first
173
+ const anchorMatch = selector.match(docWithAnchorPattern);
174
+ if (anchorMatch) {
175
+ return {
176
+ scheme: anchorMatch[1],
177
+ document: anchorMatch[2],
178
+ anchor: anchorMatch[3],
179
+ };
180
+ }
181
+ };
182
+ const getDocIDs = (doc) => {
183
+ const ids = [];
184
+ // for (const item of [doc]) {
185
+ (0, schema_1.getFromTree)(doc.node, 'NAME', 'TITLE').map(block => {
186
+ const conf = (0, schema_1.makeAttrs)(block, {});
187
+ const title = (0, schema_1.getTextContentFromNode)(block).trim();
188
+ if (conf.exists('id')) {
189
+ const id = conf.getFirstValue('id');
190
+ if (id) {
191
+ ids.push(id);
192
+ }
193
+ }
194
+ ids.push(title);
195
+ });
196
+ return ids;
197
+ };
198
+ function getMapIDsBlocks(srcNode) {
199
+ const ids = [];
200
+ const idsMap = new Map();
201
+ const t = (0, schema_1.getFromTree)(srcNode, { type: 'block' }).map(i => {
202
+ const id = (0, schema_1.getNodeId)(i, {});
203
+ if (id) {
204
+ idsMap.set(id, i);
205
+ }
206
+ });
207
+ return idsMap;
208
+ }
209
+ const runSelector = (selector, docs) => {
210
+ const paresedSelector = parseSelector(selector);
211
+ if (paresedSelector) {
212
+ const { scheme, document, anchor } = paresedSelector;
213
+ const filters = [];
214
+ if (scheme === 'doc') {
215
+ filters.push((doc) => {
216
+ // console.log(`[incliude] `)
217
+ return getDocIDs(doc).includes(document);
218
+ });
219
+ }
220
+ // Return documents that successfully pass all the filters.
221
+ const subdocs = docs.filter(item => !filters.some(fn => !fn(item)));
222
+ console.warn(`[include] found ${subdocs.length} docs for ${document}`);
223
+ if (anchor) {
224
+ const collected_blocks = [];
225
+ for (const d of subdocs) {
226
+ const idsMap = getMapIDsBlocks(d.node);
227
+ const block = idsMap.get(anchor);
228
+ if (block) {
229
+ collected_blocks.push(block);
230
+ }
231
+ }
232
+ console.warn(`[include] found ${collected_blocks.length} blocks for anchor: ${anchor}`);
233
+ return collected_blocks;
234
+ }
235
+ }
236
+ console.log(`[include] no any blocks found for ${selector}`);
237
+ return [];
238
+ };
239
+ exports.runSelector = runSelector;
169
240
  //# sourceMappingURL=shared.js.map
@@ -95,25 +95,10 @@ const plugin = ({ public_path = constants_1.PUBLIC_PATH, indexFilePath = `${cons
95
95
  siteInfo: siteData,
96
96
  };
97
97
  if (!ctx.testing) {
98
- (0, _1.streamWriteArray)(allRecords, `${built_path}/pages.json`)
99
- .then(() => console.log('All pages written successfully'))
100
- .catch(err => console.error('Error writing file:', err));
101
98
  fs.writeFileSync(`${built_path}/data.json`, JSON.stringify(dataJson));
102
99
  fs.writeFileSync(`${built_path}/siteInfo.json`, JSON.stringify(siteData, null, 2));
103
100
  fs.writeFileSync(`${built_path}/imagesMap.json`, JSON.stringify(imagesMap, null, 2));
104
101
  }
105
- // prepare data for LastArticles component
106
- if (!ctx.testing) {
107
- const source = () => allRecords.filter(i => i.publishUrl).filter(({ type = '' }) => type !== 'page');
108
- const articles = source().reverse().slice(0, 10);
109
- // if (!articles[articles.length - 1]) {
110
- // throw new Error('No articles found' + JSON.stringify({'articles.length - 1':articles.length - 1, articles, 'allRecords':allRecords.length}, null, 2))
111
- // }
112
- // const lastArticleUrl = articles[articles.length - 1].publishUrl
113
- // const articleIndex = source().findIndex(({ publishUrl }) => publishUrl === lastArticleUrl)
114
- // const prev = source()[articleIndex - 1]
115
- fs.writeFileSync(`${built_path}/lastArticles.json`, JSON.stringify({ articles, prev: {} }, null, 2));
116
- }
117
102
  // process GlobalStyles
118
103
  let stylesContent = '';
119
104
  if (siteData.globalStyles) {
@@ -151,8 +136,19 @@ const plugin = ({ public_path = constants_1.PUBLIC_PATH, indexFilePath = `${cons
151
136
  throw new Error('Index page not found. Used path: ' + indexFilePath);
152
137
  }
153
138
  indexPage.publishUrl = '/';
154
- allRecords.push(...recs);
155
- return recs;
139
+ const articlesJSON = JSON.stringify(recs.filter(i => i.publishUrl).filter(({ type = '' }) => type !== 'page'));
140
+ const storeFile = `
141
+ =begin pod
142
+ =for NAME :id<PLUGIN_DATA>
143
+ SITE DATA
144
+ =begin data :id<articles>
145
+ ${articlesJSON}
146
+ =end data
147
+ =end pod
148
+ `;
149
+ const storeDoc = (0, _1.processFile)('virtual/site-data-plugin.podlite', storeFile);
150
+ allRecords.push(...recs, storeDoc);
151
+ return [...recs, storeDoc];
156
152
  };
157
153
  return [onProcess, onExit];
158
154
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@podlite/publisher",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "Library that powers publishing and CLI tools for the Podlite markup language",
5
5
  "main": "lib/index.js",
6
6
  "license": "MIT",
@@ -33,7 +33,7 @@
33
33
  "markup-language"
34
34
  ],
35
35
  "dependencies": {
36
- "@podlite/schema": "0.0.23",
36
+ "@podlite/schema": "0.0.25",
37
37
  "crc-32": "^1.2.2",
38
38
  "gray-matter": "^4.0.3",
39
39
  "iso_9": "^1.0.4",