diff --git a/bin/build-site.sh b/bin/build-site.sh index d718ac1cb..b77a18434 100755 --- a/bin/build-site.sh +++ b/bin/build-site.sh @@ -5,7 +5,7 @@ # Default to the current version number for building the plugin library if [ -z "$TW5_BUILD_VERSION" ]; then - TW5_BUILD_VERSION=v5.2.7 + TW5_BUILD_VERSION=v5.2.8 fi echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]" diff --git a/core/wiki/config/OfficialPluginLibrary.tid b/core/wiki/config/OfficialPluginLibrary.tid index a04ff855e..20bb13d0d 100644 --- a/core/wiki/config/OfficialPluginLibrary.tid +++ b/core/wiki/config/OfficialPluginLibrary.tid @@ -1,6 +1,6 @@ title: $:/config/OfficialPluginLibrary tags: $:/tags/PluginLibrary -url: https://tiddlywiki.com/library/v5.2.7/index.html +url: https://tiddlywiki.com/library/v5.2.8/index.html caption: {{$:/language/OfficialPluginLibrary}} {{$:/language/OfficialPluginLibrary/Hint}} diff --git a/editions/prerelease/tiddlers/Release 5.2.7.tid b/editions/prerelease/tiddlers/Release 5.2.8.tid similarity index 81% rename from editions/prerelease/tiddlers/Release 5.2.7.tid rename to editions/prerelease/tiddlers/Release 5.2.8.tid index d45999418..18ca202b5 100644 --- a/editions/prerelease/tiddlers/Release 5.2.7.tid +++ b/editions/prerelease/tiddlers/Release 5.2.8.tid @@ -1,11 +1,11 @@ -caption: 5.2.7 -created: 20230320184352916 -modified: 20230320184352916 +caption: 5.2.8 +created: 20230326093239710 +modified: 20230326093239710 tags: ReleaseNotes -title: Release 5.2.7 +title: Release 5.2.8 type: text/vnd.tiddlywiki -//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.2.6...master]]// +//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.2.7...master]]// ! Major Improvements diff --git a/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid b/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid index 699502dd4..510d876d0 100644 --- a/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid +++ b/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid @@ -1,6 +1,6 @@ title: $:/config/OfficialPluginLibrary tags: $:/tags/PluginLibrary -url: https://tiddlywiki.com/prerelease/library/v5.2.7/index.html +url: https://tiddlywiki.com/prerelease/library/v5.2.8/index.html caption: {{$:/language/OfficialPluginLibrary}} (Prerelease) The prerelease version of the official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team. diff --git a/editions/tw5.com/tiddlers/filters/examples/get.tid b/editions/tw5.com/tiddlers/filters/examples/get.tid index 87655d0cb..c85a38f3e 100644 --- a/editions/tw5.com/tiddlers/filters/examples/get.tid +++ b/editions/tw5.com/tiddlers/filters/examples/get.tid @@ -1,5 +1,5 @@ created: 20150118134611000 -modified: 20230310154010278 +modified: 20230325163424379 myfield: tags: [[get Operator]] [[Operator Examples]] title: get Operator (Examples) @@ -15,8 +15,8 @@ type: text/vnd.tiddlywiki <<.operator-example 4 "[all[current]get[myfield]]" "the empty value of field <<.field myfield>> is not returned by the <<.olink get>> operator">> -<<.operator-example 5 "[all[current]] :filter[has:field[myfield]] :map[get[myfield]]" "also returns the empty string">> -The above example works by first using the [[Filter Filter Run Prefix]] to only select titles that have the field <<.field myfield>> and then using the [[Map Filter Run Prefix]] to replace those titles with their value of that field. The [[Map Filter Run Prefix]] outputs an empty string when its filter run returns an empty [[selection|Title Selection]]. +<<.operator-example 5 "[all[current]has:field[myfield]] :map[get[myfield]]" "also returns the empty string">> +The above example works by first checking if the input title has the field <<.field myfield>> and then using the [[Map Filter Run Prefix]] to replace the title with their value of that field. If the input tiddler does not have the field, an empty <<.em selection>> is returned. The subsequent [[Map Filter Run Prefix]] outputs an empty <<.em string>> when its run returns an empty [[selection|Title Selection]] (because the field is empty). <<.operator-example 6 "[all[tiddlers]] :filter[get[created]compare:date:lt{HelloThere!!created}]" "return all tiddlers that are older than [[HelloThere]]">> The above example demonstrates two different ways of accessing field values in filters: Use <<.olink get>> when the title is not known in advance as with the [[Filter Filter Run Prefix]] where <<.var currentTiddler>> is set to the current input title. Use a [[TextReference]] as an indirect [[Filter Parameter]] when the title is known. diff --git a/editions/tw5.com/tiddlers/filters/examples/getindex.tid b/editions/tw5.com/tiddlers/filters/examples/getindex.tid index beb52fc19..6dab64c77 100644 --- a/editions/tw5.com/tiddlers/filters/examples/getindex.tid +++ b/editions/tw5.com/tiddlers/filters/examples/getindex.tid @@ -1,5 +1,5 @@ created: 20150203140000000 -modified: 20230309180501044 +modified: 20230325163543621 tags: [[getindex Operator]] [[Operator Examples]] title: getindex Operator (Examples) type: text/vnd.tiddlywiki @@ -12,8 +12,8 @@ type: text/vnd.tiddlywiki <<.operator-example 3 "[[ListopsData]getindex[DataIndex]]" "the empty value of the property <<.field ~DataIndex>> in [[ListopsData]] is not returned by the <<.olink getindex>> operator">> -<<.operator-example 4 "[[ListopsData]] :filter[has:index[DataIndex]] :map[getindex[DataIndex]]" "also returns the empty string">> -The above example works by first using the [[Filter Filter Run Prefix]] to only select titles that have the property <<.field ~DataIndex>> and then using the [[Map Filter Run Prefix]] to replace those titles with their value of that property. The [[Map Filter Run Prefix]] outputs an empty string when its filter run returns an empty [[selection|Title Selection]]. +<<.operator-example 4 "[[ListopsData]has:index[DataIndex]] :map[getindex[DataIndex]]" "also returns the empty string">> +The above example works by first checking if the input title has the property <<.field ~DataIndex>> and then using the [[Map Filter Run Prefix]] to replace the title with their value of that property. If the input tiddler does not have the property, an empty <<.em selection>> is returned. The subsequent [[Map Filter Run Prefix]] outputs an empty <<.em string>> when its run returns an empty [[selection|Title Selection]] (because the property is empty). <<.operator-example 5 "[[$:/palettes/Vanilla]indexes[]] :filter[[$:/palettes/Vanilla]getindexcount[]compare:number:eq[0]]" "returns those colors in [[$:/palettes/Vanilla]] which are defined, but have no value assigned">> In the above example, <<.olink count>> is used to check if <<.olink getindex>> returns a result (i.e. the corresponding property has a value) or not. \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/filters/examples/regexp.tid b/editions/tw5.com/tiddlers/filters/examples/regexp.tid index 161df8937..5b18a1613 100644 --- a/editions/tw5.com/tiddlers/filters/examples/regexp.tid +++ b/editions/tw5.com/tiddlers/filters/examples/regexp.tid @@ -17,5 +17,5 @@ The regular expression `[0-9]{2}` matches two consecutive digits. Because it con <$macrocall $name="wikitext-example-without-html" src="""<$set name="digit-pattern" value="[0-9]{2}"> -<]">> +<]" field:"title">> """/> diff --git a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid index 100e9ec5b..b538f96fa 100644 --- a/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +++ b/editions/tw5.com/tiddlers/hellothere/HelloThere.tid @@ -1,6 +1,6 @@ created: 20130822170200000 list: [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]] -modified: 20230320184352916 +modified: 20230326083239710 tags: TableOfContents title: HelloThere type: text/vnd.tiddlywiki diff --git a/editions/tw5.com/tiddlers/macros/ListMacro.tid b/editions/tw5.com/tiddlers/macros/ListMacro.tid index 33bbb5713..fd7079850 100644 --- a/editions/tw5.com/tiddlers/macros/ListMacro.tid +++ b/editions/tw5.com/tiddlers/macros/ListMacro.tid @@ -15,7 +15,7 @@ Note: Each first [[step|Filter Step]] of a [[filter run|Filter Run]] not given a ;filter : A [[filter|Filters]] selecting which tiddlers to include -;caption +;field : The name of the field to transclude for each list item, defaulting to `caption` ;type : An HTML element to use for the overall list element, defaulting to `ul` diff --git a/editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid b/editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid new file mode 100644 index 000000000..62a6b5264 --- /dev/null +++ b/editions/tw5.com/tiddlers/releasenotes/Release 5.2.7.tid @@ -0,0 +1,25 @@ +caption: 5.2.7 +created: 20230326083239710 +modified: 20230326083239710 +released: 20230326083239710 +tags: ReleaseNotes +title: Release 5.2.7 +type: text/vnd.tiddlywiki + +//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.2.6...v5.2.7]]// + +<<.banner-credits + credit:"""Congratulations to [[StS|https://talk.tiddlywiki.org/u/StS]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/new-release-banner-competition-for-tiddlywiki-v5-2-6/6403/3]] and the [[voting thread|https://talk.tiddlywiki.org/t/vote-for-the-tiddlywiki-banner-v5-2-6/6469]]). +""" + url:"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/7926af85419ef2f813276a05833598d6d65e2ecd/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png" +>> + +This is a bug fix release intended to resolve a backwards compatibility issue discovered in v5.2.6. See [[this GitHub ticket|https://github.com/Jermolene/TiddlyWiki5/issues/7371]] for the background. + +The issue is that trailing newlines within a macro definitions were being ignored, which affected whether the content were parsed in inline or block mode. + +Since v5.2.7 replaces v5.2.6 that was only released for less than a week, here is the [[release note for v5.2.6|Release 5.2.6]]. + +! Release Note for v5.2.6 + +{{Release 5.2.6}} diff --git a/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid b/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid index 49ad90100..245e7cbdb 100644 --- a/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid +++ b/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid @@ -1,9 +1,14 @@ caption: $:/tags/ClassFilters/TiddlerTemplate created: 20221020035738692 description: marks filters evaluated to dynamically add classes to the page template. -modified: 20221020035933363 +modified: 20230326153057521 tags: SystemTags title: SystemTag: $:/tags/ClassFilters/TiddlerTemplate type: text/vnd.tiddlywiki The [[system tag|SystemTags]] `$:/tags/ClassFilters/TiddlerTemplate` marks filters evaluated to dynamically add their output as CSS classes to the tiddler template. + +The variables available are within each filter: + +* <<.var storyTiddler>>: the tiddler in the story for which the filter should be evaluated. +* <<.var currentTiddler>>: the tiddler holding the filter definition being evaluated. diff --git a/readme.md b/readme.md index 42a8b6cab..828c5e736 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,7 @@

Welcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.

TiddlyWiki is a complete interactive wiki in JavaScript. 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 WikiText.

Learn more and see it in action at https://tiddlywiki.com/

Developer documentation is in progress at https://tiddlywiki.com/dev/

Join the Community

Official Forums

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.

https://talk.tiddlywiki.org/

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.

For the convenience of existing users, we also continue to operate the original TiddlyWiki group (hosted on Google Groups since 2005):

https://groups.google.com/group/TiddlyWiki

Developer Forums

There are several resources for developers to learn more about TiddlyWiki and to discuss and contribute to its development.

Other Forums

Documentation

There is also a discussion group specifically for discussing TiddlyWiki documentation improvement initiatives: https://groups.google.com/group/tiddlywikidocs

-

Installing TiddlyWiki on Node.js

  1. Install Node.js
    • Linux:
      Debian/Ubuntu:
      apt install nodejs
      May need to be followed up by:
      apt install npm
      Arch Linux
      yay -S tiddlywiki
      (installs node and tiddlywiki)
    • Mac
      brew install node
    • Android
    • Other
  2. Open a command line terminal and type:
    npm install -g tiddlywiki
    If it fails with an error you may need to re-run the command as an administrator:
    sudo npm install -g tiddlywiki (Mac/Linux)
  3. Ensure TiddlyWiki is installed by typing:
    tiddlywiki --version
    • In response, you should see TiddlyWiki report its current version (eg "5.2.6". You may also see other debugging information reported.)
  4. Try it out:
    1. tiddlywiki mynewwiki --init server to create a folder for a new wiki that includes server-related components
    2. tiddlywiki mynewwiki --listen to start TiddlyWiki
    3. Visit http://127.0.0.1:8080/ in your browser
    4. Try editing and creating tiddlers
  5. Optionally, make an offline copy:
    • click the +

      Installing TiddlyWiki on Node.js

      1. Install Node.js
        • Linux:
          Debian/Ubuntu:
          apt install nodejs
          May need to be followed up by:
          apt install npm
          Arch Linux
          yay -S tiddlywiki
          (installs node and tiddlywiki)
        • Mac
          brew install node
        • Android
        • Other
      2. Open a command line terminal and type:
        npm install -g tiddlywiki
        If it fails with an error you may need to re-run the command as an administrator:
        sudo npm install -g tiddlywiki (Mac/Linux)
      3. Ensure TiddlyWiki is installed by typing:
        tiddlywiki --version
        • In response, you should see TiddlyWiki report its current version (eg "5.2.7". You may also see other debugging information reported.)
      4. Try it out:
        1. tiddlywiki mynewwiki --init server to create a folder for a new wiki that includes server-related components
        2. tiddlywiki mynewwiki --listen to start TiddlyWiki
        3. Visit http://127.0.0.1:8080/ in your browser
        4. Try editing and creating tiddlers
      5. Optionally, make an offline copy:
        • click the