Static blog with front page summary

Goal: have a personal blog, and try out another point in the 'modular
app design with elixir' space.

Designing OTP systems with elixir had some interesting ideas.
This commit is contained in:
Your Name
2026-03-17 11:17:21 +00:00
commit bc14696f57
94 changed files with 6846 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
defmodule Firehose.Application do
# See https://hexdocs.pm/elixir/Application.html
# for more information on OTP Applications
@moduledoc false
use Application
@impl true
def start(_type, _args) do
children = [
FirehoseWeb.Telemetry,
Firehose.Repo,
{DNSCluster, query: Application.get_env(:firehose, :dns_cluster_query) || :ignore},
{Phoenix.PubSub, name: Firehose.PubSub},
# Start a worker by calling: Firehose.Worker.start_link(arg)
# {Firehose.Worker, arg},
# Start to serve requests, typically the last entry
FirehoseWeb.Endpoint
]
# See https://hexdocs.pm/elixir/Supervisor.html
# for other strategies and supported options
opts = [strategy: :one_for_one, name: Firehose.Supervisor]
Supervisor.start_link(children, opts)
end
# Tell Phoenix to update the endpoint configuration
# whenever the application is updated.
@impl true
def config_change(changed, _new, removed) do
FirehoseWeb.Endpoint.config_change(changed, removed)
:ok
end
end
@@ -0,0 +1,9 @@
defmodule Firehose.EngineeringBlog do
use Blogex.Blog,
blog_id: :engineering,
app: :firehose,
from: "priv/blog/engineering/**/*.md",
title: "Engineering Blog",
description: "Deep dives into our tech stack",
base_path: "/blog/engineering"
end
+9
View File
@@ -0,0 +1,9 @@
defmodule Firehose.ReleaseNotes do
use Blogex.Blog,
blog_id: :release_notes,
app: :firehose,
from: "priv/blog/release-notes/**/*.md",
title: "Release Notes",
description: "What's new in Firehose",
base_path: "/blog/releases"
end
+3
View File
@@ -0,0 +1,3 @@
defmodule Firehose.Mailer do
use Swoosh.Mailer, otp_app: :firehose
end
+5
View File
@@ -0,0 +1,5 @@
defmodule Firehose.Repo do
use Ecto.Repo,
otp_app: :firehose,
adapter: Ecto.Adapters.Postgres
end