Extension { #name : #LePictureSnippet } { #category : #'*MiniDocs' } LePictureSnippet >> asMarkdeep [ | output curatedCaption captionLines | captionLines := self caption lines. (captionLines size <= 1) ifTrue: [ curatedCaption := caption ] ifFalse: [ curatedCaption := WriteStream on: ''. curatedCaption nextPutAll: captionLines first. captionLines allButFirstDo: [:line | curatedCaption nextPutAll: ' ', line. curatedCaption := curatedCaption contents. ] ]. output := WriteStream on: ''. output nextPutAll: self metadataDiv; nextPutAll: '![ ', curatedCaption ,' ](', self urlString, ')'; nextPut: Character lf; nextPutAll: ''; nextPut: Character lf; nextPut: Character lf. ^ output contents ] { #category : #'*MiniDocs' } LePictureSnippet >> fromMarkdeep: markdeepDiv [ ^ markdeepDiv asSnippetDictionary asLepiterSnippet ] { #category : #'*MiniDocs' } LePictureSnippet >> metadata [ ^ self optionAt: 'metadata' ifAbsentPut: [ self metadataInit ] ] { #category : #'*MiniDocs' } LePictureSnippet >> metadataDiv [ | output | output := WriteStream on: ''. output nextPutAll: '
'; nextPut: Character lf. ^ output contents withInternetLineEndings. ] { #category : #'*MiniDocs' } LePictureSnippet >> 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 ]