Template syntax refactor

This commit is contained in:
Zef Hemel
2022-08-09 15:37:47 +02:00
parent 1bbfbe19e2
commit 7f6e608460
18 changed files with 152 additions and 112 deletions
+22 -5
View File
@@ -187,18 +187,35 @@ functions:
path: "./template.ts:insertTemplateText"
slashCommand:
name: include
description: Include another page
value: |
<!-- #include "|^|" -->
<!-- #include [[|^|]] -->
<!-- /include -->
insertInlineTemplate:
insertInjectTemplate:
path: "./template.ts:insertTemplateText"
slashCommand:
name: inline-template
name: inject
description: Inject template
value: |
<!-- #template "|^|" {} -->
<!-- #inject [[|^|]] {} -->
<!-- /template -->
<!-- /inject -->
insertInjectCleanTemplate:
path: "./template.ts:insertTemplateText"
slashCommand:
name: inject-clean
description: Inject template clean
value: |
<!-- #inject-clean [[|^|]] {} -->
<!-- /inject-clean -->
insertHRTemplate:
path: "./template.ts:insertTemplateText"
slashCommand:
name: hr
description: Insert a horizontal rule
value: "---"
quickNoteCommand:
path: ./template.ts:quickNoteCommand
command:
+6 -7
View File
@@ -48,6 +48,7 @@ export async function indexLinks({ name, tree }: IndexTreeEvent) {
console.log("Now indexing", name);
let pageMeta = extractMeta(tree);
if (Object.keys(pageMeta).length > 0) {
console.log("Extracted page meta data", pageMeta);
await set(name, "meta:", pageMeta);
}
@@ -88,14 +89,12 @@ export async function linkQueryProvider({
query,
pageName,
}: QueryProviderEvent): Promise<any[]> {
let uniqueLinks = new Set<string>();
for (let { value: name } of await queryPrefix(`pl:${pageName}:`)) {
uniqueLinks.add(name);
let links: any[] = [];
for (let { value: name, key } of await queryPrefix(`pl:${pageName}:`)) {
const [, , pos] = key.split(":"); // Key: pl:page:pos
links.push({ name, pos });
}
return applyQuery(
query,
[...uniqueLinks].map((l) => ({ name: l }))
);
return applyQuery(query, links);
}
export async function deletePage() {
+5 -2
View File
@@ -46,9 +46,12 @@ export async function instantiateTemplateCommand() {
);
let parseTree = await parseMarkdown(text);
let additionalPageMeta = extractMeta(parseTree, ["PAGENAME"]);
let additionalPageMeta = extractMeta(parseTree, [
"$name",
"$disableDirectives",
]);
let pageName = await prompt("Name of new page", additionalPageMeta.PAGENAME);
let pageName = await prompt("Name of new page", additionalPageMeta.$name);
if (!pageName) {
return;
}