GrafoscopioUtils/repository/Grafoscopio-Utils/LePage.extension.st

50 lines
1.3 KiB
Smalltalk

Extension { #name : #LePage }
{ #category : #'*Grafoscopio-Utils-Core' }
LePage >> asMarkdeep [
| bodyStream |
bodyStream := '' writeStream.
self preorderTraversal do: [:snippet |
bodyStream nextPutAll: snippet asMarkdeep
].
^ Markdeep new
title: self title;
body: bodyStream contents
contents.
]
{ #category : #'*Grafoscopio-Utils-Core' }
LePage >> asMarkdeepInto: aFileLocator [
self preorderTraversal
]
{ #category : #'*Grafoscopio-Utils-Core' }
LePage >> fileName [
^ self title asDashedLowercase, '.', ((self uidString copyFrom: 1 to: 5 ) copyWithoutAll: '/'), '.md.html'
]
{ #category : #'*Grafoscopio-Utils-Core' }
LePage >> markdeepTemporalFile [
| fileName sanitized |
sanitized := self title asDashedLowercase copyWithoutAll: #($/).
fileName := sanitized, '--',(self uidString copyFrom: 1 to: 5), '.md.html'.
^ FileLocator temp / fileName.
]
{ #category : #'*Grafoscopio-Utils-Core' }
LePage >> metadata [
^ OrderedDictionary new
at: 'id' put: self uidString;
at: 'created' put: self createTime asString;
at: 'modified' put: self latestEditTime asString;
at: 'creator' put: self createEmail asString;
at: 'editor' put: self editEmail asString;
yourself.
]
{ #category : #'*Grafoscopio-Utils-Core' }
LePage >> options [
^ options
]