ogt-docs-create-social
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseOGT Docs - Create Social
OGT 文档 - 创建社交营销内容
Create and manage social media and marketing content.
创建并管理社交媒体与营销内容。
Overview
概述
Social content documents live in and follow a workflow similar to tasks. Content moves through drafting, review, and publishing stages.
docs/content/mermaid
flowchart LR
subgraph workflow ["Content Workflow"]
DRAFT["drafts/"] --> REVIEW["review/"]
REVIEW --> SCHEDULED["scheduled/"]
SCHEDULED --> PUBLISHED["published/"]
REVIEW --> REJECTED["rejected/"]
end
subgraph types ["Content Types"]
T["twitter/"]
B["blog/"]
N["newsletter/"]
R["release/"]
end社交内容文档存储在目录下,遵循与任务类似的工作流。内容会经历草稿、审核和发布等阶段。
docs/content/mermaid
flowchart LR
subgraph workflow ["Content Workflow"]
DRAFT["drafts/"] --> REVIEW["review/"]
REVIEW --> SCHEDULED["scheduled/"]
SCHEDULED --> PUBLISHED["published/"]
REVIEW --> REJECTED["rejected/"]
end
subgraph types ["Content Types"]
T["twitter/"]
B["blog/"]
N["newsletter/"]
R["release/"]
endWhen to Use
适用场景
- Announcing new features or releases
- Creating Twitter/X threads
- Writing blog posts
- Drafting newsletter content
- Preparing launch communications
- Documenting social media strategy
- 发布新功能或版本更新公告
- 创建Twitter/X推文线程
- 撰写博客文章
- 起草新闻通讯内容
- 准备上线推广内容
- 记录社交媒体策略
Folder Structure
文件夹结构
docs/content/
├── social/ # Social media posts
│ ├── twitter/
│ │ ├── drafts/
│ │ ├── review/
│ │ ├── scheduled/
│ │ └── published/
│ │
│ ├── linkedin/
│ │ └── ...
│ │
│ └── discord/
│ └── ...
│
├── blog/ # Blog posts
│ ├── drafts/
│ ├── review/
│ └── published/
│
├── newsletter/ # Newsletter content
│ ├── drafts/
│ ├── scheduled/
│ └── sent/
│
├── release/ # Release announcements
│ └── {version}/
│ ├── announcement.md
│ ├── twitter_thread.md
│ ├── blog_post.md
│ └── .published
│
└── _templates/ # Content templates
├── tweet.md
├── thread.md
├── blog_post.md
├── newsletter.md
└── release_announcement.mddocs/content/
├── social/ # 社交媒体帖子
│ ├── twitter/
│ │ ├── drafts/
│ │ ├── review/
│ │ ├── scheduled/
│ │ └── published/
│ │
│ ├── linkedin/
│ │ └── ...
│ │
│ └── discord/
│ └── ...
│
├── blog/ # 博客文章
│ ├── drafts/
│ ├── review/
│ └── published/
│
├── newsletter/ # 新闻通讯内容
│ ├── drafts/
│ ├── scheduled/
│ └── sent/
│
├── release/ # 版本发布公告
│ └── {version}/
│ ├── announcement.md
│ ├── twitter_thread.md
│ ├── blog_post.md
│ └── .published
│
└── _templates/ # 内容模板
├── tweet.md
├── thread.md
├── blog_post.md
├── newsletter.md
└── release_announcement.mdContent Types
内容类型
Twitter/X Posts
Twitter/X 帖子
Single tweets or threads for announcements.
用于发布公告的单条推文或推文线程。
Folder: docs/content/social/twitter/drafts/{slug}/
目录:docs/content/social/twitter/drafts/{slug}/
twitter/drafts/v2-launch/
├── content.md # The tweet(s)
├── .version
├── .scheduled_for # Optional: scheduled date
└── .thread # Signal: this is a threadtwitter/drafts/v2-launch/
├── content.md # 推文内容
├── .version
├── .scheduled_for # 可选:预定发布日期
└── .thread # 标记:此为推文线程content.md (Single Tweet)
content.md(单条推文)
markdown
undefinedmarkdown
undefinedTweet: v2.0 Launch
推文:v2.0 版本上线
Content
内容
We just shipped v2.0!
Key highlights:
- Steam OAuth
- Global fuzzy search
- Card variants
Check it out: https://example.com
Hashtags
话题标签
#gamedev #vtt #dnd
#gamedev #vtt #dnd
Media
媒体素材
- screenshot_v2.png (attach)
- screenshot_v2.png(需附加)
Scheduled
发布时间
2026-02-06 10:00 UTC
undefined2026-02-06 10:00 UTC
undefinedcontent.md (Thread)
content.md(推文线程)
markdown
undefinedmarkdown
undefinedThread: Building ORC v2
推文线程:ORC v2 版本开发历程
Tweet 1/5
推文 1/5
We just shipped ORC v2.0!
Here's the story of how we built it...
A thread.
我们刚刚发布了ORC v2.0版本!
下面为你讲述它的开发故事...
一条线程。
Tweet 2/5
推文 2/5
First, we tackled authentication.
Steam OAuth was the most requested feature. We built it on top of our existing Google/Discord flow.
The key insight: abstract the provider layer early.
首先,我们解决了认证问题。
Steam OAuth是用户呼声最高的功能。我们在现有Google/Discord登录流的基础上开发了该功能。
关键思路:尽早抽象出认证提供者层。
Tweet 3/5
推文 3/5
Next: search.
Users wanted instant, fuzzy search. We evaluated:
- Fuse.js (heavy)
- Lunr (no fuzzy)
- MiniSearch (perfect)
MiniSearch is 6KB and blazing fast.
接下来是搜索功能。
用户需要即时的模糊搜索。我们评估了以下方案:
- Fuse.js(体积大)
- Lunr(无模糊匹配)
- MiniSearch(完美适配)
MiniSearch仅6KB,速度极快。
Tweet 4/5
推文 4/5
Card variants took the longest.
8 entity types × 4 variants = 32 components.
We used composition patterns to share logic. CardBase handles the common stuff.
卡片变体样式的开发耗时最久。
8种实体类型 × 4种变体 = 32个组件。
我们使用组合模式共享逻辑,CardBase组件处理通用部分。
Tweet 5/5
推文 5/5
Try it out: https://example.com
We'd love your feedback. What should we build next?
#gamedev #vtt #dnd
Media
媒体素材
- Tweet 1: hero_image.png
- Tweet 3: search_demo.gif
- Tweet 4: card_variants.png
---- 推文1:hero_image.png
- 推文3:search_demo.gif
- 推文4:card_variants.png
---Blog Posts
博客文章
Longer form content for the company blog.
用于公司博客的长文内容。
Folder: docs/content/blog/drafts/{slug}/
目录:docs/content/blog/drafts/{slug}/
blog/drafts/fuzzy-search-deep-dive/
├── post.md # The blog post
├── meta.md # SEO metadata
├── assets/ # Images, diagrams
│ ├── cover.png
│ └── benchmark.png
├── .version
└── .word_count # Target word countblog/drafts/fuzzy-search-deep-dive/
├── post.md # 博客文章正文
├── meta.md # SEO元数据
├── assets/ # 图片、图表
│ ├── cover.png
│ └── benchmark.png
├── .version
└── .word_count # 目标字数post.md
post.md
markdown
undefinedmarkdown
undefinedHow We Built Instant Fuzzy Search
我们如何实现即时模糊搜索
Summary
摘要
A deep dive into implementing sub-16ms fuzzy search for 10,000+ items.
深入解析如何为10,000+条数据实现响应时间小于16ms的模糊搜索。
Content
正文
The Problem
问题背景
Our users needed to search across creatures, items, spells, and more. The old approach used - fine for small datasets, but slow and inflexible at scale.
String.includes()我们的用户需要跨生物、物品、法术等内容进行搜索。旧方案使用——在小数据集下表现尚可,但在大规模数据下速度慢且灵活性不足。
String.includes()Requirements
需求要求
- Instant results (<16ms for 10k items)
- Fuzzy matching ("fir" matches "Fireball")
- Relevance ranking
- TypeScript support
- 即时返回结果(1万条数据下响应<16ms)
- 支持模糊匹配("fir"可匹配"Fireball")
- 按相关性排序
- 支持TypeScript
Choosing a Library
库的选择
We evaluated three options:
| Library | Size | Fuzzy | Speed |
|---|---|---|---|
| Fuse.js | 25KB | Yes | Slow |
| Lunr | 20KB | No | Fast |
| MiniSearch | 6KB | Yes | Fast |
MiniSearch won: small, fast, and battle-tested (used by VitePress).
我们评估了三个选项:
| 库名称 | 体积 | 模糊匹配 | 速度 |
|---|---|---|---|
| Fuse.js | 25KB | 是 | 慢 |
| Lunr | 20KB | 否 | 快 |
| MiniSearch | 6KB | 是 | 快 |
最终选择MiniSearch:体积小、速度快,且经过实战检验(被VitePress采用)。
Implementation
实现代码
typescript
import MiniSearch from "minisearch";
const searchIndex = new MiniSearch({
fields: ["name", "description", "type"],
storeFields: ["name", "slug", "type"],
searchOptions: {
fuzzy: 0.2,
prefix: true,
},
});
searchIndex.addAll(creatures);
const results = searchIndex.search("fir");
// Returns: Fireball, Fire Elemental, Fire Giant...undefinedtypescript
import MiniSearch from "minisearch";
const searchIndex = new MiniSearch({
fields: ["name", "description", "type"],
storeFields: ["name", "slug", "type"],
searchOptions: {
fuzzy: 0.2,
prefix: true,
},
});
searchIndex.addAll(creatures);
const results = searchIndex.search("fir");
// 返回结果:Fireball, Fire Elemental, Fire Giant...undefinedPerformance
性能表现
Benchmarks on 10,000 items:
- Index build: 45ms (one-time)
- Search: 2-8ms
- Memory: ~2MB
基于10,000条数据的基准测试:
- 索引构建:45ms(一次性操作)
- 搜索响应:2-8ms
- 内存占用:约2MB
Conclusion
总结
MiniSearch delivered exactly what we needed. The key was choosing the right tool for the job.
MiniSearch完全满足我们的需求。关键在于为任务选择合适的工具。
Author
作者
Jane Developer
Jane Developer
Published
发布时间
2026-02-06
undefined2026-02-06
undefinedmeta.md
meta.md
markdown
undefinedmarkdown
undefinedSEO Metadata
SEO元数据
Title
页面标题
How We Built Instant Fuzzy Search | ORC Blog
How We Built Instant Fuzzy Search | ORC Blog
Description
页面描述
A deep dive into implementing sub-16ms fuzzy search for 10,000+ game content items using MiniSearch.
A deep dive into implementing sub-16ms fuzzy search for 10,000+ game content items using MiniSearch.
Keywords
关键词
- fuzzy search
- MiniSearch
- React search
- instant search
- TypeScript
- fuzzy search
- MiniSearch
- React search
- instant search
- TypeScript
Open Graph
Open Graph 配置
- og:title: How We Built Instant Fuzzy Search
- og:description: Sub-16ms search for 10,000+ items
- og:image: /blog/fuzzy-search/cover.png
- og:title: How We Built Instant Fuzzy Search
- og:description: Sub-16ms search for 10,000+ items
- og:image: /blog/fuzzy-search/cover.png
Canonical
规范链接
Release Announcements
版本发布公告
Coordinated multi-channel release communications.
多渠道协同的版本发布沟通内容。
Folder: docs/content/release/v2.0.0/
目录:docs/content/release/v2.0.0/
release/v2.0.0/
├── announcement.md # Main announcement
├── twitter_thread.md # Twitter version
├── blog_post.md # Blog version
├── newsletter.md # Email version
├── discord.md # Discord announcement
├── assets/
│ ├── hero.png
│ └── features.png
├── .version
├── .release_date # When to publish
└── .published # Signal: all publishedrelease/v2.0.0/
├── announcement.md # 主公告
├── twitter_thread.md # Twitter版本
├── blog_post.md # 博客版本
├── newsletter.md # 邮件版本
├── discord.md # Discord公告
├── assets/
│ ├── hero.png
│ └── features.png
├── .version
├── .release_date # 发布时间
└── .published # 标记:已全部发布announcement.md
announcement.md
markdown
undefinedmarkdown
undefinedRelease Announcement: v2.0.0
版本发布公告:v2.0.0
Tagline
标语
The biggest ORC update yet: Steam login, instant search, and beautiful new cards.
ORC 史上最大更新:Steam登录、即时搜索和全新美观卡片样式。
Key Features
核心功能
Steam OAuth
Steam OAuth 登录
Log in with your Steam account. Your Steam display name syncs automatically.
使用Steam账号登录,Steam显示名称将自动同步。
Global Fuzzy Search
全局模糊搜索
Press Ctrl+K to search everything. Instant, fuzzy, and ranked by relevance.
按下Ctrl+K即可搜索所有内容,响应即时、支持模糊匹配并按相关性排序。
Card Variants
卡片变体样式
Condensed cards for dense grids. List items for compact tables. More ways to view your content.
密集网格布局的精简卡片、紧凑表格的列表项视图。提供更多内容展示方式。
Call to Action
行动号召
Try it now at https://example.com
立即体验:https://example.com
Quotes
引用
"This update transforms how you interact with your content." - Lead Developer
"此次更新彻底改变了你与内容的交互方式。" - 首席开发
Links
相关链接
- Full changelog: /changelog
- Documentation: /docs
- Discord: /discord
- 完整更新日志:/changelog
- 文档:/docs
- Discord社区:/discord
Assets
素材
- Hero image: assets/hero.png
- Feature grid: assets/features.png
- Video demo: assets/demo.mp4
---- 主视觉图:assets/hero.png
- 功能网格图:assets/features.png
- 演示视频:assets/demo.mp4
---Newsletter Content
新闻通讯内容
Email newsletter drafts.
邮件新闻通讯草稿。
Folder: docs/content/newsletter/drafts/2026-02-weekly/
目录:docs/content/newsletter/drafts/2026-02-weekly/
newsletter/drafts/2026-02-weekly/
├── content.md # Newsletter content
├── subject_lines.md # A/B test subjects
├── .version
├── .send_date # Scheduled send
└── .segment # Target audiencenewsletter/drafts/2026-02-weekly/
├── content.md # 新闻通讯内容
├── subject_lines.md # A/B测试主题
├── .version
├── .send_date # 预定发送时间
└── .segment # 目标受众content.md
content.md
markdown
undefinedmarkdown
undefinedNewsletter: February Week 1
新闻通讯:2月第1周
Subject
邮件主题
ORC v2.0 is here - Steam login, instant search, and more
ORC v2.0 已发布 - 支持Steam登录、即时搜索及更多功能
Preview Text
预览文本
The biggest update yet. Here's what's new.
史上最大更新,以下是新功能详情。
Header
头部


