<%* const callouts = { // Colors: 🟥🟧🟨🟩🟦🟪⬛️⬜️🟫 “bug”: ”🟥 Bug”, “danger”: ”🟥 Danger | Error”, “fail”: ”🟥 Fail | Failure | Missing”, “warning”: ”🟧 Warning | Attention | Caution”, “help”: ”🟧 Help | FAQ | Question”, “success”: ”🟩 Success | Done | Check”, “abstract”: ”🟦 Abstract | Summary | TLDR”, “example”: ”🟦 Example”, “hint”: ”🟦 Hint | Important | Tip”, “info”: ”🟦 Info”, “note”: ”🟦 Note”, “todo”: ”🟦 Todo”, “cite”: “⬜️ Cite | Quote”,
// Custom types (via Callout Manager)
"link": "🟨 Link",
"presentation": "🟨 Presentation",
"money": "🟨 Money",
"chart": "🟦 Line Chart",
"visual": "🟪 Styled Quote | Visual Quote",
"visual-img": "🟪 Styled Image | Visual Image",
"image": "🟪 Image",
"brain": "🟪 Brain | AI",
};
const typeNames = []; const typeLabels = [];
Object.keys(callouts) .sort() // Remove this line to use predefined order. .forEach(key ⇒ typeNames.push(key) && typeLabels.push(callouts[key]) );
let calloutType = await tp.system.suggester( typeLabels, typeNames, false, “Select callout type.” );
// Stop here when the prompt was cancelled (ESC). if (!calloutType) { return; }
let foldState = await tp.system.suggester( [“Static”, “Expanded”, “Collapsed”], ["", ”+”, ”-”], false, “Select callout folding option.” );
let title = await tp.file.selection(); if (!title) { title = await tp.system.prompt(“Title Text”, ""); } _%>
[!<% calloutType %>]<% foldState %> <% title %><%* tp.file.cursor() %>