mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 16:48:31 +02:00
Applying doc changes based on reviews of past several documentation PRs
This commit is contained in:
parent
29234ddc35
commit
353b3d9fb2
3 changed files with 31 additions and 43 deletions
18
README.md
18
README.md
|
@ -6,14 +6,9 @@ Github._
|
||||||
|
|
||||||
`jrnl` is a simple journal application for the command line.
|
`jrnl` is a simple journal application for the command line.
|
||||||
|
|
||||||
Its goal is to facilitate the rapid creation and viewing of journal entries. It
|
You can use it to easily create, search, and view journal entries. Journals are
|
||||||
is flexible enough to support different use cases and organization strategies.
|
stored as human-readable plain text, and can also be encrypted using [AES
|
||||||
It is powerful enough to search through thousands of entries and display, or
|
encryption](http://en.wikipedia.org/wiki/Advanced_Encryption_Standard).
|
||||||
"filter," only the entries you want to see.
|
|
||||||
|
|
||||||
`jrnl` includes support for [128-bit AES
|
|
||||||
encryption](http://en.wikipedia.org/wiki/Advanced_Encryption_Standard) using
|
|
||||||
[cryptography.Fernet](https://cryptography.io/en/latest/fernet/).
|
|
||||||
|
|
||||||
## In a Nutshell
|
## In a Nutshell
|
||||||
|
|
||||||
|
@ -31,9 +26,8 @@ the rest as the body. In your journal file, the result will look like this:
|
||||||
[2012-03-29 09:00] Called in sick.
|
[2012-03-29 09:00] Called in sick.
|
||||||
Used the time to clean the house and write my book.
|
Used the time to clean the house and write my book.
|
||||||
|
|
||||||
Entering `jrnl` without any arguments launches an external editor where you can
|
If you just call `jrnl`, you will be prompted to compose your entry - but you
|
||||||
write your entry. `jrnl` will generate a time stamp for the entry after you save
|
can also configure _jrnl_ to use your external editor.
|
||||||
and close the editor window.
|
|
||||||
|
|
||||||
For more information, please read the
|
For more information, please read the
|
||||||
[documentation](https://jrnl.sh/overview/).
|
[documentation](https://jrnl.sh/overview/).
|
||||||
|
@ -61,7 +55,7 @@ src="https://opencollective.com/jrnl/contributors.svg?width=890&button=false"
|
||||||
If you'd also like to help make `jrnl` better, please see our [contributing
|
If you'd also like to help make `jrnl` better, please see our [contributing
|
||||||
documentation](CONTRIBUTING.md).
|
documentation](CONTRIBUTING.md).
|
||||||
|
|
||||||
## Financial Backers
|
### Financial Backers
|
||||||
|
|
||||||
Another way show support is through direct financial contributions. These funds
|
Another way show support is through direct financial contributions. These funds
|
||||||
go to covering our costs, and are a quick way to show your appreciation for
|
go to covering our costs, and are a quick way to show your appreciation for
|
||||||
|
|
|
@ -7,23 +7,6 @@ real world. There are a number of ways that people can at least partially
|
||||||
compromise your `jrnl` data. See the [Privacy and Security](./security.md) page
|
compromise your `jrnl` data. See the [Privacy and Security](./security.md) page
|
||||||
for more information.
|
for more information.
|
||||||
|
|
||||||
## Dependencies
|
|
||||||
|
|
||||||
As of version 2.0, `jrnl`'s encryption functions require
|
|
||||||
[`cryptography`](https://pypi.org/project/cryptography/), which is available in
|
|
||||||
the Python Package Index (PyPI) and can be installed using `pip`:
|
|
||||||
|
|
||||||
``` sh
|
|
||||||
pip3 install cryptography
|
|
||||||
```
|
|
||||||
|
|
||||||
Previous versions of `jrnl` require
|
|
||||||
[`pycrypto`](https://pypi.org/project/pycrypto/):
|
|
||||||
|
|
||||||
```sh
|
|
||||||
pip3 install pycrypto
|
|
||||||
```
|
|
||||||
|
|
||||||
## Encrypting and Decrypting
|
## Encrypting and Decrypting
|
||||||
|
|
||||||
Existing plain text journal files can be encrypted using the `--encrypt`
|
Existing plain text journal files can be encrypted using the `--encrypt`
|
||||||
|
@ -52,7 +35,7 @@ encrypted file untouched and create a new plain text file next to it.
|
||||||
|
|
||||||
## Storing Passwords in Your Keychain
|
## Storing Passwords in Your Keychain
|
||||||
|
|
||||||
There is no method to recover or reset your `jrnl` password. If you lose it,
|
You can't recover or reset your `jrnl` password. If you lose it,
|
||||||
your data will be inaccessible forever.
|
your data will be inaccessible forever.
|
||||||
|
|
||||||
For this reason, when encrypting a journal, `jrnl` asks whether you would like
|
For this reason, when encrypting a journal, `jrnl` asks whether you would like
|
||||||
|
@ -66,7 +49,8 @@ same password again. This will trigger the keychain storage prompt.
|
||||||
|
|
||||||
## Manual Decryption
|
## Manual Decryption
|
||||||
|
|
||||||
Should you ever want to decrypt your journal manually, you can do so with any
|
The easiest way to decrypt your journal is with `jrnl --decrypt`, but
|
||||||
|
if you would like to decrypt your journal manually, you can do so with any
|
||||||
program that supports the AES algorithm in CBC. The key used for encryption is
|
program that supports the AES algorithm in CBC. The key used for encryption is
|
||||||
the SHA-256 hash of your password. The IV (initialization vector) is stored in
|
the SHA-256 hash of your password. The IV (initialization vector) is stored in
|
||||||
the first 16 bytes of the encrypted file. The plain text is encoded in UTF-8 and
|
the first 16 bytes of the encrypted file. The plain text is encoded in UTF-8 and
|
||||||
|
@ -106,6 +90,12 @@ key = base64.urlsafe_b64encode(kdf.derive(password))
|
||||||
print(Fernet(key).decrypt(ciphertext).decode('utf-8'))
|
print(Fernet(key).decrypt(ciphertext).decode('utf-8'))
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To run the above script, you'll need [`cryptography`](https://pypi.org/project/cryptography/), which you can install with `pip`:
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
pip3 install cryptography
|
||||||
|
```
|
||||||
|
|
||||||
If you're still using `jrnl` version 1.X, the following script serves the same
|
If you're still using `jrnl` version 1.X, the following script serves the same
|
||||||
purpose:
|
purpose:
|
||||||
|
|
||||||
|
@ -134,3 +124,10 @@ plain = plain.strip(plain[-1:])
|
||||||
plain = plain.decode("utf-8")
|
plain = plain.decode("utf-8")
|
||||||
print(plain)
|
print(plain)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
This script requires
|
||||||
|
[`pycrypto`](https://pypi.org/project/pycrypto/):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pip3 install pycrypto
|
||||||
|
```
|
||||||
|
|
|
@ -2,16 +2,15 @@
|
||||||
|
|
||||||
`jrnl` is a simple journal application for the command line.
|
`jrnl` is a simple journal application for the command line.
|
||||||
|
|
||||||
`jrnl`'s goal is to facilitate the rapid creation and viewing of journal
|
You can use it to easily create, search, and view journal entries. Journals are
|
||||||
entries. It is flexible enough to support different use cases and organization
|
stored as human-readable plain text, and can also be encrypted using [AES
|
||||||
strategies. It is powerful enough to search through thousands of entries and
|
encryption](http://en.wikipedia.org/wiki/Advanced_Encryption_Standard).
|
||||||
display, or "filter," only the entries you want to see.
|
|
||||||
|
|
||||||
`jrnl` has most of the features you need, and few of the ones you don't.
|
`jrnl` has most of the features you need, and few of the ones you don't.
|
||||||
|
|
||||||
## Plain Text
|
## Plain Text
|
||||||
|
|
||||||
`jrnl` stores each journal in plain text. `jrnl` files can be stored anywhere,
|
`jrnl` stores each journal in plain text. You can store `jrnl` files anywhere,
|
||||||
including in shared folders to keep them synchronized between devices. Journal
|
including in shared folders to keep them synchronized between devices. Journal
|
||||||
files are compact (thousands of entries take up less than 1 MiB) and can be read
|
files are compact (thousands of entries take up less than 1 MiB) and can be read
|
||||||
by almost any electronic device, now and for the foreseeable future.
|
by almost any electronic device, now and for the foreseeable future.
|
||||||
|
@ -38,11 +37,9 @@ to the external editor of your choice.
|
||||||
|
|
||||||
## Encryption
|
## Encryption
|
||||||
|
|
||||||
`jrnl` includes support for [128-bit AES
|
`jrnl` includes support for [AES
|
||||||
encryption](http://en.wikipedia.org/wiki/Advanced_Encryption_Standard) using
|
encryption](http://en.wikipedia.org/wiki/Advanced_Encryption_Standard). See the
|
||||||
[cryptography.Fernet](https://cryptography.io/en/latest/fernet/). The
|
[encryption page](./encryption.md) for more information.
|
||||||
[encryption page](./encryption.md) explains `jrnl`'s cryptographic framework in
|
|
||||||
more detail.
|
|
||||||
|
|
||||||
## Import and Export
|
## Import and Export
|
||||||
|
|
||||||
|
@ -51,8 +48,8 @@ be [exported](./export.md) in a variety of formats.
|
||||||
|
|
||||||
## Multi-Platform Support
|
## Multi-Platform Support
|
||||||
|
|
||||||
`jrnl` is compatible with most operating systems. Pre-compiled binaries are
|
`jrnl` is compatible with most operating systems. You can download it using one
|
||||||
available through several distribution channels, and you can build from source.
|
of a variety of package managers, or you can build from source.
|
||||||
See the [installation page](./installation.md) for more information.
|
See the [installation page](./installation.md) for more information.
|
||||||
|
|
||||||
## Open-Source
|
## Open-Source
|
||||||
|
|
Loading…
Add table
Reference in a new issue