webxdc/calendar
13
9
Fork
You've already forked calendar
3
A mobile-friendly calendar for WebXDC
  • JavaScript 90.4%
  • CSS 5.9%
  • HTML 3.7%
Nico de Haen 34d9519310
All checks were successful
CI / build (pull_request) Successful in 31s
CI / build (push) Successful in 32s
feat: open day view on header click
2026年05月06日 10:22:19 +02:00
.forgejo/workflows Add ci.yml ( #100 ) 2023年07月15日 13:28:03 +00:00
assets update README screenshot ( #86 ) 2023年07月04日 17:40:38 +00:00
e2e add e2e test for editor 2026年05月06日 07:24:48 +02:00
js feat: open day view on header click 2026年05月06日 10:22:19 +02:00
langs improve calendar ( #151 ) 2026年03月26日 15:41:59 +01:00
public add calendar description ( #93 ) 2023年07月05日 20:23:48 +00:00
test improve calendar ( #151 ) 2026年03月26日 15:41:59 +01:00
.gitignore improve calendar ( #151 ) 2026年03月26日 15:41:59 +01:00
.prettierignore use @webxdc/vite-plugins, and upgrade dependencies ( #126 ) 2024年11月23日 17:03:07 +00:00
calendar.css feat: open day view on header click 2026年05月06日 10:22:19 +02:00
CHANGELOG.md Add changelog ( #116 ) 2023年08月22日 22:29:05 +00:00
globals.d.ts improve calendar ( #151 ) 2026年03月26日 15:41:59 +01:00
index.html improve calendar ( #151 ) 2026年03月26日 15:41:59 +01:00
LICENSE change license to MPL ( #79 ) 2023年06月27日 21:45:04 +02:00
package-lock.json improve calendar ( #151 ) 2026年03月26日 15:41:59 +01:00
package.json improve calendar ( #151 ) 2026年03月26日 15:41:59 +01:00
playwright.config.js improve calendar ( #151 ) 2026年03月26日 15:41:59 +01:00
README.md improve calendar ( #151 ) 2026年03月26日 15:41:59 +01:00
tsconfig.json improve calendar ( #151 ) 2026年03月26日 15:41:59 +01:00
vite.config.js improve calendar ( #151 ) 2026年03月26日 15:41:59 +01:00

Calendar code style: prettier

A simple WebXDC calendar application.

Getting Started

  • Download calendar.xdc file from release assets
  • Attach it to a group chat
  • Added, modified or deleted events will be shared with others in the same group
  • Or try out an online demo

alt text

Import / Export

The calendar is based on the ICS format as described in RFC 5545 and has been tested with Simple Calendar, Etar, Thunderbird, Google Calendar and Apple Calendar. Please let us know if there are some features missing.

Complete calendar data can be imported from or exported to an .ics file and shared with other group chats. There's also an option to Share individual events in the same fashion.

Contributing

The code is currently based on vanilla JavaScript, HTML and CSS. A development environment with node.js and npm installed is assumed.

Install

npm install

Tests

The tests are run using vitest.

npm test

There are also e2e tests based on playwright

npm run test:e2e

You can watch the tests in the UI by running

npm run test:e2e:ui

Run in the browser

This is the simplest way of running the app in the browser. Hot reloading is supported.

npm run dev-mini

Run in the WebXDC emulator

A more advanced way of running the the app is using the webxdc-dev development server.

npm run dev

Linting

We use Prettier as a linter. After you modify the code, run:

npm run format

Building

To create a .xdc file that can be send to a chat in Delta Chat or any other WebXDC-capable app, execute:

npm run build

The resulting optimized .xdc file is saved in dist-xdc/ folder, then just send the file to a group or a chat and you are ready to go!

Translations

Translation files are stored in langs/xy.json, where xy is the abbreviated language locale. This folder should not be updated directly but instead via Codeberg Weblate.

Once a language has been added or updated, the changes can be pushed to Codeberg and a pull request can be created to pull the updates in.

Note that if a new language has been added, then it must be included in js/langs.js to be available and bundled properly.

If a language is missing, it will fallback to English in langs/en.json.

Releasing

To automatically build and create a new GitHub release with the .xdc file:

git tag v1.0.1
git push origin v1.0.1

License

MPL - Mozilla Public License Version 2.0.