mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2026-08-26 12:48:53 +00:00
Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ede512e07f | ||
|
|
213a786632 | ||
|
|
fd40741a03 | ||
|
|
8f027758c4 | ||
|
|
bde20b0d93 | ||
|
|
6c0689a451 |
@@ -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
@@ -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 +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>
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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++;
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
})();
|
||||
})();
|
||||
|
||||
@@ -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] || ""
|
||||
});
|
||||
};
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,7 +4,7 @@ tags: $:/tags/RawMarkupWikified
|
||||
\procedure meta-plain(name,source,name-attribute:"name")
|
||||
\whitespace trim
|
||||
<%if [<source>has[text]] %>
|
||||
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>">
|
||||
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>">
|
||||
<$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">
|
||||
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>">
|
||||
<meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>">
|
||||
<$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">>
|
||||
|
||||
@@ -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>
|
||||
 
|
||||
<$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>
|
||||
|
||||
@@ -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]] }}}>
|
||||
|
||||
@@ -39,7 +39,6 @@ caption: {{$:/language/Search/Standard/Caption}}
|
||||
</$keyboard>
|
||||
</$keyboard>
|
||||
</$keyboard>
|
||||
 
|
||||
<$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>
|
||||
|
||||
@@ -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]] }}}>
|
||||
|
||||
@@ -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"/> |
|
||||
|
||||
@@ -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"/> |
|
||||
@@ -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"/> |
|
||||
@@ -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"/> |
|
||||
|
||||
@@ -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"/> |
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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%>
|
||||
|
||||
@@ -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,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/"/>
|
||||
@@ -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,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>
|
||||
@@ -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
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
],
|
||||
"build": {
|
||||
"test-server": [
|
||||
"--output", "./editions/pluginlibrary/files/local/library/tmp",
|
||||
"--output", "./files/local/library/tmp",
|
||||
"--build", "library",
|
||||
"--listen", "port=8888"
|
||||
],
|
||||
|
||||
@@ -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 `⁠` 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 
|
||||
<%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 %>
|
||||
 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);
|
||||
});
|
||||
});
|
||||
|
||||
})();
|
||||
|
||||
@@ -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>→ <<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 today’s 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 today’s 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
|
||||
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user