Markdown Calendar Generator
View your .ics calendars as monthly calendar in Markdown format!
- Generate a monthly calendar in Markdown format from .ics files
- Supports general .ics files
- Events of the day in dropdown format
- Customizable event formatting and detail
This script requires Python and the following packages:
icalendarpyyaml
Copy/download this repository. For git users:
git clone https://github.com/cc-christopher/cal-ics2md.gitInstall the required packages:
pip install icalendar
pip install pyyaml-
Navigate to the cal-ics2md directory and open the
config.yamlfile. -
Paste the link to the .ics file after the
CALENDAR_URLkey. -
Set your desired period between
START_MONTH/START_YEARandEND_MONTH/END_YEAR. -
Set your desired output file naming. Default is
calendar.md. -
On the same directory, run the script from the terminal:
python cal-ics2md.py
-
Done! Have a cookie! 🍪
The current program is set for Bahasa Indonesia output. You can customize the bulan variable to change the month to your desired language. For days of the week, you can customize the weekheader() function.
To customize the event formatting, please modify to generate_event() function. Don't forget that the df variable needs to reflect additional columns you provided.
An .ics file with
⚠️ Warning: Some .ics files may have different parameters which affects theDataFramecolumns. Please check the .ics file and modify thegenerate_event()function and columns accordingly.For example, the first .ics file has a
LOCATIONparameter, while the second .ics file does not.
LOCATION parameter.
An .ics file **without** LOCATION parameter.
- Add support for multiple .ics files
- Add multi-language support
- Reflect
DataFramecolumn andgenerate_event()properties directly from parameters of the .ics file
Author: cc-christopher https://github.com/cc-christopher GPL-3.0 License

