MiniDocs/src/MiniDocs/LeSnippet.extension.st

29 lines
777 B
Smalltalk

Extension { #name : #LeSnippet }
{ #category : #'*MiniDocs' }
LeSnippet class >> fromMetaMarkdeep: div [
| className metadata snippet |
className := (div xpath: '@st-class') stringValue.
metadata := STON fromString:(div xpath: '@st-data') stringValue.
snippet := className asClass new.
snippet injectMetadataFrom: metadata.
snippet fromMarkdeep: div.
^ snippet.
]
{ #category : #'*MiniDocs' }
LeSnippet >> metadata [
^ self metadataUpdate
]
{ #category : #'*MiniDocs' }
LeSnippet >> moveToPageTitled: pageName [
| db origin destination thisSnippet |
thisSnippet := self.
db := self page database.
destination := db pageNamed: pageName.
origin := db pageNamed: thisSnippet page title.
origin removeSnippet: thisSnippet.
destination addSnippet: thisSnippet.
]