textual-object

A solution for embedding and reading object data from plain texts stored in local storage.

View the Project on GitHub boan-anbo/textual-object

Textual object

A solution for embedding and reading object data from plain texts stored in local storage.

Why textual objects?

We want:

  1. to communicate with any data source (through adapters), save data object into local database, and embed entries from the local database into my plain text file.
  2. to not to lose my data when the source, e.g. a piece of software or a public database, is down or completely gone.
  3. to not to lose all of my data when even the local storage is also gone, and only the text is left.
  4. to easily use structured data along with your plain text without the need to launch a server or a program first, because your data are all stored locally.
  5. to be able to sync with the data source bi-directionally when needed.
  6. our data to be completely open (using plain text and open-source local sqlite database) and avoid any possibility of being lock into some proprietory format.

In a sense, you can think of textual object system as a digital citation system, only you are not merely referencing an abstract article or a book, but an actual (e.g. not pointing to some location in a remote server) digital data object stored locally which you can use any time along with your plain text.

Typical use cases:

Components

Textual object store: TOF

A local store for TO object saved in extremely robust and open sqlite databasae.


Textual object citation markup language: TOL

The language used for markers embedded in the text which is readable and contains metadata point to its entry in the local store.


TOL Citation Marker format

TOL marker is a short and succint textual representation of an entry in TOF.

TOL Citation Marker Format

The TOL market format is simple and fully readable:

You could type it by hand, but it’s highly recommended to let TOE generate the marker for you, at least the key information, such as the ID and SID.

You can also customize the symbol to your liking or to avoid conflicts with some other Plain languages. For example:

TOL Fields

The following fields are required and optional, but the key words are reserved. You can add any key-value pairs as you want, but you cannot use the follow keywords. E.g.

Acceptable: 
Unacceptable: 
- In this case the second value is ignored.

Required fields:

Optional fields:

Example:

[[ID: xxx; ]]

TOE: Textual object engine