Skip to content

Commit eae7f2c

Browse files
HeyItsGilbertclaude
andcommitted
style(theme): refine alert callouts and tighten code blocks
- Alert title: tighter spacing, uppercase label, filled circular icon badge as a stronger per-type visual indicator. - Highlighted (.highlight) code blocks: trim the inherited .prose pre padding/margins so server-side Chroma blocks no longer read as a wall of whitespace; line numbers retained. - Update contributor guide article and Front Matter CMS config. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent d0bb395 commit eae7f2c

4 files changed

Lines changed: 86 additions & 27 deletions

File tree

content/articles/2026-06-23-how-to-write-for-powershell-org.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
---
2-
title: "How to Write for PowerShell.org"
3-
description: "Two ways to submit an article to PowerShell.org, best practices that get you published faster, and why claiming an author page is worth five minutes of your time."
2+
title: How to Write for PowerShell.org
3+
description: Two ways to submit an article to PowerShell.org, best practices that get you published faster, and why claiming an author page is worth five minutes of your time.
44
author: Gilbert Sanchez
55
authors:
66
- Gilbert Sanchez
7-
date: "2026-06-23T00:00:00+00:00"
7+
date: 2026-06-23T00:00:00+00:00
88
categories:
99
- Tutorials
1010
tags:
1111
- contributing
1212
- community
1313
- writing
14+
fmContentType: article
1415
---
1516

1617
There's a thought that stops a lot of good articles: *who am I to write for
@@ -98,15 +99,14 @@ flow through the same review.
9899

99100
4. Open a pull request with a short description, and we'll review it there.
100101

101-
> [!TIP]
102-
> Let VS Code do the boring part. Install the [Front Matter
103-
> CMS](https://frontmatter.codes/) extension, open the repo, and run **"Create
104-
> content"** in the `content/articles` folder. It scaffolds the
105-
> `YYYY-MM-DD-slug.md` filename and every front-matter field for you, and it
106-
> gives you a form for the title, description, category, and tags instead of a
107-
> wall of YAML you can typo. It turns the single most error-prone step into a
108-
> fill-in-the-blanks. If you only adopt one tool from this article, make it this
109-
> one.
102+
> [!TIP] Let VS Code do the boring part!
103+
> Install the [Front Matter CMS](https://frontmatter.codes/) extension, open the
104+
> repo, and run **"Create content"** in the `content/articles` folder. It
105+
> scaffolds the `YYYY-MM-DD-slug.md` filename and every front-matter field for
106+
> you, and it gives you a form for the title, description, category, and tags
107+
> instead of a wall of YAML you can typo. It turns the single most error-prone
108+
> step into a fill-in-the-blanks. If you only adopt one tool from this article,
109+
> make it this one.
110110
111111
## Best practices that get you published faster
112112

@@ -162,9 +162,9 @@ rule that trips people up: the `<slug>` has to match your byline exactly
162162

163163
So let the helper script handle it:
164164

165-
```powershell
165+
{{< terminal lang="powershell" >}}
166166
./tools/new-author.ps1 "Jane Doe"
167-
```
167+
{{< /terminal >}}
168168

169169
That scaffolds `content/authors/jane-doe/_index.md` with every field commented.
170170
Fill in what you want, delete the rest:
@@ -188,14 +188,14 @@ putting your email address in a public repo. Store the MD5 hash of your
188188
lowercased email as `gravatar_hash`, and Gravatar serves your picture while your
189189
email stays private:
190190

191-
```powershell
191+
{{< terminal lang="powershell" >}}
192192
$email = "jane@example.com"
193193
[System.BitConverter]::ToString(
194194
[System.Security.Cryptography.MD5]::Create().ComputeHash(
195195
[System.Text.Encoding]::UTF8.GetBytes($email.Trim().ToLowerInvariant())
196196
)
197197
).Replace("-", "").ToLowerInvariant()
198-
```
198+
{{< /terminal >}}
199199

200200
And if your name ever changes, `./tools/new-author.ps1 "Old Name" -To "New Name"`
201201
rewrites your byline across every article and adds a redirect so your old

frontmatter.json

Lines changed: 50 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -260,29 +260,72 @@
260260
{
261261
"title": "Articles",
262262
"path": "[[workspace]]/content/articles",
263-
"contentTypes": ["article"],
263+
"contentTypes": [
264+
"article"
265+
],
264266
"filePrefix": "{{year}}-{{month}}-{{day}}"
265267
},
266268
{
267269
"title": "Podcast",
268270
"path": "[[workspace]]/content/podcast",
269-
"contentTypes": ["podcast"],
271+
"contentTypes": [
272+
"podcast"
273+
],
270274
"filePrefix": "{{year}}-{{month}}-{{day}}"
271275
},
272276
{
273277
"title": "Events",
274278
"path": "[[workspace]]/content/calendar",
275-
"contentTypes": ["event"]
279+
"contentTypes": [
280+
"event"
281+
]
276282
},
277283
{
278284
"title": "Authors",
279285
"path": "[[workspace]]/content/authors",
280-
"contentTypes": ["author"]
286+
"contentTypes": [
287+
"author"
288+
]
281289
},
282290
{
283291
"title": "Pages",
284292
"path": "[[workspace]]/content",
285-
"contentTypes": ["page"]
293+
"contentTypes": [
294+
"page"
295+
]
296+
}
297+
],
298+
"frontMatter.content.snippets": {
299+
"Terminal": {
300+
"description": "Show your terminal commands in a nice terminal window.",
301+
"body": [
302+
"{{< terminal title=\"[[filename]]\" lang=\"[[language]]\" >}}",
303+
"[[selection]]",
304+
"{{< /terminal >}}"
305+
],
306+
"fields": [
307+
{
308+
"name": "filename",
309+
"title": "filename",
310+
"type": "string",
311+
"single": true,
312+
"default": ""
313+
},
314+
{
315+
"name": "language",
316+
"title": "language",
317+
"type": "string",
318+
"single": true,
319+
"default": ""
320+
},
321+
{
322+
"name": "selection",
323+
"title": "selection",
324+
"type": "string",
325+
"single": true,
326+
"default": ""
327+
}
328+
]
286329
}
287-
]
288-
}
330+
}
331+
}

