Creating TW updater for remote files and loader form local folder.

This commit is contained in:
ruidajo 2022-10-30 19:31:59 -05:00
parent 0ff99de896
commit 37741df191
1 changed files with 45 additions and 4 deletions

View File

@ -25,9 +25,9 @@ TiddlyWiki class >> createFromRemote: aRemoteTWUrl in: aFolder [
aFolder hasChildren ifTrue: [ ^ nil ]. aFolder hasChildren ifTrue: [ ^ nil ].
wiki := TiddlyWiki new wiki := TiddlyWiki new
remote: aRemoteTWUrl; remote: aRemoteTWUrl;
folder: aFolder; folder: (aFolder ensureCreateDirectory).
file: (aFolder / 'index.html') ensureCreateFile.
^ wiki downloadHTML; ^ wiki downloadHTML;
file: (aFolder / 'index.html');
tiddlers. tiddlers.
] ]
@ -52,6 +52,33 @@ TiddlyWiki class >> fromJSONUrl: anUrlString [
name: anUrlString name: anUrlString
] ]
{ #category : #accessing }
TiddlyWiki class >> loadFromLocalFolder: aFolder [
| wiki |
wiki := TiddlyWiki new
folder: aFolder;
file: aFolder / 'index.html';
jsonFile: aFolder / 'tiddlers.json'.
^ wiki fromString: wiki jsonFile.
]
{ #category : #accessing }
TiddlyWiki class >> loadFromLocalFolder: aFolder named: aName [
| wiki |
wiki := TiddlyWiki loadFromLocalFolder: aFolder.
^ wiki name: aName
]
{ #category : #accessing }
TiddlyWiki class >> loadFromLocalFolder: aFolder named: aName withRemote: aRemoteURL [
| wiki |
wiki := self loadFromLocalFolder: aFolder named: aName.
^ wiki remote: aRemoteURL
]
{ #category : #accessing } { #category : #accessing }
TiddlyWiki >> addRecentChangesToRepo [ TiddlyWiki >> addRecentChangesToRepo [
@ -181,7 +208,7 @@ TiddlyWiki >> downloadHTML [
localCopy := self folder / 'index.html'. localCopy := self folder / 'index.html'.
localCopy exists ifTrue: [ | timestamp | localCopy exists ifTrue: [ | timestamp |
timestamp := (DateAndTime now asString) copyReplaceAll: ':' with: '_'. timestamp := (DateAndTime now asString) copyReplaceAll: ':' with: '_'.
localCopy renameTo: 'index', timestamp, '.html']. localCopy renameTo: 'index-', timestamp, '.html'].
ZnClient new ZnClient new
url: htmlLink; url: htmlLink;
downloadTo: self folder / 'index.html'. downloadTo: self folder / 'index.html'.
@ -427,7 +454,12 @@ TiddlyWiki >> importJSONFile [
{ #category : #accessing } { #category : #accessing }
TiddlyWiki >> importJSONLink [ TiddlyWiki >> importJSONLink [
self jsonFile: self folder / 'tiddlers.json'. | localCopy |
self jsonFile ifNil: [ self jsonFile: self folder / 'tiddlers.json' ].
localCopy := self folder / 'tiddlers.json'.
localCopy exists ifTrue: [ | timestamp |
timestamp := (DateAndTime now asString) copyReplaceAll: ':' with: '_'.
localCopy renameTo: 'tiddlers-', timestamp, '.json'].
MarkupFile exportAsFileOn: jsonFile containing: self remoteTiddlersContentsString. MarkupFile exportAsFileOn: jsonFile containing: self remoteTiddlersContentsString.
^ self fromString: self remoteTiddlersContentsString ^ self fromString: self remoteTiddlersContentsString
] ]
@ -795,6 +827,15 @@ TiddlyWiki >> tiddlersJSONUrl [
self remote ifNil: [^ nil]. self remote ifNil: [^ nil].
] ]
{ #category : #accessing }
TiddlyWiki >> updateFilesFromRemote [
self remote ifNil: [ self inform: 'No remote found. If you have one, please provide its URL.'.
^ self ].
^ self downloadHTML;
importJSONLink
]
{ #category : #accessing } { #category : #accessing }
TiddlyWiki >> updateFromHtml [ TiddlyWiki >> updateFromHtml [
self self