1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2026-01-26 04:43:42 +00:00

Compare commits

..

6 Commits

Author SHA1 Message Date
Jeremy Ruston
ede512e07f Merge branch 'master' into social-media-cards 2024-08-06 21:11:37 +01:00
Jeremy Ruston
213a786632 Add control panel UI for social media cards 2024-08-06 19:17:59 +01:00
Jeremy Ruston
fd40741a03 Merge branch 'master' into social-media-cards 2024-08-05 11:43:48 +01:00
Jeremy Ruston
8f027758c4 Improve image preview name
Thanks @simonbaird
2024-08-05 11:43:44 +01:00
Jeremy Ruston
bde20b0d93 Fix Twitter description 2024-07-28 16:29:18 +01:00
Jeremy Ruston
6c0689a451 Initial Commit 2024-07-28 16:26:31 +01:00
118 changed files with 241 additions and 858 deletions

View File

@@ -15,11 +15,3 @@ node $TW5_BUILD_TIDDLYWIKI \
--output . \
--build readmes \
|| exit 1
# tw.org readmes
node $TW5_BUILD_TIDDLYWIKI \
editions/tw.org \
--verbose \
--output . \
--build readmes \
|| exit 1

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

@@ -1 +0,0 @@
<p>This community exists because TiddlyWiki is more useful when people share and work together.</p><p>This community is a beautiful but fragile thing: a collection of diverse people from all over the planet, united in their interest in the project, and their commitment to helping one another achieve and learn more.</p><p>We try to make the community as broad and welcoming as possible by remembering some basic principles of culture and behaviour.</p><p>These principles guide technical and non-technical decisions, and help contributors and leaders support our project and community.</p><ul><li>We are optimistic and hopeful</li><li>We aim to foster a learning environment that is collaborative and safe for everyone</li><li>We recognise that the motivation for sharing and helping is usually for appreciation, and not financial gain, and so we take care to acknowledge and <strong>thank the people who enrich the community by sharing what they have created</strong></li><li>While we are united in our interest in TiddlyWiki, we differ in every other conceivable way. We choose to focus on what unites us, and <strong>avoid unnecessarily mixing contentious topics like religion and politics</strong></li><li>We treat each other with respect, and start with the assumption that <strong>others are acting in good faith</strong></li><li>We avoid discriminatory language</li><li>We try to use our strength as a community to help others</li><li>We avoid responding when angry or upset because we try to de-escalate conflict</li><li>We make sure we critique ideas, not people</li><li>When we disagree with others we do so graciously, and treat others with dignity and respoect</li><li>We do not tolerate intolerance towards others</li><li>We seek first to understand others, and then to be understood</li><li>We have fun</li></ul><p>Our discussions are in English. It is not the first language of many people in the community, nor do we all share the same cultural background and reference points. So we take care to use language that is clear and unambigous, and avoid cultural references or jokes that will not be widely understood.</p><p>It is not acceptable to make jokes or other comments that discriminate by race, gender, sexuality, or other protected characteristic.</p><p>As an inclusive community, we are committed to making sure that TiddlyWiki is an accessible tool that understands the needs of people with disabilities.</p>

View File

@@ -93,12 +93,11 @@ var processRow = function(prevColumns) {
}
// Check whether this is a heading cell
var cell;
var start = this.parser.pos;
if(chr === "!") {
this.parser.pos++;
cell = {type: "element", tag: "th", start: start, children: []};
cell = {type: "element", tag: "th", children: []};
} else {
cell = {type: "element", tag: "td", start: start, children: []};
cell = {type: "element", tag: "td", children: []};
}
tree.push(cell);
// Record information about this cell
@@ -122,7 +121,6 @@ var processRow = function(prevColumns) {
}
// Move back to the closing `|`
this.parser.pos--;
cell.end = this.parser.pos;
}
col++;
cellRegExp.lastIndex = this.parser.pos;
@@ -171,13 +169,12 @@ exports.parse = function() {
rowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});
} else {
// Create the row
var theRow = {type: "element", tag: "tr", children: [], start: rowMatch.index};
var theRow = {type: "element", tag: "tr", children: []};
$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? "oddRow" : "evenRow");
rowContainer.children.push(theRow);
// Process the row
theRow.children = processRow.call(this,prevColumns);
this.parser.pos = rowMatch.index + rowMatch[0].length;
theRow.end = this.parser.pos;
// Increment the row count
rowCount++;
}

View File

@@ -29,14 +29,10 @@ exports.getEditionInfo = function() {
for(var entryIndex=0; entryIndex<entries.length; entryIndex++) {
var entry = entries[entryIndex];
// Check if directories have a valid tiddlywiki.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;
}
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;
}
}
}
@@ -45,4 +41,4 @@ exports.getEditionInfo = function() {
return editionInfo;
};
})();
})();

View File

