WriteFreelyをノベルサイトとして利用する

縦書きスタイルを作ってみよう

――そうだ、WriteFreelyのノベルスタイルに縦書きCSSを実装しよう。

 僕がふと思いついたのは今朝のことだった。  寝起きの一服を吸い終わり朝食を摂りながらパソコンを眺めている時にふと思いついたことがある。

 昨日、小説家になろうのページを縦書きにしてみたら面白いんじゃないかと思って調べていたのだ。どうやらさほど難しくはなさそうだ。ChromeにStylishという拡張機能を追加すればいいらしい。このStylishとは、カスタムJavascriptを動かすためのGrasemonkeyやTampermonkeyのCSS版のようなものだ。ユーザーが作成したスタイルを公開できるようにもなっているらしい。

 小説家になろうの利用者は比較的多いはずだから、誰かが間違いなく僕の欲しいスタイルを公開しているだろう。そう思って検索してみると、案の定あった。  早速スタイルを導入してアクセスしてみる。文字サイズが少し大きいが、概ね予想したとおりのスタイルとなった。

 文章を横書きにするCSSは、DOM構造やクラス指定がはっきりしていればそれほど難しくはなかったはずだ。コードを調べるためにキーボードのF12キーを押してブラウザの開発者画面を出す。要素選択機能の項目をクリックして有効にする。ページ中の縦書きになっている文章にカーソルを合わせてクリックをすると、開発者画面にクリックした対象のタグが表示される。そこからDOM構造を追っていくのだ。

 こうやってカスタムスタイルの仕組みを解析している途中で、冒頭のことを思いつく。

何かダミーテキストを作ってみよう

 WriteFreelyはとても優秀な長文投稿サービスだと思っている。ブログだけでなく、ノベルや備忘録を投稿することを想定して作られているのだ。カスタムCSSをブログ単位で設定することができる。一つのアカウントで複数のブログやノベルを立ち上げることができる。投稿した記事はタイトルをActivityPubのプロトコルに乗せて全世界のユーザーに配信することもできる。  僕が最低限必要だと思っている機能が全て揃っていて、なおかつ軽量なのだ。ちょっとシンプルすぎるところはあるが、大事なのは他人に見せる文章だ。見栄えは後でどうにかすればいい。

 早速WriteFreelyにアクセスする。以前鯖缶工場infoとして立ち上げたものだ。ノベルページとして新たにブログを作成する。⋯⋯記事を書き始めるところで手を止めた。記事の内容はどうしようか。

 目的はカスタムCSSを利用して縦書きノベルページを作ることなので、内容は何でもいい。青空文庫から坊っちゃんの序文なんかを抜粋してくればいいだけだ。しかし僕はそういうしょうもないことにこだわってしまうことが多い。いつも書いているコードは適当なのに。

 とりあえず、日記代わりに今回のいきさつをノベル風の書き方にして書いてみることにした。これで少しは雰囲気が感じられるだろう。何か創作してみるのもいいかもしれない。何事も練習だ。

適当創作:転生したらマストドンの世界だった件

 平凡な人生を歩んできた、エンジニアになったぐすくまという名の一人のアラサー男性がいました。

「しまった! 街を歩いていたら通り魔に襲われた上に車道に突き飛ばされて大型トラックにはねられて死んでしまった!」

 彼は頭を悩ませました。彼にはまだ見ぬ未来の奥さんや、生まれる予定のない愛しい我が子の存在があったのです。

「しかし、死んだはずなのにどこかに転生してしまったぞ⋯⋯いや、転生って言っておきながら生まれ変わるんじゃなくて元の姿のままだと知られたら叩かれるな。⋯⋯どうやら僕はどこかに召喚されてしまったらしい」

 いつもどおり一人でブツブツとつぶやいていると、目の前にテンプレに沿ったような女神様が現れました。

「あなたは通り魔に襲われた上に大型トラックにはねられて死んでしまいました。お悔やみを申し上げます」

「えっ、あっあっ、はい」

 女神様は優しく微笑みます。その汚れのない美しい容姿を見て、男はついうっかり目をそらしてしまいました。

