行き当たりばったり
2014年11月23日

HexoのArchivesや各カテゴリーのページはデフォルトでは記事全文を表示するようになっている。
リスト表示の方が一覧を俯瞰出来て便利なので好みなのだが、カスタマイズの仕方がなかなか分からなかった。

結局は_config.ymlのArchivesの項目で

# Archives
## 2: Enable pagination
## 1: Disable pagination
## 0: Fully Disable
archive: 2
category: 2
tag: 2

となっているところの値を、2から1に変更。

# Archives
## 2: Enable pagination
## 1: Disable pagination
## 0: Fully Disable
archive: 1
category: 1
tag: 1

簡単にリスト表示(タイル形式)になった。

表示   このエントリーをはてなブックマークに追加
2014年11月22日

Hexoにはいろいろテーマがあるようで有難い。
Themes · hexojs/hexo Wiki
(デモサイトはなぜか中国語が多い。)

元々入っていたデフォルトのテーマは「Landscape」だったので、とりあえずそれとは別のOfficial Themes、「Phase」と「Light」を試してみた。
試したはいいが、「Light」を入れてから元のテーマに戻そうとしたら戻せなくなってしまった。
「Light」が崩れたようなスタイルから変更出来ない。

hexo hでヘルプを見ると、clean(Remove generated files and the cache)というコマンドオプションがあったので、hexo cleanをしてみた。
書いてある通り/publicフォルダ自体も消えてしまったが、その後hexo gしたらテーマも無事直った。

消したのに、カウント数が(0)のまま表示されているカテゴリやタグも、hexo cleanで直るようだ。

ーー
テーマのCSSをカスタマイズする際にも、ローカルでの確認では問題ないが、いざdeployすると反映されていないようだ。
この時もいったんhexo cleanすると良いようだ。

表示   このエントリーをはてなブックマークに追加
2014年11月22日

Github Pagesのブログに使っている静的サイトジェネレーターをOctopressからHexoに変更してみた。

Octopressの/source/_posts内の記事ソースをそのままHexoの/source/_postsにコピーしたら、generateした時にパーマリンクがhttp://.../2014/10/24/2014-10-24-xubuntu-blank-menu/のように日付けが重複してしまった。
Hexoはデフォルトでは、新しく記事ソースを作った時には日付けがつかず、generateする時に日付けを付加するようになっているらしい。

_config.ymlの

# Writing
new_post_name: :title.md # File name of new posts

のところを

new_post_name: :year-:month-:day-:title.md

に変更したらOctopress同様になるようだ。
Migration | Hexo

Octopressでは記事が/blogディレクトリ下に配置されるパーマリンクを使っていたが、今後はHexoのデフォルトの通りルート下に:year/:month/:day/:title/というパーマリンクを使うことにした。この方がシンプルで好みだし。
Githubでは.htaccessファイルを使ったリダイレクトが使用不可のようなので、以前の記事がリンク切れになるのは仕方がない。

あと、下記記事を参考に、FeedとSitemapのプラグインを入れた。
プラグインの導入はとても簡単だった。
所要時間3分!? Github PagesとHEXOで爆速ブログ構築してみよう! | 株式会社LIG

Feedを導入すると、ヘッダー右上のアイコンでatom.xmlのページは表示出来たが、ブラウザのアドレスバーの端にフィードアイコンが表示されていない。

themes/landscape/layout/_partial/head.ejsの26行目、link rel="alternative"link rel="alternate"に変更したら、アドレスバーにフィードアイコンが表示された。

心配だったGithubへのdeployも、_config.ymlの# Deploymentの項目に記載するだけですんなりdeploy出来た。

記事数が増えるに従い動作がもっさりして来たOctopressに較べ、Hexoのgenerateは断然早くて軽快。
コマンドも
hexo newhexo n
hexo generatehexo g
hexo serverhexo s
hexo deployhexo d
で良いようだし、なかなか快適。

表示   このエントリーをはてなブックマークに追加
2014年11月21日

Octopressでブログを書いていて、さして不満はないのだが、別の静的サイトジェネレーターに「Hexo」というのがあるのを知った。
Octopressに較べ、テーマも豊富に用意あり、日本語のURLやカテゴリー名にも対応しているようだったので、入れてみた。
rubyではなく、Node.jsというのを使うらしい。

導入には下記サイトなどを参考にさせて頂いた。
【Node.js】Hexoでブログを書くための環境構築 | AdMax Tech Blog

概ね上記サイトの通りに進めたらいいようだったが、Xubuntu14.04の環境では若干うまく行かないところがあった。

nodeにパスを通す際、~/.bash_profileというファイルが見つからなかったので、~/.profileに

if [[ -s ~/.nvm/nvm.sh ]];
then source ~/.nvm/nvm.sh
fi

を追記したが、これでは駄目なようで、ターミナルを起動する度にnvmというコマンドが見つからないと言われる。

どうやら~/.bashrcに追記しないと駄目なようだった。
Ubuntu11.10で、nvmからnode.jsをインストールする - ホワイトぼーど

Hexoをインストールするところで

