Hello, @andrewbrereton
I've been exploring the plugin and have implemented a few new features for my personal usage and I hope to contribute them to the repository.
However, before proceeding further, I wanted to discuss their potential inclusion in the plugin and gather your thoughts on them. If you think these features align with the plugin's direction, I would be more than happy to refine the documentation, provide setting instructions, and submit a separate PR for your review.
1. Add option to create multiple events without schedule icon.
Same as "Which task date should be used?" β "Create an event per start/scheduled/due date" but without the schedule icon.
This is useful if you have a lot of tasks that are scheduled and you don't want to clutter your calendar with them. Start and due icons will still be appended to the summary to help you identify them.
2. Customizable status icons.
Enable users to customize icons for statuses such as "Incomplete", "Done", "Cancelled" and so on. Users can select their preferred icon or even input an empty string to hide the icon entirely.
3. Parse [startTime::], [length::] and [endTime::] properties (Tasks & DataView format of time).
If enabled, the plugin will parse tasks such as "- [ ] Something. [startTime:: 18:00] [length:: 3h30m] β³ 2024-03-01", extracting start time, end time, and duration.
4. Save calendar to private server.
Although calendars can currently be uploaded to Gist, in certain regions and under specific conditions, the gist raw refresh rate can be exceptionally slow. For instance, even though new versions are visible in the revision history, the raw content often remains outdated.
I have developed a feature that allows users to upload their calendars to their own private servers. Users can then set up public file access services, such as Nginx, on their private servers to ensure timely updates.
Users are required to deploy the GitHub - TwoStoryRobot/docker-simple-file-upload: Simple, secure file upload API in a docker container on their private server. Subsequently, within the plugin settings, users need to input the server address, port, and KEY.
Plus, utilizing a GitHub private repository (instead of Gist or a private server) might be a more suitable option.
5. Bug Fix: All day event.
The current format for all-day tasks in the generated iCal is DTSTART:20240301
. I have corrected it to comply with the standard format for all-day events: DTSTART;VALUE=DATE:20240301
.
Please let me know your thoughts on these proposed features and how you'd like to proceed. I'm open to feedback and willing to make any adjustments needed to align with the plugin's goals.
Thank you for your work on developing this plugin. I look forward to potentially contributing to its growth.