From bb71cbabaac8baf18f7a685339f0e2670b019d91 Mon Sep 17 00:00:00 2001
From: Linus Nordberg <linus@nordu.net>
Date: Fri, 2 Jun 2017 09:53:03 +0200
Subject: Add manpage documentation skeleton.

---
 Makefile           |  4 ++++
 doc/Makefile       | 17 +++++++++++++++++
 doc/catlfish.1.md  | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 doc/genconfig.1.md | 17 +++++++++++++++++
 4 files changed, 86 insertions(+)
 create mode 100644 doc/Makefile
 create mode 100644 doc/catlfish.1.md
 create mode 100644 doc/genconfig.1.md

diff --git a/Makefile b/Makefile
index 5af5508..a9c6d6d 100644
--- a/Makefile
+++ b/Makefile
@@ -8,6 +8,7 @@ build all:
 
 clean:
 	-rm ebin/*.beam
+	$(MAKE) -C doc $@
 
 release: all
 	rm -rf $(INSTDIR)
@@ -23,6 +24,9 @@ dialyze: build
 tags:
 	find . -name \*.?rl -o -name \*.py | etags -
 
+doc:
+	$(MAKE) -C $@
+
 # Unit testing.
 check: all
 	test/check.erl
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 0000000..b3de194
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,17 @@
+MANDOCS = catlfish.1 genconfig.1
+RONN = ronn --warnings --organization="FIXME:\$$version"
+
+all: man html
+
+man: $(MANDOCS)
+
+html: $(addsuffix .html,$(MANDOCS))
+
+%: %.md
+	$(RONN) --roff $^
+
+%.html: %.md
+	$(RONN) --html $^
+
+clean:
+	-rm -f $(MANDOCS) $(addsuffix .html,$(MANDOCS))
diff --git a/doc/catlfish.1.md b/doc/catlfish.1.md
new file mode 100644
index 0000000..31ce060
--- /dev/null
+++ b/doc/catlfish.1.md
@@ -0,0 +1,48 @@
+catlfish(1) -- Certificate Transparency log node
+================================================
+
+## SYNOPSIS
+
+`catlfish` [`-c` <config-name>] <command>
+
+## DESCRIPTION
+
+`catlfish` is a Certificate Transparency log. A node in a log instance
+can be started using the `start-node` command and stopped using the
+`stop-node` command.
+
+<command> is one of:
+
+* `start-node` [`-a` <application>]:
+  Start a `catlfish` node.
+
+* `stop-node`:
+  Stop a `catlfish` node.
+
+## OPTIONS
+
+* `-a` <application>:
+  Use <application> as the `-boot` argument to erl(1) instead of the
+  default application `catlfish`.
+
+* `-c` <config-name>:
+  Use <config-name> to find the configuration file for the node
+  instead of the name of the basename of the current working
+  directory. The configuration file should be generated by
+  genconfig(1).
+
+* `-d` <directory>:
+  Use <directory> as the `pipe_dir` argument to run_erl(1) instead of
+  using the current working directory (`.`).
+
+* `-l` <directory>:
+  Use <directory> as the `log_dir` argument to run_erl(1) instead of
+  using `./log'.
+
+## STANDARDS
+
+`RFC69662` Certificate Transparency
+
+## SEE ALSO
+
+genconfig(1), erl(1)
diff --git a/doc/genconfig.1.md b/doc/genconfig.1.md
new file mode 100644
index 0000000..f27a990
--- /dev/null
+++ b/doc/genconfig.1.md
@@ -0,0 +1,17 @@
+genconfig(1) -- generate catlfish node configuration
+====================================================
+
+## SYNOPSIS
+
+`genconfig` <template> <apikeydir> <logpublickeyfile> <cacertfile> <logadminkey> <destination>
+
+## DESCRIPTION
+
+`genconfig` reads a `catlfish` log configuration file template and
+writes configuration files for all nodes in the log as well as a 
+
+## OPTIONS
+
+## SEE ALSO
+
+catlfish(1)
-- 
cgit v1.1