Extension { #name : #LeTextualSnippet }
{ #category : #'*Grafoscopio-Utils-Core' }
LeTextualSnippet >> asMarkdeep [
"Inspired by Alpine.js and Assembler CSS 'x-' properties, we are going to use
'st-' properties as a way to extend divs metadata regarding its contents."
| output |
output := '' writeStream.
output
nextPutAll: '
'; lf;
nextPutAll: self markdeepCustomOpener;
nextPutAll: self contentAsString; lf;
nextPutAll: self markdeepCustomCloser;
nextPutAll: '
'; lf; lf.
^ output contents
]
{ #category : #'*Grafoscopio-Utils-Core' }
LeTextualSnippet >> childrenIds [
^ self children collect: [ :each | each uidString ]
]
{ #category : #'*Grafoscopio-Utils-Core' }
LeTextualSnippet >> metadata [
^ self optionAt: 'metadata' ifAbsentPut: [ self metadataInit ]
]
{ #category : #'*Grafoscopio-Utils-Core' }
LeTextualSnippet >> metadataInit [
| surrogate |
self parent
ifNil: [ surrogate := nil]
ifNotNil: [ surrogate := self parent uidString ].
^ OrderedDictionary new
at: 'id' put: self uidString;
at: 'parent' put: surrogate;
at: 'created' put: self createTime asString;
at: 'modified' put: self latestEditTime asString;
at: 'creator' put: self createEmail asString;
at: 'modifier' put: self editEmail asString;
yourself
]
{ #category : #'*Grafoscopio-Utils-Core' }
LeTextualSnippet >> options [
^ options
]