emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* backend specific preprocess hook
@ 2011-08-08 14:28 suvayu ali
  2011-08-18 17:17 ` Bastien
  0 siblings, 1 reply; 4+ messages in thread
From: suvayu ali @ 2011-08-08 14:28 UTC (permalink / raw)
  To: org-mode mailing list

Hello Orgers,

I wanted to do some preprocessing based on headline tags (set some
properties), before export[1]. But I want to do this only for specific
backends (html/latex). How can I achieve this?

Footnotes:

[1] IIUC I have to customise the `org-export-preprocess-hook'?

-- 
Suvayu

Open source is the future. It sets us free.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: backend specific preprocess hook
  2011-08-08 14:28 backend specific preprocess hook suvayu ali
@ 2011-08-18 17:17 ` Bastien
  2011-08-18 22:03   ` suvayu ali
  0 siblings, 1 reply; 4+ messages in thread
From: Bastien @ 2011-08-18 17:17 UTC (permalink / raw)
  To: suvayu ali; +Cc: org-mode mailing list

Hi Suvayu,

suvayu ali <fatkasuvayu+linux@gmail.com> writes:

> I wanted to do some preprocessing based on headline tags (set some
> properties), before export[1]. But I want to do this only for specific
> backends (html/latex). How can I achieve this?

Yes.

> [1] IIUC I have to customise the `org-export-preprocess-hook'?

Yes, and test against `org-export-current-backend' to see whether you
are exporting to HTML or LaTeX.

HTH,

-- 
 Bastien

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: backend specific preprocess hook
  2011-08-18 17:17 ` Bastien
@ 2011-08-18 22:03   ` suvayu ali
  2011-08-19  7:46     ` Bastien
  0 siblings, 1 reply; 4+ messages in thread
From: suvayu ali @ 2011-08-18 22:03 UTC (permalink / raw)
  To: Bastien; +Cc: org-mode mailing list

Hi Bastien,

On Thu, Aug 18, 2011 at 7:17 PM, Bastien <bzg@altern.org> wrote:
>> [1] IIUC I have to customise the `org-export-preprocess-hook'?
>
> Yes, and test against `org-export-current-backend' to see whether you
> are exporting to HTML or LaTeX.

I have this working now. Works great. I should have reported back with
my solution:


(defun my-org-export-preprocess-hook ()
  "My backend specific export preprocess hook."
  (save-excursion
    (if (eq org-export-current-backend 'latex)
	(let* ((tag "ignoreheading"))         ; Thanks to Nick for this
	  (org-map-entries (lambda ()
			     (delete-region (point-at-bol) (point-at-eol)))
			   (concat ":" tag ":"))))
    (if (eq org-export-current-backend 'html)
	(let* ((match "Qn"))
	  (org-map-entries (lambda ()
			     (org-set-property "HTML_CONTAINER_CLASS"
					       "question"))
			   match)))))

(add-hook 'org-export-preprocess-hook 'my-org-export-preprocess-hook)


The html customisation is incomplete for the moment (for the lack of
time :-p). My goal is to have custom styles for headlines tagged with
"Qn" (unanswered questions) and "QnA" (questions with complete
answers).

Actually I was also hoping to colour code my latex export based on a
similar philosophy using \todo[inline] and PROPERTIES. But I haven't
had the time to investigate the possibilities yet. I will put it on
Worg if I do manage to figure it out. :)

-- 
Suvayu

Open source is the future. It sets us free.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: backend specific preprocess hook
  2011-08-18 22:03   ` suvayu ali
@ 2011-08-19  7:46     ` Bastien
  0 siblings, 0 replies; 4+ messages in thread
From: Bastien @ 2011-08-19  7:46 UTC (permalink / raw)
  To: suvayu ali; +Cc: org-mode mailing list

suvayu ali <fatkasuvayu+linux@gmail.com> writes:

> I have this working now. Works great. I should have reported back with
> my solution:

Thanks for sharing!

-- 
 Bastien

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-08-19  7:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-08 14:28 backend specific preprocess hook suvayu ali
2011-08-18 17:17 ` Bastien
2011-08-18 22:03   ` suvayu ali
2011-08-19  7:46     ` Bastien

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