Re: [Orgmode] Name of file being exported.

2009-04-14 Thread Carsten Dominik

Hi,

On Apr 14, 2009, at 4:22 AM, Noufal Ibrahim wrote:


[apologies if this is a repost. I was not on the list]

Hello everyone,
  I'm a recent org-mode convert (after hearing the talk) and without  
question, it's one of the best things I've ever used. Thank you for  
making such a wonderful program.


  However, org-mode and emacs being what they are, I'm tempted to  
try and customise it to do more. :)


  I'm trying a simple trick to insert the version control history of  
my current file formatted as a table when I export the org file into  
HTML or ascii. I need this to track changes to design documents etc.


  I'm using dynamic blocks to do this and have a function defined to  
insert the output of


git log --pretty='format:|%ad|%s|' (buffer-file-name)

into the block.

  This works fine if I run org-update-all-dblocks from the org  
buffer itself manually. If I export it however, (buffer-file-name)  
returns a null string so I get the entire log of my repository which  
is not what I want.


In what way are you calling the update of dblocks during export?  Have  
you added a function to this effect to a hook?  Which function?  To  
which hook?


- Carsten




  Is there a way to get the buffer/file which is being exported so  
that I can use that in the command rather than buffer-file-name?


  Thanks in advance and for such an awesome mode.

--
~noufal
http://nibrahim.net.in/


___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode




___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Name of file being exported

2009-04-14 Thread Noufal Ibrahim

Hello everyone,
   I'm a recent org-mode convert (after hearing the talk) and without 
question, it's one of the best things I've ever used. Thank you for 
making such a wonderful program.


   However, org-mode and emacs being what they are, I'm tempted to try 
and customise it to do more. :)


   I'm trying a simple trick to insert the version control history of 
my current file formatted as a table when I export the org file into 
HTML or ascii. I need this to track changes to design documents etc.


   I'm using dynamic blocks to do this and have a function defined to 
insert the output of


git log --pretty='format:|%ad|%s|' (buffer-file-name)

into the block.

   This works fine if I run org-update-all-dblocks from the org buffer 
itself manually. If I export it however, (buffer-file-name) returns a 
null string so I get the entire log of my repository which is not what I 
want.


   Is there a way to get the buffer/file which is being exported so 
that I can use that in the command rather than buffer-file-name?


   Thanks in advance and for such an awesome mode.


--
~noufal
http://nibrahim.net.in/


___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Name of file being exported.

2009-04-14 Thread Noufal Ibrahim

Carsten Dominik wrote:
[..]
In what way are you calling the update of dblocks during export?  Have 
you added a function to this effect to a hook?  Which function?  To 
which hook?

[..]

Hello Carsten,
  I have done this
(add-hook 'org-export-preprocess-hook 'org-update-all-dblocks)

  Is this not the right hook to add the function to?

Thanks
--
~noufal
http://nibrahim.net.in/


___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Name of file being exported.

2009-04-14 Thread Nick Dokos
Noufal Ibrahim nou...@nibrahim.net.in wrote:

 Carsten Dominik wrote:
 [..]
  In what way are you calling the update of dblocks during export?
  Have you added a function to this effect to a hook?  Which function?
  To which hook?
 [..]
 
 Hello Carsten,
   I have done this
 (add-hook 'org-export-preprocess-hook 'org-update-all-dblocks)
 
   Is this not the right hook to add the function to?
 

I don't know how Carsten will address this, but it seems that the running
of the org-export-preprocess-hook is done too late for your purposes (from
inside org-export-preprocess-string and inside a

   (with-current-buffer (get-buffer-create  org-mode-tmp)
  ...

construct, where there is no buffer file name).

Can you run org-update-all-dblocks by hand before doing the export?  That should
update the org file and the export should then have all the right
information, no? If so, you can even automate the process by advising
org-export, so that org-update-all-dblocks is run before org-export
proper is called. [1]

HTH,
Nick


[1] Disclaimer: I have not tried it, so no warranty...



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Name of file being exported.

2009-04-14 Thread Nick Dokos
Noufal Ibrahim nou...@nibrahim.net.in wrote:

 Hi Nick,
 
 Nick Dokos wrote:
 [..]
 
  Can you run org-update-all-dblocks by hand before doing the export?  
 
 That's possible. What I do now is to to add the
 org-update-all-dbblocks to write-file-hooks as suggested by the info
 pages.
 
 This works for me but there are times when I export directly without
 saving and I'd like the block to get updated then too.
 
  If so, you can even automate the process by advising
  org-export, so that org-update-all-dblocks is run before org-export
  proper is called. [1]
 
 This sounds better. I shall try this. Although I'm wondering if there
 isn't a hook that I can add a function to manage what I want.
 

Maybe this will work: the current buffer-file-name is saved in
org-export-as-html (and I assume in the other export routines) in a
dynamically scoped variable called org-current-export-file. The value of
that variable should be available in the hook as well. So instead of
(buffer-file-name), you probably want to say

(or (buffer-file-name) org-current-export-file)

That way, your updater can be called both from inside and outside
the export functions.

HTH,
Nick



___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Name of file being exported.

2009-04-14 Thread Carsten Dominik


On Apr 14, 2009, at 8:26 PM, Nick Dokos wrote:


Noufal Ibrahim nou...@nibrahim.net.in wrote:


Hi Nick,

Nick Dokos wrote:
[..]


Can you run org-update-all-dblocks by hand before doing the export?


That's possible. What I do now is to to add the
org-update-all-dbblocks to write-file-hooks as suggested by the info
pages.

This works for me but there are times when I export directly without
saving and I'd like the block to get updated then too.


If so, you can even automate the process by advising
org-export, so that org-update-all-dblocks is run before org-export
proper is called. [1]


This sounds better. I shall try this. Although I'm wondering if there
isn't a hook that I can add a function to manage what I want.



Maybe this will work: the current buffer-file-name is saved in
org-export-as-html (and I assume in the other export routines) in a
dynamically scoped variable called org-current-export-file. The  
value of

that variable should be available in the hook as well. So instead of
(buffer-file-name), you probably want to say

   (or (buffer-file-name) org-current-export-file)

That way, your updater can be called both from inside and outside
the export functions.



Great solution.

We could also introduce a new hook which is run before export.  However,
for the functionality discussed here, I think that before-save-hook  
would

be a very good place too.

- Carsten






HTH,
Nick





___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


[Orgmode] Name of file being exported.

2009-04-13 Thread Noufal Ibrahim

[apologies if this is a repost. I was not on the list]

Hello everyone,
   I'm a recent org-mode convert (after hearing the talk) and without 
question, it's one of the best things I've ever used. Thank you for 
making such a wonderful program.


   However, org-mode and emacs being what they are, I'm tempted to try 
and customise it to do more. :)


   I'm trying a simple trick to insert the version control history of 
my current file formatted as a table when I export the org file into 
HTML or ascii. I need this to track changes to design documents etc.


   I'm using dynamic blocks to do this and have a function defined to 
insert the output of


git log --pretty='format:|%ad|%s|' (buffer-file-name)

into the block.

   This works fine if I run org-update-all-dblocks from the org buffer 
itself manually. If I export it however, (buffer-file-name) returns a 
null string so I get the entire log of my repository which is not what I 
want.


   Is there a way to get the buffer/file which is being exported so 
that I can use that in the command rather than buffer-file-name?


   Thanks in advance and for such an awesome mode.

--
~noufal
http://nibrahim.net.in/


___
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode