diff --git a/rss/item.go b/rss/item.go
index 136b64c..69fd0aa 100755
--- a/rss/item.go
+++ b/rss/item.go
@@ -95,7 +95,11 @@ func (i *Item) Load(key, ns1 string, ns ...string) error {
if err != nil {
return err
}
- return config.Decode(b, i)
+ err = config.Decode(b, i)
+ if err == nil {
+ i.Content = clearBlankLines(i.Content)
+ }
+ return err
}
func (is Items) Len() int {
@@ -113,8 +117,10 @@ func (is Items) Swap(i, j int) {
}
func clearBlankLines(s string) string {
- r := regexp.MustCompile(`(?m)^\s*
\s*$`)
- s = r.ReplaceAllLiteralString(s, "")
+ r := regexp.MustCompile(`
`)
+ s = r.ReplaceAllLiteralString(s, "
")
+ r = regexp.MustCompile(`(?m)
\s*(
\s*)*`)
+ s = r.ReplaceAllLiteralString(s, "
")
r = regexp.MustCompile(`(?m)\s\s*`)
return r.ReplaceAllLiteralString(s, "\n")
}
diff --git a/rss/item_test.go b/rss/item_test.go
index 6a94b26..7e30f2b 100755
--- a/rss/item_test.go
+++ b/rss/item_test.go
@@ -92,15 +92,61 @@ func TestClearBlankLines(t *testing.T) {
+
+