>我创建了一个适用于所有意图和目的的网页,为开发我们应用程序的其他开发人员提供了风格指南。
我的.scss
文件在我的 Jekyll 项目的_sass
目录中,它漂亮地创建了所有 CSS 文件。但是,在我的页面上,我想在某些<pre><code>
标签的页面中显示这些.scss
文件中的代码。
目前,我在两个地方都重复了这里的代码。当它很小的时候,这不是一个问题,但现在它变得更大了,它需要干燥。
我首先走上了使用 Jekyll{% include [path/to/file] %}
的道路,然后意识到这仅适用于_includes
文件夹中的内容,而且我也不能使用include_relative
选项,因为_sass
文件夹不是它使用位置的子文件夹。
其次,我尝试使用角度方法,因为我已经在应用程序中使用它。投入了一些<pre><code ng-include="'../_sass/components/_sflButton.scss'">
,并期望它能够工作。当然,它不是,因为当您运行_sass
文件夹时,它不会生成到实际站点中。而且我似乎找不到一种方法来让它包含它。尝试在_config.yml
中更改一些内容,但无济于事。
所以,TL;DR,我希望能够通过 Jekyll 将我的_sass
文件夹中的代码包含到我的页面上,或者找到一种方法将_sass
文件夹加载到生成的站点中,以便我可以使用 Angular 加载它。我在这里试图做一个不可能完成的任务吗?愿意听取任何意味着代码只写在一个地方的建议。
完成此操作背后的理论如下:
_sass
是 Jekyll 的一个特殊目录(类似于_layouts
,_includes
(,与您创建的其他目录相比,它的处理方式不同。其内容不会输出到目标目录。- 您可以编写简单的Ruby程序并将它们添加到名为
_plugins
的目录中,Jekyll将在构建过程中运行这些自定义程序。(被 GitHub 页面忽略(。 - 现在编写一个 ruby 程序来"读取"
_sass
的内容,并将生成的数据格式化为哈希,并将此哈希提供给现有site_payload
- 哈希还可以作为
Drop
实例传递,以便通过Liquid
模板提供数据。
我承认这个答案实际上并不能解决你的问题,特别是如果你不熟悉Ruby和Jekyll代码库。 但它将作为一个起点。