Introduced a `Calendar` class to encapsulate calendar-related functionalities, removing redundant code and improving module organization. This refactor simplifies `__main__.py` by delegating calendar operations to the `Calendar` class, enhancing readability and maintainability. Adjusted import statements in `__init__.py` to reflect these changes, ensuring the module's public API remains clear and intuitive. The refactor also includes minor optimizations, such as consolidating validation logic and updating default image data, contributing to a leaner codebase.
This change aims to make future extensions and maintenance of the `kalente` module more manageable, paving the way for further enhancements and features.
Upgraded the project version to 0.1.4 in preparation for a new release. Additionally, introduced a default SVG data URL for the NO_LOGO constant in __main__.py, replacing the previously empty string. This change ensures a more meaningful default state for the logo, enhancing UI consistency and avoiding potential errors or unexpected behaviors in scenarios where a logo is required but not specified.
Removed the hard-coded data: URIs from the template files. Implemented a
--logo argument to provide a logo file, and a --no-logo argument to
prevent the default logo from being displayed. Data URIs are now created
on demand and passed as context to the templates.
Bumped version to 0.1.3
- Added .gitignore file to specify files and directories to ignore in version control.
- Added LICENSE file with MIT license.
- Added README.md file with project information and license details.
- Added pyproject.toml file with project metadata and dependencies.
- Added kalente source files for generating PDF calendars.
- Implemented functions for generating weekly calendars, converting HTML to PDF, and CLI parsing.
- Created a template for rendering weekly calendars in HTML format.