56 lines
1.7 KiB
JavaScript
Executable File
56 lines
1.7 KiB
JavaScript
Executable File
#!/usr/bin/nodejs
|
|
|
|
const fs = require('fs');
|
|
const yaml = require('yaml');
|
|
|
|
const L = {
|
|
en: {},
|
|
ru: {
|
|
Type: 'Тип',
|
|
Default: 'Значение по умолчанию',
|
|
Minimum: 'Минимальное значение',
|
|
},
|
|
};
|
|
const types = {
|
|
en: {
|
|
string: 'string',
|
|
bool: 'boolean',
|
|
int: 'integer',
|
|
sec: 'seconds',
|
|
ms: 'milliseconds',
|
|
us: 'microseconds',
|
|
},
|
|
ru: {
|
|
string: 'строка',
|
|
bool: 'булево (да/нет)',
|
|
int: 'целое число',
|
|
sec: 'секунды',
|
|
ms: 'миллисекунды',
|
|
us: 'микросекунды',
|
|
},
|
|
};
|
|
const params_files = fs.readdirSync(__dirname+'/params')
|
|
.filter(f => f.substr(-4) == '.yml')
|
|
.map(f => f.substr(0, f.length-4));
|
|
|
|
for (const file of params_files)
|
|
{
|
|
const cfg = yaml.parse(fs.readFileSync(__dirname+'/params/'+file+'.yml', { encoding: 'utf-8' }));
|
|
for (const lang in types)
|
|
{
|
|
let out = '\n\n{{< toc >}}';
|
|
for (const c of cfg)
|
|
{
|
|
out += `\n\n## ${c.name}\n\n`;
|
|
out += `- ${L[lang]['Type'] || 'Type'}: ${c["type_"+lang] || types[lang][c.type] || c.type}\n`;
|
|
if (c.default !== undefined)
|
|
out += `- ${L[lang]['Default'] || 'Default'}: ${c.default}\n`;
|
|
if (c.min !== undefined)
|
|
out += `- ${L[lang]['Minimum'] || 'Minimum'}: ${c.min}\n`;
|
|
out += `\n`+(c["info_"+lang] || c["info"]).replace(/\s+$/, '');
|
|
}
|
|
const head = fs.readFileSync(__dirname+'/params/head/'+file+'.'+lang+'.md', { encoding: 'utf-8' });
|
|
fs.writeFileSync(__dirname+'/hugo/content/config/'+file+'.'+lang+'.md', head.replace(/\s+$/, '')+out+"\n");
|
|
}
|
|
}
|