1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-10 20:09:57 +00:00

Merge branch 'master' into multi-wiki-support

This commit is contained in:
Jeremy Ruston 2024-08-22 11:57:38 +01:00
commit 9eb28a0e5f
79 changed files with 475 additions and 121 deletions

View File

@ -386,8 +386,8 @@ $tw.utils.parseDate = function(value) {
parseInt(value.substr(10,2)||"00",10),
parseInt(value.substr(12,2)||"00",10),
parseInt(value.substr(14,3)||"000",10)));
d.setUTCFullYear(year); // See https://stackoverflow.com/a/5870822
return d;
d.setUTCFullYear(year); // See https://stackoverflow.com/a/5870822
return d;
} else if($tw.utils.isDate(value)) {
return value;
} else {

View File

@ -29,10 +29,14 @@ exports.getEditionInfo = function() {
for(var entryIndex=0; entryIndex<entries.length; entryIndex++) {
var entry = entries[entryIndex];
// Check if directories have a valid tiddlywiki.info
if(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {
var info = $tw.utils.parseJSONSafe(fs.readFileSync(path.resolve(editionPath,entry,"tiddlywiki.info"),"utf8"),null);
if(info) {
editionInfo[entry] = info;
// Check if the entry is a hidden directory
if((entry.charAt(0) !== ".") && !editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {
var file=path.resolve(editionPath,entry,"tiddlywiki.info");
if(fs.existsSync(file)) {
var info = $tw.utils.parseJSONSafe(fs.readFileSync(file,"utf8"),null);
if(info) {
editionInfo[entry] = info;
}
}
}
}
@ -41,4 +45,4 @@ exports.getEditionInfo = function() {
return editionInfo;
};
})();
})();

View File

@ -123,7 +123,6 @@ DataWidget.prototype.computeDataTiddlerValues = function() {
}
} else {
// Apply the item fields to each of the tiddlers
delete item.title; // Do not overwrite the title
if(Object.keys(item).length > 0) {
$tw.utils.each(tiddlers,function(tiddler,index) {
tiddlers[index] = new $tw.Tiddler(tiddler,item);

View File

@ -27,7 +27,7 @@ tags: $:/tags/RawMarkupWikified
<<meta-plain "og:type" "website" "property">>
<<meta-wikified "og:title" "$:/SiteTitle" "property">>
<<meta-wikified "og:description" "$:/SiteSubtitle" "property">>
<<meta-plain "og:image" "$:/SitePreviewImageUrl" "property">>
<<meta-plain "og:image" "$:/SitePreviewUrl" "property">>
<!-- Twitter Meta Tags -->
<<meta-plain "twitter:card" "summary_large_image">>
@ -35,4 +35,4 @@ tags: $:/tags/RawMarkupWikified
<<meta-plain "twitter:url" "$:/SiteUrl" "property">>
<<meta-wikified "twitter:title" "$:/SiteTitle">>
<<meta-wikified "twitter:description" "$:/SiteSubtitle">>
<<meta-plain "twitter:image" "$:/SitePreviewImageUrl">>
<<meta-plain "twitter:image" "$:/SitePreviewUrl">>

View File

@ -25,7 +25,7 @@ caption: {{$:/language/ControlPanel/Basics/Caption}}
|<$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link> |<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
|<$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
|<$link to="$:/status/UserName"><<lingo Username/Prompt>></$link> |<$edit-text tiddler="$:/status/UserName" default="" tag="input"/> |
|<$link to="$:/config/AnimationDuration"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler="$:/config/AnimationDuration" default="" tag="input"/> |
|<$link to="$:/config/AnimationDuration"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler="$:/config/AnimationDuration" default="" tag="input" type="number"/> |
|<$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit class="tc-edit-texteditor" tiddler="$:/DefaultTiddlers" autoHeight="yes"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
|<$link to="$:/language/DefaultNewTiddlerTitle"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler="$:/language/DefaultNewTiddlerTitle" default="" tag="input"/> |
|<$link to="$:/config/NewJournal/Title"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler="$:/config/NewJournal/Title" default="" tag="input"/> |

View File

@ -13,4 +13,4 @@ caption: {{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}
|<<lingo Branch>> |<$edit-text tiddler="$:/GitHub/Branch" default="main" tag="input"/> |
|<<lingo Path>> |<$edit-text tiddler="$:/GitHub/Path" default="" tag="input"/> |
|<<lingo Filename>> |<$edit-text tiddler="$:/GitHub/Filename" default="" tag="input"/> |
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitHub/ServerURL" default="https://api.github.com" tag="input"/> |
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitHub/ServerURL" default="https://api.github.com" tag="input" type="url"/> |

View File

@ -13,4 +13,4 @@ caption: {{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}
|<<lingo Branch>> |<$edit-text tiddler="$:/GitLab/Branch" default="master" tag="input"/> |
|<<lingo Path>> |<$edit-text tiddler="$:/GitLab/Path" default="" tag="input"/> |
|<<lingo Filename>> |<$edit-text tiddler="$:/GitLab/Filename" default="" tag="input"/> |
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitLab/ServerURL" default="https://gitlab.com/api/v4" tag="input"/> |
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitLab/ServerURL" default="https://gitlab.com/api/v4" tag="input" type="url"/> |

View File

@ -34,7 +34,7 @@ http://$(userName)$.tiddlyspot.com/$path$/
''<<lingo Advanced/Heading>>''
|<<lingo ServerURL>> |<$edit-text tiddler="$:/UploadURL" default="" tag="input"/> |
|<<lingo ServerURL>> |<$edit-text tiddler="$:/UploadURL" default="" tag="input" type="url"/> |
|<<lingo Filename>> |<$edit-text tiddler="$:/UploadFilename" default="index.html" tag="input"/> |
|<<lingo UploadDir>> |<$edit-text tiddler="$:/UploadDir" default="." tag="input"/> |
|<<lingo BackupDir>> |<$edit-text tiddler="$:/UploadBackupDir" default="." tag="input"/> |

View File

@ -13,4 +13,4 @@ caption: {{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}
|<<lingo Branch>> |<$edit-text tiddler="$:/Gitea/Branch" default="master" tag="input"/> |
|<<lingo Path>> |<$edit-text tiddler="$:/Gitea/Path" default="" tag="input"/> |
|<<lingo Filename>> |<$edit-text tiddler="$:/Gitea/Filename" default="" tag="input"/> |
|<<lingo ServerURL>> |<$edit-text tiddler="$:/Gitea/ServerURL" default="https://gitea/api/v1" tag="input"/> |
|<<lingo ServerURL>> |<$edit-text tiddler="$:/Gitea/ServerURL" default="https://gitea/api/v1" tag="input" type="url"/> |

View File

@ -8,9 +8,9 @@ caption: {{$:/language/ControlPanel/SocialCard/Caption}}
|<$link to="$:/SiteTitle"><<lingo Basics/Title/Prompt>></$link> |<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
|<$link to="$:/SiteSubtitle"><<lingo Basics/Subtitle/Prompt>></$link> |<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
|<$link to="$:/SiteDomain"><<lingo SocialCard/Domain/Prompt>></$link> |<$edit-text tiddler="$:/SiteDomain" default="" tag="input"/> |
|<$link to="$:/SiteUrl"><<lingo SocialCard/Url/Prompt>></$link> |<$edit-text tiddler="$:/SiteUrl" default="" tag="input"/> |
|<$link to="$:/SitePreviewUrl"><<lingo SocialCard/PreviewUrl/Prompt>></$link> |<$edit-text tiddler="$:/SitePreviewUrl" default="" tag="input"/> |
|<$link to="$:/SiteDomain"><<lingo SocialCard/Domain/Prompt>></$link> |<$edit-text tiddler="$:/SiteDomain" default="" tag="input" type="url"/> |
|<$link to="$:/SiteUrl"><<lingo SocialCard/Url/Prompt>></$link> |<$edit-text tiddler="$:/SiteUrl" default="" tag="input" type="url"/> |
|<$link to="$:/SitePreviewUrl"><<lingo SocialCard/PreviewUrl/Prompt>></$link> |<$edit-text tiddler="$:/SitePreviewUrl" default="" tag="input" type="url"/> |
<%if [[$:/SitePreviewUrl]get[text]else[]!is[blank]] %>
<div>

View File

@ -3,7 +3,7 @@ code-body: yes
\whitespace trim
\function tf.state() [<qualify "$:/state/testcase">]
\function tf.state() "$:/state/testcase"
\procedure linkcatcherActions()
<%if [<navigateTo>has[title]] %>
@ -102,9 +102,12 @@ code-body: yes
[all[tiddlers]sort[]] Output +[putfirst[]]
-Description
-Narrative
-[[$:/temp/testcase/draft-title]]
-[has[plugin-type]]
-[prefix<tf.state>]
-[prefix[$:/state/popup/export]]
-[prefix[$:/HistoryList]]
-[prefix[$:/StoryList]]
\end
\procedure testcase-source()
@ -129,13 +132,17 @@ code-body: yes
\procedure testcase-body()
<div class="tc-test-case-wrapper">
<<testcase-header>>
<%if [[Narrative]is[tiddler]] %>
<<testcase-narrative>>
<%endif%>
<%if [<testResult>match[fail]] %>
<<testcase-fail>>
<%endif%>
<<testcase-panes>>
<$let testcase-source-state = <<tf.state>>>
<$navigator story="$:/StoryList" history="$:/HistoryList">
<%if [[Narrative]is[tiddler]] %>
<<testcase-narrative>>
<%endif%>
<%if [<testResult>match[fail]] %>
<<testcase-fail>>
<%endif%>
<<testcase-panes>>
</$navigator>
</$let>
</div>
\end

View File

@ -1,6 +1,22 @@
title: $:/core/ui/testcases/DefaultTemplate/SourceTabs
\whitespace trim
\procedure testcaseNewTitle() $:/temp/testcase/draft-title
\procedure saveActions()
<$action-setfield $tiddler=<<currentTab>> $field="draft.title" $value=<<newTitle>>/>
<$action-sendmessage $message="tm-save-tiddler" $param=<<title>> />
<$action-setfield $tiddler=<<testcase-source-state>> text=<<newTitle>>/>
<$action-deletetiddler $tiddler=<<testcaseNewTitle>>/>
\end
\procedure saveButton(title, newTitle)
<$button class="tc-btn-invisible tc-test-case-save-button tc-small-gap-left" actions=<<saveActions>> disabled={{{ [<testcaseNewTitle>!has[text]then[yes]] }}}>
{{$:/core/images/done-button}}
</$button>
\end
\procedure body()
<$list filter="[<currentTab>fields[]] -text +[limit[1]]" variable="ignore">
<table class="tc-field-table">
@ -11,7 +27,12 @@ title: $:/core/ui/testcases/DefaultTemplate/SourceTabs
<$text text=<<fieldName>>/>
</td>
<td>
<$view tiddler=<<currentTab>> field=<<fieldName>>/>
<%if [<fieldName>match[draft.title]] %>
<$edit-text class="tc-edit-texteditor tc-max-width-80" tiddler=<<testcaseNewTitle>> focus="yes" tag="input"/>
<$macrocall $name="saveButton" newTitle={{{ [<testcaseNewTitle>get[text]] }}} title=<<currentTab>>/>
<%else%>
<$view tiddler=<<currentTab>> field=<<fieldName>>/>
<%endif%>
</td>
</tr>
</$list>

View File

@ -57,7 +57,8 @@
"sl-SI",
"sv-SE",
"zh-Hans",
"zh-Hant"
"zh-Hant",
"zh-HK"
],
"themes": [
"tiddlywiki/centralised",

View File

@ -15,8 +15,8 @@ Import the configuration tiddler: $:/config/LocalPluginLibrary to your "test wik
The following commands will create the library files and start a test server at http://localhost:8888
```
cd /your/path/to/TiddlyWiki5/editions/pluginlibrary
tiddlywiki --build test-server
cd /your/path/to/TiddlyWiki5
node ./tiddlywiki.js ./editions/pluginlibrary --build test-server
```
!! Test the Library with a Single File Wiki

View File

@ -11,7 +11,7 @@
],
"build": {
"test-server": [
"--output", "./files/local/library/tmp",
"--output", "./editions/pluginlibrary/files/local/library/tmp",
"--build", "library",
"--listen", "port=8888"
],

View File

@ -0,0 +1,23 @@
title: Data/ImportCustomTitle
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
description: Importing a payload tiddler and overwriting the title
title: Description
text: Importing a payload tiddler and overwriting the title
+
title: Output
\whitespace trim
<$testcase template="$:/core/ui/testcases/RawJSONTemplate">
<$data $tiddler="HelloThere" title="RealTitle"/>
</$testcase>
+
title: HelloThere
tags: Definitions
This is the tiddler HelloThere
+
title: ExpectedResult
<p><div><div>[{"title":"RealTitle","tags":"Definitions","text":"This is the tiddler HelloThere"}]</div></div></p>

View File

@ -15,4 +15,6 @@ In the example above, a comma appears between each occurrence of the `repeated`
Characters in round boxes are literal, i.e. they denote themselves. A name in a rectangular box denotes a further railroad diagram.
The TW [[Filter Syntax]] documentation makes extensive use of railroad diagrams.
The railroad diagrams in ~TiddlyWiki's documentation are generated with the [[Railroad Plugin]].

View File

@ -5,6 +5,12 @@ tags: OfficialPlugins [[Plugin Editions]]
title: Railroad Plugin
type: text/vnd.tiddlywiki
!! Railroad Diagrams
{{Railroad Diagrams}}
!! Plugin
{{$:/plugins/tiddlywiki/railroad/readme}}
{{$:/plugins/tiddlywiki/railroad/syntax}}
Learn more about the [[Railroad Plguin Syntax Description|$:/plugins/tiddlywiki/railroad/syntax]]

View File

@ -0,0 +1,29 @@
title: TestCases/DataWidget/ImportCustomTitle
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
description: Importing a payload tiddler and overwriting the title
display-format: plaintext
title: Narrative
Importing a payload tiddler and overwriting the title
+
title: Output
\whitespace trim
<$data $tiddler="HelloThere" title="RealTitle"/>
+
title: HelloThere
tags: Definitions
This is the tiddler HelloThere
+
title: ExpectedResult
<p>[
{
"title": "RealTitle",
"tags": "Definitions",
"text": "This is the tiddler HelloThere"
}
]</p>

View File

@ -2,7 +2,7 @@
"title": "$:/languages/ar-PS",
"name": "ar-PS",
"plugin-type": "language",
"description": "Arabic (Palestine)",
"description": "العربية (فلسطين)",
"author": "Kamal-Habash",
"core-version": ">=5.1.23",
"text-direction": "rtl"

View File

@ -2,7 +2,7 @@
"title": "$:/languages/ca-ES",
"name": "ca-ES",
"plugin-type": "language",
"description": "Catalan (Spain)",
"description": "Català (Espanya)",
"author": "Paco Rivière",
"core-version": ">=5.0.0"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/cs-CZ",
"name": "cs-CZ",
"plugin-type": "language",
"description": "Česky (Czech Republic)",
"description": "Čeština (Česká republika)",
"author": "Zdeněk Jašek",
"core-version": ">=5.0.0"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/da-DK",
"name": "da-DK",
"plugin-type": "language",
"description": "Danish (Denmark)",
"description": "Dansk (Danmark)",
"author": "Birthe C",
"core-version": ">=5.0.8"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/el-GR",
"name": "el-GR",
"plugin-type": "language",
"description": "Greek (Greece)",
"description": "Ελληνικά (Ελλάδα)",
"author": "Stratis Aravias@ΓΕΛ Σαμοθράκης",
"core-version": ">=5.0.0"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/es-ES",
"name": "es-ES",
"plugin-type": "language",
"description": "Castellano. (Spain)",
"description": "Castellano. (España)",
"author": "Pau DeLuca,Joe Bordes",
"core-version": ">=5.1.23"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/fa-IR",
"name": "fa",
"plugin-type": "language",
"description": "Persian (Iran)",
"description": "فارسی (ایران)",
"author": "amirography",
"core-version": ">=5.0.0",
"text-direction": "rtl"

View File

@ -2,7 +2,7 @@
"title": "$:/languages/he-IL",
"name": "he-IL",
"plugin-type": "language",
"description": "Hebrew (Israel)",
"description": "עברית (ישראל)",
"author": "DoronTzur",
"core-version": ">=5.0.0",
"text-direction": "rtl"

View File

@ -2,7 +2,7 @@
"title": "$:/languages/hi-IN",
"name": "hi-IN",
"plugin-type": "language",
"description": "Hindi (India)",
"description": "हिन्दी (भारत)",
"author": "Atul Grover",
"core-version": ">=5.0.8"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/it-IT",
"name": "it-IT",
"plugin-type": "language",
"description": "Italian (Italy)",
"description": "Italiano (Italia)",
"author": "MaurizioPollio",
"core-version": ">=5.0.8"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/ja-JP",
"name": "ja-JP",
"plugin-type": "language",
"description": "Japanese (Japan)",
"description": "日本語 (日本)",
"author": "Makoto Hirohashi, OGOSHI Masayuki, pekopeko1, dajya-ranger.com, BALLOON | FU-SEN (Keiichi Shiga)",
"core-version": ">=5.1.4"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/ko-KR",
"name": "ko-KR",
"plugin-type": "language",
"description": "Korean (Korea Republic)",
"description": "한국어 (대한민국)",
"author": "Myeongjin",
"core-version": ">=5.1.4"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/mk-MK",
"name": "mk-MK",
"plugin-type": "language",
"description": "Macedonian (North Macedonia)",
"description": "Македонски (Македонија)",
"author": "Nikola Dio Petkovski",
"core-version": ">=5.1.4"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/nl-NL",
"name": "nl-NL",
"plugin-type": "language",
"description": "Dutch (The Netherlands)",
"description": "Nederlands (Nederland)",
"author": "gernert",
"core-version": ">=5.1.5"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/pa-IN",
"name": "pa-IN",
"plugin-type": "language",
"description": "Punjabi (India)",
"description": "ਪੰਜਾਬੀ (ਭਾਰਤ)",
"author": "Atul Grover",
"core-version": ">=5.0.8"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/pl-PL",
"name": "pl-PL",
"plugin-type": "language",
"description": "Polish (Poland)",
"description": "Polski (Polska)",
"author": "Maurycy Zarzycki (Evidently Cube)",
"core-version": ">=5.2.0"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/pt-PT",
"name": "pt-PT",
"plugin-type": "language",
"description": "Portuguese (Portugal)",
"description": "Português (Portugal)",
"author": "Duarte Farrajota Ramos",
"core-version": ">=5.0.8"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/ru-RU",
"name": "ru-RU",
"plugin-type": "language",
"description": "Russian (Russia)",
"description": "Русский (Россия)",
"author": "AndreyYankin aka andrey013, Глеб Прохожев <glebujka@gmail.com>",
"core-version": ">=5.0.0"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/sk-SK",
"name": "sk-SK",
"plugin-type": "language",
"description": "Slovak (Slovakia)",
"description": "Slovenčina (Slovensko)",
"author": "Vlado Luknar",
"core-version": ">=5.0.0"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/sl-SI",
"name": "sl-SI",
"plugin-type": "language",
"description": "Solvenian (Slovenia)",
"description": "Slovenščina (Slovenija)",
"author": "Tomaž Ficko",
"core-version": ">=5.0.0"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/sv-SE",
"name": "sv-SE",
"plugin-type": "language",
"description": "Swedish (Sweden)",
"description": "Svenska (Sverige)",
"author": "SuperDOS",
"core-version": ">=5.1.0"
}

View File

@ -2,7 +2,7 @@
"title": "$:/languages/zh-CN",
"name": "zh-CN",
"plugin-type": "language",
"description": "Chinese (China)",
"description": "简体中文 (中国)",
"author": "BramChen",
"core-version": ">=5.0.8",
"dependents": ["$:/languages/zh-Hans"],

View File

@ -0,0 +1,17 @@
title: $:/language/Buttons/
ControlPanel/Hint: 開啓控制台
FoldOthers/Hint: 收合其他已開啓條目的內容
FoldAll/Hint: 收合所有已開啓條目的內容
UnfoldAll/Hint: 展開所有已開啓條目的內容
Help/Caption: 説明
Help/Hint: 顯示説明中心
Home/Hint: 開啓首頁條目
LayoutSwitcher/Hint: 開啓版面切換器
Manager/Hint: 開啓條目管理器
OpenControlPanel/Hint: 開啓控制台
OpenWindow/Caption: 開啓於新視窗
OpenWindow/Hint: 在新視窗中開啓條目
Permaview/Hint: 設定瀏覽器網址列為直接連結到當前所有已開啓條目
Timestamp/On/Caption: 時間戳記開啓
Stamp/New/Text: 片段的文字。(記得在 `caption` 欄位中新增一個説明性的標題)。

View File

@ -0,0 +1,31 @@
title: $:/language/ControlPanel/
Basics/DefaultTiddlers/BottomHint: 標題含空白時請使用 &#91;&#91;雙中括弧&#93;&#93;,或者您可用 {{保留開啓中的條目順序||$:/snippets/retain-story-ordering-button}}
Basics/DefaultTiddlers/TopHint: 預設開啓的條目
KeyboardShortcuts/Platform/All: 所有平台
KeyboardShortcuts/Platform/Mac: 僅 Macintosh 平台
KeyboardShortcuts/Platform/NonMac: 僅非 Macintosh 平台
KeyboardShortcuts/Platform/Linux: 僅 Linux 平台
KeyboardShortcuts/Platform/NonLinux: 僅非 Linux 平台
KeyboardShortcuts/Platform/Windows: 僅 Windows 平台
KeyboardShortcuts/Platform/NonWindows: 僅非 Windows 平台
Plugins/Enable/Caption: 啓用
Plugins/Enable/Hint: 重新載入頁面時啓用此插件
Plugins/OpenPluginLibrary: 開啓插件程式庫
Parsing/Hint: 在此您可以全域停用或啓用維基解析規則。要使更改生效,請儲存並重新載入您的維基。停用某些解析規則,會妨礙 <$text text="TiddlyWiki"/> 正常運作。可使用[[安全模式|https://tiddlywiki.com/#SafeMode]]恢復正常操作。
Saving/DownloadSaver/AutoSave/Hint: 啓用下載儲存模組的自動儲存
Saving/GitService/GitHub/Password: 密碼、OAUTH 權杖,或個人存取權杖 (詳見 [[GitHub 説明頁面|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]])
Saving/GitService/GitLab/Password: 個人存取權杖的 API (詳見 [[GitLab 説明頁面|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]])
Settings/CamelCase/Caption: 駝峯式維基鏈接
Settings/CamelCase/Hint: 您可以全域停用駝峯式短語自動鏈接。須儲存後重新載入,方才生效。
Settings/CamelCase/Description: 啓用自動駝峯式鏈接
Settings/EditorToolbar/Hint: 啓用或停用編輯器工具列︰
Settings/InfoPanelMode/Sticky/Description: 條目資訊面板保持開啓狀態,直到明確關閉
Settings/LinkToBehaviour/Caption: 條目開啓行為
Settings/LinkToBehaviour/OpenAbove: 開啓於當前條目之上
Settings/LinkToBehaviour/OpenBelow: 開啓於當前條目之下
Settings/LinkToBehaviour/OpenAtTop: 開啓於故事河的頂端
Settings/LinkToBehaviour/OpenAtBottom: 開啓於故事河的底部
Settings/MissingLinks/Description: 啓用鏈接到佚失條目
Settings/NavigationAddressBar/Permaview/Description: 包括目標條目和當前已開啓的條目序列
Settings/PerformanceInstrumentation/Description: 啓用效能檢測

View File

@ -0,0 +1,3 @@
title: $:/language/Docs/ModuleTypes/
startup: 啓動時期的功能函數。

View File

@ -0,0 +1,5 @@
title: $:/language/Docs/Fields/
class: 渲染條目時,套用到條目的 CSS 類別 - 請參閲[[依自訂類別的自訂樣式|Custom styles by user-class]]。也適用於[[互動視窗|Modals]]
description: 插件的説明、描述
toc-link: 若設定為 ''no'',則抑制目錄樹中的條目鏈接。

View File

@ -0,0 +1,18 @@
title: GettingStarted
\define lingo-base() $:/language/ControlPanel/Basics/
歡迎使用 ~TiddlyWiki 及參與 ~TiddlyWiki 社羣
開始將重要資訊存放於 ~TiddlyWiki 之前,確認您可以可靠地儲存變更是很重要的。詳細資訊請參閲 https://tiddlywiki.com/#GettingStarted
!! 設定此 ~TiddlyWiki
<div class="tc-control-panel">
|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k
| <$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link>|<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
| <$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
|^ <$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag="textarea" tiddler="$:/DefaultTiddlers"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
</div>
請參閲[[控制枱|$:/ControlPanel]]查看更多選項。

View File

@ -0,0 +1,35 @@
title: $:/language/Help/listen
description: 為 TiddlyWiki 提供一個 HTTP 伺服器介面
通過 HTTP 提供一個維基服務。
listen 命令使用[[命名的命令參數|NamedCommandParameters]]
```
--listen [<name>=<value>]...
```
所有參數都是可選的, 具有安全的預設值, 可以按任意順序指定。認可的參數有:
* ''host'' - 可選的主機名稱, (預設為 "127.0.0.1" 或名為 "localhost")
* ''path-prefix'' - 可選的路徑前綴
* ''port'' - 偵聽的埠號;非數值會被解譯為一個系統環境變數,從其中提取埠號 (預設為 "8080")
* ''credentials'' - 憑證 CSV 檔案的路徑名(相對於維基資料夾)
* ''anon-username'' - 匿名使用者的編輯署名
* ''username'' - 可選的基本驗證使用者名稱
* ''password'' - 可選的基本驗證密碼
* ''authenticated-user-header'' - 可選的 HTTP 請求功能參數名稱,用於受信任身份驗證
* ''readers'' - 允許讀取此維基,以逗號分隔的使用者名稱的清單
* ''writers'' - 允許寫入此維基,以逗號分隔的使用者名稱的清單
* ''csrf-disable'' - 設定為 "yes" 以停用 CSRF 檢查 (預設為 "no")
* ''sse-enabled'' - 設定為 "yes" 以啟用伺服器傳送的事件 (預設為 "no")
* ''root-tiddler'' - 服務的基本條目 (預設為 "$:/core/save/all")
* ''root-render-type'' - 呈現的基本條目的內容類型 (預設為 "text/plain")
* ''root-serve-type'' - 服務的基本條目的內容類型 (預設為 "text/html")
* ''tls-cert'' - TLS 證書檔案的路徑名(相對於維基資料夾)
* ''tls-key'' - TLS 密鑰檔案的路徑名(相對於維基資料夾)
* ''debug-level'' - 可選的偵錯層級;設定為 "debug" 來檢視請求的詳細資訊;(預設為 "none")
* ''gzip'' - 設為 "yes" 以啟用某些 http 端點的 gzip 壓縮 (預設為 "no")
* ''use-browser-cache'' - 設定為 "yes" ,允許瀏覽器快取回應,以節省頻寬(預設值為 "no"
有關向整個本地網路開啟實例的資訊,以及可能的安全問題,請參閲 TiddlyWiki.com 的 WebServer 條目。

View File

@ -0,0 +1,3 @@
title: $:/language/Help/notfound
無此項目説明

View File

@ -0,0 +1,10 @@
title: $:/language/Help/password
description: 設定用以加密的密碼
設定用以加密的密碼
```
--password <password>
```
''請注意'':這不是用於提供 TiddlyWiki 具有密碼保護功能。相反地,請看 [[ServerCommand]] 的密碼選項説明。

View File

@ -0,0 +1,34 @@
title: $:/language/Help/render
description: 呈現個別條目到檔案
呈現由篩選器標識的個別條目,並將結果儲存到指定的檔案。
可選擇性地指定範本條目名稱。在此情況下,不是直接呈現每個條目,而是使用設為正在呈現的條目名稱的 "currentTiddler" 變數,來呈現範本條目。
也可以選擇性地指定附加變數的名稱和值。
```
--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*
```
* ''tiddler-filter'': 標識要呈現的條目的篩選器
* ''filename-filter'': 可選的篩選器,轉換條目名稱至路徑名。如果省略,預設為 `[is[tiddler]addsuffix[.html]]`,其使用未改變的條目名稱為檔名
* ''template'': 可選的範本,用於呈現每個條目
* ''render-type'': 可選的呈現類型:`text/html` (預設值) 會傳回完整的 HTML 文字,而 `text/plain` 只會傳迴文字內容 (即其忽略 HTML 標記與其他不可印出的資料)
* ''name'': 可選的變數名稱
* ''value'': 可選的變數值
預設情況下,檔名被解析為相對於發行版資料夾的 `output` 子資料夾。`--output` 命令可用於將輸出指到一個不同的資料夾。
附註:
* 輸出資料夾不清除任何現有的檔案
* 檔名的路徑中,任何不存在的資料夾,將自動建立。
* 當正呈現的條目名稱中帶有空格,請注意同時使用命令列介面所要求的引號,與 TiddlyWiki 的雙重方括號:`--render "[[Motovun Jack.jpg]]"`
* 所選的項目被設定為當前正在呈現的條目名稱,以此評估檔名篩選器,允條目名稱用作基礎計算的檔名。例如,`[encodeuricomponent[]addprefix[static/]]` 為每個條目名稱套用 URI 編碼,然後增加首碼 `static/`
* `--render` 命令是已棄用的 `--rendertiddler` 和 `--rendertiddlers` 的一個更靈活的替代命令。
範例:
* `--render "[!is[system]]" "[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]"` -- 呈現所有非系統條目為 "tiddlers" 子資料夾中的檔案,檔名為 URL 編碼的條目名稱和副檔名 HTML
* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- 將標籤為 "HelloThere" 的條目渲染到名為 "tiddlers.json" 的 JSON 檔案

View File

@ -0,0 +1,16 @@
title: $:/language/Help/savetiddlers
description: 將一羣條目的原始內容儲存到一個資料夾
(請注意:`--savetiddlers` 命令已被棄用,而支援新的、更靈活得 `--save` 命令)
儲存一羣條目的原始文字或二進位格式到指定的資料夾。
```
--savetiddlers <filter> <pathname> [noclean]
```
預設情況下,路徑名被解析為相對於發行版資料夾的 `output` 子資料夾。 `--output` 命令可以用於將輸出指定到一個不同的資料夾。
儲存指定的檔案之前,會先清除輸出目錄的現有檔案。可藉由指定 ''noclean'' 旗標,停用該刪除動作。
自動建立在路徑中任何缺少的資料夾。

View File

@ -0,0 +1,44 @@
title: $:/language/Help/server
description: (已棄用:請參閲 'listen' 命令)提供一個 HTTP 伺服器介面到 TiddlyWiki
在伺服器中內建 TiddlyWiki5 是非常簡單。雖與 TiddlyWeb 相容,但不支援許多健全網際網路面向的使用方式所需的功能。
提供呈現一個指定條目,也可將個別條目編碼成 JSON且支援基本的 HTTP 操作 `GET`、`PUT` 及 `DELETE`.
```
--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>
```
參數説明:
* ''port'' - 要偵聽的埠號;非數值會被解譯為一個系統環境變數,從其中提取埠號 (預設為 "8080")
* ''root-tiddler'' - 服務的基本條目 (預設為 "$:/core/save/all")
* ''root-render-type'' - 呈現的基本條目的內容類型 (預設為 "text/plain")
* ''root-serve-type'' - 服務的基本條目的內容類型 (預設為 "text/html")
* ''username'' - 預設的編輯者署名
* ''password'' - 可選的基本驗證密碼
* ''host'' - 可選的主機名稱, (預設為 "127.0.0.1" 或名為 "localhost")
* ''path-prefix'' - 可選的的路徑前綴
* ''debug-level'' - 可選的偵錯層級;設定為 "debug" 來檢視請求的詳細資訊;(預設為 "none")
若指定密碼參數,瀏覽器將提示使用者輸入帳號與密碼。注意,密碼係以明碼方式傳遞,應只在受信任的網路或 HTTPS 上使用。
例如:
```
--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd
```
若您需要設定主機名稱或路徑前綴,而不要求輸入密碼,則可以指定空字串的使用者名和密碼。
```
--server 8080 $:/core/save/all text/plain text/html "" "" 192.168.0.245
```
使用這樣的位址,會將您的系統暴露給本地網路。有關向整個本地網路開啟實例的資訊,以及可能的安全問題,請參閲 TiddlyWiki.com 的 WebServer 條目。
同時執行多個 TiddlyWiki 伺服器,須分別指定不同的埠號。使用環境變數,有助於將埠號傳遞給 Node.js 進程。本示例引用一個名為 "MY_PORT_NUMBER" 的環境變數:
```
--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd
```

View File

@ -0,0 +1,17 @@
title: $:/language/Help/setfield
description: 準備用於外部條目
//請注意此命令是試驗性的,且可能會更改或在最終定稿前被替換//
設定一羣條目的指定欄位到 wikifying 範本條目的結果,其中的 `currentTiddler` 變數設定為各該條目。
```
--setfield <filter> <fieldname> <templatetitle> <rendertype>
```
參數説明:
* ''filter'' - 受影響的辨識條目的篩選條件
* ''fieldname'' - 要修改的欄位(預設為 "text"
* ''templatetitle'' - 該條目 wikify 到指定欄位。若為空白或丟失,則刪除指定的欄位
* ''rendertype'' - 要呈現的文本類型(預設為 "text/plain"; "text/html" 可以用於包含 HTML 標記)

View File

@ -0,0 +1,5 @@
title: $:/language/
InternalJavaScriptError/Hint: 喔,真是令人尷尬。建議刷新您的瀏覽器,重新啓動 TiddlyWiki
LayoutSwitcher/Description: 開啓版面切換器
Shortcuts/Input/AdvancedSearch/Hint: 從側邊欄搜尋欄位內開啓[[進階搜尋|$:/AdvancedSearch]]面板

View File

@ -0,0 +1,3 @@
title: $:/language/SideBar/
Open/Caption: 開啓

View File

@ -0,0 +1,7 @@
title: $:/language/Snippets/ProcedureDefinition
tags: $:/tags/TextEditor/Snippet
caption: 程序定義
\procedure procName(param1:"預設值",param2)
這裏就是您的文字了。
\end

View File

@ -0,0 +1,3 @@
title: $:/language/ThemeTweaks/
Options/StickyTitles/Hint: 使條目名稱"黏着"於瀏覽器視窗的頂端

View File

@ -2,7 +2,7 @@
"title": "$:/languages/zh-HK",
"name": "zh-HK",
"plugin-type": "language",
"description": "Chinese (Hong Kong)",
"description": "繁體中文 (香港)",
"author": "BramChen",
"core-version": ">=5.0.8",
"dependents": ["$:/languages/zh-Hant"],

View File

@ -2,7 +2,7 @@
"title": "$:/languages/zh-Hans",
"name": "zh-Hans",
"plugin-type": "language",
"description": "Chinese (Simplified)",
"description": "简体中文",
"author": "BramChen",
"core-version": ">=5.0.8",
"plugin-priority": 100

View File

@ -2,7 +2,7 @@
"title": "$:/languages/zh-Hant",
"name": "zh-Hant",
"plugin-type": "language",
"description": "Chinese (Traditional)",
"description": "繁體中文",
"author": "BramChen",
"core-version": ">=5.0.8",
"plugin-priority": 100

View File

@ -2,7 +2,7 @@
"title": "$:/languages/zh-TW",
"name": "zh-TW",
"plugin-type": "language",
"description": "Chinese (Taiwan)",
"description": "繁體中文 (台灣)",
"author": "BramChen",
"core-version": ">=5.0.8",
"dependents": ["$:/languages/zh-Hant"],

View File

@ -26,11 +26,11 @@ var BrowserStorageUtil = require("$:/plugins/tiddlywiki/browser-storage/util.js"
exports.startup = function() {
var self = this;
// If not exists, add ENABLED tiddler with default value "yes"
if(!$tw.wiki.getTiddler(ENABLED_TITLE)) {
$tw.wiki.addTiddler({title: ENABLED_TITLE, text: "yes"});
}
// If not exists, add ENABLED tiddler with default value "yes"
if(!$tw.wiki.getTiddler(ENABLED_TITLE)) {
$tw.wiki.addTiddler({title: ENABLED_TITLE, text: "yes"});
}
// Compute our prefix for local storage keys
var prefix = "tw5#" + window.location.pathname + "#";
// Make a logger
@ -68,11 +68,11 @@ exports.startup = function() {
persistPermissionRequested = false,
requestPersistenceOnFirstSave = function() {
$tw.hooks.addHook("th-saving-tiddler", function(tiddler) {
if (!persistPermissionRequested) {
if(!persistPermissionRequested) {
var filteredChanges = filterFn.call($tw.wiki, function(iterator) {
iterator(tiddler,tiddler.getFieldString("title"));
});
if (filteredChanges.length > 0) {
if(filteredChanges.length > 0) {
// The tiddler will be saved to local storage, so request persistence
requestPersistence();
persistPermissionRequested = true;
@ -84,9 +84,9 @@ exports.startup = function() {
// Request the browser to never evict the localstorage. Some browsers such as firefox
// will prompt the user. To make the decision easier for the user only prompt them
// when they click the save button on a tiddler which will be stored to localstorage.
if (navigator.storage && navigator.storage.persist) {
if(navigator.storage && navigator.storage.persist) {
navigator.storage.persisted().then(function(isPersisted) {
if (!isPersisted) {
if(!isPersisted) {
setPersistedState("not requested yet");
requestPersistenceOnFirstSave();
} else {

View File

@ -53,7 +53,7 @@ BrowserStorageUtil.prototype.saveTiddlerToLocalStorage = function(title) {
// Get the tiddler
var tiddler = $tw.wiki.getTiddler(title);
if(tiddler) {
if (this.wiki.tiddlerExists(title)) {
if(this.wiki.tiddlerExists(title)) {
// This is not a shadow tiddler
console.log("browser-storage: Saving",title);
// Get the JSON of the tiddler

View File

@ -4,4 +4,4 @@ caption: {{$:/language/codemirror/cursorBlinkRate/hint}}
\define lingo-base() $:/language/codemirror/cursorBlinkRate/
|<$link to="$:/config/codemirror/cursorBlinkRate"><<lingo hint>></$link> |<$edit-text tiddler="$:/config/codemirror/cursorBlinkRate" default="" placeholder="cursorBlinkRate" tag="input"/> |
|<$link to="$:/config/codemirror/cursorBlinkRate"><<lingo hint>></$link> |<$edit-text tiddler="$:/config/codemirror/cursorBlinkRate" default="" placeholder="cursorBlinkRate" tag="input" type="number"/> |

View File

@ -4,4 +4,4 @@ caption: {{$:/language/codemirror/indentUnit/hint}}
\define lingo-base() $:/language/codemirror/indentUnit/
|<$link to="$:/config/codemirror/indentUnit"><<lingo hint>></$link> |<$edit-text tiddler="$:/config/codemirror/indentUnit" default="" placeholder="indentUnit" tag="input"/> |
|<$link to="$:/config/codemirror/indentUnit"><<lingo hint>></$link> |<$edit-text tiddler="$:/config/codemirror/indentUnit" default="" placeholder="indentUnit" tag="input" type="number"/> |

View File

@ -4,4 +4,4 @@ caption: {{$:/language/codemirror/tabSize/hint}}
\define lingo-base() $:/language/codemirror/tabSize/
|<$link to="$:/config/codemirror/tabSize"><<lingo hint>></$link> |<$edit-text tiddler="$:/config/codemirror/tabSize" default="" placeholder="tabSize" tag="input"/> |
|<$link to="$:/config/codemirror/tabSize"><<lingo hint>></$link> |<$edit-text tiddler="$:/config/codemirror/tabSize" default="" placeholder="tabSize" tag="input" type="number"/> |

View File

@ -122,7 +122,7 @@ BarWidget.prototype.createChart = function(parent,nextSibling) {
return {
domNode: svgElement[0][0],
updateChart: function() {
if (self.barGrouped !== "no") {
if(self.barGrouped !== "no") {
transitionGrouped();
} else {
transitionStacked();
@ -160,14 +160,14 @@ BarWidget.prototype.createChart = function(parent,nextSibling) {
var x = 1 / (0.1 + Math.random()),
y = 2 * Math.random() - 0.5,
z = 10 / (0.1 + Math.random());
for (var i = 0; i < n; i++) {
for(var i = 0; i < n; i++) {
var w = (i / n - y) * z;
a[i] += x * Math.exp(-w * w);
}
}
var a = [], i;
for (i = 0; i < n; ++i) a[i] = o + o * Math.random();
for (i = 0; i < 5; ++i) bump(a);
for(i = 0; i < n; ++i) a[i] = o + o * Math.random();
for(i = 0; i < 5; ++i) bump(a);
return a.map(function(d, i) { return {x: i, y: Math.max(0, d)}; });
}
};

View File

@ -22,7 +22,9 @@ function FileSystemAdaptor(options) {
this.boot = options.boot || $tw.boot;
this.logger = new $tw.utils.Logger("filesystem",{colour: "blue"});
// Create the <wiki>/tiddlers folder if it doesn't exist
$tw.utils.createDirectory(this.boot.wikiTiddlersPath);
if(this.boot.wikiTiddlersPath) {
$tw.utils.createDirectory(this.boot.wikiTiddlersPath);
}
}
FileSystemAdaptor.prototype.name = "filesystem";
@ -52,6 +54,10 @@ The type is found by looking up the extension in $tw.config.fileExtensionInfo (e
It is the responsibility of the filesystem adaptor to update this.boot.files for new files that are created.
*/
FileSystemAdaptor.prototype.getTiddlerFileInfo = function(tiddler,callback) {
// Error if we don't have a this.boot.wikiTiddlersPath
if(!this.boot.wikiTiddlersPath) {
return callback("filesystemadaptor requires a valid wiki folder");
}
// Always generate a fileInfo object when this fuction is called
var title = tiddler.fields.title, newInfo, pathFilters, extFilters,
fileInfo = this.boot.files[title];
@ -84,7 +90,7 @@ FileSystemAdaptor.prototype.saveTiddler = function(tiddler,callback,options) {
}
$tw.utils.saveTiddlerToFile(tiddler,fileInfo,function(err,fileInfo) {
if(err) {
if ((err.code == "EPERM" || err.code == "EACCES") && err.syscall == "open") {
if((err.code == "EPERM" || err.code == "EACCES") && err.syscall == "open") {
fileInfo = fileInfo || self.boot.files[tiddler.fields.title];
fileInfo.writeError = true;
self.boot.files[tiddler.fields.title] = fileInfo;
@ -131,7 +137,7 @@ FileSystemAdaptor.prototype.deleteTiddler = function(title,callback,options) {
if(fileInfo) {
$tw.utils.deleteTiddlerFile(fileInfo,function(err,fileInfo) {
if(err) {
if ((err.code == "EPERM" || err.code == "EACCES") && err.syscall == "unlink") {
if((err.code == "EPERM" || err.code == "EACCES") && err.syscall == "unlink") {
// Error deleting the file on disk, should fail gracefully
$tw.syncer.displayError("Server desynchronized. Error deleting file for deleted tiddler \"" + title + "\"",err);
return callback(null,fileInfo);

View File

@ -21,7 +21,7 @@ katex.updateMacros = function() {
var tiddlers = $tw.wiki.getTiddlersWithTag("$:/tags/KaTeX/Macro"),
regex = /#\d/g, // Remove the arguments like #1#2
tid, macro, cmd;
for (var i=0; i < tiddlers.length; i++) {
for(var i=0; i < tiddlers.length; i++) {
tid = $tw.wiki.getTiddler(tiddlers[i]);
try {
macro = tid.fields["caption"];

View File

@ -31,17 +31,17 @@ function isValidDelim(state, pos) {
// Check non-whitespace conditions for opening and closing, and
// check that closing delimeter isn't followed by a number
if (prevChar === 0x20/* " " */ || prevChar === 0x09/* \t */ ||
if(prevChar === 0x20/* " " */ || prevChar === 0x09/* \t */ ||
prevChar === 0x0d/* "\r" */ || prevChar === 0x0a/* \n */ ||
(nextChar >= 0x30/* "0" */ && nextChar <= 0x39/* "9" */)) {
can_close = false;
}
if (nextChar === 0x20/* " " */ || nextChar === 0x09/* \t */ ||
if(nextChar === 0x20/* " " */ || nextChar === 0x09/* \t */ ||
nextChar === 0x0d/* "\r" */ || nextChar === 0x0a/* \ns */) {
can_open = false;
}
if (state.src.substring(pos,pos+3) === "$:/") {
if(state.src.substring(pos,pos+3) === "$:/") {
can_open = false;
can_close = false;
}
@ -55,11 +55,11 @@ function isValidDelim(state, pos) {
function math_inline(state, silent) {
var start, match, token, res, pos, esc_count;
if (state.src[state.pos] !== "$") { return false; }
if(state.src[state.pos] !== "$") { return false; }
res = isValidDelim(state, state.pos);
if (!res.can_open) {
if (!silent) { state.pending += "$"; }
if(!res.can_open) {
if(!silent) { state.pending += "$"; }
state.pos += 1;
return true;
}
@ -70,40 +70,40 @@ function math_inline(state, silent) {
// we have found an opening delimieter already.
start = state.pos + 1;
match = start;
while ( (match = state.src.indexOf("$", match)) !== -1) {
while( (match = state.src.indexOf("$", match)) !== -1) {
// Found potential $, look for escapes, pos will point to
// first non escape when complete
pos = match - 1;
while (state.src[pos] === "\\") { pos -= 1; }
while(state.src[pos] === "\\") { pos -= 1; }
// Even number of escapes, potential closing delimiter found
if ( ((match - pos) % 2) == 1 ) { break; }
if( ((match - pos) % 2) == 1 ) { break; }
match += 1;
}
// No closing delimter found. Consume $ and continue.
if (match === -1) {
if (!silent) { state.pending += "$"; }
if(match === -1) {
if(!silent) { state.pending += "$"; }
state.pos = start;
return true;
}
// Check if we have empty content, ie: $$. Do not parse.
if (match - start === 0) {
if (!silent) { state.pending += "$$"; }
if(match - start === 0) {
if(!silent) { state.pending += "$$"; }
state.pos = start + 1;
return true;
}
// Check for valid closing delimiter
res = isValidDelim(state, match);
if (!res.can_close) {
if (!silent) { state.pending += "$"; }
if(!res.can_close) {
if(!silent) { state.pending += "$"; }
state.pos = start;
return true;
}
if (!silent) {
if(!silent) {
token = state.push('math_inline', '$latex', 0);
token.markup = "$";
token.content = state.src.slice(start, match);
@ -126,32 +126,32 @@ function math_inline_block(state, silent) {
// we have found an opening delimieter already.
start = state.pos + 2;
match = start;
while ( (match = state.src.indexOf("$$", match)) !== -1) {
while( (match = state.src.indexOf("$$", match)) !== -1) {
// Found potential $$, look for escapes, pos will point to
// first non escape when complete
pos = match - 1;
while (state.src[pos] === "\\") { pos -= 1; }
while(state.src[pos] === "\\") { pos -= 1; }
// Even number of escapes, potential closing delimiter found
if ( ((match - pos) % 2) == 1 ) { break; }
if( ((match - pos) % 2) == 1 ) { break; }
match += 2;
}
// No closing delimter found. Consume $$ and continue.
if (match === -1) {
if (!silent) { state.pending += "$$"; }
if(match === -1) {
if(!silent) { state.pending += "$$"; }
state.pos = start;
return true;
}
// Check if we have empty content, ie: $$$$. Do not parse.
if (match - start === 0) {
if (!silent) { state.pending += "$$$$"; }
if(match - start === 0) {
if(!silent) { state.pending += "$$$$"; }
state.pos = start + 2;
return true;
}
if (!silent) {
if(!silent) {
token = state.push('math_inline_block', '$latex', 0);
token.block = true;
token.markup = "$$";

View File

@ -234,12 +234,12 @@ function MarkdownParser(type,text,options) {
rules: { pragma: {}, block: this.blockRuleClasses, inline: this.inlineRuleClasses }
});
}
catch (err) {
catch(err) {
wikiParser = $tw.wiki.parseText("text/vnd.tiddlywiki",
"<strong>Error encountered while parsing the tiddler:</strong><p>" + err.message + "</p>",
{parseAsInline: false, wiki: options.wiki});
}
finally {
finally{
$tw.utils.parseStringLiteral = origParseStringLiteral;
}
if(wikiParser.tree.length > 0) {

View File

@ -37,7 +37,7 @@ exports.run = function(text,size,errorCorrectLevel,fallback) {
var result;
try {
result = generateQrCode(text,{size: size, errorCorrectLevel: errorCorrectLevel});
} catch (ex) {
} catch(ex) {
console.log("makeqr error: " + ex);
result = fallback || ("data:image/svg+xml," + encodeURI(QRCODE_GENERATION_ERROR_PREFIX + ex + QRCODE_GENERATION_ERROR_SUFFIX));
}
@ -54,7 +54,7 @@ function generateQrCode(text,options) {
qr = qrcode(typeNumber,errorCorrectLevel);
qr.addData(text);
qr.make();
} catch (e) {
} catch(e) {
if(typeNumber >= 40) {
throw new Error("Text too long to encode");
} else {

View File

@ -377,7 +377,7 @@ Parser.prototype.tokenise = function(source) {
// Skip whitespace
pos = $tw.utils.skipWhiteSpace(source,pos);
// Avoid falling off the end of the string
if (pos >= source.length) {
if(pos >= source.length) {
break;
}
// Examine the next character

View File

@ -365,7 +365,7 @@ Slicer.prototype.onCloseTag = function(name) {
// Render the tag
if(actions.isAnchor) {
this.onCloseAnchor(e);
} else if (!actions.dontRenderTag && !selfClosing) {
} else if(!actions.dontRenderTag && !selfClosing) {
var markupInfo = actions.markup && actions.markup[this.outputMode];
if(markupInfo) {
this.addTextToCurrentChunk(markupInfo.suffix);

View File

@ -85,7 +85,7 @@ TiddlyWebAdaptor.prototype.getStatus = function(callback) {
var json = null;
try {
json = JSON.parse(data);
} catch (e) {
} catch(e) {
}
if(json) {
self.logger.log("Status:",data);
@ -165,7 +165,7 @@ TiddlyWebAdaptor.prototype.getCsrfToken = function() {
var regex = /^(?:.*; )?csrf_token=([^(;|$)]*)(?:;|$)/,
match = regex.exec(document.cookie),
csrf = null;
if (match && (match.length === 2)) {
if(match && (match.length === 2)) {
csrf = match[1];
}
return csrf;

View File

@ -21,7 +21,7 @@ exports.params = [
Run the macro
*/
exports.run = function(key,map) {
try{
try {
return JSON.parse(map)[key];
} catch(e) {
return "";

View File

@ -70,7 +70,7 @@ var WikiTextParser = function(type,text,options) {
var root = JSON.parse(JSON.stringify(parser.tree));
// macros are defined in a linear tree; walk down the tree and append the source's parsed content
var baseroot = root;
while (root[0] && root[0].children && root[0].children.length !== 0 ){
while(root[0] && root[0].children && root[0].children.length !== 0 ){
root = root[0].children;
}
root[0].children[0] = this.tree[0];

View File

@ -249,7 +249,7 @@ var rules = [
}
applyCssHelper(cell,styles);
w.subWikifyTerm(cell.children,this.cellTermRegExp);
if (!cell.attributes) cell.attributes ={};
if(!cell.attributes) cell.attributes ={};
if(w.matchText.substr(w.matchText.length-2,1) == " ") // spaceRight
$tw.utils.addAttributeToParseTreeNode(cell,"align",spaceLeft ? "center" : "left");
else if(spaceLeft)
@ -370,9 +370,9 @@ var rules = [
var f = stack[stack.length-1];
e = {type:"element",tag:this.element,children: []};
stack.push(e);
if (t ===0){
if(t ===0){
w.output.push(e);
}else {
} else {
f.children.push(e);
}
@ -458,7 +458,7 @@ var rules = [
w.source = oldSource;
w.nextMatch = oldNextMatch;
w.children = oldChildren;
for (var i=0; i<parser.tree.length; i++) {
for(var i=0; i<parser.tree.length; i++) {
w.output.push(parser.tree[i]);
}
w.nextMatch = this.lookaheadRegExp.lastIndex;
@ -488,12 +488,12 @@ var rules = [
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
name = lookaheadMatch[1] || lookaheadMatch[2];
var params = lookaheadMatch[3], nameold =name;
if (name) {
if (!!macroadapter.paramadapter[name]) {
if(name) {
if(!!macroadapter.paramadapter[name]) {
params=macroadapter.paramadapter[name](params);
//alert("going out as "+params);
}
if (!!macroadapter.namedapter[name]) {
if(!!macroadapter.namedapter[name]) {
name=macroadapter.namedapter[name];
}
w.nextMatch = this.lookaheadRegExp.lastIndex;

View File

@ -224,6 +224,11 @@ dl dt {
textarea,
input[type=text],
input[type=search],
input[type=number],
input[type=password],
input[type=email],
input[type=tel],
input[type=url],
input[type=""],
input:not([type]) {
color: <<colour foreground>>;
@ -2662,7 +2667,7 @@ a.tc-tiddlylink.tc-plugin-info:hover > .tc-plugin-info-chunk .tc-plugin-info-sta
.tc-plugin-info-chunk.tc-plugin-info-icon img, .tc-plugin-info-chunk.tc-plugin-info-icon svg {
width: 2em;
height: 2em;
height: auto;
}
.tc-plugin-info-dropdown {