Jalali (Persian Solar Calendar) support

I am currently developing an App for the nc calendar, that adds a water mark or sub-title for each day’s tag. So, I will be able to convert Gregorian to “Jalali”.
Same as the example below (numbers marked with red pointers) which is an extension to Google Calendar:


I couldn’t find a documentation for API calls of the Calendar App which I can call from my custom App.

Thanks for your time.

I just figured out that the calendar app is using Vue’s @fullcalendar to render the calendar. I can create a fork of this project and replace this dependency with @fullcalendar-shamsi [link] to make the task done.

But this is a dirty approach. I want to extend the calendar app not to put an alternative alongside. And I prefer a PHP solution to that.

Maybe I should create a read-only calendar provider?

@Greta Are you able to answer @tayyebi 's question?

Yes, Calendar does all of the rending in frontend. The data is provided by the CalDAV backend.
There is currently no frontend API to interact with the Calendar app

The only reasonable way to implement this would be to extend the frontend of the Calendar app. For example day header render hooks could be used.

That was really insightful. By the way, I was thinking of a script like below:

document.addEventListener('DOMContentLoaded', function() {
  var calendarEl = document.getElementById('calendar');

  var calendar = new FullCalendar.Calendar(calendarEl, {
    plugins: ['dayGrid'],
    header: {
      left: 'prev,next today',
      center: 'title',
      right: 'dayGridMonth,dayGridWeek,dayGridDay'
    dayHeaderContent: function(info) {
      // Customize the header content here
      return '<div class="custom-header">' + info.dayNumberText + '<br>Happy 1st of July</div>';


Just implemented that in a repo [link]. This will simply add a simple JavaScript file to all pages (which is a total mess, but we are just testing and later we will refactor that part using Event dispatchers).

Am I doing right things?