Compare commits

..

No commits in common. "1a86155662784bc2ce3df6668e230941067189c5" and "f3454424075db277a99f54b01fdf5a145d5e1344" have entirely different histories.

1 changed files with 4 additions and 19 deletions

View File

@ -10,13 +10,6 @@
(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
@ -47,7 +40,7 @@
((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-strings-into-one-string `(pre (@ (data-syntax ,@(join-adjacent-strings
(vector->list (vector->list
(vector-refs (contents) 0 1))))) (vector-refs (contents) 0 1)))))
,@(convert-many (cdr (contents-list))))) ,@(convert-many (cdr (contents-list)))))
@ -60,16 +53,8 @@
"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-strings-into-one-string `(a (@ (href ,(join-adjacent-strings
(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")