diff options
author | Eduardo Julian | 2019-02-05 02:14:27 -0400 |
---|---|---|
committer | Eduardo Julian | 2019-02-05 02:14:27 -0400 |
commit | be5710d104e6ee085dcb9d871be0b80305e48f8b (patch) | |
tree | 4efce24bf16672dd0a3042b36567ec0f136a4ae8 /stdlib/source/lux/data/format | |
parent | 55d1b60e0fec6f24f1ab21d299fe04640c3e2ce3 (diff) |
Migrated documentation tool's code into stdlib.
Diffstat (limited to 'stdlib/source/lux/data/format')
-rw-r--r-- | stdlib/source/lux/data/format/markdown.lux | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/stdlib/source/lux/data/format/markdown.lux b/stdlib/source/lux/data/format/markdown.lux index 757fca9b3..5fcf85cbf 100644 --- a/stdlib/source/lux/data/format/markdown.lux +++ b/stdlib/source/lux/data/format/markdown.lux @@ -38,14 +38,20 @@ Text + (def: #export empty + Markdown + (:abstraction "")) + (def: #export text (-> Text (Markdown Span)) (|>> ..sanitize :abstraction)) + (def: blank-line (format text.new-line text.new-line)) + (do-template [<name> <prefix>] [(def: #export (<name> content) (-> Text Markdown) - (:abstraction (format <prefix> (..sanitize content) text.new-line)))] + (:abstraction (format <prefix> " " (..sanitize content) ..blank-line)))] [heading/1 "#"] [heading/2 "##"] @@ -55,8 +61,6 @@ [heading/6 "######"] ) - (def: blank-line (format text.new-line text.new-line)) - (def: (block content) (-> Text (Markdown Block)) (:abstraction (format content ..blank-line))) @@ -136,7 +140,9 @@ (def: #export code {#.doc "A block of code."} (-> Text (Markdown Block)) - (|>> ..indent ..block)) + (let [open (format "```" text.new-line) + close (format text.new-line "```")] + (|>> (text.enclose [open close]) ..block))) (def: #export (image description url) (-> Text URL (Markdown Span)) |