Giter Site home page Giter Site logo

swift-calendar / icalendarkit Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 4.0 1.83 MB

Lightweight iCalendar (RFC 5545) encoder for Swift

Home Page: https://swift-calendar.github.io/icalendarkit

License: MIT License

Swift 100.00%
caldav ical icalendar ics rfc-5545 swift

icalendarkit's People

Contributors

fwcd avatar jctec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

icalendarkit's Issues

Support Calendar extensions

vCalendar and iCalendar support private software extensions, with a X- prefix, a number of which are in common usage these days.

One of the most important one being X-WR-CALNAME which enables the use of a calendar title. Also there are other that could be of great use such as X-ALT-DESC which enables the use of HTML Markup in a description because standard DESCRIPTION tag should contain non-HTML version.

The full list of Calendar Extensions is:

  • X-RECURRENCE-ID - vCalendar 1.0 extension which mimics the iCalendar 2.0 RECURRENCE-ID (Nokia S60 3rd Edition)
  • X-EPOCAGENDAENTRYTYPE - defines the client calendar type
  • X-FUNAMBOL-AALARMOPTIONS
  • X-FUNAMBOL-ALLDAY - All Day event flag
  • X-MICROSOFT-CDO-ALLDAYEVENT - Microsoft Outlook all day event flag
  • X-MICROSOFT-CDO-BUSYSTATUS - Microsoft Outlook status information
  • X-MICROSOFT-CDO-INTENDEDSTATUS
  • X-WR-CALNAME - The display name of the calendar
  • X-WR-CALDESC - A description of the calendar
  • X-WR-RELCALID - A globally unique identifier for the calendar[10]
  • X-WR-TIMEZONE
  • X-PUBLISHED-TTL - Recommended update interval for subscription to the calendar
  • X-ALT-DESC - Used to include HTML markup in an event's description. This is because the standard DESCRIPTION tag should not contain HTML.

Calendar Extensions
How do I change the display name of an iCalendar in Outlook?
iCal Extensions Definition

3.8.8.2. Non-Standard Properties

Property Name: Any property name with a "X-" prefix

Purpose: This class of property provides a framework for defining
non-standard properties.

Value Type: The default value type is TEXT. The value type can be
set to any value type.

Property Parameters: IANA, non-standard, and language property
parameters can be specified on this property.

Conformance: This property can be specified in any calendar
component.

Description: The MIME Calendaring and Scheduling Content Type
provides a "standard mechanism for doing non-standard things".
This extension support is provided for implementers to "push the
envelope" on the existing version of the memo. Extension
properties are specified by property and/or property parameter
names that have the prefix text of "X-" (the two-character
sequence: LATIN CAPITAL LETTER X character followed by the HYPHEN-
MINUS character). It is recommended that vendors concatenate onto
this sentinel another short prefix text to identify the vendor.
This will facilitate readability of the extensions and minimize
possible collision of names between different vendors. User
agents that support this content type are expected to be able to
parse the extension properties and property parameters but can
ignore them.

Define todos

Add the relevant properties to ICalendarToDo.

Wrong DateFormatter Output

The iClendarKit is generating a wrong date format when run in a machine with a specific Locale.

Expected output:
DTSTAMP:19700101T000000Z

Current Output:
DTSTAMP:19700101T120000 a.m.Z

The solution is simply to set the the DateFormatter Locale to use UTC.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.