3.2 KiB
org-blog
<script src="/keyjs.KS" type="text/javascript"></script> <script type="text/javascript"> keyjs_initialize({ "u": [ "keyjs_goto", "../index.html" ], "h": [ "keyjs_goto", "http://ryuslash.org" ] }); </script>
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:
(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)))
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:
(setq org-blog-directory "~/path/to/blog/org/files/")
(setq org-blog-unfinished-directory "~/path/to/drafts/")
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.