1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-12-25 01:20:30 +00:00

Merge branch 'master' into parameterised-transclusions

This commit is contained in:
jeremy@jermolene.com 2022-05-23 11:28:12 +01:00
commit 170c4b1799
106 changed files with 1504 additions and 611 deletions

View File

@ -1,43 +0,0 @@
---
name: Bug report
about: Create a report to help us improve TiddlyWiki 5
title: "[BUG]"
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**TiddlyWiki Configuration (please complete the following information):**
- Version [e.g. v5.1.24]
- Saving mechanism [e.g. Node.js, TiddlyDesktop, TiddlyHost etc]
- Plugins installed [e.g. Freelinks, TiddlyMap]
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

67
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,67 @@
name: Bug report
description: Create a report to help us improve TiddlyWiki 5
title: "[BUG] "
body:
- type: textarea
id: Describe
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: Expected
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: false
- type: textarea
id: Reproduce
attributes:
label: To Reproduce
description: "Steps to reproduce the behavior:"
value: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: false
- type: textarea
id: Screenshots
attributes:
label: Screenshots
description: If applicable, add screenshots to help explain your problem.
placeholder: Drag image here to upload screenshot!
validations:
required: false
- type: textarea
id: Configuration
attributes:
label: TiddlyWiki Configuration
description: please complete the following information
value: |
- Version [e.g. v5.1.24]
- Saving mechanism [e.g. Node.js, TiddlyDesktop, TiddlyHost etc]
- Plugins installed [e.g. Freelinks, TiddlyMap]
### Desktop (please complete the following information):
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
### Smartphone (please complete the following information):
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
validations:
required: true
- type: textarea
id: Context
attributes:
label: Additional context
description: Add any other context about the problem here.

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Discuss feature request
url: https://github.com/Jermolene/TiddlyWiki5/discussions
about: Open new discussion about new feature
- name: Talk.Tiddlywiki Forum
url: https://talk.tiddlywiki.org
about: Join the Forum

View File

@ -25,8 +25,8 @@ exports["prefix-lines"] = function(event,operation) {
$tw.utils.each(lines,function(line,index) { $tw.utils.each(lines,function(line,index) {
// Remove and count any existing prefix characters // Remove and count any existing prefix characters
var count = 0; var count = 0;
while(line.charAt(0) === event.paramObject.character) { while($tw.utils.startsWith(line,event.paramObject.character)) {
line = line.substring(1); line = line.substring(event.paramObject.character.length);
count++; count++;
} }
// Remove any whitespace // Remove any whitespace

View File

@ -15,6 +15,22 @@ Text editor operation to wrap the selected lines with a prefix and suffix
exports["wrap-lines"] = function(event,operation) { exports["wrap-lines"] = function(event,operation) {
var prefix = event.paramObject.prefix || "", var prefix = event.paramObject.prefix || "",
suffix = event.paramObject.suffix || ""; suffix = event.paramObject.suffix || "";
if($tw.utils.endsWith(operation.text.substring(0,operation.selStart), prefix + "\n") &&
$tw.utils.startsWith(operation.text.substring(operation.selEnd), "\n" + suffix)) {
// Selected text is already surrounded by prefix and suffix: Remove them
// Cut selected text plus prefix and suffix
operation.cutStart = operation.selStart - (prefix.length + 1);
operation.cutEnd = operation.selEnd + suffix.length + 1;
// Also cut the following newline (if there is any)
if (operation.text[operation.cutEnd] === "\n") {
operation.cutEnd++;
}
// Replace with selection
operation.replacement = operation.text.substring(operation.selStart,operation.selEnd);
// Select text that was in between prefix and suffix
operation.newSelStart = operation.cutStart;
operation.newSelEnd = operation.selEnd - (prefix.length + 1);
} else {
// Cut just past the preceding line break, or the start of the text // Cut just past the preceding line break, or the start of the text
operation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart); operation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);
// Cut to just past the following line break, or to the end of the text // Cut to just past the following line break, or to the end of the text
@ -25,6 +41,7 @@ exports["wrap-lines"] = function(event,operation) {
suffix + "\n"; suffix + "\n";
operation.newSelStart = operation.cutStart + prefix.length + 1; operation.newSelStart = operation.cutStart + prefix.length + 1;
operation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart); operation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);
}
}; };
})(); })();

View File

@ -220,10 +220,18 @@ source: an iterator function for the source tiddlers, called source(iterator), w
widget: an optional widget node for retrieving the current tiddler etc. widget: an optional widget node for retrieving the current tiddler etc.
*/ */
exports.compileFilter = function(filterString) { exports.compileFilter = function(filterString) {
if(!this.filterCache) {
this.filterCache = Object.create(null);
this.filterCacheCount = 0;
}
if(this.filterCache[filterString] !== undefined) {
return this.filterCache[filterString];
}
var filterParseTree; var filterParseTree;
try { try {
filterParseTree = this.parseFilter(filterString); filterParseTree = this.parseFilter(filterString);
} catch(e) { } catch(e) {
// We do not cache this result, so it adjusts along with localization changes
return function(source,widget) { return function(source,widget) {
return [$tw.language.getString("Error/Filter") + ": " + e]; return [$tw.language.getString("Error/Filter") + ": " + e];
}; };
@ -322,7 +330,7 @@ exports.compileFilter = function(filterString) {
})()); })());
}); });
// Return a function that applies the operations to a source iterator of tiddler titles // Return a function that applies the operations to a source iterator of tiddler titles
return $tw.perf.measure("filter: " + filterString,function filterFunction(source,widget) { var compiled = $tw.perf.measure("filter: " + filterString,function filterFunction(source,widget) {
if(!source) { if(!source) {
source = self.each; source = self.each;
} else if(typeof source === "object") { // Array or hashmap } else if(typeof source === "object") { // Array or hashmap
@ -337,6 +345,16 @@ exports.compileFilter = function(filterString) {
}); });
return results.toArray(); return results.toArray();
}); });
if(this.filterCacheCount >= 2000) {
// To prevent memory leak, we maintain an upper limit for cache size.
// Reset if exceeded. This should give us 95% of the benefit
// that no cache limit would give us.
this.filterCache = Object.create(null);
this.filterCacheCount = 0;
}
this.filterCache[filterString] = compiled;
this.filterCacheCount++;
return compiled;
}; };
})(); })();

View File

