Update Hanami
This commit is contained in:
12
Gemfile
12
Gemfile
@@ -4,11 +4,11 @@ source "https://rubygems.org"
|
||||
|
||||
ruby "3.2.2"
|
||||
|
||||
gem "hanami", "~> 2.0.0"
|
||||
gem "hanami-router", "~> 2.0.0"
|
||||
gem "hanami-controller", "~> 2.0.0"
|
||||
gem "hanami-validations", "~> 2.0.0"
|
||||
# gem "hanami-assets", github: "hanami/view", branch: "main"
|
||||
gem "hanami", github: "hanami/hanami", branch: "main"
|
||||
gem "hanami-router", github: "hanami/router", branch: "main"
|
||||
gem "hanami-controller", github: "hanami/controller", branch: "main"
|
||||
gem "hanami-validations", github: "hanami/validations", branch: "main"
|
||||
gem "hanami-assets", github: "hanami/assets", branch: "main"
|
||||
gem "hanami-view", github: "hanami/view", branch: "main"
|
||||
|
||||
gem "rom-sql"
|
||||
@@ -46,7 +46,7 @@ gem "lastfm", "~> 1.27"
|
||||
gem "mail"
|
||||
gem "que"
|
||||
gem "connection_pool"
|
||||
gem "omdb-api", require: false
|
||||
gem "omdb-api", "1.4.3", require: false
|
||||
gem "image_processing", "~> 1.0"
|
||||
|
||||
gem "sentry-ruby"
|
||||
|
116
Gemfile.lock
116
Gemfile.lock
@@ -22,6 +22,61 @@ GIT
|
||||
specs:
|
||||
ruby-filemagic (0.7.3)
|
||||
|
||||
GIT
|
||||
remote: https://github.com/hanami/assets.git
|
||||
revision: 72bcef964c7810047d6657f2c07104f363c56c09
|
||||
branch: main
|
||||
specs:
|
||||
hanami-assets (2.1.0.alpha1)
|
||||
|
||||
GIT
|
||||
remote: https://github.com/hanami/controller.git
|
||||
revision: 2eb83900e298a03a7dadce9cbd1adef33dfec83e
|
||||
branch: main
|
||||
specs:
|
||||
hanami-controller (2.1.0.beta1)
|
||||
dry-configurable (~> 1.0, < 2)
|
||||
dry-core (~> 1.0)
|
||||
hanami-utils (~> 2.0)
|
||||
rack (~> 2.0)
|
||||
zeitwerk (~> 2.6)
|
||||
|
||||
GIT
|
||||
remote: https://github.com/hanami/hanami.git
|
||||
revision: f57e241386a472c59915cbf26e7ea709dbfb366e
|
||||
branch: main
|
||||
specs:
|
||||
hanami (2.1.0.beta1)
|
||||
bundler (>= 1.16, < 3)
|
||||
dry-configurable (~> 1.0, < 2)
|
||||
dry-core (~> 1.0, < 2)
|
||||
dry-inflector (~> 1.0, < 2)
|
||||
dry-logger (~> 1.0, < 2)
|
||||
dry-monitor (~> 1.0, >= 1.0.1, < 2)
|
||||
dry-system (~> 1.0, < 2)
|
||||
hanami-cli (~> 2.1.beta)
|
||||
hanami-utils (~> 2.1.beta)
|
||||
zeitwerk (~> 2.6)
|
||||
|
||||
GIT
|
||||
remote: https://github.com/hanami/router.git
|
||||
revision: b502a68d66f637999ccc6291b97c7b72e97a5028
|
||||
branch: main
|
||||
specs:
|
||||
hanami-router (2.1.0.beta1)
|
||||
mustermann (~> 3.0)
|
||||
mustermann-contrib (~> 3.0)
|
||||
rack (~> 2.0)
|
||||
|
||||
GIT
|
||||
remote: https://github.com/hanami/validations.git
|
||||
revision: c675f43fa098938af950ed8d0e3ba90e5b0a1315
|
||||
branch: main
|
||||
specs:
|
||||
hanami-validations (2.1.0.beta1)
|
||||
dry-validation (>= 1.10, < 2)
|
||||
zeitwerk (~> 2.6.0)
|
||||
|
||||
GIT
|
||||
remote: https://github.com/hanami/view.git
|
||||
revision: 083f8325b86685e18be856ef62c70d599b6d9596
|
||||
@@ -48,11 +103,12 @@ GIT
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (7.0.8)
|
||||
activesupport (6.0.6.1)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 1.6, < 2)
|
||||
minitest (>= 5.1)
|
||||
tzinfo (~> 2.0)
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
tzinfo (~> 1.1)
|
||||
zeitwerk (~> 2.2, >= 2.2.2)
|
||||
addressable (2.8.5)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
airbrussh (1.4.2)
|
||||
@@ -152,8 +208,8 @@ GEM
|
||||
dry-initializer (~> 3.0)
|
||||
dry-schema (>= 1.12, < 2)
|
||||
zeitwerk (~> 2.6)
|
||||
faker (2.23.0)
|
||||
i18n (>= 1.8.11, < 2)
|
||||
faker (2.2.1)
|
||||
i18n (>= 0.8)
|
||||
ffi (1.15.5)
|
||||
ffi-compiler (1.0.1)
|
||||
ffi (>= 1.0.0)
|
||||
@@ -179,49 +235,25 @@ GEM
|
||||
guard-compat (~> 1.2)
|
||||
puma (>= 4.0, < 7)
|
||||
guess_html_encoding (0.0.11)
|
||||
hanami (2.0.3)
|
||||
bundler (>= 1.16, < 3)
|
||||
dry-configurable (~> 1.0, < 2)
|
||||
dry-core (~> 1.0, < 2)
|
||||
dry-inflector (~> 1.0, < 2)
|
||||
dry-logger (~> 1.0, < 2)
|
||||
dry-monitor (~> 1.0, >= 1.0.1, < 2)
|
||||
dry-system (~> 1.0, < 2)
|
||||
hanami-cli (~> 2.0)
|
||||
hanami-utils (~> 2.0)
|
||||
zeitwerk (~> 2.6)
|
||||
hanami-cli (2.0.3)
|
||||
hanami-cli (2.1.0.beta1)
|
||||
bundler (~> 2.1)
|
||||
dry-cli (~> 1.0, < 2)
|
||||
dry-files (~> 1.0, >= 1.0.1, < 2)
|
||||
dry-inflector (~> 1.0, < 2)
|
||||
rake (~> 13.0)
|
||||
zeitwerk (~> 2.6)
|
||||
hanami-controller (2.0.2)
|
||||
dry-configurable (~> 1.0, < 2)
|
||||
dry-core (~> 1.0)
|
||||
hanami-utils (~> 2.0)
|
||||
rack (~> 2.0)
|
||||
zeitwerk (~> 2.6)
|
||||
hanami-reloader (2.0.2)
|
||||
hanami-cli (~> 2.0)
|
||||
zeitwerk (~> 2.6)
|
||||
hanami-router (2.0.2)
|
||||
mustermann (~> 3.0)
|
||||
mustermann-contrib (~> 3.0)
|
||||
rack (~> 2.0)
|
||||
hanami-rspec (2.0.1)
|
||||
hanami-cli (~> 2.0)
|
||||
rake (~> 13.0)
|
||||
rspec (~> 3.12)
|
||||
zeitwerk (~> 2.6)
|
||||
hanami-utils (2.0.3)
|
||||
hanami-utils (2.1.0.beta1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
dry-core (~> 1.0, < 2)
|
||||
dry-transformer (~> 1.0, < 2)
|
||||
hanami-validations (2.0.1)
|
||||
dry-validation (>= 1.10, < 2)
|
||||
zeitwerk (~> 2.6.0)
|
||||
hansi (0.2.1)
|
||||
hashie (2.1.2)
|
||||
http (5.1.1)
|
||||
@@ -236,7 +268,7 @@ GEM
|
||||
httparty (0.21.0)
|
||||
mini_mime (>= 1.0.0)
|
||||
multi_xml (>= 0.5.2)
|
||||
i18n (1.14.1)
|
||||
i18n (0.9.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
ice_nine (0.11.2)
|
||||
image_processing (1.12.2)
|
||||
@@ -397,7 +429,7 @@ GEM
|
||||
unicode-display_width (>= 2.4.0, < 3.0)
|
||||
rubocop-ast (1.29.0)
|
||||
parser (>= 3.2.1.0)
|
||||
rubocop-performance (1.19.0)
|
||||
rubocop-performance (1.19.1)
|
||||
rubocop (>= 1.7.0, < 2.0)
|
||||
rubocop-ast (>= 0.4.0)
|
||||
ruby-progressbar (1.13.0)
|
||||
@@ -438,13 +470,14 @@ GEM
|
||||
standard
|
||||
temple (0.10.2)
|
||||
thor (1.2.2)
|
||||
thread_safe (0.3.6)
|
||||
tilt (2.3.0)
|
||||
time_math2 (0.1.1)
|
||||
timecop (0.9.8)
|
||||
timeout (0.4.0)
|
||||
transproc (1.1.1)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
tzinfo (1.2.11)
|
||||
thread_safe (~> 0.1)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2)
|
||||
@@ -482,12 +515,13 @@ DEPENDENCIES
|
||||
gnuplot
|
||||
gpx
|
||||
guard-puma (~> 0.8)
|
||||
hanami (~> 2.0.0)
|
||||
hanami-controller (~> 2.0.0)
|
||||
hanami!
|
||||
hanami-assets!
|
||||
hanami-controller!
|
||||
hanami-reloader
|
||||
hanami-router (~> 2.0.0)
|
||||
hanami-router!
|
||||
hanami-rspec
|
||||
hanami-validations (~> 2.0.0)
|
||||
hanami-validations!
|
||||
hanami-view!
|
||||
httparty
|
||||
image_processing (~> 1.0)
|
||||
@@ -495,7 +529,7 @@ DEPENDENCIES
|
||||
mail
|
||||
matrix
|
||||
ogpr
|
||||
omdb-api
|
||||
omdb-api (= 1.4.3)
|
||||
pg
|
||||
pinboard!
|
||||
puma
|
||||
|
@@ -21,12 +21,12 @@ html
|
||||
link rel="me" href=Hanami.app.settings.mastodon_url
|
||||
link rel="me" href=Hanami.app.settings.github_url
|
||||
|
||||
link rel="stylesheet" href=asset_from_manifest("index.css")
|
||||
link rel="stylesheet" href=assets["index.css"]
|
||||
link rel="icon" type="image/x-icon" href="/assets/favicon.ico"
|
||||
|
||||
script data-domain="dnitza.com" src="https://stats.dnitza.com/js/script.js" defer="true"
|
||||
script src="/assets/gallery.js"
|
||||
script src=asset_from_manifest("index.js")
|
||||
script src=assets["index.js"]
|
||||
|
||||
script src="https://unpkg.com/htmx.org@1.9.2/dist/htmx.min.js" integrity="sha384-L6OqL9pRWyyFU3+/bjdSri+iIphTN/bvYyM37tICVyOJkWZLpP2vGn6VUEXgzg6h" crossorigin="anonymous"
|
||||
script src="https://cdn.jsdelivr.net/npm/alpinejs@3.12.0/dist/cdn.min.js" defer="true"
|
||||
@@ -46,10 +46,10 @@ html
|
||||
a href="/" rel="me" class="u-url u-uid"
|
||||
h1 class="p-name 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 hover:bg-red-100 hover:text-red-400 dark:hover:bg-red-200 #{link_active?('about') ? 'text-red-600 dark:text-red-400' : 'text-gray-400'}" href="/about" About
|
||||
a class="p-1 rounded hover:bg-pink-100 hover:text-pink-400 dark:text-pink-100 dark:hover:bg-pink-200 #{context.current_path.start_with?('/about') ? 'text-pink-600 bg-pink-50 dark:bg-pink-900 dark:text-pink-400' : 'text-gray-400'}" href="/about" About
|
||||
span class="text-gray-400 dark:text-gray-600"
|
||||
= "/"
|
||||
a class="p-1 rounded hover:bg-blue-100 hover:text-blue-400 dark:hover:bg-blue-200 #{link_active?('posts') ? 'text-blue-400 dark:text-blue-400' : 'text-gray-400'}" href="/posts" Writing
|
||||
a class="p-1 rounded hover:bg-blue-100 hover:text-blue-400 dark:hover:bg-blue-200 #{context.current_path.start_with?('/post') ? 'text-blue-400 bg-blue-50 dark:bg-blue-900 dark:text-blue-400' : 'text-gray-400'}" href="/posts" Writing
|
||||
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
|
||||
|
@@ -21,14 +21,14 @@ html
|
||||
link rel="me" href=Hanami.app.settings.mastodon_url
|
||||
link rel="me" href=Hanami.app.settings.github_url
|
||||
|
||||
link rel="stylesheet" href=asset_from_manifest("index.css")
|
||||
link rel="stylesheet" href=assets["index.css"]
|
||||
link rel="icon" type="image/x-icon" href="/assets/favicon.ico"
|
||||
|
||||
script src='https://api.mapbox.com/mapbox-gl-js/v2.9.1/mapbox-gl.js'
|
||||
link href='https://api.mapbox.com/mapbox-gl-js/v2.9.1/mapbox-gl.css' rel='stylesheet'
|
||||
|
||||
script data-domain="dnitza.com" src="https://stats.dnitza.com/js/script.js" defer="true"
|
||||
script src=asset_from_manifest("index.js")
|
||||
script src=assets["index.js"]
|
||||
|
||||
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"
|
||||
== yield
|
||||
|
@@ -24,5 +24,7 @@ module Adamantium
|
||||
"syndication.dayone",
|
||||
"renderers.markdown"
|
||||
]
|
||||
|
||||
config.assets.manifest_path = Hanami.env == :production ? "public/assets/asset-manifest.json" : nil
|
||||
end
|
||||
end
|
||||
|
@@ -6,23 +6,5 @@ module Adamantium
|
||||
@options = options
|
||||
super(**options)
|
||||
end
|
||||
|
||||
def asset_from_manifest(filename)
|
||||
return "/assets/#{filename}" if Hanami.env != :production
|
||||
hashed_filename = asset_manifest[filename]
|
||||
"/assets/dist/#{hashed_filename}"
|
||||
end
|
||||
|
||||
def link_active? path
|
||||
# TODO: waiting for Hanami View to be released
|
||||
# to access current_path
|
||||
false
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def asset_manifest
|
||||
@asset_manifest ||= JSON.parse(File.read("public/assets/asset-manifest.json"))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@@ -1 +1 @@
|
||||
{"gallery.js":"gallery-p46-IfnmuEW3.js","index.js":"index-p46-IfnmuEW3.js","index.css":"index-p46-IfnmuEW3.css"}
|
||||
{"gallery.js":{"url":"/assets/dist/gallery-vGVtDSqEMfJm.js"},"index.js":{"url":"/assets/dist/index-vGVtDSqEMfJm.js"},"index.css":{"url":"/assets/dist/index-vGVtDSqEMfJm.css"}}
|
1
public/assets/dist/index-p46-IfnmuEW3.css
vendored
1
public/assets/dist/index-p46-IfnmuEW3.css
vendored
File diff suppressed because one or more lines are too long
2613
public/assets/dist/index-vGVtDSqEMfJm.css
vendored
Normal file
2613
public/assets/dist/index-vGVtDSqEMfJm.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -8,10 +8,10 @@ html
|
||||
|
||||
title Admin // Daniel Nitsikopoulos
|
||||
|
||||
link rel="stylesheet" href=asset_from_manifest("index.css")
|
||||
link rel="stylesheet" href=assets["index.css"]
|
||||
link rel="icon" type="image/x-icon" href="/assets/favicon.ico"
|
||||
|
||||
script src=asset_from_manifest("index.js")
|
||||
script src=assets["index.js"]
|
||||
|
||||
script src="https://unpkg.com/htmx.org@1.9.2/dist/htmx.min.js" integrity="sha384-L6OqL9pRWyyFU3+/bjdSri+iIphTN/bvYyM37tICVyOJkWZLpP2vGn6VUEXgzg6h" crossorigin="anonymous"
|
||||
script src="https://cdn.jsdelivr.net/npm/alpinejs@3.12.0/dist/cdn.min.js" defer="true"
|
||||
|
@@ -1,7 +1,5 @@
|
||||
# get index.css, index.js
|
||||
# generate hash
|
||||
# rename files
|
||||
# write asset manifest
|
||||
# generates a Hanami::Assets compatible asset manifest
|
||||
# from the few asset files in this project
|
||||
|
||||
require "securerandom"
|
||||
require "json"
|
||||
@@ -20,7 +18,7 @@ end
|
||||
|
||||
Dir.glob(dist_path + "/*.{js,css}").each_with_object(filenames) do |f, memo|
|
||||
filename = File.basename(f, File.extname(f))
|
||||
memo[filename + File.extname(f)] = filename + "-" + hash + File.extname(f)
|
||||
memo[filename + File.extname(f)] = {url: "/assets/dist/" + filename + "-" + hash + File.extname(f)}
|
||||
File.rename(f, dist_path + "/" + filename + "-" + hash + File.extname(f))
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user