From cf38217c1ae9644a58bb0ebf5d4e14bbc4739ce2 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sat, 12 Aug 2023 20:11:03 +0100 Subject: cgit: Render org mode README files. * guix/forge/cgit.scm: Import emacs-minimal from (gnu packages emacs). (%cgit-readme): Add README.org. (about-filter-gexp): Render org mode README files. * guix/forge/org2html.el: New file. * doc/forge.skb (Services)[Git web viewers]{cgit service}: Document support for org mode README files. --- guix/forge/org2html.el | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 guix/forge/org2html.el (limited to 'guix/forge/org2html.el') diff --git a/guix/forge/org2html.el b/guix/forge/org2html.el new file mode 100644 index 0000000..b311331 --- /dev/null +++ b/guix/forge/org2html.el @@ -0,0 +1,35 @@ +;;; guix-forge --- Guix software forge meta-service +;;; Copyright © 2023 Arun Isaac +;;; +;;; This file is part of guix-forge. +;;; +;;; guix-forge is free software: you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published +;;; by the Free Software Foundation, either version 3 of the License, +;;; or (at your option) any later version. +;;; +;;; guix-forge is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;;; General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with guix-forge. If not, see +;;; . + +(require 'ox-html) + +(setq org-export-with-section-numbers nil + org-export-with-toc nil) + +(defun pipe-stdin-into-current-buffer () + (when-let (line (ignore-errors + (read-from-minibuffer ""))) + (insert line "\n") + (pipe-stdin-into-current-buffer))) + +;; TODO: Syntax highlight src code blocks using emacs-htmlize. +(with-temp-buffer + (pipe-stdin-into-current-buffer) + (org-html-export-as-html nil nil nil t) + (princ (buffer-string))) -- cgit v1.2.3