6 Commits

Author SHA1 Message Date
Paillat
ca88cbbca0 🎨 Format code 2025-08-28 19:09:27 +02:00
Paillat
d9e776683f 🐛 Fix css stuff again 2025-08-28 19:02:09 +02:00
Paillat
71af282bd2 🎨 Format... 2025-08-28 18:37:53 +02:00
Paillat
be3af1f676 💄 Fix css again 2025-08-28 18:35:00 +02:00
Paillat
bacfd12dfc 💄 Fix css 2025-08-28 18:19:08 +02:00
Paillat
d16e4b2f1f 🎨 Format README.md 2025-08-28 18:18:46 +02:00
3 changed files with 228 additions and 219 deletions

View File

@@ -14,7 +14,7 @@ npm install svelte-github-calendar
```svelte
<script>
import { GithubCalendar } from 'svelte-github-calendar';
import { GithubCalendar } from 'svelte-github-calendar';
</script>
<GithubCalendar username="yourusername" />
@@ -24,24 +24,24 @@ npm install svelte-github-calendar
```svelte
<script>
import { GithubCalendar } from 'svelte-github-calendar';
import { GithubCalendar } from 'svelte-github-calendar';
</script>
<GithubCalendar
username="yourusername"
summary_text="Summary of {name}'s GitHub activity"
global_stats={true}
responsive={true}
tooltips={true}
cache={60}
class="my-custom-class"
username="yourusername"
summary_text="Summary of {name}'s GitHub activity"
global_stats={true}
responsive={true}
tooltips={true}
cache={60}
class="my-custom-class"
/>
```
## Props
| Prop | Type | Default | Description |
|----------------|------------|--------------|------------------------------------------|
| -------------- | ---------- | ------------ | ---------------------------------------- |
| `username` | `string` | **Required** | GitHub username to display calendar for |
| `summary_text` | `string` | `undefined` | Custom summary text template. |
| `proxy` | `function` | `undefined` | Custom proxy function for API requests |
@@ -65,6 +65,7 @@ This library is licensed under the MIT License. See the [LICENSE](LICENSE) file
## Contributing
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
@@ -73,5 +74,6 @@ Contributions are welcome! Feel free to:
## Troubleshooting
### Calendar not loading
- Ensure the username is valid and public
- Verify network connectivity

View File

@@ -22,9 +22,7 @@
});
</script>
<div class={`calendar-holder ${className}`}>
<div class="calendar"></div>
</div>
<div class={`calendar ${className}`}></div>
<style global>
:root {
@@ -35,235 +33,242 @@
--color-calendar-graph-day-L4-bg: #0a4208 !important;
}
:global {
.calendar-holder {
.ContributionCalendar-day[data-level='0'] {
background-color: var(--color-calendar-graph-day-bg) !important;
}
.ContributionCalendar-day[data-level='0'] {
background-color: var(--color-calendar-graph-day-bg) !important;
}
.ContributionCalendar-day[data-level='1'] {
background-color: var(--color-calendar-graph-day-L1-bg) !important;
}
.ContributionCalendar-day[data-level='1'] {
background-color: var(--color-calendar-graph-day-L1-bg) !important;
}
.ContributionCalendar-day[data-level='2'] {
background-color: var(--color-calendar-graph-day-L2-bg) !important;
}
.ContributionCalendar-day[data-level='2'] {
background-color: var(--color-calendar-graph-day-L2-bg) !important;
}
.ContributionCalendar-day[data-level='3'] {
background-color: var(--color-calendar-graph-day-L3-bg) !important;
}
.ContributionCalendar-day[data-level='3'] {
background-color: var(--color-calendar-graph-day-L3-bg) !important;
}
.ContributionCalendar-day[data-level='4'] {
background-color: var(--color-calendar-graph-day-L4-bg) !important;
}
.ContributionCalendar-day[data-level='4'] {
background-color: var(--color-calendar-graph-day-L4-bg) !important;
}
table.ContributionCalendar-grid {
margin-bottom: 0pt !important;
}
table.ContributionCalendar-grid {
margin-bottom: 0pt !important;
border-collapse: separate !important;
}
table.ContributionCalendar-grid td {
padding: 4pt !important;
}
table.ContributionCalendar-grid td {
padding: 4pt !important;
}
table.ContributionCalendar-grid td span.sr-only {
display: none !important;
}
table.ContributionCalendar-grid td span.sr-only {
display: none !important;
}
td.ContributionCalendar-label span[aria-hidden='true'] {
font-size: 8pt !important;
left: -1pt !important;
}
td.ContributionCalendar-label span[aria-hidden='true'] {
font-size: 8pt !important;
left: -1pt !important;
}
tool-tip {
display: none !important;
}
tool-tip {
display: none !important;
}
.calendar .width-full > .float-left {
display: none !important;
}
.calendar .width-full > .float-left {
display: none !important;
}
.calendar {
font-family: Helvetica, arial !important;
border: 1px solid #dddddd !important;
border-radius: 3px !important;
min-height: 243px !important;
text-align: center !important;
margin: 0 auto !important;
}
.calendar {
font-family: Helvetica, arial !important;
border: 1px solid #dddddd !important;
border-radius: 3px !important;
min-height: 243px !important;
text-align: center !important;
margin: 0 auto !important;
}
.calendar-graph text.wday,
.calendar-graph text.month {
font-size: 10px !important;
fill: #aaa !important;
}
.calendar-graph text.wday,
.calendar-graph text.month {
font-size: 10px !important;
fill: #aaa !important;
}
div.px-md-5 {
height: 2rem !important;
}
div.px-md-5 {
height: 2rem !important;
}
div.float-right {
text-align: right !important;
padding: 0 14px 10px 0 !important;
display: inline-block !important;
float: right !important;
}
div.float-right {
text-align: right !important;
padding: 0 14px 10px 0 !important;
display: inline-block !important;
float: right !important;
}
div.float-right div {
display: inline-block !important;
list-style: none !important;
margin: 0 5px !important;
position: relative !important;
bottom: -1px !important;
padding: 0 !important;
}
div.float-right div {
display: inline-block !important;
list-style: none !important;
margin: 0 5px !important;
position: relative !important;
bottom: -1px !important;
padding: 0 !important;
}
div.float-right span.sr-only {
display: none !important;
}
div.float-right span.sr-only {
display: none !important;
}
.contrib-legend .legend li {
display: inline-block !important;
width: 10px !important;
height: 10px !important;
}
.contrib-legend .legend li {
display: inline-block !important;
width: 10px !important;
height: 10px !important;
}
.text-small {
font-size: 12px !important;
color: #767676 !important;
}
.text-small {
font-size: 12px !important;
color: #767676 !important;
}
.calendar-graph {
padding: 5px 0 0 !important;
text-align: center !important;
}
.calendar-graph {
padding: 5px 0 0 !important;
text-align: center !important;
}
.contrib-column {
padding: 15px 0 !important;
text-align: center !important;
border-left: 1px solid #ddd !important;
border-top: 1px solid #ddd !important;
font-size: 11px !important;
}
.contrib-column {
padding: 15px 0 !important;
text-align: center !important;
border-left: 1px solid #ddd !important;
border-top: 1px solid #ddd !important;
font-size: 11px !important;
}
.contrib-column-first {
border-left: 0 !important;
}
.contrib-column span {
color: #000 !important;
}
.contrib-column-first {
border-left: 0 !important;
}
.table-column {
box-sizing: border-box !important;
display: table-cell !important;
width: 1% !important;
padding-right: 10px !important;
padding-left: 10px !important;
vertical-align: top !important;
}
.contrib-number {
font-weight: 300 !important;
line-height: 1.3em !important;
font-size: 24px !important;
display: block !important;
color: #333 !important;
}
.calendar img.spinner {
width: 70px !important;
margin-top: 50px !important;
min-height: 70px !important;
}
.monospace {
text-align: center !important;
color: #000 !important;
font-family: monospace !important;
}
.monospace a {
color: #1d75ab !important;
text-decoration: none !important;
}
.contrib-footer {
font-size: 11px !important;
padding: 0 10px 12px !important;
text-align: left !important;
width: 100% !important;
box-sizing: border-box !important;
height: 26px !important;
}
.calendar .text-muted {
color: inherit !important;
}
.left.text-muted {
float: left !important;
margin-left: 9px !important;
color: #767676 !important;
}
.left.text-muted a {
color: #4078c0 !important;
text-decoration: none !important;
}
.left.text-muted a:hover,
.monospace a:hover {
text-decoration: underline !important;
}
h2.f4.text-normal.mb-3 {
display: none !important;
}
.float-left.text-gray {
float: left !important;
}
#user-activity-overview {
display: none !important;
}
.day-tooltip {
white-space: nowrap !important;
position: absolute !important;
z-index: 99999 !important;
padding: 10px !important;
font-size: 12px !important;
color: #959da5 !important;
text-align: center !important;
background: rgba(0, 0, 0, 0.85) !important;
border-radius: 3px !important;
display: none !important;
pointer-events: none !important;
}
.day-tooltip strong {
color: #dfe2e5 !important;
}
.day-tooltip.is-visible {
display: block !important;
}
.day-tooltip:after {
position: absolute !important;
bottom: -10px !important;
left: 50% !important;
width: 5px !important;
height: 5px !important;
box-sizing: border-box !important;
margin: 0 0 0 -5px !important;
content: ' ' !important;
border: 5px solid transparent !important;
border-top-color: rgba(0, 0, 0, 0.85);
}
text.ContributionCalendar-label {
fill: #ccc !important;
font-size: 11px !important;
}
@media screen and (max-width: 768px) {
.table-column {
box-sizing: border-box !important;
display: table-cell !important;
width: 1% !important;
padding-right: 10px !important;
padding-left: 10px !important;
vertical-align: top !important;
}
.contrib-number {
font-weight: 300 !important;
line-height: 1.3em !important;
font-size: 24px !important;
display: block !important;
color: #333 !important;
}
.calendar img.spinner {
width: 70px !important;
margin-top: 50px !important;
min-height: 70px !important;
}
.monospace {
text-align: center !important;
color: #000 !important;
font-family: monospace !important;
}
.monospace a {
color: #1d75ab !important;
text-decoration: none !important;
}
.contrib-footer {
font-size: 11px !important;
padding: 0 10px 12px !important;
text-align: left !important;
width: 100% !important;
box-sizing: border-box !important;
height: 26px !important;
}
.left.text-muted {
float: left !important;
margin-left: 9px !important;
color: #767676 !important;
}
.left.text-muted a {
color: #4078c0 !important;
text-decoration: none !important;
}
.left.text-muted a:hover,
.monospace a:hover {
text-decoration: underline !important;
}
h2.f4.text-normal.mb-3 {
display: none !important;
}
.float-left.text-gray {
float: left !important;
}
#user-activity-overview {
display: none !important;
}
.day-tooltip {
white-space: nowrap !important;
position: absolute !important;
z-index: 99999 !important;
padding: 10px !important;
font-size: 12px !important;
color: #959da5 !important;
text-align: center !important;
background: rgba(0, 0, 0, 0.85) !important;
border-radius: 3px !important;
display: none !important;
pointer-events: none !important;
}
.day-tooltip strong {
color: #dfe2e5 !important;
}
.day-tooltip.is-visible {
display: block !important;
}
.day-tooltip:after {
position: absolute !important;
bottom: -10px !important;
left: 50% !important;
width: 5px !important;
height: 5px !important;
box-sizing: border-box !important;
margin: 0 0 0 -5px !important;
content: ' ' !important;
border: 5px solid transparent !important;
border-top-color: rgba(0, 0, 0, 0.85);
}
text.ContributionCalendar-label {
fill: #ccc !important;
font-size: 11px !important;
}
@media screen and (max-width: 768px) {
.table-column {
display: block !important;
width: 100% !important;
}
}
}
}

View File

@@ -2,4 +2,6 @@
import { GitHubCalendar } from '../lib/index.js';
</script>
<GitHubCalendar username="Paillat-dev" class="w-full h-auto" />
<main>
<GitHubCalendar username="Paillat-dev" class="w-full h-auto" />
</main>