This file is under construction. It may not seem tidy at the moment. Subesequent updates will fix this.
Click/tap here to expand/collapse this section
ποΈπ οΈποΈ DCal is an advanced calendar format that adds significant amounts of customization and control to digital calendars. Inspired by the ICS format, and ProtonCalendar, along with real life calendars.
Click/tap here to expand/collapse this section
-
Not compatible with 8:3 file systems, so not compatible with Windows 3.1/Windows NT 3.51 and below. Nobody should be using these as their daily devices anyways, unless you are using a virtua machine
-
This format is not specific to DCalendar, I am hoping to make this an open standard that will work in all modern calendar software.
Click/tap here to expand/collapse this section
Dcal pronunciation: Decal, although I have no rules on pronunciation, this is just the way I pronounce it
Click/tap here to expand/collapse this section
Alpha 1 build of the file structure.
Click/tap here to expand/collapse this section
<header>
Cover font <set a font>
Millennium font <set a font>
Century font <set a font>
Decade font <set a font>
Year font <set a font>
January font: <set a font>
February font: <set a font>
March font: <set a font>
April font: <set a font>
May font: <set a font>
June font: <set a font>
July font: <set a font>
August font: <set a font>
September font: <set a font>
October font: <set a font>
November font: <set a font>
October font: <set a font>
Y-M-D
M-D-Y
D-M-Y
M-Y-D
D-Y-M
e.t.c
Start on Saturday
Start on Sunday
Default view: day
Default view: week
Default view: month
Default view: year
Default view: decade
Default view: century
Default view: millennium (not yet available in some calendars)
Enable images
Enable videos
Enable OS integration (such as, a specific event in the calendar can trigger an alarm to go off, etc.)
Lighting (Light, Dark, System default)
Enable page flipping animation
Calendar type (Julian, Gregorian, Hebrew, Solar, etc.)
<wikipedia-sample comment="For the supported calendar types, representing the year 2022">
Gregorian calendar 2022
MMXXII
Ab urbe condita 2775
Armenian calendar 1471
ΤΉΥ ΥΥΥΤ±
Assyrian calendar 6772
BahΓ‘ΚΌΓ calendar 178β179
Balinese saka calendar 1943β1944
Bengali calendar 1429
Berber calendar 2972
British Regnal year 70Β Eliz.Β 2Β βΒ 1Β Cha.Β 3
Buddhist calendar 2566
Burmese calendar 1384
Byzantine calendar 7530β7531
Chinese calendar θΎδΈεΉ΄ (MetalΒ Ox)
4718 or 4658
Β Β Β Β βΒ toΒ β
壬ε―
εΉ΄ (WaterΒ Tiger)
4719 or 4659
Coptic calendar 1738β1739
Discordian calendar 3188
Ethiopian calendar 2014β2015
Hebrew calendar 5782β5783
Hindu calendars
Β - Vikram Samvat 2078β2079
Β - Shaka Samvat 1943β1944
Β - Kali Yuga 5122β5123
Holocene calendar 12022
Igbo calendar 1022β1023
Iranian calendar 1400β1401
Islamic calendar 1443β1444
Japanese calendar Reiwa 4
(什εοΌεΉ΄)
Javanese calendar 1955β1956
Juche calendar 111
Julian calendar Gregorian minus 13 days
Korean calendar 4355
Minguo calendar ROC 111
ζ°ε111εΉ΄
Nanakshahi calendar 554
Thai solar calendar 2565
Tibetan calendar ι΄ιηεΉ΄
(female Iron-Ox)
2148 or 1767 or 995
Β Β Β Β βΒ toΒ β
ι³ζ°΄θεΉ΄
(male Water-Tiger)
2149 or 1768 or 996
Unix time 1640995200 β 1672531199
5 May 31
</wikipedia-sample>
Yes, I do plan to support the Juche calendar, along with other calendars of this magnitude, I will be supporting all calendar formats. People may commonly set their calendar to Juche as a joke, or for historical/research/other purposes, but it will remains an option that won't be removed nonetheless. It isn't that hard to support.
</header>The calendar can be different depending on the defined calendar type. The following example will use the Gregorian calendar
Click/tap here to expand/collapse this section
<cover>
<image>image for once-a-millennium Calendar cover</image>
<image>image for once-a-century Calendar cover</image>
<image>image for once-a-decade Calendar cover</image>
<image>image for yearly Calendar cover</image>
</cover>
<!-- Supported image formats: Any, or: PNG, SVG, JPG, JPEG, JIF, GIF, JFIF, JP2, JPE, WebP, NetP, HEIF, HEIC, HEIFS, HEICS, TIF, TIFF, BMP, DIB, PSD, etc. !-->
<image>image for January</image>
January
1-31
<image>image for February</image>
February
1-28/29
<image>image for March</image>
March
1-31
<image>image for April</image>
March
1-30
<image>image for May</image>
March
1-31
<image>image for June</image>
March
1-30
<image>image for July</image>
March
1-31
<image>image for August</image>
March
1-31
<image>image for September</image>
March
1-30
<image>image for October</image>
March
1-31
<image>image for November</image>
March
1-30
<image>image for December</image>
March
1-31Click/tap here to expand/collapse this section
THe current DCal specification is planned to be written in Python, JavaScript, and TypeScript.
Click/tap here to expand/collapse this section
The current DCal implementation is planned to be written in D, and is known as
DCalendar
Click/tap here to expand/collapse this section
Click/tap here to expand/collapse this section
You can embed images into the cover of the calendar for each individual month/year/century/millennium, and you can also embed images into the description of each event. The following image formats are currently supported: PNG, SVG, JPG, JPEG, JIF, GIF, JFIF, JP2, JPE, WebP, NetP, HEIF, HEIC, HEIFS, HEICS, TIF, TIFF, BMP, DIB, PSD, and GIF. More formats will be supported in the future.
The calendar distributor can impose a limit of the overall image size that can be applied at a per month, per year, and/or per-decade basis. Users who download their calendar files can change this for their personal use.
The heading looks like this
<img-quota>
<images>
<monthly-limit="none">
<yearly-limit="100000000 bytes"> <!-- Distributors can set the limit to whatever they want, but are advised to take caution, as it can use up lots of space !-->
<decade-limit="200000000 bytes">
</images>
</img-quota>This heading is defined at the beginning of the file.
Click/tap here to expand/collapse this section
Videos can be embedded into the clover of the calendar for each individual month/year/century/millennium, and you can also embed videos into the description of each event. One must take extreme caution doing this, as not only will it take up lots of space, it will be a strain on the CPU and bandwidth. The current video formats are currently supported: AVI, MKV, WebM, NetV, MP4, 3GP, 3GPP, GIFV, MOV, WMV, and QT. More formats will be supported in the future.
Just like with images, the calendar distributor can impose a limit of the overall video size that can be applied at a per month, per year, and/or per-decade basis. Users who download their calendar files can change this for their personal use.
The heading looks like this
<vid-quota>
<videos>
<monthly-limit="none">
<yearly-limit="1000000000 bytes"> <!-- Distributors can set the limit to whatever they want, but are advised to take caution, as it can use up lots of space !-->
<decade-limit="2000000000 bytes">
</videos>
</vid-quota>This heading is defined at the beginning of the file.
Click/tap here to expand/collapse this section
Click/tap here to expand/collapse this section
The direction of calendar flipping can be changed:
- up and right
- up and left
- down and right
- down and left
This can be defined in the calendar heading like so:
<animation>
<flip-direction="Up and left"></flip-direction>
</animation>If you define left instead of right, the calendar may seem like it is going the wrong direction.
Click/tap here to expand/collapse this section
Paper physics can be enabled (this example builds off of the above example)
<animation>
<flip-direction="Up and left"></flip-direction>
<physics-mode="Paper"></physics-mode>
</animation>Click/tap here to expand/collapse this section
An Easter Egg known as Coffee Spill is included. It is currently in planning, but the general concept is that you can temporarily stain your calendar with coffee or another beverage by triggering the coffee spill easter egg.
Click/tap here to expand/collapse this section
- Email associations
- Location associations
- Descriptions
- Labels
- Categories
- Actions {
-
- Trigger a notification
-
- Trigger an alarm
-
- Trigger a popup }
- Events
Click/tap here to expand/collapse this section
Set a timer for the duration of an event.
- Can't go any lower than 5 seconds
- By 5 seconds
- By 10 seconds
- By 15 seconds
- By 20 seconds
- By 30 seconds
- By minute
- By 2.5 minutes
- By 5 minutes
- By 10 minutes
- By 15 minutes
- By 20 minutes
- By 30 minutes
- By 60 minutes
- By 90 minutes
- By 120 minutes
- By 150 minutes
- By 180 minutes
- By 210 minutes
- By 240 minutes
- By 270 minutes
- By 300 minutes
- By 330 minutes
- By 360 minutes
- By 390 minutes
- By 420 minutes
- By 450 minutes
- By 480 minutes
- By 510 minutes
- By 540 minutes
- By 570 minutes
- By 600 minutes
- By 630 minutes
- By 660 minutes
- By 690 minutes
- By 720 minutes
- By 750 minutes
- By 780 minutes
- By 810 minutes
- By 840 minutes
- By 870 minutes
- By 900 minutes
- By 930 minutes
- By 960 minutes
- By 990 minutes
- By 1020 minutes
- By 1050 minutes
- By 1080 minutes
- By 1110 minutes
- By 1140 minutes
- By 1170 minutes
- By 1200 minutes
- By 1230 minutes
- By 1260 minutes
- By 1290 minutes
- By 1320 minutes
- By 1350 minutes
- By 1380 minutes
- By 1410 minutes
- By 1440 minutes (24 hours)
- All day (a separate category than - By 1440 minutes)
Click/tap here to expand/collapse this section
NTS: For demo purposes: create the following sample calendars:
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
- Not enough time to add right now
Click/tap here to expand/collapse this section
Gregorian_Simple_Sample1Demo1.dcal
A simple Gregorian calendar with a range of 1000 CE to 2024 CE
Gregorian_Simple_Sample2Demo1.dcal
A simple Gregorian calendar with a range of 10000 BCE to 2024 CE
Gregorian_Simple_Sample3Demo1.dcal
A simple Gregorian calendar with a range of 10000 BCE to 2024 CE
Also includes a calendar cover, and an image for each month.
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
Juche_Simple_Sample1Demo1.dcal
North Korean calendar (full range) from Juche 1 (Gregorian: 1912) to Juche 112 (Gregorian: 2023)
Juche_Simple_Sample2Demo1.dcal
North Korean calendar (full range) from Juche 1 (Gregorian: 1912) to Juche 112 (Gregorian: 2023)
Also includes a calendar cover, and an image for each month.
Juche calendar 111
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Not enough time to add right now
Click/tap here to expand/collapse this section
- Import ICS file
- Export to ICS file (will strip out many features if they are in use)
- Export as DCal
- Export as DCalB (bundle)
Click/tap here to expand/collapse this section
Macros help automate the configuration, organization, and maintenance of a calendar.
Macros can be written in:
- VBScript
- VB.NET
- Other language (not yet defined)
Macro files carry the .dcalm file extension.
Click/tap here to expand/collapse this section
You can bundle multiple calendars into one with a bundle file. Bundle files carry the .dcalb file extension.
Click/tap here to expand/collapse this section
Included macros
- Birthdays.dcalm
- Is-Was.dcalm
- Daily-tasks.dcalm
- American-Holidays.dcalm
- American-History.dcalm
- Religious-Holidays_Christianity.dcalm
- Religious-Holidays_Hinduism.dcalm
- Religious-Holidays_Judaism.dcalm
- Religious-Holidays_Islam.dcalm
- More coming soon
Click/tap here to expand/collapse this section
- DCalendar
- ProtonMail
- Outlook
- Other
Click/tap here to expand/collapse this section
DCal will contain version control functionality via Git. This feature can be disabled, but it isn't recommended, unless the version control system is causing problems. The operating systems backup functionality will be separate from the version control system.
Click/tap here to expand/collapse this section
With time travel, you can view your calendar at any point in time, without changing your operating systems time/date.
Click/tap here to expand/collapse this section
Click/tap here to expand/collapse this section
- Turn your calendar into a flipbook
- Add another example here
Click/tap here to expand/collapse this section
File type: Markdown (*.md *.mkd *.mdown *.markdown)
File version: 2 (2023, Monday, January 2nd at 7:59 pm PST)
Line count (including blank lines and compiler line): 979
Current article language: English (EN_USA) / Markdown (CommonMark) / HTML5 (HyperText Markup Language 5.3)
Encoding: UTF-8 (Emoji 12.0 or higher recommended)
All times are UTC-7 (PDT/Pacific Time) (Please also account for DST (Daylight Savings Time) for older/newer entries up until it is abolished/no longer followed)
Note that on 2022, Sunday, March 13th at 2:00 am PST, the time jumped ahead 1 hour to 3:00 am.
You may need special rendering support for the <details> HTML tag being used in this document
Click/tap here to expand/collapse the file history section for this project
Version 1 (2023, Sunday, January 1st at 5:40 pm PST)
This version was made by: @seanpm2001
Changes:
- Started the file
- Added the title section
- Added the
Descriptionsection - Added the
Notessection - Added the
Pronunciationsection - Added the
Structure sample alpha 1section - Added the
DCal Metadatasection - Added the
Event timersection - Added the
Demo calendarssection -
- Added the
Ab urbe condita calendarsubsection
- Added the
-
- Added the
Armenian Calendarsubsection
- Added the
-
- Added the
Assyrian Calendarsubsection
- Added the
-
- Added the
BahΓ‘ΚΌΓ calendarsubsection
- Added the
-
- Added the
Balinese saka calendarsubsection
- Added the
-
- Added the
Bengali calendarsubsection
- Added the
-
- Added the
Berber calendarsubsection
- Added the
-
- Added the
British Regnal yearsubsection
- Added the
-
- Added the
Buddhist calendarsubsection
- Added the
-
- Added the
Burmese calendarsubsection
- Added the
-
- Added the
Byzantine calendarsubsection
- Added the
-
- Added the
Chinese Calendarsubsection
- Added the
-
- Added the
Coptic calendarsubsection
- Added the
-
- Added the
Discordian calendarsubsection
- Added the
-
- Added the
Ethiopian calendarsubsection
- Added the
-
- Added the
Gregorian calendarsubsection
- Added the
-
- Added the
Hebrew calendarsubsection
- Added the
-
- Added the
Hindu Calendar: Vikram Samvatsubsection
- Added the
-
- Added the
Hindu Calendar: Shaka Samvatsubsection
- Added the
-
- Added the
Hindu Calendar: Kali Yugasubsection
- Added the
-
- Added the
Holocene calendarsubsection
- Added the
-
- Added the
Igbo calendarsubsection
- Added the
-
- Added the
Iranian calendarsubsection
- Added the
-
- Added the
Islamic calendarsubsection
- Added the
-
- Added the
Japanese calendarsubsection
- Added the
-
- Added the
Javanese calendarsubsection
- Added the
-
- Added the
Juliansubsection
- Added the
-
- Added the
Juchesubsection
- Added the
-
- Added the
Julian calendarsubsection
- Added the
-
- Added the
Korean calendarsubsection
- Added the
-
- Added the
Minguo calendarsubsection
- Added the
-
- Added the
Nanakshahi calendarsubsection
- Added the
-
- Added the
Thai solar calendarsubsection
- Added the
-
- Added the
Tibetan calendarsubsection
- Added the
-
- Added the
UNIX time calendarsubsection
- Added the
- Added the
Import/export toolsection - Added the
Macrossection - Added the
Bundlessection - Added the
Sample macrossection - Added the
Planned platformssection - Added the
file versionsection - No other changes in version 1
Version 2 (2023, Monday, January 2nd at 7:59 pm PST)
This version was made by: @seanpm2001
Changes:
- Turned every section into a dropdown
- Updated the
Pronunciationsection - Updated the title section to include the projects stock logo
- Added the
Specificationsection - Added the
Implementationsection - Added the
media supportsection -
- Added the
Imagessubsection
- Added the
-
- Added the
Videossubsection
- Added the
- Added the
Animationssection -
- Added the
Calendar flip directionsubsection
- Added the
-
- Added the
Paper physicssubsection
- Added the
-
- Added the
Cofee spillsubsection
- Added the
- Added the
Version controlsection - Added the
Time travelsection - Added the
Extrassection -
- Added the
Fun things you can dosubsection
- Added the
- Removed the
File versionfooter, and replaced it with a file info section - Added the
file infosection -
- Added the version number
-
- Added the version date
-
- Added the line count
- Added the
file historysection -
- Added an entry for version 1
-
- Added an entry for version 2
- No other changes in version 2