2014-10-10 18:54:07 +04:00
|
|
|
// # Asset helper
|
2019-03-26 07:36:41 +03:00
|
|
|
// Usage: `{{asset "css/screen.css"}}`
|
2014-10-10 18:54:07 +04:00
|
|
|
//
|
2019-03-26 07:36:41 +03:00
|
|
|
// Returns the path to the specified asset.
|
2020-04-08 18:56:37 +03:00
|
|
|
const {SafeString, metaData, errors, i18n} = require('../services/proxy');
|
2019-03-26 07:36:41 +03:00
|
|
|
const get = require('lodash/get');
|
2019-09-09 14:52:55 +03:00
|
|
|
const {getAssetUrl} = metaData;
|
2014-10-10 18:54:07 +04:00
|
|
|
|
2017-04-04 19:07:35 +03:00
|
|
|
module.exports = function asset(path, options) {
|
2018-06-04 19:30:21 +03:00
|
|
|
const hasMinFile = get(options, 'hash.hasMinFile');
|
2017-02-03 21:25:39 +03:00
|
|
|
|
2019-09-09 14:52:55 +03:00
|
|
|
if (!path) {
|
|
|
|
throw new errors.IncorrectUsageError({
|
|
|
|
message: i18n.t('warnings.helpers.asset.pathIsRequired')
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2017-04-04 19:07:35 +03:00
|
|
|
return new SafeString(
|
2017-04-10 12:30:21 +03:00
|
|
|
getAssetUrl(path, hasMinFile)
|
2016-01-17 13:07:52 +03:00
|
|
|
);
|
2017-04-04 19:07:35 +03:00
|
|
|
};
|