Initial commit
This commit is contained in:
13
app/templates/bookmarks/index.html.slim
Normal file
13
app/templates/bookmarks/index.html.slim
Normal file
@@ -0,0 +1,13 @@
|
||||
div class="flex justify-between mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200"
|
||||
div class="basis-1/5"
|
||||
h1 Bookmarks
|
||||
|
||||
form class="basis-2/5" method="GET" action="/bookmarks"
|
||||
input class="w-48 border-blue-400 border-2 rounded mr-2 px-2" id="seach" type="text" name="q" value=q
|
||||
button class="w-16 border-blue-400 border-2 rounded bg-blue-400 hover:bg-blue-800 hover:border-blue-800 hover:text-blue-100 px-1 text-gray-200" type="submit" Search
|
||||
|
||||
div class="mb-12 max-w-prose mx-auto"
|
||||
- bookmarks.each do |bookmark|
|
||||
== render :bookmark, bookmark: bookmark
|
||||
|
||||
div class="max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"
|
17
app/templates/bookmarks/show.html.slim
Normal file
17
app/templates/bookmarks/show.html.slim
Normal file
@@ -0,0 +1,17 @@
|
||||
div class="mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200"
|
||||
h1 = bookmark.name
|
||||
|
||||
div class="mb-12 prose max-w-prose mx-auto text-gray-800 dark:text-gray-200"
|
||||
a class="text-blue-600 no-underline hover:underline" href=bookmark.url
|
||||
p class="text-xl"
|
||||
= bookmark.url
|
||||
|
||||
== bookmark.content
|
||||
|
||||
div class="mb-8 max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"
|
||||
|
||||
div class="mb-2 max-w-prose mx-auto text-gray-800 dark:text-gray-200 flex"
|
||||
= "Published #{bookmark.display_published_at}"
|
||||
span class="text-right flex-1"
|
||||
== render :tags, tags: bookmark.tags
|
||||
|
20
app/templates/feeds/rss.xml.builder
Normal file
20
app/templates/feeds/rss.xml.builder
Normal file
@@ -0,0 +1,20 @@
|
||||
xml.instruct!(:xml, version: "2.0", encoding: "utf-8")
|
||||
|
||||
xml.channel do |channel|
|
||||
channel.title "Daniel Nitsikopoulos"
|
||||
channel.description "The RSS feed for https://dnitza.com"
|
||||
channel.lastBuildDate Time.now.rfc2822
|
||||
channel.pubDate Time.now.rfc2822
|
||||
channel.ttl 1800
|
||||
|
||||
posts.each do |post|
|
||||
channel.item do |item|
|
||||
item.title post.display_title
|
||||
item.description do |desc|
|
||||
desc.cdata! post.content
|
||||
end
|
||||
item.guid(post.slug, isPermaLink: true)
|
||||
item.pubDate post.machine_published_at
|
||||
end
|
||||
end
|
||||
end
|
46
app/templates/layouts/app.html.slim
Normal file
46
app/templates/layouts/app.html.slim
Normal file
@@ -0,0 +1,46 @@
|
||||
html
|
||||
head
|
||||
meta charest="utf-8"
|
||||
|
||||
meta name="viewport" content="width=device-width, initial-scale=1.0"
|
||||
|
||||
title Daniel Nitsikopoulos
|
||||
|
||||
link rel="authorization_endpoint" href=Hanami.app.settings.micropub_authorization_endpoint
|
||||
link rel="token_endpoint" href=Hanami.app.settings.micropub_token_endpoint
|
||||
link rel="micropub" href="#{URI.join(Hanami.app.settings.micropub_site_url, "micropub")}"
|
||||
|
||||
link rel="stylesheet" href="/assets/index.css"
|
||||
|
||||
script data-domain="dnitza.com" src="https://stats.dnitza.com/js/script.js" defer="true"
|
||||
|
||||
/ script src="https://unpkg.com/htmx.org@1.8.4" integrity="sha384-wg5Y/JwF7VxGk4zLsJEcAojRtlVp1FKKdGy1qN+OMtdq72WRvX/EdRdqg/LOhYeV" crossorigin="anonymous"
|
||||
|
||||
- if Hanami.app.settings.micropub_pub_key
|
||||
link rel="pgpkey" href="/key"
|
||||
body class="bg-white dark:bg-black selection:bg-blue-100 selection:text-blue-900 dark:selection:bg-blue-600 dark:selection:text-blue-100"
|
||||
main class="pb-8 px-4 pt-4 md:pt-8"
|
||||
header class="mb-12 max-w-screen-md mx-auto"
|
||||
div class="flex items-center mb-8 md:mb-12 text-lg md:text-xl text-gray-400 dark:text-gray-600"
|
||||
div class="flex-none mx-auto md:flex-auto md:mx-0"
|
||||
div class="h-card flex items-center"
|
||||
img class="u-photo w-6 h6 md:w-10 md:h-10 rounded-full mr-1.5" src="/assets/memoji.png"
|
||||
a href="/"
|
||||
h1 class="p-bane uppercase text-sm md:text-sm text-gray-400 dark:text-gray-400" = Hanami.app.settings.site_name
|
||||
nav class="space-x-1 text-sm md:text-sm uppercase md:block"
|
||||
a class="p-1 rounded text-gray-400 hover:bg-red-100 hover:text-red-400 dark:hover:bg-red-200 #{link_active?('about') ? 'text-red-600 dark:text-red-400' : ''}" href="/about" About
|
||||
span class="text-gray-400 dark:text-gray-600"
|
||||
= "/"
|
||||
a class="p-1 rounded text-gray-400 hover:bg-blue-100 hover:text-blue-400 dark:hover:bg-blue-200" href="/posts" Writing
|
||||
span class="text-gray-400 dark:text-gray-600"
|
||||
= "/"
|
||||
a class="p-1 rounded text-gray-400 hover:bg-yellow-100 hover:text-yellow-600 dark:hover:bg-yellow-200 #{link_active?('bookmarks') ? 'text-yellow-600 dark:text-yellow-600' : ''}" href="/bookmarks" Bookmarks
|
||||
span class="text-gray-400 dark:text-gray-600"
|
||||
= "/"
|
||||
a class="p-1 rounded text-gray-400 hover:bg-orange-100 hover:text-orange-400 dark:hover:bg-orange-200" href="#{Hanami.app.settings.micropub_site_url}/feeds/rss" RSS
|
||||
// span class="text-gray-400 dark:text-gray-600"
|
||||
= "/"
|
||||
// a class="text-green-600 hover:text-gray-800 dark:hover:text-gray-200" href="/art-things" Art things
|
||||
== yield
|
||||
div class="px-4 max-w-screen-md mx-auto pb-10"
|
||||
p class="text-gray-200 dark:text-gray-600" © 2023 Daniel Nitsikopoulos. All rights reserved.
|
0
app/templates/layouts/app.xml.builder
Normal file
0
app/templates/layouts/app.xml.builder
Normal file
3
app/templates/not_found.html.slim
Normal file
3
app/templates/not_found.html.slim
Normal file
@@ -0,0 +1,3 @@
|
||||
div class="mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200"
|
||||
h1 Not Found!
|
||||
|
4
app/templates/pages/show.html.slim
Normal file
4
app/templates/pages/show.html.slim
Normal file
@@ -0,0 +1,4 @@
|
||||
article class="mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200 prose-em:font-bold prose-em:not-italic prose-em:bg-blue-600 prose-em:px-1 prose-a:text-blue-600 prose-a:p-0.5 prose-a:rounded-sm prose-a:no-underline hover:prose-a:underline prose-em:text-blue-100"
|
||||
== page_content
|
||||
|
||||
div class="max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"
|
8
app/templates/posts/index.html.slim
Normal file
8
app/templates/posts/index.html.slim
Normal file
@@ -0,0 +1,8 @@
|
||||
div class="mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200"
|
||||
h1 Writing
|
||||
|
||||
div class="mb-12 max-w-prose mx-auto"
|
||||
- posts.each do |post|
|
||||
== render :post, post: post
|
||||
|
||||
div class="max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"
|
12
app/templates/posts/show.html.slim
Normal file
12
app/templates/posts/show.html.slim
Normal file
@@ -0,0 +1,12 @@
|
||||
div class="mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200"
|
||||
h1 = post.display_title
|
||||
|
||||
article class="mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200 prose-a:text-blue-600 prose-a:no-underline hover:prose-a:underline"
|
||||
== post.content
|
||||
|
||||
div class="mb-4 max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"
|
||||
|
||||
div class="mb-2 max-w-prose mx-auto text-gray-600 dark:text-gray-200 flex"
|
||||
= "Published #{post.display_published_at}"
|
||||
span class="text-right flex-1"
|
||||
== render :tags, tags: post.tags
|
12
app/templates/shared/_bookmark.html.slim
Normal file
12
app/templates/shared/_bookmark.html.slim
Normal file
@@ -0,0 +1,12 @@
|
||||
div class="mb-8"
|
||||
h3 class="text-xl font-bold text-blue-600 hover:underline"
|
||||
a href="#{bookmark.url}"
|
||||
= "🔖 #{bookmark.name} "
|
||||
== render("link_arrow")
|
||||
p class="e-content leading-relaxed md:text-lg text-gray-800 dark:text-gray-200"
|
||||
= bookmark.content
|
||||
== render :tags, tags: bookmark.tags
|
||||
|
||||
p class="text-sm u-url text-blue-400 hover:text-blue-600 dark:hover:text-blue-200"
|
||||
a href="/bookmark/#{bookmark.slug}"
|
||||
= bookmark.display_published_at
|
4
app/templates/shared/_link_arrow.html.slim
Normal file
4
app/templates/shared/_link_arrow.html.slim
Normal file
@@ -0,0 +1,4 @@
|
||||
svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="inline w-2 h2 md:w-4 md:h-4 mt-0.5"
|
||||
g
|
||||
rect height="14.4434" opacity="0" width="14.4238" x="0" y="0"
|
||||
path d="M14.4238 10.8008L14.4141 0.976562C14.4141 0.419922 14.0527 0.0292969 13.4668 0.0292969L3.64258 0.0292969C3.0957 0.0292969 2.72461 0.449219 2.72461 0.917969C2.72461 1.38672 3.14453 1.78711 3.60352 1.78711L7.00195 1.78711L11.7676 1.63086L9.95117 3.22266L0.273438 12.9199C0.0976562 13.0957 0 13.3203 0 13.5352C0 14.0039 0.419922 14.4434 0.908203 14.4434C1.13281 14.4434 1.34766 14.3652 1.52344 14.1797L11.2207 4.49219L12.832 2.66602L12.6562 7.22656L12.6562 10.8398C12.6562 11.2988 13.0566 11.7285 13.5352 11.7285C14.0039 11.7285 14.4238 11.3281 14.4238 10.8008Z"
|
10
app/templates/shared/_post.html.slim
Normal file
10
app/templates/shared/_post.html.slim
Normal file
@@ -0,0 +1,10 @@
|
||||
div class="mb-8"
|
||||
h3 class="text-xl font-bold text-blue-600 hover:underline"
|
||||
a href="/post/#{post.slug}"
|
||||
= post.display_title
|
||||
div class="text-base text-gray-800 dark:text-gray-200"
|
||||
== post.excerpt
|
||||
== render :tags, tags: post.tags
|
||||
|
||||
p class="text-sm text-blue-400"
|
||||
= post.display_published_at
|
8
app/templates/shared/_tags.html.slim
Normal file
8
app/templates/shared/_tags.html.slim
Normal file
@@ -0,0 +1,8 @@
|
||||
- if tags.count > 0
|
||||
div class="mb-2"
|
||||
span class="text-sm text-gray-600 dark:text-gray-200"
|
||||
= "Tagged: "
|
||||
- tags.each do |tag|
|
||||
span
|
||||
a class="rounded p-1 mr-1 text-xsm u-url bg-yellow-200/60 hover:bg-yellow-200 dark:bg-yellow-400 dark:hover:bg-yellow-400/80 dark:text-yellow-800 dark:hover:text-yellow-100 text-gray-600" href="/tagged/#{tag.slug}"
|
||||
= tag.label
|
14
app/templates/site/home.html.slim
Normal file
14
app/templates/site/home.html.slim
Normal file
@@ -0,0 +1,14 @@
|
||||
div class="mb-12 max-w-prose mx-auto text-gray-800 dark:text-gray-200"
|
||||
== home_content
|
||||
|
||||
div class="mb-8 max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"
|
||||
|
||||
div class="mb-4 flex max-w-prose mx-auto"
|
||||
h2 class="text-xl text-gray-600 dark:text-gray-200" Recent
|
||||
a class="text-right flex-1 text-blue-400" href="/posts" See all →
|
||||
|
||||
div class="mb-12 max-w-prose mx-auto"
|
||||
- posts.each do |post|
|
||||
== render :post, post: post
|
||||
|
||||
div class="max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"
|
8
app/templates/tags/show.html.slim
Normal file
8
app/templates/tags/show.html.slim
Normal file
@@ -0,0 +1,8 @@
|
||||
div class="mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200"
|
||||
h1 = "Tagged: \"#{tag.label}\""
|
||||
|
||||
div class="mb-12 max-w-prose mx-auto"
|
||||
- posts.each do |post|
|
||||
== render post.post_type.to_sym, post.post_type.to_sym => post
|
||||
|
||||
div class="max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"
|
Reference in New Issue
Block a user