mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-27 03:57:21 +00:00
merge master
This commit is contained in:
commit
c7c895b0de
@ -231,7 +231,10 @@ rules:
|
||||
prefer-spread: 'off'
|
||||
prefer-template: 'off'
|
||||
quote-props: 'off'
|
||||
quotes: 'off'
|
||||
quotes:
|
||||
- error
|
||||
- double
|
||||
- avoidEscape: true
|
||||
radix: 'off'
|
||||
require-atomic-updates: error
|
||||
require-await: error
|
||||
|
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -21,7 +21,7 @@ body:
|
||||
attributes:
|
||||
label: To Reproduce
|
||||
description: "Steps to reproduce the behavior:"
|
||||
value: |
|
||||
placeholder: |
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
@ -41,7 +41,7 @@ body:
|
||||
attributes:
|
||||
label: TiddlyWiki Configuration
|
||||
description: please complete the following information
|
||||
value: |
|
||||
placeholder: |
|
||||
- Version [e.g. v5.1.24]
|
||||
- Saving mechanism [e.g. Node.js, TiddlyDesktop, TiddlyHost etc]
|
||||
- Plugins installed [e.g. Freelinks, TiddlyMap]
|
||||
|
@ -15,3 +15,11 @@ 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
|
||||
|
@ -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
code-of-conduct.md
Normal file
1
code-of-conduct.md
Normal file
@ -0,0 +1 @@
|
||||
<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>
|
@ -198,6 +198,12 @@ Settings/TitleLinks/Yes/Description: Display tiddler titles as links
|
||||
Settings/MissingLinks/Caption: Wiki Links
|
||||
Settings/MissingLinks/Hint: Choose whether to link to tiddlers that do not exist yet
|
||||
Settings/MissingLinks/Description: Enable links to missing tiddlers
|
||||
SocialCard/Caption: Social Media Card
|
||||
SocialCard/Domain/Prompt: Domain name to display for the link (for example, ''tiddlywiki.com'')
|
||||
SocialCard/Hint: This information is used by social and messaging services to display a preview card for links to this TiddlyWiki when hosted online
|
||||
SocialCard/PreviewUrl/Prompt: Full URL to preview image for this TiddlyWiki
|
||||
SocialCard/PreviewUrl/Preview: Preview image:
|
||||
SocialCard/Url/Prompt: Full URL of this TiddlyWiki
|
||||
StoryTiddler/Caption: Story Tiddler
|
||||
StoryTiddler/Hint: This rule cascade is used to dynamically choose the template for displaying a tiddler in the story river.
|
||||
StoryView/Caption: Story View
|
||||
@ -235,3 +241,7 @@ ViewTemplateBody/Caption: View Template Body
|
||||
ViewTemplateBody/Hint: This rule cascade is used by the default view template to dynamically choose the template for displaying the body of a tiddler.
|
||||
ViewTemplateTitle/Caption: View Template Title
|
||||
ViewTemplateTitle/Hint: This rule cascade is used by the default view template to dynamically choose the template for displaying the title of a tiddler.
|
||||
ViewTemplateSubtitle/Caption: View Template Subtitle
|
||||
ViewTemplateSubtitle/Hint: This rule cascade is used by the default view template to dynamically choose the template for displaying the subtitle of a tiddler.
|
||||
ViewTemplateTags/Caption: View Template Tags
|
||||
ViewTemplateTags/Hint: This rule cascade is used by the default view template to dynamically choose the template for displaying the tags area of a tiddler.
|
||||
|
@ -1,5 +1,5 @@
|
||||
title: $:/language/Docs/Types/text/vnd.tiddlywiki-multiple
|
||||
description: TiddlyWiki 5 compound tiddler
|
||||
description: Compound tiddler
|
||||
name: text/vnd.tiddlywiki-multiple
|
||||
group: Developer
|
||||
group-sort: 2
|
||||
|
@ -45,17 +45,22 @@ Render individual tiddlers and save the results to the specified files
|
||||
variableList = variableList.slice(2);
|
||||
}
|
||||
$tw.utils.each(tiddlers,function(title) {
|
||||
var filepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);
|
||||
if(self.commander.verbose) {
|
||||
console.log("Rendering \"" + title + "\" to \"" + filepath + "\"");
|
||||
var filenameResults = wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]));
|
||||
if(filenameResults.length > 0) {
|
||||
var filepath = path.resolve(self.commander.outputPath,filenameResults[0]);
|
||||
if(self.commander.verbose) {
|
||||
console.log("Rendering \"" + title + "\" to \"" + filepath + "\"");
|
||||
}
|
||||
var parser = wiki.parseTiddler(template || title),
|
||||
widgetNode = wiki.makeWidget(parser,{variables: $tw.utils.extend({},variables,{currentTiddler: title,storyTiddler: title})}),
|
||||
container = $tw.fakeDocument.createElement("div");
|
||||
widgetNode.render(container,null);
|
||||
var text = type === "text/html" ? container.innerHTML : container.textContent;
|
||||
$tw.utils.createFileDirectories(filepath);
|
||||
fs.writeFileSync(filepath,text,"utf8");
|
||||
} else {
|
||||
console.log("Not rendering \"" + title + "\" because the filename filter returned an empty result");
|
||||
}
|
||||
var parser = wiki.parseTiddler(template || title),
|
||||
widgetNode = wiki.makeWidget(parser,{variables: $tw.utils.extend({},variables,{currentTiddler: title,storyTiddler: title})}),
|
||||
container = $tw.fakeDocument.createElement("div");
|
||||
widgetNode.render(container,null);
|
||||
var text = type === "text/html" ? container.innerHTML : container.textContent;
|
||||
$tw.utils.createFileDirectories(filepath);
|
||||
fs.writeFileSync(filepath,text,"utf8");
|
||||
});
|
||||
return null;
|
||||
};
|
||||
|
@ -93,11 +93,12 @@ 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", children: []};
|
||||
cell = {type: "element", tag: "th", start: start, children: []};
|
||||
} else {
|
||||
cell = {type: "element", tag: "td", children: []};
|
||||
cell = {type: "element", tag: "td", start: start, children: []};
|
||||
}
|
||||
tree.push(cell);
|
||||
// Record information about this cell
|
||||
@ -121,6 +122,7 @@ var processRow = function(prevColumns) {
|
||||
}
|
||||
// Move back to the closing `|`
|
||||
this.parser.pos--;
|
||||
cell.end = this.parser.pos;
|
||||
}
|
||||
col++;
|
||||
cellRegExp.lastIndex = this.parser.pos;
|
||||
@ -169,12 +171,13 @@ exports.parse = function() {
|
||||
rowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});
|
||||
} else {
|
||||
// Create the row
|
||||
var theRow = {type: "element", tag: "tr", children: []};
|
||||
var theRow = {type: "element", tag: "tr", children: [], start: rowMatch.index};
|
||||
$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++;
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ Upgrader module that suppresses certain system tiddlers that shouldn't be import
|
||||
/*global $tw: false */
|
||||
"use strict";
|
||||
|
||||
var DONT_IMPORT_LIST = ["$:/Import"],
|
||||
var DONT_IMPORT_LIST = ["$:/Import", "$:/build"],
|
||||
UNSELECT_PREFIX_LIST = ["$:/temp/","$:/state/","$:/StoryList","$:/HistoryList"],
|
||||
WARN_IMPORT_PREFIX_LIST = ["$:/core/modules/"];
|
||||
|
||||
|
@ -29,10 +29,14 @@ exports.getEditionInfo = function() {
|
||||
for(var entryIndex=0; entryIndex<entries.length; entryIndex++) {
|
||||
var entry = entries[entryIndex];
|
||||
// Check if directories have a valid tiddlywiki.info
|
||||
if(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {
|
||||
var info = $tw.utils.parseJSONSafe(fs.readFileSync(path.resolve(editionPath,entry,"tiddlywiki.info"),"utf8"),null);
|
||||
if(info) {
|
||||
editionInfo[entry] = info;
|
||||
// Check if the entry is a hidden directory
|
||||
if((entry.charAt(0) !== ".") && !editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {
|
||||
var file=path.resolve(editionPath,entry,"tiddlywiki.info");
|
||||
if(fs.existsSync(file)) {
|
||||
var info = $tw.utils.parseJSONSafe(fs.readFileSync(file,"utf8"),null);
|
||||
if(info) {
|
||||
editionInfo[entry] = info;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -41,4 +45,4 @@ exports.getEditionInfo = function() {
|
||||
return editionInfo;
|
||||
};
|
||||
|
||||
})();
|
||||
})();
|
@ -924,7 +924,7 @@ exports.transliterate = function(str) {
|
||||
};
|
||||
|
||||
exports.transliterateToSafeASCII = function(str) {
|
||||
return str.replace(/[^\x00-\x7F]/g,function(ch) {
|
||||
return str.replace(/[^\x20-\x7F]/g,function(ch) {
|
||||
return exports.transliterationPairs[ch] || ""
|
||||
});
|
||||
};
|
||||
|
@ -123,7 +123,6 @@ DataWidget.prototype.computeDataTiddlerValues = function() {
|
||||
}
|
||||
} else {
|
||||
// Apply the item fields to each of the tiddlers
|
||||
delete item.title; // Do not overwrite the title
|
||||
if(Object.keys(item).length > 0) {
|
||||
$tw.utils.each(tiddlers,function(tiddler,index) {
|
||||
tiddlers[index] = new $tw.Tiddler(tiddler,item);
|
||||
|
@ -33,6 +33,7 @@ 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,6 +33,7 @@ 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,6 +33,7 @@ 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/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,7 +33,8 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #00a
|
||||
external-link-foreground: #00e
|
||||
foreground: #000
|
||||
footnote-target-background: #4c4c4c
|
||||
foreground: #fff
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
message-background: <<colour foreground>>
|
||||
@ -82,8 +83,8 @@ tab-foreground: <<colour background>>
|
||||
table-border: #dddddd
|
||||
table-footer-background: #a8a8a8
|
||||
table-header-background: #f0f0f0
|
||||
tag-background: #000
|
||||
tag-foreground: #fff
|
||||
tag-background: #fff
|
||||
tag-foreground: #000
|
||||
tiddler-background: <<colour background>>
|
||||
tiddler-border: <<colour foreground>>
|
||||
tiddler-controls-foreground-hover: #ddd
|
||||
|
@ -1,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,7 +33,8 @@ external-link-background: inherit
|
||||
external-link-foreground-hover: inherit
|
||||
external-link-foreground-visited: #00a
|
||||
external-link-foreground: #00e
|
||||
foreground: #fff
|
||||
footnote-target-background: #e5e5e5
|
||||
foreground: #000
|
||||
highlight-background: #ffff00
|
||||
highlight-foreground: #000000
|
||||
message-background: <<colour foreground>>
|
||||
@ -82,8 +83,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
|
||||
|
@ -31,6 +31,7 @@ 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,6 +35,7 @@ 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,6 +39,7 @@ 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,6 +40,7 @@ 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,6 +40,7 @@ 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,6 +33,7 @@ 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,6 +131,7 @@ 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
|
||||
@ -141,6 +142,10 @@ 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,6 +34,7 @@ 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,6 +34,7 @@ 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,6 +33,7 @@ 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,6 +33,7 @@ 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,6 +42,7 @@ 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,6 +41,7 @@ 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
|
||||
|
38
core/templates/social-metadata.tid
Normal file
38
core/templates/social-metadata.tid
Normal file
@ -0,0 +1,38 @@
|
||||
title: $:/core/templates/social-metadata
|
||||
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[]] }}}/>">
|
||||
<$text text={{{ [charcode[10]] }}}/>
|
||||
<%endif%>
|
||||
\end meta-plain
|
||||
|
||||
\procedure meta-wikified(name,source,name-attribute:"name")
|
||||
\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[]] }}}/>">
|
||||
<$text text={{{ [charcode[10]] }}}/>
|
||||
</$wikify>
|
||||
<%endif%>
|
||||
\end meta-wikified
|
||||
|
||||
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock conditional commentinline commentblock
|
||||
<<meta-wikified "description" "$:/SiteSubtitle">>
|
||||
|
||||
<!-- Facebook Meta Tags -->
|
||||
<<meta-plain "og:url" "$:/SiteUrl" "property">>
|
||||
<<meta-plain "og:type" "website" "property">>
|
||||
<<meta-wikified "og:title" "$:/SiteTitle" "property">>
|
||||
<<meta-wikified "og:description" "$:/SiteSubtitle" "property">>
|
||||
<<meta-plain "og:image" "$:/SitePreviewUrl" "property">>
|
||||
|
||||
<!-- Twitter Meta Tags -->
|
||||
<<meta-plain "twitter:card" "summary_large_image">>
|
||||
<<meta-plain "twitter:domain" "$:/SiteDomain" "property">>
|
||||
<<meta-plain "twitter:url" "$:/SiteUrl" "property">>
|
||||
<<meta-wikified "twitter:title" "$:/SiteTitle">>
|
||||
<<meta-wikified "twitter:description" "$:/SiteSubtitle">>
|
||||
<<meta-plain "twitter:image" "$:/SitePreviewUrl">>
|
@ -39,6 +39,7 @@ caption: {{$:/language/Search/Standard/Caption}}
|
||||
</$keyboard>
|
||||
</$keyboard>
|
||||
</$keyboard>
|
||||
 
|
||||
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
|
||||
<$button class="tc-btn-invisible">
|
||||
<<cancel-search-actions>>
|
||||
|
@ -25,7 +25,7 @@ caption: {{$:/language/ControlPanel/Basics/Caption}}
|
||||
|<$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link> |<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
|
||||
|<$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
|
||||
|<$link to="$:/status/UserName"><<lingo Username/Prompt>></$link> |<$edit-text tiddler="$:/status/UserName" default="" tag="input"/> |
|
||||
|<$link to="$:/config/AnimationDuration"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler="$:/config/AnimationDuration" default="" tag="input"/> |
|
||||
|<$link to="$:/config/AnimationDuration"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler="$:/config/AnimationDuration" default="" tag="input" type="number"/> |
|
||||
|<$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit class="tc-edit-texteditor" tiddler="$:/DefaultTiddlers" autoHeight="yes"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
|
||||
|<$link to="$:/language/DefaultNewTiddlerTitle"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler="$:/language/DefaultNewTiddlerTitle" default="" tag="input"/> |
|
||||
|<$link to="$:/config/NewJournal/Title"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler="$:/config/NewJournal/Title" default="" tag="input"/> |
|
||||
|
9
core/ui/ControlPanel/Cascades/ViewTemplateSubtitle.tid
Normal file
9
core/ui/ControlPanel/Cascades/ViewTemplateSubtitle.tid
Normal file
@ -0,0 +1,9 @@
|
||||
title: $:/core/ui/ControlPanel/ViewTemplateSubtitle
|
||||
tags: $:/tags/ControlPanel/Cascades
|
||||
caption: {{$:/language/ControlPanel/ViewTemplateSubtitle/Caption}}
|
||||
|
||||
\define lingo-base() $:/language/ControlPanel/ViewTemplateSubtitle/
|
||||
|
||||
<<lingo Hint>>
|
||||
|
||||
{{$:/tags/ViewTemplateSubtitleFilter||$:/snippets/ListTaggedCascade}}
|
9
core/ui/ControlPanel/Cascades/ViewTemplateTags.tid
Normal file
9
core/ui/ControlPanel/Cascades/ViewTemplateTags.tid
Normal file
@ -0,0 +1,9 @@
|
||||
title: $:/core/ui/ControlPanel/ViewTemplateTags
|
||||
tags: $:/tags/ControlPanel/Cascades
|
||||
caption: {{$:/language/ControlPanel/ViewTemplateTags/Caption}}
|
||||
|
||||
\define lingo-base() $:/language/ControlPanel/ViewTemplateTags/
|
||||
|
||||
<<lingo Hint>>
|
||||
|
||||
{{$:/tags/ViewTemplateTagsFilter||$:/snippets/ListTaggedCascade}}
|
@ -13,4 +13,4 @@ caption: {{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}
|
||||
|<<lingo Branch>> |<$edit-text tiddler="$:/GitHub/Branch" default="main" tag="input"/> |
|
||||
|<<lingo Path>> |<$edit-text tiddler="$:/GitHub/Path" default="" tag="input"/> |
|
||||
|<<lingo Filename>> |<$edit-text tiddler="$:/GitHub/Filename" default="" tag="input"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitHub/ServerURL" default="https://api.github.com" tag="input"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitHub/ServerURL" default="https://api.github.com" tag="input" type="url"/> |
|
@ -13,4 +13,4 @@ caption: {{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}
|
||||
|<<lingo Branch>> |<$edit-text tiddler="$:/GitLab/Branch" default="master" tag="input"/> |
|
||||
|<<lingo Path>> |<$edit-text tiddler="$:/GitLab/Path" default="" tag="input"/> |
|
||||
|<<lingo Filename>> |<$edit-text tiddler="$:/GitLab/Filename" default="" tag="input"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitLab/ServerURL" default="https://gitlab.com/api/v4" tag="input"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/GitLab/ServerURL" default="https://gitlab.com/api/v4" tag="input" type="url"/> |
|
@ -34,7 +34,7 @@ http://$(userName)$.tiddlyspot.com/$path$/
|
||||
|
||||
''<<lingo Advanced/Heading>>''
|
||||
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/UploadURL" default="" tag="input"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/UploadURL" default="" tag="input" type="url"/> |
|
||||
|<<lingo Filename>> |<$edit-text tiddler="$:/UploadFilename" default="index.html" tag="input"/> |
|
||||
|<<lingo UploadDir>> |<$edit-text tiddler="$:/UploadDir" default="." tag="input"/> |
|
||||
|<<lingo BackupDir>> |<$edit-text tiddler="$:/UploadBackupDir" default="." tag="input"/> |
|
||||
|
@ -13,4 +13,4 @@ caption: {{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}
|
||||
|<<lingo Branch>> |<$edit-text tiddler="$:/Gitea/Branch" default="master" tag="input"/> |
|
||||
|<<lingo Path>> |<$edit-text tiddler="$:/Gitea/Path" default="" tag="input"/> |
|
||||
|<<lingo Filename>> |<$edit-text tiddler="$:/Gitea/Filename" default="" tag="input"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/Gitea/ServerURL" default="https://gitea/api/v1" tag="input"/> |
|
||||
|<<lingo ServerURL>> |<$edit-text tiddler="$:/Gitea/ServerURL" default="https://gitea/api/v1" tag="input" type="url"/> |
|
||||
|
22
core/ui/ControlPanel/SocialCard.tid
Normal file
22
core/ui/ControlPanel/SocialCard.tid
Normal file
@ -0,0 +1,22 @@
|
||||
title: $:/core/ui/ControlPanel/SocialCard
|
||||
tags: $:/tags/ControlPanel/Advanced
|
||||
caption: {{$:/language/ControlPanel/SocialCard/Caption}}
|
||||
|
||||
\define lingo-base() $:/language/ControlPanel/
|
||||
|
||||
<<lingo SocialCard/Hint>>
|
||||
|
||||
|<$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"/> |
|
||||
|
||||
<%if [[$:/SitePreviewUrl]get[text]else[]!is[blank]] %>
|
||||
<div>
|
||||
<div>
|
||||
<<lingo SocialCard/PreviewUrl/Preview>>
|
||||
</div>
|
||||
<img src={{$:/SitePreviewUrl}}/>
|
||||
</div>
|
||||
<%endif%>
|
@ -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-popup-handle" filterMinLength={{$:/config/Search/MinLength}} inputCancelActions=<<cancel-search-actions>>
|
||||
class="tc-tiny-gap-right 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>
|
||||
|
@ -3,7 +3,39 @@ code-body: yes
|
||||
|
||||
\whitespace trim
|
||||
|
||||
\function tf.state() [<qualify "$:/state/testcase">]
|
||||
\function tf.state() "$:/state/testcase"
|
||||
|
||||
\procedure linkcatcherActions()
|
||||
<%if [<navigateTo>has[title]] %>
|
||||
<$action-setfield $tiddler=<<tf.state>> text=<<navigateTo>>/>
|
||||
<%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`
|
||||
@ -31,28 +63,6 @@ code-body: yes
|
||||
</$let>
|
||||
\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-narrative()
|
||||
<div class="tc-test-case-narrative">
|
||||
<$transclude $tiddler="Narrative" $mode="block"/>
|
||||
@ -70,81 +80,70 @@ code-body: yes
|
||||
</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%>
|
||||
<$tiddler tiddler="Output">
|
||||
<$transclude $tiddler="Output" $mode="block"/>
|
||||
</$tiddler>
|
||||
<<testcase-output-wikified>>
|
||||
<%endif%>
|
||||
</div>
|
||||
\end
|
||||
|
||||
<!-- Create a tabbed story-river -->
|
||||
\procedure testcase-tabbed-story()
|
||||
<div class={{{ [[tc-tab-set]addsuffix[ ]addsuffix<__class__>] }}}>
|
||||
<div class={{{ [[tc-tab-buttons]addsuffix[ ]addsuffix<__class__>] }}}>
|
||||
<$list filter="[all[tiddlers]] [enlist{$:/StoryList!!list}] +[sort[]] Output +[putfirst[]] -[prefix<tf.state>] -[prefix[$:/HistoryList]] -[prefix[$:/StoryList]] -[[$:/temp/testcase/draft-title]] -Description -Narrative -[has[plugin-type]]"
|
||||
variable="currentTab"
|
||||
storyview="pop"
|
||||
>
|
||||
<$set name="save-currentTiddler" value=<<currentTiddler>> >
|
||||
<$tiddler tiddler=<<currentTab>>>
|
||||
<$button
|
||||
to=<<currentTab>>
|
||||
class={{{ [[$:/HistoryList]has[current-tiddler]] :then[{$:/HistoryList!!current-tiddler}match<currentTab>then[tc-tab-selected]else[]] :else[<currentTiddler>match[Output]then[tc-tab-selected]else[]] }}}
|
||||
tooltip={{{[<currentTab>get[tooltip]]}}}
|
||||
role="switch"
|
||||
data-tab-title=<<currentTab>>
|
||||
>
|
||||
<$tiddler tiddler=<<save-currentTiddler>>>
|
||||
<$set name="tv-wikilinks" value="no">
|
||||
<$transclude tiddler=<<buttonTemplate>> mode="inline">
|
||||
<$transclude tiddler=<<currentTab>> field="caption">
|
||||
<$macrocall $name="currentTab" $type="text/plain" $output="text/plain"/>
|
||||
</$transclude>
|
||||
</$transclude>
|
||||
</$set>
|
||||
</$tiddler>
|
||||
</$button>
|
||||
</$tiddler>
|
||||
</$set>
|
||||
</$list>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tc-tab-divider "></div>
|
||||
<div class="tc-tab-content">
|
||||
{{||$:/core/ui/testcases/DefaultTemplate/TabbedStory}}
|
||||
\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-tabs()
|
||||
<$macrocall $name="tabs" tabsList="[all[tiddlers]sort[]] -[prefix<tf.state>] -[prefix[$:/HistoryList]] -[prefix[$:/StoryList]] -[[$:/temp/testcase/draft-title]] -Description -Narrative -Output Output +[putfirst[]] -[has[plugin-type]]" state=<<tf.state>> default="Output" template="$:/core/ui/testcases/DefaultTemplate/SourceTabs"/>
|
||||
\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>>
|
||||
<$navigator story="$:/StoryList" history="$:/HistoryList">
|
||||
<%if [[Narrative]is[tiddler]] %>
|
||||
<<testcase-narrative>>
|
||||
<%endif%>
|
||||
<%if [<testResult>match[fail]] %>
|
||||
<<testcase-fail>>
|
||||
<%endif%>
|
||||
<div class="tc-test-case-panes">
|
||||
<div class="tc-test-case-source">
|
||||
<<testcase-tabs>>
|
||||
|
||||
<<testcase-tabbed-story>>
|
||||
</div>
|
||||
<div class="tc-test-case-divider"></div>
|
||||
<<testcase-output>>
|
||||
</div>
|
||||
</$navigator>
|
||||
<$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>>
|
||||
<<testcase-body>>
|
@ -2,14 +2,17 @@ title: $:/core/ui/testcases/DefaultTemplate/SourceTabs
|
||||
|
||||
\whitespace trim
|
||||
|
||||
\procedure testcaseNewTitle() $:/temp/testcase/draft-title
|
||||
|
||||
\procedure saveActions()
|
||||
<$action-log/>
|
||||
<$action-setfield $tiddler=<<currentTab>> $field="draft.title" $value=<<newTitle>>/>
|
||||
<$action-sendmessage $message="tm-save-tiddler" $param=<<title>> />
|
||||
<$action-navigate $to=<<navTitle>> $scroll="no"/>
|
||||
<$action-setfield $tiddler=<<testcase-source-state>> text=<<newTitle>>/>
|
||||
<$action-deletetiddler $tiddler=<<testcaseNewTitle>>/>
|
||||
\end
|
||||
|
||||
\procedure saveButton(title, navTitle)
|
||||
<$button class="tc-btn-invisible tc-test-case-save-button tc-small-gap-left" actions=<<saveActions>> >
|
||||
\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
|
||||
@ -24,9 +27,9 @@ title: $:/core/ui/testcases/DefaultTemplate/SourceTabs
|
||||
<$text text=<<fieldName>>/>
|
||||
</td>
|
||||
<td>
|
||||
<%if [<fieldName>match[draft.title]] :filter[<currentTab>has[draft.of]] %>
|
||||
<$edit class="tc-edit-texteditor tc-max-width-80" tiddler=<<currentTab>> field=<<fieldName>>/>
|
||||
<$macrocall $name="saveButton" navTitle={{{ [<currentTab>get[draft.title]] }}} title=<<currentTab>>/>
|
||||
<%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%>
|
||||
|
@ -1,4 +1,4 @@
|
||||
title: $:/core/ui/testcases/actions/Export
|
||||
tags: $:/tags/TestCase/Actions
|
||||
|
||||
<$macrocall $name="exportButton" exportFilter="[all[tiddlers]sort[]] -[prefix[$:/state/]] -[prefix[$:/HistoryList]] -[prefix[$:/StoryList]] -[[$:/temp/testcase/draft-title]] -Description -Narrative -ExpectedResult -Output Output +[putfirst[]] -[has[plugin-type]]" lingoBase="$:/language/Buttons/ExportTiddlers/"/>
|
||||
<$macrocall $name="exportButton" exportFilter="[all[tiddlers]sort[]] -[prefix[$:/state/]] -Description -Narrative -ExpectedResult -[has[plugin-type]]" lingoBase="$:/language/Buttons/ExportTiddlers/"/>
|
@ -2,10 +2,4 @@ title: $:/core/ui/ViewTemplate/subtitle
|
||||
tags: $:/tags/ViewTemplate
|
||||
|
||||
\whitespace trim
|
||||
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
|
||||
<div class="tc-subtitle">
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewTemplate/Subtitle]!has[draft.of]]" variable="subtitleTiddler">
|
||||
<$transclude tiddler=<<subtitleTiddler>> mode="inline"/><$list-join> </$list-join>
|
||||
</$list>
|
||||
</div>
|
||||
</$reveal>
|
||||
<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateSubtitleFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/subtitle/default]] }}} />
|
10
core/ui/ViewTemplate/subtitle/default.tid
Normal file
10
core/ui/ViewTemplate/subtitle/default.tid
Normal file
@ -0,0 +1,10 @@
|
||||
title: $:/core/ui/ViewTemplate/subtitle/default
|
||||
|
||||
\whitespace trim
|
||||
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
|
||||
<div class="tc-subtitle">
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewTemplate/Subtitle]!has[draft.of]]" variable="subtitleTiddler">
|
||||
<$transclude tiddler=<<subtitleTiddler>> mode="inline"/><$list-join> </$list-join>
|
||||
</$list>
|
||||
</div>
|
||||
</$reveal>
|
@ -2,6 +2,4 @@ title: $:/core/ui/ViewTemplate/tags
|
||||
tags: $:/tags/ViewTemplate
|
||||
|
||||
\whitespace trim
|
||||
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
|
||||
<div class="tc-tags-wrapper"><$list filter="[all[current]tags[]sort[title]]" template="$:/core/ui/TagTemplate" storyview="pop"/></div>
|
||||
</$reveal>
|
||||
<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateTagsFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/tags/default]] }}} />
|
11
core/ui/ViewTemplate/tags/default.tid
Normal file
11
core/ui/ViewTemplate/tags/default.tid
Normal file
@ -0,0 +1,11 @@
|
||||
title: $:/core/ui/ViewTemplate/tags/default
|
||||
|
||||
\whitespace trim
|
||||
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
|
||||
<div class="tc-tags-wrapper">
|
||||
<$list filter="[all[current]tags[]sort[title]]" template="$:/core/ui/TagTemplate" storyview="pop"/>
|
||||
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewTemplate/Tags]!has[draft.of]]">
|
||||
<$transclude mode="inline"/>
|
||||
</$list>
|
||||
</div>
|
||||
</$reveal>
|
4
core/wiki/config/ViewTemplateSubtitleFilters.multids
Normal file
4
core/wiki/config/ViewTemplateSubtitleFilters.multids
Normal file
@ -0,0 +1,4 @@
|
||||
title: $:/config/ViewTemplateSubtitleFilters/
|
||||
tags: $:/tags/ViewTemplateSubtitleFilter
|
||||
|
||||
default: [[$:/core/ui/ViewTemplate/subtitle/default]]
|
4
core/wiki/config/ViewTemplateTagsFilters.multids
Normal file
4
core/wiki/config/ViewTemplateTagsFilters.multids
Normal file
@ -0,0 +1,4 @@
|
||||
title: $:/config/ViewTemplateTagsFilters/
|
||||
tags: $:/tags/ViewTemplateTagsFilter
|
||||
|
||||
default: [[$:/core/ui/ViewTemplate/tags/default]]
|
@ -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/system $:/config/ViewTemplateBodyFilters/import $:/config/ViewTemplateBodyFilters/plugin $:/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/import $:/config/ViewTemplateBodyFilters/plugin $:/config/ViewTemplateBodyFilters/system $:/config/ViewTemplateBodyFilters/default
|
||||
|
@ -57,7 +57,8 @@
|
||||
"sl-SI",
|
||||
"sv-SE",
|
||||
"zh-Hans",
|
||||
"zh-Hant"
|
||||
"zh-Hant",
|
||||
"zh-HK"
|
||||
],
|
||||
"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/editions/pluginlibrary
|
||||
tiddlywiki --build test-server
|
||||
cd /your/path/to/TiddlyWiki5
|
||||
node ./tiddlywiki.js ./editions/pluginlibrary --build test-server
|
||||
```
|
||||
|
||||
!! Test the Library with a Single File Wiki
|
||||
|
@ -11,7 +11,7 @@
|
||||
],
|
||||
"build": {
|
||||
"test-server": [
|
||||
"--output", "./files/local/library/tmp",
|
||||
"--output", "./editions/pluginlibrary/files/local/library/tmp",
|
||||
"--build", "library",
|
||||
"--listen", "port=8888"
|
||||
],
|
||||
|
@ -0,0 +1,23 @@
|
||||
title: Data/ImportCustomTitle
|
||||
type: text/vnd.tiddlywiki-multiple
|
||||
tags: [[$:/tags/wiki-test-spec]]
|
||||
description: Importing a payload tiddler and overwriting the title
|
||||
|
||||
title: Description
|
||||
text: Importing a payload tiddler and overwriting the title
|
||||
+
|
||||
title: Output
|
||||
|
||||
\whitespace trim
|
||||
<$testcase template="$:/core/ui/testcases/RawJSONTemplate">
|
||||
<$data $tiddler="HelloThere" title="RealTitle"/>
|
||||
</$testcase>
|
||||
+
|
||||
title: HelloThere
|
||||
tags: Definitions
|
||||
|
||||
This is the tiddler HelloThere
|
||||
+
|
||||
title: ExpectedResult
|
||||
|
||||
<p><div><div>[{"title":"RealTitle","tags":"Definitions","text":"This is the tiddler HelloThere"}]</div></div></p>
|
@ -0,0 +1,54 @@
|
||||
title: ReservedWikiText
|
||||
description: Verify that reserved wikitext constructions are not parsed
|
||||
type: text/vnd.tiddlywiki-multiple
|
||||
tags: [[$:/tags/wiki-test-spec]]
|
||||
|
||||
title: Narrative
|
||||
|
||||
Verifies that certain wikitext constructions that are reserved for use by other tools are not parsed by TiddlyWiki.
|
||||
+
|
||||
title: TestTiddler
|
||||
|
||||
{%%}
|
||||
(==)
|
||||
{% %}
|
||||
(= =)
|
||||
{% something %}
|
||||
(= something =)
|
||||
Inline {% something %} substitution
|
||||
Inline (= something =) substitution
|
||||
Prefix-{%
|
||||
Prefix-(=
|
||||
%}-Postfix
|
||||
=)-Postfix
|
||||
{%
|
||||
(=
|
||||
%}
|
||||
=)
|
||||
+
|
||||
title: Output
|
||||
|
||||
<$wikify name="parsetree" text={{TestTiddler}} output="parsetree">
|
||||
<$text text={{{ [<parsetree>jsonget[0],[children],[0],[text]] }}}/>
|
||||
</$wikify>
|
||||
+
|
||||
title: ExpectedResult
|
||||
|
||||
<p>
|
||||
{%%}
|
||||
(==)
|
||||
{% %}
|
||||
(= =)
|
||||
{% something %}
|
||||
(= something =)
|
||||
Inline {% something %} substitution
|
||||
Inline (= something =) substitution
|
||||
Prefix-{%
|
||||
Prefix-(=
|
||||
%}-Postfix
|
||||
=)-Postfix
|
||||
{%
|
||||
(=
|
||||
%}
|
||||
=)
|
||||
</p>
|
@ -324,6 +324,100 @@ 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,6 +16,8 @@
|
||||
"--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,4 +15,6 @@ In the example above, a comma appears between each occurrence of the `repeated`
|
||||
|
||||
Characters in round boxes are literal, i.e. they denote themselves. A name in a rectangular box denotes a further railroad diagram.
|
||||
|
||||
The TW [[Filter Syntax]] documentation makes extensive use of railroad diagrams.
|
||||
|
||||
The railroad diagrams in ~TiddlyWiki's documentation are generated with the [[Railroad Plugin]].
|
||||
|
@ -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 businesss value of TiddlyWiki.
|
||||
Intertwingled Innovations Limited is the company through which [[JeremyRuston]] performs commercial consultancy work helping companies and individuals release the business value of TiddlyWiki.
|
||||
|
||||
See https://intertwingledinnovations.com/ for more information.
|
||||
|
@ -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". Tidders 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". Tiddlers 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 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.
|
||||
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.
|
||||
|
||||
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 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.
|
||||
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.
|
||||
|
||||
<<.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 tidders can be customised by creating a tiddler
|
||||
[tag[.tid]then[.tid]]
|
||||
```
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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,6 +5,12 @@ tags: OfficialPlugins [[Plugin Editions]]
|
||||
title: Railroad Plugin
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
!! Railroad Diagrams
|
||||
|
||||
{{Railroad Diagrams}}
|
||||
|
||||
!! Plugin
|
||||
|
||||
{{$:/plugins/tiddlywiki/railroad/readme}}
|
||||
|
||||
{{$:/plugins/tiddlywiki/railroad/syntax}}
|
||||
Learn more about the [[Railroad Plguin Syntax Description|$:/plugins/tiddlywiki/railroad/syntax]]
|
||||
|
@ -6,6 +6,8 @@ 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">>
|
||||
|
@ -0,0 +1,29 @@
|
||||
title: TestCases/DataWidget/ImportCustomTitle
|
||||
type: text/vnd.tiddlywiki-multiple
|
||||
tags: [[$:/tags/wiki-test-spec]]
|
||||
description: Importing a payload tiddler and overwriting the title
|
||||
display-format: plaintext
|
||||
|
||||
title: Narrative
|
||||
|
||||
Importing a payload tiddler and overwriting the title
|
||||
+
|
||||
title: Output
|
||||
|
||||
\whitespace trim
|
||||
<$data $tiddler="HelloThere" title="RealTitle"/>
|
||||
+
|
||||
title: HelloThere
|
||||
tags: Definitions
|
||||
|
||||
This is the tiddler HelloThere
|
||||
+
|
||||
title: ExpectedResult
|
||||
|
||||
<p>[
|
||||
{
|
||||
"title": "RealTitle",
|
||||
"tags": "Definitions",
|
||||
"text": "This is the tiddler HelloThere"
|
||||
}
|
||||
]</p>
|
@ -1,6 +1,6 @@
|
||||
caption: link
|
||||
created: 20131024141900000
|
||||
modified: 20231113093304323
|
||||
modified: 20240730065043721
|
||||
tags: Widgets
|
||||
title: LinkWidget
|
||||
type: text/vnd.tiddlywiki
|
||||
@ -69,11 +69,13 @@ 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:
|
||||
|
||||
|
@ -1,16 +1,13 @@
|
||||
{
|
||||
"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/qrcode"
|
||||
"tiddlywiki/tour"
|
||||
],
|
||||
"themes": [
|
||||
"tiddlywiki/vanilla",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/ar-PS",
|
||||
"name": "ar-PS",
|
||||
"plugin-type": "language",
|
||||
"description": "Arabic (Palestine)",
|
||||
"description": "العربية (فلسطين)",
|
||||
"author": "Kamal-Habash",
|
||||
"core-version": ">=5.1.23",
|
||||
"text-direction": "rtl"
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/ca-ES",
|
||||
"name": "ca-ES",
|
||||
"plugin-type": "language",
|
||||
"description": "Catalan (Spain)",
|
||||
"description": "Català (Espanya)",
|
||||
"author": "Paco Rivière",
|
||||
"core-version": ">=5.0.0"
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/cs-CZ",
|
||||
"name": "cs-CZ",
|
||||
"plugin-type": "language",
|
||||
"description": "Česky (Czech Republic)",
|
||||
"description": "Čeština (Česká republika)",
|
||||
"author": "Zdeněk Jašek",
|
||||
"core-version": ">=5.0.0"
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/da-DK",
|
||||
"name": "da-DK",
|
||||
"plugin-type": "language",
|
||||
"description": "Danish (Denmark)",
|
||||
"description": "Dansk (Danmark)",
|
||||
"author": "Birthe C",
|
||||
"core-version": ">=5.0.8"
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
title: $:/language/Docs/Types/text/vnd.tiddlywiki-multiple
|
||||
description: TW5 - TiddlyWiki Wikitext Verbund Tiddler
|
||||
description: Verbund Tiddler
|
||||
name: text/vnd.tiddlywiki-multiple
|
||||
group: Entwickler
|
||||
group-sort: 2
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/el-GR",
|
||||
"name": "el-GR",
|
||||
"plugin-type": "language",
|
||||
"description": "Greek (Greece)",
|
||||
"description": "Ελληνικά (Ελλάδα)",
|
||||
"author": "Stratis Aravias@ΓΕΛ Σαμοθράκης",
|
||||
"core-version": ">=5.0.0"
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/es-ES",
|
||||
"name": "es-ES",
|
||||
"plugin-type": "language",
|
||||
"description": "Castellano. (Spain)",
|
||||
"description": "Castellano. (España)",
|
||||
"author": "Pau DeLuca,Joe Bordes",
|
||||
"core-version": ">=5.1.23"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/fa-IR",
|
||||
"name": "fa",
|
||||
"plugin-type": "language",
|
||||
"description": "Persian (Iran)",
|
||||
"description": "فارسی (ایران)",
|
||||
"author": "amirography",
|
||||
"core-version": ">=5.0.0",
|
||||
"text-direction": "rtl"
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/he-IL",
|
||||
"name": "he-IL",
|
||||
"plugin-type": "language",
|
||||
"description": "Hebrew (Israel)",
|
||||
"description": "עברית (ישראל)",
|
||||
"author": "DoronTzur",
|
||||
"core-version": ">=5.0.0",
|
||||
"text-direction": "rtl"
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/hi-IN",
|
||||
"name": "hi-IN",
|
||||
"plugin-type": "language",
|
||||
"description": "Hindi (India)",
|
||||
"description": "हिन्दी (भारत)",
|
||||
"author": "Atul Grover",
|
||||
"core-version": ">=5.0.8"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/it-IT",
|
||||
"name": "it-IT",
|
||||
"plugin-type": "language",
|
||||
"description": "Italian (Italy)",
|
||||
"description": "Italiano (Italia)",
|
||||
"author": "MaurizioPollio",
|
||||
"core-version": ">=5.0.8"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/ja-JP",
|
||||
"name": "ja-JP",
|
||||
"plugin-type": "language",
|
||||
"description": "Japanese (Japan)",
|
||||
"description": "日本語 (日本)",
|
||||
"author": "Makoto Hirohashi, OGOSHI Masayuki, pekopeko1, dajya-ranger.com, BALLOON | FU-SEN (Keiichi Shiga)",
|
||||
"core-version": ">=5.1.4"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/ko-KR",
|
||||
"name": "ko-KR",
|
||||
"plugin-type": "language",
|
||||
"description": "Korean (Korea Republic)",
|
||||
"description": "한국어 (대한민국)",
|
||||
"author": "Myeongjin",
|
||||
"core-version": ">=5.1.4"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/mk-MK",
|
||||
"name": "mk-MK",
|
||||
"plugin-type": "language",
|
||||
"description": "Macedonian (North Macedonia)",
|
||||
"description": "Македонски (Македонија)",
|
||||
"author": "Nikola Dio Petkovski",
|
||||
"core-version": ">=5.1.4"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/nl-NL",
|
||||
"name": "nl-NL",
|
||||
"plugin-type": "language",
|
||||
"description": "Dutch (The Netherlands)",
|
||||
"description": "Nederlands (Nederland)",
|
||||
"author": "gernert",
|
||||
"core-version": ">=5.1.5"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/pa-IN",
|
||||
"name": "pa-IN",
|
||||
"plugin-type": "language",
|
||||
"description": "Punjabi (India)",
|
||||
"description": "ਪੰਜਾਬੀ (ਭਾਰਤ)",
|
||||
"author": "Atul Grover",
|
||||
"core-version": ">=5.0.8"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/pl-PL",
|
||||
"name": "pl-PL",
|
||||
"plugin-type": "language",
|
||||
"description": "Polish (Poland)",
|
||||
"description": "Polski (Polska)",
|
||||
"author": "Maurycy Zarzycki (Evidently Cube)",
|
||||
"core-version": ">=5.2.0"
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/pt-PT",
|
||||
"name": "pt-PT",
|
||||
"plugin-type": "language",
|
||||
"description": "Portuguese (Portugal)",
|
||||
"description": "Português (Portugal)",
|
||||
"author": "Duarte Farrajota Ramos",
|
||||
"core-version": ">=5.0.8"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/ru-RU",
|
||||
"name": "ru-RU",
|
||||
"plugin-type": "language",
|
||||
"description": "Russian (Russia)",
|
||||
"description": "Русский (Россия)",
|
||||
"author": "AndreyYankin aka andrey013, Глеб Прохожев <glebujka@gmail.com>",
|
||||
"core-version": ">=5.0.0"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/sk-SK",
|
||||
"name": "sk-SK",
|
||||
"plugin-type": "language",
|
||||
"description": "Slovak (Slovakia)",
|
||||
"description": "Slovenčina (Slovensko)",
|
||||
"author": "Vlado Luknar",
|
||||
"core-version": ">=5.0.0"
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/sl-SI",
|
||||
"name": "sl-SI",
|
||||
"plugin-type": "language",
|
||||
"description": "Solvenian (Slovenia)",
|
||||
"description": "Slovenščina (Slovenija)",
|
||||
"author": "Tomaž Ficko",
|
||||
"core-version": ">=5.0.0"
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/sv-SE",
|
||||
"name": "sv-SE",
|
||||
"plugin-type": "language",
|
||||
"description": "Swedish (Sweden)",
|
||||
"description": "Svenska (Sverige)",
|
||||
"author": "SuperDOS",
|
||||
"core-version": ">=5.1.0"
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
"title": "$:/languages/zh-CN",
|
||||
"name": "zh-CN",
|
||||
"plugin-type": "language",
|
||||
"description": "Chinese (China)",
|
||||
"description": "简体中文 (中国)",
|
||||
"author": "BramChen",
|
||||
"core-version": ">=5.0.8",
|
||||
"dependents": ["$:/languages/zh-Hans"],
|
||||
|
17
languages/zh-HK/Buttons.multids
Normal file
17
languages/zh-HK/Buttons.multids
Normal file
@ -0,0 +1,17 @@
|
||||
title: $:/language/Buttons/
|
||||
|
||||
ControlPanel/Hint: 開啓控制台
|
||||
FoldOthers/Hint: 收合其他已開啓條目的內容
|
||||
FoldAll/Hint: 收合所有已開啓條目的內容
|
||||
UnfoldAll/Hint: 展開所有已開啓條目的內容
|
||||
Help/Caption: 説明
|
||||
Help/Hint: 顯示説明中心
|
||||
Home/Hint: 開啓首頁條目
|
||||
LayoutSwitcher/Hint: 開啓版面切換器
|
||||
Manager/Hint: 開啓條目管理器
|
||||
OpenControlPanel/Hint: 開啓控制台
|
||||
OpenWindow/Caption: 開啓於新視窗
|
||||
OpenWindow/Hint: 在新視窗中開啓條目
|
||||
Permaview/Hint: 設定瀏覽器網址列為直接連結到當前所有已開啓條目
|
||||
Timestamp/On/Caption: 時間戳記開啓
|
||||
Stamp/New/Text: 片段的文字。(記得在 `caption` 欄位中新增一個説明性的標題)。
|
31
languages/zh-HK/ControlPanel.multids
Normal file
31
languages/zh-HK/ControlPanel.multids
Normal file
@ -0,0 +1,31 @@
|
||||
title: $:/language/ControlPanel/
|
||||
|
||||
Basics/DefaultTiddlers/BottomHint: 標題含空白時請使用 [[雙中括弧]],或者您可用 {{保留開啓中的條目順序||$:/snippets/retain-story-ordering-button}}
|
||||
Basics/DefaultTiddlers/TopHint: 預設開啓的條目
|
||||
KeyboardShortcuts/Platform/All: 所有平台
|
||||
KeyboardShortcuts/Platform/Mac: 僅 Macintosh 平台
|
||||
KeyboardShortcuts/Platform/NonMac: 僅非 Macintosh 平台
|
||||
KeyboardShortcuts/Platform/Linux: 僅 Linux 平台
|
||||
KeyboardShortcuts/Platform/NonLinux: 僅非 Linux 平台
|
||||
KeyboardShortcuts/Platform/Windows: 僅 Windows 平台
|
||||
KeyboardShortcuts/Platform/NonWindows: 僅非 Windows 平台
|
||||
Plugins/Enable/Caption: 啓用
|
||||
Plugins/Enable/Hint: 重新載入頁面時啓用此插件
|
||||
Plugins/OpenPluginLibrary: 開啓插件程式庫
|
||||
Parsing/Hint: 在此您可以全域停用或啓用維基解析規則。要使更改生效,請儲存並重新載入您的維基。停用某些解析規則,會妨礙 <$text text="TiddlyWiki"/> 正常運作。可使用[[安全模式|https://tiddlywiki.com/#SafeMode]]恢復正常操作。
|
||||
Saving/DownloadSaver/AutoSave/Hint: 啓用下載儲存模組的自動儲存
|
||||
Saving/GitService/GitHub/Password: 密碼、OAUTH 權杖,或個人存取權杖 (詳見 [[GitHub 説明頁面|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]])
|
||||
Saving/GitService/GitLab/Password: 個人存取權杖的 API (詳見 [[GitLab 説明頁面|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]])
|
||||
Settings/CamelCase/Caption: 駝峯式維基鏈接
|
||||
Settings/CamelCase/Hint: 您可以全域停用駝峯式短語自動鏈接。須儲存後重新載入,方才生效。
|
||||
Settings/CamelCase/Description: 啓用自動駝峯式鏈接
|
||||
Settings/EditorToolbar/Hint: 啓用或停用編輯器工具列︰
|
||||
Settings/InfoPanelMode/Sticky/Description: 條目資訊面板保持開啓狀態,直到明確關閉
|
||||
Settings/LinkToBehaviour/Caption: 條目開啓行為
|
||||
Settings/LinkToBehaviour/OpenAbove: 開啓於當前條目之上
|
||||
Settings/LinkToBehaviour/OpenBelow: 開啓於當前條目之下
|
||||
Settings/LinkToBehaviour/OpenAtTop: 開啓於故事河的頂端
|
||||
Settings/LinkToBehaviour/OpenAtBottom: 開啓於故事河的底部
|
||||
Settings/MissingLinks/Description: 啓用鏈接到佚失條目
|
||||
Settings/NavigationAddressBar/Permaview/Description: 包括目標條目和當前已開啓的條目序列
|
||||
Settings/PerformanceInstrumentation/Description: 啓用效能檢測
|
3
languages/zh-HK/Docs/ModuleTypes.multids
Normal file
3
languages/zh-HK/Docs/ModuleTypes.multids
Normal file
@ -0,0 +1,3 @@
|
||||
title: $:/language/Docs/ModuleTypes/
|
||||
|
||||
startup: 啓動時期的功能函數。
|
5
languages/zh-HK/Fields.multids
Normal file
5
languages/zh-HK/Fields.multids
Normal file
@ -0,0 +1,5 @@
|
||||
title: $:/language/Docs/Fields/
|
||||
|
||||
class: 渲染條目時,套用到條目的 CSS 類別 - 請參閲[[依自訂類別的自訂樣式|Custom styles by user-class]]。也適用於[[互動視窗|Modals]]
|
||||
description: 插件的説明、描述
|
||||
toc-link: 若設定為 ''no'',則抑制目錄樹中的條目鏈接。
|
18
languages/zh-HK/GettingStarted.tid
Normal file
18
languages/zh-HK/GettingStarted.tid
Normal file
@ -0,0 +1,18 @@
|
||||
title: GettingStarted
|
||||
|
||||
\define lingo-base() $:/language/ControlPanel/Basics/
|
||||
歡迎使用 ~TiddlyWiki 及參與 ~TiddlyWiki 社羣
|
||||
|
||||
開始將重要資訊存放於 ~TiddlyWiki 之前,確認您可以可靠地儲存變更是很重要的。詳細資訊請參閲 https://tiddlywiki.com/#GettingStarted
|
||||
|
||||
!! 設定此 ~TiddlyWiki
|
||||
|
||||
<div class="tc-control-panel">
|
||||
|
||||
|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k
|
||||
| <$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link>|<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
|
||||
| <$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
|
||||
|^ <$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag="textarea" tiddler="$:/DefaultTiddlers"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
|
||||
</div>
|
||||
|
||||
請參閲[[控制枱|$:/ControlPanel]]查看更多選項。
|
35
languages/zh-HK/Help/listen.tid
Normal file
35
languages/zh-HK/Help/listen.tid
Normal file
@ -0,0 +1,35 @@
|
||||
title: $:/language/Help/listen
|
||||
description: 為 TiddlyWiki 提供一個 HTTP 伺服器介面
|
||||
|
||||
通過 HTTP 提供一個維基服務。
|
||||
|
||||
listen 命令使用[[命名的命令參數|NamedCommandParameters]]:
|
||||
|
||||
```
|
||||
--listen [<name>=<value>]...
|
||||
```
|
||||
|
||||
所有參數都是可選的, 具有安全的預設值, 可以按任意順序指定。認可的參數有:
|
||||
|
||||
* ''host'' - 可選的主機名稱, (預設為 "127.0.0.1" 或名為 "localhost")
|
||||
* ''path-prefix'' - 可選的路徑前綴
|
||||
* ''port'' - 偵聽的埠號;非數值會被解譯為一個系統環境變數,從其中提取埠號 (預設為 "8080")
|
||||
* ''credentials'' - 憑證 CSV 檔案的路徑名(相對於維基資料夾)
|
||||
* ''anon-username'' - 匿名使用者的編輯署名
|
||||
* ''username'' - 可選的基本驗證使用者名稱
|
||||
* ''password'' - 可選的基本驗證密碼
|
||||
* ''authenticated-user-header'' - 可選的 HTTP 請求功能參數名稱,用於受信任身份驗證
|
||||
* ''readers'' - 允許讀取此維基,以逗號分隔的使用者名稱的清單
|
||||
* ''writers'' - 允許寫入此維基,以逗號分隔的使用者名稱的清單
|
||||
* ''csrf-disable'' - 設定為 "yes" 以停用 CSRF 檢查 (預設為 "no")
|
||||
* ''sse-enabled'' - 設定為 "yes" 以啟用伺服器傳送的事件 (預設為 "no")
|
||||
* ''root-tiddler'' - 服務的基本條目 (預設為 "$:/core/save/all")
|
||||
* ''root-render-type'' - 呈現的基本條目的內容類型 (預設為 "text/plain")
|
||||
* ''root-serve-type'' - 服務的基本條目的內容類型 (預設為 "text/html")
|
||||
* ''tls-cert'' - TLS 證書檔案的路徑名(相對於維基資料夾)
|
||||
* ''tls-key'' - TLS 密鑰檔案的路徑名(相對於維基資料夾)
|
||||
* ''debug-level'' - 可選的偵錯層級;設定為 "debug" 來檢視請求的詳細資訊;(預設為 "none")
|
||||
* ''gzip'' - 設為 "yes" 以啟用某些 http 端點的 gzip 壓縮 (預設為 "no")
|
||||
* ''use-browser-cache'' - 設定為 "yes" ,允許瀏覽器快取回應,以節省頻寬(預設值為 "no")
|
||||
|
||||
有關向整個本地網路開啟實例的資訊,以及可能的安全問題,請參閲 TiddlyWiki.com 的 WebServer 條目。
|
3
languages/zh-HK/Help/notfound.tid
Normal file
3
languages/zh-HK/Help/notfound.tid
Normal file
@ -0,0 +1,3 @@
|
||||
title: $:/language/Help/notfound
|
||||
|
||||
無此項目説明
|
10
languages/zh-HK/Help/password.tid
Normal file
10
languages/zh-HK/Help/password.tid
Normal file
@ -0,0 +1,10 @@
|
||||
title: $:/language/Help/password
|
||||
description: 設定用以加密的密碼
|
||||
|
||||
設定用以加密的密碼
|
||||
|
||||
```
|
||||
--password <password>
|
||||
```
|
||||
|
||||
''請注意'':這不是用於提供 TiddlyWiki 具有密碼保護功能。相反地,請看 [[ServerCommand]] 的密碼選項説明。
|
34
languages/zh-HK/Help/render.tid
Normal file
34
languages/zh-HK/Help/render.tid
Normal file
@ -0,0 +1,34 @@
|
||||
title: $:/language/Help/render
|
||||
description: 呈現個別條目到檔案
|
||||
|
||||
呈現由篩選器標識的個別條目,並將結果儲存到指定的檔案。
|
||||
|
||||
可選擇性地指定範本條目名稱。在此情況下,不是直接呈現每個條目,而是使用設為正在呈現的條目名稱的 "currentTiddler" 變數,來呈現範本條目。
|
||||
|
||||
也可以選擇性地指定附加變數的名稱和值。
|
||||
|
||||
```
|
||||
--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*
|
||||
```
|
||||
|
||||
* ''tiddler-filter'': 標識要呈現的條目的篩選器
|
||||
* ''filename-filter'': 可選的篩選器,轉換條目名稱至路徑名。如果省略,預設為 `[is[tiddler]addsuffix[.html]]`,其使用未改變的條目名稱為檔名
|
||||
* ''template'': 可選的範本,用於呈現每個條目
|
||||
* ''render-type'': 可選的呈現類型:`text/html` (預設值) 會傳回完整的 HTML 文字,而 `text/plain` 只會傳迴文字內容 (即其忽略 HTML 標記與其他不可印出的資料)
|
||||
* ''name'': 可選的變數名稱
|
||||
* ''value'': 可選的變數值
|
||||
|
||||
預設情況下,檔名被解析為相對於發行版資料夾的 `output` 子資料夾。`--output` 命令可用於將輸出指到一個不同的資料夾。
|
||||
|
||||
附註:
|
||||
|
||||
* 輸出資料夾不清除任何現有的檔案
|
||||
* 檔名的路徑中,任何不存在的資料夾,將自動建立。
|
||||
* 當正呈現的條目名稱中帶有空格,請注意同時使用命令列介面所要求的引號,與 TiddlyWiki 的雙重方括號:`--render "[[Motovun Jack.jpg]]"`
|
||||
* 所選的項目被設定為當前正在呈現的條目名稱,以此評估檔名篩選器,允條目名稱用作基礎計算的檔名。例如,`[encodeuricomponent[]addprefix[static/]]` 為每個條目名稱套用 URI 編碼,然後增加首碼 `static/`
|
||||
* `--render` 命令是已棄用的 `--rendertiddler` 和 `--rendertiddlers` 的一個更靈活的替代命令。
|
||||
|
||||
範例:
|
||||
|
||||
* `--render "[!is[system]]" "[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]"` -- 呈現所有非系統條目為 "tiddlers" 子資料夾中的檔案,檔名為 URL 編碼的條目名稱和副檔名 HTML
|
||||
* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- 將標籤為 "HelloThere" 的條目渲染到名為 "tiddlers.json" 的 JSON 檔案
|
16
languages/zh-HK/Help/savetiddlers.tid
Normal file
16
languages/zh-HK/Help/savetiddlers.tid
Normal file
@ -0,0 +1,16 @@
|
||||
title: $:/language/Help/savetiddlers
|
||||
description: 將一羣條目的原始內容儲存到一個資料夾
|
||||
|
||||
(請注意:`--savetiddlers` 命令已被棄用,而支援新的、更靈活得 `--save` 命令)
|
||||
|
||||
儲存一羣條目的原始文字或二進位格式到指定的資料夾。
|
||||
|
||||
```
|
||||
--savetiddlers <filter> <pathname> [noclean]
|
||||
```
|
||||
|
||||
預設情況下,路徑名被解析為相對於發行版資料夾的 `output` 子資料夾。 `--output` 命令可以用於將輸出指定到一個不同的資料夾。
|
||||
|
||||
儲存指定的檔案之前,會先清除輸出目錄的現有檔案。可藉由指定 ''noclean'' 旗標,停用該刪除動作。
|
||||
|
||||
自動建立在路徑中任何缺少的資料夾。
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user