progrhyme's tech blog

主にIT関連の技術メモ

技術メモを旧GoogleサイトからHugo + Docsyに移行している話

  • TL;DR
  • はじめに
  • 移行先システムの選定
    • Docsyについて
    • 他に検討したツールとNG理由
      • Hugoテーマ「LEARN」
      • GitBook
  • Docsyによるサイト構築
    • Docsyのセットアップ
      • hugoの拡張版をインストール
      • デモサイトのソースを雛形としてクローン
    • コンテンツ作成の準備
      • 不要コンテンツの整理とコンフィグ調整
      • 見た目の調整
      • layoutsのカスタマイズとdocsのパス変更
  • GitHub Actionsによるデプロイ自動化
  • まとめ

TL;DR

できたサイトはこちら: https://progrhy.me/tech-notes/

コンテンツは2020-04-26現在、全く移行できていません。

はじめに

4年以上前から、雑なメモを公開しつつストックするサイトとして、Googleサイトを使ってきました。*1
技術メモサイトのURLは https://sites.google.com/site/progrhymetechwiki/ です。

GoogleサイトのWYSIWYGエディタは特に好きではありませんが、Markdown Hereというブラウザ拡張を使うとMarkdownで書けるので、問題ありませんでした*2

Googleサイトの良い点として、ブラウザだけで作業ができるので環境構築が不要である点や、ビルド・公開といった手間が不要という点が挙げられます。

一方で、問題点がないわけではありません。

  1. 旧Googleサイトは来年末に終了が予定されている
  2. 各ページをMarkdownファイルで管理しているわけではないので、他のMarkdownベースの文書管理システムに移行しづらい。

特に、前者がクリティカルです。

「新しいGoogleサイトに移行すればいいんじゃないの?」と思う人もいるかもしれませんが、変換ツールは上手く動かず、新GoogleサイトでMarkdown Hereを試したところ、上手く動きませんでした。

そこで、旧Googleサイトの終了がアナウンスされた頃から「移行しなければならない」と思っており、今回、ようやく実施に漕ぎつけました。

移行先システムの選定

移行前の技術メモサイトを見て頂ければわかると思いますが、結構ジャンルが多岐に渡っており、ページ数が多いです。*3

それも踏まえて、私が移行先システムに求める要求は以下の通り:

  • 3以上のレベルでページを階層構造にできる
  • ページツリーをサイドバーなどで俯瞰できる
  • 記事の目次を表示できる
  • 記事の全文検索が可能
  • Markdownファイルで記事を管理できる
  • Markdownで以下の拡張記法がサポートされている
  • ページ数が多くなっても、待てる時間内でビルドが終わる

数年前だとなかなかいいツールが見つからなかったのですが、最近はだいぶ選択肢が増えているように思います。

HugoJekyllなどの静的サイトジェネレーターなら、上の要求の大半は満たされます。
ただし、「3以上のレベルでページを階層構造」にして「ページツリーをサイドバーなどで俯瞰できる」ようなテーマは限られているかと思います。
Hugoは高速なので、ビルド時間に関してアドバンテージがあるでしょう。

結論としては、タイトルに書いたようにHugoのDocsyというテーマを使うことにしました。

Docsyについて

DocsyはGoogleが去年の7月頃に公開した(*4)HugoのThemeで、特定の製品に関する技術文書の作成に向いています。
Kubeflow, Knative, Apache Airflowなどのドキュメンテーションに使われています。

以下のような機能があって、だいぶリッチなツールです。

続きを読む

JAWS-UG コンテナ支部 #14 に行ってきた

去る3/20に掲題のイベントに行ってきましたので、いつものように簡単にレポートします。

  • 発表資料まとめ
    • catabira.com における Amazon EKS 活用事例 Kubernetes による継続的デリバリ編 @iktakahiro
    • ECS Fargateを本番投入して得た悲喜交交 @masa2129
    • LT1: frontend for microservices with containers @inductor
    • LT2: Engineering life with containers on AWS @tnir
    • LT3: ETL処理をServerlessにしてみた件 @HibinoHisashi
    • LT4: 体当たりecs-cli w/ fargate! @hiroga_cc
    • LT5: Fargateは何がうれしいのか @shnagai
    • LT6: Fargate + ECR で elastalertを構築 @mdps513
  • 所感
  • 終わりに

発表資料まとめ

※3/30現在、まだ公開されていない資料もあるようです。捕捉できたもののみ掲載します。

続きを読む

Kubernetes Meetup Tokyo #17 に行ってきた

抽選に通ったので、掲題のイベントに行ってきました。

  • 発表資料まとめ
    • root権限無しでKubernetesを動かす @AkihiroSuda
    • Secure your K8s cluster from multi-layer / JIANTANG HAO
    • LT 1: Kubernetes 1.12 から実装された Runtime Classについて @makocchi
    • LT 2: Kubernetes初心者がKubernetesの気持ちを理解したくてやったこと @inductor
    • LT 3: kube-system落としてみました @tarosaiba
    • LT 4: イベント駆動ワークフローArgo Eventsの紹介 @dtaniwaki
    • LT 5: k8sとOPAつなげてみた @ken5scal
  • 所感
  • おわりに

