ogt-docs-create-social

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

OGT Docs - Create Social

OGT 文档 - 创建社交营销内容

Create and manage social media and marketing content.
创建并管理社交媒体与营销内容。

Overview

概述

Social content documents live in
docs/content/
and follow a workflow similar to tasks. Content moves through drafting, review, and publishing stages.
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/"]
    end

When 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.md

docs/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.md

Content 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 thread
twitter/drafts/v2-launch/
├── content.md          # 推文内容
├── .version
├── .scheduled_for      # 可选:预定发布日期
└── .thread             # 标记:此为推文线程

content.md (Single Tweet)

content.md(单条推文)

markdown
undefined
markdown
undefined

Tweet: 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
我们刚刚发布了v2.0版本!
核心亮点:
  • Steam OAuth 登录
  • 全局模糊搜索
  • 卡片变体样式
立即体验: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
undefined
2026-02-06 10:00 UTC
undefined

content.md (Thread)

content.md(推文线程)

markdown
undefined
markdown
undefined

Thread: 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

We'd love your feedback. What should we build next?
#gamedev #vtt #dnd

立即体验:https://example.com
欢迎提供反馈。你希望我们接下来开发什么功能?
#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 count
blog/drafts/fuzzy-search-deep-dive/
├── post.md             # 博客文章正文
├── meta.md             # SEO元数据
├── assets/             # 图片、图表
│   ├── cover.png
│   └── benchmark.png
├── .version
└── .word_count         # 目标字数

post.md

post.md

markdown
undefined
markdown
undefined

How 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
String.includes()
- fine for small datasets, but slow and inflexible at scale.
我们的用户需要跨生物、物品、法术等内容进行搜索。旧方案使用
String.includes()
——在小数据集下表现尚可,但在大规模数据下速度慢且灵活性不足。

Requirements

需求要求

  1. Instant results (<16ms for 10k items)
  2. Fuzzy matching ("fir" matches "Fireball")
  3. Relevance ranking
  4. TypeScript support
  1. 即时返回结果(1万条数据下响应<16ms)
  2. 支持模糊匹配("fir"可匹配"Fireball")
  3. 按相关性排序
  4. 支持TypeScript

Choosing a Library

库的选择

We evaluated three options:
LibrarySizeFuzzySpeed
Fuse.js25KBYesSlow
Lunr20KBNoFast
MiniSearch6KBYesFast
MiniSearch won: small, fast, and battle-tested (used by VitePress).
我们评估了三个选项:
库名称体积模糊匹配速度
Fuse.js25KB
Lunr20KB
MiniSearch6KB
最终选择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...
undefined
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");
// 返回结果:Fireball, Fire Elemental, Fire Giant...
undefined

Performance

性能表现

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
undefined
2026-02-06
undefined

meta.md

meta.md

markdown
undefined
markdown
undefined

SEO 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 published
release/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
undefined
markdown
undefined

Release 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 audience
newsletter/drafts/2026-02-weekly/
├── content.md          # 新闻通讯内容
├── subject_lines.md    # A/B测试主题
├── .version
├── .send_date          # 预定发送时间
└── .segment            # 目标受众

content.md

content.md

markdown
undefined
markdown
undefined

Newsletter: 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

头部

ORC v2.0
ORC v2.0

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

反馈渠道

Reply to this email or join us on Discord.
Cheers, The ORC Team
回复此邮件或加入我们的Discord社区
祝好, ORC 团队

Footer

页脚

You're receiving this because you signed up at example.com. Unsubscribe | Preferences
undefined
你收到此邮件是因为你在example.com注册了账号。 取消订阅 | 偏好设置
undefined

subject_lines.md

subject_lines.md

markdown
undefined
markdown
undefined

Subject 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
undefined
bash
undefined

Draft 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
undefined
markdown
undefined

Tweet: {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
{内部备注,不对外发布}
undefined

docs/content/_templates/thread.md

docs/content/_templates/thread.md

markdown
undefined
markdown
undefined

Thread: {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

标记文件参考

SignalContentPurpose
.version
JSONSchema version
.scheduled_for
ISO dateWhen to publish
.published
EmptyContent is live
.thread
EmptyThis is a thread
.segment
Audience nameNewsletter segment
.word_count
NumberTarget word count
.send_date
ISO dateNewsletter send date
.release_date
ISO dateRelease announcement date

标记文件内容格式用途
.version
JSON架构版本
.scheduled_for
ISO日期预定发布时间
.published
空文件内容已发布
.thread
空文件标记为推文线程
.segment
受众名称新闻通讯目标受众
.word_count
数字目标字数
.send_date
ISO日期新闻通讯发送时间
.release_date
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
  • 已审核通过
  • 预定发布时间确认
  • 所有素材已上传
  • 链接测试通过
  • 已添加分析追踪