Compare 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
157 changed files with 405 additions and 1088 deletions
-8
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
+2 -2
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 {
-1
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>
-1
View File
@@ -133,7 +133,6 @@ Excise/Caption/Replace/Link: link
Excise/Caption/Replace/Transclusion: transclusion
Excise/Caption/Tag: Tag new tiddler with the title of this tiddler
Excise/Caption/TiddlerExists: Warning: tiddler already exists
Excise/DefaultTitle: New Excision
Excise/Hint: Excise the selected text into a new tiddler
Heading1/Caption: heading 1
Heading1/Hint: Apply heading level 1 formatting to lines containing selection
-1
View File
@@ -26,7 +26,6 @@ Tags/ClearInput/Caption: clear input
Tags/ClearInput/Hint: Clear tag input
Tags/Dropdown/Caption: tag list
Tags/Dropdown/Hint: Show tag list
Tags/EmptyMessage: (no search result)
Title/BadCharacterWarning: Warning: avoid using any of the characters <<bad-chars>> in tiddler titles
Title/Exists/Prompt: Target tiddler already exists
Title/Relink/Prompt: Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers
-2
View File
@@ -6,8 +6,6 @@ Filter/Hint: Search via a [[filter expression|https://tiddlywiki.com/static/Filt
Filter/Matches: //<small><<resultCount>> matches</small>//
Matches: //<small><<resultCount>> matches</small>//
Matches/All: All matches:
Matches/NoMatch: //No match//
Matches/NoResult: //No search result//
Matches/Title: Title matches:
Search: Search
Search/TooShort: Search text too short
@@ -14,12 +14,11 @@ Text editor operation to excise the selection to a new tiddler
exports["excise"] = function(event,operation) {
var editTiddler = this.wiki.getTiddler(this.editTitle),
editTiddlerTitle = this.editTitle,
excisionBaseTitle = $tw.language.getString("Buttons/Excise/DefaultTitle");
editTiddlerTitle = this.editTitle;
if(editTiddler && editTiddler.fields["draft.of"]) {
editTiddlerTitle = editTiddler.fields["draft.of"];
}
var excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(excisionBaseTitle);
var excisionTitle = event.paramObject.title || this.wiki.generateNewTitle("New Excision");
this.wiki.addTiddler(new $tw.Tiddler(
this.wiki.getCreationFields(),
this.wiki.getModificationFields(),
@@ -6,7 +6,7 @@ module-type: wikirule
Conditional shortcut syntax
```
This is a <%if [{something}] %>Elephant<%elseif [{else}] %>Pelican<%else%>Crocodile<%endif%>
This is a <% if [{something}] %>Elephant<% elseif [{else}] %>Pelican<% else %>Crocodile<% endif %>
```
\*/
@@ -27,7 +27,7 @@ exports.init = function(parser) {
};
exports.findNextMatch = function(startPos) {
// Look for the next <%if shortcut
// Look for the next <% if shortcut
this.matchRegExp.lastIndex = startPos;
this.match = this.matchRegExp.exec(this.parser.source);
// If not found then return no match
@@ -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++;
}
+1 -1
View File
@@ -55,7 +55,7 @@ var PutSaver = function(wiki) {
callback: function(err,data,xhr) {
// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1
if(!err) {
self.serverAcceptsPuts = xhr.status >= 200 && xhr.status < 300 && !!xhr.getResponseHeader("dav");
self.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader("dav");
}
}
});
+5 -9
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;
};
})();
})();
+1 -1
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] || ""
});
};
+1
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);
+8 -10
View File
@@ -96,15 +96,13 @@ KeyboardWidget.prototype.execute = function() {
this.param = this.getAttribute("param","");
this.key = this.getAttribute("key","");
this.tag = this.getAttribute("tag","");
if($tw.keyboardManager) {
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
if(this.key.substr(0,2) === "((" && this.key.substr(-2,2) === "))") {
this.shortcutTiddlers = [];
var name = this.key.substring(2,this.key.length -2);
$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {
self.shortcutTiddlers.push("$:/config/" + platformDescriptor + "/" + name);
});
}
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
if(this.key.substr(0,2) === "((" && this.key.substr(-2,2) === "))") {
this.shortcutTiddlers = [];
var name = this.key.substring(2,this.key.length -2);
$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {
self.shortcutTiddlers.push("$:/config/" + platformDescriptor + "/" + name);
});
}
// Make child widgets
this.makeChildWidgets();
@@ -128,7 +126,7 @@ KeyboardWidget.prototype.refresh = function(changedTiddlers) {
this.assignDomNodeClasses();
}
// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed
if(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) && $tw.keyboardManager) {
if(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
}
return this.refreshChildren(changedTiddlers);
-1
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
-1
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
-1
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
+8 -9
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
+8 -9
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
-1
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
-1
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
-1
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
-1
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
-1
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
-1
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
-5
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>>
-1
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
-1
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
-1
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
-1
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
-1
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
-1
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
+4 -4
View File
@@ -4,7 +4,7 @@ tags: $:/tags/RawMarkupWikified
\procedure meta-plain(name,source,name-attribute:"name")
\whitespace trim
<%if [<source>has[text]] %>
&lt;meta&#32;<$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>"&gt;
&lt;meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>"&gt;
<$text text={{{ [charcode[10]] }}}/>
<%endif%>
\end meta-plain
@@ -13,7 +13,7 @@ tags: $:/tags/RawMarkupWikified
\whitespace trim
<%if [<source>has[text]] %>
<$wikify name="html" text={{{ [<source>get[text]] }}} output="text">
&lt;meta&#32;<$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>"&gt;
&lt;meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>"&gt;
<$text text={{{ [charcode[10]] }}}/>
</$wikify>
<%endif%>
@@ -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">>
+41 -56
View File
@@ -9,16 +9,14 @@ caption: {{$:/language/Search/Filter/Caption}}
tag="$:/tags/AdvancedSearch"
beforeafter="$beforeafter$"
defaultState="$:/core/ui/AdvancedSearch/System"
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"
/>
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
\end
\define cancel-search-actions()
\whitespace trim
<$list filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]">
<$list-empty>
<$action-deletetiddler $filter="[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]"/>
</$list-empty>
<$list
filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]"
emptyMessage="<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />">
<$action-setfield $tiddler="$:/temp/advancedsearch/input" text={{$:/temp/advancedsearch}}/>
<$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/>
</$list>
@@ -26,67 +24,54 @@ caption: {{$:/language/Search/Filter/Caption}}
\define input-accept-actions()
\whitespace trim
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
<$list-empty>
<$list filter="[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]">
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
</$list>
<$/list-empty>
<$list
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>">
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
</$list>
\end
\define input-accept-variant-actions()
\whitespace trim
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
<$list-empty>
<$list filter="[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]">
<$list filter="[<__tiddler__>get[text]minlength[1]]">
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
</$list>
</$list>
</$list-empty>
<$list
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>">
<$list filter="[<__tiddler__>get[text]minlength[1]]">
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
</$list>
</$list>
</$list></$list>
\end
\whitespace trim
<<lingo Filter/Hint>>
<div class="tc-search tc-advanced-search">
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>> class="tc-small-gap-right">
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
<$macrocall $name="keyboard-driven-input"
tiddler="$:/temp/advancedsearch/input"
storeTitle="$:/temp/advancedsearch"
refreshTitle="$:/temp/advancedsearch/refresh"
selectionStateTitle="$:/temp/advancedsearch/selected-item"
type="search"
tag="input"
focus={{$:/config/Search/AutoFocus}}
configTiddlerFilter="[[$:/temp/advancedsearch]]"
firstSearchFilterField="text"
inputAcceptActions=<<input-accept-actions>>
inputAcceptVariantActions=<<input-accept-variant-actions>>
inputCancelActions=<<cancel-search-actions>>
/>
</$keyboard>
</$keyboard>
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]">
<$transclude/>
</$list>
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
<$macrocall $name="keyboard-driven-input"
tiddler="$:/temp/advancedsearch/input"
storeTitle="$:/temp/advancedsearch"
refreshTitle="$:/temp/advancedsearch/refresh"
selectionStateTitle="$:/temp/advancedsearch/selected-item"
type="search"
tag="input"
focus={{$:/config/Search/AutoFocus}}
configTiddlerFilter="[[$:/temp/advancedsearch]]"
firstSearchFilterField="text"
inputAcceptActions=<<input-accept-actions>>
inputAcceptVariantActions=<<input-accept-variant-actions>>
inputCancelActions=<<cancel-search-actions>>/>
</$keyboard>
</$keyboard>
&#32;
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]"><$transclude/></$list>
</div>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="" tag="div" class="tc-search-results">
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
<p><<lingo Filter/Matches>></p>
<$list filter={{$:/temp/advancedsearch}}>
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
</$list>
</$set>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
<div class="tc-search-results">
<p><<lingo Filter/Matches>></p>
<$list filter={{$:/temp/advancedsearch}}>
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
</$list>
</div>
</$set>
</$reveal>
+2 -6
View File
@@ -79,15 +79,11 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
<$set name="resultCount" value={{{ [all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] +[count[]]}}}>
<$set name="resultCount" value="<$count filter='[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]'/>">
<div class="tc-search-results">
<%if [<resultCount>match[0]] %>
{{$:/language/Search/Matches/NoMatch}}
<%else%>
<<lingo Shadows/Matches>>
<%endif%>
<<lingo Shadows/Matches>>
<$list filter="[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]">
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
+3 -4
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>>
@@ -58,15 +57,15 @@ caption: {{$:/language/Search/Standard/Caption}}
configTiddler={{{ [[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}
searchListState="$:/temp/advancedsearch/selected-item">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]">
<$list-empty>
<$list filter='[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]'><$transclude mode="block"/></$list>
</$list-empty>
<$macrocall $name="tabs"
tabsList="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]"
default={{$:/config/SearchResults/Default}}
actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<currentTab>>/>"
explicitState="$:/state/tab/search-results/advancedsearch" />
</$list>
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]] :else[[]]">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]"><$transclude mode="block"/></$list>
</$list>
</$vars>
</$list>
</$reveal>
+2 -6
View File
@@ -78,15 +78,11 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/te
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
<$set name="resultCount" value={{{ [is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]] +[count[]] }}}>
<$set name="resultCount" value="<$count filter='[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]'/>">
<div class="tc-search-results">
<%if [<resultCount>match[0]] %>
{{$:/language/Search/Matches/NoMatch}}
<%else%>
<<lingo System/Matches>>
<%endif%>
<<lingo System/Matches>>
<$list filter="[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]">
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
+1 -1
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"/> |
+1 -1
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"/> |
+1 -1
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"/> |
+1 -1
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"/> |
+1 -1
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"/> |
+3 -3
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>
+2 -2
View File
@@ -9,7 +9,7 @@ second-search-filter: [!is[system]search<userInput>sort[title]limit[250]]
//<small>{{$:/language/Search/Matches/Title}}</small>//
<$list filter="[<userInput>minlength[1]]" variable="ignore">
<$list filter={{{ [<configTiddler>get[first-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>
<$list filter={{{ [<configTiddler>get[first-search-filter]] }}}>
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
@@ -19,7 +19,7 @@ second-search-filter: [!is[system]search<userInput>sort[title]limit[250]]
//<small>{{$:/language/Search/Matches/All}}</small>//
<$list filter="[<userInput>minlength[1]]" variable="ignore">
<$list filter={{{ [<configTiddler>get[second-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>
<$list filter={{{ [<configTiddler>get[second-search-filter]] }}}>
<span class={{{[<currentTiddler>addsuffix[-secondaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
+1 -1
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>
-1
View File
@@ -13,7 +13,6 @@ title: $:/core/ui/TestCaseTemplate
testActions="Actions"
testHideIfPass=<<hideIfPass>>
>
<$data $filter={{!!import}}/>
<$data $compound-filter={{!!import-compound}}/>
<$data $compound-tiddler=<<currentTiddler>>/>
<%if [{!!description}!is[blank]] %><$data title="Description" text={{!!description}}/><%endif%>
+79 -136
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>>
@@ -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>
+1 -1
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/"/>
+10 -13
View File
@@ -31,11 +31,11 @@ second-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>
\procedure add-tag-actions()
<$let tag=<<_tf.getTag>> >
<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter='+[toggle<tag>trim[]]'/>
<%if [<tag>] :intersection[<saveTiddler>get<tagField>enlist-input[]] %>
<% if [<tag>] :intersection[<saveTiddler>get<tagField>enlist-input[]] %>
<!-- tag has been removed - do nothing -->
<%else%>
<% else %>
<<actions>>
<%endif%>
<% endif %>
<<delete-tag-state-tiddlers>>
<$action-setfield $tiddler=<<refreshTitle>> text="yes"/>
</$let>
@@ -46,11 +46,11 @@ second-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>
The second ESC tries to close the "draft tiddler"
-->
\procedure clear-tags-actions-inner()
<%if [<storeTitle>has[text]] ~[<newTagNameTiddler>has[text]] %>
<% if [<storeTitle>has[text]] ~[<newTagNameTiddler>has[text]] %>
<<delete-tag-state-tiddlers>>
<%else%>
<% else %>
<<cancel-delete-tiddler-actions "cancel">>
<%endif%>
<% endif %>
\end
<!-- triggered by keyboard only -->
@@ -83,9 +83,6 @@ The second ESC tries to close the "draft tiddler"
emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem"
>
<$list filter=<<filter>> variable="tag">
<$list-empty>
<span class="tc-small-gap-left">{{$:/language/EditTemplate/Tags/EmptyMessage}}</span>
</$list-empty>
<!-- The buttonClasses filter is used to define tc-tag-button-selected state -->
<!-- tf.get-tagpicker-focus-selector has to be resolved for $:/core/ui/TagPickerTagTemplate,
othwerwise qualify in tf.tagpicker-dropdown-id causes problems -->
@@ -128,13 +125,13 @@ The second ESC tries to close the "draft tiddler"
>
{{$:/core/images/down-arrow}}
</$button>
<%if [<storeTitle>has[text]] %>
<% if [<storeTitle>has[text]] %>
<$button actions=<<delete-tag-state-tiddlers>> class="tc-btn-invisible tc-small-gap tc-btn-dropdown"
tooltip={{$:/language/EditTemplate/Tags/ClearInput/Hint}} aria-label={{$:/language/EditTemplate/Tags/ClearInput/Caption}}
>
{{$:/core/images/close-button}}
</$button>
<%endif%>
<% endif %>
<span class="tc-add-tag-button tc-small-gap-left">
<$let tag=<<_tf.getTag>>>
<$button set=<<newTagNameTiddler>> actions=<<add-button-actions>> >
@@ -144,13 +141,13 @@ The second ESC tries to close the "draft tiddler"
</span>
</div>
<div class="tc-block-dropdown-wrapper">
<%if [<tf.tagpicker-dropdown-id>has[text]] %>
<% if [<tf.tagpicker-dropdown-id>has[text]] %>
<div class="tc-block-dropdown tc-block-tags-dropdown">
<$macrocall $name="tag-picker-listTags" filter=<<nonSystemTagsFilter>> suffix="-primaryList" />
<hr>
<$macrocall $name="tag-picker-listTags" filter=<<systemTagsFilter>> suffix="-secondaryList" />
</div>
<%endif%>
<% endif %>
</div>
</div>
\end
+1 -1
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
@@ -9,6 +9,6 @@ type: text/vnd.tiddlywiki
<$link to={{{ [<__version__>addprefix[Release ]] }}} class="doc-from-version">{{$:/core/images/warning}} New in: <$text text=<<__version__>>/></$link>
\end
\define .deprecated-since(version, superseded:"")
<$link to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">{{$:/core/images/warning}} Deprecated from v<$text text=<<__version__>>/></$link> <%if [<__superseded__>else[]!match[]] %>(see <$link to=<<__superseded__>>><$text text=<<__superseded__>>/></$link>)<%endif%>
\define .deprecated-since(version, superseded:"TODO-Link")
<$link to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">{{$:/core/images/warning}} Deprecated since: <$text text=<<__version__>>/></$link> (see <$link to=<<__superseded__>>><$text text=<<__superseded__>>/></$link>)
\end
@@ -9,7 +9,7 @@ type: text/vnd.tiddlywiki
\end
\define .deprecated-since(version, superseded:"TODO-Link")
<$button to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">{{$:/core/images/warning}} Obsolète depuis<<:>> $version$ </$button>. <%if [<__superseded__>else[]!match[]] %>Utilisez [[$superseded$]] à la place<%endif%>
<$button to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">{{$:/core/images/warning}} Obsolète depuis<<:>> $version$ </$button>. Utilisez [[$superseded$]] à la place
\end
<pre><$view field="text"/></pre>
+1 -2
View File
@@ -57,8 +57,7 @@
"sl-SI",
"sv-SE",
"zh-Hans",
"zh-Hant",
"zh-HK"
"zh-Hant"
],
"themes": [
"tiddlywiki/centralised",
@@ -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
+1 -1
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"
],
+7 -54
View File
@@ -1,6 +1,6 @@
caption: 5.3.6
created: 20240830144941926
modified: 20240830144941926
created: 20240710120027897
modified: 20240710120027897
tags: ReleaseNotes
title: Release 5.3.6
type: text/vnd.tiddlywiki
@@ -12,38 +12,20 @@ description: Under development
! Translation improvements
<<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8531">> support for new language "Chinese (Hong Kong)"
This release includes improvements to the following translations:
* Chinese
*
! Plugin Improvements
!! Geospatial Plugin
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8404">> support for custom wikitext popups to be attached to map features
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8437">> ordering of latitude and longitude in geospatial operators
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8484">> crash when geomap contains an empty geolayer widget
!! Markdown Plugin
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8395">> strikethrough, superscript and subscript editor toolbar buttons
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8402">> readability of Markdown links to other tiddlers
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8459">> image toolbar dropdown to editor toolbar
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8492">> colour for target footnote background
! TestCaseWidget and Related Improvements
This release includes several fixes and improvements to the TestCaseWidget, its default template, and the related DataWidget and CompoundTiddlers format. These features were first introduced in [[Release 5.3.4]] and are undergoing continuous improvement as we work on integrating them more widely across the system.
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8447">> new `$compound-filter` attribute for the DataWidget that allows other compound tiddlers to be imported. There is also a companion ''import-compound'' field for the TestCaseWidget template
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8514">> the TestCaseWidget default template to make it more modular
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8499">> support for an ''import'' field in the default TestCaseWidget template, allowing additional tiddlers to be imported
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8416">> [[TestCaseWidget]] default template to allow wikitext within the test case narrative
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8449">> WikiText formatting buttons when editing CompoundTiddlers
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8450">> CompoundTiddlers type `text/vnd.tiddlywiki-multiple` to the editor type dropdown
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8409">> filesystem handling so that CompoundTiddlers are saved as .tid files
! Widget Improvements
@@ -55,21 +37,11 @@ This release includes several fixes and improvements to the TestCaseWidget, its
! Usability Improvements
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8530">> language descriptions by localising them
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8407">> the contrast of plugin stability badges on hover
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8430">> a "copy to clipboard" button to the view template body template used for code tiddlers
* <<.link-badge-added "github.com/TiddlyWiki/TiddlyWiki5/pull/8441">> support for social media cards to be added to TiddlyWiki
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8518">> type attribute to input fields in control panel, allowing virtual keyboards to switch to the proper one when editing settings
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8558">> empty message to tag picker, search dropdown and advanced search
! Hackability Improvements
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8431">> support for the HTML entity `&NoBreak;` which can be useful for joining HTML elements without an unwanted linebreak
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8439">> a keyboard shortcut for opening the control panel (by default it is <kbd>ctrl</kbd>-<kbd>alt</kbd>-<kbd>C</kbd>)
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8182">> new [[Hidden Setting: Tag Pill Drag Filter]] that allows configuration of the tiddlers that are transferred when dragging a tag pill
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8384">> tests to ensure that the syntax elements `{% %}` and `{= =}` are reserved for external tooling, and will never be recognised by TiddlyWiki itself
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8462">> new cascades for the view template subtitle and tags
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8500">> excision tool implementation to make the excision tiddler title translatable
*
! Bug Fixes
@@ -77,47 +49,28 @@ This release includes several fixes and improvements to the TestCaseWidget, its
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8393">> crash when [[WidgetMessage: tm-copy-to-clipboard]] is passed an empty string
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8399">> disengage "select all" when cancelling an import
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8382">> [[transcludes Operator]] and [[backtranscludes Operator]] minor issue with transclusions made via a filtered attribute
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/discussions/8428">> scroll top position when animation duration is zero
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8476">> importing $:/build tiddler when upgrading to avoid overwriting it
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/d9ac4a823fe0f91c615ed33fa890069f88cc8ab9">> crash with RenderCommand when filename filter returns empty result
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8355">> display of language plugins
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8540">> (and <<.link-badge-here "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8546">>) display of non-square plugin icons
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8517">> appearance of input elements other than type `text` and `search`
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/38081b86c97a795420515156fcd52177574be516">> crash with filesystem adaptor if the wiki folder is missing
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8413">> unwrapped oveflowed code blocks not showing scroll bars when setting "Wrap long lines in code blocks" to "No" in "Theme tweaks"
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/7317">> (and <<.link-badge-here "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8552">>) search input box outline in Chrome-like browsers
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/fa423e508ff5012423a1904bb17c9d61848732ee">> interpretation of success codes in Put saver OPTIONS request
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8485">> duplicated search result in advanced search if more than one tiddler is tagged with $:/tags/SearchResults
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/7dfdbae812306875bac2445ca4ee505b406e3be1">> crash with KeyboardWidget in startup actions
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8416">> [[TestCaseWidget]] default template to allow wikitext within the test case narrative
! Node.js Improvements
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8339">> server crash when authenticating if newlines are contained in the site title
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8409">> filesystem handling so that [[Compound Tiddlers]] are saved as .tid files
! Developer Improvements
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8423">> the browser checks used in $:/boot/bootprefix.js
* <<.link-badge-extended "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8494">> parse tree format to add `start`/`end` properties to table row and cell elements
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8265">> and simplified plugin library edition usage
*
! Acknowledgements
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
<<.contributors """
BramChen
btheado
flibbles
hoelzro
kookma
Leilei332
linonetwo
pmario
PotOfCoffee2Go
saqimtiaz
simonbaird
springerspandrel
twMat
valpackett
webplusai
""">>
@@ -5,7 +5,7 @@ tags: [[$:/tags/wiki-test-spec]]
title: Text
This is a <%if [<something>match[one]] %>Elephant<%endif%>, I think.
This is a <% if [<something>match[one]] %>Elephant<% endif %>, I think.
+
title: Output
@@ -6,23 +6,23 @@ tags: [[$:/tags/wiki-test-spec]]
title: Output
\procedure test(animal)
<%if [<animal>match[Elephant]] %>
<% if [<animal>match[Elephant]] %>
! It is an elephant
<%else%>
<% else %>
<%if [<animal>match[Giraffe]] %>
<% if [<animal>match[Giraffe]] %>
! It is a giraffe
<%else%>
<% else %>
! It is completely unknown
<%endif%>
<% endif %>
<%endif%>
<% endif %>
\end
@@ -5,7 +5,7 @@ tags: [[$:/tags/wiki-test-spec]]
title: Text
This is a <%if [<something>match[one]] %>Elephant<%else%>Crocodile<%endif%>, I think.
This is a <% if [<something>match[one]] %>Elephant<% else %>Crocodile<% endif %>, I think.
+
title: Output
@@ -5,7 +5,7 @@ tags: [[$:/tags/wiki-test-spec]]
title: Text
This is a <%if [<something>match[one]] %>Elephant<%elseif [<something>match[two]] %>Antelope<%else%>Crocodile<%endif%>, I think.
This is a <% if [<something>match[one]] %>Elephant<% elseif [<something>match[two]] %>Antelope<% else %>Crocodile<% endif %>, I think.
+
title: Output
@@ -5,7 +5,7 @@ tags: [[$:/tags/wiki-test-spec]]
title: Text
This is a <%if [<something>match[one]] %>Elephant
This is a <% if [<something>match[one]] %>Elephant
+
title: Output
@@ -5,7 +5,7 @@ tags: [[$:/tags/wiki-test-spec]]
title: Output
This is a <%if 1 2 3 4 5 6 %>Elephant<%endif%>, I think.
This is a <% if 1 2 3 4 5 6 %>Elephant<% endif %>, I think.
+
title: ExpectedResult
@@ -6,15 +6,15 @@ tags: [[$:/tags/wiki-test-spec]]
title: Output
\procedure test(animal)
<%if [<animal>match[Elephant]] %>
<% if [<animal>match[Elephant]] %>
It is an elephant
<%else%>
<%if [<animal>match[Giraffe]] %>
<% else %>
<% if [<animal>match[Giraffe]] %>
It is a giraffe
<%else%>
<% else %>
It is completely unknown
<%endif%>
<%endif%>
<% endif %>
<% endif %>
\end
<<test "Giraffe">>
@@ -7,20 +7,20 @@ title: Text
\whitespace trim
This is a&#32;
<%if [<something>match[one]] %>
<%if [<another>match[one]] %>
<% if [<something>match[one]] %>
<% if [<another>match[one]] %>
Indian
<%elseif [<another>match[two]] %>
<% elseif [<another>match[two]] %>
African
<%else%>
<% else %>
Unknown
<%endif%>
<% endif %>
&#32;Elephant
<%elseif [<something>match[two]] %>
<% elseif [<something>match[two]] %>
Antelope
<%else%>
<% else %>
Crocodile
<%endif%>
<% endif %>
, I think.
+
title: Output
@@ -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>
@@ -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);
});
});
})();
-2
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": [
@@ -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]].
@@ -1,5 +1,5 @@
created: 20240507221902644
modified: 20240808020847667
modified: 20240729083054531
tags: Concepts
title: TestCaseTiddlers
type: text/vnd.tiddlywiki
@@ -14,9 +14,8 @@ Test case tiddlers have the following ''fields'':
|<<.field type>> |Needs to be set to `text/vnd.tiddlywiki-multiple` |
|<<.field tags>> |Test cases are tagged [[$:/tags/wiki-test-spec]]. Test cases that intentionally fail are tagged [[$:/tags/wiki-test-spec-failing]] |
|<<.field description>> |Descriptive heading for the test, intended to make it easy to identify the test |
|<<.field display-format>> |Optional, defaults to `wikitext`. Set to `plaintext` to cause the output to be rendered as plain text |
|<<.field import>> |<<.from-version "5.3.6">> A filter string that defines a list of tiddlers to import |
|<<.field import-compound>> |<<.from-version "5.3.6">> A filter string that defines a list of compound tiddlers to import. See: <<.wlink DataWidget>> widget |
|<<.field display-format>> |Optional, defaults to `wikitext`. Set to `plaintext` to cause the output to be rended as plain text |
|<<.field import-compound>> |<<.from-version "5.3.6">> A filter string, that defines a list of compound tiddlers, that should be imported. See: <<.wlink DataWidget>> widget |
Test case tiddlers with the appropriate tag are shown in the $:/ControlPanel ''-> Advanced -> Test Cases ''
@@ -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.
@@ -15,7 +15,6 @@ I'm the original inventor of TiddlyWiki. You can hire me through [[Intertwingled
Further information:
* A recording of the [[keynote I gave at QCon London in April 2024|https://www.infoq.com/presentations/bbc-micro/]], and the [[discussion on talk.tiddlywiki.org|https://talk.tiddlywiki.org/t/recording-of-jeremys-keynote-at-qcon-london-april-2024/10505]]. The talk mixes some nostalgia about my teenage activities with the BBC Micro with thoughts on the development of the software industry and insights gained from working with TiddlyWiki
* An [[interview with me in The Inquirer|http://www.theinquirer.net/inquirer/feature/2105529/bt-software-engineer-tells-telco-source]] by Wendy Grossman
* A [[hilarious interview with me|https://www.youtube.com/watch?v=auyIhw8MTmQ]] from British television in 1983
* Here's a video of a presentation I did in 2007 called [["How to Start an Open Source Project"|http://vimeo.com/856110]].
@@ -5,8 +5,8 @@ tags: $:/tags/ViewTemplate
title: $:/editions/tw5.com/empty-tag-node-template
type:
<%if [<storyTiddler>!has[text]!has[tags]tagging[]] %>
<% if [<storyTiddler>!has[text]!has[tags]tagging[]] %>
The following tiddlers are tagged with <<tag>>:
<<list-links filter:"[<storyTiddler>!has[text]!has[tags]tagging[]]" class:"multi-columns">>
<%endif%>
<% endif %>
@@ -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.
@@ -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}}
@@ -23,13 +23,13 @@ type: text/vnd.tiddlywiki
These new token-based shortcuts allow a richer structure and expressivity than existing features such as widgets or pragmas. For example:
```
<%if [<animal>match[Elephant]] %>
<% if [<animal>match[Elephant]] %>
It is an elephant
<%elseif [<animal>match[Giraffe]] %>
<% elseif [<animal>match[Giraffe]] %>
It is a giraffe
<%else%>
<% else %>
It is completely unknown
<%endif%>
<% endif %>
```
Behind the scenes, the conditional shortcut syntax is rendered as the equivalent [[ListWidgets|ListWidget]].
@@ -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">>
@@ -119,7 +119,7 @@ type: text/vnd.tiddlywiki
\procedure .infoBox(text:"", title, icon:"$:/core/images/info-button", class, iconSize:"1.4rem")
\function _f.tipClass() [[doc-icon-block]] [<class>!is[blank]then<class>] +[join[ ]]
<div class=<<_f.tipClass>>>
<%if [<title>!is[blank]] %><div>''<<title>>''</div><%endif%>
<%if [<title>!is[blank]] %><div>''<<title>>''</div><% endif %>
<div class="doc-block-icon"><$transclude $tiddler=<<icon>> size=<<iconSize>>/></div>
<<text>>
</div>
@@ -9,18 +9,18 @@ type: text/vnd.tiddlywiki
\whitespace trim
\procedure .op-place()
<%if [<op-name>!is[blank]] %>
<% if [<op-name>!is[blank]] %>
<$macrocall $name=".place" _=<<op-name>> /><span class="tc-tiny-gap">=</span>
<%endif%>
<% endif %>
\end
\procedure .op-row()
<%if [<op-body>!is[blank]] %>
<% if [<op-body>!is[blank]] %>
<tr>
<th align="left"><<op-head>></th>
<td><<.op-place>><<op-body>></td>
</tr>
<%endif%>
<% endif %>
\end
<$list filter="[all[current]tag[Named Filter Run Prefix]]">
@@ -16,9 +16,9 @@ title: $:/editions/tw5.com/operator-macros
<$list filter="[title<.state-prefix>addsuffix{!!title}addsuffix[/]addsuffix<n>]" variable=".state">
<$reveal state=<<.state>> type="nomatch" text="show">
<code><$text text=<<eg>>/></code>
<%if [<ie>!is[blank]] %>
<% if [<ie>!is[blank]] %>
<dd>&rarr;&nbsp;<<ie>></dd>
<%endif%>
<% endif %>
<dl>
<dd><$button actions=<<.operator-example-tryit-actions>>>Try it</$button></dd>
</dl>
@@ -8,17 +8,17 @@ title: $:/editions/tw5.com/operator-template
\whitespace trim
\procedure .op-place()
<%if [<op-name>!is[blank]] %>
<% if [<op-name>!is[blank]] %>
<$macrocall $name=".place" _=<<op-name>> /><span class="tc-tiny-gap">=</span>
<%endif%>
<% endif %>
\end
\procedure .op-row()
<%if [<op-body>!is[blank]] %>
<% if [<op-body>!is[blank]] %>
<tr>
<th align="left"><<op-head>></th><td><<.op-place>><<op-body>></td>
</tr>
<%endif%>
<% endif %>
\end
<$list filter="[all[current]tag[Filter Operators]]">
@@ -19,22 +19,20 @@ type: text/vnd.tiddlywiki
\end
\procedure .from-version(version)
<%if [<version>compare:version:gteq<tf.from-version-reference>] %>
<% if [<version>compare:version:gteq<tf.from-version-reference>] %>
<<.from-version-template "doc-from-version doc-from-version-new" "New in v">>
<%else%>
<% else %>
<<.from-version-template "doc-from-version" "Introduced in v">>
<%endif%>
<% endif %>
\end
\procedure .deprecated-since(version, superseded:"")
\procedure .deprecated-since(version, superseded:"TODO-Link")
<$link to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">
{{$:/core/images/warning}}
<span class="tc-tiny-gap">Deprecated from </span>
v<$text text=<<version>>/>
<span class="tc-tiny-gap">Deprecated since:</span>
<$text text=<<version>>/>
</$link>
<%if [<superseded>else[]!match[]] %>
<span class="tc-tiny-gap-left">
(see <$link class="tc-tiny-gap-left" to=<<superseded>>><$text text=<<superseded>>/></$link>)
</span>
<%endif%>
<span class="tc-tiny-gap-left">
(see <$link class="tc-tiny-gap-left" to=<<superseded>>><$text text=<<superseded>>/></$link>)
</span>
\end
@@ -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>
@@ -75,7 +75,7 @@ eg="""<$edit-text tiddler=<<currentTiddler>> field="heading" size="25" focus="ye
eg="""\procedure onInput()
<%if [get[temp]match[$:/]] %>
<$action-confirm $message="Yes, this is how system tiddler names begin!"/>
<%endif%>
<% endif %>
\end
Type a new tiddler name, starting with the system prefix `$:/`: <$edit-text inputActions=<<onInput>> field="temp" class="tc-edit-texteditor"/>
@@ -26,7 +26,7 @@ The content of the `<$edit>` widget is ignored.
! Examples
!! Edit the contents (text field) of a tiddler titled <%if [<now YYYY-0MM-0DD>is[tiddler]] %> <$tiddler tiddler=<<now YYYY-0MM-0DD>> > <$link/></$tiddler> <%else %> with todays date <%endif%>
!! Edit the contents (text field) of a tiddler titled <%if [<now YYYY-0MM-0DD>is[tiddler]] %> <$tiddler tiddler=<<now YYYY-0MM-0DD>> > <$link/></$tiddler> <%else %> with todays date <% endif %>
<$macrocall $name=".example" n="1"
eg="""<$edit tiddler=<<now YYYY-0MM-0DD>> class="tc-edit-texteditor"/>
@@ -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:
@@ -11,40 +11,40 @@ Within an "if" or "elseif" clause, the variable `condition` contains the value o
A simple example:
<$macrocall $name='wikitext-example-without-html'
src='<%if [{$:/info/url/protocol}match[file:]] %>
src='<% if [{$:/info/url/protocol}match[file:]] %>
Loaded from a file URI
<%else%>
<% else %>
Not loaded from a file URI
<%endif%>
<% endif %>
'/>
One or more `<%elseif%>` clauses may be included before the `<%else%>` clause:
One or more `<% elseif %>` clauses may be included before the `<% else %>` clause:
<$macrocall $name='wikitext-example-without-html'
src='<%if [{$:/info/url/protocol}match[file:]] %>
src='<% if [{$:/info/url/protocol}match[file:]] %>
Loaded from a file URI
<%elseif [{$:/info/url/protocol}match[https:]] %>
<% elseif [{$:/info/url/protocol}match[https:]] %>
Loaded from an HTTPS URI
<%elseif [{$:/info/url/protocol}match[http:]] %>
<% elseif [{$:/info/url/protocol}match[http:]] %>
Loaded from an HTTP URI
<%else%>
<% else %>
Loaded from an unknown protocol
<%endif%>
<% endif %>
'/>
The conditional shortcut syntax can be nested:
<$macrocall $name='wikitext-example-without-html'
src='\procedure test(animal)
<%if [<animal>match[Elephant]] %>
<% if [<animal>match[Elephant]] %>
It is an elephant
<%else%>
<%if [<animal>match[Giraffe]] %>
<% else %>
<% if [<animal>match[Giraffe]] %>
It is a giraffe
<%else%>
<% else %>
It is completely unknown
<%endif%>
<%endif%>
<% endif %>
<% endif %>
\end
<<test "Giraffe">>
@@ -56,7 +56,7 @@ src='\procedure test(animal)
Notes:
* Clauses are parsed in inline mode by default. Force block mode parsing by following the opening `<%if %>`, `<%elseif%>` or `<%else%>` with two line breaks
* Clauses are parsed in inline mode by default. Force block mode parsing by following the opening `<% if %>`, `<% elseif %>` or `<% else %>` with two line breaks
* Widgets and HTML elements must be within a single conditional clause; it is not possible to start an element in one conditional clause and end it in another
* The conditional shortcut syntax cannot contain pragmas such as procedure definitions
+4 -1
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",
+1 -1
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"
+1 -1
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"
}
+1 -1
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"
}
+1 -1
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"
}
+1 -1
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"
}
+1 -1
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"
}
+1 -1
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"
+1 -1
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"
+1 -1
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"
}
+1 -1
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"
}
+1 -1
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"
}
+1 -1
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"
}

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