58 lines
1.4 KiB
Smalltalk
58 lines
1.4 KiB
Smalltalk
Extension { #name : #LeTextSnippet }
|
|
|
|
{ #category : #'*MiniDocs' }
|
|
LeTextSnippet >> asLePage [
|
|
| page |
|
|
page := LePage new
|
|
initializeTitle: self contentAsString.
|
|
self database addPage: page.
|
|
self childrenDo: [:child |
|
|
child moveToPageTitled: page title
|
|
].
|
|
self removeSelfCommand.
|
|
^ page.
|
|
]
|
|
|
|
{ #category : #'*MiniDocs' }
|
|
LeTextSnippet >> fromMarkdeep: markdeepDiv [
|
|
|
|
^ markdeepDiv asSnippetDictionary asLepiterSnippet
|
|
]
|
|
|
|
{ #category : #'*MiniDocs' }
|
|
LeTextSnippet >> metadata [
|
|
|
|
^ self optionAt: 'metadata' ifAbsentPut: [ self metadataInit ]
|
|
]
|
|
|
|
{ #category : #'*MiniDocs' }
|
|
LeTextSnippet >> metadataInit [
|
|
|
|
^ OrderedDictionary new
|
|
at: 'id' put: self uidString;
|
|
at: 'parent' put: self parentId;
|
|
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 : #'*MiniDocs' }
|
|
LeTextSnippet >> options [
|
|
^ options
|
|
]
|
|
|
|
{ #category : #'*MiniDocs' }
|
|
LeTextSnippet >> parentId [
|
|
self parent ifNil: [ ^ self ].
|
|
(self parent isString) ifTrue: [^ self parent].
|
|
^ self parent uidString.
|
|
]
|
|
|
|
{ #category : #'*MiniDocs' }
|
|
LeTextSnippet >> taggedWith: aString [
|
|
self metadata at: 'tags' ifPresent: [ (self metadata at: 'tags') add: aString; yourself ] ifAbsentPut: [ Set new ].
|
|
^ self metadata at: 'tags'
|
|
]
|