はなゐろぐ

Gitのブランチをローカルとリモート両方削除するエイリアス

2017.07.13 9:07

仕事でGitを使っていて、都合上ブランチを作っては削除することが多いのでエイリアスを作ってみました。git branch -D-Dは強制削除なので、怖い方は-dに変更してください。

del = "!f(){ git branch -D $1 && git push —delete origin $1; };f"

引数としてブランチ名を渡します。

git del hoge

HEXO向け埋め込みリンク作成プラグインを書きました

2017.05.20 15:05

何を作ったか

APIを叩いてTwitterとかYoutubeとかAmazonへのリンクやコンテンツを埋め込むプラグインです。Amazonだけ別のプラグインです。

同じことをやるプラグインはすでに作られていたのですが、サービスごとにプラグインを入れるのが面倒だったし、該当サービスの仕様変更ごとに過去の記事を書き換えるのが大変そうだなと思ったので、最低限の情報を渡してAPIを叩くようにしました。

プルリクやIssue、大歓迎です。

Read more

HEXOとNetlifyでブログを作った

2017.05.18 15:05

今まではてなブログで不定期かつ適当にざっと書いていたのですが、一度真面目にやろうかなと思いブログを引っ越しました。作業手順を細かく書き残していないので、公式マニュアルへのリンクを貼ってます。

使ったもの

表題にある通り、HEXOとNetlifyを使いました。

Hexo

NodeJSで動く静的ブログ生成ツール。プラグインがJavascriptで書けるのでこれに決めました。テーマ一覧を見る限りでは中国語圏のユーザが多いのかな?

Netlify

Githubやbitbucketのリポジトリをビルドして公開してくれるホスティングサービス。リモートリポジトリにpushするだけで公開してくれてとても楽ちんです。無料なのにSSLやリダイレクトにも対応していてすごい…! 有料プランではパスワードをかけたりフォームを設置したりできるようです。また、Slackと連携できるので、公開したらメッセージを飛ばすこともできます。

私はbitbucketにブログ用の非公開リポジトリを作成し、masterにpushされたらNetlifyでビルドして公開するように設定しています。

Disqus

コメント機能のホスティングサービス。HEXOにはコメント機能がないので導入。要らないかなと思ったのですが、作ったものの不具合や訂正すべき内容があった場合の報告先として設置することにしました。

インストールからデプロイまで

公式ブログにキャプチャ付きで手順が掲載されています。

A Step-by-Step Guide: Hexo on Netlify | Netlify

プラグイン

案外インストールしてなかった。自作プラグインはのちほど公開する予定です。

hexo-prism-plugin

Prismでシンタックスハイライトする。

_config.ymlでデフォルトのシンタックスハイライトをenable: falseにすることと、プラグインの設定を記載しておかないとエラーが出ることに注意(Issueを参照 https://github.com/ele828/hexo-prism-plugin/issues/5 )。

hexo-generator-feed

フィードを出力する。RSS2とATOMから選べる。

hexo-generator-seo-friendly-sitemap

sitemapを出力する。

hexo-tag-oembed

パーマリンクを引数として与えると該当サービスのoEmbedAPIに投げて埋め込みコードを返す。サービスごとにいちいちプラグインインストールするのと、サービスの仕様が変わった時に過去の記事を書き換えるのがめんどくさかったので自作しました。

hexo-tag-amazon

ISBNまたはASINを引数として与えるとAmazonの商品情報を返す。AmazonにはoEmbedAPIがないので、Amazon Product Advertising APIを叩くプラグインを自作しました。

終わりに

Netlify側でビルドしてくれるので、リポジトリにビルド後のファイルを残さなくて良いのが良いです。やりたいことがいろいろできたのでこれからが楽しみです。

123