@ -292,6 +292,8 @@ exports.collectDOMVariables = function(selectedNode,domNode,event) {
$tw.utils.each(selectedNode.attributes,function(attribute) { $tw.utils.each(selectedNode.attributes,function(attribute) {
variables["dom-" + attribute.name] = attribute.value.toString(); variables["dom-" + attribute.name] = attribute.value.toString();
}); });
if(selectedNode.offsetLeft) {
// Add a variable with a popup coordinate string for the selected node // Add a variable with a popup coordinate string for the selected node
variables["tv-popup-coords"] = "(" + selectedNode.offsetLeft + "," + selectedNode.offsetTop +"," + selectedNode.offsetWidth + "," + selectedNode.offsetHeight + ")"; variables["tv-popup-coords"] = "(" + selectedNode.offsetLeft + "," + selectedNode.offsetTop +"," + selectedNode.offsetWidth + "," + selectedNode.offsetHeight + ")";
@ -301,6 +303,12 @@ exports.collectDOMVariables = function(selectedNode,domNode,event) {
variables["tv-selectednode-width"] = selectedNode.offsetWidth.toString(); variables["tv-selectednode-width"] = selectedNode.offsetWidth.toString();
variables["tv-selectednode-height"] = selectedNode.offsetHeight.toString(); variables["tv-selectednode-height"] = selectedNode.offsetHeight.toString();
} }
}
if(domNode && domNode.offsetWidth) {
variables["tv-widgetnode-width"] = domNode.offsetWidth.toString();
variables["tv-widgetnode-height"] = domNode.offsetHeight.toString();
}
if(event && event.clientX && event.clientY) { if(event && event.clientX && event.clientY) {
if(selectedNode) { if(selectedNode) {

View File

@ -95,6 +95,20 @@ exports.repeat = function(str,count) {
return result; return result;
}; };
/*
Check if a string starts with another string
*/
exports.startsWith = function(str,search) {
return str.substring(0, search.length) === search;
};
/*
Check if a string ends with another string
*/
exports.endsWith = function(str,search) {
return str.substring(str.length - search.length) === search;
};
/* /*
Trim whitespace from the start and end of a string Trim whitespace from the start and end of a string
Thanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript Thanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript

View File

@ -52,7 +52,7 @@ EventWidget.prototype.render = function(parent,nextSibling) {
selectedNode = event.target, selectedNode = event.target,
selectedNodeRect, selectedNodeRect,
catcherNodeRect, catcherNodeRect,
variables; variables = {};
// Firefox can fire dragover and dragenter events on text nodes instead of their parents // Firefox can fire dragover and dragenter events on text nodes instead of their parents
if(selectedNode.nodeType === 3) { if(selectedNode.nodeType === 3) {
selectedNode = selectedNode.parentNode; selectedNode = selectedNode.parentNode;

View File

@ -1,9 +1,9 @@
title: $:/core/save/lazy-all title: $:/core/save/lazy-all
\define saveTiddlerFilter() \define saveTiddlerFilter()
[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] [is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] [is[tiddler]type[application/javascript]] +[sort[title]]
\end \end
\define skinnySaveTiddlerFilter() \define skinnySaveTiddlerFilter()
[!is[system]] [!is[system]] -[type[application/javascript]]
\end \end
{{$:/core/templates/tiddlywiki5.html}} {{$:/core/templates/tiddlywiki5.html}}

View File

@ -1,11 +1,14 @@
title: $:/core/ui/EditTemplate title: $:/core/ui/EditTemplate
\define delete-edittemplate-state-tiddlers() <$action-deletetiddler $filter="[<newFieldNameTiddler>] [<newFieldValueTiddler>] [<newFieldNameInputTiddler>] [<newFieldNameSelectionTiddler>] [<newTagNameTiddler>] [<newTagNameInputTiddler>] [<newTagNameSelectionTiddler>] [<typeInputTiddler>] [<typeSelectionTiddler>]"/> \define delete-edittemplate-state-tiddlers() <$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix<newFieldValueTiddlerPrefix>] [<newFieldNameInputTiddler>] [<newFieldNameSelectionTiddler>] [<newTagNameTiddler>] [<newTagNameInputTiddler>] [<newTagNameSelectionTiddler>] [<typeInputTiddler>] [<typeSelectionTiddler>]"/>
\define get-field-value-tiddler-filter() [subfilter<get-field-editor-filter>sha256[16]addprefix[/]addprefix<newFieldValueTiddlerPrefix>]
\define get-field-editor-filter() [<newFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]
\define save-tiddler-actions() \define save-tiddler-actions()
\whitespace trim \whitespace trim
<$action-sendmessage $message="tm-add-tag" $param={{{ [<newTagNameTiddler>get[text]] }}}/> <$action-sendmessage $message="tm-add-tag" $param={{{ [<newTagNameTiddler>get[text]] }}}/>
<$action-sendmessage $message="tm-add-field" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldNameTiddler>get[text]] :map[<newFieldValueTiddler>get<currentTiddler>] }}}/> <$action-sendmessage $message="tm-add-field" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldNameTiddler>get[text]] :map[subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
<<delete-edittemplate-state-tiddlers>> <<delete-edittemplate-state-tiddlers>>
<$action-sendmessage $message="tm-save-tiddler"/> <$action-sendmessage $message="tm-save-tiddler"/>
\end \end
@ -26,7 +29,7 @@ title: $:/core/ui/EditTemplate
storyTiddler=<<currentTiddler>> storyTiddler=<<currentTiddler>>
newTagNameTiddler=<<qualify "$:/temp/NewTagName">> newTagNameTiddler=<<qualify "$:/temp/NewTagName">>
newFieldNameTiddler=<<qualify "$:/temp/NewFieldName">> newFieldNameTiddler=<<qualify "$:/temp/NewFieldName">>
newFieldValueTiddler=<<qualify "$:/temp/NewFieldValue">> newFieldValueTiddlerPrefix=<<qualify "$:/temp/NewFieldValue">>
newFieldNameInputTiddler=<<qualify "$:/temp/NewFieldName/input">> newFieldNameInputTiddler=<<qualify "$:/temp/NewFieldName/input">>
newFieldNameSelectionTiddler=<<qualify "$:/temp/NewFieldName/selected-item">> newFieldNameSelectionTiddler=<<qualify "$:/temp/NewFieldName/selected-item">>
newTagNameInputTiddler=<<qualify "$:/temp/NewTagName/input">> newTagNameInputTiddler=<<qualify "$:/temp/NewTagName/input">>

View File

@ -1,3 +1,3 @@
title: $:/core/ui/EditTemplate/fieldEditor/default title: $:/core/ui/EditTemplate/fieldEditor/default
<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> default="" class="tc-edit-texteditor tc-edit-fieldeditor" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}} cancelPopups="yes"/> <$edit-text tiddler=<<currentTiddler>> field=<<currentField>> tag="input" default="" class="tc-edit-texteditor tc-edit-fieldeditor" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}} cancelPopups="yes"/>

View File

@ -16,8 +16,8 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
\define new-field-actions() \define new-field-actions()
\whitespace trim \whitespace trim
<$action-sendmessage $message="tm-add-field" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldNameTiddler>get[text]] :map[<newFieldValueTiddler>get<currentTiddler>] }}}/> <$action-sendmessage $message="tm-add-field" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldNameTiddler>get[text]] :map[subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
<$action-deletetiddler $filter="[<newFieldNameTiddler>] [<newFieldValueTiddler>] [<storeTitle>] [<searchListState>]"/> <$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix<newFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]"/>
<$action-sendmessage $message="tm-focus-selector" $param=<<current-tiddler-new-field-selector>>/> <$action-sendmessage $message="tm-focus-selector" $param=<<current-tiddler-new-field-selector>>/>
\end \end
@ -51,8 +51,8 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
<$button tooltip=<<lingo Fields/Add/Button/Hint>>> <$button tooltip=<<lingo Fields/Add/Button/Hint>>>
<$action-sendmessage $message="tm-add-field" <$action-sendmessage $message="tm-add-field"
$name=<<name>> $name=<<name>>
$value={{{ [<newFieldValueTiddler>get<name>] }}}/> $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
<$action-deletetiddler $filter="[<newFieldNameTiddler>] [<newFieldValueTiddler>] [<storeTitle>] [<searchListState>]"/> <$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix<newFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]"/>
<<lingo Fields/Add/Button>> <<lingo Fields/Add/Button>>
</$button> </$button>
</$reveal> </$reveal>
@ -135,13 +135,11 @@ $value={{{ [<newFieldValueTiddler>get<name>] }}}/>
</div> </div>
</$reveal> </$reveal>
</div> </div>
<$let currentTiddler=<<newFieldValueTiddler>> currentField={{{ [<newFieldNameTiddler>get[text]] }}}> <$let currentTiddlerCSSescaped={{{ [<currentTiddler>escapecss[]] }}} currentTiddler={{{ [subfilter<get-field-value-tiddler-filter>] }}} currentField="text" currentFieldName={{{ [<newFieldNameTiddler>get[text]] }}}>
<span class="tc-edit-field-add-value tc-small-gap-right"> <span class="tc-edit-field-add-value tc-small-gap-right">
<$set name="currentTiddlerCSSescaped" value={{{ [<currentTiddler>escapecss[]] }}}>
<$keyboard key="((add-field))" actions=<<new-field-actions>>> <$keyboard key="((add-field))" actions=<<new-field-actions>>>
<$transclude tiddler={{{ [<currentField>] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}] }}} /> <$transclude tiddler={{{ [subfilter<get-field-editor-filter>] }}} />
</$keyboard> </$keyboard>
</$set>
</span> </span>
<span class="tc-edit-field-add-button"> <span class="tc-edit-field-add-button">
<$macrocall $name="new-field"/> <$macrocall $name="new-field"/>

View File

@ -65,14 +65,10 @@ title: $:/PaletteManager
\whitespace trim \whitespace trim
<table> <table>
<tbody> <tbody>
<$list filter="[all[shadows+tiddlers]tag[$:/tags/Palette]indexes[]]" variable="colourName"> <$set name="colorList" filter="[{$:/state/palettemanager/showexternal}match[yes]]"
<$list value="[all[shadows+tiddlers]tag[$:/tags/Palette]indexes[]]" emptyValue="[<currentTiddler>indexes[]]">
filter="[<currentTiddler>indexes[]removeprefix<colourName>suffix[]]" <$list filter=<<colorList>> variable="colourName"> <<palette-manager-colour-row>> </$list>
variable="ignore" </$set>
emptyMessage="<$list filter='[{$:/state/palettemanager/showexternal}removeprefix[yes]suffix[]]' variable='ignore'><<palette-manager-colour-row>></$list>">
<<palette-manager-colour-row>>
</$list>
</$list>
</tbody> </tbody>
</table> </table>
\end \end

View File

@ -12,11 +12,13 @@ fill:$(foregroundColor)$;
</span> </span>
<$set name="tv-wikilinks" value={{$:/config/Tiddlers/TitleLinks}}> <$set name="tv-wikilinks" value={{$:/config/Tiddlers/TitleLinks}}>
<$link> <$link>
<$list filter="[<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] +[!is[blank]]" variable="ignore">
<$let foregroundColor={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}> <$let foregroundColor={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>
<span class="tc-tiddler-title-icon" style=<<title-styles>>> <span class="tc-tiddler-title-icon" style=<<title-styles>>>
{{||$:/core/ui/TiddlerIcon}} {{||$:/core/ui/TiddlerIcon}}
</span> </span>
</$let> </$let>
</$list>
<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateTitleFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/title/default]] }}} /> <$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateTitleFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/title/default]] }}} />
</$link> </$link>
</$set> </$set>

View File

@ -1,15 +0,0 @@
caption: {{$:/language/SideBar/Open/Caption}}
created: 20141119223515194
modified: 20141127160706002
tags: $:/tags/SideBar
title: $:/core/ui/SideBar/Open
type: text/vnd.tiddlywiki
\define lingo-base() $:/language/CloseAll/
<$list filter="[list[$:/StoryList]]" history="$:/HistoryList" storyview="pop">
<$button message="tm-close-tiddler" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class="tc-btn-invisible tc-btn-mini">&times;</$button> <$link to={{!!title}}><$transclude field="fr-title"><$view field="title"/></$transclude></$link>
</$list>
<$button message="tm-close-all-tiddlers" class="tc-btn-invisible tc-btn-mini"><<lingo Button>></$button>

View File

@ -1,17 +0,0 @@
caption: Ligne horizontale
created: 20141017091105859
modified: 20141116092622611
tags: WikiText
title: Horizontal Rules in WikiText
fr-title: Lignes horizontales en WikiText
type: text/vnd.tiddlywiki
Une ligne horizontale se crée avec trois caractères "moins" ou plus `---`, seuls sur une ligne :
<<wikitexte-exemple "Paragraphe précédent.
---
Paragraphe suivant.">>
; Remarque
* La ligne vide avant la ligne horizontale est nécessaire pour que cette dernière soit interprétée correctement, et non comme un [[tiret|Dashes in WikiText]].

View File

@ -1,22 +0,0 @@
caption: Appel de Macro
created: 20150220182252000
fr-title: L'appel des macros dans WikiTexte
modified: 20150621151328844
title: Macro Calls in WikiText
type: text/vnd.tiddlywiki
Pour appeler une [[macro|Macros]], placez des `<<`parenthèses en double équerres`>>` autour de son nom et des valeurs de ses paramètres. ex<<:>> `<<macro val1 val2 ... valn>>`
Par défaut, les paramètres sont passés dans l'ordre fixé lors de la définition de la macro. Un paramètre peut être identifié par son nom, pour plus de clarté ou pour pouvoir en modifier l'ordre.
Si aucune valeur n'est passée en paramètre, la valeur fixée lors de la définition de la macro est assignée. (Si aucune valeur n'est définie par défaut, le paramètre est tout simplement vide.)
Chaque valeur de paramètre peut être passée par des `'cotes unique'`, des `"double cotes"`, des `"""double cotes triplés"""` ou des `[[doubles crochets]]`. Les double cotes triplés permettent de passer à peu près toutes les valeurs. Si une valeur ne contient ni espace, ni simple ou double cotes, les délimiteurs sont inutiles.
Une description [[description|Macro Call Syntax]] plus formelle de cette syntaxe est aussi disponible.
La syntaxe courante est une forme abrégée du widget <<.wlink MacroCallWidget>>. Ce widget permet, par lui-même, une plus grande flexibilité, incluant la capacité de [[transclure|Transclusion]] des valeurs en paramètres ou de les générer via des macros additionnelles .
Comme les macros sont de simples [[variables|Variables]] paramétrées, des valeurs de variables peuvent être intègrées en faisant appel aux mêmes techniques.
[[Exemples|Macro Calls in WikiText (Examples)]]

View File

@ -1,17 +0,0 @@
caption: Pragma
created: 20150219175930000
modified: 20150622113059920
tags: Concepts
title: Pragma
type: text/vnd.tiddlywiki
Un <<.def pragma>> est un composant spécial de WikiText qui permet de contrôler la façon dont la suite du texte est analysée.
Les Pragmas occupent les lignes débutants par `\`. Ils peuvent juste prendre place au début d'un texte, mais des lignes vides sont permises entre eux. Si un pragma apparait dans le corps principal d'un texte, il est considéré comme du texte ordinaire.
Les pragmas suivants sont disponibles<<:>>
;`\define`
: définit une [[macro|Macros]]
;`\rules`
: permet d'ajuster l'ensemble des règles d'analyse d'un texte

View File

@ -1,102 +0,0 @@
caption: Tableaux
created: 20130914132100000
fr-title: Tableaux avec WikiText
modified: 20150601094401171
tags: WikiText
title: Tables in WikiText
type: text/vnd.tiddlywiki
! Concepts de base
TiddlyWiki5 forme les tableaux au moyen du signe barre verticale `|`, de cette façon&nbsp;:
```
|!Cell1 |!Cell2 |
|Cell3 |Cell4 |
```
Le point d'exclamation marque l'entête des cellules:
|!Cell1 |!Cell2 |
|Cell3 |Cell4 |
! L'alignement horizontal
Lalignement horizontal des cellules du tableau est contrôlé par l'insertion d'un espace avant/après le contenu de la cellule. Par exemple:
```
|Contenu aligné à gauche |
| Contenu aligné à droite|
| Contenu centré |
|+++ Une très grande cellule pour vous montrer l'alignement dans la colonne +++|
```
Cet exemple donne ceci&nbsp;:
|Contenu aligné à gauche |
| Contenu aligné à droite|
| Contenu centré |
|+++ Une très grande cellule pour vous montrer l'alignement dans la colonne +++|
! L'alignement vertical
Lalignement vertical des cellules du tableau est contrôlé par l'insertion, comme premier caractère de la cellule, soit d'un `^` pour un alignement en haut ou un `,` pour un alignement en bas. La combinaison avec l'alignement horizontal reste valable.
Exemple&nbsp;:
```
|^haut gauche |^ haut centré |^ haut droit|
|milieu gauche | milieu centré | milieu droit|
|,bas gauche |, bas centré |, bas droit|
```
Ce qui affiche&nbsp;:
| ::<br>:: |^haut gauche |^ haut centre |^ haut droit|
| ::<br>::<br>:: |milieu gauche | milieu centre | milieu droit|
| ::<br>::|,bas gauche |, bas centré |, bas droit|
Si vous voulez afficher un `^`or a `,` comme premier caractère d'une cellule alignée à gauche, vous ferez appel au html-escaping/ échappement-html. Voir, à ce sujet [[la Mise en forme avec WikiText|Formatting in WikiText]].
| `^` | &amp;#94; |
| `,` | &amp;#44; |
! La fusion des cellules
Pour fusionner le contenu de la cellule située au dessus utiliser `~`. Pour fusionner avec celle de gauche `<` et `>` pour celle de droite. Par exemple:
```
|Cell1 |Cell2 |Cell3 |Cell4 |
|Cell5 |Cell6 |Cell7 |<|
|Cell5 |~|Cell7 |Cell8 |
|>|Cell9 |Cell10 |Cell11 |
```
affiche:
|Cell1 |Cell2 |Cell3 |Cell4 |
|Cell5 |Cell6 |Cell7 |<|
|Cell5 |~|Cell7 |Cell8 |
|>|Cell9 |Cell10 |Cell11 |
! Classes de tableau, légendes, en-têtes et pieds de tableau
Des classes CSS, des légendes, des en-têtes et pieds de tableau peuvent être spécifiés comme pseudo-lignes spéciales&nbsp;:
```
|maclasse autreClass|k
|Ceci est une légende |c
|Cell1 |Cell2 |
|Cell3 |Cell4 |
|Entête|Entête|h
|Pied|Pied|f
```
affiche&nbsp;:
|maclasse autreClass|k
|Ceci est une légende |c
|Cell1 |Cell2 |
|Cell3 |Cell4 |
|Entête|Entête|h
|Pied|Pied|f

View File

@ -1,73 +0,0 @@
caption: transclude
created: 20130824142500000
modified: 20150622210004977
tags: Widgets
title: TranscludeWidget
type: text/vnd.tiddlywiki
! Introduction
Le TranscludeWidget importe dynamiquement le contenu d'un autre tiddler.
! Attributs
|!Attribut |!Description |
|tiddler |Le titre du tiddler à transclure (par défaut le tiddler courant) |
|field |Le nom du champ du tiddler courant (par défaut "text"<<;>> si présent, a priorité sur l'attribut index) |
|index |L'index d'une propriété d'un [[Data Tiddler|DataTiddlers]] |
|subtiddler |Titre optionnel d'un SubTiddler quand le tiddler cible est un [[plugin|Plugins]] (voir infra) |
|mode |change le mode d'analyse par défaut du texte transclu à "block" ou à "inline" |
Le TranscludeWidget traite tout contenu avec les solutions par défaut si la cible de transclusion n'est pas complètement définie (ex<<:>> un tiddler ou un champ manquant)
! Modes d'analyse
TiddlyWiki analyse le texte par deux modes<<:>>
* le mode ''inline'' reconnaît les formats de caractères comme l'emphase, les liens
* le mode ''bloc'' reconnaît tous les formats ''inline'', et le complète des formats bloc comme les tableaux, les listes et les rubriques
Habituellement, le mode, bloc ou en ligne, est déterminé automatiquement par le widget transclude lui-même au moment de l'analyse. Ceci peut être ajusté par l'attribut `mode`.
Par exemple, considérons un tiddler "A" avec ce contenu<<:>>
```
# Article un
#<$transclude tiddler="B"/>
# Article deux
```
Et un tiddler "B" avec ce contenu<<:>>
```
# Article un - a
# Article un - b
```
Le résultat donnera quelque chose comme<<:>>
# Article un
# # Article un - a # Article un - b
# Article deux
Cela peut être corrigé en modifiant le tiddler "A"<<:>>
```
# Article un
#<$transclude tiddler="B" mode="block"/>
# Article deux
```
! Accès au SubTiddler
Le transclude widget permet l'accès aux tiddlers individuels mémorisés dans un [[plugin|Plugins]].
L'exemple suivant transclura la version initiale d'un tiddler noyau [[$:/DefaultTiddlers]] même si il a été modifié<<:>>
<<wikitext-example-without-html '
<$transclude tiddler="$:/core" subtiddler="$:/DefaultTiddlers"/>
'>>

View File

@ -1,30 +0,0 @@
caption: Widgets
created: 20131205160840915
fr-title: Widgets de WikiText
modified: 20150622081957197
tags: WikiText
title: Widgets in WikiText
type: text/vnd.tiddlywiki
Les widgets enrichissent les fonctionnalités du WikiText. Ils ont la même syntaxe que les [[éléments HTML|HTML in WikiText]], mais leur nom de balise commence toujours par `$`. Par exemple<<dp>>
```
<$button message="tm-close-tiddler">Fermez Moi !</$button>
```
Notez que les widgets héritent de toutes les caractéristiques du [[HTML dans WikiText|HTML in WikiText]]:
* Les attributs des Widgets peuvent être spécifiés via<<:>>
** Des chaines non-cotées (sans aucun espace)
** Des chaines cotées par simple ou double cotes
** Des chaines cotées par des doubles cotés triplées
** Des invocations de Macro (eg `attr=<<maMacro>>`)
** Des transclusions (eg, `attr={{MonTiddler!!champ}}`)
* Le contenu d'un widget est analysé en mode en ligne jusqu'à ce que l'ouverture d'une balise soit suivie par deux sautsdeligne, ce qui force le mode bloc
** Le 'mode Enligne' indique que les règles d'analyse en 'mode bloc' de rubriques, tables, listes, ... ne sont pas reconnues
Voir [[HTML dans WikiText|HTML in WikiText]] pour plus de détails.
Les widgets disponibles inclus<<:>>
<<list-links "[tag[Widgets]]">>

View File

@ -0,0 +1,23 @@
caption: Pragma
created: 20150219175930000
modified: 20220421233711464
tags: Concepts [[WikiText Parser Modes]]
title: Pragma
type: text/vnd.tiddlywiki
Un <<.def pragma>> est un composant spécial du <<fr WikiText>> qui permet de contrôler la façon dont la suite du texte est analysée.
Les ''pragmas'' occupent des lignes débutant par un `\`. Ils ne peuvent être placés qu'au début d'un texte, mais des lignes vides sont autorisées entre eux. Si une ligne de pragma apparaît plus loin dans le corps du texte, il n'est pas pris en compte et apparaît comme du texte ordinaire.
''NDT''<<:>> <<.from-version "5.2.0">> Les commentaires HTML `<!-- texte de commentaire -->` sont aussi autorisés avant et entre les ''pragmas'', ce qui facilite la documentation du code <<fr WikiText>>.
Les ''pragmas'' suivants sont disponibles<<:>>
;`\define`
: introduit une définition de [[macro|Macros]]
;`\rules`
: permet d'ajuster l'ensemble des règles d'analyse du texte
;`\whitespace trim` ou `\whitespace notrim`
: <<.from-version "5.1.15">> contrôle si les caractères d'espacement sont retirés du début et de la fin de morceaux de texte (la valeur par défaut ''notrim'' n'entraîne aucun retrait). Ce paramètre est utile lorsque l'indentation ou les caractères d'espacement générés par les retours à la ligne perturbent la mise en forme du résultat.
;`\import <expression-de-filtre>`
: <<.from-version "5.1.18">> permet d'importer des définitions de macros à partir des tiddlers sélectionnés par une expression de filtre.

View File

@ -1,15 +1,17 @@
caption: WikiText caption: WikiText
created: 20141016134519861 created: 20141016134519861
fr-title: WikiTexte fr-title: WikiTexte
modified: 20150622111631346 modified: 20220422222111475
tags: Concepts Reference tags: Concepts Reference
title: WikiText title: WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
Le ~WikiText est le langage de balisage de TiddlyWiki, qui permet d'écrire de manière concise et expressive une grande variété de formatages de texte, de liens hypertextes et de fonctionnalités interactives. Il permet de se concentrer sur l'écriture, sans l'interférence d'une interface complexe. Il est conçu pour être familier aux utilisateurs de [[Markdown]], tout en étant plus focalisé sur les liens et les fonctionnalités interactives. Le WikiTexte est le langage de balisage de TiddlyWiki, qui permet d'écrire de manière concise et expressive une grande variété de formatages de texte, de liens hypertextes et de fonctionnalités interactives. Il permet de se concentrer sur l'écriture, sans l'interférence d'une interface complexe. Il est conçu pour être familier aux utilisateurs de [[Markdown]], tout en étant plus focalisé sur les liens et les fonctionnalités interactives.
Voir [[Formater du texte dans TiddlyWiki|Formatting text in TiddlyWiki]] pour une introduction au ~WikiText. La <<fr "Editor toolbar">> permet d'insérer des balises de ~WikiTexte dans le texte du tiddler en cours d'édition.
Les syntaxes suivantes sont intégrées nativement dans ~TiddlyWiki : Voir <<fr "Formatting text in TiddlyWiki">> pour une introduction au ~WikiTexte.
Les syntaxes suivantes sont intégrées nativement dans <<tw>><<:>>
<<list-links "[tag[WikiText]]">> <<list-links "[tag[WikiText]]">>

View File

@ -1,23 +1,25 @@
caption: Un mini-guide de TiddlyWiki caption: Un mini-guide de TiddlyWiki
created: 20150325170720682 created: 20150325170720682
fr-title: Un mini-guide de TiddlyWiki fr-title: Un mini-guide de TiddlyWiki
modified: 20150531183440068 modified: 20220417204641215
tags: HelloThere tags: HelloThere
title: A Gentle Guide to TiddlyWiki title: A Gentle Guide to TiddlyWiki
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
<<tw>> est un outil incroyablement souple et polyvalent, conçu et mis au point d'une façon très différente que la plupart des logiciels. Cela peut paraître très difficile à comprendre jusqu'au moment où les premiers click le font devenir un extension directe de votre cerveau. <<tw>> est un outil incroyablement souple et polyvalent, conçu et mis au point d'une façon très différente de la plupart des logiciels. Cela peut paraître très difficile à comprendre, jusqu'à ce qu'en un claquement de doigts, il devienne une extension directe de votre cerveau.
Pour commencer par les bases, <<tw>> est une application web dédiée à la prise de notes, que vous pouvez obtenir gratuitement, stocker n'importe où, et personnaliser selon vos souhaits. Elle vous servira à conserver, organiser, et partager vos notes de manière inédite en comparaison des traitements de texte et autres outils habituels de prise de notes. Pour commencer par les bases, <<tw>> est une application web dédiée à la prise de notes, que vous pouvez obtenir gratuitement, stocker n'importe où, et personnaliser selon vos souhaits. Elle vous servira à conserver, organiser, et partager vos notes de manière inédite en comparaison des traitements de texte et autres outils habituels de prise de notes.
<<tw>> privilégie la non-linéarité : le contenu se structure à l'aide de déroulés, de tags, d'hyperliens, et d'autres fonctionnalités spécifiques. Vous pouvez organiser vos notes et y accéder selon votre manière de penser, sans vous sentir contraint par une structure d'organisation prédéfinie. <<tw>> privilégie la non-linéarité<<:>> le contenu se structure à l'aide de déroulés, de tags, d'hyperliens, et d'autres fonctionnalités spécifiques. Vous pouvez organiser vos notes et y accéder selon votre manière de penser, sans vous sentir contraint par une structure d'organisation prédéfinie.
Vous pouvez utiliser <<tw>> sous forme de fichier autonome, affichable et éditable depuis n'importe quel navigateur web, que vous soyez connecté ou déconnecté. Vous pouvez aussi vous en servir comme une [[application Node.js|TiddlyWiki on Node.js]], à même de synchroniser chacune de vos notes dans un fichier séparé. Vous pouvez utiliser <<tw>> sous forme de fichier autonome, affichable et éditable depuis n'importe quel navigateur web, que vous soyez connecté ou déconnecté. Vous pouvez aussi vous en servir comme une [[application Node.js|TiddlyWiki on Node.js]], à même de synchroniser chacune de vos notes dans un fichier séparé.
Comment faire fonctionner <<tw>> chez vous ? Notre conseil est de commencer par lire les textes de présentation ci-dessous, puis de naviguer dans la [[table des matières|TableOfContents]] présente dans l'onglet //{{TableOfContents!!caption}}// de la barre latérale. Ou si vous préférez, contentez-vous de suivre [[nos instructions de démarrage|GettingStarted]] et jetez-vous à l'eau ! Comment faire fonctionner <<tw>> chez vous ? Notre conseil est de commencer par lire les textes de présentation ci-dessous, puis de naviguer dans la <<fr TableOfContents>> présente dans l'onglet //{{TableOfContents!!caption}}// de la barre latérale. Ou si vous préférez, vous pouvez suivre [[nos instructions de démarrage|GettingStarted]] et vous jeter à l'eau !
<<list-links "[tag[HelloThere]]">> <<list-links "[tag[HelloThere]]">>
Voir aussi<<:>> Voir aussi<<:>>
* <<fr '"Grok TiddlyWiki" by Soren Bjornstad'>>
* <<fr "TiddlyWiki Video Tutorials by Francis Meetze">>
* [ext[Developer Documentation|https://tiddlywiki.com/dev/index.html]] (en anglais) * [ext[Developer Documentation|https://tiddlywiki.com/dev/index.html]] (en anglais)

View File

@ -1,7 +1,7 @@
created: 20131129094353704 created: 20131129094353704
fr-title: TiddlyWiki sur Node.js fr-title: TiddlyWiki sur Node.js
modified: 20220402105820520 modified: 20220417143845088
tags: Editions Configurations tags: Platforms
title: TiddlyWiki on Node.js title: TiddlyWiki on Node.js
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki

View File

@ -1,6 +1,7 @@
caption: Serveur PHP
created: 20140111091844267 created: 20140111091844267
fr-title: Enregistrer sur serveur PHP fr-title: Enregistrer sur serveur PHP
modified: 20220402105820520 modified: 20220417143800691
tags: Saving PHP tags: Saving PHP
title: Saving on a PHP Server title: Saving on a PHP Server
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki

View File

@ -1,6 +1,6 @@
created: 20140103134551508 created: 20140103134551508
fr-title: Sauvegarder avec TiddlyFox sur Android fr-title: Enregistrer avec TiddlyFox sur Android
modified: 20220402105820520 modified: 20220417143919185
tags: [[Saving with TiddlyFox]] tags: [[Saving with TiddlyFox]]
title: Saving with TiddlyFox on Android title: Saving with TiddlyFox on Android
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki

View File

@ -4,9 +4,9 @@ community-author: Jeremy Ruston
created: 20131221085742684 created: 20131221085742684
delivery: Browser Extension delivery: Browser Extension
description: Extension pour les anciennes versions de Firefox description: Extension pour les anciennes versions de Firefox
fr-title: Sauvegarder avec TiddlyFox fr-title: Enregistrer avec TiddlyFox
method: save method: save
modified: 20220402105820520 modified: 20220417143943429
tags: Saving Firefox tags: Saving Firefox
title: Saving with TiddlyFox title: Saving with TiddlyFox
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki

View File

@ -0,0 +1,40 @@
caption: {{$:/language/SideBar/Open/Caption}}
created: 20141119223515194
modified: 20220417143300015
tags: $:/tags/SideBar
title: $:/core/ui/SideBar/Open
type: text/vnd.tiddlywiki
\whitespace trim
\define lingo-base() $:/language/CloseAll/
\define drop-actions()
<$action-listops $tiddler=<<tv-story-list>> $subfilter="+[insertbefore<actionTiddler>,<currentTiddler>]"/>
\end
\define placeholder()
<div class="tc-droppable-placeholder"/>
\end
\define droppable-item(button)
\whitespace trim
<$droppable actions=<<drop-actions>> enable=<<tv-allow-drag-and-drop>> tag="div">
<<placeholder>>
<div>
$button$
</div>
</$droppable>
\end
<div class="tc-sidebar-tab-open">
<$list filter="[list<tv-story-list>]" history=<<tv-history-list>> storyview="pop">
<div class="tc-sidebar-tab-open-item">
<$macrocall $name="droppable-item" button="""<$button message="tm-close-tiddler" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class="tc-btn-invisible tc-btn-mini tc-small-gap-right">{{$:/core/images/close-button}}</$button><$link to={{!!title}}><$transclude field="fr-title"><$view field="title"/></$transclude></$link>"""/>
</div>
</$list>
<$tiddler tiddler="">
<div>
<$macrocall $name="droppable-item" button="""<$button message="tm-close-all-tiddlers" class="tc-btn-invisible tc-btn-mini"><<lingo Button>></$button>"""/>
</div>
</$tiddler>
</div>

View File

@ -1,7 +1,5 @@
created: 20141108184809586 created: 20141108184809586
creator: 127.0.0.1 modified: 20220419215154259
modified: 20141212092801073
modifier: 127.0.0.1
tags: $:/tags/Macro tags: $:/tags/Macro
title: $:/editions/fr-FR/util-macros title: $:/editions/fr-FR/util-macros
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@ -36,4 +34,6 @@ type: text/vnd.tiddlywiki
<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 --> <!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->
«&#160;$text$&#160;» «&#160;$text$&#160;»
\end \end
\define fr(cible) <$link to="$cible$"><$view tiddler="$cible$" field="fr-title">{{$cible$!!title}}</$view></$link> \define fr(cible) <$link to="""$cible$"""><$view tiddler="""$cible$""" field="fr-title">{{$cible$!!title}}</$view></$link>
<pre><$view field="text"/></pre>

View File

@ -1,5 +1,5 @@
created: 20150531155638729 created: 20150531155638729
modified: 20220304175111424 modified: 20220417224935943
tags: $:/tags/Macro tags: $:/tags/Macro
title: $:/editions/tw5.com/wikitext-macros title: $:/editions/tw5.com/wikitext-macros
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@ -7,13 +7,17 @@ type: text/vnd.tiddlywiki
\define wikitext-example(src) \define wikitext-example(src)
<div class="doc-example"> <div class="doc-example">
<$macrocall $name="copy-to-clipboard-above-right" src=<<__src__>>/>
``` ```
$src$ $src$
``` ```
Affichera ceci&nbsp;: Affichera ceci&nbsp;:
$$$text/vnd.tiddlywiki
$src$ $src$
$$$
Code HTML correspondant&nbsp;: Code HTML correspondant&nbsp;:
@ -26,22 +30,39 @@ $$$
\define wikitext-example-without-html(src) \define wikitext-example-without-html(src)
<div class="doc-example"> <div class="doc-example">
<$macrocall $name="copy-to-clipboard-above-right" src=<<__src__>>/>
``` ```
$src$ $src$
``` ```
Affichera ceci&nbsp;: Affichera ceci&nbsp;:
$$$text/vnd.tiddlywiki
$src$ $src$
$$$
</div> </div>
\end \end
\define wikitext-example-table-header() <thead><tr><th/><th>ce [[WikiTexte|WikiText]]</th><th>affichera ceci</th></tr></thead>
\define wikitext-example-table-row(id, code)
<tr>
<th><<__id__>></th><td><$codeblock code=<<__code__>>/></td><td>
<<__code__>>
</td>
</tr>
\end
\define tw-code(tiddler) \define tw-code(tiddler)
<$codeblock language={{$tiddler$!!type}} code={{$tiddler$}}/> <$codeblock language={{$tiddler$!!type}} code={{$tiddler$}}/>
\end \end
\define tw-code-link(tiddler) \define tw-code-link(tiddler)
[[$tiddler$]]: [[$tiddler$]]&nbsp;:
<<tw-code $tiddler$>> <<tw-code $tiddler$>>
\end \end
<pre><$view field="text"/></pre>

View File

@ -0,0 +1,72 @@
caption: transclude
created: 20130824142500000
fr-title: Widget Transclude
modified: 20220418115006451
tags: Widgets
title: TranscludeWidget
type: text/vnd.tiddlywiki
! Introduction
Le Widget Transclude importe dynamiquement le contenu d'un autre tiddler.
! Attributs
|!Attribut |!Description |
|tiddler |Le titre du tiddler à transclure (par défaut le tiddler courant) |
|field |Le nom du champ du tiddler (par défaut "text"<<;>> si présent, a priorité sur l'attribut index) |
|index |L'index d'une propriété d'un [[Tiddler Data|DataTiddlers]] |
|subtiddler |Titre optionnel d'un sous-tiddler quand le tiddler cible est un [[plugin|Plugins]] (voir infra) |
|mode |Force le mode d'analyse du texte transclus à "block" ou à "inline" (voir infra) |
Le Widget Transclude traite son propre contenu comme cible par défaut si la cible de transclusion n'est pas complètement définie (ex<<:>> un tiddler ou un champ manquant)
! Modes d'analyse
<<tw>> analyse le <<fr WikiText>> dans [[deux modes|WikiText Parser Modes]]<<:>>
* le [[mode « en ligne »|Inline Mode WikiText]] (//inline//) reconnaît les formats de ''caractères'', tels que l'emphase, les liens
* le [[mode « bloc »|Block Mode WikiText]] (//block//) reconnaît tous les formats ''en ligne'', et ajoute les formats de ''blocs'' comme les tableaux, les listes et les titres
Habituellement, le mode bloc ou en ligne est déduit automatiquement du mode dans lequel le Widget Transclude lui-même a été analysé. Il peut toutefois être ajusté avec l'attribut `mode`.
Par exemple, considérons un tiddler <<gf "A">> avec ce contenu<<:>>
```
# Article un
#<$transclude tiddler="B"/>
# Article deux
```
Et un tiddler <<gf "B">> avec ce contenu<<:>>
```
# Article un - a
# Article un - b
```
Le résultat donnera quelque chose comme<<:>>
# Article un
# # Article un - a # Article un - b
# Article deux
Cela peut être corrigé en modifiant le tiddler <<gf "A">><<:>>
```
# Article un
#<$transclude tiddler="B" mode="block"/>
# Article deux
```
Voir aussi ces [[autres exemples|WikiText parser mode: transclusion examples]].
! Accès aux sous-tiddlers
Le Widget Transclude permet l'accès aux tiddlers individuels inclus dans un [[plugin|Plugins]].
L'exemple suivant transclura la version initiale du tiddler noyau [[$:/DefaultTiddlers]] même s'il a été modifié<<:>>
<<wikitext-example-without-html '
<$transclude tiddler="$:/core" subtiddler="$:/DefaultTiddlers"/>
'>>

View File

@ -1,6 +1,7 @@
caption: Citations en bloc
created: 20131206154636572 created: 20131206154636572
fr-title: Citations en bloc dans WikiText fr-title: Citations en bloc en WikiTexte
modified: 20220226225218713 modified: 20220417214816463
tags: WikiText tags: WikiText
title: Block Quotes in WikiText title: Block Quotes in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki

View File

@ -1,7 +1,7 @@
caption: Blocs de code caption: Blocs de code
created: 20141016143834720 created: 20141016143834720
fr-title: Blocs de code en WikiText fr-title: Blocs de code en WikiTexte
modified: 20220226232420710 modified: 20220420233001221
tags: WikiText tags: WikiText
title: Code Blocks in WikiText title: Code Blocks in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@ -41,4 +41,4 @@ Ce texte aura une chasse fixe et ne sera pas &#96;formaté&#96;.
&#96;&#96;&#96; &#96;&#96;&#96;
</pre> </pre>
Certains claviers traitent le backtick comme une [[touche morte|http://fr.wikipedia.org/wiki/Touche_morte]], le rendant difficile à taper. L'astuce est de taper 3 <code>&#96;</code> suivis d'un espace. Une autre méthode consiste à taper 6 <code>&#96;</code> d'affilée, puis de bouger le curseur en arrière trois fois pour taper ou coller le contenu du bloc. Certains claviers traitent l'accent grave comme une [[touche morte|http://fr.wikipedia.org/wiki/Touche_morte]], le rendant difficile à saisir tout seul. L'astuce consiste à saisir 3 <code>&#96;</code> suivis d'un espace. Une autre méthode consiste à saisir 6 <code>&#96;</code> d'affilée, puis de bouger le curseur en arrière trois fois pour saisir ou coller le contenu du bloc.

View File

@ -1,12 +1,12 @@
caption: Tirets caption: Tirets
created: 20141016153634338 created: 20141016153634338
modified: 20141116092606603 fr-title: Tirets en WikiTexte
modified: 20220422135611636
tags: WikiText tags: WikiText
title: Dashes in WikiText title: Dashes in WikiText
fr-title: Tirets en WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
Les [[tirets|Tirets]] se font avec : En <<fr WikiText>>, les [[tirets|Tirets]] se font avec :
* deux caractères "moins" `--` pour le tiret moyen ou semi-cadratin : -- * deux caractères "moins" `--` pour le tiret moyen ou semi-cadratin : --
* trois caractères "moins" `---` pour le tiret long ou cadratin : --- * trois caractères "moins" `---` pour le tiret long ou cadratin : ---

View File

@ -1,7 +1,7 @@
caption: Définitions caption: Définitions
created: 20131205160424246 created: 20131205160424246
fr-title: Définitions dans WikiText fr-title: Définitions en WikiTexte
modified: 20150601094201146 modified: 20220422000443083
tags: WikiText tags: WikiText
title: Definitions in WikiText title: Definitions in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki

View File

@ -1,12 +1,12 @@
caption: Formatage caption: Formatage
created: 20141016142259705 created: 20141016142259705
fr-title: Mise en forme avec WikiText fr-title: Mise en forme en WikiTexte
modified: 20220226233811803 modified: 20220420234926288
tags: WikiText tags: WikiText
title: Formatting in WikiText title: Formatting in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
Voici les formatages de caractères disponibles en [[WikiTexte|WikiText]]<<:>> Voici les formats de caractères disponibles en <<fr WikiText>><<:>>
|Format |Résultat |Icône |h |Format |Résultat |Icône |h
|<code>&#96;code&#96;</code><br><code>&#96;&#96;code contenant du &#96;code&#96; &#96;&#96;</code> |`code`<br>``code contenant du `code` `` |<<.icon $:/core/images/mono-line>> | |<code>&#96;code&#96;</code><br><code>&#96;&#96;code contenant du &#96;code&#96; &#96;&#96;</code> |`code`<br>``code contenant du `code` `` |<<.icon $:/core/images/mono-line>> |
@ -17,7 +17,6 @@ Voici les formatages de caractères disponibles en [[WikiTexte|WikiText]]<<:>>
|`^^exposant^^` |texte en ^^exposant^^ |<<.icon $:/core/images/superscript>> | |`^^exposant^^` |texte en ^^exposant^^ |<<.icon $:/core/images/superscript>> |
|`,,indice,,` |texte en ,,indice,, |<<.icon $:/core/images/subscript>> | |`,,indice,,` |texte en ,,indice,, |<<.icon $:/core/images/subscript>> |
Voir aussi<<:>> [[WikiTexte : blocs de code|Code Blocks in WikiText]] Voir aussi<<:>> <<fr "Code Blocks in WikiText">>
; Remarque <<.tip """Dans l'exemple de <code>&#96;&#96;code contenant du &#96;code&#96; &#96;&#96;</code>, notez qu'à la fin, l'espace entre le <code>&#96;</code> et les <code>&#96;&#96;</code> est obligatoire.""">>
: Si le code inclus est à la fin du code contenant, l'espace entre le <code>&#96;</code> et les <code>&#96;&#96;</code> est nécessaire.

View File

@ -1,6 +1,7 @@
caption: Fins de lignes forcées
created: 20141017123553069 created: 20141017123553069
fr-title: Fins de Ligne fr-title: Fins de lignes forcées en WikiTexte
modified: 20150623065025718 modified: 20220422010528643
tags: WikiText tags: WikiText
title: Hard Linebreaks in WikiText title: Hard Linebreaks in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@ -13,7 +14,7 @@ Ce comportement n'est pas pratique pour du texte qui intègre des retours à la
Un bloc de contenu délimité par trois caractères "guillemets doubles" `"""` permet d'indiquer que les fins de ligne doivent y être forcées : Un bloc de contenu délimité par trois caractères "guillemets doubles" `"""` permet d'indiquer que les fins de ligne doivent y être forcées :
<<wikitexte-exemple '""" <<wikitext-example-without-html '"""
Ceci est une ligne Ceci est une ligne
et ceci est une nouvelle ligne et ceci est une nouvelle ligne
tandis que cela est encore une autre ligne tandis que cela est encore une autre ligne
@ -29,9 +30,9 @@ excepté celle-ci
Les fins de lignes ne devraient pas être forcées dans un texte courant, car cela peut déformer l'affichage sur des terminaux mobiles. Les fins de lignes ne devraient pas être forcées dans un texte courant, car cela peut déformer l'affichage sur des terminaux mobiles.
Cependant, dans des cas exceptionnels, la balise [[HTML|WikiTexte : HTML]] `<br>` peut être utilisée pour revenir à la ligne sans créer de nouveau paragraphe : Cependant, dans des cas exceptionnels, la balise [[HTML|HTML in WikiText]] `<br>` peut être utilisée pour revenir à la ligne sans créer de nouveau paragraphe :
<<wikitexte-exemple "Ceci est une première ligne.<br> <<wikitext-example-without-html "Ceci est une première ligne.<br>
Ceci est une deuxième ligne.<br>Et cela est une troisième ligne.">> Ceci est une deuxième ligne.<br>Et cela est une troisième ligne.">>
; Remarque ; Remarque

View File

@ -1,14 +1,14 @@
caption: Titres de rubriques caption: Titres de rubriques
created: 20141017093039992 created: 20141017093039992
fr-title: Titres de rubriques dans WikiText fr-title: Titres de rubriques en WikiTexte
modified: 20220226234057628 modified: 20220422010744063
tags: WikiText tags: WikiText
title: Headings in WikiText title: Headings in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
Un titre de rubrique est codé par un à 6 caractères <<gf "point d'exclamation">> `!` au début d'une ligne<<:>> Un titre de rubrique est codé par un à 6 caractères <<gf "point d'exclamation">> `!` au début d'une ligne<<:>>
<<wikitexte-exemple "! Titre de niveau 1 <<wikitext-example-without-html "! Titre de niveau 1
!! Titre de niveau 2 !! Titre de niveau 2
!!! Titre de niveau 3 !!! Titre de niveau 3
!!!! Titre de niveau 4 !!!! Titre de niveau 4
@ -17,6 +17,6 @@ Un titre de rubrique est codé par un à 6 caractères <<gf "point d'exclamation
Des [[styles et des classes CSS|Styles and Classes in WikiText]] peuvent être assignés individuellement aux titres : Des [[styles et des classes CSS|Styles and Classes in WikiText]] peuvent être assignés individuellement aux titres :
<<wikitexte-exemple "!! Titre <<wikitext-example-without-html "!! Titre
!!@@background-color:#00ffff; Titre stylisé@@ !!@@background-color:#00ffff; Titre stylisé@@
!!.monStyle Titre stylisé avec une classe">> !!.monStyle Titre stylisé avec une classe">>

View File

@ -0,0 +1,17 @@
caption: Ligne horizontale
created: 20141017091105859
fr-title: Lignes horizontales en WikiTexte
modified: 20220421000313978
tags: WikiText
title: Horizontal Rules in WikiText
type: text/vnd.tiddlywiki
Vous pouvez insérer une ligne horizontale à l'aide d'une série d'au moins trois tirets tout seuls sur une ligne<<:>>
<<wikitext-example-without-html "Paragraphe précédent.
---
Paragraphe suivant.">>
; Remarque
* La ligne vide avant les `---` est nécessaire pour que la ligne horizontale soit interprétée correctement, et pas comme un [[tiret|Dashes in WikiText]].

View File

@ -1,14 +1,14 @@
caption: Listes caption: Listes
created: 20131205160257619 created: 20131205160257619
fr-title: Les listes de WikiText fr-title: Listes en WikiTexte
modified: 20150601074427119 modified: 20220417215924211
tags: WikiText tags: Lists WikiText
title: Lists in WikiText title: Lists in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
! Listes non-ordonnées ! Listes à puces
Vous pouvez créer des listes non ordonnées en préfixant du caractère `*`<<:>> Vous pouvez créer des listes à puces à l'aide du caractère `*` (<<.icon $:/core/images/list-bullet>>)<<:>>
<<wikitext-example src:"* Premier élément d'une liste <<wikitext-example src:"* Premier élément d'une liste
* Deuxième éléments d'un liste * Deuxième éléments d'un liste
@ -18,28 +18,28 @@ Vous pouvez créer des listes non ordonnées en préfixant du caractère `*`<<:>
! Listes ordonnées ! Listes ordonnées
Les listes ordonnées utilisent `#` au lieu de `*`: Les listes ordonnées utilisent `#` au lieu de `*` (<<.icon $:/core/images/list-number>>)<<:>>
<<wikitext-example src:"# Premier élément <<wikitext-example src:"# Premier élément
# Deuxième élément # Deuxième élément
# Troisième élément # Troisième élément
">> ">>
Vous pouvez combiner des listes non-ordonnées et des listes ordonnées&nbsp;: Vous pouvez combiner des listes à puces et des listes ordonnées&nbsp;:
<<wikitext-example src:"* À faire ce jour <<wikitext-example src:"* À faire ce jour
*# Manger *# Manger
* Chercher qlq chose à faire * À faire faire
*# Ceci *# Ceci
*# Cela *# Cela
*## Et le reste *## Et le reste
">> ">>
L'exemple inverse, avec les nombres en premier niveau&nbsp;: L'exemple inverse, avec les nombres en premier niveau<<:>>
<<wikitext-example src:"# À faire ce jour <<wikitext-example src:"# À faire ce jour
#* Manger #* Manger
# Chercher qlq chose à faire # À faire faire
#* Ceci #* Ceci
#* Cela #* Cela
#** Et le reste #** Et le reste
@ -47,16 +47,16 @@ L'exemple inverse, avec les nombres en premier niveau&nbsp;:
! Les classes CSS ! Les classes CSS
Vous pouvez affecter une classe CSS à un des membres de la liste en procédant ainsi&nbsp;: Vous pouvez affecter une classe CSS à l'un des membres de la liste en procédant ainsi<<:>>
<<wikitext-example src:"* Liste Un <<wikitext-example src:"* Liste Un
*.MyClass Liste Deux *.MaClasse Liste Deux
* Liste Trois * Liste Trois
">> ">>
! Combiner listes et blocs ! Combiner listes et citations en blocs
Noter que [[les blocs avec WikiText]] peuvent être mixés aux listes. Par exemple<<:>> Noter que les <<fr "Block Quotes in WikiText">> peuvent être combinées aux listes. Par exemple<<:>>
<<wikitext-example src:"* Liste Une <<wikitext-example src:"* Liste Une
** Liste deux ** Liste deux
@ -67,9 +67,9 @@ Noter que [[les blocs avec WikiText]] peuvent être mixés aux listes. Par exemp
! Les paragraphes dans les listes ! Les paragraphes dans les listes
Les entrées d'une liste sont séparées par des sauts de ligne, rendant impossible d'y inclure des sauts de lignes, sans passer à l'entrée suivante. Il y a deux façons de passer outre. Les entrées d'une liste sont séparées par des sauts de ligne, rendant impossible d'y inclure des sauts de lignes sans passer à l'entrée suivante. Deux contournements sont possibles.
En un, vous pouvez transclure dans le paragraphe le contenu d'un autre tiddler. Par exemple&nbsp;: En un, vous pouvez transclure dans le paragraphe le contenu d'un autre tiddler. Par exemple<<:>>
``` ```
* Première entrée * Première entrée
@ -77,14 +77,14 @@ En un, vous pouvez transclure dans le paragraphe le contenu d'un autre tiddler.
* Troisième * Troisième
``` ```
En deux, vous pouvez utiliser le tag HTML "div" pour inclure un contenu multiligne. Par exemple&nbsp;: En deux, vous pouvez utiliser la balise HTML "div" pour inclure un contenu multiligne. Par exemple<<:>>
``` ```
# Étape 1 # Étape 1
# Étape 2 # Étape 2
# Étape 3<div> # Étape 3<div>
Ici, le premier parmi plusieurs paragraphes. Noter que le double saut de ligne précédant ce paragraphe est pris en compte. Ici, le premier parmi plusieurs paragraphes. Notez que le double saut de ligne précédant ce paragraphe est pris en compte.
Et ici, le deuxième parmi plusieurs paragraphes. Et ici, le deuxième parmi plusieurs paragraphes.
</div> </div>

View File

@ -0,0 +1,27 @@
caption: Appel de Macro
created: 20150220182252000
fr-title: Appel de macro en WikiTexte
modified: 20220422225844802
tags: WikiText
title: Macro Calls in WikiText
type: text/vnd.tiddlywiki
Pour appeler une [[macro|Macros]], placez des `<<`doubles parenthèses en équerre`>>` autour de son nom et des valeurs de ses paramètres. ex<<:>> `<<maMacro val1 val2 ... valn>>`
Par défaut, les paramètres sont passés dans l'ordre fixé lors de la définition de la macro. Un paramètre peut être identifié par son nom, pour plus de clarté ou pour pouvoir les utiliser dans le désordre.
Si aucune valeur n'est fournie pour un paramètre, la valeur par défaut fixée lors de la définition de la macro est utilisée (si aucune valeur par défaut n'est définie, le paramètre est tout simplement vide).
Chaque valeur de paramètre peut être délimitée par des `'`simples cotes`'`, des `"`doubles cotes`"`, des `"""`doubles cotes triplées`"""` ou des `[[`doubles crochets`]]`. Les doubles cotes triplées permettent de passer à peu près toutes les valeurs. Si une valeur ne contient ni espace, ni simple ou double cotes, les délimiteurs sont inutiles.
Une [[description|Macro Call Syntax]] plus formelle de cette syntaxe est aussi disponible.
Cette syntaxe est une forme abrégée du widget <<.wlink MacroCallWidget>>. Le widget en lui-même permet une plus grande flexibilité, incluant la capacité de [[transclure|Transclusion]] des valeurs de paramètres ou de les générer via des macros additionnelles.
Comme les macros sont de simples [[variables|Variables]] paramétrées, des valeurs de variables peuvent être insérées en faisant appel aux mêmes techniques.
[[Des exemples|Macro Calls in WikiText (Examples)]] et [[d'autres exemples|WikiText parser mode: macro examples]] sont à votre disposition.
!! Paramètres nommés ou anonymes
En <<fr WikiText>>, nommer les paramètres lors de l'appel aux macros est toujours le choix le plus sûr par rapport à l'utilisation de valeurs anonymes. Ne pas utiliser le nom des paramètres peut avoir des effets indésirables perturbants. Imaginez par exemple que le premier paramètre d'une macro serve à spécifier le nom d'un [[tiddler d'état|StateMechanism]], et que le second soit destiné à préciser un [[tiddler gabarit|Transclusion with Templates]]. Si vous deviez par mégarde oublier de définir la valeur du premier paramètre ou vous tromper dans l'ordre des paramètres, au prochain appel de la macro (qui pourrait même avoir lieu en prévisualisant votre tiddler) votre gabarit pourrait être malencontreusement écrasé avec le contenu destiné au tiddler d'état.

View File

@ -1,24 +1,25 @@
caption: Paragraphes
created: 20141017122121853 created: 20141017122121853
modified: 20141116092111983 fr-title: Paragraphes en WikiTexte
modified: 20220422011108016
tags: WikiText tags: WikiText
title: Paragraphs in WikiText title: Paragraphs in WikiText
fr-title: Paragraphes
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
Pour marquer la fin d'un paragraphe, il faut appuyer deux fois sur la touche `Entrée` pour créer deux retours à la ligne : Pour marquer la fin d'un paragraphe, il faut appuyer deux fois sur la touche `Entrée` pour créer deux retours à la ligne<<:>>
<<wikitexte-exemple "Ceci est un premier paragraphe. <<wikitext-example-without-html "Ceci est un premier paragraphe.
Et ceci est un deuxième paragraphe.">> Et ceci est un deuxième paragraphe.">>
; Remarque ; Remarque
* Peu importe le nombre de retours à la lignes supplémentaires, l'espacement entre les paragraphes reste le même. * Peu importe le nombre de retours à la lignes supplémentaires, l'espacement entre les paragraphes reste le même.
Au sein d'un paragraphe, un retour à la ligne seul est ignoré : Au sein d'un paragraphe, un retour à la ligne seul est ignoré<<:>>
<<wikitexte-exemple "Ceci est un <<wikitext-example-without-html "Ceci est un
paragraphe constitué paragraphe constitué
de plusieurs de plusieurs
lignes courtes.">> lignes courtes.">>
Pour les situations où ce comportement n'est pas pratique, voir aussi : [[WikiTexte : Fin de ligne|Hard Linebreaks in WikiText]]. Pour les situations où ce comportement n'est pas pratique, voir aussi<<:>> <<fr "Hard Linebreaks in WikiText">>.

View File

@ -0,0 +1,69 @@
caption: Tableaux
created: 20130914132100000
fr-title: Tableaux en WikiTexte
modified: 20220422134839855
tags: WikiText
title: Tables in WikiText
type: text/vnd.tiddlywiki
! Concepts de base
TiddlyWiki5 forme les tableaux au moyen du signe barre verticale `|`, de cette façon<<:>>
```
|!Cell1 |!Cell2 |
|Cell3 |Cell4 |
```
Le point d'exclamation marque les cellules d'entête<<:>>
|!Cell1 |!Cell2 |
|Cell3 |Cell4 |
! L'alignement horizontal
Lalignement horizontal des cellules du tableau est contrôlé par l'insertion d'un espace avant/après le contenu de la cellule. Par exemple:
<<wikitext-example-without-html
"""|Contenu aligné à gauche |
| Contenu aligné à droite|
| Contenu centré |
|+++ Une très grande cellule pour vous montrer l'alignement dans la colonne +++|""">>
! L'alignement vertical
Lalignement vertical des cellules du tableau est contrôlé par l'insertion, comme premier caractère de la cellule, soit d'un `^` pour un alignement en haut ou un `,` pour un alignement en bas. La combinaison avec l'alignement horizontal reste valable.
Exemple<<:>>
<<wikitext-example-without-html
"""| ::<br>:: |^haut gauche |^ haut centré |^ haut droit|
| ::<br>::<br>:: |milieu gauche | milieu centré | milieu droit|
| ::<br>::|,bas gauche |, bas centré |, bas droit|""">>
Si vous voulez afficher un `^`ou un `,` comme premier caractère d'une cellule alignée à gauche, vous devez utiliser la technique de l'<<gf "échappement html">>. Voir, à ce sujet<<:>> <<fr "Formatting in WikiText">>.
| `^` | &amp;#94; |
| `,` | &amp;#44; |
! La fusion des cellules
Pour fusionner le contenu de la cellule située au dessus utiliser `~`. Pour fusionner avec celle de gauche `<` et `>` pour celle de droite. Par exemple<<:>>
<<wikitext-example-without-html
"""|Cell1 |Cell2 |Cell3 |Cell4 |
|Cell5 |Cell6 |Cell7 |<|
|Cell5 |~|Cell7 |Cell8 |
|>|Cell9 |Cell10 |Cell11 |""">>
! Classes de tableau, légendes, en-têtes et pieds de tableau
Des classes CSS, des légendes, des en-têtes et pieds de tableau peuvent être spécifiés comme pseudo-lignes spéciales<<:>>
<<wikitext-example-without-html
"""|maclasse autreClass|k
|Ceci est une légende |c
|Cell1 |Cell2 |
|Cell3 |Cell4 |
|Entête|Entête|h
|Pied|Pied|f""">>

View File

@ -0,0 +1,61 @@
created: 20141018090608643
fr-title: Transclusion et substitution
modified: 20220419002739469
tags: WikiText
title: Transclusion and Substitution
type: text/vnd.tiddlywiki
La puissance du <<fr WikiText>> vient de sa capacité à utiliser le contenu d'un tiddler dans un autre. Cette capacité prend plusieurs formes qu'on peut facilement confondre.
La principale différence réside entre la transclusion et la substitution de texte<<:>>
* Une transclusion est remplacée dynamiquement avec l'une ou l'autre de ces valeurs<<:>>
** un champ de tiddler
** une variable
* Une substitution de texte est réalisée dans le texte de la définition de la macro avant son utilisation.
! Transclusion de champ de tiddler
<<fr "Transclusion in WikiText">> décrit les bases de la transclusion. Par exemple<<:>>
```
{{MonTiddler}}
```
Comme décrit dans <<fr "HTML in WikiText">>, vous pouvez aussi transclure des valeurs de champs de tiddlers dans des attributs de balises HTML et de widgets. Par exemple<<:>>
```
<$text text={{MonTiddler}}/>
```
Comme décrit dans <<fr "Introduction to filter notation">>, vous pouvez aussi transclure des valeurs de champs de tiddlers dans des opérandes de filtres. Par exemple<<:>>
```
{{{ [tag{TiddlerContenantMonTag}] }}}
```
! Transclusion de variable/macro
Les définitions de variables qui comportent des paramètres ou des substitutions sont nommées des <<gf macros>>. Vous pouvez transclure la valeur d'une variable/macro grâce à la syntaxe<<:>>
```
<<maMacro param:"Valeur d'attribut">>
```
Comme décrit dans <<fr "HTML in WikiText">>, vous pouvez aussi transclure des valeurs de variables dans des attributs de balises HTML et de widgets. Par exemple<<:>>
```
<$text text=<<myMacro>>/>
```
Comme décrit dans <<fr "Introduction to filter notation">>, vous pouvez aussi transclure des valeurs de variables dans des opérandes de filtres. Par exemple<<:>>
```
{{{ [tag<maMacro>] }}}
```
! Substitution de texte
La substitution de texte a lieu quand la valeur d'une macro/variable est utilisée. Ce mécanisme est décrit dans <<fr "Macros in WikiText">>.
La différence principale entre la substitution et la transclusion est que la substitution a lieu ''avant'' l'analyse du <<fr WikiText>>, ce qui signifie que vous pouvez utiliser la substitution pour construire des assemblages de <<fr WikiText>>. Au contraire, les transclusions sont traitées indépendamment et ne peuvent pas être combinées avec du texte adjacent pour construire des assemblages de <<fr WikiText>>.

View File

@ -1,31 +1,31 @@
caption: Transclusion caption: Transclusion
created: 20131205160146648 created: 20131205160146648
fr-title: Transclusion grâce à WikiText fr-title: Transclusion en WikiTexte
modified: 20150622084011069 modified: 20220417223717492
tags: WikiText tags: WikiText
title: Transclusion in WikiText title: Transclusion in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
! Introduction ! Introduction
Vous pouvez insérer le contenu d'un tiddler dans un autre en utilisant les marques de transclusion&nbsp;: Vous pouvez insérer le contenu d'un tiddler dans un autre en utilisant les marques de <<fr Transclusion>><<:>>
* `{{MonTiddler}}` transclut un seul tiddler * `{{MonTiddler}}` transclut un seul tiddler
* `{{MonTiddler||TitreDuGabarit}}` affiche un tiddler via un format spécifié par un [[Gabarit de Tiddler|TemplateTiddlers]] * `{{MonTiddler||TitreDuGabarit}}` affiche un tiddler via un format spécifié par un [[Gabarit de Tiddler|TemplateTiddlers]]
* `{{||TitreDuGabarit}}` affiche le [[Tiddler en cours|currentTiddler Variable]] par le gabarit spécifié sans l'altérer * `{{||TitreDuGabarit}}` affiche le gabarit spécifié sans altérer le [[Tiddler en cours|currentTiddler Variable]]
!! Transclure les Références de Texte !! Transclure les Références de Texte
Vous pouvez aussi utiliser une [[Référence de Texte|TextReference]] à la place du titre d'un tiddler&nbsp;: Vous pouvez aussi utiliser une [[Référence de Texte|TextReference]] à la place du titre d'un tiddler<<:>>
* `{{MonTiddler!!champ}}` transclut un champ spécifique d'un tiddler quelconque * `{{MonTiddler!!champ}}` transclut un champ spécifique d'un tiddler quelconque
* `{{!!champ}}` transclut le champ spécifique du tiddler courant * `{{!!champ}}` transclut le champ spécifique du tiddler courant
* `{{MonTiddler##index}}` transclut une propriété indexée spécifique d'un [[Tiddler Data|DataTiddlers]] * `{{MonTiddler##index}}` transclut une propriété indexée spécifique d'un [[Tiddler Data|DataTiddlers]]
* `{{##index}}` transclut une propriété indéxée spécifique du [[Tiddler Data|DataTiddlers]] courant * `{{##index}}` transclut une propriété indéxée spécifique du [[Tiddler Data|DataTiddlers]] courant
!! Transclusion Filtrées !! Transclusion Filtrée
Une syntaxe similaire peut être mise en œuvre pour transclure une liste de tiddler selon des critères particuliers définis par un&nbsp;[[Filtre|Filters]] &nbsp;: Une syntaxe similaire peut être mise en œuvre pour transclure une liste de tiddlers définie par un [[filtre|Filters]]<<:>>
``` ```
{{{ [tag[mécanisme]] }}} {{{ [tag[mécanisme]] }}}
@ -34,7 +34,7 @@ Une syntaxe similaire peut être mise en œuvre pour transclure une liste de tid
! Widgets Générés ! Widgets Générés
La syntaxe de transclusion de [[WikiTexte|WikiText]] génère un TiddlerWidget enveloppé dans un TranscludeWidget. Par exemple, `{{MonTiddler||MonGabarit!!monChamp}}` génère cette paire de widgets: La syntaxe de transclusion en <<fr WikiText>> génère un <<fr TiddlerWidget>> enveloppé dans un <<fr TranscludeWidget>>. Par exemple, `{{MonTiddler||MonGabarit!!monChamp}}` génère cette paire de widgets<<:>>
{{MonTiddler||MonGabarit!!monChamp}} {{MonTiddler||MonGabarit!!monChamp}}
@ -46,8 +46,9 @@ La syntaxe de transclusion de [[WikiTexte|WikiText]] génère un TiddlerWidget e
Voir Aussi&nbsp;: Voir Aussi&nbsp;:
* [[Transclusion, Utilisation basique|Transclusion Basic Usage]] * <<fr "Transclusion Basic Usage">>
* [[Transclusion par Gabarits|Transclusion with Templates]] * <<fr "Transclusion with Templates">>
* [[Tiddlers Gabarits|TemplateTiddlers]] * <<fr "TemplateTiddlers">>
* [[Widget Transclude|TranscludeWidget]] * <<fr "TranscludeWidget">>
* [[Transclusion and Substitution]] * <<fr "Transclusion and Substitution">>
* <<fr "WikiText parser mode: transclusion examples">>

View File

@ -1,6 +1,7 @@
caption: Par Gabarits
created: 20141129210304238 created: 20141129210304238
fr-title: Transclusion par gabarits fr-title: Transclusion par gabarits
modified: 20150624091314988 modified: 20220417224336239
tags: [[Transclusion in WikiText]] tags: [[Transclusion in WikiText]]
title: Transclusion with Templates title: Transclusion with Templates
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki

View File

@ -1,12 +1,12 @@
caption: Blocs typés caption: Blocs typés
created: 20131205161051792 created: 20131205161051792
fr-title: Les blocs typés avec WikiText fr-title: Blocs typés en WikiTexte
modified: 20150601071506502 modified: 20220422133134883
tags: WikiText tags: WikiText
title: Typed Blocks in WikiText title: Typed Blocks in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
WikiText peut inclure des blocs de textes qui seront renvoyés avec un contenu lié à leur &nbsp;ContentType, comme cela&nbsp;: Le <<fr WikiText>> peut inclure des blocs de texte qui seront interprétés selon le type de leur contenu, aussi appelé <<gf "type MIME">>. Ces blocs sont déclarés ainsi<<:>>
``` ```
$$$image/svg+xml $$$image/svg+xml
@ -15,8 +15,7 @@ $$$image/svg+xml
</svg> </svg>
$$$ $$$
``` ```
affichera ceci<<:>>
Ce qui affichera&nbsp;::
$$$image/svg+xml $$$image/svg+xml
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="100"> <svg xmlns="http://www.w3.org/2000/svg" width="150" height="100">
@ -24,7 +23,8 @@ $$$image/svg+xml
</svg> </svg>
$$$ $$$
Il est aussi possible d'abréger la déclaration du ContentType par son extension. Exemple&nbsp;:
Il est aussi possible de remplacer la déclaration du type de contenu par l'extension de fichier correspondante. Exemple<<:>>
``` ```
$$$.svg $$$.svg
@ -34,7 +34,7 @@ $$$.svg
$$$ $$$
``` ```
Ce qui affichera&nbsp;: affichera ceci<<:>>
$$$.svg $$$.svg
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="100"> <svg xmlns="http://www.w3.org/2000/svg" width="150" height="100">
@ -42,7 +42,7 @@ $$$.svg
</svg> </svg>
$$$ $$$
Les types inconnus s'afficheront comme du texte brut&nbsp;: Les types inconnus s'afficheront comme du texte brut<<:>>
``` ```
$$$text/unknown $$$text/unknown
@ -50,30 +50,35 @@ Du texte brut, qui ne sera pas //mis en forme//.
$$$ $$$
``` ```
Ce qui affichera&nbsp;: affichera ceci<<:>>
$$$text/unknown $$$text/unknown
Du texte brut, qui ne sera pas //mis en forme//. Du texte brut, qui ne sera pas //mis en forme//.
$$$ $$$
Un rendu spécifique peut-être indiqué, déterminant l'affichage d'un rendu de texte particulier. Par exemple&nbsp;: Un format de rendu peut être indiqué en complément, qui sélectionnera un format différent pour le résultat. Par exemple<<:>>
``` ```
$$$text/vnd.tiddlywiki>text/html $$$text/vnd.tiddlywiki>text/html
Ceci est un ''peu'' de wikitext Ceci est un ''peu'' de wikitext
$$$ $$$
```
et
```
$$$text/vnd.tiddlywiki>text/plain $$$text/vnd.tiddlywiki>text/plain
Ceci est un ''peu'' de wikitext Ceci est un ''peu'' de wikitext
$$$ $$$
``` ```
Afficheront respectivement&nbsp;: afficheront respectivement<<:>>
$$$text/vnd.tiddlywiki>text/html $$$text/vnd.tiddlywiki>text/html
Ceci est un ''peu'' de wikitext Ceci est un ''peu'' de wikitext
$$$ $$$
et<<:>>
$$$text/vnd.tiddlywiki>text/plain $$$text/vnd.tiddlywiki>text/plain
Ceci est un ''peu'' de wikitext Ceci est un ''peu'' de wikitext
$$$ $$$

View File

@ -1,7 +1,7 @@
caption: Variables caption: Variables
created: 20141002141231992 created: 20141002141231992
fr-title: Les variables dans WikiTexte fr-title: Les variables en WikiTexte
modified: 20150619174321458 modified: 20220422140804855
tags: WikiText tags: WikiText
title: Variables in WikiText title: Variables in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@ -10,10 +10,9 @@ Voir aussi une [[introduction au concept de variables|Variables]].
Pour transclure la valeur d'une variable, utilisez la [[syntaxe d'appel de macro|Macro Calls in WikiText]] sans paramètres. Vous pouvez aussi utiliser un widget <<.wlink MacroCallWidget>>. Pour transclure la valeur d'une variable, utilisez la [[syntaxe d'appel de macro|Macro Calls in WikiText]] sans paramètres. Vous pouvez aussi utiliser un widget <<.wlink MacroCallWidget>>.
Le code d'une [[macro|Macros]] snippet peut contenir une [[zoneréservée|Macro Definitions in WikiText]] `$(name)$` où la valeur d'une variable sera substituée à son nom. Le ''code de définition'' d'une [[macro|Macros]] peut contenir une [[ZoneRéservée|Macro Definitions in WikiText]] `$(nom)$` où la valeur d'une variable remplacera son nom.
La valeur d'une variable peut être utilisée comme [[paramètre de filtre|Filter Parameter]], ou comme [[attribut de widget|Widgets in WikiText]]. La valeur d'une variable peut être utilisée comme [[paramètre de filtre|Filter Parameter]], ou comme [[attribut de widget|Widgets in WikiText]]. Ce dernier cas prend en charge les paramètres de macro.
Ce dernier prenant en charge les paramètres de macro.
!! Exemple<<:>> définition d'une variable !! Exemple<<:>> définition d'une variable
@ -22,9 +21,9 @@ eg="""<$set name=animal value=zèbre>
<<animal>> <<animal>>
</$set>"""/> </$set>"""/>
!! Exemple: définition d'une macro !! Exemple<<:>> définition d'une macro
Le pragma `\define` çi-après [[définit une macro|Macros in WikiText]] nommée <<.var tags>>. La macro renvoie la valeur du champ <<.field tags>> du tiddler, et peut être appelé partout dans le tiddler (ou dans tout tiddler qui l'[[importe|ImportVariablesWidget]]). Le pragma `\define` ci-dessous [[définit une macro|Macros in WikiText]] nommée <<.var tags-of-current-tiddler>>. La macro renvoie la valeur du champ <<.field tags>> du tiddler, et peut être appelé partout dans le tiddler (ou dans tout tiddler qui l'[[importe|ImportVariablesWidget]]).
<$importvariables filter="$:/editions/tw5.com/macro-examples/tags-of-current-tiddler"> <$importvariables filter="$:/editions/tw5.com/macro-examples/tags-of-current-tiddler">
<$codeblock code={{$:/editions/tw5.com/macro-examples/tags-of-current-tiddler}}/> <$codeblock code={{$:/editions/tw5.com/macro-examples/tags-of-current-tiddler}}/>
@ -33,6 +32,6 @@ Le pragma `\define` çi-après [[définit une macro|Macros in WikiText]] nommée
!! Exemple<<:>> utilisation de variables comme paramètres de filtre !! Exemple<<:>> utilisation de variables comme paramètres de filtre
Cet exemple utilise l'[[opérateur|Filter Operators]] <<.olink backlinks>> pour lister tous les tiddlers liés à celui-çi. Cet exemple utilise l'[[opérateur|Filter Operators]] <<.olink backlinks>> pour lister tous les tiddlers contenant des liens vers celui-ci.
<$macrocall $name=".example" n="3" eg="""<<list-links filter:"[<currentTiddler>backlinks[]]">>"""/> <$macrocall $name=".example" n="3" eg="""<<list-links filter:"[<currentTiddler>backlinks[]]">>"""/>

View File

@ -0,0 +1,30 @@
caption: Widgets
created: 20131205160840915
fr-title: Widgets en WikiTexte
modified: 20220422141848039
tags: WikiText
title: Widgets in WikiText
type: text/vnd.tiddlywiki
Les widgets enrichissent les fonctionnalités du <<fr WikiText>>. Ils ont la même syntaxe que les [[éléments HTML|HTML in WikiText]], mais leur nom de balise commence toujours par `$`. Par exemple<<:>>
```
<$button message="tm-close-tiddler">Fermez Moi !</$button>
```
Notez que les widgets héritent de toutes les caractéristiques du <<fr "HTML in WikiText">><<:>>
* Les attributs des widgets peuvent être spécifiés via<<:>>
** Des chaînes non-cotées (si elles ne contiennent pas d'espace)
** Des chaînes cotées par simple `'` ou double `"` cotes
** Des chaînes cotées par des doubles cotés triplées `"""`
** Des appels de Macro (c-à-d `attr=<<maMacro>>`)
** Des transclusions (eg, `attr={{MonTiddler!!champ}}`)
* Le contenu d'un widget est [[analysé|WikiText Parser Modes]] en [[mode en ligne|Inline Mode WikiText]] sauf si la balise d'ouverture est suivie par deux sauts de ligne, ce qui force le [[mode bloc|Block Mode WikiText]].
** Le [[mode en ligne|Inline Mode WikiText]] signifie que les règles d'analyse en [[mode bloc|Block Mode WikiText]] comme les rubriques, les tables, les listes, ... ne sont pas reconnues.
Voir <<fr "HTML in WikiText">> pour plus de détails.
Les widgets disponibles incluent<<:>>
<<list-links "[tag[Widgets]]">>

View File

@ -0,0 +1,52 @@
created: 20220115152811251
fr-title: WikiTexte en mode bloc (exemples)
modified: 20220422215120630
tags: [[Block Mode WikiText]]
title: Block Mode WikiText (Examples)
type: text/vnd.tiddlywiki
Les [[paragraphes|Paragraphs in WikiText]] sont la forme la plus courante de <<fr WikiText>>. Il est important de comprendre qu'ils ne se terminent pas avant d'avoir rencontré une ligne vide. Dès qu'un paragraphe commence, l'interpréteur passe en ''mode en ligne''. Jusqu'à ce que cette ligne vide soit rencontrée, les syntaxes de <<fr WikiText>> en ''mode bloc'' sont ignorées<<:>>
<<<
<<wikitext-example-without-html src:'Voici un paragraphe.
Seule la syntaxe du __//mode en ligne//__ est reconnue ici.
La syntaxe du mode bloc est <b>ignorée</b> entre le début
et la fin du paragraphe (c-à-d la prochaine ligne vide).
Par exemple :
* Les listes sont ignorées
* Tout comme cette ligne horizontale<<:>>
---
|les tableaux|sont|ignorés|
! les titres sont ignorés
<<<
les citations multi-lignes sont ignorées
<<<
'>>
<<<
Pour que le <<fr WikiText>> en mode bloc soit reconnu, il faut insérer une ligne vide après la ligne <<gf "Par exemple :">>. La ligne vide constituera une fin de paragraphe, et l'interpréteur commencera à reconnaître la syntaxe du mode bloc à nouveau. Comme ceci<<:>>
<<<
<<wikitext-example-without-html src:'Voici un paragraphe.
Seule la syntaxe du __//mode en ligne//__ est reconnue ici.
La syntaxe de mode bloc est <b>ignorée</b> entre le début
et la fin du paragraphe (c-à-d la prochaine ligne vide).
Par exemple, voici une ligne vide :
* grâce à la ligne vide ci-dessus,
* les listes fonctionnent
* Tout comme cette ligne horizontale<<:>>
---
|!les tableaux|!fonctionnent|
|cellule 1| cellule 2|
! les titres fonctionnent
<<<
les citations multi-lignes fonctionnent
<<<
; Terme
: Définition de ce terme
Un autre paragraphe peut commencer ici, mais il ne finira pas avant une ligne vide.
'>>
<<<
À part le paragraphe, tous les exemples de <<fr WikiText>> en mode bloc ci-dessus sont écrits une ligne après l'autre sans ligne vide intermédiaire. Ces types de <<fr WikiText>> n'ont pas besoin de ligne vide pour en marquer la fin.

View File

@ -0,0 +1,37 @@
caption: analyse en mode bloc
created: 20220110234234616
fr-title: WikiTexte en mode bloc
modified: 20220422210106782
tags: [[WikiText Parser Modes]]
title: Block Mode WikiText
type: text/vnd.tiddlywiki
Une partie du <<fr WikiText>> n'est reconnue que quand l'interpréteur est en mode <<gf "bloc">>.
Caractéristiques communes de ce <<fr WikiText>> en mode bloc<<:>>
* Il occupe au moins une ligne entière.
* Le marqueur de fermeture doit être situé en fin de ligne (dans certains cas la fin de ligne <<.em est>> le marqueur de fermeture)
|!~WikiTexte|!Marqueurs|
|<<fr "Block Quotes in WikiText">> |Les citations multi-lignes sont encadrées par le texte `<<<` tout seul sur sa ligne<<;>> les citations mono-ligne sont aussi possibles.|
|<<fr "Code Blocks in WikiText">>|Les blocs de code sont encadrés par le texte <code>&#96;&#96;&#96;</code> tout seul sur sa ligne.|
|<<fr "Definitions in WikiText">>|Chaque terme est sur sa propre ligne, et chaque définition est sur sa propre ligne.|
|<<fr "Hard Linebreaks in WikiText">>|Encadrées par le texte `"""` tout seul sur sa ligne.|
|<<fr "Headings in WikiText">>|Lignes complètes commençant par `!`.|
|<<fr "Horizontal Rules in WikiText">>|Une ligne ne contenant que le texte `---`.|
|<<fr "Lists in WikiText">>|Chaque élément de liste est sur sa propre ligne.|
|<<fr "Paragraphs in WikiText">>|Tout autre texte que le marqueur de début d'une des autres expressions <<fr WikiText>> en mode bloc constitue le début d'un paragraphe. Même un marqueur de début d'expression <<fr WikiText>> en mode en ligne constitue le début d'un paragraphe. Linterpréteur inclut toutes les lignes suivantes dans le paragraphe jusqu'à rencontrer une ligne vide.|
|<<fr "Styles and Classes in WikiText">>|Encadrés par des lignes commençant par `@@`.|
|<<fr "Tables in WikiText">>|Chaque ligne du tableau est une ligne de texte qui commence et se termine par `|`.|
|<<fr "Typed Blocks in WikiText">>|Encadrés par des lignes commençant par `$$`.|
Les expressions <<fr WikiText>> ci-dessus ne sont reconnues qu'en ''mode bloc''. Par contre, le texte <<.em contenu>> à l'intérieur sera interprété en ''mode en ligne'' (les <<fr "Block Quotes in WikiText">> et les <<fr "Styles and Classes in WikiText">> sont les deux expressions pour lesquelles l'interpréteur poursuit l'analyse en ''mode bloc''). L'analyse en ''mode en ligne'' peut amener l'interpréteur à rencontrer un contenu qui le fait [[basculer en mode bloc|WikiText parser mode transitions]].
À la fin de la dernière ligne du bloc, l'interpréteur retourne en ''mode bloc''.
<<.tip 'Note: Les [[fins de ligne forcées|Hard Linebreaks in WikiText]] nécessitent une ligne vide supplémentaire après le `"""` final pour que l&apos;interpréteur retourne en <b>mode bloc</b>.'>>
Si le marqueur de début d'une des expressions de bloc ci-dessus est rencontré alors que l'interpréteur est en ''mode en ligne'', il sera //ignoré// et apparaîtra tel quel dans le résultat.
[[Exemples|Block Mode WikiText (Examples)]]

View File

@ -0,0 +1,28 @@
caption: mode d'analyse en ligne
created: 20220111000108618
fr-title: WikiTexte en mode « en ligne »
modified: 20220421231003677
tags: [[WikiText Parser Modes]]
title: Inline Mode WikiText
type: text/vnd.tiddlywiki
Une partie du <<fr WikiText>> n'est reconnue que quand l'interpréteur est en mode <<gf "en ligne">>.
Ces expressions en <<fr WikiText>> n'ont pas besoin d'occuper toute une ligne de texte. Elles n'ont pas besoin non plus de tenir en entier sur une seule ligne, mais <<.em peuvent>> couvrir une ligne complète. De ce fait, plusieurs de ces expressions peuvent apparaître au sein de la même ligne. En d'autres termes, les fins de lignes ne sont pas prises en compte quand l'interpréteur cherche à trouver le début et la fin de ces expressions <<fr WikiText>>. Quand l'interpréteur est en mode <<gf "en ligne">>, il reconnaît les syntaxes des expressions <<fr WikiText>> suivantes<<:>>
* <<fr "Dashes in WikiText">>
* <<fr "Formatting in WikiText">>
* <<fr "HTML in WikiText">>
* <<fr "Images in WikiText">>
* <<fr "Linking in WikiText">>
* <<fr "Macro Calls in WikiText">>
* <<fr "Styles and Classes in WikiText">> (version mono-ligne seulement)
* <<fr "Transclusion in WikiText">>
* <<fr "Variables in WikiText">>
* <<fr "Widgets in WikiText">>
<<.tip """Un [[appel de macro|Macro Calls in WikiText]] ou une [[transclusion en WikiTexte|Transclusion in WikiText]] sont reconnus en ''mode bloc'' si l'appel de macro ou la transclusion occupent une ligne complète.""">>
<<.tip """Techniquement, les autres expressions <<fr WikiText>> en ''mode en ligne'' ne sont reconnues <<.em que>> quand l'interpréteur est en ''mode en ligne''. Toutefois, leurs balises d'ouverture vont déclencher le début d'un [[paragraphe|Paragraphs in WikiText]], ce qui va automatiquement faire basculer l'interpréteur en ''mode en ligne''. De ce fait, en pratique il est aussi simple de considérer que ces expressions sont reconnues par l'interpréteur aussi bien en ''mode bloc'' qu'en ''mode en ligne''.""">>
Pendant le traitement du texte //inclus// dans certaines de ces expressions <<fr WikiText>>, l'interpréteur [[ignorera les syntaxes WikiTexte|Places where the parser ignores WikiText]]. Mais pour le reste de ces expressions <<fr WikiText>>, l'interpréteur continuera l'analyse en ''mode en ligne'' du texte //inclus//, ce qui peut l'amener à rencontrer un contenu qui le fait [[basculer en mode bloc|WikiText parser mode transitions]].

View File

@ -0,0 +1,14 @@
caption: mode d'analyse ignoré
created: 20220111000929700
fr-title: Endroits où le WikiTexte est ignoré
modified: 20220421200127071
tags: [[WikiText Parser Modes]]
title: Places where the parser ignores WikiText
type: text/vnd.tiddlywiki
Le texte contenu dans les constructions suivantes est survolé par l'interpréteur sans analyse du <<fr WikiText>><<:>>
|<<fr "Code Blocks in WikiText">>|L'une des fonctions principales des blocs de code est de supprimer l'analyse du <<fr WikiText>>. Dès que le bloc de code commence l'interpréteur arrête l'analyse du <<fr WikiText>> jusqu'à la fin du bloc.|
|<<fr "Images in WikiText">>|`[[img|texte littéral de lien image]]` - le texte inclus entre crochets est ignoré, ce qui signifie par exemple que ni les [[transclusions|Transclusion in WikiText]] ni les [[appels de macros|Macro Calls in WikiText]] ne peuvent être utilisés pour construire le lien dynamiquement.|
|<<fr "Linking in WikiText">>|`[[cible littérale du lien|intitulé littéral du lien]]` - le texte inclus entre crochets est ignoré, ce qui signifie par exemple que ni les [[transclusions|Transclusion in WikiText]] ni les [[appels de macros|Macro Calls in WikiText]] ne peuvent être utilisés pour construire la cible ou l'intitulé du lien dynamiquement.|
|<<fr "Macro Calls in WikiText">>|`<<maMacro ''pas-en-gras'' "texte littéral" "<<expansion-de-macro-ignorée>>" {{transclusion-ignorée}}>>` - pour traiter le texte inclus dans un appel de macro, l'interpréteur suit des règles particulières de détection des arguments de macros. Ces règles ne permettent pas d'analyser le <<fr WikiText>>, mais après la substitution des arguments dans la définition de la macro, le résultat est analysé à l'aide des [[règles normales|WikiText Parser Modes]]. Le <<fr WikiText>> sera donc interprété ultérieurement dans le résultat.|

View File

@ -0,0 +1,17 @@
created: 20220110233944530
fr-title: Modes d'analyse du WikiTexte
modified: 20220419233657896
tags: WikiText
title: WikiText Parser Modes
type: text/vnd.tiddlywiki
Pour afficher les tiddlers (généralement le champ <<.field text>>), l'interpréteur de <<fr WikiText>> lit et analyse le contenu, et applique les règles de conversion du <<fr WikiText>>. L'interpréteur a trois modes d'analyse<<:>>
* Le ''mode pragma'' - l'analyseur ne reconnaît que la syntaxe [[WikiTexte du mode pragma|Pragma]]
* Le ''mode bloc'' - l'analyseur ne reconnaît que la syntaxe [[WikiTexte du mode bloc|Block Mode WikiText]]
* Le ''mode en ligne'' - l'analyseur ne reconnaît que la syntaxe [[WikiTexte du mode en ligne|Inline Mode WikiText]]
L'interpréteur [[bascule entre ces modes d'analyse|WikiText parser mode transitions]] selon le texte qu'il rencontre. De plus, il existe des [[emplacements où le WikiTexte est ignoré|Places where the parser ignores WikiText]].
<<.tip """Le concept de modes <<gf bloc>> et <<gf "en ligne">> existe aussi pour les éléments HTML standards. En HTML, ces [[deux modes de mise en page|https://www.w3schools.com/html/html_blocks.asp]] ,,(en anglais),, déterminent si le résultat est disposé sur une même ligne ou pas.
<p>La majorité du <<fr "Block Mode WikiText">> correspond aux [[éléments de bloc HTML|https://developer.mozilla.org/fr-FR/docs/Web/HTML/Block-level_elements]], et la majorité du <<fr "Inline Mode WikiText">> correspond aux [[éléments en ligne HTML|https://developer.mozilla.org/fr-FR/docs/Web/HTML/Inline_elements]]. Néanmoins, en ~WikiTexte les deux modes sont aussi importants pour déterminer la syntaxe utilisable que pour déterminer la présentation du résultat.</p>""">>

View File

@ -0,0 +1,73 @@
created: 20220122153235162
fr-title: Modes d'analyse du WikiTexte : exemples de HTML
modified: 20220422205843467
tags: [[WikiText parser mode transitions]]
title: WikiText parser mode: HTML examples
type: text/vnd.tiddlywiki
<<wikitext-example-without-html "<div>
* La ligne vide après la balise ouvrante permet
* aux marqueurs de mode bloc (comme cette liste)
* d'être reconnus
</div>
">>
---
L'astuce de la ligne vide fonctionne aussi au sein des syntaxes reconnues seulement en mode en ligne (comme <<fr "Formatting in WikiText">>)<<:>>
<<wikitext-example-without-html "''<div>
* premier élément de la liste
* deuxième élément de la liste
</div>''">>
---
<<wikitext-example-without-html "<div>
* Une balise ouvrante non suivie d'une ligne vide
* signifie que la syntaxe en mode bloc (cette liste)
* ne sera PAS reconnue.
Les paragraphes ne sont reconnus qu'en mode bloc. Même avec des lignes vides, aucun nouveau paragraphe n'est reconnu.
Ceci n'est pas un nouveau paragraphe non plus.
</div>">>
---
Les <<fr "Tables in WikiText">> sont des éléments pour lesquels l'astuce de la ligne vide ne fonctionne pas. Pour que l'interpréteur reconnaisse une ligne de tableau, elle doit remplir exactement une ligne de texte.
Ajouter une ligne blanche après une balise ouvrante au sein d'une cellule de tableau répartit la ligne de tableau sur plusieurs lignes de texte, et l'interpréteur ne peut plus reconnaître ce texte en tant que ligne de tableau.
<<wikitext-example-without-html "|la ligne de tableau|entièrement sur|une ligne de texte|est reconnue|">>
<<wikitext-example-without-html "|Avec une ligne vide après une balise ouvrante|<div>
* la liste est reconnue
* mais pas le tableau autour
</div>|">>
---
Le seul moyen de faire reconnaître la syntaxe de [[mode bloc|Block Mode WikiText]] dans des [[tableaux en WikiTexte|Tables in WikiText]] est d'utiliser un widget <<.wlink TranscludeWidget>> avec l'attribut <<.attr mode>>=<<.value block>>.
<<wikitext-example-without-html '|Tableau imbriqué<<:>>|<$transclude tiddler="table-example" mode=block/>|'>>
Notez que le widget <<.wlink MacroCallWidget>> ne dispose pas d'un attribut <<.attr mode>> similaire, et le contenu des définitions de macros ne peut être analysé qu'en [[mode en ligne|Inline Mode WikiText]].
---
Bien que moins pratiques, les balises html `<table>`, `<tr>`, `<td>` peuvent être utilisées comme un moyen sûr de faire reconnaître les syntaxes en [[mode bloc|Block Mode WikiText]] à l'intérieur d'un tableau.
<<wikitext-example-without-html "<table>
<tr><td>
* premier élément de la liste
* deuxième élément de la liste
</td><td>
|tableau|imbriqué|
</td></tr>
</table>">>

View File

@ -0,0 +1,59 @@
created: 20220110235808139
fr-title: Changements de mode d'analyse du WikiTexte
modified: 20220421003504381
tags: [[WikiText Parser Modes]]
title: WikiText parser mode transitions
type: text/vnd.tiddlywiki
Voici un diagramme <<.em approximatif>> dont les lignes correspondent globalement aux transitions entre modes d'analyse de l'interpréteur décrites ci-dessous<<:>>
<$railroad text="""
{<"mode pragma" >
{(
{<"mode en ligne"> +} |
({<"mode bloc">
+("<<<" | "@@" | "$$")
}
"autre syntaxe de début de bloc")
{<"mode en ligne"> +}
)
+(
"syntaxe de fin de bloc" |
("ligne vide" "balise ouvrante html")
)}
+("widget transclude" | "appel de macro")
}
"""/>
!! Mode de démarrage
Par défaut, l'interpréteur démarre en [[mode bloc|Block Mode WikiText]]. Néanmoins, un tiddler peut être transclus en [[mode en ligne|Inline Mode WikiText]] auquel cas le [[WikiTexte du mode bloc|Block Mode WikiText]] ne sera pas reconnu.
Au début du texte seulement, l'interpréteur reconnaît aussi le [[WikiTexte du mode pragma|Pragma]].
!! Transitions depuis le mode pragma
Au début du texte, l'interpréteur cherche des [[pragmas|Pragma]]. S'il n'en trouve aucun il bascule en [[mode en ligne|Inline Mode WikiText]] ou en [[mode bloc|Block Mode WikiText]], en fonction du mode de transclusion. S'il a trouvé un [[pragma|Pragma]], il continue à en chercher d'autres jusqu'à ce qu'il rencontre une ligne vide non suivie par le début d'un nouveau pragma.
!! Transitions depuis le mode bloc
Quand l'interpréteur rencontre la plupart des syntaxes de début de [[mode bloc|Block Mode WikiText]], il bascule en [[mode en ligne|Inline Mode WikiText]], ce qui signifie que le texte compris entre des balises de début et de fin de [[bloc|Block Mode WikiText]] sera interprété en [[mode en ligne|Inline Mode WikiText]].
<<.tip """La <<gf balise>> de début de paragraphe est <<gf invisible>>. Même au sein des paragraphes l'interpréteur bascule en [[mode en ligne|Inline Mode WikiText]].""">>
Il y a toutefois quelques balises de blocs dont le contenu est interprété en [[mode bloc|Block Mode WikiText]]<<:>>
* Les [[citations multi-lignes|Block Quotes in WikiText]]
* Les [[styles multi-lignes|Styles and Classes in WikiText]]
* Les [[blocs typés|Typed Blocks in WikiText]]
Pour ces cas particuliers, lorsque la syntaxe de début de bloc est rencontrée, l'interpréteur continue à analyser le texte en [[mode bloc|Block Mode WikiText]].
Les [[lignes horizontales|Horizontal Rules in WikiText]] sont un autre cas particulier<<:>> elles n'incluent pas de texte, donc l'interpréteur n'a pas l'opportunité de basculer en [[mode en ligne|Inline Mode WikiText]].
Les balises d'ouverture de [[widgets|Widgets in WikiText]] ou de [[HTML|HTML in WikiText]] peuvent conduire l'interpréteur à changer de mode. Quand une de ces balises <<.em "n'est pas">> suivie d'une ligne vide, le texte compris entre les balises sera interprété en [[mode en ligne|Inline Mode WikiText]]. Voir les [[exemples HTML|WikiText parser mode: HTML examples]].
!! Transitions depuis le mode en ligne
* L'interpréteur retourne en [[mode bloc|Block Mode WikiText]] après la fin d'une ligne qui termine du [[WikiTexte de mode bloc|Block Mode WikiText]]. En d'autres termes, quand la balise de fin de bloc est rencontrée.
* Quand une balise d'ouverture de [[widget|Widgets in WikiText]] ou de [[HTML|HTML in WikiText]] est suivie d'une ligne vide, le contenu est analysé en [[mode bloc|Block Mode WikiText]]. Voir les [[exemples HTML|WikiText parser mode: HTML examples]].
* Le texte transclus et le texte substitué via un appel de macro peuvent faire quitter le [[mode en ligne|Inline Mode WikiText]] à l'interpréteur. Voir les [[exemples de transclusions|WikiText parser mode: transclusion examples]] et les [[exemples de macros|WikiText parser mode: macro examples]] pour plus de détails.

View File

@ -0,0 +1,56 @@
created: 20220122144742419
fr-title: Modes d'analyse du WikiTexte : exemples de macros
modified: 20220419224009995
tags: [[WikiText parser mode transitions]]
title: WikiText parser mode: macro examples
type: text/vnd.tiddlywiki
\define tablebanale()
|cellule une|cellule deux|
|cellule trois|cellule quatre|
\end
En utilisant la macro `tablebanale` définie ainsi<<:>>
<$codeblock code=<<tablebanale>>/>
dans une transclusion, alors<<:>>
<table><<wikitext-example-table-header>><tbody>
<<wikitext-example-table-row 1 "* <<tablebanale>>">>
<<wikitext-example-table-row 2 """* <div>
<<tablebanale>>
</div>
""">>
<<wikitext-example-table-row 3 "* <$macrocall $name=tablebanale/>">>
<<wikitext-example-table-row 4 "* <$macrocall $name=tablebanale></$macrocall>">>
<<wikitext-example-table-row 5 """* <$macrocall $name=tablebanale>
</$macrocall>""">>
</tbody></table>
Dans le code ci-dessus, la syntaxe de liste à puce est reconnue en [[mode bloc|Block Mode WikiText]], puis son contenu est interprété en [[mode en ligne|Inline Mode WikiText]]. Quand l'interpréteur rencontre un [[appel de macro en WikiTexte|Macro Calls in WikiText]] il utilise le mode courant pour analyser le contenu de la macro. La macro d'exemple contient une définition de table qui n'est reconnue qu'en [[mode bloc|Block Mode WikiText]].
De ce fait, dans la ligne n°1 ci-dessus, la syntaxe de table n'est pas reconnue. Dans la ligne n°2, la ligne vide après la balise `<div>` bascule l'interpréteur en [[mode bloc|Block Mode WikiText]] et le contenu de la macro en hérite, donc la table est reconnue.
En utilisant le <<fr MacroCallWidget>>, le mode d'analyse reste le mode en ligne (exemples des lignes n°3 et 4 ci-dessus) jusqu'à ce que la balise ouvrante soit suivie d'une ligne vide (exemple n°5 ci-dessus).
<<.tip """Voir aussi <<fr "WikiText parser mode: transclusion examples">> pour d'autres exemples similaires.""">>
---
Dans les exemples suivants, les appels de macros sont directs, au lieu d'être inclus dans des listes à puces<<:>>
<table><<wikitext-example-table-header>><tbody>
<<wikitext-example-table-row 1 "<<tablebanale>>">>
<<wikitext-example-table-row 2 """<div>
<<tablebanale>>
</div>
""">>
<<wikitext-example-table-row 3 "<$macrocall $name=tablebanale/>">>
<<wikitext-example-table-row 4 "<$macrocall $name=tablebanale></$macrocall>">>
<<wikitext-example-table-row 5 """<$macrocall $name=tablebanale>
</$macrocall>""">>
</tbody></table>
Parmi ces exemples, seuls les deux widgets <<.wlink MacroCallWidget>> dont la balise d'ouverture n'est pas suivie d'une ligne vide (lignes n°3 et 4) sont analysés en [[mode en ligne|Inline Mode WikiText]].
<<.tip """Voir aussi <<fr "WikiText parser mode: transclusion examples">> pour d'autres exemples similaires.""">>

View File

@ -0,0 +1,56 @@
created: 20220122145022547
fr-title: Modes d'analyse du WikiTexte : exemples de transclusions
modified: 20220419224014907
tags: [[WikiText parser mode transitions]]
title: WikiText parser mode: transclusion examples
type: text/vnd.tiddlywiki
En utilisant le tiddler [[table-example]] qui contient<<:>>
<$codeblock code={{table-example}}/>
dans une transclusion, alors<<:>>
<table><<wikitext-example-table-header>><tbody>
<<wikitext-example-table-row 1 "* {{table-example}}">>
<<wikitext-example-table-row 2 """* <div>
{{table-example}}
</div>
""">>
<<wikitext-example-table-row 3 "* <$transclude tiddler=table-example/>">>
<<wikitext-example-table-row 4 "* <$transclude tiddler=table-example></$transclude>">>
<<wikitext-example-table-row 5 """* <$transclude tiddler=table-example>
</$transclude>""">>
<<wikitext-example-table-row 6 "* <$transclude tiddler=table-example mode=block/>">>
</tbody></table>
Dans le code ci-dessus, la syntaxe de liste à puce est reconnue en [[mode bloc|Block Mode WikiText]], puis son contenu est interprété en [[mode en ligne|Inline Mode WikiText]]. Quand l'interpréteur rencontre une <<fr "Transclusion in WikiText">> il utilise le mode courant pour analyser le contenu du tiddler transclus. Le tiddler d'exemple contient une définition de table qui n'est reconnue qu'en [[mode bloc|Block Mode WikiText]].
De ce fait, dans la ligne n°1 ci-dessus, la syntaxe de table n'est pas reconnue. Dans la ligne n°2, la ligne vide après la balise `<div>` bascule l'interpréteur en [[mode bloc|Block Mode WikiText]] et le contenu transclus en hérite, donc la table est reconnue.
En utilisant le <<fr TranscludeWidget>>, le mode d'analyse reste le mode en ligne (exemples des lignes n°3 et 4 ci-dessus) jusqu'à ce que la balise ouvrante soit suivie d'une ligne vide (exemple n°5 ci-dessus).
<<.tip """Pour voir d'autres exemples similaires, consultez <<fr "WikiText parser mode: macro examples">>. La seule différence est qu'ici l'exemple de la ligne n°6 utilise l'attribut <<.attr mode>> du widget <<.wlink TranscludeWidget>> pour forcer explicitement le mode d'analyse plutôt que de de laisser le contenu de la balise le déterminer.""">>
---
Dans les exemples suivants, les transclusions sont directes, au lieu d'être incluses dans des listes à puces<<:>>
<table><<wikitext-example-table-header>><tbody>
<<wikitext-example-table-row 1 "{{table-example}}">>
<<wikitext-example-table-row 2 """<div>
{{table-example}}
</div>
""">>
<<wikitext-example-table-row 3 "<$transclude tiddler=table-example/>">>
<<wikitext-example-table-row 4 "<$transclude tiddler=table-example></$transclude>">>
<<wikitext-example-table-row 5 """<$transclude tiddler=table-example>
</$transclude>""">>
<<wikitext-example-table-row 6 "<$transclude tiddler=table-example mode=inline/>">>
</tbody></table>
Parmi ces exemples, seuls les deux widgets <<.wlink TranscludeWidget>> dont la balise d'ouverture n'est pas suivie d'une ligne vide ainsi que l'appel qui comporte l'attribut <<.attr mode>>=<<.value inline>> (lignes n°3, 4 et 6) sont analysés en [[mode en ligne|Inline Mode WikiText]].
<<.tip """Voir aussi <<fr "WikiText parser mode: macro examples">> pour d'autres exemples similaires.""">>

View File

@ -0,0 +1,8 @@
created: 20220118023452157
modified: 20220419184729921
tags: [[WikiText parser mode transitions (Examples)]]
title: table-example
type: text/vnd.tiddlywiki
|cellule une|cellule deux|
|cellule trois|cellule quatre|

View File

@ -20,8 +20,13 @@ code-body: yes
} }
.tc-sites-menu ol li a { .tc-sites-menu ol li a {
padding-top: 0.25em; display: block;
padding-bottom: 0.25em; padding: 0.25em 14px 0.25em 14px;
width: 100%;
text-align: left;
color: #333333;
line-height: 1.4;
text-decoration: none;
} }
.tc-sites-menu ol li .tc-sites-menu-disabled { .tc-sites-menu ol li .tc-sites-menu-disabled {

View File

@ -1,24 +1,30 @@
created: 20220305183700000 created: 20220305183700000
modified: 20220305183700000 modified: 20220413165500000
tags: Concepts tags: Concepts
title: Customizing EditTemplate field rendering title: Customizing EditTemplate field rendering
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
When editing a tiddler the [[EditTemplate|$:/core/ui/EditTemplate/fields]] normally renders fields as simple input boxes. To modify this behaviour, the [[cascade mechanism|Cascades]] can be used. Via the [[Field Editor Cascade|Field Editor Cascade]] the name of the tiddler used for rendering the field editor can be specified. The content of this tiddler is transcluded to represent the content of the field. When editing a tiddler the [[EditTemplate|$:/core/ui/EditTemplate/fields]] normally renders fields as simple input boxes. To modify this behaviour, the [[cascade mechanism|Cascades]] can be used. Via the [[Field Editor Cascade|Field Editor Cascade]] the name of the tiddler used for rendering the field editor can be specified. The content of this tiddler is transcluded to represent the content of the field.
To modify the appearance of all fields whose name ends with `-date` create a new tiddler and add the `$:/tags/FieldEditorFilter` tag to it. Add a `list-before` field and assign the value `$:/config/FieldEditorFilters/default`. Now you have to put the filter for the cascade into the tiddler's text field: `[regexp[-date$]then[$:/config/EditTemplateFields/Templates/dates]]`. This will transclude the tiddler named `$:/config/EditTemplateFields/Templates/dates` to render the input elements for all fields with names matching the regular expression. To modify the appearance of all fields whose name ends with `-date` create a new tiddler and add the `$:/tags/FieldEditorFilter` tag to it. Add a `list-before` field and assign the value `$:/config/FieldEditorFilters/default`. Now you have to put the filter for the cascade into the tiddler's text field: `[suffix[-date]then[$:/config/EditTemplateFields/Templates/dates]]`. This will transclude the tiddler named `$:/config/EditTemplateFields/Templates/dates` to render the input elements for all fields with names matching the regular expression.
The variables `currentTiddler` and `currentField` are set to pass information about the tiddler and field that are edited to the transcluded tiddler. The variables `currentTiddler`, `currentField` and `currentFieldName` are set to pass information about the tiddler and field that are edited to the transcluded tiddler.
|`currentTiddler`|The tiddler that must be used to store the field value.|
|`currentField`|The field within the `currentTiddler` that must be used to store the field name. This is an opaque value hat may contain any field name (even `text`), use `currentFieldName` to make decisions based on the actual name of the currently edited field.|
|`currentFieldName`|The name of the currently edited field.|
For example, a tiddler containing the following WikiText would render the field as an HTML input element of the type `date`. This will show a date picker for the fields on all modern browsers: For example, a tiddler containing the following WikiText would render the field as an HTML input element of the type `date`. This will show a date picker for the fields on all modern browsers:
``` ```
<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> type="date" class="tc-edit-texteditor tc-edit-fieldeditor" placeholder="Set your date" tabindex={{$:/config/EditTabIndex}} cancelPopups="yes"/> <$edit-text tiddler=<<currentTiddler>> field=<<currentField>> tag="input" type="date" class="tc-edit-texteditor tc-edit-fieldeditor" placeholder="Set your date" tabindex={{$:/config/EditTabIndex}} cancelPopups="yes"/>
``` ```
<<.warning "The `currentField` variable will be set to `text` for new fields. Make sure that your editor will handle this correctly. For example, by setting the `tag` attribute on the EditTextWidget. If you want to know the name of the currently edited/added field, use the `currentFieldName` variable.">>
The `tabindex` and `cancelPopups` attributes make sure the HTML input element behaves exactly the default elements provided by TiddlyWiki. The `tabindex` and `cancelPopups` attributes make sure the HTML input element behaves exactly the default elements provided by TiddlyWiki.
Not only the `EditTextWidget` can be used. A tiddler containing the following WikiText will render the field as a drop-down-list that allows the user to select the name of a tiddler. The name of the selected tiddler will be stored in the field. Not only the EditTextWidget can be used. A tiddler containing the following WikiText will render the field as a drop-down-list that allows the user to select the name of a tiddler. The name of the selected tiddler will be stored in the field.
``` ```
<$select tiddler=<<currentTiddler>> field=<<currentField>> class="tc-edit-texteditor tc-edit-fieldeditor" cancelPopups="yes"> <$select tiddler=<<currentTiddler>> field=<<currentField>> class="tc-edit-texteditor tc-edit-fieldeditor" cancelPopups="yes">
@ -29,3 +35,13 @@ Not only the `EditTextWidget` can be used. A tiddler containing the following Wi
``` ```
The classes `tc-edit-texteditor` and `tc-edit-fieldeditor` should be used to style the `input` and `select` elements to match the theme of the TiddlyWiki installation. The classes `tc-edit-texteditor` and `tc-edit-fieldeditor` should be used to style the `input` and `select` elements to match the theme of the TiddlyWiki installation.
! Persistence of values when creating fields
When using multiple field editors for creating fields within the [[EditTemplate|$:/core/ui/EditTemplate/fields]], every field editor tiddler returned by the [[Field Editor Cascade|Field Editor Cascade]] gets its own storage tiddler. This is done to prevent problems with incompatible values when the user is switching between fields governed by different field editors.
!! Example
There is a cascade that returns a special field editor for all fields starting with the string "my-". All other fields use the default field editor.
If you type a new value into the "field value" input box and select any field not starting with "my-", the value will be kept.
If you switch to a field, that starts with "my-", the "field value" input field will be empty again because a new type of field editor is used. If you now type a value and switch to another field starting with "my-" the value will be kept. If you switch to a field that does not start with "my-" the previously typed value (that was stored for the default editor) will reappear.

View File

@ -1,7 +1,8 @@
created: 201308291647 created: 20130829164700000
modified: 201308291647 modified: 20220427171321793
tags: Concepts tags: Concepts
title: DataTiddlers title: DataTiddlers
type: text/vnd.tiddlywiki
A data tiddler is a miniature database contained within a tiddler. A data tiddler is a miniature database contained within a tiddler.
@ -12,22 +13,4 @@ There are two standard formats:
Other formats of tiddler can also be parsed to yield blocks of data that behave like data tiddlers. Other formats of tiddler can also be parsed to yield blocks of data that behave like data tiddlers.
Use a TextReference to look up the value of a named property. For example, if a [[DictionaryTiddler|DictionaryTiddlers]] called `MonthDays` contains: See [[JSON in TiddlyWiki]] for an overview.
```
oct:31
nov:30
dec:31
```
... then `{{MonthDays##nov}}` will resolve to the value `30`.
The same is true if `MonthDays` is a [[JSONTiddler|JSONTiddlers]] with the following content:
```
{"oct":31,"nov":30,"dec":31}
```
Note: //It is currently only possible to retrieve data from the immediate properties of the root object of a JSONTiddler.//
The widgets ActionSetFieldWidget and ActionListopsWidget can manipulate named properties of data tiddlers by indicating the name of the property in the $index attribute. To create or modify a named property with ActionSetFieldWidget, provide a $value attribute. To delete a named property with ActionSetFieldWidget, omit the $value attribute. ActionListopsWidget assigns the named property the list constructed through its $filter and $subfilter attributes.

View File

@ -1,9 +1,10 @@
created: 20141228094500000 created: 20141228094500000
modified: 20180305111822713 modified: 20220427171020974
tags: Concepts tags: Concepts
title: DictionaryTiddlers title: DictionaryTiddlers
type: text/vnd.tiddlywiki
A dictionary tiddler is a [[data tiddler|DataTiddlers]] containing a simple list of `name: value` pairs. A dictionary tiddler is a kind of [[data tiddler|DataTiddlers]] that contains a simple list of `name: value` pairs.
Its [[ContentType]] is `application/x-tiddler-dictionary`. Its [[ContentType]] is `application/x-tiddler-dictionary`.

View File

@ -1,10 +1,11 @@
created: 20141228094500000 created: 20141228094500000
modified: 20150221152956000 modified: 20220427171219408
tags: Concepts tags: Concepts
title: JSONTiddlers title: JSONTiddlers
type: text/vnd.tiddlywiki
A JSON tiddler is a [[data tiddler|DataTiddlers]] containing a [[JSON|JavaScript Object Notation]] structure in its `text` field. A JSON tiddler is a [[data tiddler|DataTiddlers]] containing a [[JSON|JavaScript Object Notation]] structure in its `text` field. See [[JSON in TiddlyWiki]] for an overview.
Its [[ContentType]] is `application/json`. Its [[ContentType]] is `application/json`.
The [[history list|$:/HistoryList]] is a good example of a JSON tiddler. The [[history list|$:/HistoryList]] is an of a JSON tiddler.

View File

@ -1,7 +1,8 @@
created: 20150117152418000 created: 20150117152418000
modified: 20150124205659000 modified: 20220523075540462
tags: Concepts tags: Concepts
title: Title List title: Title List
type: text/vnd.tiddlywiki
A <<.def "title list">> is a line of text that presents one or more tiddler titles, strung together with a space between each one and the next. A <<.def "title list">> is a line of text that presents one or more tiddler titles, strung together with a space between each one and the next.
@ -12,3 +13,5 @@ If a title <<.em contains>> a space, it needs double square brackets around it:
Title lists are used in various places, including PermaLinks and the ListField. Title lists are used in various places, including PermaLinks and the ListField.
They are in fact the simplest case of a [[filter|Filters]], and are thus a way of expressing a [[selection of titles|Title Selection]]. They are in fact the simplest case of a [[filter|Filters]], and are thus a way of expressing a [[selection of titles|Title Selection]].
<<.warning """The [[Title List]] format cannot reliably represent items that contain certain specific character sequences such as `]] `. Thus it should not be used where there is a possibility of such sequences occurring.""">>

View File

@ -1,11 +1,7 @@
created: 20150221152904000 created: 20150221152904000
modified: 20150221181720000 modified: 20220427170920772
tags: Definitions tags: Definitions
title: JavaScript Object Notation title: JavaScript Object Notation
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
<<.dlink-ex JSON "https://en.wikipedia.org/wiki/JSON">> is a standard plain-text format used for modelling hierarchical structures of objects that contain named fields. <<.dlink-ex JSON "https://en.wikipedia.org/wiki/JSON">> is a standard plain-text format used for modelling hierarchical structures of objects that contain named fields. See [[JSON in TiddlyWiki]] for an overview.
DataTiddlers can have JSON content.
The <<.mlink jsontiddlers>> macro returns tiddler content in JSON format.

View File

@ -0,0 +1,69 @@
title: JSON in TiddlyWiki
tags: Features
type: text/vnd.tiddlywiki
created: 20220427174702859
modified: 20220427174702859
!! Introduction
JSON (~JavaScript Object Notation) is a standardised text representation for data structures that is widely used for the storage and transfer of data.
JSON is used in several different contexts in TiddlyWiki. For example:
* Tiddlers are represented as JSON data within TiddlyWiki HTML files
* Groups of tiddlers can be [[exported|How to export tiddlers]] and [[imported|Importing Tiddlers]] as JSON files
* Plugin tiddlers store their constituent shadow tiddlers as JSON data
* The client-server configuration uses [[JSON messages|TiddlyWeb JSON tiddler format]] to communicate between the client and the server
* Arbitrary JSON data within DataTiddlers can be processed and manipulated using a set of filter operators and action widgets
!! About JSON
The technical description of JSON at the official website https://json.org/ is terse. Here we summarise the main features.
JSON supports two basic data structures:
''Arrays'' are lists of items. The items are identified by their numeric index (starting at zero)
An example of an array is:
```json
["one","two","three\"four"]
```
Note the following features of arrays:
* The array is signified by square brackets surrounding the list of items
* Each item is a string in double quotes. Double quotes can be included within the strings by preceding them with a backslash (`\`)
* The items are separated by commas
''Objects'' are collections of name/value pairs. Each item is a value that is identified by a unique name
An example of an object is:
```json
{
"first": "This is the first value",
"second": "This is the second value",
"third": "This is the third value"
}
```
Note the following features of objects:
* The object is signified by curly braces surrounding the list of name/value pairs
* Each name/value pair consists of the name in double quotes, a colon, and then the value
* The name/value pairs are separated by commas
The examples above all show string values. JSON actually supports several different types of value. Any of these types can be used as a value:
* String values, as shown above
* Numeric values, represented as signed decimals such as `1`, `3.14`. Exponential notation can also be used e.g. `-1E10`
* Boolean values, represented by the keywords `true` and `false`
* The special value `null`, which is often used to represent data that is missing or incomplete
* Objects and arrays are also values, allowing complex nested structures to be represented
!! Working with Data Tiddlers
* [[Reading data from JSON tiddlers]]
* [[Constructing JSON tiddlers]]
* [[Modifying JSON tiddlers]]

View File

@ -1,6 +1,6 @@
caption: format caption: format
created: 20201020100834443 created: 20201020100834443
modified: 20210524090002126 modified: 20220523075550449
op-input: a [[selection of titles|Title Selection]] op-input: a [[selection of titles|Title Selection]]
op-output: input strings formatted according to the specified suffix <<.place B>> op-output: input strings formatted according to the specified suffix <<.place B>>
op-parameter: optional format string for the formats op-parameter: optional format string for the formats
@ -21,4 +21,6 @@ The suffix <<.place B>> is one of the following supported string formats:
|^`relativedate` |The input string is interpreted as a UTC date and displayed as the interval from the present instant. Any operator parameters are ignored. | |^`relativedate` |The input string is interpreted as a UTC date and displayed as the interval from the present instant. Any operator parameters are ignored. |
|^`titlelist` |<<.from-version "5.2.0">>The input string wrapped in double square brackets if it contains a space. Appropriate for use in a [[title list|Title List]]. | |^`titlelist` |<<.from-version "5.2.0">>The input string wrapped in double square brackets if it contains a space. Appropriate for use in a [[title list|Title List]]. |
<<.warning """The [[Title List]] format cannot reliably represent items that contain certain specific character sequences such as `]] `. Thus it should not be used where there is a possibility of such sequences occurring.""">>
<<.operator-examples "format">> <<.operator-examples "format">>

View File

@ -0,0 +1,16 @@
title: Constructing JSON tiddlers
tags: [[JSON in TiddlyWiki]] [[Learning]]
created: 20220427174702859
modified: 20220427174702859
See [[JSON in TiddlyWiki]] for an overview of using JSON in TiddlyWiki.
JSON data is just plain text, and so there are an wide variety of techniques to generate it in wikitext.
At a high level, we have several ways to generate JSON data in TiddlyWiki's own tiddler format:
* JSONTiddlerWidget
* [[jsontiddler Macro]]
* [[jsontiddlers Macro]]
When constructing JSON data manually, the [[jsonstringify Operator]] is needed to ensure that any special characters are properly escaped.

View File

@ -8,7 +8,7 @@ By default, TiddlyWiki displays a blank screen while it is loading. You can add
Larger TiddlyWiki files and those loaded over a slow network connection may take a little time to load. Once fully loaded, performance improves, because everything is now running entirely within the browser. Using a splash screen ensures people know the loading process is taking place, reducing the chance they will leave the page. Larger TiddlyWiki files and those loaded over a slow network connection may take a little time to load. Once fully loaded, performance improves, because everything is now running entirely within the browser. Using a splash screen ensures people know the loading process is taking place, reducing the chance they will leave the page.
In order for the splash screen to be displayed before TiddlyWiki is initialised it is embedded as static HTML/CSS within the TiddlyWiki HTML file. This is done with the [[SystemTag: $:/tags/RawMarkupWikified/TopBody]]. In order for the splash screen to be displayed before TiddlyWiki is initialised or [[decrypted|Encryption]], it is embedded as static HTML/CSS within the TiddlyWiki HTML file. This is done with the [[SystemTag: $:/tags/RawMarkupWikified/TopBody]], or any of the other system tags beginning with $:/tags/RawMarkup.
In order to remove the splash screen when the wiki has finished loading, the HTML should be wrapped in a container with the special class `tc-remove-when-wiki-loaded`. Any DOM elements with this class are automatically deleted by the core once the wiki has loaded. In order to remove the splash screen when the wiki has finished loading, the HTML should be wrapped in a container with the special class `tc-remove-when-wiki-loaded`. Any DOM elements with this class are automatically deleted by the core once the wiki has loaded.

View File

@ -0,0 +1,7 @@
created: 20220426221124514
modified: 20220426221240671
tags: [[Working with TiddlyWiki]]
title: How to update TiddlyWiki to the latest version
type: text/vnd.tiddlywiki
{{Upgrading}}

View File

@ -0,0 +1,18 @@
created: 20220427174702859
modified: 20220427171707459
tags: [[JSON in TiddlyWiki]] Learning
title: Modifying JSON tiddlers
type: text/vnd.tiddlywiki
See [[JSON in TiddlyWiki]] for an overview of using JSON in TiddlyWiki.
Note that
!! Using ActionSetFieldWidget and ActionListopsWidget
The widgets ActionSetFieldWidget and ActionListopsWidget can manipulate named properties of data tiddlers by indicating the name of the property in the $index attribute.
* To create or modify a named property with ActionSetFieldWidget, provide a $value attribute
* To delete a named property with ActionSetFieldWidget, omit the $value attribute.
ActionListopsWidget assigns the named property the list constructed through its $filter and $subfilter attributes.

View File

@ -0,0 +1,25 @@
created: 20220427174702859
modified: 20220427171449102
tags: [[JSON in TiddlyWiki]] Learning
title: Reading data from JSON tiddlers
type: text/vnd.tiddlywiki
See [[JSON in TiddlyWiki]] for an overview of using JSON in TiddlyWiki.
!! Text References for Accessing JSON Data
[[Text references|TextReference]] are a simple shortcut syntax to look up the value of a named property. For example, if a [[DictionaryTiddler|DictionaryTiddlers]] called `MonthDays` contains:
```
oct:31
nov:30
dec:31
```
... then `{{MonthDays##nov}}` will resolve to the value `30`.
The same is true if `MonthDays` is a [[JSONTiddler|JSONTiddlers]] with the following content:
```
{"oct":31,"nov":30,"dec":31}
```

View File

@ -1,11 +1,11 @@
caption: jsontiddlers
created: 20150221152226000 created: 20150221152226000
modified: 20200204135513721 modified: 20220427171155184
tags: Macros [[Core Macros]] tags: Macros [[Core Macros]]
title: jsontiddlers Macro title: jsontiddlers Macro
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
caption: jsontiddlers
The <<.def jsontiddlers>> [[macro|Macros]] returns the fields of a [[selection of tiddlers|Title Selection]] in [[JSON|JavaScript Object Notation]] form. The <<.def jsontiddlers>> [[macro|Macros]] returns the fields of a [[selection of tiddlers|Title Selection]] in [[JSON|JavaScript Object Notation]] form. See [[JSON in TiddlyWiki]] for an overview.
An example can be seen in the [[template tiddler for JSON exports|$:/core/templates/exporters/JsonFile]]. An example can be seen in the [[template tiddler for JSON exports|$:/core/templates/exporters/JsonFile]].

View File

@ -1,11 +1,11 @@
caption: jsontiddler caption: jsontiddler
created: 20170317140130417 created: 20170317140130417
modified: 20170317140226040 modified: 20220427171228844
tags: Macros [[Core Macros]] tags: Macros [[Core Macros]]
title: jsontiddler Macro title: jsontiddler Macro
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
The <<.def jsontiddler>> [[macro|Macros]] returns the fields of a single tiddler in [[JSON|JavaScript Object Notation]] form. The <<.def jsontiddler>> [[macro|Macros]] returns the fields of a single tiddler in [[JSON|JavaScript Object Notation]] form. See [[JSON in TiddlyWiki]] for an overview.
!! Parameters !! Parameters

View File

@ -1,6 +1,6 @@
caption: tm-new-tiddler caption: tm-new-tiddler
created: 20140226194405353 created: 20140226194405353
modified: 20141107132122081 modified: 20220521143507491
tags: Messages navigator-message tags: Messages navigator-message
title: WidgetMessage: tm-new-tiddler title: WidgetMessage: tm-new-tiddler
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@ -28,7 +28,7 @@ To make a button that creates new tiddlers tagged "task", create a tiddler calle
<$button message="tm-new-tiddler" param="TaskTemplate">New Task</$button> <$button message="tm-new-tiddler" param="TaskTemplate">New Task</$button>
``` ```
To create a new tiddler with given attributes rather than from a template: To create a new tiddler with explicit parameters rather than by cloning a template tiddler:
``` ```
<$button> <$button>
@ -36,3 +36,12 @@ To create a new tiddler with given attributes rather than from a template:
New Tiddler New Tiddler
</$button> </$button>
``` ```
To create a new tiddler from a template with additional parameters:
```
<$button>
<$action-sendmessage $message="tm-new-tiddler" $param=<<currentTiddler>> fieldname="field value"/>
New Tiddler
</$button>
```

View File

@ -6,7 +6,7 @@ delivery: App
description: Android app for saving changes locally to device storage description: Android app for saving changes locally to device storage
method: save method: save
modified: 20200507103926292 modified: 20200507103926292
tags: Saving Android tags: Saving Android [[Standalone App]]
title: Saving on Android title: Saving on Android
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
url: https://github.com/donmor/Tiddloid url: https://github.com/donmor/Tiddloid

View File

@ -5,7 +5,7 @@ created: 20220221080637764
delivery: App delivery: App
description: Desktop application for serving and syncing TiddlyWiki description: Desktop application for serving and syncing TiddlyWiki
method: save method: save
tags: Saving Mac Windows Linux tags: Saving Mac Windows Linux [[Standalone App]]
title: Saving on TidGi Desktop title: Saving on TidGi Desktop
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
url: https://github.com/tiddly-gittly/TidGi-Desktop/releases/latest url: https://github.com/tiddly-gittly/TidGi-Desktop/releases/latest

View File

@ -6,7 +6,7 @@ delivery: App
description: Custom desktop application for working with TiddlyWiki description: Custom desktop application for working with TiddlyWiki
method: save method: save
modified: 20200507104332791 modified: 20200507104332791
tags: Saving Mac Windows Linux tags: Saving Mac Windows Linux [[Standalone App]]
title: Saving on TiddlyDesktop title: Saving on TiddlyDesktop
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
url: https://github.com/TiddlyWiki/TiddlyDesktop/releases url: https://github.com/TiddlyWiki/TiddlyDesktop/releases

View File

@ -6,7 +6,7 @@ delivery: App
description: iPad/iPhone app for working with TiddlyWiki description: iPad/iPhone app for working with TiddlyWiki
method: save method: save
modified: 20201007205336209 modified: 20201007205336209
tags: Saving iOS tags: Saving iOS [[Standalone App]]
title: Saving on iPad/iPhone title: Saving on iPad/iPhone
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki

View File

@ -1,6 +1,6 @@
created: 20140912140651119 created: 20140912140651119
modified: 20220401151525812 modified: 20220401151525812
saving-browser: Firefox Chrome Edge [[Internet Explorer]] Safari Opera saving-browser: Firefox Chrome Edge [[Internet Explorer]] Safari Opera [[Standalone App]]
saving-os: Windows Mac Linux Android iOS saving-os: Windows Mac Linux Android iOS
tags: [[Working with TiddlyWiki]] tags: [[Working with TiddlyWiki]]
title: Saving title: Saving

View File

@ -1,5 +1,5 @@
created: 20201123113532200 created: 20201123113532200
modified: 20220311154749139 modified: 20220507184043398
tags: Widgets TriggeringWidgets tags: Widgets TriggeringWidgets
title: EventCatcherWidget title: EventCatcherWidget
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@ -48,6 +48,8 @@ The following variables are made available to the actions:
|`event-type` |The type property of the JavaScript event | |`event-type` |The type property of the JavaScript event |
|`event-detail-*` |Any properties in the detail attribute of the event are made available with the prefix `event-detail-` | |`event-detail-*` |Any properties in the detail attribute of the event are made available with the prefix `event-detail-` |
|`tv-popup-coords` |A co-ordinate string that can be used with the ActionPopupWidget to trigger a popup at the DOM node matching the selector where the event originated | |`tv-popup-coords` |A co-ordinate string that can be used with the ActionPopupWidget to trigger a popup at the DOM node matching the selector where the event originated |
|`tv-widgetnode-width` |<<.from-version "5.2.3">> `offsetWidth` of the DOM node created by the eventcatcher widget |
|`tv-widgetnode-height` |<<.from-version "5.2.3">> `offsetHeight` of the DOM node created by the eventcatcher widget |
|`tv-selectednode-posx` |`x` offset position of the selected DOM node | |`tv-selectednode-posx` |`x` offset position of the selected DOM node |
|`tv-selectednode-posy` |`y` offset position of the selected DOM node | |`tv-selectednode-posy` |`y` offset position of the selected DOM node |
|`tv-selectednode-width` |`offsetWidth` of the selected DOM node | |`tv-selectednode-width` |`offsetWidth` of the selected DOM node |

View File

@ -1,14 +1,15 @@
title: JSONTiddlerWidget
created: 20210630100923398
modified: 20210630100923398
tags: Widgets
caption: jsontiddler caption: jsontiddler
created: 20210630100923398
modified: 20220427171128693
tags: Widgets
title: JSONTiddlerWidget
type: text/vnd.tiddlywiki
! Introduction ! Introduction
The jsontiddler widget renders the fields of a tiddler to display as a JSON object. The fields of the tiddler can be customised or excluded. The jsontiddler widget renders the fields of a tiddler to display as a JSON object. The fields of the tiddler can be customised or excluded.
The jsontiddler widget is used in system templates to generate JSON representations of tiddlers for saving. The jsontiddler widget is used in system templates to generate JSON representations of tiddlers for saving. See [[JSON in TiddlyWiki]] for an overview.
! Content and Attributes ! Content and Attributes

View File

@ -1,6 +1,6 @@
caption: set caption: set
created: 20131115182700000 created: 20131115182700000
modified: 20210505095640228 modified: 20220523075522407
tags: Widgets tags: Widgets
title: SetWidget title: SetWidget
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@ -71,6 +71,8 @@ src="""<$set name="myVariable" filter="[all[current]field:title[myMagicTitle]]"
This form of the set variable widget evaluates the filter and assigns the result to the variable as a space-separated list (using double square brackets for titles containing spaces). This form of the set variable widget evaluates the filter and assigns the result to the variable as a space-separated list (using double square brackets for titles containing spaces).
<<.warning """The [[Title List]] format cannot reliably represent items that contain certain specific character sequences such as `]] `. Thus it should not be used where there is a possibility of such sequences occurring.""">>
<<< <<<
<$macrocall $name='wikitext-example-without-html' <$macrocall $name='wikitext-example-without-html'

View File

@ -1,6 +1,6 @@
caption: transclude caption: transclude
created: 20130824142500000 created: 20130824142500000
modified: 20220122190609396 modified: 20220513114759336
tags: Widgets tags: Widgets
title: TranscludeWidget title: TranscludeWidget
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@ -65,7 +65,4 @@ The transclude widget allows access to the individual tiddlers stored within a [
The following example will transclude the core version of the tiddler [[$:/DefaultTiddlers]] even if it has been overridden: The following example will transclude the core version of the tiddler [[$:/DefaultTiddlers]] even if it has been overridden:
<<wikitext-example-without-html ' <<wikitext-example-without-html """<$transclude tiddler="$:/core" subtiddler="$:/DefaultTiddlers"/>""">>
<$transclude tiddler="$:/core" subtiddler="$:/DefaultTiddlers"/>
'>>

View File

@ -1,14 +1,13 @@
caption: Code Blocks caption: Code Blocks
created: 20131205160047557 created: 20131205160047557
modified: 20160606140326254 modified: 20220513120302826
tags: WikiText tags: WikiText
title: Code Blocks in WikiText title: Code Blocks in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
You can use triple backticks <code>&#96;&#96;&#96;</code> to mark code blocks (<<.icon $:/core/images/mono-block>>): You can use triple backticks <code>&#96;&#96;&#96;</code> to mark code blocks (<<.icon $:/core/images/mono-block>>):
<pre> <pre>&#96;&#96;&#96;
&#96;&#96;&#96;
This will be monospaced This will be monospaced
&#96;&#96;&#96; &#96;&#96;&#96;
</pre> </pre>
@ -23,8 +22,7 @@ To be interpreted correctly, the three backticks need to be at the start of the
Be aware that any preceding paragraph content should be properly terminated with a double line break, too. So, this example is wrong: Be aware that any preceding paragraph content should be properly terminated with a double line break, too. So, this example is wrong:
<pre> <pre>This is an ordinary paragraph
This is an ordinary paragraph
&#96;&#96;&#96; &#96;&#96;&#96;
This will be monospaced This will be monospaced
&#96;&#96;&#96; &#96;&#96;&#96;
@ -32,8 +30,7 @@ This will be monospaced
The correct version is: The correct version is:
<pre> <pre>This is an ordinary paragraph
This is an ordinary paragraph
&#96;&#96;&#96; &#96;&#96;&#96;
This will be monospaced This will be monospaced

View File

@ -1,8 +1,12 @@
caption: Dashes
created: 20131205160641986 created: 20131205160641986
modified: 20131205160653909 modified: 20220513111920644
revision: 0
tags: WikiText tags: WikiText
title: Dashes in WikiText title: Dashes in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
caption: Dashes
You can create an n-dash with a double hyphen `--` and an m-dash with a triple hyphen `---`. For example -- this is an example --- and so is this You can create an n-dash with a double hyphen -- and an m-dash with a triple hyphen `---`.
<<wikitext-example src:"""* -- n-dash example
* --- m-dash example --- have fun!""">>

View File

@ -1,6 +1,6 @@
caption: Formatting caption: Formatting
created: 20131205155959399 created: 20131205155959399
modified: 20160606135946509 modified: 20220513120211686
tags: WikiText tags: WikiText
title: Formatting in WikiText title: Formatting in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
@ -8,12 +8,12 @@ type: text/vnd.tiddlywiki
Available character formatting includes: Available character formatting includes:
* <code>&#96;backticks&#96;</code> for `code` (<<.icon $:/core/images/mono-line>>) * <code>&#96;backticks&#96;</code> for `code` (<<.icon $:/core/images/mono-line>>)
** Alternatively, <code>&#96;&#96;double backticks allows &#96;embedded&#96; backticks&#96;&#96;</code> ** Alternatively, <code>&#96;&#96;double backticks allows &#96;embedded&#96; backticks&#96;&#96;</code><br><br>
* `''bold''` for ''bold text'' (<<.icon $:/core/images/bold>>) * `''bold''` for ''bold text'' (<<.icon $:/core/images/bold>>)<br><br>
* `//italic//` for //italic text// (<<.icon $:/core/images/italic>>) * `//italic//` for //italic text// (<<.icon $:/core/images/italic>>)<br><br>
* `__underscore__` for __underscored text__ (<<.icon $:/core/images/underline>>) * `__underscore__` for __underscored text__ (<<.icon $:/core/images/underline>>)<br><br>
* `^^superscript^^` for ^^superscripted^^ text (<<.icon $:/core/images/superscript>>) * `^^superscript^^` for ^^superscripted^^ text (<<.icon $:/core/images/superscript>>)<br><br>
* `,,subscript,,` for ,,subscripted,, text (<<.icon $:/core/images/subscript>>) * `,,subscript,,` for ,,subscripted,, text (<<.icon $:/core/images/subscript>>)<br><br>
* `~~strikethrough~~` for ~~strikethrough~~ text (<<.icon $:/core/images/strikethrough>>) * `~~strikethrough~~` for ~~strikethrough~~ text (<<.icon $:/core/images/strikethrough>>)
See also: [[Code Blocks in WikiText]] See also: [[Code Blocks in WikiText]]

View File

@ -1,9 +1,9 @@
caption: Headings
created: 20131205161234909 created: 20131205161234909
modified: 20190412000000000 modified: 20220513110830487
tags: WikiText tags: WikiText
title: Headings in WikiText title: Headings in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
caption: Headings
Headings are specified with one up to six leading `!` characters: Headings are specified with one up to six leading `!` characters:
@ -17,4 +17,4 @@ Headings are specified with one up to six leading `!` characters:
CSS classes can be assigned to individual headings like this: CSS classes can be assigned to individual headings like this:
<<wikitext-example src:"" "!!.myStyle This heading has the class `myStyle`">> <<wikitext-example src:"""!!.myStyle This heading has the class `myStyle`""">>

View File

@ -1,12 +1,10 @@
caption: Horizontal Rules
created: 20131205160706975 created: 20131205160706975
modified: 20131205160719633 modified: 20220513111257531
tags: WikiText tags: WikiText
title: Horizontal Rules in WikiText title: Horizontal Rules in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
caption: Horizontal Rules
You can include a horizontal rule with three or more dashes on their own on a line: You can include a horizontal rule with three or more dashes on their own on a line:
<<wikitext-example src:" <<wikitext-example src:"---">>
---
">>

View File

@ -1,41 +1,31 @@
caption: Tables
created: 20130914132100000 created: 20130914132100000
modified: 20140125144616046 modified: 20220513115945053
tags: WikiText tags: WikiText
title: Tables in WikiText title: Tables in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
caption: Tables
! Basics ! Basics
TiddlyWiki5 formats tables using vertical bar characters like so: TiddlyWiki5 formats tables using vertical bar `|` characters. Exclamation marks `!` are used to indicate header cells.
``` <<wikitext-example-without-html src:"""|!Cell1 |!Cell2 |
|!Cell1 |!Cell2 |
|Cell3 |Cell3 | |Cell3 |Cell3 |
``` """>>
Exclamation marks are used to indicate header cells. The example renders as:
|!Cell1 |!Cell2 |
|Cell3 |Cell3 |
! Cell Alignment ! Cell Alignment
Table cell alignment is controlled by inserting space characters before and/or after the cell content. For example: Table cell alignment is controlled by inserting space characters before and/or after the cell content. For example:
``` <<wikitext-example-without-html src:"""|Left aligned content |
|Left aligned content |
| Right aligned content| | Right aligned content|
| Centred content | | Centred content |
|+++ a very wide column so we can see the alignment +++| |+++ a very wide column so we can see the alignment +++|
``` """>>
The example renders as:
|Left aligned content |
| Right aligned content|
| Centred content |
|+++ a very wide column so we can see the alignment +++|
! Cell vertical Alignment ! Cell vertical Alignment
@ -60,23 +50,19 @@ If you need to have a `^`or a `,` as the first character of a left aligned cell,
| `^` | &amp;#94; | | `^` | &amp;#94; |
| `,` | &amp;#44; | | `,` | &amp;#44; |
! Cell Merging ! Cell Merging
To merge a table cell with the one above, use the special cell text `~`. To merge a cell with the one to its left use the text `<`. To merge one to its right use `>`. For example: To merge a table cell with the one above, use the special cell text `~`. To merge a cell with the one to its left use the text `<`. To merge one to its right use `>`. For example:
``` <<wikitext-example-without-html src:"""|Cell1 |Cell2 |Cell3 |Cell4 |
|Cell1 |Cell2 |Cell3 |Cell4 |
|Cell5 |Cell6 |Cell7 |<| |Cell5 |Cell6 |Cell7 |<|
|Cell5 |~|Cell7 |Cell8 | |Cell5 |~|Cell7 |Cell8 |
|>|Cell9 |Cell10 |Cell11 | |>|Cell9 |Cell10 |Cell11 |
``` """>>
Renders as:
|Cell1 |Cell2 |Cell3 |Cell4 |
|Cell5 |Cell6 |Cell7 |<|
|Cell5 |~|Cell7 |Cell8 |
|>|Cell9 |Cell10 |Cell11 |
! Table Classes, Captions, Headers and Footers ! Table Classes, Captions, Headers and Footers
@ -87,20 +73,10 @@ Table CSS classes, captions, headers and footers can be specified as special pse
* adds a header row of cells with the text "Header" * adds a header row of cells with the text "Header"
* adds a footer row of cells with the text "Footer" * adds a footer row of cells with the text "Footer"
``` <<wikitext-example-without-html src:"""|myclass anotherClass|k
|myclass anotherClass|k
|This is a caption |c
|Cell1 |Cell2 |
|Cell3 |Cell3 |
|Header|Header|h
|Footer|Footer|f
```
Renders as:
|myclass anotherClass|k
|This is a caption |c |This is a caption |c
|Cell1 |Cell2 | |Cell1 |Cell2 |
|Cell3 |Cell3 | |Cell3 |Cell3 |
|Header|Header|h |Header|Header|h
|Footer|Footer|f |Footer|Footer|f
""">>

View File

@ -1,15 +1,15 @@
caption: Widgets caption: Widgets
created: 20131205160840915 created: 20131205160840915
modified: 20220122193129241 modified: 20220513113347606
tags: WikiText tags: WikiText
title: Widgets in WikiText title: Widgets in WikiText
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki
Widgets provide rich functionality within WikiText. They have the same syntax as [[HTML elements|HTML in WikiText]], but the tag name always starts with `$`. For example: Widgets provide rich functionality within WikiText. They have the same syntax as [[HTML elements|HTML in WikiText]], but the tag name always starts with `$`. For example:
``` <$macrocall $name=".example" n="1"
<$button message="tm-close-tiddler">Close Me!</$button> eg="""<$button message="tm-navigate" to="HelloThere">Open ~HelloThere</$button>
``` """/>
Note that widgets inherit all the features of [[HTML in WikiText]]: Note that widgets inherit all the features of [[HTML in WikiText]]:

View File

@ -1,5 +1,5 @@
created: 20220110233944530 created: 20220110233944530
modified: 20220202022415581 modified: 20220513112653029
tags: WikiText tags: WikiText
title: WikiText Parser Modes title: WikiText Parser Modes
type: text/vnd.tiddlywiki type: text/vnd.tiddlywiki

View File

@ -489,3 +489,5 @@ Eskha, @es-kha, 2022/03/04
Guang Li, @oflg, 2022/03/12 Guang Li, @oflg, 2022/03/12
Dam S., @damscal, 2022/03/24 Dam S., @damscal, 2022/03/24
Max Schillinger, @MaxGyver83, 2022/05/11

View File

@ -42,8 +42,12 @@ exports.getInfoTiddlerFields = function() {
["is/sailfish","sailfish"], ["is/sailfish","sailfish"],
["is/android","android"], ["is/android","android"],
["is/windowsphone","windowsphone"], ["is/windowsphone","windowsphone"],
["is/firefoxos","firefoxos"] ["is/firefoxos","firefoxos"],
["is/mobile","mobile"]
]; ];
$tw.browser = $tw.utils.extend($tw.browser, {
is: bowser.browser,
});
$tw.utils.each(mappings,function(mapping) { $tw.utils.each(mappings,function(mapping) {
var value = bowser.browser[mapping[1]]; var value = bowser.browser[mapping[1]];
if(value === undefined) { if(value === undefined) {

View File

@ -115,15 +115,17 @@ function saveTiddlerToLocalStorage(title,options) {
function clearLocalStorage() { function clearLocalStorage() {
var url = window.location.pathname, var url = window.location.pathname,
log = []; log = [];
// Step through each browsder storage item // Step through each browser storage item
if(window.localStorage) {
for(var index=window.localStorage.length - 1; index>=0; index--) { for(var index=window.localStorage.length - 1; index>=0; index--) {
var key = window.localStorage.key(index), var key = window.localStorage.key(index),
parts = key.split("#"); parts = key.split("#");
// Delete it if it's ours // Delete it if it is ours
if(parts[0] === "tw5" && parts[1] === url) { if(parts[0] === "tw5" && parts[1] === url) {
window.localStorage.removeItem(key); window.localStorage.removeItem(key);
} }
} }
}
} }
})(); })();

View File

@ -0,0 +1,73 @@
title: $:/plugins/tiddlywiki/markdown/EditorToolbar/link-dropdown
\define lingo-base() $:/language/Buttons/Link/
\define add-link-actions()
\whitespace trim
<$action-sendmessage $message="tm-edit-text-operation" $param="make-markdown-link" text={{$(linkTiddler)$}} />
<$action-deletetiddler $filter="[<dropdown-state>] [<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]"/>
\end
\define get-focus-selector() [data-tiddler-title="$(cssEscapedTitle)$"] .tc-create-wikitext-link input
\define cancel-search-actions-inner()
<$set name="userInput" value={{{ [<storeTitle>get[text]] }}}><$list filter="[<searchTiddler>get[text]!match<userInput>]" emptyMessage="<$action-deletetiddler $filter='[<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]'/>"><$action-setfield $tiddler=<<searchTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text="yes"/></$list></$set>
\end
\define cancel-search-actions() <$list filter="[<storeTitle>!has[text]] +[<searchTiddler>!has[text]]" emptyMessage="<<cancel-search-actions-inner>>"><$action-sendmessage $message="tm-edit-text-operation" $param="focus-editor"/></$list>
\define external-link()
\whitespace trim
<$button class="tc-btn-invisible" style="width: auto; display: inline-block; background-colour: inherit;" actions=<<add-link-actions>>>
{{$:/core/images/chevron-right}}
</$button>
\end
\define set-next-input-tab(beforeafter:"after") <$macrocall $name="change-input-tab" stateTitle="$:/state/tab/search-results/sidebar" tag="$:/tags/SearchResults" beforeafter="$beforeafter$" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>"/>
\define body(config-title)
\whitespace trim
''<<lingo Hint>>''
<$vars searchTiddler="""$config-title$/search""" linkTiddler="""$config-title$/link""" linktext="" searchListState=<<qualify "$:/temp/link-search/selected-item">> refreshTitle=<<qualify "$:/temp/link-search/refresh">> storeTitle=<<qualify "$:/temp/link-search/input">>>
<$vars linkTiddler=<<searchTiddler>>>
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">> class="tc-create-wikitext-link">
<$macrocall $name="keyboard-driven-input" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>
selectionStateTitle=<<searchListState>> refreshTitle=<<refreshTitle>> type="search" filterMinLength="1"
tag="input" focus="true" class="tc-popup-handle" inputCancelActions=<<cancel-search-actions>>
inputAcceptActions=<<add-link-actions>> placeholder={{$:/language/Search/Search}} default=""
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]" />
</$keyboard>
</$keyboard>
&#32;
<$reveal tag="span" state=<<storeTitle>> type="nomatch" text="">
<<external-link>>
&#32;
<$button class="tc-btn-invisible" style="width: auto; display: inline-block; background-colour: inherit;">
<<cancel-search-actions>><$set name="cssEscapedTitle" value={{{ [<storyTiddler>escapecss[]] }}}><$action-sendmessage $message="tm-focus-selector" $param=<<get-focus-selector>>/></$set>
{{$:/core/images/close-button}}
</$button>
</$reveal>
</$vars>
<$reveal tag="div" state=<<storeTitle>> type="nomatch" text="">
<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>
<$vars userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>
{{$:/core/ui/SearchResults}}
</$vars>
</$linkcatcher>
</$reveal>
</$vars>
\end
<$macrocall $name="body" config-title=<<qualify "$:/state/Link/">>/>

View File

@ -0,0 +1,11 @@
title: $:/plugins/tiddlywiki/markdown/EditorToolbar/link
list-after: $:/core/ui/EditorToolbar/link
tags: $:/tags/EditorToolbar
icon: $:/core/images/link
caption: {{$:/language/Buttons/Link/Caption}}
description: {{$:/language/Buttons/Link/Hint}}
condition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]
button-classes: tc-text-editor-toolbar-item-start-group
shortcuts: ((link))
dropdown: $:/plugins/tiddlywiki/markdown/EditorToolbar/link-dropdown

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