From a5e2db38690ad8afa0e01de3d6dd56573220826d Mon Sep 17 00:00:00 2001 From: Offray Luna Date: Fri, 28 Jan 2022 18:53:07 -0500 Subject: [PATCH] Support for metadata en Markdeep page exportation. --- .../Grafoscopio-Utils/LePage.extension.st | 2 ++ .../Grafoscopio-Utils/Markdeep.class.st | 24 +++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/repository/Grafoscopio-Utils/LePage.extension.st b/repository/Grafoscopio-Utils/LePage.extension.st index 05eac80..b2e72f5 100644 --- a/repository/Grafoscopio-Utils/LePage.extension.st +++ b/repository/Grafoscopio-Utils/LePage.extension.st @@ -10,6 +10,8 @@ LePage >> asMarkdeep [ markdeep := Markdeep new title: self title; body: bodyStream contents. + markdeep metadata at: 'authors' put: (self metadata at: 'authors'). + markdeep metadata at: 'version' put: (self metadata at: 'version'). self metadata keysAndValuesDo: [:k :v | markdeep header add: ''; diff --git a/repository/Grafoscopio-Utils/Markdeep.class.st b/repository/Grafoscopio-Utils/Markdeep.class.st index a07e283..8455020 100644 --- a/repository/Grafoscopio-Utils/Markdeep.class.st +++ b/repository/Grafoscopio-Utils/Markdeep.class.st @@ -12,7 +12,8 @@ Class { 'header', 'tail', 'language', - 'config' + 'config', + 'metadata' ], #category : #'Grafoscopio-Utils-Core' } @@ -22,6 +23,11 @@ Markdeep class >> fromMarkdownFile: aFileReference [ ^ self new fromMarkdownFile: aFileReference. ] +{ #category : #'instance creation' } +Markdeep >> authors [ + ^ self metadata at: 'authors' ifAbsent: [ ^'' ] +] + { #category : #accessing } Markdeep >> body [ ^ body @@ -89,7 +95,9 @@ Markdeep >> contents [ output := '' writeStream. output nextPutAll: self headerContents; lf; lf; - nextPutAll: ' **', self title, '**'; lf; lf; + nextPutAll: ' **', self title, '**'; lf; + nextPutAll: ' **', self authors, '**'; lf; + nextPutAll: ' ', self version; lf; lf; nextPutAll: self body; lf; lf; nextPutAll: self tail; lf; lf; lf; lf; nextPutAll: self commentsSupport. @@ -186,6 +194,11 @@ Markdeep >> markdownFile: aFileReference [ self config at: 'markdownFile' put: aFileReference ] +{ #category : #'instance creation' } +Markdeep >> metadata [ + ^ metadata ifNil: [ metadata := OrderedDictionary new ] +] + { #category : #printing } Markdeep >> printOn: aStream [ @@ -243,3 +256,10 @@ Markdeep >> tocStyle [ Markdeep >> tocStyle: anObject [ tocStyle := anObject ] + +{ #category : #'instance creation' } +Markdeep >> version [ + | semVer | + semVer := self metadata at: 'version' ifAbsent: [ ^'' ]. + ^ 'v', semVer +]