nextcloud / nextcloud/calendar
Allow custom styling for the public embedded calendar
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.2k
- Forks
- 332
- Avg merge
- 16h 13m
- Merged PRs (30d)
- 137
Description
Is your feature request related to a problem? Please describe.
The built-in iframe embed doesn't allow any visual customization. Colors, fonts, and layout are imposed by Nextcloud, making it impossible to integrate the calendar seamlessly into a website with its own visual identity.
Describe the solution you'd like
Basic theming options for the public embed, for example:
CSS custom properties overridable via URL parameters or a configuration UI
A choice of accent color / color scheme
A minimal/compact layout option suited for embedding in third-party websites (Wix, WordPress, etc.)
Describe alternatives you've considered
I bypassed the iframe entirely by fetching the public ICS URL directly, parsing it server-side in PHP, and rendering a fully custom HTML widget styled to match our association's visual identity. Here is the result:
https://cafeassocugnaux.wixsite.com/huit/evenements
This works, but it requires significant technical effort that most non-technical users cannot do. Happy to share the full source code as a reference or starting point.
Additional context
Related: #3416, #2938
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the built-in public iframe embed and review related issues #3416 and #2938. Clarify the scope of theming before changing code: URL or configuration-based CSS customization, accent or color-scheme selection, and a compact layout. Done should provide an agreed, usable customization path for third-party embeds without requiring direct ICS rendering.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100