Rewrite complete README about modules

This commit is contained in:
Matthias Beyer 2015-11-30 17:03:50 +01:00
parent 2c68184ada
commit 0a2d6384ba

109
README.md
View file

@ -66,6 +66,54 @@ it contains Kiwi, and you have notes about Kiwi, how to cook them properly. You
saw this on some website, so you linked to the website from your wiki entry, of
course.
### Header
So each file in the store has a certain format:
---
<header>
---
<content>
The header contains some structured data (either JSON or YAML), the module uses
to store data closely related to the content.
For example, the bookmark-module will use the header only and store URL and tags
in some JSON format. The Wiki module might use the Header for storing some meta
information about the wiki article (tags, category, maybe even links to other
store entries) and the content is the wiki article content written down by the
user.
The content is just text entered from the user. In the best case, the module
should't touch the content at all.
Here is a short overview what are the modules like:
| Module | Indexer | Header | Hdr-Format | Content |
| :---------------- | ------- | ------- | ---------- | ------- |
| Bookmarks | | X | JSON | |
| Contacts | X | X | JSON | |
| Calendar | X | X | JSON | |
| Notes | | X | YAML | X |
| Mail | X | X | JSON | |
| Wiki | | X | YAML | X |
| Todo | | X | YAML | |
| Shoppinglist | | X | YAML | |
| Bibliography | X | X | JSON | |
| News | X | X | JSON | |
| Image | X | X | JSON | |
| Movie | X | X | JSON | |
| Music | X | X | JSON | |
Explanation:
- An "Indexer" Module does only index some data and store the indexed meta
information in the store
- "Header" means that the header part of a store entry is used
- "Hdr-Format" Which format is chosen for the header. Basically: YAML if the
user might want to edit the header, otherwise JSON (pretty).
- "Content" means that the content part of a store entry is used
### Bookmarks
Bookmarks should be stored in a simple format:
@ -74,12 +122,9 @@ Bookmarks should be stored in a simple format:
{ "URL": "https://github.com", "tags": ["ducks", "r", "great"]}
```
Each file is one bookmark and the filename is a SHA512.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| JSON File backend | Data format |
| Git backend | Data sync |
| XDG-open (Browser) | External program |
### Contacts
@ -89,6 +134,7 @@ them and to be able to refer to.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| vcard file format parsing | Data access |
| XDG-open (Mail program) | External Program |
### Calendar
@ -106,6 +152,7 @@ Just plain text notes.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| Linking to other store entries | Data Link |
| XDG-open (Editor) | External Program |
### Mail
@ -118,12 +165,10 @@ linked automatically.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| Maildir file format parsing | Data access |
| mbox file format parsing (later) | Data access |
| Internal storage database | Data indexing |
| JSON File backend | Database |
| Editor calling | Editing |
| Mail-Client calling | Editing |
| Parser: Maildir | Data access |
| Parser: mbox | Data access |
| XDG-open (Mail program) | External Program |
| XDG-open (Editor) | External Program |
### Personal Wiki
@ -133,10 +178,10 @@ first step.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| YAML parsing | Data parsing |
| Markdown parsing | Data parsing |
| Git backend | Data sync |
| Editor calling | Editing |
| Parser: Markdown | Data parsing |
| XDG-open (Editor) | External Program |
| XDG-open (Mail program) | External Program |
| XDG-open (Browser) | External Program |
Some more ideas:
@ -149,9 +194,8 @@ taskwarrior through a wrapper here.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| Taskwarrior backend | Data parsing |
| Git backend | Data sync |
| Editor calling | Editing |
| Library: taskwarrior | Implementation |
| XDG-open (Editor) | External Program |
### Shoppinglist
@ -159,12 +203,10 @@ Simply dot-and-tick lists.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| YAML parsing | Data parsing |
| Markdown parsing | Data parsing |
| Git backend | Data sync |
| Editor calling | Editing |
| Module: Todo-List | Implementation |
| XDG-open (Editor) | External Program |
- Maybe as sub-form of the Todo-List module
- Sub-form of the Todo-List module
### Bibliography management
@ -175,9 +217,10 @@ PDF data, we need git-annex.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| BibTex parsing | Data parsing |
| Git backend | Data sync |
| Git-annex backend | Data sync |
| Editor calling | Editing |
| Backend: git-annex | Data parsing |
| XDG-open (Editor) | External Program |
| XDG-open (PDF viewer) | External Program |
| XDG-open (Office suite) | External Program |
### News (RSS)
@ -185,8 +228,8 @@ Just indexing, reading news is not task of `imag` and so isn't syncing.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| RSS parsing | Data parsing |
| Git backend | Data sync |
| Parser: RSS | Data parsing |
| Parser: Atom | Data parsing |
### Image
@ -194,9 +237,9 @@ Just indexing photos.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| Git-annex backend | Data sync |
| Backend: git-annex | Data parsing |
| Image metadata reading | Data parsing |
| Linking to other store entries | Data Link |
| XDG-open (Image viewer) | External Program |
### Video
@ -204,9 +247,9 @@ Just indexing movies.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| Git-annex backend | Data sync |
| Backend: git-annex | Data parsing |
| Movie metadata reading | Data parsing |
| Linking to other store entries | Data Link |
| XDG-open (Movie viewer) | External Program |
### Music
@ -214,9 +257,9 @@ Just indexing music.
| Required core feature | Purpose |
| :------------------------------------ | :------------ |
| Git-annex backend | Data sync |
| Backend: git-annex | Data parsing |
| Music metadata reading | Data parsing |
| Linking to other store entries | Data Link |
| XDG-open (Music player) | External Program |
# License