anti scroll

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

TypeNovelにおいて、注釈しなくても良い制約を明示的に宣言できるようになりました

どういうものか 次のように、制約の値を"?"で始まる値にすると、その制約は本文中で注釈されなくてもエラーになりません。 @scene({ time:"?" // 注釈する必要のないtime制約 }){ 本文中でtimeの注釈をしなくてもエラーにならない! } どうして必要なのか 注…

TypeNovelで出力したhtmlを縦書き文庫のビューアーで開く方法

最初に Windows用とLinux用のexeのzipができましたので、ご利用下さい。 Windows用のzip Linux用のzip Mac用のインストーラー(pkgファイル) まずは適当な文章を書く 適当にこんな感じの文章を書いたとします。 @scene({season:"summer"}){ @scene({time:"mor…

Paket(.NETのパッケージマネージャー)とFAKE(F#のMake)について

調べてみたのですが、日本語の文献がほとんどなかったので、ここに記しておきます。 間違いなどありましたら、指摘していただけますと幸いです。 予備知識 PaketとFAKEの説明の前に、dotnetの予備知識などを少々。 管理単位「ソリューション」と「プロジェク…

プロとアマの小説の特徴を数値化して比較してみたらやっぱり差があったので、それを埋めるための型付き小説記述用言語 TypeNovel を公開した件について

ラノベのタイトルみたいな記事を書く、という夢が叶いました。 github.com 開発に至った動機 以前から、アマチュアの小説はプロに比べると、描写不足な傾向があるのかもしれない、と思っていました。 特に不足がちだと感じるのは「時間」に関する描写です。 …

投稿画面からプレビューできるボタンを復活させました

やはりプレビューが使えないと色々と不便なので、プレビューボタンを復活させました。 投稿ボタンの下に「プレビュー」ってボタンがありますので、使ってみてください。 プレビューボタン プレビューを押すと、 プレビュー結果 こんな感じで、簡易ビューアー…

縦書き文庫をリニューアルしました

縦書き文庫をリニューアルしました。 新しくなったところ 小説投稿画面の機能がスマホでも全て使えるように これまではスマホの投稿画面ではルビや太字ぐらいしか選べなかったのですが、すべてのボタンがPCの投稿画面と同様に使えるようになりました。 PCだ…

Angular + Ngrx所感

先月から試験的にAngular+Ngrxを使って縦書き文庫を作り直してみる、ということをしていたんですけど、パソコンが壊れバックアップも取ってなかったので、全て消え去りました(この記事はChromebookで書いてます)。 真面目にやると一年ぐらいかかる作業なの…

AngularのExpressionChangedAfterItHasBeenCheckedErrorに関する覚え書き

ネットでExpressionChangedAfterItHasBeenCheckedErrorを検索すると、よく「子が親の状態を変更するとビューに一貫性がなくなることが警告される」という説明を目にしますが、少し混乱を招きかねない説明なんじゃないかなあと思いました。 正確には「Angular…

Typescriptのアレコレ覚え書き

書いておかないと忘れちゃいそうなので、残しておきます(たまに追記するかも)。 戻り値がbooleanであると同時に、引数が特定の型であることをコンパイラに教えることができる これが便利なのは、こういう感じのコードにおいてです。 class Foo { say(){ co…

opam2のインストールについて

2018年9月にようやく正式リリースされた opam2。 公式が提供するスクリプトでインストールできれば問題ないのですが、それだとうまくいかない環境もあり、色々とインストールが面倒だったのでメモしておきます。 ちなみに以下の内容は次のスクリプトで成功す…

nehan version6 を公開しました

nehan version6 を公開しました。 github.com version6はnehan.jsではなく、nehanという名前で開発することになりました。 それに伴い、リポジトリのURLなども変わっているので、ご注意ください。 変わったところ Typescriptで書きました(かなり開発しやす…

対象年齢を設定できるようになりました

投稿画面に「対象年齢」という設定欄を新設しました。 ジャンルとしてはホラーだけど、内容はR18みたいなこともあるからです。 ちなみにジャンルが「官能・BL小説」の場合は、自動で「成人向け」という設定で投稿されます。

トップページにて過去のお気に入り履歴に基づいた「お勧め作品」が表示されるようになりました

トップページにて、過去のお気に入り履歴に基づいた「お勧め作品」が表示されるようになりました(ログイン時)。 新しい作品にも出会いやすくなるのではないでしょうか。 これを機に、お気に入り機能を積極的に使うきっかけになってくれたらなあ、と思いま…

switchが買えないらしいので、どのぐらい買えないのか試してみました

マリオ発売の直前に変えたら凄い、と思ってチャレンジしてみました。 まずは値動きをチェックする巡回プログラムを書きます。 #!/usr/bin/python3 # -*- coding: utf-8 -*- from pyquery import PyQuery as pq import os def notify(subject, message, email…

管理ページから埋め込みコードが取得できるようになりました

管理ページから埋め込みコードが取得できるようになりました。 以下の「埋め込みコード」というリンクから取得できます。 クリックするとコードが表示されますので、コピペして使ってください。

クロスドメインで子フレームから親ドキュメントのwidth:100%を取得する方法

ひょんなことからviewportのdevice-widthがbodyタグから適用される事を知りました。 別の言い方をすれば「bodyより上位のタグには適用されない」ということみたいです。 例えば次のようなページ(parent.html)をiPhone5(device-width = 320px)で開き、ifr…

縦書き文庫のビューアーの外部サイトへの埋め込み機能を再開しました

問い合わせが多かったからなのですが… どうせ新しく作り直すなら!ということで、埋め込みビューアーから表示設定の変更などもできるようにしました。 あとレスポンシブ対応なので、ブラウザのサイズを変えても、それに追従してビューアーのサイズが変わりま…

縦書き文庫のビューアーがテキストファイルのドラッグ&ドロップに対応しました

縦書き文庫のビューアーでドラッグ&ドロップしたテキストファイルが読めるようになりました。 適当な作品を開いて、小説本文の領域にテキストファイルをドロップすると、原稿フォーマットや文字コードを聞かれるので、適切なものを選択してください。 「決…

Responsivook ver1.2.2をリリース

Responsivook ver1.2.2をリリースしました。 Responsivookはnehan.jsを使って、縦書き横書きのページ送り、段組み、レスポンシブレイアウトなどを実現するjavascriptライブラリです。 動作デモ 主な変更点 Windowsの場合に縦書きのベースラインがずれてしま…

nehan.jsのfunctional styleでタグの内容に動的な制限をつける

縦書き文庫では比較的自由にHTMLタグを使用できるのですが、たまにエディターの文字サイズ変更ボタンをテキスト全体に反映させてしまう人がいます。 例えばこういう感じです。 <span class='larger'> (作品全体のテキスト) </span> これの何が困るのかというと、ユーザーが「表示設定」…

縦書き文庫の組版スピードを計測するページを公開しました

縦書き文庫の組版スピードを計測するページを公開しました。 縦書き文庫 - 組版スピードテスト ハイスコアも計測されますので、ご自身のブラウザのスピードを試してみたい方は使ってみてください。 ちなみに以下は自分の環境で計測した結果で、Safariが圧倒…

青空文庫の色々な作品をシリーズにまとめました(Part1)

縦書き文庫の青空文庫作品は、作者別には検索できますが、シリーズごとには揃っていない状態でした。 そこで完結済みのものをいくつか選んでまとめてみました。 夜明け前(島崎藤村) ジャン・クリストフ(ロマン・ローラン) レ・ミゼラブル(ビクトル・ユ…

Nehan Readerをスマホにも対応させました

NehanReaderをスマホにも対応させました。 chrome.google.com しかし! 残念ながら(2017年2月現在)、AndroidもiOSも共にChrome拡張はサポートされていないとのこと(リリース後に知りました…)。 スマホ版のChromeが拡張機能に対応していない理由は、おそ…

ランキング区分に「図書館」を追加

ランキングページの区分に「図書館」という項目を新設しました。 「図書館」=「青空文庫」 + 「翻訳作品」 です。 著作権に問題のない公的な作品のランキングをまとめて確認できます。

Time-based renderer task throttling

Chrome ver56から導入されるようですが、ざっと読んだ感じだと、こういう動作らしいです。 バックグラウンドタブの処理に時間枠を設ける。 バックグラウンドタブの処理時間が時間枠を超えると、値が負になって(いったん)眠る。 ただし眠りっぱなしというわ…

Nehan Reader更新。Windows環境にて行がガタついていた問題が修正されました

あらゆるウェブサイトを縦書き(や横書き)のページ送りにできるChrome拡張「Nehan Reader」を更新しました。 Nehan Reader - Chrome ウェブストア 前々から「Windows環境下にて行のガタ付きが発生している」との報告は上がっていたのですが、ようやく修正で…

Windows版のChromeでフォントが見づらくなっている件について

この辺の議論を見る限りでは、Windows版のChromeはversion52からDirectWriteを採用したらしく、その影響でフォントがギザギザに表示されてしまっているようです。 本来はDirectWriteで綺麗になるはずなのですが、まだ色々と調整中なのかもしれませんね。 ち…

常時SSL化とHTTP/2に対応しました

なかなか大変でしたが、常時SSL化とHTTP/2の対応が完了しました。 以下はHTTP/2 Testの結果 ちなみに、HTTP/2 and SPDY indicator - Chrome Web Storeを入れた上でアクセスすると、青いイナズマがピカっと光って気持ちがいいです(笑)。

縦書き文庫でゲームブックを作る方法

ちょいネタですが、縦書き文庫ではアンカーリンクによる内部ジャンプが使えるので、ゲームブックのような仕組みを簡単に実現できます(動くサンプル)。 やり方はシンプルです。 テキストをチャプターに分けて、それぞれのチャプターに「チャプター番号」の…

サーバーメンテナンスの告知

本日の17:00〜19:00ぐらいまで、サーバーのメンテナンスを行います。 ご不便をおかけしますが、よろしくお願い致します。