Embed your Gitlab Contributions Calendar anywhere
This package allows you to embed your Gitlab Contributions Calendar in any website.
The package does not handle network requests, this is left to the developer to decide and implement. Gitlab Calendar requires the data as it is provided by the calendar endpoint of the Gitlab API (https://gitlab.com/users/$USER/calendar.json).
This project was inspired by Github Calendar.
Live preview (link)
npm i gitlab-calendar
# or
yarn add gitlab-calendarimport GitlabCalendar from 'gitlab-calendar';
new GitlabCalendar(document.getElementById('gitlab-calendar'), data, options);The data is obtained by fetching the https://gitlab.com/users/$USER/calendar.json endpoint.
This exercise is left to the developer implementing it.
gitlab-calendar requires the data in the following format:
{
"2020-12-07": 1,
"2020-12-09": 2,
"2020-12-10": 5,
...
}| Name | Type | Default value |
|---|---|---|
daySize |
number |
15 |
hintText |
string |
'Issues, merge requests, pushes, and comments.' |
daySpace |
number |
1 |
utcOffset |
number |
0 |
dayTitles |
Record<ActivityCalendarWeekday, string> |
{ monday: 'M', wednesday: 'W', friday: 'F', saturday: 'S', sunday: 'S' } |
monthsAgo |
number |
12 |
monthNames |
string[] |
['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] |
inputFormat |
string |
'yyyy-MM-dd' |
weekdayNames |
string[] |
['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] |
legendValues |
ActivityCalendarLegendValue[] |
[ { title: 'No contributions', min: 0 }, { title: '1-9 contributions', min: 1 }, { title: '10-19 contributions', min: 10 }, { title: '20-29 contributions', min: 20 }, { title: '30+ contributions', min: 30 } ] |
firstDayOfWeek |
number |
0 |
tooltipDateFormat |
string |
'MMM d, yyyy' |
tooltipFormatter |
(count: number, dayName: string, dateText: string) => string |
(count: number, dayName: string, dateText: string) => { let contribText = 'No contributions';if (count > 0) {contribText = count === 1 ? '1 contribution' : ${count} contributions;}return ${contribText} on ${dayName} ${dateText};} |
MIT
