Add test for aborting jrnl entry from editor Use native mocking Add comment explaining discrepancy between expected and asserted output Fix check_empty_output method Check message on stderr and patch subprocess.call Add _mock_editor_function Update features/steps/core.py Add return from mock function Add debug statements Debug Update features/steps/core.py Move sys.exit() down Fix test? Fix test? Fix test? Clean up debug statements Clean up debug statements Remove extraneous code Remove extra space Add test for empty stdin input Remove extra debug line Fix test? Fix test? Update features/core.feature Fix test? Fix no stdin input test Co-Authored-By: pspeter <peter.schmidb@gmail.com> |
||
---|---|---|
.github | ||
docs | ||
features | ||
jrnl | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile | ||
mkdocs.yml | ||
poetry.lock | ||
pyproject.toml | ||
README.md |
jrnl

To get help, submit an issue on Github.
jrnl is a simple journal application for your command line. Journals are stored as human readable plain text files - you can put them into a Dropbox folder for instant syncing and you can be assured that your journal will still be readable in 2050, when all your fancy iPad journal applications will long be forgotten.
Optionally, your journal can be encrypted using the 256-bit AES.
Why keep a journal?
Journals aren't just for people who have too much time on their summer vacation. A journal helps you to keep track of the things you get done and how you did them. Your imagination may be limitless, but your memory isn't. For personal use, make it a good habit to write at least 20 words a day. Just to reflect what made this day special, why you haven't wasted it. For professional use, consider a text-based journal to be the perfect complement to your GTD todo list - a documentation of what and how you've done it.
In a Nutshell
to make a new entry, just type
jrnl yesterday: Called in sick. Used the time to clean the house and spent 4h on writing my book.
and hit return. yesterday:
will be interpreted as a timestamp. Everything until the first sentence mark (.?!
) will be interpreted as the title, the rest as the body. In your journal file, the result will look like this:
2012-03-29 09:00 Called in sick.
Used the time to clean the house and spent 4h on writing my book.
If you just call jrnl
, you will be prompted to compose your entry - but you can also configure jrnl to use your external editor.
Known Issues
jrnl used to support integration with Day One, but no longer supports it since Day One 2 was released with a different backend. See the GitHub issue for more information.
Authors
Current maintainers:
- Jonathan Wren (wren)
- Micah Ellison (micahellison)
Original maintainer:
- Manuel Ebert (maebert)