noblog 0.0.3 → 0.0.4

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.
Files changed (40) hide show
  1. package/dist/generate.esm.js +240 -0
  2. package/dist/generate.esm.js.map +1 -0
  3. package/dist/generate.js +262 -0
  4. package/dist/generate.js.map +1 -0
  5. package/dist/lib/{cvtmd.d.ts → nomd/format.d.ts} +1 -1
  6. package/dist/lib/nomd/format.d.ts.map +1 -0
  7. package/dist/lib/nomd/nomd.d.ts +7 -1
  8. package/dist/lib/nomd/nomd.d.ts.map +1 -1
  9. package/package.json +1 -1
  10. package/dist/cmds/generate.js +0 -48
  11. package/dist/cmds/generate.js.map +0 -1
  12. package/dist/index.js +0 -32
  13. package/dist/index.js.map +0 -1
  14. package/dist/lib/cvtmd.d.ts.map +0 -1
  15. package/dist/lib/cvtmd.js +0 -111
  16. package/dist/lib/cvtmd.js.map +0 -1
  17. package/dist/lib/nomd/cvter.d.ts +0 -38
  18. package/dist/lib/nomd/cvter.d.ts.map +0 -1
  19. package/dist/lib/nomd/cvter.js +0 -111
  20. package/dist/lib/nomd/cvter.js.map +0 -1
  21. package/dist/lib/nomd/nomd.js +0 -88
  22. package/dist/lib/nomd/nomd.js.map +0 -1
  23. package/dist/lib/nomd.d.ts +0 -8
  24. package/dist/lib/nomd.d.ts.map +0 -1
  25. package/dist/lib/nomd.js +0 -50
  26. package/dist/lib/nomd.js.map +0 -1
  27. package/dist/lib/nosm/default.d.ts +0 -2
  28. package/dist/lib/nosm/default.d.ts.map +0 -1
  29. package/dist/lib/nosm/default.js +0 -2
  30. package/dist/lib/nosm/default.js.map +0 -1
  31. package/dist/lib/nosm/nosm.d.ts +0 -2
  32. package/dist/lib/nosm/nosm.d.ts.map +0 -1
  33. package/dist/lib/nosm/nosm.js +0 -3
  34. package/dist/lib/nosm/nosm.js.map +0 -1
  35. package/dist/lib/notion/client.js +0 -64
  36. package/dist/lib/notion/client.js.map +0 -1
  37. package/dist/lib/notion/object.js +0 -2
  38. package/dist/lib/notion/object.js.map +0 -1
  39. package/dist/lib/notion/request.js +0 -2
  40. package/dist/lib/notion/request.js.map +0 -1
