anti scroll

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

段落のリアルタイムプレビュー機能を追加しました

編集中の段落をリアルタイムでプレビューする機能を追加しました。 カーソルのある位置の段落だけがプレビューされるので、そこそこ高速です。 「字下げ」の誤変換は、キャプチャをとった後に気づきました。 しかし「それでも重い!」という方は、エディタの…

Firefoxでもversion41以降で縦書き字形が表示されるようになりました

昨日リリースされたFirefoxのversion41から縦書きの字形が出力できるようになりましたので、縦書き文庫とnehan.jsもこれに対応しました。 これまでFirefoxのときだけ、一部の文字を画像で代替表示する処理をしていたのですが、これからはそれらがちゃんとし…

トップページなどから直接しおりを開くことができるようになりました

PCページだけですが、トップページなどのヘッダーバーから、直接しおりを開くことができるようになりました。 スマホで無効化されているのは、単に画面のサイズに収まりにくかったからです… なにか良いレイアウトを思いついたら、スマホからも使えるようにし…

ビューアーにページ送りのシークバーが付きました

ビューアーにシークバーが付きました。 つまんで動かしてページ移動できます。 縦書きの時は右から左に、横書きの時は左から右に動かします。 ただしIEだと、縦書きの時に変な数字がポップアップします。 どういうことかというと、html5のrangeは左がminで右…

ビューアーを更新し、スマホからもPCと同じ機能が使えるようになりました

先日の管理画面に続き、ビューアーも全ての環境で統一し、スマホからもPCと同じ機能が使えるようになりました。 これでスマホからも、しおりを挟んだり、お気に入りに登録したり、コメントを投稿したりすることができます。 その他の新しい機能 まずコメント…

エディターに字下げ、引用、改ページ、セリフ、補足ボタンを追加

エディターに字下げ、引用、台詞、補足、改ページボタンなどを追加しました。 改ページについては説明不要かと思いますので、それ以外について少し補足します。 字下げ、引用の違い 字下げ、引用は選択範囲を選んでから押してみてください。 「字下げ」と「…

いつの間にかFileAPIのreadAsBinaryStringがオワコンになっていた。今後はreadAsArrayBufferで。

タイトルで全てを言い尽くしてしまいましたが、経緯をば。 不具合報告で「IEで画像のアップロードができない」ってのがあったので調査してみたら、readAsBinaryStringでコケてました。 調べてみると、どうもIE系列ではreadAsBinaryStringそのものが存在しな…

RxJSとvirtual-domで、拡張可能なreactiveアプリケーションを作るリアクティブ・アダプター - inga

inga(因果)は、軽量で拡張可能なリアクティブ・アダプターです。RxJSとvirtual-domを使っています。 github.com よくあるTodo-MVCは100行ぐらいです。 inga/todo-mvc.js 特徴 軽量なこと。全ソース合わせても100行ちょっとしかないです。 プラグインで拡張…

管理画面がスマホにも対応しました

管理画面リニューアルのお知らせです。 スマホとPCでUIを統一し、どちらからも同じUIで使用できるようになりました。 エントリーの一覧には、カードUIを使用しています。 PCユーザーからすると、元のテーブルレイアウトのほうが一覧性が高いかもしれませんが…

nehan.jsのセレクターマッチング処理を高速化

nehan.jsのセレクタのマッチング処理を高速化しました。 先日サポートした行末揃えは、有効にすると20%ほど遅くなりましたが、今回の修正によって15%ほど速くできたので、少し戻すことができました。 前々から、機会があったらやっておこうと思っていた処理…

text-align:justify に対応

nehan.jsが、text-align:justifyに対応しました。 縦書き文庫では既に、ビューアーのbodyに対してjustifyが設定されています。 これを設定すると、例えば行末に赤い部分のような微妙なスペースがあっても… 揃えた後はこんな風に、行末が揃います。 あらゆる…

nehan.jsが複数ページに渡る論理的な回りこみ処理(論理フロート)の解除に対応しました。

リポジトリ上のnehan.jsで、論理的な回りこみ処理(論理フロート)の解除を実装しました。 回り込みを解除するスタイル設定ですが、通常のcssでは、 .clear-left{ clear:left } .clear-right{ clear:right } .clear-both{ clear:both } などと書くところです…

縦書き横書きの自動リサイズに対応したページ送りのビューアー「responsivook」

縦書き横書きの自動リサイズに対応したページ送りのビューアーを公開しました。 github.com ブログやホームページに簡単に埋め込むことができます(たぶん)。 デモ デモページを用意しました。 Responsivook demo 上のページで、ウインドウをリサイズしてみ…

Chrome Extensionのmanifest.json内version値を更新するスクリプト

手作業でやるのが面倒になってきたので書きました。 事前にnpm install minimistが必要です。 // update-manifest-version.js var fs = require("fs"); var args = require("minimist")(process.argv.slice(2)); var update_version = function(version, tar…

textNodeの出力オプションを追加

2chからのアクセスに、珍しくリファラが付いてたので、元スレを覗いてみたのですが、縦書き文庫に投稿された作品へのリンクに「踏まないほうがいいよね?」ってレスが付いていて、地味に傷ついたのでした。 capturePageTextオプション それはさておき、表題…

段落の先頭に自動で空白を入れる