npm WARN optional dep failed, continuing fsevents@0.2.0

と言われたが、問題なく使えるようだ。
途中うまく行かないので、下記サイトを参考に

curl -sL https://deb.nodesource.com/setup | sudo bash -

sudo apt-get install -y nodejs

とやったりしたが、果たしてこれが必要な操作だったのかどうかは不明。
Installing Node.js via package manager · joyent/node Wiki

しばらく試用してみて良ささそうだったら、Octopressから乗り換えるかもしれない。

表示   このエントリーをはてなブックマークに追加
2014年11月20日

DropboxでOctopressのフォルダを同期し、2台目のPCでもrake new_postやrake generateは出来るようになったが、rake deployが出来ない。
gitが入ってなかったのでsudo apt-get install gitし、rake setup_github_pagesでセットアップしたが、

! [rejected]        master -> master (non-fast-forward)

とエラーになる。
SSHの公開鍵も設定したのだが。

検索したところ、Octopressで突然deploy出来なくなった時には、Rakefileを編集するという対処法があるらしい。
Octopressでrake deployした際にrejectedされた場合の対処 - Qiita

どうやら強制的にdeployするものらしい。

上記記事の通り、Rakefileの268行目の#の前に+を付けて

Bundler.with_clean_env { system "git push origin +#{deploy_branch}" }

にすると、deploy出来た。

元記事によると、deploy出来るようになった後は、Rakefileの編集を元に戻しておいた方がいいらしい。
rake gen_deploy rejected in Octopress - Stack Overflow

いったんdeploy出来るようになったら、その後はRakefileを元に戻してもdeploy出来る。

記事ではoctopress/_deployディレクトリでgit pull origin masterというコマンドを使う回答もあった。
機会があれば今度試してみようと思う。

gitがなんなのかよく分からないが、FTPでアップロードしていた時に較べるとブログの更新も楽だし、スマートな感じがする。
でもほんと、gitってよく分からない。

表示   このエントリーをはてなブックマークに追加
2014年11月19日

OctopressのフォルダをDropboxに置くことにしたので、メインで使っているPCではなく古いネットブックにインストールしたXubuntuからDropbox上のOctopressを使えるかどうか試してみた。
だがrake previewしようとしたら、エラーになってしまった。
Octopressを使う環境が整っていないので当然といえば当然。

環境を整えるにあたり、bundle installで行き詰まってしまった。
途中

Installing libv8 (3.16.14.7)

の表示のところで動かない。
フリーズしたのかと思ったが検索したところ、libv8のインストールには時間が掛かるらしい。
確かにCPUの使用率も100%で、頑張ってはいるようだ。

非力なマシンのせいか結局30分くらい掛かったろうか。
もう一度パスワード入力を求められ、その後またtherubyracer (0.12.1)のところで少し時間が掛かったが、ようやくYour bundle is complete!
Octopressを使えるようになった。

ーー
使えるようになったと思ったら、deployが出来ない。

$ rake deploy
cp -r source/images/.gitkeeper public/images/.gitkeeper
## Deploying branch to Github Pages 
## Pulling any updates from Github Pages 
cd _deploy
cd -
rm -rf _deploy/assets
rm -rf _deploy/atom.xml
rm -rf _deploy/blog
rm -rf _deploy/favicon.png
rm -rf _deploy/images
rm -rf _deploy/index.html
rm -rf _deploy/javascripts
rm -rf _deploy/posts
rm -rf _deploy/robots.txt
rm -rf _deploy/sitemap.xml
rm -rf _deploy/stylesheets

## Copying public to _deploy
cp -r public/. _deploy
cd _deploy

## Committing: Site updated at 2014-11-19 11:02:25 UTC
sh: 1: git: not found

## Pushing generated _deploy website

## Github Pages deploy complete
cd -

拒否はされてないみたいだが、記事を投稿出来ない。
どこに問題があるのか、よく分からない。
generateもやたら遅いし、ちょっとしんどいかな。

ーー
gitがインストールされてない?

表示   このエントリーをはてなブックマークに追加
2014年11月18日

ネットブックLaVie LightにDebian Wheezyをインストールした。
ウィンドウマネージャはXfceが好みなので、debian-7.7.0-i386-netinst.isoでインストールする際、”Advanced options” 、”Alternate desktop environments”でXfceを選択した。

ファイルやフォルダを簡単に管理者権限で操作したいので、XfceデフォルトのファイルマネージャーThunarのアクションに「rootで開く」を追加し、gksuもインストールした。
だがrootで開こうとしても、認証画面は表示されるものの、フォルダやファイルを管理者権限で開くことが出来ない。

代わりにNemoをインストールしようとしたら、リポジトリにNemoが無かった。PCManFMも確かrootで開くメニューがあったのでインストールしてみたが、なぜかrootで開くメニューが無い。
困ってしまったが、Ubuntu 12.04 Preciseのリポジトリを追加することで、Nemoをインストール出来た。

echo "deb http://ppa.launchpad.net/noobslab/mint/ubuntu precise main" | sudo tee -a /etc/apt/sources.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F59EAE4D
sudo apt-get update
sudo apt-get install nemo