「若くしてお亡くなりになられたことを哀れに思い、特別にもう一度だけ異世界で新たな人生を送る許可を出しましょう」

「あっ、はい、ありがとうございます」

 テンプレ通りの流れだ! と思いつつ、本当なら「ここはどこですか」とか「あなたは誰ですか」と確認するべきところだったのですが、あっさりとお礼してしまいました。なんと彼はコミュ障だったのです。

「あなたは生前インターネット上でSNSを運用し、様々なユーザーとコミュニケーションを取っていたようですね。貴方が新しい世界に馴染みやすくなるように、そのSNSをベースとした世界へ招待して差し上げましょう」

「えっSNSって⋯⋯マストドンのことですか?」

「そうです。その世界でどのように生活するかはあなた次第です。それでは、良い人生を」

 本当に最低限のことだけ伝えると、女神様はとてもまぶしく発光し始めました。男は「自爆するのかな?」とぼんやりと考えながら目を閉じました。

――――

 目を開けるとそこは建物の中、城のような神殿のような、石造りの大広間でした。部屋の手前には大きな観音開きの扉があり、そこから一直線に伸びた絨毯の先には豪華で偉そうな椅子がドンと置いてあります。王様の謁見の間というような感じです。

 男の目の前にはふわふわのぬいぐるみがいました。大きな耳が頭についていて、変わった形の兜を被っています。

「んなぁー。オイラはナナチ」

「知ってる。もふもふかわいい」

「んなぁー! やめろよぉ~!」

 挨拶代わりに、男はとりあえずナナチをもふりました。

「⋯⋯とにかく、オイラが案内人みたいだからこの世界のことについていろいろ教えるぜ」

 ナナチが解説をはじめました。ワンポイントナナチです。

 この世界、アクティ・パブは元の世界のActivityPub上のネットワークがベースとなった国々が存在するらしいです。鯖缶が国王で、モデレーターが貴族、一般ユーザーが国民という扱いとなっているそうです。国民はそれぞれの国に「アカウント」と呼ばれる国籍を持っており、アカウント登録をすることでその国の居住権を得ることが出来ます。

「お前も鯖缶だったから地位は国王だ。国の正式名称はアビス・ファンだが、国民からはアビス・ドーンと呼ばれて親しまれているぜ」

「まんまマストドンだなぁ⋯⋯ちなみに、改造した部分もなにか他の国と違いがあったりするのかな」

「そうだな。ハッシュタグってあっただろ? あれはこちらでは異次元空間のことをそう呼ぶんだ。国民はタグを付けることで他の空間へ行くことができる。この国はデフォルトハッシュタグが存在するから、最初から異次元空間に国があるようなもんだ」

「なるほど。良く出来てるのか知らんけど面白い世界だなぁ」

 他の機能もこの世界には存在するのかもしれない。それに、アクティ・パブ全体を見渡せば、MisskeyやPleromaやHubzillaをベースとした国も存在するのだろう。男はそう考えつつ、軽く頷きました。

「とりあえずここがSNSの世界だって言うことはわかった。それじゃあ続きはこの国を案内しながら説明してくれないかな。ここにいても実際に見て覚えられることは殆ど無いしね」

 男がそう言うと、ナナチは耳を垂らして俯きました。

「残念ながら⋯⋯そんなことをしている時間はもうないんだ⋯⋯」

「えっ、それって、早速なにかイベントが起こるとかそういう⋯⋯」

 男が少し戸惑いがちに尋ねると、ナナチは横に首を振りました。

「違うんだ、そういうことじゃねぇ⋯⋯体験版はここまでってことなんだ」

一瞬の間を開けて、男は納得の表情をしました。

「あぁね。体験版ならしょうがないね。適当創作なんだからこれ以上書きたくないしね。しょうがないね」

「んなぁ。そういうことだ」

 すべてを理解した男は、踵を返して走り出しました。外へ飛び出すと足元に転がっていた小石を拾い集め、地面に文字を作り始めました。

『俺たちの戦いはまだまだこれからだ!』

  ぐすくま先生の次回作にご期待下さい!