Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
feac942
fix: reduce blog post font size and line height on mobile
asboyer Feb 14, 2026
b984178
fix: reduce post list title font size on mobile
asboyer Feb 14, 2026
8632913
fix: stack featured pins full width on mobile
asboyer Feb 14, 2026
7ea61a5
fix: reduce post list item vertical padding on mobile
asboyer Feb 14, 2026
1900493
fix: equalize tag filter row spacing and reduce on mobile
asboyer Feb 14, 2026
4187034
feat: add blog description subtitle under page title
asboyer Feb 14, 2026
be509f7
fix: collapse whitespace in substack anchor to prevent mobile underline
asboyer Feb 14, 2026
2c70fc5
fix: hide scrollbar while preserving scroll functionality
asboyer Feb 14, 2026
a892965
chore: prettier
asboyer Feb 14, 2026
e87ad28
fix: prevent underline artifact on substack icon after click
asboyer Feb 14, 2026
ebcd936
chore: add .claudeignore to .gitignore
asboyer Feb 15, 2026
afc09b1
fix: replace IMDbPY with BeautifulSoup scraping for movie/show metadata
asboyer Feb 15, 2026
4433a0e
content: add Match Point to movies
asboyer Feb 15, 2026
ff82143
content: add favs_2026 archive page
asboyer Feb 15, 2026
86a6b91
feat: auto-generate yearly favs archive page if missing
asboyer Feb 15, 2026
e492542
content: remove Deadpool & Wolverine from favorites
asboyer Feb 15, 2026
2a1aa3e
content: update Match Point with rating and watch date
asboyer Feb 15, 2026
e0c3df7
feat: auto-populate released year from IMDB for movies and shows
asboyer Feb 15, 2026
1ae7546
content: added match point year
asboyer Feb 15, 2026
36a8211
give tracers trophie
asboyer Feb 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ secret.py
.cache
__pycache__/
_drafts/
.vscode/
.vscode/
.claudeignore
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ bing_site_verification: # out your bing-site-verification ID (Bing Webmaster)
# -----------------------------------------------------------------------------

blog_name: boyer's blog # blog_name will be displayed in your blog page
blog_description: all things asboyer
blog_description: I believe writing is one of the most powerful tools we have to understand the world. Hopefully, through my writing, you can discover something new in technology, lifestyle, ideas, projects, or storytelling.
permalink: /blog/:year/:title/

# Pagination
Expand Down
14 changes: 0 additions & 14 deletions _favs/deadpool_&_wolverine.md

This file was deleted.

14 changes: 14 additions & 0 deletions _favs/match_point.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
layout: fav
date: 2026-02-14
author: Andrew Boyer
title: Match Point
creator: Woody Allen
img: assets/img/favs/movies/match_point.jpg
categories: movies
link: https://www.imdb.com/title/tt0416320/
perfect: true
stars: 4.5
started: 2026-02-13
released: 2005
---
1 change: 1 addition & 0 deletions _favs/tracers_in_the_dark.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ started: 2024-05-27
finished: 2024-06-10
stars: 4.5
released: 2022
perfect: true
star_link: https://www.goodreads.com/review/show/6575621209
opener: |
---
5 changes: 4 additions & 1 deletion _pages/blog.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ pagination:

<div class="header-bar">
<h1>{{ site.blog_name }}</h1>
{% if blog_description_size > 0 %}
<p class="blog-description">{{ site.blog_description }}</p>
{% endif %}
</div>
{% endif %}

Expand Down Expand Up @@ -72,7 +75,7 @@ pagination:

<div class="container featured-posts">
{% assign is_even = featured_posts.size | modulo: 2 %}
<div class="row row-cols-{% if featured_posts.size <= 2 or is_even == 0 %}2{% else %}3{% endif %}">
<div class="row row-cols-1 row-cols-sm-{% if featured_posts.size <= 2 or is_even == 0 %}2{% else %}3{% endif %}">
<!-- TODO: fix the links, info it displays, like redirects and predicted length -->
{% for post in featured_posts %}
<div class="card-item col">
Expand Down
9 changes: 9 additions & 0 deletions _pages/favs_2026.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
layout: page
title: favs from 2026
permalink: /favs/2026/
description: favorite things from 2026
year: "2026"
---

{% include archive_list.liquid archive="2026" %}
8 changes: 8 additions & 0 deletions _pages/movies-2026.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
layout: page
title: 2026 movie list
permalink: /favs/2026/movie/
description: favorite movies of 2026
---

{% include archive_list.liquid category="movies" archive="2026" %}
6 changes: 6 additions & 0 deletions _posts/2024-03-01-the-sierra-escape-pt-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ authors:
font-size: 1.2rem !important;
line-height: 2.0 !important;
}
@media (max-width: 768px) {
#markdown-content {
font-size: 1.1rem !important;
line-height: 1.8 !important;
}
}
</style>

<h2 style="text-align: center; margin-top: 30px">Prologue</h2>
Expand Down
57 changes: 54 additions & 3 deletions _sass/_base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@
* Styles for the base elements of the theme.
******************************************************************************/

