https://github.com/penouc/microfeed-obsidian-publisher
A powerful Obsidian plugin for publishing notes to Microfeed with automatic magazine-style image generation featuring 29 unique design templates, QR code integration, and comprehensive media support.
https://github.com/penouc/microfeed-obsidian-publisher
cms markdown microfeed obsidian plugin podcast publishing
Last synced: about 1 month ago
JSON representation
A powerful Obsidian plugin for publishing notes to Microfeed with automatic magazine-style image generation featuring 29 unique design templates, QR code integration, and comprehensive media support.
- Host: GitHub
- URL: https://github.com/penouc/microfeed-obsidian-publisher
- Owner: penouc
- Created: 2025-08-07T08:02:00.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-08T14:55:27.000Z (10 months ago)
- Last Synced: 2025-08-25T00:02:20.466Z (10 months ago)
- Topics: cms, markdown, microfeed, obsidian, plugin, podcast, publishing
- Language: JavaScript
- Homepage: https://titi.li
- Size: 240 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README-zh.md
Awesome Lists containing this project
README
# Microfeed Publisher for Obsidian
一个强大的 Obsidian 插件,可以将你的笔记直接发布到 Microfeed 平台。
## 功能特点
### 🚀 核心功能
- **一键发布**: 直接从 Obsidian 发布笔记到 Microfeed
- **智能内容解析**: 自动解析 Markdown 中的媒体文件(音频、视频、图片、文档)
- **自动图片生成**: 为没有图片的文章自动生成精美的缩略图
- **多媒体支持**: 支持音频、视频、图片、文档和外部链接
### 📝 内容处理
- **Markdown 解析**: 完整支持 Markdown 语法转 HTML
- **前言支持**: 支持 YAML 前言配置文章元数据
- **媒体文件检测**: 自动识别并处理各种格式的媒体文件
- **内容清理**: 智能清理将作为附件的媒体链接
### 🎨 图片生成
- **自动生成**: 根据文章标题和内容生成缩略图
- **多种样式**: 支持简洁和详细两种图片模板
- **高质量输出**: 生成 1400x1400 像素的高质量图片
## 支持的媒体格式
### 音频文件
- MP3, WAV, M4A, AAC, OGG, FLAC
### 视频文件
- MP4, MOV, AVI, MKV, WebM, M4V
### 图片文件
- JPG, JPEG, PNG, GIF, WebP, SVG
### 文档文件
- PDF, DOC, DOCX, TXT, RTF
### 外部链接
- 任何 HTTP/HTTPS URL
## 安装
### 方法一:手动安装
1. 下载插件文件
2. 将文件夹复制到 `.obsidian/plugins/` 目录
3. 在 Obsidian 设置中启用插件
### 方法二:开发者安装
```bash
cd your-vault/.obsidian/plugins/
git clone [this-repository] obsidian-microfeed-plugin
cd obsidian-microfeed-plugin
npm install
npm run build
```
## 配置
1. 打开 Obsidian 设置
2. 找到 "Microfeed Publisher" 选项
3. 配置以下信息:
- **API URL**: 你的 Microfeed 实例地址(如 `https://your-domain.com`)
- **API Key**: 从 `/admin/settings/` 获取的 API 密钥
- **默认发布状态**: published/unlisted/unpublished
- **自动生成图片**: 开启/关闭自动图片生成
- **图片模板**: 选择图片生成样式
4. 点击 "测试连接" 验证配置
## 使用方法
### 基本发布
1. 打开任意 Markdown 笔记
2. 使用以下方式之一:
- 点击左侧工具栏的上传图标
- 使用命令面板(Cmd/Ctrl + P)搜索 "Publish to Microfeed"
- 使用快捷键(可自定义)
### 高级发布
使用 "Publish to Microfeed with options" 命令可以:
- 选择发布状态
- 自定义发布选项
### 前言配置
在笔记开头添加 YAML 前言来控制发布参数:
```yaml
---
title: 我的播客第一集
status: published
itunes:explicit: false
itunes:season: 1
itunes:episode: 1
itunes:episodeType: full
---
```
### 媒体文件使用
在 Markdown 中引用媒体文件:
```markdown
# 我的播客
这是播客内容...

[音频文件](./episode.mp3)
[视频链接](https://youtube.com/watch?v=xxx)
```
插件会自动:
- 将第一个音频文件作为主要附件
- 将图片设置为缩略图
- 处理外部链接
- 上传本地文件到 Microfeed
## iTunes 播客支持
支持完整的 iTunes 播客元数据:
```yaml
---
title: 播客标题
itunes:title: iTunes 专用标题
itunes:explicit: false
itunes:season: 1
itunes:episode: 5
itunes:episodeType: full # full/trailer/bonus
itunes:block: false
---
```
## 开发
### 项目结构
```
src/
├── types.ts # 类型定义
├── contentParser.ts # 内容解析器
├── imageGenerator.ts # 图片生成器
├── microfeedClient.ts # API 客户端
└── settings.ts # 设置界面
main.ts # 主插件文件
```
### 开发命令
```bash
npm install # 安装依赖
npm run dev # 开发模式
npm run build # 构建生产版本
```
### API 集成
插件使用 Microfeed 的官方 API:
- `POST /api/items/` - 创建文章
- `POST /api/media_files/presigned_urls/` - 获取上传链接
- `PUT [presigned_url]` - 上传媒体文件
## 故障排除
### 常见问题
**Q: 连接测试失败**
A: 检查 API URL 和 API Key 是否正确,确保网络连接正常
**Q: 媒体文件上传失败**
A: 确保文件路径正确,文件格式受支持
**Q: 图片生成失败**
A: 检查浏览器是否支持 Canvas API
**Q: 内容格式不正确**
A: 检查 Markdown 语法,确保前言格式正确
### 调试
启用开发者工具查看控制台日志获取详细错误信息。
## 贡献
欢迎提交 Issue 和 Pull Request!
## 许可证
MIT License
## 更新日志
### v1.0.0
- 初始版本发布
- 支持基本的文章发布功能
- 自动媒体文件处理
- 图片生成功能
- iTunes 播客元数据支持