瀏覽代碼

Merge pull request #37 from nitrocode/convert-flags-to-switches

Convert flags to switches
Mark Szepieniec 7 年之前
父節點
當前提交
68d042bcff
共有 1 個文件被更改,包括 22 次插入11 次删除
  1. 22 11
      Makefile

+ 22 - 11
Makefile

@@ -5,42 +5,53 @@ STYLE=chmduquesne
 
 all: html pdf docx rtf
 
-pdf: dir
+pdf: init
 	for f in $(IN_DIR)/*.md; do \
 		FILE_NAME=`basename $$f | sed 's/.md//g'`; \
 		echo $$FILE_NAME.pdf; \
 		pandoc --standalone --template $(STYLES_DIR)/$(STYLE).tex \
 			--from markdown --to context \
-			-V papersize=A4 \
-			-o $(OUT_DIR)/$$FILE_NAME.tex $$f > /dev/null; \
-		context $(OUT_DIR)/$$FILE_NAME.tex --result=$(OUT_DIR)/$$FILE_NAME.pdf > $(OUT_DIR)/context_$$FILE_NAME.log 2>&1; \
+			--variable papersize=A4 \
+			--output $(OUT_DIR)/$$FILE_NAME.tex $$f > /dev/null; \
+		context $(OUT_DIR)/$$FILE_NAME.tex \
+			--result=$(OUT_DIR)/$$FILE_NAME.pdf > $(OUT_DIR)/context_$$FILE_NAME.log 2>&1; \
 	done
 
-html: dir
+html: init
 	for f in $(IN_DIR)/*.md; do \
 		FILE_NAME=`basename $$f | sed 's/.md//g'`; \
 		echo $$FILE_NAME.html; \
-		pandoc --standalone -H $(STYLES_DIR)/$(STYLE).css \
+		pandoc --standalone --include-in-header $(STYLES_DIR)/$(STYLE).css \
 			--from markdown --to html \
-			-o $(OUT_DIR)/$$FILE_NAME.html $$f; \
+			--output $(OUT_DIR)/$$FILE_NAME.html $$f; \
 	done
 
-docx: dir
+docx: init
 	for f in $(IN_DIR)/*.md; do \
 		FILE_NAME=`basename $$f | sed 's/.md//g'`; \
 		echo $$FILE_NAME.docx; \
-		pandoc -s -S $$f -o $(OUT_DIR)/$$FILE_NAME.docx; \
+		pandoc --standalone $$SMART $$f --output $(OUT_DIR)/$$FILE_NAME.docx; \
 	done
 
-rtf: dir
+rtf: init
 	for f in $(IN_DIR)/*.md; do \
 		FILE_NAME=`basename $$f | sed 's/.md//g'`; \
 		echo $$FILE_NAME.rtf; \
-		pandoc -s -S $$f -o $(OUT_DIR)/$$FILE_NAME.rtf; \
+		pandoc --standalone $$SMART $$f --output $(OUT_DIR)/$$FILE_NAME.rtf; \
 	done
 
+init: dir version
+
 dir:
 	mkdir -p $(OUT_DIR)
 
+version:
+	PANDOC_VERSION=`pandoc --version | head -1 | cut -d' ' -f2 | cut -d'.' -f1`; \
+	if [ "$$PANDOC_VERSION" -eq "2" ]; then \
+		SMART=-smart; \
+	else \
+		SMART=--smart; \
+	fi \
+
 clean:
 	rm -f $(OUT_DIR)/*