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>
>
next prev parent 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).