emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Neil Smithline <emacs-orgmode@neilsmithline.com>
To: Jude DaShiell <jdashiel@shellworld.net>
Cc: emacs-orgmode@gnu.org
Subject: Re: Minimal overhead Org-mode blogging system
Date: Sun, 20 May 2012 17:48:04 -0400	[thread overview]
Message-ID: <4FB96694.3040602@neilsmithline.com> (raw)
In-Reply-To: <alpine.BSF.2.01.1205160549420.34290@freire1.furyyjbeyq.arg>

First, the only way to learn is to do. That said, I do understand that 
RL gets in the way of fun.

Regarding the implementation, if you skip the index system, which is 
definitely an elegant solution, and modify my symbolic link solution 
for agendas to keep track of files with blog entries. The symlink 
solution is only a pseudo index and is not automated, but it is trivial 
to use.

Just replace every use of the word "agenda" in my code to "blog" and 
then bind `org-add-blog-file' to some convenient key sequence. Then use 
selective exporting ([[info:elisp#Char%20Classes][info:elisp#Char 
Classes]]) when publishing your blog. You would assign 
`org-export-select-tags' to a tag like :blog:.

Then you just need to define a custom export function to change the 
value of `org-export-select-tags'. I just cobbled it together (that's 
secret code for "haven't tested") the custom export function at 
https://gist.github.com/2759661. I think that should get you most of 
the way.

Neil Smithline
http://www.neilsmithline.com
Proud GNU Emacs user since 1986, v. 18.24.

On Wed May 16 05:51:33 2012, Jude DaShiell wrote:
> I don't know enough lisp to implement this indexing system.  On Tue, 15
> May 2012, Neil Smithline wrote:
>
>> I like your indexing idea. I use a less-complex system involving symbolic
>> links for my agenda files. Yours sounds better.
>>
>> This is what I use for my agendas:
>>
>> (setq org-agenda-files
>>    (list (expand-file-name "~/Documents/+OrgAgendas")))
>>
>> (defun org-add-agenda-file ()
>>    (interactive)
>>    (make-symbolic-link (buffer-file-name) "~/Documents/+OrgAgendas"))
>>
>> It is just a quick-and-dirty solution. If I remove or move a file, I get
>> errors. Also, if I stop using a file for agenda items I must manually unlink
>> the symlink.
>>
>> Have you implemented your indexing system Jude or just designed it? I'd love
>> to see it if you have something working. I imagine it could be used for todos,
>> cross-referencing tags, properties, etc...
>>
>> And to prevent Carsten from yelling at me :-D, I would insist that, by
>> default, Emacs would not create the cross-referencing database. You'd have to
>> explicitly enable it.
>>
>> Neil
>>
>> On Mon May 14 22:24:08 2012, Jude DaShiell wrote:
>>> Understand, I use update here in the sense of some file modification
>>> that subsequently gets saved.  If files to be modified get archived into
>>> org-mode's revision control system, the blog tag and associated done tag
>>> could be searched for within the save process and an org database could
>>> build with file name and then tripplets of date stamp, line number for
>>> blog tag, line number for done tag and each tripplet would hold another
>>> blog entry in that unique file which is the first field in the data
>>> base.  So you want to find a blog entry?  Search the org-generated data
>>> base for a date stamp and you come up with the file and the range of
>>> line numbers holding that blog entry.  Search one file and go to
>>> specific location in second file.  That if it's done or gets done will
>>> keep file searching to a nice minimum permanently.
>>>
>>> On Sun, 13 May 2012, Neil Smithline wrote:
>>>
>>>>
>>>> Karl Voit <devnull <at> Karl-Voit.at> writes:
>>>>> 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
>>>>> Karl,
>>>>
>>>> I'm wondering if you've played around with this at all? I happen to really
>>>> like
>>>> the idea but I wonder about its performance.
>>>>
>>>> Unless I'm mistaken, and I very likely may be, won't you have to scan all
>>>> of
>>>> your .org files to look for the special tags/properties/todo
>>>> states/whatever?
>>>>
>>>> If not, I'd love to have a pointer to how you can accomplish this without
>>>> scanning every .org file. That would be cool.
>>>>
>>>>
>>>>
>>>
>>> ----------------------------------------------------------------
>>> Jude <jdashiel-at-shellworld-dot-net>
>>> <http://www.shellworld.net/~jdashiel/nj.html>
>>>
>>
>>
>
> ----------------------------------------------------------------
> Jude <jdashiel-at-shellworld-dot-net>
> <http://www.shellworld.net/~jdashiel/nj.html>
>

  reply	other threads:[~2012-05-20 21:48 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2012-06-17  8:09   ` Karl Voit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FB96694.3040602@neilsmithline.com \
    --to=emacs-orgmode@neilsmithline.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=jdashiel@shellworld.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).