mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-25 03:44:29 +03:00
22e13acd65
- All var declarations are now const or let as per ES6 - All comma-separated lists / chained declarations are now one declaration per line - This is for clarity/readability but also made running the var-to-const/let switch smoother - ESLint rules updated to match How this was done: - npm install -g jscodeshift - git clone https://github.com/cpojer/js-codemod.git - git clone git@github.com:TryGhost/Ghost.git shallow-ghost - cd shallow-ghost - jscodeshift -t ../js-codemod/transforms/unchain-variables.js . -v=2 - jscodeshift -t ../js-codemod/transforms/no-vars.js . -v=2 - yarn - yarn test - yarn lint / fix various lint errors (almost all indent) by opening files and saving in vscode - grunt test-regression - sorted!
26 lines
1023 B
JavaScript
26 lines
1023 B
JavaScript
// # t helper
|
|
// i18n: Translatable handlebars expressions for templates of the front-end and themes.
|
|
// Front-end: .hbs templates in core/server, overridden by copies in themes. Themes: in content/themes.
|
|
//
|
|
// Usage examples, for example in .hbs theme templates:
|
|
// {{t "Get the latest posts delivered right to your inbox"}}
|
|
// {{{t "Proudly published with {ghostlink}" ghostlink="<a href=\"https://ghost.org\">Ghost</a>"}}}
|
|
//
|
|
// To preserve HTML, use {{{t}}}. This helper doesn't use a SafeString object which would prevent escaping,
|
|
// because often other helpers need that (t) returns a string to be able to work as subexpression; e.g.:
|
|
// {{tags prefix=(t " on ")}}
|
|
|
|
const {themeI18n} = require('../services/proxy');
|
|
|
|
module.exports = function t(text, options) {
|
|
const bindings = {};
|
|
let prop;
|
|
for (prop in options.hash) {
|
|
if (Object.prototype.hasOwnProperty.call(options.hash, prop)) {
|
|
bindings[prop] = options.hash[prop];
|
|
}
|
|
}
|
|
|
|
return themeI18n.t(text, bindings);
|
|
};
|