1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2025-08-16 10:55:36 +00:00

merge tiddlywiki-com

This commit is contained in:
pmario 2024-03-15 20:33:38 +01:00
commit 2c790e1958
9 changed files with 160 additions and 14 deletions

View File

@ -1,9 +1,13 @@
created: 20150221105732000
modified: 20150221222352000
tags: [[Macro Syntax]]
tags: [[Macro Syntax]] $:/deprecated
title: Macro Call Syntax
type: text/vnd.tiddlywiki
<<.deprecated-since "5.3.0" "Procedure Call Syntax">>
----------
<<.preamble """What follows is a formal presentation of the syntax of the WikiText syntax for macro calls, using [[railroad diagrams|Railroad Diagrams]]. A [[simpler overview|Macro Calls in WikiText]] is also available.""">>
<$railroad text="""

View File

@ -1,9 +1,13 @@
created: 20150220200255000
modified: 20150221222349000
tags: [[Macro Syntax]]
tags: [[Macro Syntax]] $:/deprecated
title: Macro Definition Syntax
type: text/vnd.tiddlywiki
<<.deprecated-since "5.3.0" "Procedure Definition Syntax">>
----------
<<.preamble """What follows is a formal presentation of the syntax of the `\define` pragma, using [[railroad diagrams|Railroad Diagrams]]. A [[simpler overview|Macro Definitions in WikiText]] is also available.""">>
<$railroad text="""

View File

