Proverb mashup
The first half of one real proverb glued to the second half of another. Every half is genuine folk wisdom, word for word from a public source. The whole is wisdom, reassembled. Same seed, same mashup, so every one has a link.
Glued from Romanian · seed i06g5kbk
Every half is real
Each proverb here is a real, traditional one, worded exactly as a public source has it, with a link to the page that has those words. Nothing is invented, tidied up or "improved". If we could not source it, it is not here.
Each one was cut by hand at its natural joint ("Cine sapă groapa altuia, | cade singur în ea", "A rolling stone | gathers no moss") and tagged with the kind of joint it is. Halves are only glued to halves of the same kind, so a "who" opening gets a verb, an "if" gets a main clause and a "better" gets its "than". The result reads as a sentence, and often as advice nobody should take.
A mashup is never an existing proverb and never two halves of the same one. The mashup is made up; the halves are not. Spotted a proverb that is wrong, not traditional, or cut in the wrong place? Write to hello@tasta.space.
Endpoints
| Method | Path | What you get |
|---|---|---|
| GET | /v1/proverbs/mashup | A mashup, its two halves, the two real proverbs it came from, a seed and a permalink. Takes lang, seed, format=text. |
| GET | /v1/proverbs/today | The mashup of the day, the same for everyone until midnight in Bucharest. Its seed is the date. Takes lang, format=text. |
| GET | /v1/proverbs/mashup/card | A 1200x630 share card of a mashup, PNG or SVG. Takes seed, lang, format. Cached for a day when it has a seed. |
| GET | /v1/proverbs/random | One real proverb, untouched. Takes lang, format=text. |
| GET | /v1/proverbs/{lang}/{id} | One real proverb by language and id, with its halves, its join kind and its source. Takes format=text. |
| GET | /v1/proverbs | Every real proverb, a page at a time, with the join kinds and their counts. Takes lang, join, page, per_page. |
Parameters
| Name | Example | Does |
|---|---|---|
lang | ro | ro or en. Left out, a mashup's seed picks one, random picks one, and the list has both. |
seed | k3f9 | 1 to 64 letters, digits, - or _. The same seed gives the same mashup, on every call and every server. Left out, you get a new one, echoed back. |
format | text | One plain line instead of JSON, on mashup, today, random and {lang}/{id}. On the card: png (default) or svg. |
join | cine | List only: one join kind (see below). |
page, per_page | 2, 20 | List only. per_page is 1 to 100, default 50. |
Calls
$ curl https://api.tasta.space/v1/proverbs/mashup
$ curl "https://api.tasta.space/v1/proverbs/mashup?lang=ro&format=text"
$ curl "https://api.tasta.space/v1/proverbs/today?lang=en"
$ curl -o card.png "https://api.tasta.space/v1/proverbs/mashup/card?seed=k3f9"
A mashup looks like this
{
"data": {
"lang": "ro",
"mashup": "Decât un car de frumusețe, mai bine în satul tău fruntaș.",
"halves": [
"Decât un car de frumusețe,",
"mai bine în satul tău fruntaș."
],
"join": "decat",
"from": [
{
"id": 204,
"text": "Decât un car de frumusețe, mai bine un dram de minte.",
"half": "first",
"url": "https://api.tasta.space/v1/proverbs/ro/204",
"source": "https://ro.wikiquote.org/wiki/Proverbe_rom%C3%A2ne%C8%99ti#D"
},
{
"id": 200,
"text": "Decât codaș la oraș, mai bine în satul tău fruntaș.",
"half": "second",
"url": "https://api.tasta.space/v1/proverbs/ro/200",
"source": "https://ro.wikiquote.org/wiki/Proverbe_rom%C3%A2ne%C8%99ti#D"
}
],
"seed": "i06g5kbk",
"permalink": "https://api.tasta.space/v1/proverbs/mashup?lang=ro&seed=i06g5kbk",
"card": "https://api.tasta.space/v1/proverbs/mashup/card?lang=ro&seed=i06g5kbk&format=png"
}
}
halves joined by one space are the mashup: the first ends with the joint's punctuation, the second with the sentence's. from names the two real proverbs, which half each gave, and where their wording comes from.
Join kinds
Every proverb has a join. Halves only meet halves of the same kind. A real example of each, cut where we cut it:
| Romanian | Shape | Example | Count |
|---|---|---|---|
cine |
"Cine..." or "Cel ce..." clause, then what becomes of them | Cine aleargă după doi iepuri | nu prinde niciunul. | 23 |
ce |
"Ce..." clause, then the rest of the sentence | Ce ție nu-ți place | altuia nu-i face. | 13 |
noun |
a singular subject, then its verb | Așchia | nu sare departe de trunchi. | 81 |
plural |
a plural subject, then its verb | Ochii care nu se văd | se uită. | 9 |
cond |
"Când...", "Dacă..." or "Unde..." clause, then the main clause | Când pisica nu-i acasă | joacă șoarecii pe masă. | 19 |
imp |
an order, then how, where or why | Bate fierul | cât e cald. | 25 |
pair |
two clauses side by side | Apa trece | pietrele rămân. | 21 |
verbless |
two halves and no verb | La plăcinte înainte | la război înapoi. | 8 |
decat |
"Decât X," then "mai bine Y" | Decât codaș la oraș | mai bine în satul tău fruntaș. | 6 |
front |
a when, where or how up front, then the clause | Cu răbdarea | treci și marea. | 22 |
| English | Shape | Example | Count |
|---|---|---|---|
subject |
a singular subject, then its verb | A rolling stone | gathers no moss. | 118 |
plural |
a plural subject, then its verb | Too many cooks | spoil the broth. | 37 |
who |
"He who...", "Who..." or "What..." clause, then its verb | He who laughs last | laughs best. | 24 |
condition |
"If...", "When...", "Where..." or "While..." clause, then the main clause | If the shoe fits | wear it. | 27 |
adverbial |
a whole order or statement, then how, when or where | Make hay | while the sun shines. | 25 |
than |
a comparison, then its "than..." | Better late | than never. | 22 |
there |
"There is..." up to the noun, then the rest | There's no smoke | without fire. | 23 |
pair |
two clauses side by side | The spirit is willing | but the flesh is weak. | 13 |
verbless |
two halves and no verb | Out of sight | out of mind. | 20 |
imperative |
an order, then another order or what follows | Feed a cold | starve a fever. | 18 |
the_more |
"The more...," then "the more..." | The bigger they are | the harder they fall. | 3 |
as_so |
"As...," then "so..." | As you sow | so shall you reap. | 5 |
Errors of its own
On top of the hub's errors.
| Status | Code | When |
|---|---|---|
| 404 | not_found | No proverb with that id in that language |
| 422 | invalid_parameter | A language we do not have, a seed with spaces in it, a join kind that does not exist, a page that is not a number, and so on |
The card
Every mashup has a 1200x630 card at its card URL, the right size for a link preview. This is the one above:
Try it
Sources and licences
Every proverb carries the URL of the page its wording comes from, in source. The pages:
| Source | Proverbs | Licence |
|---|---|---|
| Wikiquote (ro), Proverbe românești | 187 Romanian | CC BY-SA 4.0 |
| Wiktionary (en), one entry per proverb | 40 Romanian, 279 English | CC BY-SA 4.0 |
| Wikiquote (en), English proverbs | 56 English | CC BY-SA 4.0 |
Our selection, the cuts and the join kinds are shared under the same licence, CC BY-SA 4.0: use them, credit the sources, share alike. The mashups are generated and belong to nobody.
The classic Romanian collection is Iuliu Zanne's ten-volume Proverbele românilor (1895 to 1912, public domain, scans on archive.org). Its scans keep the old spelling, so the wording here follows the modern lists above, with proper ș and ț.