1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//! A library for creating ICalendar files.
//!
//! The library supports the ICalendar specification [RFC5545](https://tools.ietf.org/html/rfc5545) version 2.0 and also [RFC7986](https://tools.ietf.org/html/rfc7986).
//!
//! # Installation
//! To use this library add the library as a dependency in your `Cargo.toml`:
//! ```toml
//! [dependencies]
//! ics = "0.5"
//! ```
//!
//! By default some features are enabled. If you wish to disable them, specify
//! in your `Cargo.toml`:
//! ```toml
//! [dependencies.ics]
//! version = "0.5"
//! default-features = false
//! ```
//!
//! # Features
//! - `rfc7986` (enabled by default): adds properties from the newer
//! specification [RFC7986](https://tools.ietf.org/html/rfc7986)
//!
//! # Example
//! ```
//! use ics::properties::{Comment, Status, Summary};
//! use ics::{ICalendar, ToDo};
//!
//! fn main() -> std::io::Result<()> {
//! // Anything that can be converted to a Cow<str> is accepted as value which means
//! // &str and String can be used freely. For the sake of demonstrating the UID was
//! // taken from somewhere. Out of security reasons the UID should always be
//! // randomly generated.
//! let mut todo = ToDo::new("d4092ed9-1667-4518-a7c0-bcfaac4f1fc6", "20181021T190000");
//! todo.push(Summary::new("Katarina's Birthday Present"));
//! todo.push(Comment::new("Buy her Imagine Dragons tickets!"));
//! todo.push(Status::needs_action());
//!
//! // The ICalendar object is what is later written to the file.
//! let mut calendar = ICalendar::new("2.0", "ics-rs");
//! calendar.add_todo(todo);
//!
//! // Write `calendar` to a file.
//! calendar.save_file("birthday.ics")?;
//! Ok(())
//! }
//! ```
pub use Alarm;
pub use Daylight;
pub use Event;
pub use FreeBusy;
pub use ICalendar;
pub use Journal;
pub use Standard;
pub use TimeZone;
pub use ToDo;
pub use escape_text;