Split intro into more files
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
This commit is contained in:
parent
4b118a4fe1
commit
a99c587d6c
5 changed files with 75 additions and 73 deletions
|
@ -11,76 +11,3 @@ them (See [@sec:contributing]).
|
|||
A way to reach out to the imag project maintainer(s) is described in the
|
||||
[@sec:contributing] section.
|
||||
|
||||
|
||||
## The Problem {#sec:intro:problem}
|
||||
|
||||
The problem this project tries to solve is to provide a modular commandline
|
||||
application for personal information management.
|
||||
|
||||
It targets "power users" or "commandline users", uses plain text as a storage
|
||||
format and tries to be as scriptable as possible.
|
||||
imag offers the ability to link data from different "PIM aspects" (such as
|
||||
"diary", "contacts" and "bookmark" for example).
|
||||
|
||||
One major goal of imag is to make the PIM data traverseable and queryable.
|
||||
For example: a wiki article can be linked to an appointment which is linked to a
|
||||
todo which is linked to a note which is linked to a contact.
|
||||
|
||||
imag wants to offer an all-in-one scriptable modular commandline personal
|
||||
information management suite for all PIM aspects one could possibly think of.
|
||||
Because imag uses plain text (TOML headers for structured data and plain text
|
||||
which can be rendered using markdown, for example, for continuous text)
|
||||
the user is always able to access their data without the imag tools at hand.
|
||||
|
||||
|
||||
## The Approach {#sec:intro:approach}
|
||||
|
||||
The approach "imag" takes on solving this problem is to store content in a
|
||||
"store" and persisting content in a unified way.
|
||||
Meta-information is attached to the content which can be used to store
|
||||
structured data.
|
||||
This can be used to implement a variety of "domain modules" using the store.
|
||||
While content is stored in _one_ place, imag does not duplicate content.
|
||||
imag does not copy or move icalendar files, emails, vcard files, music or
|
||||
movies to the store, but tries to remember the actual files are and stores
|
||||
meta-information about them in the store.
|
||||
|
||||
Detailed explanation on this approach follows in the chapters of this work.
|
||||
|
||||
## Implementation {#sec:intro:implementation}
|
||||
|
||||
The program is written in the Rust programming language.
|
||||
|
||||
The program consists of libraries which can be re-used by other projects
|
||||
to implement and adapt imag functionality. An external program may use a
|
||||
library of the imag distribution to store content in the store of imag and
|
||||
make it visible to imag this way.
|
||||
|
||||
This is a technical detail a user does not necessarily need to know, but as imag
|
||||
is intended for power-users anyways, we would say it fits here.
|
||||
|
||||
## Alternative Projects {#sec:intro:alternatives}
|
||||
|
||||
imag is not the only project which tries to solve that particular problem. For
|
||||
example there is
|
||||
[org mode](https://orgmode.org)
|
||||
for the [emacs](https://www.gnu.org/software/emacs/) text editor.
|
||||
There is also [zim](http://zim-wiki.org/), a desktop wiki editor which is
|
||||
intended to be used for a personal wiki.
|
||||
|
||||
The difference between imag and the mentioned projects is:
|
||||
* emacs orgmode is (from what I know and see) for _orgabizing_ things. imag is
|
||||
intended not only for organizing, but also for recording, tracking and
|
||||
querying.
|
||||
* zim is a wiki, which could be used for PIM but is not specialized for it.
|
||||
Recording habits might be possible, but not that simple as with imag
|
||||
|
||||
imag is not there
|
||||
yet, though. Some parts can be used, though it is far away from being feature-complete.
|
||||
|
||||
In addition: imag is text-editor independent and other tools than imag might be
|
||||
used to access data stored in the imag store.
|
||||
For example, one could "grep", "awk" and "sed" entries without much hassle and
|
||||
even write bash scripts for automatically filling imag entries with data.
|
||||
|
||||
|
||||
|
|
21
doc/src/01001-intro-problem.md
Normal file
21
doc/src/01001-intro-problem.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
## The Problem {#sec:intro:problem}
|
||||
|
||||
The problem this project tries to solve is to provide a modular commandline
|
||||
application for personal information management.
|
||||
|
||||
It targets "power users" or "commandline users", uses plain text as a storage
|
||||
format and tries to be as scriptable as possible.
|
||||
imag offers the ability to link data from different "PIM aspects" (such as
|
||||
"diary", "contacts" and "bookmark" for example).
|
||||
|
||||
One major goal of imag is to make the PIM data traverseable and queryable.
|
||||
For example: a wiki article can be linked to an appointment which is linked to a
|
||||
todo which is linked to a note which is linked to a contact.
|
||||
|
||||
imag wants to offer an all-in-one scriptable modular commandline personal
|
||||
information management suite for all PIM aspects one could possibly think of.
|
||||
Because imag uses plain text (TOML headers for structured data and plain text
|
||||
which can be rendered using markdown, for example, for continuous text)
|
||||
the user is always able to access their data without the imag tools at hand.
|
||||
|
||||
|
15
doc/src/01002-intro-approach.md
Normal file
15
doc/src/01002-intro-approach.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
## The Approach {#sec:intro:approach}
|
||||
|
||||
The approach "imag" takes on solving this problem is to store content in a
|
||||
"store" and persisting content in a unified way.
|
||||
Meta-information is attached to the content which can be used to store
|
||||
structured data.
|
||||
This can be used to implement a variety of "domain modules" using the store.
|
||||
While content is stored in _one_ place, imag does not duplicate content.
|
||||
imag does not copy or move icalendar files, emails, vcard files, music or
|
||||
movies to the store, but tries to remember the actual files are and stores
|
||||
meta-information about them in the store.
|
||||
|
||||
Detailed explanation on this approach follows in the chapters of this work.
|
||||
|
||||
|
13
doc/src/01003-intro-implementation.md
Normal file
13
doc/src/01003-intro-implementation.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
## Implementation {#sec:intro:implementation}
|
||||
|
||||
The program is written in the Rust programming language.
|
||||
|
||||
The program consists of libraries which can be re-used by other projects
|
||||
to implement and adapt imag functionality. An external program may use a
|
||||
library of the imag distribution to store content in the store of imag and
|
||||
make it visible to imag this way.
|
||||
|
||||
This is a technical detail a user does not necessarily need to know, but as imag
|
||||
is intended for power-users anyways, we would say it fits here.
|
||||
|
||||
|
26
doc/src/01004-intro-alternatives.md
Normal file
26
doc/src/01004-intro-alternatives.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
## Alternative Projects {#sec:intro:alternatives}
|
||||
|
||||
imag is not the only project which tries to solve that particular problem. For
|
||||
example there is
|
||||
[org mode](https://orgmode.org)
|
||||
for the [emacs](https://www.gnu.org/software/emacs/) text editor.
|
||||
There is also [zim](http://zim-wiki.org/), a desktop wiki editor which is
|
||||
intended to be used for a personal wiki.
|
||||
|
||||
The difference between imag and the mentioned projects is:
|
||||
* emacs orgmode is (from what I know and see) for _orgabizing_ things. imag is
|
||||
intended not only for organizing, but also for recording, tracking and
|
||||
querying.
|
||||
* zim is a wiki, which could be used for PIM but is not specialized for it.
|
||||
Recording habits might be possible, but not that simple as with imag
|
||||
|
||||
imag is not there
|
||||
yet, though. Some parts can be used, though it is far away from being feature-complete.
|
||||
|
||||
In addition: imag is text-editor independent and other tools than imag might be
|
||||
used to access data stored in the imag store.
|
||||
For example, one could "grep", "awk" and "sed" entries without much hassle and
|
||||
even write bash scripts for automatically filling imag entries with data.
|
||||
|
||||
|
||||
|
Loading…
Reference in a new issue