Body
正文
Hey {first_name},
你好 {first_name},
Big news: ORC v2.0 just shipped!
重大消息:ORC v2.0 刚刚发布!
What's New
新功能亮点
Steam Login
Connect your Steam account for seamless authentication.
Instant Search
Press Ctrl+K for lightning-fast, fuzzy search across all content.
Card Variants
New condensed and list views for your creature and item collections.
Steam登录
连接你的Steam账号,实现无缝认证。
即时搜索
按下Ctrl+K即可对所有内容进行闪电般的模糊搜索。
卡片变体样式
为你的生物和物品集合提供新的精简视图和列表视图。
Try It Now
立即体验
Coming Next
即将推出
- Dark mode
- Mobile improvements
- API access
- 深色模式
- 移动端优化
- API访问权限
Feedback
反馈渠道
Footer
页脚
You're receiving this because you signed up at example.com.
Unsubscribe | Preferences
undefined你收到此邮件是因为你在example.com注册了账号。
取消订阅 | 偏好设置
undefinedsubject_lines.md
subject_lines.md
markdown
undefinedmarkdown
undefinedSubject Line Options
邮件主题选项
A/B Test
A/B测试
A: "ORC v2.0 is here - Steam login, instant search, and more"
B: "Big update: Connect Steam, search instantly, new card views"
C: "v2.0 shipped! Here's what's new in ORC"
A: "ORC v2.0 已发布 - 支持Steam登录、即时搜索及更多功能"
B: "重大更新:连接Steam、即时搜索、全新卡片视图"
C: "v2.0 发布!ORC 新功能一览"
Winner Criteria
获胜标准
Open rate > 25%
打开率 > 25%
Notes
注意事项
- Keep under 50 characters for mobile
- Include version number for clarity
- Action-oriented preferred
---- 移动端显示需控制在50字符以内
- 明确包含版本号
- 优先选择行动导向的表述
---Content Workflow
内容工作流
Creating New Content
创建新内容
mermaid
flowchart TD
A[Identify Content Need] --> B{Type?}
B -->|Tweet| C[twitter/drafts/]
B -->|Blog| D[blog/drafts/]
B -->|Newsletter| E[newsletter/drafts/]
B -->|Release| F[release/{version}/]
C --> G[Create Folder]
D --> G
E --> G
F --> G
G --> H[Copy Template]
H --> I[Write Content]
I --> J[Add Assets]
J --> K[Move to review/]mermaid
flowchart TD
A[确定内容需求] --> B{内容类型?}
B -->|推文| C[twitter/drafts/]
B -->|博客| D[blog/drafts/]
B -->|新闻通讯| E[newsletter/drafts/]
B -->|版本发布| F[release/{version}/]
C --> G[创建目录]
D --> G
E --> G
F --> G
G --> H[复制模板]
H --> I[撰写内容]
I --> J[添加素材]
J --> K[移至review/目录]Moving Through Stages
内容阶段流转
bash
undefinedbash
undefinedDraft complete, request review
草稿完成,请求审核
mv docs/content/social/twitter/drafts/{slug} docs/content/social/twitter/review/
mv docs/content/social/twitter/drafts/{slug} docs/content/social/twitter/review/
Approved, schedule
审核通过,预定发布
mv docs/content/social/twitter/review/{slug} docs/content/social/twitter/scheduled/
echo "2026-02-06T10:00:00Z" > docs/content/social/twitter/scheduled/{slug}/.scheduled_for
mv docs/content/social/twitter/review/{slug} docs/content/social/twitter/scheduled/
echo "2026-02-06T10:00:00Z" > docs/content/social/twitter/scheduled/{slug}/.scheduled_for
Published
发布内容
mv docs/content/social/twitter/scheduled/{slug} docs/content/social/twitter/published/
touch docs/content/social/twitter/published/{slug}/.published
---mv docs/content/social/twitter/scheduled/{slug} docs/content/social/twitter/published/
touch docs/content/social/twitter/published/{slug}/.published
---Templates
模板
docs/content/_templates/tweet.md
docs/content/_templates/tweet.md
markdown
undefinedmarkdown
undefinedTweet: {Title}
推文:{标题}
Content
内容
{Tweet text, max 280 characters}
{推文文本,最多280字符}
Hashtags
话题标签
{Relevant hashtags}
{相关话题标签}
Media
媒体素材
- {image/video to attach}
- {需附加的图片/视频}
Scheduled
发布时间
{Date and time, or "immediate"}
{日期和时间,或"立即发布"}
Notes
备注
{Internal notes, not published}
undefined{内部备注,不对外发布}
undefineddocs/content/_templates/thread.md
docs/content/_templates/thread.md
markdown
undefinedmarkdown
undefinedThread: {Title}
推文线程:{标题}
Tweet 1/N
推文 1/N
{Opening tweet with hook}
{带有钩子的开篇推文}
Tweet 2/N
推文 2/N
{Content}
{内容}
Tweet N/N
推文 N/N
{Call to action and hashtags}
{行动号召和话题标签}
Media
媒体素材
- Tweet N: {filename}
- 推文N:{文件名}
Notes
备注
{Internal notes}
---{内部备注}
---Signal Files Reference
标记文件参考
| Signal | Content | Purpose |
|---|---|---|
| JSON | Schema version |
| ISO date | When to publish |
| Empty | Content is live |
| Empty | This is a thread |
| Audience name | Newsletter segment |
| Number | Target word count |
| ISO date | Newsletter send date |
| ISO date | Release announcement date |
| 标记文件 | 内容格式 | 用途 |
|---|---|---|
| JSON | 架构版本 |
| ISO日期 | 预定发布时间 |
| 空文件 | 内容已发布 |
| 空文件 | 标记为推文线程 |
| 受众名称 | 新闻通讯目标受众 |
| 数字 | 目标字数 |
| ISO日期 | 新闻通讯发送时间 |
| ISO日期 | 版本发布公告时间 |
Content Checklist
内容检查清单
Before Review
提交审核前
- Content is complete
- Spelling/grammar checked
- Links are valid
- Assets attached/referenced
- Hashtags appropriate (social)
- SEO metadata complete (blog)
- Call to action included
- 内容完整
- 拼写/语法检查完毕
- 链接有效
- 素材已附加/引用
- 话题标签合适(社交内容)
- SEO元数据完整(博客)
- 包含行动号召
Before Publishing
发布前
- Reviewed and approved
- Scheduled time confirmed
- All assets uploaded
- Links tested
- Analytics tracking in place
- 已审核通过
- 预定发布时间确认
- 所有素材已上传
- 链接测试通过
- 已添加分析追踪