@ -0,0 +1,33 @@
created: 20240310165023000
modified: 20240310172648116
tags: [[Procedure Syntax]]
title: Procedure Call Syntax
type: text/vnd.tiddlywiki
<<.preamble """What follows is a formal presentation of the syntax of the WikiText syntax for procedure calls, using [[railroad diagrams|Railroad Diagrams]].""">>
!! procedure-name
<$railroad text="""
"<<" [[ procedure-name |Procedures]] [: [[whitespace|"Filter Whitespace"]] [:{param-value}] ]">>"
"""/>
* The [[procedure's|Procedures]] <<.place procedure-name>> is a sequence of non-whitespace characters other than `(` or `>`.
* <<.place whitespace>> denotes a sequence of [[whitespace characters|Filter Whitespace]].
!!! param-value
Each ''individual'' <<.place param-value>> has the following syntax:
<$railroad text="""
\start none
\end none
[: param-name [:[[whitespace|"Filter Whitespace"]]] ":" [:[[whitespace|"Filter Whitespace"]]] ] value [: [[whitespace|"Filter Whitespace"]] ]
"""/>
* The <<.place param-name>> is a sequence of letters (`A`--`Z`, `a`--`z`), digits (`0`--`9`), hyphens (`-`) and underscores (`_`).
* The <<.place value>> is specified as follows:
<$railroad text={{$:/editions/tw5.com/railroad/macro-parameter-value}}/>

View File

@ -0,0 +1,93 @@
created: 20240310165023000
modified: 20240310175033730
tags: [[Procedure Syntax]]
title: Procedure Definition Syntax
type: text/vnd.tiddlywiki
<<.preamble """What follows is a formal presentation of the syntax of the [[Pragma: \procedure]], using [[railroad diagrams|Railroad Diagrams]]. """>>
! \procedure
There are 2 types of procedure definitions
* Single line definitions
* Multi line definitions
!! Single Line
Single line definitions should only be used for very short bodies, where the procedure name, params and the body fit into 1 line terminated with a line-feed.
<$railroad text="""
"\procedure"
[[<"space">|"Filter Whitespace"]]
"procedure-name"
<"(params)">
[:[[<"space">|"Filter Whitespace"]]]
"body"
"lf"
"""/>
!! Multi Line
The majority of procedure definitions will have a body, that spans over several lines of wikitext. Those procedure definitions are terminated using the "\end" pragma
<$railroad text="""
"\procedure"
[[<"space">|"Filter Whitespace"]]
"procedure-name"
<"(params)">
[:[[<"space">|"Filter Whitespace"]]]
body
"\end"
"""/>
The [[procedure-name|Procedures]] is a sequence of non-whitespace characters other than `(` or `>`.
* <<.place procedure-name>> is a sequence of letters (`A`--`Z`, `a`--`z`), digits (`0`--`9`), hyphens (`-`) and underscores (`_`)
* <<.place body>> is wikitext including [[nested procedures|Pragma: \procedure]]
* <<.place space>> denotes a sequence of [[whitespace characters|Filter Whitespace]]
!! params
The parameter declaration list <<.place (params)>> has the following syntax:
<$railroad text="""
\start none
\end none
"(" [:"sep"] [:{ parameter "sep" }] ")"
"""/>
* <<.place sep>> is any sequence of characters that does not match a <<.place param-name>>. <br>Among other things, this includes commas, spaces and linefeeds.
Each ''individual'' <<.place parameter>> has the following syntax:
<$railroad text="""
\start none
\end none
"param-name" [: [:[[<"space">|"Filter Whitespace"]]] ":" [:[[<"space">|"Filter Whitespace"]]] default ]
"""/>
* <<.place param-name>> is a sequence of letters (`A`--`Z`, `a`--`z`), digits (`0`--`9`), hyphens (`-`) and underscores (`_`).
* <<.place default>> is an optional value of a parameter is specified as follows:
<$railroad text={{$:/editions/tw5.com/railroad/macro-parameter-value}}/>
!! body
The <<.place body>> of the definition has the following syntax:
<$railroad text="""
\start none
\end none
{[[<"wikitext">|WikiText]] "lf"}
"""/>
* <<.place wikitext>> is any sequence of characters that doesn't terminate the macro definition.
** If [[nested procedures|Pragma: \procedure]] are used they need to be at the start of the wikitext. There are the same rules as if the wikitext would be in a tiddler.
** Pragmas need to be before standard wikitext.
* <<.place lf>> denotes a linefeed.

View File

@ -0,0 +1,11 @@
created: 20240310165023000
modified: 20240310173318213
tags: Procedures
title: Procedure Syntax
type: text/vnd.tiddlywiki
Plain text description can be found at [[Procedures]]
<<list-links filter:"[tag[Procedure Syntax]]">>
<<.tip "The railroad boxes in the linked tiddlers can be used to navigate.">>

View File

@ -1,5 +1,5 @@
created: 20221007124007426
modified: 20230419103154329
modified: 20240310173130052
tags: Concepts Reference
title: Procedures
type: text/vnd.tiddlywiki
@ -18,11 +18,13 @@ The name wrapped in double angled [[brackets|Brackets]] is used a shorthand way
```
<<my-procedure>>
<<my-procedure "The parameter">>
<<my-procedure parameter:"The parameter">>
```
The parameters that are specified in the procedure call are made available as variables.
<<.tip """If a procedure has more than 1 parameter, it is highly encouraged to use "named parameters", as shown in the second example above. Even if it is more to type, it will pay off in the long run.""">>
!! How Procedures Work
Procedures are implemented as a special kind of [[variable|Variables]]. The only thing that distinguishes them from ordinary variables is the way that the parameters are handled.
@ -32,4 +34,4 @@ Procedures are implemented as a special kind of [[variable|Variables]]. The only
* [[Procedure Definitions]] describes how to create procedures
* [[Procedure Calls]] describes how to use procedures
* [[Procedure Parameter Handling]] describes how procedure parameters work
* [[Procedure Syntax]] is a formal syntax description using railroad diagrams

View File

@ -7,6 +7,6 @@ Deprecated features of TiddlyWiki are those that have been superseded by newer,
Deprecated features will still work, but are not recommended for new content.
Tiddlers tagged $:/deprecated:
''Tiddlers tagged'' $:/deprecated:
<<list-links filter:"[tag[$:/deprecated]]">>

View File

@ -7,6 +7,3 @@ type: text/vnd.tiddlywiki
Deprecated features are marked with a special warning button. See: [[How to apply custom styles by tag]] for an example.
''Tiddlers tagged `$:/deprecated`''
><<list-links "[tag[$:/deprecated]]">>

View File

@ -1,6 +1,6 @@
code-body: yes
created: 20150117184156000
modified: 20220617122915793
modified: 20240315144208842
tags: $:/tags/Macro
title: $:/editions/tw5.com/wikitext-macros
type: text/vnd.tiddlywiki
@ -23,17 +23,19 @@ type: text/vnd.tiddlywiki
\end
\procedure open-tiddler-in-window()
\whitespace notrim
<$button actions=<<activateTiddlerWindow>> class="tc-btn-invisible tc-tiddlylink">
open ''this'' tiddler in a new window
</$button>
\end
\procedure activateEditionWindow(url)
<$action-sendmessage $message="tm-open-external-window" $param="""$url$""" windowName="_edition" windowFeatures="width=800 height=600" />
<$action-sendmessage $message="tm-open-external-window" $param=<<url>> windowName="_edition" windowFeatures="width=800 height=600" />
\end
\procedure open-external-window(url)
<$button actions=<<activateEditionWindow """$url$""">> class="tc-btn-invisible tc-tiddlylink">
\whitespace notrim
<$button actions=<<activateEditionWindow <<url>> class="tc-btn-invisible tc-tiddlylink">
open the ''example edition'' in a new window
</$button>
\end
@ -63,7 +65,7 @@ type: text/vnd.tiddlywiki
<p>
That renders as:
</p>
<$macrocall $name="src"/>
<$transclude $variable="src" $mode="block"/>
</div>
\end
@ -86,7 +88,7 @@ type: text/vnd.tiddlywiki
<<tw-code $tiddler$>>
\end
\procedure flex-card(class,bordercolor:"",backgroundcolor:"",textcolor:"",imageField:"image",captionField:"caption",subtitle:"",descriptionField:"description", inkField:"link")
\procedure flex-card(class,bordercolor:"",backgroundcolor:"",textcolor:"",imageField:"image",captionField:"caption",subtitle:"",descriptionField:"description",linkField:"link")
<$link class={{{ [<class>addprefix[tc-card ]] }}} to={{{ [<currentTiddler>get<linkField>else<currentTiddler>] }}}>
<div class="tc-card-accent" style.borderTop={{{ [<bordercolor>!is[blank]addprefix[5px solid ]] }}} style.background={{!!background}} style.backgroundColor=<<backgroundcolor>> style.color=<<textcolor>> style.fill=<<textcolor>>>
<$list filter="[<currentTiddler>has[ribbon-text]]" variable="ignore">