Markdown Journal creates journal files using pre-set default headings. These headings can be seen in the image below:

Sample Text

These headings are added automatically as you write your entries. They have following names:

  • document_heading - marked in blue is added at the start of a new document.
  • daily_heading - marked in green is added at the start of a new day
  • timestamp - marked in pink is attached to every entry

You can redefine these headings using a config file.

Config File

To create a new config file simply put a file named config.yml in the same Dropbox folder as your journal entries like this:

Dropbox Screenshot

The contents of the file should be valid YAML syntax and include an entry for each heading:

Sample Config File

The values should follow the formating guidelines for the Ruby strftime method.

If you change the config file in the middle of the day, it could cause the daily_heading to get re-inserted into the file at the next entry.

Acceptable Config Values

You can use the following symbols in the config file:

Value Explanation
%Y4 digit year (eg. 2013)
%y2 digit year (74, 98, etc..)
%mMonth number, zero padded (01-12)
%BFull month name (January)
%bAbbreviated month name (Jan)
%bAbbreviated month name (Jan)
%dDay of the month, zero padded (01-31)
%eDay of the month, blank padded ( 1-31)
%HHour, 24hr format, zero padded (00-23)
%kHour, 24hr format, blank padded ( 0-23)
%IHour, 12hr format, zero padded (01-12)
%iHour, 12hr format, blank padded ( 1-12)
%PMeridian, lowercase (am, pm)
%pMeridian, uppercase (AM, PM)
%MMinutes, zero padded (00-59)
%SSeconds, zero padded (00-59)
%LMilliseconds, zero padded (000-999)
%AWeekday, full name (Monday)
%aWeekday, abbreviated (Mon)
%DShort date (02/28/13)
%FISO 8601 date (2013-02-28)
%r12 hour time with seconds (01:30:10 PM)
%R24 hour time without seconds (13:30)
%T24 hour time with seconds (13:30:10)

Timezone Settings

You can also set your timezone using a timezone setting. The timezone accepts values like:

  • America/New_York
  • America/Los_Angeles
  • America/Chicago
  • America/Detroit
  • America/Denver
  • Etc..

Full list of acceptable values is located here.


You can combine the listed symbols to create any heading you want. Note that you can add formating characters between these symbols for example you could try keeping your config.yml very simple:

    document_heading: %Y-%m
    daily_heading: %d
    timestamp: %R 

This would yield a very minimalistic Journal style:

Minimalistic Journal

Alternatively, you could get very fancy:

    document_heading: Journal Entries for %B of %Y
    daily_heading: Notes for %A, %e
    timestamp: Posted at %r 

This would likely look something like this:

Fancy Journal


To change the time zone, simply include it in config.yaml like this:

    timezone: America/Los_Angeles

If you only wish to change the timezone setting, you don't have to redefine the headings. Just skip them entirely if you wish.

If the timezone setting is not one of the recognized values then Markdown Journal will fall back on using Eastern Standard time.

If you are currently using a config file, please note that the time zone strings have recently changed. If you are using a string such as Eastern Time (US & Canada) please change it to America/New_York to avoid problems.

Reset to Defaults

To reset your headings back to the default, simply delete the config.yml file from your dropbox folder.

Please be aware that this may cause the daily_heading to be re-inserted into your file next time you post an entry. Simply delete it manually.