apply Clippy recommendations
show spaces in code tags

This makes it clear why you get no results when there is
a trailing space.
39e25455 — Erutuon 2 years ago
allow cross-origin requests

I'm not sure this is right because I still don't
understand CORS.
8824bc05 — Erutuon 2 years ago
allow lookup by language name
1a305794 — Erutuon 2 years ago
ensure top level of JSON is an object
69bf7d71 — Erutuon 2 years ago
normalize term and transliteration in query

These are always NFC in the database, so non-NFC
input has to be normalized. The other fields of
the various queries don't need to be normalized
because they can only be ASCII.
1a8e98d3 — Erutuon 2 years ago
add format parameter that returns JSON
047cbe9e — Erutuon 2 years ago
refactor to use a make_table function

Put most methods in Args trait. Couldn't do so
with write_headers because it requires looking at
the names of the Row fields. This should make it
easier to provide row data in JSON format (and
cache it).
d1575aae — Erutuon 2 years ago
let index page adapt to width on mobile device
d1caed57 — Erutuon 2 years ago
don't word-wrap language codes
985280ce — Erutuon 2 years ago
add long word search, make more mobile-friendly

Uses a function that iterates over words as defined
by Unicode, counts their lengths in graphemes,
and returns the longest length found.

Removed limit on width of body. Added new width
to index page. Added meta viewport tag to make
the website more mobile-friendly.
c3fcf596 — Erutuon 2 years ago
use database with more fields in translation table

Much faster, particularly in the transliteration page.
d28c202c — Erutuon 2 years ago
fix parameters to transliteration query

Also link languages in entry name and transliteration
b2b9cc82 — Erutuon 2 years ago
search transliteration without language and entry name

Added a search page for entry names. This is only
for terms without embedded wikilinks because the
database excludes terms with `[[` from the entry
name generation.

The by-transliteration page accepted an empty
language code, but gave no results. An empty
language is invalid, so it makes more sense to treat
empty as nothing. Had to rewrite the query to get it
to return when no language is provided.
114f34fa — Erutuon 2 years ago
add language names to captions and rows

Added a hash map to `State` and supplied it as an
argument to `TableResponse::write_table_row` and
`Args::write_caption`. The language name displays
in the caption of most pages and the rows of the
a7514fa8 — Erutuon 2 years ago
add automated transliteration

by-transliteration searches by both
automated and manual transliteration.
df1ffff6 — Erutuon 2 years ago
open database as read-only

Separated intra-crate imports from external
b851fbc1 — Erutuon 2 years ago
add download URL for database

b5ec31fd — Erutuon 2 years ago
retrieve by-language from cache when an ID isn't given

The ID in `ByLanguageArgs` is `None` when it's not in the query,
but the response is inserted under `RowId::StartId(1)`, so the website
wasn't managing to retrieve it even though it was there. Changed
`<ByLanguageArgs as Args>::cache_key` so that the website doesn't
have to keep reloading the same data from the database.
fefa4e6b — Erutuon 2 years ago
language-tag term in by-term-and-language