|
|
@ -7,15 +7,15 @@ import std/[httpclient, json, logging, os, re, strutils, uri, wordwrap]
|
|
|
|
import cliutils, docopt, zero_functional
|
|
|
|
import cliutils, docopt, zero_functional
|
|
|
|
|
|
|
|
|
|
|
|
proc formatMarkdown(raw: string): string =
|
|
|
|
proc formatMarkdown(raw: string): string =
|
|
|
|
let rawLines = raw.splitLines --> map(it.strip)
|
|
|
|
let rawLines = raw.splitLines
|
|
|
|
let wrapped = (rawLines -->
|
|
|
|
let wrapped = (raw.splitLines -->
|
|
|
|
filter(not isEmptyOrWhitespace(it.strip) and match(it, re"^\[\d+\].*")).
|
|
|
|
filter(match(it, re"^\s+(\[\d+\]|\w).*")).
|
|
|
|
map(it.multiReplace([(re"\((\d+)\)", ""), (re"\[(\d+)\]", "**$1**")])).
|
|
|
|
map(it.strip.multiReplace([(re"\((\d+)\)", ""), (re"\[(\d+)\]", "**$1**")])).
|
|
|
|
map(wrapWords(it, maxLineWidth = 74, newLine = "\p"))).
|
|
|
|
map(wrapWords(it, maxLineWidth = 74, newLine = "\p"))).
|
|
|
|
join("\p")
|
|
|
|
join("\p")
|
|
|
|
|
|
|
|
|
|
|
|
result = (wrapped.splitLines --> map("> " & it)).join("\p") &
|
|
|
|
result = (wrapped.splitLines --> map("> " & it)).join("\p") &
|
|
|
|
"\p>\p> -- *" & rawLines[0] & " (ESV)*"
|
|
|
|
"\p>\p> -- *" & rawLines[0].strip & " (ESV)*"
|
|
|
|
|
|
|
|
|
|
|
|
when isMainModule:
|
|
|
|
when isMainModule:
|
|
|
|
const USAGE = """Usage:
|
|
|
|
const USAGE = """Usage:
|
|
|
@ -44,7 +44,7 @@ Options:
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
# Parse arguments
|
|
|
|
# Parse arguments
|
|
|
|
let args = docopt(USAGE, version = "0.2.0")
|
|
|
|
let args = docopt(USAGE, version = "0.2.2")
|
|
|
|
|
|
|
|
|
|
|
|
if args["--debug"]:
|
|
|
|
if args["--debug"]:
|
|
|
|
consoleLogger.levelThreshold = lvlDebug
|
|
|
|
consoleLogger.levelThreshold = lvlDebug
|
|
|
@ -78,7 +78,7 @@ Options:
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
respJson["passages"].getElems --> map(formatMarkdown(it.getStr))
|
|
|
|
respJson["passages"].getElems --> map(formatMarkdown(it.getStr))
|
|
|
|
|
|
|
|
|
|
|
|
echo formattedPassages.join("\p")
|
|
|
|
echo formattedPassages.join("\p\p")
|
|
|
|
|
|
|
|
|
|
|
|
except CatchableError:
|
|
|
|
except CatchableError:
|
|
|
|
fatal getCurrentExceptionMsg()
|
|
|
|
fatal getCurrentExceptionMsg()
|
|
|
|