diff --git a/art_assets/vector/mix_playpause_01.afdesign b/art_assets/vector/mix_playpause_01.afdesign
new file mode 100644
index 0000000..5d74f0a
Binary files /dev/null and b/art_assets/vector/mix_playpause_01.afdesign differ
diff --git a/art_assets/vector/mix_playpause_01.afdesign~lock~ b/art_assets/vector/mix_playpause_01.afdesign~lock~
new file mode 100644
index 0000000..3950d73
Binary files /dev/null and b/art_assets/vector/mix_playpause_01.afdesign~lock~ differ
diff --git a/art_assets/vector/mix_playpause_01.afdesign~lock~:com.dropbox.ignored b/art_assets/vector/mix_playpause_01.afdesign~lock~:com.dropbox.ignored
new file mode 100644
index 0000000..f66c9cf
Binary files /dev/null and b/art_assets/vector/mix_playpause_01.afdesign~lock~:com.dropbox.ignored differ
diff --git a/art_assets/vector/ui_mix_seek_01.afdesign b/art_assets/vector/ui_mix_seek_01.afdesign
new file mode 100644
index 0000000..5f5b26b
Binary files /dev/null and b/art_assets/vector/ui_mix_seek_01.afdesign differ
diff --git a/art_assets/vector/ui_mix_seek_01.afdesign~lock~ b/art_assets/vector/ui_mix_seek_01.afdesign~lock~
new file mode 100644
index 0000000..94dcb6b
Binary files /dev/null and b/art_assets/vector/ui_mix_seek_01.afdesign~lock~ differ
diff --git a/art_assets/vector/ui_mix_seek_01.afdesign~lock~:com.dropbox.ignored b/art_assets/vector/ui_mix_seek_01.afdesign~lock~:com.dropbox.ignored
new file mode 100644
index 0000000..f66c9cf
Binary files /dev/null and b/art_assets/vector/ui_mix_seek_01.afdesign~lock~:com.dropbox.ignored differ
diff --git a/art_assets/vector/ui_mix_seek_02.afdesign b/art_assets/vector/ui_mix_seek_02.afdesign
new file mode 100644
index 0000000..ea21fc7
Binary files /dev/null and b/art_assets/vector/ui_mix_seek_02.afdesign differ
diff --git a/art_assets/vector/ui_mix_seek_02.afdesign~lock~ b/art_assets/vector/ui_mix_seek_02.afdesign~lock~
new file mode 100644
index 0000000..de6fe8f
Binary files /dev/null and b/art_assets/vector/ui_mix_seek_02.afdesign~lock~ differ
diff --git a/art_assets/vector/ui_mix_seek_02.afdesign~lock~:com.dropbox.ignored b/art_assets/vector/ui_mix_seek_02.afdesign~lock~:com.dropbox.ignored
new file mode 100644
index 0000000..f66c9cf
Binary files /dev/null and b/art_assets/vector/ui_mix_seek_02.afdesign~lock~:com.dropbox.ignored differ
diff --git a/docs/ANIMATIONS.md b/docs/ANIMATIONS.md
new file mode 100644
index 0000000..a9c755c
--- /dev/null
+++ b/docs/ANIMATIONS.md
@@ -0,0 +1,180 @@
+# Hand-Drawn Animation Effects
+
+This project includes a sustainable animation system for adding hand-drawn, organic animation effects to text and UI elements throughout the site.
+
+## Using Animations in Markdown
+
+Thanks to the **markdown-it-attrs** plugin (already installed), you can add CSS classes to any text inline in your markdown files using the `{.classname}` syntax.
+
+### Available Animation Classes
+
+#### `.shiver` - Subtle Shake/Vibration
+Creates a gentle trembling effect, like hand-drawn letters slightly moving.
+
+```markdown
+This text will [shiver]{.shiver} on the page!
+```
+
+#### `.wobble` - Gentle Sway
+A slow, organic swaying motion.
+
+```markdown
+The word [wobbles]{.wobble} gently back and forth.
+```
+
+#### `.draw` - Hand-Drawing Effect
+Simulates text being drawn onto the page (plays once on load).
+
+```markdown
+This text [appears drawn]{.draw} onto the page.
+```
+
+#### `.jitter` - Erratic Movement
+Fast, jittery movement for emphasis.
+
+```markdown
+This is [urgent]{.jitter} and needs attention!
+```
+
+#### `.bounce` - Playful Bounce
+Bounces up and down playfully.
+
+```markdown
+[Click here]{.bounce} for something fun!
+```
+
+### Examples
+
+#### Single Word Animation
+```markdown
+I'm feeling [jittery]{.jitter} about this!
+```
+
+#### Multiple Animations
+```markdown
+The [shaky]{.shiver} text was [drawn]{.draw} by hand.
+```
+
+#### Combining with Other Attributes
+You can combine animations with other markdown-it-attrs features:
+
+```markdown
+[Important note]{.shiver #special-note style="color: red;"}
+```
+
+### Applying to Entire Paragraphs
+
+You can also apply animations to entire blocks:
+
+```markdown
+The whole paragraph wobbles!
+{.wobble}
+```
+
+## Technical Details
+
+### CSS Architecture
+- **Location**: `/src/assets/css/global/utilities/text-animations.css`
+- **Layer**: `utilities` (automatically imported via `@import-glob`)
+- **Build**: Processed through PostCSS, minified in production
+
+### Animation Properties
+All animations:
+- Use `display: inline-block` to enable transforms
+- Include staggered delays for visual interest
+- Respect `prefers-reduced-motion` for accessibility
+- Use CSS custom properties where beneficial
+
+### Performance Considerations
+- Animations use `transform` and `opacity` (GPU-accelerated)
+- No layout thrashing or reflows
+- Minimal impact on page performance
+- Can be disabled per-element or globally via media query
+
+## Track Navigation Buttons
+
+The track navigation buttons on mix pages automatically include animated SVG backgrounds:
+
+- **Previous button**: Mirrored wavy line pointing left
+- **Next button**: Wavy line pointing right
+- **Animation**: Subtle color shift and opacity pulse
+- **Hover**: Faster animation speed
+
+### Implementation
+- Uses `::before` pseudo-element for background
+- SVG: `/assets/svg/ui/mix_seek_01.svg`
+- Controlled via `data-track-nav` attribute
+- CSS: `/src/assets/css/global/blocks/track-navigation.css`
+
+## Extending the System
+
+### Adding New Animation Effects
+
+1. **Add keyframes to** `/src/assets/css/global/utilities/text-animations.css`:
+
+```css
+@keyframes my-effect {
+ 0% { transform: /* start state */ }
+ 100% { transform: /* end state */ }
+}
+
+.my-effect {
+ display: inline-block;
+ animation: my-effect 1s ease-in-out infinite;
+}
+```
+
+2. **Use in markdown**:
+
+```markdown
+Text with [my custom effect]{.my-effect}!
+```
+
+### Creating Component-Specific Animations
+
+For UI components (like buttons, cards), add animations to the component's CSS file in `/src/assets/css/global/blocks/`.
+
+Example:
+```css
+.my-component[data-animated]::after {
+ animation: wave-draw 2s ease infinite;
+}
+```
+
+## Alternative Approaches Considered
+
+### Custom Markdown Plugin
+We could create a custom shortcode like `{% shiver "text" %}`, but:
+- ❌ More verbose syntax
+- ❌ Requires custom plugin development
+- ❌ Less flexible than attributes
+- ✅ Already have markdown-it-attrs installed
+
+### Inline Syntax
+We could use delimiters like `{shiver}text{/shiver}`, but:
+- ❌ Conflicts with existing syntax
+- ❌ Harder to parse reliably
+- ❌ Not standard markdown
+- ✅ Attributes are a well-established pattern
+
+### JavaScript-Based Animation
+We could use JavaScript libraries like:
+- **Anime.js**, **GSAP**, **Motion One**
+- ❌ Additional bundle size
+- ❌ Requires JavaScript to run
+- ❌ More complex implementation
+- ✅ CSS is simpler, more performant, works without JS
+
+## Best Practices
+
+1. **Use sparingly**: Animation should enhance, not distract
+2. **Consider accessibility**: Some users find animations distracting
+3. **Test performance**: Too many animated elements can impact page speed
+4. **Semantic HTML**: Animations are presentational, keep markup semantic
+5. **Progressive enhancement**: Content should work without animations
+
+## Resources
+
+- [markdown-it-attrs documentation](https://github.com/arve0/markdown-it-attrs)
+- [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API)
+- [prefers-reduced-motion](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion)
diff --git a/eleventy.config.js b/eleventy.config.js
index 10d3128..560fd98 100644
--- a/eleventy.config.js
+++ b/eleventy.config.js
@@ -131,7 +131,7 @@ export default async function (eleventyConfig) {
// --------------------- Passthrough File Copy
// -- same path
- ['src/assets/fonts/', 'src/assets/images/template', 'src/assets/og-images'].forEach(path =>
+ ['src/assets/fonts/', 'src/assets/images/template', 'src/assets/og-images', 'src/assets/svg/'].forEach(path =>
eleventyConfig.addPassthroughCopy(path)
);
diff --git a/src/_includes/partials/card-mix-track.njk b/src/_includes/partials/card-mix-track.njk
deleted file mode 100644
index c16dbd7..0000000
--- a/src/_includes/partials/card-mix-track.njk
+++ /dev/null
@@ -1,10 +0,0 @@
-{% set headingLevel = headingLevel | default('h3') %}
-
-
- <{{ headingLevel }}>
- {{ item.data.track_number }}. {{ item.data.title }} by {{ item.data.artist }}
- {{ headingLevel }}>
-
- {{- item.templateContent | safe -}}
-
-
\ No newline at end of file
diff --git a/src/_includes/partials/album-info.njk b/src/_includes/partials/mix-album-info.njk
similarity index 94%
rename from src/_includes/partials/album-info.njk
rename to src/_includes/partials/mix-album-info.njk
index 5fbeb10..80a1057 100644
--- a/src/_includes/partials/album-info.njk
+++ b/src/_includes/partials/mix-album-info.njk
@@ -17,7 +17,7 @@
{% if album %}
-
{{ album }}
+
{{ album }}
{% endif %}
{% if artist %}
{{ artist }}
diff --git a/src/_layouts/track.njk b/src/_layouts/mix-track.njk
similarity index 50%
rename from src/_layouts/track.njk
rename to src/_layouts/mix-track.njk
index 5276884..1bf7900 100644
--- a/src/_layouts/track.njk
+++ b/src/_layouts/mix-track.njk
@@ -18,34 +18,46 @@ layout: base
{{ title }}
- {% include "partials/album-info.njk" %}
+ {% include "partials/mix-album-info.njk" %}
{{ content | safe }}
diff --git a/src/assets/css/global/blocks/mix-track-navigation.css b/src/assets/css/global/blocks/mix-track-navigation.css
new file mode 100644
index 0000000..11b0323
--- /dev/null
+++ b/src/assets/css/global/blocks/mix-track-navigation.css
@@ -0,0 +1,56 @@
+/* Track list button with play/pause SVG background */
+.track-list-bg {
+ display: inline-block;
+ background-image: url('/assets/svg/ui/mix_playpause_01.svg');
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: center;
+ padding: 1.5em 0.6em;
+ animation: wave-draw 3s ease-in-out infinite;
+}
+
+/* Animate faster on hover */
+.track-list-bg:hover {
+ animation: wave-draw 1.5s ease-in-out infinite;
+}
+
+/* Track navigation: outer wrapper with SVG background */
+.track-nav-bg {
+ display: inline-block;
+ background-image: url('/assets/svg/ui/mix_seek_02.svg');
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: center;
+ padding: 1.5em 0.6em;
+ animation: wave-draw 3s ease-in-out infinite;
+}
+
+/* Mirror the SVG for previous buttons */
+.track-nav-bg[data-direction="prev"] {
+ transform: scaleX(-1);
+}
+
+/* Inner button with tight padding */
+.button[data-track-nav] {
+ --button-padding: var(--space-3xs) var(--space-l);
+}
+
+/* Flip content back for prev button so text reads correctly */
+.track-nav-bg[data-direction="prev"] .button[data-track-nav] {
+ transform: scaleX(-1);
+}
+
+/* Subtle wave animation */
+@keyframes wave-draw {
+ 0%, 100% {
+ filter: hue-rotate(0deg);
+ }
+ 50% {
+ filter: hue-rotate(15deg);
+ }
+}
+
+/* Animate faster on hover */
+.track-nav-bg:hover {
+ animation: wave-draw 1.5s ease-in-out infinite;
+}
diff --git a/src/assets/css/global/utilities/color-invert.css b/src/assets/css/global/utilities/color-invert.css
new file mode 100644
index 0000000..f2ceae1
--- /dev/null
+++ b/src/assets/css/global/utilities/color-invert.css
@@ -0,0 +1,14 @@
+/* Color inversion utility - swaps background and text colors */
+.color-invert {
+ background-color: var(--color-text);
+ color: var(--color-bg);
+}
+
+/* For buttons with the invert class */
+.button.color-invert {
+ --button-bg: var(--color-text);
+ --button-color: var(--color-bg);
+ --button-border-color: var(--color-text);
+ --button-hover-bg: var(--color-text);
+ --button-hover-color: var(--color-bg);
+}
diff --git a/src/assets/css/global/utilities/text-animations.css b/src/assets/css/global/utilities/text-animations.css
new file mode 100644
index 0000000..115fa81
--- /dev/null
+++ b/src/assets/css/global/utilities/text-animations.css
@@ -0,0 +1,140 @@
+/* Hand-drawn animation effects for text and UI elements */
+
+/* Shiver effect - subtle shake/vibration */
+@keyframes shiver {
+ 0%, 100% {
+ transform: translate(0, 0) rotate(0deg);
+ }
+ 10% {
+ transform: translate(-1px, -1px) rotate(-0.5deg);
+ }
+ 20% {
+ transform: translate(1px, 1px) rotate(0.5deg);
+ }
+ 30% {
+ transform: translate(-1px, 0) rotate(-0.3deg);
+ }
+ 40% {
+ transform: translate(1px, -1px) rotate(0.3deg);
+ }
+ 50% {
+ transform: translate(-1px, 1px) rotate(-0.4deg);
+ }
+ 60% {
+ transform: translate(1px, 0) rotate(0.4deg);
+ }
+ 70% {
+ transform: translate(-1px, -1px) rotate(-0.2deg);
+ }
+ 80% {
+ transform: translate(1px, 1px) rotate(0.2deg);
+ }
+ 90% {
+ transform: translate(0, -1px) rotate(-0.1deg);
+ }
+}
+
+.shiver {
+ display: inline-block;
+ animation: shiver 0.8s ease-in-out infinite;
+}
+
+/* Wobble effect - gentle sway */
+@keyframes wobble {
+ 0%, 100% {
+ transform: rotate(0deg) translateY(0);
+ }
+ 25% {
+ transform: rotate(2deg) translateY(-2px);
+ }
+ 75% {
+ transform: rotate(-2deg) translateY(2px);
+ }
+}
+
+.wobble {
+ display: inline-block;
+ animation: wobble 2s ease-in-out infinite;
+ transform-origin: center bottom;
+}
+
+/* Draw effect - simulate hand-drawing text */
+@keyframes draw-in {
+ from {
+ opacity: 0;
+ filter: blur(2px);
+ transform: translateX(-10px) rotate(-5deg);
+ }
+ to {
+ opacity: 1;
+ filter: blur(0);
+ transform: translateX(0) rotate(0deg);
+ }
+}
+
+.draw {
+ display: inline-block;
+ animation: draw-in 0.6s cubic-bezier(0.68, -0.55, 0.27, 1.55) forwards;
+}
+
+/* Jitter effect - erratic movement */
+@keyframes jitter {
+ 0%, 100% { transform: translate(0, 0); }
+ 10% { transform: translate(-2px, 1px); }
+ 20% { transform: translate(2px, -1px); }
+ 30% { transform: translate(-1px, 2px); }
+ 40% { transform: translate(1px, -2px); }
+ 50% { transform: translate(-2px, -1px); }
+ 60% { transform: translate(2px, 1px); }
+ 70% { transform: translate(-1px, -2px); }
+ 80% { transform: translate(1px, 2px); }
+ 90% { transform: translate(-2px, -2px); }
+}
+
+.jitter {
+ display: inline-block;
+ animation: jitter 0.5s ease-in-out infinite;
+}
+
+/* Bounce effect - playful bounce */
+@keyframes bounce {
+ 0%, 100% {
+ transform: translateY(0);
+ }
+ 50% {
+ transform: translateY(-10px);
+ }
+}
+
+.bounce {
+ display: inline-block;
+ animation: bounce 1s ease-in-out infinite;
+}
+
+/* Stagger animations for multiple elements */
+.shiver:nth-child(2n) {
+ animation-delay: 0.1s;
+}
+
+.shiver:nth-child(3n) {
+ animation-delay: 0.2s;
+}
+
+.wobble:nth-child(2n) {
+ animation-delay: 0.3s;
+}
+
+.wobble:nth-child(3n) {
+ animation-delay: 0.6s;
+}
+
+/* Reduce motion for accessibility */
+@media (prefers-reduced-motion: reduce) {
+ .shiver,
+ .wobble,
+ .draw,
+ .jitter,
+ .bounce {
+ animation: none;
+ }
+}
diff --git a/src/assets/svg/ui/mix_playpause_01.svg b/src/assets/svg/ui/mix_playpause_01.svg
new file mode 100644
index 0000000..128a74f
--- /dev/null
+++ b/src/assets/svg/ui/mix_playpause_01.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/svg/ui/mix_seek_01.svg b/src/assets/svg/ui/mix_seek_01.svg
new file mode 100644
index 0000000..269be12
--- /dev/null
+++ b/src/assets/svg/ui/mix_seek_01.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/svg/ui/mix_seek_02.svg b/src/assets/svg/ui/mix_seek_02.svg
new file mode 100644
index 0000000..05a2a32
--- /dev/null
+++ b/src/assets/svg/ui/mix_seek_02.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/pages/projects/mixes/tomorrowsbacon/00-album.md b/src/pages/projects/mixes/tomorrowsbacon/00-album.md
index 6bfb22d..2f53dec 100644
--- a/src/pages/projects/mixes/tomorrowsbacon/00-album.md
+++ b/src/pages/projects/mixes/tomorrowsbacon/00-album.md
@@ -5,7 +5,10 @@ project: TomorrowsBacon
permalink: /mixes/tomorrowsbacon/index.html
go: tomorrowsbacon
---
-An introduction and description of the album.
+A digital mixed CD.
+
+Argument goes here, eventually. In the meantime, imagine that I pasted in some filler text.
+
{% set itemList = collections.mix %}
{% set headingLevel = "h3" %}
diff --git a/src/pages/projects/mixes/tomorrowsbacon/02-bastards-of-young.md b/src/pages/projects/mixes/tomorrowsbacon/02-bastards-of-young.md
index 196dc14..29b5faf 100644
--- a/src/pages/projects/mixes/tomorrowsbacon/02-bastards-of-young.md
+++ b/src/pages/projects/mixes/tomorrowsbacon/02-bastards-of-young.md
@@ -6,9 +6,44 @@ date: 1985-09-18
project: TomorrowsBacon
track_number: 02
start_time: ""
+albumArt: "/pages/projects/mixes/tomorrowsbacon/the-replacements-tim.jpg"
+
---
## Notes
Notes go here.
## Lyrics
-Lyrics go here.
\ No newline at end of file
+Aaaaaah, god, what a mess on the ladder of success
+Where you take one step and miss the whole first rung
+Dreams unfulfilled, graduate unskilled
+It beats pickin’ cotton and waitin’ to be forgotten
+
+Wait on the sons of no one, bastards of young
+Wait on the sons of no one, bastards of young
+The daughters and the sons
+
+Clean your baby womb, trash that baby boom
+Elvis in the ground, no way he’ll be here tonight
+Income tax deduction, one hell of a function
+It beats pickin’ cotton or waitin’ to be forgotten
+
+Wait on the sons of no one, bastards of young
+Wait on the sons of no one, bastards of young
+Now the daughters and the sons
+
+Unwillingness to claim us, ya got no warrant to name us
+The ones love us best, are the ones we’ll lay to rest
+And visit their graves on holidays at best
+The ones love us least, are the ones we’ll die to please
+If it’s any consolation, I don’t begin to understand them
+
+Wait on the sons of no one, bastards of young
+Wait on the sons of no one, bastards of young
+Daughters and the sons
+Young, of young, young, young, young
+
+Take it, it’s yours, take it, it’s yours!
+Take it, it’s yours, take it, it’s yours!
+Take it, it’s yours, take it, it’s yours!
+Take it, it’s yours, take it, it’s yours!
+Take it, it's yours
\ No newline at end of file
diff --git a/src/pages/projects/mixes/tomorrowsbacon/03-howlin-at-the-moon.md b/src/pages/projects/mixes/tomorrowsbacon/03-howlin-at-the-moon.md
index 7f15038..44e65df 100644
--- a/src/pages/projects/mixes/tomorrowsbacon/03-howlin-at-the-moon.md
+++ b/src/pages/projects/mixes/tomorrowsbacon/03-howlin-at-the-moon.md
@@ -6,9 +6,92 @@ date: 1988-05-31
project: TomorrowsBacon
track_number: 03
start_time: ""
+albumArt: "/pages/projects/mixes/tomorrowsbacon/ramones-mania.jpg"
---
## Notes
Notes go here.
## Lyrics
-Lyrics go here.
\ No newline at end of file
+Sha-la-la-la
+Sha-la-la-la-la
+Sha-la-la-la
+Sha-la-la-la-la
+Sha-la-la-la
+Sha-la-la-la-la
+
+Ships are docking
+Planes are landing
+A never ending supply
+No more narco
+No more gangster
+Conservatives can cry
+I took the law and threw it away
+’Cause there’s nothing wrong, it’s just for play
+There's no law, no law anymore
+I want to steal from the rich and give to the poor
+
+Sha-la-la-la
+Sha-la-la-la-la
+Sha-la-la-la
+Sha-la-la-la-la
+
+It was glowing
+Glowing, glowing
+Glowing in the dark
+It was sparkling
+Sparkling, sparkling
+Sparking in the night
+I took the law and threw it away
+’Cause there's nothing wrong, it’s just for play
+There’s no law, no law anymore
+I want to steal from the rich and give to the poor
+
+Winter turns to summer
+Sadness turns to fun
+Keep the faith, baby
+You broke the rules and won
+
+Sha-la-la-la
+Sha-la-la-la-la
+Sha-la-la-la
+Sha-la-la-la-la
+Sha-la-la-la
+Sha-la-la-la-la
+
+Keep it glowing
+Glowing, glowing
+I’m not hurting anyone
+Keep it glowing
+Smoking, glowing
+I’m howling at the moon
+I took the law and threw it away
+’Cause there’s nothing wrong, it’s just for play
+There’s no law, no law anymore
+I want to steal from the rich and give to the poor
+
+Oh baby
+Oh baby
+Oh baby
+Oh baby
+I took the law and threw it away
+’Cause there’s nothing wrong, it’s just for play
+I’m smoking, baby
+I’m smoking, oh baby
+There’s no law, no law anymore
+I want to steal from the rich and give to the poor
+
+Sha-la-la-la
+Sha-la-la-la-la
+Sha-la-la-la
+Sha-la-la-la-la
+Sha-la-la-la
+Sha-la-la-la-la
+Sha-la-la-la
+Sha-la-la-la-la-la
+Sha-la-la-la
+Sha-la-la-la-la-la
+Sha-la-la-la
+Sha-la-la-la-la-la
+Sha-la-la-la
+Sha-la-la-la-la-la
+Sha-la-la-la
\ No newline at end of file
diff --git a/src/pages/projects/mixes/tomorrowsbacon/04-googies-vs-et.md b/src/pages/projects/mixes/tomorrowsbacon/04-googies-vs-et.md
index 3d5b7c2..7015870 100644
--- a/src/pages/projects/mixes/tomorrowsbacon/04-googies-vs-et.md
+++ b/src/pages/projects/mixes/tomorrowsbacon/04-googies-vs-et.md
@@ -1,14 +1,75 @@
---
title: "Goonies vs. E.T."
artist: "Run The Jewels"
-album: "Mania"
+album: "RTJ4"
date: 2020-06-03
project: TomorrowsBacon
track_number: 04
start_time: ""
+albumArt: "/pages/projects/mixes/tomorrowsbacon/rtj-rtj4.jpg"
---
## Notes
Notes go here.
## Lyrics
-Lyrics go here.
\ No newline at end of file
+Maybe if I had another chance, I would give another chance to you
+Ooh, If I make another wish
+I’ll wish for another wish for you (for you)
+(One, two)
+
+Egads, you heard of these lads
+The myth how we made a grip, never rode dick
+Truly the Cadillac of how to contract L’s on the quick
+Stick ’em up, slick talker, no tricks
+It’s the funniest shit, finally the money up
+And print on the kid and the planet hit skids
+Livin’ in a valley of flames like, “I win”
+Skyline ablaze in a Bob Ross pic
+You don’t want to acknowledge I’m raw, give a shit
+Never, nah, you can talk of me fond when I’m gone
+Bad news bear on the lawn with big claws
+Try’na hold our whole lives in its paws and applaud
+Swear to goddamn the whole city odd
+Make a romance hard, we got scars for hearts
+Shit for odds, baby, living in a one chance LARP
+So I stick to the art, oh my god, I’m
+Ultra mag, put cash in bag
+Running through dead zone, hope I don’t crash
+Tenor Saw motherfuck, ring it up fast
+Be alarmed, I’ma harm what I can and then dash
+Fuck, y’all got another planet on stash?
+Far from the fact of the flames of our trash?
+That is not snow, it is ash, and you gotta know
+The past got a wrath, it’s a lover gone mad
+
+But I promise
+Baby, if I had another chance,
+I would give another chance to you (ooh)
+If I make another wish, I would wish for a wish for you (ooh)
+But the brass on the magic lamp’s damn near rubbed through (through)
+It’s been wish after wish after wish after wish
+And the chances are that none are comin’ true
+
+Amazing, ain’t it, how we made it and didn’t fake it?
+Life’s a disguise, the truth is butt naked
+Used to be a time I’d see it and not say it
+Now I understand that woke folk be playin’
+Ain’t no revolution that’s televised and digitized
+You’ve been hypnotized and Twitter-ized by silly guys
+Cues to the evenin’ news, make sure you ill-advised
+Got you celebratin’ the generators of genocide
+Any good deed is pummeled, punished and penalized
+Rulers of the world will slice it up like a dinner pie
+Race in a nation told you to identify
+People take false pride and warfare incentivized
+Fuck that, me and my tribe we on an iller vibe
+We accept the role of the villains ’cause we been villainized
+Stomped to the dirt of the Earth, we still will arise
+In the Terrordome, let me alone as I soliloquize
+This is license to ill with a license to kill
+This is nigga with an attitude in Beverly Hills
+Heavy build with a pocket full of treasury bills
+Got a fire high temper, find it hard to chill
+I’m a lifetime member of Fuck That Fuck Shit
+Me and Jamie versus y’all with a knife and a musket
+Now our tombstones read, “They were nothing to fuck with”
\ No newline at end of file
diff --git a/src/pages/projects/mixes/tomorrowsbacon/05-better-way-to-live.md b/src/pages/projects/mixes/tomorrowsbacon/05-better-way-to-live.md
index 8b4493a..c03d1ad 100644
--- a/src/pages/projects/mixes/tomorrowsbacon/05-better-way-to-live.md
+++ b/src/pages/projects/mixes/tomorrowsbacon/05-better-way-to-live.md
@@ -6,9 +6,81 @@ date: 2024-06-14
project: TomorrowsBacon
track_number: 05
start_time: ""
+albumArt: "/pages/projects/mixes/tomorrowsbacon/kneecap-fine-art.png"
---
## Notes
Notes go here.
## Lyrics
-Lyrics go here.
\ No newline at end of file
+Underneath all the thundering there’s magic
+And if there’s a better way to live, I’ve gotta have it
+Because I think all but when I drink I’m okay
+It gets further away every time I try to grab it
+Underneath all the chattering there’s Heaven
+I gotta peak one day made me feel like I was seven
+I know it exists but I can’t stop getting pissed
+One more thing I’ll be adding to the list
+
+Faoi dheireadh tá deireadh tagtha le mo rut
+Mar bhí lá maith agamsa inniu buíochas le foc
+So I stroll I dtreo an pholl sa bhalla
+Four digit code, what do you know its Mo Chara
+And I’m gonna be spending my dole tonight
+Two pints at a time strolling about like Dolemite
+But home for a shite ar dtús, thit sé amach one push
+Mar nach raibh bac ar bith ag bailiú strap inniu, seo Móglaí Bap
+(What’s happening)
+And then we both jump down and do a class handstand
+Like a man’s man can
+Fág slán leis an dúshlán a bhí againn an mhí seo
+Mar go dtí seo, I’m on the upside of the see-saw
+
+Underneath all the thundering there’s magic
+And if there’s a better way to live, I’ve gotta have it
+Because I think all but when I drink I’m okay
+It gets further away every time I try to grab it
+Underneath all the chattering there’s Heaven
+I gotta peak one day made me feel like I was seven
+I know it exists but I can’t stop getting pissed
+One more thing I’ll be adding to the list
+
+Go fóill ag mothú cosúil le cac
+Ach ní ligim orm féin cause an ndéanann sé stop?
+Obviously not, what? Is mise moglai bap
+Cuirim mo raybans orm sula bhfágaim an teach
+Nó ba chuma liom, cause tá an t-am ag dul anonn
+Is tá an saol seo I bhfad róghairid
+Bheith ag cur amú an oiread ama ann
+Go síoraí I do cheann ag iarraidh éalú achan soicind
+Irish exit out the back without text
+Mar caithfidh tú tú féin a chur chun tosaigh
+I bhfad rófhurast bheith chomh crua ort féin I gcónaí
+Mar ní haon áit bheith i’do chónaí, déan cibé rud dtig leat a stócaigh
+Is faigh fíor-bhlas sula n-imíonn an beocht di
+
+Underneath all the thundering there’s magic
+And if there's a better way to live, I’ve gotta have it
+Because I think all but when I drink I’m okay
+It gets further away every time I try to grab it
+Underneath all the chattering there’s Heaven
+I gotta peak one day made me feel like I was seven
+I know it exists but I can’t stop getting pissed
+One more thing I’ll be adding to the list
+
+Éirí as do chean, caith do chloigeann in airde ar bharr do dtonn
+Tuigim go bhfuil an saol trom agus tionchair ann
+But we’ve got one chance then it’s done, so bí thú féin
+Speak your pain and receive the love
+Don’t let the cunts get ya, down
+And surround yourself with ones that miss ya
+Tóg soicind, tóg anáil, ná gabh níos gaiste
+Is creid go daingean go bhfuil an saol seo duitse
+
+Underneath all the thundering there’s magic
+And if there’s a better way to live, I've gotta have it
+Because I think all day, but when I drink I’m okay
+It gets further away, every time I try and grab it
+Underneath all the chattering there’s Heaven
+I got a little peak one day, made me feel like I was seven
+I know it exists, but I can’t stop getting pissed
+One more thing I’ll be adding to the list
\ No newline at end of file
diff --git a/src/pages/projects/mixes/tomorrowsbacon/06-violet-the-upper-room.md b/src/pages/projects/mixes/tomorrowsbacon/06-violet-the-upper-room.md
index 5fcbee4..770714b 100644
--- a/src/pages/projects/mixes/tomorrowsbacon/06-violet-the-upper-room.md
+++ b/src/pages/projects/mixes/tomorrowsbacon/06-violet-the-upper-room.md
@@ -1,14 +1,78 @@
---
title: "Violet (The Upper Room)"
artist: "CunninLynguists"
-album: "Fine Art"
+album: "Rose Azura Njano"
date: 2017-10-06
project: TomorrowsBacon
track_number: 6
start_time: ""
+albumArt: "/pages/projects/mixes/tomorrowsbacon/cunninlynguists-roseazuranjano.jpg"
---
## Notes
Notes go here.
## Lyrics
-Lyrics go here.
\ No newline at end of file
+Dearly beloved
+We are gathered here today, to celebrate an electric life
+Under violet sky
+I pray you hear our cry
+Please help us protect what’s right (amen)
+There ain’t nothing in this world, that could take your place
+There ain’t nothing in this world, that could take your place
+There ain’t nothing in this world, that could take your place
+There ain’t nothing in this world, that could take your place
+Gather your thoughts, gather around
+Painted arrangements, mixed from a pallet of sound
+A casket froze in indigo, royal and profound
+Many stems like hymns, once blossomed from ground
+But while the reaper is king, we carry the crown
+We weigh it out, dreaming, screaming or close to even
+In this sense nobody’s perfect, nobody is worthless
+The system’s imperfect, maybe we should measure in purpose
+What is yours? What is mine? When do we serve it?
+Being hood ain’t the absence of good
+Being square don’t make you equal or fair, it’s not an equal affair
+Weak voices can’t speak for a share
+Speak choices with no when or a where, are you aware? I don’t think so
+Unless your cup runneth over and you still sip slow
+Or guzzle ’til nothing, complaining when you don’t get mo’
+See another’s glass empty and you don’t think poor
+The upper room is calling
+What are we supposed to do?
+(There ain’t nothing in this world that can take your place)
+The upper room is calling
+It appears it’s just for you
+(There ain’t nothing in this world that can take your place)
+Faith (faith), we treat it like a four letter word
+While fear (fear), we shout it through the ghettos and burbs
+Hear me my Lord (hear me my Lord), come settle my nerves
+I pray these words bring honor as the heavens observe
+And to the sky where the birds will testify
+Freedom’s a state of mind be free any day or time
+Reality will make you doubt your actuality
+The truest fallacy is man can’t change how he sees
+So it’s death to reason, it’s left the legions
+Wondering where to pledge allegiance
+This is my letter to Ephesians, the rest, we need them
+Through death, the best are leaving
+The upper room is calling
+What are we suppose to do?
+The upper room is calling
+It appears it’s just for you
+Some people play the victim, some people play the fool
+Some people pay the dealer while others pay the dues
+I don’t know what’s realer, the struggle and the strain
+Or the guilt that can be built within when making gains
+Ain’t no cheating death, you can’t lie to life
+Plus everything about yous hiding in these satellites
+Outside of the one day that Adam had it right
+Humans are parasites, insatiable appetites
+“So where do we go from there?”, you ask
+I think we all trying to figure that out?
+One nation under a God kicking us out
+’Cause America took and takes the infamous route
+As we state from state to state, let’s be great again
+Let’s forget the salient struggle of each alien
+Parade after you honor the graves
+Of natives, slaves, women, gays
+Et cetera, et cetera, et cetera
\ No newline at end of file
diff --git a/src/pages/projects/mixes/tomorrowsbacon/07-new-gold.md b/src/pages/projects/mixes/tomorrowsbacon/07-new-gold.md
index b277a4b..815af18 100644
--- a/src/pages/projects/mixes/tomorrowsbacon/07-new-gold.md
+++ b/src/pages/projects/mixes/tomorrowsbacon/07-new-gold.md
@@ -6,9 +6,78 @@ date: 2023-02-24
project: TomorrowsBacon
track_number: 7
start_time: ""
+albumArt: "/pages/projects/mixes/tomorrowsbacon/gorillaz-cracker-island.jpg"
---
## Notes
Notes go here.
## Lyrics
-Lyrics go here.
\ No newline at end of file
+But in the magic cove, there’s a pretty one
+I asked her where it goes ’cause I really want
+I wonder if she knows that we’re underwater
+That’s the way it goes in this city wonder
+
+Moved to the spot, I’m one of a few
+A whole lot of everything, but nothin’ to do
+Tilted in a Tesla, partner, ex-wrestler
+He dates Francesca, they on the Xannies
+Liposuction scheduled for Granny
+She want to save some, add to her fanny
+Girls’ trip, Miami at the end of the year
+Polluted-filled skies, tryin’ to think clear
+I heard the bad news while I was sheddin’ a beer
+Watch out from the coast, Paul Revere
+We all play a part in the devil’s cheer
+Run to the hills ’cause the end is near
+
+But in the magic cove, there’s a pretty one
+I asked her where it goes ’cause I really want
+I wonder if she knows that we’re underwater
+
+That’s the way it goes in this city wonder
+Yo, a desolate city where it hurts to smile
+Ran into the Reverend, says it’s been a while
+I’m reining in a rando’, she’s a social scandal
+Gave ourselves a handout when it’s too much to bear
+ABC boys raided the mayor
+Like Shaun, he’s a Ryder, took on the dare
+Now he’s singin’ like a birdy, pullin’ on his hair
+Trendin’ on Twitter’s what some of us live for
+Friendship’s here, but now fuckin’ revolving door
+All of this a joke? Pauly Shore
+Bullshit keeps comin’, maybe I’m a matador
+What are we livin’ for?
+Are we all losing our minds?
+Because life got in the way
+(Hey, hey, hey)
+They will be here just in time
+Your replacement is here to stay (ahh)
+
+New gold, fool’s gold
+Everything will disappear (new gold)
+Someone’s out here
+Who traveled far too many years (new gold)
+To nowhere, nowhere (new gold, new gold)
+Nothing here is ever real (new gold)
+New gold, fool’s gold (new gold)
+Everything will disappear, disappear
+Disappear, disappear, disappear
+Disappear, disappear, disappear
+Disappear, disappear, disappear, disappear
+
+But in the magic cove, there’s a pretty one
+I asked her where it goes ’cause I really want
+I wonder if she knows that we’re underwater
+That’s the way it goes in this city wonder (new gold)
+But in the magic cove, there’s a pretty one (new gold, new gold, new gold)
+I ask her where it goes ’cause I really want (new gold, new gold, new gold)
+I wonder if she knows that we’re underwater (new gold, new gold, new gold)
+That’s the way it goes in this city wonder (new gold, new gold, new gold)
+In the magic cove, there’s a pretty one (new gold, fool’s gold)
+I ask her where it goes ’cause I really want (everything will disappear)
+I wonder if she knows that we’re underwater (someone’s out here)
+That’s the way it goes in this city wonder (who travelled far too many years)
+But in the magic cove, there’s a pretty one (to nowhere, nowhere)
+I ask her where it goes ’cause I really want (nothing here is ever real)
+I wonder if she knows that we’re underwater (new gold, fool’s gold)
+That’s the way it goes in this city wonder (everything will disappear)
\ No newline at end of file
diff --git a/src/pages/projects/mixes/tomorrowsbacon/cunninlynguists-roseazuranjano.jpg b/src/pages/projects/mixes/tomorrowsbacon/cunninlynguists-roseazuranjano.jpg
new file mode 100644
index 0000000..444ba0e
Binary files /dev/null and b/src/pages/projects/mixes/tomorrowsbacon/cunninlynguists-roseazuranjano.jpg differ
diff --git a/src/pages/projects/mixes/tomorrowsbacon/gorillaz-cracker-island.jpg b/src/pages/projects/mixes/tomorrowsbacon/gorillaz-cracker-island.jpg
new file mode 100644
index 0000000..53e8183
Binary files /dev/null and b/src/pages/projects/mixes/tomorrowsbacon/gorillaz-cracker-island.jpg differ
diff --git a/src/pages/projects/mixes/tomorrowsbacon/kneecap-fine-art.png b/src/pages/projects/mixes/tomorrowsbacon/kneecap-fine-art.png
new file mode 100644
index 0000000..0699cf8
Binary files /dev/null and b/src/pages/projects/mixes/tomorrowsbacon/kneecap-fine-art.png differ
diff --git a/src/pages/projects/mixes/tomorrowsbacon/ramones-mania.jpg b/src/pages/projects/mixes/tomorrowsbacon/ramones-mania.jpg
new file mode 100644
index 0000000..99a6c65
Binary files /dev/null and b/src/pages/projects/mixes/tomorrowsbacon/ramones-mania.jpg differ
diff --git a/src/pages/projects/mixes/tomorrowsbacon/rtj-rtj4.jpg b/src/pages/projects/mixes/tomorrowsbacon/rtj-rtj4.jpg
new file mode 100644
index 0000000..01539d4
Binary files /dev/null and b/src/pages/projects/mixes/tomorrowsbacon/rtj-rtj4.jpg differ
diff --git a/src/pages/projects/mixes/tomorrowsbacon/the-replacements-tim.jpg b/src/pages/projects/mixes/tomorrowsbacon/the-replacements-tim.jpg
new file mode 100644
index 0000000..4a200a2
Binary files /dev/null and b/src/pages/projects/mixes/tomorrowsbacon/the-replacements-tim.jpg differ
diff --git a/src/pages/projects/mixes/tomorrowsbacon/tomorrowsbacon.11tydata.js b/src/pages/projects/mixes/tomorrowsbacon/tomorrowsbacon.11tydata.js
index 3ac6533..5e207c8 100644
--- a/src/pages/projects/mixes/tomorrowsbacon/tomorrowsbacon.11tydata.js
+++ b/src/pages/projects/mixes/tomorrowsbacon/tomorrowsbacon.11tydata.js
@@ -3,7 +3,7 @@ import slugify from "slugify";
const s = (str) => slugify(String(str), { lower: true, strict: true });
export default {
- layout: "track",
+ layout: "mix-track",
permalink: (data) => {
const num = String(data.track_number).padStart(2, "0");
return `/mixes/${s(data.project)}/${num}-${s(data.title)}/index.html`;