8 Commits

10 changed files with 275 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
name: Build PDF
on:
push:
branches: [ main, master ]
pull_request:
workflow_dispatch:
jobs:
pdf:
name: make pdf
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go (from go.mod)
uses: actions/setup-go@v5
with:
go-version-file: go.mod
check-latest: true
cache: true
- name: Install Chrome and tools (no snap)
run: |
set -euxo pipefail
if command -v sudo >/dev/null 2>&1; then SUDO=sudo; else SUDO=; fi
$SUDO apt-get update
# Base tools and fonts
DEBIAN_FRONTEND=noninteractive $SUDO apt-get install -y --no-install-recommends \
ca-certificates gnupg make fonts-liberation
# Add Google's official Chrome APT repo (avoids Ubuntu's snap-only chromium)
$SUDO install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | $SUDO gpg --dearmor -o /etc/apt/keyrings/google-linux-signing-keyring.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/google-linux-signing-keyring.gpg] https://dl.google.com/linux/chrome/deb/ stable main" | \
$SUDO tee /etc/apt/sources.list.d/google-chrome.list >/dev/null
$SUDO apt-get update
DEBIAN_FRONTEND=noninteractive $SUDO apt-get install -y --no-install-recommends google-chrome-stable
# Clean up apt lists to keep image lean
$SUDO rm -rf /var/lib/apt/lists/*
- name: Build PDF
env:
# Ensure our tools pick Chrome first if multiple are present
CHROME_PATH: /usr/bin/google-chrome-stable
run: make pdf
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: output-pdf
path: _dist/output.pdf
if-no-files-found: error

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

View File

@@ -3,7 +3,9 @@
- cover.html
- hack-the-planet.html
- wtf.html
- ai-disclosure.html
- drivingmissmuni.html
- crashman.html
- vranklevictim.html
- pearlstreetcafe.html
- gtkapplang-1.html

129
pages/ai-disclosure.html Normal file
View File

@@ -0,0 +1,129 @@
<style>
#ai-disclosure-page {
background: url("assets/img/circuit-board.jpg") no-repeat center center;
background-size: cover;
font: 8.75pt/1.40 Tahoma, sans-serif;
padding: 10px;
hyphens: auto;
overflow-wrap: break-word;
}
h2 {
font-family: "Heading Now";
font-size: 23px;
}
h3 {
font-family: "Heading Now";
font-size: 24px;
text-align: right;
}
p {
font-family: Helvetica, sans-serif;
font-size: 12.75pt;
}
/* Windows 98 styles — green/teal variant */
div#overlay-window {
background: #d4d0c8;
/* Vertically center the window in the page */
position: relative;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
h1#titlebar {
display: flex;
align-items: center;
justify-content: center;
margin: 0;
padding: 4px 8px;
min-height: 22px;
font-weight: bold;
color: #ffffff;
background: linear-gradient(90deg, #004000 0%, #10a050 50%, #004000 100%);
}
h1#titlebar img {
width: 28px;
height: 28px;
image-rendering: pixelated;
}
h1#titlebar span {
margin: 0 8px;
}
div#content {
background: #f0f0e8c0;
padding: 10px;
color: #000000;
line-height: 1.4;
}
span#dumb {
font-family: "Heading Now";
font-size: large;
font-stretch: condensed;
font-style: italic;
}
span.stuff {
font-weight: bold;
font-style: italic;
}
</style>
<div id="ai-disclosure-page" class="page-base">
<div id="overlay-window">
<h1 id="titlebar">
<img src="assets/img/computer_2_cool-3.png" alt="">
<span>AI Disclosure</span>
<img src="assets/img/computer_2_cool-3.png" alt="">
</h1>
<div id="content">
<h2>A DISCLOSURE ABOUT AI USAGE</h2>
<p>
Seems like everything is slop now days. And I'm not just talking about stuff
generated by the <span class="stuff">"Large Language Models."</span>
</p>
<p>
You, dear reader, deserve better than slop. Therefore, we are proud to declare that
nothing in this issue of <strong>SMART BAR</strong> is generated by A.I. We're
talking 100% pure homegrown human creativity, the best this side of the Bay Area has
to offer.
</p>
<p>
That's not to say that we didn't try. Writing good quality content is hard, which is
why we tasked our <strong>Tech Wizard</strong> <em>P. Michael Cho</em> with employing the
newest, hottest transformers to create hard-hitting philosophical pieces for this
issue.
</p>
<p>
Unfortunately, <span id="dumb">WE COULDN'T FIGURE IT OUT</span>.
</p>
<p>
Despite paying a hundred bucks for <span class="stuff">G.P.T. Pro Max
Extreme</span>, getting <span class="stuff">"API Keys,"</span> and doodling a
couple of <span class="stuff">shell scripts</span>, we kept getting back <span
class="stuff">MUFFIN RECIPES</span> and <span class="stuff">PYTHON
PROGRAMS</span>. Needless to say, this is not content that you spent your hard
earned cash on to read.
</p>
<p>
In any case, we hope you enjoy these words and ideas from a couple of baseline
humans.
</p>
</div>
</div>
</div>

89
pages/crashman.html Normal file
View File

@@ -0,0 +1,89 @@
<style>
#crashman-page {
position: relative;
background: url("assets/img/crashman/crashman-bg.png") no-repeat center center;
background-size: cover;
overflow: hidden;
}
#snips {
height: 120px;
width: 620px;
background-color: rgb(209, 1, 209);
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 5px;
position: absolute;
bottom: 30px;
left: -50px;
transform: rotate(-5deg);
}
#snips img {
flex: 1 1 0;
width: auto;
object-fit: contain;
max-height: 100%;
}
#title {
position: absolute;
top: 350px;
right: 8px;
font-family: "Heading Now";
font-size: 48px;
color: #fff;
text-shadow:
0px 10px 0 rgb(209, 1, 209),
0px 20px 0 black;
}
#text {
position: absolute;
top: 390px;
width: 100%;
height: auto;
background-color: rgba(62, 6, 62, 0.704);
font: 11.75pt/1.40 Tahoma, sans-serif;
padding: 24px;
color: #fff;
line-height: 1.9em;
}
.stretch {
font-weight: 800;
transform: scaleX(2.1);
transform-origin: left;
display: inline-block;
}
</style>
<div id="crashman-page" class="page-base">
<div id="text">
<p>
<b>Rusty Haight</b> is the human crash-test dummy. As director of the San Diego-based Collision Safety Institute,
Rusty has experienced more than 950 violent vehicle crash tests at speeds of up to 54 mph,
and taken <span class="stretch">140 air bags to the face.</span>
</p>
<p>
Haight has contributed several publications on the topic of automobile safety
in <b>Collision Magazine</b> such as <em>Hyundai and Kia Crash Data: the Indispensable Compendium.</em>
</p>
</div>
<div id="snips">
<img src="assets/img/crashman/crashman-1.png" />
<img src="assets/img/crashman/crashman-2.png" />
<img src="assets/img/crashman/crashman-3.png" />
</div>
<div id="title" class="ytmnd-1">crash man</div>
</div>