emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Minimal overhead Org-mode blogging system
@ 2011-12-04 16:51 Karl Voit
  2011-12-07 16:30 ` Steinar Bang
                   ` (3 more replies)
  0 siblings, 4 replies; 28+ messages in thread
From: Karl Voit @ 2011-12-04 16:51 UTC (permalink / raw)
  To: emacs-orgmode

Hi!

I got a nice idea on how a very easy to use Org-mode blog system
should look like.

Currently, I am using Serendipidy with web-based editor to write
HTML. Org-mode enabled me to write blog entries and export it to
HTML. Then I paste the HTML and have to modify minor things (images,
...) a bit. I guess the time from finishing the Org-mode entry to
the final blog entry is approximately ten to twenty minutes.

Overall, I do not want to do this process when I just want to
quickly write a view paragraphs within a couple of minutes. I need
a workflow with much less annoying overhead.

Therefore I sat down and thought about a workflow that should be
enough for writing simple weblog entries:

  - create an Org-mode heading (anywhere!)
  - make sure that there is an (uniq) :ID: property
  - add the tag :blog: to heading
  - <write content, subheadings, ...>
  - change state of top-heading to DONE
    - this enables blog entries «in the queue»
  - (manually) invoke generation-script

This enables me quick blogging with a list of advantages:

  - a blog entry can be located anywhere in all of my Orgmode files
  - no extra formatting steps
  - very small (almost non-existent) overhead to create a blog entry
  - no duplicate information
    - updates only in Orgmode, not HTML or any in-between format
  - static (fast) pages
  - self-hosting without any fancy services behind like RDBS

What do you think of my ideas so far?


Of course, I looked into existing solutions and found those:

  - http://orgmode.org/worg/org-blog-wiki.html
    - cool overview page for various solutions
  - http://orgmode.org/worg/blorgit.html
    - pretty complex set up :-(
    - I do not need a web-interface to edit Org-mode files
    - seem to have «different» use cases
  - http://orgmode.org/worg/org-tutorials/org-jekyll.html
    - uses HTML as in-between format; seems to provide many error
      possibilities(?)
    - converting whole files only (not desired)
    - have to try it someday
  - http://emacs-fu.blogspot.com/2009/05/writing-and-blogging-with-org-mode.html
    - uses only HTML export
  - http://blog.herraiz.org/archives/241
    - uses only HTML export
  - https://github.com/chrismgray/ikiwiki-org-plugin
    - promising but only one part of a possible solution

So nothing offers the features and small footprint as my idea above
:-(


With some prerequisites, it should not be that hard to even
implement it by myself:

  - usage of only very basic markup
    - paragraphs (p)
    - headings (h1..n)
    - http-references (a href)
    - lists (ul)
    - images (img)
    - quote (verbatim)

Still there are some open issues:

  - comments
    - simplest form: generate unique Email link and add at bottom
      - very easy to be done for catch-all MTAs
      - automatically derive whitelist for MTA to avoid old spam
    - simple HTML form
      - POST to script, adding comment to my inbox.org (containing
        link to ID)
    - disqus: I do not want to outsource comment hosting :-(
  - how to include and format graphics?
    - sometimes, I e.g. want to have an image aligned right with text
      flowing around it
  - probably: usage of in-between format like ikiwiki
    - Orgmode syntax -> ikiwiki markup (markdown?) -> usual
      ikiwiki-workflow
      - should be not much effort since prerequisites limit to few
        markup things
    - benefits from not having to re-implement many things
    - in-between-format HTML (like Manoj uses) is way too complicated
      causing misc potential error sources

The basic script workflow is not that complicated:

  - find all headings with state DONE and tag :blog:
    - optionally: add all other tags starting with "blog-" as blog tags
  - one entry starts at such a heading until EOF OR same or less level
    heading is found
  - compare raw text and IDs with last run
    - known ID, raw text unchanged: ignore, no change
    - new ID
      - generate new blog entry
        - extract YYYY-MM-DD from LOGBOOK-drawer (first *->DONE transformation)
        - generate YYYY/MM/DD-folder structure in blog accordingly
        - generate sanitized blog title as file name
    - known ID, raw text differs
      - generate update of existing entry
        - add "(Update n)" (with n is the n-th update) to entry title
          - optionally: add this also to URL
            - disadvantage: broken old URLs
            - advantage: URL reflects update state
  - on any activity:
    - re-write RSS feed for last n entries
    - optionally: generate overview page for last n entries
    - optionally: generate calendar archive page(s)
    - optionally: generate tag overview page(s)


-- 
Karl Voit

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2012-06-17  8:09 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-04 16:51 Minimal overhead Org-mode blogging system Karl Voit
2011-12-07 16:30 ` Steinar Bang
2011-12-07 17:20 ` Puneeth Chaganti
2011-12-07 20:11   ` Eric Schulte
2011-12-11 13:20     ` Bastien
2011-12-08  0:31   ` Karl Voit
2011-12-08  4:29     ` Puneeth Chaganti
2011-12-08 14:19       ` Karl Voit
2011-12-08 16:45         ` Puneeth Chaganti
2011-12-08 22:02           ` Karl Voit
2012-01-15 18:08           ` Steinar Bang
2012-01-16 22:54             ` Puneeth Chaganti
2012-01-19 22:15               ` Steinar Bang
2012-01-20 18:19                 ` Chris Gray
2012-01-21  5:15                   ` Scott Randby
2012-01-21  5:53                     ` Nick Dokos
2012-01-21  6:26                       ` Chris Gray
2012-01-17 18:50   ` tychoish
2012-01-18  3:06     ` Eric Schulte
2012-01-20 16:10       ` Bastien
2012-02-11 13:47     ` François Pinard
2011-12-11  4:33 ` Nathan Neff
2012-05-13 14:54 ` Neil Smithline
2012-05-15  2:24   ` Jude DaShiell
2012-05-16  0:48     ` Neil Smithline
2012-05-16  9:51       ` Jude DaShiell
2012-05-20 21:48         ` Neil Smithline
2012-06-17  8:09   ` Karl Voit

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).