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

* Re: Minimal overhead Org-mode blogging system
  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
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 28+ messages in thread
From: Steinar Bang @ 2011-12-07 16:30 UTC (permalink / raw)
  To: emacs-orgmode

There is also this approach:
 http://comments.gmane.org/gmane.emacs.orgmode/45360

I don't know if anything more has happened with this for the last 15
weeks, though.

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

* Re: Minimal overhead Org-mode blogging system
  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
                     ` (2 more replies)
  2011-12-11  4:33 ` Nathan Neff
  2012-05-13 14:54 ` Neil Smithline
  3 siblings, 3 replies; 28+ messages in thread
From: Puneeth Chaganti @ 2011-12-07 17:20 UTC (permalink / raw)
  To: news1142; +Cc: emacs-orgmode

On 12/4/11, Karl Voit <devnull@karl-voit.at> wrote:
> 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

I have a system, that does most of what you are looking for.

https://github.com/punchagan/blog-files

Though it seems to be a little more complicated than it needs to be,
it works for me and I haven't had the time and motivation to simplify
it.

--
Puneeth

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

* Re: Minimal overhead Org-mode blogging system
  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
  2012-01-17 18:50   ` tychoish
  2 siblings, 1 reply; 28+ messages in thread
From: Eric Schulte @ 2011-12-07 20:11 UTC (permalink / raw)
  To: Puneeth Chaganti; +Cc: news1142, emacs-orgmode

Puneeth Chaganti <punchagan@gmail.com> writes:

> On 12/4/11, Karl Voit <devnull@karl-voit.at> wrote:
>> 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
>
> I have a system, that does most of what you are looking for.
>
> https://github.com/punchagan/blog-files
>
> Though it seems to be a little more complicated than it needs to be,
> it works for me and I haven't had the time and motivation to simplify
> it.
>

It would be great to collect these links on the relevant Worg page [1].
As this topic seems to re-surface every couple of months.  Perhaps from
there we could begin to build consensus on what features would be most
desirable for any potential future Org-mode blogging extension.

Cheers,

Footnotes: 
[1]  http://orgmode.org/worg/org-blog-wiki.html

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

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

* Re: Minimal overhead Org-mode blogging system
  2011-12-07 17:20 ` Puneeth Chaganti
  2011-12-07 20:11   ` Eric Schulte
@ 2011-12-08  0:31   ` Karl Voit
  2011-12-08  4:29     ` Puneeth Chaganti
  2012-01-17 18:50   ` tychoish
  2 siblings, 1 reply; 28+ messages in thread
From: Karl Voit @ 2011-12-08  0:31 UTC (permalink / raw)
  To: emacs-orgmode

* Puneeth Chaganti <punchagan@gmail.com> wrote:
> On 12/4/11, Karl Voit <devnull@karl-voit.at> wrote:
>>
>> 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
>
> I have a system, that does most of what you are looking for.
>
> https://github.com/punchagan/blog-files

... I really do like your blog (and found several very interesting
entries *g*) but I (can not and) do not want to use Wordpress.

Quickly overlooking your system, so far I could not copy most of my
steps of my wishful workflow in your solution :-(

Maybe I find time to implement the system described by me (in Python
and probably using ikiwiki as in-between-format) next summer or so.

-- 
Karl Voit

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

* Re: Minimal overhead Org-mode blogging system
  2011-12-08  0:31   ` Karl Voit
@ 2011-12-08  4:29     ` Puneeth Chaganti
  2011-12-08 14:19       ` Karl Voit
  0 siblings, 1 reply; 28+ messages in thread
From: Puneeth Chaganti @ 2011-12-08  4:29 UTC (permalink / raw)
  To: news1142; +Cc: emacs-orgmode

Hi Kurt,

On Thu, Dec 8, 2011 at 6:01 AM, Karl Voit <devnull@karl-voit.at> wrote:
> * Puneeth Chaganti <punchagan@gmail.com> wrote:
>> On 12/4/11, Karl Voit <devnull@karl-voit.at> wrote:
>>>
>>> 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
>>
>> I have a system, that does most of what you are looking for.
>>
>> https://github.com/punchagan/blog-files
>
> ... I really do like your blog (and found several very interesting
> entries *g*) but I (can not and) do not want to use Wordpress.

