# 把书迁移到模板页

> 如何把各页文字放在标题样式里的书，迁移成页面模板加 Markdown：用沙盒里的“把文字移到 Markdown”助手，或者手工迁移，以及迁移之后要检查什么

- HTML版本: https://postext.dev/zh/docs/migrating-to-composed-pages
- 最后更新: 2026-10-17
- 阅读时间: 7分钟
- 其他语言: [en](https://postext.dev/en/docs/migrating-to-composed-pages.md), [es](https://postext.dev/es/docs/migrating-to-composed-pages.md), [ca](https://postext.dev/ca/docs/migrating-to-composed-pages.md), [de](https://postext.dev/de/docs/migrating-to-composed-pages.md), [fr](https://postext.dev/fr/docs/migrating-to-composed-pages.md), [it](https://postext.dev/it/docs/migrating-to-composed-pages.md), [pt](https://postext.dev/pt/docs/migrating-to-composed-pages.md), [ja](https://postext.dev/ja/docs/migrating-to-composed-pages.md), [ar](https://postext.dev/ar/docs/migrating-to-composed-pages.md)

## 简单来说

在有模板页之前用Postext做的有些书，把每一页的文字放在设计设置里，而不是放在正文里。这样的书很难修改，也没法翻译。本页教你把这些文字移进 Markdown，每一页成为一个带自己模板的块。沙盒点一个按钮就能完成大部分工作，你再一页一页检查结果。本页也讲了怎样手工迁移单独一页。

**文字放在样式里的书，可以把各页的文字移进 Markdown，这样就能修改和翻译。**

在有模板页之前，移植到Postext的课本常把每一页做成一个隐藏的标题，由它的页眉把这一页的文字、方框和图片放到印刷页上原来的位置。页面看起来没问题，但文字存放在配置里：改一个错别字要打开一个样式，翻译则要复制样式。模板页做同样的事，只是形式放在**页面模板**里，文字放在 Markdown 里，做法见[模板页做的书](https://postext.dev/zh/docs/composed-page-books.md)。本页把旧书迁移成这种形式。

检查面板里列出*配置中存放的正文*（`contentInConfig`），每个含有整句文字的标题样式一条，并且在列表顶部提供**把文字移到 Markdown**，就说明这本书是旧的形式。

## 跟着做的书

下面的步骤用的是专门为本页做的一本小书《Our World, before composed pages》（意为“我们的世界，模板页之前”）：三年级课本的三页，每页是一个标题样式，由它的页眉放置一张图片、一张卡片、一个标题和三块文字，其中一个词下面垫着一条黄色色带。文字和图片都是虚构的。[下载这本书](https://postext.dev/docs-examples/our-world-before.postext)，然后在沙盒里打开**书库**，点**新建**，选**打开.postext文件…**。

## 用助手迁移

导入一本文字放在样式里的书时，会自动打开对话框**把文字移到 Markdown**。如果你把它关掉了，或者这本书本来就在你的列表里，就打开**检查**，点列表顶部的按钮。在你点**移动文字**之前，什么都不会改变。

1. 读**会有哪些变化**。对示例书，它写着：将移动16段文字（567个字符），写出3个模板页，3个标题样式合并为1个，3个高亮色块变成标签，*配置中存放的正文*警告从3条降到0条。
2. 看一看选项。**框位置相同的页面共用一个模板**：排法相同的页面共用一个基础模板，其余页面继承它。**粗体字下面的高亮色块变成标签**：把画在粗体字下面的彩色方块变成本书标签样式的标签。**图片上的文字变成该图片的标注**：旧设计在图片上放过短词（例如地图上的名称）时才会出现，这些词变成图片锚点处的`::label`行。这一项默认关闭，需要时再打开，因为这些页面变化最大。
3. 在**前后对比**下，沙盒把每一章排两遍，把每个有变化的页面画出来，旧的在新的旁边。列表说明哪些页面看起来不同，知道原因时也会说明原因。**用红色标出变化的地方**把不同的像素涂成红色。在示例书里，三页都标着*看起来相同*。
4. 点**移动文字**。

![对话框“把文字移到 Markdown”，里面是会有哪些变化的列表和三个选项。](https://postext.dev/docs-shots/zh/move.webp)

*对话框在动手之前，先把要做的事列出来。*

![对话框的末尾：标着“看起来相同”的页面列表，以及并排放着的一页在迁移前和迁移后的样子。](https://postext.dev/docs-shots/zh/move-before-after.webp)

*每一页分别用旧设计和新设计排出来，并排放在一起。*

这次迁移在书的历史里是一步：每改写一章算一步，设计再算一步。只要之后没有别的改动，对话框里的**撤销**会全部撤回；**Cmd/Ctrl+Z**则一步一步撤回。原来的书也会一直保存，直到你在检查面板里点**保留这次修改**；在那之前，**把书恢复原样**会把旧的设计和文字写回去。

## 迁移之后要检查什么

打开**正文**面板。本章现在每一页有一个块：

```md
::::page{template="page-base" background="art-p1"}
# Rivers and seas {style="topic" id="t-rivers"}

:::frame{slot="shared-2"}
:::paragraphs{style="fredoka-30-center-ffffff"}
Rivers and seas
:::
:::
...
::::
```

按下面的顺序检查结果。

- **看起来不同的页面**。对话框里的列表写了它知道的原因：文字自己的底框、描边或首字下沉，不知道在左还是在右的页面，现在排在模板流文框里的正文。在画布上对照这些页面。
- **模板**。在 **版面设计 › 页面与分栏 › 页面模板** 里，每种页面设计有一个模板，各页共有的框放在`page-base`里。不增加内容的页面直接用基础模板，其余的继承它。模板的名字由旧名字生成：把它改成你认得的名字（改名会同时改掉所有引用它的页面）。
- **段落样式**。每段文字的字体、字号、字重、颜色、对齐和行距变成一个段落样式：书里有完全相同的就用它，否则新建一个，以字体和字号命名（`nunito-11`）。看一看**版面设计 › 正文**，给新的样式改名或合并。
- **标题**。结果相同的标题样式合并了，标题也改了名；只用来切换页眉的隐藏标题已经删去。如果书里有目录页，请检查目录页。
- **仍留在配置里的内容**。对话框里的**留在配置中的内容**列出了：文字和占位符混在一起的文字（`Page {pageNumber}`）、挂在别的元素上的文字，以及标题设计中的文字。它们不是页面的内容，剩下的*配置中存放的正文*警告说的就是它们。
- **标注**。如果你打开了*图片上的文字变成该图片的标注*，请看每一幅地图或示意图：标注用本书的字体重新排过，所以大小和位置可能与旧页面不同。
- **检查面板**。文字放不下的框会显示为*框内放不下文字*，修正办法见[模板页做的书](https://postext.dev/zh/docs/composed-page-books.md#6-修正放不下的地方)。由印刷页做成的书排得很紧，稍长一点的文字一出现就需要修正。

满意之后，点**保留这次修改**。这本书从此可以像任何模板页做的书一样翻译。

## 手工迁移

页数不多的书可以不用助手，一页一页地迁移。

1. 在**版面设计**模式下做页面模板。在书中的一个模板页上，为每段文字画一个框，也可以照着[模板页做的书](https://postext.dev/zh/docs/composed-page-books.md#2-做一个页面模板)的步骤做。给每个框配上决定它外观的框样式，并把旧文字的高度设为**最小高度**。
2. 在**内容**模式下，把这一页写成一个`::::page{template="…"}`块，把旧页眉里的每段文字移进新块的一个`:::frame{slot="…"}`。保留粗体和斜体；旧文字里的换行，用行末的反斜杠保留。
3. 从标题样式里删掉文字元素；如果别的地方用不到这个标题样式，就把它整个删去。这个样式的*配置中存放的正文*警告随之消失。
4. 把这一页与旧页对照，并打开**检查**。

同样的迁移也能从代码里完成，用`moveTextToMarkdown`，它返回新的配置、各章和对话框显示的报告；见[模板页 › 迁移文字放在样式里的书](https://postext.dev/zh/docs/composed-pages.md#迁移文字放在样式里的书)。对话框做的每件事，都写在[沙盒：模板页 › 把文字移到 Markdown](https://postext.dev/zh/docs/sandbox-composed-pages.md#把文字移到-markdown)里。
