Quoto is really quite simple, and just uses a global list of templates, which contains all of the ways it could make a quote.
To make a quote, template, select the textarea in the upper left corner, and type your templates, separated by newlines
A template can be made like this:
A template is just a sentence, except, you replace the parts where you want there to be random word with its category inside of brackets:
Let's say you want to generate a random noun. You can do so by pulling from the [nouns] list.
The code pulls from a js file containing all of the categories and starter templates. old_words.js (the one used right now) contains these categories:
[nouns], [nounsplural], [verbscurrent], [verbspast], [verbs], [adjectives], [adverbs], [particles], [uncertainties], [contrasts], [pronounsub], [pronounsubis], [questionpronounsub], [pronounobj], and [prepositions].
I encourage you to experiment with these, and look through the code if you know js.
You can change the words file used by just changing the import statement in main.js.
Currently, the code uses old_words.js, which I find to be a little more coherent, although there are less possibilities and less randomness. words.js has lists of thousands of words, and is about 7000 lines long, but isn't always coherent.
Here is an example of of a template:
The [nouns] is [adjectives].Random words must start with a left bracket following a space. doing something like the[noun] would not work. There must be a space. Following characters will work, though, for example [noun]...
Finally, please allow autoplay.