kopia lustrzana https://github.com/miklobit/TiddlyWiki5
Refactor #5786 for backwards compatibility
rodzic
4110083d94
commit
275e3abe06
|
@ -702,7 +702,7 @@ exports.getTiddlerAsJson = function(title) {
|
|||
|
||||
/*
|
||||
Options:
|
||||
spaces: number of spaces
|
||||
spaces: number of spaces. The special value -1 results in a line break in between each tiddler
|
||||
escapeUnsafeScriptCharacters: true to force escaping of characters that cannot be embedded in HTML
|
||||
*/
|
||||
exports.getTiddlersAsJson = function(filter,options) {
|
||||
|
@ -710,21 +710,26 @@ exports.getTiddlersAsJson = function(filter,options) {
|
|||
if(typeof options === "string") {
|
||||
options = {spaces: options};
|
||||
}
|
||||
var tiddlers = this.filterTiddlers(filter),
|
||||
var titles = this.filterTiddlers(filter),
|
||||
spaces = (options.spaces === undefined) ? $tw.config.preferences.jsonSpaces : options.spaces,
|
||||
jsonLines = [],
|
||||
t,fields,tiddler;
|
||||
for(t=0;t<tiddlers.length; t++) {
|
||||
tiddler = this.getTiddler(tiddlers[t]);
|
||||
data = [],
|
||||
t;
|
||||
for(t=0;t<titles.length; t++) {
|
||||
var tiddler = this.getTiddler(titles[t]);
|
||||
if(tiddler) {
|
||||
fields = new Object();
|
||||
for(var field in tiddler.fields) {
|
||||
fields[field] = tiddler.getFieldString(field);
|
||||
}
|
||||
jsonLines.push(JSON.stringify(fields,null,spaces));
|
||||
data.push(tiddler.getFieldStrings());
|
||||
}
|
||||
}
|
||||
var json = "[\n" + jsonLines.join(",\n") + "\n]";
|
||||
var json;
|
||||
if(spaces === -1) {
|
||||
var jsonLines = [];
|
||||
for(t=0;t<data.length; t++) {
|
||||
jsonLines.push(JSON.stringify(data[t]));
|
||||
}
|
||||
json = "[\n" + jsonLines.join(",\n") + "\n]";
|
||||
} else {
|
||||
json = JSON.stringify(data,null,spaces);
|
||||
}
|
||||
if(options.escapeUnsafeScriptCharacters) {
|
||||
function escapeUnsafeChars(unsafeChar) {
|
||||
return {
|
||||
|
|
|
@ -6,7 +6,7 @@ title: $:/core/templates/store.area.template.html
|
|||
<$list filter="[[storeAreaFormat]is[variable]getvariable[]else[json]match[json]]">
|
||||
<!-- New-style JSON store area, with an old-style store area for compatibility with v5.1.x tooling -->
|
||||
`<script class="tiddlywiki-tiddler-store" type="application/json">`
|
||||
<$macrocall $name="jsontiddlers" filter=<<saveTiddlerFilter>> escapeUnsafeScriptCharacters="yes" $output="text/raw"/>
|
||||
<$macrocall $name="jsontiddlers" filter=<<saveTiddlerFilter>> spaces="-1" escapeUnsafeScriptCharacters="yes" $output="text/raw"/>
|
||||
`</script>`
|
||||
`<div id="storeArea" style="display:none;">`
|
||||
`</div>`
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
created: 20150221152226000
|
||||
modified: 20200204135513721
|
||||
modified: 20210613140528007
|
||||
tags: Macros [[Core Macros]]
|
||||
title: jsontiddlers Macro
|
||||
type: text/vnd.tiddlywiki
|
||||
|
@ -14,4 +14,4 @@ An example can be seen in the [[template tiddler for JSON exports|$:/core/templa
|
|||
;filter
|
||||
: A [[filter|Filters]] selecting which tiddlers to include
|
||||
;spaces
|
||||
: An optional number of spaces to use for formatting the JSON. Defaults to 4, with blank or zero resulting in packed JSON with no formatting spaces
|
||||
: An optional number of spaces to use for formatting the JSON. Defaults to 4, with blank or zero resulting in packed JSON with no formatting spaces. <<.from-version "5.2.0">> The special value -1 results in a line break in between each tiddler
|
||||
|
|
Ładowanie…
Reference in New Issue