mirror of
https://github.com/frainfreeze/the-monospace-web-pandoc
synced 2025-12-29 18:49:50 -08:00
add video and better text
This commit is contained in:
10
index.css
10
index.css
@@ -1,7 +1,7 @@
|
||||
:root {
|
||||
--font-family: "Fira Code", monospace;
|
||||
--line-height: 1.25rem;
|
||||
--border-thickness: 1px;
|
||||
--border-thickness: 2px;
|
||||
--bold-weight: 700;
|
||||
|
||||
font-family: var(--font-family);
|
||||
@@ -74,7 +74,7 @@ hr {
|
||||
position: relative;
|
||||
display: block;
|
||||
height: var(--line-height);
|
||||
margin: calc(var(--line-height) * 2) 0 var(--line-height);
|
||||
margin: calc(var(--line-height) * 1.5) 0;
|
||||
border: none;
|
||||
color: #000;
|
||||
}
|
||||
@@ -82,7 +82,7 @@ hr:after {
|
||||
display: block;
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
top: calc(var(--line-height) / 2 - var(--border-thickness));
|
||||
left: 0;
|
||||
width: 100%;
|
||||
border-top: calc(var(--border-thickness) * 3) double #000;
|
||||
@@ -165,7 +165,7 @@ p {
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
img {
|
||||
img, video {
|
||||
--real-height: 100% / var(--ratio);
|
||||
|
||||
display: block;
|
||||
@@ -277,5 +277,5 @@ li {
|
||||
}
|
||||
|
||||
body :not(.grid) {
|
||||
background: rgba(255, 0, 0, 0.1);
|
||||
/*background: rgba(255, 0, 0, 0.1);*/
|
||||
}
|
||||
|
||||
38
index.js
38
index.js
@@ -1,12 +1,32 @@
|
||||
// Set the ratio variable on each image.
|
||||
document.querySelectorAll("img").forEach(img => {
|
||||
// Set the ratio variable on each media.
|
||||
document.querySelectorAll("img, video").forEach(media => {
|
||||
function onLoaded() {
|
||||
const ratio = img.naturalWidth / img.naturalHeight;
|
||||
img.style.setProperty("--ratio", ratio);
|
||||
}
|
||||
if (img.loaded) {
|
||||
onLoaded();
|
||||
} else {
|
||||
img.addEventListener("load", onLoaded);
|
||||
var ratio = 1;
|
||||
switch (media.tagName) {
|
||||
case "IMG":
|
||||
ratio = media.naturalWidth / media.naturalHeight;
|
||||
break;
|
||||
case "VIDEO":
|
||||
ratio = media.videoWidth / media.videoHeight;
|
||||
break;
|
||||
}
|
||||
media.style.setProperty("--ratio", ratio);
|
||||
}
|
||||
switch (media.tagName) {
|
||||
case "IMG":
|
||||
if (media.loaded) {
|
||||
onLoaded();
|
||||
} else {
|
||||
media.addEventListener("load", onLoaded);
|
||||
}
|
||||
break;
|
||||
case "VIDEO":
|
||||
if (media.readystate == 4) {
|
||||
onLoaded();
|
||||
} else {
|
||||
media.style.setProperty("--ratio", 16/9); // default while loading
|
||||
media.addEventListener("loadedmetadata", onLoaded);
|
||||
}
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
23
index.md
23
index.md
@@ -5,15 +5,20 @@ date: August 2024
|
||||
lang: en
|
||||
---
|
||||
|
||||
## Abstract
|
||||
## Introduction
|
||||
|
||||
Monospace fonts are dear to many of us.
|
||||
Some find them more readable, consistent, and beautiful, and than their proportional alternatives.
|
||||
Some find them more readable, consistent, and beautiful, than their proportional alternatives.
|
||||
Maybe we're just brainwashed from spending years in terminals?
|
||||
Or are we hopelessly nostalgic?
|
||||
In any case, I like them, and that's why I started experimenting with all-monospace Web.
|
||||
I'm not sure.
|
||||
But I like them, and that's why I started experimenting with all-monospace Web.
|
||||
|
||||
We use the monospace grid to align text and draw diagrams.
|
||||
On this page, I use a monospace grid to align text and draw diagrams.
|
||||
It's generated from a simple Markdown document (using Pandoc), and the CSS and a tiny bit of Javascript renders it on the grid.
|
||||
The page is responsive, shrinking in character-sized steps.
|
||||
Standard elements should _just work_, at least that's the goal.
|
||||
It's semantic HTML, rendered as if we were back in the 70s.
|
||||
|
||||
## The Basics
|
||||
|
||||
@@ -142,6 +147,12 @@ Let's go wild and draw a chart!
|
||||
Socks Jeans Shirts USB Drives
|
||||
</pre></figure>
|
||||
|
||||
## Images
|
||||
## Media
|
||||
|
||||

|
||||
Media objects are supported, like images and video:
|
||||
|
||||

|
||||
|
||||
.webm/11)](https://upload.wikimedia.org/wikipedia/commons/e/e0/The_Center_of_the_Web_%281914%29.webm)
|
||||
|
||||
They extend to the width of the page, and add appropriate padding in the bottom to maintain the monospace grid.
|
||||
|
||||
Reference in New Issue
Block a user