mirror of
https://codeberg.org/cage/tinmop/
synced 2025-02-21 08:50:51 +01:00
- [gemini] fixed gemini text parser.
This commit is contained in:
parent
eaf23afb58
commit
eefb64eb8e
@ -175,7 +175,8 @@
|
||||
list-item
|
||||
quote-line
|
||||
text-line
|
||||
cr-lf)))
|
||||
cr-lf))
|
||||
(:function first))
|
||||
|
||||
(define-constant +h1-underline+ #\━ :test #'char=)
|
||||
|
||||
@ -495,17 +496,20 @@
|
||||
(write-string (linkify link-value link-value) stream))))))))))
|
||||
|
||||
(defun parse-gemini-file (data)
|
||||
(let* ((was-raw-mode *raw-mode*)
|
||||
(actual-data (if (and (string-not-empty-p data)
|
||||
(char/= (last-elt data) #\Newline))
|
||||
(strcat data (string #\Newline))
|
||||
data))
|
||||
(parsed (parse 'gemini-file actual-data :junk-allowed t)))
|
||||
(if was-raw-mode
|
||||
(if *raw-mode*
|
||||
(list (html-utils:make-tag-node :as-is nil data))
|
||||
parsed)
|
||||
parsed)))
|
||||
(let* ((lines (if (string= (format nil "~%") data)
|
||||
(list (format nil "~%"))
|
||||
(mapcar (lambda (a)
|
||||
(strcat a (string #\Newline)))
|
||||
(split-lines data)))))
|
||||
(loop for line in lines
|
||||
collect
|
||||
(let ((was-raw-mode *raw-mode*)
|
||||
(parsed-line (parse 'gemini-file line :junk-allowed t)))
|
||||
(if was-raw-mode
|
||||
(if *raw-mode*
|
||||
(html-utils:make-tag-node :as-is nil line)
|
||||
parsed-line)
|
||||
parsed-line)))))
|
||||
|
||||
;; response header
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user