全新设计的博客与Gatsby.js - 再次热爱JavaScript

全新设计的博客与Gatsby.js - 再次热爱JavaScript

💡 原文英文,约1400词,阅读约需6分钟。
📝

内容提要

本文讲述了作者重新设计博客的过程,使用了Sketch和Gatsby.js等现代技术。作者从Tumblr迁移,旨在实现更快的响应式设计。Gatsby的性能和GraphQL的支持让作者重新爱上JavaScript。通过添加多个插件,增强了博客功能,并在Netlify上轻松部署,整体体验令人满意。

🔎

延伸解读

从 Tumblr 迁移到 Gatsby 的考量

作者决定离开 Tumblr,部分原因是 Tumblr 已属于当时处于衰落中的 Yahoo,且希望采用现代技术提升博客功能。迁移过程需要将旧文章导出为 Markdown,并下载图片,作者使用了 Jekyll importer 和 tumblr-utils 等工具,并进行了大量搜索替换和手动调整。这提醒读者,平台迁移不仅是技术选型,还涉及数据迁移的繁琐工作。

Gatsby 插件生态的便利与局限

作者通过添加多个 Gatsby 插件快速增强了博客功能,如视频嵌入、语法高亮、分页、RSS 订阅等,只需简单配置即可生效。但插件也可能带来冲突,例如 gatsby-plugin-purgecss 会误删仅在 Markdown 组件中渲染的 CSS 规则,需要手动添加注释来避免。这说明插件虽方便,但需留意其副作用。

GraphQL 在 Gatsby 中的使用体验

作者对 Gatsby 内置的 GraphQL 支持感到满意,尤其是 GraphiQL 工具让查询变得简单。但在使用 StaticQuery 时遇到挑战:当添加需要变量的分页插件时,StaticQuery 不兼容,不得不在页面组件和 StaticQuery 之间切换。这反映了 GraphQL 在静态站点生成中的灵活性与限制。

Netlify 部署与整体开发感受

作者在 Netlify 上部署博客,过程轻松且免费,认为它比 GitHub Pages 更专业。整个重设计耗时约 50 小时达到 99% 完成度,后续添加 Disqus 和社交分享又花了几小时。作者表示,现代技术栈让开发体验愉快,并重新爱上了 JavaScript。

❓

Q&A

作者为什么决定重新设计博客?

作者希望摆脱Tumblr,采用现代技术提升博客功能,并实现更快的响应式设计。

Gatsby.js有哪些优势使作者选择它作为博客基础?

Gatsby.js速度快、基于React,并且有丰富的插件支持,适合构建静态内容。

作者在博客中使用了哪些Gatsby插件?

作者使用了多个插件,包括视频嵌入、语法高亮、RSS订阅等,增强了博客功能。

作者对GraphQL的体验如何?

作者认为Gatsby的GraphQL支持使数据查询体验良好,尽管在使用StaticQuery时遇到了一些挑战。

使用Bulma作为CSS框架的体验如何?

作者发现Bulma易于使用,支持响应式设计,整体体验良好。

作者对Netlify的部署过程有什么看法?

作者对在Netlify上轻松部署博客的过程感到非常满意,认为其使静态内容网站的部署变得简单。

🏷️

标签

➡️

继续阅读