[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] Using Org-mode file format for storing configuration data

From: Karl Voit
Subject: [O] Using Org-mode file format for storing configuration data
Date: Sun, 30 Dec 2012 19:04:25 +0100
User-agent: slrn/0.9.9 (Linux)


I plan to implement a new weblog system that parses Org-mode files
and generates (static) HTML output. Yes, I am aware that there are
other solutions out there but I do not like them for various

So for my new system, I am thinking of using Org-mode files for
writing (and parsing) the user-defined preferences.

- why not using elisp-methods like "setq" or "defvar" or "defcustom"?
  - this weblog will be implemented in Python
  - Sorry, I do not have any elisp knowledge and it seems to be the
    case that this is not going to change within the next months.
  - In Python I have to parse a basic sub-set of Org-mode format
    anyhow. An additional parser would be more work to do.
  - Why not using Org-mode for end-user configuration as well?
    - It's more user-friendly for non elisp users like me.

- Possible methods to store configuration/settings of a weblog system
  that scans Org-mode files to generate HTML:
  - in drawers: see below
  - in tables: see below
  - in tags: see below
  - other possibilities?

What do you think of this?
Can you imagine a better way of storing key-value-pairs in Org-mode?

My focus is user friendly maintenance and overview including in-line
documentation of the preferences.

* Configuring Paths (in Drawers)

- advantages
  - usage of column view
  - easy to add comments for each setting
- disadvantages
  - Properties have to be the same
    - not that flexible in naming Properties

- possible name for property "VALUE" which makes it more general.

** Image-Path
:PATH: ~/images

In this folder, the Web log image files are placed after being
processed (resizing, ...).

** HTML-Path
:PATH: ~/blog/html

* Configuring Paths (in Tables)

| *Variable*      | *Value*       | *Comments*                                  
| Image Path      | ~/images      | The path where the images should be placed 
in.      |
| HTML Path       | ~/blog/html   | Destination path for the HTML file folder 
structure |
| Another Setting | another value | This has to be very short.                  

- advantages
  - easy to write and maintain
  - quick overview
- disadvantages
  - hard to add (long) comments for each setting

* Configuring Paths (with Tags)

- advantages
  - same settings can be shared through multiple tags on same value
  - easy to add comments for each setting
- disadvantages
  - seems strange at first glance; not sure if this really makes any
    sense at all
  - multiple word preference name has to be written in CamelCase or
    separated with dashes

** ~/images                                          :ImagePath:

** ~/blog/html                                        :HtmlPath:

  1. http://article.gmane.org/gmane.emacs.orgmode/49747/
Karl Voit

reply via email to

[Prev in Thread] Current Thread [Next in Thread]