This commit is contained in:
Offray Vladimir Luna Cárdenas 2024-03-23 09:36:32 -05:00
commit b7fdbb731c
2 changed files with 22 additions and 5 deletions

View File

@ -5,7 +5,6 @@ Class {
#name : #Markdeep,
#superclass : #Markdown,
#instVars : [
'title',
'comments',
'tail',
'language',

View File

@ -9,7 +9,8 @@ Class {
#superclass : #MarkupFile,
#instVars : [
'metadata',
'body'
'body',
'title'
],
#category : #'MiniDocs-Core'
}
@ -65,6 +66,9 @@ Markdown >> contents [
| response |
response := WriteStream on: ''.
response
nextPutAll: '---'; cr;
nextPutAll: self metadataAsYAML; cr;
nextPutAll: '---'; cr;
nextPutAll: self body.
^ response contents
]
@ -177,7 +181,8 @@ Markdown >> file: aFileReference [
Markdown >> fromFile: aFileReference [
self contents: aFileReference contents.
self file: aFileReference.
self populateMetadata
self populateMetadata.
self body: self contentsWithoutYAMLMetadata
]
{ #category : #'instance creation' }
@ -195,6 +200,14 @@ Markdown >> gtTextFor: aView [
text: [ self contents ]
]
{ #category : #accessing }
Markdown >> headerAsTitle [
| headerNode |
headerNode := self documentTree children
detect: [ :node | node className = 'PPCMHeader' and: [ node level = 1 ] ] ifNone: [ ^ nil ].
^ headerNode text
]
{ #category : #utilities }
Markdown >> lines [
self file ifNotNil: [^ self file contents lines ].
@ -241,7 +254,7 @@ Markdown >> populateMetadata [
Markdown >> printOn: aStream [
super printOn: aStream.
aStream
nextPutAll: '( ', (self metadata at: 'title' ifAbsent: ['untitled']), ' )'
nextPutAll: '( ', self title , ' )'
]
{ #category : #utilities }
@ -251,6 +264,11 @@ Markdown >> startsWithYAMLMetadataDelimiter [
]
{ #category : #accessing }
Markdown >> title [
^ self metadata at: 'title' ifAbsentPut: [ self headerAsTitle]
]
{ #category : #utilities }
Markdown >> yamlMetadataClosingLineNumber [
"I return the line where the closing of the YAML metadata occurs or 0 if no closing is found."