anti scroll

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

TypeNovel

TypeNovelのVSCode拡張を公開しました

VSCodeのマーケットプレースにvscode-typenovelというTypeNovel用のVisual Studio Code拡張を公開しました。 marketplace.visualstudio.com インストール後は、*.tnファイルを編集するときに有効になります。 実際に動かすと、こんな感じです。 主な機能 ブ…

アプリケーションにTypeNovelのコンパイラを組み込む

この記事は、TypeNovelのコンパイラをアプリケーションから利用したい開発者向けのものです。 導入 npm install --save typenovel コンパイラの呼び出し ソーステキストからコンパイルするときは、Tnc.fromStringです。 import { Tnc } from 'typenovel'; co…

TypeNovelをTypeScriptで書き直しました

TypeNovelは、制約と注釈の組み合わせによって、型付きの小説を記述するための言語です。 参考:プロとアマの小説の特徴を数値化して比較してみたらやっぱり差があったので、それを埋めるための型付き小説記述用言語 TypeNovel を公開した件について これま…

TypeNovelで電子書籍を公開する方法

TypeNovelで記述した原稿を公開する時、そのファイルをそのままTypeNovelReaderで開いても、それなりには表示されます。 しかし、どうせなら作品タイトルや、作者の情報や、作中キャラクターの情報などが表示されるように公開したいものです。 ここではそう…

「読者に読解力と記憶力を求めない小説」は可能か? TypeNovel用の電子書籍リーダー「TypeNovelReader」を公開しました

TypeNovel用のリーダーアプリ「TypeNovelReader」を公開しました。 github.com TypeNovelで記載した「時間」とか「人物」などといった情報も、表示に反映されます。 ちなみにTypeNovelコンパイラも一緒に入っているので、別途ダウンロードする必要はありませ…

TypeNovelでルビをふる

ルビタグをそのまま記述しても良いのですが、こういう感じの設定をtnconfig.jsonに加えると(気持ち?)楽になります。 { "markupMap":{ "$ruby":{ "validate": false, "content": "<arg1><rt><arg2></rt>" } } } 本文中はこんな感じでマークアップします。 $ruby("漢字", "かんじ</arg1>…

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

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

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

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

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

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