使用SASS是否可以自动在编译后的CSS文件上添加时间戳?例如:
/* CSS Compiled on: {date+time} */
...compiled css goes here...
我查看了SASS和Compass文档,但没有提到这样的功能。
使用SASS是否可以自动在编译后的CSS文件上添加时间戳?例如:
/* CSS Compiled on: {date+time} */
...compiled css goes here...
我查看了SASS和Compass文档,但没有提到这样的功能。
module Sass::Script::Functions
def timestamp()
return Sass::Script::String.new(Time.now.to_s)
end
end
您可以在SASS文件中这样引用新的时间戳函数:
/*!
* CSS Compiled on: #{timestamp()}
*/
您只需要确保在编译SASS时加载了“timestamp.rb”文件,可以通过从Compass配置文件中要求它,或使用SASS命令行的--require
参数来实现。最终,您应该得到如下输出:
/*
* CSS Compiled on: 2012-10-23 08:53:03 -0400
*/
我不知道是否每个人都需要它(因为这个问题很久以前就已经回答了),但一个简单的解决方案是将时间戳/日期写入单个SASS变量的文件中,将它们导入到应该放置时间戳的位置,然后让SASS中的注释将它们写出来。
无需安装、编译或任何其他操作-只需使用脚本和SASS:
1.) 将时间戳写入单独的SASS文件中:(这里是一个DOS脚本,但您也可以使用任何其他脚本/语言生成简单的文件):
echo $BuildTimeStamp : "%date% %time%"> _timestamp.scss
2.) 使用时间戳导入生成的文件:
@import '_timestamp.scss';
3.) 将标题作为注释写出:
/*! Automatic build at: #{$BuildTimeStamp} */
gem install sass-timestamp
在代码中使用它(有关更多信息,请参见documentation)
/* 编译于#{timestamp()} */
在命令行上要求它
scss -r sass-timestamp ...
输出将是
/* 编译于2015-02-02 13:01:40 +0800 */
注意:使用#{unix_timestamp()}
获取Unix时间戳。
require File.join(File.dirname(__FILE__), 'timestamp.rb')
。 这句话的作用是引入timestamp.rb文件并使其可被config.rb文件使用。 - hopper