Skip to content

Commit 6efcd36

Browse files
authored
Feat blog aesthetics (#93)
* [feat] fix inline code styling * [post] finish post
1 parent c1dcbd0 commit 6efcd36

File tree

12 files changed

+176
-29
lines changed

12 files changed

+176
-29
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ vendor
88

99
images/advent-of-code/2024/day24_gate_network_pure.png
1010
images/advent-of-code/2024/day24_gate_network_*.png
11+
.playwright-mcp

_posts/2025-12-14-larkin-mcp.md

Lines changed: 109 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,76 @@ summary: Setting up a personalized MCP server. Feel free to install and interact
125125
padding: 1rem 1.25rem;
126126
}
127127
}
128+
129+
/* Template card */
130+
.template-card-wrapper {
131+
display: flex;
132+
justify-content: center;
133+
margin: 0.75rem auto 1.5rem;
134+
}
135+
136+
.template-card {
137+
--template-color: #a78bfa;
138+
position: relative;
139+
display: inline-flex;
140+
align-items: center;
141+
gap: 0.6rem;
142+
padding: 0.65rem 1.1rem;
143+
border-radius: 8px;
144+
text-decoration: none;
145+
background: rgba(167, 139, 250, 0.08);
146+
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
147+
backdrop-filter: blur(12px);
148+
-webkit-backdrop-filter: blur(12px);
149+
}
150+
151+
.template-card::before {
152+
content: '';
153+
position: absolute;
154+
inset: 0;
155+
border-radius: 8px;
156+
padding: 1px;
157+
background: linear-gradient(135deg, var(--template-color) 0%, transparent 50%, var(--template-color) 100%);
158+
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
159+
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
160+
-webkit-mask-composite: xor;
161+
mask-composite: exclude;
162+
opacity: 0.4;
163+
transition: opacity 0.3s ease;
164+
}
165+
166+
.template-card:hover::before {
167+
opacity: 1;
168+
}
169+
170+
.template-card:hover {
171+
transform: translateY(-2px);
172+
box-shadow: 0 8px 24px -6px rgba(167, 139, 250, 0.3);
173+
}
174+
175+
.template-card .template-icon {
176+
font-size: 1.1rem;
177+
}
178+
179+
.template-card .template-text {
180+
font-family: 'SF Mono', 'Fira Code', 'JetBrains Mono', monospace;
181+
font-size: 0.75rem;
182+
font-weight: 500;
183+
color: var(--template-color);
184+
letter-spacing: 0.02em;
185+
}
186+
187+
.template-card .template-arrow {
188+
font-size: 0.85rem;
189+
color: var(--template-color);
190+
opacity: 0.6;
191+
transition: opacity 0.2s ease, transform 0.2s ease;
192+
}
193+
194+
.template-card:hover .template-arrow {
195+
opacity: 1;
196+
transform: translateX(2px);
197+
}
128198
</style>
129199

130200
<div class="larkin-mcp-registry">
@@ -144,8 +214,18 @@ summary: Setting up a personalized MCP server. Feel free to install and interact
144214
<span class="registry-name">crates.io</span>
145215
</a>
146216
</div>
147-
<div class="image-caption">Check out any of the links above for the various published packages.</div>
148-
</br>
217+
218+
<div class="image-caption">Check out any of the links above for the various published packages. Note, Claude did the css here.</div>
219+
<br/>
220+
<div class="template-card-wrapper">
221+
<a href="https://github.com/johnlarkin1/yourname-mcp" target="_blank" rel="noopener" class="template-card">
222+
<span class="template-icon">📋</span>
223+
<span class="template-text">yourname-mcp template</span>
224+
<span class="template-arrow">→</span>
225+
</a>
226+
</div>
227+
228+
<br/>
149229

150230
I'm working on a much bigger project, but honestly, needed to take a break from that. It has been a grind. I have burned many early mornings on that.
151231

