Skip to content
Back to skills

Publish Pipeline

ASecurity

Markdown to HTML/PDF build + FTP sync to configured remote host. Pandoc + xelatex templates, branded output, automated deployment. Proven on 29-document HEL series.

  • 69 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 30, 2026
ai-agentsjavascriptgojavabash

Security analysis

A100/100

Scanned May 30, 2026

npx -y skills add Tibsfox/gsd-skill-creator --skill publish-pipeline --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Publish Pipeline?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Publish Pipeline
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tibsfox-publish-pipeline/badge)](https://www.skillsdirectory.com/skills/tibsfox-publish-pipeline)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: publish-pipeline
description: Markdown to HTML/PDF build + FTP sync to configured remote host. Pandoc + xelatex templates, branded output, automated deployment. Proven on 29-document HEL series.
version: 1.0.0
type: skill
category: media
status: stable
origin: tibsfox
modified: false
first_seen: 2026-03-31
first_path: .claude/skills/publish-pipeline/SKILL.md
superseded_by: null
---
# Publish Pipeline

Activates when research documents need to be converted to publication formats and deployed to the live site.

## Build Chain

```
Markdown (.md) → pandoc → Standalone HTML (branded template)
                       → LaTeX PDF (xelatex, branded template)
```

## Prerequisites

- `~/.local/bin/pandoc` (v3.6+)
- `xelatex` (texlive-xetex)
- DejaVu fonts (for PDF)
- Templates at the project level: `template.tex`, `html-template.html`
- `build.sh` script in the project directory

## Build Command

```bash
bash www/$SITE_DOMAIN/Research/PROJECT/build.sh
```

## Template Setup

Each research project needs:
1. `template.tex` — LaTeX template (branded header/footer, colors, title page)
2. `html-template.html` — Standalone HTML template (dark theme, navigation)
3. `build.sh` — Iterates research/*.md, builds both formats

## FTP Sync

```bash
# Full site sync
bash scripts/sync-research-to-live.sh

# Single project sync (direct to FTP root)
lftp -f /tmp/lftp-PROJECT.sh
# Where remote path is /PROJECT (NOT /Research/PROJECT)
```

**Critical:** The web server maps `$DEPLOY_HOST/Research/X/` to FTP root `/X/`, not to `/Research/X/`. Always upload to root-level project directories.

## Series Integration

After publishing, add the project to `series.js`:
```javascript
{ id: 'CODE', name: 'Project Name', path: 'CODE/index.html' },
```
Alphabetical insertion by ID.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…