The clld
toolkit - a web framework for the publication of
Cross-Linguistic Linked Data.
Documentation for the code base and its use is available at https://clld.readthedocs.io/en/latest/.
The source for this documentation is in the docs
directory.
To cite the clld
software, please cite the presentation introducing it
Forkel, R., & Bank, S. (2014, October 7). The clld toolkit. Language Comparison with Linguistic Databases: RefLex and Typological Databases, Nijmegen. Zenodo. https://doi.org/10.5281/zenodo.10846846
Once the initial steps (installation, bootstrapping a new project)
have been done helped by the online documentation,
the biggest resource to guide further development of a clld
app
is the wealth of existing apps.
(Note: GitHub's "Used by" links - created from the dependency graph data - are really
helpful here!)
The following pointers are meant as a
starting point to solve specific problems by perusing the code of other
apps.
- Integrating language metadata from Glottolog: There's a plugin for that and here's the list of apps on GitHub using it: https://github.com/clld/clld-glottologfamily-plugin/network/dependents
- Displaying (data on) phylogenetic laguage trees: There's a plugin for that and here's the list of apps on GitHub using it: https://github.com/clld/clld-phylogeny-plugin/network/dependents
- Displaying cognacy relations between words: There's a plugin for that and here's the list of apps on GitHub using it: https://github.com/clld/clld-cognacy-plugin/network/dependents
- Displaying phoneme inventories as IPA charts: There's a plugin for that and here's the list of apps on GitHub using it: https://github.com/clld/clld-ipachart-plugin/network/dependents
- Integrating audio recordings of lexical data: There's a plugin for that and here's the list of apps on GitHub using it: https://github.com/clld/clld-audio-plugin/network/dependents
- Rendering CLDF Markdown in the context of the app: There's a plugin for that.
- Aggregating data from multiple CLDF datasets: The app serving the
Intercontinental Dictionary Series does this.
Very simple per-dataset metadata of the form
is read and used to populate the database, see https://github.com/clld/ids/blob/master/ids/scripts/initializedb.py#L38-L67
{ "id": "ids-cosgrovevoro", "repo": "https://github.com/intercontinental-dictionary-series/cosgrovevoro", "doi": "10.5281/zenodo.4280576", "order": 2 }
- Aggregating data from different CLDF modules: While most
clld
apps are concerned with just one type of data (e.g. typological questionnaires as in WALS, or wordlists as in IDS), some have a different focus (e.g. TuLaR (Tupían Language Resources)). The TuLaR app aggregates data which is curated in several datasets, bundled under a Zenodo community, see https://github.com/tupian-language-resources/tular/blob/main/tular/scripts/initializedb.py - Using Charis SIL fonts: using SIL's Charis fonts on a
clld
page is simple. Here's an example https://ids.clld.org/valuesets/1-100-316- Include the relevant style sheet (which will pull in the font resources): https://github.com/clld/ids/blob/b2884e06a53a0a3c7a0dc27955c314869d0a31aa/ids/templates/ids.mako#L10-L12
- Then assign the appropriate css class: https://github.com/clld/ids/blob/b2884e06a53a0a3c7a0dc27955c314869d0a31aa/ids/templates/unit/detail_html.mako#L6