summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Grunert <Sascha.Grunert@rohde-schwarz.com>2016-09-14 12:43:18 +0200
committerSascha Grunert <Sascha.Grunert@rohde-schwarz.com>2016-09-14 13:21:50 +0200
commitf42739df4917e77cd312760c3d697e62910a1d4e (patch)
tree685222449b9c3eb6e32b52739a2de7a6e16a561c
parentf962808b67afa15ab1c552596026beef670437e5 (diff)
Added first RFC for output templating
-rw-r--r--rfc/0002-output-templating.md32
1 files changed, 32 insertions, 0 deletions
diff --git a/rfc/0002-output-templating.md b/rfc/0002-output-templating.md
new file mode 100644
index 0000000..d322602
--- /dev/null
+++ b/rfc/0002-output-templating.md
@@ -0,0 +1,32 @@
+# Summary
+[summary]: #summary
+
+Providing the possibility to output the parsed git log via custom templates.
+
+# Motivation
+[motivation]: #motivation
+
+Since everyone has a different way in creating a Changelogs there is a more flexible approach needed. A dedicated
+templating engine for the output of git-journal will enable these flexibility.
+
+# Detailed design
+[design]: #detailed-design
+
+Templates are stored as regular toml files and provide additional information to git-journal regarding the output of the
+Changelog. The format of an output template consists of
+[tags](https://github.com/saschagrunert/git-journal/blob/master/rfc/0001-commit-msg.md#tags) and their mapping. An
+example for such a template looks like this:
+
+```toml
+[default]
+
+[tag1]
+name = "Section 1"
+[tag1.subtag1]
+[tag1.subtag2]
+
+[tag2]
+```
+
+Every tag represents a toml table which can be nested as well. The `name` field inside the table maps the related tag to
+a chosen name. The `default` table can be used to specify every commit item which contains no tag at all.