Collect your thoughts and notes without leaving the command line.
Find a file
Aaron Lichtman 9e5d160bbd Pretty print journal entries (#692)
* Pretty print journal entry titles and dates.

Changes appearance of all jrnl viewing commands, such as $ jrnl --short and
$ jrnl -n {NUM}.

Fix #508

* Removed extra newline at end of title

* Use ansiwrap to properly wrap strings with ANSI escapes

* Add ansiwrap to pyproject.toml

* Allow configuration of colors

- Replaced raw escapes with colorama
- Added colors key to config
- Add checks for validity of color values

* Add color configuration documentation

* Fix broken tests due to config change

* Add tests for colors in configs

- Identifying invalid color configs
- Upgrading config from no colors -> colors

* Add colorama dependency for all platforms

* Allow users to disable colorization of output

* Update poetry.lock

* Add tag and body color customization options

* Fix colorization of tags in title and body

* Updated tests to use no color by default

* Change pass to continue in verify_config()

* Better style in Entry.py

* Reduce code duplication for tag highlighting

- Breaks "unreadable date" regression test for unknown reason

* Properly colorize tags and print body

* Reformatting and clean up

* Replace list comprehension with generator

* Handle invalid colors by not using a color

* Process ANSI escapes properly with behave

* Fixed the 'spaces after tags directly next to punctuation' bug

Broke processing of tags next to any punctuation at all

* Closer to working tag colorization but not perfect

* Add tests printing for multiline journals

Fix #717

* Correctly indent first line of multiline entry

* Add test for multiline entries with tags

* Remove redundant UNICODE flag

* Progress towards proper tag colorization and body formatting

* Fix newline colorization bug

Debug code left intact since there are more bugs to fix :/

* And now the space just ends up before the tag instead of after it

* Fix assertion syntax warning

* Moved tag test to tagging.feature file

* Strip out debug code and clean up

* Bold datetimes in title

* Bold all titles

Fix #720

* Remove PY2 and PY3 constants

* Fix regression in features/steps/core.py

* Fix tag_regex

* Remove redundant re.UNICODE flag

* Remove extraneous code
2020-04-10 11:51:56 -07:00
.build Stop multipe changelog generators from crashing into each other 2020-04-10 11:51:56 -07:00
.github Adding "new" labels to new issues 2020-04-10 11:51:55 -07:00
docs Pretty print journal entries (#692) 2020-04-10 11:51:56 -07:00
features Pretty print journal entries (#692) 2020-04-10 11:51:56 -07:00
jrnl Pretty print journal entries (#692) 2020-04-10 11:51:56 -07:00
.github_changelog_generator update changelog generator settings to be less verbose, fix links 2020-04-10 11:51:56 -07:00
.gitignore add version file to repo 2020-04-10 11:51:56 -07:00
.travis.yml Don't re-run tests on deployment (#839) 2020-04-10 11:51:56 -07:00
CHANGELOG.md Updating changelog [ci skip] 2020-04-10 11:51:56 -07:00
CODE_OF_CONDUCT.md [GH-602] Add a code of conduct file (rather than adding to contributing) 2020-04-10 11:51:55 -07:00
CONTRIBUTING.md [GH-693] cleaning up "Developing" section and adding a note about behave 2020-04-10 11:51:55 -07:00
LICENSE fix typos, spelling (#734) 2020-04-10 11:51:55 -07:00
Makefile ¯\_(ツ)_/¯ 2020-04-10 11:51:55 -07:00
mkdocs.yml Update site description (#841) 2020-04-10 11:51:56 -07:00
poetry.lock Pretty print journal entries (#692) 2020-04-10 11:51:56 -07:00
pyproject.toml Pretty print journal entries (#692) 2020-04-10 11:51:56 -07:00
README.md Smaller doc fixes, fixes #486 2020-04-10 11:51:55 -07:00

jrnl Build Status Downloads Version

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:

Original maintainer: