emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] org-faq.org: rename org-export-htmlize-* options to org-html


From: Ihor Radchenko
Subject: Re: [PATCH] org-faq.org: rename org-export-htmlize-* options to org-html-htmlize-*
Date: Fri, 05 Apr 2024 13:58:18 +0000

Rudolf Adamkovič <rudolf@adamkovic.org> writes:

> While you are on it, ...
> ...

See the attached updated patch.

>From b4942ba19db7e7b2c250e3dc2c5b0c6b6b7346d0 Mon Sep 17 00:00:00 2001
Message-ID: 
<b4942ba19db7e7b2c250e3dc2c5b0c6b6b7346d0.1712325451.git.yantar92@posteo.net>
From: Ihor Radchenko <yantar92@posteo.net>
Date: Thu, 4 Apr 2024 14:22:01 +0300
Subject: [PATCH v2] org-faq.org (How can I preserve faces...): Update answer

* org-faq.org (How can I preserve faces when I export an agenda from
the command line?): Fix the answer, making sure that the instructions
actually work on the latest Org mode.

Link: 
https://list.orgmode.org/orgmode/PS2P216MB113830307EE638A1FF044F55A024A@PS2P216MB1138.KORP216.PROD.OUTLOOK.COM/
---
 org-faq.org | 51 +++++++++++++++++++++++++++++----------------------
 1 file changed, 29 insertions(+), 22 deletions(-)

diff --git a/org-faq.org b/org-faq.org
index 3674165c..97c85c23 100644
--- a/org-faq.org
+++ b/org-faq.org
@@ -3643,41 +3643,48 @@ ** How can I preserve faces when I export an agenda 
from the command line?
 #+index: Export!Agenda
 #+index: Export!Faces
 
-Normally, when you export an org file or an agenda view from within
-emacs, htmlize will convert your face definitions to direct color css
-styles inlined into each =<span>= object, resulting in an HTML output
-that preserves the general look of your Org buffers and agenda views.
+Normally, when you export an agenda view from within Emacs, htmlize
+will convert your face definitions to direct color CSS styles inlined
+into each =<span>= object, resulting in an HTML output that preserves
+the general look of your Org buffers and agenda views.
 
 Let's say you generate an export from the command line, such as the
 following:
 
-: emacs -batch -l ~/.emacs -eval '(org-batch-agenda "e")'
-
-or
-
-: emacs -batch -l ~/.emacs -eval '(org-publish-all)'
+: emacs -batch -l ~/.emacs.d/init.el \
+: -eval '(progn \
+:         (org-agenda nil "a") \
+:         (org-agenda-write "~/agenda.html"))'
 
 In such an instance, the exported HTML will contain only very basic
 color styles. The reason is that when Emacs is run in batch mode, it
 does not have a display and therefore only rudimentary face
 definitions.  If you'd like to use more complex styles, you'll have to
-make sure that the export process only assigns classes instead of
-direct color values.  This can be done by binding the variable
-=org-export-htmlize-output-style= to =css= for the duration of the
-export, for example with
-
-: emacs -batch -l ~/.emacs
-:   -eval '(let ((org-export-htmlize-generate-css (quote css)))
-:            (org-batch-agenda "e"))'
+supply custom CSS styles to make these classes look any way you like.
+To generate face definitions for a CSS file based on any faces you are
+currently using in Emacs, you can use the following command:
 
-Then you can use a style file to make these classes look any way you
-like.  To generate face definitions for a CSS file based on any faces
-you are currently using in Emacs, you can use the following command:
+#+begin_src emacs-lisp
+(defun org-html-htmlize-generate-css-for-agenda ()
+  "Create the CSS for all font definitions in the current Emacs session.
+Unlike `org-html-htmlize-generate-css', do not prepend
+`org-html-htmlize-font-prefix' to face names."
+  (interactive)
+  (require 'ox-html)
+  (let ((org-html-htmlize-font-prefix ""))
+    (org-html-htmlize-generate-css)))
+#+end_src
 
-: M-x org-export-htmlize-generate-css RET
+: M-x org-html-htmlize-generate-css-for-agenda RET
 
 This will generate a =<style>...</style>= section, the content of
-which you can add to your style file.
+which you can manually copy to your style file:
+
+: emacs -batch -l ~/.emacs.d/init.el \
+: -eval '(let ((org-agenda-export-html-style \
+:               "<link rel=\"stylesheet\" type=\"text/css\" 
href=\"mystyles.css\">")) \
+:         (org-agenda nil "a") \
+:         (org-agenda-write "~/agenda.html"))'
 
 ** How can I avoid dark color background when exporting agenda to ps format?
    :PROPERTIES:
-- 
2.44.0

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]