@@ -162,7 +242,8 @@ So as a break, I have wanted to explore building my own MCP server and templatiz
162242
- [Personalized Study Guide](#personalized-study-guide)
163243
- [Context](#context)
164244
- [Why?](#why)
165-
- [MCP](#mcp)
245+
- [`yourname-mcp`](#yourname-mcp)
246+
- [Demo](#demo)
166247
- [Security](#security)
167248
- [Rust](#rust)
168249
- [Conclusion](#conclusion)
@@ -263,9 +344,30 @@ Yeah so this was something my PM girlfriend asked me almost immediately. Why do
263344
1. I thought it would be a useful thing to templatize and set up some infrastructure so less technical users could `git clone <repo> && ./run-install.sh` and that would ask them a couple of questions, analyze their resume, convert it into markdown, they could write some markdown to provide more context, and then boom, they could also publish it and others could use it if they wanted.
264345
1. As stated previously, I needed a break from my other project.
265346

266-
Ok so that's enough of that. I hope that explains the motivation.
347+
And if you're thinking like _well, what about Claude memory or ChatGPT memory?_, I'm really not a fan of that. I don't think Simon Willison is either. And I don't trust it to not sycophant it up or pull information that perhaps I don't want for the questions I'm asking.
267348

268-
# MCP
349+
Hopefully, that's enough rationale for personal motivation.
350+
351+
# `yourname-mcp`
352+
353+
This is hopefully your template of interest. The point is that this has enough scaffolding that you can run the install script, populate a couple markdown files, upload to PYPI and then you're off and running. There will be more info in the actuall repo [here][yourname-mcp].
354+
355+
## Demo
356+
357+
Here is a demo showcasing the functionality:
358+
359+
<div class="video-container">
360+
<div class="video-wrapper-dark">
361+
<video
362+
src="https://www.dropbox.com/scl/fi/v7ljkkxf3p8d24vk8wlpk/yourname-mcp-demo-lg.mp4?rlkey=95ha9lg6gpwngufkdvq9l2t0q&st=dlhyft2u&raw=1"
363+
muted
364+
autoplay
365+
loop
366+
controls
367+
style="width: 100%; height: auto;">
368+
</video>
369+
</div>
370+
</div>
269371

270372
## Security
271373

@@ -293,10 +395,11 @@ Rust was my favorite to implement, although the code structure is perhaps not as
293395

294396
# Conclusion
295397

296-
If you like this, or think it will be useful, please check out the basically templated repo `yourname-mcp` where the install script will walk you through
398+
If you like this, or think it will be useful, please check out the basically templated repo `yourname-mcp` where the `README.md` will walk you through what you need to do! Always feel free to email or leave comments if need be.
297399

298400
[comment]: <> (Bibliography)
299401
[npm-attack-1]: https://semgrep.dev/blog/2025/chalk-debug-and-color-on-npm-compromised-in-new-supply-chain-attack/
300402
[npm-attack-2]: https://securitylabs.datadoghq.com/articles/shai-hulud-2.0-npm-worm/
301403
[npm-attack-3]: https://www.crowdstrike.com/en-us/blog/crowdstrike-falcon-prevents-npm-package-supply-chain-attacks/?utm_source=chatgpt.com
302404
[cargo-binstall]: https://crates.io/crates/cargo-binstall
405+
[yourname-mcp]: https://github.com/johnlarkin1/yourname-mcp

_sass/abstracts/_variables.scss

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ $code-block-bg: darken($code-bg-color, 2%) !default;
6161
$code-font-family: "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace !default;
6262
$code-border-color: #e1e4e8 !default;
6363

64+
// Inline code - Notion-style distinctive colors
65+
$inline-code-text: #eb5757 !default; // Red/pink like Notion
66+
$inline-code-bg: rgba(135, 131, 120, 0.15) !default; // Subtle warm gray
67+
$dark-inline-code-text: #eb5757 !default; // Same red in dark mode
68+
$dark-inline-code-bg: rgba(135, 131, 120, 0.15) !default; // Subtle background
69+
6470
$dark-bg: #1a1a1a !default;
6571
$dark-text: #e4e4e4 !default;
6672
$dark-heading: #ffffff !default;

_sass/base/_typography.scss

Lines changed: 47 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,52 @@ mark {
7070
color: $heading-color;
7171
}
7272

73+
// Inline code - Notion-style with distinctive red color
74+
// Target inline code specifically (not inside pre blocks)
7375
code {
7476
padding: 0.2em 0.4em;
7577
font-family: $code-font;
7678
font-size: 0.85em;
77-
color: $code-text-color;
78-
background-color: $code-bg-color;
79+
color: $inline-code-text;
80+
background-color: $inline-code-bg;
7981
border-radius: 4px;
80-
82+
font-weight: 500;
83+
8184
@media (prefers-color-scheme: dark) {
82-
color: $dark-code-text;
83-
background-color: $dark-code-bg;
84-
border: 1px solid rgba(255, 255, 255, 0.1);
85+
color: $dark-inline-code-text;
86+
background-color: $dark-inline-code-bg;
87+
}
88+
}
89+
90+
// Jekyll/Rouge adds highlighter-rouge to inline code
91+
// Make sure these get the Notion-style treatment
92+
code.highlighter-rouge {
93+
color: $inline-code-text;
94+
background-color: $inline-code-bg;
95+
padding: 0.2em 0.4em;
96+
border-radius: 4px;
97+
font-weight: 500;
98+
99+
@media (prefers-color-scheme: dark) {
100+
color: $dark-inline-code-text;
101+
background-color: $dark-inline-code-bg;
102+
}
103+
}
104+
105+
// Override Prism.js styles for inline code
106+
// Prism uses code[class*=language-] - we need higher specificity
107+
// Target inline code with both highlighter-rouge and language-* classes
108+
code.highlighter-rouge[class*="language-"] {
109+
color: $inline-code-text;
110+
background-color: $inline-code-bg;
111+
padding: 0.2em 0.4em;
112+
border-radius: 4px;
113+
font-weight: 500;
114+
text-shadow: none;
115+
116+
@media (prefers-color-scheme: dark) {
117+
color: $dark-inline-code-text;
118+
background-color: $dark-inline-code-bg;
85119
}
86120
}
87121

@@ -118,13 +152,19 @@ pre {
118152
}
119153
}
120154

155+
// Reset inline code styling for code blocks
121156
> code {
122157
padding: 0;
123158
margin: 0;
124159
font-size: inherit;
125-
color: inherit;
160+
color: $code-text-color;
126161
background: transparent;
127162
border: 0;
163+
font-weight: normal;
164+
165+
@media (prefers-color-scheme: dark) {
166+
color: $dark-code-text;
167+
}
128168
}
129169
}
130170

_sass/components/_syntax.scss

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,9 @@
11
/**
22
* Syntax highlighting styles
33
*/
4-
5-
code {
6-
padding: 0.2em 0.4em;
7-
font-size: 90%;
8-
background-color: $code-bg-color;
9-
border-radius: 3px;
10-
font-family: $code-font-family;
11-
12-
@media (prefers-color-scheme: dark) {
13-
background-color: $dark-code-bg;
14-
color: $dark-code-text;
15-
}
16-
}
4+
5+
// Note: Inline code styling moved to _typography.scss
6+
// This file handles code block syntax highlighting
177

188
pre {
199
margin: 1rem 0 1.25rem;
@@ -33,6 +23,7 @@ pre {
3323
0 0 0 1px rgba(255, 255, 255, 0.05);
3424
}
3525

26+
// Reset inline code styling for code blocks
3627
> code {
3728
padding: 0;
3829
margin: 0;
@@ -41,6 +32,12 @@ pre {
4132
white-space: pre;
4233
background: transparent;
4334
border: 0;
35+
color: $code-text-color;
36+
font-weight: normal;
37+
38+
@media (prefers-color-scheme: dark) {
39+
color: $dark-code-text;
40+
}
4441
}
4542
}
4643

_site/assets/css/main.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
6.33 KB
Loading
42.9 KB
Loading
24.2 KB
Loading
194 KB
Loading

0 commit comments

Comments
 (0)