Improving Markdown support.
This commit is contained in:
parent
28e21b5e79
commit
d2fb9e00da
@ -16,7 +16,7 @@ BaselineOfMiniDocs >> baseline: spec [
|
|||||||
|
|
||||||
"Packages"
|
"Packages"
|
||||||
spec
|
spec
|
||||||
package: 'Markdeep'
|
package: 'MiniDocs'
|
||||||
with: [ spec requires: #('Mustache') ]
|
with: [ spec requires: #('Mustache') ]
|
||||||
].
|
].
|
||||||
spec
|
spec
|
||||||
|
@ -36,11 +36,42 @@ LePage >> asMarkdeepFile [
|
|||||||
^ self asMarkdeep exportAsFileOn: folder / self markdeepFileName
|
^ self asMarkdeep exportAsFileOn: folder / self markdeepFileName
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{ #category : #'*MiniDocs' }
|
||||||
|
LePage >> asMarkdown [
|
||||||
|
| bodyStream markdown |
|
||||||
|
bodyStream := '' writeStream.
|
||||||
|
bodyStream
|
||||||
|
nextPutAll: '---';
|
||||||
|
nextPutAll: String lf.
|
||||||
|
self metadata keysAndValuesDo: [ :k :v |
|
||||||
|
bodyStream
|
||||||
|
nextPutAll: k , ': ' , v;
|
||||||
|
nextPutAll: String lf ].
|
||||||
|
bodyStream nextPutAll: '---' , String lf , String lf.
|
||||||
|
self preorderTraversal
|
||||||
|
do: [ :snippet | bodyStream nextPutAll: snippet asMarkdown ].
|
||||||
|
markdown := Markdown new contents: bodyStream contents.
|
||||||
|
^ markdown
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #'*MiniDocs' }
|
||||||
|
LePage >> asMarkdownFile [
|
||||||
|
| folder |
|
||||||
|
folder := self options at: 'storage' ifAbsent: [ FileLocator temp ].
|
||||||
|
^ MarkupFile exportAsFileOn: folder / self markdownFileName containing: self asMarkdown contents
|
||||||
|
]
|
||||||
|
|
||||||
{ #category : #'*MiniDocs' }
|
{ #category : #'*MiniDocs' }
|
||||||
LePage >> markdeepFileName [
|
LePage >> markdeepFileName [
|
||||||
|
|
||||||
|
^ self markdownFileName , '.html'
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #'*MiniDocs' }
|
||||||
|
LePage >> markdownFileName [
|
||||||
| sanitized |
|
| sanitized |
|
||||||
sanitized := self title asDashedLowercase copyWithoutAll: #($/).
|
sanitized := self title asDashedLowercase copyWithoutAll: #($/).
|
||||||
^ sanitized, '--',(self uidString copyFrom: 1 to: 5), '.md.html'.
|
^ sanitized, '--',(self uidString copyFrom: 1 to: 5), '.md'.
|
||||||
]
|
]
|
||||||
|
|
||||||
{ #category : #'*MiniDocs' }
|
{ #category : #'*MiniDocs' }
|
||||||
|
@ -124,6 +124,14 @@ Markdown >> fromFile: aFileReference [
|
|||||||
self file: aFileReference
|
self file: aFileReference
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
Markdown >> gtTextFor: aView [
|
||||||
|
<gtView>
|
||||||
|
^ aView textEditor
|
||||||
|
title: 'Text';
|
||||||
|
text: [ self contents ]
|
||||||
|
]
|
||||||
|
|
||||||
{ #category : #utilities }
|
{ #category : #utilities }
|
||||||
Markdown >> lines [
|
Markdown >> lines [
|
||||||
^ self contents lines.
|
^ self contents lines.
|
||||||
@ -139,6 +147,13 @@ Markdown >> metadata [
|
|||||||
^ rawMeta
|
^ rawMeta
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
Markdown >> printOn: aStream [
|
||||||
|
super printOn: aStream.
|
||||||
|
aStream
|
||||||
|
nextPutAll: '( ', (self metadata at: 'title'), ' )'
|
||||||
|
]
|
||||||
|
|
||||||
{ #category : #utilities }
|
{ #category : #utilities }
|
||||||
Markdown >> startsWithYAMLMetadataDelimiter [
|
Markdown >> startsWithYAMLMetadataDelimiter [
|
||||||
^ self lines first beginsWith: self class yamlMetadataDelimiter
|
^ self lines first beginsWith: self class yamlMetadataDelimiter
|
||||||
|
Loading…
Reference in New Issue
Block a user