UNPKG

longdown

Version:

Convert longform markdown files to outline format used by Logseq

123 lines (117 loc) 8.02 kB
import "./cljs_env.js"; goog.provide('longdown.lib'); longdown.lib.slurp = (function longdown$lib$slurp(path){ return shadow.esm.esm_import$node_fs.readFileSync(path,"utf-8"); }); longdown.lib.spit = (function longdown$lib$spit(path,output){ return shadow.esm.esm_import$node_fs.writeFileSync(path,output); }); longdown.lib.stratify_nodes = (function longdown$lib$stratify_nodes(p__21445){ var vec__21446 = p__21445; var seq__21447 = cljs.core.seq(vec__21446); var first__21448 = cljs.core.first(seq__21447); var seq__21447__$1 = cljs.core.next(seq__21447); var node = first__21448; var remaining = seq__21447__$1; var G__21449 = new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(node); switch (G__21449) { case "heading": var map__21451 = node; var map__21451__$1 = cljs.core.__destructure_map(map__21451); var depth = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21451__$1,new cljs.core.Keyword(null,"depth","depth",1768663640)); var nodes = remaining; var children = cljs.core.PersistentVector.EMPTY; while(true){ var child = cljs.core.first(nodes); if(cljs.core.truth_((function (){var and__5043__auto__ = child; if(cljs.core.truth_(and__5043__auto__)){ return ((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(child),"heading")) || ((depth < new cljs.core.Keyword(null,"depth","depth",1768663640).cljs$core$IFn$_invoke$arity$1(child)))); } else { return and__5043__auto__; } })())){ var vec__21457 = (longdown.lib.stratify_nodes.cljs$core$IFn$_invoke$arity$1 ? longdown.lib.stratify_nodes.cljs$core$IFn$_invoke$arity$1(nodes) : longdown.lib.stratify_nodes.call(null,nodes)); var nodes__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21457,(0),null); var child__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21457,(1),null); var G__21470 = nodes__$1; var G__21471 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(children,child__$1); nodes = G__21470; children = G__21471; continue; } else { return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [nodes,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),"listItem",new cljs.core.Keyword(null,"children","children",-940561982),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),"list",new cljs.core.Keyword(null,"children","children",-940561982),children], null)], null)], null)], null); } break; } break; case "list": return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [remaining,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),"listItem",new cljs.core.Keyword(null,"children","children",-940561982),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),"paragraph",new cljs.core.Keyword(null,"children","children",-940561982),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),"text",new cljs.core.Keyword(null,"text","text",-1790561697),""], null)], null)], null),node], null)], null)], null); break; default: return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [remaining,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),"listItem",new cljs.core.Keyword(null,"children","children",-940561982),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [node], null)], null)], null); } }); longdown.lib.stratify = (function longdown$lib$stratify(node){ if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(node),"root")){ } else { throw (new Error("Assert failed: (= (:type node) \"root\")")); } var nodes = new cljs.core.Keyword(null,"children","children",-940561982).cljs$core$IFn$_invoke$arity$1(node); var children = cljs.core.PersistentVector.EMPTY; while(true){ if(cljs.core.seq(nodes)){ var vec__21463 = longdown.lib.stratify_nodes(nodes); var nodes__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21463,(0),null); var child = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21463,(1),null); var G__21473 = nodes__$1; var G__21474 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(children,child); nodes = G__21473; children = G__21474; continue; } else { return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(node,new cljs.core.Keyword(null,"children","children",-940561982),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),"list",new cljs.core.Keyword(null,"children","children",-940561982),children], null)], null)); } break; } }); longdown.lib.process = (function longdown$lib$process(_options){ return (function (tree,file,cb){ var next_tree = cljs.core.clj__GT_js(longdown.lib.stratify(cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(tree,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"keywordize-keys","keywordize-keys",1310784252),true], 0)))); return (cb.cljs$core$IFn$_invoke$arity$3 ? cb.cljs$core$IFn$_invoke$arity$3(null,next_tree,file) : cb.call(null,null,next_tree,file)); }); }); longdown.lib.onenterlineprefix = (function longdown$lib$onenterlineprefix(token){ var this$ = this; var node = (this$.stack[(this$.stack.length - (1))]); if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(node.type,"paragraph")){ return this$.config.enter.data.call(this$,token); } else { return null; } }); longdown.lib.onexitlineprefix = (function longdown$lib$onexitlineprefix(token){ var this$ = this; var node = (this$.stack[(this$.stack.length - (1))]); if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(node.type,"text")){ return this$.config.exit.data.call(this$,token); } else { return null; } }); longdown.lib.preserve_leading_whitespace_extension = ({"enter": ({"linePrefix": longdown.lib.onenterlineprefix}), "exit": ({"linePrefix": longdown.lib.onexitlineprefix})}); longdown.lib.custom_unsafe = shadow.esm.esm_import$mdast_util_to_markdown$lib$unsafe.unsafe.filter((function (x){ return (((!(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x.inConstruct,"phrasing")) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x.character," ")) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x.character,"\t")))))))) && (((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(x.character,"_")) && (((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(x.character,"&")) && (((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(x.character,"[")) && (cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(x.character,"]"))))))))); })); longdown.lib.custom_paragraph = (function longdown$lib$custom_paragraph(node,_,state,info){ var orig_unsafe = state.unsafe; var ___$1 = (state.unsafe = longdown.lib.custom_unsafe); var value = shadow.esm.esm_import$mdast_util_to_markdown.defaultHandlers.paragraph(node,___$1,state,info); var ___$2 = (state.unsafe = orig_unsafe); return value; }); longdown.lib.longform__GT_outline = (function longdown$lib$longform__GT_outline(input){ return cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.esm.esm_import$unified.unified().data("fromMarkdownExtensions",[longdown.lib.preserve_leading_whitespace_extension]).use(shadow.esm.esm_import$remark_parse.default).use(longdown.lib.process).use(shadow.esm.esm_import$remark_stringify.default,({"bullet": "-", "listItemIndent": "one", "fences": true, "join": [(function (_left,_right,_parent,_state){ return (0); })], "handlers": ({"paragraph": longdown.lib.custom_paragraph})})).processSync(input)); }); //# sourceMappingURL=longdown.lib.js.map