30 lines
545 B
Nim
30 lines
545 B
Nim
|
import os, strutils
|
||
|
|
||
|
let contents =
|
||
|
if paramCount() > 0:
|
||
|
readFile(paramStr(1))
|
||
|
else:
|
||
|
stdin.readAll()
|
||
|
|
||
|
var code = ""
|
||
|
for line in contents.splitLines(true):
|
||
|
let
|
||
|
stripped = line.strip()
|
||
|
isMarkdown = stripped.startsWith("##")
|
||
|
|
||
|
if isMarkdown:
|
||
|
if code.strip.len > 0:
|
||
|
echo "```nim"
|
||
|
echo code.strip(leading = false)
|
||
|
echo "```"
|
||
|
code = ""
|
||
|
echo(if stripped.len > 3: stripped[3..^1]
|
||
|
else: "")
|
||
|
else:
|
||
|
code &= line
|
||
|
if code.strip.len > 0:
|
||
|
echo ""
|
||
|
echo "```nim"
|
||
|
echo code
|
||
|
echo "```"
|