I'm sorry that the repository doesn't have a README, but this solution
doesn't use Wordpress.  It basically uses the publishing mechanism of
org-mode and is based on ideas (and code) from org-jekyll and
reprise.py (https://github.com/uggedal/reprise).

-- Puneeth

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

* Re: Minimal overhead Org-mode blogging system
  2011-12-08  4:29     ` Puneeth Chaganti
@ 2011-12-08 14:19       ` Karl Voit
  2011-12-08 16:45         ` Puneeth Chaganti
  0 siblings, 1 reply; 28+ messages in thread
From: Karl Voit @ 2011-12-08 14:19 UTC (permalink / raw)
  To: emacs-orgmode

* Puneeth Chaganti <punchagan@gmail.com> wrote:
> Hi Kurt,

Almost :-)

> On Thu, Dec 8, 2011 at 6:01 AM, Karl Voit <devnull@karl-voit.at> wrote:
>> * Puneeth Chaganti <punchagan@gmail.com> wrote:
>>>
>>> https://github.com/punchagan/blog-files
>>
>> ... I really do like your blog (and found several very interesting
>> entries *g*) but I (can not and) do not want to use Wordpress.
>
> I'm sorry that the repository doesn't have a README, 

You have to add a README.org to the project - it's definitely worth
it :-)

I'd wish for a short description of:
* software requirements
* blog workflow
* limits

It's part of my letter to Santa Claus already *g*

> but this solution doesn't use Wordpress. 

Oh. Sorry, I read something about Wordpress in the workflow in one
of your blog posts. Must have been an older article then.

> It basically uses the publishing mechanism of org-mode and is
> based on ideas (and code) from org-jekyll and reprise.py
> (https://github.com/uggedal/reprise).

So I guess I have to try it by myself in order to estimate its value
to my requirements.

Thanks anyway!

-- 
Karl Voit

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

* Re: Minimal overhead Org-mode blogging system
  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
  0 siblings, 2 replies; 28+ messages in thread
From: Puneeth Chaganti @ 2011-12-08 16:45 UTC (permalink / raw)
  To: news1142; +Cc: emacs-orgmode

On Thu, Dec 8, 2011 at 7:49 PM, Karl Voit <devnull@karl-voit.at> wrote:
> * Puneeth Chaganti <punchagan@gmail.com> wrote:
>> Hi Kurt,
>
> Almost :-)

Aarrgggh! Really sorry about that! My sleep deprivation showing it's effect. :-)

>
>> On Thu, Dec 8, 2011 at 6:01 AM, Karl Voit <devnull@karl-voit.at> wrote:
>>> * Puneeth Chaganti <punchagan@gmail.com> wrote:
>>>>
>>>> https://github.com/punchagan/blog-files
>>>
>>> ... I really do like your blog (and found several very interesting
>>> entries *g*) but I (can not and) do not want to use Wordpress.
>>
>> I'm sorry that the repository doesn't have a README,
>
> You have to add a README.org to the project - it's definitely worth
> it :-)
>
> I'd wish for a short description of:
> * software requirements
> * blog workflow
> * limits
>
> It's part of my letter to Santa Claus already *g*

I've added a short README that tries to include the things that you
are looking for.  But, it's something I wrote up quickly.  Feel free
to ask any specific questions.

Hope that helps,
Puneeth

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

* Re: Minimal overhead Org-mode blogging system
  2011-12-08 16:45         ` Puneeth Chaganti
@ 2011-12-08 22:02           ` Karl Voit
  2012-01-15 18:08           ` Steinar Bang
  1 sibling, 0 replies; 28+ messages in thread
From: Karl Voit @ 2011-12-08 22:02 UTC (permalink / raw)
  To: emacs-orgmode

* Puneeth Chaganti <punchagan@gmail.com> wrote:
> On Thu, Dec 8, 2011 at 7:49 PM, Karl Voit <devnull@karl-voit.at> wrote:
>> * Puneeth Chaganti <punchagan@gmail.com> wrote:
>>> Hi Kurt,
>>
>> Almost :-)
>
> Aarrgggh! Really sorry about that! My sleep deprivation showing it's effect. :-)

*g* No worries. I by myself mix up names all the time.

>>>> * Puneeth Chaganti <punchagan@gmail.com> wrote:
>>>>>
>>>>> https://github.com/punchagan/blog-files
>>>>
>> You have to add a README.org to the project - it's definitely worth
>> it :-)
>
> I've added a short README that tries to include the things that you
> are looking for.  But, it's something I wrote up quickly.  Feel free
> to ask any specific questions.

Quickly reading your README.org already gives me *way* more ideas on
how your system works! Thank you *very* much for that. 

Now I know that I definitely have to set up a test installation of
your system since it sound really close to my imaginary optimum
solution.

-- 
Karl Voit

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

* Re: Minimal overhead Org-mode blogging system
  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-11  4:33 ` Nathan Neff
  2012-05-13 14:54 ` Neil Smithline
  3 siblings, 0 replies; 28+ messages in thread
From: Nathan Neff @ 2011-12-11  4:33 UTC (permalink / raw)
  To: news1142; +Cc: emacs-orgmode

On Sun, Dec 4, 2011 at 10:51 AM, Karl Voit <devnull@karl-voit.at> wrote:
> 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.

Hello,

I agree with you about the "Much less annoying overhead".

I love the org-mode format, but I do not like the existing solutions
that others are using to blog with org-mode.  The main reasons is that
it seems like a lot of overhead to create the look & feel of the site
and how blog posts are shown, etc.

So, I've been using Jekyll, and have found it to be okay, once you have it
set up the way you want.  Now that I have it set up the way I want, I want to
just use org-mode formatted files, instead of markdown.

After some googling, I found this project, which looks promising:
https://github.com/abhiyerra/jekyll

It's just a small fork of Jekyll, that uses org-ruby to find *.org
files in your project
and convert it to HTML.

The main advantages that I can see are:

  - Edit my blog posts in Emacs or Vim, using Org-mode format, which I
like better than Markdown.
  - Jekyll has an outstanding feature set, including auto-preview.  So
I can just run jekyll --watch (or something like that) in my blog's
directory and it will automatically detect changes and re-render the
HTML.
  - Jekyll has lots of meta-data tags (I think they're called YAML
front matter and liquid templates). and I'll make sure that org-ruby
can parse these tags as well.

I will see if it works for me, and then report back to the mailing list :-)

--Nate

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

* Re: Minimal overhead Org-mode blogging system
  2011-12-07 20:11   ` Eric Schulte
@ 2011-12-11 13:20     ` Bastien
  0 siblings, 0 replies; 28+ messages in thread
From: Bastien @ 2011-12-11 13:20 UTC (permalink / raw)
  To: Eric Schulte; +Cc: news1142, emacs-orgmode

Hi Eric,

Eric Schulte <eric.schulte@gmx.com> writes:

> It would be great to collect these links on the relevant Worg page
> [1].

Done.  Thanks all for the useful input!

-- 
 Bastien

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

* Re: Minimal overhead Org-mode blogging system
  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
  1 sibling, 1 reply; 28+ messages in thread
From: Steinar Bang @ 2012-01-15 18:08 UTC (permalink / raw)
  To: emacs-orgmode

>>>>> Puneeth Chaganti <punchagan@gmail.com>:
[snip!]
>>>>> https://github.com/punchagan/blog-files

> I've added a short README that tries to include the things that you
> are looking for.  But, it's something I wrote up quickly.  Feel free
> to ask any specific questions.

I've been trying to use it, but I keep running into issues with
reprise.pay.

The latest one, is:

Traceback (most recent call last):
  File "reprise.py", line 258, in <module>
    env.get_template('cloud.html'))
  File "reprise.py", line 140, in generate_tag_cloud
    maxFreq = max(t['freq'] for t in tag_freq)
ValueError: max() arg is an empty sequence

The code for this, is:

def generate_tag_cloud(entries, template):
    tags = sum([e['tags'] for e in entries], [])
    tag_freq = [{'tag': tag, 'freq': tags.count(tag)} for tag in set(tags)
                if tags.count(tag) > 3]
    maxFreq = max(t['freq'] for t in tag_freq)
    ...

I've debugged this with pdb (`M-x pdb'), and tag_freq is empty.

If I'm interpreting the python code correctly (I don't know python...)
only those tags that have more than 3 occurrences will be in the
tag_freq collection...?

My problem is that I have only one article, my first, so obviously the
tag_freq collection will stay emtpy, and reprise.py will crash...

I tried removing the test, ie.

def generate_tag_cloud(entries, template):
    tags = sum([e['tags'] for e in entries], [])
    tag_freq = [{'tag': tag, 'freq': tags.count(tag)} for tag in set(tags)]
    maxFreq = max(t['freq'] for t in tag_freq)
    ...

but that just gave me a different error (division by zero):

  File "reprise.py", line 257, in <module>
    env.get_template('cloud.html'))
  File "reprise.py", line 147, in generate_tag_cloud
    'freq': t['freq']} for t in tag_freq]
  File "reprise.py", line 144, in normalize
    return min_r + (val - min_f) * (max_r - min_r) / float (max_f - min_f)

Any ideas of how to proceed?

Thanks!


- Steinar

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

* Re: Minimal overhead Org-mode blogging system
  2012-01-15 18:08           ` Steinar Bang
@ 2012-01-16 22:54             ` Puneeth Chaganti
  2012-01-19 22:15               ` Steinar Bang
  0 siblings, 1 reply; 28+ messages in thread
From: Puneeth Chaganti @ 2012-01-16 22:54 UTC (permalink / raw)
  To: emacs-orgmode

On Sun, Jan 15, 2012 at 12:08 PM, Steinar Bang <sb@dod.no> wrote:
>>>>>> Puneeth Chaganti <punchagan@gmail.com>:
> [snip!]
>>>>>> https://github.com/punchagan/blog-files
>
>> I've added a short README that tries to include the things that you
>> are looking for.  But, it's something I wrote up quickly.  Feel free
>> to ask any specific questions.
>
> I've been trying to use it, but I keep running into issues with
> reprise.pay.
>
> The latest one, is:
>
> Traceback (most recent call last):
>  File "reprise.py", line 258, in <module>
>    env.get_template('cloud.html'))
>  File "reprise.py", line 140, in generate_tag_cloud
>    maxFreq = max(t['freq'] for t in tag_freq)
> ValueError: max() arg is an empty sequence
>
> The code for this, is:
>
> def generate_tag_cloud(entries, template):
>    tags = sum([e['tags'] for e in entries], [])
>    tag_freq = [{'tag': tag, 'freq': tags.count(tag)} for tag in set(tags)
>                if tags.count(tag) > 3]
>    maxFreq = max(t['freq'] for t in tag_freq)
>    ...
>
> I've debugged this with pdb (`M-x pdb'), and tag_freq is empty.
>
> If I'm interpreting the python code correctly (I don't know python...)
> only those tags that have more than 3 occurrences will be in the
> tag_freq collection...?
>
> My problem is that I have only one article, my first, so obviously the
> tag_freq collection will stay emtpy, and reprise.py will crash...
>
> I tried removing the test, ie.
>
> def generate_tag_cloud(entries, template):
>    tags = sum([e['tags'] for e in entries], [])
>    tag_freq = [{'tag': tag, 'freq': tags.count(tag)} for tag in set(tags)]
>    maxFreq = max(t['freq'] for t in tag_freq)
>    ...
>
> but that just gave me a different error (division by zero):
>
>  File "reprise.py", line 257, in <module>
>    env.get_template('cloud.html'))
>  File "reprise.py", line 147, in generate_tag_cloud
>    'freq': t['freq']} for t in tag_freq]
>  File "reprise.py", line 144, in normalize
>    return min_r + (val - min_f) * (max_r - min_r) / float (max_f - min_f)
>
> Any ideas of how to proceed?

This is totally home brew stuff.  Sorry for the trouble you are
having, in getting it to run.

Try commenting out the lines 257, 258 in reprise.py and see if that
works for you.  I'll take a look later, and try to see if this can be
improved.

Thanks,
Puneeth

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

* Re: Minimal overhead Org-mode blogging system
  2011-12-07 17:20 ` Puneeth Chaganti
  2011-12-07 20:11   ` Eric Schulte
  2011-12-08  0:31   ` Karl Voit
@ 2012-01-17 18:50   ` tychoish
  2012-01-18  3:06     ` Eric Schulte
  2012-02-11 13:47     ` François Pinard
  2 siblings, 2 replies; 28+ messages in thread
From: tychoish @ 2012-01-17 18:50 UTC (permalink / raw)
  To: Puneeth Chaganti; +Cc: news1142, emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1447 bytes --]

On Wed, Dec 07, 2011 at 10:50:52PM +0530, Puneeth Chaganti wrote:
> I have a system, that does most of what you are looking for.
>
> https://github.com/punchagan/blog-files
>
> Though it seems to be a little more complicated than it needs to be,
> it works for me and I haven't had the time and motivation to simplify
> it.


This is a commentary on the entire thread rather than on this specific
suggestion (though it's applicable here.)

All of these "take a git repo with text files in a lightweight markup
language (e.g. markdown, org, rst, etc.) and build a blog/website" tools
have this major flaw and there's no good solution:

They rebuild all pages in the site every time you update the site. Which
doesn't matter at all when you have 10 posts, but when you have a
hundred posts you notice the rebuild process, and by the time you have
1000-1500 posts, its totally unusable. Every time you fix a comma it
takes 1-3 minutes and nearly OOMs a VPS system to fix.

So what's the solution?

- Incremental builds
- Cached build elements.
- make-style dependency checking.
- indexes (for tags, archives, etc.) that are

The truth is that the part of the pipe that handles the filtering of the
text is important, but is not particularly central or crucial in the
grand scheme of the usability of this kind of application.

Cheers,
sam

--
tycho(ish) @
garen@tychoish.com
http://tychoish.com/
"don't get it right, get it written" -- james thurber

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

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

* Re: Minimal overhead Org-mode blogging system
  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
  1 sibling, 1 reply; 28+ messages in thread
From: Eric Schulte @ 2012-01-18  3:06 UTC (permalink / raw)
  To: tychoish; +Cc: news1142, emacs-orgmode

tychoish <garen@tychoish.com> writes:

> On Wed, Dec 07, 2011 at 10:50:52PM +0530, Puneeth Chaganti wrote:
>> I have a system, that does most of what you are looking for.
>>
>> https://github.com/punchagan/blog-files
>>
>> Though it seems to be a little more complicated than it needs to be,
>> it works for me and I haven't had the time and motivation to simplify
>> it.
>
>
> This is a commentary on the entire thread rather than on this specific
> suggestion (though it's applicable here.)
>
> All of these "take a git repo with text files in a lightweight markup
> language (e.g. markdown, org, rst, etc.) and build a blog/website" tools
> have this major flaw and there's no good solution:
>
> They rebuild all pages in the site every time you update the site. Which
> doesn't matter at all when you have 10 posts, but when you have a
> hundred posts you notice the rebuild process, and by the time you have
> 1000-1500 posts, its totally unusable. Every time you fix a comma it
> takes 1-3 minutes and nearly OOMs a VPS system to fix.
>
> So what's the solution?
>
> - Incremental builds
> - Cached build elements.
> - make-style dependency checking.
> - indexes (for tags, archives, etc.) that are
>
> The truth is that the part of the pipe that handles the filtering of the
> text is important, but is not particularly central or crucial in the
> grand scheme of the usability of this kind of application.
>
> Cheers,
> sam
>

Note that regular Org-mode projects [1] do *not* re-publish every single
page after an update, but rather only publish pages which have changed
since the previous publish.  Thus a git repository with a pos-update
hook which runs `org-publish' in a batch Emacs session does a good job
of publishing updates without having to re-publish the entire site.

This is the approach taken for my lab's wiki [2], which is just a git
repository [3] with a post-update hook and a couple of helper scripts
[4] which re-publish updated pages after every commit.

Best,

Footnotes: 
[1]  http://orgmode.org/manual/Publishing.html

[2]  http://wiki.adaptive.cs.unm.edu

[3]  http://gitweb.adaptive.cs.unm.edu/wiki.git

[4]  http://gitweb.adaptive.cs.unm.edu/wiki.git/tree/HEAD:/data

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

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

* Re: Minimal overhead Org-mode blogging system
  2012-01-16 22:54             ` Puneeth Chaganti
@ 2012-01-19 22:15               ` Steinar Bang
  2012-01-20 18:19                 ` Chris Gray
  0 siblings, 1 reply; 28+ messages in thread
From: Steinar Bang @ 2012-01-19 22:15 UTC (permalink / raw)
  To: emacs-orgmode

>>>>> Puneeth Chaganti <punchagan@gmail.com>:

> This is totally home brew stuff.  

Well, thank you for sharing this home brew stuff.
I've been trying to use the other org based blog solutions, but they
have all failed for some reason or other, and they have also seemed
abandoned. 

> Sorry for the trouble you are having, in getting it to run.

No worries! :-)

> Try commenting out the lines 257, 258 in reprise.py and see if that
> works for you.  I'll take a look later, and try to see if this can be
> improved.

Yep, commenting out the tag cloud generation made the reprise.py script
run witout failing.

Thanks!

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

* Re: Minimal overhead Org-mode blogging system
  2012-01-18  3:06     ` Eric Schulte
@ 2012-01-20 16:10       ` Bastien
  0 siblings, 0 replies; 28+ messages in thread
From: Bastien @ 2012-01-20 16:10 UTC (permalink / raw)
  To: Eric Schulte; +Cc: news1142, emacs-orgmode

Eric Schulte <eric.schulte@gmx.com> writes:

> Note that regular Org-mode projects [1] do *not* re-publish every single
> page after an update, but rather only publish pages which have changed
> since the previous publish.  Thus a git repository with a pos-update
> hook which runs `org-publish' in a batch Emacs session does a good job
> of publishing updates without having to re-publish the entire site.
>
> This is the approach taken for my lab's wiki [2], which is just a git
> repository [3] with a post-update hook and a couple of helper scripts
> [4] which re-publish updated pages after every commit.

FWIW, this is also the way Worg is published.

-- 
 Bastien

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

* Re: Minimal overhead Org-mode blogging system
  2012-01-19 22:15               ` Steinar Bang
@ 2012-01-20 18:19                 ` Chris Gray
  2012-01-21  5:15                   ` Scott Randby
  0 siblings, 1 reply; 28+ messages in thread
From: Chris Gray @ 2012-01-20 18:19 UTC (permalink / raw)
  To: Steinar Bang, emacs-orgmode

On Thu, 19 Jan 2012 23:15:16 +0100, Steinar Bang <sb@dod.no> wrote:
> >>>>> Puneeth Chaganti <punchagan@gmail.com>:
> 
> > This is totally home brew stuff.  
> 
> Well, thank you for sharing this home brew stuff.
> I've been trying to use the other org based blog solutions, but they
> have all failed for some reason or other, and they have also seemed
> abandoned.

Have another look at ikiwiki.  Either plugin for org works (I am the
author of one of them), and the nice thing is that it is a really
complete system.  It has plugins [1] for just about anything you could
want to do with a blog or wiki, and is generally well-engineered.

If you have any trouble with my plugin, please open an issue on github.
I promise it's not abandoned. :)

Cheers,
Chris

[1] http://ikiwiki.info/plugins/

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

* Re: Minimal overhead Org-mode blogging system
  2012-01-20 18:19                 ` Chris Gray
@ 2012-01-21  5:15                   ` Scott Randby
  2012-01-21  5:53                     ` Nick Dokos
  0 siblings, 1 reply; 28+ messages in thread
From: Scott Randby @ 2012-01-21  5:15 UTC (permalink / raw)
  To: emacs-orgmode

On 01/20/2012 01:19 PM, Chris Gray wrote:
> On Thu, 19 Jan 2012 23:15:16 +0100, Steinar Bang <sb@dod.no> wrote:
>>>>>>> Puneeth Chaganti <punchagan@gmail.com>:
>>
>>> This is totally home brew stuff.  
>>
>> Well, thank you for sharing this home brew stuff.
>> I've been trying to use the other org based blog solutions, but they
>> have all failed for some reason or other, and they have also seemed
>> abandoned.
> 
> Have another look at ikiwiki.  Either plugin for org works (I am the
> author of one of them), and the nice thing is that it is a really
> complete system.  It has plugins [1] for just about anything you could
> want to do with a blog or wiki, and is generally well-engineered.
> 
> If you have any trouble with my plugin, please open an issue on github.
> I promise it's not abandoned. :)
> 
> Cheers,
> Chris
> 
> [1] http://ikiwiki.info/plugins/

Unless this plugin does not have "org" in its name, then it cannot be
found on this page. What plugin are you talking about?

Scott Randby

> 
> 

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

* Re: Minimal overhead Org-mode blogging system
  2012-01-21  5:15                   ` Scott Randby
@ 2012-01-21  5:53                     ` Nick Dokos
  2012-01-21  6:26                       ` Chris Gray
  0 siblings, 1 reply; 28+ messages in thread
From: Nick Dokos @ 2012-01-21  5:53 UTC (permalink / raw)
  To: Scott Randby; +Cc: nicholas.dokos, emacs-orgmode

Scott Randby <srandby@gmail.com> wrote:

> On 01/20/2012 01:19 PM, Chris Gray wrote:
> > On Thu, 19 Jan 2012 23:15:16 +0100, Steinar Bang <sb@dod.no> wrote:
> >>>>>>> Puneeth Chaganti <punchagan@gmail.com>:
> >>
> >>> This is totally home brew stuff.  
> >>
> >> Well, thank you for sharing this home brew stuff.
> >> I've been trying to use the other org based blog solutions, but they
> >> have all failed for some reason or other, and they have also seemed
> >> abandoned.
> > 
> > Have another look at ikiwiki.  Either plugin for org works (I am the
> > author of one of them), and the nice thing is that it is a really
> > complete system.  It has plugins [1] for just about anything you could
> > want to do with a blog or wiki, and is generally well-engineered.
> > 
> > If you have any trouble with my plugin, please open an issue on github.
> > I promise it's not abandoned. :)
> > 
> > Cheers,
> > Chris
> > 
> > [1] http://ikiwiki.info/plugins/
> 
> Unless this plugin does not have "org" in its name, then it cannot be
> found on this page. What plugin are you talking about?
> 
> Scott Randby
> 

Chris's plugin is on github. You can clone it with 

   git clone git://github.com/chrismgray/ikiwiki-org-plugin.git


Nick


	

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

* Re: Minimal overhead Org-mode blogging system
  2012-01-21  5:53                     ` Nick Dokos
@ 2012-01-21  6:26                       ` Chris Gray
  0 siblings, 0 replies; 28+ messages in thread
From: Chris Gray @ 2012-01-21  6:26 UTC (permalink / raw)
  To: Scott Randby; +Cc: nicholas.dokos, emacs-orgmode

On Sat, 21 Jan 2012 00:53:33 -0500, Nick Dokos <nicholas.dokos@hp.com> wrote:
> Scott Randby <srandby@gmail.com> wrote:
> 
> > On 01/20/2012 01:19 PM, Chris Gray wrote:
> > > On Thu, 19 Jan 2012 23:15:16 +0100, Steinar Bang <sb@dod.no> wrote:
> > >>>>>>> Puneeth Chaganti <punchagan@gmail.com>:
> > >>
> > >>> This is totally home brew stuff.  
> > >>
> > >> Well, thank you for sharing this home brew stuff.
> > >> I've been trying to use the other org based blog solutions, but they
> > >> have all failed for some reason or other, and they have also seemed
> > >> abandoned.
> > > 
> > > Have another look at ikiwiki.  Either plugin for org works (I am the
> > > author of one of them), and the nice thing is that it is a really
> > > complete system.  It has plugins [1] for just about anything you could
> > > want to do with a blog or wiki, and is generally well-engineered.
> > > 
> > > If you have any trouble with my plugin, please open an issue on github.
> > > I promise it's not abandoned. :)
> > > 
> > > Cheers,
> > > Chris
> > > 
> > > [1] http://ikiwiki.info/plugins/
> > 
> > Unless this plugin does not have "org" in its name, then it cannot be
> > found on this page. What plugin are you talking about?
> > 
> > Scott Randby
> > 
> 
> Chris's plugin is on github. You can clone it with 
> 
>    git clone git://github.com/chrismgray/ikiwiki-org-plugin.git
> 

Thanks, I should have been more clear.  Both the plugins are documented
here: http://ikiwiki.info/todo/org_mode/

Cheers,
Chris

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

* Re: Minimal overhead Org-mode blogging system
  2012-01-17 18:50   ` tychoish
  2012-01-18  3:06     ` Eric Schulte
@ 2012-02-11 13:47     ` François Pinard
  1 sibling, 0 replies; 28+ messages in thread
From: François Pinard @ 2012-02-11 13:47 UTC (permalink / raw)
  To: emacs-orgmode

tychoish <garen@tychoish.com> writes:

> On Wed, Dec 07, 2011 at 10:50:52PM +0530, Puneeth Chaganti wrote:

> [...] and nearly OOMs a VPS system to fix.

It took a bit of doing to get a meaning out of this sentence! :-)
Remember to be kind to your non-English audience...

François

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

* Re: Minimal overhead Org-mode blogging system
  2011-12-04 16:51 Minimal overhead Org-mode blogging system Karl Voit
                   ` (2 preceding siblings ...)
  2011-12-11  4:33 ` Nathan Neff
@ 2012-05-13 14:54 ` Neil Smithline
  2012-05-15  2:24   ` Jude DaShiell
  2012-06-17  8:09   ` Karl Voit
  3 siblings, 2 replies; 28+ messages in thread
From: Neil Smithline @ 2012-05-13 14:54 UTC (permalink / raw)
  To: emacs-orgmode


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. 

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

* Re: Minimal overhead Org-mode blogging system
  2012-05-13 14:54 ` Neil Smithline
@ 2012-05-15  2:24   ` Jude DaShiell
  2012-05-16  0:48     ` Neil Smithline
  2012-06-17  8:09   ` Karl Voit
  1 sibling, 1 reply; 28+ messages in thread
From: Jude DaShiell @ 2012-05-15  2:24 UTC (permalink / raw)
  To: Neil Smithline; +Cc: emacs-orgmode

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>

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

* Re: Minimal overhead Org-mode blogging system
  2012-05-15  2:24   ` Jude DaShiell
@ 2012-05-16  0:48     ` Neil Smithline
  2012-05-16  9:51       ` Jude DaShiell
  0 siblings, 1 reply; 28+ messages in thread
From: Neil Smithline @ 2012-05-16  0:48 UTC (permalink / raw)
  To: Jude DaShiell; +Cc: emacs-orgmode

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>
>

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

* Re: Minimal overhead Org-mode blogging system
  2012-05-16  0:48     ` Neil Smithline
@ 2012-05-16  9:51       ` Jude DaShiell
  2012-05-20 21:48         ` Neil Smithline
  0 siblings, 1 reply; 28+ messages in thread
From: Jude DaShiell @ 2012-05-16  9:51 UTC (permalink / raw)
  To: Neil Smithline; +Cc: emacs-orgmode

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>

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

* Re: Minimal overhead Org-mode blogging system
  2012-05-16  9:51       ` Jude DaShiell
@ 2012-05-20 21:48         ` Neil Smithline
  0 siblings, 0 replies; 28+ messages in thread
From: Neil Smithline @ 2012-05-20 21:48 UTC (permalink / raw)
  To: Jude DaShiell; +Cc: emacs-orgmode

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>
>

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

* Re: Minimal overhead Org-mode blogging system
  2012-05-13 14:54 ` Neil Smithline
  2012-05-15  2:24   ` Jude DaShiell
@ 2012-06-17  8:09   ` Karl Voit
  1 sibling, 0 replies; 28+ messages in thread
From: Karl Voit @ 2012-06-17  8:09 UTC (permalink / raw)
  To: emacs-orgmode

Sorry for the late reply. I was off the mailing list for one and a
half month. Therefore I include a full quote.

* Neil Smithline <emacs-orgmode@neilsmithline.com> 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.

I am writing my PhD thesis these days and therefore I do not have
time for this blogging thing until November or January :-(

Performance is no issue at all on *my* side. I plan to re-generate
the whole blog every night using a cron job.

But I do understand your concern when you need something which is
updaten instantly. (Not my personal requirement.)

> 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? 

Yes. I plan to scan each (or a defined subset) of my Org-mode files.

> If not, I'd love to have a pointer to how you can accomplish this without
> scanning every .org file. That would be cool. 

Sorry.

But anyhow: whatever I hack, it will be on github [1] and everybody
is free to fork and add a better performing real-time update
mechanism. I also have a cool name for my project - be curious *g*

  1. https://github.com/novoid/
-- 
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).