sass - 在 Grav CMS 的自定义主题中设置 SCSS 编译
问题描述
试图掌握 Grav 并使用(或在我理解的早期阶段,基本上是复制)默认 Quark 主题的最低限度从头开始创建一个全新的主题。
我已经准备好基本文件和文件夹,但我正在努力弄清楚我要做什么,以使 SCSS 编译正常工作。
我正在使用安装了 Plesk 的 CentOS 7 Linux 服务器。
我知道在 Grav 中可能有不同的主题化方式,但是在我学习系统的同时,我希望我的自定义主题能够像 Quark 一样工作。scss
我已经在主题文件夹中设置了文件夹以及css-compiled
要移动到已编译 CSS 的文件夹。
我在下面包含了主题结构的屏幕截图(如果这有任何用处):
我不确定我是否需要在服务器上安装一些东西(例如 Node.js/npm 和 Gulp.js),或者这是否应该自动发生。
如果我需要在服务器上设置一些东西,那么这会引发我认为的其他问题,但我只需要有人指出我正确的方向,因为我不知道谁/在哪里问这个......
如果我将我的 theme.scss 文件中的 @import 命令指向直接从 Quark 主题导入,如“自定义”文档中所述,仍然没有为前端生成 CSS。
解决方案
要在 localhost 上编译 SCSS,您需要执行以下操作:
- 下载并安装 Node(包括它的包管理器“npm”)
$ cd user/themes/mytheme
- 加载 package.json 中列出的(开发)依赖项:
$ npm install
这将加载所需的一切:Gulp、SCSS 编译器等。 - 通过运行 package.json 中的“build”脚本来编译 SCSS 文件:
$ npm run build
这将运行内部的“build()”函数gulpfile.js
- 在文件夹
/user/themes/mytheme/css-compiled
中,您现在应该找到具有新日期的文件。
现在您可以按照 Grav 中关于自定义 SCSS的文档对 SCSS进行自己的更改。如果你运行$ npm run dev
,Gulp 会在检测到更改时自动编译你的 SCSS。
注意:我假设package.json
并gulpfile.js
从 Quark 复制。
推荐阅读
- python - 来自非终结符的 CTF 语法的 Python 解析器
- r - 如何列出以正确顺序发生的事件的所有排列?
- macos - Mac 版 Edge:证书被“吊销”而不是“自签名”警告
- r - 从 r 中的名称列表中提取前两个字符
- c++ - C++ - 为什么这里需要“模板”关键字?
- pandas - 在熊猫中按条件选择列
- javascript - 如何强制 navigator.geolocation.getCurrentPosition 失败
- python - 具有互信息的最小冗余最大相关性 (mRMR) 用于使用 scikit-learn 进行特征选择
- amazon-web-services - 在 Amazon S3 中提取元数据的最佳方法?
- javascript - 如何在没有jquery的Javascript中选择动态添加的元素