Skip to content

Commit

Permalink
Draft concepts page in documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
bkis committed Jul 6, 2023
1 parent 6ca29d3 commit a0c0be3
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 2 deletions.
Binary file added docs/content/assets/data_model_visualization.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 38 additions & 2 deletions docs/content/concepts.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,43 @@
# Concepts

## Structure Levels
(WIP)

## Texts and structure modeling

One instance of Tekst can handle one or more reference texts that can be selected from the user interface. Switching to a different reference text changes the working context of Tekst, including available data layers, settings, etc.

Each text's structure has to be modeled in advance to lay the foundation for Tekst to work with it. The structure model of a text has to follow a clear hierarchical scheme of nested structure levels (e.g. "Series" contains "Book" contains "Chapter" contains "Paragraph" contains "Sentence").

Each structure level *must* be subordinate to *one* parent structure level and can have *at most one* child level. It is not possible to have two structure levels modeled as siblings under the same parent level.

!!! info "Example"
A book's chapters may contain footnotes you'd want to model separately from the paragraphs contained in the chapters. This is not possible via the structure model. But you may very well just use "Chapter" containing "Paragraph" and associate data layers containing resources on the footnotes to each node on the "Paragraph" level.

The reason for this limitation is the concept of exploratory browsing implemented by Tekst. For being able to skip through the nodes on a certain structure level like you turn the pages of a book, there has to be both a clear hierarchy of structure levels as well as a sequencial order of the nodes on each level.

![data model diagram](assets/data_model_visualization.png)
*Data model diagram: Example of a simple song structure modeled for use as a reference work (or "text") in Tekst, with a selection of (partly imaginary) data layers associated with each structure level. A data layer may provide zero to one data units per node on its respective structure level.*


## Data Layers

!!! info

The following selection of data layer types is just a part of what is currently planned. More data layer types may be added in the future.

### Plain Text
This very simple data layer type may be used for plain text (unformatted) data like a text version or translation on a "Paragraph" or "Sentence" level.

### Rich Text
Similar to [Plain Text](#plain-text) but with added text formatting/styling capabilities, this data layer type is useful for longer sequences of textual data that have their own internal structure, like a short analysis on a "Paragraph" structure level.

### Annotation
(WIP)

### External Reference
(WIP)

### Image
(WIP)

### Audio
(WIP)
9 changes: 9 additions & 0 deletions docs/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@ site_name: Tekst
docs_dir: content
repo_url: https://github.com/VedaWebProject/Tekst
repo_name: VedaWebProject/Tekst
site_description: A tool for creating open collaborative text research platforms

nav:
- 'index.md'
- 'concepts.md'
- 'setup.md'

plugins:
- search

markdown_extensions:
- admonition
- pymdownx.highlight:
Expand All @@ -25,7 +29,12 @@ theme:
favicon: assets/logo.png
features:
- navigation.instant
- navigation.sections
- navigation.expand
- content.code.copy
- search.suggest
- search.highlight
- search.share
palette:
- media: "(prefers-color-scheme: light)"
scheme: default
Expand Down

0 comments on commit a0c0be3

Please sign in to comment.