osr-mono/packages/osr-discourse/templates/discourse/machines/variables.osr
2025-01-29 17:48:22 +01:00

57 lines
1.6 KiB
Plaintext

[% capture config %][% js %]
const globalVariables = readJSON('${root}/osr/global.json');
addGlobal({config:globalVariables});
return globalVariables;
[%endjs%][% endcapture %]
[% capture product %][% js %]
let globalVariables = readJSON('${root}/osr/global.json');
let localVariables = readJSON('${PRODUCT_ROOT}/config.json');
localVariables['image']='${product_rel}/renderings/perspective.jpg';
localVariables['rel']=product.replace('products/','');
localVariables['sidebar'] = {
nav: "machines"
};
let localYAML = readFile('${PRODUCT_ROOT}/config.yaml');
let defaultsYAML = fs.findUp.sync('defaults.yaml', {
cwd:PRODUCT_ROOT,
stopAt:root
});
if(defaultsYAML){
defaultsYAML = readFile(defaultsYAML).trim();
localYAML = `${defaultsYAML}\n${localYAML}`;
}
let defaultsJSON = fs.findUp.sync('defaults.json', {
cwd:PRODUCT_ROOT,
stopAt:root
});
if(defaultsJSON){
defaultsJSON = readJSON(defaultsJSON);
localVariables = {
...defaultsJSON,
...localVariables
}
}
let allVariables = {
...localVariables,
...globalVariables,
...scope
}
allVariables.product_rel = product;
allVariables.product_rel_min = product.replace('products/','')
let all = substitute(JSON.stringify(allVariables,null,2),allVariables);
allVariables = JSON.parse(all);
resolveConfig(allVariables);
addGlobal({product:allVariables});
return allVariables;
[%endjs%][% endcapture %]