#!/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"); } }