From f5006572e8067aff3a37d84930e8808f9b2a5ae4 Mon Sep 17 00:00:00 2001 From: Offray Luna Date: Mon, 3 Jul 2023 21:55:57 -0500 Subject: [PATCH] Improving Markdown to Markdeep conversion. --- src/MiniDocs/LePage.extension.st | 2 +- src/MiniDocs/Markdown.class.st | 4 +++- src/MiniDocs/MiniDocs.class.st | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/MiniDocs/LePage.extension.st b/src/MiniDocs/LePage.extension.st index ba7b20c..9e62d1e 100644 --- a/src/MiniDocs/LePage.extension.st +++ b/src/MiniDocs/LePage.extension.st @@ -132,7 +132,7 @@ LePage >> localHostAddress [ MiniDocsServer teapot server isRunning ifFalse: [ MiniDocsServer restart ]. route := MiniDocsServer teapot staticRouter prefix joinUsing: '/'. localUrl := MiniDocsServer teapot server localUrl asString. - ^ {localUrl, route, '/', self markdeepFileName . MiniDocsServer} + ^ localUrl, route, '/', self markdeepFileName ] { #category : #'*MiniDocs' } diff --git a/src/MiniDocs/Markdown.class.st b/src/MiniDocs/Markdown.class.st index bcbe8c3..ac72eb2 100644 --- a/src/MiniDocs/Markdown.class.st +++ b/src/MiniDocs/Markdown.class.st @@ -229,6 +229,7 @@ Markdown >> printOn: aStream [ { #category : #utilities } Markdown >> startsWithYAMLMetadataDelimiter [ + self lines ifEmpty: [^false]. ^ self lines first beginsWith: self class yamlMetadataDelimiter ] @@ -250,7 +251,8 @@ Markdown >> yamlMetadataClosingLineNumber [ { #category : #operation } Markdown >> yamlMetadataString [ | output yamlLines | - self detectYAMLMetadata ifFalse: [ ^ nil ]. + self detectYAMLMetadata ifFalse: [ ^nil ]. + self lines ifEmpty: [ ^nil ]. yamlLines := self lines copyFrom: 2 to: self yamlMetadataClosingLineNumber - 1. output := '' writeStream. yamlLines do: [ :line | diff --git a/src/MiniDocs/MiniDocs.class.st b/src/MiniDocs/MiniDocs.class.st index 589e888..b923bf5 100644 --- a/src/MiniDocs/MiniDocs.class.st +++ b/src/MiniDocs/MiniDocs.class.st @@ -100,6 +100,7 @@ MiniDocs class >> shiftKeys [ MiniDocs class >> yamlToJson: yamlString [ "This method uses a external binary written in Nim, as the native Pharo parser for YAML, written in PetitParser, was less robust and unable to parse correctly the same strings as the external one." + yamlString ifNil: [ ^ Dictionary new ]. self yamlToJsonBinary exists ifFalse: [ self installYamlToJson ]. OSSUnixSubprocess new