anti scroll

ブラウザと小説の新しい関係を模索する

Prepared Statementを少し使いやすくするeps(Extended Prepared Statement)

通常のPrepared Statementを少し使いやすくする処理系 eps を作りました。 epsはExtended Prepared Statementの略です。 tategakibunko/epsgithub.com 簡単に言うと、こんな感じでPrepared Statementを記述したくて作ったものです。 prepare foo(age:int, na…

Kefir.jsを使ってnehan.jsなビューアーをReactiveに作る

Kefir.jsを使ったのは、ドキュメントがわかりやすくて綺麗だったからです。 ビューアーの要件 NEXTクリックでページを進める。 PREVクリックでページを戻す。 $(“#page-count”)に、現在の総ページ数を表示する(非同期で増える)。 $(“#page-no”)に、現在の…

サイズの指定されていない画像タグにサイズを付けるjQueryプラグイン

既にあるのかもしれませんが、だからといってどうやって検索したらいいかわからないものは自分で作るしかない…ということで表題のものを作りました。 tategakibunko/jquery.image-size-assign tategakibunko/jquery.image-size-assign · GitHub 概要 どうい…

Nehan Reader 0.9.20をリリース

どんなページも、縦書きや横書きのページ送りで読めてしまうGoogle Chrome拡張「NehanReader」のversion0.9.20をリリースしました。 Nehan Readerchrome.google.com 実際に青空文庫の作品を表示すると、こんな感じに。 Yahoo News!とかだと、こんな感じに。 …

「貼るだけ」のアクセス解析?

今回アクセス解析を実装するにあたって疑問に思ったのですが、よくある「貼るだけでOK」なアクセス解析って、サイト所有者の確認ステップがないっぽいのがありますが、これって大丈夫なんでしょうか。 例えば誰かが勝手に他人のサイトを先に登録したら、後か…

「Novelytics」の紹介 〜なぜ小説専用のアクセス解析が必要なのか〜

小説専用のアクセス解析 Novelyticsという小説専用のアクセス解析サービスを作りました。 なぜこんなものを作ったのかについて書きます。 アクセスをベースにしたログの限界 アクセス数というのは、言い方を変えれば単なるクリック数です。 当たり前ですが、…

ドラッグ・アンド・ドロップで、テキストを縦書きページ送りで表示するサイト「Nehan Text Reader」

HTMLファイルやテキストファイルをドラッグ・アンド・ドロップすると、縦書きページ送りで表示してくれるサイト「Nehan Text Reader」を公開しました。 tb.antiscroll.com 画面上(どこでもいい)にテキストファイルをドラッグ・アンド・ドロップすると、ビ…

単純なマッチで複数回replaceするのと、文字クラスを使って一回replaceするのでは、どちらが速いか

qiitaでこんな記事がありました。 innerText(textContent)/innerHTMLを使わずJavaScriptでHTMLエスケープ - Qiita で、思い出したのですが「文字クラスでreplaceを一度で済ますより、単純なマッチを直列で繰り返したほうが速い」って話しをどこかで聞いた覚…

GADTというものを知った

最近OCamlをようやくversion4系列にアップデートしたのですが。 その際にGADTとかいう言葉が気になったので調べていたら、ちょうどわかりやすいエントリーが。 Detecting use-cases for GADTs in OCaml 上のエントリによると、どうやらGADTというのは「代数…

nanocのほうがjekyllより良いかも

nanocとは nanocはRuby製の静的サイトジェネレーターです。 静的サイトジェネレーターとは、固定的な内容のウェブサイトを作るのに使われるサイトジェネレーターです。 ホームページ制作ツールのような複雑なIDEではなく、コマンドラインとエディタでサクっ…

段落ごとにコメントできる縦書き文章の作成サービスを公開しました

Brushup! について 段落ごとにコメントできる縦書き文章の作成サービスBrushup!を作りました。 パスワードを付けることもできるので、特定の人にだけ見せる使い方も可能です。 主に編集や校正の依頼に使えるツールを想定しています。 段落へのコメントを試し…

datasetにセットしたboolean値について

ちょっとハマったのでメモ。 例えば、 <div id="foo" data-hoge="true"></div> とかあったとき、以下の結果はどちらもfalse $("#foo").data("hoge") == "true" // false $("#foo").data("hoge") === "true" // false 理由はdatasetにセットした"true" もしくは "false"は、boolean型として評価され…

脚本を台詞記法で書く

ちょっとした小ネタですが、縦書き文庫の台詞記法はキャラクタ登録なしでも使えます。 キャラクタ名の部分に、人物の名前をそのまま書けば、キャラクタ画像じゃなくて文字列で表示されます。 なので、ちょっとした脚本は次のような感じで書けます。 [speak …

チップ記法

わざわざtipタグを書くのが煩わしいので、チップ用の記法を用意しました。 チップについては 縦書き文庫 | チップ記法 を参照のこと 文法 次のように記述します。 [tip タイトル:内容] 注意 tipとタイトルの間には一つ以上の半角スペースが必要です。 タイト…

台詞記法で吹き出しの有無を切り替えられるようになりました

台詞記法で、吹き出しの有無を選べるようになりました。 声に出す台詞はspeakを使います。 [speak taro これは声に出して言う台詞!] 心のなかの台詞はthinkを使います。 [think taro これは心のなかの台詞…] 実際に表示させるとこんな風になります。 詳細は…

利用者の「規約を読みました、同意します」はウェブ最大の嘘?

おもしろそうなサービスを見つけました。 Terms of Service; Didn't Read 「みんな読んだとか言って嘘ついてるけど、あなたが同意した規約の中身って、実際はこんな風になってるんだよ」みたいなことが確認できるサービス。 各サービスの各規約ごとに、thumb…

box-sizing:margin-box

margin-boxとは margin-boxとは、ボックスのサイズをmarginも含めて計算するボックスのことです。 つまりmarginが50pxで、widthが200pxなら、コンテントサイズは 200(width) - 50(margin-left) - 50(margin-right) = 100 になります。 ちなみにこのmargin-bo…

デザイナーにとっては Safari > Chrome?

Safari V.S. Chrome - via Designer News デザイナー的にはSafari > Chromeみたいな議論になってて興味深かったです。 理由は画像編集ソフトが出力する「カラープロファイル」とやらを、数あるブラウザの中でSafariだけが正しく反映してくれるから、なんだと…

テキストファイルで入稿できるようになりました

使い方は、本文の入力フィールドに、テキストをドラッグ&ドロップするだけです。 ドラッグ&ドロップすると、テキストのエンコーディングを確認するダイアログが開きます。 元ファイルのエンコーディングを選択してOKを押すと、ドロップしたテキストの内容…

シリーズ単位で作品をまとめることが出来るようになりました

シリーズ単位で複数の作品をまとめることが出来るようになりました。 縦書き文庫ヘルプ:シリーズを作成する 作品一覧だけでなく、表紙や登場人物なども一緒に表示されるので、シリーズ作品のエントリーページとして最適です。 これに伴い、プロフィールペー…

サムネールが画面に収まらない場合について

埋め込みサムネールを使う人が、モバイルとの兼用をどうするのかっていうのが課題だったわけですが。 今まではサイズの部分にレスポンシブな感じでパーセントを指定することをおすすめしてきたわけですが、よくよく考えたらもっと簡単な解決策がありました。…

backbone.touch.jsでモバイルデバイスの「クリック」を高速にする

クリックが遅い? おそらく世間的には常識的な内容なんでしょうが、モバイル用フロントエンドの初学者には新鮮なことだったので書き残しておきます。 実はモバイル用のビューアーを書いていて、前から「なんかクリックが遅い?」と気になっていたのです。 ず…

モバイル用のビューアーで表示設定の変更ができるように

モバイル用のビューアーが、表示設定の変更に対応しました。 新しいビューアーはこういう見た目になっていますが、 左上のアイコンをクリックすると、表示設定の画面になります。 縦書き、横書きの切り替え、フォントサイズの変更、明朝ゴシックの切り替えな…

Google Analyticsの埋め込みに対応

Google Analyticsの埋め込みに対応しました。 アカウント管理の「プロフィール編集」から設定できます。 入力欄には、GoogleAnalyticsのプロパティID(UA-123456-89 みたいなやつのことです)を設定します。 設定すると、各小説ページヘのアクセス(自分自身…

チップリンクが作成できるように

tipというタグを使ってチップリンクが作成できるようになりました。 こんな感じで書くと… 新しい<tip title="パソコン">パーソナルコンピューターの略</tip>が欲しい。 新しい<tip title="テレビ" text-only="true">テレビジョンの略?なのか?</tip>も欲しい。 <tip title="スマホ" icon="exclamation-triangle">スマートフォンの略</tip>も欲しい。 こんなふうに表示されます。 本文にはタ…

月別のポイント統計が確認できるように

ページ送りログに加えて、月別のポイント統計が確認できるようになりました。 各月の上位30の作品別ポイント集計を出力します。 ちなみに青空文庫アカウントで今月のポイント統計を見たら、こんな感じでした。

jingoo v1.2.5 release

jingooのv1.2.5をリリースしました。 ひょんなことからjingoov1.2.4にバグ(割りとでかい)を見つけてしまい…緊急でリリースしました。 旧バージョンを使用中の方は、アップデートすることをおすすめします。 バグの詳細 具体的なバグは何かというと、オブジ…

キャラクター登録と台詞記法をサポートしました

機能縦書き文庫に「キャラクター」が登録できるようになりました。 そして登録したキャラクターを使った台詞を記述する記法として「台詞記法」を追加しました。 キャラクター登録 キャラクタを登録すると、それぞれのキャラクタにプロフィールページが作られ…

表示幅を広げるボタンを追加

ビューアーに表示幅を広げるボタンを追加しました。 これまで表示領域は高さと文字サイズでしか変更できなかったのですが「ワイド」というボタンを押すと、表示幅が横いっぱいになります。 元に戻す時は「ノーマル」を押します。

スマホ用のページを作りました

全ページではありませんが、ビューアー以外のページも、スマホに対応したページを用意しました。 おなじみのハンバーガーボタンが左上にあるタイプです。 押すとこんな感じのメニューが出てきます。 最近googleが公開したweb starter kitっていうのがあって…