summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2016-01-10 17:34:53 +0100
committerMatthias Beyer <mail@beyermatthias.de>2016-01-10 18:07:15 +0100
commit363d611522a382729681c67f11c19b7e044523d2 (patch)
tree3986b55061509f24a57b0774e4c258a4697617ec /doc
parentc53272dce1af34fa26e86afcc6acad3dbb75104e (diff)
Define file format
Diffstat (limited to 'doc')
-rw-r--r--doc/src/02000-store.md34
1 files changed, 34 insertions, 0 deletions
diff --git a/doc/src/02000-store.md b/doc/src/02000-store.md
index 0fa70db0..ec7b09e9 100644
--- a/doc/src/02000-store.md
+++ b/doc/src/02000-store.md
@@ -2,5 +2,39 @@
## File Format {#sec:thestore:fileformat}
+The content in the store MUST BE encoded in either Unicode UTF-8 or ASCII.
+Each "Entry" (File) MUST HAVE a "Header" component as well as a "Content"
+component.
+Each "Entry" in the store MUST start with three single dashes ("-") followed
+by a newline character, named "initial marker" in the following chapter.
+The Header follows the initial marker (@sec:thestore:fileformat:header).
+The Header MUST BE followed by a line which contains three single dashes ("-")
+and a newline character, called "header-close marker" in the following
+chapter.
+The content follows the header-close marker (@sec:thestore:fileformat:content).
+
+### Header Format {#sec:thestore:fileformat:header}
+
+The header format MUST BE "TOML".
+The contents of the header contain
+
+1. A section called "imag", where the automatically by the program generated
+ data goes to.
+ The contents of these sections are edited via commandline calls or by the
+ program implicitely and SHOULD NOT be edited by the user.
+ The section MAY BE empty.
+1. Other OPTIONAL sections which are named and edited by the user. The program
+ MUST NOT touch the contents of these sections, except explicitely asked by
+ the user to do so.
+
+### Content Format {#sec:thestore:fileformat:content}
+
+The content is the part of the file where the user is free to enter any
+textual content.
+The content MAY BE rendered as Markdown or other markup format for the users
+convenience.
+The program SHOULD NOT expect any particular markup format, except explicitely
+configured in the header of the file.
+
## File organization {#sec:thestore:fileorganization}