nueroplastic til post
This commit is contained in:
parent
a47a28e074
commit
60c4ab4137
@ -86,3 +86,18 @@ statusColor
|
|||||||
treking
|
treking
|
||||||
upgradable
|
upgradable
|
||||||
videogame
|
videogame
|
||||||
|
nixos
|
||||||
|
colemak
|
||||||
|
videogames
|
||||||
|
direnv
|
||||||
|
hugo
|
||||||
|
json
|
||||||
|
Kimber
|
||||||
|
localhost
|
||||||
|
Makefile
|
||||||
|
minification
|
||||||
|
nav
|
||||||
|
params
|
||||||
|
pre
|
||||||
|
symlinks
|
||||||
|
vendored
|
||||||
|
|||||||
65
AGENTS.md
Normal file
65
AGENTS.md
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
# AGENTS.md — fosscat.com Hugo Site
|
||||||
|
|
||||||
|
## What This Is
|
||||||
|
|
||||||
|
Hugo static site (fosscat.com). Personal blog + projects. Custom vendored Gokarna theme with Kimber base16 color palette and Maple Mono font.
|
||||||
|
|
||||||
|
## Essential Commands
|
||||||
|
|
||||||
|
```sh
|
||||||
|
hugo server # Dev server with live reload
|
||||||
|
hugo # Build to public/
|
||||||
|
hugo new posts/my-post.md # New blog post
|
||||||
|
hugo new projects/my-project.md # New project
|
||||||
|
```
|
||||||
|
|
||||||
|
No Makefile, no package.json, no CI. Nix flake + direnv auto-loads all tools on directory entry.
|
||||||
|
|
||||||
|
## Verify Changes
|
||||||
|
|
||||||
|
Run `hugo server` and check localhost:1313. Hugo reports template/config errors on build. No test suite — visual verification only.
|
||||||
|
|
||||||
|
## Key Files
|
||||||
|
|
||||||
|
| File | Purpose |
|
||||||
|
|------|---------|
|
||||||
|
| `config.toml` | Hugo config (theme, nav, params, syntax highlighting) |
|
||||||
|
| `flake.nix` | Nix dev environment (hugo, marksman, prettier, markdownlint, aspell) |
|
||||||
|
| `archetypes/default.md` | Post front matter template |
|
||||||
|
| `archetypes/projects.md` | Project front matter template (includes status color reference) |
|
||||||
|
| `.markdownlint.jsonc` | Markdownlint config |
|
||||||
|
| `.aspell.en.pws` | Personal spell check dictionary |
|
||||||
|
|
||||||
|
## Content
|
||||||
|
|
||||||
|
**Posts** (`content/posts/*.md`): Front matter fields: `title`, `date`, `lastmod`, `description`, `tags`, `type: "post"`, `showTableOfContents`, `image`, `image_alt`, `image_caption`, `draft`.
|
||||||
|
|
||||||
|
**Projects** (`content/projects/*.md`): Same as posts plus `status` (string) and `statusColor` (hex). Colors: green `#99c899`, blue `#537c9c`, yellow `#d8b56d`, red `#704f4f`, grey `#c3c3b4`, pink `#c88c8c`.
|
||||||
|
|
||||||
|
**Homepage about**: `content/index-about.md` (loaded by `layouts/index.html` via `readFile`).
|
||||||
|
|
||||||
|
## Layout Overrides (`layouts/`)
|
||||||
|
|
||||||
|
Root `layouts/` overrides take precedence over `themes/gokarna/layouts/`. Current overrides:
|
||||||
|
|
||||||
|
- `index.html` — 2-column home grid: recent posts + project updates card with status badges
|
||||||
|
- `partials/post.html` — featured image support
|
||||||
|
- `partials/page.html` — date/lastmod display logic
|
||||||
|
- `_default/term.html` — custom taxonomy page
|
||||||
|
- `projects/list.html` — project listing with status badges
|
||||||
|
- `projects/single.html` — single project page
|
||||||
|
- `shortcodes/baseurl.html` — outputs site base URL
|
||||||
|
|
||||||
|
## Critical Rules
|
||||||
|
|
||||||
|
1. **Never manually set `lastmod`** — the pre-commit hook auto-updates it via `scripts/update-lastmod.sh`
|
||||||
|
2. **Theme is vendored, NOT a submodule** — edit `themes/gokarna/` files directly
|
||||||
|
3. **CSS lives in `themes/gokarna/assets/css/`** — `main.css`, `dark.css`, `syntax.css`. Hugo's asset pipeline handles minification and fingerprinting
|
||||||
|
4. **Pre-commit hook** runs on `.md` files: lastmod update, markdownlint, aspell spell check, link validation. See `.githooks/pre-commit`
|
||||||
|
|
||||||
|
## Git Hooks & Scripts
|
||||||
|
|
||||||
|
Pre-commit hook auto-installed by `scripts/install_hooks.sh` (runs on nix shell entry). Scripts in `scripts/`:
|
||||||
|
- `update-lastmod.sh` — updates `lastmod` front matter (RFC3339)
|
||||||
|
- `check-links.sh` — curl-based dead link checker
|
||||||
|
- `install_hooks.sh` — symlinks `.githooks/*` into `.git/hooks/`
|
||||||
109
CLAUDE.md
109
CLAUDE.md
@ -1,109 +0,0 @@
|
|||||||
# CLAUDE.md
|
|
||||||
|
|
||||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
||||||
|
|
||||||
## Architecture Overview
|
|
||||||
|
|
||||||
This is a Hugo static site for the Foss Cat blog (fosscat.com), using the Gokarna theme. The site
|
|
||||||
includes blog posts, TILs (Today I Learned), and project pages.
|
|
||||||
|
|
||||||
Key architectural components:
|
|
||||||
|
|
||||||
- **Hugo framework**: Static site generator with content in Markdown
|
|
||||||
- **Gokarna theme**: Git submodule theme providing the site's design
|
|
||||||
- **Content structure**: Posts in `content/posts/`, TILs in `content/tils/`, projects in `content/projects/`
|
|
||||||
- **Static assets**: Images and other assets in `static/` directory
|
|
||||||
- **Custom layouts**: Overrides in `layouts/` for TILs and other content types
|
|
||||||
- **Configuration**: Main site config in `config.toml`
|
|
||||||
|
|
||||||
## Development Commands
|
|
||||||
|
|
||||||
### Environment Setup
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Initialize git submodules (theme)
|
|
||||||
git submodule init
|
|
||||||
git submodule update
|
|
||||||
|
|
||||||
# Enter Nix development environment (if using Nix)
|
|
||||||
nix develop
|
|
||||||
```
|
|
||||||
|
|
||||||
### Building and Development
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Start development server with live reload
|
|
||||||
hugo server
|
|
||||||
|
|
||||||
# Build static site for production
|
|
||||||
hugo
|
|
||||||
|
|
||||||
# Build with drafts included
|
|
||||||
hugo --buildDrafts
|
|
||||||
```
|
|
||||||
|
|
||||||
### Linting and Quality Checks
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Lint markdown files
|
|
||||||
markdownlint content/**/*.md
|
|
||||||
|
|
||||||
# Format markdown files
|
|
||||||
prettier --write content/**/*.md
|
|
||||||
|
|
||||||
# Spell check (requires aspell with English dictionary)
|
|
||||||
aspell check --mode=markdown --lang=en --personal=./.aspell.en.pws [filename.md]
|
|
||||||
```
|
|
||||||
|
|
||||||
### Git Hooks
|
|
||||||
|
|
||||||
- Pre-commit hooks automatically installed via `scripts/install_hooks.sh`
|
|
||||||
- Hooks run markdown linting and spell checking on staged `.md` files
|
|
||||||
- Personal dictionary in `.aspell.en.pws` for spell checking
|
|
||||||
|
|
||||||
## Content Management
|
|
||||||
|
|
||||||
### Creating New Content
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Create new blog post
|
|
||||||
hugo new posts/post-title.md
|
|
||||||
|
|
||||||
# Create new TIL
|
|
||||||
hugo new tils/til-title.md
|
|
||||||
|
|
||||||
# Create new project
|
|
||||||
hugo new projects/project-name.md
|
|
||||||
```
|
|
||||||
|
|
||||||
### TILs (Today I Learned)
|
|
||||||
|
|
||||||
- Custom archetype in `archetypes/tils.md`
|
|
||||||
- Custom layouts in `layouts/tils/` for list and single views
|
|
||||||
- Accessible via `/tils/` URL path
|
|
||||||
|
|
||||||
## Site Configuration
|
|
||||||
|
|
||||||
- **Base URL**: <https://fosscat.com/>
|
|
||||||
- **Theme**: Gokarna (git submodule)
|
|
||||||
- **Syntax highlighting**: catppuccin-frappe style
|
|
||||||
- **Content language**: English (en-us)
|
|
||||||
- **Social icons**: Configured for Gitea, Twitch, RSS
|
|
||||||
- **Navigation menu**: Defined in `config.toml`
|
|
||||||
|
|
||||||
## Development Environment
|
|
||||||
|
|
||||||
This repository uses Nix flakes for reproducible development environment including:
|
|
||||||
|
|
||||||
- Hugo static site generator
|
|
||||||
- Marksman (Markdown LSP)
|
|
||||||
- Prettier (code formatter)
|
|
||||||
- markdownlint-cli
|
|
||||||
- aspell with English dictionaries
|
|
||||||
|
|
||||||
## Quality Assurance
|
|
||||||
|
|
||||||
- Markdown linting enforced via `.markdownlint.jsonc` configuration
|
|
||||||
- Spell checking with personal dictionary support
|
|
||||||
- Pre-commit hooks prevent commits with linting/spelling errors
|
|
||||||
- Use `git commit --no-verify` to bypass hooks if needed
|
|
||||||
@ -56,6 +56,7 @@ togglePreviousAndNextButtons = "true"
|
|||||||
avatarUrl = "/images/fosscat_icon.png"
|
avatarUrl = "/images/fosscat_icon.png"
|
||||||
avatarSize = "size-s"
|
avatarSize = "size-s"
|
||||||
numberPostsOnHomePage = 5
|
numberPostsOnHomePage = 5
|
||||||
|
numberProjectsOnHomePage = 3
|
||||||
showPostsOnHomePage = "recent"
|
showPostsOnHomePage = "recent"
|
||||||
|
|
||||||
[params.meta]
|
[params.meta]
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
date: 2026-02-23T00:53:05-07:00
|
date: 2026-02-22T23:53:05-07:00
|
||||||
description: "Wondering what sort of algorithm my dog uses for navigation"
|
description: "Wondering what sort of algorithm my dog uses for navigation"
|
||||||
image: "/images/otto-on-nature-path-algorithm.jpg"
|
image: "/images/otto-on-nature-path-algorithm.jpg"
|
||||||
lastmod: 2026-02-23T01:08:53-07:00
|
lastmod: 2026-02-24T00:35:36-07:00
|
||||||
showTableOfContents: false
|
showTableOfContents: false
|
||||||
tags: ["dogs", "optimization"]
|
tags: ["dogs", "optimization"]
|
||||||
title: "Dog Based Search Path"
|
title: "Dog Based Search Path"
|
||||||
@ -17,10 +17,10 @@ Its wonderful! It helps me feel like I'm actually out in nature and escape from
|
|||||||
|
|
||||||
While walking along the path, Otto came running up to check in with me, as he does after having sufficiently strayed off.
|
While walking along the path, Otto came running up to check in with me, as he does after having sufficiently strayed off.
|
||||||
|
|
||||||
The path seems like it was a part of a pond or lake shore, as there is a steep drop off on one side. Otto happened to be on this side, and as he approached, I could see the "path" through many bushes and up a very steep, albiet short, ridge wall. I thought quickly and efficiently to myself that he would not be able to scale it.
|
The path seems like it was a part of a pond or lake shore, as there is a steep drop off on one side. Otto happened to be on this side, and as he approached, I could see the "path" through many bushes and up a very steep, albeit short, ridge wall. I thought quickly and efficiently to myself that he would not be able to scale it.
|
||||||
|
|
||||||
Despite my extremely based and factual take, Otto charged ahead. And with little more effort than he noramlly gives while sprinting around, he crested and came to pant next to me with such ease!
|
Despite my extremely based and factual take, Otto charged ahead. And with little more effort than he normally gives while sprinting around, he crested and came to pant next to me with such ease!
|
||||||
|
|
||||||
Our drastically different calculus made me wonder. I wondered if dogs have some complex decision hierarchy like we do. I wondered if he just tried the first path he could see, whether or not it was viable.
|
Our drastically different calculus made me wonder. I wondered if dogs have some complex decision hierarchy like we do. I wondered if he just tried the first path he could see, whether or not it was viable.
|
||||||
|
|
||||||
I remember also reading _Entangled Life_ by Merlin Sheldrake, and hearing how slime molds perform various search algorithms in mazes to find food. I wonder how many biological processes should be mapped more frequently to the world of computure science!
|
I remember also reading _Entangled Life_ by Merlin Sheldrake, and hearing how slime molds perform various search algorithms in mazes to find food. I wonder how many biological processes should be mapped more frequently to the world of computer science!
|
||||||
|
|||||||
@ -1,12 +1,11 @@
|
|||||||
---
|
---
|
||||||
date: 2025-10-05T20:08:25-06:00
|
date: 2025-10-05T20:08:25-06:00
|
||||||
description: ""
|
description: "Turns out our brains capacity hasn't really changed much over the last couple thousand years..."
|
||||||
lastmod: 2025-10-05T20:08:25-06:00
|
lastmod: 2026-02-24T00:35:36-07:00
|
||||||
showTableOfContents: true
|
showTableOfContents: true
|
||||||
type: "post"
|
type: "post"
|
||||||
title: "TIL: Hunter Gatherers Were Not Dumb"
|
title: "TIL: Hunter Gatherers Were Not Dumb"
|
||||||
image: ""
|
image: ""
|
||||||
image_credit: ""
|
|
||||||
image_alt: ""
|
image_alt: ""
|
||||||
tags: ["history", "til"]
|
tags: ["history", "til"]
|
||||||
---
|
---
|
||||||
|
|||||||
32
content/posts/til-the-limits-of-nueroplasticity.md
Normal file
32
content/posts/til-the-limits-of-nueroplasticity.md
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
date: 2026-02-23T23:25:19-07:00
|
||||||
|
description: "How far can our brains be pushed to learn and adapt?"
|
||||||
|
# image: ""
|
||||||
|
lastmod: 2026-02-24T00:35:36-07:00
|
||||||
|
showTableOfContents: false
|
||||||
|
tags: ["til", "neuroscience", "technology"]
|
||||||
|
title: "TIL: The Limits of Neuroplasticity"
|
||||||
|
type: "post"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Context
|
||||||
|
|
||||||
|
> My brain is plastic, its fantastic :musical_note:
|
||||||
|
|
||||||
|
I was listening to an interesting interview today on the [Waking Up app (wakingup.com)](https://www.wakingup.com/) between [Sam Harris (Wikipedia)](https://en.wikipedia.org/wiki/Sam_Harris) and [Adam Gazzaley (Wikipedia)](https://en.wikipedia.org/wiki/Adam_Gazzaley). In it, they discuss the cost of multitasking, and Gazzaley's ground-breaking, FDA-approved prescription videogame, [Endeavorrx (product site)](https://www.endeavorrx.com/).
|
||||||
|
|
||||||
|
# Reflection
|
||||||
|
|
||||||
|
I was surprised to hear them distill why they thought meditation is effective as a practice to improve focus. Our brains work incredibly well at improving circuits that fire together.
|
||||||
|
|
||||||
|
> Things that fire together, wire together [^1]
|
||||||
|
|
||||||
|
It's sort of like bushwhacking. Walking through dense forest is tough, then a little path clears, the dirt packs harder, plants make way and mother nature bends around the force. Stop walking the path, and she fills it back in. Our brains do this work in disparate areas of cognition: memory, problem solving, creativity, anxious rumination, flares of rage, etc. These circuits have no value judgements attached in the brain, they aren't labelled "beneficial" or "harmful". If you practice things over and over, your brain does the growth part on its own.
|
||||||
|
|
||||||
|
I found that fascinating!
|
||||||
|
|
||||||
|
The FDA approved videogame is a different story, but also really cool sounding. I wonder in the future it will become common to medicate our problematic brain habits with fun videogames! Or the videogames we play become standardized around certain practices that promote healthy circuits instead of the obsessive and negative ones.
|
||||||
|
|
||||||
|
So many of the things we do each day are things we have been doing for many days previous. Our brains find these grooves and keep practicing the same routes. The conversation really spurred on some introspection, the double-edged nature of our brains. I'm constantly improving my ability to do whatever I'm doing in each moment, whether I choose to or not.
|
||||||
|
|
||||||
|
[^1]: [Hebb's Rule (Wikipedia)](https://en.wikipedia.org/wiki/Hebbian_theory)
|
||||||
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
date: 2025-10-01T22:32:18-06:00
|
date: 2025-10-01T22:32:18-06:00
|
||||||
description: ""
|
description: "Why flushing buffers is necessary"
|
||||||
lastmod: 2025-10-01T22:32:18-06:00
|
lastmod: 2026-02-24T00:35:36-07:00
|
||||||
showTableOfContents: true
|
showTableOfContents: true
|
||||||
type: "post"
|
type: "post"
|
||||||
title: "TIL: Why We Cant Forget to Flush"
|
title: "TIL: Why We Cant Forget to Flush"
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
---
|
---
|
||||||
date: 2026-02-08T21:49:30-07:00
|
date: 2026-02-08T21:49:30-07:00
|
||||||
description: "A journey of tweaks to make my super fun Framework 12 Laptop amazing."
|
description: "A journey of tweaks to make my super fun Framework 12 Laptop amazing."
|
||||||
lastmod: 2026-02-21T15:59:38-07:00
|
lastmod: 2026-02-24T00:35:36-07:00
|
||||||
showTableOfContents: true
|
showTableOfContents: true
|
||||||
type: "projects"
|
type: "projects"
|
||||||
title: "Framework12 Tweaks"
|
title: "Framework12 Tweaks"
|
||||||
status: "In Progress"
|
status: "In Progress"
|
||||||
statusColor: "#537c9c"
|
statusColor: "#78b4b4"
|
||||||
tags: ["framework", "laptop", "linux", "colemak-dh", "keyboard layout", "nixos", "usability"]
|
tags: ["framework", "laptop", "linux", "colemak-dh", "keyboard layout", "nixos", "usability"]
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -38,13 +38,13 @@ I'm a converted acolyte of the anti-QWERTY alliance.
|
|||||||
|
|
||||||
I don't hate QWERTY. But it is illogical to persist using the keyboard that was not designed to be used as it is today. In my opinion, it is an inherited sin, and I will not perpetuate its havoc.
|
I don't hate QWERTY. But it is illogical to persist using the keyboard that was not designed to be used as it is today. In my opinion, it is an inherited sin, and I will not perpetuate its havoc.
|
||||||
|
|
||||||
QWERTY was designed for type writers. Keys connected directly to the actuating hammers that would press the inked letters onto paper (or through ink ribbon, etc). Letters that were commonly pressed together were moved apart to prevent jamming. Literally, an un-ergonomic layout.
|
QWERTY was designed for type writers. Keys connected directly to the actuating hammers that would press the inked letters onto paper (or through ink ribbon, etc). Letters that were commonly pressed together were moved apart to prevent jamming. Literally, an anti ergonomic layout.
|
||||||
|
|
||||||
I type for my living. The promise made by Colemak (and friends) is reduced strain.
|
I type for my living. The promise made by Colemak (and friends) is reduced strain.
|
||||||
|
|
||||||
Look up keyboard layout heatmaps if you are interested. The most commonly pressed keys are put closer to your fingers on home row (who would have thought?). Its like carrying the trash can along as you pick up trash along a path vs going back and treking back and forth between the can and the piece each time (assume trash piece == carrying capacity lol).
|
Look up keyboard layout heatmaps if you are interested. The most commonly pressed keys are put closer to your fingers on home row (who would have thought?). Its like carrying the trash can along as you pick up trash along a path vs going back and treking back and forth between the can and the piece each time (assume trash piece == carrying capacity lol).
|
||||||
|
|
||||||
You may think the example is very exagerated. Yes, its physically a lot more movement. But, I probably type thousands of characters a day. Maybe tens of thousands on the heavier days. So an extra inch stretch * 1000, every day. These add up. And you can feel it.
|
You may think the example is very exaggerated. Yes, its physically a lot more movement. But, I probably type thousands of characters a day. Maybe tens of thousands on the heavier days. So an extra inch stretch * 1000, every day. These add up. And you can feel it.
|
||||||
|
|
||||||
I will be honest though, if finger or wrist (especially wrist) pain is a serious problem for you, a layout change provides some benefit, but requires a lot of effort.
|
I will be honest though, if finger or wrist (especially wrist) pain is a serious problem for you, a layout change provides some benefit, but requires a lot of effort.
|
||||||
I had burning wrists after a work day for a while. The thing that fixed it was a split keyboard. Holding both hands close together in front of you to type is akin to being handcuffed. No really! Put your hands out onto your computer keyboard (assuming you have a standard rectangle brick of a board). Your wrists come together, then your hands fan out cock-eyed. The best solution, in my opinion, is to cut your keyboard in half and center them to each hand! Or get the Wave keyboard. They both essentially accomplish the same thing - to keep
|
I had burning wrists after a work day for a while. The thing that fixed it was a split keyboard. Holding both hands close together in front of you to type is akin to being handcuffed. No really! Put your hands out onto your computer keyboard (assuming you have a standard rectangle brick of a board). Your wrists come together, then your hands fan out cock-eyed. The best solution, in my opinion, is to cut your keyboard in half and center them to each hand! Or get the Wave keyboard. They both essentially accomplish the same thing - to keep
|
||||||
|
|||||||
@ -5,7 +5,7 @@ type: "projects"
|
|||||||
status: "Paused"
|
status: "Paused"
|
||||||
statusColor: "#ff9800"
|
statusColor: "#ff9800"
|
||||||
date: "2025-01-10"
|
date: "2025-01-10"
|
||||||
lastmod: 2026-02-21T15:59:38-07:00
|
lastmod: 2026-02-24T00:35:36-07:00
|
||||||
---
|
---
|
||||||
|
|
||||||
# Zig Game Dev with SDL2
|
# Zig Game Dev with SDL2
|
||||||
|
|||||||
@ -38,7 +38,8 @@
|
|||||||
|
|
||||||
{{ if isset .Site.Params "showpostsonhomepage" }}
|
{{ if isset .Site.Params "showpostsonhomepage" }}
|
||||||
|
|
||||||
<div class="home-posts list-posts">
|
<div class="home-grid">
|
||||||
|
<div class="home-posts-column home-posts list-posts">
|
||||||
<h2>Recent Posts</h2>
|
<h2>Recent Posts</h2>
|
||||||
|
|
||||||
{{ $posts := where .Site.Pages "Params.type" "post" }}
|
{{ $posts := where .Site.Pages "Params.type" "post" }}
|
||||||
@ -52,6 +53,29 @@
|
|||||||
{{- partial "list-posts.html" . -}}
|
{{- partial "list-posts.html" . -}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{ $projects := where .Site.RegularPages "Params.type" "projects" }}
|
||||||
|
{{ if gt (len $projects) 0 }}
|
||||||
|
<div class="home-projects-card">
|
||||||
|
<h2>Project Updates</h2>
|
||||||
|
{{ range $projects.ByLastmod.Reverse | first (or $.Site.Params.NumberProjectsOnHomePage 3) }}
|
||||||
|
{{ $project := . }}
|
||||||
|
<div class="home-project-entry">
|
||||||
|
<a href="{{ .Permalink }}">{{ .Title }}</a>
|
||||||
|
<div class="home-project-meta">
|
||||||
|
{{ with .Params.status }}
|
||||||
|
{{ $color := $project.Params.statusColor | default "#9e9e9e" }}
|
||||||
|
<span class="home-project-status" style="color: {{ $color }}; border: 1px solid {{ $color }}; background-color: {{ $color }}20;">{{ . }}</span>
|
||||||
|
·
|
||||||
|
{{ end }}
|
||||||
|
Updated {{ $project.Lastmod.Format "Jan 2, 2006" }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
<a class="view-all" href="/projects/">View all projects →</a>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@ -44,6 +44,16 @@ a:hover .feather-moon {
|
|||||||
color: rgb(var(--dark-primary-color));
|
color: rgb(var(--dark-primary-color));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.post-title-tag {
|
||||||
|
border-color: var(--dark-tertiary-color);
|
||||||
|
color: var(--dark-muted-color);
|
||||||
|
}
|
||||||
|
.post-title-tag:hover {
|
||||||
|
background-color: var(--dark-text-color);
|
||||||
|
color: rgb(var(--dark-primary-color));
|
||||||
|
border-color: var(--dark-text-color);
|
||||||
|
}
|
||||||
|
|
||||||
.tags-list .post-tags .post-tag a .tag-posts-count {
|
.tags-list .post-tags .post-tag a .tag-posts-count {
|
||||||
background-color: var(--dark-secondary-color);
|
background-color: var(--dark-secondary-color);
|
||||||
}
|
}
|
||||||
@ -101,6 +111,19 @@ pre {
|
|||||||
background-color: var(--dark-secondary-color);
|
background-color: var(--dark-secondary-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.home-projects-card {
|
||||||
|
border-color: var(--dark-tertiary-color);
|
||||||
|
background-color: var(--dark-secondary-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-project-meta {
|
||||||
|
color: var(--dark-muted-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-projects-card .view-all {
|
||||||
|
border-top-color: var(--dark-tertiary-color);
|
||||||
|
}
|
||||||
|
|
||||||
/* TODO: Check if this is needed or not */
|
/* TODO: Check if this is needed or not */
|
||||||
/*
|
/*
|
||||||
img,
|
img,
|
||||||
|
|||||||
@ -307,6 +307,27 @@ a:hover .feather-sun {
|
|||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Small tag bubbles for post listings */
|
||||||
|
.post-title-tags {
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
.post-title-tag {
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 0.7rem;
|
||||||
|
padding: 1px 7px;
|
||||||
|
border: 1px solid var(--light-secondary-color);
|
||||||
|
border-radius: 3px;
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--light-muted-color);
|
||||||
|
margin-right: 4px;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
||||||
|
.post-title-tag:hover {
|
||||||
|
background-color: var(--light-text-color);
|
||||||
|
color: rgb(var(--light-primary-color));
|
||||||
|
border-color: var(--light-text-color);
|
||||||
|
}
|
||||||
|
|
||||||
/* CODE BLOCKS */
|
/* CODE BLOCKS */
|
||||||
code,
|
code,
|
||||||
pre {
|
pre {
|
||||||
@ -463,6 +484,72 @@ table td {
|
|||||||
width: 80%;
|
width: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* HOME GRID (posts + projects side by side) */
|
||||||
|
.home-grid {
|
||||||
|
display: flex;
|
||||||
|
gap: 2rem;
|
||||||
|
width: 80%;
|
||||||
|
margin: 0 auto;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.home-grid .home-posts {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.home-posts-column {
|
||||||
|
flex: 3;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
.home-projects-card {
|
||||||
|
flex: 1;
|
||||||
|
min-width: 200px;
|
||||||
|
border: 1px solid var(--light-secondary-color);
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 1rem 1.2rem;
|
||||||
|
background-color: rgba(var(--light-primary-color), 0.5);
|
||||||
|
}
|
||||||
|
.home-projects-card h2 {
|
||||||
|
margin-top: 0;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
.home-project-entry {
|
||||||
|
margin-bottom: 0.9rem;
|
||||||
|
}
|
||||||
|
.home-project-entry:last-of-type {
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
.home-project-entry a {
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
.home-project-entry a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
.home-project-meta {
|
||||||
|
font-size: 0.8rem;
|
||||||
|
color: var(--light-muted-color);
|
||||||
|
margin-top: 0.15rem;
|
||||||
|
}
|
||||||
|
.home-project-status {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 1px 6px;
|
||||||
|
border-radius: 3px;
|
||||||
|
font-size: 0.7rem;
|
||||||
|
font-weight: 500;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.home-projects-card .view-all {
|
||||||
|
display: block;
|
||||||
|
margin-top: 0.8rem;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--accent-color);
|
||||||
|
border-top: 1px solid var(--light-secondary-color);
|
||||||
|
padding-top: 0.6rem;
|
||||||
|
}
|
||||||
|
.home-projects-card .view-all:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
/* SINGLE */
|
/* SINGLE */
|
||||||
.post [role="doc-subtitle"] {
|
.post [role="doc-subtitle"] {
|
||||||
font-size: 1.1em;
|
font-size: 1.1em;
|
||||||
@ -605,6 +692,21 @@ table td {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.home-grid {
|
||||||
|
flex-direction: column;
|
||||||
|
width: auto;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-posts-column {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-projects-card {
|
||||||
|
width: 100%;
|
||||||
|
min-width: unset;
|
||||||
|
}
|
||||||
|
|
||||||
main#content .container {
|
main#content .container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,4 +13,9 @@
|
|||||||
<div class="flex-break"></div>
|
<div class="flex-break"></div>
|
||||||
<span class="post-date">{{ dateFormat (or .Site.Params.dateFormat "January 2, 2006") .Date}}</span>
|
<span class="post-date">{{ dateFormat (or .Site.Params.dateFormat "January 2, 2006") .Date}}</span>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ with .Params.Tags }}
|
||||||
|
<div class="post-title-tags">
|
||||||
|
{{ range . }}<a href="{{ absURL "tags/" }}{{ . | urlize }}/" class="post-title-tag">{{ . }}</a>{{ end }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user