From 1fe6a8f548f782d632015b10ebbe0aa945d6e43a Mon Sep 17 00:00:00 2001 From: Offray Luna Date: Thu, 9 Mar 2023 10:10:55 -0500 Subject: [PATCH] Markdown metadata as an object itself. Separating it at creation needs to be implemented. --- src/MiniDocs/Markdown.class.st | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/MiniDocs/Markdown.class.st b/src/MiniDocs/Markdown.class.st index 67cc94c..4799238 100644 --- a/src/MiniDocs/Markdown.class.st +++ b/src/MiniDocs/Markdown.class.st @@ -9,7 +9,8 @@ Class { #superclass : #Object, #instVars : [ 'contents', - 'file' + 'file', + 'metadata' ], #category : #MiniDocs } @@ -113,6 +114,7 @@ Markdown >> fromFile: aFileReference [ { #category : #'instance creation' } Markdown >> fromString: markdownString [ self contents: markdownString. + self populateMetadata ] { #category : #accessing } @@ -130,12 +132,25 @@ Markdown >> lines [ { #category : #accessing } Markdown >> metadata [ + + ^ metadata ifNil: [ metadata := Dictionary new]. + +] + +{ #category : #accessing } +Markdown >> metadata: rawMeta [ + + metadata := rawMeta +] + +{ #category : #accessing } +Markdown >> populateMetadata [ | rawMeta | rawMeta := MiniDocs yamlToJson: self yamlMetadataString. rawMeta associationsDo: [ :assoc | assoc value = 'false' ifTrue: [ assoc value: false ]. assoc value = 'true' ifTrue: [ assoc value: true ] ]. - ^ rawMeta + self metadata: rawMeta ] { #category : #accessing }