Compare commits
2 Commits
f345442407
...
1a86155662
Author | SHA1 | Date |
---|---|---|
|
1a86155662 | |
|
0a1fda4a08 |
|
@ -10,6 +10,13 @@
|
||||||
(cons (car list) new-list))
|
(cons (car list) new-list))
|
||||||
(cdr list)))))
|
(cdr list)))))
|
||||||
|
|
||||||
|
(define (join-strings-into-one-string list)
|
||||||
|
(let loop ((result "") (tail list))
|
||||||
|
(cond ((null? tail) result)
|
||||||
|
((string? (car tail)) (loop (string-append result (car tail))
|
||||||
|
(cdr tail)))
|
||||||
|
(else (error "Expected all strings" list)))))
|
||||||
|
|
||||||
(define (vector-refs vec . indexes)
|
(define (vector-refs vec . indexes)
|
||||||
(let loop ((obj vec) (indexes indexes))
|
(let loop ((obj vec) (indexes indexes))
|
||||||
(if (null? indexes) obj
|
(if (null? indexes) obj
|
||||||
|
@ -40,9 +47,9 @@
|
||||||
((equal? type "Code")
|
((equal? type "Code")
|
||||||
`(code ,@(convert-many (cdr (contents-list)))))
|
`(code ,@(convert-many (cdr (contents-list)))))
|
||||||
((equal? type "CodeBlock")
|
((equal? type "CodeBlock")
|
||||||
`(pre (@ (data-syntax ,@(join-adjacent-strings
|
`(pre (@ (data-syntax ,(join-strings-into-one-string
|
||||||
(vector->list
|
(vector->list
|
||||||
(vector-refs (contents) 0 1)))))
|
(vector-refs (contents) 0 1)))))
|
||||||
,@(convert-many (cdr (contents-list)))))
|
,@(convert-many (cdr (contents-list)))))
|
||||||
((equal? type "Emph")
|
((equal? type "Emph")
|
||||||
`(em ,@(convert-many (contents-list))))
|
`(em ,@(convert-many (contents-list))))
|
||||||
|
@ -53,8 +60,16 @@
|
||||||
"h" (number->string (inexact->exact level))))))
|
"h" (number->string (inexact->exact level))))))
|
||||||
`(,h-tag ,@(convert-many (vector->list
|
`(,h-tag ,@(convert-many (vector->list
|
||||||
(list-ref (contents-list) 2))))))
|
(list-ref (contents-list) 2))))))
|
||||||
|
((equal? type "Image")
|
||||||
|
`(img (@ (src
|
||||||
|
,(join-strings-into-one-string
|
||||||
|
(vector->list (vector-ref (contents) 2))))
|
||||||
|
#;
|
||||||
|
(alt
|
||||||
|
,(join-strings-into-one-string
|
||||||
|
(vector->list (vector-ref (contents) 1)))))))
|
||||||
((equal? type "Link")
|
((equal? type "Link")
|
||||||
`(a (@ (href ,(join-adjacent-strings
|
`(a (@ (href ,(join-strings-into-one-string
|
||||||
(vector->list (vector-ref (contents) 2)))))
|
(vector->list (vector-ref (contents) 2)))))
|
||||||
,@(convert-many (vector->list (vector-ref (contents) 1)))))
|
,@(convert-many (vector->list (vector-ref (contents) 1)))))
|
||||||
((equal? type "Plain")
|
((equal? type "Plain")
|
||||||
|
|
Loading…
Reference in New Issue