themes/powershell-community/layouts/_default/baseof.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@
8888
terminal chrome renders flush; Prism handles token colors. */
8989
.ps-terminal pre { background: transparent; color: #ccc; margin: 0; border-radius: 0; padding: 1.25rem; overflow-x: auto; }
9090

91+
/* Hugo/Chroma highlighted blocks (.highlight) carry their own light
92+
background; trim the heavier .prose pre padding/margins so they don't
93+
read as a wall of whitespace. */
94+
.prose .highlight { margin: 1.25rem 0; border-radius: 0.5rem; overflow: hidden; }
95+
.prose .highlight pre { margin: 0; padding: 0.85rem 1rem; border-radius: 0; line-height: 1.5; }
96+
9197
.hero-pattern {
9298
background: linear-gradient(135deg, #0078D4 0%, #00BCF2 100%);
9399
position: relative;

themes/powershell-community/static/css/alerts.css

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,25 @@
1919
display: flex;
2020
align-items: center;
2121
gap: 0.5rem;
22-
margin: 0 0 0.25rem;
23-
font-weight: 600;
22+
margin: 0 0 0.1rem;
23+
font-size: 0.78rem;
24+
font-weight: 700;
25+
letter-spacing: 0.04em;
26+
text-transform: uppercase;
2427
font-style: normal;
2528
color: var(--ps-alert-color);
2629
}
2730

2831
.ps-alert-title i {
29-
width: 1em;
30-
text-align: center;
32+
display: inline-flex;
33+
align-items: center;
34+
justify-content: center;
35+
width: 1.5rem;
36+
height: 1.5rem;
37+
border-radius: 9999px;
38+
background: var(--ps-alert-color);
39+
color: #fff;
40+
font-size: 0.8rem;
3141
}
3242

3343
/* Keep inner Markdown (.prose adds top/bottom margins to p/ul/etc.) flush

0 commit comments

Comments
 (0)