Rewrite complete README about modules
This commit is contained in:
parent
2c68184ada
commit
0a2d6384ba
1 changed files with 104 additions and 61 deletions
109
README.md
109
README.md
|
@ -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
|
saw this on some website, so you linked to the website from your wiki entry, of
|
||||||
course.
|
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
|
||||||
|
|
||||||
Bookmarks should be stored in a simple format:
|
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"]}
|
{ "URL": "https://github.com", "tags": ["ducks", "r", "great"]}
|
||||||
```
|
```
|
||||||
|
|
||||||
Each file is one bookmark and the filename is a SHA512.
|
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| JSON File backend | Data format |
|
| XDG-open (Browser) | External program |
|
||||||
| Git backend | Data sync |
|
|
||||||
|
|
||||||
### Contacts
|
### Contacts
|
||||||
|
|
||||||
|
@ -89,6 +134,7 @@ them and to be able to refer to.
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| vcard file format parsing | Data access |
|
| vcard file format parsing | Data access |
|
||||||
|
| XDG-open (Mail program) | External Program |
|
||||||
|
|
||||||
### Calendar
|
### Calendar
|
||||||
|
|
||||||
|
@ -106,6 +152,7 @@ Just plain text notes.
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| Linking to other store entries | Data Link |
|
| Linking to other store entries | Data Link |
|
||||||
|
| XDG-open (Editor) | External Program |
|
||||||
|
|
||||||
### Mail
|
### Mail
|
||||||
|
|
||||||
|
@ -118,12 +165,10 @@ linked automatically.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| Maildir file format parsing | Data access |
|
| Parser: Maildir | Data access |
|
||||||
| mbox file format parsing (later) | Data access |
|
| Parser: mbox | Data access |
|
||||||
| Internal storage database | Data indexing |
|
| XDG-open (Mail program) | External Program |
|
||||||
| JSON File backend | Database |
|
| XDG-open (Editor) | External Program |
|
||||||
| Editor calling | Editing |
|
|
||||||
| Mail-Client calling | Editing |
|
|
||||||
|
|
||||||
### Personal Wiki
|
### Personal Wiki
|
||||||
|
|
||||||
|
@ -133,10 +178,10 @@ first step.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| YAML parsing | Data parsing |
|
| Parser: Markdown | Data parsing |
|
||||||
| Markdown parsing | Data parsing |
|
| XDG-open (Editor) | External Program |
|
||||||
| Git backend | Data sync |
|
| XDG-open (Mail program) | External Program |
|
||||||
| Editor calling | Editing |
|
| XDG-open (Browser) | External Program |
|
||||||
|
|
||||||
Some more ideas:
|
Some more ideas:
|
||||||
|
|
||||||
|
@ -149,9 +194,8 @@ taskwarrior through a wrapper here.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| Taskwarrior backend | Data parsing |
|
| Library: taskwarrior | Implementation |
|
||||||
| Git backend | Data sync |
|
| XDG-open (Editor) | External Program |
|
||||||
| Editor calling | Editing |
|
|
||||||
|
|
||||||
### Shoppinglist
|
### Shoppinglist
|
||||||
|
|
||||||
|
@ -159,12 +203,10 @@ Simply dot-and-tick lists.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| YAML parsing | Data parsing |
|
| Module: Todo-List | Implementation |
|
||||||
| Markdown parsing | Data parsing |
|
| XDG-open (Editor) | External Program |
|
||||||
| Git backend | Data sync |
|
|
||||||
| Editor calling | Editing |
|
|
||||||
|
|
||||||
- Maybe as sub-form of the Todo-List module
|
- Sub-form of the Todo-List module
|
||||||
|
|
||||||
### Bibliography management
|
### Bibliography management
|
||||||
|
|
||||||
|
@ -175,9 +217,10 @@ PDF data, we need git-annex.
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| BibTex parsing | Data parsing |
|
| BibTex parsing | Data parsing |
|
||||||
| Git backend | Data sync |
|
| Backend: git-annex | Data parsing |
|
||||||
| Git-annex backend | Data sync |
|
| XDG-open (Editor) | External Program |
|
||||||
| Editor calling | Editing |
|
| XDG-open (PDF viewer) | External Program |
|
||||||
|
| XDG-open (Office suite) | External Program |
|
||||||
|
|
||||||
### News (RSS)
|
### News (RSS)
|
||||||
|
|
||||||
|
@ -185,8 +228,8 @@ Just indexing, reading news is not task of `imag` and so isn't syncing.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| RSS parsing | Data parsing |
|
| Parser: RSS | Data parsing |
|
||||||
| Git backend | Data sync |
|
| Parser: Atom | Data parsing |
|
||||||
|
|
||||||
### Image
|
### Image
|
||||||
|
|
||||||
|
@ -194,9 +237,9 @@ Just indexing photos.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| Git-annex backend | Data sync |
|
| Backend: git-annex | Data parsing |
|
||||||
| Image metadata reading | Data parsing |
|
| Image metadata reading | Data parsing |
|
||||||
| Linking to other store entries | Data Link |
|
| XDG-open (Image viewer) | External Program |
|
||||||
|
|
||||||
### Video
|
### Video
|
||||||
|
|
||||||
|
@ -204,9 +247,9 @@ Just indexing movies.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| Git-annex backend | Data sync |
|
| Backend: git-annex | Data parsing |
|
||||||
| Movie metadata reading | Data parsing |
|
| Movie metadata reading | Data parsing |
|
||||||
| Linking to other store entries | Data Link |
|
| XDG-open (Movie viewer) | External Program |
|
||||||
|
|
||||||
### Music
|
### Music
|
||||||
|
|
||||||
|
@ -214,9 +257,9 @@ Just indexing music.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
| Required core feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| Git-annex backend | Data sync |
|
| Backend: git-annex | Data parsing |
|
||||||
| Music metadata reading | Data parsing |
|
| Music metadata reading | Data parsing |
|
||||||
| Linking to other store entries | Data Link |
|
| XDG-open (Music player) | External Program |
|
||||||
|
|
||||||
# License
|
# License
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue