GrafoscopioUtils/repository/Grafoscopio-Utils/CodiMD.class.st

114 lines
2.2 KiB
Smalltalk
Raw Normal View History

2019-05-29 12:31:04 +00:00
"
I model the interface between a CodiMD (https://demo.codimd.org) documentation
server and Grafoscopio.
I enable the interaction between Grafoscopio notebooks and CodiMD documents,
so one document can start online (as a CodiMD pad) and continue as a Grafoscopio
notebook or viceversa.
"
Class {
#name : #CodiMD,
#superclass : #Object,
#instVars : [
'server',
2020-05-02 23:59:57 +00:00
'pad',
'contents',
'url'
2019-05-29 12:31:04 +00:00
],
#category : #'Grafoscopio-Utils'
}
{ #category : #'as yet unclassified' }
CodiMD class >> newDefault [
^ self new
defaultServer.
]
2020-08-29 01:24:25 +00:00
{ #category : #accessing }
CodiMD >> contents [
^ contents
]
{ #category : #accessing }
CodiMD >> contents: anObject [
contents := anObject
]
2019-05-29 12:31:04 +00:00
{ #category : #'as yet unclassified' }
CodiMD >> defaultServer [
self server: 'https://docutopia.tupale.co'.
]
{ #category : #'as yet unclassified' }
CodiMD >> htmlUrl [
| link |
link := self url copy.
link segments insert: 's' before: 1.
^ link
]
{ #category : #'as yet unclassified' }
CodiMD >> importContents [
self contents: self retrieveContents
]
2019-05-29 12:31:04 +00:00
{ #category : #accessing }
CodiMD >> pad [
^ pad
]
{ #category : #accessing }
CodiMD >> pad: anObject [
pad := anObject
]
{ #category : #'as yet unclassified' }
CodiMD >> retrieveContents [
self url ifNil: [ ^ self ].
^ (self url addPathSegment: 'download') retrieveContents
]
{ #category : #'as yet unclassified' }
CodiMD >> retrieveHtmlContents [
| htmlContents |
self url ifNil: [ ^ self ].
htmlContents := self htmlUrl.
^ htmlContents retrieveContents
]
{ #category : #'as yet unclassified' }
CodiMD >> saveContentsToFile: aFileLocator [
self url ifNil: [ ^ self ].
^ (self url addPathSegment: 'download') saveContentsToFile: aFileLocator
]
{ #category : #'as yet unclassified' }
CodiMD >> saveHtmlContentsToFile: aFileLocator [
self url ifNil: [ ^ self ].
^ self htmlUrl saveContentsToFile: aFileLocator
]
2019-05-29 12:31:04 +00:00
{ #category : #accessing }
CodiMD >> server [
^ server
]
{ #category : #accessing }
CodiMD >> server: aUrlString [
server := aUrlString
]
2020-05-02 23:59:57 +00:00
{ #category : #accessing }
CodiMD >> url [
^ url asUrl
2020-05-02 23:59:57 +00:00
]
2020-08-29 01:24:25 +00:00
{ #category : #accessing }
CodiMD >> url: anObject [
url := anObject
]
2019-05-29 12:31:04 +00:00
{ #category : #visiting }
CodiMD >> visit [
WebBrowser openOn: self server, '/', self pad.
2019-05-29 12:31:04 +00:00
]