@@ -924,7 +924,7 @@ exports.transliterate = function(str) {
};
exports.transliterateToSafeASCII = function(str) {
return str.replace(/[^\x20-\x7F]/g,function(ch) {
return str.replace(/[^\x00-\x7F]/g,function(ch) {
return exports.transliterationPairs[ch] || ""
});
};

View File

@@ -123,6 +123,7 @@ 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

@@ -164,59 +164,12 @@ exports.enqueueTiddlerEvent = function(title,isDeleted) {
self.eventsTriggered = false;
if($tw.utils.count(changes) > 0) {
self.dispatchEvent("change",changes);
self.runFilteredActions();
}
});
this.eventsTriggered = true;
}
};
exports.runFilteredActions = function() {
if(!$tw.browser) {
return;
}
var self = this;
var now = (new Date()).getTime();
// Minimum interval between runs
this.intervalFilteredActions = this.intervalFilteredActions || 100;
// Time of the last run
this.timestampLastRunFilteredActions = this.timestampLastRunFilteredActions || now - this.intervalFilteredActions * 2;
// If we've run the filtered actions recently, queue another run
if((this.timestampLastRunFilteredActions + this.intervalFilteredActions) > now) {
if(!this.filterActionTimerId) {
this.filterActionTimerId = setTimeout(function() {
self.filterActionTimerId = null;
self.runFilteredActions();
},this.intervalFilteredActions);
}
return;
}
// Record the time of this run
this.timestampLastRunFilteredActions = now;
// Get the list of filtered action tiddlers and process each one
var filteredActions = $tw.wiki.getTiddlersWithTag("$:/tags/FilteredActions");
$tw.utils.each(filteredActions,function(filteredActionTitle) {
var tiddler = self.getTiddler(filteredActionTitle);
if(tiddler && tiddler.fields.filter) {
var results = self.filterTiddlers(tiddler.fields.filter);
if(results.length > 0) {
console.log("Executing actions",tiddler.fields.text,results)
self.invokeActionString(
tiddler.fields.text,
null,
{
filteredActionTitle: filteredActionTitle,
results: $tw.utils.stringifyList(results),
jsonResults: JSON.stringify(results)
},{
parentWidget: $tw.rootWidget
}
);
}
}
});
}
exports.getSizeOfTiddlerEventQueue = function() {
return $tw.utils.count(this.changedTiddlers);
};

View File

@@ -33,7 +33,6 @@ external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee
footnote-target-background: #ecf2ff
foreground: #333333
highlight-background: #ffff00
highlight-foreground: #000000

View File

@@ -33,7 +33,6 @@ external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee
footnote-target-background: #ecf2ff
foreground: #333353
highlight-background: #ffff00
highlight-foreground: #000000

View File

@@ -33,7 +33,6 @@ external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee
footnote-target-background: #ecf2ff
foreground: #333333
highlight-background: #ffff00
highlight-foreground: #000000

View File

@@ -1,7 +1,7 @@
title: $:/palettes/ContrastDark
name: Contrast (Dark)
color-scheme: dark
description: High contrast and unambiguous (dark version)
title: $:/palettes/ContrastLight
name: Contrast (Light)
color-scheme: light
description: High contrast and unambiguous (light version)
tags: $:/tags/Palette
type: application/x-tiddler-dictionary
@@ -9,7 +9,7 @@ alert-background: #f00
alert-border: <<colour background>>
alert-highlight: <<colour foreground>>
alert-muted-foreground: #800
background: #000
background: #fff
blockquote-bar: <<colour muted-foreground>>
button-background: <<colour background>>
button-foreground: <<colour foreground>>
@@ -33,8 +33,7 @@ external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #00a
external-link-foreground: #00e
footnote-target-background: #4c4c4c
foreground: #fff
foreground: #000
highlight-background: #ffff00
highlight-foreground: #000000
message-background: <<colour foreground>>
@@ -83,8 +82,8 @@ tab-foreground: <<colour background>>
table-border: #dddddd
table-footer-background: #a8a8a8
table-header-background: #f0f0f0
tag-background: #fff
tag-foreground: #000
tag-background: #000
tag-foreground: #fff
tiddler-background: <<colour background>>
tiddler-border: <<colour foreground>>
tiddler-controls-foreground-hover: #ddd

View File

@@ -1,7 +1,7 @@
title: $:/palettes/ContrastLight
name: Contrast (Light)
color-scheme: light
description: High contrast and unambiguous (light version)
title: $:/palettes/ContrastDark
name: Contrast (Dark)
color-scheme: dark
description: High contrast and unambiguous (dark version)
tags: $:/tags/Palette
type: application/x-tiddler-dictionary
@@ -9,7 +9,7 @@ alert-background: #f00
alert-border: <<colour background>>
alert-highlight: <<colour foreground>>
alert-muted-foreground: #800
background: #fff
background: #000
blockquote-bar: <<colour muted-foreground>>
button-background: <<colour background>>
button-foreground: <<colour foreground>>
@@ -33,8 +33,7 @@ external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #00a
external-link-foreground: #00e
footnote-target-background: #e5e5e5
foreground: #000
foreground: #fff
highlight-background: #ffff00
highlight-foreground: #000000
message-background: <<colour foreground>>
@@ -83,8 +82,8 @@ tab-foreground: <<colour background>>
table-border: #dddddd
table-footer-background: #a8a8a8
table-header-background: #f0f0f0
tag-background: #000
tag-foreground: #fff
tag-background: #fff
tag-foreground: #000
tiddler-background: <<colour background>>
tiddler-border: <<colour foreground>>
tiddler-controls-foreground-hover: #ddd

View File

