aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/data/format
diff options
context:
space:
mode:
authorEduardo Julian2019-02-05 02:14:27 -0400
committerEduardo Julian2019-02-05 02:14:27 -0400
commitbe5710d104e6ee085dcb9d871be0b80305e48f8b (patch)
tree4efce24bf16672dd0a3042b36567ec0f136a4ae8 /stdlib/source/lux/data/format
parent55d1b60e0fec6f24f1ab21d299fe04640c3e2ce3 (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.lux14
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))