-
Notifications
You must be signed in to change notification settings - Fork 0
/
guide.html
183 lines (161 loc) · 9.12 KB
/
guide.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>GenGo</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script src="https://kit.fontawesome.com/21c08e5dcf.js" crossorigin="anonymous"></script>
</head>
<body>
<header>
<a href="index.html"><i class="fas fa-align-center"></i> GenGo</a>
<a href="guide.html"><i class="fas fa-book"></i> Guide</a>
<a href="log.html"><i class="fas fa-sticky-note"></i> Change Log</a>
<a href="https://github.com/CollinBrennan/GenGo"><i class="fab fa-github"></i> GitHub</a>
</header>
<nav>
<a href="#gAbout">About</a>
<a href="#gCharacters">Characters</a>
<a href="#gPatterns">Patterns</a>
<a href="#gRewrites">Rewrites</a>
<a href="#gFilters">Filters & Options</a>
</nav>
<div class="content">
<hr>
<h2 id="gAbout">About</h2>
<p>GenGo is generator that makes words from different groups of characters. It is most often used for constructed languages and worldbuilding. It's good for anything from creating a lexicon for your conlang to names for your fictional population.</p>
<hr>
<h2 id="gCharacters">Characters</h2>
<p>Characters are the letters or symbols that make up your words. </p>
<h3>Syntax</h3>
<p>The basic syntax for a character group is...</p>
<blockquote><span class="c1">X</span><span class="c2">:</span> <span class="c3">sh å Д β タ 語 음</span><span class="c4">,</span></blockquote>
<ul>
<li>A single character as a <span class="c1">name</span> for the pattern to recognize</li>
<li>A <span class="c2">colon</span> to seperate the group name and its characters</li>
<li>The <span class="c3">characters</span> that make up the group, seperated by spaces</li>
<li>A <span class="c4">comma</span> to seperate groups</li>
</ul>
<p>Character groups can be written on the same line or across several lines, as long as they are seperated by a comma.</p>
<h3 id="gWeights">Weights</h3>
<p>You can assign weight to a character to make it more likely to be picked using an <span class="c1">asterisk</span> followed by a <span class="c2">number</span>.</p>
<p>In this example...</p>
<blockquote>
C: p t k m n s w<span class="c1">*</span><span class="c2">5</span> l j
</blockquote>
<p>...the letter 'w' is 5 times more likely to be picked than the rest of the characters individually.</p>
<p>Since characters have a default weight of 1, you can use a <span class="c2">decimal</span> to make characters less likely to be picked...</p>
<blockquote>C: p t k m n s w*<span class="c2">.25</span> l j</blockquote>
<p>Giving a character a weight of 0 still gives it a chance of being picked. If you don't want a character to be picked at all, you can <a href="#gComments">comment</a> it out.
<h3 id="gComments">Commenting</h3>
<p>Sometimes you might want to remove characters from a group without actually deleting them from the text field. To do this, you can use a <span class="c1">slash</span> to "comment" them out.
<p>For example, this...</p>
<blockquote>C: p t k m n s <span class="c1">/</span>w l j</blockquote>
<p>Gets interpreted as this...</p>
<blockquote>C: p t k m n s l j</blockquote>
<p>To comment out a group entirely, just put the slash before the name of the group...</p>
<blockquote><span class="c1">/</span>C: p t k m n s w l j</blockquote>
<p>Commenting out also works in rewrites, patterns, and filters.</p>
<hr>
<h2 id="gPatterns">Patterns</h2>
<p>Patterns are the syllable structure of your words. If the pattern contains the name of a character group, the character will be replaced by one of the characters in its group at random. Multiple patterns can be used but need to be seperated by commas.</p>
<p>For example, if you had the pattern 'CVC' and these character groups...</p>
<blockquote>C: p t k,<br>V: a i</blockquote>
<p>...each character in the pattern would be replaced with a random character within its group...</p>
<ul>
<li>C → k</li>
<li>V → a</li>
<li>C → t</li>
</ul>
<p>...and the final outputted word would be 'kat'.</p>
<p>If a pattern contains a character that isn't the name of a group, the character itself is added to the word. For example, if you had the same characters from the above example, but instead had the pattern 'CVs'...</p>
<ul>
<li>C → k</li>
<li>V → a</li>
<li>s → s</li>
</ul>
<p>...'s' in the pattern isn't the name of a group so it is just added to the word 'kas'.</p>
<h3>Parentheses ( )</h3>
<p>Any part of a pattern within parantheses has a chance to be filtered out.</p>
<p>The pattern 'CV(C)' can output...</p>
<ul>
<li>ka<span class="c1">(</span>t<span class="c1">)</span> → kat</li>
<li><span class="hide">ka(t)</span> → ka</li>
</ul>
<h3>Brackets [ ]</h3>
<p>Any part of a pattern within brackets picks from one of the choices seperated by spaces.</p>
<p>The pattern 'CV[C s]' can output...</p>
<ul>
<li>ka<span class="c1">[</span>t s<span class="c1">]</span> → kat</li>
<li><span class="hide">ka[t s]</span> → kas</li>
</ul>
<p>Brackets and parentheses can both be nested any amount of times...</p>
<ul>
<li>ka(t(s)) → kats</li>
<li><span class="hide">ka(t(s))</span> → kat</li>
<li><span class="hide">ka(t(s))</span> → ka</li>
</ul>
<ul>
<li>ka([t d][s z]) → ka</li>
<li><span class="hide">ka([t d][s z])</span> → kads</li>
<li><span class="hide">ka([t d][s z])</span> → kats</li>
<li><span class="hide">ka([t d][s z])</span> → katz</li>
<li><span class="hide">ka([t d][s z])</span> → kadz</li>
</ul>
<hr>
<h2 id="gRewrites">Rewrites</h2>
<p>Sometimes there are certain combinations of characters that you don't want in your words. That's where rewrites come in.</p>
<h3>Syntax</h3>
<p>Rewrites are written very similarly to character groups...</p>
<blockquote><span class="c1">mn</span><span class="c2">:</span> <span class="c3">m n</span><span class="c4">,</span></blockquote>
<ul>
<li>The <span class="c1">characters</span> to be replaced</li>
<li>A <span class="c2">colon</span> to seperate the cluster and its replacement characters</li>
<li>The <span class="c3">characters</span> that can replace the cluster, seperated by spaces</li>
<li>A <span class="c4">comma</span> to seperate rewrites</li>
</ul>
<p>For example, if you had the word 'samna' and the cluster rewrite from above...</p>
<ul>
<li>sa<span class="c1">mn</span>a → sa<span class="c3">m</span>a</li>
<li><span class="hide">samna</span> → sa<span class="c3">n</span>a</li>
</ul>
<h3>Tips</h3>
<p>If you want the cluster to just be removed from the word, don't enter anything for the replacement characters. Make sure to still seperate it with a comma if there are multiple rewrites...</p>
<blockquote>
nm: ,<br>
mn: m n
</blockquote>
<ul>
<li>sa<span class="c1">nm</span>a → saa</li>
</ul>
<p><em style="font-size: 14px">(Not yet implemented)</em> Rewrites and filters also accept group names. If we had the pattern 'CVVC' and this rewrite...</p>
<blockquote>
<span class="c1">VV</span>: V
</blockquote>
<ul>
<li>s<span class="c1">ai</span>m → s<span class="c1">i</span>m</li>
</ul>
<p><em style="font-size: 14px">(Not yet implemented)</em> If you wanted a character that is also a name of a character group, you can put it in double <span class="c1">quotes</span>...</p>
<blockquote>
VV: <span class="c1">"</span>V<span class="c1">"</span>
</blockquote>
<ul>
<li>saim → sVm</li>
</ul>
<p>You can also use <a href="#gWeights">character weights</a> in rewrites.</p>
<hr>
<h2 id="gFilters">Filters & Options</h2>
<p>Filters - If a word contains any of the characters or clusters, the whole word will be removed from the final word list.</p>
<p>Words - Total number of words to be generated.</p>
<p>Syllable min and max - The minimum and maximum number of patterns allowed in a word</p>
<p>Duplicates - Removes any duplicates in the final word list. The more complicated your words can be, the less likely duplicates are to be generated</p>
<p>List - Displays each word on a new line instead of a paragraph</p>
<p>IPA - Stands for 'International Phonetic Alphabet', which you can learn more about <a href="https://www.internationalphoneticalphabet.org/" target="_blank">here</a>
<hr>
</div>
<footer>
Copyright <i class="far fa-copyright"></i> 2020 · GenGo is free to use · <a href="https://www.paypal.me/ColBren" target="_blank"><i class="fas fa-coins"></i> Tips</a> are much appreciated
</footer>
</body>
</html>