Blog の移行完了

Tumblr に作った Blog を Jekyll に移行しようと思ったのだが、手間がかかりすぎてしばらく放置していた。ふと思い立って以前作った WordPress.com のアカウントをのぞいたら、Tumblr からの移行機能があったので試したところ Jekyll よりも楽に移行できそうに思ったので行なってみた。

過去の Post については、もはや何の役にも立たないものや、今現在は削除してしまったコード、余計な Amazon の広告ウィジェットのコードが含まれていたりしたので、それらを修正して、やっと移行が終わった。

PV なんかを気にするならば、元の Blog から各記事へのリンクをしたりする必要があるが、もうあまり気にしないので元のサイトや GitHub Pages も近々削除しようと思う。

WordPress には iOS のアプリもあるし手軽に更新できるので、今後はもう少し気楽に書いて行こう。

Blog の移行完了

Migration Again

一度、Tumblr から GitHub Pages (Jekyll) へ移行しようと思って進めてたが、Jekyll で Blog 書くのは Tumblr よりも手間がかかるので全然書かなくなってしまったし、1つ1つ内容を確認するのが面倒になって移行自体も滞ってしまっていた。

ふと、テスト用に wordpress.com にアカウントを作っていたのを思い出して、いろいろ見ていたら、Tumblr からのインポート機能があって手軽に全記事を移行できそうだったので、こちらにしてみようと思った。

Jekyll は markdown で書けるのとシンプルなので選んでみたが、iPhone から Post するのも手間だし、Mac からも markdown で書く → GitHub に Push する、というのが、些細なこととだが更新のハードルを上げていた。

全記事のインポートは簡単に終わって、2010年8月分までは見直した。昔の記事はもうたいして役に立つものもないし、また気が向いた時に少しずつ直そう。

Migration Again

import tumblr posts with jekyll-import #2

前回 の続き。

前回の方法で jekyll-import を使って
export したファイルを見ると、

  • 見出し
  • 箇条書き
  • リンク
  • コードブロック

が無くなって、段落以外はフラットなテキストになってた。元々、移行する post を選択するつもりでいたので、1つ1つ見ていくことにした。

移行自体は、単純に .md ファイルをフォルダに移して commit するだけ。

import tumblr posts with jekyll-import #2

import tumblr posts with jekyll-import #1

自分用のメモなども兼ねて Tumblr で blog を書いていたが、もっとシンプルにしたいとか GitHub にアカウントがあるのにしばらく使っていないのでもったいない、などの理由で jekyll を使って GitHub Pages に blog を移行しようと思い立った。

いろいろなアカウントを使い分けるのも面倒になってきたので、メモ的なものや日記的なもの (これは最近 Nisshi というサービスに書いていた) を全部ここにまとめようと思う。

そこで Jekyll への移行に伴って、jekyll-import を使って Tumblr の post を import した手順を書いておく。全 2, 3 回になるかもしれない。

まずは jekyll-import のインストールから。

$ sudo gem install jekyll-import

その後、jekyll-import を実行 (ファイルは markdown にした)。

JekyllImport::Importers::Tumblr.run({
  "url"            => "http://stonedsoul.tumblr.com",
  "format"         => "md",
  "grab_images"    => false,
  "add_highlights" => false,
  "rewrite_urls"   => false
})'

エラーが出た。

