aRustyDev / aRustyDev/blog

feat: implement content syndication automation

Open
#57 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Summary

Set up automated content syndication based on the publishing workflow documented in `docs/content-publishing-workflow.md`.

## Background

The workflow uses `blog.arusty.dev` as the canonical source of truth, with automated distribution to multiple platforms.

## Automation Tiers

### Tier 1: Native RSS (One-time setup) - P0
- [ ] **Dev.to**: Enable RSS import at Settings > Extensions
- Check "Mark RSS source as canonical URL"
- Posts import as drafts
- [ ] **Hashnode**: Dashboard > Import > Add RSS feed

### Tier 2: Zapier/Make Workflows - P1
- [ ] **Twitter/X**: Create RSS → Tweet workflow
- Tool: Zapier or Typefully
- Format: Title + link + tags
- [ ] **Mastodon**: Create RSS → API POST workflow
- Endpoint: `POST /api/v1/statuses`
- Requires app creation on instance
- [ ] **Discord**: Create RSS → Webhook workflow
- Create webhook in #announcements channel
- Zapier or IFTTT trigger

### Tier 3: API Integrations - P2
- [ ] **Threads**: Apply for Meta Threads API access
- Rate limit: 250 posts/24hr
- Requires Meta Developer account

### Tier 4: Scheduling Tools - P2
- [ ] **Typefully**: Set up for Twitter thread scheduling
- [ ] **Later/Buffer**: Configure for Instagram/TikTok (if video content planned)

## RSS Feed URL

```
https://blog.arusty.dev/rss.xml
```

## Zapier Workflow Templates

### Twitter Announcement
```
Trigger: New item in RSS feed
Filter: Not a draft
Action: Create tweet
Content: "🆕 {title}

{description}

🔗 {link}

#blog #dev"
```

### Discord Webhook
```
Trigger: New item in RSS feed
Action: POST to webhook
Payload:
{
"content": "📝 **New Blog Post**",
"embeds": [{
"title": "{title}",
"url": "{link}",
"description": "{description}",
"color": 5814783
}]
}
```

### Mastodon Post
```
Trigger: New item in RSS feed
Action: HTTP POST to Mastodon API
URL: https://mastodon.social/api/v1/statuses
Headers: Authorization: Bearer {token}
Body: status={title} - {link}
```

## Acceptance Criteria

- [ ] New blog posts automatically appear on Dev.to within 1 hour
- [ ] New blog posts automatically appear on Hashnode within 1 hour
- [ ] Twitter announcement posts within 15 minutes of publish
- [ ] Mastodon announcement posts within 15 minutes of publish
- [ ] Discord webhook fires within 15 minutes of publish
- [ ] All syndicated posts include canonical URL back to blog

## Documentation

- Workflow guide: `docs/content-publishing-workflow.md`
- Analytics guide: `docs/content-platform-analytics.md`

## Labels
enhancement, automation, infrastructure

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.