news 2026/9/13 13:47:44

如何在本地 p5.js-website 中预览 contributor_docs 的文档修改效果?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何在本地 p5.js-website 中预览 contributor_docs 的文档修改效果?

如何在本地 p5.js-website 中预览 contributor_docs 的文档修改效果?

【免费下载链接】p5.jsp5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. Looking for p5.js 2.0? http://beta.p5js.org项目地址: https://gitcode.com/GitHub_Trending/p5/p5.js

你在 p5.js 仓库的contributor_docs/目录下修改(或新写)了 Markdown 文档,想确认它在网站上真实的显示效果——页面布局、字体样式、文档列表里的标题与副标题——而不是只盯着 Markdown 源码看。这些 contributor 文档最终发布在 p5.js 官网的contribute/路径下(v1 与 v2 站点各自有一版内容),但网站本身是独立的 p5.js-website 仓库,源码并不在本仓库里。官方的做法是在本地运行 p5.js-website,并让它从你本地 p5.js 仓库的某个分支导入文档来构建页面。下面这条流程来自本仓库的 contributor 文档编写指南。

先交代一个影响操作的前提:p5.js 仓库的 v1.x 与 v2.x 分支保存的是不同的文档,本文步骤对应网站的2.0分支,也就是 p5.js v2 站点。

准备:把改动提交到本地分支

预览流程的工作方式是“指定一个 p5.js 仓库路径 + 分支名,由网站构建过程去克隆它”,因此你的改动必须满足:

  • 已提交(commit)到你 p5.js 仓库 fork 的某个本地分支上;
  • 不需要推送到 GitHub,但必须提交——未提交的改动不会被网站构建过程取到。

可选:先用编辑器快速预览

如果只想确认 Markdown 结构,可以先用编辑器的 Markdown 渲染功能(文档以 VS Code 为例):

  1. 打开要预览的.md文件;
  2. 打开命令面板(F1cmd-shift-p/ctrl-shift-p);
  3. 输入Markdown: open preview

这个快速预览的局限是:p5.js 网站的页面布局和样式(颜色、字体、行宽等)都不会应用,不能用来核对最终视觉效果,只是省一次本地构建。

在本地 p5.js-website 中跑完整预览

文档假设的本地文件夹结构是:p5.js 仓库与 p5.js-website 仓库并排放在同一父目录下(分别叫p5.jsp5.js-website)。

1. 克隆 p5.js-website 并安装依赖

把 p5.js-website 仓库克隆到 p5.js 仓库旁边的文件夹,然后在它里面打开终端,检出2.0分支并安装依赖:

git checkout 2.0 npm install

npm install只为 p5.js-website 项目本身安装依赖,不会改动你的 p5.js 仓库。

2. 构建 contributor 文档并启动预览

在 p5.js-website 目录下执行下面这条命令。注意文档特别强调:这是一行命令,不是两行

P5_REPO_URL=path/to/your/p5/repo P5_BRANCH=your-branch-goes-here npm run build:contributor-docs && npm run dev

其中两个环境变量需要你替换:

  • P5_REPO_URL:指向你本地 p5.js 仓库的路径;
  • P5_BRANCH:你的改动所在的本地分支名

文档给出的示例:p5.js 仓库就放在当前p5.js-website文件夹的旁边(../p5.js),分支名叫my-amazing-branch

P5_REPO_URL=../p5.js P5_BRANCH=my-amazing-branch npm run build:contributor-docs && npm run dev

这一条命令会依次做三件事:

  1. 从你指定分支的contributor_docs/目录导入.md文件,构建为网站的.mdx页面;
  2. 启动网站的开发预览服务器;
  3. 在控制台打印出本地网站的访问 URL。

3. 核对预览结果

在浏览器访问控制台打印出的 URL,进入contribute/路径,按文档给出的规则核对:

  • 你的文档应出现在 contributor 文档列表中,标题取自文件里第一个 level 1(H1)标题,而不是文件名
  • 直接访问某个文档的 URL 路径是contribute/文件名(不含扩展名)/,例如myFile.md对应contribute/myFile/——开发模式下末尾的斜杠/必须保留
  • 列表页展示的副标题来自文件第一行的 HTML 注释(必须在 H1 标题之前)。例如 contributor_docs/unit_testing.md 首行注释是 "Guide to writing tests for p5.js source code.",因此该页在网站上以 "Unit Testing" 为标题、以这句注释为描述显示。

