From 697dc8db4cc7e041a37d517c61d8ac1e82e02228 Mon Sep 17 00:00:00 2001 From: Mateusz Wilczek <36714554+mateuszwilczek@users.noreply.github.com> Date: Tue, 19 Sep 2023 16:52:04 +0200 Subject: [PATCH] Improve `jsonstringify` and `stringify` operators docs (#7650) --- .../jsonstringify Operator (Examples).tid | 9 ------ .../stringify_Operator_(Examples).tid | 4 +-- .../filters/jsonstringify Operator.tid | 28 ++----------------- .../tiddlers/filters/stringify_Operator.tid | 26 ++++++++--------- .../howtos/Constructing JSON tiddlers.tid | 8 +++--- 5 files changed, 21 insertions(+), 54 deletions(-) delete mode 100644 editions/tw5.com/tiddlers/filters/examples/jsonstringify Operator (Examples).tid diff --git a/editions/tw5.com/tiddlers/filters/examples/jsonstringify Operator (Examples).tid b/editions/tw5.com/tiddlers/filters/examples/jsonstringify Operator (Examples).tid deleted file mode 100644 index ead9ffb38..000000000 --- a/editions/tw5.com/tiddlers/filters/examples/jsonstringify Operator (Examples).tid +++ /dev/null @@ -1,9 +0,0 @@ -created: 20171029155046637 -modified: 20171029155227382 -tags: [[Operator Examples]] [[stringify Operator]] -title: jsonstringify Operator (Examples) -type: text/vnd.tiddlywiki - -<<.operator-example 1 """[[Title with "double quotes" and single ' and \backslash]] +[jsonstringify[]]""">> -<<.operator-example 2 """[[Accents and emojis -> äñøßπ ⌛🎄🍪🍓 without suffix]] +[jsonstringify[]]""">> -<<.operator-example 3 """[[Accents and emojis -> äñøßπ ⌛🎄🍪🍓 with rawunicode suffix]] +[jsonstringify:rawunicode[]]""">> diff --git a/editions/tw5.com/tiddlers/filters/examples/stringify_Operator_(Examples).tid b/editions/tw5.com/tiddlers/filters/examples/stringify_Operator_(Examples).tid index a664cf7d2..cc5a51429 100644 --- a/editions/tw5.com/tiddlers/filters/examples/stringify_Operator_(Examples).tid +++ b/editions/tw5.com/tiddlers/filters/examples/stringify_Operator_(Examples).tid @@ -1,9 +1,9 @@ created: 20161017154944352 -modified: 20171029155233487 +modified: 20230919124059118 tags: [[Operator Examples]] [[stringify Operator]] title: stringify Operator (Examples) type: text/vnd.tiddlywiki <<.operator-example 1 """[[Title with "double quotes" and single ' and \backslash]] +[stringify[]]""">> <<.operator-example 2 """[[Accents and emojis -> äñøßπ ⌛🎄🍪🍓 without suffix]] +[stringify[]]""">> -<<.operator-example 3 """[[Accents and emojis -> äñøßπ ⌛🎄🍪🍓 with rawunicode suffix]] +[stringify:rawunicode[]]""">> +<<.operator-example 3 """[[Accents and emojis -> äñøßπ ⌛🎄🍪🍓 with rawunicode suffix]] +[stringify:rawunicode[]]""">> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/filters/jsonstringify Operator.tid b/editions/tw5.com/tiddlers/filters/jsonstringify Operator.tid index a7e4d565c..748a851bb 100644 --- a/editions/tw5.com/tiddlers/filters/jsonstringify Operator.tid +++ b/editions/tw5.com/tiddlers/filters/jsonstringify Operator.tid @@ -1,36 +1,12 @@ caption: jsonstringify created: 20171029155051467 from-version: 5.1.14 -modified: 20171029155143797 -op-input: a [[selection of titles|Title Selection]] -op-output: the input with JSON string encodings applied +modified: 20230919124826880 op-parameter: op-parameter-name: -op-purpose: apply JSON string encoding to a string -op-suffix: <<.from-version "5.1.23">> optionally, the keyword `rawunicode` +op-purpose: deprecated, use <<.olink stringify>> instead op-suffix-name: R tags: [[Filter Operators]] [[String Operators]] title: jsonstringify Operator type: text/vnd.tiddlywiki -The following substitutions are made: - -|!Character |!Replacement |!Condition | -|`\` |`\\` |Always | -|`"` |`\"` |Always | -|Carriage return (0x0d) |`\\r` |Always | -|Line feed (0x0a) |`\\n` |Always | -|Backspace (0x08) |`\\b` |Always | -|Form field (0x0c) |`\\f` |Always | -|Tab (0x09) |`\\t` |Always | -|Characters from 0x00 to 0x1f |`\\u####` where #### is four hex digits |Always | -|Characters from 0x80 to 0xffff|`\\u####` where #### is four hex digits |If `rawunicode` suffix is not present (default) | -|Characters from 0x80 to 0xffff|Unchanged |If `rawunicode` suffix is present <<.from-version "5.1.23">> | - -<<.from-version "5.1.23">> If the suffix `rawunicode` is present, Unicode characters above 0x80 (such as ß, ä, ñ or 🎄) will be passed through unchanged. Without the suffix, they will be substituted with `\\u` codes, which was the default behavior before 5.1.23. - -<<.note """Technical note: Characters outside the Basic Multilingual Plane, such as 🎄 and other emojis, will be encoded as a UTF-16 surrogate pair, i.e. with two `\u` sequences.""">> - -Also see the [[stringify Operator]]. - -<<.operator-examples "jsonstringify">> diff --git a/editions/tw5.com/tiddlers/filters/stringify_Operator.tid b/editions/tw5.com/tiddlers/filters/stringify_Operator.tid index e06be4387..73dabb1c2 100644 --- a/editions/tw5.com/tiddlers/filters/stringify_Operator.tid +++ b/editions/tw5.com/tiddlers/filters/stringify_Operator.tid @@ -1,6 +1,7 @@ caption: stringify created: 20161017153038029 -modified: 20171029155143797 +from-version: 5.1.14 +modified: 20230919130847809 op-input: a [[selection of titles|Title Selection]] op-output: the input with ~JavaScript string encodings applied op-parameter: @@ -11,26 +12,25 @@ op-suffix-name: R tags: [[Filter Operators]] [[String Operators]] title: stringify Operator type: text/vnd.tiddlywiki -from-version: 5.1.14 The following substitutions are made: |!Character |!Replacement |!Condition | |`\` |`\\` |Always | |`"` |`\"` |Always | -|Carriage return (0x0d) |`\\r` |Always | -|Line feed (0x0a) |`\\n` |Always | -|Backspace (0x08) |`\\b` |Always | -|Form field (0x0c) |`\\f` |Always | -|Tab (0x09) |`\\t` |Always | -|Characters from 0x00 to 0x1f |`\\x##` where ## is two hex digits |Always | -|Characters from 0x80 to 0xffff|`\\u####` where #### is four hex digits |If `rawunicode` suffix is not present (default) | +|Carriage return (0x0d) |`\r` |Always | +|Line feed (0x0a) |`\n` |Always | +|Backspace (0x08) |`\b` |Always | +|Form field (0x0c) |`\f` |Always | +|Tab (0x09) |`\t` |Always | +|Characters from 0x00 to 0x1f |`\x##` where ## is two hex digits |Always | +|Characters from 0x80 to 0xffff|`\u####` where #### is four hex digits |If `rawunicode` suffix is not present (default) | |Characters from 0x80 to 0xffff|<<.from-version "5.1.23">> Unchanged |If `rawunicode` suffix is present | -<<.from-version "5.1.23">> If the suffix `rawunicode` is present, Unicode characters above 0x80 (such as ß, ä, ñ or 🎄) will be passed through unchanged. Without the suffix, they will be substituted with `\\u` codes, which was the default behavior before 5.1.23. +<<.from-version "5.1.23">> If the suffix `rawunicode` is present, Unicode characters above 0x80 (such as ß, ä, ñ or 🎄) will be passed through unchanged. Without the suffix, they will be substituted with `\u` codes, which was the default behavior before 5.1.23. -<<.note """Technical note: Characters outside the Basic Multilingual Plane, such as 🎄 and other emojis, will be encoded as a UTF-16 surrogate pair, i.e. with two `\u` sequences.""">> +<<.note """Characters outside the Basic Multilingual Plane, such as 🎄 and other emojis, will be encoded as a UTF-16 surrogate pair, i.e. with two `\u` sequences.""">> -Also see the [[jsonstringify Operator]]. +<<.olink jsonstringify>> is considered deprecated, as it duplicates the functionality of <<.op stringify>>. -<<.operator-examples "stringify">> +<<.operator-examples "stringify">> \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/howtos/Constructing JSON tiddlers.tid b/editions/tw5.com/tiddlers/howtos/Constructing JSON tiddlers.tid index 58b36244c..ff4c7927c 100644 --- a/editions/tw5.com/tiddlers/howtos/Constructing JSON tiddlers.tid +++ b/editions/tw5.com/tiddlers/howtos/Constructing JSON tiddlers.tid @@ -1,7 +1,7 @@ -title: Constructing JSON tiddlers -tags: [[JSON in TiddlyWiki]] [[Learning]] created: 20220427174702859 -modified: 20220427174702859 +modified: 20230809113620964 +tags: [[JSON in TiddlyWiki]] Learning +title: Constructing JSON tiddlers See [[JSON in TiddlyWiki]] for an overview of using JSON in TiddlyWiki. @@ -13,4 +13,4 @@ At a high level, we have several ways to generate JSON data in TiddlyWiki's own * [[jsontiddler Macro]] * [[jsontiddlers Macro]] -When constructing JSON data manually, the [[jsonstringify Operator]] is needed to ensure that any special characters are properly escaped. +When constructing JSON data manually, the [[stringify Operator]] is needed to ensure that any special characters are properly escaped.