Add man page

This commit is contained in:
2026-02-23 12:05:08 -08:00
parent 351e076f5f
commit 2af64d17be
3 changed files with 32 additions and 4 deletions

2
clash/.gitignore vendored
View File

@ -1 +1,3 @@
clash
clash.md
clash.1

View File

@ -1,13 +1,28 @@
LISP=sbcl
all: clash
PREFIX=~/.local
all: clash clash.1
clash: clash.asd format.lisp parse-date.lisp clash.lisp
$(LISP) --eval '(ql:quickload :clash)' \
--eval '(asdf:make :clash)' \
--eval '(uiop:quit)'
clash.md: clash.asd format.lisp parse-date.lisp clash.lisp
$(LISP) --eval '(ql:quickload :clash)' \
--eval '(clash:make-markdown-doc)' \
--eval '(uiop:quit)' \
-- clash.md
clash.1: clash.md
go-md2man <clash.md >clash.1
install: clash clash.1
install -D clash $(PREFIX)/bin/
install -D clash.1 $(PREFIX)/share/man/man1/
clean:
rm -f clash
rm -f clash clash.md clash.1
.PHONY: all clean

View File

@ -15,7 +15,8 @@
#:read-directorysizes-for-trash-directory
#:write-directorysizes-for-trash-directory)
(:use #:cl #:clash/parse-date #:clash/format)
(:export #:toplevel))
(:export #:toplevel
#:make-markdown-doc))
(in-package :clash)
@ -1041,3 +1042,13 @@ Args can be supplied to facilitate testing in SLIME."
(clingon:run (toplevel/command) args)
(clingon:run (toplevel/command)))
(flush-directorysizes-cache)))
;; Used from the build system
(defun make-markdown-doc ()
"Generate documentation in a markdown format."
;; the first argument is "--"
(let ((target (second (uiop:command-line-arguments))))
(with-open-file (out target :direction :output
:if-exists :overwrite
:if-does-not-exist :create)
(clingon:print-documentation :markdown (toplevel/command) out))))