diff --git a/lib/exec/kip.kx b/lib/exec/kip.kx index 37305a0e..a2d629e8 100644 --- a/lib/exec/kip.kx +++ b/lib/exec/kip.kx @@ -752,18 +752,15 @@ class KinxPackageLibraryManager(repoMgr_) { return false; } createFile(PACKAGE_INFO_FILE, { name: name }.toJsonString(true)); - var license = File.exists("LICENSE") ? ("```\n" + File.load("LICENSE").trim() + "\n```\n") : "You must"; mkdir("docs", "README.md", + "\n" "# Kacc\n\n" "## Introduction\n\n" "This is a directory of documents for the package `%{name}` such as materials below.\n\n" "- Package Help - this `README.md` will be displayed by `kip help %{name}`\n" "- User Guide\n" "- API documents\n\n" - "Kindly provide the documents for users.\n\n" - "# License\n\n" - "This package is published under the following license.\n\n" - "%{license}", + "Kindly provide the documents for users.", "a default README file"); mkdir("src/bin", "%{name}.kx", "# This is a sample hook script file. Feel free to modify this, and it'll be an executable automatically.\n" diff --git a/lib/std/MarkdownConsole.kx b/lib/std/MarkdownConsole.kx index e78b2588..6d206f18 100644 --- a/lib/std/MarkdownConsole.kx +++ b/lib/std/MarkdownConsole.kx @@ -120,9 +120,21 @@ class MarkdownConsole(mdtext_) { const romanKey_ = ["","c","cc","ccc","cd","d","dc","dcc","dccc","cm","","x","xx","xxx","xl","l","lx","lxx","lxxx","xc","","i","ii","iii","iv","v","vi","vii","viii","ix"]; const romanKeyCap_ = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","I","II","III","IV","V","VI","VII","VIII","IX"]; const bullet_ = ['*', '-', '+']; + var nl_ = 0; + + private newline(cond) { + if (cond()) { + System.println(""); + ++nl_; + } else { + nl_ = 0; + } + } public heading(item) { - System.println(""); + if (newline({ => true })) { + System.println(""); + } var level = item.level; var text = inline_.makeInlineText(item.values); switch (level) { @@ -135,8 +147,14 @@ class MarkdownConsole(mdtext_) { } } public paragraph(item) { - System.println(""); - System.println(inline_.makeInlineText(item.values)); + var text = inline_.makeInlineText(item.values); + if (text.trim() == "") { + return; + } + if (newline({ => prev_ != "paragraph" })) { + System.println(""); + } + System.println(text); } private isList(p) { return p == "list" || p == "orderedlist" || p == "checklist"; @@ -147,7 +165,7 @@ class MarkdownConsole(mdtext_) { } } public list(item) { - if (!isList(prev_)) { + if (newline({ => !isList(prev_) })) { count_ = [0, 0, 0, 0, 0, 0]; System.println(""); } @@ -172,7 +190,7 @@ class MarkdownConsole(mdtext_) { return ("M" * Integer.parseInt(digits.join(""))) + roman + "."; }; public orderedlist(item) { - if (!isList(prev_)) { + if (newline({ => !isList(prev_) })) { count_ = [0, 0, 0, 0, 0, 0]; System.println(""); } @@ -213,7 +231,7 @@ class MarkdownConsole(mdtext_) { System.println(inline_.makeInlineText(item.values)); } public checklist(item) { - if (!isList(prev_)) { + if (newline({ => !isList(prev_) })) { count_ = [0, 0, 0, 0, 0, 0]; System.println(""); }