まだぼっち・ざ・ろっく!のことを考えている

けいおん!からは14年、今年で15年になる。けいおん!のOPを初めて聴いたときの衝撃は今でも覚えているし、今聴いても色あせない良さがあると思う。

先日、「結束バンドは邦ロックとメタルの和解を果たしている」という趣旨の記事を読んだ。なるほどとは思う。確かに放課後ティータイムの頃から考えると邦楽を取り巻く状況は大きく変わったなと思う。思うんだけど「邦ロックとメタルの和解」? そんなの、邦ロックもメタルも両方聴いてきた人間は、邦ロックとメタルの冷戦とか思ってなかったですよ(母数1)。

9mm の『Termination』が出たのが2007年なんですよね。今から15、16年前。けいおん!! と同時期。結束バンドは2000年代邦ロックの延長線上にあって、まず結束バンドメンバーの名前の由来になったアジカンがよく引き合いに出されるんですけど、「青春コンプレックス」や「ギターと孤独と蒼い惑星」「あのバンド」からは強く残響系の影響を感じてやまない。というか編曲の三井律朗氏が THE YOUTH ではバッキングにとどまらないギターを、それこそギターソロもかき鳴らしてきたわけで、ギターソロ不要論なんか本当にあったんだろうか。

特に結論とかはないです。


追記。ゴッチがぼっちちゃんを語る回 を聴いて超腹落ちした。そうだよナンバーガールだよ、というかナンバーガールにせよチャットモンチーにせよ THE BACK HORN にせよ、だよな、というのもあるし、なんにせよなんだよな。その延長線上にKANA-BOONがいてtricotがいてthe peggiesがいてカヨコがいてっていう話でもあると思うので、唐突に結束バンドが受け入れられて邦ロックとメタルが和解したとかそういう一言で表せられるものでもない。

もちろん、結束バンドはたしかに大きなマイルストーンだとは思う。ゴッチもロックを不良から解放したみたいなことを言ってる。けどそれはいまはじめて果たされたのではなく、積み上げられたものによって証明が果たされたという類のものだろうと思ってる。

TVA「ぼっち・ざ・ろっく!」が終わってしまった

これまでにぼくが聴いてきた音楽の、その作り手が今ぼくの好きなコンテンツにかかわっているということについてちょっとまとめておきたい。


山本美禰子

ロックバンド「ジギタリス」のボーカルで、ジギタリスとしてはもう活動していないが、2010年代にはゲームの主題歌、特にアトリエシリーズで歌手として、作詞・作曲家としてかかわってきた。
ロロナのアトリエが出たのが2009年で、ジギタリスの3rd『Ars Magna』が2010年なので、このあたりが転換期だったのかなと思う。
山本美禰子名義の曲で好きなのはリディー&スールのアトリエの『マスターピース!』。なのだが、これは不思議三部作を通してプレイした上での体験というのもあるので、単体でも好きだがやはり不思議三部作をプレイしてほしいと思う。

ジギタリスの曲は、なんというかジギタリスにしか作れない曲だと思う。代替可能なバンドは過去にも現在にもなく、これからも出てこないだろう。Nomadic Records 時代のアルバムはサブスクリプションでの配信もないし、今は視聴が困難になってしまっている。

www.youtube.com

1stアルバム『奇妙な肖像』収録の『届かないドア』。

www.youtube.com

2ndアルバム『Syzygia』収録の『ヘキサグラム』。

山本美禰子の表情豊かな歌声がこのバンドの最大の個性だが、リードギターがボーカルと組み合わさって重層的な音を作っている。

3rdアルバム『Ars Magna』は Spotify で全曲聴くことができる。Spotify ご利用の方は聴いてみてほしい。

open.spotify.com

1st、2nd からも更に一歩飛躍したジギタリスの世界が聴ける。これが最後のアルバムであることが本当に惜しい。

江口亮

この名前を見ただけでピンと来る人は相当アニメソングに詳しい。詳しいというか、アニメソングの編曲家までよく見ている人じゃないと覚えてないんじゃないかと思う。「いきものがかり」のサウンドプロデュースをはじめ、さまざまなアーティストの楽曲の編曲を手掛けており、近年では「LiSA」の『一斉ノ喝采』が氏の編曲による。アニメやゲームだと「東のエデン」のエンディングテーマ『futuristic imagination』、「Fate/Grand Order」の『色彩』、「Selector Spread WIXOSS」の『world's end, girl's rondo』など、など。

futuristic imagination』といえば「School Food Punishment」である。江口亮氏は SFP のサウンドプロデューサーで、作・編曲を共同で担当した。

SFP の楽曲はいくらでも並べられるが、せっかくなので氏のバンド「Stereo Fabrication of Youth」の曲にしよう。

www.youtube.com

ミニアルバム『Lifedoor』収録の『シリウス』。このライブは2013年のものなので、メンバーは江口亮氏以外はオリジナルではない。「リツオ!」と呼ばれてギターを弾いているのが後述する三井律郎氏である。なんか最近急に有名になった。

2005年の楽曲だが、今聴いてもなかなかいいんじゃないかと思う。一方で、このバンドがメジャーになれなかった理由もわかるというか、もう一つ突き抜けたものがほしかったというところはあるかもしれない。それでもこの時点でも音作りには氏のセンスの片鱗が感じられる。

現在は SFP のボーカル内村友美氏とロックバンド「la la larks」で活動中で、前述の三井律郎氏もギターを担当している。

la la larks のアニメタイアップ曲を三曲ダイジェストで聴ける動画が公式から配信されているのでこちらを紹介。

www.youtube.com

編曲に江口亮氏がかかわっているしストリングスアレンジも SFP でストリングスアレンジに携わった石塚徹氏なので、SFP の活動後期の作品とは作風が似ているところがあるが、『色彩』とか『ハレルヤ』はわりと新境地の曲だなと思っている。「la la larks」は寡作のバンドでアルバム1枚だけだし、もっとたくさん聴きたいと思うのだが、活動方針としてそんなに急がずにやっていこうということらしいので、気長に今後の活動を楽しみにしようと思う。

