kaushalmodi / ox-hugo

A carefully crafted Org exporter back-end for Hugo
https://ox-hugo.scripter.co
GNU General Public License v3.0
867 stars 130 forks source link

`#+toc: headlines 1` breaks when no headers are present #679

Closed RagnarGrootKoerkamp closed 1 year ago

RagnarGrootKoerkamp commented 1 year ago

Actual Behavior

When exporting an org file with #+toc: headlines 1 that does not contain any header (line starting with *), the following error is raised:

Wrong type argument: char-or-string-p, nil

The export does not continue.

This breaks for any non-zero number after headlines. With headlines 0 it works.

Expected Behavior

The export works, and no TOC is exported, similar to the current working behavior with #+toc: headlines 0.

How to Reproduce the Issue

Example Org File

#+title: Title
#+HUGO_BASE_DIR: .
#+toc: headlines 1

Generated Markdown File or Error

Wrong type argument: char-or-string-p, nil

Ox-Hugo Debug Information

Debug Info # Debug information for `ox-hugo` ## Emacs Version GNU Emacs 28.1.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.17.6) of 2022-05-18 (commit 3ddccb531ded81fd81e76494d043323d5785db8f) ## Org Version Org mode version 9.6 (9.6-??-bed47b437 @ /home/philae/.config/emacs/.local/straight/build-28.1.50/org/) ## Hugo Version hugo v0.104.3+extended linux/amd64 BuildDate=unknown ### Org `load-path` shadows **Warning**: Possible mixed installation of Org /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-datetree hides /usr/share/emacs/28.1.50/lisp/org/org-datetree /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-latex hides /usr/share/emacs/28.1.50/lisp/org/ox-latex /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-processing hides /usr/share/emacs/28.1.50/lisp/org/ob-processing /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-ctags hides /usr/share/emacs/28.1.50/lisp/org/org-ctags /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-odt hides /usr/share/emacs/28.1.50/lisp/org/ox-odt /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-gnuplot hides /usr/share/emacs/28.1.50/lisp/org/ob-gnuplot /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-scheme hides /usr/share/emacs/28.1.50/lisp/org/ob-scheme /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-beamer hides /usr/share/emacs/28.1.50/lisp/org/ox-beamer /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-java hides /usr/share/emacs/28.1.50/lisp/org/ob-java /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-lisp hides /usr/share/emacs/28.1.50/lisp/org/ob-lisp /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-groovy hides /usr/share/emacs/28.1.50/lisp/org/ob-groovy /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-ref hides /usr/share/emacs/28.1.50/lisp/org/ob-ref /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-colview hides /usr/share/emacs/28.1.50/lisp/org/org-colview /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-matlab hides /usr/share/emacs/28.1.50/lisp/org/ob-matlab /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-archive hides /usr/share/emacs/28.1.50/lisp/org/org-archive /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-eval hides /usr/share/emacs/28.1.50/lisp/org/ob-eval /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-ditaa hides /usr/share/emacs/28.1.50/lisp/org/ob-ditaa /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox hides /usr/share/emacs/28.1.50/lisp/org/ox /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-ruby hides /usr/share/emacs/28.1.50/lisp/org/ob-ruby /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-compat hides /usr/share/emacs/28.1.50/lisp/org/org-compat /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-bbdb hides /usr/share/emacs/28.1.50/lisp/org/ol-bbdb /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-timer hides /usr/share/emacs/28.1.50/lisp/org/org-timer /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-lilypond hides /usr/share/emacs/28.1.50/lisp/org/ob-lilypond /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-icalendar hides /usr/share/emacs/28.1.50/lisp/org/ox-icalendar /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-man hides /usr/share/emacs/28.1.50/lisp/org/ox-man /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-table hides /usr/share/emacs/28.1.50/lisp/org/ob-table /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-id hides /usr/share/emacs/28.1.50/lisp/org/org-id /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-capture hides /usr/share/emacs/28.1.50/lisp/org/org-capture /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-attach-git hides /usr/share/emacs/28.1.50/lisp/org/org-attach-git /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-sql hides /usr/share/emacs/28.1.50/lisp/org/ob-sql /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-irc hides /usr/share/emacs/28.1.50/lisp/org/ol-irc /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-feed hides /usr/share/emacs/28.1.50/lisp/org/org-feed /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-doi hides /usr/share/emacs/28.1.50/lisp/org/ol-doi /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-ocaml hides /usr/share/emacs/28.1.50/lisp/org/ob-ocaml /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol hides /usr/share/emacs/28.1.50/lisp/org/ol /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-org hides /usr/share/emacs/28.1.50/lisp/org/ox-org /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-src hides /usr/share/emacs/28.1.50/lisp/org/org-src /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-awk hides /usr/share/emacs/28.1.50/lisp/org/ob-awk /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-list hides /usr/share/emacs/28.1.50/lisp/org/org-list /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-comint hides /usr/share/emacs/28.1.50/lisp/org/ob-comint /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-haskell hides /usr/share/emacs/28.1.50/lisp/org/ob-haskell /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-goto hides /usr/share/emacs/28.1.50/lisp/org/org-goto /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-sqlite hides /usr/share/emacs/28.1.50/lisp/org/ob-sqlite /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-python hides /usr/share/emacs/28.1.50/lisp/org/ob-python /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-fortran hides /usr/share/emacs/28.1.50/lisp/org/ob-fortran /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-lint hides /usr/share/emacs/28.1.50/lisp/org/org-lint /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-eshell hides /usr/share/emacs/28.1.50/lisp/org/ob-eshell /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-inlinetask hides /usr/share/emacs/28.1.50/lisp/org/org-inlinetask /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-docview hides /usr/share/emacs/28.1.50/lisp/org/ol-docview /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-habit hides /usr/share/emacs/28.1.50/lisp/org/org-habit /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-macro hides /usr/share/emacs/28.1.50/lisp/org/org-macro /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-num hides /usr/share/emacs/28.1.50/lisp/org/org-num /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-sass hides /usr/share/emacs/28.1.50/lisp/org/ob-sass /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-gnus hides /usr/share/emacs/28.1.50/lisp/org/ol-gnus /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-mobile hides /usr/share/emacs/28.1.50/lisp/org/org-mobile /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-octave hides /usr/share/emacs/28.1.50/lisp/org/ob-octave /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-julia hides /usr/share/emacs/28.1.50/lisp/org/ob-julia /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-element hides /usr/share/emacs/28.1.50/lisp/org/org-element /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-protocol hides /usr/share/emacs/28.1.50/lisp/org/org-protocol /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-koma-letter hides /usr/share/emacs/28.1.50/lisp/org/ox-koma-letter /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-keys hides /usr/share/emacs/28.1.50/lisp/org/org-keys /home/philae/.config/emacs/.local/straight/build-28.1.50/org/oc-biblatex hides /usr/share/emacs/28.1.50/lisp/org/oc-biblatex /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-perl hides /usr/share/emacs/28.1.50/lisp/org/ob-perl /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-C hides /usr/share/emacs/28.1.50/lisp/org/ob-C /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-texinfo hides /usr/share/emacs/28.1.50/lisp/org/ox-texinfo /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-clock hides /usr/share/emacs/28.1.50/lisp/org/org-clock /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-tempo hides /usr/share/emacs/28.1.50/lisp/org/org-tempo /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-crypt hides /usr/share/emacs/28.1.50/lisp/org/org-crypt /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-indent hides /usr/share/emacs/28.1.50/lisp/org/org-indent /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-emacs-lisp hides /usr/share/emacs/28.1.50/lisp/org/ob-emacs-lisp /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-md hides /usr/share/emacs/28.1.50/lisp/org/ox-md /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-plantuml hides /usr/share/emacs/28.1.50/lisp/org/ob-plantuml /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-forth hides /usr/share/emacs/28.1.50/lisp/org/ob-forth /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-css hides /usr/share/emacs/28.1.50/lisp/org/ob-css /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-sed hides /usr/share/emacs/28.1.50/lisp/org/ob-sed /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-org hides /usr/share/emacs/28.1.50/lisp/org/ob-org /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-faces hides /usr/share/emacs/28.1.50/lisp/org/org-faces /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-html hides /usr/share/emacs/28.1.50/lisp/org/ox-html /home/philae/.config/emacs/.local/straight/build-28.1.50/org/oc-basic hides /usr/share/emacs/28.1.50/lisp/org/oc-basic /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-entities hides /usr/share/emacs/28.1.50/lisp/org/org-entities /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-lua hides /usr/share/emacs/28.1.50/lisp/org/ob-lua /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-w3m hides /usr/share/emacs/28.1.50/lisp/org/ol-w3m /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-maxima hides /usr/share/emacs/28.1.50/lisp/org/ob-maxima /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-tangle hides /usr/share/emacs/28.1.50/lisp/org/ob-tangle /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-latex hides /usr/share/emacs/28.1.50/lisp/org/ob-latex /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-refile hides /usr/share/emacs/28.1.50/lisp/org/org-refile /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-table hides /usr/share/emacs/28.1.50/lisp/org/org-table /home/philae/.config/emacs/.local/straight/build-28.1.50/org/oc hides /usr/share/emacs/28.1.50/lisp/org/oc /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-pcomplete hides /usr/share/emacs/28.1.50/lisp/org/org-pcomplete /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-version hides /usr/share/emacs/28.1.50/lisp/org/org-version /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-calc hides /usr/share/emacs/28.1.50/lisp/org/ob-calc /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-man hides /usr/share/emacs/28.1.50/lisp/org/ol-man /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-agenda hides /usr/share/emacs/28.1.50/lisp/org/org-agenda /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-footnote hides /usr/share/emacs/28.1.50/lisp/org/org-footnote /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob hides /usr/share/emacs/28.1.50/lisp/org/ob /home/philae/.config/emacs/.local/straight/build-28.1.50/org/oc-csl hides /usr/share/emacs/28.1.50/lisp/org/oc-csl /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-mouse hides /usr/share/emacs/28.1.50/lisp/org/org-mouse /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-screen hides /usr/share/emacs/28.1.50/lisp/org/ob-screen /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-ascii hides /usr/share/emacs/28.1.50/lisp/org/ox-ascii /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-core hides /usr/share/emacs/28.1.50/lisp/org/ob-core /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org hides /usr/share/emacs/28.1.50/lisp/org/org /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-bibtex hides /usr/share/emacs/28.1.50/lisp/org/ol-bibtex /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-macs hides /usr/share/emacs/28.1.50/lisp/org/org-macs /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-exp hides /usr/share/emacs/28.1.50/lisp/org/ob-exp /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-lob hides /usr/share/emacs/28.1.50/lisp/org/ob-lob /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-mhe hides /usr/share/emacs/28.1.50/lisp/org/ol-mhe /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-duration hides /usr/share/emacs/28.1.50/lisp/org/org-duration /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-makefile hides /usr/share/emacs/28.1.50/lisp/org/ob-makefile /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-info hides /usr/share/emacs/28.1.50/lisp/org/ol-info /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-R hides /usr/share/emacs/28.1.50/lisp/org/ob-R /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-eww hides /usr/share/emacs/28.1.50/lisp/org/ol-eww /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-loaddefs hides /usr/share/emacs/28.1.50/lisp/org/org-loaddefs /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ox-publish hides /usr/share/emacs/28.1.50/lisp/org/ox-publish /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-eshell hides /usr/share/emacs/28.1.50/lisp/org/ol-eshell /home/philae/.config/emacs/.local/straight/build-28.1.50/org/oc-natbib hides /usr/share/emacs/28.1.50/lisp/org/oc-natbib /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-clojure hides /usr/share/emacs/28.1.50/lisp/org/ob-clojure /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ol-rmail hides /usr/share/emacs/28.1.50/lisp/org/ol-rmail /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-attach hides /usr/share/emacs/28.1.50/lisp/org/org-attach /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-shell hides /usr/share/emacs/28.1.50/lisp/org/ob-shell /home/philae/.config/emacs/.local/straight/build-28.1.50/org/org-plot hides /usr/share/emacs/28.1.50/lisp/org/org-plot /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-dot hides /usr/share/emacs/28.1.50/lisp/org/ob-dot /home/philae/.config/emacs/.local/straight/build-28.1.50/org/ob-js hides /usr/share/emacs/28.1.50/lisp/org/ob-js Study the output of `M-x list-load-path-shadows`. ## `ox-hugo` defcustoms
org-hugo-section “posts”
org-hugo-use-code-for-kbd nil
org-hugo-preserve-filling t
org-hugo-delete-trailing-ws t
org-hugo-prefer-hyphen-in-tags t
org-hugo-allow-spaces-in-tags t
org-hugo-tag-processing-functions (org-hugo–tag-processing-fn-replace-with-spaces-maybe org-hugo–tag-processing-fn-replace-with-hyphens-maybe)
org-hugo-auto-set-lastmod nil
org-hugo-export-with-toc nil
org-hugo-export-with-section-numbers nil
org-hugo-front-matter-format “toml”
org-hugo-default-static-subdirectory-for-externals “ox-hugo”
org-hugo-external-file-extensions-allowed-for-copying (“jpg” “jpeg” “tiff” “png” “svg” “gif” “mp4” “pdf” “odt” “doc” “ppt” “xls” “docx” “pptx” “xlsx”)
org-hugo-date-format “%Y-%m-%dT%T%z”
org-hugo-paired-shortcodes “”
org-hugo-suppress-lastmod-period 0.0
org-hugo-front-matter-format “toml”
kaushalmodi commented 1 year ago

