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
|
||||
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
|
||||
|
||||
|
|
Loading…
Reference in a new issue