|
| 1 | +--- |
| 2 | +name: publish-blog |
| 3 | +description: >- |
| 4 | + Wires supplied content into a Jekyll post (_posts file, front matter, assets, |
| 5 | + optional includes) and previews it locally. Use when publishing or updating |
| 6 | + post packaging — not when writing the article or talk content itself. |
| 7 | +--- |
| 8 | + |
| 9 | +# Publish Blog |
| 10 | + |
| 11 | +Wire supplied content into the site and verify it. Packaging only — do not invent the piece. |
| 12 | + |
| 13 | +Canonical example: `_posts/2017-03-10-we-are-all-product-designers.md` |
| 14 | + |
| 15 | +If the server is not running, use `setup-dev-environment` first. |
| 16 | + |
| 17 | +## Checklist |
| 18 | + |
| 19 | +``` |
| 20 | +- [ ] Agree date + slug + title + context with the user |
| 21 | +- [ ] Place catalogue image (and any other assets) |
| 22 | +- [ ] Write _posts/YYYY-MM-DD-kebab-slug.md front matter |
| 23 | +- [ ] Wire body from user (intro markdown and/or {% include %}) |
| 24 | +- [ ] Preview post URL + homepage catalogue card |
| 25 | +- [ ] Report paths/URL; do not commit unless asked |
| 26 | +``` |
| 27 | + |
| 28 | +## What you assemble |
| 29 | + |
| 30 | +From the reference post, a published entry is: |
| 31 | + |
| 32 | +1. **Front matter** — catalogue + permalink metadata |
| 33 | +2. **Intro markdown** — user-supplied; drives the ~30-word homepage excerpt |
| 34 | +3. **Optional `{% include %}`** — user-supplied heavy body (e.g. slides embed in `_includes/`) |
| 35 | +4. **Assets** — paths that match `image` / in-body references |
| 36 | + |
| 37 | +Ask for anything missing. Do not draft missing prose or slides. |
| 38 | + |
| 39 | +## Front matter |
| 40 | + |
| 41 | +```yaml |
| 42 | +--- |
| 43 | +published: true |
| 44 | +layout: post |
| 45 | +image: /assets/article_images/talks/what-is-software-product-design.jpg |
| 46 | +image_width: 2048 |
| 47 | +image_height: 1280 |
| 48 | +title: What is software product design? |
| 49 | +context: DevConf Talk |
| 50 | +--- |
| 51 | +``` |
| 52 | + |
| 53 | +- `image` + real `image_width` / `image_height` → homepage thumbnail (`catalogue_item`) |
| 54 | +- `title` → display name and permalink segment (`/:year-:month-:day/:title`) |
| 55 | +- `context` → meta label next to the date (e.g. `DevConf Talk`) |
| 56 | +- Filename slug may differ from title (`we-are-all-product-designers.md` vs title above) |
| 57 | + |
| 58 | +## Assets |
| 59 | + |
| 60 | +| Kind | Location | |
| 61 | +|------|----------| |
| 62 | +| Shared talk thumbnail | `assets/article_images/talks/` | |
| 63 | +| Post-specific art | `assets/article_images/YYYY-MM-DD-kebab-slug/` | |
| 64 | +| Slide/HTML body | `_includes/<name>.html` → `{% include <name>.html %}` | |
| 65 | + |
| 66 | +Use site-root paths in the post (`/assets/...`). |
| 67 | + |
| 68 | +## Body shapes (content from user) |
| 69 | + |
| 70 | +**Talk packaging** (reference): short intro paragraphs, then `{% include ... %}`. |
| 71 | + |
| 72 | +**Markdown packaging**: user-provided markdown in the `.md` file; optional `` if they supply images. |
| 73 | + |
| 74 | +Excerpt on the homepage = first ~30 words of content (unless `excerpt_separator` is set). |
| 75 | + |
| 76 | +## Verify |
| 77 | + |
| 78 | +Confirm the build succeeds, open the post URL and the homepage card, optionally refresh `.screenshots/`. Summarize what was wired; do not commit unless asked. |
0 commit comments