5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ProgrammerWidget: QiitaとTeratailとGithubのプロフィールを表示するWeb Widgetを作ってみた

Posted at

自作サイトにプログラミング関係のウィジェットを付けてみたくなったので、タイトルの通りQiitaとTeratailとGithubのプロフィールを表示するウィジェットを作ってみました。
今回はTypeScriptを使ってみました(普段はAndroidアプリ開発とかC#使ってるWeb系素人なので間違いとか不具合とかあるかもしれないです)

デモ

programmerwidget_ss.PNG
デモサイトのスクショです、こんな感じのレイアウトで他にTeratailとGithubのウィジェットを用意しています

デモサイトはこちら

ウィジェットについて

概要

  • TypeScriptで作成しECMAScript6に変換しています
  • そのためECMAScript6に対応していない非モダンなブラウザでは表示されないです
  • このウィジェットを見てほしい人種(プログラマー)ならモダンなブラウザ使ってるでしょ
  • 普通にAPIにリクエスト投げてたら規制まっしぐらなので、ローカルストレージに1時間キャッシュします
  • レスポンシブ対応、、、になってたらいいな(小声)
  • (widthが小さすぎるとレイアウトが崩れる模様)

必要なもの

  • ECMAScript6に対応してるブラウザ!(あとCSSのcalcにも対応してるので)
  • Qiitaの投稿付きウィジェットを使う場合はFont Awesome
  • Teratailの回答付きウィジェットを使う場合はFont Awesome
  • Githubのアクティビティ付きウィジェットを使う場合はOcticons

使い方

上記のデモサイトに置いてるコードを付けるだけです
デモサイト上のコードはGithub Pagesに置いてるcss/jsファイルを参照してるのでトラフィック的にも使用するサイトにcss/jsファイルを置いてあげるといいです
リリースページはこちら

RateLimitについて

ぱっと調べた感じなので間違いとか変更とかあるかもしれないです

Qiita APIについてはRateLimit的にも取得できるデータ的にもv1のほうがいいのでv1を使っています
そのため表示は「いいね」じゃなくて「ストック」です

| サービス| 1IPに対しての1時間当たりのリクエスト回数 |
|:--|:--:|:--:|
|Qiita|150|
|Teratail|30|
|Github|60|

ウィジェット 1回表示する際のリクエスト回数
Qiitaウィジェット 2
Qiita投稿付きウィジェット 2
Teratailウィジェット 4
Teratail回答付きウィジェット 4 + 回答数(最大10)
Githubウィジェット 2 + リポジトリ数(最大10)
Githubアクティビティ付きウィジェット 3 + リポジトリ数(最大10)

ロゴ部分について

ロゴ部分は文字なんかじゃなくてロゴ画像使いたかったんですけど、Teratailのブランドガイドラインが見つけられなくて(たぶんない)デザインの統一性的に文字にしました

最後に

ソースコードはGithubで公開しています

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?