15 min/d

ぼうずやのにっき

bouzuya/kraken 0.3.4 をつくった

bouzuya/kraken 0.3.4 をつくった。

kraken は blog.bouzuya.net 4.x の json などを生成するアプリケーション。

blog.bouzuya.net は昔の URL を維持している。今の URL は /{yyyy}/{mm}/{dd}/ だけど、昔の URL は /{yyyy}/{mm}/{dd}/{title}/ だった。これは以前のファイル名から来る。 title を含む URL からはできればリダイレクトしたいが、できない場合は今の URL と同一の内容を返したい。ところが mr-jums 側でその実装をして気づいたことには、その入力である mr-jums の json に title が含まれていなかった。

今回の 0.3.4 はその欠けていた情報を補うものだ。

bouzuya/mr-jums 0.2.3 をつくった

2017-08-06bouzuya/mr-jums の 0.2.3 をつくった。

mr-jums は blog.bouzuya.net 4.x の html を生成するアプリケーションだ。

2017-07 のふりかえりにおける方針転換で、 2017-08 で blog.bouzuya.net 4.x を出すことになった。その要が mr-jums だ。これがいままでなかなか満足の行くところまで行かなかったので、出せなかった。そこで完成の基準を下げることにした。具体的には HTML & CSS & JavaScript をすべてつくるのではなく HTML だけをつくるところまでに引き下げた。

0.2.3 では @bouzuya/mr-jums という npm パッケージとして使えるようになり、 HTML を指定のディレクトリへ生成できるようになった。

まだいくつか問題がある。後方互換性のために必要なファイルが足りなかったり、 OGP 向けの記述が足りないなどだ。そのあたりを対処したら、いよいよ bouzuya/blog.bouzuya.net で統合できるだろう。

2017-W31 ふりかえり

2017-W31 をふりかえる。

2017-08 の目標

  • bouzuya/mr-jums を公開する

2017-W31 の目標 とその記事

目標。

  • [x] bs-code 2.0.0 のことを書く
  • [ ] 神戸 Rust の会に合わせて Rust をさわる
  • [ ] AWS Lambda での何かをつくる

記事。

2017-07 のふりかえりで方針を変えた。中途半端なものをすべて破棄して bouzuya/mr-jums を終わらせることにした。 bouzuya/simple-gist-client の関連でやや脱線したものの、進めている。

体調が悪く、神戸 Rust の会には参加できず。

つくったもの

2017-07-31/2017-08-06

simple-gist-client に関連して beater および beater-tap-reporter をバージョンアップした。

2017-08 の目標に従い、 mr-jums を html にしぼって実装を進めている。これはまた別で書く。

その他

部屋を模様替えしている。配置を大きく変えた。きっかけが 2017-08-01 に書いた、はかなくなったチノパンツの行き場だったりする。

2017-07-20 からのなわとびが続いている。良い。妻も一緒になってやっている。良い。

腰痛のための通院が終わった。あとは教わったことを繰り返して再発しないように努めるのみ。暑さのせいなのか、体調を崩しがちだ。

2017-W32 の目標

  • bouzuya/mr-jums 0.2.3 のことを書く
  • blog.bouzuya.net を 4.0.0 にする

bouzuya/bs-code 2.0.0 をつくった

2017-07-29bouzuya/bs-code の 2.0.0 をつくった。書こうと思っていたのに機をのがして、ほとんど一週間も遅れてしまった。

bs-code は Visual Studio Code の拡張機能でぼくのメモをとるための道具だ。以前から何度も書いている。過去の記事は↓のとおりだ。

2.0.0 の変更点は↓のとおりだ。

  • Visual Studio Code の対象バージョンを 1.11.0 に変更
  • 選択されたファイルを開くコマンド (bsCode.openSelectedFile) で短縮形式を開くよう変更
  • それぞれの開くコマンド (bsCode.open*) で現在の ViewColumn に開くよう変更
  • 今日の一覧を開くコマンド (bsCode.openFileListToday) を追加

メジャーバージョンが上がっているのはいくつかの点で互換性を壊したからだ。劇的に何かが変わっているわけではない。

一覧が見れるようになった。かなり使いやすくなった。当初から追加するつもりだったが、このプロジェクト自体の優先順位の低さから先送りされ続けてきた。できれば、前日への移動や週単位・月単位などでの表示もしたいのだけど、そこは段階的に進めるものとして省いた。

一覧を追加した関連で一覧から開くコマンドの機能を見直す必要が出た。一覧に表示される日付の形式でジャンプできるように直した。いずれ、この形式の日付を「リンクの挿入」として使えると良い。

外から見た挙動も行き当たりばったりだが、内の実装がもっとひどい。そのうち直したい。順序としては blog.bouzuya.net 4.x を完成させてから、 blog.bouzuya.net 5.x 構想の一部である bs-code に入る。まだまだだ……。

bouzuya/simple-gist-client 0.2.0 をつくった

bouzuya/simple-gist-client を 0.2.0 にした。その過程でいろいろと遠回りをした。

きっかけはひとつのプルリクエストだった (bouzuya/simple-gist-client#1) 。 simple-gist-client に *.d.ts が含まれているのに package.jsontypes 指定がないので動かなかったのだろう。このプルリクエストはそれを修正するものだ。ぼく自身はもうまったく使っていないリポジトリだけど、せっかくなのでマージした。

すぐに npm push したのだけど、そこでふと気になりはじめる。「いまさら TypeScript 1.8 の *.d.ts でいいのだろうか……」と。

「単純作業だろう」とたかをくくって simple-gist-client の TypeScript のバージョンアップをはじめる。 TypeScript は 1.8 で typings を使っていた。それぞれ 2.4 と @types/* へ変更する。その他の依存ライブラリもバージョンアップする。その流れで ava から bouzuya/beater の最新に置き換えて……。「よし、完了」と思ったら CircleCI でのテストに失敗した。

原因は CircleCI の対象バージョンを Node.js 4.3 に設定しており、そのバージョンで beater により失敗する。Node.js 4 を切ろうかと思ったけど、まだ一応 LTS だし……。芋づる式に beater の修正をはじめる。

問題になっているのは beater の既定のレポーターである bouzuya/beater-tap-reporter だ。これが Node.js 4 では動かない分割代入構文を使っているためにテストで失敗していた。「分割代入ぐらい動けよ」と思うのだけど、仕方ない。 beater-tap-reporter に babel を入れて、「よしよし、完了」と思ったらまた失敗する。

babel の設定が悪いらしい。 babel/babel-preset-env"targets": { "node": 4 } とする。動いた。

古い beater-tap-reporter に依存する beater もダメなので、それもバージョンアップした。

最終的に次のとおりバージョンアップした。

遠回りだ。 beater の Node.js 4 対応ができたので良しとしよう。

体調不良

体調不良。なぜだか頭が痛い。お休み。

今日は神戸 Rust の会だったのだけど、それも休み。

体調が悪い / 散髪

朝から体調が悪く、午前休。

奇数週 (2017-W31) の水曜日なので髪を切った。前回は 2017-W29 (2017-07-19) 。