Ghost网站搭建手册(多语言版本)



Ghost网站搭建手册

1. Ghost介绍

Ghost是一个轻量级的博客平台,专注于简单、易用和高效的博客出版。它提供了一套功能强大的工具,帮助用户轻松创建和管理个人或者团队的博客网站。以下是Ghost的一些关键特性:

  • 支持Markdown编辑器:Ghost采用Markdown作为文章编辑格式,让写作变得更加简单和直观。Markdown是一种轻量级的标记语言,易于学习和使用,同时可以输出高质量的HTML文档。
  • 内容支持多图片、视频、音频:使得文章内容更加丰富,界面更加美观。
  • 支持主题定制:Ghost提供了丰富的主题库,用户可以根据自己的需求选择合适的主题模板,或者通过自定义主题来定制网站的外观和风格。Ghost主题通常由一组模板文件、样式表和脚本文件组成,用户可以根据需要进行修改和扩展。
  • 支持本地化:Ghost支持多语言本地化,用户可以轻松地将网站内容翻译成不同的语言,以满足不同用户群体的需求。Ghost的本地化功能包括界面文本、日期格式、时区设置等,让用户可以在全球范围内发布多语言内容。

2. Ghost主题模板文件分析

Ghost主题是由一组模板文件、样式表和脚本文件组成的,它们定义了网站的布局、样式和交互效果。以下是Ghost主题常见的文件和其作用:

  • default.hbs:定义网站的默认布局,包括头部、导航栏、侧边栏和页脚等。这个文件通常包含网站的整体结构和共用部分,其他模板文件会基于这个文件进行扩展和修改。

  • post.hbs:定义单篇文章的页面布局,包括文章标题、内容、作者信息和评论等。这个文件用于显示单个文章的详情页面,用户可以在这里自定义文章的展示方式和排版样式。

  • page.hbs:定义页面的布局,与文章类似,但通常没有评论功能。这个文件用于显示网站的静态页面,如关于页面、联系页面等,用户可以在这里添加自定义内容和布局。

  • index.hbs:定义首页的布局,通常包括最新文章列表或者特色文章展示。这个文件用于显示网站的首页内容,用户可以在这里设置首页的排版和展示方式,吸引用户的注意力。

  • tag.hbs:定义标签页面的布局,展示特定标签下的文章列表。这个文件用于显示特定标签的文章列表,用户可以在这里添加标签相关的介绍和内容。

  • author.hbs:定义作者页面的布局,展示特定作者的文章列表和信息。这个文件用于显示特定作者的文章列表和个人信息,用户可以在这里添加作者的介绍和社交链接。

除了以上文件外,还有一些用于定义样式和交互效果的CSS和JavaScript文件,以及一些辅助文件如图片和字体等。具体详细了解可以去对应的网站学习相关语法。本次我们使用的是基于已有主题进行简单的修改模板。

3. Ghost本地化

Ghost支持多语言本地化,用户可以根据需要将网站内容翻译成不同的语言。以下是实现本地化的一般步骤:官方文档

1. 创建文件夹并添加语言文件locales

创建一个名为 的文件夹。如果使用已经可翻译的主题,则可能已经存在。locales

在文件夹中,为网站上使用的每种可翻译语言添加目标语言文件。例如,英语和汉语。必须使用有效的语言代码。locales``locales/en.json``locales/zh.json

2.翻译包含的句子

将主题中使用的句子翻译到新的语言文件中。

例如,在:locales/en.json

{
    "Back": "Back",
    "Newer Posts": "Newer Posts",
    "Older Posts": "Older Posts",
    "Page {page} of {pages}": "Page {page} of {pages}",
    "Subscribe": "Subscribe",
    "Subscribe to {blogtitle}": "Subscribe to {blogtitle}",
    "Subscribed!": "Subscribed!",
    "with the email address": "with the email address",
    "Your email address": "Your email address",
    "You've successfully subscribed to": "You've successfully subscribed to",
    "A collection of posts": "A collection of posts",
    "A collection of 1 post": "A collection of 1 post",
    "A collection of % posts": "A collection of % posts",
    "Get the latest posts delivered right to your inbox": "Get the latest posts delivered right to your inbox",
    "Latest Posts": "Latest Posts",
    "<a href='{url}'>More posts</a> by {name}": "<a href='{url}'>More posts</a> by {name}",
    "No posts": "No posts",
    " (Page %)": " (Page %)",
    "Read More": "Read More",
    "Read <a href='{url}'>more posts</a> by this author": "Read <a href='{url}'>more posts</a> by this author",
    "See all % posts": "See all % posts",
    "Share this": "Share this",
    "Stay up to date! Get all the latest & greatest posts delivered straight to your inbox": "Stay up to date! Get all the latest & greatest posts delivered straight to your inbox",
    "This post was a collaboration between": "This post was a collaboration between",
    "youremail@example.com": "youremail@example.com",
    "1 post": "1 post",
    "% posts": "% posts",
    "1 min read": "1 min read",
    "% min read": "% min read"
}

并编辑翻译成汉语:locales/es.json

