99 lines
2.1 KiB
Smalltalk
99 lines
2.1 KiB
Smalltalk
Class {
|
|
#name : #FedWikiPage,
|
|
#superclass : #Object,
|
|
#instVars : [
|
|
'url',
|
|
'title',
|
|
'story',
|
|
'journal',
|
|
'importJournal'
|
|
],
|
|
#category : #'TiddlyWiki-Model'
|
|
}
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> dataDictionary [
|
|
| dataUrl |
|
|
self isView ifFalse: [
|
|
self inform: 'Please provide a view url for the FedWiki page.'.
|
|
^ self].
|
|
dataUrl := self scheme , '://', self host, '/', self titleSegmentUrl, '.json'.
|
|
^ STONJSON fromString: dataUrl asUrl retrieveContents
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> fromDataDictionary [
|
|
title := self title.
|
|
story := self story.
|
|
self importJournal ifTrue: [ journal := self dataDictionary at: 'journal'].
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> host [
|
|
^ self url host
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> importJournal [
|
|
^ importJournal ifNil: [ importJournal := false ]
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> importJournal: aBoolean [
|
|
importJournal := aBoolean
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> isView [
|
|
^ self url firstPathSegment = 'view'
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> jsonData [
|
|
| dataUrl |
|
|
self isView ifFalse: [
|
|
self inform: 'Please provide a view url for the FedWiki page.'.
|
|
^ self].
|
|
dataUrl := self scheme , '://', self host, self titleSegmentUrl, '.json'
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> printOn: aStream [
|
|
super printOn: aStream.
|
|
aStream
|
|
nextPutAll: '( ', self title, ' | ', self story size asString, ' items story )'
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> scheme [
|
|
^ self url scheme
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> story [
|
|
^ self dataDictionary at: 'story'
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> title [
|
|
^ self dataDictionary at: 'title'
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> titleSegmentUrl [
|
|
self isView ifFalse: [
|
|
self inform: 'Please provide a view url for the FedWiki page.'.
|
|
^ self].
|
|
^ self url segments last.
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> url [
|
|
^ url
|
|
]
|
|
|
|
{ #category : #accessing }
|
|
FedWikiPage >> url: aString [
|
|
url := aString asZnUrl
|
|
]
|