メドレー エンジニア・デザイナーブログをリニューアルしました
はじめに
皆さん、こんにちは。エンジニア・技術広報の平木です。
以前からご覧になっていただいていた方にはお分かりかと思いますが、3/18 に今ご覧いただいているエンジニア・デザイナーブログを「Developer Portal」という名称に変更して 2017 年以来 5 年ぶりにリニューアルをしました。今回はリニューアルについて、目指すところと若干の技術的な側面をお伝えできればと思います。
ブログトップ新旧比較
旧
新
エンジニア・デザイナーブログリニューアルの背景
まずは、 なぜリニューアルしたか? という背景についてです。弊社のエンジニア・デザイナーブログの変遷と共にお話していきたいと思います。
エンジニア・デザイナーブログの変遷
第 1 期(2016/04 ~ 2017/07)
Developer Blog は 2016/04 月に会社公式ブログにエンジニア向けの記事を掲載し始めたころから、しばらくは他の会社情報とともに掲載をしていました。記事内容はエンジニアが登壇したイベント情報や、今も続いている TechLunch(全社横断のエンジニア・デザイナー向け社内勉強会) の発表レポートなどがメインとなっていました。
この頃は開発組織の人数もそこまで多くなかったのですが、メドレーの開発組織を社内の様々な部署の雰囲気と共にお伝えしようという目的がメインでした。まずは、メドレーの開発組織としてのプレゼンスを高め、プロダクトを内製で日々開発をしていることを、外部の皆さんに知ってもらおうという目的が一番大きかったように思います。
このような形で 2017 年中頃までは会社公式ブログでの更新をしていましたが、開発組織が拡大するにつれ、組織として出来ることも増えてきました。それに伴い、これまでのように「開発組織の存在のアピール」や「組織の取り組み」に加えて、純粋に技術的な側面をもっと打ち出していき「医療 x IT」というテーマにメドレーはどのように向きあっているかを知ってもらおうという機運が高まってきました。
第 2 期(2017/07 ~ 2022/03)
こうした運びで新しく Medley Developer Blog を 2017/07 月に立ち上げることになりました。会社公式ブログから完全に独立したテックブログということで、目論見通りにそれまで以上に技術的な投稿もできるようになりました。編集方式もこの時から現在までエンジニア・デザイナーが主体となっています。
更新頻度も不定期だったものを月 1~2 回と増やし、コンスタントにメドレーの開発に関する話題を取り扱うようにしました。運営をしていた 5 年の間にいくつかの記事は、おかげさまではてなブックマークなどで話題になることもあり、第 1 期よりもさらに皆さんに読んでいただけるようなブログになりました。
この間にメドレーも様々なエンジニア・デザイナーイベントにスポンサードさせていただいたりもして、ブログと合わせて一定のプレゼンスを得ることができてきたのではないかと思っています。特に「医療ヘルスケア業界」という馴染みが無い方にはハードルが高いと思われることが多い業界でのプロダクト開発に、一般的なインターネットテクノロジーを駆使しているという点を、色々な側面からお伝えできるようになったことは大きいと感じています。
現在(2022/03 ~)
そんなブログでしたが、開設から 5 年経ち以下のような課題が出てきました。
- 会社がまだ上場前に作られたデザインだったため、現在のコーポレートサイトなどのトーンとズレが出てきている
- 会社や組織規模が大きくなり、希薄になりがちな内部で働いている個人にもフォーカスが当てられるようなコンテンツが欲しい
- 採用的な側面として、メドレーに興味を持った方へ提供できる情報がバラバラになっている
以上の課題を解決するために、ブログのリニューアルをすることになりました。
特に今年から全社的な方針として、メドレーのソフト面での話題にフォーカスしたコンテンツを作っていくということで、改めて公式noteの更新に注力していることもあり、エンジニア・デザイナーブログもこの動きと連動する必要がありました。
以上の理由から、コンテンツとしては従来通りの ブログ記事 、様々なメディアでメンバーが露出している インタビュー記事 、イベントなどで使われた 発表スライド を全て見られるような総合的なサイトにしていくこととなりました。
インタビューはこれまでもメンバーが様々なメディアに出ていたり、スライドも以前から Speaker Deck を更新していたのですが、まとまった形での提供ができていませんでした。
今回のリニューアルで、これらの要素をまとめて皆さんにお届けできるようになったため、「Medley Developer Blog」から「Medley Developer Portal」と名称変更をしました。
これからも、メドレーの開発組織をより外部の皆さんに知ってもらうために、運営ができればと考えていますので、よろしくお願いします。
エンジニア・デザイナーブログリニューアルの技術面について
さて、ここまでリニューアルの背景をお伝えしましたが、ここからは今回使った技術面について軽く触れていこうと思います。
使用技術について
旧ブログは「はてなブログ」での運用をしていました。リニューアルにあたって上記の課題を解決するためには、独自にブログを開発したほうがよいと考えました。新ブログは以下の技術を使って開発しました。
Gatsby に決めた理由は大きくは以下でした。
- 既に弊社内で Gatsby の導入実績があるため、社内のメンバーがいざとなったら触れる
- ブログ + α のサイトを作るのに十分な柔軟性がある
- 公式やコミュニティプラグインが充実しており、開発が省力化できる
Gatsby は精力的にアップデートが行なわれており、早いサイクルで進化するのも魅力の 1 つでした。
Gatsby 製サイトをどのように公開するかは、悩んだのですが、結果的に事例も多くありデプロイの簡易さや機能の豊富さを考えて Netlify にしました。
はてなブログからの記事移行について
最初から旧ブログでのコンテンツは新ブログに移行することがマストだったので、まずはどのように移行ができるかということを考慮することから始めました。はてなブログは通常のエクスポートだと Movable Type 方式になるので、なんとか Markdown に変換するか…などと考えていました。
しかし、blogsyncというはてなブログの CLI クライアントを通すとローカルに Markdown ファイルとしてブログエントリを同期することが可能だったため、
- blogsync で全ての旧ブログコンテンツをローカルに同期(ダウンロード)
- ローカルに Markdown ファイルとしてダウンロードできたブログコンテンツを Gatsby 製の新ブログにコピー
gatsby-source-filesystem
でコピーした Markdown ファイルを読み込みブログとして表示
という手順で既存のブログ記事を全て移行することができました。
また、ドメインについては独自ドメインをそのまま新ブログにも移行することとしたため、はてなブログと同じ URL 形式でブログが読み込めるようにルーティングをしました。
苦労した部分
今回の開発で苦労した部分をダイジェストで書いていきます。自分のニーズに合わせて調べてみても、特に深い部分に関して、あまり情報が出てこないというパターンが多かったように思います。
バージョン固有の情報や、プラグインの情報が少なかった
開発当初は Gatsby v4 が出たばかりだったので、何かに困って検索しても公式以外の情報は以前のバージョンで使えないことが多かったです。
またプラグイン関係の情報も調べる内容によっては中々目的の情報が出てこなかったりしました。gatsby-plugin-image
周りで顕著な印象だったので、画像周りの表示に泣かされることがありました。
他にも Markdown 表示は gatsby-plugin-mdx
を使用していますが、従来の gatsby-transformer-remark
と情報が混在している印象がありましたので混乱することも。
ページネーションでベストなプラグインが見つからなかった
公式ガイドを参考にページネーションを自前で作っていたのですが、GraphQLから持ってきたデータを表示するだけではあまりユーザビリティが良くなかったため、プラグインなど探したのですがこれといったものが見つからなかったです。
公式ガイド参考に作ると延々記事が増えたらページネーションの数も増えていってしまい微妙な感じでした…。自前で制御も考えましたが、最終的にはmui/paginationコンポーネントを組み合わせることで対応しました。
OGP 画像自動生成に関して情報が少ない
OGP 画像は自動生成にしたいと思いましたが、案外ニーズが無いのか情報が少なかった印象です。最終的にこちらのブログを発見し、kentaro-m/catchy-imageを使って生成するようにしました。
これからやりたいこと
機能の拡充以外だと、今まではできなかったtextlintでの校正などをして、編集時の負荷軽減などをやっていきたいと考えています。
さいごに
以上、 Developer Portal のリニューアルについて書かせていただきました。 引き続き、情報発信などをしていきメドレー開発組織について、皆さんに知っていただければと思います。
最後になりますが、医療ヘルスケアのプロダクト開発に(このようなブログ製作も)関わっていきたい!という方はぜひ下記よりご応募お待ちしております!