From ca1a4a31706d0c03673fe4c414c645ed826b21c6 Mon Sep 17 00:00:00 2001 From: shu Date: Wed, 19 Aug 2026 15:56:06 +0800 Subject: 精简 Wiki 构建与运行方式 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将浏览器端工具整理为 utilities 插件,移除 Docker、Org GTD 和 files API,并补充单文件构建及 Node.js 运行入口。 --- plugins/utilities/highlight-tiddlywiki.tid | 191 +++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 plugins/utilities/highlight-tiddlywiki.tid (limited to 'plugins/utilities/highlight-tiddlywiki.tid') 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: /<>/ + }, + { + 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: // + }, + { + 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: /<>/, + 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: /~~/ + } + ] + }; +}); -- cgit v1.2.3