reader: Add commonmark support.
* haunt/reader/commonmark.scm: New file. * Makefile.am (SOURCES): Add it. * configure.ac: Check for guile-commonmark.
This commit is contained in:
		 Erik Edrosa
					Erik Edrosa
				
			
				
					committed by
					
						 David Thompson
						David Thompson
					
				
			
			
				
	
			
			
			 David Thompson
						David Thompson
					
				
			
						parent
						
							ef02127d54
						
					
				
				
					commit
					a4d18c0c53
				
			| @@ -1,6 +1,7 @@ | ||||
| ## Haunt --- Static site generator for GNU Guile | ||||
| ## Copyright © 2015 David Thompson <davet@gnu.org> | ||||
| ## Copyright © 2015 Mathieu Lirzin <mthl@gnu.org> | ||||
| ## Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> | ||||
| ## | ||||
| ## This file is part of Haunt. | ||||
| ## | ||||
| @@ -70,6 +71,13 @@ SOURCES +=					\ | ||||
|  | ||||
| endif | ||||
|  | ||||
| if HAVE_GUILE_COMMONMARK | ||||
|  | ||||
| SOURCES +=					\ | ||||
|   haunt/reader/commonmark.scm | ||||
|  | ||||
| endif | ||||
|  | ||||
| TESTS =						\ | ||||
|   tests/post.scm				\ | ||||
|   tests/utils.scm | ||||
|   | ||||
| @@ -18,4 +18,7 @@ dnl Guile-reader is needed for Skribe support | ||||
| GUILE_MODULE_AVAILABLE([have_guile_reader], [(system reader)]) | ||||
| AM_CONDITIONAL([HAVE_GUILE_READER], [test "x$have_guile_reader" = "xyes"]) | ||||
|  | ||||
| GUILE_MODULE_AVAILABLE([have_guile_commonmark], [(commonmark)]) | ||||
| AM_CONDITIONAL([HAVE_GUILE_COMMONMARK], [test "x$have_guile_commonmark" = "xyes"]) | ||||
|  | ||||
| AC_OUTPUT | ||||
|   | ||||
							
								
								
									
										37
									
								
								haunt/reader/commonmark.scm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								haunt/reader/commonmark.scm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | ||||
| ;;; Haunt --- Static site generator for GNU Guile | ||||
| ;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> | ||||
| ;;; | ||||
| ;;; This file is part of Haunt. | ||||
| ;;; | ||||
| ;;; Haunt is free software; you can redistribute it and/or modify it | ||||
| ;;; under the terms of the GNU General Public License as published by | ||||
| ;;; the Free Software Foundation; either version 3 of the License, or | ||||
| ;;; (at your option) any later version. | ||||
| ;;; | ||||
| ;;; Haunt is distributed in the hope that it will be useful, but | ||||
| ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
| ;;; General Public License for more details. | ||||
| ;;; | ||||
| ;;; You should have received a copy of the GNU General Public License | ||||
| ;;; along with Haunt.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  | ||||
| ;;; Commentary: | ||||
| ;; | ||||
| ;; CommonMark post reader. | ||||
| ;; | ||||
| ;;; Code: | ||||
|  | ||||
| (define-module (haunt reader commonmark) | ||||
|   #:use-module (commonmark) | ||||
|   #:use-module (haunt post) | ||||
|   #:use-module (haunt reader) | ||||
|   #:export (commonmark-reader)) | ||||
|  | ||||
| (define commonmark-reader | ||||
|   (make-reader (make-file-extension-matcher "md") | ||||
|                (lambda (file) | ||||
|                  (call-with-input-file file | ||||
|                    (lambda (port) | ||||
|                      (values (read-metadata-headers port) | ||||
|                              (commonmark->sxml port))))))) | ||||
		Reference in New Issue
	
	Block a user