LoginSignup
11
12

More than 5 years have passed since last update.

Gistをファイルシステムとしてマウントする

Posted at

Gistをファイルシステムとしてマウントできるものを、Goで書いてみました。

まだ以下の機能しか実装してませんが、それだけでも十分Gistを堪能できます。

  • Gist一覧の取得
  • ファイルの取得
  • ファイルの更新

使い方

まず go get で取得します。

go get github.com/ueokande/gist-fs

次に、Gistにアクセスできるpersonal access tokenを生成します。そしてコマンドラインから、gist-fsに引数を渡して起動します。<username>はGitHubのユーザ名、<access_token>は生成したpersonal access tokenを、そして引数の最後にマウント先のディレクトリを指定します。

gist-fs -u <username> -p <access_token> path/to/mount/point

使ったもの

ファイルシステムにマウントするために、FUSEのGoライブラリであるhanwen/go-fuseを使いました。go-fuseの日本語の解説は、@lufiaさんの記事が参考になりました。

また公式ドキュメントとサンプルも大変参考になります

そしてGistのGitHub Developer Guideを見ながらせっせと作ってました。

感想

驚く程に、簡単にファイルシステムを実装できて、楽しかったです。モチベーションとしては、リソースの場所を意識せず手元のエディタで編集したいだとか、他の言語への移植が面倒なシステムでもファイル操作だけでアダプタが書けるといった点でしょうか。

11
12
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
11
12