// Hide scrollbar while keeping scroll functionality
html {
scrollbar-width: none; // Firefox
-ms-overflow-style: none; // IE/Edge
&::-webkit-scrollbar {
display: none; // Chrome/Safari
}
}

// Typography

p,
Expand Down Expand Up @@ -399,6 +408,7 @@ blockquote {
// margin-bottom: 0px;
a {
margin: 0.5rem;
text-decoration: none;
i::before {
color: var(--global-text-color);
transition-property: all 0.2s ease-in-out;
Expand Down Expand Up @@ -544,12 +554,25 @@ footer.sticky-bottom {
color: var(--global-theme-color);
font-size: 5rem;
}

.blog-description {
color: var(--global-text-color-light);
font-size: 1rem;
// margin-top: -0.75rem;
margin-top: 0;
margin-bottom: 0;

@media (max-width: 768px) {
display: none;
}
}
}

.tag-category-list {
border-bottom: 1px solid var(--global-divider-color);
text-align: center;
padding-top: 1rem;
padding-bottom: 1rem;

ul {
justify-content: center;
Expand All @@ -559,10 +582,20 @@ footer.sticky-bottom {
li {
list-style: none;
display: inline-block;
padding: 1rem 0.5rem;
padding: 0.25rem 0.5rem;
margin: 0;
color: var(--global-text-color-light);
}
}

@media (max-width: 768px) {
ul {
p,
li {
padding: 0.1rem 0.5rem;
}
}
}
}

.post-title {
Expand All @@ -571,6 +604,12 @@ footer.sticky-bottom {
}
}

@media (max-width: 768px) {
.post-list .post-title {
font-size: 1.4rem;
}
}

@media (max-width: 500px) {
.post-title {
font-size: 2rem;
Expand Down Expand Up @@ -624,6 +663,13 @@ footer.sticky-bottom {
display: unset;
}
}

@media (max-width: 768px) {
li {
padding-top: 1rem;
padding-bottom: 0.5rem;
}
}
}

.pagination {
Expand Down Expand Up @@ -991,8 +1037,13 @@ html.transition *:after {
}

#markdown-content {
font-size: 1.15rem !important;
line-height: 1.8 !important;
font-size: 1.18rem !important;
line-height: 1.7 !important;

@media (max-width: 768px) {
font-size: 1.075rem !important;
line-height: 1.6 !important;
}
}

#navbar {
Expand Down
Binary file removed assets/img/favs/movies/deadpool_&_wolverine.jpg
Binary file not shown.
Binary file added assets/img/favs/movies/match_point.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
47 changes: 33 additions & 14 deletions fav.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
from spotipy.oauth2 import SpotifyClientCredentials
from secret import client_id, client_secret

import imdb

from datetime import datetime
today = datetime.now().strftime('%Y-%m-%d')

Expand Down Expand Up @@ -72,18 +70,23 @@
args.image_name = title.lower().replace(" ", "_") + '.jpeg'

if args.category in ['movies', 'shows']:
ia = imdb.IMDb()
from bs4 import BeautifulSoup
link = args.link
movie_id = args.link.split('/')[-2][2:]
movie = ia.get_movie(movie_id)
args.link = movie['full-size cover url']
args.image_name = movie['title'].lower().replace(" ", "_") + '.jpg'
title = movie['title']

if 'director' in movie:
creator = ', '.join([person['name'] for person in movie['director']])
elif 'creator' in movie:
creator = ', '.join([person['name'] for person in movie['creator']])
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
'Accept-Language': 'en-US,en;q=0.9'
}
r = requests.get(args.link, headers=headers)
r.raise_for_status()
soup = BeautifulSoup(r.text, 'html.parser')
og_title = soup.find('meta', property='og:title')['content']
title = og_title.split(' (')[0].strip()
released = og_title.split('(')[-1].split(')')[0].strip() if '(' in og_title else ''
args.link = soup.find('meta', property='og:image')['content']
args.image_name = title.lower().replace(" ", "_") + '.jpg'
director_tag = soup.find('meta', attrs={'name': 'description'})
creator = director_tag['content'].split('Directed by ')[-1].split('.')[0].strip() if director_tag and 'Directed by' in director_tag.get('content', '') else 'Unknown'
extra_field += f'\nreleased: {released}' if released else ''

# Download the image
response = requests.get(args.link, stream=True)
Expand Down Expand Up @@ -141,4 +144,20 @@
'''.format(category=args.category[:-1], year=datetime.now().strftime('%Y'))

with open(f"_pages/{args.category}-{datetime.now().strftime('%Y')}.md", 'w') as f:
f.write(markdown_content)
f.write(markdown_content)

year = datetime.now().strftime('%Y')
favs_year_path = f'_pages/favs_{year}.md'
if not os.path.exists(favs_year_path):
markdown_content = '''---
layout: page
title: favs from {year}
permalink: /favs/{year}/
description: favorite things from {year}
year: "{year}"
---

{{% include archive_list.liquid archive="{year}" %}}
'''.format(year=year)
with open(favs_year_path, 'w') as f:
f.write(markdown_content)