read-initial-variables.js 702 B

1234567891011121314151617181920212223242526272829303132
  1. module.exports = plugin;
  2. const utils = require('./utils');
  3. function plugin() {
  4. let variables = {
  5. by_name: {},
  6. };
  7. return (files, metalsmith, done) => {
  8. setImmediate(done);
  9. Object.keys(files).forEach(file_path => {
  10. const {file_name, lines} = utils.getLines(files, file_path);
  11. variables[file_name] = [];
  12. lines.forEach(line => {
  13. const variable = utils.parseLine(line);
  14. if (variable != false) {
  15. variables.by_name[variable.name] = variable;
  16. variables[file_name].push(variable.name);
  17. }
  18. });
  19. metalsmith.variables = variables;
  20. utils.writeFile('./output/initial-variables.json', variables);
  21. });
  22. };
  23. }