README
这是 Julia 编程语言官方网站的 GitHub 仓库,julialang.org。 该语言本身的源代码仓库可在 github.com/JuliaLang/julia 找到。
Julia 网站使用 GitHub pages 和 Franklin.jl 生成,后者是一个用于构建静态网站的 Julia 原生包。
进行简单更改
若要建议对网站进行更改,您只需导航到您认为需要更改内容的页面,然后进行编辑。 系统会提示您 fork 该仓库(如果您尚未操作),然后打开一个 Pull Request。 一旦您的 Pull Request 被合并,您应该能在几分钟内或更短的时间内在网站上看到您的更改。
每个 Pull Request 的构建预览将在网站成功构建后链接到 PR 的评论区。
注意:请仅使用 fenced 代码块(即由反引号分隔的代码块),不要使用缩进代码块。
进行更复杂的更改
若要建议对网站进行更重要的更改,建议您在本地设备上对这些更改进行测试。 您可以通过 fork 基础仓库、将其克隆到本地设备、进行所需的更改,然后按照下面的“本地安装”说明来操作。
一旦您验证一切看起来正常,您可以打开一个 Pull Request,并将 Netlify 的 Deploy Preview 作为最终检查。
每个 Pull Request 的构建预览可在以下地址获取:https://julialang.netlify.app(请注意,由于 GitHub Actions 的设计,构建预览仅对拥有仓库写权限的用户可用)。
进行修改并在本地查看更改
克隆该仓库并 cd 到其中。使用 julia --project 启动 Julia 版本 1.10,并执行
julia> using Pkg; Pkg.instantiate()
julia> using Franklin
julia> serve()
→ Initial full pass...
→ Starting the server...
✓ LiveServer listening on http://localhost:8000/ ...
(use CTRL+C to shut down)
在浏览器中导航至 localhost:8000,您应该能看到您在本地所做的任何修改的预览。
修改 CSS:修改 _css/ 中的相关文件。
修改 HTML 结构:如果您想修改导航栏或页脚,请前往 _layout/ 并修改相关的模板片段。
修改落地页:由于落地页拥有自己的设计,它使用 HTML 编写,并在适当的地方插入了一些可复用的片段,只需修改 index.html
添加博客文章
在文件夹结构和文件结构方面,请遵循其他许多博客文章的蓝图。 需要牢记的一件重要事情是,RSS 对于它可以接受的内容比较挑剔,因此请小心放入其中的内容
@def rss = ...@def title = ...
特别是:
- 避免使用
&,例如将ML&PL更改为ML-PL, - 在
rss中仅使用纯文本,不要链接,不要标记,不要 HTML 实体。
如有疑问,在运行 Franklin 服务器后,将 __site/feed.xml 的内容复制到 the w3 feed validator,它应显示 "Valid RSS feed"。
元数据
为了在您的博客文章中添加 <meta aaa="bbb" content="ccc"> 标签,请添加
@def meta =[("aaa", "bbb", "ccc"),]
(当然,你可以指定多个标签)。例如,参见 Keno 最近的博文。
查找失效链接
时不时地,应该进行一次深入检查,确保没有失效链接。
虽然 Franklin 提供了一种快速执行此操作的方法,但定期深入检查是个好主意。
broken-link-checker 包是一种相当不错的执行此操作的方式。
使用 npm 安装后,只需执行
blc https://julialang.org -ro
(这需要一些时间,并且可能需要你分几个步骤完成)。
添加用于语法高亮的语言
Franklin 使用 highlight.js 进行语法高亮。要向此网页使用的库添加 新语言,请重新编译该库并将新语言添加到列表中。从 highlight.js 仓库的根目录开始:
$ node tools/build.js bash c diff javascript json julia julia-repl plaintext python ruby shell ini yaml
将库从 build/highlight.min.js 复制到本仓库中的 _libs/highlight/highlight.min.js。
在 Netlify 上构建预览
目前,构建预览是通过 Logan Kilpatrick 的 Netlify 账户运行的。如果该账户下线且预览不再可用,要恢复它们,您只需注册 Netlify,导入一个 git 仓库(本仓库),选择 "gh-preview" 分支,然后设置自定义子域名 "julialang.netlify.com"。之后,您应该能够相应地构建预览。
常见问题
紧凑列表
这主要是一个遗留项目。如果页面上的列表显示不正确,请提交一个问题。您不应该再需要使用 @@tight-list ... @@。
如果您想要嵌套列表,请确保嵌套列表的缩进使用 空格 而不是制表符。