こんにちは。
友人がインターンシップの課題で、Deno DeployとWebsocketでしりとりゲームを作成していました。
↑こういうの
Denoは私が参加した過去のチーム開発でも使われていたが、実際に使ったことはなかったため、自分も何か作ってみたいと思いました。
(そういえば自分のサイトって今はポートフォリオしかないな)と思ったため、自分のサイトをDenoで作ってみることにします。
ということでできたのがこのブログです。
Denoのチュートリアルを見たりGeminiに助言をもらいながら何とか作成……
typescriptは初めて書いたけど、意外とできるもんですね。
せっかくなので、このブログがどうやって動いているのか、その裏側を少しだけ紹介します。同じようにDenoで何か作ってみたいと思っている人の参考になれば嬉しいです。
このブログの心臓部は、Denoの標準ライブラリといくつかの外部モジュールでできています。全体の流れはこんな感じです。
……MarkdownをHTMLに変換する……??
そういう処理は、これで嫌と言うほどやったけど、アレはPyQtだし、そんな都合のいいモジュールがあるわけ……
import { render } from "https://deno.land/x/gfm/mod.ts";
// Markdownの文字列を読み込む
const markdownText = await Deno.readTextFile("./articles/my-first-post.md");
// HTMLに変換
const html = render(markdownText);
// ... これをレスポンスとして返す
gfm というモジュールが、GitHub Flavored Markdownをいい感じにHTMLにしてくれるようです。
おかげで、自分は記事の内容に集中できます。これがデカい
そして、このブログは Deno Deploy というサービスを使って公開しています。
GitHubにソースコードをアップロードしておくだけで、自動で世界中に公開(デプロイ)してくれる便利ちゃんです。
自分でサーバーを契約したり、難しい設定をしたりする必要は一切ありません。素敵。
まだ作ったばかりのブログですが、いくつかやりたいことはありますね
やりたいことは尽きませんが、DenoとTypeScriptの学習も兼ねて、少しずつ育てていこうと思います。
思いつきで始めたブログ制作でしたが、楽しく作ることができました。
今後ともよろしくお願いします〜。