@@ -0,0 +1,240 @@
1
+ import * as path from 'path';
2
+ import * as fs from 'fs/promises';
3
+ import { NotionToMarkdown } from 'notion-to-md';
4
+ import 'node-fetch';
5
+ import 'markdown-table';
6
+ import 'dotenv/config';
7
+ import retry from 'async-retry';
8
+ import { Client, APIResponseError } from '@notionhq/client';
9
+
10
+ const addTabSpace = (text, n = 0) => {
11
+ const tab = " ";
12
+ for (let i = 0; i < n; i++) {
13
+ if (text.includes("\n")) {
14
+ const multiLineText = text.split(/(?:^|\n)/).join(`\n${tab}`);
15
+ text = tab + multiLineText;
16
+ }
17
+ else
18
+ text = tab + text;
19
+ }
20
+ return text;
21
+ };
22
+ const toggle = (summary, children) => {
23
+ if (!summary)
24
+ return children || "";
25
+ return `<details>
26
+ <summary>${summary}</summary>
27
+ ${children || ""}
28
+ </details>\n\n`;
29
+ };
30
+
31
+ const NOTION_API_SECRET = process.env.NOTION_API_SECRET ?? '';
32
+ const NOBLOG_DATABASE_ID = process.env.NOBLOG_DATABASE_ID ?? '';
33
+ const client = new Client({
34
+ auth: NOTION_API_SECRET,
35
+ });
36
+ const numberOfRetry = 2;
37
+ async function GetAllPosts() {
38
+ const params = {
39
+ database_id: NOBLOG_DATABASE_ID,
40
+ filter: {
41
+ and: [{
42
+ property: 'publish',
43
+ checkbox: { equals: true, },
44
+ }]
45
+ },
46
+ sorts: [{
47
+ property: 'date',
48
+ direction: 'descending',
49
+ }],
50
+ page_size: 100,
51
+ };
52
+ let results = [];
53
+ while (true) {
54
+ const res = await retry(async (bail) => {
55
+ try {
56
+ return (await client.databases.query(params));
57
+ }
58
+ catch (error) {
59
+ if (error instanceof APIResponseError) {
60
+ if (error.status && error.status >= 400 && error.status < 500) {
61
+ bail(error);
62
+ }
63
+ }
64
+ throw error;
65
+ }
66
+ }, { retries: numberOfRetry, });
67
+ results = results.concat(res.results);
68
+ if (!res.has_more) {
69
+ break;
70
+ }
71
+ params['start_cursor'] = res.next_cursor;
72
+ }
73
+ return results;
74
+ }
75
+ async function GetPageMeta(page_id) {
76
+ const result = await retry(async (bail) => {
77
+ try {
78
+ return (await client.pages.retrieve({ page_id: page_id }));
79
+ }
80
+ catch (error) {
81
+ if (error instanceof APIResponseError) {
82
+ if (error.status && error.status >= 400 && error.status < 500) {
83
+ bail(error);
84
+ }
85
+ }
86
+ throw error;
87
+ }
88
+ }, { retries: numberOfRetry, });
89
+ return result;
90
+ }
91
+
92
+ class Noblog extends NotionToMarkdown {
93
+ Posts = [];
94
+ SavePath = "./src/pages/posts/";
95
+ ChildPath = "nob_children/";
96
+ MdCollection = {};
97
+ constructor(posts, save_path, child_path) {
98
+ super({ notionClient: client });
99
+ this.Posts = posts;
100
+ if (child_path != undefined) {
101
+ this.ChildPath = child_path;
102
+ }
103
+ if (save_path != undefined) {
104
+ this.SavePath = save_path;
105
+ }
106
+ this.setCustomTransformer("child_page", async (block) => {
107
+ let path = this.ChildPath;
108
+ const page = block;
109
+ if (!page?.id) {
110
+ return false;
111
+ }
112
+ if (this.Posts.filter(post => post.id === page.child_page.title).length > 0) {
113
+ path = "";
114
+ }
115
+ return `[${page.child_page.title}](${path}${page.id})`;
116
+ });
117
+ }
118
+ async Collect(recur = true) {
119
+ const save_dir = this.SavePath;
120
+ const sub_dir = path.join(save_dir, this.ChildPath);
121
+ const futs = this.Posts.map(page => {
122
+ return this.FromPageid(page.id, recur);
123
+ });
124
+ try {
125
+ await Promise.all(futs);
126
+ for (const pageid of Object.keys(this.MdCollection)) {
127
+ let fpath = sub_dir;
128
+ if (this.Posts.find(page => page.id === pageid))
129
+ fpath = save_dir;
130
+ await this.SaveJelly(pageid + ".md", fpath, this.MdCollection[pageid]);
131
+ }
132
+ console.log(`success: finish dump all files to "${save_dir}"`);
133
+ }
134
+ catch (error) {
135
+ if (error instanceof Error) {
136
+ console.log(`failed: consider run verbose with v=true - ${error.message}`);
137
+ }
138
+ else {
139
+ console.log('failed: an unknown error occurred');
140
+ }
141
+ }
142
+ }
143
+ async FromBlocks(blocks, recursive) {
144
+ let jelly = { content: "", children: [] };
145
+ for (const block of blocks) {
146
+ const subjelly = await this.FromBlocks(block.children, recursive);
147
+ if (block.type === "toggle") {
148
+ jelly.content += toggle(block.parent, subjelly.content);
149
+ jelly.children = [...jelly.children, ...subjelly.children];
150
+ continue;
151
+ }
152
+ let line_wrap = "";
153
+ if (block.type !== "to_do" &&
154
+ block.type !== "bulleted_list_item" &&
155
+ block.type !== "numbered_list_item") {
156
+ line_wrap = "\n";
157
+ }
158
+ jelly.content += (line_wrap + `${addTabSpace(block.parent, 0)}\n` + line_wrap);
159
+ if (block.type === "child_page") {
160
+ jelly.children = [...jelly.children, block.blockId];
161
+ if (recursive)
162
+ await this.FromPageid(block.blockId, recursive);
163
+ }
164
+ else {
165
+ jelly.content += subjelly.content;
166
+ jelly.children = [...jelly.children, ...subjelly.children];
167
+ }
168
+ }
169
+ return jelly;
170
+ }
171
+ async FromPageid(page_id, recursive = true) {
172
+ if (this.MdCollection.hasOwnProperty(page_id)) {
173
+ return this.MdCollection[page_id];
174
+ }
175
+ const blocks = await this.pageToMarkdown(page_id);
176
+ const jelly = await this.FromBlocks(blocks, recursive);
177
+ const meta = await GetPageMeta(page_id);
178
+ const astro_meta = await this.AssembleAstroFrontmatter(meta);
179
+ jelly.content = astro_meta + jelly.content;
180
+ this.MdCollection[page_id] = jelly;
181
+ return jelly;
182
+ }
183
+ async SaveJelly(fname, dir, jelly) {
184
+ if (jelly === undefined)
185
+ return `failed: ${fname} has empty jelly: `;
186
+ try {
187
+ await fs.mkdir(dir, { recursive: true });
188
+ const filePath = path.join(dir, fname);
189
+ await fs.writeFile(filePath, jelly.content, 'utf-8');
190
+ return `success: ${fname} saved to ${filePath}`;
191
+ }
192
+ catch (error) {
193
+ if (error instanceof Error) {
194
+ return `failed: ${fname} - ${error.message}`;
195
+ }
196
+ else {
197
+ return 'failed: an unknown error occurred';
198
+ }
199
+ }
200
+ }
201
+ async AssembleAstroFrontmatter(page) {
202
+ let frontmatter = "";
203
+ // default layout
204
+ const ischild = this.Posts.filter(post => post.id === page.id).length > 0 ? "" : "../";
205
+ frontmatter += "layout: " + ischild + "../../layouts/MarkdownPostLayout.astro" + "\n";
206
+ // get title
207
+ frontmatter += "title: " + JSON.stringify(page.properties.title?.title?.[0]?.plain_text ?? "") + "\n";
208
+ // get tags
209
+ frontmatter += "tags: " + JSON.stringify((page.properties.tags?.multi_select ?? []).map(tag => tag.name)) + "\n";
210
+ // get date
211
+ frontmatter += "date: " + (page.properties.date?.date?.start ?? "") + "\n";
212
+ // get archived
213
+ frontmatter += "archived: " + (page.properties.archived ? "true" : "false") + "\n";
214
+ // get description
215
+ frontmatter += "desc: " + JSON.stringify(page.properties.description?.rich_text?.[0]?.plain_text ?? "") + "\n";
216
+ return "---\n" + frontmatter + "---\n";
217
+ }
218
+ }
219
+
220
+ function help() {
221
+ const usage = "Usage:\n noblog <SAVE_DIR> <SUB_DIR>";
222
+ const example = "Example:\n noblog";
223
+ const params = "Config:\n save_dir: dir for posts in database. (default: ./src/pages/posts)\n sub_dir: sub pages during collection. (default: nob_children/)";
224
+ const output = usage + "\n" + example + "\n" + params + "\n";
225
+ return output;
226
+ }
227
+ async function main() {
228
+ const argv = process.argv.slice(2);
229
+ if (argv.length > 2) {
230
+ console.error("Error: invallid arg.");
231
+ console.log(help());
232
+ }
233
+ const save_dir = argv[0] ?? "./src/pages/posts";
234
+ const sub_dir = argv[1] ?? "nob_children/";
235
+ const pages = await GetAllPosts();
236
+ const nob = new Noblog(pages, save_dir, sub_dir);
237
+ nob.Collect(true);
238
+ }
239
+ main();
240
+ //# sourceMappingURL=generate.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.esm.js","sources":["../src/lib/nomd/format.ts","../src/lib/notion/client.ts","../src/lib/nomd/nomd.ts","../src/cmds/generate.ts"],"sourcesContent":[null,null,null,null],"names":["notion_client","fmt.toggle","fmt.addTabSpace"],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var fs = require('fs/promises');
5
+ var notionToMd = require('notion-to-md');
6
+ require('node-fetch');
7
+ require('markdown-table');
8
+ require('dotenv/config');
9
+ var retry = require('async-retry');
10
+ var client$1 = require('@notionhq/client');
11
+
12
+ function _interopNamespaceDefault(e) {
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () { return e[k]; }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n.default = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
30
+ var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
31
+
32
+ const addTabSpace = (text, n = 0) => {
33
+ const tab = " ";
34
+ for (let i = 0; i < n; i++) {
35
+ if (text.includes("\n")) {
36
+ const multiLineText = text.split(/(?:^|\n)/).join(`\n${tab}`);
37
+ text = tab + multiLineText;
38
+ }
39
+ else
40
+ text = tab + text;
41
+ }
42
+ return text;
43
+ };
44
+ const toggle = (summary, children) => {
45
+ if (!summary)
46
+ return children || "";
47
+ return `<details>
48
+ <summary>${summary}</summary>
49
+ ${children || ""}
50
+ </details>\n\n`;
51
+ };
52
+
53
+ const NOTION_API_SECRET = process.env.NOTION_API_SECRET ?? '';
54
+ const NOBLOG_DATABASE_ID = process.env.NOBLOG_DATABASE_ID ?? '';
55
+ const client = new client$1.Client({
56
+ auth: NOTION_API_SECRET,
57
+ });
58
+ const numberOfRetry = 2;
59
+ async function GetAllPosts() {
60
+ const params = {
61
+ database_id: NOBLOG_DATABASE_ID,
62
+ filter: {
63
+ and: [{
64
+ property: 'publish',
65
+ checkbox: { equals: true, },
66
+ }]
67
+ },
68
+ sorts: [{
69
+ property: 'date',
70
+ direction: 'descending',
71
+ }],
72
+ page_size: 100,
73
+ };
74
+ let results = [];
75
+ while (true) {
76
+ const res = await retry(async (bail) => {
77
+ try {
78
+ return (await client.databases.query(params));
79
+ }
80
+ catch (error) {
81
+ if (error instanceof client$1.APIResponseError) {
82
+ if (error.status && error.status >= 400 && error.status < 500) {
83
+ bail(error);
84
+ }
85
+ }
86
+ throw error;
87
+ }
88
+ }, { retries: numberOfRetry, });
89
+ results = results.concat(res.results);
90
+ if (!res.has_more) {
91
+ break;
92
+ }
93
+ params['start_cursor'] = res.next_cursor;
94
+ }
95
+ return results;
96
+ }
97
+ async function GetPageMeta(page_id) {
98
+ const result = await retry(async (bail) => {
99
+ try {
100
+ return (await client.pages.retrieve({ page_id: page_id }));
101
+ }
102
+ catch (error) {
103
+ if (error instanceof client$1.APIResponseError) {
104
+ if (error.status && error.status >= 400 && error.status < 500) {
105
+ bail(error);
106
+ }
107
+ }
108
+ throw error;
109
+ }
110
+ }, { retries: numberOfRetry, });
111
+ return result;
112
+ }
113
+
114
+ class Noblog extends notionToMd.NotionToMarkdown {
115
+ Posts = [];
116
+ SavePath = "./src/pages/posts/";
117
+ ChildPath = "nob_children/";
118
+ MdCollection = {};
119
+ constructor(posts, save_path, child_path) {
120
+ super({ notionClient: client });
121
+ this.Posts = posts;
122
+ if (child_path != undefined) {
123
+ this.ChildPath = child_path;
124
+ }
125
+ if (save_path != undefined) {
126
+ this.SavePath = save_path;
127
+ }
128
+ this.setCustomTransformer("child_page", async (block) => {
129
+ let path = this.ChildPath;
130
+ const page = block;
131
+ if (!page?.id) {
132
+ return false;
133
+ }
134
+ if (this.Posts.filter(post => post.id === page.child_page.title).length > 0) {
135
+ path = "";
136
+ }
137
+ return `[${page.child_page.title}](${path}${page.id})`;
138
+ });
139
+ }
140
+ async Collect(recur = true) {
141
+ const save_dir = this.SavePath;
142
+ const sub_dir = path__namespace.join(save_dir, this.ChildPath);
143
+ const futs = this.Posts.map(page => {
144
+ return this.FromPageid(page.id, recur);
145
+ });
146
+ try {
147
+ await Promise.all(futs);
148
+ for (const pageid of Object.keys(this.MdCollection)) {
149
+ let fpath = sub_dir;
150
+ if (this.Posts.find(page => page.id === pageid))
151
+ fpath = save_dir;
152
+ await this.SaveJelly(pageid + ".md", fpath, this.MdCollection[pageid]);
153
+ }
154
+ console.log(`success: finish dump all files to "${save_dir}"`);
155
+ }
156
+ catch (error) {
157
+ if (error instanceof Error) {
158
+ console.log(`failed: consider run verbose with v=true - ${error.message}`);
159
+ }
160
+ else {
161
+ console.log('failed: an unknown error occurred');
162
+ }
163
+ }
164
+ }
165
+ async FromBlocks(blocks, recursive) {
166
+ let jelly = { content: "", children: [] };
167
+ for (const block of blocks) {
168
+ const subjelly = await this.FromBlocks(block.children, recursive);
169
+ if (block.type === "toggle") {
170
+ jelly.content += toggle(block.parent, subjelly.content);
171
+ jelly.children = [...jelly.children, ...subjelly.children];
172
+ continue;
173
+ }
174
+ let line_wrap = "";
175
+ if (block.type !== "to_do" &&
176
+ block.type !== "bulleted_list_item" &&
177
+ block.type !== "numbered_list_item") {
178
+ line_wrap = "\n";
179
+ }
180
+ jelly.content += (line_wrap + `${addTabSpace(block.parent, 0)}\n` + line_wrap);
181
+ if (block.type === "child_page") {
182
+ jelly.children = [...jelly.children, block.blockId];
183
+ if (recursive)
184
+ await this.FromPageid(block.blockId, recursive);
185
+ }
186
+ else {
187
+ jelly.content += subjelly.content;
188
+ jelly.children = [...jelly.children, ...subjelly.children];
189
+ }
190
+ }
191
+ return jelly;
192
+ }
193
+ async FromPageid(page_id, recursive = true) {
194
+ if (this.MdCollection.hasOwnProperty(page_id)) {
195
+ return this.MdCollection[page_id];
196
+ }
197
+ const blocks = await this.pageToMarkdown(page_id);
198
+ const jelly = await this.FromBlocks(blocks, recursive);
199
+ const meta = await GetPageMeta(page_id);
200
+ const astro_meta = await this.AssembleAstroFrontmatter(meta);
201
+ jelly.content = astro_meta + jelly.content;
202
+ this.MdCollection[page_id] = jelly;
203
+ return jelly;
204
+ }
205
+ async SaveJelly(fname, dir, jelly) {
206
+ if (jelly === undefined)
207
+ return `failed: ${fname} has empty jelly: `;
208
+ try {
209
+ await fs__namespace.mkdir(dir, { recursive: true });
210
+ const filePath = path__namespace.join(dir, fname);
211
+ await fs__namespace.writeFile(filePath, jelly.content, 'utf-8');
212
+ return `success: ${fname} saved to ${filePath}`;
213
+ }
214
+ catch (error) {
215
+ if (error instanceof Error) {
216
+ return `failed: ${fname} - ${error.message}`;
217
+ }
218
+ else {
219
+ return 'failed: an unknown error occurred';
220
+ }
221
+ }
222
+ }
223
+ async AssembleAstroFrontmatter(page) {
224
+ let frontmatter = "";
225
+ // default layout
226
+ const ischild = this.Posts.filter(post => post.id === page.id).length > 0 ? "" : "../";
227
+ frontmatter += "layout: " + ischild + "../../layouts/MarkdownPostLayout.astro" + "\n";
228
+ // get title
229
+ frontmatter += "title: " + JSON.stringify(page.properties.title?.title?.[0]?.plain_text ?? "") + "\n";
230
+ // get tags
231
+ frontmatter += "tags: " + JSON.stringify((page.properties.tags?.multi_select ?? []).map(tag => tag.name)) + "\n";
232
+ // get date
233
+ frontmatter += "date: " + (page.properties.date?.date?.start ?? "") + "\n";
234
+ // get archived
235
+ frontmatter += "archived: " + (page.properties.archived ? "true" : "false") + "\n";
236
+ // get description
237
+ frontmatter += "desc: " + JSON.stringify(page.properties.description?.rich_text?.[0]?.plain_text ?? "") + "\n";
238
+ return "---\n" + frontmatter + "---\n";
239
+ }
240
+ }
241
+
242
+ function help() {
243
+ const usage = "Usage:\n noblog <SAVE_DIR> <SUB_DIR>";
244
+ const example = "Example:\n noblog";
245
+ const params = "Config:\n save_dir: dir for posts in database. (default: ./src/pages/posts)\n sub_dir: sub pages during collection. (default: nob_children/)";
246
+ const output = usage + "\n" + example + "\n" + params + "\n";
247
+ return output;
248
+ }
249
+ async function main() {
250
+ const argv = process.argv.slice(2);
251
+ if (argv.length > 2) {
252
+ console.error("Error: invallid arg.");
253
+ console.log(help());
254
+ }
255
+ const save_dir = argv[0] ?? "./src/pages/posts";
256
+ const sub_dir = argv[1] ?? "nob_children/";
257
+ const pages = await GetAllPosts();
258
+ const nob = new Noblog(pages, save_dir, sub_dir);
259
+ nob.Collect(true);
260
+ }
261
+ main();
262
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sources":["../src/lib/nomd/format.ts","../src/lib/notion/client.ts","../src/lib/nomd/nomd.ts","../src/cmds/generate.ts"],"sourcesContent":[null,null,null,null],"names":["Client","APIResponseError","NotionToMarkdown","notion_client","path","fmt.toggle","fmt.addTabSpace","fs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqHO,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,CAAC,GAAG,CAAC,KAAI;IACjD,MAAM,GAAG,GAAG,GAAG,CAAC;AAChB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACvB,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAA,EAAA,EAAK,GAAG,CAAA,CAAE,CAAC,CAAC;AAC9D,YAAA,IAAI,GAAG,GAAG,GAAG,aAAa,CAAC;SAC5B;;AAAM,YAAA,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;KAC1B;AACD,IAAA,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAMK,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,QAAiB,KAAI;AAC5D,IAAA,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,IAAI,EAAE,CAAC;IACpC,OAAO,CAAA;WACE,OAAO,CAAA;AAChB,EAAA,QAAQ,IAAI,EAAE,CAAA;eACD,CAAC;AAChB,CAAC;;ACnID,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAA;AAC7D,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAA;AAExD,MAAM,MAAM,GAAG,IAAIA,eAAM,CAAC;AAC/B,IAAA,IAAI,EAAE,iBAAiB;AACxB,CAAA,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,CAAC,CAAA;AAEhB,eAAe,WAAW,GAAA;AAC/B,IAAA,MAAM,MAAM,GAA0B;AACpC,QAAA,WAAW,EAAE,kBAAkB;AAC/B,QAAA,MAAM,EAAE;AACN,YAAA,GAAG,EAAE,CAAC;AACJ,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG;iBAC5B,CAAC;AACH,SAAA;AACD,QAAA,KAAK,EAAE,CAAC;AACN,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,SAAS,EAAE,YAAY;aACxB,CAAC;AACF,QAAA,SAAS,EAAE,GAAG;KACf,CAAA;IAED,IAAI,OAAO,GAAW,EAAE,CAAA;IACxB,OAAO,IAAI,EAAE;QACX,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,OAAO,IAAI,KAAI;AACb,YAAA,IAAI;gBACF,QAAQ,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAClC,MAAa,CACd,EAA0B;aAC5B;YAAC,OAAO,KAAc,EAAE;AACvB,gBAAA,IAAI,KAAK,YAAYC,yBAAgB,EAAE;AACrC,oBAAA,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;wBAC7D,IAAI,CAAC,KAAK,CAAC,CAAA;qBACZ;iBACF;AACD,gBAAA,MAAM,KAAK,CAAA;aACZ;AACH,SAAC,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,CAC/B,CAAA;QAED,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACrC,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;YAAE,MAAK;SAAE;AAC5B,QAAA,MAAM,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,WAAqB,CAAA;KACnD;AAED,IAAA,OAAO,OAAO,CAAA;AAChB,CAAC;AAGM,eAAe,WAAW,CAAC,OAAe,EAAA;IAC/C,MAAM,MAAM,GAAG,MAAM,KAAK,CACxB,OAAO,IAAI,KAAI;AACb,QAAA,IAAI;AACF,YAAA,QAAQ,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAS;SACnE;QAAC,OAAO,KAAc,EAAE;AACvB,YAAA,IAAI,KAAK,YAAYA,yBAAgB,EAAE;AACrC,gBAAA,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;oBAC7D,IAAI,CAAC,KAAK,CAAC,CAAA;iBACZ;aACF;AACD,YAAA,MAAM,KAAK,CAAA;SACZ;AACH,KAAC,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,CAC/B,CAAA;AACD,IAAA,OAAO,MAAM,CAAA;AACf;;ACvDM,MAAO,MAAO,SAAQC,2BAAgB,CAAA;IAC1C,KAAK,GAAW,EAAE,CAAC;IACnB,QAAQ,GAAW,oBAAoB,CAAC;IACxC,SAAS,GAAW,eAAe,CAAC;IACpC,YAAY,GAA4B,EAAE,CAAC;AAE3C,IAAA,WAAA,CAAY,KAAa,EAAE,SAAkB,EAAE,UAAmB,EAAA;AAChE,QAAA,KAAK,CAAC,EAAE,YAAY,EAAEC,MAAa,EAAE,CAAC,CAAC;AAEvC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,UAAU,IAAI,SAAS,EAAE;AAC3B,YAAA,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC7B;AACD,QAAA,IAAI,SAAS,IAAI,SAAS,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC3B;QAED,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,OAAO,KAAK,KAAI;AACtD,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,MAAM,IAAI,GAAG,KAAY,CAAC;AAC1B,YAAA,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE;AAAE,gBAAA,OAAO,KAAK,CAAC;aAAE;YAChC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3E,IAAI,GAAG,EAAE,CAAC;aACX;AACD,YAAA,OAAO,CAAI,CAAA,EAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAK,EAAA,EAAA,IAAI,CAAG,EAAA,IAAI,CAAC,EAAE,GAAG,CAAC;AACzD,SAAC,CAAC,CAAA;KACH;AAED,IAAA,MAAM,OAAO,CAAC,KAAA,GAAiB,IAAI,EAAA;AACjC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;AAC9B,QAAA,MAAM,OAAO,GAAGC,eAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAG;YACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;AACxC,SAAC,CAAC,CAAA;AACF,QAAA,IAAI;AACF,YAAA,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACvB,YAAA,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBACnD,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;oBAC7C,KAAK,GAAG,QAAQ,CAAA;AAClB,gBAAA,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;aACvE;AACD,YAAA,OAAO,CAAC,GAAG,CAAC,sCAAsC,QAAQ,CAAA,CAAA,CAAG,CAAC,CAAA;SAC/D;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,KAAK,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,CAAA,2CAAA,EAA8C,KAAK,CAAC,OAAO,CAAE,CAAA,CAAC,CAAC;aAC5E;iBAAM;AACL,gBAAA,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;aAClD;SACF;KACF;AAED,IAAA,MAAM,UAAU,CAAC,MAAiB,EAAE,SAAkB,EAAA;QACpD,IAAI,KAAK,GAAY,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;AAClD,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAElE,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC3B,gBAAA,KAAK,CAAC,OAAO,IAAIC,MAAU,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC5D,gBAAA,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC3D,SAAS;aACV;YACD,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,YAAA,IACE,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,KAAK,CAAC,IAAI,KAAK,oBAAoB;AACnC,gBAAA,KAAK,CAAC,IAAI,KAAK,oBAAoB,EACnC;gBACA,SAAS,GAAG,IAAI,CAAC;aAClB;YACD,KAAK,CAAC,OAAO,KAAK,SAAS,GAAG,CAAA,EAAGC,WAAe,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAI,EAAA,CAAA,GAAG,SAAS,CAAC,CAAC;AACnF,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AAC/B,gBAAA,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACpD,gBAAA,IAAI,SAAS;oBAAE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;aAChE;iBAAM;AACL,gBAAA,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;AAClC,gBAAA,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC5D;SACF;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,MAAM,UAAU,CAAC,OAAe,EAAE,YAAqB,IAAI,EAAA;QACzD,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;AAC7C,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SACnC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACvD,QAAA,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;QACvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAA;QAC5D,KAAK,CAAC,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC,OAAO,CAAA;AAC1C,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AACnC,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,MAAM,SAAS,CAAC,KAAa,EAAE,GAAW,EAAE,KAA0B,EAAA;QACpE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAA,QAAA,EAAW,KAAK,CAAA,kBAAA,CAAoB,CAAA;AACpE,QAAA,IAAI;AACF,YAAA,MAAMC,aAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAGH,eAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACvC,YAAA,MAAMG,aAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACrD,YAAA,OAAO,CAAY,SAAA,EAAA,KAAK,CAAa,UAAA,EAAA,QAAQ,EAAE,CAAC;SACjD;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,KAAK,EAAE;AAC1B,gBAAA,OAAO,WAAW,KAAK,CAAA,GAAA,EAAM,KAAK,CAAC,OAAO,EAAE,CAAC;aAC9C;iBAAM;AACL,gBAAA,OAAO,mCAAmC,CAAC;aAC5C;SACF;KACF;IAED,MAAM,wBAAwB,CAAC,IAAU,EAAA;QACvC,IAAI,WAAW,GAAG,EAAE,CAAA;;AAEpB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;QACtF,WAAW,IAAI,UAAU,GAAG,OAAO,GAAG,wCAAwC,GAAG,IAAI,CAAA;;QAErF,WAAW,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;;AAErG,QAAA,WAAW,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;;AAEhH,QAAA,WAAW,IAAI,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;;QAE1E,WAAW,IAAI,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAA;;QAElF,WAAW,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;AAC9G,QAAA,OAAO,OAAO,GAAG,WAAW,GAAG,OAAO,CAAA;KACvC;AACF;;AClJD,SAAS,IAAI,GAAA;IACX,MAAM,KAAK,GAAG,uCAAuC,CAAC;IACtD,MAAM,OAAO,GAAG,oBAAoB,CAAC;IACrC,MAAM,MAAM,GAAG,gJAAgJ,CAAC;AAChK,IAAA,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAC7D,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,eAAe,IAAI,GAAA;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;AACpC,IAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACnB,QAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;AACtC,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;KACrB;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,eAAe,CAAA;AAC1C,IAAA,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAEhD,IAAA,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACnB,CAAC;AAED,IAAI,EAAE;;"}
@@ -35,4 +35,4 @@ export declare const divider: () => string;
35
35
  export declare const toggle: (summary?: string, children?: string) => string;
36
36
  export declare const table: (cells: string[][]) => string;
37
37
  export {};
38
- //# sourceMappingURL=cvtmd.d.ts.map
38
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/lib/nomd/format.ts"],"names":[],"mappings":"AAIA,KAAK,WAAW,GACZ;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5D,IAAI,CAAC;AAET,eAAO,MAAM,UAAU,SAAU,MAAM,WAEtC,CAAC;AAEF,eAAO,MAAM,cAAc,SAAU,MAAM,WAE1C,CAAC;AAEF,eAAO,MAAM,IAAI,SAAU,MAAM,WAEhC,CAAC;AAEF,eAAO,MAAM,MAAM,SAAU,MAAM,WAElC,CAAC;AAEF,eAAO,MAAM,aAAa,SAAU,MAAM,WAEzC,CAAC;AAEF,eAAO,MAAM,SAAS,SAAU,MAAM,WAErC,CAAC;AAEF,eAAO,MAAM,IAAI,SAAU,MAAM,QAAQ,MAAM,WAE9C,CAAC;AAEF,eAAO,MAAM,SAAS,SAAU,MAAM,aAAa,MAAM,WAMxD,CAAC;AAEF,eAAO,MAAM,QAAQ,SAAU,MAAM,WAIpC,CAAC;AAEF,eAAO,MAAM,QAAQ,SAAU,MAAM,WAEpC,CAAC;AAEF,eAAO,MAAM,QAAQ,SAAU,MAAM,WAEpC,CAAC;AAEF,eAAO,MAAM,QAAQ,SAAU,MAAM,WAEpC,CAAC;AAEF,eAAO,MAAM,KAAK,SAAU,MAAM,WAGjC,CAAC;AAEF,eAAO,MAAM,OAAO,SAAU,MAAM,SAAS,WAAW,WAQvD,CAAC;AAEF,eAAO,MAAM,MAAM,SAAU,MAAM,UAAU,MAAM,WAGlD,CAAC;AAEF,eAAO,MAAM,IAAI,SAAU,MAAM,WAAW,OAAO,WAElD,CAAC;AAEF,eAAO,MAAM,KAAK,QACX,MAAM,QACL,MAAM,oBACK,OAAO,KACvB,QAAQ,MAAM,CAuBhB,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,MAAM,uBASvC,CAAC;AAEF,eAAO,MAAM,OAAO,cAEnB,CAAC;AAEF,eAAO,MAAM,MAAM,aAAc,MAAM,aAAa,MAAM,WAMzD,CAAC;AAEF,eAAO,MAAM,KAAK,UAAW,MAAM,EAAE,EAAE,WAEtC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { NotionToMarkdown } from "notion-to-md";
2
+ import type { Page } from '../notion/object.js';
2
3
  type MdBlock = {
3
4
  type?: string;
4
5
  blockId: string;
@@ -10,11 +11,16 @@ export type MdJelly = {
10
11
  children: string[];
11
12
  };
12
13
  export declare class Noblog extends NotionToMarkdown {
14
+ Posts: Page[];
15
+ SavePath: string;
16
+ ChildPath: string;
13
17
  MdCollection: Record<string, MdJelly>;
14
- constructor();
18
+ constructor(posts: Page[], save_path?: string, child_path?: string);
19
+ Collect(recur?: boolean): Promise<void>;
15
20
  FromBlocks(blocks: MdBlock[], recursive: boolean): Promise<MdJelly>;
16
21
  FromPageid(page_id: string, recursive?: boolean): Promise<MdJelly | undefined>;
17
22
  SaveJelly(fname: string, dir: string, jelly: MdJelly | undefined): Promise<string>;
23
+ AssembleAstroFrontmatter(page: Page): Promise<string>;
18
24
  }
19
25
  export {};
20
26
  //# sourceMappingURL=nomd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nomd.d.ts","sourceRoot":"","sources":["../../../src/lib/nomd/nomd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAOhD,KAAK,OAAO,GAAG;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAA;AAED,qBAAa,MAAO,SAAQ,gBAAgB;IAC1C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;;IAWrC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BnE,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc;IAarD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAezF"}
1
+ {"version":3,"file":"nomd.d.ts","sourceRoot":"","sources":["../../../src/lib/nomd/nomd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAIhD,KAAK,OAAO,GAAG;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAA;AAED,qBAAa,MAAO,SAAQ,gBAAgB;IAC1C,KAAK,EAAE,IAAI,EAAE,CAAM;IACnB,QAAQ,EAAE,MAAM,CAAwB;IACxC,SAAS,EAAE,MAAM,CAAmB;IACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;gBAE/B,KAAK,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAsB5D,OAAO,CAAC,KAAK,GAAE,OAAc;IAwB7B,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BnE,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc;IAarD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBlF,wBAAwB,CAAC,IAAI,EAAE,IAAI;CAiB1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "noblog",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Generate static blog contnet from a Notion.so table.",
5
5
  "author": "humbornjo",
6
6
  "license": "MIT",
@@ -1,48 +0,0 @@
1
- import * as path from "path";
2
- import { Logger } from "tslog";
3
- import { Noblog } from "../lib/nomd/nomd.js";
4
- import { GetAllPosts } from "../lib/notion/client.js";
5
- let save_dir = "./src/pages/posts/";
6
- let sub_dir = "nob_children";
7
- const nob = new Noblog();
8
- const logger = new Logger({ name: "noblog" });
9
- function help() {
10
- const usage = "Usage: noblog <SAVE_DIR>";
11
- const example = "Example:\n noblog .";
12
- const output = usage + "\n" + example + "\n";
13
- return output;
14
- }
15
- async function main() {
16
- const argv = process.argv.slice(2);
17
- if (argv.length > 1) {
18
- console.error("Error: invallid arg.");
19
- console.log(help());
20
- }
21
- save_dir = argv[0] ?? save_dir;
22
- sub_dir = path.join(save_dir, sub_dir);
23
- const pages = await GetAllPosts();
24
- const futures = pages.map(page => {
25
- return nob.FromPageid(page.id);
26
- });
27
- try {
28
- await Promise.all(futures);
29
- for (const pageid of Object.keys(nob.MdCollection)) {
30
- let fpath = sub_dir;
31
- if (pages.find(page => page.id === pageid))
32
- fpath = save_dir;
33
- const log = await nob.SaveJelly(pageid, fpath, nob.MdCollection[pageid]);
34
- logger.info(log);
35
- }
36
- console.log(`success: finish dump all files to "${save_dir}"`);
37
- }
38
- catch (error) {
39
- if (error instanceof Error) {
40
- console.log(`failed: consider run verbose with v=true - ${error.message}`);
41
- }
42
- else {
43
- console.log('failed: an unknown error occurred');
44
- }
45
- }
46
- }
47
- main();
48
- //# sourceMappingURL=generate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cmds/generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,IAAI,QAAQ,GAAG,oBAAoB,CAAA;AACnC,IAAI,OAAO,GAAG,cAAc,CAAA;AAC5B,MAAM,GAAG,GAAG,IAAI,MAAM,EAAE,CAAA;AACxB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAE9C,SAAS,IAAI;IACX,MAAM,KAAK,GAAG,0BAA0B,CAAC;IACzC,MAAM,OAAO,GAAG,sBAAsB,CAAC;IAEvC,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;IACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAC/B,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAEtC,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC/B,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACnD,IAAI,KAAK,GAAG,OAAO,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;gBACxC,KAAK,GAAG,QAAQ,CAAA;YAClB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;YACxE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,sCAAsC,QAAQ,GAAG,CAAC,CAAA;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAA"}