From: "Thomas S. Dye" <tsd@tsdye.com>
To: Carsten Dominik <carsten.dominik@gmail.com>
Cc: kmartino@pobox.com, emacs-orgmode@gnu.org
Subject: Re: One org file, multiple exports, is it possible?
Date: Mon, 24 May 2010 17:38:06 -1000 [thread overview]
Message-ID: <646DB2B5-DFE0-422F-BD11-AA2117E76644@tsdye.com> (raw)
In-Reply-To: <CC217760-5C6B-44D7-9680-238C503B3976@gmail.com>
Aloha Carsten,
I think I need to know what is meant by "minimal .emacs."
I've poked around quite a bit now and have discovered two things:
1) Two lines in Karl's org-publish-project-alist triggered the
unexpected behavior. These are the lines with the :include
and :exclude keywords.
2) The unexpected behavior only occurs when org-publish-project-alist
also contains a project of the form ("project-name" :components
("project-name" "project-name" ...)). Here, I've only checked the
situation where the offending project involves sub-projects that are
not Karl's.
I have two reservations about putting together a "minimal .emacs":
1) I'm using Eric Schulte's literate emacs starter kit, so my
initialization files are split up into many parts, only two of which I
fiddle with. I'm happily ignorant of what goes on before my two org
configuration files get processed by Eric's code.
2) The org-publish-project-alist variable in my configuration contains
paths that are (probably) unique to my system.
That said, if a minimal .emacs is required, please give me some
direction and I'll do what I can.
All the best,
Tom
On May 23, 2010, at 7:20 PM, Carsten Dominik wrote:
>
> On May 24, 2010, at 12:01 AM, Thomas S. Dye wrote:
>
>> Thanks Carsten,
>>
>> That was it. It works with just the select tags here, too.
>>
>> One more query. I get different export results depending on where
>> I specify the select tag. Given the following org-mode file,
>> specifying the select tag in the file header with #
>> +EXPORT_SELECT_TAGS: @WORK exports only the tree tagged with @WORK,
>> but specifying the select tag in the publishing setup with :select-
>> tags ("@WORK"), and without any specification in the file header,
>> exports two trees, the first untagged tree and the tree tagged with
>> @WORK.
>>
>> Is this the expected behavior?
>
> Of course not. And I cannot reproduce it either. Maybe you need to
> make me an exact test case, with minimal .emacs, and both testcase
> files. Make it as a zip archive, so that I am sure I have the same
> amount of whitespace at the beginning of the files etc.
>
> Thanks.
>
> - Carsten
>
>>
>> ---------- org file -------------
>>
>> * Untagged notes before tags
>> Where do these go?
>>
>> * Work
>> notes
>> :@WORK:
>> This should end up somewhere.
>>
>> * Home
>> notes
>> :@HOME:
>> This should end up somewhere else.
>>
>> ---------- org file -------------
>>
>> All the best,
>> Tom
>>
>> On May 23, 2010, at 10:57 AM, Carsten Dominik wrote:
>>
>>>
>>> On May 23, 2010, at 8:49 PM, Thomas S. Dye wrote:
>>>
>>>> Aloha all,
>>>>
>>>> Karl's setup specified keyword arguments for :select-tags but not
>>>> for :exclude-tags. When I tried this setup with only :select-
>>>> tags it worked as expected for the select tag that occurs first
>>>> in the Org-mode file, but the publishing project defined for the
>>>> select tag that occurs second in the Org-mode file did not work
>>>> as expected. In this case, trees with both select tags appear in
>>>> the output file.
>>>>
>>>> I solved my problem by also specifying exclude tags.
>>>>
>>>> Here is the setup that worked for me.
>>>>
>>>> -------- .emacs fragment ----------
>>>>
>>>> (add-to-list 'org-publish-project-alist
>>>> '("work"
>>>> :base-directory "~/org/temp/"
>>>> :base-extension "org"
>>>> :publishing-directory "~/org/temp/publish-work/"
>>>> :publishing-function org-publish-org-to-latex
>>>> :select-tags ("@WORK")
>>>> :exclude-tags ("@HOME")
>>>> :title "Work Notes"
>>>> :include ("index.org")
>>>> :exclude "\\.org$"
>>>> ))
>>>>
>>>> (add-to-list 'org-publish-project-alist
>>>> '("home"
>>>> :base-directory "~/org/temp/"
>>>> :base-extension "org"
>>>> :publishing-directory "~/org/temp/publish-home/"
>>>> :publishing-function org-publish-org-to-latex
>>>> :select-tags ("@HOME")
>>>> :exclude-tags ("@WORK")
>>>> :title "Home Phone"
>>>> :include ("index.org")
>>>> :exclude "\\.org$"
>>>> ))
>>>>
>>>> -------- .emacs fragment ----------
>>>>
>>>> -------- org-mode file ----------
>>>> * Work
>>>> notes
>>>> :@WORK:
>>>> This should end up in publish-work.
>>>>
>>>> * Home
>>>> notes
>>>> :@HOME:
>>>> This should end up in publish-home.
>>>> -------- org-mode file ----------
>>>>
>>>> I'm wondering, is it really possible to get the expected results
>>>> specifying only select tags and not exclude tags?
>>>
>>> Works perfectly fine for me!
>>>
>>> Note that changing the publishing alist does not trigger
>>> republishing. Use C-u with the publishing command...
>>>
>>> - Carsten
>>>
>>>
>>>>
>>>> All the best,
>>>> Tom
>>>>
>>>> On May 23, 2010, at 6:31 AM, Karl Martino wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Ah! This worked once I tried this tip Carsten - thanks! I
>>>>> should have
>>>>> realized that the buffer setting was defeating that there.
>>>>>
>>>>>> You should *not* have a #+TITLE line in the buffer, and you
>>>>>> should *not*
>>>>>> have subtree marked - then :title is used.
>>>>>
>>>>> Eric, thanks for the tip as well. I will check out org-jekyll
>>>>> even
>>>>> though this worked because producing a blog or some kind of
>>>>> knowledge
>>>>> base from my single-org-mode-life-file sounds great :)
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Karl
>>>>>
>>>>> On Sun, May 23, 2010 at 12:17 PM, Carsten Dominik
>>>>> <carsten.dominik@gmail.com> wrote:
>>>>>>
>>>>>> On May 23, 2010, at 2:22 PM, Karl Martino wrote:
>>>>>>
>>>>>>> Hi Carsten,
>>>>>>>
>>>>>>> Thanks for help, unfortunately I tried ":title" and it is
>>>>>>> ignored.
>>>>>>
>>>>>> No, it does in fact work, I just tested it. Here is the setup
>>>>>> I used:
>>>>>>
>>>>>> (setq org-publish-project-alist
>>>>>> '(("ttt"
>>>>>> :base-directory "~/lib/emacs/work/org-mode/t/pub/src"
>>>>>> :base-extension "org"
>>>>>> :publishing-directory "~/lib/emacs/work/org-mode/t/pub/
>>>>>> target"
>>>>>> :section-numbers nil
>>>>>> :table-of-contents nil
>>>>>> ;; :plain-source t
>>>>>> ;; :htmlized-source t
>>>>>> :exclude "-source"
>>>>>> :title "Test :title property"
>>>>>> :auto-sitemap t
>>>>>> :makeindex t
>>>>>> :publishing-function (org-publish-org-to-html
>>>>>> org-publish-org-to-org))))
>>>>>>
>>>>>> You should *not* have a #+TITLE line in the buffer, and you
>>>>>> should *not*
>>>>>> have subtree marked - then :title is used.
>>>>>>
>>>>>>
>>>>>> - Carsten
>>>>>>
>>>>>>>
>>>>>>> The issue with #+TITLE in the buffer is that it is the same
>>>>>>> file I am
>>>>>>> exporting various times, just with different tag filters, and
>>>>>>> the
>>>>>>> title then remains the same for each export, where I want it to
>>>>>>> reflect the subset of the file, ie Karl's Work Journal, or
>>>>>>> Karl's Home
>>>>>>> Journal.
>>>>>>>
>>>>>>> A workaround that just occurred to me:
>>>>>>>
>>>>>>> I could write a method that would change the #+TITLE value in
>>>>>>> the
>>>>>>> buffer, then org-reload, before exporting the component in the
>>>>>>> list.
>>>>>>> That should work.
>>>>>>>
>>>>>>> But am I missing something?
>>>>>>>
>>>>>>> Thanks again, org-mode is fantastic and has helped me wrangle
>>>>>>> a lot of
>>>>>>> complexity into something portable and easy to use. It's been a
>>>>>>> lifesaver for me :)
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Karl
>>>>>>>
>>>>>>>>> (setq org-publish-project-alist
>>>>>>>>> '(
>>>>>>>>> ("highlights"
>>>>>>>>> :base-directory "~/notes/org/"
>>>>>>>>> :base-extension "org"
>>>>>>>>> :publishing-directory "~/notes/export"
>>>>>>>>> :publishing-function org-publish-org-to-html
>>>>>>>>> :select-tags ("highlight")
>>>>>>>>> :include ("index.org")
>>>>>>>>
>>>>>>>> I have not tried it, but if you do not have #+TITLE in the
>>>>>>>> buffer,
>>>>>>>> then
>>>>>>>> :title "This is my title"
>>>>>>>>
>>>>>>>> in the publishing plist might work. Give it a try.
>>>>>>>>
>>>>>>>> - Carsten
>>>>>>>>
>>>>>>>>> )
>>>>>>>>> ("work"
>>>>>>>>> :base-directory "~/notes/org/"
>>>>>>>>> :base-extension "org"
>>>>>>>>> :publishing-directory "~/notes/export/work/"
>>>>>>>>> :publishing-function org-publish-org-to-html
>>>>>>>>> :select-tags ("@WORK")
>>>>>>>>> :include ("index.org")
>>>>>>>>> :exclude "\\.org$"
>>>>>>>>> )
>>>>>>>>> ("home"
>>>>>>>>> :base-directory "~/notes/org/"
>>>>>>>>> :base-extension "org"
>>>>>>>>> :publishing-directory "~/notes/export/home/"
>>>>>>>>> :publishing-function org-publish-org-to-html
>>>>>>>>> :select-tags ("@HOME")
>>>>>>>>> :include ("index.org")
>>>>>>>>> :exclude "\\.org$"
>>>>>>>>> :link-up
>>>>>>>>> )
>>>>>>>>> ))
>>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Emacs-orgmode mailing list
>>>>>>> Please use `Reply All' to send replies to the list.
>>>>>>> Emacs-orgmode@gnu.org
>>>>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>>>>
>>>>>> - Carsten
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> "Seek First to Understand, Then to be Understood” - Steven Covey
>>>>>
>>>>> www.paradox1x.org, www.phillyfuture.org, @kmartino
>>>>>
>>>>> _______________________________________________
>>>>> Emacs-orgmode mailing list
>>>>> Please use `Reply All' to send replies to the list.
>>>>> Emacs-orgmode@gnu.org
>>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>>>
>>>
>>> - Carsten
>>>
>>>
>>>
>>
>
> - Carsten
>
>
>
next prev parent reply other threads:[~2010-05-25 3:38 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-22 23:46 One org file, multiple exports, is it possible? Karl Martino
2010-05-23 0:47 ` Karl Martino
2010-05-23 4:59 ` Carsten Dominik
2010-05-23 12:22 ` Karl Martino
2010-05-23 15:58 ` Eric Schulte
2010-05-23 16:17 ` Carsten Dominik
2010-05-23 16:31 ` Karl Martino
2010-05-23 18:49 ` Thomas S. Dye
2010-05-23 20:57 ` Carsten Dominik
2010-05-23 22:01 ` Thomas S. Dye
2010-05-24 5:20 ` Carsten Dominik
2010-05-24 16:36 ` Thomas S. Dye
2010-05-25 3:38 ` Thomas S. Dye [this message]
2010-05-25 3:50 ` Bernt Hansen
2010-05-25 16:20 ` Thomas S. Dye
2010-05-25 16:52 ` Nick Dokos
2010-05-25 17:51 ` Thomas S. Dye
2010-05-28 3:40 ` Thomas S. Dye
2010-05-25 17:26 ` Mark Elston
2010-05-25 17:53 ` Thomas S. Dye
2010-05-26 18:42 ` Thomas S. Dye
2010-05-26 21:37 ` Nick Dokos
2010-05-26 22:28 ` Thomas S. Dye
2010-05-27 1:40 ` Nick Dokos
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=646DB2B5-DFE0-422F-BD11-AA2117E76644@tsdye.com \
--to=tsd@tsdye.com \
--cc=carsten.dominik@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=kmartino@pobox.com \
/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).