Skip to content

Commit

Permalink
release v0.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
robert-virkus committed Jul 13, 2021
1 parent 18ec542 commit e6ac832
Show file tree
Hide file tree
Showing 19 changed files with 5,001 additions and 1 deletion.
19 changes: 19 additions & 0 deletions .idea/libraries/Dart_SDK.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 36 additions & 0 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.

version:
revision: f4abaa0735eba4dfd8f33f73363911d63931fe03
channel: stable

project_type: package
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## 0.1.0

* Initial release with full parsing and high level API support.
74 changes: 73 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,74 @@
# enough_icalendar
icalendar library in pure Dart. Fully compliant with RFC 5545.
icalendar library in pure Dart. Fully compliant with [RFC 5545](https://datatracker.ietf.org/doc/html/rfc5545).

## Usage

Using `enough_icalendar` is pretty straight forward:

```dart
import 'package:enough_icalendar/enough_icalendar.dart';
void main() {
final text = '' final text = '''BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:[email protected]
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:[email protected]
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
GEO:48.85299;2.36885
END:VEVENT
END:VCALENDAR''';
final icalendar = Component.parse(text) as VCalendar;
print(icalendar.productId);
final event = icalendar.children.first as VEvent;
print(event.summary); // Bastille Day Party
print(event.start); // 1997-06-14 at 17:00
print(event.end); // 1997-07-15 at 03:59:59
print(event.organizer?.commonName); // John Doe
print(event.organizer?.email); // [email protected]
print(event.geoLocation?.latitude); // 48.85299
print(event.geoLocation?.longitude); // 2.36885
}
```

## Installation
Add this dependency your pubspec.yaml file:

```
dependencies:
enough_icalendar: ^0.1.0
```
The latest version or `enough_icalendar` is [![enough_icalendar version](https://img.shields.io/pub/v/enough_icalendar.svg)](https://pub.dartlang.org/packages/enough_icalendar).



## API Documentation
Check out the full API documentation at https://pub.dev/documentation/enough_icalendar/latest/


## Features and bugs

`enough_icalendar` supports all icalendar components and provides easy to access mmodels:
* `VCALENDAR`
* `VEVENT`
* `VTIMEZONE` with the `STANDARD` and `DAYLIGHT` subcomponents
* `VALARM`
* `VFREEBUSY`
* `VTODO`
* `VJOURNAL`


Please file feature requests and bugs at the [issue tracker][tracker].

[tracker]: https://github.com/Enough-Software/enough_icalendar/issues

## Null-Safety
`enough_icalendar` is null-safe.

## License
`enough_icalendar` is licensed under the commercial friendly [Mozilla Public License 2.0](LICENSE)

1 change: 1 addition & 0 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package:lints/recommended.yaml
19 changes: 19 additions & 0 deletions enough_icalendar.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/lib" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/.dart_tool" />
<excludeFolder url="file://$MODULE_DIR$/.idea" />
<excludeFolder url="file://$MODULE_DIR$/.pub" />
<excludeFolder url="file://$MODULE_DIR$/build" />
</content>
<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Dart Packages" level="project" />
<orderEntry type="library" name="Dart SDK" level="project" />
<orderEntry type="library" name="Flutter Plugins" level="project" />
</component>
</module>
27 changes: 27 additions & 0 deletions example/enough_icalendar_example.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import 'package:enough_icalendar/enough_icalendar.dart';

void main() {
final text = '''BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:[email protected]
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:[email protected]
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
GEO:48.85299;2.36885
END:VEVENT
END:VCALENDAR''';
final icalendar = Component.parse(text) as VCalendar;
print(icalendar.productId);
final event = icalendar.children.first as VEvent;
print(event.summary); // Bastille Day Party
print(event.start); // 1997-06-14 at 17:00
print(event.end); // 1997-07-15 at 03:59:59
print(event.organizer?.commonName); // John Doe
print(event.organizer?.email); // [email protected]
print(event.geoLocation?.latitude); // 48.85299
print(event.geoLocation?.longitude); // 2.36885
}
6 changes: 6 additions & 0 deletions lib/enough_icalendar.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
library enough_icalendar;

export 'src/parameters.dart';
export 'src/properties.dart';
export 'src/components.dart';
export 'src/types.dart';
Loading

0 comments on commit e6ac832

Please sign in to comment.