移动

你们中的许多人可能还记得2018年3月,我将博客从AWS迁移到了Azure。那时,我走了在Azure中构建自己的虚拟机(VM)的路线,并经历了安装和配置MySQL,WordPress,Apache等的过程。当时,这是一个很好的学习机会,它使我可以刷新自己的Linux技能。但是,不得不维护虚拟机,检查安全性并确保我拥有一致的备份已经开始浪费我的时间,而且我已经不喜欢WordPress。现在是另一个改变的时候了!

新平台

我一直在考虑将Jekyll或Hugo用作博客平台,但是 肯尼·洛(Kenny Lowe) 最近迁移到使用 重力 他的博客,激发了我的热情。 重力 是一个开源内容管理系统(CMS),除其他外,它使用Markdown来创建其内容。能够在内部部署解决方案 蔚蓝 对我来说也是巨大的诱惑。如果您有兴趣这样做,Kenny撰写了一些博客文章,内容涉及如何在Azure上设计和部署解决方案。

重力 相当容易掌握并启动基本站点,但是尝试调整模板和布局会变得更加复杂。自从我进行任何真正的Web开发以来已经有一段时间了,所以我不得不花很多时间来研究灰色问题。但是,Grav网站上有一些很棒的入门文档,可以帮助您解释不同的组件。

您的Grav源文件可以存储在GitHub或Visual Studio Team Services中的存储库中,用于每个部署。

从WordPress迁移到Grav

重力 使用Markdown进行内容创建。 WordPress的 没有。因此,我旅程的第一步是尝试将WordPress环境中的100多个博客帖子转换为Markdown格式。

一开始,我尝试使用“ WordPress的 的 到重力“转换器插件,但是3年以来尚未更新,并且似乎无法与我的WordPress安装配合使用。我确实花了好几个小时试图使其正常运行,但最终放弃了,走了一条搜索之路现在,我要承认,我不记得很不幸曾经使用哪一个将内容转换为我的转换器,但是如果您进行搜索,您会发现一大堆,您应该可以使用其中任何一种来转换您的内容。

该插件非常擅长将我的内容转换为Markdown格式,我的大多数URL链接都转换为Markdown格式,我认为放置在我文章中的所有图像均已正确转换,并且帖子中的代码突出显示是有点混乱。

我不得不浏览每个转换后的Markdown文件并检查/修改以下内容:

  • 降价促销 文件中的标题格式不正确,因此我不得不将其更改为Grav格式
  • 我必须仔细检查每个URL链接是否正确(稍后会详细介绍)
  • 我检查了每个帖子的图像插入并检查了格式
  • 任何其中包含一段代码的博客帖子,无论是PowerShell还是Bash,我都必须仔细检查并在那里更改格式。我已经安装了 重力 Highlight插件 帮助这个
  • 对于我写的一些较长的博客文章,转换器停止了并且没有获得所有文本,因此我不得不手动插入

鉴于我有超过100篇博客文章,执行上述操作非常耗时,并且过一会儿后变得有些单调,但是我觉得这是对时间的一种很好的投资,因为将我的博客文章覆盖为Markdown格式是可行的从长远来看对我来说更好。

资产/图片

接下来需要解决的是博客文章中使用的所有图像/屏幕截图。在WordPress中,它们存储在一个名为 WP内容 为了节省时间,避免修改博客文章中的所有图像链接,我只是将所有图像下载到它们现有的文件夹结构中,并将其上传到Grav文件的根目录中。

URL重写

接下来要解决的是新的博客URL。在我的WordPress环境中,我的网址是 www.domain.com/年/月/blog-post-name.html,我的新网址是 www.domain.com/blog-post-name。这是一个巨大的差异,这意味着现有的现有Twitter或LinkedIn帖子会造成流量损失。值得庆幸的是,Grav为此提供了一个解决方案。

重力 团队在不同方面都有很好的文档 路由 options that can cater for this kind of scenario. I've taken the most popular 50 or so blog posts and written a redirect route within the config/site.yaml file.

 重力路由

希望这将意味着我不会损失太多流量,并且重写不会造成任何性能问题。

外挂程式

重力 具有与WordPress相同的插件功能。我已经安装了几个软件来帮助创建(希望是)良好的博客体验。我已经安装了:

  • 关于我
  • 档案
  • Cookie同意
  • 外部链接
  • 谷歌分析
  • 简单搜索
  • 网站地图
  • 分类

得到教训

就像您现在可能是个基础架构专家一样,整日在代码编辑器中工作或尝试分拆别人编写的代码从来都不是我喜欢的事情。然而,随着世界进入 基础架构即代码 我不得不学习如何充分利用诸如 Visual Studio程式码 并像持续集成和持续交付一样学习。将博客迁移到Grav迫使我不得不花大量时间在Visual Studio Code中,花费大量时间弄清楚如何将内容推送到存储库中以及如何最好地使用Github和 VSTS .

我一直在犯一些错误,当我调整模板并尝试使其适合我的需求时,我进行了更改,将其推送到主分支并完全破坏了站点。这意味着很多不挑剔或有时又从头开始。事后看来,我应该使用开发分支存储库并使用Azure Web App插槽(例如 文件提示。但是你生活和学习,对吗?练习的一部分是在愤怒和学习中使用不同的技术。

在启动新产品/项目以完成一些用户界面/用户体验测试时,这始终是一个好主意,因此非常感谢 西蒙·宾德 让他抽出一些时间来测试我的博客的开发预览。他提供了一些很好的反馈,有些已经实施,有些还在执行列表中。

反馈

如果您发现任何损坏的链接,丢失的帖子,格式问题,损坏的图像等,请通过此通知我 形成。

现在,新平台已启动并正在运行,我期待着再次专注于博客。像其他任何事情一样,随着时间的流逝,我会稍作调整。与往常一样,如果您想与我联系并就上述任何内容进行交谈,请通过Twitter与我们联系 @TechieLass

博客评论提供者 领英 .

下一篇文章 上一篇