emacs-orgmode
[Top][All Lists]
Advanced

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

Re: no syntax highlighting for code blocks with org-publish


From: M. Pger
Subject: Re: no syntax highlighting for code blocks with org-publish
Date: Mon, 18 Jul 2022 08:57:38 +0000

Thank you for your answer. Here it is:

1. Create the following directory structure (3 directories):
~/test/
├── content
├── html
└── .packages

2. Create the .el script to build the website (=~/test/build.el=):

#+begin_src elisp
  ;; * Set the package installation directory (in order not to overwrite the 
standard ~/emacs.d)
  (require 'package)
  (setq package-user-dir (expand-file-name "./.packages"))
  (setq package-archives '(("melpa" . "https://melpa.org/packages/";)))
  (add-to-list 'package-archives '("elpa" . "https://elpa.gnu.org/packages/";))

  ;; * Initialize the package system
  (package-initialize)
  (unless package-archive-contents
    (package-refresh-contents))

  ;; * Install dependencies
  ;; ** since org is builtin, by default Emacs does not try to install the 
latest version from Elpa (9.5.4)
  ;; the following solves the issue:
  (defun mpger-ignore-builtin (pkg)
    (assq-delete-all pkg package--builtins)
    (assq-delete-all pkg package--builtin-versions))
  (mpger-ignore-builtin 'org)
  ;; ** install packages:
  (package-install 'org)
  (package-install 'htmlize)

  ;; * Load the publishing system:
  (require 'org)
  (require 'htmlize)
  (require 'ox-publish)

  ;; * Define the project
  (setq org-publish-project-alist
        (list
         (list "pages"
               :recursive t
               :htmlized-source t
               :base-directory "./content/"
               :base-extension "org"
               :publishing-directory "./html/"
               :publishing-function 'org-html-publish-to-html
               :with-creator t
               :with-toc t
               :section-numbers nil
               :time-stamp-file nil)
         ))

  ;; * Generate the site output
  (org-publish-all t)

  (message "Done!")
#+end_src

3. In =~/test/content/=, create a simple test.org file to be published as html 
(=~/test/content/test.org=):

#+begin_example
* Here's some text

Lorem ipsum.

* Here's some code

#+begin_src R :results output :exports both
  df <- mtcars ## a comment
  library(parallel)
#+end_src
#+end_example

4. Run =~/test/build.el= (e.g. with ~emacs -Q --script ~/test/build.el~) and 
compare with the output from ~C-c C-e h o~. The latter has syntax highlighting, 
the former has not.

Best,

M





------- Original Message -------
On Monday, July 18th, 2022 at 1:42 AM, Ihor Radchenko <yantar92@gmail.com> 
wrote:


> "M. Pger" mpger@protonmail.com writes:
>
> > While syntax highlighting for code blocks is correctly implemented when I 
> > export a Org document with M-x org-html-export-to-html, it does not work 
> > when the same document is exported as part of an org-publish project 
> > defined using org-publish-project-alist.
> >
> > Org-version: 9.5.4 (also tried with 9.5.2)
> > Htmlize-version: 1.57
> >
> > Note that including :htmlized-source t does not solve the problem.
> >
> > Any idea of what's happening?
>
>
> May you provide an example reproducer?
>
> Best,
> Ihor



reply via email to

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