@RagnarGrootKoerkamp Thanks for reporting this. Can you also please add a debug backtrace for that error? You can do that by doing M-x toggle-debug-on-error and then reproducing that issue.

Please post the backtrace here.

RagnarGrootKoerkamp commented 1 year ago

Here you go

  org-remove-indentation(nil)
  org-hugo-keyword((keyword (:key "TOC" :value "headlines 1" :begin 35 :end 54 :post-blank 1 :post-affiliated 35 :mode nil :granularity nil :parent (section (:begin 1 :end 54 :contents-begin 1 :contents-end 54 :robust-begin 1 :robust-end 52 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent ...) (keyword ...) (keyword ...) #1))) nil (:export-options nil :back-end #s(org-export-backend :name hugo :parent blackfriday :transcoders ((code . org-hugo-kbd-tags-maybe) (drawer . org-hugo-drawer) (example-block . org-hugo-example-block) (export-block . org-hugo-export-block) (export-snippet . org-hugo-export-snippet) (headline . org-hugo-heading) (inner-template . org-hugo-inner-template) (inline-src-block . org-hugo-inline-src-block) (keyword . org-hugo-keyword) (link . org-hugo-link) (paragraph . org-hugo-paragraph) (src-block . org-hugo-src-block) (special-block . org-hugo-special-block)) :options ((:with-toc nil "toc" org-hugo-export-with-toc) (:section-numbers nil "num" org-hugo-export-with-section-numbers) (:author "AUTHOR" nil user-full-name newline) (:creator "CREATOR" nil org-hugo-export-creator-string) (:with-smart-quotes nil "'" nil) (:with-special-strings nil "-" nil) (:with-sub-superscript nil "^" ...) (:hugo-with-locale "HUGO_WITH_LOCALE" nil nil) (:hugo-front-matter-format "HUGO_FRONT_MATTER_FORMAT" nil org-hugo-front-matter-format) (:hugo-level-offset "HUGO_LEVEL_OFFSET" nil "1") (:hugo-preserve-filling "HUGO_PRESERVE_FILLING" nil org-hugo-preserve-filling) (:hugo-delete-trailing-ws "HUGO_DELETE_TRAILING_WS" nil org-hugo-delete-trailing-ws) (:hugo-section "HUGO_SECTION" nil org-hugo-section) (:hugo-bundle "HUGO_BUNDLE" nil nil) (:hugo-base-dir "HUGO_BASE_DIR" nil org-hugo-base-dir) (:hugo-goldmark "HUGO_GOLDMARK" nil org-hugo-goldmark) (:hugo-code-fence "HUGO_CODE_FENCE" nil t) (:hugo-use-code-for-kbd "HUGO_USE_CODE_FOR_KBD" nil org-hugo-use-code-for-kbd) (:hugo-prefer-hyphen-in-tags "HUGO_PREFER_HYPHEN_IN_TAGS" nil org-hugo-prefer-hyphen-in-tags) (:hugo-allow-spaces-in-tags "HUGO_ALLOW_SPACES_IN_TAGS" nil org-hugo-allow-spaces-in-tags) (:hugo-auto-set-lastmod "HUGO_AUTO_SET_LASTMOD" nil org-hugo-auto-set-lastmod) (:hugo-custom-front-matter "HUGO_CUSTOM_FRONT_MATTER" nil nil space) (:hugo-blackfriday "HUGO_BLACKFRIDAY" nil nil space) (:hugo-front-matter-key-replace "HUGO_FRONT_MATTER_KEY_REPLACE" nil nil space) (:hugo-date-format "HUGO_DATE_FORMAT" nil org-hugo-date-format) (:hugo-paired-shortcodes "HUGO_PAIRED_SHORTCODES" nil org-hugo-paired-shortcodes space) (:hugo-pandoc-citations "HUGO_PANDOC_CITATIONS" nil nil) (:bibliography "BIBLIOGRAPHY" nil nil newline) (:html-container "HTML_CONTAINER" nil org-hugo-container-element) (:html-container-class "HTML_CONTAINER_CLASS" nil "") (:hugo-aliases "HUGO_ALIASES" nil nil space) (:hugo-audio "HUGO_AUDIO" nil nil) ...) :filters ((:filter-body . org-hugo-body-filter)) :blocks nil :menu (72 "Export to Hugo-compatible Markdo..." (... ... ... ... ... ...))) :translate-alist ((code . org-hugo-kbd-tags-maybe) (drawer . org-hugo-drawer) (example-block . org-hugo-example-block) (export-block . org-hugo-export-block) (export-snippet . org-hugo-export-snippet) (headline . org-hugo-heading) (inner-template . org-hugo-inner-template) (inline-src-block . org-hugo-inline-src-block) (keyword . org-hugo-keyword) (link . org-hugo-link) (paragraph . org-hugo-paragraph) (src-block . org-hugo-src-block) (special-block . org-hugo-special-block) (center-block . org-blackfriday-center-block) (example-block . org-blackfriday-example-block) (fixed-width . org-blackfriday-fixed-width) (footnote-reference . org-blackfriday-footnote-reference) (inner-template . org-blackfriday-inner-template) (italic . org-blackfriday-italic) (item . org-blackfriday-item) (latex-environment . org-blackfriday-latex-environment) (latex-fragment . org-blackfriday-latex-fragment) (line-break . org-html-line-break) (plain-list . org-blackfriday-plain-list) (plain-text . org-blackfriday-plain-text) (quote-block . org-blackfriday-quote-block) (radio-target . org-blackfriday-radio-target) (special-block . org-blackfriday-special-block) (src-block . org-blackfriday-src-block) (strike-through . org-blackfriday-strike-through) (table-cell . org-blackfriday-table-cell) (table-row . org-blackfriday-table-row) ...) :exported-data #<hash-table eq 2/4001 0x158015a06193> :input-buffer "x.org" :input-file "/tmp/x.org" :with-toc nil :section-numbers nil :author "Ragnar Groot Koerkamp" :creator "Emacs 28.2.50 (Org mode 9.6 + ox..." :with-smart-quotes nil :with-special-strings nil :with-sub-superscript {} :hugo-with-locale nil :hugo-front-matter-format "toml" :hugo-level-offset "1" ...))
  org-export-data((keyword (:key "TOC" :value "headlines 1" :begin 35 :end 54 :post-blank 1 :post-affiliated 35 :mode nil :granularity nil :parent (section (:begin 1 :end 54 :contents-begin 1 :contents-end 54 :robust-begin 1 :robust-end 52 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent ...) (keyword ...) (keyword ...) #1))) (:export-options nil :back-end #s(org-export-backend :name hugo :parent blackfriday :transcoders ((code . org-hugo-kbd-tags-maybe) (drawer . org-hugo-drawer) (example-block . org-hugo-example-block) (export-block . org-hugo-export-block) (export-snippet . org-hugo-export-snippet) (headline . org-hugo-heading) (inner-template . org-hugo-inner-template) (inline-src-block . org-hugo-inline-src-block) (keyword . org-hugo-keyword) (link . org-hugo-link) (paragraph . org-hugo-paragraph) (src-block . org-hugo-src-block) (special-block . org-hugo-special-block)) :options ((:with-toc nil "toc" org-hugo-export-with-toc) (:section-numbers nil "num" org-hugo-export-with-section-numbers) (:author "AUTHOR" nil user-full-name newline) (:creator "CREATOR" nil org-hugo-export-creator-string) (:with-smart-quotes nil "'" nil) (:with-special-strings nil "-" nil) (:with-sub-superscript nil "^" ...) (:hugo-with-locale "HUGO_WITH_LOCALE" nil nil) (:hugo-front-matter-format "HUGO_FRONT_MATTER_FORMAT" nil org-hugo-front-matter-format) (:hugo-level-offset "HUGO_LEVEL_OFFSET" nil "1") (:hugo-preserve-filling "HUGO_PRESERVE_FILLING" nil org-hugo-preserve-filling) (:hugo-delete-trailing-ws "HUGO_DELETE_TRAILING_WS" nil org-hugo-delete-trailing-ws) (:hugo-section "HUGO_SECTION" nil org-hugo-section) (:hugo-bundle "HUGO_BUNDLE" nil nil) (:hugo-base-dir "HUGO_BASE_DIR" nil org-hugo-base-dir) (:hugo-goldmark "HUGO_GOLDMARK" nil org-hugo-goldmark) (:hugo-code-fence "HUGO_CODE_FENCE" nil t) (:hugo-use-code-for-kbd "HUGO_USE_CODE_FOR_KBD" nil org-hugo-use-code-for-kbd) (:hugo-prefer-hyphen-in-tags "HUGO_PREFER_HYPHEN_IN_TAGS" nil org-hugo-prefer-hyphen-in-tags) (:hugo-allow-spaces-in-tags "HUGO_ALLOW_SPACES_IN_TAGS" nil org-hugo-allow-spaces-in-tags) (:hugo-auto-set-lastmod "HUGO_AUTO_SET_LASTMOD" nil org-hugo-auto-set-lastmod) (:hugo-custom-front-matter "HUGO_CUSTOM_FRONT_MATTER" nil nil space) (:hugo-blackfriday "HUGO_BLACKFRIDAY" nil nil space) (:hugo-front-matter-key-replace "HUGO_FRONT_MATTER_KEY_REPLACE" nil nil space) (:hugo-date-format "HUGO_DATE_FORMAT" nil org-hugo-date-format) (:hugo-paired-shortcodes "HUGO_PAIRED_SHORTCODES" nil org-hugo-paired-shortcodes space) (:hugo-pandoc-citations "HUGO_PANDOC_CITATIONS" nil nil) (:bibliography "BIBLIOGRAPHY" nil nil newline) (:html-container "HTML_CONTAINER" nil org-hugo-container-element) (:html-container-class "HTML_CONTAINER_CLASS" nil "") (:hugo-aliases "HUGO_ALIASES" nil nil space) (:hugo-audio "HUGO_AUDIO" nil nil) ...) :filters ((:filter-body . org-hugo-body-filter)) :blocks nil :menu (72 "Export to Hugo-compatible Markdo..." (... ... ... ... ... ...))) :translate-alist ((code . org-hugo-kbd-tags-maybe) (drawer . org-hugo-drawer) (example-block . org-hugo-example-block) (export-block . org-hugo-export-block) (export-snippet . org-hugo-export-snippet) (headline . org-hugo-heading) (inner-template . org-hugo-inner-template) (inline-src-block . org-hugo-inline-src-block) (keyword . org-hugo-keyword) (link . org-hugo-link) (paragraph . org-hugo-paragraph) (src-block . org-hugo-src-block) (special-block . org-hugo-special-block) (center-block . org-blackfriday-center-block) (example-block . org-blackfriday-example-block) (fixed-width . org-blackfriday-fixed-width) (footnote-reference . org-blackfriday-footnote-reference) (inner-template . org-blackfriday-inner-template) (italic . org-blackfriday-italic) (item . org-blackfriday-item) (latex-environment . org-blackfriday-latex-environment) (latex-fragment . org-blackfriday-latex-fragment) (line-break . org-html-line-break) (plain-list . org-blackfriday-plain-list) (plain-text . org-blackfriday-plain-text) (quote-block . org-blackfriday-quote-block) (radio-target . org-blackfriday-radio-target) (special-block . org-blackfriday-special-block) (src-block . org-blackfriday-src-block) (strike-through . org-blackfriday-strike-through) (table-cell . org-blackfriday-table-cell) (table-row . org-blackfriday-table-row) ...) :exported-data #<hash-table eq 2/4001 0x158015a06193> :input-buffer "x.org" :input-file "/tmp/x.org" :with-toc nil :section-numbers nil :author "Ragnar Groot Koerkamp" :creator "Emacs 28.2.50 (Org mode 9.6 + ox..." :with-smart-quotes nil :with-special-strings nil :with-sub-superscript {} :hugo-with-locale nil :hugo-front-matter-format "toml" :hugo-level-offset "1" ...))
  #f(compiled-function (element) #<bytecode 0x145a15b927a18b72>)((keyword (:key "TOC" :value "headlines 1" :begin 35 :end 54 :post-blank 1 :post-affiliated 35 :mode nil :granularity nil :parent (section (:begin 1 :end 54 :contents-begin 1 :contents-end 54 :robust-begin 1 :robust-end 52 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 54 :end 54 :robust-begin 3 :robust-end 52 :post-blank 0 :post-affiliated 1 :path "/tmp/x.org" :mode org-data :CATEGORY "x" :granularity nil) #21)) (keyword (:key "TITLE" :value "Title" :begin 1 :end 16 :post-blank 1 :post-affiliated 1 :mode top-comment :granularity nil :parent #21)) (keyword (:key "HUGO_BASE_DIR" :value "." :begin 16 :end 35 :post-blank 1 :post-affiliated 16 :mode nil :granularity nil :parent #21)) #1))))
  mapconcat(#f(compiled-function (element) #<bytecode 0x145a15b927a18b72>) ((keyword (:key "TITLE" :value "Title" :begin 1 :end 16 :post-blank 1 :post-affiliated 1 :mode top-comment :granularity nil :parent (section (:begin 1 :end 54 :contents-begin 1 :contents-end 54 :robust-begin 1 :robust-end 52 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 54 :end 54 :robust-begin 3 :robust-end 52 :post-blank 0 :post-affiliated 1 :path "/tmp/x.org" :mode org-data :CATEGORY "x" :granularity nil) #23)) . #2))) (keyword (:key "HUGO_BASE_DIR" :value "." :begin 16 :end 35 :post-blank 1 :post-affiliated 16 :mode nil :granularity nil :parent (section (:begin 1 :end 54 :contents-begin 1 :contents-end 54 :robust-begin 1 :robust-end 52 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 54 :end 54 :robust-begin 3 :robust-end 52 :post-blank 0 :post-affiliated 1 :path "/tmp/x.org" :mode org-data :CATEGORY "x" :granularity nil) #24)) . #2))) (keyword (:key "TOC" :value "headlines 1" :begin 35 :end 54 :post-blank 1 :post-affiliated 35 :mode nil :granularity nil :parent (section (:begin 1 :end 54 :contents-begin 1 :contents-end 54 :robust-begin 1 :robust-end 52 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 54 :end 54 :robust-begin 3 :robust-end 52 :post-blank 0 :post-affiliated 1 :path "/tmp/x.org" :mode org-data :CATEGORY "x" :granularity nil) #25)) . #2)))) "")
  org-export-data((section (:begin 1 :end 54 :contents-begin 1 :contents-end 54 :robust-begin 1 :robust-end 52 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent (org-data ... #1)) (keyword (:key "TITLE" :value "Title" :begin 1 :end 16 :post-blank 1 :post-affiliated 1 :mode top-comment :granularity nil :parent #1)) (keyword (:key "HUGO_BASE_DIR" :value "." :begin 16 :end 35 :post-blank 1 :post-affiliated 16 :mode nil :granularity nil :parent #1)) (keyword (:key "TOC" :value "headlines 1" :begin 35 :end 54 :post-blank 1 :post-affiliated 35 :mode nil :granularity nil :parent #1))) (:export-options nil :back-end #s(org-export-backend :name hugo :parent blackfriday :transcoders (... ... ... ... ... ... ... ... ... ... ... ... ...) :options (... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) :filters (...) :blocks nil :menu (72 "Export to Hugo-compatible ..." ...)) :translate-alist ((code . org-hugo-kbd-tags-maybe) (drawer . org-hugo-drawer) (example-block . org-hugo-example-block) (export-block . org-hugo-export-block) (export-snippet . org-hugo-export-snippet) (headline . org-hugo-heading) (inner-template . org-hugo-inner-template) (inline-src-block . org-hugo-inline-src-block) (keyword . org-hugo-keyword) (link . org-hugo-link) (paragraph . org-hugo-paragraph) (src-block . org-hugo-src-block) (special-block . org-hugo-special-block) (center-block . org-blackfriday-center-block) (example-block . org-blackfriday-example-block) (fixed-width . org-blackfriday-fixed-width) (footnote-reference . org-blackfriday-footnote-reference) (inner-template . org-blackfriday-inner-template) (italic . org-blackfriday-italic) (item . org-blackfriday-item) (latex-environment . org-blackfriday-latex-environment) (latex-fragment . org-blackfriday-latex-fragment) (line-break . org-html-line-break) (plain-list . org-blackfriday-plain-list) (plain-text . org-blackfriday-plain-text) (quote-block . org-blackfriday-quote-block) ...) :exported-data #<hash-table eq 2/4001 0x158015a06193> :input-buffer "x.org" :input-file "/tmp/x.org" :with-toc nil :section-numbers nil :author "Ragnar Groot Koerkamp" :creator "Emacs 28.2.50 (Org mode 9...." :with-smart-quotes nil :with-special-strings nil :with-sub-superscript {} ...))
  #f(compiled-function (element) #<bytecode 0x145a15b927a18b72>)((section (:begin 1 :end 54 :contents-begin 1 :contents-end 54 :robust-begin 1 :robust-end 52 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 54 :end 54 :robust-begin 3 :robust-end 52 :post-blank 0 :post-affiliated 1 :path "/tmp/x.org" :mode org-data :CATEGORY "x" :granularity nil) #1)) (keyword (:key "TITLE" :value "Title" :begin 1 :end 16 :post-blank 1 :post-affiliated 1 :mode top-comment :granularity nil :parent #1)) (keyword (:key "HUGO_BASE_DIR" :value "." :begin 16 :end 35 :post-blank 1 :post-affiliated 16 :mode nil :granularity nil :parent #1)) (keyword (:key "TOC" :value "headlines 1" :begin 35 :end 54 :post-blank 1 :post-affiliated 35 :mode nil :granularity nil :parent #1))))
  mapconcat(#f(compiled-function (element) #<bytecode 0x145a15b927a18b72>) ((section (:begin 1 :end 54 :contents-begin 1 :contents-end 54 :robust-begin 1 :robust-end 52 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 54 :end 54 :robust-begin 3 :robust-end 52 :post-blank 0 :post-affiliated 1 :path "/tmp/x.org" :mode org-data :CATEGORY "x" :granularity nil) . #2)) (keyword (:key "TITLE" :value "Title" :begin 1 :end 16 :post-blank 1 :post-affiliated 1 :mode top-comment :granularity nil :parent #3)) (keyword (:key "HUGO_BASE_DIR" :value "." :begin 16 :end 35 :post-blank 1 :post-affiliated 16 :mode nil :granularity nil :parent #3)) (keyword (:key "TOC" :value "headlines 1" :begin 35 :end 54 :post-blank 1 :post-affiliated 35 :mode nil :granularity nil :parent #3)))) "")
  org-export-data((org-data (:begin 1 :contents-begin 1 :contents-end 54 :end 54 :robust-begin 3 :robust-end 52 :post-blank 0 :post-affiliated 1 :path "/tmp/x.org" :mode org-data :CATEGORY "x" :granularity nil) (section (:begin 1 :end 54 :contents-begin 1 :contents-end 54 :robust-begin 1 :robust-end 52 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #1) (keyword ...) (keyword ...) (keyword ...))) (:export-options nil :back-end #s(org-export-backend :name hugo :parent blackfriday :transcoders (... ... ... ... ... ... ... ... ... ... ... ... ...) :options (... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) :filters (...) :blocks nil :menu (72 "Export to Hugo-compatible ..." ...)) :translate-alist ((code . org-hugo-kbd-tags-maybe) (drawer . org-hugo-drawer) (example-block . org-hugo-example-block) (export-block . org-hugo-export-block) (export-snippet . org-hugo-export-snippet) (headline . org-hugo-heading) (inner-template . org-hugo-inner-template) (inline-src-block . org-hugo-inline-src-block) (keyword . org-hugo-keyword) (link . org-hugo-link) (paragraph . org-hugo-paragraph) (src-block . org-hugo-src-block) (special-block . org-hugo-special-block) (center-block . org-blackfriday-center-block) (example-block . org-blackfriday-example-block) (fixed-width . org-blackfriday-fixed-width) (footnote-reference . org-blackfriday-footnote-reference) (inner-template . org-blackfriday-inner-template) (italic . org-blackfriday-italic) (item . org-blackfriday-item) (latex-environment . org-blackfriday-latex-environment) (latex-fragment . org-blackfriday-latex-fragment) (line-break . org-html-line-break) (plain-list . org-blackfriday-plain-list) (plain-text . org-blackfriday-plain-text) (quote-block . org-blackfriday-quote-block) ...) :exported-data #<hash-table eq 2/4001 0x158015a06193> :input-buffer "x.org" :input-file "/tmp/x.org" :with-toc nil :section-numbers nil :author "Ragnar Groot Koerkamp" :creator "Emacs 28.2.50 (Org mode 9...." :with-smart-quotes nil :with-special-strings nil :with-sub-superscript {} ...))
  #<subr org-export-as>(hugo nil nil nil (:output-file "/tmp/content/posts/x.md"))
  apply(#<subr org-export-as> (hugo nil nil nil (:output-file "/tmp/content/posts/x.md")))
  (let ((old-async-init-file org-export-async-init-file) (org-export-async-init-file (make-temp-file "doom-org-async-export"))) (doom-file-write org-export-async-init-file (list (list 'setq 'org-export-async-debug (or org-export-async-debug debug-on-error) 'load-path (list 'quote load-path)) (cons 'unwind-protect (cons (list 'let (list (list ... old-async-init-file)) (cons 'if (cons ... ...))) '((delete-file load-file-name)))))) (apply fn args))
  +org--fix-async-export-a(#<subr org-export-as> hugo nil nil nil (:output-file "/tmp/content/posts/x.md"))
  apply(+org--fix-async-export-a #<subr org-export-as> (hugo nil nil nil (:output-file "/tmp/content/posts/x.md")))
  org-export-as(hugo nil nil nil (:output-file "/tmp/content/posts/x.md"))
  #<subr org-export-to-file>(hugo "/tmp/content/posts/x.md" nil nil nil nil nil nil)
  apply(#<subr org-export-to-file> (hugo "/tmp/content/posts/x.md" nil nil nil))
  (let (before-save-hook after-save-hook) (apply fn args))
  +org--dont-trigger-save-hooks-a(#<subr org-export-to-file> hugo "/tmp/content/posts/x.md" nil nil nil)
  apply(+org--dont-trigger-save-hooks-a #<subr org-export-to-file> (hugo "/tmp/content/posts/x.md" nil nil nil))
  #f(advice-wrapper :around #<subr org-export-to-file> +org--dont-trigger-save-hooks-a)(hugo "/tmp/content/posts/x.md" nil nil nil)
  apply(#f(advice-wrapper :around #<subr org-export-to-file> +org--dont-trigger-save-hooks-a) (hugo "/tmp/content/posts/x.md" nil nil nil))
  (let ((old-async-init-file org-export-async-init-file) (org-export-async-init-file (make-temp-file "doom-org-async-export"))) (doom-file-write org-export-async-init-file (list (list 'setq 'org-export-async-debug (or org-export-async-debug debug-on-error) 'load-path (list 'quote load-path)) (cons 'unwind-protect (cons (list 'let (list (list ... old-async-init-file)) (cons 'if (cons ... ...))) '((delete-file load-file-name)))))) (apply fn args))
  +org--fix-async-export-a(#f(advice-wrapper :around #<subr org-export-to-file> +org--dont-trigger-save-hooks-a) hugo "/tmp/content/posts/x.md" nil nil nil)
  apply(+org--fix-async-export-a #f(advice-wrapper :around #<subr org-export-to-file> +org--dont-trigger-save-hooks-a) (hugo "/tmp/content/posts/x.md" nil nil nil))
  org-export-to-file(hugo "/tmp/content/posts/x.md" nil nil nil)
  org-hugo-export-to-md(nil nil nil)
  (lambda (a s v _b) (org-hugo-export-to-md a s v))(nil nil nil nil)
  org-export-dispatch(nil)
  funcall-interactively(org-export-dispatch nil)
  command-execute(org-export-dispatch)
kaushalmodi commented 1 year ago

@RagnarGrootKoerkamp The fix merge has auto-closed this issue. But please feel free to comment further in this thread if you still see any problems.

RagnarGrootKoerkamp commented 1 year ago

Can confirm that it works now. Thanks!