@@ -31,7 +31,6 @@ external-link-background: transparent
external-link-foreground-hover:
external-link-foreground-visited: #BF5AF2
external-link-foreground: #32D74B
footnote-target-background: #747474
foreground: #FFFFFF
highlight-background: #ffff78
highlight-foreground: #000000

View File

@@ -35,7 +35,6 @@ external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee
footnote-target-background: #ecf2ff
foreground: #333333
highlight-background: #ffff00
highlight-foreground: #000000

View File

@@ -39,7 +39,6 @@ external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #313163
external-link-foreground: #555592
footnote-target-background: #fff7d9
foreground: #2D2A23
highlight-background: #ffff00
highlight-foreground: #000000

View File

@@ -40,7 +40,6 @@ external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #d3869b
external-link-foreground: #8ec07c
footnote-target-background: #665c54
foreground: #fbf1c7
highlight-background: #ffff79
highlight-foreground: #000000

View File

@@ -40,7 +40,6 @@ external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #5E81AC
external-link-foreground: #8FBCBB
footnote-target-background: #2E3440
foreground: #d8dee9
highlight-background: #ffff78
highlight-foreground: #000000

View File

@@ -33,7 +33,6 @@ external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee
footnote-target-background: #ecf2ff
foreground: #333333
highlight-background: #ffff00
highlight-foreground: #000000

View File

@@ -131,7 +131,6 @@ external-link-background-hover: inherit
external-link-background-visited: inherit
external-link-background: inherit
external-link-foreground-hover: inherit
footnote-target-background: #ded8c5
highlight-background: #ffff00
highlight-foreground: #000000
message-border: #cfd6e6
@@ -142,10 +141,6 @@ sidebar-controls-foreground-hover:
sidebar-muted-foreground-hover:
sidebar-tab-background: #ded8c5
sidebar-tiddler-link-foreground-hover:
stability-deprecated: <<colour red>>
stability-experimental: <<colour yellow>>
stability-legacy: <<colour blue>>
stability-stable: <<colour green>>
static-alert-foreground: #aaaaaa
tab-border: #cccccc
modal-footer-border: <<colour tab-border>>

View File

@@ -34,7 +34,6 @@ external-link-background-visited: inherit
external-link-foreground: #268bd2
external-link-foreground-hover:
external-link-foreground-visited: #268bd2
footnote-target-background: #073642
foreground: #839496
highlight-background: #ffff78
highlight-foreground: #000000

View File

@@ -34,7 +34,6 @@ external-link-background-visited: inherit
external-link-foreground: #268bd2
external-link-foreground-hover: inherit
external-link-foreground-visited: #268bd2
footnote-target-background: #eee8d5
foreground: #657b83
highlight-background: #ffff00
highlight-foreground: #000000

View File

@@ -33,7 +33,6 @@ external-link-background: transparent
external-link-foreground-hover:
external-link-foreground-visited:
external-link-foreground:
footnote-target-background: #ececec
foreground: rgba(0, 0, 0, 0.87)
highlight-background: #ffff00
highlight-foreground: #000000

View File

@@ -33,7 +33,6 @@ external-link-background: transparent
external-link-foreground-hover:
external-link-foreground-visited: #7c318c
external-link-foreground: #9e3eb3
footnote-target-background: #494949
foreground: rgba(255, 255, 255, 0.7)
highlight-background: #ffff78
highlight-foreground: #000000

View File

@@ -42,7 +42,6 @@ external-link-background-visited: inherit
external-link-foreground: rgb(179, 179, 255)
external-link-foreground-hover: inherit
external-link-foreground-visited: rgb(153, 153, 255)
footnote-target-background: <<colour tag-foreground>>
foreground: rgb(179, 179, 179)
highlight-background: #ffff78
highlight-foreground: #000000

View File

@@ -41,7 +41,6 @@ external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee
footnote-target-background: #ecf2ff
foreground: #333333
highlight-background: #ffff00
highlight-foreground: #000000

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" "$:/SitePreviewUrl" "property">>
<<meta-plain "og:image" "$:/SitePreviewImageUrl" "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" "$:/SitePreviewUrl">>
<<meta-plain "twitter:image" "$:/SitePreviewImageUrl">>

View File

@@ -39,7 +39,6 @@ caption: {{$:/language/Search/Standard/Caption}}
</$keyboard>
</$keyboard>
</$keyboard>
&#32;
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
<$button class="tc-btn-invisible">
<<cancel-search-actions>>

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" type="number"/> |
|<$link to="$:/config/AnimationDuration"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler="$:/config/AnimationDuration" default="" tag="input"/> |
|<$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" type="url"/> |
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitHub/ServerURL" default="https://api.github.com" tag="input"/> |

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" type="url"/> |
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitLab/ServerURL" default="https://gitlab.com/api/v4" tag="input"/> |

View File

@@ -34,7 +34,7 @@ http://$(userName)$.tiddlyspot.com/$path$/
''<<lingo Advanced/Heading>>''
|<<lingo ServerURL>> |<$edit-text tiddler="$:/UploadURL" default="" tag="input" type="url"/> |
|<<lingo ServerURL>> |<$edit-text tiddler="$:/UploadURL" default="" tag="input"/> |
|<<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" type="url"/> |
|<<lingo ServerURL>> |<$edit-text tiddler="$:/Gitea/ServerURL" default="https://gitea/api/v1" tag="input"/> |

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" 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"/> |
|<$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"/> |
<%if [[$:/SitePreviewUrl]get[text]else[]!is[blank]] %>
<div>

View File

@@ -55,7 +55,7 @@ tags: $:/tags/SideBarSegment
<$macrocall $name="keyboard-driven-input" tiddler=<<editTiddler>> storeTitle=<<searchTiddler>>
selectionStateTitle=<<searchListState>> refreshTitle="$:/temp/search/refresh" type="search"
tag="input" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify "$:/state/popup/search-dropdown">>
class="tc-tiny-gap-right tc-popup-handle" filterMinLength={{$:/config/Search/MinLength}} inputCancelActions=<<cancel-search-actions>>
class="tc-popup-handle" filterMinLength={{$:/config/Search/MinLength}} inputCancelActions=<<cancel-search-actions>>
inputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> cancelPopups="yes"
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]"/>
</form>

View File

@@ -2,148 +2,91 @@ title: $:/core/ui/testcases/DefaultTemplate
code-body: yes
\whitespace trim
\function tf.state() "$:/state/testcase"
\procedure linkcatcherActions()
<%if [<navigateTo>has[title]] %>
<$action-setfield $tiddler=<<tf.state>> text=<<navigateTo>>/>
<$qualify title=<<state>> name="qualifiedState">
<$action-setfield $tiddler=<<qualifiedState>> text=<<navigateTo>>/>
</$qualify>
<%endif%>
\end
\procedure testcase-header()
<div class="tc-test-case-header">
<h2>
<$genesis $type={{{ [<linkTarget>!match[]then[$link]else[span]] }}} to=<<testcaseTiddler>>>
<%if [<testResult>!match[]] %>
<span class={{{ tc-test-case-result-icon
[<testResult>!match[fail]then[tc-test-case-result-icon-pass]]
[<testResult>match[fail]then[tc-test-case-result-icon-fail]]
+[join[ ]] }}}
>
<%if [<testResult>!match[fail]] %>
{{$:/core/images/done-button}}
<%else%>
{{$:/core/images/close-button}}
<%endif%>
</span>
<%endif%>
<$view tiddler="Description" mode="inline"/>
</$genesis>
<span class="tc-test-case-toolbar">
<<testcase-toolbar>>
</span>
</h2>
</div>
\end
\procedure testcase-toolbar()
<$button popup=`$(tf.state)$-more`
tooltip={{$:/language/Buttons/More/Hint}}
aria-label={{$:/language/Buttons/More/Caption}}
class="tc-btn-invisible"
selectedClass="tc-selected"
>
{{$:/core/images/down-arrow}}
</$button>
<$let
tv-config-toolbar-icons="yes"
tv-config-toolbar-text="yes"
tv-config-toolbar-class="tc-btn-invisible"
state={{{ [<qualify "$:/state/testcase">] }}}
>
<$reveal state=`$(tf.state)$-more` type="popup" position="belowleft" animate="yes">
<div class="tc-drop-down">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/TestCase/Actions]!has[draft.of]]"
variable="listItem"
>
<$transclude $tiddler=<<listItem>> $mode="inline"/>
</$list>
<div class="tc-test-case-wrapper">
<div class="tc-test-case-header">
<h2>
<$genesis $type={{{ [<linkTarget>!match[]then[$link]else[span]] }}} to=<<testcaseTiddler>>>
<%if [<testResult>!match[]] %>
<span class={{{ tc-test-case-result-icon [<testResult>!match[fail]then[tc-test-case-result-icon-pass]] [<testResult>match[fail]then[tc-test-case-result-icon-fail]] +[join[ ]] }}}>
<%if [<testResult>!match[fail]] %>
{{$:/core/images/done-button}}
<%else%>
{{$:/core/images/close-button}}
<%endif%>
</span>
<%endif%>
<$view tiddler="Description" mode="inline"/>
</$genesis>
<span class="tc-test-case-toolbar">
<$button popup=`$(state)$-more`
tooltip={{$:/language/Buttons/More/Hint}}
aria-label={{$:/language/Buttons/More/Caption}}
class="tc-btn-invisible"
selectedClass="tc-selected"
>
{{$:/core/images/down-arrow}}
</$button>
<$let
tv-config-toolbar-icons="yes"
tv-config-toolbar-text="yes"
tv-config-toolbar-class="tc-btn-invisible"
>
<$reveal state=`$(state)$-more` type="popup" position="belowleft" animate="yes">
<div class="tc-drop-down">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/TestCase/Actions]!has[draft.of]]"
variable="listItem"
>
<$transclude $tiddler=<<listItem>> $mode="inline"/>
</$list>
</div>
</$reveal>
</$let>
</span>
</h2>
</div>
</$reveal>
<%if [[Narrative]is[tiddler]] %>
<div class="tc-test-case-narrative">
<$transclude $tiddler="Narrative" $mode="block"/>
</div>
<%endif%>
<%if [<testResult>match[fail]] %>
<div class="tc-test-case-result-fail">
<div class="tc-test-case-result-fail-header">
TEST FAILED
</div>
<div class="tc-test-case-result-fail-body">
<$diff-text source=<<expectedHTML>> dest=<<outputHTML>>/>
</div>
</div>
<%endif%>
<div class="tc-test-case-panes">
<div class="tc-test-case-source">
<$macrocall $name="tabs" tabsList="[all[tiddlers]sort[]] -[prefix<state>] -Description -Narrative -Output Output +[putfirst[]] -[has[plugin-type]]" state=<<state>> default="Output" template="$:/core/ui/testcases/DefaultTemplate/SourceTabs"/>
</div>
<div class="tc-test-case-divider">
</div>
<div class="tc-test-case-output">
<%if [<displayFormat>!match[]else[wikitext]match[plaintext]] %>
<pre><$view tiddler="Output" format="plainwikified" mode="block"/></pre>
<%else%>
<$linkcatcher actions=<<linkcatcherActions>>>
<$tiddler tiddler="Output">
<$transclude $tiddler="Output" $mode="block"/>
</$tiddler>
</$linkcatcher>
<%endif%>
</div>
</div>
</div>
</$let>
\end
\procedure testcase-narrative()
<div class="tc-test-case-narrative">
<$transclude $tiddler="Narrative" $mode="block"/>
</div>
\end
\procedure testcase-fail()
<div class="tc-test-case-result-fail">
<div class="tc-test-case-result-fail-header">
TEST FAILED
</div>
<div class="tc-test-case-result-fail-body">
<$diff-text source=<<expectedHTML>> dest=<<outputHTML>>/>
</div>
</div>
\end
\procedure testcase-output-wikified()
<$linkcatcher actions=<<linkcatcherActions>>>
<$tiddler tiddler="Output">
<$transclude $tiddler="Output" $mode="block"/>
</$tiddler>
</$linkcatcher>
\end
\procedure testcase-output()
<div class="tc-test-case-output">
<%if [<displayFormat>!match[]else[wikitext]match[plaintext]] %>
<pre><$view tiddler="Output" format="plainwikified" mode="block"/></pre>
<%else%>
<<testcase-output-wikified>>
<%endif%>
</div>
\end
\procedure testcase-tabsList()
[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()
<div class="tc-test-case-source">
<$macrocall $name="tabs"
tabsList=<<testcase-tabsList>>
explicitState=<<tf.state>>
default="Output"
template="$:/core/ui/testcases/DefaultTemplate/SourceTabs"
/>
</div>
\end
\procedure testcase-panes()
<div class="tc-test-case-panes">
<<testcase-source>>
<div class="tc-test-case-divider"></div>
<<testcase-output>>
</div>
\end
\procedure testcase-body()
<div class="tc-test-case-wrapper">
<<testcase-header>>
<$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
<<testcase-body>>

View File

@@ -1,22 +1,6 @@
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">
@@ -27,12 +11,7 @@ title: $:/core/ui/testcases/DefaultTemplate/SourceTabs
<$text text=<<fieldName>>/>
</td>
<td>
<%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%>
<$view tiddler=<<currentTab>> field=<<fieldName>>/>
</td>
</tr>
</$list>

View File

@@ -1,4 +1,4 @@
title: $:/core/ui/testcases/actions/Export
tags: $:/tags/TestCase/Actions
<$macrocall $name="exportButton" exportFilter="[all[tiddlers]sort[]] -[prefix[$:/state/]] -Description -Narrative -ExpectedResult -[has[plugin-type]]" lingoBase="$:/language/Buttons/ExportTiddlers/"/>
<$macrocall $name="exportButton" exportFilter="[all[tiddlers]sort[]] -[prefix[$:/state/]] -Description -Narrative -ExpectedResult -Output Output +[putfirst[]] -[has[plugin-type]]" lingoBase="$:/language/Buttons/ExportTiddlers/"/>

View File

@@ -1,2 +1,2 @@
title: $:/tags/ViewTemplateBodyFilter
list: $:/config/ViewTemplateBodyFilters/testcase $:/config/ViewTemplateBodyFilters/hide-body $:/config/ViewTemplateBodyFilters/code-body $:/config/ViewTemplateBodyFilters/stylesheet $:/config/ViewTemplateBodyFilters/core-ui-advanced-search $:/config/ViewTemplateBodyFilters/core-ui-tags $:/config/ViewTemplateBodyFilters/import $:/config/ViewTemplateBodyFilters/plugin $:/config/ViewTemplateBodyFilters/system $:/config/ViewTemplateBodyFilters/default
list: $:/config/ViewTemplateBodyFilters/testcase $:/config/ViewTemplateBodyFilters/hide-body $:/config/ViewTemplateBodyFilters/code-body $:/config/ViewTemplateBodyFilters/stylesheet $:/config/ViewTemplateBodyFilters/core-ui-advanced-search $:/config/ViewTemplateBodyFilters/core-ui-tags $:/config/ViewTemplateBodyFilters/system $:/config/ViewTemplateBodyFilters/import $:/config/ViewTemplateBodyFilters/plugin $:/config/ViewTemplateBodyFilters/default

View File

@@ -57,8 +57,7 @@
"sl-SI",
"sv-SE",
"zh-Hans",
"zh-Hant",
"zh-HK"
"zh-Hant"
],
"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
node ./tiddlywiki.js ./editions/pluginlibrary --build test-server
cd /your/path/to/TiddlyWiki5/editions/pluginlibrary
tiddlywiki --build test-server
```
!! Test the Library with a Single File Wiki

View File

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

View File

@@ -1,23 +0,0 @@
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

@@ -324,100 +324,6 @@ describe("WikiText parser tests", function() {
});
it("should parse tables", function() {
let wikitext = `
|!Cell1 |!Cell2 |
|Cell3 |Cell4 |`.trim();
let expectedParseTree = [{
type: 'element',
tag: 'table',
start: 0,
end: 33,
rule: 'table',
children: [{
type: 'element',
tag: 'tbody',
start: 0,
end: 33,
children: [{
type: 'element',
tag: 'tr',
attributes: {
'class': { name: 'class', type: 'string', value: 'evenRow' },
},
orderedAttributes: [
{ name: 'class', type: 'string', value: 'evenRow' },
],
start: 0,
end: 18,
children: [{
type: 'element',
tag: 'th',
attributes: {
'align': { name: 'align', type: 'string', value: 'left' },
},
orderedAttributes: [
{ name: 'align', type: 'string', value: 'left' },
],
start: 1,
end: 8,
children: [{type: 'text', text: 'Cell1', start: 2, end: 7}],
}, {
type: 'element',
tag: 'th',
attributes: {
'align': { name: 'align', type: 'string', value: 'left' },
},
orderedAttributes: [
{ name: 'align', type: 'string', value: 'left' },
],
start: 9,
end: 16,
children: [{type: 'text', text: 'Cell2', start: 10, end: 15}],
}],
}, {
type: 'element',
tag: 'tr',
attributes: {
'class': { name: 'class', type: 'string', value: 'oddRow' },
},
orderedAttributes: [
{ name: 'class', type: 'string', value: 'oddRow' },
],
start: 18,
end: 33,
children: [{
type: 'element',
tag: 'td',
attributes: {
'align': { name: 'align', type: 'string', value: 'left' },
},
orderedAttributes: [
{ name: 'align', type: 'string', value: 'left' },
],
start: 19,
end: 25,
children: [{type: 'text', text: 'Cell3', start: 19, end: 24}],
}, {
type: 'element',
tag: 'td',
attributes: {
'align': { name: 'align', type: 'string', value: 'left' },
},
orderedAttributes: [
{ name: 'align', type: 'string', value: 'left' },
],
start: 26,
end: 32,
children: [{type: 'text', text: 'Cell4', start: 26, end: 31}],
}],
}],
}],
}];
expect(parse(wikitext)).toEqual(expectedParseTree);
});
});
})();

View File

@@ -16,8 +16,6 @@
"--setfield","[tag[external-image]]","_canonical_uri","$:/core/templates/canonical-uri-external-image","text/plain",
"--setfield","[tag[external-image]]","text","","text/plain",
"--render","$:/core/save/all","index.html","text/plain"],
"readmes": [
"--render","[[Code of Conduct]]","code-of-conduct.md","text/html"],
"favicon": [
"--savetiddler","$:/favicon.ico","favicon.ico"],
"static": [

View File

@@ -1,5 +0,0 @@
title: Sample Filtered Action
tags: $:/tags/FilteredActions
filter: [list[$:/StoryList]match[Sample Filtered Action]]
<$action-setfield $tiddler="$:/SiteTitle" text={{{ [{$:/SiteTitle}addsuffix[!]] }}}/>

View File

@@ -15,6 +15,4 @@ 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

@@ -4,6 +4,6 @@ tags: Definitions
title: Intertwingled Innovations
type: text/vnd.tiddlywiki
Intertwingled Innovations Limited is the company through which [[JeremyRuston]] performs commercial consultancy work helping companies and individuals release the business value of TiddlyWiki.
Intertwingled Innovations Limited is the company through which [[JeremyRuston]] performs commercial consultancy work helping companies and individuals release the businesss value of TiddlyWiki.
See https://intertwingledinnovations.com/ for more information.

View File

@@ -6,7 +6,7 @@ type: text/vnd.tiddlywiki
By default, a [[TiddlyWiki on Node.js]] instance using a [[wiki folder|TiddlyWikiFolders]] will create new tiddler files by using the sanitised and disambiguated title as filename. All filepath operations are relative to a `default-tiddler-location` which defaults to the wiki folder's `tiddlers/` directory. This can be overridden by mapping a path in the wiki's tiddlywiki.info file, by using a `default-tiddler-location` property in the `config` object.
The default file extension of `.tid` is used for tiddlers that are missing the `type` field, or for tiddlers of type "text/vnd.tiddlywiki". Tiddlers of other types are saved according to their MIME types (defined at boot startup).
The default file extension of `.tid` is used for tiddlers that are missing the `type` field, or for tiddlers of type "text/vnd.tiddlywiki". Tidders of other types are saved according to their MIME types (defined at boot startup).
Both the logical path (directory and file name) and the file extension can be customised independently by creating optional tiddlers [[$:/config/FileSystemPaths]] and [[$:/config/FileSystemExtensions]].
@@ -29,7 +29,7 @@ Logical paths do not include the file-on-disk's extension (see below), and they
<<.note "All paths are relative to the wiki's `default-tiddler-location`.">>
This will store newly created system tiddlers that are not drafts of other tiddlers in `./_system/` (after stripping the `$:/` prefix). Next, all drafts have the path separator characters in their titles replaced by "_" and are stored in `./drafts/`. Then tiddlers tagged [[task]] are stored in a subdirectory `./mytasks/`. Finally, all tiddlers not tagged with "externalnote" will match the final `[!tag[externalnote]addprefix[wiki/]]` storing these in `./wiki/`. In this example, tiddlers tagged with "externalnote" have been imported using [[tiddlywiki.files Files]] with an "isEditableFile" flag set to true, causing the server to remember their original file path in the $:/config/OriginalTiddlerPaths tiddler.
This will store newly created system tiddlers that are not drafts of other tiddlers in `./_system/` (after stripping the `$:/` prefix). Next, all drafts have the path separator characters in their titles replaced by "_" and are stored in `./drafts/`. Then tiddlers tagged [[task]] are stored in a subdirectory `./mytasks/`. Finally, all tidders not tagged with "externalnote" will match the final `[!tag[externalnote]addprefix[wiki/]]` storing these in `./wiki/`. In this example, tiddlers tagged with "externalnote" have been imported using [[tiddlywiki.files Files]] with an "isEditableFile" flag set to true, causing the server to remember their original file path in the $:/config/OriginalTiddlerPaths tiddler.
Whenever a tiddler generates a $:/config/FileSystemPaths filter match, any `/` or `\` in the tiddler title is mapped to a path separator. With the above filters, the non-system, non-draft tiddler titled `some/thing/entirely/new` (with no tags) will be saved to `./wiki/some/thing/entirely/new.tid` (ie, the file `new.tid` in a directory called `entirely/`). Thus, $:/config/FileSystemPaths itself will end up in `./_system/config/FileSystemPaths.tid` or `.\_system\config\FileSystemPaths.tid`, depending on the platform.
@@ -39,7 +39,7 @@ Normally, the file system extension of a tiddler on disk is determined by the pr
If the tiddler does not have such field values, then the `type` field is referenced to find a matching file-type, with `.tid` used for tiddlers without a type value. The boot engine defines a set of these tiddler-type to file-type relationships in the [[$:/boot/boot.js]] tiddler. Search for `// Add file extension information` to find the section of code that defines these relationships.
The file extension of individual tiddlers can be customised by creating a tiddler [[$:/config/FileSystemExtensions]] containing one or more [[filter expressions|Filter Syntax]], each on a line of its own. Every time a tiddler is saved to disk it is tested against these filters, and the first output of the first filter to produce any output is taken as the file extension to be used for the tiddler file. Extensions should always start with a leading dot (see example). If no filter matches, the default extension is used. If the extension has changed a new file is created and the old file is deleted.
The file extension of individual tidders can be customised by creating a tiddler [[$:/config/FileSystemExtensions]] containing one or more [[filter expressions|Filter Syntax]], each on a line of its own. Every time a tiddler is saved to disk it is tested against these filters, and the first output of the first filter to produce any output is taken as the file extension to be used for the tiddler file. Extensions should always start with a leading dot (see example). If no filter matches, the default extension is used. If the extension has changed a new file is created and the old file is deleted.
<<.note """A result of ".tid" will force the tiddler to be written to disk as a single-file text tiddler. A result of ".json" will force the tiddler to be written to disk as a single file tiddler in json-format (a single tiddler fields object in an array), NOT as a tiddler of type "application/json". All other recognised file-types will be saved using their defined extension along with an accompanying *.meta file of the same name which describes all fields but the "text" field.""">>
@@ -51,6 +51,6 @@ The file extension of individual tiddlers can be customised by creating a tiddle
[tag[.tid]then[.tid]]
```
This will cause all tiddlers that have the tag ".txt" to be saved at the filepath determined by the File System Paths filters, but with their text field saved as a *.txt file, and all other fields saved as a *.txt.meta file.
This will cause all tidders that have the tag ".txt" to be saved at the filepath determined by the File System Paths filters, but with their text field saved as a *.txt file, and all other fields saved as a *.txt.meta file.
Next, all tiddlers that have the ".json" tag are saved as *.json files. Finally, all tiddlers that have tag ".tid" are saved as single files. If a tiddler matches none of the filters, the default extension determined by the tiddlers `type` field would be used.

View File

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

View File

@@ -6,8 +6,6 @@ type: text/vnd.tiddlywiki
New releases of TiddlyWiki and TiddlyDesktop are announced via the [[official discussion groups|Forums]] and [[Twitter|https://twitter.com/TiddlyWiki]]
The prerelease of the next version of TiddlyWiki can be found at https://tiddlywiki.com/prerelease for testing and review purposes.
See the [[TiddlyWiki Archive]] to download older versions.
<<tabs "[[TiddlyWiki Releases]] [[TiddlyDesktop Releases]]" "TiddlyWiki Releases" "$:/state/tab">>

View File

@@ -1,29 +0,0 @@
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

@@ -1,6 +1,6 @@
caption: link
created: 20131024141900000
modified: 20240730065043721
modified: 20231113093304323
tags: Widgets
title: LinkWidget
type: text/vnd.tiddlywiki
@@ -69,13 +69,11 @@ This causes the tooltip to be the ''tooltip'' field of the target tiddler. If th
The link widget automatically determines and applies the following classes to links:
* `tc-tiddlylink` - applied to ''all'' links
* `tc-tiddlylink` - applied to all links
* `tc-tiddlylink-external` - applied to external, non-tiddler links
* `tc-tiddlylink-internal` - applied to tiddler links
* `tc-tiddlylink-missing` - applied to tiddler links where the target tiddler doesn't exist
* `tc-tiddlylink-resolves` - applied to tiddler links when the target tiddler does exist
* `tc-tiddlylink-shadow` - applied to tiddler links when the target is a shadow tiddler
** `tc-tiddlylink-shadow tc-tiddlylink-resolves` - applied to ''overwritten'' shadow tiddlers
Use the `class` attribute to specify additional css classes, or `overrideClass` to apply only that but not the above defaults, e.g. when used in a LinkCatcherWidget:

View File

@@ -1,13 +1,16 @@
{
"description": "Documentation from https://tiddlywiki.com",
"plugins": [
"tiddlywiki/nodewebkitsaver",
"tiddlywiki/browser-sniff",
"tiddlywiki/railroad",
"tiddlywiki/evernote",
"tiddlywiki/internals",
"tiddlywiki/menubar",
"tiddlywiki/confetti",
"tiddlywiki/dynannotate",
"tiddlywiki/tour"
"tiddlywiki/tour",
"tiddlywiki/qrcode"
],
"themes": [
"tiddlywiki/vanilla",

View File

@@ -2,7 +2,7 @@
"title": "$:/languages/ar-PS",
"name": "ar-PS",
"plugin-type": "language",
"description": "العربية (فلسطين)",
"description": "Arabic (Palestine)",
"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": "Català (Espanya)",
"description": "Catalan (Spain)",
"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": "Čeština (Česká republika)",
"description": "Česky (Czech Republic)",
"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": "Dansk (Danmark)",
"description": "Danish (Denmark)",
"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": "Ελληνικά (Ελλάδα)",
"description": "Greek (Greece)",
"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. (España)",
"description": "Castellano. (Spain)",
"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": "فارسی (ایران)",
"description": "Persian (Iran)",
"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": "עברית (ישראל)",
"description": "Hebrew (Israel)",
"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": "हिन्दी (भारत)",
"description": "Hindi (India)",
"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": "Italiano (Italia)",
"description": "Italian (Italy)",
"author": "MaurizioPollio",
"core-version": ">=5.0.8"
}

View File

@@ -2,7 +2,7 @@
"title": "$:/languages/ja-JP",
"name": "ja-JP",
"plugin-type": "language",
"description": "日本語 (日本)",
"description": "Japanese (Japan)",
"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": "한국어 (대한민국)",
"description": "Korean (Korea Republic)",
"author": "Myeongjin",
"core-version": ">=5.1.4"
}

View File

@@ -2,7 +2,7 @@
"title": "$:/languages/mk-MK",
"name": "mk-MK",
"plugin-type": "language",
"description": "Македонски (Македонија)",
"description": "Macedonian (North Macedonia)",
"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": "Nederlands (Nederland)",
"description": "Dutch (The Netherlands)",
"author": "gernert",
"core-version": ">=5.1.5"
}

View File

@@ -2,7 +2,7 @@
"title": "$:/languages/pa-IN",
"name": "pa-IN",
"plugin-type": "language",
"description": "ਪੰਜਾਬੀ (ਭਾਰਤ)",
"description": "Punjabi (India)",
"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": "Polski (Polska)",
"description": "Polish (Poland)",
"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": "Português (Portugal)",
"description": "Portuguese (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": "Русский (Россия)",
"description": "Russian (Russia)",
"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": "Slovenčina (Slovensko)",
"description": "Slovak (Slovakia)",
"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": "Slovenščina (Slovenija)",
"description": "Solvenian (Slovenia)",
"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": "Svenska (Sverige)",
"description": "Swedish (Sweden)",
"author": "SuperDOS",
"core-version": ">=5.1.0"
}

View File

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

View File

@@ -1,17 +0,0 @@
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

@@ -1,31 +0,0 @@
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

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

View File

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

View File

@@ -1,18 +0,0 @@
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

@@ -1,35 +0,0 @@
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

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

View File

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

View File

@@ -1,34 +0,0 @@
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

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

View File

@@ -1,44 +0,0 @@
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

@@ -1,17 +0,0 @@
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

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

View File

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

View File

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

View File

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

View File

@@ -2,7 +2,7 @@
"title": "$:/languages/zh-HK",
"name": "zh-HK",
"plugin-type": "language",
"description": "繁體中文 (香港)",
"description": "Chinese (Hong Kong)",
"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": "简体中文",
"description": "Chinese (Simplified)",
"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": "繁體中文",
"description": "Chinese (Traditional)",
"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": "繁體中文 (台灣)",
"description": "Chinese (Taiwan)",
"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" type="number"/> |
|<$link to="$:/config/codemirror/cursorBlinkRate"><<lingo hint>></$link> |<$edit-text tiddler="$:/config/codemirror/cursorBlinkRate" default="" placeholder="cursorBlinkRate" tag="input"/> |

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" type="number"/> |
|<$link to="$:/config/codemirror/indentUnit"><<lingo hint>></$link> |<$edit-text tiddler="$:/config/codemirror/indentUnit" default="" placeholder="indentUnit" tag="input"/> |

Some files were not shown because too many files have changed in this diff Show More