diff options
| author | Paul Buetow <paul@buetow.org> | 2021-05-11 19:54:23 +0100 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2021-05-11 19:54:23 +0100 |
| commit | e569faa91f0f8906c416113010c755fd5cdc79b2 (patch) | |
| tree | b0c69a140c6b3e84aeefdc5df4dd23292bce0df1 /modules/md.source.sh | |
| parent | e19b4a4b4287c10592ac59a09f1ec29293d29c08 (diff) | |
refactor
Diffstat (limited to 'modules/md.source.sh')
| -rw-r--r-- | modules/md.source.sh | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/modules/md.source.sh b/modules/md.source.sh new file mode 100644 index 00000000..197bdcf7 --- /dev/null +++ b/modules/md.source.sh @@ -0,0 +1,55 @@ +md::make_img () { + local link="$1"; shift + local descr="$1"; shift + + if [ -z "$descr" ]; then + echo "[]($link) " + else + echo "[]($link) " + fi +} + +md::make_link () { + local link="$1"; shift + local descr="$1"; shift + + grep -F -q '://' <<< "$link" || link=${link/.gmi/.md} + test -z "$descr" && descr="$link" + + echo "[$descr]($link) " +} + +md::test () { + local line='=> https://example.org' + assert::equals "$(generate::make_link md "$line")" \ + '[https://example.org](https://example.org) ' + + line='=> index.md' + assert::equals "$(generate::make_link md "$line")" \ + '[index.md](index.md) ' + + line='=> http://example.org Description of the link' + assert::equals "$(generate::make_link md "$line")" \ + '[Description of the link](http://example.org) ' + + line='=> http://example.org/image.png' + assert::equals "$(generate::make_link md "$line")" \ + '[](http://example.org/image.png) ' + + line='=> http://example.org/image.png Image description' + assert::equals "$(generate::make_link md "$line")" \ + '[](http://example.org/image.png) ' +} + +md::fromgmi () { + while IFS='' read -r line; do + case "$line" in + '=> '*) + generate::make_link md "$line" + ;; + *) + echo "$line" + ;; + esac + done +} |
