Files
adamantium/Rakefile

79 lines
2.0 KiB
Ruby

# frozen_string_literal: true
require "dotenv"
require "hanami/rake_tasks"
require "down"
namespace :blog do
task :load_environment do
Dotenv.load("/home/blog/current/.env.production")
end
task load_from_letterboxd: ["blog:load_environment"] do
require "hanami/prepare"
require "scraperd"
client = Scraperd::Base.new
activities = client.fetch("dnitza")
create_command = Admin::Container["commands.movies.create"]
activities.each do |activity|
title = CGI.unescapeHTML(activity.title)
create_command.call({
title: title,
year: activity.year,
url: activity.film_link,
watched_at: activity.watched_at
})
end
end
task scrobble_podcasts: ["blog:load_environment"] do
require "hanami/prepare"
command = Adamantium::OvercastScrobbler.new(username: "daniel@dnitza.com", password: "impacted-mingle.buckeye4incise")
command.()
end
task load_from_bookshelf: ["blog:load_environment"] do
require "hanami/prepare"
require "csv"
require "sequel"
post_repo = Adamantium::Container["repos.post_repo"]
CSV.open("tmp/books.csv", headers: true).each do |book|
next if book["isbn13"].nil?
post_repo.create(
name: book["title"],
post_type: "book",
book_status: book["readingStatus"],
slug: "isbn:#{book["isbn13"]}",
book_author: book["authors"],
content: book["description"],
category: [],
published_at: Time.now
)
end
end
task :create_user, [:email] => ["blog:load_environment"] do |t, args|
require "hanami/prepare"
user_repo = Admin::Container["repos.user_repo"]
user_repo.create(id: SecureRandom.uuid, email: args[:email])
end
end
namespace :tailwind do
task :watch do
system("npx tailwindcss -i ./app/assets/css/tailwind.css -o ./app/assets/builds/tailwind.css --watch")
end
task :build do
system("npx tailwindcss -i ./app/assets/css/tailwind.css -o ./app/assets/builds/tailwind.css --minify")
end
end