From mboxrd@z Thu Jan 1 00:00:00 1970 From: Karl Voit Subject: Using Org-mode file format for storing configuration data Date: Sun, 30 Dec 2012 19:04:25 +0100 Message-ID: <2012-12-30T18-55-46@devnull.Karl-Voit.at> Reply-To: news1142@Karl-Voit.at Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([208.118.235.92]:56154) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TpNFz-0005Qf-I4 for emacs-orgmode@gnu.org; Sun, 30 Dec 2012 13:05:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TpNFb-00038I-Ab for emacs-orgmode@gnu.org; Sun, 30 Dec 2012 13:05:07 -0500 Received: from plane.gmane.org ([80.91.229.3]:54574) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TpNFa-00035w-S2 for emacs-orgmode@gnu.org; Sun, 30 Dec 2012 13:04:43 -0500 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1TpNFl-0006gY-1i for emacs-orgmode@gnu.org; Sun, 30 Dec 2012 19:04:53 +0100 Received: from mail.michael-prokop.at ([88.198.6.110]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 30 Dec 2012 19:04:53 +0100 Received: from news1142 by mail.michael-prokop.at with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 30 Dec 2012 19:04:53 +0100 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hi! 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 reasons.[1] 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) :PROPERTIES: :COLUMNS: %25ITEM %PATH :END: - 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 :PROPERTIES: :PATH: ~/images :END: In this folder, the Web log image files are placed after being processed (resizing, ...). ** HTML-Path :PROPERTIES: :PATH: ~/blog/html :END: * 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