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 | ## Haunt --- Static site generator for GNU Guile | ||||||
| ## Copyright © 2015 David Thompson <davet@gnu.org> | ## Copyright © 2015 David Thompson <davet@gnu.org> | ||||||
| ## Copyright © 2015 Mathieu Lirzin <mthl@gnu.org> | ## Copyright © 2015 Mathieu Lirzin <mthl@gnu.org> | ||||||
|  | ## Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> | ||||||
| ## | ## | ||||||
| ## This file is part of Haunt. | ## This file is part of Haunt. | ||||||
| ## | ## | ||||||
| @@ -70,6 +71,13 @@ SOURCES +=					\ | |||||||
|  |  | ||||||
| endif | endif | ||||||
|  |  | ||||||
|  | if HAVE_GUILE_COMMONMARK | ||||||
|  |  | ||||||
|  | SOURCES +=					\ | ||||||
|  |   haunt/reader/commonmark.scm | ||||||
|  |  | ||||||
|  | endif | ||||||
|  |  | ||||||
| TESTS =						\ | TESTS =						\ | ||||||
|   tests/post.scm				\ |   tests/post.scm				\ | ||||||
|   tests/utils.scm |   tests/utils.scm | ||||||
|   | |||||||
| @@ -18,4 +18,7 @@ dnl Guile-reader is needed for Skribe support | |||||||
| GUILE_MODULE_AVAILABLE([have_guile_reader], [(system reader)]) | GUILE_MODULE_AVAILABLE([have_guile_reader], [(system reader)]) | ||||||
| AM_CONDITIONAL([HAVE_GUILE_READER], [test "x$have_guile_reader" = "xyes"]) | 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 | 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