cmbuckley / letterboxd-ics
Export Letterboxd diary to iCalendar format
Requires
- php: ^8.2
- ext-zip: *
- eluceo/ical: ^2.7
- kriswallsmith/buzz: ^1.2.0
- nyholm/psr7: ^1.5
Requires (Dev)
- phpunit/phpunit: ^11
README
letterboxd-ics is a package to render a Letterboxd diary in iCalendar format.
How to install (Heroku)
The installation will prompt you to set the LETTERBOXD_USERNAME
and LETTERBOXD_PASSWORD
secrets.
How to install (standalone)
If you want to use the standalone package, you can do the following:
git clone https://github.com/cmbuckley/letterboxd-ics.git
cd letterboxd-ics
composer install
Once you have the package and its dependencies, set environment variables
LETTERBOXD_USERNAME
and LETTERBOXD_PASSWORD
to your credentials, then point
a Web server at the public
folder.
How to install (Packagist)
Alternatively, letterboxd-ics is available on Packagist, so it can be specified as a dependency using Composer:
{ "require": { "cmbuckley/letterboxd-ics": "^7.0" } }
How to use
You can specify your own options:
<?php require 'vendor/autoload.php'; $calendar = new Starsquare\Letterboxd\Calendar(array( 'auth' => array( 'username' => 'user@example.com', 'password' => 'password', ), )); echo $calendar;
Other configuration options:
- calendar: Config for the calendar.
- name: Name of the calendar.
- description: Full description of the calendar.
- timezone: Timezone of the calendar.
- output: Config for the output.
- headers: Whether to send response headers.
- errors: Whether to display errors.
- content-type: Content-Type sent with the response. Defaults to
text/calendar
, buttext/plain
will work for most clients. - charset: Character set sent with the response.
Alternatively, you can define your configuration options in a JSON-encoded
config file, and pass the file path to the Calendar
object. An example is
provided in the public
folder.