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-31
Click/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
Description
section - Added the
Notes
section - Added the
Pronunciation
section - Added the
Structure sample alpha 1
section - Added the
DCal Metadata
section - Added the
Event timer
section - Added the
Demo calendars
section -
- Added the
Ab urbe condita calendar
subsection
- Added the
-
- Added the
Armenian Calendar
subsection
- Added the
-
- Added the
Assyrian Calendar
subsection
- Added the
-
- Added the
BahΓ‘ΚΌΓ calendar
subsection
- Added the
-
- Added the
Balinese saka calendar
subsection
- Added the
-
- Added the
Bengali calendar
subsection
- Added the
-
- Added the
Berber calendar
subsection
- Added the
-
- Added the
British Regnal year
subsection
- Added the
-
- Added the
Buddhist calendar
subsection
- Added the
-
- Added the
Burmese calendar
subsection
- Added the
-
- Added the
Byzantine calendar
subsection
- Added the
-
- Added the
Chinese Calendar
subsection
- Added the
-
- Added the
Coptic calendar
subsection
- Added the
-
- Added the
Discordian calendar
subsection
- Added the
-
- Added the
Ethiopian calendar
subsection
- Added the
-
- Added the
Gregorian calendar
subsection
- Added the
-
- Added the
Hebrew calendar
subsection
- Added the
-
- Added the
Hindu Calendar: Vikram Samvat
subsection
- Added the
-
- Added the
Hindu Calendar: Shaka Samvat
subsection
- Added the
-
- Added the
Hindu Calendar: Kali Yuga
subsection
- Added the
-
- Added the
Holocene calendar
subsection
- Added the
-
- Added the
Igbo calendar
subsection
- Added the
-
- Added the
Iranian calendar
subsection
- Added the
-
- Added the
Islamic calendar
subsection
- Added the
-
- Added the
Japanese calendar
subsection
- Added the
-
- Added the
Javanese calendar
subsection
- Added the
-
- Added the
Julian
subsection
- Added the
-
- Added the
Juche
subsection
- Added the
-
- Added the
Julian calendar
subsection
- Added the
-
- Added the
Korean calendar
subsection
- Added the
-
- Added the
Minguo calendar
subsection
- Added the
-
- Added the
Nanakshahi calendar
subsection
- Added the
-
- Added the
Thai solar calendar
subsection
- Added the
-
- Added the
Tibetan calendar
subsection
- Added the
-
- Added the
UNIX time calendar
subsection
- Added the
- Added the
Import/export tool
section - Added the
Macros
section - Added the
Bundles
section - Added the
Sample macros
section - Added the
Planned platforms
section - Added the
file version
section - 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
Pronunciation
section - Updated the title section to include the projects stock logo
- Added the
Specification
section - Added the
Implementation
section - Added the
media support
section -
- Added the
Images
subsection
- Added the
-
- Added the
Videos
subsection
- Added the
- Added the
Animations
section -
- Added the
Calendar flip direction
subsection
- Added the
-
- Added the
Paper physics
subsection
- Added the
-
- Added the
Cofee spill
subsection
- Added the
- Added the
Version control
section - Added the
Time travel
section - Added the
Extras
section -
- Added the
Fun things you can do
subsection
- Added the
- Removed the
File version
footer, and replaced it with a file info section - Added the
file info
section -
- Added the version number
-
- Added the version date
-
- Added the line count
- Added the
file history
section -
- Added an entry for version 1
-
- Added an entry for version 2
- No other changes in version 2