markdowny/src/tools/sections.ts

43 lines
958 B
TypeScript
Raw Normal View History

2018-08-11 22:32:06 +00:00
import * as _ from "lodash";
import * as yargs from "yargs";
import * as scanner from "../scanner";
export var command = "sections";
2020-08-18 05:07:29 +00:00
export var describe = "Extracts a YAML field into sections";
2018-08-11 22:32:06 +00:00
2021-02-04 05:15:00 +00:00
export function builder(yargs: yargs.Arguments) {
2018-08-11 22:32:06 +00:00
return yargs
.help("help")
.alias("f", "field")
.default("field", "summary")
.alias("t", "title")
.default("title", "title")
.alias("o", "output")
.default("output", "-")
.demand(1);
}
2021-02-04 05:15:00 +00:00
export function handler(argv: any) {
2018-08-11 22:32:06 +00:00
var files = argv._.splice(1);
var data = scanner.scanFiles(argv, files);
render(argv, data);
}
2021-02-04 05:15:00 +00:00
export function render(argv, data) {
for (var item of data) {
2018-08-11 22:32:06 +00:00
var title = _.get(item, argv.title);
var value = _.get(item, argv.field);
console.log(`# ${title}`);
console.log();
2021-02-04 05:15:00 +00:00
if (value) {
2018-08-11 22:32:06 +00:00
console.log(value.replace("\n", "\n\n"));
}
}
}