Adobe InDesign
Calendar Wizard

by Scott Selberg

Advanced Features: Holidays

The calendarWizard has the ability to insert a list of dates into the calendar. The dates are defined in plain text files or a text frame in the current document. In the generated caledar, they are placed in a dedicated table superimposed on top of the table containing the dates. This allows the placement of the holidays to be independant of the date placement. (i.e. dates can be placed top-right while the holiday text is set for bottom-middle.)

Both the ScriptUI and Classic interfaces generate a list of selectable holiday sets with a series of checkboxes to identify the desired style from the files in a particular directory Checking one of the boxes will 'activate' that holiday set informing the script to include the holidays defined in that file. The checkbox indicates to use either the A, B, C or D holiday style. The ScriptUI interface will only allow one check box to be selected; the Classic interface allows all to be selected at the same time - but will only honor the first one. The purpose of the different styles is to allow the graphic artist to style one group of holidays (such as US Holidays) differently from another group (birthdays for example).

Holidays View

If two holidays are listed for the same date, they will both be printed in the cell seperated by a new line. If the text of a holiday exactly appears in two of more lists, only the first occurance will be printed. Note text of the holidays must be exact. Any differences in spelling, capitalization, or extra space will cause the script to consider them different and print both.

If Highlight Holidays is selected and there is a holiday printed for that date, the style of the date (i.e. the number) will be set to match the style of the holiday. If there are multiple holidays using different styles, it will take holidays in style A, then B, then C and finally D. Within each style grouping, the holidays are inserted in the alphabetical order of the holiday set name.

Holiday Sets

The holidays sets are plain text files that end in ".holidays" and are located in a special directory. The directory moves around depending on the operating system and version, so the best way to locate it is from the help window of the ScriptUI Interface.

Presently, in OSX, the directory is /Users/<username>/Library/Application Support/calendarWizard/holidays. Windows 7 puts the files in C:\Users\<username>\AppData\Roaming\calendarWizard. Both OS flag a portion of the directory as hidden, so the user will need to tell the OS to show hidden folders in order to browse to the directory.

Prior to Calendar Wizard 5, the files needed to be manually updated. Calendar Wizard 5 introduces a Holiday File manager that allows the graphic artist to view, edit, create and delete the holiday files from within the Calendar Wizard ScriptUI interface.

Holiday File Editor


Holiday List Format:

The format of a holiday is either: mm-dd-yyyy:text or mm-dd:text

Note, the script does not use leading 0's, so use 1-1 for January 1st rather than 01-01. The text could be anything. For example:

1-1:New Year's Day
1-19-2009:Martin Luther King Jr.'s Birthday

For holidays which occur on the same date every year, such as new year's day or somebody's birthday, it's best to use the format "mm-dd". When the holiday changes from year to year, such as Easter, use "mm-dd-yyyy".

The longer the holiday list is, the longer it will take to generate a calender regardless if the holidays occur in that month or not.

Loading from the Current Frame

The list of holidays can be typed into a text frame. If the frame is selected and a style for the "From Current Frame" is selected, the script will load and print the holidays from that frame.

Note, when selected, the behavior of "Auto" for the page setting changes. In this case a new document will be created so the date information is not destroyed. If you want to replace the holiday text with the calendar, set Page to "Current Text Frame".

Loading from a Custom File

If selected, the script will bring up a dialog box in which one or more files may be selected. They are expected to be simple text files (not MS Word documents) that adhere to the holiday list format described above. Notepad or some other simple text editor is a good tool to use for generating the text files rather than a Word Processor like MS Word. If you do use Word or OpenOffice, be sure to save the file as a simple text file (.txt)

Creating a Holiday File from iCal Data

A webpage is provided to convert frim iCal data to the holiday format: iCal To Holiday Converter