update blog
[blog.git] / posts / Blog-with-org-mode.org
index 88daa69..cc382f3 100644 (file)
@@ -1,55 +1,36 @@
 #+TITLE: Blog with Org Mode
 #+AUTHOR: Peng Li
 #+EMAIL: seudut@gmail.com
-#+DATE: 2016-10-26
+#+DATE: <2016-10-26>
 #+STARTUP: showall
 #+STARTUP: inlineimages
 #+OPTIONS: toc:nil date:t
 
+[[http://orgmode.org][Org-mode]] is an Emacs package, which is used for keeping notes, maintaining TODO lists, planing projects, and authoring
+ documents with a fast and effective plain-text system. In this blog, I am going to introduce how to setup a blog site
+ 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
+ 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)]].
+
+* Org-publish configure
+Here is the configure of Org-publish (=my-publish.el= in the source code). It setups the most important variable 
+=org-publish-project-alist=.  Also, it defines the header and footer of the html page.
+#+INCLUDE: "../my-publish.el" src emacs-lisp :lines "29-"
+#+BEGIN_SRC sh
+  sudo aptitude install tmux emacs
+#+END_SRC
 
 
 
-今天总算把 Blog 的框架大致弄好了。主要参考了 =Org-mode= 的 tutorial, [[http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.html#Special-comment-section][Publishing Org-mode files to HTML]] 和 [[https://ogbe.net/blog/blogging_with_org.html][Blogging using org-mode (and
-nothing else)]]。 其中 =css= , 利用的是 =worg.css=, 并参考了[[http://dayigu.github.io/WhyUseOrgModeToWriteBlog.html][为什么用org-mode写 blog?]] 和  [[http://wiki.houye.xyz/blogwithorg-mode.html][用org-mode写博客]]。
-
-* Org-publish 配置
-其中有些配置可能是 =Org= 版本不同的原因,有些不同。比如 =htlm-head=, 代替 了 =style=
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-  (require 'ox-publish)
-
-  (setq org-publish-project-alist
-        `(
-          ("org-notes"
-           :base-directory "~/Private/blog/"
-           :base-extension "org"
-           :publishing-directory "~/Private/publish_html"
-           :recursive t
-           :publishing-function org-html-publish-to-html
-           :headline-levels 4
-           :section-numbers nil
-           :auto-preamble t
-           :auto-sitemap t          ;Generate sitmap.org automagicaly...
-           :sitemap-filename "sitemap.org" ;... call it sitemap.org (it's the default )...
-           :sitemap-title "Sitemap"
-
-           :table-of-contents nil
-           :html-postamble nil            ;dont export creator auto validation info in html postamble div
-           :html-link-home "/"
-           :html-head "<link rel='stylesheet' href='./css/org.css' />"
-           ;; :html-head-extra ,my-blog-extra-head
-           :html-head-include-default-style nil
-           :html-head-include-scripts nil)
-          ("org-static"
-           :base-directory "~/Private/blog/"
-           :base-extension "css\\|js\\|png\\|gif\\|pdf\\|mp3\\|ogg\\|swf"
-           :publishing-directory "~/Private/publish_html"
-           :recursive t
-           :publishing-function org-publish-attachment)
-          ("org" :components ("org-notes" "org-static"))))
-#+END_SRC
-
 * CI build
+Here is the =Makefile= in the source code.
+#+INCLUDE: "../Makefile" src makefile :lines "2-"
+
 
 * Web server
 
-* CGI update
+* Crontab
+Here is the crontab on my VPS. It updates the source code of blog and generates the web pages every 30 minutes. 
+#+BEGIN_SRC sh
+  # m h  dom mon dow   command
+  */30 *   *   *   *     cd /home/seudut/blog && make publish OUTDIR="~/www/html/" emacs=/usr/local/bin/emacs UPDATE=true
+#+END_SRC