zk/tech/md-ext/editing.md

1.9 KiB

%title Editing Markdown Extension :tech:markdown:vimwiki:python📦

What it does

I want to be able to have editing comments in Markdown, so I came up with some extensions to the syntax. The goal should be for the text to still be at least mostly readable.

  • Additions +{new text}
  • Deletions -{old text}
  • Substitutions ~{old}{new}
  • Comments ?{la de da}(comment)
  • Resolutions !{-{bad wolf}}(STET)
  • Metadata:
    • Comments on all types in parentheses after ~{old}{new}(comment) etc
    • Attribution in parentheses in comment +{new}(comment (Commenter))
    • Date with attribution -{old}(comment (Commenter 2020-04-21))
    • Comment as footnote ?{la de da}(^note) ... (^note): comment
    • Comments can contain markup ?{la de da}(some *markup*)
This is a +{new} addition

This -{this} word is removed

I say, ~{out with the old}{in with the new}

Here !{just a comment} is a line with a comment

You can also ?{add comments to some text}(Like this)

All -{new}(Redundant (Makyo)) edit marks can have comments with attributions and dates +{like this}(See? (Makyo 2020-04-22)) (though it's ignored with comments !{like this}(won't show))

Bottom text

This is a +{new} addition

This -{this} word is removed

I say, ~{out with the old}{in with the new}

Here !{just a comment} is a line with a comment

You can also ?{add comments to some text}(Like this)

All -{new}(Redundant (Makyo)) edit marks can have comments with attributions and dates +{like this}(See? (Makyo 2020-04-22)) (though it's ignored with comments !{like this}(won't show))

Bottom text

How to use it

default_config = {
    'tag_tuple': ('<div class="verse">', '</div>'),
}
my_config = {
    'tag_tuple': ('<verse>', '</verse>'),
}
markdown(source, extensions=[VerseExtension(**my_config)])

Where to get it