Merge pull request #67 from gvwilson/clean-rmd
[rnaseq-cwl-training.git] / Makefile
index 154203a48540e7740050ba58feae0f8983aea6d1..7b1b1b9710278773c04ac93197913fa6c22698c7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -16,11 +16,11 @@ commands :
        @grep -h -E '^##' ${MAKEFILES} | sed -e 's/## //g'
 
 ## serve          : run a local server.
-serve :
+serve : lesson-rmd
        ${JEKYLL} serve --config _config.yml,_config_dev.yml
 
 ## site           : build files but do not run a server.
-site :
+site : lesson-rmd
        ${JEKYLL} build --config _config.yml,_config_dev.yml
 
 ## figures        : re-generate inclusion displaying all figures.
@@ -36,6 +36,11 @@ clean :
        @find . -name '*~' -exec rm {} \;
        @find . -name '*.pyc' -exec rm {} \;
 
+## clean-rmd      : clean intermediate R files (that need to be committed to the repo).
+clear-rmd :
+       @rm -rf ${RMD_DST}
+       @rm -rf fig/rmd-*
+
 ## ----------------------------------------
 ## Commands specific to workshop websites.
 
@@ -48,10 +53,14 @@ workshop-check :
 ## ----------------------------------------
 ## Commands specific to lesson websites.
 
-.PHONY : lesson-check lesson-files lesson-fixme lesson-single
+.PHONY : lesson-check lesson-rmd lesson-files lesson-fixme
+
+# RMarkdown files
+RMD_SRC = $(wildcard _episodes_rmd/??-*.Rmd)
+RMD_DST = $(patsubst _episodes_rmd/%.Rmd,_episodes/%.md,$(RMD_SRC))
 
 # Lesson source files in the order they appear in the navigation menu.
-SRC_FILES = \
+MARKDOWN_SRC = \
   index.md \
   CONDUCT.md \
   setup.md \
@@ -61,7 +70,7 @@ SRC_FILES = \
   LICENSE.md
 
 # Generated lesson files in the order they appear in the navigation menu.
-HTML_FILES = \
+HTML_DST = \
   ${DST}/index.html \
   ${DST}/conduct/index.html \
   ${DST}/setup/index.html \
@@ -70,6 +79,10 @@ HTML_FILES = \
   $(patsubst _extras/%.md,${DST}/%/index.html,$(wildcard _extras/*.md)) \
   ${DST}/license/index.html
 
+## lesson-rmd:    : convert Rmarkdown files to markdown
+lesson-rmd: $(RMD_SRC)
+       @bin/knit_lessons.sh $(RMD_SRC)
+
 ## lesson-check   : validate lesson Markdown.
 lesson-check :
        @bin/lesson_check.py -s . -p ${PARSER}
@@ -79,12 +92,14 @@ unittest :
 
 ## lesson-files   : show expected names of generated files for debugging.
 lesson-files :
-       @echo 'source:' ${SRC_FILES}
-       @echo 'generated:' ${HTML_FILES}
+       @echo 'RMD_SRC:' ${RMD_SRC}
+       @echo 'RMD_DST:' ${RMD_DST}
+       @echo 'MARKDOWN_SRC:' ${MARKDOWN_SRC}
+       @echo 'HTML_DST:' ${HTML_DST}
 
 ## lesson-fixme   : show FIXME markers embedded in source files.
 lesson-fixme :
-       @fgrep -i -n FIXME ${SRC_FILES} || true
+       @fgrep -i -n FIXME ${MARKDOWN_SRC} || true
 
 #-------------------------------------------------------------------------------
 # Include extra commands if available.