From: Carsten Dominik <dominik@uva.nl>
To: Sebastian Rose <sebastian_rose@gmx.de>
Cc: emacs-orgmode Org-Mode <emacs-orgmode@gnu.org>
Subject: Re: Re: Release 6.13
Date: Tue, 25 Nov 2008 05:36:35 +0100 [thread overview]
Message-ID: <56464B2D-DDAD-4FCD-B895-A398880ABC12@uva.nl> (raw)
In-Reply-To: <871vx0h8xz.fsf@kassiopeya.MSHEIMNETZ>
Hi Sebastian,
it seems to me thatt his patch depends on the projects in
org-publish-projects-alist to be defined in a certain order,
with the components first, and the big "parent" projects later.
So maybe you need to iterate the dolist loop until it stabilizes.
Also, I guess a "component" could be part of several "parents"?
Hmm, maybe not a likely setup. OK, les not worry about this issue.
- Carsten
On Nov 25, 2008, at 2:48 AM, Sebastian Rose wrote:
> Arrgh....
>
> Sorry - there was an unnecessary line.
>
>
> diff --git a/lisp/org-publish.el b/lisp/org-publish.el
> index eafa8fa..3ec48c4 100644
> --- a/lisp/org-publish.el
> +++ b/lisp/org-publish.el
> @@ -470,7 +470,11 @@ matching filenames."
> (defun org-publish-get-project-from-filename (filename)
> "Return the project FILENAME belongs."
> (let* ((project-name (cdr (assoc (expand-file-name filename)
> org-publish-files-alist))))
> + (dolist (prj org-publish-project-alist)
> + (if (member project-name (plist-get (cdr prj) :components))
> + (setq project-name (car prj))))
> (assoc project-name org-publish-project-alist)))
>
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>
>
>
> Regards,
>
> Sebastian
>
>
> Sebastian Rose <sebastian_rose@gmx.de> writes:
>> OK, here is the patch. This ensures, that the whole project is
>> published
>> for
>>
>> C-c C-e P
>>
>> Hence ditaa blocks can be exported together with a changed Org-file
>> again.
>>
>>
>>
>> diff --git a/lisp/org-publish.el b/lisp/org-publish.el
>> index eafa8fa..3ec48c4 100644
>> --- a/lisp/org-publish.el
>> +++ b/lisp/org-publish.el
>> @@ -470,7 +470,11 @@ matching filenames."
>> (defun org-publish-get-project-from-filename (filename)
>> "Return the project FILENAME belongs."
>> (let* ((project-name (cdr (assoc (expand-file-name filename)
>> - org-publish-files-alist))))
>> + org-publish-files-alist)))
>> + (parent-project nil))
>> + (dolist (prj org-publish-project-alist)
>> + (if (member project-name (plist-get (cdr prj) :components))
>> + (setq project-name (car prj))))
>> (assoc project-name org-publish-project-alist)))
>>
>> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>>
>>
>>
>> Regards,
>>
>>
>> Sebastian
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Bernt Hansen <bernt@norang.ca> writes:
>>> Carsten Dominik <dominik@science.uva.nl> writes:
>>>
>>>> New contributed file /org-exp-blocks.el/
>>>> ----------------------------------------
>>>>
>>>> This new file implements special export behavior of
>>>> user-defined blocks. The currently supported blocks are
>>>>
>>>> - comment :: Comment blocks with author-specific markup
>>>> - ditaa :: conversion of ASCII art into pretty png files
>>>> using Stathis Sideris' /ditaa.jar/ program
>>>> - dot :: creation of graphs in the /dot/ language
>>>> - R :: Sweave type exporting using the R program
>>>>
>>>> For more details and examples, see the file commentary in
>>>> /org-exp-blocks.el/.
>>>>
>>>> Kudos to Eric Schulte for this new functionality, after
>>>> /org-plot.el/ already his second major contribution. Thanks
>>>> to Stathis for this excellent program, and for allowing us to
>>>> bundle it with Org-mode.
>>>
>>> Thanks for this! I really like that C-c ' now makes editing the
>>> ditaa
>>> images easy.
>>>
>>> Now for my questions related to improving my work-flow for
>>> generating
>>> documents with ditaa images.
>>>
>>> Q1: Can org-publish-current-project somehow automatically pick up
>>> ditaa
>>> generated images?
>>>
>>> I have a play org file http://doc.norang.ca/org-mode.org which
>>> generates the page at http://doc.norang.ca/org-mode.html.
>>>
>>> I usually edit the source file and then
>>> M-x org-publish-current-project
>>> to publish my changes.
>>>
>>> This was working great... until ditaa came along :).
>>>
>>> Now exporting my .org files creates new ditaa generated images
>>> (.png
>>> files) which don't get exported with the document because they
>>> are
>>> part of a different project. After org-publish-current-project I
>>> have to remember to also org-publish doc-png to get the ditaa
>>> generated images published.
>>>
>>> Publishing the parent project 'doc' instead
>>>
>>> doc
>>> doc-org (org -> HTML export -> publishing target)
>>> doc-png (copy .png -> publishing target)
>>>
>>> works fine so maybe I just need fix my workflow so my publish
>>> code
>>> is smart enough to find the appropriate parent project and
>>> publish
>>> that instead.
>>>
>>> Q2: Can org-publish handle a source file in more than one project?
>>>
>>> Sometimes I would like to publish the generated page (org-
>>> mode.html)
>>> as well as the source file that creates it (org-mode.org) as in
>>> Q1
>>> above. I don't think I can have a doc-org project that generates
>>> HTML and a doc-src project that just copies the .org files
>>> verbatim
>>> to the target directory since after publishing one of the two
>>> projects the file is 'unchanged' and skipped for publishing the
>>> second one. Is there a way to accomplish this?
>>>
>>> For now I'm manually touching the org file and manually
>>> publishing
>>> the doc-src project to make it work.
>>>
>>>
>>> ditaa images look great on HTML exports. I'm having some difficulty
>>> including them in other formats (PDF for instance - they end up
>>> being
>>> tiny.) Someday I'll find a good solution for that.
>>> http://doc.norang.ca/org-mode.pdf is an example.
>>>
>>> Thanks for org-mode!
>>>
>>> Regards,
>>> Bernt
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Remember: use `Reply All' to send replies to the list.
>>> Emacs-orgmode@gnu.org
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>
>
> --
> Sebastian Rose, EMMA STIL - mediendesign, Niemeyerstr.6, 30449
> Hannover
>
> Tel.: +49 (0)511 - 36 58 472
> Fax: +49 (0)1805 - 233633 - 11044
> mobil: +49 (0)173 - 83 93 417
> Email: s.rose emma-stil de, sebastian_rose gmx de
> Http: www.emma-stil.de
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
next prev parent reply other threads:[~2008-11-25 4:37 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-23 7:20 Release 6.13 Carsten Dominik
2008-11-23 18:24 ` Bernt Hansen
2008-11-24 2:12 ` Sebastian Rose
2008-11-24 21:23 ` Bernt Hansen
2008-11-25 1:31 ` Sebastian Rose
2008-11-25 1:48 ` Sebastian Rose
2008-11-25 4:36 ` Carsten Dominik [this message]
2008-11-25 8:32 ` Sebastian Rose
2008-11-25 9:55 ` Carsten Dominik
2008-11-25 9:56 ` Carsten Dominik
2008-11-25 11:58 ` Bernt Hansen
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=56464B2D-DDAD-4FCD-B895-A398880ABC12@uva.nl \
--to=dominik@uva.nl \
--cc=emacs-orgmode@gnu.org \
--cc=sebastian_rose@gmx.de \
/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).