異世界に転生すらしていないのに現実世界で最弱スライム的扱いを受けているわけですがどうしたらいいのでしょうか
スライムに転生したすぎて異世界トラックに轢かれたみが増し増しです。はい、どうも僕です。みなさんは元気ですかー?僕はダメですね。どうにもこうにもダメです。あんまりにもダメダメすぎてこんな記事を書いているわけです。
ということで、以前書いていたElixir記事のアップデートでもしていこうかと思います。まあ、月曜ですしね(意味不明)。
月曜なのでWebページを作成します
Webページをつくります。ElixirにはPhoenixというフレームワークがあるんですけど、このネタそこまでごついものを使う必要ないしなってことでSlimeなるテンプレートを利用します。
んで、前回サーバ準備したので前回作成したやつをそのまま再利用します。
ということで本日はHTMLテンプレートエンジンを使って前回のやつの肉付けを行っていきます。さすがにタグもちゃんとしていないものをWebページと言い張るのもアレですしね……。んでテンプレートに何を使うかと言うとPhoenixにも使用されているというSlimeを使っていきます。
関係ないけど「Elixir、Slime」で検索すると顔にかたつむり這わせてる動画がヒットする。
まあそういうのいいや。早速作っていきましょう。まずはslime使うためにmix.exsを編集します。
# ~いろいろ省略 defp deps do [ {:cowboy, "~> 2.5"}, {:slime, "~> 1.2"} ] end
そうしたら、以前作ったHandlerにテンプレートを書き込みます。
defmodule 【プロジェクト名】.Handler do def init(req, opts) do now_date = :calendar.local_time date = Date.from_erl!(elem(now_date,0)) text = if Date.day_of_week(date) === 1, do: "今日は月曜です<br>GAME OVER", else: "月曜日でない" headers = %{"content-type" => "text/html"} source = """ doctype html html head meta charset="utf-8" title = site_title body h1 #{text} p 別に曜日とか関係なくつらい """ body = Slime.render(source, site_title: "Helloworld with Slime") resp = :cowboy_req.reply(200, headers, body, req) {:ok, resp, opts} end end
とりあえず雑なヒアドキュメントで対応。機能的にはページを分けるまででもないですしね……。
それでmix run --no-halt
でサーバー起動します。なお、これが正しいサーバーの準備方法なのかは知らないです。どうせみんなPhoenixの機能でサーバー立てるんでしょとかそういう心づもりで書いているのであんまりまともに追及する気はないのです。
んで、起動するとこうなります。ちゃんと表示できましたー。やったー!!
ちゃんとタグを認識させることができたので日本語文字化け問題からようやく解放されました……。機能的にアップデートされた部分その程度です。
まあ、そういったわけで今日も月曜なわけですよ。つらいね。
ドラゴンクエスト スマイルスライム ぬいぐるみLL(スライム)
- 出版社/メーカー: スクウェア・エニックス(SQUARE ENIX)
- 発売日: 2016/04/15
- メディア: おもちゃ&ホビー
- この商品を含むブログを見る