静态站点 jekyll hugo astro word markdown

Word 到静态站点生成器:转换 Jekyll、Hugo 和 Astro 的文档

如何将 Word 文档转换为 Markdown,以用于 Jekyll、Hugo、Astro 和 Eleventy 等静态站点生成器。包括前言、文件结构和部署技巧。

W
WordToMD 团队
·

Jekyll、Hugo、Astro 和 Eleventy 等静态站点生成器 (SSG) 使用 Markdown 文件来构建网站。如果您的内容团队使用 Word 编写内容,则将该内容转换为 Markdown 是关键的第一步。本指南涵盖了完整的 Word到静态站点 工作流程。

核心工作流程

Word (.docx) → Markdown (.md) → SSG build → HTML website

每个箭头都是一个变换:

  1. WordToMD 转换 .docx → .md
  2. 您的 SSG 构建系统读取 .md 并生成 HTML
  3. CDN 或托管平台提供 HTML 服务

添加 Frontmatter

静态站点生成器需要 YAML 前言 。转换后 WordToMD,在内容之前添加一个 frontmatter 块:

杰基尔/十一

---
layout: post
title: "Your Document Title"
date: 2026-05-25
categories: [tutorial, documentation]
tags: [word, markdown]
permalink: /blog/your-document/
---

雨果

---
title: "Your Document Title"
date: 2026-05-25
draft: false
tags: ["tutorial", "documentation"]
slug: "your-document"
---

阿斯特罗 每个 Markdown 文件顶部的

---
title: "Your Document Title"
date: 2026-05-25
description: "A brief description for SEO."
tags: ["tutorial", "documentation"]
draft: false
---

文件组织

SSG 期望特定目录中的内容文件:

SSG博客文章目录
杰基尔_posts/ (文件名: YYYY-MM-DD-slug.md)
雨果content/posts/
阿斯特罗 每个 Markdown 文件顶部的src/content/blog/
十一您配置的任何目录
Next.jscontent/ or posts/ (取决于设置)

匹配您的 SSG 的文件名约定。Jekyll是最严格的: 2026-05-25-word-to-static-site.md.

标题和内容结构

SSG 显示 # Heading 1 作为页面的主标题。自从 title frontmatter 字段已经定义了页面标题,使用 H2 (##) 作为您的顶级内容标题,并避免在正文中使用 H1。

转换之前,请检查您的 Word 文档是否仅使用标题 1 作为文档标题,并使用标题 2 作为主要部分。看 Markdown 标题指南 。

静态站点中的图像

Word 文档中的图像需要:

  1. 从 Word 导出(另存为→网页将图像复制到文件夹)
  2. 放置在您的 SSG 的静态资产目录中(例如, public/images/ 对于 Astro/Next.js, assets/images/ )
  3. Markdown 中引用:
![Diagram description](/images/diagram.png)

表格

字表通过以下方式转换为 GFM 语法 WordToMD. All major SSGs render GFM tables. See Markdown 表:完整指南.

代码块

对于技术文档,请使用带有语言标识符的隔离代码块进行语法突出显示:

```python
def convert_document(filepath):
    with open(filepath, 'rb') as f:
        return mammoth.convert_to_markdown(f).value

See [Markdown Code Blocks Guide](/blog/markdown-code-blocks-guide) for all supported languages.

## Validating Markdown Before Build

Before running your SSG build, validate your converted Markdown:

- **markdownlint** — Checks for style consistency and errors
- **Vale** — Prose linting for technical writing
- **Your SSG's dev server** — The fastest way; run `hugo serve`, `jekyll serve`, or `astro dev` and check the rendered output

## Batch Conversion for Large Content Migrations

If you're migrating an existing Word-based content library to an SSG:

1. Use [WordToMD](/#converter) for individual files
2. For dozens of files, see [Batch Convert Word to Markdown](/blog/batch-convert-word-to-markdown) for command-line tools
3. Write a script to add frontmatter and rename files to your SSG's convention

A Python or Node.js script can automate the frontmatter injection after batch conversion.

## SSG-Specific Tips

### Jekyll
- Filename must include the date: `2026-05-25-your-slug.md`
- Use `categories:` for site navigation
- Liquid template tags conflict with certain curly-brace content in Markdown — escape with `{% raw %}...{% endraw %}`

### Hugo
- Hugo has strict frontmatter validation — required fields depend on your theme
- Use `hugo new content/posts/slug.md` to create a properly templated file, then paste converted content

### Astro
- Uses Content Collections with schema validation
- Ensure frontmatter fields match the schema in `src/content/config.ts`
- Astro's MDX support allows components inside Markdown if needed

### Eleventy
- Most flexible SSG — any .md file in any directory is content
- Frontmatter format is configurable (YAML, TOML, JSON)

## FAQ

**Do I need to convert each Word file manually?**
For a few files, manual conversion with [WordToMD](/#converter) is fastest. For a whole content library, [batch conversion](/blog/batch-convert-word-to-markdown) makes more sense.

**My SSG build fails after importing converted Markdown. What's wrong?**
Check for: (1) missing required frontmatter fields, (2) unescaped special characters in frontmatter values, (3) smart quotes in frontmatter strings (replace with straight quotes).

**Can Word documents become MDX files for React-based SSGs?**
Yes. Convert to standard Markdown first, rename to .mdx, then add React component imports at the top if needed. See the basics in [What Is Markdown](/blog/what-is-markdown-guide).

**Which SSG is best for a team that writes in Word?**
If your team is non-technical and writes in Word, a headless CMS (like Contentful or Sanity) with Markdown support may be a better fit than a file-based SSG. The Word → Markdown workflow works well for developers and hybrid teams.

## Conclusion

Static site generators are an excellent home for content that starts in Word. [WordToMD](/#converter) handles the conversion step; your SSG handles the publishing step. Add frontmatter, organize your files per the SSG's conventions, and you have a content pipeline that scales.