Compare commits

..

1 Commits

Author SHA1 Message Date
Dustin bc1e3ca83a wip: projects: basementhud 2024-08-18 09:17:24 -05:00
9 changed files with 66 additions and 62 deletions

8
ci/Jenkinsfile vendored
View File

@ -26,17 +26,9 @@ pipeline {
sh '. ci/build.sh'
}
}
post {
success {
archiveArtifacts 'dustin.web.tar.xz'
}
}
}
stage('Publish') {
when {
branch 'master'
}
steps {
container('rsync') {
sshagent(['jenkins-web']) {

View File

@ -1,10 +1,7 @@
python3 -m pip install --user ruamel.yaml
python3 /dev/fd/3 < songquotes.yml > public/songquotes.json 3<<EOF
from ruamel.yaml import YAML
from ruamel.yaml import safe_load as load
from json import dump
import sys
yaml = YAML()
dump(yaml.load(sys.stdin), sys.stdout)
dump(load(sys.stdin), sys.stdout)
EOF
tar -cJf dustin.web.tar.xz -C public .

View File

@ -5,19 +5,16 @@ spec:
- name: zola
image: git.pyrocufflink.net/containerimages/zola
- name: python
image: docker.io/python:3
image: docker.io/python:3.10
command:
- python
args:
- -c
- |-
import signal
signal.signal(signal.SIGTERM, lambda x, y: None)
signal.pause()
- import signal; signal.pause()
- name: rsync
image: git.pyrocufflink.net/containerimages/rsync
volumeMounts:
- mountPath: /etc/ssh/ssh_known_hosts
name: volume-0
subPath: ssh_known_hosts
readOnly: true
command:
- python3
args:
- -c
- import signal; signal.pause()

View File

@ -0,0 +1,28 @@
+++
title = "Basement HUD"
page_template = "project-page.html"
description = "Wall-mounted dual-monitor heads-up display powered by a network-booted Raspberry Pi CM 4"
[extra]
image = "projects/basementhud/hud-photo01.jpg"
+++
{{ resize_image(
path="projects/basementhud/hud-photo01.jpg",
width=400,
height=0,
op="fit_width",
alt="A photo of two monitors mounted on the wall",
title="The HUD on the Wall!"
link="hud-photo01.jpg"
style="float: right; padding-left: 1em"
) }} There are several things I want to keep an eye on throughout the day. I
have a couple of Grafana dashboards that I like to have open all the time, but
that just seems like a waste of screen real estate!
Since they basically give away 1080p monitors at Microcenter, I decided it would
be fun and interesting to hang a couple of them on the wall. That way, I can
see my dashboards all the time, without taking away one of my desktop monitors.
<div style="clear: both"></div>

View File

@ -0,0 +1,3 @@
+++
title = "Hardware"
+++

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -353,6 +353,7 @@ article.post .post-date {
width: 100%;
background-color: $panel-color-dark;
margin: 0.75em;
padding: 0 0.75em;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
@ -375,24 +376,14 @@ article.post .post-date {
.project-card a {
text-decoration: none;
display: flex;
flex-direction: column;
}
.project-card h2 {
text-align: center;
margin: 0.75em;
font-size: 1.1em;
}
.project-card img {
width: 100%;
aspect-ratio: 640 / 480;
object-fit: cover;
}
.project-card p {
margin: 0.75em;
max-width: 100%;
}
/* CV */

View File

@ -1,41 +1,37 @@
{% extends "base.html" %}
{% macro project_card(path, permalink, title, description, image_path) %}
<div class="project-card">
<a href="{{ permalink }}">
{% if image_path is defined %}
{% set image = resize_image(path=image_path, width=640, height=480, op="fit") %}
<img src="{{ image.url }}" />
{% else %}
<img src="//picsum.photos/seed/{{ path | slugify }}/320/240" />
{% endif %}
<h2>{{ title }}</h2>
<p>{{ description }}</p>
</a>
</div>
{% endmacro %}
{% block content %}
<article class="post panel">
<h1 class="post-title">{{ section.title }}</h1>
{{ section.content | safe }}
<div class="project-cards">
{% for path in section.subsections %}
<div class="project-card">
{% set sect = get_section(path=path) %}
{{ self::project_card(
path=path,
permalink=sect.permalink,
title=sect.title,
description=sect.description,
image_path=sect.extra.image,
) }}
<a href="{{ sect.permalink }}">
<h2>{{ sect.title }}</h2>
{% if sect.extra.image is defined %}
{% set image = resize_image(path=sect.extra.image, width=640, height=480, op="fit") %}
<img src="{{ image.url }}" />
{% else %}
<img src="//picsum.photos/seed/{{ path | slugify }}/320/240" />
{% endif %}
<p>{{ sect.description }}</p>
</a>
</div>
{% endfor %}
{% for page in section.pages %}
{{ self::project_card(
path=page.path,
permalink=page.permalink,
title=page.title,
description=page.description,
image_path=page.extra.image,
) }}
<div class="project-card">
<a href="{{ page.permalink }}">
<h2>{{ page.title }}</h2>
{% if page.extra.image is defined %}
{% set image = resize_image(path=page.extra.image, width=640, height=480, op="fit") %}
<img src="{{ image.url }}" />
{% else %}
<img src="//picsum.photos/seed/{{ page.path | slugify }}/320/240" />
{% endif %}
<p>{{ page.description }}</p>
</a>
</div>
{% endfor %}
</div>
</article>