unclecheese / meta-languages

允许您将 CoffeeScript、SCSS 和 LESS 添加为标准依赖项,并在页面加载时自动编译。

安装: 93

依赖项: 0

建议者: 0

安全: 0

星标: 18

关注者: 4

分支: 4

开放问题: 6

类型:silverstripe-module

dev-master 2014-08-20 00:21 UTC

This package is auto-updated.

Last update: 2024-08-29 03:52:45 UTC


README

此模块允许将未编译的元语言依赖项(如 CoffeeScript、LESS 和 SASS)直接包含到您的项目中,并在运行时编译它们。

基本用法

只需在控制器中引入依赖项,就像使用 Requirements 一样使用它。

<?php
MetaLanguages::require_scss('themes/my-theme/css/sass/my-sass.scss');
MetaLanguages::require_coffeescript('mysite/javascript/coffee/my-coffee.coffee');

限制编译

默认情况下,文件仅在 "test" 和 "dev" 环境中编译。要限制特定环境中的编译

<?php
MetaLanguages::set_compile_environments(array(
  'dev',
  'localhost:8888',
  'staging.example.com'
));

指定目标目录

默认情况下,CoffeeScript 编译到 project-dir/javascript,而 SASS/LESS 编译到 themes/my-theme/css,但那些路径可以被覆盖。

Requirement_coffeescript:
  compiled_path: mysite/coffee
Requirement_scss:
  compiled_path: mysite/sass

指定 "coffee" 可执行文件的路径

默认情况下,/usr/local/bin 路径通过 shell 环境强制,但如果你需要更多控制

Requirement_coffeescript:
  coffee_exec: /my/path/to/coffee

更改触发编译的修改时间容差

除非原始文件和未编译文件之间的 "最后编辑" 时间差大于特定数量的秒数(默认为 5),否则不会进行编译

MetaLanguages:
  modification_tolerance: 10;

待办事项

由于 SASS 是 Ruby gem,因此从 PHP 内部编译 SASS 非常困难,因此存在许多环境问题。此模块使用第三方 PHP 编译器进行 SASS,已知存在一些错误。