Makefile for publishing a directory of emacs org-mode files using Jekyll
Go to file
Correl Roush da5131cf4f Automatically generate front-matter
If the org file doesn't already output YAML front-matter for jekyll to
the top of the output file, it will be generated from the org document
properties.
2014-10-28 14:42:11 -04:00
assets Automatically generate front-matter 2014-10-28 14:42:11 -04:00
example Automatically generate front-matter 2014-10-28 14:42:11 -04:00
LICENSE.txt Update README and add a LICENSE 2014-08-01 04:12:22 -04:00
Makefile Publish code block exports and tangled files 2014-10-28 09:45:03 -04:00
README.org Publish code block exports and tangled files 2014-10-28 09:45:03 -04:00
core.mk Automatically generate front-matter 2014-10-28 14:42:11 -04:00
org-jekyll.mk Automatically generate front-matter 2014-10-28 14:42:11 -04:00

README.org

Org-Jekyll Publishing

Description

A GNU Makefile and Jekyll template for publishing a folder of org-mode files to the web.

Usage

  • Add the file org-jekyll.mk to your project, then create a Makefile in your org folder that includes it, overriding any variables you want to customize:

      SITE_NAME = My Projects
      SITE_TITLE = Project breakdowns and TODOs
      SITE_BASEURL = /~userdir/projects
      SITE_AUTHOR = My Name
      SITE_AUTHOR_EMAIL = me@example.org
      SITE_GITHUB = username/project
      SITE_TWITTER = username
    
      include org-jekyll.mk
  • Type make to build your site, or make serve to host it
  • Set the document's layout to org to include a download link for the original .org file at the top of the exported page
  • To evaluate source blocks

      #+BEGIN_HTML
      ---
      title: Code Sample
      layout: org
      ---
      #+END_HTML
    
      * Sample Code
        #+BEGIN_SRC scheme :tangle sample.scm
          (define (fib n)
            (fib-iter 1 0 n))
    
          (define (fib-iter a b count)
            (if (= count 0)
                b
                (fib-iter (+ a b) a (- count 1))))
        #+END_SRC
    
        Download source: [[file:sample.scm]]
  • Setting the environment variable V to a value other than 0 will display the full command being run during the various build steps:

    $ V=1 make all