1.Gitとマークダウンをサポート
Node.js で動作する、高速・シンプル・パワフルなブログフレームワーク。
参考;所要時間3分!? Github PagesとHEXOで爆速ブログ構築してみよう!
2,ArchLinuxに設定する
前提としてArchLinuxが正常に機能していること。これにHEXOを設定していくことにします。
(1)依存パッケージのインストール
HEXOはNode.JsとGitの環境を必要とします。
▶ Node.jsはいろいろなバージョンが存在し(yaourt nodejsってやったら関連のものを含めて213個)、どれをインストールすべきか迷う。
珍しくないことに、様々なバージョンの nodejs を動作させる必要があったり、それが望ましい場合があります。node ユーザーの間で推奨されている方法は NVM (Node Version Manger) の使用です。nvmAUR を使うことで簡単にインストールすることができます。使用方法はプロジェクトの github にまとめられていますが、要するに次を実行するだけです:
$ nvm install VERSION_NUM [ Arch Wiki より]
$ yaourt nvm
1 extra/convmv 2.04-1
Tool for converting encodings on filesystems
2 archlinuxfr/nvm 0.33.11-1 [installed]
Node Version Manager - Simple bash script to manage multiple active
node.js versions
(途中省略)
==> Enter n° of packages to be installed (e.g., 1 2 3 or 1-3)
==> ---------------------------------------------------------
==> 2
[sudo] password for ken:
warning: nvm-0.33.11-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (1) nvm-0.33.11-1
Total Installed Size: 0.13 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring [######################] 100%
(1/1) checking package integrity [######################] 100%
(1/1) loading package files [######################] 100%
(1/1) checking for file conflicts [######################] 100%
(1/1) checking available disk space [######################] 100%
:: Processing package changes...
(1/1) reinstalling nvm [######################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
このnvmをインストールすれば必要なバージョンのNodejsがインストールされるのだろうと思ったけど、違ったようだ。nvm バージョンとすればそれがインストールできますよぐらいのツールのようだ。
とりあえず、コミュニティバージョンの10.1.0-1をインストールしてみた。
$ sudo pacman -S nodejs
▶ Gitのインストール
$ sudo pacman -S git
(2)HEXOのインストール
$ yaourt nodejs-hexo-cli
$ sudo npm install -g hexo-cli
結構なページで一般ユーザでのインストールが記載されているが、これでは npm が nodejsなどにアクセスできないとしてインストールできなかった。
/usr/bin/hexo -> /usr/lib/node_modules/hexo-cli/bin/hexo
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/hexo-cli/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
警告文が出ているが、オプションだったりするので先に進む。
3,HEXOを起動させる
(1)記事を作成するディレクトリ(プロジェクト名)を作成する
$ hexo init blog
INFO Cloning hexo-starter to ~/blog
Cloning into '/home/ken/blog'...
remote: Counting objects: 65, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 65 (delta 0), reused 0 (delta 0), pack-reused 62
Unpacking objects: 100% (65/65), done.
Submodule 'themes/landscape' (https://github.com/hexojs/hexo-theme-landscape.git) registered for path 'themes/landscape'
Cloning into '/home/ken/blog/themes/landscape'...
remote: Counting objects: 819, done.
remote: Total 819 (delta 0), reused 0 (delta 0), pack-reused 819
Receiving objects: 100% (819/819), 2.54 MiB | 2.23 MiB/s, done.
Resolving deltas: 100% (432/432), done.
Submodule path 'themes/landscape': checked out '73a23c51f8487cfcd7c6deec96ccc7543960d350'
INFO Install dependencies
npm WARN deprecated titlecase@1.1.2: no longer maintained
> nunjucks@3.1.2 postinstall /home/ken/blog/node_modules/nunjucks
> node postinstall-build.js src
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
added 276 packages from 455 contributors in 8.699s
[+] no known vulnerabilities found [977 packages audited]
INFO Start blogging with Hexo!
この時点で blog というディレクトリが出来上がりました。このディレクトリに移動してHEXOサーバを起動します。
$ cd blog
$ hexo server
INFO Start processing
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
ブラウザからアクセスする 。
うまく稼働しなかったら
$ rm -R blog* でディレクトリごと消去して $ hexo init blog から始めるとよい。
コメント