# Template Usage This documentation is for beginners. If you want to customize your own template, see [template doc](./TemplateDoc.md). Post an issue if you need help. You can find templates under the Workspace Tab/Window->Edit: ![image](https://user-images.githubusercontent.com/33902321/169189492-ab27b5ef-d6b2-4e4b-9035-2c11a91d53a1.png) ## Add a template Click the _Edit Templates_ to open the editor. ![image](https://user-images.githubusercontent.com/33902321/169189605-e450702c-2336-463f-b157-600a198d987c.png) Create a blank template, or from a note. Here are example templates for the test: Copy The Name & template text to a new template and save it! **Template Name must include one of these keywords:** ### Custom Templates These templates can have different names. The keyword must be incluede in the template name. - Text: indicate it's a normal template - Note: indicate it's a note template. Must select notes before inserting - Item: indicate it's an item template. Must select items before inserting ### System Templates Only the template with specific name will be called. - QuickInsert: Called when inserting a note link to main note. - QuickBackLink: Called when inserting a note link to main note. The template will be inserted to the end of the sub-note and point to the main note by default. - QuickImport: Called when importing a sub-note to main note. - QuickNote: Called when creating a note from an annotation. - ExportMDFileName: Called when exporting notes to markdown in batch/linked notes to markdown mode. The rendered template will be file name. ## Template Examples Welcome to share & contribute your template! ### [Note] with meta-data ```js

Note: ${link}

${topItem?`

Title: ${topItem.getField('title')}

Author: ${topItem.getField('firstCreator')}

Date: ${topItem.getField('date')}

`:''} ``` ### [Item] meta-data ```js

Item Meta Data:

Title: ${topItem.getField('title')}

Author: ${topItem.getField('firstCreator')}

Date: ${topItem.getField('date')}

``` ### [Item] item-notes with metadata: shared by @zyx335588 ![image](https://user-images.githubusercontent.com/33902321/169704517-14faa474-0273-4357-99af-982f48576533.png) ```js

${topItem.getField('title')}

💡 Meta Data

Title

${topItem.getField('title')}

Journal

${topItem.getField('publicationTitle')}

1st Author

${topItem.getField('firstCreator')}

Authors

${topItem.getCreators().map((v)=>v.firstName+" "+v.lastName).join("; ")}

Pub. date

${topItem.getField('date')}

DOI

${topItem.getField('DOI')}

Archive

${topItem.getField('archive')}

Archive Location

${topItem.getField('archiveLocation')}

Call No.

${topItem.getField('callNumber')}
${itemNotes.map((noteItem)=>{ const noteLine = `

📜 Note: ${noteItem.key}

${noteItem.getNote()}

Merge Date: ${new Date().toISOString().substr(0,10)+" "+ new Date().toTimeString()}

📝 Comments

Make your comments

`; copyNoteImage(noteItem); return noteLine; }).join("\n")} ``` ### [Item] metadata for CS Modified on the previous template. Auto-ajust metadata according to item type. ![image](https://user-images.githubusercontent.com/33902321/171443309-1cb54d09-8e8a-40ae-8465-96f2f808c96d.png) ```js

${topItem.getField('title')}

Title

${topItem.getField('title')}

${(()=>{ if(topItem.itemType === "conferencePaper") return "Conference"; if(topItem.itemType === "journalArticle") return "Journal"; if(topItem.itemType === "report") return "Publisher"; return "Publisher";})()}

${(()=>{ if(topItem.itemType === "conferencePaper") { const res = topItem.getField("conferenceName"); return res?res:topItem.getField("proceedingsTitle"); }; if(topItem.itemType === "journalArticle") return topItem.getField("publicationTitle"); if(topItem.itemType === "report") return topItem.getField("institution"); return topItem.getField("publicationTitle");})()}

Authors

${topItem.getCreators().map((v)=>v.firstName+" "+v.lastName).join("; ")}

Pub. date

${topItem.getField('date')}

DOI

${topItem.getField('DOI')}

URL

${topItem.getField('url')}

CitationKey

${topItem.citationKey?topItem.citationKey:''}
``` ### [Text] today ```js

TODO: ${new Date().toLocaleDateString()}

Tasks

Insert more items with meta-data in workspace window->Edit

Done Tasks

Todo Tomorrow

```