Skip to content

Add llc.NextcloudCalendars to community plugins - #773

Open
Bono2007 wants to merge 1 commit into
NotePlan:mainfrom
Bono2007:add-llc-nextcloudcalendars
Open

Bono2007 wants to merge 1 commit into
NotePlan:mainfrom
Bono2007:add-llc-nextcloudcalendars

Conversation

@Bono2007

@Bono2007 Bono2007 commented Aug 8, 2026

Copy link
Copy Markdown

Adds Agendas Nextcloud (llc.NextcloudCalendars) to community-plugins.json.

The plugin fetches shared CalDAV calendars from a Nextcloud server and writes a daily agenda block into calendar notes, several days ahead. It was built to follow colleagues' shared calendars, but works with any CalDAV server exposing a Nextcloud-style layout.

Repository: https://github.com/Bono2007/noteplan-nextcloud-calendars
Release: llc-nextcloudcalendars-v1.0.0

What it does

  • Discovers the calendars available on the server and lets the user pick which ones to follow, with short auto-derived labels
  • Writes an agenda block into each of the next N daily notes (7 by default), replacing it in place on every run without touching the rest of the note
  • Expands recurring events server-side via <C:expand>, so a weekly meeting shows up on each occurrence
  • Shows multi-day events on every day they span, and all-day events without a time
  • Can be called from a template, returning the block without writing anything

Notes

  • No npm dependencies. Sources in src/ are concatenated into a single standalone index.js by build.mjs.
  • 117 tests run with node --test, including fixtures captured from a real server response.
  • The plugin does not use the repository toolchain (Flow, Rollup, noteplan-cli), which is why it lives in its own repository and is referenced here rather than vendored in.

This PR only adds one entry to community-plugins.json.

@jgclark

jgclark commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

@EduardMe please assess

@EduardMe

EduardMe commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Hi @Bono2007,

Thank you for the plugin. We have reviewed the code.

There are a few minor changes we recommend before adding it as a community plugin to make it more accessible for other users:

Required

  1. Timezone: dates.js uses Europe/Paris as a fixed value. Use NotePlan.environment.localTimeZoneIdentifier to get the timezone of the device. If you do not, users outside France see events at the wrong time.
  2. Language: The commands, settings, output, and dates are only in French. All NotePlan users see the plugin list. Use NotePlan.environment.languageCode to select the language: French for French users, English for all other users. You can also use NotePlan.environment.is12hFormat for the time format.
  3. Team-specific logic: The "Lundi … TT" rule (MONDAY_TT in format.js) shows these events on each day. This rule is only for your team. Remove it, or add a setting to turn it on. Also remove the aliases agendaFede and Agenda fédé.
  4. Manifest links: plugin.url and plugin.changelog point to NotePlan/plugins. These files do not exist there. Change the links to your repository.

Recommended

  1. Set the default of serverUrl to empty. Keep the example in the description.
  2. Add the plain-text password warning to the setting description. Tell users to use a Nextcloud app password. Show a warning for http:// server URLs, because the password is then sent without encryption.

When you publish a new release, add a comment here. We will then do a new review.

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants