40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

この記事を読むのに必要な時間の目安を測る

たった一行追加するだけでサイトの滞在時間を13.8%伸ばす方法・・・で紹介されていて、それを見て、WordPress: 『読むための所要時間』を表示するコード書いた人がいますね。

元ネタの英語の記事

My hope is that I can influence users to interrupt article abandonment with the thought “well I know it’s only going to be 1 more minute to finish reading this thing, so I’ll just finish.”

とありますが、その作業(ブログを読む)に費やす時間がある程度わかっていれば、人間たしかにその作業を最後までやってみようと考える人はいるでしょうね。

はてダで、何らかの言語で独自に機能拡張出来る仕組みがあればいいんだろうけど、そういうのが無いから、とりあえずエントリ予定の記事の文字数カウントして読むのに必要な時間をおおまかに見積もるスクリプトをRubyで書いて会社の方で書いてるブログで早速試してみたにエントリする記事が何文字あるのかスクリプトでカウントしてそれをエントリ本文にコピペしました。

require 'rubygems'
require 'nokogiri'

blogentry = <<DATA
ここに文字を入力。
<h1>タイトル</h1>
となっていても、当然HTMLのタグは無視してカウントする
DATA

READ_WORD_PER_MINUTES = 400
total_text = Nokogiri::HTML(blogentry).text.split(//u).size
esimate_miniutes = (total_text/READ_WORD_PER_MINUTES).to_s + ""
esimate_seconds  = (total_text % READ_WORD_PER_MINUTES / (READ_WORD_PER_MINUTES / 60)).to_s + ""
puts esimate_miniutes + esimate_seconds

プライベートでは、このはてダを使っていて、それ以外に会社の方でもブログ書いているから、下書きというかネタとなる情報をEvernote上で管理しており、そこから気に入ったものをコピペしてアップしているんだけど

Evernote起動→気になる記事を選択→(スクリプトでゴニョニョ)→記事のアップ完成

みたいなワークフロー出来ないかなーと、このエントリ書いている途中にふと妄想してみた。