Begin to implement reading a page
This commit is contained in:
parent
9c2d5861c5
commit
ad86f60b58
@ -16,10 +16,27 @@ defmodule LogsrvApi do
|
||||
def journals do
|
||||
@repo.all(Journal)
|
||||
end
|
||||
def journal(date) do
|
||||
def journal(str) do
|
||||
{:ok, date} = Filesystem.to_date(str)
|
||||
@repo.get!(Journal, date)
|
||||
end
|
||||
|
||||
# Todo - def get_by
|
||||
def get_by_id(id) do
|
||||
# Try to guess whether it's a page or a journal
|
||||
{_, date} = Filesystem.to_date(id)
|
||||
case date do
|
||||
:invalid_format ->
|
||||
IO.puts(id)
|
||||
page(id)
|
||||
_ ->
|
||||
IO.puts(id)
|
||||
journal(date)
|
||||
end
|
||||
end
|
||||
|
||||
def read(page) do
|
||||
@repo.read(page)
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
@ -6,9 +6,11 @@ defmodule LogsrvApi.Journal do
|
||||
tags = [:fun]
|
||||
|
||||
%{
|
||||
type: Journal,
|
||||
date: date,
|
||||
filename: fd,
|
||||
tags: tags
|
||||
}
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@ -6,4 +6,12 @@ defmodule LogsrvWeb.PostController do
|
||||
journals = LogsrvApi.journals()
|
||||
render(conn, "index.html", pages: pages, journals: journals)
|
||||
end
|
||||
|
||||
def show(conn, %{"id" => id}) do
|
||||
pages = LogsrvApi.pages()
|
||||
journals = LogsrvApi.journals()
|
||||
post = LogsrvApi.get_by_id(id)
|
||||
content = post |> LogsrvApi.read
|
||||
render(conn, "post.html", post: post, pages: pages, journals: journals, content: content)
|
||||
end
|
||||
end
|
||||
|
||||
@ -11,7 +11,11 @@
|
||||
<h2>Journals</h2>
|
||||
<ul>
|
||||
<%= for journal <- @journals do %>
|
||||
<li><strong><%= journal.date %></strong> (<%= journal.filename %>)</li>
|
||||
<li>
|
||||
<a href={post_path journal}>
|
||||
<strong><%= journal.date %></strong> (<%= journal.filename %>)
|
||||
</a>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</article>
|
||||
|
||||
@ -1,3 +1,14 @@
|
||||
defmodule LogsrvWeb.PostView do
|
||||
use LogsrvWeb, :view
|
||||
import LogsrvApi.Journal
|
||||
|
||||
def post_path(post) do
|
||||
"/post/#{post.filename}"
|
||||
end
|
||||
|
||||
def content(post) do
|
||||
IO.puts(post.filename)
|
||||
post.filename |> Journal.locate |> LogsrvApi.read
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Loading…
Reference in New Issue
Block a user