update blog
[blog.git] / posts / Blog-with-org-mode.org
1 #+TITLE: Blog with Org Mode
2 #+AUTHOR: Peng Li
3 #+EMAIL: seudut@gmail.com
4 #+DATE: <2016-10-26>
5 #+STARTUP: showall
6 #+STARTUP: inlineimages
7 #+OPTIONS: toc:nil date:t
8
9 [[http://orgmode.org][Org-mode]] is an Emacs package, which is used for keeping notes, maintaining TODO lists, planing projects, and authoring
10  documents with a fast and effective plain-text system. In this blog, I am going to introduce how to setup a blog site
11  using Org-mode. As you can see, this website is generated by Org-mode. All the souce code is located at [[https://github.com/seudut/blog][blog]]. It has
12  refered to lots of other websites, like [[http://orgmode.org/worg/][worg]], [[http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.html][Publishing Org-mode files to HTML]], [[https://ogbe.net/blog/blogging_with_org.html][Blogging using org-mode (and nothing else)]].
13
14 * Org-publish configure
15 Here is the configure of Org-publish (=my-publish.el= in the source code). It setups the most important variable 
16 =org-publish-project-alist=.  Also, it defines the header and footer of the html page.
17 #+INCLUDE: "../my-publish.el" src emacs-lisp :lines "29-"
18 #+BEGIN_SRC sh
19   sudo aptitude install tmux emacs
20 #+END_SRC
21
22
23
24 * CI build
25 Here is the =Makefile= in the source code.
26 #+INCLUDE: "../Makefile" src makefile :lines "2-"
27
28
29 * Web server
30
31 * Crontab
32 Here is the crontab on my VPS. It updates the source code of blog and generates the web pages every 30 minutes. 
33 #+BEGIN_SRC sh
34   # m h  dom mon dow   command
35   */30 *   *   *   *     cd /home/seudut/blog && make publish OUTDIR="~/www/html/" emacs=/usr/local/bin/emacs UPDATE=true
36 #+END_SRC