2026-03-17 11:25:27 -04:00
|
|
|
|
# GTBOP Archive Site — Publish Guide
|
|
|
|
|
|
## Reference for Claude Agent in Zed
|
|
|
|
|
|
|
|
|
|
|
|
This file describes the conventions for publishing pipeline deliverables
|
|
|
|
|
|
to the GTBOP MkDocs archive site. Read this before making changes.
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Project Structure
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
gtbop-docs/
|
|
|
|
|
|
├── mkdocs.yml # Nav config — edit this for every new session
|
|
|
|
|
|
├── docs/
|
|
|
|
|
|
│ ├── index.md # Homepage
|
|
|
|
|
|
│ ├── tags.md # Auto-generated tag index
|
|
|
|
|
|
│ ├── green-commercial/
|
|
|
|
|
|
│ │ ├── index.md # Series landing page (has session table)
|
|
|
|
|
|
│ │ └── YYYY-MM-DD-lastname-topic/ # One folder per session
|
|
|
|
|
|
│ │ ├── index.md # Session overview with deliverable links
|
|
|
|
|
|
│ │ ├── archive-summary.md
|
|
|
|
|
|
│ │ ├── corrections.md
|
|
|
|
|
|
│ │ ├── prose-transcript.md
|
|
|
|
|
|
│ │ ├── processing-log.md
|
|
|
|
|
|
│ │ ├── platforms/
|
|
|
|
|
|
│ │ │ ├── youtube.md
|
|
|
|
|
|
│ │ │ ├── website.md
|
|
|
|
|
|
│ │ │ └── ext-agent.md
|
|
|
|
|
|
│ │ └── activities/
|
|
|
|
|
|
│ │ ├── quiz.md
|
|
|
|
|
|
│ │ └── matching.md
|
|
|
|
|
|
│ ├── structural/ # Same structure as green-commercial
|
|
|
|
|
|
│ ├── writing-projects/
|
|
|
|
|
|
│ │ ├── index.md
|
|
|
|
|
|
│ │ └── project-name-speaker/
|
|
|
|
|
|
│ │ ├── index.md # Toolkit overview / cover page
|
|
|
|
|
|
│ │ ├── bulletin-outline.md
|
|
|
|
|
|
│ │ ├── reference-compendium.md
|
|
|
|
|
|
│ │ └── source-guide.md
|
|
|
|
|
|
│ └── reference/
|
|
|
|
|
|
│ ├── common-corrections.md
|
|
|
|
|
|
│ ├── speaker-roster.md
|
|
|
|
|
|
│ └── ceu-categories.md
|
|
|
|
|
|
└── PUBLISH_GUIDE.md # This file
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## File Rename Mapping
|
|
|
|
|
|
|
|
|
|
|
|
When copying from the staging folder, rename files as follows:
|
|
|
|
|
|
|
|
|
|
|
|
| Pipeline Filename Pattern | Rename To | Destination |
|
|
|
|
|
|
|---------------------------|-----------|-------------|
|
|
|
|
|
|
| `GTBOP_Corrections_*.md` | `corrections.md` | session root |
|
|
|
|
|
|
| `GTBOP_Archive_Summary_*.md` | `archive-summary.md` | session root |
|
|
|
|
|
|
| `GTBOP_ProseTranscript_*.md` | `prose-transcript.md` | session root |
|
|
|
|
|
|
| `GTBOP_ProcessingLog_*.md` | `processing-log.md` | session root |
|
|
|
|
|
|
| `GTBOP_YouTube_*.md` | `youtube.md` | `platforms/` |
|
|
|
|
|
|
| `GTBOP_Website_*.md` | `website.md` | `platforms/` |
|
|
|
|
|
|
| `GTBOP_ExtAgent_*.md` | `ext-agent.md` | `platforms/` |
|
|
|
|
|
|
| `GTBOP_Quiz_*.md` | `quiz.md` | `activities/` |
|
|
|
|
|
|
| `GTBOP_Matching_*.md` | `matching.md` | `activities/` |
|
|
|
|
|
|
|
|
|
|
|
|
For writing projects:
|
|
|
|
|
|
|
|
|
|
|
|
| Pipeline Filename Pattern | Rename To |
|
|
|
|
|
|
|---------------------------|-----------|
|
|
|
|
|
|
| `GTBOP_BulletinToolkit_Overview.md` | `index.md` |
|
|
|
|
|
|
| `GTBOP_BulletinOutline_*.md` | `bulletin-outline.md` |
|
|
|
|
|
|
| `GTBOP_ReferenceCompendium_*.md` | `reference-compendium.md` |
|
|
|
|
|
|
| `GTBOP_SourceGuide_*.md` | `source-guide.md` |
|
|
|
|
|
|
|
|
|
|
|
|
Only copy files that exist. Not every session produces all deliverables.
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Session Folder Naming
|
|
|
|
|
|
|
|
|
|
|
|
Format: `YYYY-MM-DD-lastname-topic`
|
|
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
|
- `2024-03-07-mccullough-weed-mgmt`
|
|
|
|
|
|
- `2024-11-14-scharf-insecticides`
|
|
|
|
|
|
- `2024-06-20-graziosi-tree-pests`
|
|
|
|
|
|
|
|
|
|
|
|
Use lowercase, hyphens, no spaces. Keep the topic slug short (2-3 words).
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Session Index Page Template
|
|
|
|
|
|
|
|
|
|
|
|
Generate this as `index.md` inside each session folder:
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- [Series: Green & Commercial or Structural]
|
|
|
|
|
|
- [Topic area: Weed Science, Entomology, Plant Pathology, Turfgrass, etc.]
|
|
|
|
|
|
- [Speaker last name]
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# [Session Title]
|
|
|
|
|
|
## GTBOP [Series] — [Month Day, Year]
|
|
|
|
|
|
|
|
|
|
|
|
**Speaker:** [Full name, title, affiliation]
|
|
|
|
|
|
**Moderator:** [Full name, title, affiliation]
|
|
|
|
|
|
**Duration:** [MM:SS]
|
|
|
|
|
|
**CEU Categories:** [e.g., Category 24 (Ornamental and Turf)]
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Deliverables
|
|
|
|
|
|
|
|
|
|
|
|
| Stage | Deliverable | Status |
|
|
|
|
|
|
|-------|-------------|--------|
|
|
|
|
|
|
| 1 | [Corrections Log](corrections.md) | Complete |
|
|
|
|
|
|
| 2 | [Archive Summary](archive-summary.md) | Complete |
|
|
|
|
|
|
| 3 | [YouTube Version](platforms/youtube.md) | Complete |
|
|
|
|
|
|
| 3 | [Website Version](platforms/website.md) | Complete |
|
|
|
|
|
|
| 3 | [Extension Agent Version](platforms/ext-agent.md) | Complete |
|
|
|
|
|
|
| 4 | [Quiz](activities/quiz.md) | Complete |
|
|
|
|
|
|
| 4 | [Matching Exercises](activities/matching.md) | Complete |
|
|
|
|
|
|
| 5 | [Prose Transcript](prose-transcript.md) | Complete |
|
|
|
|
|
|
| — | [Processing Log](processing-log.md) | Complete |
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Session Overview
|
|
|
|
|
|
|
|
|
|
|
|
[1-2 paragraph summary — ask the user for this or extract from
|
|
|
|
|
|
the archive summary's narrative section.]
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
*Source: Corrected SRT — [filename] ([block count] blocks)*
|
|
|
|
|
|
*Processed: [Date] | Pipeline v4.1*
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Only include rows in the deliverables table for files that actually exist.
|
|
|
|
|
|
Mark missing deliverables as "Pending" if stages will be completed later,
|
|
|
|
|
|
or remove the row entirely if the stage doesn't apply.
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## mkdocs.yml Nav Entry
|
|
|
|
|
|
|
2026-03-17 14:38:48 -04:00
|
|
|
|
Add under the appropriate series tab. Use the **structure** below as a
|
|
|
|
|
|
template — replace every `{placeholder}` with the actual session values.
|
|
|
|
|
|
Do NOT copy the example names literally.
|
|
|
|
|
|
|
|
|
|
|
|
**Template (replace all `{placeholders}`):**
|
2026-03-17 11:25:27 -04:00
|
|
|
|
|
|
|
|
|
|
```yaml
|
2026-03-17 14:38:48 -04:00
|
|
|
|
- "{Speaker} — {Topic} ({YYYY-MM-DD})":
|
|
|
|
|
|
- Overview: {series}/{session-folder}/index.md
|
|
|
|
|
|
- Archive Summary: {series}/{session-folder}/archive-summary.md
|
|
|
|
|
|
- Corrections Log: {series}/{session-folder}/corrections.md
|
|
|
|
|
|
- Prose Transcript: {series}/{session-folder}/prose-transcript.md
|
|
|
|
|
|
- Processing Log: {series}/{session-folder}/processing-log.md
|
2026-03-17 11:25:27 -04:00
|
|
|
|
- Platform Versions:
|
2026-03-17 14:38:48 -04:00
|
|
|
|
- YouTube: {series}/{session-folder}/platforms/youtube.md
|
|
|
|
|
|
- Website: {series}/{session-folder}/platforms/website.md
|
|
|
|
|
|
- Extension Agent: {series}/{session-folder}/platforms/ext-agent.md
|
2026-03-17 11:25:27 -04:00
|
|
|
|
- Moodle Activities:
|
2026-03-17 14:38:48 -04:00
|
|
|
|
- Quiz: {series}/{session-folder}/activities/quiz.md
|
|
|
|
|
|
- Matching: {series}/{session-folder}/activities/matching.md
|
2026-03-17 11:25:27 -04:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-03-17 14:38:48 -04:00
|
|
|
|
Where:
|
|
|
|
|
|
- `{series}` = `green-commercial` or `structural`
|
|
|
|
|
|
- `{session-folder}` = the folder name, e.g. `2024-03-07-mccullough-weed-mgmt`
|
|
|
|
|
|
- `{Speaker}` = last name, `{Topic}` = short title, `{YYYY-MM-DD}` = session date
|
|
|
|
|
|
|
2026-03-17 11:25:27 -04:00
|
|
|
|
Nav label format: `"Speaker — Topic (YYYY-MM-DD)"`
|
|
|
|
|
|
|
2026-03-17 14:38:48 -04:00
|
|
|
|
Only include lines for files that actually exist in the session folder.
|
|
|
|
|
|
Place sessions in chronological order
|
2026-03-17 11:25:27 -04:00
|
|
|
|
within each series tab.
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Series Landing Page Update
|
|
|
|
|
|
|
|
|
|
|
|
Add a row to the session table in the series `index.md`:
|
|
|
|
|
|
|
|
|
|
|
|
```markdown
|
|
|
|
|
|
| 2024-03-07 | [McCullough](2024-03-07-mccullough-weed-mgmt/index.md) | Weed Management in Warm-Season Turfgrass | 1–5 |
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Writing Project Folder Naming
|
|
|
|
|
|
|
|
|
|
|
|
Format: `project-name-speaker`
|
|
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
|
- `insecticide-bulletin-scharf`
|
|
|
|
|
|
- `fire-ant-management-oi`
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Deploy Commands
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Preview locally
|
|
|
|
|
|
mkdocs serve
|
|
|
|
|
|
|
|
|
|
|
|
# Build + deploy + commit (one-liner)
|
|
|
|
|
|
mkdocs build && surfer put site/* / && git add . && git commit -m "MESSAGE" && git push
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Tag Conventions
|
|
|
|
|
|
|
|
|
|
|
|
Use these tag categories in frontmatter:
|
|
|
|
|
|
|
|
|
|
|
|
- **Series:** `Green & Commercial` or `Structural`
|
|
|
|
|
|
- **Topic:** `Weed Science`, `Entomology`, `Plant Pathology`, `Turfgrass`, `Structural`, `Horticulture`
|
|
|
|
|
|
- **Speaker:** Last name only (e.g., `McCullough`, `Scharf`, `Graziosi`)
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Important Notes
|
|
|
|
|
|
|
|
|
|
|
|
- The staging folder is `~/gtbop-staging/` — deliverables are copied FROM here
|
|
|
|
|
|
- The MkDocs project root is `~/Projects/gtbop-docs/`
|
|
|
|
|
|
- Surfer is at `docs.gtbop.com`
|
|
|
|
|
|
- Gitea remote is `origin`
|
|
|
|
|
|
- Always preview with `mkdocs serve` before deploying
|
|
|
|
|
|
- The `site/` folder is git-ignored — never commit build output
|