name: core imports: - https://get.silverbullet.md/global.plug.json syntax: Hashtag: firstCharacters: - "#" regex: "#[^#\\d\\s]+\\w+" className: sb-hashtag NakedURL: firstCharacters: - "h" regex: "https?:\\/\\/[-a-zA-Z0-9@:%._\\+~#=]{1,256}([-a-zA-Z0-9()@:%_\\+.~#?&=\\/]*)" className: sb-naked-url NamedAnchor: firstCharacters: - "$" regex: "\\$[a-zA-Z\\.\\-\\/]+[\\w\\.\\-\\/]*" className: sb-named-anchor functions: clearPageIndex: path: "./page.ts:clearPageIndex" env: server events: - page:saved - page:deleted pageQueryProvider: path: ./page.ts:pageQueryProvider events: - query:page parseIndexTextRepublish: path: "./page.ts:parseIndexTextRepublish" events: - page:index_text reindexSpaceCommand: path: "./page.ts:reindexCommand" command: name: "Space: Reindex" reindexSpace: path: "./page.ts:reindexSpace" env: server deletePage: path: "./page.ts:deletePage" command: name: "Page: Delete" editorLoad: path: "./editor.ts:editorLoad" events: - plugs:loaded toggleReadOnlyode: path: "./editor.ts:toggleReadOnlyMode" command: name: "Editor: Toggle Read Only Mode" # Backlinks indexLinks: path: "./page.ts:indexLinks" events: - page:index linkQueryProvider: path: ./page.ts:linkQueryProvider events: - query:link renamePage: path: "./page.ts:renamePage" command: name: "Page: Rename" mac: Cmd-Alt-r key: Ctrl-Alt-r page: "" pageComplete: path: "./page.ts:pageComplete" events: - page:complete # Commands commandComplete: path: "./command.ts:commandComplete" events: - page:complete # Item indexing indexItem: path: "./item.ts:indexItems" events: - page:index itemQueryProvider: path: "./item.ts:queryProvider" events: - query:item # Navigation linkNavigate: path: "./navigate.ts:linkNavigate" command: name: Navigate To page key: Ctrl-Enter mac: Cmd-Enter clickNavigate: path: "./navigate.ts:clickNavigate" events: - page:click navigateHome: path: "./navigate.ts:navigateCommand" command: name: "Navigate: Home" key: "Alt-h" page: "" # Hashtags indexTags: path: "./tags.ts:indexTags" events: - page:index tagComplete: path: "./tags.ts:tagComplete" events: - page:complete tagProvider: path: "./tags.ts:tagProvider" events: - query:tag # Anchors indexAnchors: path: "./anchor.ts:indexAnchors" events: - page:index anchorComplete: path: "./anchor.ts:anchorComplete" events: - page:complete # Full text search searchIndex: path: ./search.ts:pageIndex events: - page:index searchUnindex: path: "./search.ts:pageUnindex" env: server events: - page:deleted searchQueryProvider: path: ./search.ts:queryProvider events: - query:full-text searchCommand: path: ./search.ts:searchCommand command: name: "Search Space" key: Ctrl-Shift-f mac: Cmd-Shift-f readPageSearch: path: ./search.ts:readFileSearch env: server pageNamespace: pattern: "🔍 .+" operation: readFile getPageMetaSearch: path: ./search.ts:getFileMetaSearch env: server pageNamespace: pattern: "🔍 .+" operation: getFileMeta # Template commands insertTemplateText: path: "./template.ts:insertTemplateText" applyLineReplace: path: ./template.ts:applyLineReplace insertFrontMatter: redirect: insertTemplateText slashCommand: name: front-matter description: Insert page front matter value: | --- |^| --- makeH1: redirect: applyLineReplace slashCommand: name: h1 description: Turn line into h1 header match: "^#*\\s*" replace: "# " makeH2: redirect: applyLineReplace slashCommand: name: h2 description: Turn line into h2 header match: "^#*\\s*" replace: "## " makeH3: redirect: applyLineReplace slashCommand: name: h3 description: Turn line into h3 header match: "^#*\\s*" replace: "### " makeH4: redirect: applyLineReplace slashCommand: name: h4 description: Turn line into h4 header match: "^#*\\s*" replace: "#### " newPage: path: ./page.ts:newPageCommand command: name: "Page: New" key: "Alt-Shift-n" insertHRTemplate: redirect: insertTemplateText slashCommand: name: hr description: Insert a horizontal rule value: "---" insertTable: redirect: insertTemplateText slashCommand: name: table description: Insert a table boost: -1 # Low boost because it's likely not very commonly used value: | | Header A | Header B | |----------|----------| | Cell A|^| | Cell B | quickNoteCommand: path: ./template.ts:quickNoteCommand command: name: "Quick Note" key: "Alt-Shift-n" priority: 1 dailyNoteCommand: path: ./template.ts:dailyNoteCommand command: name: "Open Daily Note" key: "Alt-Shift-d" weeklyNoteCommand: path: ./template.ts:weeklyNoteCommand command: name: "Open Weekly Note" key: "Alt-Shift-w" instantiateTemplateCommand: path: ./template.ts:instantiateTemplateCommand command: name: "Template: Instantiate Page" insertSnippet: path: ./template.ts:insertSnippet command: name: "Template: Insert Snippet" slashCommand: name: snippet description: Insert a snippet insertTodayCommand: path: "./template.ts:insertTemplateText" slashCommand: name: today description: Insert today's date value: "{{today}}" insertTomorrowCommand: path: "./template.ts:insertTemplateText" slashCommand: name: tomorrow description: Insert tomorrow's date value: "{{tomorrow}}" # Text editing commands quoteSelectionCommand: path: ./text.ts:quoteSelection command: name: "Text: Quote Selection" key: "Ctrl-Shift-." mac: "Cmd-Shift-." listifySelection: path: ./text.ts:listifySelection command: name: "Text: Listify Selection" numberListifySelection: path: ./text.ts:numberListifySelection command: name: "Text: Number Listify Selection" linkSelection: path: ./text.ts:linkSelection command: name: "Text: Link Selection" key: "Ctrl-Shift-k" mac: "Cmd-Shift-k" bold: path: ./text.ts:wrapSelection command: name: "Text: Bold" key: "Ctrl-b" mac: "Cmd-b" wrapper: "**" italic: path: ./text.ts:wrapSelection command: name: "Text: Italic" key: "Ctrl-i" mac: "Cmd-i" wrapper: "_" marker: path: ./text.ts:wrapSelection command: name: "Text: Marker" key: "Alt-m" wrapper: "==" # Plug manager updatePlugsCommand: path: ./plugmanager.ts:updatePlugsCommand command: name: "Plugs: Update" key: "Ctrl-Shift-p" mac: "Cmd-Shift-p" updatePlugs: path: ./plugmanager.ts:updatePlugs env: server getPlugHTTPS: path: "./plugmanager.ts:getPlugHTTPS" events: - get-plug:https getPlugGithub: path: "./plugmanager.ts:getPlugGithub" events: - get-plug:github getPlugGithubRelease: path: "./plugmanager.ts:getPlugGithubRelease" events: - get-plug:ghr addPlugCommand: path: ./plugmanager.ts:addPlugCommand command: name: "Plugs: Add" # Debug commands parseCommand: path: ./debug.ts:parsePageCommand command: name: "Debug: Parse Document" showLogsCommand: path: ./debug.ts:showLogsCommand command: name: "Debug: Show Logs" key: "Ctrl-Alt-l" mac: "Cmd-Alt-l" events: - log:reload hideBhsCommand: path: ./debug.ts:hideBhsCommand command: name: "UI: Hide BHS" key: "Ctrl-Alt-b" mac: "Cmd-Alt-b" # Link unfurl infrastructure unfurlLink: path: ./link.ts:unfurlCommand command: name: "Link: Unfurl" key: "Ctrl-Shift-u" mac: "Cmd-Shift-u" contexts: - NakedURL unfurlExec: env: server path: ./link.ts:unfurlExec # Title-based link unfurl titleUnfurlOptions: path: ./link.ts:titleUnfurlOptions events: - unfurl:options titleUnfurl: path: ./link.ts:titleUnfurl events: - unfurl:title-unfurl # Random stuff statsCommand: path: ./stats.ts:statsCommand command: name: "Stats: Show" key: "Shift-Alt-s" # Cloud pages readPageCloud: path: ./cloud.ts:readFileCloud env: server pageNamespace: pattern: "💭 .+" operation: readFile getPageMetaCloud: path: ./cloud.ts:getFileMetaCloud env: server pageNamespace: pattern: "💭 .+" operation: getFileMeta