#+TITLE: org-blog #+LINK_UP: ../index.html #+LINK_HOME: http://ryuslash.org #+LINK: src https://github.com/ryuslash/org-blog #+LINK: tar_gz https://github.com/ryuslash/org-blog/tarball/master #+LINK: zip https://github.com/ryuslash/org-blog/zipball/master #+STARTUP: showall #+begin_html #+end_html #+INCLUDE: "dlmenu.inc" * About ~org-blog~ is a blog exporter for ~org-mode~ written by David O'Toole in 2006. ~org-mode~ has since then changed a bit and it seemed that it no longer worked. It also seems to be the only viable/acceptable pure-org solution for me, so I'm trying to revive it. ** Features - Pure ~org-mode~, all you need is some setup and you can use it like any other exporting function. - Separate drafts from posts. - Generate an index of posts. - Rudimentary RSS support. ** Requirements - GNU Emacs - ~org-mode~ * Usage ** Setup Since I've adapted it to work as a normal publishing function for org, setting it up is a lot like any other publishing project: #+BEGIN_SRC emacs-lisp (setq org-publish-project-alist '(("my-blog" :base-directory "~/location/to/org/files/" :publishing-directory "/place/to/export/to/" :base-extension "org" :publishing-function org-publish-org-to-blog :blog-title "some title" :blog-description "some description" :blog-export-rss t :index-title "oni blog" :recursive nil :table-of-contents nil))) #+END_SRC Most of these options are very normal project settings and can be read about in the documentation for the variable ~org-publish-project-alist~. The ~blog-title~, ~blog-description~, ~blog-export-rss~ and ~index-title~, however, are used by ~org-blog~. - ~blog-title~ :: This setting is used when exporting RSS. It sets the ~title~ in the XML output. - ~blog-description~ :: This setting is also used when exporting RSS. It sets the ~description~ in the XML output. - ~blog-export-rss~ :: Whether or not you would like an RSS feed to be exported. - ~index-title~ :: This is used as the title of the blog's index page. Apart from these there are also 2 other settings that need your attention: #+BEGIN_SRC emacs-lisp (setq org-blog-directory "~/path/to/blog/org/files/") (setq org-blog-unfinished-directory "~/path/to/drafts/") #+END_SRC These don't have any relevance to the exporting and publishing functions, but they're used by the ~org-blog-new-post~ and ~org-blog-finish-post~ functions, which help with creating new posts. ** Create new post To create a new post, just call =M-x org-blog-new-post= and start writing. ** Finish a post When you're done writing and would like to set it up to be published, just call =M-x org-blog-finish-post=. ** Publish To publish just use any of the ~org-publish-*~ functions as you would any other org site.