Makefile 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # make commands to build html from markdown
  2. #
  3. # list with markdown files
  4. MDS=$(shell find docs/* -name '*.md')
  5. # pandoc variables
  6. PDOUTDIR?=html/pandoc
  7. PDHTMLS=$(patsubst %.md,$(PDOUTDIR)/%.html, $(MDS))
  8. CSS=/css/pandoc.css
  9. .PHONY : all
  10. all :
  11. @echo " available commands:"
  12. @echo " make mkdocs"
  13. @echo " make mkdocs-clean"
  14. @echo " make pandoc"
  15. @echo " make pandoc-clean"
  16. .PHONY : pandoc
  17. pandoc : $(PDHTMLS) $(PDOUTDIR)
  18. cp -R fmt/pandoc/css $(PDOUTDIR)/docs/
  19. .PHONY : pandoc-clean
  20. pandoc-clean :
  21. rm -rf $(PDOUTDIR)
  22. .PHONY : pandoc-http
  23. pandoc-http:
  24. cd html/pandoc/docs && python -m SimpleHTTPServer
  25. .PHONY : pandoc-http3
  26. pandoc-http3:
  27. cd html/pandoc/docs && python3 -m http.server
  28. $(PDOUTDIR) :
  29. mkdir -p $(PDOUTDIR)
  30. $(PDOUTDIR)/%.html : %.md $(PDOUTDIR)
  31. mkdir -p $$(dirname $@)
  32. pandoc --toc --css $(CSS) --template fmt/pandoc/template.html --lua-filter=fmt/pandoc/links.lua -t html -f markdown -s $< -o $@
  33. .PHONY : mkdocs
  34. mkdocs :
  35. mkdocs build -f fmt/mkdocs/mkdocs.yml
  36. .PHONY : mkdocs-clean
  37. mkdocs-clean :
  38. rm -rf html/mkdocs
  39. .PHONY : mdbook
  40. mdbook:
  41. rm -f docs/SUMMARY.md && cd docs && ln -s ../fmt/mdbook/SUMMARY.md && cd ..
  42. mdbook build -d ../../html/mdbook fmt/mdbook
  43. rm -f docs/SUMMARY.md
  44. .PHONY : mdbook-serve
  45. mdbook-serve:
  46. rm -f docs/SUMMARY.md && cd docs && ln -s ../fmt/mdbook/SUMMARY.md && cd ..
  47. mdbook serve --open -d ../../html/mdbook fmt/mdbook
  48. rm -f docs/SUMMARY.md
  49. .PHONY : mdbook-clean
  50. mdbook-clean :
  51. rm -rf html/mdbook
  52. rm -f docs/SUMMARY.md
  53. .PHONY : clean
  54. clean :
  55. rm -f docs/SUMMARY.md
  56. rm -rf html