54 lines
1.7 KiB
Ruby
54 lines
1.7 KiB
Ruby
class Pages::Home < ::Phlex::HTML
|
|
def project_link(name:, url:, desc:)
|
|
a(class: 'flex flex-col border border-gray-300 p-2 rounded gap-1', href: url) {
|
|
h3(class: 'font-bold') { name }
|
|
span { desc }
|
|
}
|
|
end
|
|
|
|
def view_template
|
|
render ::Pages::Layout.new(:home, banner: '/newhaven.jpg') {
|
|
p(class: "text-center font-bold") { "Aleks Rūtiņš" }
|
|
p(class: "text-center") { "developer ~ designer ~ musician" }
|
|
|
|
h2(class: "my-2 text-lg font-bold") { "Featured Projects" }
|
|
div(class: 'grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-2 justify-stretch') {
|
|
project_link(
|
|
name: "phlexite",
|
|
url: "https://docs.farthergate.com/phlexite",
|
|
desc: "A simple static site generator using phlex for templating"
|
|
)
|
|
|
|
project_link(
|
|
name: "phlexite-docker",
|
|
url: "https://git.farthergate.com/p/rad:z3PY7qd21HkdCEG7uBXnxHrtVTLiP",
|
|
desc: "Build your phlexite site without worrying about a ruby environment"
|
|
)
|
|
|
|
project_link(
|
|
name: "mzk",
|
|
url: "https://sr.ht/~aleksrutins/mzk/",
|
|
desc: "Bash scripts to help you manage your zettelkasten"
|
|
)
|
|
|
|
project_link(
|
|
name: "dynamite",
|
|
url: "https://sr.ht/~aleksrutins/dynamite/",
|
|
desc: "A customizable LV2 distortion plugin"
|
|
)
|
|
|
|
project_link(
|
|
name: "packsnap",
|
|
url: "https://packsnap.farthergate.com/",
|
|
desc: "A reproducible container build system"
|
|
)
|
|
|
|
project_link(
|
|
name: "biocircuits for mere mortals",
|
|
url: "https://bc.farthergate.com/",
|
|
desc: "A daunting topic broken down in a (hopefully) friendly way"
|
|
)
|
|
}
|
|
}
|
|
end
|
|
end
|