在将Google文档的内容复制粘贴到WordPress文章时,经常会遇到格式丢失和HTML代码膨胀的问题。为了解决这个问题,可以通过编写一个脚本,将Google文档的内容转换为干净的HTML格式,并通过电子邮件发送,以便可以直接复制粘贴到WordPress文章中,或者通过电子邮件发送给他人。
以下是将Google文档转换为WordPress文章的详细步骤:
1. 打开Google文档,点击“工具”菜单,选择“脚本编辑器”。一个新的代码编辑器窗口将会打开。
2. 将以下代码复制粘贴到脚本编辑器中:
function ConvertGoogleDocToCleanHtml() {
var body = DocumentApp.getActiveDocument().getBody();
var numChildren = body.getNumChildren();
var output = [];
var images = [];
var listCounters = {};
for (var i = 0; i < numChildren; i++) {
var child = body.getChild(i);
output.push(processItem(child, listCounters, images));
}
var html = output.join('\r\n');
emailHtml(html, images);
createDocumentForHtml(html, images);
}
3. 从“选择编辑器”菜单中,选择“ConvertGoogleDocToCleanHtml”。
4. 点击播放按钮运行脚本。
5. 将收到一封包含Google文档HTML输出的电子邮件,其中包含内联图片。
6. 可以轻松地将该电子邮件转发给任何人,或者复制粘贴到WordPress文章中。
脚本首先会遍历文档主体中的所有元素(段落、图片、列表):
1. 遍历文档主体的所有子元素。
2. 对于每个子元素,调用processItem函数,生成适当的HTML输出。
3. 当生成了适当的HTML并且发现了图片后,emailHtml函数会生成一个包含内联图片的漂亮HTML电子邮件,并发送到Gmail账户。
function emailHtml(html, images) {
var inlineImages = {};
for (var j = 0; j < images.length; j++) {
inlineImages[images[j].name] = images[j].blob;
}
var name = DocumentApp.getActiveDocument().getName() + ".html";
MailApp.sendEmail({
to: Session.getActiveUser().getEmail(),
subject: name,
htmlBody: html,
inlineImages: inlineImages
});
}
请记住,电子邮件中的图片是内联图片。如果将其复制粘贴到WordPress中,图片不会自动上传到WordPress。需要手动下载并上传每张图片到WordPress。这是WordPress编辑器的一个痛点。