三井律郎

とりあえず気持ちいいギターを聴いてほしいので「LOST IN TIME」の『30』を。

www.youtube.com

LOST IN TIME、ボーカルの伸びやかで朗らかな声がとてもよいし、そこにリードギターの奏でるメロディがきらめいてすばらしい。三井律郎氏はサポートギターを経て2013年に加入。

三井律郎氏がギター上手郎氏であることはわかったと思うので、

www.youtube.com

更にギターを聴いてもらう。ギターの音がよすぎる。

このブログでも以前書いた が三井律郎氏というのはテレビアニメ「ぼっち・ざ・ろっく!」の主題歌をはじめとしたほとんどの楽曲の編曲、及びギターの演奏を担当したギタリストである。ほとんど、というのは『ギターと孤独と蒼い惑星』、『ラブソングが歌えない』と「Sick Hack」の『ワタシダケユウレイ』は氏の編曲ではなく、元「ハートバザール」の akkin 氏が手掛けている。それ以外は三井律郎氏による。

ギタリストとしてすごいことは言うまでもないが、編曲も、原作があってストーリーがあっての中で、その要請にきっちりこたえる音作りをしている。プロの仕事を感じる。既にこのあたりのことは以前書いているが、12話のボトルネック奏法のためにそれで成立するようなアレンジに仕上げたというのが本当にすごい。

その『星座になれたら』には弾いてみた動画もある。

www.youtube.com

自分で弦を切って頭を抱える異常行動で笑ってしまった。

ギターヒーローへの道」でアレンジのアイデアがポンポン出てくるところも見応えがある。

www.youtube.com

実際にこれだけ引き出しがあるギタリストだからこそということなんだろうと思うし、やはりそれは、様々なバンドでギターを弾き、サポートギターとして数々のアーティストを支えてきた経験の積み重ねがあるからなんだろう。 The Youth も LOST IN TIMEステファブも la la larks もぜんぜん違うバンドだし。

青山吉能さんのギターの上達ぶりもびっくりするので興味ある人は初回から通してみてほしい。マジですごいので。

ちなみにステファブの現在のドラムは School Food Punishment でドラムを務めた比田井修氏で、最近は緑黄色社会のサポートドラムとして活躍中。「ぼっち・ざ・ろっく!」でもドラムの演奏を担当しており、8話の『ギターと孤独と蒼い惑星』のもたついたドラムは氏の演奏による。もたついたドラムの再現うますぎひん……?というのと、紅白に出るようなバンドのサポートドラムにこんなことさせるの贅沢~というのがある。ていうか虹夏のドラムをこんなイケオジが叩いてるの渋すぎるでしょ……。

ところでぼざろに登場する未確認ライオットというフェスは未確認フェスと閃光ライオットが元ネタと思われるが、閃光ライオット2013の準グランプリが「緑黄色社会」で、ぼざろのアニメでも「緑黄色野菜」という逆にストレートな名前になっちゃったバンド名が登場している。


というわけで、2010年前後に聴いていた音楽とそれを手掛けたアーティストがその後の自分が好きになったものにかかわっていることを知ったらびっくりしてしまうということをあらためて振り返ってみた。LOST IN TIME とかステファブとか当時は聴いてなかったし、今後聴いていきたいねという感じ。

今回はここまで。

ガールズフランティッククラン、プレイ

『ガールズフランティッククラン』買いました。今日発売。

https://dlsoft.dmm.co.jp/detail/eg_0085/

どんなゲームかというと、RPG戦闘があるアドベンチャーゲームで、レベル上げたりドロップ素材で装備を整えたりしてキャラを強化して、各シーンの戦闘をクリアしながらストーリーを読み進めていくという感じです。似たタイプのゲームだと『彼女は高天に祈らない』とかあるんですがもう10年以上前のゲームだし知らない人のほうが多そう、ていうか、近年のキャラクター主体のスマホゲームとかブラウザゲームがこういうゲームですよね。キャラクターを育成しながらメインストーリーを読みながらバトルをこなしていく。ただ、戦闘はちゃんとRPGの戦闘です。

さっそく遊んでて今2章まで進んだところなんですが、現時点で手触りとかそのへんのインプレッションを書いておこうと思ったので書きます。先に結論から言うとみんなに遊んでほしいな~という感じです。ちなみに、本作のメーカーの戯画はデジタル版の販売を来年3月に終了するので、このゲームが買えるのは来年3月までです。来年のサマーセールシーズンやオータムセールシーズンに割引されるということもないです。メーカーが撤退を表明してるのを見ながら中古だったら買えるよ~みたいなことを言うのもどうかと思うし、興味が湧いたら安くなるの待ちとか言わずにすぐ買ってほしい。

前置きが長くなっちゃいましたが、ファーストインプレッションやっていきましょう。

続きを読む

Firebase Hosting でウェブサイトを公開する

この記事は どもがよアドベントカレンダー2022 の22日目の記事です。
22日目はうえのすけさんの 竹は良いぞ。(スプラトゥーン3の話) でした。スプラは1をちょっとだけやって3は未プレイなんですが、読んでみただけでも竹めっちゃ面白そう!ってなったのと、今のスプラのプレイヤーがどんなことを考えながらプレイしているのか知ることができてよかったです。

今回は 個人ウェブ礼賛今すぐはじめられるHTML から続きで、ここまでで作った HTML を実際にアップロードしてインターネット上で見れるようにするところまでの話をします。


レンタルサーバを契約し、ユーザIDとパスワードを使って FTP サーバにアクセスしてファイルをアップロードする。

Google アカウントで Google Firebase 上に Hosting プロジェクトを作成し、コマンドラインツールから deploy コマンドでファイルをアップロードする。

