diff options
| author | shu <nvcsadjkojf@outlook.com> | 2026-08-19 15:56:06 +0800 |
|---|---|---|
| committer | shu <nvcsadjkojf@outlook.com> | 2026-08-19 15:56:06 +0800 |
| commit | ca1a4a31706d0c03673fe4c414c645ed826b21c6 (patch) | |
| tree | c412265a19dd4694c39aac65b6e1a8903a513978 /plugins/utilities/highlight-tiddlywiki.tid | |
| parent | 490d41f154615a52734f117d7d7bda5a9331e303 (diff) | |
精简 Wiki 构建与运行方式
将浏览器端工具整理为 utilities 插件,移除 Docker、Org GTD 和 files API,并补充单文件构建及 Node.js 运行入口。
Diffstat (limited to 'plugins/utilities/highlight-tiddlywiki.tid')
| -rw-r--r-- | plugins/utilities/highlight-tiddlywiki.tid | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/plugins/utilities/highlight-tiddlywiki.tid b/plugins/utilities/highlight-tiddlywiki.tid new file mode 100644 index 0000000..dd1a891 --- /dev/null +++ b/plugins/utilities/highlight-tiddlywiki.tid @@ -0,0 +1,191 @@ +title: $:/plugins/local/highlight-languages/tiddlywiki.js +type: application/javascript +module-type: highlight + +/*\ +title: $:/plugins/local/highlight-languages/tiddlywiki.js +type: application/javascript +module-type: highlight + +TiddlyWiki TID and WikiText language definition for highlight.js. +\*/ +"use strict"; + +hljs.registerLanguage("tiddlywiki",function(hljs) { + var systemTiddler = { + className: "symbol", + match: /\$:\/[^\s\][\]<>{}"']+/ + }, + variable = { + className: "variable", + variants: [ + { + begin: /<</, + end: />>/ + }, + { + match: /<[^<>\s]+>/ + } + ] + }, + transclusion = { + className: "template-variable", + variants: [ + { + begin: /\{\{\{/, + end: /\}\}\}/ + }, + { + begin: /\{\{/, + end: /\}\}/ + } + ], + contains: [ + systemTiddler, + variable + ] + }, + link = { + className: "link", + variants: [ + { + begin: /\[\[/, + end: /\]\]/ + }, + { + begin: /\[(?:img|ext)\[/, + end: /\]\]/ + } + ], + contains: [ + systemTiddler + ] + }, + filter = { + className: "selector", + begin: /\[(?=[^\]\n]*[A-Za-z][A-Za-z0-9_-]*\[)/, + end: /\]/, + contains: [ + { + className: "keyword", + match: /[A-Za-z][A-Za-z0-9_.-]*(?=\[)/ + }, + { + className: "string", + begin: /\[/, + end: /\]/, + contains: [ + systemTiddler, + variable + ] + }, + variable, + systemTiddler + ] + }; + + return { + name: "TiddlyWiki", + aliases: [ + "tid", + "wikitext" + ], + contains: [ + { + className: "comment", + begin: /<!--/, + end: /-->/ + }, + { + className: "comment", + begin: /\/%/, + end: /%\// + }, + { + className: "meta", + begin: /^\\(?:define|end|function|import|parameters|procedure|rules|whitespace|widget)\b/, + end: /$/, + contains: [ + variable, + systemTiddler, + hljs.QUOTE_STRING_MODE, + hljs.APOS_STRING_MODE + ] + }, + { + className: "attr", + match: /^[A-Za-z0-9_.-]+(?=\s*:)/ + }, + { + className: "section", + begin: /^!{1,6}\s+/, + end: /$/ + }, + { + className: "bullet", + match: /^[*#;:]+\s+/ + }, + { + className: "quote", + begin: /^>{1,3}\s+/, + end: /$/ + }, + { + className: "tag", + begin: /<\/?\$?[A-Za-z][A-Za-z0-9_.:-]*/, + end: /\/?>/, + contains: [ + { + className: "attr", + match: /[A-Za-z_$][A-Za-z0-9_.:-]*(?=\s*=)/ + }, + hljs.QUOTE_STRING_MODE, + hljs.APOS_STRING_MODE, + transclusion, + variable, + filter, + systemTiddler + ] + }, + { + className: "template-tag", + begin: /<</, + end: />>/, + contains: [ + hljs.QUOTE_STRING_MODE, + hljs.APOS_STRING_MODE, + systemTiddler + ] + }, + transclusion, + link, + filter, + systemTiddler, + { + className: "code", + begin: /`+/, + end: /`+/ + }, + { + className: "strong", + begin: /''/, + end: /''/ + }, + { + className: "emphasis", + begin: /\/\//, + end: /\/\// + }, + { + className: "emphasis", + begin: /__/, + end: /__/ + }, + { + className: "deletion", + begin: /~~/, + end: /~~/ + } + ] + }; +}); |
