Skip to content

Creates a digital planner for use with the iPad app goodnotes 5.

License

Notifications You must be signed in to change notification settings

georgiastuart/planner-generator-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Planner Generator

GitHub Workflow Status (branch) GitHub release (latest by date)

This code creates a digital planner (maybe printable someday) for use with the iPad app goodnotes 5.

Features

  • An annual overview page with months, days, and optional personal / work goals hyperlinked.
  • Monthly pages with weeks, days, and optional personal / work goals hyperlinked.
  • Weekly pages with the month, days, and optional personal / work goals hyperlinked.
  • Daily pages with a hyperlinked mini calendar and week.
  • Annual/Monthly/Weekly personal goals (hyperlinked on each page with the target symbol in the bottom right corner).
  • Monthly/Weekly work goals (hyperlinked with briefcase symbol in bottom right corner of monthly/weekly pages).
  • Journal pages that can be a full page, half page, or quarter page.
  • Lots of hyperlinking. If it seems like it should direct to another page, it probably does.

Screen shots

Annual view

Annual view

Monthly view

Monthly view

Weekly view

Weekly view

Daily view

Daily view

Monthly personal goals

Monthly personal goals

Weekly personal goals

Weekly personal goals

Monthly work goals

Monthly work goals

Weekly work goals

Weekly work goals

Journal pages

Quarter sized pages

Using the generator locally

Prerequisites

  • Python3 >= 3.9
  • Jinja2
  • python-dateutil
  • playwright (Python)
  • Node / NPM

Install

Run

npm install

to install the tailwind dependency.

Building the planner

npm run build -- <start date (YYYY-MM-DD format)> <end date (YYYY-MM-DD format)> <optional arguments> 

To create the PDF from the HTML output, I recommend opening index.html in Chrome and using the "Save as PDF" feature in the print menu. If using this technique, set margins to none and enable background images.

Optional Arguments

usage: Python Planner Generator [-h] [--start-time START_TIME] [--end-time END_TIME] [--file-suffix FILE_SUFFIX] [--work-goals | --no-work-goals] [--personal-goals | --no-personal-goals]
                                [--daily-pages | --no-daily-pages] [--weekly-pages | --no-weekly-pages] [--journals-per-page {0,1,2,4}] [--dark-mode | --no-dark-mode]
                                start end

GoodNotes 5 Optimized PDF Planner

positional arguments:
  start                 Start date in YYYY-MM-DD format
  end                   End date in YYYY-MM-DD format

options:
  -h, --help            show this help message and exit
  --start-time START_TIME
                        Start hour for daily agenda (24 hour time)
  --end-time END_TIME   End hour for daily agenda (24 hour time)
  --file-suffix FILE_SUFFIX
                        Suffix to add to output file names
  --work-goals, --no-work-goals
  --personal-goals, --no-personal-goals
  --daily-pages, --no-daily-pages
  --weekly-pages, --no-weekly-pages
  --journals-per-page {0,1,2,4}
  --dark-mode, --no-dark-mode