Work to reduce bundles size (prebundle modules)

This commit is contained in:
Zef Hemel
2022-04-13 14:46:52 +02:00
parent a24eaaf4b4
commit 31254d15e6
36 changed files with 431 additions and 179 deletions
+5 -4
View File
@@ -71,10 +71,6 @@ functions:
path: "./dates.ts:insertTomorrow"
slashCommand:
name: tomorrow
indexDates:
path: "./dates.ts:indexDates"
events:
- page:index
parseServerCommand:
path: ./page.ts:parseServerPageCommand
command:
@@ -85,3 +81,8 @@ functions:
path: ./page.ts:parsePageCommand
command:
name: "Debug: Parse Document"
instantiateTemplateCommand:
path: ./template.ts:instantiateTemplateCommand
command:
name: "Template: Instantiate for Page"
+1 -1
View File
@@ -1,7 +1,7 @@
import { insertAtCursor } from "plugos-silverbullet-syscall/editor";
import { IndexEvent } from "../../webapp/app_event";
import { batchSet } from "plugos-silverbullet-syscall";
import { whiteOutQueries } from "../query/materialized_queries";
import { whiteOutQueries } from "../query/util";
const dateMatchRegex = /(\d{4}\-\d{2}\-\d{2})/g;
+1 -1
View File
@@ -1,9 +1,9 @@
import { IndexEvent } from "../../webapp/app_event";
import { whiteOutQueries } from "../query/materialized_queries";
import { batchSet } from "plugos-silverbullet-syscall/index";
import { parseMarkdown } from "plugos-silverbullet-syscall/markdown";
import { collectNodesOfType, ParseTree, renderToText } from "../../common/tree";
import { whiteOutQueries } from "../query/util";
export type Item = {
name: string;
+51
View File
@@ -0,0 +1,51 @@
import { listPages, readPage, writePage } from "plugos-silverbullet-syscall/space";
import { filterBox, navigate, prompt } from "plugos-silverbullet-syscall/editor";
import { parseMarkdown } from "plugos-silverbullet-syscall/markdown";
import { extractMeta } from "../query/data";
import { renderToText } from "../../common/tree";
import { niceDate } from "./dates";
const pageTemplatePrefix = `template/page/`;
export async function instantiateTemplateCommand() {
let allPages = await listPages();
let allPageTemplates = allPages.filter((pageMeta) =>
pageMeta.name.startsWith(pageTemplatePrefix)
);
let selectedTemplate = await filterBox(
"Template",
allPageTemplates,
"Select the template to create a new page from"
);
if (!selectedTemplate) {
return;
}
console.log("Selected template", selectedTemplate);
let { text } = await readPage(selectedTemplate.name);
let parseTree = await parseMarkdown(text);
let additionalPageMeta = extractMeta(parseTree, true);
console.log("Page meta", additionalPageMeta);
let pageName = await prompt("Name of new page", additionalPageMeta.name);
if (!pageName) {
return;
}
let pageText = replaceTemplateVars(renderToText(parseTree));
await writePage(pageName, pageText);
await navigate(pageName);
}
export function replaceTemplateVars(s: string): string {
return s.replaceAll(/\{\{(\w+)\}\}/g, (match, v) => {
switch (v) {
case "today":
return niceDate(new Date());
break;
}
return match;
});
}