match[yes]]">
{{$:/plugins/tiddlywiki/markdown/images/new-markdown-button}}
$list>
diff --git a/plugins/tiddlywiki/markdown/plugin.info b/plugins/tiddlywiki/markdown/plugin.info
index e9db61d7e..ffe74fb03 100755
--- a/plugins/tiddlywiki/markdown/plugin.info
+++ b/plugins/tiddlywiki/markdown/plugin.info
@@ -1,6 +1,6 @@
{
"title": "$:/plugins/tiddlywiki/markdown",
"name": "Markdown",
- "description": "Markdown parser based on remarkable by Jon Schlinkert and remarkable-katex by Brad Howes",
- "list": "readme usage remarkable-license remarkable-katex-license"
+ "description": "Markdown parser based on markdown-it",
+ "list": "readme config syntax license"
}
diff --git a/plugins/tiddlywiki/markdown/readme.tid b/plugins/tiddlywiki/markdown/readme.tid
index dd5dd0666..1859fd36e 100755
--- a/plugins/tiddlywiki/markdown/readme.tid
+++ b/plugins/tiddlywiki/markdown/readme.tid
@@ -1,7 +1,32 @@
title: $:/plugins/tiddlywiki/markdown/readme
-This is a TiddlyWiki plugin for parsing Markdown text, using the [[Remarkable|https://github.com/jonschlinkert/remarkable]] library. If the KaTeX TiddlyWiki plugin is installed, KaTeX support is enabled using the [[remarkable-katex|https://github.com/bradhowes/remarkable-katex]] Remarkable plugin.
+This plugin provides Markdown support via the [[markdown-it|https://github.com/markdown-it/markdown-it]] parser and its associated plugins:
-It is completely self-contained, and doesn't need an Internet connection in order to work. It works both in the browser and under Node.js.
+* markdown-it-deflist
+* markdown-it-footnote
+* markdown-it-ins
+* markdown-it-mark
+* markdown-it-sub
+* markdown-it-sup
-[[Source code|https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/markdown]]
+!! Compatibility Notes
+
+* A tab character in Markdown has a size of four spaces. Configure the tab size of your code editor accordingly. For example, if you use <$text text="CodeMirror"/>, it is recommended that you set $:/config/codemirror/indentUnit and $:/config/codemirror/tabSize to `4` to avoid inconsistent indentations.
+* HTML blocks are ultimately parsed by the <$text text=WikiText/> parser: //an opening tag followed by a blank line will activate block-level parsing for its content//. When working with tags designed to contain literal content, such as `
` and ``
\ No newline at end of file
+-->``
\ No newline at end of file
diff --git a/plugins/tiddlywiki/tiddlyweb/javascript-tiddler.tid b/plugins/tiddlywiki/tiddlyweb/javascript-tiddler.tid
index 847873811..dc4bc4db9 100644
--- a/plugins/tiddlywiki/tiddlyweb/javascript-tiddler.tid
+++ b/plugins/tiddlywiki/tiddlyweb/javascript-tiddler.tid
@@ -4,4 +4,4 @@ title: $:/core/templates/javascript-tiddler
This template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. This version includes the tiddler changecount as the field `revision`.
--->``
\ No newline at end of file
+-->``
\ No newline at end of file
From c20c35c0a65f20c7c362fba39d62832b10261b58 Mon Sep 17 00:00:00 2001
From: Cameron Fischer
Date: Thu, 19 Jan 2023 12:48:23 -0500
Subject: [PATCH 054/158] Fully committing core to the $genesis widget (#7129)
---
core/wiki/macros/list.tid | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/core/wiki/macros/list.tid b/core/wiki/macros/list.tid
index 2d82b601a..5464ecad1 100644
--- a/core/wiki/macros/list.tid
+++ b/core/wiki/macros/list.tid
@@ -26,7 +26,7 @@ tags: $:/tags/Macro
\whitespace trim
<$vars targetTiddler="""$tiddler$""" targetField="""$field$""">
-<$type$ class="$class$">
+<$genesis $type=<<__type__>> class="$class$">
<$list filter="[list[$tiddler$!!$field$]]" emptyMessage=<<__emptyMessage__>>>
<$droppable actions=<> tag="""$subtype$""" enable=<>>
@@ -51,7 +51,7 @@ tags: $:/tags/Macro
$droppable>
$tiddler>
-$type$>
+$genesis>
$vars>
\end
@@ -84,24 +84,24 @@ tags: $:/tags/Macro
<$set name="tag" value=<<__tag__>>>
<$list filter="[<__tag__>tagging[]$subFilter$]" emptyMessage=<<__emptyMessage__>> storyview=<<__storyview__>>>
-<$elementTag$ class="tc-menu-list-item">
+<$genesis $type=<<__elementTag__>> class="tc-menu-list-item">
<$droppable actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<__tag__>>/>""" enable=<>>
-<$elementTag$ class="tc-droppable-placeholder"/>
-<$elementTag$>
+<$genesis $type=<<__elementTag__>> class="tc-droppable-placeholder"/>
+<$genesis $type=<<__elementTag__>>>
<$transclude tiddler="""$itemTemplate$""">
<$link to={{!!title}}>
<$view field="title"/>
$link>
$transclude>
-$elementTag$>
+$genesis>
$droppable>
-$elementTag$>
+$genesis>
$list>
<$tiddler tiddler="">
<$droppable actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<__tag__>>/>""" enable=<>>
-<$elementTag$ class="tc-droppable-placeholder"/>
-<$elementTag$ style="height:0.5em;">
-$elementTag$>
+<$genesis $type=<<__elementTag__>> class="tc-droppable-placeholder"/>
+<$genesis $type=<<__elementTag__>> style="height:0.5em;">
+$genesis>
$droppable>
$tiddler>
$set>
From e6189078ffa8d4026eb18e88e93c0e29d854fdf1 Mon Sep 17 00:00:00 2001
From: Mario Pietsch
Date: Thu, 19 Jan 2023 21:44:00 +0100
Subject: [PATCH 055/158] Make tag-picker and keyboard-driven-input macros
human readable (#7118)
* make tag-picker and keyboard-driven-input macros human readable
* fix indentation as requested
---
core/wiki/macros/keyboard-driven-input.tid | 125 +++++++------
core/wiki/macros/tag-picker.tid | 203 ++++++++++++++-------
2 files changed, 208 insertions(+), 120 deletions(-)
diff --git a/core/wiki/macros/keyboard-driven-input.tid b/core/wiki/macros/keyboard-driven-input.tid
index f7563996a..7983ea9f0 100644
--- a/core/wiki/macros/keyboard-driven-input.tid
+++ b/core/wiki/macros/keyboard-driven-input.tid
@@ -4,76 +4,85 @@ tags: $:/tags/Macro
\define change-input-tab(stateTitle,tag,beforeafter,defaultState,actions)
\whitespace trim
<$set name="tabsList" filter="[all[shadows+tiddlers]tag<__tag__>!has[draft.of]]">
-<$let
- currentState={{{ [<__stateTitle__>!is[missing]get[text]] ~[<__defaultState__>] }}}
- firstTab={{{ [enlistnth[1]] }}}
- lastTab={{{ [enlistlast[]] }}}
- nextTab={{{ [all[shadows+tiddlers]tag<__tag__>!has[draft.of]$beforeafter$] ~[[$beforeafter$]removeprefix[after]suffix[]addprefix] ~[[$beforeafter$]removeprefix[before]suffix[]addprefix] }}}>
-<$action-setfield $tiddler=<<__stateTitle__>> text=<>/>
-$actions$
-$let>
+ <$let
+ currentState={{{ [<__stateTitle__>!is[missing]get[text]] ~[<__defaultState__>] }}}
+ firstTab={{{ [enlistnth[1]] }}}
+ lastTab={{{ [enlistlast[]] }}}
+ nextTab={{{ [all[shadows+tiddlers]tag<__tag__>!has[draft.of]$beforeafter$] ~[[$beforeafter$]removeprefix[after]suffix[]addprefix] ~[[$beforeafter$]removeprefix[before]suffix[]addprefix] }}}
+ >
+ <$action-setfield $tiddler=<<__stateTitle__>> text=<>/>
+ $actions$
+ $let>
$set>
\end
\define keyboard-input-actions()
\whitespace trim
<$list filter="[<__index__>match[]]">
-<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>get<__field__>] }}}/>
+ <$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>get<__field__>] }}}/>
$list>
<$list filter="[<__index__>!match[]]">
-<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>getindex<__index__>] }}}/>
+ <$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>getindex<__index__>] }}}/>
$list>
\end
\define input-next-actions-inner()
\whitespace trim
<$list filter="[minlength[1]]" variable="ignore">
-<$action-setfield $tiddler=<<__selectionStateTitle__>> text=<>/>
-<$list filter="[<__index__>match[]]">
-<$action-setfield $tiddler=<<__tiddler__>> $field=<<__field__>> $value={{{ [] +[splitregexp[(?:.(?!-))+$]] }}}/>
-$list>
-<$list filter="[<__index__>!match[]]">
-<$action-setfield $tiddler=<<__tiddler__>> $index=<<__index__>> $value={{{ [