/Library/Ruby/Gems/2.0.0/gems/jekyll-import-0.5.2/lib/jekyll-import/importers/tumblr.rb:135:in `post_to_hash': undefined method `<<' for false:FalseClass (NoMethodError)
from /Library/Ruby/Gems/2.0.0/gems/jekyll-import-0.5.2/lib/jekyll-import/importers/tumblr.rb:47:in `block in process'
from /Library/Ruby/Gems/2.0.0/gems/jekyll-import-0.5.2/lib/jekyll-import/importers/tumblr.rb:47:in `map'
from /Library/Ruby/Gems/2.0.0/gems/jekyll-import-0.5.2/lib/jekyll-import/importers/tumblr.rb:47:in `process'
from /Library/Ruby/Gems/2.0.0/gems/jekyll-import-0.5.2/lib/jekyll-import/importer.rb:23:in `run'
from -e:2:in `'

調べてみたら、同じようなエラーに遭遇している人がいて、解決してたみたいだった。

自分の場合は video post が引っかかってたみたいなので、該当箇所を

when "video"
  title = post["video-title"]
  content = post["video-player"]
  unless post["video-caption"].nil?
    content << "
" + post["video-caption"]
  end

から

when "video"
  title = post["video-title"]
  content = post["video-player"]
  unless post["video-caption"].nil?
    unless post[:content].nil?
      content << "
" + post["video-caption"]
    end
  end

に変えた。

とりあえず、これで全部、またはほとんどの post の .md ファイルができた。

(続く)

import tumblr posts with jekyll-import #1

Ghost blog on appfog

Node.js で動くGhostappfog で動かすことができたので、メモ。

基本的には以下のページにある手順で行う。

このページに書かれていることで、それ以外に設定すべきところは次の通り

Env Variables

appfog のコンソールで Env Variables に Name “NODE_ENV”, Value “production” を設定

config.js

server 部分を次のように修正。

server: {
  // Host to be passed to node's `net.Server#listen()`
  host: '0.0.0.0',
  // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
  port: process.env.VCAP_APP_PORT
}

<h3>.afignore</h3>
Ghost に限ったことではないが、appfog で node.js を使う時は、node_modules/.bin を指定した方が良いらしいので、一応しておく。

# ignore mode_modules/.bin
node_modules/.bin/

これで動いた。

その他

メール送信は Ghost のサイトにあるドキュメントを見ればできる(Gmail を使う方法もある)。

間抜けなことに、Ghost をセットアップした時に設定したメールアドレスがわからなくなってしまったので、appfog 以下のページにある方法で mysql の users テーブルを確認したりした。。

  • MySQL (tunneling して Execute Query を使ってアクセスした)
Ghost blog on appfog

Apple doesn’t have separate web design for smartphone browser

The following article analyse Apple website and try to know what Apple thinks about web site design for PC and mobile.

According to the article, the author find out that

  • Apple sets “viewport” width as 1024px, which is rendered as if 1024px width
    in mobile browser (mobile safari).
  • Basically each page has large image at top of the page. And 3 – 4 images lined
    up in 4 columns under the large image.
  • When you double tap a small image, mobile safari zooms the contents and it
    fits the screen size. At this point, you can easily read the text with the image.

It can be considered that apple.com is optimized both PC and mobile web browser with one design. With mobile browser, you can see the page contents at a glance, and then you can access information that you want with double tap. The author says that this design seems mobile web design that Apple upholds.

Apple doesn’t have separate web design for smartphone browser

Google Apps のサブドメインに “www” を使う

Google Page Craetor の終了に伴い、下のページに書いたように静的ファイルのホスティングをGoogle App Engine に移行した。

移行の際、GAE には “www” というサブドメインを割当て、Page Creator の使用を停止した(無効にした)。それで問題なく動いていたのだが、去年の 12 月に Google が Page Creator のコンテンツを Google Sites に移行させてからおかしくなった。

Page Creator で作ったページが Sites に復活し、GAE で使っているサブドメイン “www” を割当てられたので、コンテンツが移行された後、GAE にホスティングしたファイルにアクセスできなくなった。さらに Sites の web address mapping から “www” を削除して、Page Creator から移行されたページを削除しても、 GAE の方には “www” でアクセスできなくなったままだった。

最近になって、下の Help トピックを見つけて解決できたので、メモしておく。

一言で言うと、一度 “www” をスタートページのサブドメインにしてから、別のものにすれば
他のアプリケーション (GAE など) で使えるようになる。

実際にやった手順は以下の通り。

  1. Google Sites の Web Address Mapping から “www” を削除 (Page Creator のコンテンツも削除した)
  2. DNS の設定から、”www” を削除 (これと、4 は必要ないかもしれない)
  3. スタートページのサブドメインに “www” を割り当てる
  4. DNS の設定で “www” の CNAME レコードに “ghs.google.com.” を割り当てる
  5. スタートページのサブドメインを他のものに変更 (“start” など)
  6. GAE の Web Address Setting で “www” を設定 (www.example.com)
Google Apps のサブドメインに “www” を使う