#+OPTIONS: toc:nil num:nil creator:nil author:nil
** Sun Mar 12 15:02 EDT; goldblum
I think I figured out a good workflow for publishing straight from
org capture. Here's the bit of config in my emacs init:
#+begin_src emacs-lisp
(require 'org-element)
(let ((gopher-dir (concat (getenv "HOME") "/gopher/"))
(entry-file "first.org")
(log-file "log.org")
(sdf-dir "/ssh:sdf:~/gopher/"))
(defun j0ni/prepare-first-entry (plist filename dst-dir)
(let* ((org-inhibit-startup t)
(visiting (find-buffer-visiting filename))
(work-buffer (or visiting (find-file-noselect filename)))
(dst-file (expand-file-name entry-file dst-dir)))
(with-current-buffer work-buffer
(let ((entry (org-element-map (org-element-parse-buffer) 'headline
(lambda (hl)
(when (= (org-element-property :level hl) 2)
hl))
nil t)))
(with-temp-buffer
(insert "#+OPTIONS: toc:nil H:1 num:nil title:nil author:nil creator:nil")
(newline)
(insert "#+ATTR_ASCII: width:60")
(newline)
(insert (org-element-interpret-data entry))
(write-region (point-min) (point-max) dst-file))))))
(setopt org-publish-project-alist
;; This makes a markdown version of this file.
`(("notwithstanding"
:base-directory ,user-emacs-directory
:publishing-directory ,user-emacs-directory
:publishing-function org-md-publish-to-md)
("captains-phlog"
:include ("log.org")
:exclude "first.org"
:base-directory ,gopher-dir
:publishing-directory ,gopher-dir
:publishing-function (org-ascii-publish-to-ascii j0ni/prepare-first-entry))
("first-entry"
:include ("first.org")
:exclude "log.org"
:base-directory ,gopher-dir
:publishing-directory ,sdf-dir
:publishing-function org-ascii-publish-to-ascii)
("phlog" :components ("captains-phlog" "first-entry")))))
#+end_src
Note that the "notwithstanding" part is unrelated, but ¯\_(ツ)_/¯.
Let's see how it goes, and if this is just too much text.