{"id":15664188,"url":"https://github.com/bnomei/kirby3-ics","last_synced_at":"2025-04-19T05:34:42.466Z","repository":{"id":37548963,"uuid":"202987617","full_name":"bnomei/kirby3-ics","owner":"bnomei","description":"Create ICS Files","archived":false,"fork":false,"pushed_at":"2023-10-10T08:27:38.000Z","size":713,"stargazers_count":16,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-04T13:41:49.174Z","etag":null,"topics":["alarm","attendee","calendar","event","events","ical","icalendar","ics","kirby3","kirby3-cms","kirby3-plugin","organizer","rfc2445","rfc5545"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bnomei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"bnomei","patreon":"bnomei","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://buymeacoff.ee/bnomei","https://paypal.me/bnomei"]}},"created_at":"2019-08-18T10:10:43.000Z","updated_at":"2024-07-24T08:27:01.000Z","dependencies_parsed_at":"2023-01-24T04:31:40.235Z","dependency_job_id":null,"html_url":"https://github.com/bnomei/kirby3-ics","commit_stats":{"total_commits":20,"total_committers":2,"mean_commits":10.0,"dds":0.4,"last_synced_commit":"48d4a24716a1e050f76f84692f28ac9e8d09982d"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnomei%2Fkirby3-ics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnomei%2Fkirby3-ics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnomei%2Fkirby3-ics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnomei%2Fkirby3-ics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bnomei","download_url":"https://codeload.github.com/bnomei/kirby3-ics/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221152497,"owners_count":16765051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alarm","attendee","calendar","event","events","ical","icalendar","ics","kirby3","kirby3-cms","kirby3-plugin","organizer","rfc2445","rfc5545"],"created_at":"2024-10-03T13:41:33.072Z","updated_at":"2024-10-23T03:41:01.854Z","avatar_url":"https://github.com/bnomei.png","language":"PHP","funding_links":["https://github.com/sponsors/bnomei","https://patreon.com/bnomei","https://buymeacoff.ee/bnomei","https://paypal.me/bnomei","https://www.paypal.me/bnomei/15"],"categories":[],"sub_categories":[],"readme":"# Kirby 3 ICS\n\n![Release](https://flat.badgen.net/packagist/v/bnomei/kirby3-ics?color=ae81ff)\n![Downloads](https://flat.badgen.net/packagist/dt/bnomei/kirby3-ics?color=272822)\n[![Build Status](https://flat.badgen.net/travis/bnomei/kirby3-ics)](https://travis-ci.com/bnomei/kirby3-ics)\n[![Coverage Status](https://flat.badgen.net/coveralls/c/github/bnomei/kirby3-ics)](https://coveralls.io/github/bnomei/kirby3-ics) \n[![Maintainability](https://flat.badgen.net/codeclimate/maintainability/bnomei/kirby3-ics)](https://codeclimate.com/github/bnomei/kirby3-ics) \n[![Twitter](https://flat.badgen.net/badge/twitter/bnomei?color=66d9ef)](https://twitter.com/bnomei)\n\nGenerate ICS Files.\n\n## Commerical Usage\n\n\u003e \u003cbr\u003e\n\u003e \u003cb\u003eSupport open source!\u003c/b\u003e\u003cbr\u003e\u003cbr\u003e\n\u003e This plugin is free but if you use it in a commercial project please consider to sponsor me or make a donation.\u003cbr\u003e\n\u003e If my work helped you to make some cash it seems fair to me that I might get a little reward as well, right?\u003cbr\u003e\u003cbr\u003e\n\u003e Be kind. Share a little. Thanks.\u003cbr\u003e\u003cbr\u003e\n\u003e \u0026dash; Bruno\u003cbr\u003e\n\u003e \u0026nbsp; \n\n| M | O | N | E | Y |\n|---|----|---|---|---|\n| [Github sponsor](https://github.com/sponsors/bnomei) | [Patreon](https://patreon.com/bnomei) | [Buy Me a Coffee](https://buymeacoff.ee/bnomei) | [Paypal dontation](https://www.paypal.me/bnomei/15) | [Hire me](mailto:b@bnomei.com?subject=Kirby) |\n\n## Installation\n\n- unzip [master.zip](https://github.com/bnomei/kirby3-ics/archive/master.zip) as folder `site/plugins/kirby3-ics` or\n- `git submodule add https://github.com/bnomei/kirby3-ics.git site/plugins/kirby3-ics` or\n- `composer require bnomei/kirby3-ics`\n\n## Usecase\n\n### Plain PHP\n\n```php\n// automatic id\n$ics = new \\Bnomei\\ICS();\n$id = $ics-\u003eid();\n\n// or use custom id\n$id = sha1('myUniqueID');\n\n// provide custom options\n$ics = new \\Bnomei\\ICS([\n    Vcalendar::UNIQUE_ID =\u003e $id,\n]);\n\n// maybe reuse a static object identified by id\n// otherwise it will be created now\n$ics = \\Bnomei\\ICS::createOrLoad($id);\n\n// get Vcalendar object...\n$vcalendar = $ics-\u003evcalendar();\n// ... apply your ics data (see docs of lib)\n// then retrieve the ics string\necho $ics;\n```\n\n### Page Method\n\nUse the `ics()-\u003evcalendar()`-method to retrieve the `Vcalender` Object then add properties, events and alarms. Please read the [original docs of used lib](https://github.com/iCalcreator/iCalcreator) for an overview about what is possible.\n\n**site/templates/default.php**\n```php\n$vcalendar = $page-\u003eics()-\u003evcalendar();\n\n$vcalendar-\u003esetXprop(Vcalendar::X_WR_CALDESC, \"This is a demo calendar\");\n\n$event1 = $vcalendar-\u003enewVevent()\n    -\u003esetTransp( Vcalendar::OPAQUE )\n    -\u003esetClass( Vcalendar::P_BLIC )\n    -\u003esetSequence( 1 )\n    // describe the event\n    -\u003esetSummary( 'Scheduled meeting with five occurrences' )\n    -\u003esetDescription(\n         'Agenda for the the meeting...',\n         [ Vcalendar::ALTREP =\u003e \n             'CID:\u003cFFFF__=0ABBE548DFE235B58f9e8a93d@coffeebean.com\u003e' ]\n    )\n    -\u003esetComment( 'It\\'s going to be fun..' )\n    // place the event\n    -\u003esetLocation( 'Kafé Ekorren Stockholm' )\n    -\u003esetGeo( '59.32206', '18.12485' )\n    // set the time\n    -\u003esetDtstart(\n        new DateTime(\n            '20190421T090000',\n            new DateTimezone( 'Europe/Stockholm' )\n        )\n    )\n    -\u003esetDtend(\n        new DateTime(\n            '20190421T100000',\n            new DateTimezone( 'Europe/Stockholm' )\n        )\n    );\n\necho $page-\u003eics();\n```\n\n\u003e TIP: You can retrieve the static unique object for a page using the page method `$page-\u003eics()`. This makes it possible to prepare the ICS in a [page model](https://getkirby.com/docs/reference/plugins/extensions/page-models) or [page controller](https://getkirby.com/docs/guide/templates/controllers) and just display the data in your template or [content representation](https://getkirby.com/docs/guide/templates/content-representations). Check out the [tests for an example](https://github.com/bnomei/kirby3-ics/tree/master/tests/site).\n\n\n### Content Representations\n\nAssuming you prepared your ics data in a model or controller your content representation could be as short as this example.\n\n**site/templates/default.ics.php**\n```php\n$page-\u003eics()-\u003edownload(\n    $page-\u003eslug() . '.ics'\n);\n```\n\n\n## Dependencies\n\n- [iCalcreator/iCalcreator](https://github.com/iCalcreator/iCalcreator)\n\n## Disclaimer\n\nThis plugin is provided \"as is\" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please [create a new issue](https://github.com/bnomei/kirby3-ics/issues/new).\n\n## License\n\n[MIT](https://opensource.org/licenses/MIT)\n\nIt is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.\n\n## Credits\n\nbased on V2 versions of\n- https://github.com/moritzz/Kirby-Calendar\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbnomei%2Fkirby3-ics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbnomei%2Fkirby3-ics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbnomei%2Fkirby3-ics/lists"}