Starting local server for exported documents. Exported pages by default on the same folder as their Lepiter JSON counterparts.

This commit is contained in:
Offray Vladimir Luna Cárdenas 2023-01-02 17:38:49 -05:00
parent 1d58571d39
commit dbd9a495c2
2 changed files with 41 additions and 5 deletions

View File

@ -73,7 +73,7 @@ LePage >> asMarkdown [
{ #category : #'*MiniDocs' }
LePage >> asMarkdownFile [
| folder |
folder := self options at: 'storage' ifAbsent: [ FileLocator temp ].
folder := self storage.
^ MarkupFile exportAsFileOn: folder / self markdownFileName containing: self asMarkdown contents
]
@ -211,9 +211,9 @@ LePage >> sharedVariablesBindings [
{ #category : #'*MiniDocs' }
LePage >> storage [
| temporal |
temporal := (FileLocator temp / 'lepiter') ensureCreateDirectory.
self optionAt: 'storage' ifAbsent: [ ^ temporal ].
(self optionAt: 'storage') ifNil: [ ^ temporal ].
| current |
current := self database attachmentsDirectory parent.
self optionAt: 'storage' ifAbsent: [ ^ current ].
(self optionAt: 'storage') ifNil: [ ^ current ].
^ self optionAt: 'storage'
]

View File

@ -0,0 +1,36 @@
Class {
#name : #MiniDocsServer,
#superclass : #Teapot,
#classInstVars : [
'storage'
],
#category : #MiniDocs
}
{ #category : #accessing }
MiniDocsServer class >> addStorage: anObject [
self storage add: anObject.
]
{ #category : #accessing }
MiniDocsServer class >> initialize [
self addStorage: FileLocator documents / 'lepiter' / 'default'
]
{ #category : #accessing }
MiniDocsServer class >> start [
self initialize.
^ self superclass on
serveStatic: '/lepiter/doc/' from: self storage first pathString;
start
]
{ #category : #accessing }
MiniDocsServer class >> storage [
^ storage ifNil: [ storage := OrderedCollection new]
]
{ #category : #accessing }
MiniDocsServer class >> storage: aFoldersOrderedCollection [
storage := aFoldersOrderedCollection
]