bfadmin-master commited on 2016-04-25 20:27:11
Zeige 30 geänderte Dateien mit 236 Einfügungen und 168 Löschungen.
... | ... |
@@ -81,13 +81,20 @@ def main(): |
81 | 81 |
os.path.join(dirs["source"],"data","correlatives.json"), |
82 | 82 |
] |
83 | 83 |
|
84 |
- parts_logic = [ |
|
84 |
+ parts_logic_server = [ |
|
85 | 85 |
os.path.join(dirs["source"],"logic","server","misc.php"), |
86 | 86 |
os.path.join(dirs["source"],"logic","server","data.php"), |
87 | 87 |
os.path.join(dirs["source"],"logic","server","settings.php"), |
88 | 88 |
os.path.join(dirs["source"],"logic","server","table.php"), |
89 | 89 |
] |
90 | 90 |
|
91 |
+ parts_logic_client = [ |
|
92 |
+ os.path.join(dirs["source"],"logic","client","tools.js"), |
|
93 |
+ os.path.join(dirs["source"],"logic","client","table.js"), |
|
94 |
+ os.path.join(dirs["source"],"logic","client","toc.js"), |
|
95 |
+ os.path.join(dirs["source"],"logic","client","main.js"), |
|
96 |
+ ] |
|
97 |
+ |
|
91 | 98 |
parts_structure = [ |
92 | 99 |
os.path.join(dirs["source"],"structure","draft.html.php"), |
93 | 100 |
os.path.join(dirs["source"],"structure","meta.html.php"), |
... | ... |
@@ -101,6 +108,8 @@ def main(): |
101 | 108 |
os.path.join(dirs["source"],"structure","personal_pronouns.html.php"), |
102 | 109 |
os.path.join(dirs["source"],"structure","correlatives.html.php"), |
103 | 110 |
os.path.join(dirs["source"],"structure","conjugation.html.php"), |
111 |
+ os.path.join(dirs["source"],"structure","infinite_verbforms.html.php"), |
|
112 |
+ os.path.join(dirs["source"],"structure","tempora_and_modi.html.php"), |
|
104 | 113 |
os.path.join(dirs["source"],"structure","declension.html.php"), |
105 | 114 |
os.path.join(dirs["source"],"structure","attributes.html.php"), |
106 | 115 |
os.path.join(dirs["source"],"structure","sentence_structure.html.php"), |
... | ... |
@@ -160,10 +169,10 @@ def main(): |
160 | 169 |
rules.append( |
161 | 170 |
class_rule( |
162 | 171 |
os.path.join(dirs["build"],"draft.html"), |
163 |
- parts_data + parts_logic + parts_structure, |
|
172 |
+ parts_data + parts_logic_server + parts_structure, |
|
164 | 173 |
[ |
165 | 174 |
class_command_log({ |
166 |
- "message": "compiling document ..." |
|
175 |
+ "message": "composing document ..." |
|
167 | 176 |
}), |
168 | 177 |
class_command_directory_create({ |
169 | 178 |
"path": dirs["build"], |
... | ... |
@@ -178,16 +187,16 @@ def main(): |
178 | 187 |
rules.append( |
179 | 188 |
class_rule( |
180 | 189 |
os.path.join(dirs["build"],"draft.js"), |
181 |
- [os.path.join(dirs["source"],"logic","client","draft.js")], |
|
190 |
+ parts_logic_client, |
|
182 | 191 |
[ |
183 | 192 |
class_command_log({ |
184 |
- "message": "copying client-logic ..." |
|
193 |
+ "message": "composing client-logic ..." |
|
185 | 194 |
}), |
186 | 195 |
class_command_directory_create({ |
187 | 196 |
"path": dirs["build"], |
188 | 197 |
}), |
189 |
- class_command_file_copy({ |
|
190 |
- "path-from": os.path.join(dirs["source"],"logic","client","draft.js"), |
|
198 |
+ class_command_file_concat({ |
|
199 |
+ "paths-from": parts_logic_client, |
|
191 | 200 |
"path-to": os.path.join(dirs["build"],"draft.js"), |
192 | 201 |
}), |
193 | 202 |
] |
... | ... |
@@ -9,15 +9,15 @@ clear: clean |
9 | 9 |
@ rm --recursive --force build |
10 | 10 |
.PHONY: clear |
11 | 11 |
|
12 |
-build/draft.html: source/data/phonology_and_orthography.json source/data/personal_pronouns.json source/data/word_functions.json source/data/timeforms.json source/data/adpositions.json source/data/correlatives.json source/logic/server/misc.php source/logic/server/data.php source/logic/server/settings.php source/logic/server/table.php source/structure/draft.html.php source/structure/meta.html.php source/structure/introduction.html.php source/structure/preface.html.php source/structure/key_parameters.html.php source/structure/toc.html.php source/structure/basics.html.php source/structure/phonology_and_orthography.html.php source/structure/grammar.html.php source/structure/personal_pronouns.html.php source/structure/correlatives.html.php source/structure/conjugation.html.php source/structure/declension.html.php source/structure/attributes.html.php source/structure/sentence_structure.html.php source/structure/vocabulary.html.php source/structure/principles.html.php source/structure/word_functions.html.php source/structure/adpositions.html.php source/structure/pronouns.html.php source/structure/dictionary.html.php |
|
13 |
- @ echo -e '-- compiling document ...' |
|
12 |
+build/draft.html: source/data/phonology_and_orthography.json source/data/personal_pronouns.json source/data/word_functions.json source/data/timeforms.json source/data/adpositions.json source/data/correlatives.json source/logic/server/misc.php source/logic/server/data.php source/logic/server/settings.php source/logic/server/table.php source/structure/draft.html.php source/structure/meta.html.php source/structure/introduction.html.php source/structure/preface.html.php source/structure/key_parameters.html.php source/structure/toc.html.php source/structure/basics.html.php source/structure/phonology_and_orthography.html.php source/structure/grammar.html.php source/structure/personal_pronouns.html.php source/structure/correlatives.html.php source/structure/conjugation.html.php source/structure/infinite_verbforms.html.php source/structure/tempora_and_modi.html.php source/structure/declension.html.php source/structure/attributes.html.php source/structure/sentence_structure.html.php source/structure/vocabulary.html.php source/structure/principles.html.php source/structure/word_functions.html.php source/structure/adpositions.html.php source/structure/pronouns.html.php source/structure/dictionary.html.php |
|
13 |
+ @ echo -e '-- composing document ...' |
|
14 | 14 |
@ mkdir --parents build |
15 | 15 |
@ php source/structure/draft.html.php > build/draft.html |
16 | 16 |
|
17 |
-build/draft.js: source/logic/client/draft.js |
|
18 |
- @ echo -e '-- copying client-logic ...' |
|
17 |
+build/draft.js: source/logic/client/tools.js source/logic/client/table.js source/logic/client/toc.js source/logic/client/main.js |
|
18 |
+ @ echo -e '-- composing client-logic ...' |
|
19 | 19 |
@ mkdir --parents build |
20 |
- @ cp --recursive source/logic/client/draft.js build/draft.js |
|
20 |
+ @ cat source/logic/client/tools.js source/logic/client/table.js source/logic/client/toc.js source/logic/client/main.js > build/draft.js |
|
21 | 21 |
|
22 | 22 |
build/logo.svg: source/media/logo.svg |
23 | 23 |
@ echo -e '-- copying logo ...' |
... | ... |
@@ -164,6 +164,17 @@ |
164 | 164 |
"en": null |
165 | 165 |
} |
166 | 166 |
}, |
167 |
+ { |
|
168 |
+ "type": "tap/flap", |
|
169 |
+ "ipa": "x", |
|
170 |
+ "latin": "X/x or H/h ?", |
|
171 |
+ "runic": null, |
|
172 |
+ "remark": null, |
|
173 |
+ "examples": { |
|
174 |
+ "fs": "na_x_t", |
|
175 |
+ "en": null |
|
176 |
+ } |
|
177 |
+ }, |
|
167 | 178 |
{ |
168 | 179 |
"type": "halfvowel", |
169 | 180 |
"ipa": "j", |
... | ... |
@@ -0,0 +1,36 @@ |
1 |
+"use strict"; |
|
2 |
+ |
|
3 |
+function add_tooltips() |
|
4 |
+{ |
|
5 |
+ for (let dom_node of document.querySelectorAll(".word_fs")) |
|
6 |
+ { |
|
7 |
+ let url = "http://folksprak.org/munin.php?query=translation_fs_" + dom_node.textContent + "_en"; |
|
8 |
+ load_file |
|
9 |
+ ( |
|
10 |
+ url, |
|
11 |
+ function (error, content) |
|
12 |
+ { |
|
13 |
+ try |
|
14 |
+ { |
|
15 |
+ let object = JSON.parse(content); |
|
16 |
+ dom_node.setAttribute("title", object.map(entry => entry.to.stem).join(", ")); |
|
17 |
+ } |
|
18 |
+ catch (exception) |
|
19 |
+ { |
|
20 |
+ console.warn("couldn't parse ", content); |
|
21 |
+ } |
|
22 |
+ } |
|
23 |
+ ) |
|
24 |
+ } |
|
25 |
+} |
|
26 |
+ |
|
27 |
+function main() |
|
28 |
+{ |
|
29 |
+ let contentnode = class_contentnode.read(); |
|
30 |
+ document.querySelector("#toc").appendChild(contentnode.generate()); |
|
31 |
+ contentnode.adjust(); |
|
32 |
+ // add_tooltips(); |
|
33 |
+} |
|
34 |
+ |
|
35 |
+document.addEventListener("DOMContentLoaded", function (event) {main();}); |
|
36 |
+ |
... | ... |
@@ -1,47 +1,5 @@ |
1 | 1 |
"use strict"; |
2 | 2 |
|
3 |
-function load_file(url, usage) |
|
4 |
-{ |
|
5 |
- let request = new XMLHttpRequest(); |
|
6 |
- request.open("GET", url, true); |
|
7 |
- request.send(null); |
|
8 |
- request.onreadystatechange = function () |
|
9 |
- { |
|
10 |
- usage(null, request.responseText); |
|
11 |
- }; |
|
12 |
-} |
|
13 |
- |
|
14 |
-function add_tooltips() |
|
15 |
-{ |
|
16 |
- for (let dom_node of document.querySelectorAll(".word_fs")) |
|
17 |
- { |
|
18 |
- let url = "http://folksprak.org/munin.php?query=translation_fs_" + dom_node.textContent + "_en"; |
|
19 |
- load_file |
|
20 |
- ( |
|
21 |
- url, |
|
22 |
- function (error, content) |
|
23 |
- { |
|
24 |
- try |
|
25 |
- { |
|
26 |
- let object = JSON.parse(content); |
|
27 |
- dom_node.setAttribute("title", object.map(entry => entry.to.stem).join(", ")); |
|
28 |
- } |
|
29 |
- catch (exception) |
|
30 |
- { |
|
31 |
- console.warn("couldn't parse ", content); |
|
32 |
- } |
|
33 |
- } |
|
34 |
- ) |
|
35 |
- } |
|
36 |
-} |
|
37 |
- |
|
38 |
-function convert_to_list(structure) |
|
39 |
-{ |
|
40 |
- let list = []; |
|
41 |
- for (let index = 0; index < structure.length; index += 1) list.push(structure[index]); |
|
42 |
- return list; |
|
43 |
-} |
|
44 |
- |
|
45 | 3 |
class class_contentnode |
46 | 4 |
{ |
47 | 5 |
constructor(id, title, children) |
... | ... |
@@ -83,6 +41,17 @@ class class_contentnode |
83 | 41 |
return dom_fragment; |
84 | 42 |
} |
85 | 43 |
|
44 |
+ adjust(path = []) |
|
45 |
+ { |
|
46 |
+ if (this.id != null) |
|
47 |
+ { |
|
48 |
+ let selector = ("#" + this.id + " > header"); |
|
49 |
+ let dom_header = document.querySelector(selector); |
|
50 |
+ dom_header.textContent = path.map(x => (x+1).toString()).join(".") + " " + this.title; |
|
51 |
+ } |
|
52 |
+ this.children.forEach((child, index) => child.adjust(path.concat([index]))); |
|
53 |
+ } |
|
54 |
+ |
|
86 | 55 |
static read(dom_context = document, classes = ["chapter","section","subsection"], id = null, title = null) |
87 | 56 |
{ |
88 | 57 |
return ( |
... | ... |
@@ -110,11 +79,3 @@ class class_contentnode |
110 | 79 |
} |
111 | 80 |
} |
112 | 81 |
|
113 |
-function main() |
|
114 |
-{ |
|
115 |
- document.querySelector("#toc").appendChild(class_contentnode.read().generate()); |
|
116 |
- // add_tooltips(); |
|
117 |
-} |
|
118 |
- |
|
119 |
-document.addEventListener("DOMContentLoaded", function (event) {main();}); |
|
120 |
- |
... | ... |
@@ -0,0 +1,20 @@ |
1 |
+"use strict"; |
|
2 |
+ |
|
3 |
+function load_file(url, usage) |
|
4 |
+{ |
|
5 |
+ let request = new XMLHttpRequest(); |
|
6 |
+ request.open("GET", url, true); |
|
7 |
+ request.send(null); |
|
8 |
+ request.onreadystatechange = function () |
|
9 |
+ { |
|
10 |
+ usage(null, request.responseText); |
|
11 |
+ }; |
|
12 |
+} |
|
13 |
+ |
|
14 |
+function convert_to_list(structure) |
|
15 |
+{ |
|
16 |
+ let list = []; |
|
17 |
+ for (let index = 0; index < structure.length; index += 1) list.push(structure[index]); |
|
18 |
+ return list; |
|
19 |
+} |
|
20 |
+ |
... | ... |
@@ -1,4 +1,15 @@ |
1 | 1 |
<?php |
2 |
+ function compose($names) |
|
3 |
+ { |
|
4 |
+ array_map( |
|
5 |
+ function ($name) |
|
6 |
+ { |
|
7 |
+ include("source/structure/" . $name . ".html.php"); |
|
8 |
+ }, |
|
9 |
+ $names |
|
10 |
+ ); |
|
11 |
+ } |
|
12 |
+ |
|
2 | 13 |
function mark($core, $classes) |
3 | 14 |
{ |
4 | 15 |
return ('<span class="' . implode(" ", $classes) . '">' . $core . '</span>'); |
... | ... |
@@ -3,8 +3,9 @@ |
3 | 3 |
include_once("source/logic/server/table.php"); |
4 | 4 |
include_once("source/logic/server/misc.php"); |
5 | 5 |
?> |
6 |
-<section class="section" id="vocabulary/adpositions"> |
|
6 |
+<section class="section" id="adpositions"> |
|
7 | 7 |
<header>Adpositions</header> |
8 |
+ <div class="note_error">This section is only a proposal yet; not part of the draft.</div> |
|
8 | 9 |
<?php |
9 | 10 |
$table = new class_table |
10 | 11 |
( |
... | ... |
@@ -4,77 +4,18 @@ |
4 | 4 |
include_once("source/logic/server/data.php"); |
5 | 5 |
include_once("source/logic/server/misc.php"); |
6 | 6 |
?> |
7 |
-<section class="section" id="grammar/conjugation"> |
|
7 |
+<section class="section" id="conjugation"> |
|
8 | 8 |
<header>Conjugation</header> |
9 |
+ <div class="note_error">This section is only a proposal yet; not part of the draft.</div> |
|
9 | 10 |
<p>In Folksprak verbs are not conjugated for different <span class="grammarterm">personae</span> (participants), <span class="grammarterm">numeri</span> (number of actors) or <span class="grammarterm">genera</span> (grammatical genders).</p> |
10 |
- <section class="subsection" id="conjugation/infinite_verbforms"> |
|
11 |
- <header>Infinite Verbforms</header> |
|
12 |
- <p>The <span class="grammarterm">infinitive</span> is formed by appending <span class="word lang_fs">-a</span> to the verb stem, e.g. <span class="word lang_fs">skriva</span> ~ <span class="word lang_en">to write</span>.</p> |
|
13 |
- <p>The <span class="grammarterm">active participle</span> is formed by appending <span class="word lang_fs">-end</span> to the verb stem, e.g. <span class="word lang_fs">skrivend</span> ~ <span class="word lang_en">writing</span>.</p> |
|
14 |
- <p>The <span class="grammarterm">passive participle</span> is formed by appending <span class="word lang_fs">-et</span> to the verb stem, e.g. <span class="word lang_fs">skrivet</span> ~ <span class="word lang_en">written</span>. If speakable the <span class="word lang_fs">e</span> in the ending can be omitted, e.g. <span class="word lang_fs">skrivt</span>.</p> |
|
15 |
- </section> |
|
16 |
- <section class="subsection" id="conjugation/tempora"> |
|
17 |
- <header>Tempora and Modi</header> |
|
18 |
- <p>The following table lists the timeforms found in Folksprak and how they are built in the <span class="grammarterm">indicative</span> mode.</p> |
|
19 | 11 |
<?php |
20 |
- $table = new class_table |
|
12 |
+ compose |
|
21 | 13 |
( |
22 | 14 |
[ |
23 |
- new class_column |
|
24 |
- ( |
|
25 |
- "Name", |
|
26 |
- function ($row) |
|
27 |
- { |
|
28 |
- return ["name" => $row["name"], "remark" => $row["remark"]]; |
|
29 |
- }, |
|
30 |
- function ($value) |
|
31 |
- { |
|
32 |
- $output = $value["name"]; |
|
33 |
- if ($value["remark"] != null) |
|
34 |
- { |
|
35 |
- $output .= (" " . "(" . $value["remark"] . ")"); |
|
36 |
- } |
|
37 |
- return $output; |
|
38 |
- } |
|
39 |
- ), |
|
40 |
- new class_column |
|
41 |
- ( |
|
42 |
- "Description", |
|
43 |
- function ($row) |
|
44 |
- { |
|
45 |
- return $row["description"]; |
|
46 |
- } |
|
47 |
- ), |
|
48 |
- new class_column |
|
49 |
- ( |
|
50 |
- "Scheme", |
|
51 |
- function ($row) |
|
52 |
- { |
|
53 |
- return $row["scheme"]; |
|
54 |
- }, |
|
55 |
- function ($value) |
|
56 |
- { |
|
57 |
- return format($value, ["word", "lang_fs"]); |
|
58 |
- } |
|
59 |
- ), |
|
60 |
- new class_column |
|
61 |
- ( |
|
62 |
- "Example", |
|
63 |
- function ($row) |
|
64 |
- { |
|
65 |
- global $configuration; |
|
66 |
- return ["original" => [$row["example"]["original"]], "translated" => $row["example"]["translations"][$configuration["target"]]]; |
|
67 |
- }, |
|
68 |
- _bar("sentence") |
|
69 |
- ), |
|
70 |
- ], |
|
71 |
- array_slice(read_json("source/data/timeforms.json"), 0, 3) |
|
15 |
+ "infinite_verbforms", |
|
16 |
+ "tempora_and_modi", |
|
17 |
+ ] |
|
72 | 18 |
); |
73 |
- $table->generate(); |
|
74 | 19 |
?> |
75 |
- <p>Since these forms are built with auxiliary verbs, they can be combined straight forward to form complex expressions. For example <span class="sentence lang_fs">ek skal hava skrivt.</span> means <span class="sentence lang_en">i will have written.</span> and <span class="sentence lang_fs">ek hav skalt skriva.</span> means sth. like <span class="sentence lang_en">i was going to write.</span>.</p> |
|
76 |
- <p>The <span class="grammarterm">imperative</span> only exists in the present (with future meaning) for the 2nd person singular and plural. It is formed by using the bare stem of the verb, optionally followed by the personal pronoun (i.e. either <span class="word lang_fs">du</span> or <span class="word lang_fs">je</span>) in order to specify or emphasize the numerus. Examples: <span class="sentence lang_fs">skriv!</span>, <span class="sentence lang_fs">skriv, je!</span>.</p> |
|
77 |
- <span class="todo">conjunctive</span> |
|
78 |
- </section> |
|
79 | 20 |
</section> |
80 | 21 |
|
... | ... |
@@ -3,8 +3,9 @@ |
3 | 3 |
include_once("source/logic/server/table.php"); |
4 | 4 |
include_once("source/logic/server/misc.php"); |
5 | 5 |
?> |
6 |
-<section class="subsection" id="vocabulary/pronouns/correlatives"> |
|
6 |
+<section class="subsection" id="correlatives"> |
|
7 | 7 |
<header>Correlatives</header> |
8 |
+ <div class="note_error">This section is only a proposal yet; not part of the draft.</div> |
|
8 | 9 |
<?php |
9 | 10 |
/* |
10 | 11 |
function foobar($value) |
... | ... |
@@ -1,5 +1,6 @@ |
1 | 1 |
<!DOCTYPE HTML> |
2 | 2 |
<?php include_once("source/logic/server/settings.php"); ?> |
3 |
+<?php include_once("source/logic/server/misc.php"); ?> |
|
3 | 4 |
<html> |
4 | 5 |
<head> |
5 | 6 |
<title>Folksprak -- Draft</title> |
... | ... |
@@ -20,11 +21,8 @@ |
20 | 21 |
titlepage |
21 | 22 |
--> |
22 | 23 |
<?php |
23 |
- array_map( |
|
24 |
- function ($name) |
|
25 |
- { |
|
26 |
- include("source/structure/" . $name . ".html.php"); |
|
27 |
- }, |
|
24 |
+ compose |
|
25 |
+ ( |
|
28 | 26 |
[ |
29 | 27 |
"introduction", |
30 | 28 |
"basics", |
... | ... |
@@ -0,0 +1,7 @@ |
1 |
+<section class="subsection" id="infinite_verbforms"> |
|
2 |
+ <header>Infinite Verbforms</header> |
|
3 |
+ <p>The <span class="grammarterm">infinitive</span> is formed by appending <span class="word lang_fs">-a</span> to the verb stem, e.g. <span class="word lang_fs">skriva</span> ~ <span class="word lang_en">to write</span>.</p> |
|
4 |
+ <p>The <span class="grammarterm">active participle</span> is formed by appending <span class="word lang_fs">-end</span> to the verb stem, e.g. <span class="word lang_fs">skrivend</span> ~ <span class="word lang_en">writing</span>.</p> |
|
5 |
+ <p>The <span class="grammarterm">passive participle</span> is formed by appending <span class="word lang_fs">-et</span> to the verb stem, e.g. <span class="word lang_fs">skrivet</span> ~ <span class="word lang_en">written</span>. If speakable the <span class="word lang_fs">e</span> in the ending can be omitted, e.g. <span class="word lang_fs">skrivt</span>.</p> |
|
6 |
+</section> |
|
7 |
+ |
... | ... |
@@ -1,7 +1,15 @@ |
1 |
-<section class="chapter pseudo hidden" id="introduction"> |
|
1 |
+<?php include_once("source/logic/server/misc.php"); ?> |
|
2 |
+<section class="chapter hidden" id="introduction"> |
|
2 | 3 |
<header>Introduction</header> |
3 |
- <?php include("source/structure/preface.html.php"); ?> |
|
4 |
- <?php include("source/structure/key_parameters.html.php"); ?> |
|
5 |
- <?php include("source/structure/toc.html.php"); ?> |
|
4 |
+<?php |
|
5 |
+ compose |
|
6 |
+ ( |
|
7 |
+ [ |
|
8 |
+ "toc", |
|
9 |
+ "preface", |
|
10 |
+ "key_parameters", |
|
11 |
+ ] |
|
12 |
+ ); |
|
13 |
+ ?> |
|
6 | 14 |
</section> |
7 | 15 |
|
... | ... |
@@ -7,8 +7,9 @@ function convert_persona($persona) {return [0 => "impersonal", 1 => "1st person" |
7 | 7 |
function convert_numerus($numerus) {return [0 => null, 1 => "singular", 2 => "plural"][$numerus];} |
8 | 8 |
function convert_genus($genus) {return [0 => "common", 1 => "masculine", 2 => "feminine", 3 => "neuter"][$genus];} |
9 | 9 |
?> |
10 |
-<section class="subsection" id="vocabulary/pronouns/personal_pronouns"> |
|
10 |
+<section class="subsection" id="personal_pronouns"> |
|
11 | 11 |
<header>Personal Pronouns</header> |
12 |
+ <div class="note_error">This section is only a proposal yet; not part of the draft.</div> |
|
12 | 13 |
<?php |
13 | 14 |
$table = new class_table |
14 | 15 |
( |
... | ... |
@@ -4,7 +4,7 @@ |
4 | 4 |
include_once("source/logic/server/table.php"); |
5 | 5 |
include_once("source/logic/server/misc.php"); |
6 | 6 |
?> |
7 |
-<section class="section" id="basics/phonology_and_orthography"> |
|
7 |
+<section class="section" id="phonology_and_orthography"> |
|
8 | 8 |
<header>Phonology and Orthography</header> |
9 | 9 |
<!-- |
10 | 10 |
<p>Folksprak uses the following characters as letters:</pa> |
... | ... |
@@ -1,4 +1,4 @@ |
1 |
-<section class="section pseudo" id="introduction/preface"> |
|
1 |
+<section class="section" id="preface"> |
|
2 | 2 |
<header>Preface</header> |
3 | 3 |
<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> |
4 | 4 |
<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> |
... | ... |
@@ -1,6 +1,13 @@ |
1 |
-<section class="section" id="vocabulary/pronouns"> |
|
1 |
+<section class="section" id="pronouns"> |
|
2 | 2 |
<header>Pronouns</header> |
3 |
- <?php include("source/structure/personal_pronouns.html.php"); ?> |
|
4 |
- <?php include("source/structure/correlatives.html.php"); ?> |
|
3 |
+<?php |
|
4 |
+ compose |
|
5 |
+ ( |
|
6 |
+ [ |
|
7 |
+ "personal_pronouns", |
|
8 |
+ "correlatives", |
|
9 |
+ ] |
|
10 |
+ ); |
|
11 |
+ ?> |
|
5 | 12 |
</section> |
6 | 13 |
|
... | ... |
@@ -0,0 +1,64 @@ |
1 |
+<section class="subsection" id="tempora_and_modi"> |
|
2 |
+ <header>Tempora and Modi</header> |
|
3 |
+ <p>The following table lists the timeforms found in Folksprak and how they are built in the <span class="grammarterm">indicative</span> mode.</p> |
|
4 |
+<?php |
|
5 |
+$table = new class_table |
|
6 |
+( |
|
7 |
+ [ |
|
8 |
+ new class_column |
|
9 |
+ ( |
|
10 |
+ "Name", |
|
11 |
+ function ($row) |
|
12 |
+ { |
|
13 |
+ return ["name" => $row["name"], "remark" => $row["remark"]]; |
|
14 |
+ }, |
|
15 |
+ function ($value) |
|
16 |
+ { |
|
17 |
+ $output = $value["name"]; |
|
18 |
+ if ($value["remark"] != null) |
|
19 |
+ { |
|
20 |
+ $output .= (" " . "(" . $value["remark"] . ")"); |
|
21 |
+ } |
|
22 |
+ return $output; |
|
23 |
+ } |
|
24 |
+ ), |
|
25 |
+ new class_column |
|
26 |
+ ( |
|
27 |
+ "Description", |
|
28 |
+ function ($row) |
|
29 |
+ { |
|
30 |
+ return $row["description"]; |
|
31 |
+ } |
|
32 |
+ ), |
|
33 |
+ new class_column |
|
34 |
+ ( |
|
35 |
+ "Scheme", |
|
36 |
+ function ($row) |
|
37 |
+ { |
|
38 |
+ return $row["scheme"]; |
|
39 |
+ }, |
|
40 |
+ function ($value) |
|
41 |
+ { |
|
42 |
+ return format($value, ["word", "lang_fs"]); |
|
43 |
+ } |
|
44 |
+ ), |
|
45 |
+ new class_column |
|
46 |
+ ( |
|
47 |
+ "Example", |
|
48 |
+ function ($row) |
|
49 |
+ { |
|
50 |
+ global $configuration; |
|
51 |
+ return ["original" => [$row["example"]["original"]], "translated" => $row["example"]["translations"][$configuration["target"]]]; |
|
52 |
+ }, |
|
53 |
+ _bar("sentence") |
|
54 |
+ ), |
|
55 |
+ ], |
|
56 |
+ array_slice(read_json("source/data/timeforms.json"), 0, 3) |
|
57 |
+); |
|
58 |
+$table->generate(); |
|
59 |
+?> |
|
60 |
+ <p>Since these forms are built with auxiliary verbs, they can be combined straight forward to form complex expressions. For example <span class="sentence lang_fs">ek skal hava skrivt.</span> means <span class="sentence lang_en">i will have written.</span> and <span class="sentence lang_fs">ek hav skalt skriva.</span> means sth. like <span class="sentence lang_en">i was going to write.</span>.</p> |
|
61 |
+ <p>The <span class="grammarterm">imperative</span> only exists in the present (with future meaning) for the 2nd person singular and plural. It is formed by using the bare stem of the verb, optionally followed by the personal pronoun (i.e. either <span class="word lang_fs">du</span> or <span class="word lang_fs">je</span>) in order to specify or emphasize the numerus. Examples: <span class="sentence lang_fs">skriv!</span>, <span class="sentence lang_fs">skriv, je!</span>.</p> |
|
62 |
+ <span class="todo">conjunctive</span> |
|
63 |
+</section> |
|
64 |
+ |
... | ... |
@@ -4,8 +4,9 @@ |
4 | 4 |
include_once("source/logic/server/data.php"); |
5 | 5 |
include_once("source/logic/server/table.php"); |
6 | 6 |
?> |
7 |
-<section class="section" id="vocabulary/word_functions"> |
|
7 |
+<section class="section" id="word_functions"> |
|
8 | 8 |
<header>Word Functions</header> |
9 |
+ <div class="note_error">This section is only a proposal yet; not part of the draft.</div> |
|
9 | 10 |
<?php |
10 | 11 |
$table = new class_table |
11 | 12 |
( |
... | ... |
@@ -54,7 +54,7 @@ a |
54 | 54 |
.note_information |
55 | 55 |
{ |
56 | 56 |
&:extend(.note); |
57 |
- background-color: hsv(120, 40%, (0.8 * hsvvalue(@color-bg)) + (0.2 * 50%)); |
|
57 |
+ background-color: hsv(240, 40%, (0.8 * hsvvalue(@color-bg)) + (0.2 * 50%)); |
|
58 | 58 |
&:before {font-weight: bold; content: "[i] ";} |
59 | 59 |
} |
60 | 60 |
|
61 | 61 |