GitHub - rust-lang/calendar-generation: Generate iCalendar documents from calendar specifications in TOML. See rust-lang/calendar. (original) (raw)

toml-to-ical

toml-to-ical is a simple command-line utility for generating iCalendar documents from a list of events in TOML format.

It is intended for use in open source projects which have a public calendar with meetings. Instead of using Google Calendar or some other calendar service, just generate the calendar from a list of events in TOML format and generate and host the calendar using something like GitHub Actions/Pages in CI.

Generate calendars with GitHub Actions

If you have a repository containing TOML documents defining calendars, then you can create a GitHub Actions workflow with the following content to generate calendars available via GitHub Pages:

name: generate calendars

on: push: branches: ["master", "main"]

permissions: contents: read pages: write id-token: write

concurrency: group: "pages" cancel-in-progress: false

jobs: generate: name: generate runs-on: ubuntu-20.04 steps: - name: Checkout repository uses: actions/checkout@v4.1.1 - name: Generate calendars uses: rust-lang/calendar-generation@main - name: Upload artifact uses: actions/upload-pages-artifact@v3.0.0 with: path: 'result' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4.0.2

You can configure the calendar generation action with the following inputs:

Stability

toml-to-ical has no stability guarantees.

Author and acknowledgements

toml-to-ical is authored by David Wood of Huawei Technologies Research & Development (UK) Ltd.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Code of conduct

When contributing or interacting with this project, we ask abide theRust Code of Conduct and ask that you do too.