emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
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

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