Install Nemo file Manager with Extensions in Debian 7 Wheezy and its derivatives | Technology Linux World

Ubuntu 14.04 Trustyのリポジトリを入れた方が、Nemoのバージョンが新しくて良いかと思いやってみたが、「壊れたパッケージを修復出来ない」とかでNemoをインストール出来なかった。

それと、Nemoを起動すると、デスクトップ上の右クリックでアプリケーションメニューを表示するのが出来なくなってしまう。
これでは少々不便なので、普段はThunarを使った方が良いかもしれない。

表示   このエントリーをはてなブックマークに追加
2014年11月13日

Xubuntu 14.04.1をインストールしたネットブックLaVie Light BL300/T。
有線でのネット接続は問題無いが、無線LANがとても不安定。
頻回に接続が切れて認証を要求されるし、接続も異様に遅い。
Xubuntu 12.04では問題なく使えていたのだが。

どうも無線LANアダプターAtheros製AR9285とドライバーath9kの相性の問題もあるらしい。
ノートPCの無線LANデバイスにて : フレイドフォートonBlog

/etc/modprobe.d内にath9k.confというファイルを作りそこにoptions ath9k nohwcrypt=1と記載したり、ath9kをロードし直したりしてみたが改善しない。
NdisWrapperでWindows Xp用のドライバーを使えば良いかと思いやってみたが、これも満足に動作しない。

Xubuntu 14.04.1にLinux 3.2や3.8カーネルをコンパイルしてインストールすれば良いのかもしれないが、自分の力量を超えているので断念。
(カーネルのコンパイルをしなくても、Ubuntu 12.04 Preciseのリポジトリを追加してLinux 3.2カーネルをインストールすれば良かったのかもしれない。Debian WheezyにNemoをインストール

結局Xubuntu 12.04をインストールしそれを14.04.1にアップグレード、起動カーネルをLinux 3.2にすることで無線LANも安定した。

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 3.2.0-58-generic"

古いPCでもLinuxは利用出来ると言われるが、Linuxも新しい機器への対応を進める一方、古いPCは切り捨てられていくのだろうか。
使い勝手はUbuntu派生ディストリに劣るかもしれないが、今度Debian+Xfceも試してみようと思う。

ーー
(追記)
lshwコマンドで見たところ、Xubuntu 12.04(Linux 3.2カーネル)でもAR9285に使われているドライバーはath9kだった。
なぜXubuntu 14.04.1の場合は無線が安定しないのだろう?
「disabling IRQ #9」回避のため、起動オプションに「pci=noacpi」を付けていたからだろうか。

ーー
(再追記)
Xubuntuのアップデートで、カーネルが更新される度にgrubが書き換えられてはかなわないので、/etc/default/grubのパーミッションで、所有者rootのアクセス権が「読み書き」だったのを「読み込み専用」にした。
変更が必要な時はまたアクセス権を変更しないといけないが、これで意図に反してgrubが書き換えらるのを防ぐことが出来る。

表示   このエントリーをはてなブックマークに追加
2014年11月11日

NECのネットブックLaVie Light BL300/TにXubuntu14.04.1を再インストールした。
以前もXubuntu14.04.1をインストールしたがその時はdisabling IRQ #9でインストールDVDを起動出来ず、いったんXubuntu13.04をインストールしてから、その後Xubuntu14.04.1にアップグレードしていた。
だが、起動オプションにpci=noacpiを加えれば、Linuxカーネル3.13.0-39でも起動出来るようだったので、起動オプションを付けてXubuntu14.04.1をインストールした。

Xubuntu14.04.1のインストールDVDを入れ、起動後「shift」キーを押し続けてオプションを表示。言語を日本語にした後「F6」キーで「その他のオプション」を表示。
acpi=offnoapicnolapicedd=onnodmraidnomodeset等の起動オプションが選択出来るが、なにも選ばず「ESC」キーで選択画面を終了。(acpi=offでは解像度が800×600に固定されてしまい、他のオプションではdisabling IRQ #9でインストールDVDを起動出来ない。)
下部に「起動オプション」の欄があり、キーボードで任意にオプションを入力出来るので、quiet splash --に続けてpci=noacpiと入力し「ENTER」で起動。
問題なくXubuntu14.04.1をインストール出来た。

インストール後再起動すると、/etc/default/grubの

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

の下にちゃんと

GRUB_CMDLINE_LINUX_DEFAULT="pci=noacpi"

の記載が加わっている。

Xubuntuの前にLubuntu14.04.1も試してみたが、確かにXubuntuに較べて動作はやや軽いような気はした。
だがLubuntuソフトウェアセンターというのが検索も出来ず使いづらいし、お気に入りアプリケーションの登録も不便だったりと、カスタマイズの容易さではXubuntuに劣るようだ。

表示   このエントリーをはてなブックマークに追加
2014年11月6日

花の色はうつりにけりな

いたづらにわがみ世にふる ながめせしまに

(古今和歌集 小野小町)

表示   このエントリーをはてなブックマークに追加