fenris commited on 2016-04-22 15:22:02
Zeige 15 geänderte Dateien mit 826 Einfügungen und 47 Löschungen.
| ... | ... |
@@ -38,6 +38,10 @@ class class_command_file_copy(class_command): |
| 38 | 38 |
def __init__(self, parameters): class_command.__init__(self, parameters) |
| 39 | 39 |
def compile_unix(self): return ("cp --recursive %s %s" % (self.parameters["path-from"], self.parameters["path-to"]))
|
| 40 | 40 |
|
| 41 |
+class class_command_file_concat(class_command): |
|
| 42 |
+ def __init__(self, parameters): class_command.__init__(self, parameters) |
|
| 43 |
+ def compile_unix(self): return ("cat %s > %s" % (" ".join(self.parameters["paths-from"]), self.parameters["path-to"]))
|
|
| 44 |
+ |
|
| 41 | 45 |
class class_command_directory_remove(class_command): |
| 42 | 46 |
def __init__(self, parameters): class_command.__init__(self, parameters) |
| 43 | 47 |
def compile_unix(self): return ("rm --recursive --force %s" % (self.parameters["path"]))
|
| ... | ... |
@@ -50,6 +54,14 @@ class class_command_latex_compile(class_command): |
| 50 | 54 |
def __init__(self, parameters): class_command.__init__(self, parameters) |
| 51 | 55 |
def compile_unix(self): return ("xelatex -output-directory=%s %s > /dev/null" % (self.parameters["output"], self.parameters["path"]))
|
| 52 | 56 |
|
| 57 |
+class class_command_php_compile(class_command): |
|
| 58 |
+ def __init__(self, parameters): class_command.__init__(self, parameters) |
|
| 59 |
+ def compile_unix(self): return ("php %s > %s" % (self.parameters["path-from"], self.parameters["path-to"]))
|
|
| 60 |
+ |
|
| 61 |
+class class_command_lessc_compile(class_command): |
|
| 62 |
+ def __init__(self, parameters): class_command.__init__(self, parameters) |
|
| 63 |
+ def compile_unix(self): return ("lessc %s > %s" % (self.parameters["path-from"], self.parameters["path-to"]))
|
|
| 64 |
+ |
|
| 53 | 65 |
|
| 54 | 66 |
|
| 55 | 67 |
def main(): |
| ... | ... |
@@ -61,24 +73,26 @@ def main(): |
| 61 | 73 |
} |
| 62 | 74 |
|
| 63 | 75 |
texs = [ |
| 64 |
- os.path.join(dirs["source"],"tex","folksprak.tex"), |
|
| 65 |
- os.path.join(dirs["source"],"tex","packages.tex"), |
|
| 66 |
- os.path.join(dirs["source"],"tex","settings.tex"), |
|
| 67 |
- os.path.join(dirs["source"],"tex","meta.tex"), |
|
| 68 |
- os.path.join(dirs["source"],"tex","commands.tex"), |
|
| 69 |
- os.path.join(dirs["source"],"tex","preface.tex"), |
|
| 70 |
- os.path.join(dirs["source"],"tex","grammar.tex"), |
|
| 71 |
- os.path.join(dirs["source"],"tex","phonology_and_orthography.tex"), |
|
| 72 |
- os.path.join(dirs["source"],"tex","conjugation.tex"), |
|
| 73 |
- os.path.join(dirs["source"],"tex","declension.tex"), |
|
| 74 |
- os.path.join(dirs["source"],"tex","attributes.tex"), |
|
| 76 |
+ os.path.join(dirs["source"],"html.php","folksprak.html.php"), |
|
| 77 |
+ os.path.join(dirs["source"],"html.php","meta.html.php"), |
|
| 78 |
+ os.path.join(dirs["source"],"html.php","preface.html.php"), |
|
| 79 |
+ os.path.join(dirs["source"],"html.php","grammar.html.php"), |
|
| 80 |
+ os.path.join(dirs["source"],"html.php","phonology_and_orthography.html.php"), |
|
| 81 |
+ os.path.join(dirs["source"],"html.php","pronouns.html.php"), |
|
| 82 |
+ os.path.join(dirs["source"],"html.php","conjugation.html.php"), |
|
| 83 |
+ os.path.join(dirs["source"],"html.php","declension.html.php"), |
|
| 84 |
+ os.path.join(dirs["source"],"html.php","attributes.html.php"), |
|
| 75 | 85 |
] |
| 76 | 86 |
|
| 77 | 87 |
rules = [] |
| 78 | 88 |
rules.append( |
| 79 | 89 |
class_rule( |
| 80 | 90 |
"all", |
| 81 |
- [os.path.join(dirs["build"],"folksprak.pdf")], |
|
| 91 |
+ [ |
|
| 92 |
+ os.path.join(dirs["build"],"folksprak.html"), |
|
| 93 |
+ os.path.join(dirs["build"],"folksprak.css"), |
|
| 94 |
+ os.path.join(dirs["build"],"logo.svg"), |
|
| 95 |
+ ], |
|
| 82 | 96 |
[], |
| 83 | 97 |
True |
| 84 | 98 |
) |
| ... | ... |
@@ -109,55 +123,61 @@ def main(): |
| 109 | 123 |
) |
| 110 | 124 |
rules.append( |
| 111 | 125 |
class_rule( |
| 112 |
- os.path.join(dirs["temp"],"media","logo.pdf"), |
|
| 113 |
- [os.path.join(dirs["source"],"media","logo.svg")], |
|
| 126 |
+ os.path.join(dirs["build"],"folksprak.html"), |
|
| 127 |
+ texs, |
|
| 114 | 128 |
[ |
| 115 | 129 |
class_command_log({
|
| 116 |
- "message": "converting logo ..." |
|
| 130 |
+ "message": "compiling document ..." |
|
| 117 | 131 |
}), |
| 118 | 132 |
class_command_directory_create({
|
| 119 |
- "path": os.path.join(dirs["temp"],"media"), |
|
| 133 |
+ "path": dirs["build"], |
|
| 120 | 134 |
}), |
| 121 |
- class_command_image_convert({
|
|
| 122 |
- "path-from": os.path.join(dirs["source"],"media","logo.svg"), |
|
| 123 |
- "path-to": os.path.join(dirs["temp"],"media","logo.pdf"), |
|
| 135 |
+ class_command_php_compile({
|
|
| 136 |
+ "path-from": os.path.join(dirs["source"],"html.php","folksprak.html.php"), |
|
| 137 |
+ "path-to": os.path.join(dirs["build"],"folksprak.html"), |
|
| 124 | 138 |
}), |
| 125 | 139 |
] |
| 126 | 140 |
) |
| 127 | 141 |
) |
| 128 | 142 |
rules.append( |
| 129 | 143 |
class_rule( |
| 130 |
- os.path.join(dirs["temp"],"folksprak.pdf"), |
|
| 131 |
- texs + [os.path.join(dirs["temp"],"media","logo.pdf")], |
|
| 144 |
+ os.path.join(dirs["build"],"logo.svg"), |
|
| 145 |
+ [os.path.join(dirs["source"],"media","logo.svg")], |
|
| 132 | 146 |
[ |
| 133 | 147 |
class_command_log({
|
| 134 |
- "message": "compiling document ..." |
|
| 148 |
+ "message": "copying logo ..." |
|
| 135 | 149 |
}), |
| 136 | 150 |
class_command_directory_create({
|
| 137 |
- "path": dirs["temp"], |
|
| 138 |
- }), |
|
| 139 |
- class_command_latex_compile({
|
|
| 140 |
- "path": os.path.join(dirs["source"],"tex","folksprak.tex"), |
|
| 141 |
- "output": os.path.join(dirs["temp"]), |
|
| 151 |
+ "path": dirs["build"], |
|
| 142 | 152 |
}), |
| 143 |
- class_command_latex_compile({
|
|
| 144 |
- "path": os.path.join(dirs["source"],"tex","folksprak.tex"), |
|
| 145 |
- "output": os.path.join(dirs["temp"]), |
|
| 153 |
+ class_command_file_copy({
|
|
| 154 |
+ "path-from": os.path.join(dirs["source"],"media","logo.svg"), |
|
| 155 |
+ "path-to": os.path.join(dirs["build"],"logo.svg"), |
|
| 146 | 156 |
}), |
| 147 | 157 |
] |
| 148 | 158 |
) |
| 149 | 159 |
) |
| 150 | 160 |
rules.append( |
| 151 | 161 |
class_rule( |
| 152 |
- os.path.join(dirs["build"],"folksprak.pdf"), |
|
| 153 |
- [os.path.join(dirs["temp"],"folksprak.pdf")], |
|
| 162 |
+ os.path.join(dirs["build"],"folksprak.css"), |
|
| 163 |
+ [os.path.join(dirs["source"],"less","common.less"), os.path.join(dirs["source"],"less","concrete.less")], |
|
| 154 | 164 |
[ |
| 165 |
+ class_command_log({
|
|
| 166 |
+ "message": "compiling style ..." |
|
| 167 |
+ }), |
|
| 168 |
+ class_command_directory_create({
|
|
| 169 |
+ "path": os.path.join(dirs["temp"]), |
|
| 170 |
+ }), |
|
| 171 |
+ class_command_file_concat({
|
|
| 172 |
+ "paths-from": [os.path.join(dirs["source"],"less","common.less"), os.path.join(dirs["source"],"less","concrete.less")], |
|
| 173 |
+ "path-to": os.path.join(dirs["temp"],"folksprak.less"), |
|
| 174 |
+ }), |
|
| 155 | 175 |
class_command_directory_create({
|
| 156 | 176 |
"path": os.path.join(dirs["build"]), |
| 157 | 177 |
}), |
| 158 |
- class_command_file_copy({
|
|
| 159 |
- "path-from": os.path.join(dirs["temp"],"folksprak.pdf"), |
|
| 160 |
- "path-to": os.path.join(dirs["build"],"folksprak.pdf"), |
|
| 178 |
+ class_command_lessc_compile({
|
|
| 179 |
+ "path-from": os.path.join(dirs["temp"],"folksprak.less"), |
|
| 180 |
+ "path-to": os.path.join(dirs["build"],"folksprak.css"), |
|
| 161 | 181 |
}), |
| 162 | 182 |
] |
| 163 | 183 |
) |
| ... | ... |
@@ -0,0 +1,171 @@ |
| 1 |
+import os |
|
| 2 |
+import sys |
|
| 3 |
+ |
|
| 4 |
+ |
|
| 5 |
+class class_rule(object): |
|
| 6 |
+ |
|
| 7 |
+ def __init__(self, name, dependencies, commands, phony = False): |
|
| 8 |
+ self.name = name |
|
| 9 |
+ self.dependencies = dependencies |
|
| 10 |
+ self.commands = commands |
|
| 11 |
+ self.phony = phony |
|
| 12 |
+ |
|
| 13 |
+ |
|
| 14 |
+ def __str__(self): |
|
| 15 |
+ output = "" |
|
| 16 |
+ output += "%s: %s\n" % (self.name, " ".join(self.dependencies)) |
|
| 17 |
+ for command in self.commands: |
|
| 18 |
+ output += ("\t@ %s\n" % (command.compile_unix()))
|
|
| 19 |
+ if (self.phony): output += (".PHONY: %s\n" % self.name)
|
|
| 20 |
+ return output |
|
| 21 |
+ |
|
| 22 |
+ |
|
| 23 |
+ |
|
| 24 |
+class class_command(object): |
|
| 25 |
+ def __init__(self, parameters): self.parameters = parameters |
|
| 26 |
+ def compile_unix(self): raise NotImplementedError |
|
| 27 |
+ def compile_ant(self): raise NotImplementedError |
|
| 28 |
+ |
|
| 29 |
+class class_command_log(class_command): |
|
| 30 |
+ def __init__(self, parameters): class_command.__init__(self, parameters) |
|
| 31 |
+ def compile_unix(self): return ("echo -e '-- %s'" % (self.parameters["message"]))
|
|
| 32 |
+ |
|
| 33 |
+class class_command_directory_create(class_command): |
|
| 34 |
+ def __init__(self, parameters): class_command.__init__(self, parameters) |
|
| 35 |
+ def compile_unix(self): return ("mkdir --parents %s" % (self.parameters["path"]))
|
|
| 36 |
+ |
|
| 37 |
+class class_command_file_copy(class_command): |
|
| 38 |
+ def __init__(self, parameters): class_command.__init__(self, parameters) |
|
| 39 |
+ def compile_unix(self): return ("cp --recursive %s %s" % (self.parameters["path-from"], self.parameters["path-to"]))
|
|
| 40 |
+ |
|
| 41 |
+class class_command_directory_remove(class_command): |
|
| 42 |
+ def __init__(self, parameters): class_command.__init__(self, parameters) |
|
| 43 |
+ def compile_unix(self): return ("rm --recursive --force %s" % (self.parameters["path"]))
|
|
| 44 |
+ |
|
| 45 |
+class class_command_image_convert(class_command): |
|
| 46 |
+ def __init__(self, parameters): class_command.__init__(self, parameters) |
|
| 47 |
+ def compile_unix(self): return ("convert %s %s" % (self.parameters["path-from"], self.parameters["path-to"]))
|
|
| 48 |
+ |
|
| 49 |
+class class_command_latex_compile(class_command): |
|
| 50 |
+ def __init__(self, parameters): class_command.__init__(self, parameters) |
|
| 51 |
+ def compile_unix(self): return ("xelatex -output-directory=%s %s > /dev/null" % (self.parameters["output"], self.parameters["path"]))
|
|
| 52 |
+ |
|
| 53 |
+ |
|
| 54 |
+ |
|
| 55 |
+def main(): |
|
| 56 |
+ |
|
| 57 |
+ dirs = {
|
|
| 58 |
+ "source": "source", |
|
| 59 |
+ "temp": "temp", |
|
| 60 |
+ "build": "build", |
|
| 61 |
+ } |
|
| 62 |
+ |
|
| 63 |
+ texs = [ |
|
| 64 |
+ os.path.join(dirs["source"],"tex","folksprak.tex"), |
|
| 65 |
+ os.path.join(dirs["source"],"tex","packages.tex"), |
|
| 66 |
+ os.path.join(dirs["source"],"tex","settings.tex"), |
|
| 67 |
+ os.path.join(dirs["source"],"tex","meta.tex"), |
|
| 68 |
+ os.path.join(dirs["source"],"tex","commands.tex"), |
|
| 69 |
+ os.path.join(dirs["source"],"tex","preface.tex"), |
|
| 70 |
+ os.path.join(dirs["source"],"tex","grammar.tex"), |
|
| 71 |
+ os.path.join(dirs["source"],"tex","phonology_and_orthography.tex"), |
|
| 72 |
+ os.path.join(dirs["source"],"tex","conjugation.tex"), |
|
| 73 |
+ os.path.join(dirs["source"],"tex","declension.tex"), |
|
| 74 |
+ os.path.join(dirs["source"],"tex","attributes.tex"), |
|
| 75 |
+ ] |
|
| 76 |
+ |
|
| 77 |
+ rules = [] |
|
| 78 |
+ rules.append( |
|
| 79 |
+ class_rule( |
|
| 80 |
+ "all", |
|
| 81 |
+ [os.path.join(dirs["build"],"folksprak.pdf")], |
|
| 82 |
+ [], |
|
| 83 |
+ True |
|
| 84 |
+ ) |
|
| 85 |
+ ) |
|
| 86 |
+ rules.append( |
|
| 87 |
+ class_rule( |
|
| 88 |
+ "clean", |
|
| 89 |
+ [], |
|
| 90 |
+ [ |
|
| 91 |
+ class_command_directory_remove({
|
|
| 92 |
+ "path": dirs["temp"], |
|
| 93 |
+ }), |
|
| 94 |
+ ], |
|
| 95 |
+ True |
|
| 96 |
+ ) |
|
| 97 |
+ ) |
|
| 98 |
+ rules.append( |
|
| 99 |
+ class_rule( |
|
| 100 |
+ "clear", |
|
| 101 |
+ ["clean"], |
|
| 102 |
+ [ |
|
| 103 |
+ class_command_directory_remove({
|
|
| 104 |
+ "path": dirs["build"], |
|
| 105 |
+ }), |
|
| 106 |
+ ], |
|
| 107 |
+ True |
|
| 108 |
+ ) |
|
| 109 |
+ ) |
|
| 110 |
+ rules.append( |
|
| 111 |
+ class_rule( |
|
| 112 |
+ os.path.join(dirs["temp"],"media","logo.pdf"), |
|
| 113 |
+ [os.path.join(dirs["source"],"media","logo.svg")], |
|
| 114 |
+ [ |
|
| 115 |
+ class_command_log({
|
|
| 116 |
+ "message": "converting logo ..." |
|
| 117 |
+ }), |
|
| 118 |
+ class_command_directory_create({
|
|
| 119 |
+ "path": os.path.join(dirs["temp"],"media"), |
|
| 120 |
+ }), |
|
| 121 |
+ class_command_image_convert({
|
|
| 122 |
+ "path-from": os.path.join(dirs["source"],"media","logo.svg"), |
|
| 123 |
+ "path-to": os.path.join(dirs["temp"],"media","logo.pdf"), |
|
| 124 |
+ }), |
|
| 125 |
+ ] |
|
| 126 |
+ ) |
|
| 127 |
+ ) |
|
| 128 |
+ rules.append( |
|
| 129 |
+ class_rule( |
|
| 130 |
+ os.path.join(dirs["temp"],"folksprak.pdf"), |
|
| 131 |
+ texs + [os.path.join(dirs["temp"],"media","logo.pdf")], |
|
| 132 |
+ [ |
|
| 133 |
+ class_command_log({
|
|
| 134 |
+ "message": "compiling document ..." |
|
| 135 |
+ }), |
|
| 136 |
+ class_command_directory_create({
|
|
| 137 |
+ "path": dirs["temp"], |
|
| 138 |
+ }), |
|
| 139 |
+ class_command_latex_compile({
|
|
| 140 |
+ "path": os.path.join(dirs["source"],"tex","folksprak.tex"), |
|
| 141 |
+ "output": os.path.join(dirs["temp"]), |
|
| 142 |
+ }), |
|
| 143 |
+ class_command_latex_compile({
|
|
| 144 |
+ "path": os.path.join(dirs["source"],"tex","folksprak.tex"), |
|
| 145 |
+ "output": os.path.join(dirs["temp"]), |
|
| 146 |
+ }), |
|
| 147 |
+ ] |
|
| 148 |
+ ) |
|
| 149 |
+ ) |
|
| 150 |
+ rules.append( |
|
| 151 |
+ class_rule( |
|
| 152 |
+ os.path.join(dirs["build"],"folksprak.pdf"), |
|
| 153 |
+ [os.path.join(dirs["temp"],"folksprak.pdf")], |
|
| 154 |
+ [ |
|
| 155 |
+ class_command_directory_create({
|
|
| 156 |
+ "path": os.path.join(dirs["build"]), |
|
| 157 |
+ }), |
|
| 158 |
+ class_command_file_copy({
|
|
| 159 |
+ "path-from": os.path.join(dirs["temp"],"folksprak.pdf"), |
|
| 160 |
+ "path-to": os.path.join(dirs["build"],"folksprak.pdf"), |
|
| 161 |
+ }), |
|
| 162 |
+ ] |
|
| 163 |
+ ) |
|
| 164 |
+ ) |
|
| 165 |
+ |
|
| 166 |
+ for rule in rules: print(rule) |
|
| 167 |
+ sys.stderr.write("\n[information]\tThe output of this script is meant to be redirected into a GNU-makefile\n")
|
|
| 168 |
+ |
|
| 169 |
+ |
|
| 170 |
+main() |
|
| 171 |
+ |
| ... | ... |
@@ -1,4 +1,4 @@ |
| 1 |
-all: build/folksprak.pdf |
|
| 1 |
+all: build/folksprak.html build/folksprak.css build/logo.svg |
|
| 2 | 2 |
.PHONY: all |
| 3 | 3 |
|
| 4 | 4 |
clean: |
| ... | ... |
@@ -9,18 +9,20 @@ clear: clean |
| 9 | 9 |
@ rm --recursive --force build |
| 10 | 10 |
.PHONY: clear |
| 11 | 11 |
|
| 12 |
-temp/media/logo.pdf: source/media/logo.svg |
|
| 13 |
- @ echo -e '-- converting logo ...' |
|
| 14 |
- @ mkdir --parents temp/media |
|
| 15 |
- @ convert source/media/logo.svg temp/media/logo.pdf |
|
| 16 |
- |
|
| 17 |
-temp/folksprak.pdf: source/tex/folksprak.tex source/tex/packages.tex source/tex/settings.tex source/tex/meta.tex source/tex/commands.tex source/tex/preface.tex source/tex/grammar.tex source/tex/phonology_and_orthography.tex source/tex/conjugation.tex source/tex/declension.tex source/tex/attributes.tex temp/media/logo.pdf |
|
| 12 |
+build/folksprak.html: source/html.php/folksprak.html.php source/html.php/meta.html.php source/html.php/preface.html.php source/html.php/grammar.html.php source/html.php/phonology_and_orthography.html.php source/html.php/pronouns.html.php source/html.php/conjugation.html.php source/html.php/declension.html.php source/html.php/attributes.html.php |
|
| 18 | 13 |
@ echo -e '-- compiling document ...' |
| 19 |
- @ mkdir --parents temp |
|
| 20 |
- @ xelatex -output-directory=temp source/tex/folksprak.tex > /dev/null |
|
| 21 |
- @ xelatex -output-directory=temp source/tex/folksprak.tex > /dev/null |
|
| 14 |
+ @ mkdir --parents build |
|
| 15 |
+ @ php source/html.php/folksprak.html.php > build/folksprak.html |
|
| 22 | 16 |
|
| 23 |
-build/folksprak.pdf: temp/folksprak.pdf |
|
| 17 |
+build/logo.svg: source/media/logo.svg |
|
| 18 |
+ @ echo -e '-- copying logo ...' |
|
| 19 |
+ @ mkdir --parents build |
|
| 20 |
+ @ cp --recursive source/media/logo.svg build/logo.svg |
|
| 21 |
+ |
|
| 22 |
+build/folksprak.css: source/less/common.less source/less/concrete.less |
|
| 23 |
+ @ echo -e '-- compiling style ...' |
|
| 24 |
+ @ mkdir --parents temp |
|
| 25 |
+ @ cat source/less/common.less source/less/concrete.less > temp/folksprak.less |
|
| 24 | 26 |
@ mkdir --parents build |
| 25 |
- @ cp --recursive temp/folksprak.pdf build/folksprak.pdf |
|
| 27 |
+ @ lessc temp/folksprak.less > build/folksprak.css |
|
| 26 | 28 |
|
| ... | ... |
@@ -0,0 +1,23 @@ |
| 1 |
+<section class="section" id="grammar/conjugation"> |
|
| 2 |
+ <header>Conjugation</header> |
|
| 3 |
+ <section class="subsection" id="conjugation/infinite_verbforms"> |
|
| 4 |
+ <header>Infinite Verbforms</header> |
|
| 5 |
+ <p>The <span class="grammarterm">infinitive</span> is formed by appending <span class="word_fs">-a</span> to the verb-stem, e.g. <span class="word_fs">skriva</span> ~ <span class="word_en">to write</span>.</p> |
|
| 6 |
+ <p>The <span class="grammarterm">active participle</span> is formed by appending <span class="word_fs">-end</span> to the verb-stem, e.g. <span class="word_fs">skrivend</span> ~ <span class="word_en">writing</span>.</p> |
|
| 7 |
+ <p>The <span class="grammarterm">passive participle</span> is formed by appending <span class="word_fs">-et</span> to the verb-stem, e.g. <span class="word_fs">skrivet</span> ~ <span class="word_en">written</span>.</p> |
|
| 8 |
+ </section> |
|
| 9 |
+ <section class="subsection" id="conjugation/personae_numeri"> |
|
| 10 |
+ <header>Personae and Numeri</header> |
|
| 11 |
+ <p>There is no change in the verb for conjugating according to person and count</p> |
|
| 12 |
+ <p>Example: <span class="word_fs">ek skriv</span> ~ <span class="word_en">i write</span>, <span class="word_fs">du skriv</span> ~ <span class="word_en">you write</span>, <span class="word_fs">hi skriv</span> ~ <span class="word_en">he writes</span></p> |
|
| 13 |
+ </section> |
|
| 14 |
+ <section class="subsection" id="conjugation/tempora"> |
|
| 15 |
+ <header>Tempora</header> |
|
| 16 |
+ <span class="todo">all</span> |
|
| 17 |
+ </section> |
|
| 18 |
+ <section class="subsection" id="conjugation/modi"> |
|
| 19 |
+ <header>Modi</header> |
|
| 20 |
+ <span class="todo">all</span> |
|
| 21 |
+ </section> |
|
| 22 |
+</section> |
|
| 23 |
+ |
| ... | ... |
@@ -0,0 +1,27 @@ |
| 1 |
+<!DOCTYPE HTML> |
|
| 2 |
+<html> |
|
| 3 |
+ <head> |
|
| 4 |
+ <meta charset="utf-8"/> |
|
| 5 |
+ <?php include("source/html.php/meta.html.php"); ?>
|
|
| 6 |
+ <link rel="stylesheet" type="text/css" href="folksprak.css"/> |
|
| 7 |
+ </head> |
|
| 8 |
+ <body> |
|
| 9 |
+ <div id="mid"> |
|
| 10 |
+ <div id="title"> |
|
| 11 |
+ <header>Folksprak Draft</header> |
|
| 12 |
+ <div id="logo"> |
|
| 13 |
+ <img src="logo.svg" alt="[logo]"/> |
|
| 14 |
+ </div> |
|
| 15 |
+ </div> |
|
| 16 |
+ <!-- |
|
| 17 |
+ titlepage |
|
| 18 |
+ --> |
|
| 19 |
+ <?php include("source/html.php/preface.html.php"); ?>
|
|
| 20 |
+ <!-- |
|
| 21 |
+ toc |
|
| 22 |
+ --> |
|
| 23 |
+ <?php include("source/html.php/grammar.html.php"); ?>
|
|
| 24 |
+ </div> |
|
| 25 |
+ </body> |
|
| 26 |
+</html> |
|
| 27 |
+ |
| ... | ... |
@@ -0,0 +1,9 @@ |
| 1 |
+<section class="chapter" id="grammar"> |
|
| 2 |
+ <header>Grammar</header> |
|
| 3 |
+ <?php include("source/html.php/phonology_and_orthography.html.php"); ?>
|
|
| 4 |
+ <?php include("source/html.php/pronouns.html.php"); ?>
|
|
| 5 |
+ <?php include("source/html.php/conjugation.html.php"); ?>
|
|
| 6 |
+ <?php include("source/html.php/declension.html.php"); ?>
|
|
| 7 |
+ <?php include("source/html.php/attributes.html.php"); ?>
|
|
| 8 |
+</section> |
|
| 9 |
+ |
| ... | ... |
@@ -0,0 +1,138 @@ |
| 1 |
+<section class="section" id="grammar/phonology_and_orthography"> |
|
| 2 |
+ <header>Phonology and Orthography</header> |
|
| 3 |
+ <p>Folksprak uses the following characters as letters:</pa> |
|
| 4 |
+ <table> |
|
| 5 |
+ <thead> |
|
| 6 |
+ <tr> |
|
| 7 |
+ <th>IPA-sound</th> |
|
| 8 |
+ <th>Latin letter Representation</th> |
|
| 9 |
+ <th>Runic Representation</th> |
|
| 10 |
+ </tr> |
|
| 11 |
+ </thead> |
|
| 12 |
+ <tbody> |
|
| 13 |
+ <tr class="splitter"><td></td><td></td><td></td></tr> |
|
| 14 |
+ <tr> |
|
| 15 |
+ <td><span class="ipa">l</span></td> |
|
| 16 |
+ <td><span class="word_fs">L</span>/<span class="word_fs">l</span></td> |
|
| 17 |
+ <td><span class="word_fs">ᛚ</span></td> |
|
| 18 |
+ </tr> |
|
| 19 |
+ <tr class="splitter"><td></td><td></td><td></td></tr> |
|
| 20 |
+ <tr> |
|
| 21 |
+ <td><span class="ipa">m</span></td> |
|
| 22 |
+ <td><span class="word_fs">M</span>/<span class="word_fs">m</span></td> |
|
| 23 |
+ <td><span class="word_fs">ᛗ</span></td> |
|
| 24 |
+ </tr> |
|
| 25 |
+ <tr> |
|
| 26 |
+ <td><span class="ipa">n</span></td> |
|
| 27 |
+ <td><span class="word_fs">N</span>/<span class="word_fs">n</span></td> |
|
| 28 |
+ <td><span class="word_fs">ᚾ</span></td> |
|
| 29 |
+ </tr> |
|
| 30 |
+ <tr> |
|
| 31 |
+ <td><span class="ipa">ŋ</span></td> |
|
| 32 |
+ <td><span class="word_fs">Ng</span>/<span class="word_fs">ng</span></td> |
|
| 33 |
+ <td><span class="word_fs">ᛜ</span></td> |
|
| 34 |
+ </tr> |
|
| 35 |
+ <tr class="splitter"><td></td><td></td><td></td></tr> |
|
| 36 |
+ <tr> |
|
| 37 |
+ <td><span class="ipa">g</span></td> |
|
| 38 |
+ <td><span class="word_fs">G</span>/<span class="word_fs">g</span></td> |
|
| 39 |
+ <td><span class="word_fs">ᚷ</span></td> |
|
| 40 |
+ </tr> |
|
| 41 |
+ <tr> |
|
| 42 |
+ <td><span class="ipa">k</span></td> |
|
| 43 |
+ <td><span class="word_fs">K</span>/<span class="word_fs">k</span></td> |
|
| 44 |
+ <td><span class="word_fs">ᚲ</span></td> |
|
| 45 |
+ </tr> |
|
| 46 |
+ <tr> |
|
| 47 |
+ <td><span class="ipa">b</span></td> |
|
| 48 |
+ <td><span class="word_fs">B</span>/<span class="word_fs">b</span></td> |
|
| 49 |
+ <td><span class="word_fs">ᛒ</span></td> |
|
| 50 |
+ </tr> |
|
| 51 |
+ <tr> |
|
| 52 |
+ <td><span class="ipa">p</span></td> |
|
| 53 |
+ <td><span class="word_fs">P</span>/<span class="word_fs">p</span></td> |
|
| 54 |
+ <td><span class="word_fs">ᛈ</span></td> |
|
| 55 |
+ </tr> |
|
| 56 |
+ <tr> |
|
| 57 |
+ <td><span class="ipa">d</span></td> |
|
| 58 |
+ <td><span class="word_fs">D</span>/<span class="word_fs">d</span></td> |
|
| 59 |
+ <td><span class="word_fs">ᛞ</span></td> |
|
| 60 |
+ </tr> |
|
| 61 |
+ <tr> |
|
| 62 |
+ <td><span class="ipa">t</span></td> |
|
| 63 |
+ <td><span class="word_fs">T</span>/<span class="word_fs">t</span></td> |
|
| 64 |
+ <td><span class="word_fs">ᛏ</span></td> |
|
| 65 |
+ </tr> |
|
| 66 |
+ <tr class="splitter"><td></td><td></td><td></td></tr> |
|
| 67 |
+ <tr> |
|
| 68 |
+ <td><span class="ipa">v</span></td> |
|
| 69 |
+ <td><span class="word_fs">V</span>/<span class="word_fs">v</span></td> |
|
| 70 |
+ <td><span class="word_fs">ᚹ</span></td> |
|
| 71 |
+ </tr> |
|
| 72 |
+ <tr> |
|
| 73 |
+ <td><span class="ipa">f</span></td> |
|
| 74 |
+ <td><span class="word_fs">F</span>/<span class="word_fs">f</span></td> |
|
| 75 |
+ <td><span class="word_fs">ᚠ</span></td> |
|
| 76 |
+ </tr> |
|
| 77 |
+ <tr> |
|
| 78 |
+ <td><span class="ipa">s</span></td> |
|
| 79 |
+ <td><span class="word_fs">S</span>/<span class="word_fs">s</span></td> |
|
| 80 |
+ <td><span class="word_fs">ᛋ</span></td> |
|
| 81 |
+ </tr> |
|
| 82 |
+ <tr class="splitter"><td></td><td></td><td></td></tr> |
|
| 83 |
+ <tr> |
|
| 84 |
+ <td><span class="ipa">h</span></td> |
|
| 85 |
+ <td><span class="word_fs">H</span>/<span class="word_fs">h</span></td> |
|
| 86 |
+ <td><span class="word_fs">ᚺ</span></td> |
|
| 87 |
+ </tr> |
|
| 88 |
+ <tr> |
|
| 89 |
+ <td><span class="ipa">ɾ</span></td> |
|
| 90 |
+ <td><span class="word_fs">R</span>/<span class="word_fs">r</span></td> |
|
| 91 |
+ <td><span class="word_fs">ᚱ</span></td> |
|
| 92 |
+ </tr> |
|
| 93 |
+ <tr class="splitter"><td></td><td></td><td></td></tr> |
|
| 94 |
+ <tr> |
|
| 95 |
+ <td><span class="ipa">j</span></td> |
|
| 96 |
+ <td><span class="word_fs">J</span>/<span class="word_fs">j</span></td> |
|
| 97 |
+ <td><span class="word_fs">ᛃ</span></td> |
|
| 98 |
+ </tr> |
|
| 99 |
+ <tr class="splitter"><td></td><td></td><td></td></tr> |
|
| 100 |
+ <tr> |
|
| 101 |
+ <td><span class="ipa">i</span></td> |
|
| 102 |
+ <td><span class="word_fs">I</span>/<span class="word_fs">i</span></td> |
|
| 103 |
+ <td><span class="word_fs">ᛁ</span></td> |
|
| 104 |
+ </tr> |
|
| 105 |
+ <tr> |
|
| 106 |
+ <td><span class="ipa">e</span></td> |
|
| 107 |
+ <td><span class="word_fs">E</span>/<span class="word_fs">e</span></td> |
|
| 108 |
+ <td><span class="word_fs">ᛖ</span></td> |
|
| 109 |
+ </tr> |
|
| 110 |
+ <tr> |
|
| 111 |
+ <td><span class="ipa">a</span></td> |
|
| 112 |
+ <td><span class="word_fs">A</span>/<span class="word_fs">a</span></td> |
|
| 113 |
+ <td><span class="word_fs">ᚨ</span></td> |
|
| 114 |
+ </tr> |
|
| 115 |
+ <tr> |
|
| 116 |
+ <td><span class="ipa">o</span></td> |
|
| 117 |
+ <td><span class="word_fs">O</span>/<span class="word_fs">o</span></td> |
|
| 118 |
+ <td><span class="word_fs">ᛟ</span></td> |
|
| 119 |
+ </tr> |
|
| 120 |
+ <tr> |
|
| 121 |
+ <td><span class="ipa">u</span></td> |
|
| 122 |
+ <td><span class="word_fs">U</span>/<span class="word_fs">u</span></td> |
|
| 123 |
+ <td><span class="word_fs">ᚢ</span></td> |
|
| 124 |
+ </tr> |
|
| 125 |
+ <tr> |
|
| 126 |
+ <td><span class="ipa">ø</span></td> |
|
| 127 |
+ <td><span class="word_fs">Oy</span>/<span class="word_fs">oy</span></td> |
|
| 128 |
+ <td><span class="word_fs">ᛟᛇ</span></td> |
|
| 129 |
+ </tr> |
|
| 130 |
+ <tr> |
|
| 131 |
+ <td><span class="ipa">y</span></td> |
|
| 132 |
+ <td><span class="word_fs">Uy</span>/<span class="word_fs">uy</span></td> |
|
| 133 |
+ <td><span class="word_fs">ᚢᛇ</span></td> |
|
| 134 |
+ </tr> |
|
| 135 |
+ </tbody> |
|
| 136 |
+ </table> |
|
| 137 |
+</section> |
|
| 138 |
+ |
| ... | ... |
@@ -0,0 +1,10 @@ |
| 1 |
+<section class="pseudo section" id="preface"> |
|
| 2 |
+ <header>Preface</header> |
|
| 3 |
+ <div class="pseudo subsection" id="prefac/what_is_it_about"> |
|
| 4 |
+ <header>What is it about?</header> |
|
| 5 |
+ <p>Folksprak is the name of a project that aims to construct an inter-Germanic zonal auxiliary language, which means a language that can be easily understood by any speaker of a Germanic language (a group numbering over 465 million native speakers with an additional 300 to 900 million speaking English as a second language) without ever having learned it.</p> |
|
| 6 |
+ <p>Folksprak is not meant to be designed by any one individual, but rather a collective work created by all interested parties; so you're welcome to participate.</p> |
|
| 7 |
+ <p>The content of this document is the result of a collaboration between people from different parts on earth, connected by the internet. Its not a final specification for Folksprak, but a draft as a base to work on. Please let us know what you think about it and how you would improve it! You can find us in the IRC-Channel <code>##folksprak</code> on <a href="irc://irc.freenode.net">irc.freenode.net</a>. You can also write an E-Mail to <a href="mailto:admin@folksprak.org">admin@folksprak.org</a>.</p> |
|
| 8 |
+ </div> |
|
| 9 |
+</section> |
|
| 10 |
+ |
| ... | ... |
@@ -0,0 +1,77 @@ |
| 1 |
+<section class="section" id="grammar/pronouns"> |
|
| 2 |
+ <header>Pronouns</header> |
|
| 3 |
+ <section class="subsection" id="grammar/pronouns/personal_pronouns"> |
|
| 4 |
+ <header>Personal Pronouns</header> |
|
| 5 |
+ <table> |
|
| 6 |
+ <thead> |
|
| 7 |
+ </thead> |
|
| 8 |
+ <tr> |
|
| 9 |
+ <th>Folksprak</th> |
|
| 10 |
+ <th>Description</th> |
|
| 11 |
+ <th>English</th> |
|
| 12 |
+ </tr> |
|
| 13 |
+ <tbody> |
|
| 14 |
+ <tr> |
|
| 15 |
+ <td><span class="word_fs">ek</span></td> |
|
| 16 |
+ <td>1st person singular</td> |
|
| 17 |
+ <td><span class="word_en">i</span></td> |
|
| 18 |
+ </tr> |
|
| 19 |
+ <tr> |
|
| 20 |
+ <td><span class="word_fs">du</span></td> |
|
| 21 |
+ <td>2nd person singular</td> |
|
| 22 |
+ <td><span class="word_en">you</span></td> |
|
| 23 |
+ </tr> |
|
| 24 |
+ <tr> |
|
| 25 |
+ <td><span class="word_fs">han</span></td> |
|
| 26 |
+ <td>3rd person singular common</td> |
|
| 27 |
+ <td>--</td> |
|
| 28 |
+ </tr> |
|
| 29 |
+ <tr> |
|
| 30 |
+ <td><span class="word_fs">hin</span></td> |
|
| 31 |
+ <td>3rd person singular masculine</td> |
|
| 32 |
+ <td><span class="word_en">he</span></td> |
|
| 33 |
+ </tr> |
|
| 34 |
+ <tr> |
|
| 35 |
+ <td><span class="word_fs">hun</span></td> |
|
| 36 |
+ <td>3rd person singular feminine</td> |
|
| 37 |
+ <td><span class="word_en">she</span></td> |
|
| 38 |
+ </tr> |
|
| 39 |
+ <tr> |
|
| 40 |
+ <td><span class="word_fs">het</span></td> |
|
| 41 |
+ <td>3rd person singular neuter</td> |
|
| 42 |
+ <td><span class="word_en">it</span></td> |
|
| 43 |
+ </tr> |
|
| 44 |
+ <tr> |
|
| 45 |
+ <td><span class="word_fs">man</span></td> |
|
| 46 |
+ <td>impersonal singular</td> |
|
| 47 |
+ <td><span class="word_en">one</span>,<span class="word_en">you</span></td> |
|
| 48 |
+ </tr> |
|
| 49 |
+ <tr> |
|
| 50 |
+ <td><span class="word_fs">vi</span></td> |
|
| 51 |
+ <td>1st person plural</td> |
|
| 52 |
+ <td><span class="word_en">we</span></td> |
|
| 53 |
+ </tr> |
|
| 54 |
+ <tr> |
|
| 55 |
+ <td><span class="word_fs">je</span></td> |
|
| 56 |
+ <td>2nd person plural</td> |
|
| 57 |
+ <td><span class="word_en">you (all)</span></td> |
|
| 58 |
+ </tr> |
|
| 59 |
+ <tr> |
|
| 60 |
+ <td><span class="word_fs">di</span></td> |
|
| 61 |
+ <td>3rd person plural</td> |
|
| 62 |
+ <td><span class="word_en">they</span></td> |
|
| 63 |
+ </tr> |
|
| 64 |
+ <tr> |
|
| 65 |
+ <td><span class="word_fs">man</span></td> |
|
| 66 |
+ <td>impersonal plural</td> |
|
| 67 |
+ <td><span class="word_en">they</span>,<span class="word_en">you</span></td> |
|
| 68 |
+ </tr> |
|
| 69 |
+ </tbody> |
|
| 70 |
+ </table> |
|
| 71 |
+ </section> |
|
| 72 |
+ <section class="subsection" id="grammar/pronouns/correlatives"> |
|
| 73 |
+ <header>Correlatives</header> |
|
| 74 |
+ <span class="todo">all</span> |
|
| 75 |
+ </section> |
|
| 76 |
+</section> |
|
| 77 |
+ |
| ... | ... |
@@ -0,0 +1,135 @@ |
| 1 |
+.ipa |
|
| 2 |
+{
|
|
| 3 |
+ &:before |
|
| 4 |
+ {
|
|
| 5 |
+ content: "/"; |
|
| 6 |
+ } |
|
| 7 |
+ |
|
| 8 |
+ &:after |
|
| 9 |
+ {
|
|
| 10 |
+ content: "/"; |
|
| 11 |
+ } |
|
| 12 |
+} |
|
| 13 |
+ |
|
| 14 |
+.grammarterm |
|
| 15 |
+{
|
|
| 16 |
+ text-decoration: underline; |
|
| 17 |
+} |
|
| 18 |
+ |
|
| 19 |
+.word_fs |
|
| 20 |
+{
|
|
| 21 |
+ font-weight: bold; |
|
| 22 |
+} |
|
| 23 |
+ |
|
| 24 |
+.word_en |
|
| 25 |
+{
|
|
| 26 |
+ font-style: italic; |
|
| 27 |
+} |
|
| 28 |
+ |
|
| 29 |
+.todo |
|
| 30 |
+{
|
|
| 31 |
+ &:before |
|
| 32 |
+ {
|
|
| 33 |
+ content: "[ToDo] "; |
|
| 34 |
+ } |
|
| 35 |
+ |
|
| 36 |
+ padding: 4px; |
|
| 37 |
+ background-color: red; |
|
| 38 |
+ color: white; |
|
| 39 |
+ font-weight: bold; |
|
| 40 |
+} |
|
| 41 |
+ |
|
| 42 |
+section |
|
| 43 |
+{
|
|
| 44 |
+ &.chapter |
|
| 45 |
+ {
|
|
| 46 |
+ margin-bottom: 16px; |
|
| 47 |
+ |
|
| 48 |
+ & > header |
|
| 49 |
+ {
|
|
| 50 |
+ font-size: 1.6em; |
|
| 51 |
+ margin-bottom: 6px; |
|
| 52 |
+ } |
|
| 53 |
+ |
|
| 54 |
+ & > * |
|
| 55 |
+ {
|
|
| 56 |
+ margin-left: 12px; |
|
| 57 |
+ } |
|
| 58 |
+ } |
|
| 59 |
+ |
|
| 60 |
+ &.section |
|
| 61 |
+ {
|
|
| 62 |
+ margin-bottom: 14px; |
|
| 63 |
+ |
|
| 64 |
+ & > header |
|
| 65 |
+ {
|
|
| 66 |
+ font-size: 1.4em; |
|
| 67 |
+ margin-bottom: 4px; |
|
| 68 |
+ } |
|
| 69 |
+ |
|
| 70 |
+ & > * |
|
| 71 |
+ {
|
|
| 72 |
+ margin-left: 8px; |
|
| 73 |
+ } |
|
| 74 |
+ } |
|
| 75 |
+ |
|
| 76 |
+ |
|
| 77 |
+ &.subsection |
|
| 78 |
+ {
|
|
| 79 |
+ margin-bottom: 12px; |
|
| 80 |
+ |
|
| 81 |
+ & > header |
|
| 82 |
+ {
|
|
| 83 |
+ font-size: 1.2em; |
|
| 84 |
+ margin-bottom: 2px; |
|
| 85 |
+ } |
|
| 86 |
+ |
|
| 87 |
+ & > * |
|
| 88 |
+ {
|
|
| 89 |
+ margin-left: 4px; |
|
| 90 |
+ } |
|
| 91 |
+ } |
|
| 92 |
+ |
|
| 93 |
+ &.pseudo |
|
| 94 |
+ {
|
|
| 95 |
+ & > header |
|
| 96 |
+ {
|
|
| 97 |
+ font-style: italic; |
|
| 98 |
+ } |
|
| 99 |
+ } |
|
| 100 |
+} |
|
| 101 |
+ |
|
| 102 |
+table |
|
| 103 |
+{
|
|
| 104 |
+ border-collapse: collapse; |
|
| 105 |
+ |
|
| 106 |
+ & tr |
|
| 107 |
+ {
|
|
| 108 |
+ th,td |
|
| 109 |
+ {
|
|
| 110 |
+ border: 1px solid black; |
|
| 111 |
+ } |
|
| 112 |
+ } |
|
| 113 |
+ |
|
| 114 |
+ & tr.splitter |
|
| 115 |
+ {
|
|
| 116 |
+ height: 1px; |
|
| 117 |
+ } |
|
| 118 |
+ |
|
| 119 |
+ & tr:not(.splitter) |
|
| 120 |
+ {
|
|
| 121 |
+ th,td |
|
| 122 |
+ {
|
|
| 123 |
+ font-size: 0.8em; |
|
| 124 |
+ padding: 4px; |
|
| 125 |
+ } |
|
| 126 |
+ } |
|
| 127 |
+} |
|
| 128 |
+ |
|
| 129 |
+a |
|
| 130 |
+{
|
|
| 131 |
+ color: hsv(120, 50%, 50%); |
|
| 132 |
+ text-decoration: none; |
|
| 133 |
+ font-family: monospace; |
|
| 134 |
+} |
|
| 135 |
+ |
| ... | ... |
@@ -0,0 +1,37 @@ |
| 1 |
+body |
|
| 2 |
+{
|
|
| 3 |
+ background-color: hsv(0,0%,80%); |
|
| 4 |
+} |
|
| 5 |
+ |
|
| 6 |
+#mid |
|
| 7 |
+{
|
|
| 8 |
+ background-color: hsv(0,0%,100%); |
|
| 9 |
+ box-shadow: 2px 2px 2px hsv(0,0%,50%); |
|
| 10 |
+ padding: 80px 40px; |
|
| 11 |
+ max-width: 1000px; |
|
| 12 |
+ margin: auto; |
|
| 13 |
+} |
|
| 14 |
+ |
|
| 15 |
+#title |
|
| 16 |
+{
|
|
| 17 |
+ & > header |
|
| 18 |
+ {
|
|
| 19 |
+ font-size: 2.5em; |
|
| 20 |
+ font-weight: bold; |
|
| 21 |
+ margin-bottom: 48px; |
|
| 22 |
+ } |
|
| 23 |
+ |
|
| 24 |
+ & > #logo |
|
| 25 |
+ {
|
|
| 26 |
+ max-width: 480px; |
|
| 27 |
+ margin: auto; |
|
| 28 |
+ |
|
| 29 |
+ & > img |
|
| 30 |
+ {
|
|
| 31 |
+ width: 100%; |
|
| 32 |
+ } |
|
| 33 |
+ } |
|
| 34 |
+ |
|
| 35 |
+ margin-bottom: 36px; |
|
| 36 |
+} |
|
| 37 |
+ |
| ... | ... |
@@ -0,0 +1,117 @@ |
| 1 |
+.ipa |
|
| 2 |
+{
|
|
| 3 |
+ &:before |
|
| 4 |
+ {
|
|
| 5 |
+ content: "/"; |
|
| 6 |
+ } |
|
| 7 |
+ |
|
| 8 |
+ &:after |
|
| 9 |
+ {
|
|
| 10 |
+ content: "/"; |
|
| 11 |
+ } |
|
| 12 |
+} |
|
| 13 |
+ |
|
| 14 |
+.word_fs |
|
| 15 |
+{
|
|
| 16 |
+ font-weight: bold; |
|
| 17 |
+} |
|
| 18 |
+ |
|
| 19 |
+.todo |
|
| 20 |
+{
|
|
| 21 |
+ &:before |
|
| 22 |
+ {
|
|
| 23 |
+ content: "[ToDo] "; |
|
| 24 |
+ } |
|
| 25 |
+ |
|
| 26 |
+ padding: 4px; |
|
| 27 |
+ background-color: red; |
|
| 28 |
+ color: white; |
|
| 29 |
+ font-weight: bold; |
|
| 30 |
+} |
|
| 31 |
+ |
|
| 32 |
+section |
|
| 33 |
+{
|
|
| 34 |
+ &.chapter |
|
| 35 |
+ {
|
|
| 36 |
+ margin-bottom: 16px; |
|
| 37 |
+ |
|
| 38 |
+ & > header |
|
| 39 |
+ {
|
|
| 40 |
+ font-size: 1.6em; |
|
| 41 |
+ margin-bottom: 6px; |
|
| 42 |
+ } |
|
| 43 |
+ |
|
| 44 |
+ & > * |
|
| 45 |
+ {
|
|
| 46 |
+ margin-left: 12px; |
|
| 47 |
+ } |
|
| 48 |
+ } |
|
| 49 |
+ |
|
| 50 |
+ &.section |
|
| 51 |
+ {
|
|
| 52 |
+ margin-bottom: 14px; |
|
| 53 |
+ |
|
| 54 |
+ & > header |
|
| 55 |
+ {
|
|
| 56 |
+ font-size: 1.4em; |
|
| 57 |
+ margin-bottom: 4px; |
|
| 58 |
+ } |
|
| 59 |
+ |
|
| 60 |
+ & > * |
|
| 61 |
+ {
|
|
| 62 |
+ margin-left: 8px; |
|
| 63 |
+ } |
|
| 64 |
+ } |
|
| 65 |
+ |
|
| 66 |
+ |
|
| 67 |
+ &.subsection |
|
| 68 |
+ {
|
|
| 69 |
+ margin-bottom: 12px; |
|
| 70 |
+ |
|
| 71 |
+ & > header |
|
| 72 |
+ {
|
|
| 73 |
+ font-size: 1.2em; |
|
| 74 |
+ margin-bottom: 2px; |
|
| 75 |
+ } |
|
| 76 |
+ |
|
| 77 |
+ & > * |
|
| 78 |
+ {
|
|
| 79 |
+ margin-left: 4px; |
|
| 80 |
+ } |
|
| 81 |
+ } |
|
| 82 |
+ |
|
| 83 |
+ &.pseudo |
|
| 84 |
+ {
|
|
| 85 |
+ & > header |
|
| 86 |
+ {
|
|
| 87 |
+ font-style: italic; |
|
| 88 |
+ } |
|
| 89 |
+ } |
|
| 90 |
+} |
|
| 91 |
+ |
|
| 92 |
+table |
|
| 93 |
+{
|
|
| 94 |
+ border-collapse: collapse; |
|
| 95 |
+} |
|
| 96 |
+ |
|
| 97 |
+th,td |
|
| 98 |
+{
|
|
| 99 |
+ border: 1px solid black; |
|
| 100 |
+ font-size: 0.8em; |
|
| 101 |
+ padding: 4px; |
|
| 102 |
+} |
|
| 103 |
+ |
|
| 104 |
+body |
|
| 105 |
+{
|
|
| 106 |
+ background-color: hsv(0,0%,80%); |
|
| 107 |
+} |
|
| 108 |
+ |
|
| 109 |
+#mid |
|
| 110 |
+{
|
|
| 111 |
+ background-color: hsv(0,0%,100%); |
|
| 112 |
+ box-shadow: 2px 2px 2px hsv(0,0%,50%); |
|
| 113 |
+ padding: 80px 40px; |
|
| 114 |
+ max-width: 1000px; |
|
| 115 |
+ margin: auto; |
|
| 116 |
+} |
|
| 117 |
+ |
|
| 0 | 118 |