mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-07-10 01:16:12 +02:00
Merge branch 'develop' into develop
This commit is contained in:
commit
dbc98749cc
30 changed files with 2204 additions and 1615 deletions
|
@ -37,6 +37,9 @@ jrnl yesterday: All my troubles seemed so far away. --edit
|
|||
|
||||
All editors must be [blocking processes](https://en.wikipedia.org/wiki/Blocking_(computing)) to work with jrnl. Some editors, such as [micro](https://micro-editor.github.io/), are blocking by default, though others can be made to block with additional arguments, such as many of those documented below. If jrnl opens your editor but finishes running immediately, then your editor is not a blocking process, and you may be able to correct that with one of the suggestions below.
|
||||
|
||||
Please see [this section](./privacy-and-security.md#editor-history) about how
|
||||
your editor might leak sensitive information and how to mitigate that risk.
|
||||
|
||||
## Sublime Text
|
||||
|
||||
To use [Sublime Text](https://www.sublimetext.com/), install the command line
|
||||
|
@ -71,6 +74,17 @@ back to journal. In the case of MacVim, this is `-f`:
|
|||
editor: "mvim -f"
|
||||
```
|
||||
|
||||
## Vim/Neovim
|
||||
|
||||
To use any of the Vim derivatives as editor in Linux, simply set the `editor`
|
||||
to the executable:
|
||||
|
||||
```yaml
|
||||
editor: "vim"
|
||||
# or
|
||||
editor: "nvim"
|
||||
```
|
||||
|
||||
## iA Writer
|
||||
|
||||
On OS X, you can use the fabulous [iA
|
||||
|
|
|
@ -78,8 +78,125 @@ unencrypted temporary remains on your disk. If your computer were to shut off
|
|||
during this time, or the `jrnl` process were killed unexpectedly, then the
|
||||
unencrypted temporary file will remain on your disk. You can mitigate this
|
||||
issue by only saving with your editor right before closing it. You can also
|
||||
manually delete these files (i.e. files named `jrnl_*.txt`) from your temporary
|
||||
folder.
|
||||
manually delete these files from your temporary folder. By default, they
|
||||
are named `jrnl*.jrnl`, but if you use a
|
||||
[template](reference-config-file.md#template), they will have the same
|
||||
extension as the template.
|
||||
|
||||
## Editor history
|
||||
|
||||
Some editors keep usage history stored on disk for future use. This can be a
|
||||
security risk in the sense that sensitive information can leak via recent
|
||||
search patterns or editor commands.
|
||||
|
||||
### Visual Studio Code
|
||||
|
||||
Visual Studio Code stores the contents of saved files to allow you to restore or
|
||||
review the contents later. You can disable this feature for all files by unchecking
|
||||
the `workbench.localHistory.enabled` setting in the
|
||||
[Settings editor](https://code.visualstudio.com/docs/getstarted/settings#_settings-editor).
|
||||
|
||||
Alternatively, you can disable this feature for specific files by configuring a
|
||||
[pattern](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options)
|
||||
in the `workbench.localHistory.exclude` setting. To exclude unencrypted temporary files generated
|
||||
by `jrnl`, you can set the `**/jrnl*.jrnl` (unless you are using a
|
||||
[template](reference-config-file.md#template)) pattern for the `workbench.localHistory.exclude` setting
|
||||
in the [Settings editor](https://code.visualstudio.com/docs/getstarted/settings#_settings-editor).
|
||||
|
||||
!!! note
|
||||
On Windows, the history location is typically found at
|
||||
`%APPDATA%\Code\User\History`.
|
||||
|
||||
Visual Studio Code also creates a copy of all unsaved files that are open.
|
||||
It stores these copies in a backup location that's automatically cleaned when
|
||||
you save the file. However, if your computer shuts off before you save the file,
|
||||
or the Visual Studio Code process stops unexpectedly, then an unencrypted
|
||||
temporary file may remain on your disk. You can manually delete these files
|
||||
from the backup location.
|
||||
|
||||
!!! note
|
||||
On Windows, the backup location is typically found at
|
||||
`%APPDATA%\Code\Backups`.
|
||||
|
||||
### Vim
|
||||
|
||||
Vim stores progress data in a so called Viminfo file located at `~/.viminfo`
|
||||
which contains all sorts of user data including command line history, search
|
||||
string history, search/substitute patterns, contents of register etc. Also to
|
||||
be able to recover opened files after an unexpected application close Vim uses
|
||||
swap files.
|
||||
|
||||
These options as well as other leaky features can be disabled by setting the
|
||||
`editor` key in the Jrnl settings like this:
|
||||
|
||||
``` yaml
|
||||
editor: "vim -c 'set viminfo= noswapfile noundofile nobackup nowritebackup noshelltemp history=0 nomodeline secure'"
|
||||
```
|
||||
|
||||
To disable all plugins and custom configurations and start Vim with the default
|
||||
configuration `-u NONE` can be passed on the command line as well. This will
|
||||
ensure that any rogue plugins or other difficult to catch information leaks are
|
||||
eliminated. The downside to this is that the editor experience will decrease
|
||||
quite a bit.
|
||||
|
||||
To instead let Vim automatically detect when a Jrnl file is being edited an
|
||||
autocommand can be used. Place this in your `~/.vimrc`:
|
||||
|
||||
``` vim
|
||||
autocmd BufNewFile,BufReadPre *.jrnl setlocal viminfo= noswapfile noundofile nobackup nowritebackup noshelltemp history=0 nomodeline secure
|
||||
```
|
||||
|
||||
!!! note
|
||||
If you're using a [template](reference-config-file.md#template), you will
|
||||
have to use the template's file extension instead of `.jrnl`.
|
||||
|
||||
See `:h <option>` in Vim for more information about the options mentioned.
|
||||
|
||||
### Neovim
|
||||
|
||||
Neovim strives to be mostly compatible with Vim and has therefore similar
|
||||
functionality as Vim. One difference in Neovim is that the Viminfo file is
|
||||
instead called the ShaDa ("shared data") file which resides in
|
||||
`~/.local/state/nvim` (`~/.local/share/nvim` pre Neovim v0.8.0). The ShaDa file
|
||||
can be disabled in the same way as for Vim.
|
||||
|
||||
``` yaml
|
||||
editor: "nvim -c 'set shada= noswapfile noundofile nobackup nowritebackup noshelltemp history=0 nomodeline secure'"
|
||||
```
|
||||
|
||||
`-u NONE` can be passed here as well to start a session with the default configs.
|
||||
|
||||
As for Vim above we can create an autocommand in Vimscript:
|
||||
|
||||
``` vim
|
||||
autocmd BufNewFile,BufReadPre *.jrnl setlocal shada= noswapfile noundofile nobackup nowritebackup noshelltemp history=0 nomodeline secure
|
||||
```
|
||||
|
||||
or the same but in Lua:
|
||||
|
||||
``` lua
|
||||
vim.api.nvim_create_autocmd( {"BufNewFile","BufReadPre" }, {
|
||||
group = vim.api.nvim_create_augroup("PrivateJrnl", {}),
|
||||
pattern = "*.jrnl",
|
||||
callback = function()
|
||||
vim.o.shada = ""
|
||||
vim.o.swapfile = false
|
||||
vim.o.undofile = false
|
||||
vim.o.backup = false
|
||||
vim.o.writebackup = false
|
||||
vim.o.shelltemp = false
|
||||
vim.o.history = 0
|
||||
vim.o.modeline = false
|
||||
vim.o.secure = true
|
||||
end,
|
||||
})
|
||||
```
|
||||
|
||||
!!! note
|
||||
If you're using a [template](reference-config-file.md#template), you will
|
||||
have to use the template's file extension instead of `.jrnl`.
|
||||
|
||||
Please see `:h <option>` in Neovim for more information about the options mentioned.
|
||||
|
||||
## Plausible deniability
|
||||
|
||||
|
@ -100,7 +217,6 @@ In Windows, the keychain is the Windows Credential Manager (WCM), which can't be
|
|||
and can be accessed by any other application running under your username. If this is
|
||||
a concern for you, you may not want to store your password.
|
||||
|
||||
|
||||
## Notice any other risks?
|
||||
|
||||
Please let the maintainers know by [filing an issue on GitHub](https://github.com/jrnl-org/jrnl/issues).
|
||||
|
|
|
@ -76,8 +76,11 @@ entries, such as `yesterday`, `today`, `Tuesday`, or `2021-08-01`.
|
|||
| -contains TEXT | Show entries containing specific text (put quotes around text with spaces) |
|
||||
| -and | Show only entries that match all conditions, like saying "x AND y" (default: OR) |
|
||||
| -starred | Show only starred entries (marked with *) |
|
||||
| -tagged | Show only tagged entries (marked with the [configured tagsymbols](reference-config-file.md#tagsymbols)) |
|
||||
| -n [NUMBER] | Show a maximum of NUMBER entries (note: '-n 3' and '-3' have the same effect) |
|
||||
| -not [TAG] | Exclude entries with this tag |
|
||||
| -not -starred | Exclude entries that are starred |
|
||||
| -not -tagged | Exclude entries that are tagged |
|
||||
|
||||
## Searching Options
|
||||
These help you do various tasks with the selected entries from your search.
|
||||
|
|
|
@ -59,7 +59,9 @@ value for journals that already have data in them.
|
|||
|
||||
### template
|
||||
The path to a text file to use as a template for new entries. Only works when you
|
||||
have the `editor` field configured.
|
||||
have the `editor` field configured. If you use a template, the editor's
|
||||
[temporary files](privacy-and-security.md#files-in-transit-from-editor-to-jrnl)
|
||||
will have the same extension as the template.
|
||||
|
||||
### tagsymbols
|
||||
Symbols to be interpreted as tags.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue