# [lingdocs](https://fl.mt/lingdocs)
Create data-rich linguistic documents with CLDF, with a variety of output formats.
[![Versions](https://img.shields.io/pypi/pyversions/lingdocs?labelColor=4C566A&color=26619C)](https://www.python.org/)
[![PyPI](https://img.shields.io/pypi/v/lingdocs.svg?labelColor=4C566A&color=5E81AC)](https://pypi.org/project/lingdocs)
[![License](https://img.shields.io/github/license/fmatter/lingdocs?labelColor=4C566A&color=81A1C1)](https://www.apache.org/licenses/LICENSE-2.0)
[![Tests](https://img.shields.io/github/actions/workflow/status/fmatter/lingdocs/tests.yml?label=tests&labelColor=4C566A&color=8FBCBB)](https://github.com/fmatter/lingdocs/actions/workflows/tests.yml)
[![Changelog](https://img.shields.io/badge/changelog-v0.1.4-DC673D?labelColor=4C566A&color=88C0D0)](https://fl.mt/lingdocs/changes/)
## About
Linguistic documents usually contain linguistic data, be it from primary research or sourced from the literature.
The primary function of lingdocs is to make the integration of such data as simple as possible.
To achieve this, all data is stored in a [CLDF](https://cldf.clld.org/) dataset, while the accompanying prose is written in [markdown](https://www.markdownguide.org/).
This means that the document that contains no linguistic data, only pointers to the dataset.
Changes to the data only have to be done in the dataset, and don't include tinkering with the document.
Presentation of the data in the document is done by templates,
- no more manually italicizing object language forms.
The use of markdown and opinionated-but-customizable output templates results in [separation of content and presentation](https://en.wikipedia.org/wiki/Separation_of_content_and_presentation) in general.
To illustrate, [this plain text](https://github.com/fmatter/lingdocs/blob/main/docs/demo.txt) in combination with [this dataset](https://github.com/fmatter/lingdocs/tree/main/tests/data/cldf) can be turned into multiple formats:
* [PDF](https://github.com/fmatter/lingdocs-demo/blob/main/doc/output/latex/main.pdf)
* [HTML](https://fmatter.github.io/lingdocs-demo/) with [MkDocs](https://www.mkdocs.org/)
* [Github markdown](https://github.com/fmatter/lingdocs-demo/tree/main/doc/output/github)
* and yes, even [plain text](https://github.com/fmatter/lingdocs-demo/blob/main/doc/output/plain/document.txt)
It is also possible to integrate the output into [CLLD](https://clld.org/) web apps, using the [clld-document-plugin](https://github.com/fmatter/clld-document-plugin/); an example can be inspected [here](https://fl.mt/yawarana-sketch).
## 🔥 Quickstart
1. `pip install lingdocs` ([full installation guide](https://fl.mt/lingdocs/installation))
2. create or get a CLDF dataset
3. `lingdocs new`, point to `metadata.json` file
4. `lingdocs preview`
Raw data
{
"_id": null,
"home_page": "https://fl.mt/lingdocs",
"name": "lingdocs",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8.1,<4.0.0",
"maintainer_email": "",
"keywords": "cldf,markdown,digital linguistics",
"author": "Florian Matter",
"author_email": "flmt@mailbox.org",
"download_url": "https://files.pythonhosted.org/packages/23/6f/db9ce6d7598547104f30c051088429e37eab73f5b4792c14fe4d6da7b479/lingdocs-0.1.4.tar.gz",
"platform": null,
"description": "# [lingdocs](https://fl.mt/lingdocs)\n\nCreate data-rich linguistic documents with CLDF, with a variety of output formats.\n\n[![Versions](https://img.shields.io/pypi/pyversions/lingdocs?labelColor=4C566A&color=26619C)](https://www.python.org/)\n[![PyPI](https://img.shields.io/pypi/v/lingdocs.svg?labelColor=4C566A&color=5E81AC)](https://pypi.org/project/lingdocs)\n[![License](https://img.shields.io/github/license/fmatter/lingdocs?labelColor=4C566A&color=81A1C1)](https://www.apache.org/licenses/LICENSE-2.0)\n[![Tests](https://img.shields.io/github/actions/workflow/status/fmatter/lingdocs/tests.yml?label=tests&labelColor=4C566A&color=8FBCBB)](https://github.com/fmatter/lingdocs/actions/workflows/tests.yml)\n[![Changelog](https://img.shields.io/badge/changelog-v0.1.4-DC673D?labelColor=4C566A&color=88C0D0)](https://fl.mt/lingdocs/changes/)\n\n## About\nLinguistic documents usually contain linguistic data, be it from primary research or sourced from the literature.\nThe primary function of lingdocs is to make the integration of such data as simple as possible.\nTo achieve this, all data is stored in a [CLDF](https://cldf.clld.org/) dataset, while the accompanying prose is written in [markdown](https://www.markdownguide.org/).\nThis means that the document that contains no linguistic data, only pointers to the dataset.\nChanges to the data only have to be done in the dataset, and don't include tinkering with the document.\nPresentation of the data in the document is done by templates, \n\n - no more manually italicizing object language forms.\nThe use of markdown and opinionated-but-customizable output templates results in [separation of content and presentation](https://en.wikipedia.org/wiki/Separation_of_content_and_presentation) in general.\n\nTo illustrate, [this plain text](https://github.com/fmatter/lingdocs/blob/main/docs/demo.txt) in combination with [this dataset](https://github.com/fmatter/lingdocs/tree/main/tests/data/cldf) can be turned into multiple formats:\n\n* [PDF](https://github.com/fmatter/lingdocs-demo/blob/main/doc/output/latex/main.pdf)\n* [HTML](https://fmatter.github.io/lingdocs-demo/) with [MkDocs](https://www.mkdocs.org/)\n* [Github markdown](https://github.com/fmatter/lingdocs-demo/tree/main/doc/output/github)\n* and yes, even [plain text](https://github.com/fmatter/lingdocs-demo/blob/main/doc/output/plain/document.txt)\n\nIt is also possible to integrate the output into [CLLD](https://clld.org/) web apps, using the [clld-document-plugin](https://github.com/fmatter/clld-document-plugin/); an example can be inspected [here](https://fl.mt/yawarana-sketch).\n\n## \ud83d\udd25 Quickstart\n\n1. `pip install lingdocs` ([full installation guide](https://fl.mt/lingdocs/installation))\n2. create or get a CLDF dataset\n3. `lingdocs new`, point to `metadata.json` file\n4. `lingdocs preview`",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Create data-rich linguistic documents.",
"version": "0.1.4",
"project_urls": {
"Bug tracker": "https://www.github.com/fmatter/lingdocs/issues",
"Homepage": "https://fl.mt/lingdocs",
"Repository": "https://www.github.com/fmatter/lingdocs"
},
"split_keywords": [
"cldf",
"markdown",
"digital linguistics"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "94ed8b1e98a25e3c16c872cd73803588ae78be384ded9eb0882e211d95f63df1",
"md5": "930271ac83ac14505432c49f6e1855a0",
"sha256": "bb56b2c9b06f7356f40b18dd71abcc851610a5fa74dd9026cfbe7388d635ccf6"
},
"downloads": -1,
"filename": "lingdocs-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "930271ac83ac14505432c49f6e1855a0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8.1,<4.0.0",
"size": 134449,
"upload_time": "2023-12-27T15:24:25",
"upload_time_iso_8601": "2023-12-27T15:24:25.362221Z",
"url": "https://files.pythonhosted.org/packages/94/ed/8b1e98a25e3c16c872cd73803588ae78be384ded9eb0882e211d95f63df1/lingdocs-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "236fdb9ce6d7598547104f30c051088429e37eab73f5b4792c14fe4d6da7b479",
"md5": "ff407f475920c6a2bebb64aed9dd8a24",
"sha256": "428e0224b5c66dc8dd35e707e9065c010cf2cdd25e1d44dc434102d406bca321"
},
"downloads": -1,
"filename": "lingdocs-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "ff407f475920c6a2bebb64aed9dd8a24",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8.1,<4.0.0",
"size": 94141,
"upload_time": "2023-12-27T15:24:27",
"upload_time_iso_8601": "2023-12-27T15:24:27.396105Z",
"url": "https://files.pythonhosted.org/packages/23/6f/db9ce6d7598547104f30c051088429e37eab73f5b4792c14fe4d6da7b479/lingdocs-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-27 15:24:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fmatter",
"github_project": "lingdocs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "lingdocs"
}