mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-07-04 07:26:14 +02:00
[Docs] create scripted entries using an custom importer
This commit is contained in:
parent
65914e2073
commit
96f1d77cdc
1 changed files with 10 additions and 4 deletions
|
@ -19,7 +19,7 @@ line.
|
||||||
|
|
||||||
I added this feature because *jrnl* was overall working well for me, but I
|
I added this feature because *jrnl* was overall working well for me, but I
|
||||||
found myself maintaining a private fork so I could have a slightly customized
|
found myself maintaining a private fork so I could have a slightly customized
|
||||||
export format. Implemeneting (import and) export plugins was seen as a way to
|
export format. Implementing (import and) export plugins was seen as a way to
|
||||||
maintain my custom exporter without the need to maintaining my private fork.
|
maintain my custom exporter without the need to maintaining my private fork.
|
||||||
|
|
||||||
This implementation tries to keep plugins as light as possible, and as free of
|
This implementation tries to keep plugins as light as possible, and as free of
|
||||||
|
@ -65,7 +65,7 @@ If you have a (custom) datasource that you want to import into your jrnl
|
||||||
|
|
||||||
An importer takes the source data, turns it into Entries and then appends those
|
An importer takes the source data, turns it into Entries and then appends those
|
||||||
entries to a Journal. Here is a basic Importer, assumed to be provided with a
|
entries to a Journal. Here is a basic Importer, assumed to be provided with a
|
||||||
nicely formated JSON file:
|
nicely formatted JSON file:
|
||||||
|
|
||||||
~~~ python
|
~~~ python
|
||||||
{%
|
{%
|
||||||
|
@ -77,6 +77,12 @@ nicely formated JSON file:
|
||||||
Note that the above is very minimal, doesn't do any error checking, and doesn't
|
Note that the above is very minimal, doesn't do any error checking, and doesn't
|
||||||
try to import all possible entry metadata.
|
try to import all possible entry metadata.
|
||||||
|
|
||||||
|
Another potential use of a custom importer is to effectively create a scripted
|
||||||
|
entry creator. For example, maybe each day you want to create a journal entry
|
||||||
|
that contains the answers to specific questions; you could create a custom
|
||||||
|
"importer" that would ask you the questions, and then create an entry containing
|
||||||
|
the answers provided.
|
||||||
|
|
||||||
Some implementation notes:
|
Some implementation notes:
|
||||||
|
|
||||||
- The importer class must be named **Importer**, and should sub-class
|
- The importer class must be named **Importer**, and should sub-class
|
||||||
|
@ -91,7 +97,7 @@ Some implementation notes:
|
||||||
- **version** (string): the version of the plugin. Displayed to help the
|
- **version** (string): the version of the plugin. Displayed to help the
|
||||||
user debug their installations.
|
user debug their installations.
|
||||||
- **names** (list of strings): these are the "names" that can be passed to
|
- **names** (list of strings): these are the "names" that can be passed to
|
||||||
the CLI to invole your importer. If you specify one used by a built-in
|
the CLI to involve your importer. If you specify one used by a built-in
|
||||||
plugin, it will overwrite it (effectively making the built-in one
|
plugin, it will overwrite it (effectively making the built-in one
|
||||||
unavailable).
|
unavailable).
|
||||||
- **import_(journal, input=None)**: the actual importer. Must append
|
- **import_(journal, input=None)**: the actual importer. Must append
|
||||||
|
@ -100,7 +106,7 @@ Some implementation notes:
|
||||||
|
|
||||||
## Custom Exporter
|
## Custom Exporter
|
||||||
|
|
||||||
Custom exporters are useful to make jrnl's data available to other programs.
|
Custom exporters are useful to make *jrnl*'s data available to other programs.
|
||||||
One common usecase would to generate the input to be used by a static site
|
One common usecase would to generate the input to be used by a static site
|
||||||
generator or blogging engine.
|
generator or blogging engine.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue