7 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
Paillat
db1bc9803d 📖 Update README.md to reflect library name and usage examples for svelte-github-calendar 2025-08-28 17:49:29 +02:00
3 changed files with 273 additions and 245 deletions

View File

@@ -1,58 +1,79 @@
# Svelte library
# svelte-github-calendar
Everything you need to build a Svelte library, powered by [`sv`](https://npmjs.com/package/sv).
A Svelte wrapper of the [github-calendar](https://github.com/Bloggify/github-calendar) library to displays GitHub contribution graphs in your Svelte applications.
Read more about creating a library [in the docs](https://svelte.dev/docs/kit/packaging).
## Installation
## Creating a project
If you're seeing this, you've probably already done this step. Congrats!
```sh
# create a new project in the current directory
npx sv create
# create a new project in my-app
npx sv create my-app
```bash
npm install svelte-github-calendar
```
## Developing
## Usage
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
### Basic Example
```sh
npm run dev
```svelte
<script>
import { GithubCalendar } from 'svelte-github-calendar';
</script>
# or start the server and open the app in a new browser tab
npm run dev -- --open
<GithubCalendar username="yourusername" />
```
Everything inside `src/lib` is part of your library, everything inside `src/routes` can be used as a showcase or preview app.
### Advanced Example
## Building
```svelte
<script>
import { GithubCalendar } from 'svelte-github-calendar';
</script>
To build your library:
```sh
npm pack
<GithubCalendar
username="yourusername"
summary_text="Summary of {name}'s GitHub activity"
global_stats={true}
responsive={true}
tooltips={true}
cache={60}
class="my-custom-class"
/>
```
To create a production version of your showcase app:
## Props
```sh
npm run build
```
| 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 |
| `global_stats` | `boolean` | `undefined` | Whether to show global statistics |
| `responsive` | `boolean` | `undefined` | Enable responsive design |
| `tooltips` | `boolean` | `undefined` | Enable hover tooltips |
| `cache` | `number` | `undefined` | Cache duration in seconds |
| `class` | `string` | `''` | Additional CSS classes for the container |
You can preview the production build with `npm run preview`.
You can read more about the props in the [original documentation](https://github.com/Bloggify/github-calendar).
> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
## Credits
## Publishing
- Svelte wrapper of [github-calendar](https://github.com/Bloggify/github-calendar) by Bloggify
- Designed specifically for Svelte applications
Go into the `package.json` and give your package the desired name through the `"name"` option. Also consider adding a `"license"` field and point it to a `LICENSE` file which you can create from a template (one popular option is the [MIT license](https://opensource.org/license/mit/)).
## License
To publish your library to [npm](https://www.npmjs.com):
This library is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
```sh
npm publish
```
## Contributing
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- Improve documentation
## 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,7 +33,6 @@
--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;
}
@@ -58,6 +55,7 @@
table.ContributionCalendar-grid {
margin-bottom: 0pt !important;
border-collapse: separate !important;
}
table.ContributionCalendar-grid td {
@@ -144,6 +142,10 @@
font-size: 11px !important;
}
.contrib-column span {
color: #000 !important;
}
.contrib-column-first {
border-left: 0 !important;
}
@@ -191,6 +193,10 @@
height: 26px !important;
}
.calendar .text-muted {
color: inherit !important;
}
.left.text-muted {
float: left !important;
margin-left: 9px !important;
@@ -266,5 +272,4 @@
}
}
}
}
</style>

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>