替代路径:构建已经推到 GitHub 的分支

如果改动已经推到了远端分支,也可以让网站直接基于远端仓库构建:把上面命令里的P5_REPO_URL从本地路径改成你自己 fork 仓库的 URL(文档中该位置的占位形式是https://github.com/yourUsername/p5.js.git,替换为你 fork 的实际地址即可),P5_BRANCH保持不变,仍然是单行命令:

P5_REPO_URL=your-fork-repo-url P5_BRANCH=your-branch-goes-here npm run build:contributor-docs && npm run dev

本地路径方式适合还在迭代中的改动;远端方式适合预览已经 push 出去的工作,二者不需要在同一次操作里混用。

文档不显示时怎么排查

如果改动后的文件没有出现在contribute/的列表里,文档给出的检查顺序是:

  1. 先确认标题:页面标题取自文件第一个 level 1 标题而非文件名,你可能没认出自己的条目;
  2. 检查 p5.js-website 文件结构中src/content/contributor-docs/en目录下是否生成了对应的.mdx文件;没有的话,确认你的.md文件是否已提交在你指定的分支上、位置是否正确,并查看build:contributor-docs过程的日志;
  3. 回看上一次npm run build:contributor-docs运行的日志,确认其中有对你文件的提及;
  4. 如果日志显示.mdx文件确实生成了,就在网站里直接输入该文档的 URL(如contribute/myFile/)访问,确认页面本身可打开;
  5. 确认日志显示你的仓库确实被克隆了:网站构建过程有缓存机制,最近克隆过的仓库不会被再次克隆。删除 p5.js-website 仓库中的in/p5.js/文件夹可以强制构建过程重新克隆。

已知限制

文档明确说明,按上述方式“部分准备”的本地网站并非完全可用:

  • 页面之间的链接可能失效:本地链接必须以斜杠/结尾,才能被 Astro 开发模式匹配;
  • 搜索功能默认不工作,需要时运行npm run build:search构建必要的索引文件。

新增文档时,预览效果由哪些规则决定

如果你是在新增文档而不是改旧文档,这几条规则直接决定预览里看到的结果(同样来自指南):

  • 文件必须直接放在contributor_docs/目录下,不能放进子文件夹
  • 文件名全小写,用_代替空格或连字符,扩展名为.md;文件名不用作品标题,但会用于 URL
  • 页面标题取自第一个 H1 标题;
  • 列表页副标题取自第一行(H1 之前)的 HTML 注释;
  • 最终 URL 路径为contribute/文件名(不含扩展名)/,开发模式下末尾斜杠必须保留。

按这套流程走完后,本地contribute/页面应能看到以文件内 H1 为标题、以首行注释为副标题的文档条目,并能通过contribute/文件名/直接打开该页;显示与预期不符时,优先按上节检查.mdx是否生成以及build:contributor-docs的日志输出。

【免费下载链接】p5.jsp5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. Looking for p5.js 2.0? http://beta.p5js.org项目地址: https://gitcode.com/GitHub_Trending/p5/p5.js

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 13:46:04

TOPS测向算法详解:宽带信号到达角估计的子空间旋转检验

简介:TOPS(TDOA-Optimized Pulse Summation)是针对宽带信号源测向的一种新方法,重点解决宽带信号时间分散性与多频率成分带来的DOA估计难题。这份资源面向从事无线通信、雷达信号处理的研究者与工程师,尤其适合需要高精…

作者头像 李华
网站建设 2026/9/13 13:40:58

ASTRA深空自主系统:Zephyr+STM32U585+LoRa的嵌入式航天实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 13:37:44

FPFH点云特征描述子原理与Matlab实现实战

简介:基于Matlab实现的快速点特征直方图(FPFH)算法,支持2014/2019a环境运行,是一份面向本科、硕士阶段点云处理与三维视觉方向的教学研习资源。FPFH作为点云局部特征描述的经典方法,广泛用于配准、识别与分…

作者头像 李华