Skip to content

Commit 1423894

Browse files
committed
Update episode details and enhance contact section with booking link
1 parent b968d2e commit 1423894

5 files changed

Lines changed: 94 additions & 4 deletions

File tree

CLAUDE.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## About This Site
6+
7+
Jekyll site for [example42.com](https://example42.com) — home of Example42's Puppet/DevOps consulting services and the **Abnormal DevOps Iterations (ADI)** podcast. Deployed via GitHub Pages.
8+
9+
Media production assets (audio, video, transcripts, cover images) live in the sibling OneDrive workspace: `~/Library/CloudStorage/OneDrive-Personal/ADI/`
10+
11+
## Local Development
12+
13+
```bash
14+
# Via Docker (recommended — no local Ruby/Jekyll install needed)
15+
bash bin/docker_jekyll.sh
16+
# Serves at http://127.0.0.1:4001 with live reload
17+
18+
# Or with local Ruby/Bundler
19+
bundle exec jekyll serve --config _config.yml,_config_dev.yml
20+
# Serves at http://127.0.0.1:4000
21+
```
22+
23+
## Site Architecture
24+
25+
| Path | Purpose |
26+
|------|---------|
27+
| `_episodes/` | ADI podcast episode pages (001.md, 002.md…) |
28+
| `_posts/` | Blog posts |
29+
| `_presentations/` | Tutorial/presentation pages |
30+
| `_layouts/` | Page layouts (Jekyll) |
31+
| `_includes/` | Reusable HTML partials |
32+
| `_config.yml` | Production config |
33+
| `_config_dev.yml` | Dev override — sets `url: http://127.0.0.1:4000` |
34+
| `AbnormalDevOpsIterations/img/` | Resized episode cover images |
35+
36+
## Episode Pages (`_episodes/NNN.md`)
37+
38+
Files are zero-padded: `001.md`, `022.md`. The layout `adi_humanintelligence` renders via `_layouts/adi_humanintelligence.html``_includes/adi_detail.html`.
39+
40+
### Required Frontmatter
41+
42+
```yaml
43+
---
44+
number: '22' # string, matches the episode number
45+
layout: 'adi_humanintelligence' # always this value
46+
title: 'Episode title'
47+
date: 'YYYYMMDD' # e.g. 20250305
48+
host: Alessandro Franceschi
49+
youtube: 'YouTubeVideoID'
50+
guest: # list (or bare string for single guest)
51+
- Guest Name
52+
tags:
53+
- Tag1
54+
- Tag2
55+
summary: "One-sentence summary, ~200 chars max, no names"
56+
quotes:
57+
- "Quote 1, ≤140 chars"
58+
- "Quote 2"
59+
- "Quote 3"
60+
- "Quote 4"
61+
---
62+
Episode body text here.
63+
```
64+
65+
`guest` can be a bare string (`guest: Name`) or a YAML list. The template iterates over it with `{% for g in page.guest %}`.
66+
67+
### Adding a New Episode
68+
69+
1. Create `_episodes/NNN.md` with full frontmatter above
70+
2. Add cover image: run `bin/resize_pics.sh` to copy + resize from `ADI/Covers/ADI N.png``AbnormalDevOpsIterations/img/N.png`
71+
3. The episode URL will be `/AbnormalDevOpsIterations/NNN/`
72+
73+
## Tooling Scripts
74+
75+
| Script | What it does |
76+
|--------|-------------|
77+
| `bin/docker_jekyll.sh` | Serve site locally via Docker on port 4001 |
78+
| `bin/resize_pics.sh` | Resize ADI cover images and copy to site img dir |
79+
| `bin/get_quotes.py` | Generate `summary` + `quotes` frontmatter from a transcript file using OpenAI |
80+
81+
### `get_quotes.py` usage
82+
```bash
83+
export OPENAI_API_KEY=...
84+
python3 bin/get_quotes.py /path/to/transcript.txt
85+
# Outputs YAML — paste into episode frontmatter
86+
```

_episodes/021.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ quotes:
2828
- "Every workload is treated as a snowflake, ensuring tailored recommendations for optimal resource usage."
2929
- "Fifty to eighty percent resource savings are achievable through effective optimization, targeting the prevalent over-provisioning issue."
3030
- "The ultimate goal of software is to make lives easier, allowing individuals to spend more time with their families."
31-
```
31+
---
3232
In this episode of Abnormal DevOps Iterations, we sit down with Yasmin Rajabi, the COO of StormForge, a company specializing in Kubernetes optimization.
3333

3434
Yasmin shares her journey from Puppet to StormForge, discussing how her team uses machine learning to automate and optimize Kubernetes configurations.

_episodes/023.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
number: '23'
33
date: '20250313'
4+
layout: 'adi_humanintelligence'
45
title: 'Tech deep dive: Pulp. With Dennis Kliban'
56
host: Alessandro Franceschi
67
youtube: 'wsdDELEFUn4'
@@ -10,4 +11,4 @@ tags:
1011
- DevOps
1112
- PackageManagement
1213
- Pulp
13-
- PackageRpository
14+
- PackageRepository

_includes/home_contact.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
<div class="col-lg-5 col-lg-offset-1 col-sm-push-6 col-sm-6">
66
<div class="clearfix"></div>
77
<h2 class="section-heading">Contact example42</h2>
8+
<div class="lead">
9+
<a href="https://calendar.app.google/qrWn5ovChSVwW5nv6" class="btn btn-default btn-lg" target="_blank"><i class="fa fa-calendar fa-fw"></i> <span class="network-name">Book a Call</span></a> to solve real problems
10+
</div>
811
<div class="lead">
912
<a href="https://www.linkedin.com/company/example42" class="btn btn-default btn-lg" target="_blank"><i class="fa fa-linkedin fa-fw"></i> <span class="network-name">LinkedIN</span></a> for services requests
1013
</div>

_includes/home_opensource.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ <h2 class="section-heading">Open Source</h2>
1010
<a href="https://github.com/example42" class="btn btn-default btn-lg" target="_blank"><i class="fa fa-github fa-fw"></i> <span class="network-name">GitHub</span></a></br>
1111
</div>
1212
<div class="lead">
13-
<a href="https://github.com/example42/pabawi" target="_blank">PABAWI - Puppet Ansible Bolt Awesome Web Interface</a></br>
13+
<a href="https://github.com/example42/pabawi" target="_blank">PABAWI - Classic Infra Command & Control</a></br>
1414
<a href="https://github.com/example42/psick" target="_blank">PSICK Control repo</a></br>
1515
<a href="https://github.com/example42/puppet-psick" target="_blank">PSICK Puppet module</a></br>
1616
<a href="https://github.com/example42/puppet-tp" target="_blank">Tiny Puppet module</a></br>
@@ -33,7 +33,7 @@ <h2 class="section-heading">Open Source</h2>
3333
{% endif %}
3434
</div>
3535
<div class="col-lg-4 col-lg-offset-2 col-sm-6">
36-
<img class="img-responsive" src="{{ site.url }}/img/pic-pabawi.png" alt="Open Source">
36+
<a href="https://pabawi.example42.com" target="_blank"><img class="img-responsive" src="{{ site.url }}/img/pic-pabawi.png" alt="Open Source"></a>
3737
</div>
3838
</div>
3939
</div>

0 commit comments

Comments
 (0)