普段お世話になっている OSS プロダクト、日常で OSS 活動をしていないと貢献する機会をつい逃しがち。なので毎週金曜日は少しでも OSS 活動へ意識を向ける習慣 OSS-Friday として位置付けるようにしています。2019年6月の OSS 活動についてサマリーします。
ちょっとずつだけど、始めて見るhttps://t.co/6mPGDlJ6kqpic.twitter.com/BvRQ6KQwps
— lulzneko (ラルズネコ) (@lulzneko)2019年5月22日
OSS-Friday 参考情報
- オープンソース フライデー | 今週の金曜日は、利用しているお気に入りのソフトウエアを数時間助けてみよう。
- 「Open Source Friday」をGitHubが提唱。金曜日は自分の好きなオープンソースに貢献しよう - Publickey
- OSS(オープンソースソフトウェア)の開発に参加したいあなたへ:新春特別企画|gihyo.jp … 技術評論社
サマリー
OSS-Friday のページで GitHub のアカウント連携すると自分のページが作られます。
このページの中に GitHub での「過去3ヶ月間&過去1,000イベント」から金曜日の活動をサマリーしたものがあります。以下、そちらから抜粋。
June 07, 2019
- hexojs/hexo-theme-landscape :Remove Google+ shared link button because the Google+ service has ended
- hexojs/hexo-theme-landscape :Remove Google+ OGP header tags because the Google+ service has ended
- hexojs/hexo-theme-landscape :Set the banner image path as a configuration file (resolve #106)
- zefman/gridsome-source-instagram :Fix typo in the usage configuration example
June 14, 2019
- Readify/httpstatus :Respond object literals to JSON
- Readify/httpstatus :Add 103 Early Hints [RFC8297]
- Readify/httpstatus :Add 207 Multi-Status [RFC4918]
- Readify/httpstatus :Add 423 Locked [RFC4918]
- Readify/httpstatus :Add 506 Variant Also Negotiates [RFC2295]
June 21, 2019
- hexojs/hexo-browsersync :Introduce an option to change tag to inject Browsersync snippets
June 28, 2019
- hexojs/hexo-generator-tag :Add the “order_by” option (resolve #5)
- hexojs/hexo-generator-category :Add the “order_by” option (resolve #6)
2019年6月の OSS-Friday 活動は12件でした!
以降、プルリクエストを出した背景など。
hexojs/hexo-theme-landscape #136, #137, #138
最初の2つ #136, #137 は、ブログメンターのカック@ブロガー / k9u (@kakakakakku)さんにメンタリングをしていただいている中から「Google+ は終了したのにテンプレートに残っているよね」との指摘からプルリクを出したものになります。
記事のシェアに Google+ があったほか、OGP にも Google+ がありました。Google+ という観点では1つですが、コードでは異なる範囲になるのでプルリクは2つに分けて出しました。
3つ目の #138 は、Customizable Banner Image · Issue #106 · hexojs/hexo-theme-landscapeを解決するためのプルリクです。デフォルトのブログトップ画像が CSS にハードコードされており、実際に自分のサイトを開くにあったり CSS を編集してパスを変えるか、画像を上書きする必要がありました。それを設定ファイルからパスを指定できるようにしました。
zefman/gridsome-source-instagram #1
こちらは、2019年6月1日の「初夏のJavaScript祭 in メンバーズキャリア」でGridsomeのデモアプリを作る際に、Instagram の写真を取得する Pluginzefman/gridsome-source-instagramを使わせてもらいました。設定する際に typo を見つけたので修正のプルリクを出したものになります。
関連コンテンツ
- Gridsome で作る JAMstack な サーバーレス Web Front | Slides | Riotz.works
- 初夏のJavaScript祭にて「Gridsome で作る JAMstack なサーバーレス Web Front」の発表をしました
- 初夏のJavaScript祭にて発表した Gridsome のサンプルアプリ実装解説
Readify/httpstatus #63, #64, #65, #66, #67
HTTP Status を返してくれるサービス httpstat.us を紹介する記事を書いた際に、いくつかの JSON レスポンスが期待値と異なったので修正するプルリクを出しました。
C# でできているとのことで、自分のスキルセットにないので若干ひるんだところもありましたが、コードがシンプルでわかりやすく作られていたのでプルリクを出すことができました。
合わせて、いくつかの HTTP Status に対応するプルリクも出しました。
関連コンテンツ
hexo-browsersync #34
これは切実に困っている問題に対するワークアラウンドになります。残念ながら根本解決することはできていないのですが、このプルリクによって暫定対処はできます。暫定対処のプルリクのためかマージいただけておらず、入ってくれると助かるのだけど。。。
この Plugin の機能は、Hexo でブログ記事の下書きをする際に、ブラウザを自動リロードしてくれるものです。しかしながら、コンテンツが長い場合にリロードできないという問題があります。トップページで5記事+サイドバーありは、ほぼエラーとなりリロードできず。単記事のページで文章が短いうちはリロードできるといったレベルです。おそらく、こちらProblem with long pages · Issue #15 · hexojs/hexo-browsersyncとも関連してると思われます。
問題の原因ですが、この Plugin は</body>
タグの後にリロード用のスニペットを注入するのですが、コンテンツが長いと</body>
へたどり着く前に切れてしまい、スニペットが注入できないことです。
解決に当たっては色々と試さないと分からないことが多いので、まずは</body>
以外にスニペットを注入できるようにするオプションを導入し<body>
と、開始タグへも注入させられるようにしました。これによりコンテンツが長くて切れてしまっても注入箇所は残るので Plugin は動作できるというものです。
Plugin が使っているBrowsersyncも、タグを変更できるオプションsnippetOptions - Browsersync optionsが用意されているので、そのような形として、こちらの Plugin にもあってもいいのかなと思います。
hexojs/hexo-generator-tag #22, hexojs/hexo-generator-category #23
それぞれ Issues へ上がっていたものに対応するプルリクです。
ブログのタグとカテゴリーの一覧表示のページでorder_by
オプションを設定したいというものです。正直あまり用途が浮かばず、対応する必要があるのかなとは思ったのですが “like hexo-generator-archive and hexo-generator-index” とコメントされており、確かにアーカイブの一覧などではorder_by
の設定ができます。デフォルトで導入されている Plugin 間で対応の差があるのもいかがと思いプルリクを作りました。
6月は Readify/httpstatus の新しい HTTP Status 対応があったので多くのプルリクが出せましたが、実際には1件出すのが精いっぱい、週によってはプルリクを出すことさえ難しいかなというのが正直な感想です。
それでも Issues を眺めたり、コメントを返したりと、まずは日頃お世話になっている OSS へ意識を向けることができればよいのではないでしょうか。
🚲 Let’s enjoyOSS-Friday!!