{
    "Back": "Volver",
    "Newer Posts": "Artículos Siguientes",
    "Older Posts": "Artículos Anteriores",
    "Page {page} of {pages}": "Página {page} de {pages}",
    "Subscribe": "Suscríbete",
    "Subscribe to {blogtitle}": "Suscríbete a {blogtitle}",
    "Subscribed!": "¡Suscrito!",
    "with the email address": "con el correo electrónico",
    "Your email address": "Tu correo electrónico",
    "You've successfully subscribed to": "Te has suscrito con éxito a",
    "A collection of posts": "Una colección de artículos",
    "A collection of 1 post": "Una colección de 1 artículo",
    "A collection of % posts": "Una colección de % artículos",
    "Get the latest posts delivered right to your inbox": "Recibe los últimos artículos directamente en tu buzón",
    "Latest Posts": "Últimos Artículos",
    "<a href='{url}'>More posts</a> by {name}": "<a href='{url}'>Más artículos</a> de {name}",
    "No posts": "No hay artículos",
    " (Page %)": " (Página %)",
    "Read More": "Lee Más",
    "Read <a href='{url}'>more posts</a> by this author": "Lee <a href='{url}'>más artículos</a> de este autor",
    "See all % posts": "Ver todos los % artículos",
    "Share this": "Comparte",
    "Stay up to date! Get all the latest & greatest posts delivered straight to your inbox": "¡Mantente al día! Recibe todos los últimos y mejores artículos directamente en tu buzón",
    "This post was a collaboration between": "Este artículo fue una colaboración entre",
    "youremail@example.com": "tucorreo@ejemplo.com",
    "1 post": "1 artículo",
    "% posts": "% artículos",
    "1 min read": "1 min de lectura",
    "% min read": "% min de lectura",
    "< 1 min read": "< 1 min de lectura"
}

在主题模板中,使用翻译帮助程序,如下所示:

    <a href="#/portal/signup" data-portal="signup">{{t "Subscribe"}}</a>

    {{! output when Ghost Admin is set to "en" for English }}
    <a href="#/portal/signup" data-portal="signup">Subscribe</a>

    {{! output when Ghost Admin is set to "es" for Spanish }}
    <a href="#/portal/signup" data-portal="signup">Suscríbete</a>

可以在左侧使用任何翻译键,但建议使用可读的英语,以便在没有可用的翻译时利用翻译帮助程序中的回退选项。{{t}}

带有月份名称的日期会自动转换。您不需要将它们包含在翻译文件中。

使用 HTML 实体而不是字符,例如,使用 .<``<

3.启用语言

验证活动主题的翻译文件是否就位,然后在 Ghost admin 的常规设置中激活语言。在设置菜单中输入正确的语言代码,然后点击保存。.json

4. 确保模板存在

为确保您的主题完全可翻译,您的主题中必须存在两个核心模板。检查以下模板是否存在:

pagination.hbs - 存在于 中,复制模板content/themes/mytheme/partials

navigation.hbs - 存在于 中,复制模板content/themes/mytheme/partials

5. 使用翻译助手

主题中的任何纯文本都必须换行在翻译帮助程序中,分别位于文本的左侧和右侧。{{t}}``{{t``}}

在主题的所有模板文件中查找任何纯文本,并确保翻译帮助程序存在。.hbs

6. 在 HTML 中声明语言

建议使用 Ghost 的助手将 HTML lang 属性添加到主题模板开头的标签中: . 将在网站上自动替换为 Ghost Admin 中设置的相应语言区域设置标记。<html>``default.hbs``{{@site.locale}}``<html lang="{{@site.locale}}">``{{@site.locale}}

4.开始搭建DW多语言官网首页

我们采用每个语言搭建一个ghost服务:
  • 原因:ghost无法实现单网站发布多语言的内容
  • 劣势:部署服务成本增加
  • 优势:每种语言内容允许不一致
  • 问题解决方案:使用docker部署,将其中一个语言对应的服务发布为镜像,其它语言使用该镜像部署。至于每个语言对应的网站内容需要单独手动发布。

搭建步骤:

1 docker 部署第一个服务实例,并调整

2 将第一个服务实例发布为镜像

3 部署后续实例

4. Ghost管理端如何使用

Ghost的管理端提供了一个直观和易用的界面,用于管理网站内容和设置。以下是Ghost管理端的一些常见功能:

  • 文章管理:在管理端可以新增、编辑和删除文章,设置文章的发布时间和状态。用户可以在这里管理网站的内容,发布新的文章或者更新现有的文章。

  • 标签和作者管理:可以管理文章的标签和作者信息,方便对内容进行分类和组织。用户可以在这里添加新的标签或者作者,管理已有的标签和作者信息。

  • 主题定制:可以选择或者上传主题,自定义网站的外观和样式。Ghost提供了丰富的主题库,用户可以根据自己的需求选择合适的主题模板,或者通过自定义主题来定制网站的外观和风格。

  • 设置:在设置页面可以配置网站的基本信息、SEO设置、社交媒体链接等。用户可以在这里设置网站的名称、描述、Logo等基本信息,以及配置网站的SEO设置和社交媒体链接。

希望这份更加详细的手册可以帮助你更好地搭建和管理你的Ghost网站!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值