diff --git a/src/Grafoscopio-Utils/Markdeep.class.st b/src/Grafoscopio-Utils/Markdeep.class.st new file mode 100644 index 0000000..c3489ee --- /dev/null +++ b/src/Grafoscopio-Utils/Markdeep.class.st @@ -0,0 +1,126 @@ +" +I model a Mardeep file as described in https://casual-effects.com/markdeep/ +" +Class { + #name : #Markdeep, + #superclass : #Object, + #instVars : [ + 'tocStyle', + 'header', + 'tail', + 'body', + 'language', + 'markdownFile' + ], + #category : #'Grafoscopio-Utils' +} + +{ #category : #'as yet unclassified' } +Markdeep class >> fromMarkdownFile: aFileReference [ + ^ self new fromMarkdownFile: aFileReference. +] + +{ #category : #accessing } +Markdeep >> body [ + ^ body +] + +{ #category : #accessing } +Markdeep >> body: anObject [ + body := anObject +] + +{ #category : #'instance creation' } +Markdeep >> contents [ + | output | + output := '' writeStream. + output + nextPutAll: self header; crlf; + nextPutAll: (self body); crlf; + nextPutAll: self tail. + ^ output contents. +] + +{ #category : #utilities } +Markdeep >> fontAwesomeHeader [ + "I enable the font awesome support in the document header" + + ^ ' +' +] + +{ #category : #'instance creation' } +Markdeep >> fromMarkdownFile: aFileReference [ + "I create a Markdeep document from a given Markdown file." + self processMarkdownFor: aFileReference. + ^ self contents. +] + +{ #category : #accessing } +Markdeep >> header [ + ^ self fontAwesomeHeader +] + +{ #category : #accessing } +Markdeep >> header: anObject [ + header := anObject +] + +{ #category : #accessing } +Markdeep >> language [ + ^ language +] + +{ #category : #accessing } +Markdeep >> language: anObject [ + language := anObject +] + +{ #category : #accessing } +Markdeep >> markdownFile [ + ^ markdownFile +] + +{ #category : #accessing } +Markdeep >> markdownFile: aFileReference [ + "I provide information about which Markdown file was used to generate the Markdeep body" + markdownFile := aFileReference +] + +{ #category : #'instance creation' } +Markdeep >> processMarkdownFor: aFileReference [ + "comment stating purpose of message" + self markdownFile: aFileReference. + self body: (self markdownFile contents). +] + +{ #category : #accessing } +Markdeep >> tail [ + "I enable the document tail, which, in turn, enables a Markdeep document" + ^ ' + + + + + + + ' +] + +{ #category : #accessing } +Markdeep >> tail: anObject [ + tail := anObject +] + +{ #category : #accessing } +Markdeep >> tocStyle [ + ^ tocStyle +] + +{ #category : #accessing } +Markdeep >> tocStyle: anObject [ + tocStyle := anObject +]