Go to file
2024-12-18 15:23:37 +01:00
css initial development version 2024-12-16 20:56:04 +01:00
js some ICS fixes, handle empty calendar list 2024-12-18 15:23:37 +01:00
example.html initial development version 2024-12-16 20:56:04 +01:00
README.md initial development version 2024-12-16 20:56:04 +01:00

Show upcoming appointments from church.tools instance

Setup

  • Upload css/ct-events.css and js/ct-events.js to your site
  • Download mithril.min.js from https://unpkg.com/browse/mithril@2.2.11/ (or a newer version, but tested with this)
  • Upload mithril.min.js to the same folder as ct-events.js
  • Download fontawesome-free-6.7.1-web.zip from https://fontawesome.com/download ("Free for Web"), tested with version 6.7.1
  • Extract and upload css/all.min.css and webfonts/fa-solid-900*; the CSS expects the font to be in ../webfonts/, so keep the folder hierarchy.
  • Add the following to your site template header (adapt paths to your local setup), i.e. in <head>...</head>:
	<link rel="stylesheet" type="text/css" href="/css/ct-events.css">
	<link rel="stylesheet" type="text/css" href="/css/all.min.css">
	<link rel="modulepreload" href="/js/ct-events.js" />
	<link rel="modulepreload" href="/js/mithril.min.js" />
  • Add the following to your site template footer (adapt paths to your local setup), i.e. at the end of <body>...</body>:
<script type="module">
	import { load_all_events } from "/js/ct-events.js";
	await load_all_events({
		// site default options
		instance: "https://your-church-tools-instance",
		default_image: "/img/welcome.jpg",
		default_image_mobile: "/img/welcome-mobile.jpg",
	});
</script>

Allow church-tools API CORS from your site

Add your site (https://your-site) to Access-Control-Allow-Origins sent by your church-tool instance, see: https://churchtools.academy/de/help/system-einstellungen/api/0-cors/

Add calendar events

Add this snippet to your page:

<div
	class="cte-events"
	style="max-width: 1100px;"
	data-cte-calendar-regex="Erwachsene|Chor"
	data-cte-event-regex="Ausrufezeichen|Chor AZ"
	data-cte-limit="5"
></div>

The class cte-events triggers the javascript; options can be overridden and set via data-cte-* attributes.

You can add multiple snippets on a page with different settings.