我如何在不到 2 小时内将 Profilo 转换为 Docusaurus
“Joel 和我正在讨论拥有一个网站,以及如果能带着网站一起发布会有多好。于是我挑战自己,添加 Docusaurus 支持。这只花了一个半小时多一点。我会给你发一个包含添加内容的 PR,这样你就可以看看是否喜欢。你添加文档的工作流程与编辑那些 Markdown 文件没有太大区别。”
— 致 Profilo 团队的备忘录
这是一个关于使用 Docusaurus 创建 Profilo 网站的相当简短的历程的故事。
Profilo 是一个用于从生产环境中收集性能追踪的 Android 库,于今年早些时候发布。该项目在 GitHub 上发布时,只有少量 Markdown 文件来描述其功能,并且没有网站来展示品牌形象和突出徽标。手头的任务是将这些现有文档和徽标转换为一个网站。
一般来说,使用 Docusaurus 创建网站时,您需要执行以下操作
- 使用 Docusaurus 脚本生成模板网站。
- 根据您想要的网站颜色和项目配置(例如:网站和 GitHub 链接)自定义生成的模板文件。
- 创建网站内容
- 添加您的文档和任何支持性资产。
- 自定义 Docusaurus 提供的默认登录页面以满足您的需求。
- 配置默认网站导航文件。
- 发布网站并设置未来更改的发布方式。
鉴于我已有预先存在的 Markdown 文件,我无需生成核心内容,只需通过向文件添加预期元数据来确保 Docusaurus 可以处理这些文件。因此,大部分工作将包括自定义 Docusaurus 提供的默认设置。
采取的步骤概述
以下是将网站转换为网站所采取步骤的概述。我将在后面一节中讨论一些设计方面的问题。
设计与颜色
- 从设计师那里获取了所有所需的徽标格式。我必须创建 .favicon 格式的徽标。
- 使用 http://paletton.com/ 工具,设计出一些尚可接受的主次网站颜色——非常方便!
初始网站设置
- 在 GitHub 上 Fork 了 Profilo 项目,并创建了一个本地克隆副本以设置网站。
- 使用安装说明创建了初始 Docusaurus 网站。
- 删除了
docs-examples-from-docusaurus
和website/blog-examples-from-docusaurus
文件夹,因为这些不再需要。Profilo 有现成的文档可以使用,并且当时没有博客的需求。
内容创建
-
向
docs
文件夹中现有的 Markdown 文件添加了元数据,例如---
id: architecture
title: Architecture
sidebar_label: Architecture
--- -
将徽标资产添加到
website/static/img
文件夹。 -
修改了
website/pages/en/index.js
,即着陆页,以突出 Profilo 功能。 -
修改了
website/core/Footer.js
,即页脚,以简化其 Profilo 版。 -
编辑了
website/siteConfig.js
(网站配置文件)以指定先前选择的主次颜色。 -
修改了指定侧边栏导航的
website/sidebars.json
。列出了所有文档并根据添加到 Markdown 文件中的元数据进行了自定义。 -
编辑了网站配置文件以指定 GitHub 属性、徽标图像、页眉链接和网站链接。
-
在此阶段全程在本地测试了网站。(我从
website
文件夹运行yarn start
以启动服务器。)
反馈与评审修改
网站发布
-
通过从命令行运行 Docusaurus 发布脚本来推送第一个网站版本
USE_SSH=true \
GIT_USER=caabernathy \
CURRENT_BRANCH=master \
yarn run publish-gh-pages -
使用Docusaurus 提供的说明配置了 CircleCI。为此提交了两个 PR,第一个用于初始配置,第二个确保 CircleCI 仅在主分支发生更改时才触发(感谢 Joel Marcey!)。
最终网站发布在 https://facebookincubator.github.io/profilo/。从初始 PR 阶段到响应评审反馈并发布网站,共耗时 1.5 小时,另加半小时左右。
设计
以下是第一个拉取请求发出时初始网站的样子
内容创建的大部分时间都花在了选择与给定徽标合理搭配的颜色上。这些颜色为设计师的反馈提供了一个很好的起点。我使用 Photoshop 对徽标的各个部分进行了取样。
然后我获取了颜色的 RGB 表示,并将其设置为 Paletton 上的基准颜色。然后该网站通过编辑 Docusaurus 网站配置文件,为我提供了各种可在网站上尝试的颜色选项。
选择的主次颜色是设计师反馈的一个良好起点。
Docusaurus 生成的默认网站也进行了修改。这些更改主要是围绕简化页脚,并为 Profilo 创建一个列出项目功能的自定义着陆页。
以下是最终网站的样子
这是一个显示核心内容的示例页面,在此示例中为“入门”页面
这也显示了通过编辑 website/sidebars.json
设置的侧边栏结构。
最后,我无需担心响应式设计。Docusaurus 开箱即用提供了此功能!
最终想法
Profilo 工程师很高兴看到他们无需更改工作流程即可更新现有内容。他们可以继续使用 Markdown 文件工作。将来添加新文档时,此情况仍然适用,尽管如果需要更新侧边栏导航,可能需要进行一些配置更改。
Docusaurus 提供的基础设施使得将 Markdown 文件转换为可运行的网站变得容易。尽管该项目只有三个文档,但这使得 Profilo 看起来更加专业。因此,花少量时间完成这项工作是非常值得的。