Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion options.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package stripmd

type Options struct {
SkipImages bool
SkipImages bool // Remove images link
SkipUnderscores bool // Skip parsing underscores
}
6 changes: 4 additions & 2 deletions strip.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,10 @@ func StripOptions(s string, opts Options) string {

res = emphReg.ReplaceAllString(res, "$1")
res = emphReg2.ReplaceAllString(res, "$1")
res = emphReg3.ReplaceAllString(res, "$1")
res = emphReg4.ReplaceAllString(res, "$1")
if !opts.SkipUnderscores {
res = emphReg3.ReplaceAllString(res, "$1")
res = emphReg4.ReplaceAllString(res, "$1")
}
res = htmlReg.ReplaceAllString(res, "$1")
res = setextHeaderReg.ReplaceAllString(res, "")
res = footnotesReg.ReplaceAllString(res, "")
Expand Down
27 changes: 27 additions & 0 deletions strip_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,33 @@ You can even share code stuff.`
if res := Strip(in); res != out {
t.Errorf("Original:\n\n%s\n\nGot:\n\n%s", in, res)
}
// Test to skip images
in = "![Some image](https://write.as/favicon.ico)"
out = ""
if res := StripOptions(in, Options{SkipImages: true}); res != out {
t.Errorf("Original:\n\n%s\n\nGot:\n\n%s", in, res)
}

// Test for skipping single underscores
in = "_this is single emphasis_"
out = "_this is single emphasis_"
if res := StripOptions(in, Options{SkipUnderscores: true}); res != out {
t.Errorf("Original:\n\n%s\n\nGot:\n\n%s", in, res)
}
if res := Strip(in); res == out {
t.Errorf("Original:\n\n%s\n\nGot:\n\n%s", in, res)
}

// Test for skipping double underscores
in = "__this is double emphasis__"
out = "__this is double emphasis__"
if res := StripOptions(in, Options{SkipUnderscores: true}); res != out {
t.Errorf("Original:\n\n%s\n\nGot:\n\n%s", in, res)
}
if res := Strip(in); res == out {
t.Errorf("Original:\n\n%s\n\nGot:\n\n%s", in, res)
}

}

func ExampleStrip() {
Expand Down