サッカーのページを見ていたら、サイドメニューあった「ストレスと友達になる方法」というリンクが「スアレスと友達になる方法」に見えてしまいました。 ストレスともスアレスとも友達になれそうにない自分ですが、せめて段落の先頭に自動で空白を入れるぐら…

スタイル編集機能で、プログラマブルな小説投稿

新たにスタイル編集ページを追加しました。 詳しくは縦書き文庫のヘルプから「スタイル編集」のページを確認して下さい。 注意事項 スタイルはcssではなく、JSON形式で宣言します。 { ".foo":{ margin:{ after:"1em" } }, "span.fuga":{ "font-size":"2em" /…

camel caseでもcssプロパティが設定できるようになりました

nehan.js 5.1.1(まだ開発版ですが)から、cssのプロパティをcamel caseでも指定できるようになりました。 どういうことかというと、ver5.1.0以前では、例えばfont-sizeを設定するとき、 Nehan.setStyle({"font-size":"1.6em"}); // chain-case のようにしか…

クラス名やID名が短く書けるようになりました

これまで縦書き文庫でマークアップするとき、特定の表示を利用する場合、クラス名にnehan-という接頭辞を付けなければならなかったのですが、これが不要になりました。 例えば行末寄せは、これまでは <p class="nehan-ta-end">行末に寄せる</p> だったのですが、今後は <p class="ta-end">行末に寄せる</p> とマ…

各ユーザーの作品を一覧できるアーカイブページを用意しました

ユーザーの作品を手早く一覧できるページを用意しました。 例えば、図書館アカウントのアーカイブページ スマホからでも閲覧できるので、自作の一覧を手っ取り早く紹介するページとして便利かもしれません。 アーカイブページのURLは、以下のとおりです。末…

マークダウン記法をサポートしました

テキストをマークダウン記法で記述できるようになりました。 「その他の項目」の「入力方法」から設定できます。 でも実は「あんまり使われないかもしれないなあ」と思っています。 というのも、マークダウンで改行するには、空行をひとつ開ける必要があるか…

ゼノブレイドをクリア

松方弘樹さんが6時間半の格闘の末に361キロのマグロを釣り上げた今日、自分はゼノブレイドを100時間程度の格闘の末にレベル87でクリアしたのでした。 Newニンテンドー3DS専用 ゼノブレイド 【購入特典】Xenoblade Special Sound Track 付出版社/メーカー: 任…

Rx(Reactive Extensions)とVirtual DOMで作るリアクティブなUI、およびMVARアーキテクチャについて

元ネタはReactive MVC and the Virtual DOMなのですが、MVIという言葉がしっくりこなかったので、自分なりに消化した結果、こういう枠組みになりました、という話しです。 MVARアーキテクチャ概要 まず頭文字の意味についてですが、 M = Model V = View A = …

リアルタイム・プレビューに対応した新しい投稿フォームをリリースしました

久しぶりの機能アップデートですが、リアルタイム・プレビューに対応した新しい投稿フォームをリリースしました。 投稿フォームの上部にある、以下の案内リンクからお試しいただけます。 まだ試験段階で古いブラウザやPCだとどうなるのかわかりませんが、ご…

Matt-Esch/virtual-dom覚え書き

こちらの記事で知ったのですが、Reactで言うところのpropsしかないvirtual dom実装とのこと。 github.com まさに探していたものなので、さっそく試してみたのですが、以下は覚え書きです。 escapeさせたくない中身はattributesにinnerHTMLを設定 inlineなタ…

nehan.jsのデモページをReact/Fluxで作ってみた

必然性は全くなかったのですが、Fluxを試してみたかったので作ってみました。 http://tb.antiscroll.com/static/nehan-demo/ 使ってみた感想 あんまり感触は良くないかも… ただ今はなんとなく全体像を掴んだかもっていう段階なので、もっと複雑なUIを作ると…

2005年にアジア〜中東〜北アフリカ〜ヨーロッパを旅行したロバ中山さんの旅行記がすごい

2005年、つまり今からちょうど10年ぐらい前、アジア〜中東〜アフリカ〜ヨーロッパを旅行したロバ中山さんの旅行記がすごく面白いです。*1 http://www.sakaguti.org/honmon%20page/top%20page/top%20page.htm 今は大変な状況になってしまったシリアやイエメン…

Nehan Readerアップデート。サイトごとに変換対象を設定できるようになりました

Nehan Reader ver0.9.63から、サイトごとに変換対象を設定できるようになりました。 Nehan Readerchrome.google.com 設定の仕方 「涅」のボタンを右クリック→「オプション」と進みます。 「table of selectors to main article」の欄に [siteのURL], [select…

css framework上の全てのセレクタに特定のprefixを付ける

chrome拡張とかでも、普段使っているcssフレームワークが使いたくなることがあります。 しかし大抵のcssフレームワークは、グローバルな名前空間でスタイルを宣言しています。そのまま導入すると、拡張機能のCSSが読み込まれてしまった結果、訪問したサイト…

nehan.js 5.1.0系

まだ安定していないのでリリースまではしてないのですが、自分の中で懸案だった幾つかのトラブルが解消したっぽいので、nehan.jsのバージョンを5.0.5から、5.1.0へと上げました。 tategakibunko/nehan.jsgithub.com ちなみに安定していなくても、縦書き文庫…