Rewrite README, squash some content to save lines
This commit is contained in:
parent
568026c52c
commit
bdcfa34449
1 changed files with 59 additions and 107 deletions
166
README.md
166
README.md
|
@ -21,23 +21,11 @@ see [Linking](#Linking))
|
||||||
|
|
||||||
Some modules might not want to store content there, for example you don't want
|
Some modules might not want to store content there, for example you don't want
|
||||||
to put your icalendar files in there. So the calendar module just crawls through
|
to put your icalendar files in there. So the calendar module just crawls through
|
||||||
your ical files and puts the scanned meta-information into the store. Of course,
|
your ical files and puts only a link and some hashsums (for refinding on content
|
||||||
if the content of the ical file changes, the store entry does not. It still
|
move) to the store. Changes are not tracked via this model.
|
||||||
points (via its JSON content for example) to the same file. So changes are not
|
|
||||||
tracked (We can argue here whether we want to copy the contents to the store for
|
|
||||||
ical and vcard files, but we cannot argue on for example music files).
|
|
||||||
|
|
||||||
If a (for example ical-)file gets removed, the store entry gets invalid and has
|
If a (for example ical-)file gets removed, the store entry gets invalid and has
|
||||||
to be garbage-collected.
|
to be garbage-collected.
|
||||||
|
|
||||||
> The current model is not fixed yet. I'm thinking about copying .ical and
|
|
||||||
> .vcard, basically all text files, to the store.
|
|
||||||
> This is not possible for media files like music or movies, though. Also this
|
|
||||||
> is not feasible for documents like .pdf or similar.
|
|
||||||
|
|
||||||
Each of the following modules has a short description including a table what
|
|
||||||
core features are required to get it working.
|
|
||||||
|
|
||||||
### Linking
|
### Linking
|
||||||
|
|
||||||
The UUID/SHA hashes in the file names can be used to connect two store entries.
|
The UUID/SHA hashes in the file names can be used to connect two store entries.
|
||||||
|
@ -89,40 +77,75 @@ should't touch the content at all.
|
||||||
|
|
||||||
Here is a short overview what are the modules like:
|
Here is a short overview what are the modules like:
|
||||||
|
|
||||||
| Module | Indexer | Header | Hdr-Format | Content |
|
| Module | Indexer | Header-Format | Content | Expl | Dep |
|
||||||
| :---------------- | ------- | ------- | ---------- | ------- |
|
| :----------- | ------- | ------------- | ------- | ------- | ----------- |
|
||||||
| Bookmarks | | X | JSON | |
|
| Bibliography | X | JSON | X | .bib | Notes |
|
||||||
| Contacts | X | X | JSON | |
|
| Bookmarks | | JSON | | | |
|
||||||
| Calendar | X | X | JSON | |
|
| Calendar | X | JSON | | | |
|
||||||
| Notes | | X | YAML | X |
|
| Contacts | X | JSON | | | |
|
||||||
| Mail | X | X | JSON | |
|
| Image | X | JSON | | | Notes |
|
||||||
| Wiki | | X | YAML | X |
|
| Mail | X | JSON | | | |
|
||||||
| Todo | | X | YAML | |
|
| Movie | X | JSON | | | Notes |
|
||||||
| Shoppinglist | | X | YAML | |
|
| Music | X | JSON | | | Notes |
|
||||||
| Bibliography | X | X | JSON | |
|
| News | X | JSON | | | |
|
||||||
| News | X | X | JSON | |
|
| Notes | | YAML | X | Content | |
|
||||||
| Image | X | X | JSON | |
|
| Shoppinglist | | YAML | | | Notes, Todo |
|
||||||
| Movie | X | X | JSON | |
|
| Todo | | YAML | | | Notes |
|
||||||
| Music | X | X | JSON | |
|
| Wiki | | YAML | X | Content | |
|
||||||
|
|
||||||
Explanation:
|
Explanation:
|
||||||
|
|
||||||
- An "Indexer" Module does only index some data and store the indexed meta
|
- An "Indexer" Module does only index some data and stores only some information
|
||||||
information in the store
|
on how to content
|
||||||
- "Header" means that the header part of a store entry is used
|
- "Header-Format": Which format is chosen for the header. Basically: YAML if the
|
||||||
- "Hdr-Format" Which format is chosen for the header. Basically: YAML if the
|
|
||||||
user might want to edit the header, otherwise JSON (pretty).
|
user might want to edit the header, otherwise JSON (pretty).
|
||||||
- "Content" means that the content part of a store entry is used
|
- "Content" means that the content part of a store entry is used
|
||||||
|
- "Expl": What the content part of a file is used for. "Content" means simply
|
||||||
|
user content.
|
||||||
|
- "Dep" means that the module uses this other module as a dependency for
|
||||||
|
extending its own functionality
|
||||||
|
|
||||||
|
### External Dependencies
|
||||||
|
|
||||||
|
| Library | Optional | Module |
|
||||||
|
| :------------ | :------: | :------- |
|
||||||
|
| vcard | | Contacts |
|
||||||
|
| icalendar | | Calendar |
|
||||||
|
| XDG | X | Contacts |
|
||||||
|
| | X | Calendar |
|
||||||
|
| | X | Notes |
|
||||||
|
| | X | Mail |
|
||||||
|
| | X | Wiki |
|
||||||
|
| | X | Todo |
|
||||||
|
| | X | Shopping List |
|
||||||
|
| | X | BibMan |
|
||||||
|
| | X | Music |
|
||||||
|
| | X | Movie |
|
||||||
|
| | X | Image |
|
||||||
|
| Markdown | | Notes |
|
||||||
|
| | | Wiki |
|
||||||
|
| Maildir | | Mail |
|
||||||
|
| BibTex parsing | X | BibMan |
|
||||||
|
| git-annex | X | BibMan |
|
||||||
|
| | X | Music |
|
||||||
|
| | X | Movie |
|
||||||
|
| | X | Image |
|
||||||
|
| Exif | X | Image |
|
||||||
|
| id3 | X | Music |
|
||||||
|
| RSS/Atom | | News |
|
||||||
|
|
||||||
|
(Optional means that these things are optional for the main functionality, but
|
||||||
|
should be implemented at some point to offer powerful functionality)
|
||||||
|
|
||||||
### Bookmarks
|
### Bookmarks
|
||||||
|
|
||||||
Bookmarks should be stored in a simple format:
|
Bookmarks should be stored in a simple format:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{ "URL": "https://github.com", "tags": ["ducks", "r", "great"]}
|
{ "URL": "https://github.com", "TAGS": ["ducks", "r", "great"]}
|
||||||
```
|
```
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
| Required util feature | Purpose |
|
||||||
| :------------------------------------ | :------------ |
|
| :------------------------------------ | :------------ |
|
||||||
| XDG-open (Browser) | External program |
|
| XDG-open (Browser) | External program |
|
||||||
|
|
||||||
|
@ -131,29 +154,15 @@ Bookmarks should be stored in a simple format:
|
||||||
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 |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| vcard file format parsing | Data access |
|
|
||||||
| XDG-open (Mail program) | External Program |
|
|
||||||
|
|
||||||
### Calendar
|
### Calendar
|
||||||
|
|
||||||
Calendar are just read and indexed by `imag`, to create an internal index of
|
Calendar 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 |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| ical file format parsing | Data access |
|
|
||||||
|
|
||||||
### Notes
|
### Notes
|
||||||
|
|
||||||
Just plain text notes.
|
Just plain text notes.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| Linking to other store entries | Data Link |
|
|
||||||
| XDG-open (Editor) | External Program |
|
|
||||||
|
|
||||||
### Mail
|
### Mail
|
||||||
|
|
||||||
`imag` should be able to index all your mail and make them accessible through
|
`imag` should be able to index all your mail and make them accessible through
|
||||||
|
@ -163,26 +172,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 |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| Parser: Maildir | Data access |
|
|
||||||
| Parser: mbox | Data access |
|
|
||||||
| XDG-open (Mail program) | External Program |
|
|
||||||
| XDG-open (Editor) | External Program |
|
|
||||||
|
|
||||||
### Personal Wiki
|
### Personal Wiki
|
||||||
|
|
||||||
`imag` should contain a complete personal wiki software. It should contain of
|
`imag` should contain a complete personal wiki software. It should contain of
|
||||||
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 |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| Parser: Markdown | Data parsing |
|
|
||||||
| XDG-open (Editor) | External Program |
|
|
||||||
| XDG-open (Mail program) | External Program |
|
|
||||||
| XDG-open (Browser) | External Program |
|
|
||||||
|
|
||||||
Some more ideas:
|
Some more ideas:
|
||||||
|
|
||||||
- Extract URLs and put them into store as Bookmarks
|
- Extract URLs and put them into store as Bookmarks
|
||||||
|
@ -192,21 +187,9 @@ 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 |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| Library: taskwarrior | Implementation |
|
|
||||||
| XDG-open (Editor) | External Program |
|
|
||||||
|
|
||||||
### Shoppinglist
|
### Shoppinglist
|
||||||
|
|
||||||
Simply dot-and-tick lists.
|
Simply dot-and-tick lists, uses Todo and Notes in combination.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| Module: Todo-List | Implementation |
|
|
||||||
| XDG-open (Editor) | External Program |
|
|
||||||
|
|
||||||
- Sub-form of the Todo-List module
|
|
||||||
|
|
||||||
### Bibliography management
|
### Bibliography management
|
||||||
|
|
||||||
|
@ -214,53 +197,22 @@ 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 |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| BibTex parsing | Data parsing |
|
|
||||||
| Backend: git-annex | Data parsing |
|
|
||||||
| XDG-open (Editor) | External Program |
|
|
||||||
| XDG-open (PDF viewer) | External Program |
|
|
||||||
| XDG-open (Office suite) | External Program |
|
|
||||||
|
|
||||||
### News (RSS)
|
### News (RSS)
|
||||||
|
|
||||||
Just indexing, reading news is not task of `imag` and so isn't syncing.
|
Just indexing, reading news is not task of `imag` and so isn't syncing.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| Parser: RSS | Data parsing |
|
|
||||||
| Parser: Atom | Data parsing |
|
|
||||||
|
|
||||||
### Image
|
### Image
|
||||||
|
|
||||||
Just indexing photos.
|
Just indexing photos.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| Backend: git-annex | Data parsing |
|
|
||||||
| Image metadata reading | Data parsing |
|
|
||||||
| XDG-open (Image viewer) | External Program |
|
|
||||||
|
|
||||||
### Video
|
### Video
|
||||||
|
|
||||||
Just indexing movies.
|
Just indexing movies.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| Backend: git-annex | Data parsing |
|
|
||||||
| Movie metadata reading | Data parsing |
|
|
||||||
| XDG-open (Movie viewer) | External Program |
|
|
||||||
|
|
||||||
### Music
|
### Music
|
||||||
|
|
||||||
Just indexing music.
|
Just indexing music.
|
||||||
|
|
||||||
| Required core feature | Purpose |
|
|
||||||
| :------------------------------------ | :------------ |
|
|
||||||
| Backend: git-annex | Data parsing |
|
|
||||||
| Music metadata reading | Data parsing |
|
|
||||||
| XDG-open (Music player) | External Program |
|
|
||||||
|
|
||||||
# License
|
# License
|
||||||
|
|
||||||
This code is released under terms of GNU GPLv2.
|
This code is released under terms of GNU GPLv2.
|
||||||
|
|
Loading…
Reference in a new issue