Başlık, konum, tarih ve saat, saat dilimi, tekrar, davetliler, uyarılar ve notlar — ardından .ics dosyasını indirin veya doğrudan takviminizde açın. Aynı anda birden çok etkinlik oluşturmak için bir program yapıştırabilir ya da belge veya fotoğraf ekleyebilirsiniz.
jCal nedir ve bir .ics dosyasından farkı nedir?
jCal, 2014 yılında RFC 7265 olarak standartlaştırılan, JSON olarak yazılmış iCalendar'dır. Bir .ics dosyasıyla tam olarak aynı veriyi — aynı özellikleri, parametreleri ve bileşenleri — nesneler yerine iç içe geçmiş diziler halinde taşır, çünkü bir bileşen bir özelliği tekrar edebilir ve sıra önemli olabilir. Bir takvim ["vcalendar", [özellikler], [bileşenler]] şeklindedir, her özellik [ad, parametreler, değer türü, değer] şeklindedir, böylece SUMMARY:Standup, ["summary", {}, "text", "Standup"] haline gelir. Bu, bir etkinliği arama motorları için tanımlayan ve bunun çok daha azını koruyan JSON-LD'deki schema.org Event ile aynı değildir. ICS Maker, .ics ve jCal'i birbirine dönüştürmek yerine tek bir etkinlik modelinden yazar, böylece ikisi etkinliğin ne olduğu konusunda anlaşmazlığa düşemez.
Yapı
RFC 7265, iCalendar'ı nesneler yerine dizilere eşler, çünkü bir takvimde sıra ve tekrar önemlidir ve JSON nesneleri size ikisini de sağlamaz. Bir takvim ["vcalendar", [properties], [components]] şeklindedir ve her özellik [name, parameters, valueType, value] şeklindedir — küçük harfli ad, bir nesne olan parametreler, RFC 5545 değer türlerinden biri olan tür.
Böylece SUMMARY:Standup, ["summary", {}, "text", "Standup"] haline gelir ve dilimlenmiş bir başlangıç ["dtstart", {"tzid":"Europe/London"}, "date-time", "2026-08-15T09:00:00"] haline gelir. Tarih-saatler burada iCalendar'ın kısa yazımı yerine ISO yazımını alır ve dilim bir parametreye taşınır.
Neden edinmeye değer
iCalendar, satır katlama, kaçış kuralları ve CRLF satır sonlarına sahip bir metin biçimidir ve bunu doğru şekilde ayrıştırmak göründüğünden daha fazla iş gerektirir. jCal, aynı anlamı — dilimler, tekrarlama kuralları, alarmlar, katılımcılar — zaten JSON konuşan her şeye, yazılacak bir ayrıştırıcı olmadan aktarır. Bu, bu sayfanın da üretebildiği schema.org'un Event'inden farklı bir iştir: JSON-LD bir etkinliği bir arama motoru için tanımlar ve bir takvimin ihtiyaç duyduğu şeylerin çoğunu düzleştirir.
Bu sayfa bunu nasıl üretiyor
Her iki biçim de birbirinden dönüştürülmek yerine aynı etkinlikten yazılır. Bir dönüştürücü, metin biçiminden her kaçış kararını devralırdı ve jCal değerleri açıkça kaçışsızdır — JSON kendi alıntılamasını yapar. İkisini de tek bir modelden yazmak, etkinliğin ne olduğu konusunda değil, yalnızca nasıl yazıldığı konusunda anlaşmazlığa düşebilecekleri anlamına gelir.
Sorular
- jCal nedir?
- jCal, 2014 yılında RFC 7265 olarak standartlaştırılan, iCalendar için JSON biçimidir. Bir .ics dosyasıyla tam olarak aynı veriyi — aynı özellikleri, parametreleri ve bileşenleri — iç içe geçmiş JSON dizileri kullanarak temsil eder, böylece anlam kaybı olmadan her iki yöne de dönüştürülebilir.
- jCal, JSON-LD veya schema.org Event ile aynı mı?
- Hayır. jCal, iCalendar'ın eksiksiz bir eşlemesidir, bu nedenle tekrarlama kurallarını, saat dilimlerini, alarmları ve katılımcı katılım durumunu taşır. JSON-LD'deki schema.org Event, arama motorları ve diğer okuyucular için bir etkinlik açıklamasıdır ve kasıtlı olarak çok daha azını korur. Bu oluşturucu her ikisini de aynı etkinlikten üretir.
- jCal neden nesneler yerine diziler kullanıyor?
- Çünkü bir takvim bileşeni aynı özelliği birden fazla taşıyabilir — birkaç katılımcı, birkaç istisna tarihi — ve sıra önemli olabilir. Özellik adına göre anahtarlanmış bir JSON nesnesi ikisini de temsil edemez, bu yüzden RFC 7265 bunun yerine konumsal diziler kullanır.
- jCal'i kim okur?
- Bu, ical.js gibi JavaScript takvim kütüphanelerinde iyi desteklenen ve birkaç sunucu tarafı iCalendar araç setinde bulunan niş bir biçimdir. Ana akım takvim uygulamaları hâlâ .ics bekler, bu yüzden jCal'i kendi sistemleriniz arasında kullanın ve insanlara .ics dosyasını verin.