longdown
Version:
Convert longform markdown files to outline format used by Logseq
145 lines (129 loc) • 7.12 kB
JavaScript
import "./cljs_env.js";
goog.provide('longdown.cli');
longdown.cli.cli_options = new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, ["-d","--out-dir DIR","Output directory"], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,"--html","Read HTML input instead of markdown"], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,"--strip-highlights","Strip headers and leading bold formatting"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["-h","--help"], null)], null);
longdown.cli.usage = (function longdown$cli$usage(options_summary){
return clojure.string.join.cljs$core$IFn$_invoke$arity$2("\n",new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, ["Convert longform markdown files to outline format used by Logseq","","Usage: longdown [options] file.md..."," longdown -","","When file is -, reads standard input and prints to standard output.","","Options:",options_summary], null));
});
longdown.cli.convert_files = (function longdown$cli$convert_files(out_dir,filenames,convert_fn){
var seq__21869 = cljs.core.seq(filenames);
var chunk__21870 = null;
var count__21871 = (0);
var i__21872 = (0);
while(true){
if((i__21872 < count__21871)){
var in_path = chunk__21870.cljs$core$IIndexed$_nth$arity$2(null,i__21872);
var out_path_21928 = shadow.esm.esm_import$node_path.join(out_dir,in_path);
shadow.esm.esm_import$node_fs.mkdirSync(shadow.esm.esm_import$node_path.dirname(out_path_21928),({"recursive": true}));
longdown.lib.spit(out_path_21928,(function (){var G__21899 = longdown.lib.slurp(in_path);
return (convert_fn.cljs$core$IFn$_invoke$arity$1 ? convert_fn.cljs$core$IFn$_invoke$arity$1(G__21899) : convert_fn.call(null,G__21899));
})());
var G__21930 = seq__21869;
var G__21931 = chunk__21870;
var G__21932 = count__21871;
var G__21933 = (i__21872 + (1));
seq__21869 = G__21930;
chunk__21870 = G__21931;
count__21871 = G__21932;
i__21872 = G__21933;
continue;
} else {
var temp__5825__auto__ = cljs.core.seq(seq__21869);
if(temp__5825__auto__){
var seq__21869__$1 = temp__5825__auto__;
if(cljs.core.chunked_seq_QMARK_(seq__21869__$1)){
var c__5568__auto__ = cljs.core.chunk_first(seq__21869__$1);
var G__21934 = cljs.core.chunk_rest(seq__21869__$1);
var G__21935 = c__5568__auto__;
var G__21936 = cljs.core.count(c__5568__auto__);
var G__21937 = (0);
seq__21869 = G__21934;
chunk__21870 = G__21935;
count__21871 = G__21936;
i__21872 = G__21937;
continue;
} else {
var in_path = cljs.core.first(seq__21869__$1);
var out_path_21938 = shadow.esm.esm_import$node_path.join(out_dir,in_path);
shadow.esm.esm_import$node_fs.mkdirSync(shadow.esm.esm_import$node_path.dirname(out_path_21938),({"recursive": true}));
longdown.lib.spit(out_path_21938,(function (){var G__21905 = longdown.lib.slurp(in_path);
return (convert_fn.cljs$core$IFn$_invoke$arity$1 ? convert_fn.cljs$core$IFn$_invoke$arity$1(G__21905) : convert_fn.call(null,G__21905));
})());
var G__21939 = cljs.core.next(seq__21869__$1);
var G__21940 = null;
var G__21941 = (0);
var G__21942 = (0);
seq__21869 = G__21939;
chunk__21870 = G__21940;
count__21871 = G__21941;
i__21872 = G__21942;
continue;
}
} else {
return null;
}
}
break;
}
});
longdown.cli.convert_from_stdin = (function longdown$cli$convert_from_stdin(convert_fn){
return cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clojure.string.trim_newline((function (){var G__21910 = longdown.lib.slurp(process.stdin.fd);
return (convert_fn.cljs$core$IFn$_invoke$arity$1 ? convert_fn.cljs$core$IFn$_invoke$arity$1(G__21910) : convert_fn.call(null,G__21910));
})())], 0));
});
longdown.cli._main = (function longdown$cli$_main(var_args){
var args__5775__auto__ = [];
var len__5769__auto___21945 = arguments.length;
var i__5770__auto___21946 = (0);
while(true){
if((i__5770__auto___21946 < len__5769__auto___21945)){
args__5775__auto__.push((arguments[i__5770__auto___21946]));
var G__21948 = (i__5770__auto___21946 + (1));
i__5770__auto___21946 = G__21948;
continue;
} else {
}
break;
}
var argseq__5776__auto__ = ((((0) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);
return longdown.cli._main.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);
});
(longdown.cli._main.cljs$core$IFn$_invoke$arity$variadic = (function (args){
var map__21922 = clojure.tools.cli.parse_opts(args,longdown.cli.cli_options);
var map__21922__$1 = cljs.core.__destructure_map(map__21922);
var options = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21922__$1,new cljs.core.Keyword(null,"options","options",99638489));
var arguments$ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21922__$1,new cljs.core.Keyword(null,"arguments","arguments",-1182834456));
var summary = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21922__$1,new cljs.core.Keyword(null,"summary","summary",380847952));
var map__21923 = options;
var map__21923__$1 = cljs.core.__destructure_map(map__21923);
var out_dir = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21923__$1,new cljs.core.Keyword(null,"out-dir","out-dir",-939021234));
var html = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21923__$1,new cljs.core.Keyword(null,"html","html",-998796897));
var strip_highlights = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21923__$1,new cljs.core.Keyword(null,"strip-highlights","strip-highlights",-1830724463));
var convert_fn = longdown.lib.make_converter(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"html","html",-998796897),html,new cljs.core.Keyword(null,"strip-highlights?","strip-highlights?",-1172221519),strip_highlights], null));
if(cljs.core.truth_((function (){var or__5045__auto__ = new cljs.core.Keyword(null,"help","help",-439233446).cljs$core$IFn$_invoke$arity$1(options);
if(cljs.core.truth_(or__5045__auto__)){
return or__5045__auto__;
} else {
return cljs.core.empty_QMARK_(arguments$);
}
})())){
return cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([longdown.cli.usage(summary)], 0));
} else {
if(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(arguments$),(1))) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(arguments$),"-")))){
return longdown.cli.convert_from_stdin(convert_fn);
} else {
if((out_dir == null)){
cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["Output directory is required"], 0));
return process.exit((1));
} else {
return longdown.cli.convert_files(out_dir,arguments$,convert_fn);
}
}
}
}));
(longdown.cli._main.cljs$lang$maxFixedArity = (0));
/** @this {Function} */
(longdown.cli._main.cljs$lang$applyTo = (function (seq21918){
var self__5755__auto__ = this;
return self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq21918));
}));
//# sourceMappingURL=longdown.cli.js.map