MiniDocs/src/MiniDocs/LePharoSnippet.extension.st

65 lines
2.0 KiB
Smalltalk
Raw Normal View History

2022-07-19 23:27:29 +00:00
Extension { #name : #LePharoSnippet }
2022-07-26 22:59:22 +00:00
{ #category : #'*MiniDocs' }
LePharoSnippet >> contentAsStringCustomized [
| thisObject |
2022-07-26 22:59:22 +00:00
(self tags includes: 'output') ifFalse: [ ^ self contentAsString ].
thisObject := ((self page sharedVariablesBindings) at: self detectObject) value.
^ thisObject perform: self detectMessage trimmed asSymbol.
2022-07-26 22:59:22 +00:00
]
{ #category : #'*MiniDocs' }
LePharoSnippet >> contentFrom: markdeepDiv [
| sanitizedStringText metadata joinedText |
metadata := STON fromString: (markdeepDiv attributes at: 'st-data').
sanitizedStringText := markdeepDiv contentString lines.
sanitizedStringText := sanitizedStringText copyFrom: 4 to: sanitizedStringText size -2.
joinedText := '' writeStream.
sanitizedStringText do: [ :line | joinedText nextPutAll: line; nextPut: Character lf ].
self code: joinedText contents allButLast;
uid: (LeUID new uidString: (metadata at: 'id'));
parent: (metadata at: 'parent');
createTime: (LeTime new time: ((metadata at: 'created')asDateAndTime));
editTime: (LeTime new time: ((metadata at: 'modified') asDateAndTime));
editEmail: (metadata at: 'modifier');
createEmail: (metadata at: 'creator')
]
2022-07-19 23:27:29 +00:00
{ #category : #'*MiniDocs' }
LePharoSnippet >> markdeepCustomCloser [
2022-07-25 23:51:28 +00:00
^ String streamContents: [ :stream |
2022-07-19 23:27:29 +00:00
stream
nextPutAll: '~~~'; lf;
nextPutAll: '</script>'; lf.
]
]
{ #category : #'*MiniDocs' }
LePharoSnippet >> markdeepCustomOpener [
2022-07-25 23:51:28 +00:00
^ String streamContents: [ :stream |
2022-07-19 23:27:29 +00:00
stream
nextPutAll: '<script type="preformatted">'; lf;
nextPutAll: '~~~ Smalltalk'; lf
]
]
{ #category : #'*MiniDocs' }
LePharoSnippet >> markdownCustomCloser [
2022-07-26 22:59:22 +00:00
(self tags includes: 'output') ifTrue: [^ String with: Character lf].
2022-07-19 23:27:29 +00:00
^ String streamContents: [:stream |
stream
nextPutAll: '~~~'; lf
]
]
{ #category : #'*MiniDocs' }
LePharoSnippet >> markdownCustomOpener [
2022-07-26 22:59:22 +00:00
(self tags includes: 'output') ifTrue: [ ^ String with: Character lf ].
^ String
streamContents: [ :stream |
stream
nextPutAll: '~~~ Smalltalk';
lf ]
2022-07-19 23:27:29 +00:00
]