projects
/
honey
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
00c7e5b
)
Add codefence, underscore emphasis
author
Frank Duncan <frank@consxy.com>
Mon, 10 Jan 2022 20:34:58 +0000
(14:34 -0600)
committer
Frank Duncan <frank@consxy.com>
Mon, 10 Jan 2022 20:35:02 +0000
(14:35 -0600)
src/main/parse.lisp
patch
|
blob
|
history
diff --git
a/src/main/parse.lisp
b/src/main/parse.lisp
index 74745bc750e392efe53821b680855b58081d5ebe..61f37e8e32cd3d5b50501862926890f131b0a50d 100644
(file)
--- a/
src/main/parse.lisp
+++ b/
src/main/parse.lisp
@@
-49,8
+49,8
@@
DESCRIPTION:
(append
(list
prev
(append
(list
prev
- (funcall function-to-call (subseq (cdr lines) 0 (or pos (
length lines
)))))
- (parse-lines (nthcdr (
1+ pos
) (cdr lines))))))
+ (funcall function-to-call (subseq (cdr lines) 0 (or pos (
1- (length lines)
)))))
+ (parse-lines (nthcdr (
if pos (1+ pos) (length lines)
) (cdr lines))))))
(t (cons prev (parse-lines (cdr lines) parsed-line))))))))
(defun parse-texts (line)
(t (cons prev (parse-lines (cdr lines) parsed-line))))))))
(defun parse-texts (line)
@@
-163,7
+163,17
@@
DESCRIPTION:
(defline-parser "### *(.*)" inline-h3)
(defline-parser "## *(.*)" inline-h2)
(defline-parser "# *(.*)" inline-h1)
(defline-parser "### *(.*)" inline-h3)
(defline-parser "## *(.*)" inline-h2)
(defline-parser "# *(.*)" inline-h1)
+
+; Ignore codefence
+(defline-parser "(```.*```.*)" default)
+
(defline-parser "```(.*)" codefence)
(defline-parser "```(.*)" codefence)
+
+; If we start with a space after the asterisk, we really do want a list
+(defline-parser " *\\* (.*)" list-item)
+; Ignore list-tiem
+(defline-parser "(\\*\\*.*\\*\\*.*)" default)
+(defline-parser "(\\*.*\\*.*)" default)
(defline-parser " *\\* *(.*)" list-item)
(defline-parser " *" emptiness)
(defline-parser "(.*)" default)
(defline-parser " *\\* *(.*)" list-item)
(defline-parser " *" emptiness)
(defline-parser "(.*)" default)
@@
-177,6
+187,11
@@
DESCRIPTION:
(defun md-link (before text md-link after)
(list before (a :href md-link (parse-texts text)) after))
(defun md-link (before text md-link after)
(list before (a :href md-link (parse-texts text)) after))
+(defun inline-code (before during after)
+ (list before (code during) after))
+
(definline-parser "(.*)\\[([^\\]]*)\\]\\(([^)]*)\\)(.*)" md-link)
(definline-parser "(.*)\\*\\*(.*)\\*\\*(.*)" strength)
(definline-parser "(.*)\\*(.*)\\*(.*)" emphasis)
(definline-parser "(.*)\\[([^\\]]*)\\]\\(([^)]*)\\)(.*)" md-link)
(definline-parser "(.*)\\*\\*(.*)\\*\\*(.*)" strength)
(definline-parser "(.*)\\*(.*)\\*(.*)" emphasis)
+(definline-parser "(.*)_(.*)_(.*)" emphasis)
+(definline-parser "(.*)```(.*)```(.*)" inline-code)