【发布时间】:2019-12-04 19:25:48
【问题描述】:
我正在使用 GitHub 页面发布项目中的文件。这些文件是 Java 源代码文件,我已经能够将它们作为静态文件添加到 Jekyll 作为一个集合。我需要对这些文件应用布局,例如代码格式化。我无法做到这一点。
我的静态源代码文件位于_config.yml 中定义的集合中:
collections_dir: material
collections:
cse-solutions:
output: true
我网站的这一部分工作正常:material/_cse-solutions 下的.java-files 在静态网站上出现在/cse-solutions 中。
但是,我需要包含标题和代码格式。为此,我试图将布局应用于这些静态文件。我目前的努力如下。首先,在_config.yml我设置
defaults:
- scope:
path: ""
type: "cse-solutions"
values:
layout: java-code
然后我有一个包含内容的文件_layouts/java-code.html,为了简单起见
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Test title </title>
</head>
<body>
<h1> Test code page heading </h1>
{{ content }}
</body>
</html>
但是,此布局对站点上的 .java 文件没有影响。老实说,如果布局有效,我不知道输出是否会有.java-suffix。不过,我在网站上也找不到任何对应的.html-pages。
这可以吗?如果可以,我做错了什么?
编辑:我怀疑 Jekyll 只是忽略了静态文件的布局。使用 Liquid 中的jsonify,我实际上可以打印此集合的值,并且我可以看到系统已正确设置这些静态文件:
”layout”:”java_code”
但是对这些文件的格式化绝对没有影响。
(下划线,即java_code,而不是java-code,这里不是错误,因为我注意到Jekyll的某些部分不喜欢标识符中的破折号,所以我将破折号处处改为下划线。我认为Ruby不允许在标识符中使用破折号。)
【问题讨论】:
标签: jekyll