これが20年前と今の違い。Firebase Hosting もここ数年に出てきたサービスなので気軽に脱 FTP できるようになったのは本当に近年のことで、もちろんファイル転送の現場では今も FTP は現役ながらも、個人ウェブサイト程度のものはツールからコマンド一撃で完了するのが現代の流儀ということ。

コマンドラインツールを使う必要があるので少しハードルは高い……とは個人的にはあまり思わない。最近は discord や slack といったコマンドラインインターフェースを備えたツールを実は普段から使っている。bot に命令してるでしょ。あれと同じようなことを黒画面でやるだけ。

Windowsコマンドライン環境は近年だいぶ近代化されてある程度不自由しなくなったし、Windows 向けにツール側でいろいろ整備してくれてると感じることも増えた。Firebase のコマンドラインツールもインストールするだけで使える。

とりあえず、やっていこう。

Google Firebase 上に Hosting プロジェクトを作成する

Gmail のアカウントは大抵の人が持っていると思う、ので、すなわち大抵の人が Google アカウントを持っている。そのアカウントでログインして Firebase のコンソールページにアクセスすると、Firebase のプロジェクト作成画面が表示される。

https://console.firebase.google.com/

ここで「プロジェクトを作成」をクリックし、

firebase

なんでもいいので適当な名前をつける。今回は個人ウェブサイトを作る予定なので、my-website とかでいいだろう。わたしはあおいたくなので、aoitaku-website という名前をつけてみる。

規約もろもろに同意するチェックボックスをオンにして、「続行」。

Google アナリティクスを設定するかどうか聞かれる。どちらでもよいと思うが、ごく個人的な意見としては、アナリティクスを眺めてサイトの運営を熱心にやっていくつもりでなければ、特に設定しなくてもよいと思う。アナリティクスを無効にして先に進めると即座にプロジェクトが作成される。アナリティクスを有効にする場合は「続行」して各種設定を行うこと。

しばらく待つと「新しいプロジェクトの準備ができました」と言われるので「続行」。

プロジェクトのダッシュボードが表示される。

ダッシュボード

「構築」の中の「Hosting」を選ぶ。

Hosting

「始める」をクリック。

Firebase Hosting を使用してサイトをホストするには、Firebase CLIコマンドライン ツール)が必要です。

と言われる。npm というコマンドでインストールしろと言われているので、素直に従う。npm の利用には node.js をインストールする。

nodejs.org

18.12.1 LTS と書かれているバージョンのほうをダウンロードしてインストールする。

インストーラーを実行したら画面に従ってインストールを実行する。特に設定を変更する必要はないので、デフォルトの設定でよい。

インストールできたら、コマンドプロンプトを開き、

node -v

というコマンドを実行する。v18.12.1 と表示されるだろうと思う。表示されれば OK。

この段階で先程必要だった npm というコマンドも利用可能になっている。

npm -v

これで npm のバージョンが表示されれば OK。

npm コマンドがインストールされていることを確認できたら、

npm install -g firebase-tools

というコマンドを実行して、firebase-tools をインストールする。 インストールしたら Firebase のページに戻って「Firebase JavaScript SDK をウェブアプリに追加する手順も表示する」というチェックはオフのまま、「次へ」をクリック。

firebase login

で、まずログインする。

Hosting にアップロードするウェブサイトを作る

firebase init

しろと言われるが、これはアップロードするファイルを置くフォルダ内で実行する。

そのために、好きな場所に適当にフォルダを作って、Hosting にアップロードしたい自分のウェブサイトの HTML を置く場所とする必要がある。

今回は、たとえば c:\projects\my-website という名前の場所に html ファイルを置くことにする。

コマンドプロンプトを開き、

cd  c:\projects\my-website

というコマンドで c:\projects\my-website に移動する。cフォルダを移動するには cd というコマンドを使うと覚えてほしい。

移動したら、

firebase init

を実行。

「 Are you ready to proceed?(準備はいい?)」と聞かれるので、Enter。

なんか選べと言われるので、

上下キーでカーソルを移動し、「Hosting: Configure files for Firebase Hosting and (optionally) set up GitHub Action deploys」にカーソルをあわせ、スペースキーを押してチェックを入れる。チェックが入ったら Enter。

「Please select an option」 と言われるので、「Use an existing project」を選んで Enter。

そうするとプロジェクト一覧が表示される。先ほど作ったプロジェクト名がここに表示されているはずなので、それを選んで Enter。

「What do you want to use as your public directory?」と聞かれる。アップロード対象のフォルダをどうするかという質問で、デフォルトは public というフォルダになっている。基本はこのままでよいが、今回は _site という名前にする。_site とタイプして Enter。続く「Configure as a single-page app (rewrite all urls to /index.html)?」は設定する必要はないので、そのまま Enter を押せばよい。「Set up automatic builds and deploys with GitHub?」も同様に何も設定しなくてよいので、そのまま Enter。ここまでで設定が完了する。

my-website_site フォルダに index.html というファイルが作られている。これを 前回 作ったものに置き換えよう。もちろん好きな内容に書き換えてもよい。