発表資料まとめ

※Connpassに上がっているものもありますが、3/20 現在で公開されていないものもあるようです。 以下、捕捉できたもののみ掲載。

続きを読む

SRE Lounge #8 に行ってきた

以前から気になっていたSRE Lounge(Twitter #srelounge)ですが、一昨日はじめて参加することができました。

  • 発表資料
    • ソラコムAPIの裏側で運用チームは何をやってきたのか / 五十嵐さん
    • Cookpad Microservice Architecture Overview @rrreeeyyy
    • 割れ窓理論をWebインフラの改善に活用し、チーム内の知識共有を促進している話 @hokkai7go
  • 発表の感想
  • 終わりに
  • 聴講メモ

発表資料

続きを読む

HTML5 Conference 2018に行ってきた

掲題のイベントに行ってきたのでログを残しておく。

HTML5」ということで、比較的フロントエンド寄りの話が多かったと思うが、プロトコルや認証、CDNといった話題もあった。

朝から行って、最後のスペシャルセッションの前で引き上げた。
LT大会も盛り上がっていたようなので、もう少し残っても良かったかも。

聴講したセッション

光を超えるためのパフォーマンスチューニング/アーキテクチャ @mizchi

FIDO認証によるパスワードレスログイン実装入門 / 合路健人

Web Components のリアル @aggre

コンパイルターゲット言語としてのWebAssembly、そしてLINEでの実践 @uta_tti & @kawasako

HTTP の今と未来 ー BBR, HTTP/2, QUIC の基礎から 5G 試験ネットワークでのブラウザベース評価試験まで / 浅井智也、永井泰裕

セッション動画

YouTubeチャンネル https://www.youtube.com/user/html5j で公開されるようだ。
現時点で、ホールでの基調講演やLT大会含むセッション動画が公開されている。

上の動画中のLT大会の様子を流し見しながら、この記事を書いた。

全体的な感想

自分はインフラ~サーバサイドを見ることが多いのだけど、Webシステム全体の最適化を考えると、クライアントサイドの技術の進化も見過ごせない。
本カンファレンスでは、種々の最新Webテクノロジーについて、濃いセッションを多く聴くことができ、なんとなく肌感覚のようなものを掴むことができたように思う。

ありがとうございました!

関連リンク

Engineering Manager Meetup #2 に行ってきた

f:id:progrhyme:20181027235422j:plain

  • はじめに
  • オープンスペース(テクノロジー)
  • OSTセッションのテーマ
  • 参加したディスカッション
    • 第1回OST - 「エンジニアの文化づくり」
    • 第2回OST - 「エンジニアリングマネジメントの勉強法」
  • その他、感想
  • 終わりに
  • 関連エントリ
  • 脚注

はじめに

昨晩、こちらのイベントに初めて参加して来ました。

会場はWantedlyさんでした。
レセプション兼プレゼンテーションスペースですかね(?)
おしゃれで広々としたカフェのような雰囲気のスペースで、いい感じでした。

前回、このシリーズの最初のミートアップは9/25に開催されたようです。*1
その時はスルーしてしまったのですが、イベント後にタイムラインやはてブなどで反響を見て、「次回はぜひ参加しよう」と思っていました。

オープンスペース(テクノロジー)

今回のミートアップでは、前回と同様に オープンスペース形式 で議論が行われました。
私はこのオープンスペース形式について知らなかったのですが、下のようなものだそうです。

続きを読む

「Jenkins ユーザ・カンファレンス 2018 東京」に行ってきた

昨日、掲題のイベントに行ってきました。
下がイベントのページです。

以下、聴講したセッションのログや感想などを記します。

  • 聴講したセッションとその資料
    • 基調講演 @kohsukekawa
    • Accelerate with Jenkins X @jdrawlings
    • Continuous Delivery Best Practices with Jenkins and GKE @yuki_iwnr
    • AWSとJenkinsを活用して1年間で約500回商用デプロイした話とKubernetes活用 @takamii228
    • LT: Jenkinsを簡単運用ツールとして活用して非エンジニアに喜ばれた話 @morihaya55
    • LT: DevOps World | Jenkins World 2018の参加報告 by 坂本さん
    • LT: Jenkinsで運用業務の改善をしてみて気づいたこと @y0shirak0
    • LT: JenkinsとCodeBuildとCloudBuildと私 @irotoris
  • 感想
  • SPECIAL THANKS
  • 参考
  • 聴講ログ
    • 基調講演 @kohsukekawa
    • Accelerate with Jenkins X @jdrawlings
    • Continuous Delivery Best Practices with Jenkins and GKE @yuki_iwnr
    • LT: DevOps World | Jenkins World 2018の参加報告 by 坂本さん
続きを読む