basic content
This commit is contained in:
parent
3133275bcc
commit
057cca96d6
7 changed files with 114 additions and 30 deletions
26
.build.yml
26
.build.yml
|
@ -1,18 +1,18 @@
|
||||||
image: alpine/edge
|
image: alpine/edge
|
||||||
packages:
|
packages:
|
||||||
- ruby
|
- ruby
|
||||||
- ruby-bundler
|
- ruby-bundler
|
||||||
- hut
|
- hut
|
||||||
oauth: pages.sr.ht/PAGES:RW
|
oauth: pages.sr.ht/PAGES:RW
|
||||||
environment:
|
environment:
|
||||||
site: aleksrutins.srht.site
|
site: aleksrutins.srht.site
|
||||||
tasks:
|
tasks:
|
||||||
- build: |
|
- build: |
|
||||||
cd farthergate.com
|
cd farthergate.com
|
||||||
bundle install --path vendor/bundle
|
bundle install --path vendor/bundle
|
||||||
bundle exec ruby build.rb
|
bundle exec ruby build.rb
|
||||||
- package: |
|
- package: |
|
||||||
cd farthergate.com/_build
|
cd farthergate.com/_build
|
||||||
tar -cvz . > ../../site.tar.gz
|
tar -cvz . > ../../site.tar.gz
|
||||||
- upload: |
|
- upload: |
|
||||||
hut pages publish -d $site site.tar.gz
|
hut pages publish -d $site site.tar.gz
|
||||||
|
|
|
@ -1,14 +1,33 @@
|
||||||
|
@import url(https://fonts.bunny.net/css?family=dm-mono:400,400i,500,500i);
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
font-family:
|
font-family: "DM Mono", "Courier New", Courier, monospace;
|
||||||
system-ui,
|
background-color: beige;
|
||||||
-apple-system,
|
}
|
||||||
BlinkMacSystemFont,
|
|
||||||
"Segoe UI",
|
body {
|
||||||
Roboto,
|
max-width: 700px;
|
||||||
Oxygen,
|
padding: 20px;
|
||||||
Ubuntu,
|
margin: auto;
|
||||||
Cantarell,
|
}
|
||||||
"Open Sans",
|
|
||||||
"Helvetica Neue",
|
nav {
|
||||||
sans-serif;
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 20px;
|
||||||
|
gap: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a {
|
||||||
|
color: gray;
|
||||||
|
transition-property: color;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a:hover,
|
||||||
|
nav a.active {
|
||||||
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
5
build.rb
5
build.rb
|
@ -3,8 +3,13 @@ require "phlexite"
|
||||||
|
|
||||||
require_relative "pages/layout"
|
require_relative "pages/layout"
|
||||||
require_relative "pages/home"
|
require_relative "pages/home"
|
||||||
|
require_relative "pages/blog"
|
||||||
|
require_relative "pages/about"
|
||||||
|
|
||||||
Phlexite::Site.new { |s|
|
Phlexite::Site.new { |s|
|
||||||
s.mount "assets", on: "/"
|
s.mount "assets", on: "/"
|
||||||
|
|
||||||
s.page "index.html", Pages::Home.new
|
s.page "index.html", Pages::Home.new
|
||||||
|
s.page "blog/index.html", Pages::Blog.new
|
||||||
|
s.page "about/index.html", Pages::About.new
|
||||||
}
|
}
|
||||||
|
|
7
pages/about.rb
Normal file
7
pages/about.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
class Pages::About < ::Phlex::HTML
|
||||||
|
def view_template
|
||||||
|
render ::Pages::Layout.new(:about) {
|
||||||
|
p { "under construction" }
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
7
pages/blog.rb
Normal file
7
pages/blog.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
class Pages::Blog < ::Phlex::HTML
|
||||||
|
def view_template
|
||||||
|
render ::Pages::Layout.new(:blog) {
|
||||||
|
p { "under construction" }
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,7 +1,31 @@
|
||||||
class Pages::Home < ::Phlex::HTML
|
class Pages::Home < ::Phlex::HTML
|
||||||
def view_template
|
def view_template
|
||||||
render ::Pages::Layout.new("Home") {
|
render ::Pages::Layout.new(:home) {
|
||||||
h1 { "Home" }
|
p { "i'm aleks rūtiņš." }
|
||||||
|
p { "i'm a student and programmer, skilled with a wide variety of tools." }
|
||||||
|
|
||||||
|
h2 { "featured projects" }
|
||||||
|
ul {
|
||||||
|
li {
|
||||||
|
a(href: "https://sr.ht/~aleksrutins/phlexite") { "phlexite" }
|
||||||
|
span { " - a simple static site generator using phlex for templating" }
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
a(href: "https://dynamite.farthergate.com/") { "dynamite" }
|
||||||
|
span { " - a customizable lv2 distortion plugin"}
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
a(href: "https://packsnap.farthergate.com/") { "packsnap" }
|
||||||
|
span { " - a reproducible container build system" }
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
a(href: "https://bc.farthergate.com/") { "biocircuits for mere mortals" }
|
||||||
|
span { " - a daunting topic broken down in a (hopefully) friendly way" }
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,18 +1,40 @@
|
||||||
module Pages
|
module Pages
|
||||||
class Layout < ::Phlex::HTML
|
class Layout < ::Phlex::HTML
|
||||||
def initialize(title)
|
def pages = {
|
||||||
@title = title
|
home: {
|
||||||
|
title: "Home",
|
||||||
|
url: "/"
|
||||||
|
},
|
||||||
|
blog: {
|
||||||
|
title: "Blog",
|
||||||
|
url: "/blog"
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
title: "About",
|
||||||
|
url: "/about"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def initialize(page)
|
||||||
|
@page = page
|
||||||
end
|
end
|
||||||
def view_template
|
def view_template
|
||||||
doctype
|
doctype
|
||||||
html {
|
html {
|
||||||
head {
|
head {
|
||||||
title { @title + " | Aleks Rūtiņš" }
|
title { pages[@page][:title] + " | Aleks Rūtiņš" }
|
||||||
meta(charset: "utf-8")
|
meta(charset: "utf-8")
|
||||||
meta(name: "viewport", content: "width=device-width, initial-scale=1.0")
|
meta(name: "viewport", content: "width=device-width, initial-scale=1.0")
|
||||||
link(rel: "stylesheet", href: "/site.css")
|
link(rel: "stylesheet", href: "/site.css")
|
||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
|
header {
|
||||||
|
nav {
|
||||||
|
pages.each { |key, page|
|
||||||
|
a(href: page[:url], class: key == @page ? "active" : "") { page[:title].downcase }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
yield
|
yield
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue