From 166f95e29def22c88a08491363bfdcb675f4d89f Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Tue, 31 Mar 2026 12:51:40 -0500 Subject: [PATCH] Embed algo.md at compile time to fix prod 500 algo.md was read at runtime via File.read! but isn't included in the release. Use @external_resource + compile-time module attribute to bake the HTML into the module. --- lib/microwaveprop_web/live/algo_live.ex | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/microwaveprop_web/live/algo_live.ex b/lib/microwaveprop_web/live/algo_live.ex index 03431e32..ac81db3a 100644 --- a/lib/microwaveprop_web/live/algo_live.ex +++ b/lib/microwaveprop_web/live/algo_live.ex @@ -2,16 +2,12 @@ defmodule MicrowavepropWeb.AlgoLive do @moduledoc false use MicrowavepropWeb, :live_view - @algo_path Path.join(:code.priv_dir(:microwaveprop), "../algo.md") + @external_resource "algo.md" + @algo_html "algo.md" |> File.read!() |> Earmark.as_html!() @impl true def mount(_params, _session, socket) do - content = - @algo_path - |> File.read!() - |> Earmark.as_html!() - - {:ok, assign(socket, page_title: "Algorithm", content: content)} + {:ok, assign(socket, page_title: "Algorithm", content: @algo_html)} end @impl true