jrnl - Man Page

manual page for jrnl v4.2

Examples (TL;DR)

Description

usage: __main__.py [--debug] [--help] [--version] [--list] [--encrypt]

[--decrypt] [--import] [--template TEMPLATE] [-on DATE] [-today-in-history] [-month DATE] [-day DATE] [-year DATE] [-from DATE] [-to DATE] [-contains TEXT] [-and] [-starred] [-tagged] [-n [NUMBER]] [-not [TAG/FLAG]] [--edit] [--delete] [--change-time [DATE]] [--format TYPE] [--tags] [--short] [--config-override CONFIG_KV_PAIR CONFIG_KV_PAIR] [--config-file CONFIG_FILE_PATH] [ ...]

Collect your thoughts and notes without leaving the command line

Optional Arguments

--debug

Print information useful for troubleshooting

Standalone Commands

These commands will exit after they complete. You may only run one at a time.

--help

Show this help message

--version

Print version information

--list

List all configured journals. Optional parameters: --format [json or yaml]

--encrypt

Encrypt selected journal with a password

--decrypt

Decrypt selected journal and store it in plain text

--import

Import entries from another journal. Optional parameters: --file FILENAME (default: uses stdin) --format [jrnl] (default: jrnl)

Writing

To add a new entry into your journal, simply write it on the command line:

jrnl yesterday: I was walking and I found this big log.

The date and the following colon ("yesterday:") are optional. If you leave them out, "now" will be used:

jrnl Then I rolled the log over.

Also, you can mark extra special entries ("star" them) with an asterisk:

jrnl *And underneath was a tiny little stick.

Please note that asterisks might be a special character in your shell, so you might have to escape them. When in doubt about escaping, put quotes around your entire entry:

jrnl "saturday at 2am: *Then I was like 'That log had a child!'"

--template TEMPLATE

Path to template file. Can be a local path, absolute path, or a path relative to $XDG_DATA_HOME/jrnl/templates/

Searching

To find entries from your journal, use any combination of the below filters.

-on DATE

Show entries on this date

-today-in-history

Show entries of today over the years

-month DATE

Show entries on this month of any year

-day DATE

Show entries on this day of any month

-year DATE

Show entries of a specific year

-from DATE

Show entries after, or on, this date

-to DATE

Show entries before, or on, this date (alias: -until)

-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 entries that have at least one tag

-n [NUMBER]

Show a maximum of NUMBER entries (note: '-n 3' and '-3' have the same effect)

-not [TAG/FLAG]

If passed a string, will exclude entries with that tag. Can be also used before -starred or -tagged flags, to exclude starred or tagged entries respectively.

Searching Options:

These help you do various tasks with the selected entries from your search. If used on their own (with no search), they will act on your entire journal

--edit

Opens the selected entries in your configured editor

--delete

Interactively deletes selected entries

--change-time [DATE]

Change timestamp for selected entries (default: now)

--format TYPE

Display selected entries in an alternate format. TYPE can be: boxed, calendar, dates, fancy, heatmap, json, markdown, md, pretty, short, tags, text, txt, xml, or yaml. Optional parameters: --file FILENAME Write output to file instead of stdout

--tags

Alias for '--format tags'. Returns a list of all tags and number of occurrences

--short

Show only titles or line containing the search tags

Config file override

Apply a one-off override of the config file option

--config-override CONFIG_KV_PAIR CONFIG_KV_PAIR

Override configured key-value pair with CONFIG_KV_PAIR for this command invocation only. Examples: - Use a different editor for this jrnl entry, call: jrnl --config-override editor "nano" - Override color selections jrnl --config-override colors.body blue --configoverride colors.title green

Specifies alternate config to be used

Applies alternate config for current session

--config-file CONFIG_FILE_PATH

Overrides default (created when first installed) config file for this command only. Examples: - Use a work config file for this jrnl entry, call: jrnl --config-file /home/user1/work_config.yaml - Use a personal config file stored on a thumb drive: jrnl --config-file /media/user1/my-thumbdrive/personal_config.yaml

We gratefully thank all contributors! Come see the whole list of code and financial contributors at https://github.com/jrnl-org/jrnl And special thanks to Bad Lip Reading for the Yoda joke in the Writing section above :)

Info

November 2024 jrnl v4.2