emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] Re: Sending org buffer as mail?


From: Niels Giesen
Subject: Re: [Orgmode] Re: Sending org buffer as mail?
Date: Mon, 27 Dec 2010 19:11:23 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sorry list for the last two mails (the ones with attachments), I messed
things up there. Below the mail I sent to Eric, but forgot to copy
carbonically to the list.

"Eric Schulte" <address@hidden> writes:

> Niels Giesen <address@hidden> writes:
>
>> "Eric Schulte" <address@hidden> writes:
>>
>>> Niels Giesen <address@hidden> writes:
>>>
>>>> "Eric Schulte" <address@hidden> writes:
>>>>
>>>>> Thanks, I've just pushed up a new version of org-mime which makes use of
>>>>> this function.
>>>>
>>
>> Hi Eric, thanks for implementing this.
>>
>> However, I see a problem in the solution for when html-ascii is
>> specified as the MAIL_FMT, being that the same hook will be run for both
>> parts of the message. I think it better not to have a html-ascii hook
>> and run the html hook for the html part and the ascii hook for the ascii
>> part. Otherwise the ascii hook may for instance delete a =BEGIN_SRC=
>> line and insert cut lines not needed by html.
>>
>> Same goes for html (which is in fact html-org). Although I cannot really
>> think of any hooks I might want to run there.
>>
>
> Thanks for pointing this out.  I've just pushed up a fix which
> implements a single hook for each format, and (as you suggested) runs
> each hook over only the related mime part of the message.
>

Thanks. I think I noticed a bug though, being that
`org-mime-pre-html-hook' is run for the ascii and org parts of
html-ascii and org. The code below should fix this:

#+begin_src diff
  Changes in HEAD
      Modified contrib/lisp/org-mime.el
  diff --git a/contrib/lisp/org-mime.el b/contrib/lisp/org-mime.el
  index 48c898e..68a3498 100644
  --- a/contrib/lisp/org-mime.el
  +++ b/contrib/lisp/org-mime.el
  @@ -293,7 +293,8 @@ export that region, otherwise export the entire body."
             (html (org-mime-apply-html-hook (car html-and-images))))
        (insert (org-mime-multipart
             (org-export-string
  -           (org-babel-trim (bhook body 'html))
  +           (org-babel-trim
  +            (bhook body (if (eq fmt 'html) 'org 'ascii)))
              (if (eq fmt 'html) 'org 'ascii))
             html)
            (mapconcat 'identity images "\n"))))))))
#+end_src

>>
>> I'll take a look at the link you gave for "Org-mode block fontification"
>> in gnus, although that seems like a solution for the receiving side, and
>> most of my peers do not run gnus and org, or emacs for that matter, but
>> many do want to receive mail in plain text.
>>
>
> I like the 'html option for situations like this, as a fontified html
> version of the email is sent for normal users, however an org format
> exports is supplied as a mime alternative, so users who have instructed
> their email clients to prefer plain text will be presented with the
> plain text org syntax.  In my wildest of dreams the org-mode begin_src
> syntax could be adopted as a plain-text standard for setting off source
> code, so that email clients other than gnus could begin providing for
> their own fontification of such blocks.
>

Now that would be something wild indeed. Of course the upside of org
syntax is that even if nothing is done with it automatically, the human
reader at least has a hint as to what language is used in the code
block, and in that regard it is better than ascii with nondescript
scissor lines. I just might have to revisit my earlier stance on this...

>>
>> On the subject of encouraging so-called code blocks brought to our
>> attention by Samuel, encouraging this was not my intention, I should
>> have thought better before posting and I will never in my life post such
>> immoral examples anymore.
>>
>
> Your consideration is much appreciated. :)
>
>>
>> Regards,
>>
>> Niels
>>
>>>> [...]
>>>>
>>>> Hi Eric,
>>>>
>>>> I love the org-mime-subtree function! It makes writing good-looking
>>>> mails very easy.
>>>>
>>>> Now for a proposal:
>>>>
>>>> For ascii export used for mail, it would be cool if SRC and EXAMPLE
>>>> blocks be surrounded by "cut here" scissor lines. They look well in gnus
>>>> for example:
>>>>
>>>
>>> For even better looking code in gnus, I personally prefer to use org as
>>> my export target (rather than ascii), and with "Org-mode code block
>>> fontification" configuration from
>>> http://eschulte.github.com/emacs-starter-kit/starter-kit-gnus.html
>>> code blocks inside org-mode markup will be correctly fontified in gnus
>>> messages.
>>>
>>>>
>>>> code or example here
>>>>
>>>> Maybe the best way to achieve this is to define a hook before the string
>>>> is sent to `org-export-string' with the FMT arg set to 'ascii, so that
>>>> people can define their own functions. For instance, there are also
>>>> people who prefer a block like
>>>>
>>>
>>> good idea, I've just added a series of hooks to org-mime which will be
>>> called in a temporary buffer holding the text to be exported, so you
>>> could add a function here to add scissor lines around code blocks.  Like
>>> Sam I would discourage the use of boxquotes for anything that users may
>>> want to cut and paste.  For ascii use the `org-mime-pre-ascii-hook'.
>>>
>>> If you come up with useful hooks it may be nice to share them on worg at
>>> http://orgmode.org/worg/org-contrib/org-mime.php
>>>
>>>>
>>>> ,----[ emacs-lisp ]
>>>> | source here
>>>> `----
>>>>
>>>> What do you think?
>>>>
>>>> Regards,
>>>>
>>>> Niels.
>>>
>>> Thanks for the suggestion -- Eric
>>>
>>>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0Y1sUACgkQaDYruO90Vs0XEQCffced4+xBikVknseroYyWpSKv
zG8AoLeBSN7Q4fXIXYD9B5OHFUnxiFx/
=in2/
-----END PGP SIGNATURE-----



reply via email to

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