/wakatime-hours

🛡️ Generate a badge that shows actual hours spent programming using wakatime

Primary LanguageTypeScriptMIT LicenseMIT

og-image



Generate a badge that shows actual hours spent programming using WakaTime

Warning: In order to display your statistics you need to host this API yourself, for this I recommend using Deno Deploy.

Note: Don't forget to replace example YOUR-DEPLOY parameter with real value.

🖥️ Hosting with Deno Deploy

  1. Fork this repository
  2. Go to Deno Deploy and connect your GitHub account
  3. Click New Project and select your forked repository
  4. Select main branch
  5. Add WAKATIME_API_KEY environment variable with your Wakatime API Key
  6. Click Link
  7. Visit https://YOUR-DEPLOY/api/badge in your browser

🔩 Self Hosting

  1. Clone this repository git clone https://github.com/IgorKowalczyk/wakatime-hours
  2. Create new file named .env Remember - the file is super secret, better to not share it.
  3. In .env file set this values:
    • WAKATIME_API_KEY - Your Wakatime API Key
    • PORT - Port on which the API will be available (optional, default: 8080)
  4. Run deno task dev to start the project in development mode or deno task start to run the project in production mode.
  5. Visit http://localhost:8080 in your browser (or http://localhost:${PORT} if you set custom port)

▲ Hosting with Vercel

Warning:
This API no longer supports Vercel hosting. But if you want to host this API on Vercel, you can use old version of this API (>= 2.x.x) which is available here.

The old version of this API is no longer supported and will not receive any updates!

🗜️ API Usage

GET https://YOUR-DEPLOY/api/badge?style=${style}&color=${color}&label=${label}
Parameter Type Description Available values Default value
style string Optional. The style of the badge Available styles flat
color string Optional. The color of the badge Available colors blue
label string Optional. The label of the badge Any string Wakatime

🖼️ Available styles

Note: The default style is flat

Style Example Usage
flat style=flat
flat-square style=flat-square
for-the-badge style=for-the-badge
plastic style=plastic
social style=social

Note: To apply the style, add to the URL ?style=YOUR-STYLE, if you use other parameters you can use &style=YOUR-STYLE

🎨 Custom colors

Note: The default color is blue

Color Example Usage Label Color Label usage
brightgreen color=brightgreen labelColor=brightgreen
green color=green labelColor=green
yellow color=yellow labelColor=yellow
yellowgreen color=yellowgreen labelColor=yellowgreen
orange color=orange labelColor=orange
red color=red labelColor=red
blue color=blue labelColor=blue
grey color=grey labelColor=grey
lightgrey color=lightgrey labelColor=lightgrey
blueviolet color=blueviolet labelColor=blueviolet
ff69b4 color=ff69b4 labelColor=ff69b4

Note: To apply the style, add to the URL ?color=YOUR-COLOR, if you use other parameters you can use &color=YOUR-COLOR

Warning: HEX colors should be used without # symbol prefix.

📝 Custom text

You can overwrite default Wakatime text with your own label.

Note: Replace whitespace with + character in multi-word labels.

![](https://YOUR-DEPLOY/api/badge?label=Your+own+label)

⁉️ Issues

If you come across any errors or have suggestions for improvements, please create a new issue here and describe it clearly.

📥 Pull Requests

When submitting a pull request, please follow these steps:

  • Clone this repository https://github.com/IgorKowalczyk/wakatime-hours.git
  • Create a branch from main and give it a meaningful name (e.g. my-awesome-new-feature).
  • Open a pull request on GitHub and clearly describe the feature or fix you are proposing.

📋 License

This project is licensed under the MIT. See the LICENSE file for details