Creating exporter for specific tagged tiddlers in JSON format.

This commit is contained in:
ruidajo 2022-10-10 17:15:33 -05:00
parent 110b5460dd
commit c8f819e8b9
1 changed files with 43 additions and 1 deletions

View File

@ -247,6 +247,16 @@ TiddlyWiki >> exportJSONFromRebuildedCommonTiddlers [
]
{ #category : #accessing }
TiddlyWiki >> exportJSONFromTiddlersInSubfolder: subfolder [
| rebuildedTiddlersJSON dateNowString |
dateNowString := (DateAndTime now asLocalStringYMDHM copyReplaceAll: ':' with: '-') copyReplaceAll: ' ' with: '-'.
rebuildedTiddlersJSON := '[', (',' join: ((self rebuildTiddlersFromSubfolder: subfolder) collect: [ :each | each asJsonString ])), ']'.
^ MarkupFile exportAsFileOn: subfolder / 'rebuildedTiddlers', dateNowString, 'json' containing: rebuildedTiddlersJSON
]
{ #category : #accessing }
TiddlyWiki >> exportJSONSubtiddlers: subtiddlersCollection [
@ -259,6 +269,23 @@ TiddlyWiki >> exportJSONSubtiddlers: subtiddlersCollection as: aName [
^ MarkupFile exportAsFileOn: self file parent / aName, 'json' containing: (self jsonSubtiddlers: subtiddlersCollection)
]
{ #category : #accessing }
TiddlyWiki >> exportJSONTiddlersTagged: aTag in: aFolder [
| dateNowString |
dateNowString := (DateAndTime now asLocalStringYMDHM copyReplaceAll: ':' with: '-') copyReplaceAll: ' ' with: '-'.
self exportJSONTiddlersTagged: aTag in: aFolder named: (self name, '-', aTag, '-', dateNowString)
]
{ #category : #accessing }
TiddlyWiki >> exportJSONTiddlersTagged: aTag in: aFolder named: aFileName [
| taggedTiddlers jsonString |
taggedTiddlers := self taggedWith: aTag.
jsonString := '[', (',' join: (taggedTiddlers collect: [ :each | each asJsonString ])), ']'.
^ MarkupFile exportAsFileOn: aFolder / (aFileName, '.json') containing: jsonString
]
{ #category : #accessing }
TiddlyWiki >> exportJSTiddlers [
@ -403,6 +430,7 @@ TiddlyWiki >> importJSONLink [
| tiddlersJson |
tiddlersJson := (self remote asString, '/tiddlers.json') asUrl retrieveContents.
jsonFile := self folder / 'tiddlers.json'.
self name; file.
MarkupFile exportAsFileOn: jsonFile containing: tiddlersJson.
^ self fromString: tiddlersJson
]
@ -507,7 +535,6 @@ TiddlyWiki >> local: aFileRefence [
TiddlyWiki >> name [
| tempName suffix |
name ifNotNil: [ ^ name ].
self file ifNotNil: [ ^ name := self file basenameWithoutExtension ].
self remote ifNil: [ ^ name := nil ].
(self remote host endsWith: 'tiddlyhost.com')
ifTrue: [ ^ name := (self remote host splitOn: '.') first ].
@ -568,6 +595,21 @@ TiddlyWiki >> rebuildTiddlers [
^ stonTiddlers
]
{ #category : #accessing }
TiddlyWiki >> rebuildTiddlersFromSubfolder: subfolder [
| stonTiddlers contentTiddlersFiles |
contentTiddlersFiles := subfolder children
select: [ :each | each basename endsWith: 'ston' ].
stonTiddlers := OrderedCollection new.
stonTiddlers
addAll: (contentTiddlersFiles
collect:[ :each | STONJSON fromString: each contents ]).
stonTiddlers collect: [ :tiddler | tiddler wiki: self ].
^ stonTiddlers
]
{ #category : #accessing }
TiddlyWiki >> rebuildTiddlersJSON [