Hi
I am trying to create a new app using hologram.
Erlang version: OTP 27
Elixir 1.18.0
I start with
mix phx.new insta --no-html --no-live --no-ecto
Then i follow the steps mentioned in the installation page
Then I create a folder call app/pages under the root folder insta
I add a home.ex file in the insta/app/pages folder
The file is -
defmodule Insta.HomePage do
use Hologram.Page
# alias Blog.Components.PostPreview
route "/"
# layout Blog.MainLayout
def init(_params, component, _server) do
posts = [
%{id: 1, title: "First Post", excerpt: "This is my first post"},
%{id: 2, title: "Second Post", excerpt: "Another great post"}
]
put_state(component, :posts, posts)
end
def template do
~H"""
<h1>Welcome to my Blog</h1>
<div class="posts">
{%for post <- @posts}
<p>{post.title}</p>
{/for}
</div>
"""
end
end
The app compiles fine, but I am not able to get anything on the route.
When i do mix holo.routes I get this -
07:35:46.980 [info] Hologram: compiler finished
--------------------------------------------------------------------------------
ROUTE / MODULE / SOURCE FILE
--------------------------------------------------------------------------------
Below is my endpoint file
defmodule InstaWeb.Endpoint do
use Phoenix.Endpoint, otp_app: :insta
use Hologram.Endpoint
# The session will be stored in the cookie and signed,
# this means its contents can be read but not tampered with.
# Set :encryption_salt if you would also like to encrypt it.
@session_options [
store: :cookie,
key: "_insta_key",
signing_salt: "bvfPrVAO",
same_site: "Lax"
]
hologram_socket()
# socket "/live", Phoenix.LiveView.Socket,
# websocket: [connect_info: [session: @session_options]],
# longpoll: [connect_info: [session: @session_options]]
# Serve at "/" the static files from "priv/static" directory.
#
# You should set gzip to true if you are running phx.digest
# when deploying your static files in production.
plug Plug.Static,
at: "/",
from: :insta,
gzip: false,
only: ["hologram" | InstaWeb.static_paths()]
# Code reloading can be explicitly enabled under the
# :code_reloader configuration of your endpoint.
if code_reloading? do
plug Phoenix.CodeReloader
end
plug Phoenix.LiveDashboard.RequestLogger,
param_key: "request_logger",
cookie_key: "request_logger"
plug Plug.RequestId
plug Plug.Telemetry, event_prefix: [:phoenix, :endpoint]
plug Plug.Parsers,
parsers: [:urlencoded, :multipart, :json],
pass: ["*/*"],
json_decoder: Phoenix.json_library()
plug Plug.MethodOverride
plug Plug.Head
plug Plug.Session, @session_options
plug Hologram.Router
# plug InstaWeb.Router
end
Please advise.