* One org file, multiple exports, is it possible? @ 2010-05-22 23:46 Karl Martino 2010-05-23 0:47 ` Karl Martino 2010-05-23 4:59 ` Carsten Dominik 0 siblings, 2 replies; 24+ messages in thread From: Karl Martino @ 2010-05-22 23:46 UTC (permalink / raw) To: emacs-orgmode Hello, I am a long time org-mode user, this my first time posting to the email list, and before I ask my question I first want to say thanks to all those who are helping maintain and grow this terrific software. I maintain a single org-mode file with half my life in it. It contains my journal, my task list, contacts, and notes on various projects. I use tags to indicate what content is associated to what content. What I would like to do is publish multiple html exports of this file, filtered by tag. A file that comprises of journal entries that are tagged for work. Another with journal entries that are tagged as personal highlights I want to take special note of. This file's path is at ~/notes/org/index.org. I'd like to export the filtered version of this file to ~/notes/export/index.html ~/notes/export/index_[tagname].html and to change each filtered export's title. So far in my reading of the docs, this does not seem possible. It seems you cannot indicate the export result file name. But I can indicate path. So following is a sample org-publish-project-alist that that filters by tag and puts the result in different publishing directories. But I still can't figure out how to change the title on those exported pages. Can anyone provide me with any pointers? (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") ) ("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 ) )) I am using org-version 6.33f and Emacs 23.1.9 on OS-X. Thank you in advance, Karl -- "Seek First to Understand, Then to be Understood” - Steven Covey paradox1x.org, phillyfuture.org, @kmartino ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 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 1 sibling, 0 replies; 24+ messages in thread From: Karl Martino @ 2010-05-23 0:47 UTC (permalink / raw) To: emacs-orgmode Hello, I should have added, I realize that there are options to export separate subtrees using EXPORT_FILE_NAME and EXPORT_TITLE properties. I hope I described how this is similar to that but different. I a have content spread across subtrees I want to gather by tag and export using similar variables to these. I *could* reorganize my file to use seperate subtrees, but it seems a shame to do so since having an internal blog-like structure for my journal that I can filter by tag just maps real well to how I work and think. Thanks, Karl On Sat, May 22, 2010 at 7:46 PM, Karl Martino <kmartino@pobox.com> wrote: > Hello, > > I am a long time org-mode user, this my first time posting to the email list, > and before I ask my question I first want to say thanks to all those who are > helping maintain and grow this terrific software. > > I maintain a single org-mode file with half my life in it. It > contains my journal, my task list, contacts, and notes on various projects. I > use tags to indicate what content is associated to what content. > > What I would like to do is publish multiple html exports of this file, filtered > by tag. A file that comprises of journal entries that are tagged for > work. Another with journal entries that are tagged as personal highlights I want > to take special note of. > > This file's path is at ~/notes/org/index.org. I'd like to export the filtered > version of this file to ~/notes/export/index.html > ~/notes/export/index_[tagname].html and to change each filtered export's title. > > So far in my reading of the docs, this does not seem possible. It seems you > cannot indicate the export result file name. But I can indicate path. So > following is a sample org-publish-project-alist that that filters by tag and > puts the result in different publishing directories. But I still can't figure > out how to change the title on those exported pages. Can anyone provide me with > any pointers? > > (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") > ) > ("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 > ) > )) > > I am using org-version 6.33f and Emacs 23.1.9 on OS-X. > > Thank you in advance, > > Karl > > -- > "Seek First to Understand, Then to be Understood” - Steven Covey > > paradox1x.org, phillyfuture.org, @kmartino > -- "Seek First to Understand, Then to be Understood” - Steven Covey www.paradox1x.org, www.phillyfuture.org, @kmartino ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 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 1 sibling, 1 reply; 24+ messages in thread From: Carsten Dominik @ 2010-05-23 4:59 UTC (permalink / raw) To: kmartino; +Cc: emacs-orgmode On May 23, 2010, at 1:46 AM, Karl Martino wrote: > Hello, > > I am a long time org-mode user, this my first time posting to the > email list, > and before I ask my question I first want to say thanks to all those > who are > helping maintain and grow this terrific software. > > I maintain a single org-mode file with half my life in it. It > contains my journal, my task list, contacts, and notes on various > projects. I > use tags to indicate what content is associated to what content. > > What I would like to do is publish multiple html exports of this > file, filtered > by tag. A file that comprises of journal entries that are tagged for > work. Another with journal entries that are tagged as personal > highlights I want > to take special note of. > > This file's path is at ~/notes/org/index.org. I'd like to export > the filtered > version of this file to ~/notes/export/index.html > ~/notes/export/index_[tagname].html and to change each filtered > export's title. > > So far in my reading of the docs, this does not seem possible. It > seems you > cannot indicate the export result file name. But I can indicate > path. So > following is a sample org-publish-project-alist that that filters by > tag and > puts the result in different publishing directories. But I still > can't figure > out how to change the title on those exported pages. Can anyone > provide me with > any pointers? > > (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 > ) > )) > > I am using org-version 6.33f and Emacs 23.1.9 on OS-X. > > Thank you in advance, > > Karl > > -- > "Seek First to Understand, Then to be Understood” - Steven Covey > > paradox1x.org, 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 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 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 0 siblings, 2 replies; 24+ messages in thread From: Karl Martino @ 2010-05-23 12:22 UTC (permalink / raw) To: emacs-orgmode Hi Carsten, Thanks for help, unfortunately I tried ":title" and it is ignored. 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 >> ) >> )) >> ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 2010-05-23 12:22 ` Karl Martino @ 2010-05-23 15:58 ` Eric Schulte 2010-05-23 16:17 ` Carsten Dominik 1 sibling, 0 replies; 24+ messages in thread From: Eric Schulte @ 2010-05-23 15:58 UTC (permalink / raw) To: kmartino; +Cc: emacs-orgmode Hi Karl, Maybe the following little function will work. If called from an org-mode file, it will try to export each subtree, respecting the values of EXPORT_FILE_NAME and EXPORT_TITLE. --8<---------------cut here---------------start------------->8--- (defun org-export-parts () (interactive) (org-map-entries (lambda () (outline-mark-subtree) (org-export-as-html nil)))) --8<---------------cut here---------------end--------------->8--- it shouldn't be difficult to augment the above to set exporting options based on the values of subtree tags. If this isn't sufficient, and you want really powerful templating of different classes of html files you could try out jekyll [1], and some of the org-jekyll solutions [2]. Hope this helps -- Eric Footnotes: [1] http://jekyllrb.com/ [2] http://orgmode.org/worg/org-tutorials/org-jekyll.php ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 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 1 sibling, 1 reply; 24+ messages in thread From: Carsten Dominik @ 2010-05-23 16:17 UTC (permalink / raw) To: kmartino; +Cc: emacs-orgmode 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 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 2010-05-23 16:17 ` Carsten Dominik @ 2010-05-23 16:31 ` Karl Martino 2010-05-23 18:49 ` Thomas S. Dye 0 siblings, 1 reply; 24+ messages in thread From: Karl Martino @ 2010-05-23 16:31 UTC (permalink / raw) To: emacs-orgmode, carsten.dominik 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 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 2010-05-23 16:31 ` Karl Martino @ 2010-05-23 18:49 ` Thomas S. Dye 2010-05-23 20:57 ` Carsten Dominik 0 siblings, 1 reply; 24+ messages in thread From: Thomas S. Dye @ 2010-05-23 18:49 UTC (permalink / raw) To: kmartino; +Cc: emacs-orgmode, carsten.dominik 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? 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 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 2010-05-23 18:49 ` Thomas S. Dye @ 2010-05-23 20:57 ` Carsten Dominik 2010-05-23 22:01 ` Thomas S. Dye 0 siblings, 1 reply; 24+ messages in thread From: Carsten Dominik @ 2010-05-23 20:57 UTC (permalink / raw) To: Thomas S. Dye; +Cc: kmartino, emacs-orgmode 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 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 2010-05-23 20:57 ` Carsten Dominik @ 2010-05-23 22:01 ` Thomas S. Dye 2010-05-24 5:20 ` Carsten Dominik 0 siblings, 1 reply; 24+ messages in thread From: Thomas S. Dye @ 2010-05-23 22:01 UTC (permalink / raw) To: Carsten Dominik; +Cc: kmartino, emacs-orgmode 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? ---------- 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 > > > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 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 0 siblings, 2 replies; 24+ messages in thread From: Carsten Dominik @ 2010-05-24 5:20 UTC (permalink / raw) To: Thomas S. Dye; +Cc: kmartino, emacs-orgmode 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 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 2010-05-24 5:20 ` Carsten Dominik @ 2010-05-24 16:36 ` Thomas S. Dye 2010-05-25 3:38 ` Thomas S. Dye 1 sibling, 0 replies; 24+ messages in thread From: Thomas S. Dye @ 2010-05-24 16:36 UTC (permalink / raw) To: Carsten Dominik; +Cc: kmartino, emacs-orgmode Aloha Carsten, Thanks for looking into this. I'm trying to document the different ways to export part of an org file to LaTeX in the hope of augmenting the tutorial on Worg. I thought I understood the tag selection logic, so the results I got puzzled me. Now that I know the expected behavior, I'll look more closely to see why I'm not getting it. Hopefully, I'll be able to puzzle it through myself and won't have to pester you and the list with my idea of a minimal .emacs, etc. I appreciate your offer to take another look if I'm not successful. 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 > > > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 2010-05-24 5:20 ` Carsten Dominik 2010-05-24 16:36 ` Thomas S. Dye @ 2010-05-25 3:38 ` Thomas S. Dye 2010-05-25 3:50 ` Bernt Hansen 1 sibling, 1 reply; 24+ messages in thread From: Thomas S. Dye @ 2010-05-25 3:38 UTC (permalink / raw) To: Carsten Dominik; +Cc: kmartino, emacs-orgmode 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 > > > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 2010-05-25 3:38 ` Thomas S. Dye @ 2010-05-25 3:50 ` Bernt Hansen 2010-05-25 16:20 ` Thomas S. Dye 2010-05-26 18:42 ` Thomas S. Dye 0 siblings, 2 replies; 24+ messages in thread From: Bernt Hansen @ 2010-05-25 3:50 UTC (permalink / raw) To: Thomas S. Dye; +Cc: kmartino, emacs-orgmode, Carsten Dominik "Thomas S. Dye" <tsd@tsdye.com> writes: > Aloha Carsten, > > I think I need to know what is meant by "minimal .emacs." I have a minimal.emacs which is a stripped down .emacs that only has what I need to invoke org-mode for reproducing a problem. ,----[ minimal.emacs ] | (add-to-list 'load-path (expand-file-name "~/git/org-mode/lisp")) | (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . org-mode)) | (setq org-agenda-files '("/tmp/test.org")) | (require 'org-install) | (require 'org-habit) | | (global-set-key "\C-cl" 'org-store-link) | (global-set-key "\C-ca" 'org-agenda) | (global-set-key "\C-cb" 'org-iswitchb) `---- and I load this with emacs -Q -l ~/minimal.emacs. I'll normally edit it to add whatever is needed to reproduce the problem in org-mode. Using a stripped down minimal .emacs files removes broken custom settings as the cause of the issue and makes it easy to reproduce for other people. HTH, Bernt ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 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:26 ` Mark Elston 2010-05-26 18:42 ` Thomas S. Dye 1 sibling, 2 replies; 24+ messages in thread From: Thomas S. Dye @ 2010-05-25 16:20 UTC (permalink / raw) To: Bernt Hansen; +Cc: kmartino, emacs-orgmode, Carsten Dominik Thanks Bernt, So, "broken custom settings" appear to be the cause of the unexpected behavior. Two questions: 1) Do programmers have a name for this situation, where custom settings seemed to work perfectly for a long time but then failed noticeably with the introduction of new, correct code into the .emacs? 2) Is there a useful strategy for finding the minimal .emacs that illustrates the failure? I might have 100 customizations in the various starter kit configuration files. If combinations of customizations are a possibility, I'm looking at quite a bit of random experimentation without some kind of strategy. All the best, Tom On May 24, 2010, at 5:50 PM, Bernt Hansen wrote: > "Thomas S. Dye" <tsd@tsdye.com> writes: > >> Aloha Carsten, >> >> I think I need to know what is meant by "minimal .emacs." > > I have a minimal.emacs which is a stripped down .emacs that only has > what I need to invoke org-mode for reproducing a problem. > > ,----[ minimal.emacs ] > | (add-to-list 'load-path (expand-file-name "~/git/org-mode/lisp")) > | (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\) > $" . org-mode)) > | (setq org-agenda-files '("/tmp/test.org")) > | (require 'org-install) > | (require 'org-habit) > | > | (global-set-key "\C-cl" 'org-store-link) > | (global-set-key "\C-ca" 'org-agenda) > | (global-set-key "\C-cb" 'org-iswitchb) > `---- > > and I load this with emacs -Q -l ~/minimal.emacs. I'll normally > edit it > to add whatever is needed to reproduce the problem in org-mode. > > Using a stripped down minimal .emacs files removes broken custom > settings as the cause of the issue and makes it easy to reproduce for > other people. > > HTH, > Bernt ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Re: One org file, multiple exports, is it possible? 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 1 sibling, 2 replies; 24+ messages in thread From: Nick Dokos @ 2010-05-25 16:52 UTC (permalink / raw) To: Thomas S. Dye Cc: kmartino, Bernt Hansen, nicholas.dokos, emacs-orgmode, Carsten Dominik Thomas S. Dye <tsd@tsdye.com> wrote: > Thanks Bernt, > > So, "broken custom settings" appear to be the cause of the unexpected > behavior. Two questions: > > 1) Do programmers have a name for this situation, where custom > settings seemed to work perfectly for a long time but then failed > noticeably with the introduction of new, correct code into the .emacs? > I don't think so. > 2) Is there a useful strategy for finding the minimal .emacs that > illustrates the failure? I might have 100 customizations in the > various starter kit configuration files. If combinations of > customizations are a possibility, I'm looking at quite a bit of random > experimentation without some kind of strategy. > Bisection is about the only reasonable strategy, short of oracular guesswork. I have a single .emacs that's (mostly) a sequence of (conditional) loads/requires of individual package config files. I just comment out the whole thing, verify correct operation, and then uncomment out the first/second half and try again. With 100 packages, 7 cycles will get you down to a single package and then you just do the same thing within the package config file. Given a reproducer that you can run in batch mode, this goes fairly quickly. HTH, Nick ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Re: One org file, multiple exports, is it possible? 2010-05-25 16:52 ` Nick Dokos @ 2010-05-25 17:51 ` Thomas S. Dye 2010-05-28 3:40 ` Thomas S. Dye 1 sibling, 0 replies; 24+ messages in thread From: Thomas S. Dye @ 2010-05-25 17:51 UTC (permalink / raw) To: nicholas.dokos; +Cc: kmartino, Bernt Hansen, emacs-orgmode, Carsten Dominik Thanks Nick, I appreciate your frequent servings of sane advice. I don't think I have a batch mode reproducer in me, but bisection makes a lot of sense and the organization of the config files is somewhat logical so I do have a de facto bisection at hand. All the best, Tom On May 25, 2010, at 6:52 AM, Nick Dokos wrote: > Thomas S. Dye <tsd@tsdye.com> wrote: > >> Thanks Bernt, >> >> So, "broken custom settings" appear to be the cause of the unexpected >> behavior. Two questions: >> >> 1) Do programmers have a name for this situation, where custom >> settings seemed to work perfectly for a long time but then failed >> noticeably with the introduction of new, correct code into >> the .emacs? >> > > I don't think so. > >> 2) Is there a useful strategy for finding the minimal .emacs that >> illustrates the failure? I might have 100 customizations in the >> various starter kit configuration files. If combinations of >> customizations are a possibility, I'm looking at quite a bit of >> random >> experimentation without some kind of strategy. >> > > Bisection is about the only reasonable strategy, short of oracular > guesswork. I have a single .emacs that's (mostly) a sequence of > (conditional) loads/requires of individual package config files. I > just > comment out the whole thing, verify correct operation, and then > uncomment out the first/second half and try again. With 100 > packages, 7 > cycles will get you down to a single package and then you just do the > same thing within the package config file. Given a reproducer that you > can run in batch mode, this goes fairly quickly. > > HTH, > Nick ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Re: One org file, multiple exports, is it possible? 2010-05-25 16:52 ` Nick Dokos 2010-05-25 17:51 ` Thomas S. Dye @ 2010-05-28 3:40 ` Thomas S. Dye 1 sibling, 0 replies; 24+ messages in thread From: Thomas S. Dye @ 2010-05-28 3:40 UTC (permalink / raw) To: nicholas.dokos; +Cc: kmartino, Bernt Hansen, emacs-orgmode, Carsten Dominik Aloha all, The problems I described in this thread were apparently not due to "broken custom settings." After pulling the latest org-mode just now the problems are gone, even though the custom settings haven't changed. It's pleasing to regain some confidence in my non-minimal .emacs. Thanks to the programmers for your good efforts. All the best, Tom On May 25, 2010, at 6:52 AM, Nick Dokos wrote: > Thomas S. Dye <tsd@tsdye.com> wrote: > >> Thanks Bernt, >> >> So, "broken custom settings" appear to be the cause of the unexpected >> behavior. Two questions: >> >> 1) Do programmers have a name for this situation, where custom >> settings seemed to work perfectly for a long time but then failed >> noticeably with the introduction of new, correct code into >> the .emacs? >> > > I don't think so. > >> 2) Is there a useful strategy for finding the minimal .emacs that >> illustrates the failure? I might have 100 customizations in the >> various starter kit configuration files. If combinations of >> customizations are a possibility, I'm looking at quite a bit of >> random >> experimentation without some kind of strategy. >> > > Bisection is about the only reasonable strategy, short of oracular > guesswork. I have a single .emacs that's (mostly) a sequence of > (conditional) loads/requires of individual package config files. I > just > comment out the whole thing, verify correct operation, and then > uncomment out the first/second half and try again. With 100 > packages, 7 > cycles will get you down to a single package and then you just do the > same thing within the package config file. Given a reproducer that you > can run in batch mode, this goes fairly quickly. > > HTH, > Nick ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Re: One org file, multiple exports, is it possible? 2010-05-25 16:20 ` Thomas S. Dye 2010-05-25 16:52 ` Nick Dokos @ 2010-05-25 17:26 ` Mark Elston 2010-05-25 17:53 ` Thomas S. Dye 1 sibling, 1 reply; 24+ messages in thread From: Mark Elston @ 2010-05-25 17:26 UTC (permalink / raw) To: emacs-orgmode On 5/25/2010 9:20 AM, Thomas S. Dye wrote: > Thanks Bernt, > > So, "broken custom settings" appear to be the cause of the unexpected > behavior. Two questions: > > 1) Do programmers have a name for this situation, where custom settings > seemed to work perfectly for a long time but then failed noticeably with > the introduction of new, correct code into the .emacs? Well, in an organization I used to work at we called it 'bit rot' though it wasn't necessarily about Emacs ... :) Mark ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Re: One org file, multiple exports, is it possible? 2010-05-25 17:26 ` Mark Elston @ 2010-05-25 17:53 ` Thomas S. Dye 0 siblings, 0 replies; 24+ messages in thread From: Thomas S. Dye @ 2010-05-25 17:53 UTC (permalink / raw) To: Mark Elston; +Cc: emacs-orgmode Thanks Mark, That's evocative. Now I'm off to see how I let those bits rot. All the best, Tom On May 25, 2010, at 7:26 AM, Mark Elston wrote: > On 5/25/2010 9:20 AM, Thomas S. Dye wrote: >> Thanks Bernt, >> >> So, "broken custom settings" appear to be the cause of the unexpected >> behavior. Two questions: >> >> 1) Do programmers have a name for this situation, where custom >> settings >> seemed to work perfectly for a long time but then failed noticeably >> with >> the introduction of new, correct code into the .emacs? > > Well, in an organization I used to work at we called it 'bit rot' > though it wasn't necessarily about Emacs ... :) > > Mark > > _______________________________________________ > 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 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: One org file, multiple exports, is it possible? 2010-05-25 3:50 ` Bernt Hansen 2010-05-25 16:20 ` Thomas S. Dye @ 2010-05-26 18:42 ` Thomas S. Dye 2010-05-26 21:37 ` Nick Dokos 1 sibling, 1 reply; 24+ messages in thread From: Thomas S. Dye @ 2010-05-26 18:42 UTC (permalink / raw) To: Bernt Hansen; +Cc: kmartino, emacs-orgmode, Carsten Dominik Aloha all, First, many thanks to Carsten, Bernt, Nick and Mark for help with my recent publishing woes. After much semi-informed tinkering, I think I've isolated one problem. As background, this problem cropped up for me when I incorporated Karl Martino's setup for exporting parts of an org file to different targets. With the following minimal .emacs, org-publish-get-project-from- filename reports (wrong-type-argument stringp ("index.org")). This function is called when I select [P] publish current project from *Org Export/Publishing Help*. I've included a backtrace below. I discovered this behavior after I incorporated Karl's publication project into my lengthy org-publish-projects-alist. Then, I was unable to publish any of my projects using [P] publish current project. They all returned the same error-- (wrong-type-argument stringp ("index.org")). Hopefully, here follow the pertinent details: Org-mode version 6.36trans (release_6.36.96.g5b68) dk$ /Applications/emacs.app/Contents/MacOS/Emacs -Q -l ~/.minimal.emacs & ---- .minimal.emacs ----- (add-to-list 'load-path (expand-file-name "~/.emacs.d/src/org/lisp")) (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . org-mode)) (setq org-agenda-files '("/tmp/test.org")) (require 'org-install) (require 'org-habit) (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cb" 'org-iswitchb) ; going non-minimal here on (require 'org-publish) (setq org-publish-project-alist '( ; Karl Martino's setup modified for my paths ("work" :base-directory "~/org/temp/" :base-extension "org" :publishing-directory "~/org/temp/publish-work/" :publishing-function org-publish-org-to-latex :select-tags ("@WORK") :title "Work Notes" :include ("index.org") :exclude "\\.org$" ) )) ---- .minimal.emacs ----- Debugger entered--Lisp error: (wrong-type-argument stringp ("index.org")) string-match(("index.org") "/Users/dk/org/temp/index.org") (and i (string-match i filename)) (or (and i (string-match i filename)) (and (not ...) (string-match xm filename))) (if (or (and i ...) (and ... ...)) (progn (setq project-name ...) (throw ... project-name))) (when (or (and i ...) (and ... ...)) (setq project-name (car prj)) (throw (quote p-found) project-name)) (let* ((r ...) (b ...) (x ...) (e ...) (i ...) (xm ...)) (when (or ... ...) (setq project-name ...) (throw ... project-name))) (if (plist-get (cdr prj) :components) nil (let* (... ... ... ... ... ...) (when ... ... ...))) (unless (plist-get (cdr prj) :components) (let* (... ... ... ... ... ...) (when ... ... ...))) (while --cl-dolist-temp-- (setq prj (car --cl-dolist-temp--)) (unless (plist-get ... :components) (let* ... ...)) (setq --cl-dolist- temp-- (cdr --cl-dolist-temp--))) (let ((--cl-dolist-temp-- org-publish-project-alist) prj) (while -- cl-dolist-temp-- (setq prj ...) (unless ... ...) (setq --cl-dolist- temp-- ...)) nil) (catch (quote --cl-block-nil--) (let (... prj) (while --cl-dolist- temp-- ... ... ...) nil)) (cl-block-wrapper (catch (quote --cl-block-nil--) (let ... ... nil))) (block nil (let (... prj) (while --cl-dolist-temp-- ... ... ...) nil)) (dolist (prj org-publish-project-alist) (unless (plist- get ... :components) (let* ... ...))) (catch (quote p-found) (dolist (prj org-publish-project-alist) (unless ... ...))) (let* ((filename ...) project-name) (catch (quote p-found) (dolist ... ...)) (when up (dolist ... ...)) (assoc project-name org- publish-project-alist)) org-publish-get-project-from-filename("/Users/dk/org/temp/ index.org" up) (let ((project ...) (org-publish-use-timestamps-flag ...)) (if (not project) (error "File %s is not part of any known project" ...)) (org- publish project)) (save-window-excursion (let (... ...) (if ... ...) (org-publish project))) org-publish-current-project(nil) call-interactively(org-publish-current-project) (if (and bg (nth 2 ass) (not ...) (not ...)) (let (...) (set- process-sentinel p ...) (message "Background process \"%s\": started" p)) (if subtree-p (progn ... ...)) (call-interactively (nth 1 ass)) (when (and bpos ...) (let ... ... ... ... ...))) (let* ((bg ...) subtree-p (help "[t] insert the export option template\n[v] limit export to visible part of outline tree\n[1] only export the current subtree\n[SPC] publish enclosing subtree (with LaTeX_CLASS or EXPORT_FILE_NAME prop)\n\n[a/n/u] export as ASCII/ Latin-1/UTF-8 [A/N/U] to temporary buffer\n\n[h] export as HTML [H] to temporary buffer [R] export region\n[b] export as HTML and open in browser\n\n[l] export as LaTeX [L] to temporary buffer\n[p] export as LaTeX and process to PDF [d] ... and open PDF file\n\n[D] export as DocBook [V] export as DocBook, process to PDF, and open\n\n[m] export as Freemind mind map\n[x] export as XOXO\n[g] export using Wes Hardaker's generic exporter\n \n[i] export current file as iCalendar file\n[I] export all agenda files as iCalendar files [c] ...as one combined file\n\n[F] publish current file [P] publish current project\n[X] publish a project... [E] publish every projects") (cmds ...) r1 r2 ass (cpos ...) (cbuf ...) bpos) (save-excursion (save-window- excursion ... ... ... ... ... ... ...)) (and bpos (goto-char bpos)) (setq r2 (if ... ... r1)) (unless (setq ass ...) (error "No command associated with key %c" r1)) (if (and bg ... ... ...) (let ... ... ...) (if subtree-p ...) (call-interactively ...) (when ... ...))) org-export(nil) call-interactively(org-export nil nil) All the best, Tom On May 24, 2010, at 5:50 PM, Bernt Hansen wrote: > "Thomas S. Dye" <tsd@tsdye.com> writes: > >> Aloha Carsten, >> >> I think I need to know what is meant by "minimal .emacs." > > I have a minimal.emacs which is a stripped down .emacs that only has > what I need to invoke org-mode for reproducing a problem. > > ,----[ minimal.emacs ] > | (add-to-list 'load-path (expand-file-name "~/git/org-mode/lisp")) > | (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\) > $" . org-mode)) > | (setq org-agenda-files '("/tmp/test.org")) > | (require 'org-install) > | (require 'org-habit) > | > | (global-set-key "\C-cl" 'org-store-link) > | (global-set-key "\C-ca" 'org-agenda) > | (global-set-key "\C-cb" 'org-iswitchb) > `---- > > and I load this with emacs -Q -l ~/minimal.emacs. I'll normally > edit it > to add whatever is needed to reproduce the problem in org-mode. > > Using a stripped down minimal .emacs files removes broken custom > settings as the cause of the issue and makes it easy to reproduce for > other people. > > HTH, > Bernt ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Re: One org file, multiple exports, is it possible? 2010-05-26 18:42 ` Thomas S. Dye @ 2010-05-26 21:37 ` Nick Dokos 2010-05-26 22:28 ` Thomas S. Dye 0 siblings, 1 reply; 24+ messages in thread From: Nick Dokos @ 2010-05-26 21:37 UTC (permalink / raw) To: Thomas S. Dye Cc: kmartino, Bernt Hansen, nicholas.dokos, emacs-orgmode, Carsten Dominik Thomas S. Dye <tsd@tsdye.com> wrote: > ("work" > :base-directory "~/org/temp/" > :base-extension "org" > :publishing-directory "~/org/temp/publish-work/" > :publishing-function org-publish-org-to-latex > :select-tags ("@WORK") > :title "Work Notes" > :include ("index.org") <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > :exclude "\\.org$" > ) > )) > ---- .minimal.emacs ----- > > Debugger entered--Lisp error: (wrong-type-argument stringp > ("index.org")) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< This is complaining that ``("index.org")'' is not a string, and indeed it isn't: it's a list with one element. Should the :include line above be :include "index.org" perhaps? But I'm shooting from the hip here, so take it with the appropriate grain of salt. Nick ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Re: One org file, multiple exports, is it possible? 2010-05-26 21:37 ` Nick Dokos @ 2010-05-26 22:28 ` Thomas S. Dye 2010-05-27 1:40 ` Nick Dokos 0 siblings, 1 reply; 24+ messages in thread From: Thomas S. Dye @ 2010-05-26 22:28 UTC (permalink / raw) To: nicholas.dokos; +Cc: kmartino, Bernt Hansen, emacs-orgmode, Carsten Dominik [-- Attachment #1.1: Type: text/plain, Size: 2711 bytes --] On May 26, 2010, at 11:37 AM, Nick Dokos wrote: > Thomas S. Dye <tsd@tsdye.com> wrote: > > >> ("work" >> :base-directory "~/org/temp/" >> :base-extension "org" >> :publishing-directory "~/org/temp/publish-work/" >> :publishing-function org-publish-org-to-latex >> :select-tags ("@WORK") >> :title "Work Notes" >> :include ("index.org") <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >> :exclude "\\.org$" >> ) >> )) >> ---- .minimal.emacs ----- >> >> Debugger entered--Lisp error: (wrong-type-argument stringp >> ("index.org")) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > > This is complaining that ``("index.org")'' is not a string, and indeed > it isn't: it's a list with one element. Should the :include line above > be > > :include "index.org" > > perhaps? But I'm shooting from the hip here, so take it with the > appropriate > grain of salt. > > Nick Hi Nick, The documentation for org-publish-projects-alist suggests that :include wants a list: > The :include property may be used to include extra files. Its > value may be a list of filenames to include. The filenames are > considered relative to the base directory. When I tried :include "index.org" I got this: Debugger entered--Lisp error: (wrong-type-argument sequencep 105) concat("~/org/temp/" 105) (expand-file-name (concat base-dir f)) ... I'm not going to pretend I know what I'm talking about here, but AFAICT the variable i in the following code needs some attention before it goes to string-match. According to the documentation, plist- get just returns the value assigned to a property (or nil) without doing anything to it, so i should be a list when it is passed to string-match. string-match wants REGEXP here, apparently not as a list. I couldn't persuade emacs to cough up the definition of REGEXP, but my brief forays into the emacs and org-mode source code lead me to believe it is probably a string. > (defun org-publish-get-project-from-filename (filename &optional up) > "Return the project FILENAME belongs." > (let* ((filename (expand-file-name filename)) > project-name) > > (catch 'p-found > (dolist (prj org-publish-project-alist) > (unless (plist-get (cdr prj) :components) > ;; [[info:org:Selecting%20files]] shows how this is supposed to > work: > (let* ((r (plist-get (cdr prj) :recursive)) > (b (expand-file-name (plist-get (cdr prj) :base-directory))) > (x (plist-get (cdr prj) :base-extension)) > (e (plist-get (cdr prj) :exclude)) > (i (plist-get (cdr prj) :include)) > (xm (concat "^" b (if r ".+" "[^/]+") "\\.\\(" x "\\)$"))) > (when (or > (and i (string-match i filename)) All the best, Tom [-- Attachment #1.2: Type: text/html, Size: 7401 bytes --] [-- Attachment #2: Type: text/plain, Size: 201 bytes --] _______________________________________________ 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 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: Re: One org file, multiple exports, is it possible? 2010-05-26 22:28 ` Thomas S. Dye @ 2010-05-27 1:40 ` Nick Dokos 0 siblings, 0 replies; 24+ messages in thread From: Nick Dokos @ 2010-05-27 1:40 UTC (permalink / raw) To: Thomas S. Dye Cc: Bernt Hansen, nicholas.dokos, kmartino, emacs-orgmode, Carsten Dominik Thomas S. Dye <tsd@tsdye.com> wrote: > On May 26, 2010, at 11:37 AM, Nick Dokos wrote: > ... > perhaps? But I'm shooting from the hip here, so take it with the appropriate > grain of salt. > > > Hi Nick, > > The documentation for org-publish-projects-alist suggests that :include wants a list: > > The :include property may be used to include extra files. Its > value may be a list of filenames to include. The filenames are > considered relative to the base directory. > > When I tried :include "index.org" I got this: > > Debugger entered--Lisp error: (wrong-type-argument sequencep 105) > concat("~/org/temp/" 105) > (expand-file-name (concat base-dir f)) > ... > Yep, shot from the hip and hit my foot. You are right. > I'm not going to pretend I know what I'm talking about here, but AFAICT the variable i in the following code needs some attention before it goes to > string-match. According to the documentation, plist-get just returns the value assigned to a property (or nil) without doing anything to it, so i > should be a list when it is passed to string-match. string-match wants REGEXP here, apparently not as a list. I couldn't persuade emacs to cough up > the definition of REGEXP, but my brief forays into the emacs and org-mode source code lead me to believe it is probably a string. > > (defun org-publish-get-project-from-filename (filename &optional up) > "Return the project FILENAME belongs." > (let* ((filename (expand-file-name filename)) > project-name) > > (catch 'p-found > (dolist (prj org-publish-project-alist) > (unless (plist-get (cdr prj) :components) > ;; [[info:org:Selecting%20files]] shows how this is supposed to work: > (let* ((r (plist-get (cdr prj) :recursive)) > (b (expand-file-name (plist-get (cdr prj) :base-directory))) > (x (plist-get (cdr prj) :base-extension)) > (e (plist-get (cdr prj) :exclude)) > (i (plist-get (cdr prj) :include)) > (xm (concat "^" b (if r ".+" "[^/]+") "\\.\\(" x "\\)$"))) > (when (or > (and i (string-match i filename)) > I think you are right that there is a problem here. Here is an excerpt from the relevant commit: ,---- | commit 339d6fe4bbf7b9858c6323d01f32d0c73a4cd3a8 | Author: Sebastian Rose <sebastian_rose@gmx.de> | Date: Thu May 13 13:43:53 2010 +0200 | | Publishing, cashing and timestamps | | Carsten Dominik <carsten.dominik@gmail.com> writes: | > Hi Sebastian, | > | > sorry for being slow. Could you do me a favor and send me the cache patch one | > more time - if possible updated to the current master. | > | > I am just not sure I have the right patch in my hands. | | Hi Carsten, | | no problem. The patch is attached. | | Here is a list of my ChangeLog entries, redated to today: | | 2010-05-13 Sebastian Rose <sebastian_rose@gmx.de> | | ... | | * org-publish.el (org-publish-get-project-from-filename) does | not depend on a list of files anymore. Instead of laoding all | files of all, we walk `org-publish-project-alist' until we | find a project, where the properties :base-directory, :recursive, | :base-extension, :include and :exclude match. | | ... `---- Maybe Sebastian (I added him to the CC:) can take a look? Thanks, Nick ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2010-05-28 3:41 UTC | newest] Thread overview: 24+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 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
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).