前回の HTML を以下に記載しておく。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>今すぐはじめられる個人ウェブサイト</title>
<style>
h1 {
  font-size: 128%;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
p {
  line-height: 2.0;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
</style>
</head>
<body>
<h1>個人ウェブサイトのつくりかた</h1>
<p>個人ウェブサイトの最小構成は一枚の HTML ファイル。「最近は CSS を覚えないとうんぬんかんぬん」ということを20年前から言われているが、まずやるべきことは一枚の HTML を書くこと。CSS はその後。</p>
<h1>HTML とはなんぞや</h1>
<p>原稿となるテキストデータに対して「ここは見出しにしたい」「ここは太字にしたい」という注釈をつけるとウェブブラウザがその注釈にそってきれいに表示してくれるというファイル形式。これが一番シンプルな説明だと思う。この注釈をつけることをマークアップすると呼ぶから HTML のようなものを指してマークアップ言語と呼ぶし、HTML の ML は Markup Language の略である。</p>
</body>
</html>

書き換えて保存したら、

firebase deploy

コマンドを実行する。

これで作った HTML をワールドワイドウェブにアップロードできた。

今後、HTML を編集してアップロードしたいときは、my-website フォルダの中で firebase deploy を実行するだけでよい。ログイン情報はお使いのコンピュータにキャッシュされているので FTP サーバを使っていた時代のように毎回ログインする必要はないし、my-website フォルダ内にどのプロジェクトに紐づいているかの情報が保存されているので、アップロード先の指定すら必要ない。アップロードは基本的に変更があったものだけを自動的に検出して行われるため、自分でアップロードするファイルを選択する必要もない。_site フォルダの内容が同期されるということを覚えておけばよい。アップしたファイルを消したかったら、_site フォルダからそのファイルを消して firebase deploy すれば消える。

ここまでの設定は少々込み入っており面倒に感じたかもしれないが、その面倒が吹き飛ぶくらい、今後のアップロード作業は便利になる。なんせ個人ウェブサイトの更新が滞る原因の一つが「ファイルをアップロードするのが面倒」だったりしたもので、だからこそブラウザで更新できるブログが流行ったりもした。だが、これくらいアップロードが簡単なら、ブログでなく個人ウェブサイトも充分選択肢になると思う。特にブログの広告を邪魔に感じている人にとっては、自分が自由にできる空間を手に入れられるということでもある。検討する価値は大いにある。

HTML の手書きをやめる

ここまで HTML の書き方を紹介してきたのに、HTML の手書きはやめようということを言うのはちょっとおかしい気がしなくもないが、これから紹介する Markdown という記法は、結局のところ HTML の糖衣構文――人間にとって書きやすくした別の表現方法――にすぎないので、HTML を知らずに Markdown を使うのはあまり本質的ではない。HTML のすべてを知る必要はなく、まあだいたいこういうものであるということだけ知っていればよいので、前回の記事くらいの理解度で充分足りる。足りるが、必要最低限、前回くらいの理解度はあったほうがよい。

Markdown から HTML を作る方法はいろいろあるが、今回は 11ty というツールを使う。これは npm でインストールできるので、インストールしていく。

my-website フォルダで

npm init -y

というコマンドを実行。これが下準備。今いるフォルダで npm によるパッケージ管理を有効化する。

それから

npm install --save-dev @11ty/eleventy

これで my-website 内に 11ty をインストールする。

アップロード対象のフォルダを _site にしたのは、今インストールした 11ty が生成する HTML のデフォルトの出力先が _site フォルダになっているからというだけの理由なので、11ty の設定を適切に行うなら public でも構わない。今回は 11ty の設定をスキップするために firebase 側の設定を 11ty に合わせている。他のツールも出力先フォルダがそれぞれ異なったりするので、ツールに合わせて変えるのがいいだろうと思う。

my-website 内に _includes というフォルダを作り、_site 内の index.html をこの中に移動し、index.njk という名前に変更する。

index.njk を以下のように書き換える。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>{{title}}</title>
<style>
h1 {
  font-size: 128%;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
p {
  line-height: 2.0;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
</style>
</head>
<body>
{{ content | safe }}
</body>
</html>

11ty にはテンプレート機能があり、njk とはそのテンプレートファイルの拡張子になっている。これは前回紹介した MDN の記事を書くために実際に使われているテンプレート言語でもある。

11ty のテンプレート機能を使うと、テンプレートとなる HTML に内容を流し込んで完成された HTML を出力することができる。head 要素の中身を毎回書くのは大変なので、使い回したい。使い回したい部分はテンプレートに書き、ページごとに変わる内容だけを各ファイルに書いていくというのがやりやすいし更新しやすいし持続可能である。そして、流し込む内容を Markdown で記述すれば、HTML を書かずに、プレーンテキストに近い形でサイトの内容を記述できる。

というわけで、実際のページの内容が書かれた index.md を作ろう。

---
layout: index.njk
title: 今すぐはじめられる個人ウェブサイト
---
# 個人ウェブサイトのつくりかた

個人ウェブサイトの最小構成は一枚の HTML ファイル。「最近は CSS を覚えないとうんぬんかんぬん」ということを20年前から言われているが、まずやるべきことは一枚の HTML を書くこと。CSS はその後。

# HTML とはなんぞや

原稿となるテキストデータに対して「ここは見出しにしたい」「ここは太字にしたい」という注釈をつけるとウェブブラウザがその注釈にそってきれいに表示してくれるというファイル形式。これが一番シンプルな説明だと思う。この注釈をつけることをマークアップすると呼ぶから HTML のようなものを指してマークアップ言語と呼ぶし、HTML の ML は Markup Language の略である。

最初の --- から --- までの間は、そのファイルの情報を書くところ。layout は使用するテンプレート名で、_includes フォルダ内のファイル名を指定する。title はテンプレート内の {{title}} の部分に表示される文字列なので、ページごとに設定すればページごとにタイトルを変えられる。

--- から --- まで以降全部が内容になり、Markdown で書ける。

Markdown では # ではじまる行が h1 要素に置き換えられる。## で h2 要素、### で h3 要素となる。ハイフンと半角スペース - ではじまる行は箇条書き、数字とピリオドと半角スペースではじまる行は順番つきの箇条書き、大なりと半角スペース > ではじまる行は引用文……などもあるが、とりあえずこれくらいを覚えておけばいいだろう。それ以外は p 要素になる。前回 h1 要素と p 要素しか説明しなかったのは、これだけあれば Markdown の説明上は充分だったからだ。HTML の体裁的には Markdown の外側のほうが重要で、内容は Markdown で何が書けるのかということと、Markdown で表現されるものはあくまで HTML である、ということだけわかっていればよい。

index.md を編集したら、いよいよ 11ty で HTML に変換する。

npx @11ty/eleventy

実行すると、index.md_site\index.html として出力された旨が表示されると思う。これで _site 以下に _includes\index.njkindex.md を組み合わせて作られた index.html が出力された。

あとは firebase deploy を実行すれば、これがアップロードされる。

ここまで来れば、Markdown を書いて HTML を出力して Firebase Hosting にアップロードする、ということを、コマンドライン上ではコマンドニ回実行するだけでできるようになった。

あとは Markdown を書くだけである。

ページの体裁を整えたいだとか、リンクを張ったり画像を表示したりしたい……ということがあれば、Markdown の記法を調べていろいろ試してみるとよい。ここで説明しようと思っても、世の Markdown のリファレンス以上のことは説明できない。

www.markdown.jp

このあたりを見ればよいように思う。

11ty 自体は日本語の説明が少ない。公式ドキュメントは英語だが、しかしこれが一番確実な情報源である。

www.11ty.dev

そんなに難しい英語は書かれていない。ただし、技術的な知見が要求される場面はある。さいわいわたしは普段から JavaScript も 11ty も使い込んでいるので、何かあったらどんどん聞いてみてほしい。

個人ウェブサイトを公開するハードルはここまで低くなったし、周辺ツールの整備も本当に驚くほど整備されたと思う。11ty のようなツールは、20年前だと Bloxsom という perl 製のツールがあったが、それにかなり近い使用感でありながらも、あらゆる部分が近代化されてていて使いやすくなっている。いい時代になったとつくづく思うし、それだけに、今個人ウェブサイトが下火なのがもったいない。

たとえばわたしはゲームを作っているのだけど、昨日まさにゲームアツマールがサービス終了を発表し、代替サービスもいつまで持続可能かはわからない中で、自分が作ったゲームの情報を集約する場所が何らかのサービスに依存していていいのかな、と思う。ゲームはサイズが大きくなりがちなので、個人のホスティングスペースだと容量や転送量の面で厳しいから、ファイルの実体はどこかのサービスを使う必要があろうと思うが、ゲームの紹介サイト自体は自身のウェブサイトであるほうが、おそらくは今後生き残りやすいのではないかと思っている。Firebase Hosting が終了しないという根拠はないにせよ、手元にウェブサイトのデータがあれば、他のサービスに乗り換えたときも基本的にはそのサービスのツールを使ってコマンド一回叩くだけでよい、という状態はたぶん維持される。そのほうがレジリエンス高いよ。きっと。

というわけで、何かしらコンテンツを作っておられる皆さまにおかれましては、自身のコンテンツのある場所というものをほんの少し意識してもらって、個人ウェブサイトという選択肢もあるよ、勉強する必要はあるけど、覚えてしまえばずいぶん便利になったよ、ということをお伝えして、三回に渡る記事を締めくくらせていただく。


23日目はうのはなさんの「uMusicBotの使い方&技術解説」の予定です。お楽しみに!

今すぐはじめられるHTML

この記事は どもがよアドベントカレンダー2022 の12日目の記事です。アドベントカレンダーは25日までのカウントダウンなので実はこれでもう折り返しなんですけど12月なんか時間の流れはやくない?
11日目は柳雪さんのパラドゲーの現在地と今後に関する個人的雑感(続き) でした。ステラリス実は未プレイなんですが、これやったらあらゆる進捗が破壊されるな……ということをあらためて実感しました。めっちゃやりたい。やりたいがゆえに破滅が見える……。破滅が容易に予想できるゲームはいいゲーム。進捗が出たら手を出したい(破滅


今回は前回の 個人ウェブ礼賛 の続きです。

個人ウェブサイトのつくりかた

個人ウェブサイトの最小構成は一枚の HTML ファイル。「最近は CSS を覚えないとうんぬんかんぬん」ということを20年前から言われているが、まずやるべきことは一枚の HTML を書くこと。CSS はその後。

HTML とはなんぞや

原稿となるテキストデータに対して「ここは見出しにしたい」「ここは太字にしたい」という注釈をつけるとウェブブラウザがその注釈にそってきれいに表示してくれるというファイル形式。これが一番シンプルな説明だと思う。この注釈をつけることをマークアップすると呼ぶから HTML のようなものを指してマークアップ言語と呼ぶし、HTML の ML は Markup Language の略である。

ということを書くとなんだかむずかしそうに思えてくる。ただ、我々はけっこう普段からマークアップのようなことをしている。HTML を使わない人であっても。

これは直木三十五の『ロボットとベッドの重量』という作品の書き出しである。

「お前、本当に――心から、俺を愛しているかい。」
 KK電気器具製作所、ロボット部主任技師、夏見俊太郎は病に蝕まれ、それと悪闘し、そして、それに疲労してしまった顔と、声とで、その夫人に、低く話かけた。(また――病人って、どうしてこんなに、執拗ものなのかしら)
 夫人は、頭の隅で、一寸、こう眉を、ひそめてから、
「ええ、愛していますとも。」

これを読んで、おおよその人はカギカッコが使われている部分は実際に発声したセリフだと考えるだろうし、丸かっこが使われているところは心の中で思ったことだろうと考えると思う。こういう記号を使って普段から文に意味づけを行っているし、そのような意味づけされた文章を読んでいる。なんなら今している話の中でも、強調のためにカギカッコを使ったり、作品名と示すために二重カギカッコを使ったりということをしている。

ただ、こういう記号の使い方はあくまでも慣例があるだけで、決まった使い方のルールがあるわけではない。コンピュータが処理するにはそれでは困るので、ルールを決める必要があり、ブラウザでテキストデータをそれっぽく表示するためのルールが HTML という言語仕様である。

いちばん小さな HTML

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>いちばん小さなHTML</title>
</head>
<body>
<p>Hello, world.</p>
</body>
</html>

上のテキストを、ファイル名はなんでもいいが、たとえばとりあえず hello.html というファイル名で保存して、ブラウザにドラッグアンドドロップすると、

余計な味がしない

こんな感じで表示される。これでいい。これでいいので、最初はここからはじめよう。

HTML の要素とタグと属性

最初に用語だけ説明する。

図解

覚えなくてもよいので、以下の説明中で出てきたらここを振り返ってほしい。

HTML を書く

HTML の中でブラウザに表示される本文は body 要素のコンテンツ、つまり <body> から </body> までの中身である。
head 要素は、「この HTML はこのような属性を持った文書である」ということを示すための内容で、言ってみればその HTML ファイル全体についての属性づけを行う部分である。title 要素がブラウザのタイトルバーとかタブとかに表示されるページ名になるので、ここは適宜書き換えてよい。最小限の HTML では、それ以外は特にいじらなくてよい。

p 要素は段落を表す。なぜ段落をあらわすためにタグがあるのか。body 要素を以下のようにして実際に HTML として表示するとどうなるか見てみよう。

<body>
【個人ウェブサイトのつくりかた】
個人ウェブサイトの最小構成は一枚の HTML ファイル。「最近は CSS を覚えないとうんぬんかんぬん」ということを20年前から言われているが、まずやるべきことは一枚の HTML を書くこと。CSS はその後。
【HTML とはなんぞや】
原稿となるテキストデータに対して「ここは見出しにしたい」「ここは太字にしたい」という注釈をつけるとウェブブラウザがその注釈にそってきれいに表示してくれるというファイル形式。これが一番シンプルな説明だと思う。この注釈をつけることをマークアップすると呼ぶから HTML のようなものを指してマークアップ言語と呼ぶし、HTML の ML は Markup Language の略である。
</body>

みちみち

こうなる。HTML 中では改行は無視される。HTMLファイルの内の改行は基本的には原稿の見た目を調整するためのもので、HTML としての表示に影響しない。そうと決まっているので仕方がない。

<body>
<p>【個人ウェブサイトのつくりかた】</p>
<p>個人ウェブサイトの最小構成は一枚の HTML ファイル。「最近は CSS を覚えないとうんぬんかんぬん」ということを20年前から言われているが、まずやるべきことは一枚の HTML を書くこと。CSS はその後。</p>
<p>【HTML とはなんぞや】</p>
<p>原稿となるテキストデータに対して「ここは見出しにしたい」「ここは太字にしたい」という注釈をつけるとウェブブラウザがその注釈にそってきれいに表示してくれるというファイル形式。これが一番シンプルな説明だと思う。この注釈をつけることをマークアップすると呼ぶから HTML のようなものを指してマークアップ言語と呼ぶし、HTML の ML は Markup Language の略である。</p>
</body>

だいぶ読める

段落わけをしたことでだいぶ読めるようになった。

さて、見出しのために と括っているが、こういうものこそ HTML で表現すべきだろう。

<body>
<h1>個人ウェブサイトのつくりかた</h1>
<p>個人ウェブサイトの最小構成は一枚の HTML ファイル。「最近は CSS を覚えないとうんぬんかんぬん」ということを20年前から言われているが、まずやるべきことは一枚の HTML を書くこと。CSS はその後。</p>
<h1>HTML とはなんぞや</h1>
<p>原稿となるテキストデータに対して「ここは見出しにしたい」「ここは太字にしたい」という注釈をつけるとウェブブラウザがその注釈にそってきれいに表示してくれるというファイル形式。これが一番シンプルな説明だと思う。この注釈をつけることをマークアップすると呼ぶから HTML のようなものを指してマークアップ言語と呼ぶし、HTML の ML は Markup Language の略である。</p>
</body>

一気に HTML になった

これが HTML である。まだハイパーテキストではないが、少なくともマークアップされた文書になった。基本的にこれだけわかればよい。

h1要素 は大見出しにつかう。中見出しには h2要素小見出しには h3要素 ……という具合に h6要素まであるが、 基本的に h1要素 だけ使えばよく、他の存在は一旦忘れてよい。中見出し小見出しまで使うような文章を書くことはそんなにない。そんなにでかいHTMLは手書きするべきではない。

さて、この HTML には一つ難点がある。それは、ブラウザのウインドウを横に伸ばすと……

びよーん

こうなってしまう。狭いときはウインドウ幅で勝手に折り返してくれるとうれしいが、広いからといって際限なく、画面横いっぱいまで伸びてしまうとさすがに読みにくい。

CSS を書く

というわけで、CSS を使って 見た目 を制御する。HTML は文書の構造をブラウザが読み取ってそれっぽく表示してくれるだけなので、細かいことは考慮されていない。表示については CSS という機能で表現する。

ここまでができてはじめて CSS のことを考えてよくなった。CSS が何かという説明はここでは省くが、文書の見た目を設定するためのものだと思ってくれればよい。これは HTML の中に書ける。どこに書くか。

文書全体の見た目を設定したいのだから、文書全体の属性を設定するための場所に書けばよい。ここでようやく head 要素を弄る場面が出てきた。

head 要素を次のようにする。

<head>
<meta charset="utf-8">
<title>今すぐはじめられる個人ウェブサイト</title>
<style>
h1 {
  max-width: 40rem;
}
p {
  max-width: 40rem;
}
</style>
</head>

だいたい40文字くらいで折り返す

css には max-width という要素の最大幅の設定があるので、これを使うとそれ以上広げないという幅を指定できる。幅の単位はいろいろあるが、日本人はおおよそ40文字で折り返す文章を読み慣れているので、それくらいにすると読みやすい(ためしにお手元の文庫本を開いてみると、1行38~43文字くらいになっていると思う)。もし一行それ以上長かったりすると目の左右移動が大きくなりすぎて読みにくい。

ちなみに rem は、その文書の基本文字サイズでアルファベットの M 何個分かという単位になっている。アルファベットの M は日本語の漢字かな一文字分とだいたい同じ幅なので、40rem はほぼ日本語の40文字分くらいの幅になる。

ところで、見出しがちょっとでかくてうるさいのでもう少しおとなしくしてなっているとうれしい。もちろんそれも CSS でできる。

h1 のところをこんな感じにする。

h1 {
  font-size: 128%;
  max-width: 40rem;
}

主張しすぎてない

あと、行間ももうちょっと広いほうが読みやすい。もちろん CSS でできる。

p を

p {
  line-height: 2.0;
  max-width: 40rem;
}

こうして、

余裕が出てきた

こう。

あとは、画面の左に寄ってしまうのもちょっと気になる。全体を真ん中に寄せたい。CSS で、

h1 {
  font-size: 128%;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
p {
  line-height: 2.0;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

とやると、

じゃーん

これ以外にも CSS でできることはたくさんあるが、たったこれだけで、世にあるブログとそんなに変わらない本文の HTML になる。もうちょっと余白を調整したりということをしたくなったら都度 CSS を調べる必要はあるし、HTML もこれ以外に画像を表示したり太字にしたりリンクを張ったりということをしようと思うとそれぞれ調べる必要がある。ただ、本当にたったこれだけで文章だけの日記レベルのことは表現できる。思ったよりむずかしくないでしょ?

今書いたことは、インターネット老人がたびたび話す「昔はメモ帳で HTML を書いて FTP でアップしてホームページを運営していたのじゃ……」から実はそんなに変わっていない。当時の人々はこういうものを書いていた。実際にはウェブサイトのトップページなどはもうちょっと複雑だったりするが、更新されるコンテンツはだいたいこのようなものである。

もし HTML に興味を持って、HTML を勉強してみようかなと思った人は、MDN に極めて丁寧かつ正確なガイドがある。

developer.mozilla.org

ちょっと硬めの内容だが、過不足なく、ほぼ正確な HTML の仕様を、実践と知識の両面で学ぶことができる。作っているのは Firefox の開発などを行っている Mozilla という組織で、非営利なので GoogleMicrosoft に比べて中立だし、だからこそ責任を持ったコンテンツになっている*1

HTMLを手書きしてきたインターネットの民はとほほのWWW入門もよく読んできた。

www.tohoho-web.com

このサイトのすごいところは現代に至るまでアップデートがしっかり行われている点と、網羅的に解説されていて引きやすい点である。前提に技術的な知識を要求するところはあるが、俯瞰して読むのに適したサイトなので、こちらも合わせて読むとよいだろう。

けっこうな長さになったので、続きは次回。次回は Markdown というテキストフォーマットから HTML を出力して Google Firebase Hosting でワールドワイドウェブに HTML をアップしてしまうところまでをやろうと思う。


どもがよアドベントカレンダー13日目の記事は朱里さんの「ボードゲーム遊びたい&好きなやつ」です。ボドゲも好きなのでこちらの記事も楽しみ。

*1:GoogleMicrosoft営利団体なので当然といえば当然ではあるが、利益の出ないものに対してはしばしばかなり無責任な態度を取る

個人ウェブ礼賛

この記事は どもがよアドベントカレンダー2022 の2日目の記事です。1日目はヴぃさんの Among Us部サーバー 今年流行ったもの でした。どもがよの今年一年のトレンドがまとまっててわかりやすい。そういえばこんなのあったな~と思い出してしみじみしていました。


Twitter が終わるかもしれない」

イーロン・マスクはそれまでの Twitter を破壊した。これは確かだと思っていて、よきにしろ悪しきにしろ、これから変わっていくだろう。

マスク体制について、個人的にはそこまで深刻には感じていなくて、その結果 Twitter の立て直しに失敗してサービスの終焉を迎えたとしても、後に振り返ってみれば結局は時代の要請だったということになるんじゃないかと思っている。

今日書くのは個人ウェブの話。Twitter が終わるかもしれないからというわけではなく、この一、二年の間に個人ウェブへの回帰を強く意識するようになった。マイクロブログから SNS を経て「世論のプラットフォーム」なるうさんくさい何かになりつつあった Twitter を見れば、自分の情報発信の足場は、自分が管理できるものでなければまずかろうと思ったというわけ。

あおたくの個人ウェブ

自己紹介を兼ねて、今のあおたくの個人ウェブについて紹介する。

  • Alias over the Azure
    2004年に開設した個人ウェブサイト。サイトの名前も URL も、自分のハンドルネームさえも当時からは変わったけれど、ここをベースに情報発信をしてきた。昔はドット絵掲示板が置いてあったりしたし、コミケへのサークル参加情報もここに集約されてきた。一時 Wordpress によって管理されていたことがあるが、Wordpress の DB 破損によって吹き飛んでしまったのがかなしい。
    今は半手書きの HTML のサイトになっている。

  • あおたくノート
    個人ブログで、いわゆるテックブログとしての役割を担っていた。Tumblr の投稿フォームの日本語入力が壊れたため、使わなくなった。

  • あおたくメモワール
    現在の個人ブログ。今見てるもの。もともとはあおたくノートに書かない雑多な記事を載せる場所だった。最近は Twitter の居心地の悪さを感じるようになったため、好きなように書くために更新してもその旨を Twitter に投稿しないようにしている。特に解析などはしてないが、肌感としては、「読者」機能によってこのブログの読者になっているユーザ以外が読んでいることは稀なように思う。

  • 半文庫
    あおたくが書いた小説を載せるための個人ウェブサイト。これで「なかばぶんこ」と読む。なろう、カクヨムといった SNS 的機能を備えた小説投稿サイトでの掲載をやめるにあたって今年10月に新設した。小説投稿サイトの利用をやめた理由は、自分が読者とのコミュニケーションを望んでいないことを自覚したため。
    静的サイトジェネレータにより、原稿ファイルから自動で HTML に変換してサイト全体を構築できるようになっている。原稿には Lazri という自作の軽量マークアップ言語を使っている。
    2006年に書いた小説が載っているという意味では個人ウェブサイトよりも自分の歴史を集約した場所といえるかもしれない。

  • Lunatlazur
    あおたくが所属するゲーム製作サークル Lunatlazur(るなとらじゅーる)の公式ウェブサイト。個人ウェブではないが、実質的に自分が作ったゲームを公開する場所になっている。
    なお、ゲーム製作に関しての近況発信には Ci-en を使っている。これにはいろいろ理由があるが、ひとつには NSFW な情報を取り扱うためというのがある。広告を掲載せずに NSFW な情報を発信するための場所としては、現状だと Ci-en や FANBOX、Fantia といったクリエイター支援プラットフォームがベターっぽい*1

個人ウェブのススメ

2022年の今になって個人ウェブを持つということについて。
「ウェブ上の自分」が存在するための足場が、アクセス可能なウェブ上に存在していることに意味がある。できれば持続可能なプラットフォームを選択するのが望ましい。
一番勧めたいのが個人ウェブサイト。Yahoo ジオシティーズや infoseek といったホスティングサービスが死んだことでかなりの数の個人ウェブサイトが滅びて久しいが、今は Google Firebase Hosting や Netlify といったホスティングサービスが充実している。最初から HTTPS が使えて安全、CDN*2 による配信になるので高速で安定、といった利点がある。
次の候補は個人ブログで、今現在までサービスが続いているレンタルブログはおおよそこれからも死なないので、これを使い続けていいだろうと思う。livedoor ブログさえ、今は運営が LINE に変わっているがちゃんと生き延びているので。ただし FC2 はどうなるか謎。note は経営が思わしくなさそうなのであまりおすすめしない。ブログはその時々の情報を発信するのに向いていて、コンテンツを積み上げる場所としては適当ではない。コンテンツの集約が目的なら個人ウェブサイトのほうが理にかなっている。

たとえ個人ウェブに回帰しても、個人ウェブは交流の場たり得ないだろうとは思う。Twitter が日本に上陸する以前、Pixiv やニコニコ動画がサービスを開始する以前、個人ウェブはすでにコミュニケーションの場ではなくなりつつあった。個人ウェブサイトの掲示板へのスパムボットの攻撃により、これらが機能しなくなったというのはもちろん要因としてはあるが、そもそも個人ウェブサイトの管理コストを払えるだけの時間的余裕のあるユーザが減った、ということが大きい。管理人のいないサイトには誰もやってこない。交流は MSN メッセンジャーを通じて個人間で行われるようになった。Skype を経て現在は Discord がそのようなツールになっている。

逆にいえば、その頃から個人間の交流はメッセージングツールが主体であって、SNS ではなかったということでもある。SNS がなくなっても、人と人のコミュニケーションは「友達の友達」を介したアナログなネットワークで行われる。それはおそらく今後も変わらない。

では今、2022年に個人ウェブを持つ意味とはなんなのか。きわめて個人的な感想を書いておく。

「個人ウェブ時代から知っている 打撲 さん*3 が今も個人ウェブを持っているのがとてもうれしい」

個人ウェブの始め方

では、これからどうやって個人ウェブをはじめるのか、という話を、次回、したい。

  • いちばん簡単な HTML の書き方
  • Markdown を書いて HTML に書き出す
  • Google Firebase Hosting で作る個人ウェブサイト

どもがよアドベントカレンダー3日目の記事は彩緋さんです。たのしい記事が書かれることを楽しみにしつつ、今回はここまで。

*1:なお、広告付きのブログサービスなどを使って NSFW な情報を発信するには年齢制限の設定を行う必要があり、その場合出てくる広告は煽情的なものになりやすい。自分のコンテンツの価値を下げると思う

*2:コンテンツデリバリーネットワーク。配信用サーバにキャッシュを配置し、そこから閲覧ユーザにサイトを配信する。サイトが置かれるサーバへの直接的なアクセスが減るため、サーバ負荷が少ない。DOS 攻撃への対策になるし、サーバ負荷によって配信が遅いということも防げる。最近のホスティングサービスはこれを売りにしているので最初から備わっていたりする

*3:mixi からの知人で、実はそれ以前から HTML/CSS 界隈で存在を知っていた

韋和辞典を ZpDIC 上に作成しました

zpdic.ziphil.com

韋和辞典というのは韋語の単語について日本語の対訳を載せた辞書です。韋語はイスランド語という まぼろし国の食卓より に出てくる言語のことです。韋語は語彙は英語をベースにしているのでいわゆる架空言語の辞書というよりは英語の造語辞典みたいな感じになっています。

なんで作ったのか

フィクションのための名前の作り方 で英語ベースの造語方法について書いたんですが、その実例集があるといいなと思いました。まぼ食は英語ベースの造語を実践した最初の作品で、まぼ食を書いて英語ベースの造語からはじめることの妥当性を実感できたからこそフィクションのための名前の作り方を書こうと思ったんですが、つまり、まぼ食に登場する語彙は先行事例にあたります。

見てもらうとわかるんですが、まぼ食内では日本語で書かれている語彙にも実は韋語での語彙のラテン語表記が用意されています。作中には出てこないけど、韋語から日本語に訳すならこうなるかな~という感じを意識したものになっていたりしなかったりします。カブイモなんかは先にルタバガがあったので韋語のつづりもまんまルタバガの変形ですが、たとえばセンジンは漢字だと仙蔘で Alv- を仙と訳している、みたいな感じになっています。

カブイモとかセンジンみたいな日本語の造語もまぼ食にはよく出てきますが、これは先に英語ベースの造語をやってから日本語に訳しているものだけではなくて、先に日本語の語彙を決めているものも結構あります。日本語の造語方法もちゃんと方法論を文章に起こして形にしたいとは思っています。まぼ食を書き始めたときにはもうある程度こういうふうにやっていこうという指針ができていたはずなのに、あれから何年経ったのか……でも作品が先行するほうが大事ですからね。作品を書くために考えていることなので。

今後の造語の話について

ここから一歩踏み込んだ英語以外の言語をベースにした造語については今作っている辺涯のガストロノーツで実践中なので、これが形になったところで方法論も文章化する予定です。辞書も作っています。もう ZpDIC 上にあるのでがんばって探したら見れるかもしれないんですが、ひとまずリンクはまだ公開しません。そのうち公開します。