calendar-generation

Generate iCalendar documents from calendar specifications in TOML. See rust-lang/calendar.

APACHE-2.0 License

Stars
5

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/[email protected]
      - name: Generate calendars
        uses: rust-lang/calendar-generation@main
      - name: Upload artifact
        uses: actions/[email protected]
        with:
          path: 'result'
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/[email protected]

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

  • input_directory
    • Directory containing TOML calendar definitions
    • default: .
  • output_directory
    • Directory to output iCalendar documents
    • default: result

Stability

Author and acknowledgements

License

Code of conduct