diff '--exclude=.vcs' -uNr ./.vcs/ref/COPYING ./COPYING
--- ./.vcs/ref/COPYING	1970-01-01 10:00:00.000000000 +1000
+++ ./COPYING	2020-05-01 19:32:50.602005468 +1000
@@ -0,0 +1,31 @@
+Copyright (c) 2020 Oreamnos, All rights reserved.
+
+Redistribution and use in source and binary forms, without modification, are 
+permitted provided that the following conditions are met:
+	
+	1. Redistributions of source code must retain the above copyright 
+notice, this list of conditions and the following disclaimer.
+
+	2. Redistributions in binary form must reproduce the above copyright 
+notice, this list of conditions and the following disclaimer in the 
+documentation and/or other materials provided with the distribution.
+
+	3. Neither the name of the copyright holder nor the names of its 
+contributors may be used to endorse or promote products derived from this 
+software without specific prior written permission.
+
+Redistribution and use in source and binary forms, with modification, are 
+permitted provided that the following conditions are met:
+
+	1. Said modifications are subject to the terms of this license.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff '--exclude=.vcs' -uNr ./.vcs/ref/readme ./readme
--- ./.vcs/ref/readme	1970-01-01 10:00:00.000000000 +1000
+++ ./readme	2020-05-02 10:01:01.070810796 +1000
@@ -0,0 +1,25 @@
+Shit
+====
+Shit (Shit hopefully isn't troff) is a typesetting/documenting system, inspired by troff.
+
+Installation
+============
+make install
+
+Usage
+=====
+shit < file.shit | output-format > file.whatever
+
+Contributing
+============
+Contribution is welcome,
+Email me a patch, explaining what is does, and your reasoning
+
+Contacting
+==========
+You can find my contact information at:
+gopher://tilde.club/1/~oreamnos
+
+License
+=======
+See COPYING file
diff '--exclude=.vcs' -uNr ./.vcs/ref/shit ./shit
--- ./.vcs/ref/shit	1970-01-01 10:00:00.000000000 +1000
+++ ./shit	2020-05-02 09:17:56.300697732 +1000
@@ -0,0 +1,75 @@
+#!/usr/bin/awk -f
+
+BEGIN {
+	FS="\n"
+	italic=0;
+	bold=0;
+	underline=0
+}
+
+{
+	for(i=1; i<=NF; i++)
+	{
+		if (substr($0,1) ~ /[.]/) {
+			printf "macr ";
+			print substr($0,2)
+		} else {
+			printf "text ";
+			split($i, chars, "")
+			for (x=1; x <= length($i); x++) {
+				if (substr(chars[x],1) ~ /\\/) {
+					x++
+					printf("%s", chars[x])
+				}
+				else if (substr(chars[x],1) ~ /\*/) {
+					if (italic == 0) {
+						italic=1;
+						printf("\nsita\ntext ")
+					} else {
+						italic=0
+						printf("\neita\ntext ")
+					}
+					
+				}
+				else if (substr(chars[x],1) ~ /&/) {
+					if (bold == 0) {
+						bold=1;
+						printf("\nsbld\ntext ")
+					} else {
+						bold=0
+						printf("\nebld\ntext ")
+					}
+					
+				}
+				else if (substr(chars[x],1) ~ /_/) {
+					if (underline == 0) {
+						underline=1;
+						printf("\nsund\ntext ")
+					} else {
+						underline=0
+						printf("\neund\ntext ")
+					}
+					
+				}
+				else if (substr(chars[x],1) ~ /-/) {
+					if (underline == 0) {
+						underline=1;
+						printf("\nsstk\ntext ")
+					} else {
+						underline=0
+						printf("\nestk\ntext ")
+					}
+					
+				}
+				else {
+					printf("%s", chars[x])
+				}
+			}
+			printf("\n")
+		}
+	}
+}
+
+END {
+	printf("EOF")
+}
\ No newline at end of file
diff '--exclude=.vcs' -uNr ./.vcs/ref/shit2html ./shit2html
--- ./.vcs/ref/shit2html	1970-01-01 10:00:00.000000000 +1000
+++ ./shit2html	2020-05-02 09:39:12.117420132 +1000
@@ -0,0 +1,106 @@
+#!/usr/bin/awk -f
+
+BEGIN {
+	FS=" "
+	LF=1
+}
+
+function paragraph() {
+	printf("<p>\n")
+	while (1) {
+		getline
+		if (($0 == "EOF") || ($0 == "macr PP")) {break}
+		if ($1 == "text") {
+			if (LF == 1) {printf "<br>"}
+			LF = 1
+			# $1 = ""
+			# print
+			for (x=2; x <= NF; x++) {
+				printf("%s", $x)
+				if (x != NF) {printf " "}
+			}
+		}
+		# italics
+		else if ($1 == "sita") {
+			printf(" <i>")
+			LF = 0
+		}
+		else if ($1 == "eita") {
+			printf("</i>")
+			LF = 0
+		}
+		# bold
+		else if ($1 == "sbld") {
+			printf(" <b>")
+			LF = 0
+		}
+		else if ($1 == "ebld") {
+			printf("</b>")
+			LF = 0
+		}
+		# underline
+		else if ($1 == "sund") {
+			printf(" <u>")
+			LF = 0
+		}
+		else if ($1 == "eund") {
+			printf("</u>")
+			LF = 0
+		}
+		# striken
+		else if ($1 == "sstk") {
+			printf(" <del>")
+			LF = 0
+		}
+		else if ($1 == "estk") {
+			printf("</del>")
+			LF = 0
+		}
+		# unordered list
+		else if ($0 == "macr UL") {
+			printf(" <ul>")
+			while (1) {
+				getline
+				if (($0 == "EOF") || ($0 == "macr PP")) {break}
+				if ($0 != "macr UL") {
+					$1=""
+					printf("<li>%s</li>", $0)
+				}
+			}
+			printf("</ul>")
+		}
+		# ordered list
+		else if ($0 == "macr OL") {
+			printf(" <ol>")
+			while (1) {
+				getline
+				if (($0 == "EOF") || ($0 == "macr PP")) {break}
+				if ($0 != "macr OL") {
+					$1=""
+					printf("<li>%s</li>", $0)
+				}
+			}
+			printf("</OL>")
+		}
+	}
+	printf("</p>\n")
+   	return
+}
+
+/^macr TL$/{
+	getline
+	$1 = ""
+	printf("<title>%s</title>\n", $0)
+	printf("<h1>%s</h1>\n", $0)
+}
+
+/^macr AU$/{
+	getline
+	$1 = ""
+	printf("<p>By%s</p>\n", $0)
+}
+
+/^macr PP$/{
+	paragraph()
+	if ($0 == "macr PP") {paragraph()}
+}
\ No newline at end of file
diff '--exclude=.vcs' -uNr ./.vcs/ref/test.shit ./test.shit
--- ./.vcs/ref/test.shit	1970-01-01 10:00:00.000000000 +1000
+++ ./test.shit	2020-05-02 09:39:17.437420366 +1000
@@ -0,0 +1,28 @@
+.TL
+This is my document title
+.AU
+John Doe
+.PP
+This is a paragraph, this is *italic*,
+this is &bold&, this is *&bold and italic&*,
+this is _underlined_,
+this is -striken through-
+
+Here is an unordered list:
+.UL
+Apricots
+.UL
+Bananas
+.UL
+Cherry
+
+.PP
+Here is an ordered list:
+.OL
+Asparagus
+.OL
+Beetroot
+.OL
+Carrot
+.PP
+This is a new paragraph
\ No newline at end of file