diff options
| -rw-r--r-- | main.scm | 11 | ||||
| -rw-r--r-- | md-parser.scm | 3 |
2 files changed, 10 insertions, 4 deletions
@@ -41,10 +41,15 @@ (assert (> (string-length out-dir) 0)) (assert (> (string-length template-path) 0)) - (define (preprocess-md md-path out-path) - (define md (with-input-from-file md-path - (λ () (read-string #f)))) + (define md-or-eof (with-input-from-file md-path + (λ () (read-string #f)))) + + (define md (if (eof-object? md-or-eof) + (begin (printf "[warn] \"~A\" is empty, using an empty md file...~%" md-path) + "") + ;; else + md-or-eof)) (define cwd (decompose-pathname md-path)) (define out-path-dir (decompose-pathname out-path)) diff --git a/md-parser.scm b/md-parser.scm index accc927..7cf3d45 100644 --- a/md-parser.scm +++ b/md-parser.scm @@ -40,7 +40,8 @@ (λ () (read-lines)))) (define (inner return) - (if (not (string=? "---" (car lines))) + (if (or (null? lines) + (not (string=? "---" (car lines)))) (return #f)) (define fm (collect-fm-lines (cdr lines))) |
