Rewrite complete README about modules
This commit is contained in:
parent
2c68184ada
commit
0a2d6384ba
1 changed files with 104 additions and 61 deletions
165
README.md
165
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,21 +122,19 @@ 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 |
|
| XDG-open (Browser) | External program |
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| JSON File backend | Data format |
|
|
||||||
| Git backend | Data sync |
|
|
||||||
|
|
||||||
### Contacts
|
### Contacts
|
||||||
|
|
||||||
Contacts are just read and indexed by `imag`, to create an internal index of
|
Contacts are just read and indexed by `imag`, to create an internal index of
|
||||||
them and to be able to refer to.
|
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
|
||||||
|
|
||||||
|
@ -103,9 +149,10 @@ them and to be able to refer to.
|
||||||
|
|
||||||
Just plain text notes.
|
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
|
||||||
|
|
||||||
|
@ -116,14 +163,12 @@ notes, etc etc. to your mail.
|
||||||
Some of these things (like linking contacts, calendar entries) should be
|
Some of these things (like linking contacts, calendar entries) should be
|
||||||
linked automatically.
|
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
|
||||||
|
|
||||||
|
@ -131,12 +176,12 @@ linked automatically.
|
||||||
simple markdown files which have a YAML header, nothing too special for the
|
simple markdown files which have a YAML header, nothing too special for the
|
||||||
first step.
|
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:
|
||||||
|
|
||||||
|
@ -147,24 +192,21 @@ Some more ideas:
|
||||||
`imag` should also contain a full todo-tool. I'm thinking about integrating
|
`imag` should also contain a full todo-tool. I'm thinking about integrating
|
||||||
taskwarrior through a wrapper here.
|
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
|
||||||
|
|
||||||
Simply dot-and-tick lists.
|
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
|
||||||
|
|
||||||
|
@ -172,12 +214,13 @@ BibTex would be the first step, maybe we should be able to add the actual PDFs
|
||||||
here as well... didn't waste too much thoughts on this by now. If we have the
|
here as well... didn't waste too much thoughts on this by now. If we have the
|
||||||
PDF data, we need git-annex.
|
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,38 +228,38 @@ 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
|
||||||
|
|
||||||
Just indexing photos.
|
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
|
||||||
|
|
||||||
Just indexing movies.
|
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
|
||||||
|
|
||||||
Just indexing music.
|
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