tiddlywiki 5.3.0 → 5.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/build-site.sh +1 -1
- package/boot/boot.js +6 -7
- package/core/images/new-journal-button.tid +1 -3
- package/core/modules/parsers/wikiparser/rules/fnprocdef.js +2 -2
- package/core/modules/parsers/wikiparser/rules/parameters.js +1 -1
- package/core/modules/startup/rootwidget.js +1 -0
- package/core/modules/startup/startup.js +5 -0
- package/core/modules/utils/dom/dragndrop.js +4 -2
- package/core/modules/utils/dom/http.js +19 -3
- package/core/modules/widgets/checkbox.js +3 -1
- package/core/modules/widgets/importvariables.js +1 -1
- package/core/modules/widgets/select.js +4 -0
- package/core/modules/widgets/transclude.js +69 -39
- package/core/modules/widgets/widget.js +7 -28
- package/core/modules/wiki.js +1 -1
- package/core/ui/AlertTemplate.tid +1 -0
- package/core/ui/EditTemplate.tid +1 -0
- package/core/ui/ImportPreviews/Text.tid +1 -0
- package/core/ui/PageStylesheet.tid +1 -0
- package/core/ui/PageTemplate.tid +1 -0
- package/core/ui/RootTemplate.tid +1 -0
- package/core/ui/StoryTiddlerTemplate.tid +1 -0
- package/core/ui/ViewTemplate/body/default.tid +1 -0
- package/core/ui/ViewTemplate.tid +1 -0
- package/core/wiki/config/OfficialPluginLibrary.tid +1 -1
- package/core/wiki/config/ViewTemplateBodyFilters.multids +2 -1
- package/core/wiki/macros/toc.tid +2 -2
- package/core/wiki/tags/ViewTemplateBodyFilter.tid +1 -2
- package/editions/de-AT/tiddlers/external/tiddlywiki.files +1 -1
- package/editions/prerelease/tiddlers/{Release 5.3.1.tid → Release 5.3.2.tid } +30 -26
- package/editions/prerelease/tiddlers/system/PrereleaseLocalPluginLibrary.tid +1 -1
- package/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid +1 -1
- package/editions/prerelease/tiddlers/system/TiddlyWiki Pre-release.tid +1 -1
- package/editions/test/tiddlers/tests/data/functions/IndentedFunctions.tid +24 -0
- package/editions/test/tiddlers/tests/data/functions/WikifiedFunctions.tid +1 -1
- package/editions/test/tiddlers/tests/data/importvariables/WithSetWidgets.tid +23 -0
- package/editions/test/tiddlers/tests/data/importvariables/WithSetWidgets2.tid +22 -0
- package/editions/test/tiddlers/tests/data/importvariables/WithSetWidgetsAndMacros.tid +29 -0
- package/editions/test/tiddlers/tests/data/procedures/Nested-indented.tid +20 -0
- package/editions/test/tiddlers/tests/data/procedures/TrailingNewlines.tid +22 -0
- package/editions/test/tiddlers/tests/data/transclude/CustomWidget-Simple-Indented.tid +33 -0
- package/editions/test/tiddlers/tests/data/transclude/Parameterised-Shortcut-ParametersIndented.tid +20 -0
- package/editions/test/tiddlers/tests/data/transclude/Procedures-Double-Underscore.tid +26 -0
- package/editions/test/tiddlers/tests/data/widgets/SubstitutedAttributes.tid +5 -3
- package/editions/test/tiddlers/tests/test-filters.js +4 -4
- package/editions/tw5.com/tiddlers/community/resources/TiddlyWiki Posts.tid +3 -3
- package/editions/tw5.com/tiddlers/community/tutorials/GitHub Saver Tutorial by Mohammad.tid +5 -5
- package/editions/tw5.com/tiddlers/definitions/Git.tid +9 -0
- package/editions/tw5.com/tiddlers/definitions/GitHub.tid +6 -4
- package/editions/tw5.com/tiddlers/definitions/GitLab.tid +13 -0
- package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/Fourth.tid +2 -0
- package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondThreeThree.tid +11 -1
- package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/Third.tid +2 -0
- package/editions/tw5.com/tiddlers/filters/substitute Operator.tid +3 -3
- package/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +1 -1
- package/editions/tw5.com/tiddlers/images/New Release Banner.png +0 -0
- package/editions/tw5.com/tiddlers/images/{New Release Banner.jpg.meta → New Release Banner.png.meta } +1 -1
- package/editions/tw5.com/tiddlers/macros/TagMacro.tid +3 -1
- package/editions/tw5.com/tiddlers/macros/examples/tag.tid +22 -1
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-close-window.tid +2 -2
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-download-file.tid +3 -3
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-edit-bitmap-operation.tid +3 -3
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-edit-text-operation.tid +2 -2
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-focus-selector.tid +2 -2
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Example Random Dog.tid +90 -0
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Example Zotero.tid +4 -3
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request.tid +4 -2
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-modal.tid +2 -2
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-new-tiddler.tid +3 -3
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-notify.tid +3 -3
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-open-external-window.tid +4 -3
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-save-wiki.tid +3 -3
- package/editions/tw5.com/tiddlers/pragmas/Pragma_ _procedure.tid +2 -2
- package/editions/tw5.com/tiddlers/pragmas/Pragma_ _rules.tid +2 -2
- package/editions/tw5.com/tiddlers/pragmas/Pragmas.tid +3 -1
- package/editions/tw5.com/tiddlers/procedures/Procedure Definitions.tid +1 -1
- package/editions/tw5.com/tiddlers/releasenotes/Release 5.3.1.tid +80 -0
- package/editions/tw5.com/tiddlers/releasenotes/Releases.tid +1 -1
- package/editions/tw5.com/tiddlers/releasenotes/TiddlyWiki Releases.tid +1 -1
- package/editions/tw5.com/tiddlers/{Saving on Browser with TiddlyStow.tid → saving/Saving on Browser with TiddlyStow.tid } +2 -2
- package/editions/tw5.com/tiddlers/saving/Saving to a Git service.tid +5 -1
- package/editions/tw5.com/tiddlers/saving/Saving via a Minimal Web Server.tid +8 -11
- package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Macro.tid +1 -1
- package/editions/tw5.com/tiddlers/variables/Behaviour of invoked variables depends on how the variable was declared.tid +52 -0
- package/editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via filter expression function call.tid +10 -0
- package/editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via filter operator parameter.tid +11 -0
- package/editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via normal wikitext.tid +11 -0
- package/editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via widget attributes.tid +11 -0
- package/editions/tw5.com/tiddlers/variables/Variable Usage.tid +5 -49
- package/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid +24 -2
- package/editions/tw5.com/tiddlers/widgets/ActionPopupWidget.tid +2 -2
- package/editions/tw5.com/tiddlers/widgets/ListWidget.tid +3 -1
- package/editions/tw5.com/tiddlers/widgets/SelectWidget.tid +1 -1
- package/editions/tw5.com/tiddlers/widgets/examples/ActionListopsWidget (Examples).tid +12 -1
- package/editions/tw5.com/tiddlers/wikitext/Anchor Links using HTML.tid +1 -1
- package/editions/tw5.com/tiddlers/wikitext/Styles and Classes in WikiText.tid +52 -19
- package/editions/tw5.com/tiddlers/wikitext/Variable Attribute Values.tid +5 -2
- package/editions/tw5.com/tiddlers/wikitext/Widget Attributes.tid +8 -3
- package/editions/tw5.com/tiddlers/wikitext/Widgets in WikiText.tid +1 -0
- package/languages/pl-PL/Help/savewikifolder.tid +17 -4
- package/languages/zh-Hans/Help/savewikifolder.tid +5 -1
- package/languages/zh-Hant/Help/savewikifolder.tid +5 -1
- package/licenses/cla-individual.md +10 -0
- package/package.json +1 -1
- package/plugins/tiddlywiki/googleanalytics/googleanalytics.js +1 -1
- package/plugins/tiddlywiki/googleanalytics/settings.tid +1 -3
- package/plugins/tiddlywiki/jasmine/jasmine-plugin.js +9 -2
- package/plugins/tiddlywiki/jasmine/startup.js +2 -1
- package/readme.md +1 -1
- package/themes/tiddlywiki/vanilla/base.tid +8 -7
- package/editions/tw5.com/tiddlers/images/New Release Banner.jpg +0 -0
package/editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via normal wikitext.tid
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
created: 20230726142925020
|
2
|
+
modified: 20230726150648189
|
3
|
+
tags: [[Variable Usage]]
|
4
|
+
title: Behaviour of variables invoked via normal wikitext
|
5
|
+
type: text/vnd.tiddlywiki
|
6
|
+
|
7
|
+
|tc-first-col-min-width|k
|
8
|
+
|!how declared|!behaviour|
|
9
|
+
|\define|All wikitext and variable substitution and textual substitution takes place|
|
10
|
+
|<<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \procedure, \widget|All wikitext and variable substitution takes place|
|
11
|
+
|\function|Invoking a function in this way (`<<macro>>`) is a synonym for `<$text text={{{[function[macro]]}}}/>`. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded|
|
package/editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via widget attributes.tid
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
created: 20230726143332803
|
2
|
+
modified: 20230726150616232
|
3
|
+
tags: [[Variable Usage]]
|
4
|
+
title: Behaviour of variables invoked via widget attributes
|
5
|
+
type: text/vnd.tiddlywiki
|
6
|
+
|
7
|
+
|tc-first-col-min-width|k
|
8
|
+
|!how declared|!behaviour|
|
9
|
+
|\define|Textual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the attribute's value|
|
10
|
+
|<<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \procedure, \widget|Body text is retrieved as-is and used as the attribute's value.|
|
11
|
+
|\function|When a function is invoked as `<div class=<<macro>>/>`, it is a synonym for `<div class={{{[function[macro]]}}}/>`. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded. That first result is used as the attribute's value. Note that functions are recursively processed even when invoked in this form. In other words a filter expression in a function can invoke another function and the processing will continue|
|
@@ -1,13 +1,9 @@
|
|
1
1
|
created: 20230421020225031
|
2
|
-
modified:
|
2
|
+
modified: 20230726145912019
|
3
3
|
tags:
|
4
4
|
title: Variable Usage
|
5
5
|
type: text/vnd.tiddlywiki
|
6
6
|
|
7
|
-
\define m1(a1) $a1$ - <<__a1__>> - <<a1>>
|
8
|
-
\procedure p1(a1) $a1$ - <<__a1__>> - <<a1>>
|
9
|
-
\function f1(a1) "$a1$" "-" [<__a1__>] ="-" [<a1>] :and[join[ ]]
|
10
|
-
|
11
7
|
!Ways to define variables and parameters
|
12
8
|
|! how declared|! how parameters are defined|! accessing parameter values in the body|
|
13
9
|
|\define|`()`|`$param$, <<__param__>>`|
|
@@ -100,50 +96,10 @@ These examples are meant to provide insight into the various ways of defining an
|
|
100
96
|
</$let>
|
101
97
|
|
102
98
|
|
103
|
-
!
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|~|<<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \procedure, \widget|All wikitext and variable substitution takes place|
|
108
|
-
|~|\function|Invoking a function in this way (`<<macro>>`) is a synonym for `<$text text={{{[function[macro]]}}}/>`. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded.|
|
109
|
-
||||
|
110
|
-
|widget attribute: `<div class=<<macro>>/>`|\define|Textual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the attribute's value|
|
111
|
-
|~|<<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \procedure, \widget|Body text is retrieved as-is and used as the attribute's value.|
|
112
|
-
|~|\function|When a function is invoked as `<div class=<<macro>>/>`, it is a synonym for `<div class={{{[function[macro]]}}}/>`. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded. That first result is used as the attribute's value. Note that functions are recursively processed even when invoked in this form. In other words a filter expression in a function can invoke another function and the processing will continue|
|
113
|
-
||||
|
114
|
-
|filter operator parameter: `[<macro>]`|\define|Textual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the filter operator's parameter.|
|
115
|
-
|~|<<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \procedure, \widget|Body text is retrieved as-is and used as the filter operator's parameter.|
|
116
|
-
|~|\function|The body text of the function is treated as a filter expression and evaluated. The first result is passed to the operator as a parameter. The remaining results are discarded|
|
117
|
-
||||
|
118
|
-
|function call in a filter expression: `[function[macro]]`|\define, <<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \procedure, \widget|Every function is a variable, but only variables defined using \function are invokable using the <<.olink function>> filter operator. Attempts to use a non-function variable is the same as if the function doesn't exist. The behavior in this case is like the identity function. All filter input is passed unchanged to the output.|
|
119
|
-
|~|\function|The body text of the function is treated as a filter expression and evaluated. This filter expression can itself contain a function call. Filter expressions can be factored out into functions arbitrarily deep.|
|
120
|
-
|
121
|
-
!! Examples
|
122
|
-
|
123
|
-
Below is an example macro, procedure and function definition. All three forms of parameter substitution `$a1$`, `<<__a1__>>`, and `<<a1>>` are included in each definition. The output helps illustrate when each form of substitution will or will not have affect.
|
124
|
-
|
125
|
-
```
|
126
|
-
\define m1(a1) $a1$ - <<__a1__>> - <<a1>>
|
127
|
-
\procedure p1(a1) $a1$ - <<__a1__>> - <<a1>>
|
128
|
-
\function f1(a1) $a1$ "-" [<__a1__>] ="-" [<a1>] :and[join[ ]]
|
129
|
-
```
|
130
|
-
|
131
|
-
| !Variable transclusion|!output |
|
132
|
-
| `<<m1 foo>>`|<<m1 foo>>|
|
133
|
-
| `<<p1 foo>>`|<<p1 foo>>|
|
134
|
-
| `<<f1 foo>>`|<<f1 foo>>|
|
135
|
-
| !Widget attribute|!output |
|
136
|
-
| `<$text text=<<m1 foo>>/>`|<$text text=<<m1 foo>>/>|
|
137
|
-
| `<$text text=<<p1 foo>>/>`|<$text text=<<p1 foo>>/>|
|
138
|
-
| `<$text text=<<f1 foo>>/>`|<$text text=<<f1 foo>>/>|
|
139
|
-
| !Filter operator parameter|!output |
|
140
|
-
| `[<m1 foo>]`|<$text text={{{[<m1 foo>]}}}/>|
|
141
|
-
| `[<p1 foo>]`|<$text text={{{[<p1 foo>]}}}/>|
|
142
|
-
| `[<f1 foo>]`|<$text text={{{[<f1 foo>]}}}/>|
|
143
|
-
| !Function call in filter expression|!output |
|
144
|
-
| `[function[m1],[foo]]`|<$text text={{{[function[m1],[foo]]}}}/>|
|
145
|
-
| `[function[p1],[foo]]`|<$text text={{{[function[p1],[foo]]}}}/>|
|
146
|
-
| `[function[f1],[foo]]`|<$text text={{{[function[f1],[foo]]}}}/>|
|
99
|
+
!Behaviour of invoked variables depends on how the variable was declared
|
100
|
+
|
101
|
+
{{Behaviour of invoked variables depends on how the variable was declared}}
|
102
|
+
|
147
103
|
|
148
104
|
!Namespaces
|
149
105
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
caption: action-listops
|
2
2
|
created: 20141025120850184
|
3
|
-
modified:
|
3
|
+
modified: 20230805103548113
|
4
4
|
myfield:
|
5
5
|
tags: ActionWidgets Widgets
|
6
6
|
title: ActionListopsWidget
|
@@ -22,6 +22,28 @@ The ''action-listops'' widget is invisible. Any content within it is ignored.
|
|
22
22
|
|$subfilter |An optional subfilter expression, which takes the list being manipulated as input, and saves the modified list back to the field/index being manipulated |
|
23
23
|
|$tags |An optional subfilter expression, which takes the <<.field tags>> field of the target tiddler as input, and saves the modified list of tags back to the <<.field tags>> field |
|
24
24
|
|
25
|
+
!! Note on subfilter expressions
|
26
|
+
|
27
|
+
If the manipulation depends on the current contents of the list, e.g. when using the <<.olink toggle>> operator to toggle the presence of an element, the [[Filter Run]] would be prefixed with the `+` / `:and` [[filter run prefix|Filter Expression]] so that it properly receives the list as input.
|
28
|
+
|
29
|
+
```
|
30
|
+
<$action-listops $subfilter="+[toggle[List Item]]"/>
|
31
|
+
```
|
32
|
+
|
33
|
+
The above widget will toggle the presence of the element <<.value "List Item">> in the field <<.field list>> of the current tiddler, removing or adding the element as necessary.
|
34
|
+
|
35
|
+
Similarly, if an element is to always be removed when it is present, the `-` / `:except` [[filter run prefix|Filter Expression]] can be used. Both of the following yield the same result:
|
36
|
+
|
37
|
+
```
|
38
|
+
<$action-listops $subfilter="-[[List Item]]"/>
|
39
|
+
<$action-listops $subfilter="+[remove[List Item]]"/>
|
40
|
+
```
|
41
|
+
|
42
|
+
Without any prefixes, the filter run output is simply [[dominantly appended|Dominant Append]] to the list.
|
43
|
+
|
44
|
+
See also the [[Examples|ActionListopsWidget (Examples)]].
|
45
|
+
|
46
|
+
|
25
47
|
!! Using $filter or $subfilter
|
26
48
|
|
27
49
|
Standalone use of the `$subfilter` attribute can be replaced by using a (more complicated) `$filter` attribute value.
|
@@ -103,4 +125,4 @@ Add 'abc' to 'myfield'
|
|
103
125
|
The [[enlist Operator]] with `raw` suffix will enlist the list saved in <<.field myfield>> of the current tiddler without de-duplication, while e.g. the [[list Operator]] will always de-duplicate. The widget then adds the item <<.value abc>> -- whether or not it is already included in the list -- and replaces the original list in <<.field myfield>>.
|
104
126
|
|
105
127
|
|
106
|
-
! [[Examples|ActionListopsWidget (Examples)]]
|
128
|
+
! [[Examples|ActionListopsWidget (Examples)]]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
caption: action-popup
|
2
2
|
created: 20200303114556528
|
3
|
-
modified:
|
3
|
+
modified: 20230731193016105
|
4
4
|
tags: Widgets ActionWidgets
|
5
5
|
title: ActionPopupWidget
|
6
6
|
type: text/vnd.tiddlywiki
|
@@ -30,6 +30,6 @@ Here is an example of button that triggers the "more" button in the sidebar "Too
|
|
30
30
|
<$macrocall $name='wikitext-example-without-html'
|
31
31
|
src='<$button>
|
32
32
|
<$action-setfield $tiddler="$:/state/tab/sidebar--595412856" $value="$:/core/ui/SideBar/Tools"/>
|
33
|
-
<$action-popup $state="$:/state/popup/more
|
33
|
+
<$action-popup $state="$:/state/popup/more--810643385" $coords="(0,20,0,0)"/>
|
34
34
|
Click me!
|
35
35
|
</$button>'/>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
caption: list
|
2
2
|
created: 20131024141900000
|
3
|
-
modified:
|
3
|
+
modified: 20230725203601441
|
4
4
|
tags: Widgets Lists
|
5
5
|
title: ListWidget
|
6
6
|
type: text/vnd.tiddlywiki
|
@@ -119,6 +119,8 @@ Displays as:
|
|
119
119
|
|
120
120
|
Note that using the `counter` attribute can reduce performance when working with list items that dynamically reorder or update themselves. The best advice is only to use it when it is really necessary: to obtain a numeric index, or to detect the first or last entries in the list.
|
121
121
|
|
122
|
+
Setting `counter="transclusion"` is a handy way to make child elements for each list element be identified as unique. A common use case are multiple [[tag macros|tag Macro]] for the same tag generated by a list widget. Refer to [[tag macro examples|tag Macro (Examples)]] for more details.
|
123
|
+
|
122
124
|
!! Edit mode
|
123
125
|
|
124
126
|
The `<$list>` widget can optionally render draft tiddlers through a different template to handle editing, see DraftMechanism.
|
@@ -41,7 +41,7 @@ The content of the `<$select>` widget should be one or more HTML `<option>` or `
|
|
41
41
|
|size |The number of rows to display in multiple selection mode |
|
42
42
|
|actions |A string containing ActionWidgets to be triggered when the key combination is detected |
|
43
43
|
|focus |<<.from-version "5.2.4">> Optional. Set to "yes" to automatically focus the HTML select element after creation |
|
44
|
-
|
44
|
+
|tabindex |<<.from-version "5.3.1">> Optional. Sets the `tabindex` attribute of the HTML select element to the given value |
|
45
45
|
! Examples
|
46
46
|
|
47
47
|
!! Simple Lists
|
@@ -1,8 +1,9 @@
|
|
1
1
|
created: 20230301174431218
|
2
2
|
list: efg hlm pqr
|
3
|
-
modified:
|
3
|
+
modified: 20230805103601224
|
4
4
|
myfield:
|
5
5
|
revision: 0
|
6
|
+
tags: ActionListopsWidget
|
6
7
|
title: ActionListopsWidget (Examples)
|
7
8
|
type: text/vnd.tiddlywiki
|
8
9
|
|
@@ -47,6 +48,16 @@ Unmangle List
|
|
47
48
|
|
48
49
|
</$list>"""/>
|
49
50
|
|
51
|
+
---
|
52
|
+
The following example toggles the tag <<.value Examples>> for the current tiddler.
|
53
|
+
|
54
|
+
<$macrocall $name='wikitext-example-without-html'
|
55
|
+
src="""<$button>
|
56
|
+
<$action-listops $tags="+[toggle[Examples]]"/>
|
57
|
+
Toggle 'Examples' tag
|
58
|
+
</$button>
|
59
|
+
"""/>
|
60
|
+
|
50
61
|
---
|
51
62
|
In this example we shall append a few tags to the 'tags' field of this tiddler (the default). We shall then remove some of the appended tags.
|
52
63
|
|
@@ -46,7 +46,7 @@ That's it.
|
|
46
46
|
<a id="#Bottom_of_tiddler"></a>
|
47
47
|
```
|
48
48
|
|
49
|
-
*Add an <<.attr id>> attribute to any HTML5 tag and place a single `#` before the 'address' value. <a href
|
49
|
+
*Add an <<.attr id>> attribute to any HTML5 tag and place a single `#` before the 'address' value. <a href=<<qualify "##Suggestions-for-elements">>>Here are some suggestions of tags you can use.</a>
|
50
50
|
* Place this code at the target location. E.g. at the bottom of the tiddler.
|
51
51
|
|
52
52
|
''Step 2: Create a link to the target anchor''
|
@@ -1,21 +1,23 @@
|
|
1
|
+
caption: Styles and Classes
|
1
2
|
created: 20131205160532119
|
2
|
-
modified:
|
3
|
+
modified: 20230726105744098
|
3
4
|
tags: WikiText [[How to apply custom styles]]
|
4
5
|
title: Styles and Classes in WikiText
|
5
6
|
type: text/vnd.tiddlywiki
|
6
|
-
caption: Styles and Classes
|
7
7
|
|
8
|
-
|
8
|
+
CSS styles and classes can be applied to inline or block content wrapped in `@@double at signs@@`. Classes can be applied to certain block WikiText elements.
|
9
|
+
|
10
|
+
//Inline content// wrapped in `@@double at signs@@` without specifying style or class will be assigned the `tc-inline-style` class and displayed as highlighted text. The foreground and background colours of the highlighted text are defined as `highlight-background` and `highlight-foreground` in the current palette.
|
9
11
|
|
10
|
-
|
12
|
+
<<wikitext-example src:"@@Highlighted text@@">>
|
11
13
|
|
12
|
-
|
14
|
+
!! Styles
|
13
15
|
|
14
|
-
|
16
|
+
Multiple style attributes, e.g. `color`, each followed by `;` semicolon can be introduced immediately after the opening `@@`, without spaces in between.
|
15
17
|
|
16
|
-
<<wikitext-example src:"@@color:steelblue;background-color:lightcyan;
|
18
|
+
<<wikitext-example src:"@@color:steelblue;background-color:lightcyan;Text with custom style@@">>
|
17
19
|
|
18
|
-
Similarly
|
20
|
+
Similarly, styles can be applied to //block content//. Wrapping block content in `@@` without specifying style or class has no effect.
|
19
21
|
|
20
22
|
<<wikitext-example src:"@@background-color:lightcyan;
|
21
23
|
* Item one
|
@@ -23,18 +25,49 @@ Similarly a style can be applied to a multiline content:
|
|
23
25
|
@@
|
24
26
|
">>
|
25
27
|
|
26
|
-
|
28
|
+
!! Classes
|
27
29
|
|
28
|
-
|
29
|
-
|
30
|
-
|
30
|
+
The following `coloured-text` and `coloured-bg` classes are defined in this tiddler for demonstration purposes:
|
31
|
+
|
32
|
+
|
33
|
+
```
|
34
|
+
.coloured-text {color: darkkhaki;}
|
35
|
+
.coloured-bg {background-color: cornsilk;}
|
36
|
+
```
|
37
|
+
|
38
|
+
<style>
|
39
|
+
.coloured-text {color: darkkhaki;}
|
40
|
+
.coloured-bg {background-color: cornsilk;}
|
41
|
+
</style>
|
42
|
+
|
43
|
+
Multiple classes, each prefixed with `.`, can be introduced immediately after the opening `@@`, followed by a ` ` space. This works both for inline and block content:
|
44
|
+
|
45
|
+
<<wikitext-example src:"@@.coloured-text.coloured-bg Inline content with two assigned classes@@">>
|
46
|
+
|
47
|
+
<<wikitext-example src:"@@.coloured-bg
|
48
|
+
* Block content
|
49
|
+
* With one assigned class
|
31
50
|
@@">>
|
32
51
|
|
33
|
-
Multiple classes and styles can be
|
52
|
+
Multiple classes and styles can be applied simultaneously. In case of inline content, the styles have to be defined first, followed by the classes.
|
34
53
|
|
35
|
-
<<wikitext-example src:"
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
@@
|
40
|
-
|
54
|
+
<<wikitext-example src:"@@font-size:1.5em;.coloured-text.coloured-bg Text with custom style and classes@@">>
|
55
|
+
|
56
|
+
In case of block content, the styles and classes can be defined in a single line after the opening `@@` identically as for the inline content, or in separate lines, each beginning with `@@`:
|
57
|
+
|
58
|
+
<<wikitext-example src:"@@font-size:1.5em;
|
59
|
+
@@.coloured-text
|
60
|
+
@@.coloured-bg
|
61
|
+
* Block content
|
62
|
+
* With custom style and classes
|
63
|
+
@@">>
|
64
|
+
|
65
|
+
In a similar way classes, but not styles, can be applied to those block WikiText elements that are introduced through characters on the beginning of the line. The classes prefixed with `.` are specified immediately after the special characters, followed by a ` ` space.
|
66
|
+
|
67
|
+
<<wikitext-example src:"!!!.coloured-bg Heading with a custom background class.
|
68
|
+
|
69
|
+
* Standard list element.
|
70
|
+
*.coloured-bg List element with a custom background colour class.
|
71
|
+
*.coloured-text List element with a custom text colour class.
|
72
|
+
*.coloured-bg.coloured-text List element with both of the custom classes.
|
73
|
+
">>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
created: 20230615045239825
|
2
|
-
modified:
|
2
|
+
modified: 20230726151053593
|
3
3
|
tags: [[Widget Attributes]] WikiText
|
4
4
|
title: Variable Attribute Values
|
5
5
|
type: text/vnd.tiddlywiki
|
@@ -11,4 +11,7 @@ Variable attribute values are indicated with double angle brackets around a [[ma
|
|
11
11
|
...
|
12
12
|
</div>
|
13
13
|
```
|
14
|
-
|
14
|
+
|
15
|
+
The behaviour of variables invoked via widget attributes is not the same as when they are [[invoked via normal wikitext|Behaviour of variables invoked via normal wikitext]]. In addition, the behaviour depends on how the variable is declared:
|
16
|
+
|
17
|
+
{{Behaviour of variables invoked via widget attributes}}
|
@@ -1,14 +1,14 @@
|
|
1
1
|
created: 20230615045526689
|
2
|
-
modified:
|
2
|
+
modified: 20230731210638956
|
3
3
|
tags: WikiText
|
4
4
|
title: Widget Attributes
|
5
5
|
type: text/vnd.tiddlywiki
|
6
6
|
|
7
|
-
Attributes of HTML elements and widgets can be specified in several different ways:
|
7
|
+
Attributes of [[HTML elements|HTML in WikiText]] and widgets can be specified in several different ways:
|
8
8
|
|
9
9
|
* [[a literal string|Literal Attribute Values]]
|
10
10
|
* [[a transclusion of a textReference|Transcluded Attribute Values]]
|
11
|
-
* [[a transclusion of a macro/variable|
|
11
|
+
* [[a transclusion of a macro/variable|Variable Attribute Values]]
|
12
12
|
* [[as the result of a filter expression|Filtered Attribute Values]]
|
13
13
|
* <<.from-version "5.3.0">> [[as the result of performing filter and variable substitutions on the given string|Substituted Attribute Values]]
|
14
14
|
|
@@ -19,3 +19,8 @@ Attributes of HTML elements and widgets can be specified in several different wa
|
|
19
19
|
|filtered |triple curly braces around a filter expression|
|
20
20
|
|substituted|single or triple backticks around the text to be processed for substitutions|
|
21
21
|
|
22
|
+
|
23
|
+
<$list filter="[[Literal Attribute Values]] [[Transcluded Attribute Values]] [[Variable Attribute Values]] [[Filtered Attribute Values]] [[Substituted Attribute Values]]">
|
24
|
+
<$link><h1><$text text=<<currentTiddler>>/></h1></$link>
|
25
|
+
<$transclude mode="block"/>
|
26
|
+
</$list>
|
@@ -20,6 +20,7 @@ Note that widgets inherit all the features of [[HTML in WikiText]]:
|
|
20
20
|
** Macro invocations (eg `attr=<<myMacro>>`)
|
21
21
|
** Transclusions (eg, `attr={{MyTiddler!!field}}`)
|
22
22
|
** Filtered transclusions (eg, `attr={{{ [filter[op]] }}}`)
|
23
|
+
** <<.from-version "5.3.0">> [[Substituted Attribute Values]]
|
23
24
|
* The content of a widget is [[parsed|WikiText Parser Modes]] in [[inline mode|Inline Mode WikiText]] unless the opening tag is followed by two linebreaks, which forces [[block mode|Block Mode WikiText]]
|
24
25
|
** [[inline mode|Inline Mode WikiText]] means that [[block mode|Block Mode WikiText]] parse rules like headings, tables and lists are not recognised
|
25
26
|
|
@@ -4,16 +4,29 @@ description: Zapisuje wiki do nowego folderu
|
|
4
4
|
<<.from-version "5.1.20">> Zapisuje obecną wiki do nowego folderu wliczając tiddlery, wtyczki i konfigurację:
|
5
5
|
|
6
6
|
```
|
7
|
-
--savewikifolder <wikifolderpath> [<filter>]
|
7
|
+
--savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]
|
8
8
|
```
|
9
9
|
|
10
|
-
* Docelowy folder musi być pusty lub
|
11
|
-
* `filter` określa które tiddlery będą skopiowane, domyślnie to `[all[tiddlers]]`
|
10
|
+
* Docelowy folder musi być pusty lub nie istnieć
|
11
|
+
* Argument `filter` określa które tiddlery będą skopiowane, domyślnie to `[all[tiddlers]]`
|
12
12
|
* Wtyczki z oficjalnej biblioteki wtyczek są zamieniane na odnośniki do tych wtyczek w pliku `tiddlywiki.info`
|
13
13
|
* Własne wtyczki zostają wypakowane do osobnych folderów
|
14
14
|
|
15
|
+
Wspierane argumenty:
|
16
|
+
|
17
|
+
* ''filter'': wyrażenie filtra określające które tiddlery mają być uwzględnione w zapisanej wiki
|
18
|
+
* ''explodePlugins'': domyślna wartość to `yes`:
|
19
|
+
** `yes` rozdzieli wtyczki na osobne pliki tiddlerów i zapisze je do podfolderu z wtyczkami
|
20
|
+
** `no` każda wtyczka będzie zapisana jako jeden zbiorczy plik w formacie JSON w folderze z tiddlerami
|
21
|
+
|
15
22
|
Typowe zastosowanie to konwersja pliku TiddlyWiki w formie pliku HTML do formatu folderu:
|
16
23
|
|
17
24
|
```
|
18
|
-
tiddlywiki --load ./
|
25
|
+
tiddlywiki --load ./mojawiki.html --savewikifolder ./folderwiki
|
26
|
+
```
|
27
|
+
|
28
|
+
Zapisanie wtyczek jako zwykłych tiddlerów:
|
29
|
+
|
19
30
|
```
|
31
|
+
tiddlywiki --load ./mojawiki.html --savewikifolder ./folderwiki explodePlugins=no
|
32
|
+
```
|
@@ -15,7 +15,11 @@ description: 将维基保存到一个新的维基文件夹
|
|
15
15
|
支持以下选项:
|
16
16
|
|
17
17
|
* ''filter'':定义要包含在输出中的条目的筛选器操作符。
|
18
|
-
* ''explodePlugins''
|
18
|
+
* ''explodePlugins'': 默认为 "yes"
|
19
|
+
** ''yes'' 将 "分解" 插件为单独的条目文件,并将其保存到维基文件夹内的插件目录中
|
20
|
+
** ''no'' 将抑制分解插件到其组成的条目文件中。它将把插件保存为 tiddlers 文件夹中的单个 JSON 条目
|
21
|
+
|
22
|
+
请注意,两个 ''explodePlugins'' 选项都会生成构建完全相同的原始维基的维基文件夹。区别在于插件在维基文件夹中的表示方式。
|
19
23
|
|
20
24
|
常见的用法是将一个 TiddlyWiki HTML 文件转换成维基文件夹:
|
21
25
|
|
@@ -15,7 +15,11 @@ description: 將維基儲存到一個新的維基資料夾
|
|
15
15
|
支援以下選項:
|
16
16
|
|
17
17
|
* ''filter'':定義要包含在輸出中的條目的篩選器運算子。
|
18
|
-
* ''explodePlugins''
|
18
|
+
* ''explodePlugins'': 預設為 "yes"
|
19
|
+
** ''yes'' 將 "分解" 插件為單獨的條目檔案,並將其儲存到維基資料夾內的插件目錄中
|
20
|
+
** ''no'' 將抑制分解插件到其組成的條目檔案中。它將把插件儲存為 tiddlers 資料夾中的單個 JSON 條目
|
21
|
+
|
22
|
+
請注意,兩個 ''explodePlugins'' 選項都會產生構建完全相同的原始維基的維基資料夾。區別在於插件在維基資料夾中的表示方式。
|
19
23
|
|
20
24
|
常見的用法是將一個 TiddlyWiki HTML 檔案轉換成維基資料夾:
|
21
25
|
|
@@ -537,3 +537,13 @@ Tavin Cole, @tavin, 2023/05/25
|
|
537
537
|
WhiteFall, @Zacharia2, 2023/06/04
|
538
538
|
|
539
539
|
@oeyoews, 2023/06/30
|
540
|
+
|
541
|
+
Eric Haberstroh, @pille1842, 2023/07/23
|
542
|
+
|
543
|
+
@lilscribby, 2023-07-24
|
544
|
+
|
545
|
+
@TiddlyTweeter, 2023/07/25
|
546
|
+
|
547
|
+
@catter-fly, 2023/07/27
|
548
|
+
|
549
|
+
@cmo-pomerium, 2023/08/03
|
package/package.json
CHANGED
@@ -3,7 +3,7 @@ title: $:/plugins/tiddlywiki/googleanalytics/googleanalytics.js
|
|
3
3
|
type: application/javascript
|
4
4
|
module-type: startup
|
5
5
|
|
6
|
-
Runs Google Analytics with the
|
6
|
+
Runs Google Analytics with the measurement ID in the tiddler `$:/GoogleAnalyticsMeasurementID`
|
7
7
|
|
8
8
|
\*/
|
9
9
|
(function(){
|
@@ -1,6 +1,4 @@
|
|
1
1
|
title: $:/plugins/tiddlywiki/googleanalytics/settings
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
# ''[[Google Analytics Measurement ID|$:/GoogleAnalyticsMeasurementID]]'': (mandatory) a code of the form `G-XXXXXXXXXX` where X are digits or uppercase letters<br/><$edit-text tiddler="$:/GoogleAnalyticsMeasurementID" default="" tag="input"/>
|
3
|
+
''[[Google Analytics Measurement ID|$:/GoogleAnalyticsMeasurementID]]'': (mandatory) a code of the form `G-XXXXXXXXXX` where X are digits or uppercase letters<br/><$edit-text tiddler="$:/GoogleAnalyticsMeasurementID" default="" tag="input"/>
|
6
4
|
|
@@ -94,7 +94,12 @@ exports.runTests = function(callback,specFilter) {
|
|
94
94
|
if($tw.browser) {
|
95
95
|
window.jasmineRequire = jasmineCore;
|
96
96
|
$tw.modules.execute("$:/plugins/tiddlywiki/jasmine/jasmine-core/jasmine-core/jasmine-html.js");
|
97
|
+
// Prevent jasmine-core/boot.js from installing its own onload handler. We'll execute it explicitly when everything is ready
|
98
|
+
var previousOnloadHandler = window.onload;
|
99
|
+
window.onload = function() {};
|
97
100
|
$tw.modules.execute("$:/plugins/tiddlywiki/jasmine/jasmine-core/jasmine-core/boot.js");
|
101
|
+
var jasmineOnloadHandler = window.onload;
|
102
|
+
window.onload = function() {};
|
98
103
|
jasmine = window.jasmine;
|
99
104
|
} else {
|
100
105
|
// Add missing properties to `jasmineCore` in order to call the Jasmine
|
@@ -144,9 +149,11 @@ exports.runTests = function(callback,specFilter) {
|
|
144
149
|
// Iterate through all the test modules
|
145
150
|
var tests = $tw.wiki.filterTiddlers(TEST_TIDDLER_FILTER);
|
146
151
|
$tw.utils.each(tests,evalInContext);
|
147
|
-
// In a browser environment, jasmine-core/boot.js
|
152
|
+
// In a browser environment, we use jasmine-core/boot.js to call `execute()` for us.
|
148
153
|
// In Node.js, we call it manually.
|
149
|
-
if(
|
154
|
+
if($tw.browser) {
|
155
|
+
jasmineOnloadHandler();
|
156
|
+
} else {
|
150
157
|
nodeJasmineWrapper.execute(null,specFilter);
|
151
158
|
}
|
152
159
|
};
|
@@ -17,8 +17,9 @@ var jasmine = require("./jasmine-plugin.js");
|
|
17
17
|
exports.name = "jasmine";
|
18
18
|
|
19
19
|
if($tw.browser) {
|
20
|
-
// Jasmine is run automatically on the browser, so always add it here.
|
21
20
|
exports.startup = jasmine.runTests;
|
21
|
+
exports.before = ["render"];
|
22
|
+
exports.after = ["story"];
|
22
23
|
} else {
|
23
24
|
// However, if we're on node.js, the tests are explciitly run with the
|
24
25
|
// --test command. This didn't used to be the case, so if they're
|
package/readme.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
<p>Welcome to <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a>, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.</p><p><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> is a complete interactive wiki in <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/JavaScript.html">JavaScript</a>. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/WikiText.html">WikiText</a>.</p><p>Learn more and see it in action at <a class="tc-tiddlylink-external" href="https://tiddlywiki.com/" rel="noopener noreferrer" target="_blank">https://tiddlywiki.com/</a></p><p>Developer documentation is in progress at <a class="tc-tiddlylink-external" href="https://tiddlywiki.com/dev/" rel="noopener noreferrer" target="_blank">https://tiddlywiki.com/dev/</a></p><h1 class="">Join the Community</h1><p>
|
2
2
|
<h2 class="">Official Forums</h2><p>The new official forum for talking about TiddlyWiki: requests for help, announcements of new releases and plugins, debating new features, or just sharing experiences. You can participate via the associated website, or subscribe via email.</p><p><a class="tc-tiddlylink-external" href="https://talk.tiddlywiki.org/" rel="noopener noreferrer" target="_blank">https://talk.tiddlywiki.org/</a></p><p>Note that talk.tiddlywiki.org is a community run service that we host and maintain ourselves. The modest running costs are covered by community contributions.</p><p>For the convenience of existing users, we also continue to operate the original TiddlyWiki group (hosted on Google Groups since 2005):</p><p><a class="tc-tiddlylink-external" href="https://groups.google.com/group/TiddlyWiki" rel="noopener noreferrer" target="_blank">https://groups.google.com/group/TiddlyWiki</a></p><h2 class="">Developer Forums</h2><p>There are several resources for developers to learn more about <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> and to discuss and contribute to its development.</p><ul><li><a class="tc-tiddlylink-external" href="https://tiddlywiki.com/dev" rel="noopener noreferrer" target="_blank">tiddlywiki.com/dev</a> is the official developer documentation</li><li>Get involved in the <a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5" rel="noopener noreferrer" target="_blank">development on GitHub</a><ul><li><a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5/discussions" rel="noopener noreferrer" target="_blank">Discussions</a> are for Q&A and open-ended discussion</li><li><a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5/issues" rel="noopener noreferrer" target="_blank">Issues</a> are for raising bug reports and proposing specific, actionable new ideas</li></ul></li><li>The older TiddlyWikiDev Google Group is now closed in favour of <a class="tc-tiddlylink-external" href="https://github.com/Jermolene/TiddlyWiki5/discussions" rel="noopener noreferrer" target="_blank">GitHub Discussions</a> but remains a useful archive: <a class="tc-tiddlylink-external" href="https://groups.google.com/group/TiddlyWikiDev" rel="noopener noreferrer" target="_blank">https://groups.google.com/group/TiddlyWikiDev</a><ul><li>An enhanced group search facility is available on <a class="tc-tiddlylink-external" href="https://www.mail-archive.com/tiddlywikidev@googlegroups.com/" rel="noopener noreferrer" target="_blank">mail-archive.com</a></li></ul></li><li>Follow <a class="tc-tiddlylink-external" href="http://twitter.com/#!/TiddlyWiki" rel="noopener noreferrer" target="_blank">@TiddlyWiki on Twitter</a> for the latest news</li><li>Chat at <a class="tc-tiddlylink-external" href="https://gitter.im/TiddlyWiki/public" rel="noopener noreferrer" target="_blank">https://gitter.im/TiddlyWiki/public</a> (development room coming soon)</li></ul><h2 class="">Other Forums</h2><ul><li><a class="tc-tiddlylink-external" href="https://www.reddit.com/r/TiddlyWiki5/" rel="noopener noreferrer" target="_blank">TiddlyWiki Subreddit</a></li><li>Chat with Gitter at <a class="tc-tiddlylink-external" href="https://gitter.im/TiddlyWiki/public" rel="noopener noreferrer" target="_blank">https://gitter.im/TiddlyWiki/public</a> !</li><li>Chat on Discord at <a class="tc-tiddlylink-external" href="https://discord.gg/HFFZVQ8" rel="noopener noreferrer" target="_blank">https://discord.gg/HFFZVQ8</a></li></ul><h3 class="">Documentation</h3><p>There is also a discussion group specifically for discussing <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> documentation improvement initiatives: <a class="tc-tiddlylink-external" href="https://groups.google.com/group/tiddlywikidocs" rel="noopener noreferrer" target="_blank">https://groups.google.com/group/tiddlywikidocs</a>
|
3
3
|
</p>
|
4
|
-
</p><h1 class="">Installing <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> on Node.js</h1><ol><li>Install <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Node.js.html">Node.js</a><ul><li>Linux: <blockquote><div><em>Debian/Ubuntu</em>:<br><code>apt install nodejs</code><br>May need to be followed up by:<br><code>apt install npm</code></div><div><em>Arch Linux</em><br><code>yay -S tiddlywiki</code> <br>(installs node and tiddlywiki)</div></blockquote></li><li>Mac<blockquote><div><code>brew install node</code></div></blockquote></li><li>Android<blockquote><div><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Serving%2520TW5%2520from%2520Android.html">Termux for Android</a></div></blockquote></li><li>Other <blockquote><div>See <a class="tc-tiddlylink-external" href="http://nodejs.org" rel="noopener noreferrer" target="_blank">http://nodejs.org</a></div></blockquote></li></ul></li><li>Open a command line terminal and type:<blockquote><div><code>npm install -g tiddlywiki</code></div><div>If it fails with an error you may need to re-run the command as an administrator:</div><div><code>sudo npm install -g tiddlywiki</code> (Mac/Linux)</div></blockquote></li><li>Ensure TiddlyWiki is installed by typing:<blockquote><div><code>tiddlywiki --version</code></div></blockquote><ul><li>In response, you should see <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> report its current version (eg "5.3.
|
4
|
+
</p><h1 class="">Installing <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> on Node.js</h1><ol><li>Install <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Node.js.html">Node.js</a><ul><li>Linux: <blockquote><div><em>Debian/Ubuntu</em>:<br><code>apt install nodejs</code><br>May need to be followed up by:<br><code>apt install npm</code></div><div><em>Arch Linux</em><br><code>yay -S tiddlywiki</code> <br>(installs node and tiddlywiki)</div></blockquote></li><li>Mac<blockquote><div><code>brew install node</code></div></blockquote></li><li>Android<blockquote><div><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Serving%2520TW5%2520from%2520Android.html">Termux for Android</a></div></blockquote></li><li>Other <blockquote><div>See <a class="tc-tiddlylink-external" href="http://nodejs.org" rel="noopener noreferrer" target="_blank">http://nodejs.org</a></div></blockquote></li></ul></li><li>Open a command line terminal and type:<blockquote><div><code>npm install -g tiddlywiki</code></div><div>If it fails with an error you may need to re-run the command as an administrator:</div><div><code>sudo npm install -g tiddlywiki</code> (Mac/Linux)</div></blockquote></li><li>Ensure TiddlyWiki is installed by typing:<blockquote><div><code>tiddlywiki --version</code></div></blockquote><ul><li>In response, you should see <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> report its current version (eg "5.3.1". You may also see other debugging information reported.)</li></ul></li><li>Try it out:<ol><li><code>tiddlywiki mynewwiki --init server</code> to create a folder for a new wiki that includes server-related components</li><li><code>tiddlywiki mynewwiki --listen</code> to start <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a></li><li>Visit <a class="tc-tiddlylink-external" href="http://127.0.0.1:8080/" rel="noopener noreferrer" target="_blank">http://127.0.0.1:8080/</a> in your browser</li><li>Try editing and creating tiddlers</li></ol></li><li>Optionally, make an offline copy:<ul><li>click the <span class="doc-icon"><svg class="tc-image-save-button-dynamic tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt">
|
5
5
|
<g class="tc-image-save-button-dynamic-clean">
|
6
6
|
<path d="M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z" fill-rule="evenodd"></path>
|
7
7
|
</g>
|
@@ -580,7 +580,7 @@ button svg, button img, label svg, label img {
|
|
580
580
|
}
|
581
581
|
|
582
582
|
button:disabled.tc-btn-invisible {
|
583
|
-
cursor: default;
|
583
|
+
cursor: default;
|
584
584
|
color: <<colour muted-foreground>>;
|
585
585
|
}
|
586
586
|
|
@@ -1172,6 +1172,11 @@ button.tc-btn-invisible.tc-remove-tag-button {
|
|
1172
1172
|
margin-right: .1em;
|
1173
1173
|
}
|
1174
1174
|
|
1175
|
+
.tc-tiddler-title-icon svg {
|
1176
|
+
width: 0.9em;
|
1177
|
+
height: 0.9em;
|
1178
|
+
}
|
1179
|
+
|
1175
1180
|
.tc-system-title-prefix {
|
1176
1181
|
color: <<colour muted-foreground>>;
|
1177
1182
|
}
|
@@ -2774,15 +2779,11 @@ input.tc-palette-manager-colour-input {
|
|
2774
2779
|
white-space: nowrap;
|
2775
2780
|
}
|
2776
2781
|
|
2777
|
-
.tc-table-of-contents button
|
2782
|
+
.tc-table-of-contents button,
|
2783
|
+
.tc-table-of-contents .toc-item-muted {
|
2778
2784
|
color: <<colour sidebar-foreground>>;
|
2779
2785
|
}
|
2780
2786
|
|
2781
|
-
button + .tc-toc-caption,
|
2782
|
-
button > .tc-toc-caption{
|
2783
|
-
margin-left: .25em;
|
2784
|
-
}
|
2785
|
-
|
2786
2787
|
.tc-table-of-contents svg {
|
2787
2788
|
width: 0.7em;
|
2788
2789
|
height: 0.7em;
|
Binary file
|