wonderfulfrog.com/src/includes/layouts/movie.html
Devin Haska efcdb7296e
All checks were successful
Build and Deploy / build_and_deploy (push) Successful in 1m19s
Update CSS Pipeline (#4)
The goal of this change was to speed up my CSS pipeline. Previously builds would take up to 30s because it had to rebuild the CSS for every page (I inlined the CSS).

This updates the pipeline to remain somewhat the same, but offloads the busywork of computing my theme CSS (my design system in other words), and is replaced by a mostly static file (`css/global/lilypad.css`), which I can update as my design system changes.

I also offloaded several of my utility classes as I know I will want to use them in other sites I design, so it made sense to move them as well.

The new pipeline makes use of 11ty's bundle feature (newly included in 11ty v3), which allows me to bundle all my CSS together into one file. Since I know my core styles like `lilypad.css` will always remain the same, I decided to keep that inline. I use the `transforms` feature for bundling to run a PostCSS transform on the bundled output, which resolves any imports and minifies the final output.

In order to cut down my build times even further, I removed my XML minifier - it was taking upwards of 3 seconds to minify XML to probably a small benefit to end users.

Reviewed-on: #4
Co-authored-by: Devin Haska <wonderfulfrog@noreply.git.cloud.haska.me>
Co-committed-by: Devin Haska <wonderfulfrog@noreply.git.cloud.haska.me>
2025-05-30 11:16:37 -07:00

61 lines
2.2 KiB
HTML

---
layout: "layouts/base"
---
{% from "macros/date.njk" import format %}
{% from "macros/utils.njk" import stars, spoilerWarning %}
{% from "macros/tags.njk" import tagList %}
<article class="flow">
<header class="flow">
<div class="flow flow-space-1">
<h1>{{ title }}</h1>
{% if pullquote %}<h3 class="text-fadeText">{{ pullquote }}</h3>{% endif %}
</div>
{{ format(page.date) }}
</header>
{% if hasSpoilers %}
{{ spoilerWarning() }}
{% endif %}
{% if watchHistory.length > 1 %}
<p>
<span class="text-primary">{% include "svgs/circle-info.svg" %}</span>
I've seen this movie <strong>{{ watchHistory.length }}</strong> {{ "time" | pluralize(watchHistory) }}!
</p>
{% endif %}
{% if favourite or isFavourite %}
<p>
<span class="text-secondary">{% include "svgs/star.svg" %}</span>
This is one of my favourite movies!
</p>
{% endif %}
{% if content %}
<section class="flow flow-space-default">
{{ content | safe }}
</section>
{% endif %}
<footer class="card media-metadata-grid">
<div class="media-image media-image--tall">
<img src="{{ image }}" alt="" />
</div>
<div class="flow flex flex-col justify-center flow-space-4">
<h2>{{ title }}</h2>
{% if subtitle %}<p class="text-fadeText flow-space-2 line-height-m">{{ subtitle }}</p>{% endif %}
{% if rating %}{{ stars(rating) }}{% endif %}
<dl class="media-metadata">
{% if year %}
<dt><strong>Released</strong></dt>
<dd>{{ year }}</dd>
{% endif %}
{% if director %}
<dt><strong>Director</strong></dt>
<dd>{{ director }}</dd>
{% endif %}
{% if runtime %}
<dt><strong>Runtime</strong></dt>
<dd>{{ runtime }} minutes</dd>
{% endif %}
</dl>
</div>
</footer>
{{ tagList(tags | filter("movie") , "/watching/movies") }}
</article>