103 lines
3.2 KiB
Org Mode
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.
|