当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 无需服务器托管博客

作者:精品下载站 日期:2024-12-14 07:14:41 浏览:13 分类:玩电脑

无需服务器托管博客


太长了;博士

我已将我的博客从 WordPress 迁移到托管在 Azure 存储上的静态网站。这比我想象的要容易得多,而且我一点也不后悔!现在,我使用 Hugo 从 MarkDown 文件生成的静态页面在 Azure 存储帐户上托管此博客。在网页优化、SEO 和 CI/CD 管道方面,我还有一些事情需要弄清楚,以使博客尽可能轻松,但到目前为止,我唯一的遗憾是我没有早点走这条路。

背景

我在 WordPress 上写博客已经快五年了。首先,我从 Web 托管商那里租用了空间,后来我迁移到在带有 SQL PaaS 数据库的 Azure Web 应用程序上运行的 Project Nami。在 Azure 上运行 Web 应用程序比一些奇怪的托管计划更让我感到舒适,在这些计划中我真的不知道发生了什么,并且当需要恢复备份时我只能接受一些未知支持的摆布。说到备份,在 Azure 上备份我的网站效果非常好!我只是安排每周一次将网络应用程序和数据库备份到存储帐户。我什至尝试在我的博客被黑客攻击的严重场景中进行恢复(由于 WordPress 的一个漏洞)。几分钟后我就恢复了,当时我简直不敢相信。

说到漏洞……我不是 PHP 开发人员,说实话,我什至对 Web 开发一无所知。将 WordPress 定制为我想要的样子,在代码片段上进行语法突出显示,并尝试保持页面快速、响应灵敏和可读,这需要付出很大的努力。除此之外,还有新版本的 WordPress 和我一直使用的不同插件。我花在保持 WordPress 和所有我需要的插件最新上的时间和精力比我实际发布内容花费的时间和精力要多得多。每次我坐下来打算写一篇文章时,我都会遇到一些未完成的草稿,结果“只是更新了一些插件”,破坏了一些东西,然后花了一个晚上再次修复它,而不是写我的文章。现在请不要误会我的意思,我不认为 WordPress 是一个糟糕的平台,只是感觉就像我在开着一辆满载的拖车运行,而我所需要的只是一辆独轮车。我已经关注 Github Pages 很长时间了,但从未迈出这一步。

Azure 存储 - 催化剂

有一天,我在 Azure 博客上看到一篇博文,让我改变了主意:Azure 存储的静态网站托管现在处于公共预览版。

哇?!那么现在我可以仅在一个存储帐户上托管我的博客吗?这听起来好得令人难以置信,我只是想尝试一下! 按照上面博客文章中的说明,我登录到我的 Azure 订阅,创建一个新的存储帐户并直接启用静态网站功能,只花了几分钟。事情真的有这么简单吗?

构建静态网页

好的,所以我知道无法按原样托管我的 WordPess 网站,我必须以某种方式将其转换为静态 HTML 页面。我在互联网上快速浏览了一下,询问了一些朋友的经历,并很快选定了 Hugo。有了 Hugo,我可以使用 MarkDown 编写帖子,并从中生成 HTML 页面,然后上传到我的存储帐户。

安装 Hugo、阅读快速入门文档并从几乎没有任何东西开始运行只花了不到一个小时。现在说实话,我有点吹毛求疵,从那时起我花了至少几个小时真正尝试了解 Hugo 的实际工作原理,并进行一些小的自定义并让语法突出显示工作,但是稍后再谈,回到迁徙的故事。我现在在我的笔记本电脑上本地有了一个完全可用的博客。

正如公告所建议的那样,我将 Azure 存储扩展安装到了我最喜欢的代码编辑器 VS Code 中(说真的,如果您还没有尝试过,请尝试一下,它非常令人惊叹!)。当我在代码中打开新的博客存储库时,我发出命令“>Azure存储:部署到静态网站…”,登录到Azure,选择我的存储帐户和我想要上传的文件夹,一分钟后我的博客已在互联网上发布。

从 WordPress 迁移到 Hugo 静态网页

我现在有了一个新博客,但是我旧博客上的所有帖子怎么办?我不想失去所有这些内容!

在互联网上搜索发现了这个关于如何从 WordPress 迁移到 Jekyll 的指南。它已经有几年了,但我想“可能会出什么问题,毕竟我有一个可用的备份…”。设置 Disqus 的工作正如所描述的那样,迁移所有评论的轻松程度给我留下了深刻的印象。我完全期待在迁移中丢失所有评论,所以这是一个令人高兴的惊喜!

现在是导出 WP 内容的部分。我尝试在我的网站上安装 jekyll-exporter 插件,但收到一些奇怪的错误消息。也许是因为我正在运行这个特殊版本的 WordPress(Project Nami),或者可能是因为其他原因,真糟糕。但是等等,在该项目的 GitHub 页面上它说我可以直接从控制台使用该插件,啊哈!因此,我在 Web 应用程序的 Kudo 门户中启动了 PowerShell 控制台,浏览到我的插件文件夹并运行:

php jekyll-export-cli.php > jekyll-export.zip

这显示了一条错误消息,但我仍然得到一个包含一堆图像的 zip 文件,以及我所有的帖子作为 markdown 文件!呜呼! 在降价中进行一些快速搜索和替换,我有一个好的陈述点。我将新迁移的内容复制到新的博客文件夹,通过 runnung Hugo.exe 编译了新的 HTML 版本,并将其发布到我的存储帐户。就这样了。从那时起,我一直在做一些小调整,比如获得 PowerShell 语法突出显示(感谢 Stuart Lang 的灵感):

function Get-CodeSnippet {
[CmdletBinding()]
param (
# This is just an example
[Parameter(Mandatory,ValueFromPipeline)]
[String]
$Parameter1
)
process {
Get-ClipboardHTML | Set-Clipboard -ErrorAction 'Stop'
}
}

但这是另一个故事了……到那时,祝您写博客愉快!

如果您还没有建立自己的博客,现在就没有借口了,这真的很简单,每个人都有东西可以分享!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