z80oolong さんはインスタンス qiitadon.com のユーザーです。アカウントさえ持っていればフォローしたり会話したりできます。 もしお持ちでないなら こちら からサインアップできます。

# qiitactl をソースコードからコンパイルする

## 概要

現在うだうだ中。 Mastodon の toot を markdown 記法で記述してみる。 qiitadon.com では code 記法しかレンダリングされないが、若干ながら雰囲気だけでも伝わると良いかと思って試みてみました。
さて本日は、 golang の経験が無い筆者が、 [minodisk 氏][1]による qiita クライアントである [qiitactl][2] をソースコードからコンパイルした備忘録を記述します。

## go 言語のコンパイラを用意する

最初に、 go 言語のコンパイラを用意します。 linuxbrew を用いて導入します。

$ brew install go

(続く)

[1]:github.com/minodisk
[2]:github.com/minodisk/qiitactl

z80oolong @z80oolong

(承前)

## qiitactl のソースコードを入手・展開する

[qiitactl のソースコード][3] を入手して展開します。

$ wget -O qiitactl-0.1.4.tar.gz https://github.com/minodisk/qiitactl/archive/v0.1.4.tar.gz
$ tar -zxvf qiitactl-0.1.4
$ cd qiitactl-0.1.4

## 作業用ディレクトリを作成

[qiitactl のソースコード][3] の展開先に作業用ディレクトリを作成します。

$ mkdir build/src/github.com/minodisk
$ pushd build/src/github.com/minodisk
$ ln -sf ../../../.. qiitactl
$ popd

[3]:github.com/minodisk/qiitactl/a

(承前)

## go-bindata を導入する

ソースコード中のファイル .goxc.json を実行コードに埋め込むために [go-bindata][4] を導入します。

$ GOPATH=`pwd`/build go get -u -v github.com/jteeuwen/go-bindata/...

## .goxc.json を埋め込むためのコードを生成する

以下のようにして .goxc.json を実行コードに埋め込むためのソースコードを生成します。

$ ./build/bin/go-bindata ./.goxc.json

(続く)

[4]:github.com/jteeuwen/go-bindata

(承前)

## qiitactl のソースコードをビルドする

そして、以下のようにして [qiitactl のソースコード][3]をビルドします。

$ GOPATH=`pwd`/build go get -v github.com/minodisk/qiitactl

最終的に実行ファイルが ./build/bin/qiitactl に生成されます。この実行ファイルが手元の端末で Qiita の記事の取得において正常に動作することを確認しました。

## お断り

当方が golang の経験が全く無いため、以上のソースコードのビルド手法に多くの実行及び認識の漏れや誤りがあるかと思いますが、どうか御了承ください。

## 謝辞

テキストベースの Qiita クライアントである [qiitactl][2] を開発された [minodisk 氏][1]に心より感謝申し上げます。

## 余談

自分の性格からか、どうしても Mastodon の toot を 10 文字以上残して投稿するのはフラストレーションが残るものでした。