nextcloud / nextcloud/calendar

Allow custom styling for the public embedded calendar

Open
#8,327 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement
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.

Image
Additional context

Related: #3416, #2938

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.