Skip to content

Commit f93d82c

Browse files
committed
sync with main
2 parents f00219e + d888fec commit f93d82c

File tree

11 files changed

+135
-17
lines changed

11 files changed

+135
-17
lines changed

.eleventy.js

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,36 @@ module.exports = function (eleventyConfig) {
4242
return `${booksThisYear.length} ${booksThisYear.length !== 1 ? "books" : "book"}`;
4343
});
4444

45-
eleventyConfig.addFilter("books", function (books) {
45+
const possiblyInsertProgressBar = (books, i) => {
46+
const current_page = books[i].current_page || 0;
47+
const pageValue = current_page ? `value=${current_page}` : "";
48+
49+
return !books[i].pages
50+
? ""
51+
: `<br>on p${current_page} of <strong>${books[i].pages}</strong> (${((current_page / books[i].pages) * 100).toFixed(1)}%):
52+
<progress max=${books[i].pages} ${pageValue}></progress>`;
53+
};
54+
eleventyConfig.addFilter("booksBeingRead", function (books) {
4655
if (books.length === 0) {
47-
return 'nothing... but probably eyeing <a href="https://oku.club/user/riastrad/collection/to-read">one of these</a>.';
56+
return "💀 nothing, nada, zilch 💀";
4857
}
4958

50-
let booklinks;
59+
let bookButtons, bookPopovers;
5160
for (let i = 0; i < books.length; i++) {
52-
const linked = `<a href="${books[i].link}">${books[i].title}</a>`;
61+
const btn = `<button popovertarget="book-card-${i}">${books[i].title}</button>`;
62+
const pop = `<div id="book-card-${i}" popover><a href="${books[i].link}">${books[i].title}</a>
63+
by ${books[i].author}
64+
${possiblyInsertProgressBar(books, i)}</div>`;
5365
if (i === 0) {
54-
booklinks = linked;
66+
bookButtons = btn;
5567
} else if (i !== 0 && i !== books.length - 1) {
56-
booklinks += `, ${linked}`;
68+
bookButtons += `, ${btn}`;
5769
} else {
58-
booklinks += `${books.length > 2 ? "," : ""} & ${linked}`;
70+
bookButtons += `${books.length > 2 ? "," : ""} & ${btn}`;
5971
}
72+
bookPopovers ? (bookPopovers += pop) : (bookPopovers = pop);
6073
}
61-
return booklinks;
74+
return bookButtons + bookPopovers;
6275
});
6376

6477
// keep a list of unique tags

_data/books/have_read.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,28 @@
11
[
2+
{
3+
"title": "I Gave You Eyes and You Looked Toward Darkness",
4+
"author": "Irene Solà",
5+
"isbn": 9781644453438,
6+
"started": "2025-11-09",
7+
"finished": "2025-11-15",
8+
"publisher": "Graywolf Press",
9+
"pages": 162,
10+
"situ": "/img/books/2025/i-gave-you-eyes-and-you-looked-toward-darkness.png",
11+
"review": "<p>I read Solà’s <a href=\"https://cyberb.space/shelf/irene-sola/when-i-sing-mountains-dance/\">previous novel</a> earlier this year and was awed by it. I subsequently bought her latest novel almost in a fugue state, certain that it would be artful and sharp.</p><p>This one had a dark, earthy texture. A continuation, but somehow also a departure from the earlier themes and preoccupations of <em>mountains</em>.</p><p>She’s more controlled here. Her narrative forms and characters feel more sustained and focused than the phantasmagoria of the earlier work. Worth checking out, but definitely darker and less exuberant than the prose I fell in love with earlier this year.</p>",
12+
"link": "https://www.graywolfpress.org/books/i-gave-you-eyes-and-you-looked-toward-darkness"
13+
},
14+
{
15+
"title": "Gilgamesh",
16+
"author": "David Ferry",
17+
"isbn": 9780374523831,
18+
"started": "2025-10-31",
19+
"finished": "2025-11-07",
20+
"publisher": "FSG",
21+
"pages": 99,
22+
"situ": "/img/books/2025/gilgamesh.png",
23+
"review": "<p>I read a more literal translation of this book <a href=\"https://cyberb.space/shelf/anonymous/the-epic-of-gilgamesh/\">over a decade ago</a>. The little bit I remember is that it was quite dry and I spent most of my time parsing academic footnotes.</p><p>The full title of this edition is “Gilgamesh: A New Rendering in English Verse.” David Ferry, who doesn’t read cuneiform or speak Sumerian or Babylonian, has a pretty straightforward goal with his rendering: based one what we know about the epic and its history, make the most accessible version of this poem for contemporary English readers. As a result, it’s not a translation so much as it is an adaptation. This book is to the original epic what “<a href=\"https://en.wikipedia.org/wiki/She%27s_the_Man?wprov=sfti1\">She’s the Man</a>” is to Shakespeare’s “<a href=\"https://en.wikipedia.org/wiki/Twelfth_Night?wprov=sfti1#\">Twelfth Night</a>.”</p><p>Does Ferry succeed? I think he does, for the most part. I certainly felt more affected by this story. The characters felt more alive. The images felt more vivid. In particular, the section where Gilgamesh follows the path of the sun in the dark tunnels under the mountain was very well done.</p>",
24+
"link": "https://openlibrary.org/books/OL7424322M/Gilgamesh"
25+
},
226
{
327
"title": "The Ancien Régime and the French Revolution",
428
"author": "Alexis de Tocqueville",

_data/books/reading.json

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
[
22
{
3-
"title": "Gilgamesh",
4-
"author": "David Ferry",
5-
"isbn": 9780374523831,
6-
"started": "2025-10-31",
7-
"link": "https://openlibrary.org/books/OL7424322M/Gilgamesh"
3+
"title": "The Rebel",
4+
"author": "Albert Camus",
5+
"isbn": 9780679733843,
6+
"started": "2025-11-16",
7+
"pages": 306,
8+
"current_page": 13,
9+
"link": "https://openlibrary.org/books/OL1566124M/The_rebel"
810
},
911
{
1012
"title": "The Books of Jacob",
1113
"author": "Olga Tokarczuk",
1214
"isbn": 9780593087480,
1315
"started": "2025-10-20",
16+
"pages": 965,
17+
"current_page": 276,
1418
"link": "https://openlibrary.org/books/OL34163330M/Books_of_Jacob"
1519
}
1620
]

_includes/assets/css/base.css

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,78 @@ a.post-title {
239239
}
240240
}
241241

242+
/* Popover Styling
243+
–––––––––––––––––––––––––––––––––––––––––––––––––– */
244+
245+
button {
246+
border: none;
247+
padding: 0;
248+
margin: 0;
249+
line-height: 1.2;
250+
background-color: rgba(238, 238, 51, 0.6);
251+
}
252+
253+
:popover-open {
254+
background: white;
255+
outline: #000 solid 2px;
256+
padding: 1.5em;
257+
width: 40vw;
258+
}
259+
260+
/* devices smaller than a phablet */
261+
@media (max-width: 700px) {
262+
:popover-open {
263+
width: 60vw;
264+
}
265+
}
266+
267+
::backdrop {
268+
backdrop-filter: blur(3px);
269+
}
270+
271+
/* setting some variables to make this easier */
272+
:root {
273+
--progress-bar-color: rgba(238, 238, 51, 0.6);
274+
--progress-bar-background: #fff;
275+
}
276+
277+
/* IE10 */
278+
progress {
279+
appearance: none;
280+
-moz-appearance: none;
281+
-webkit-appearance: none;
282+
color: var(--progress-bar-color);
283+
background: var(--progress-bar-background);
284+
outline: #000 solid 1px;
285+
width: 25vw;
286+
}
287+
288+
/* devices smaller than a phablet */
289+
@media (max-width: 700px) {
290+
:popover-open {
291+
width: 60vw;
292+
}
293+
progress {
294+
width: 100%;
295+
}
296+
}
297+
298+
/* Firefox */
299+
progress::-moz-progress-bar {
300+
background: var(--progress-bar-color);
301+
}
302+
303+
/* Chrome */
304+
progress::-webkit-progress-value {
305+
background: var(--progress-bar-color);
306+
outline: #000 solid 1px;
307+
}
308+
309+
/* incomplete part of the bar */
310+
progress::-webkit-progress-bar {
311+
background: var(--progress-bar-background);
312+
}
313+
242314
/* Buttons
243315
–––––––––––––––––––––––––––––––––––––––––––––––––– */
244316

bin/shelf.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ const cleanupDataFields = async (notionResponse) => {
4141
finished,
4242
publisher,
4343
pages,
44+
current_page,
4445
situ,
4546
review,
4647
link,
@@ -65,6 +66,9 @@ const cleanupDataFields = async (notionResponse) => {
6566
if (pages && pages.number !== null) {
6667
cleanBook.pages = pages.number;
6768
}
69+
if (current_page && current_page.number !== null) {
70+
cleanBook.current_page = current_page.number;
71+
}
6872

6973
if (cleanBook.finished) {
7074
const finalPath = await possiblySaveNewSituImage(title, finished, situ);

bin/technical-dictionary.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ frontend
44
mapbox
55
66
[a-z\-0-9]*\.png
7+
booksBeingRead
78
mailto
89
metadata.author.social.bluesky
910
currentYear

img/books/2025/gilgamesh.png

367 KB
Loading
399 KB
Loading

pages/home.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ This site is the primary conduit through which my lived experience flows into th
1818
{{ metadata.outpost.city }}, {{ metadata.outpost.country }}
1919

2020
**WHAT I'M READING**
21-
{{ books.reading | books }}
21+
{{ books.reading | booksBeingRead }}
2222

2323
**RECENT PUBLISHED WRITING**
2424
<a href="{{ publications.first.url }}">{{ publications.first.title }}</a> in *{{ publications.first.publisher }}*

posts/2025/italy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,6 @@ But time moves forward, despite our protests. We're back in Mumbai now, the pang
8888

8989
[^1]: Congrats again, Subhan & J.P.!
9090
[^2]: I am very thankful to the vacation stays we rented for having laundry machines.
91-
[^3]: If your interested in a very old, very quickly written blog about this from when I was 19, you can find it [here](notes/2009/europe-has-been-conquered/).
91+
[^3]: If your interested in a very old, very quickly written blog about this from when I was 19, you can find it [here](/notes/2009/europe-has-been-conquered/).
9292
[^4]: In English, this could be translated to "farm stay," as it's essentially a working farm that has some rooms for visitors, but the Italian version is so much more than what that translation implies.
9393
[^5]: There are no regular direct flights between Italy and Rome so despite the proximity, the travel days were quite long.

0 commit comments

Comments
 (0)