orgweb/site/projects/org-blog.org
2012-07-01 15:08:15 +02:00

103 lines
3.2 KiB
Org Mode

#+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
<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>
#+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.