mirror of
https://github.com/songquanpeng/message-pusher.git
synced 2025-09-26 20:21:22 +08:00
fix: render description as HTML when rendering message (close #42)
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
package channel
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"github.com/yuin/goldmark"
|
||||
"message-pusher/common"
|
||||
"message-pusher/model"
|
||||
)
|
||||
@@ -17,12 +15,10 @@ func SendEmailMessage(message *model.Message, user *model.User) error {
|
||||
subject = message.Title
|
||||
}
|
||||
if message.Content != "" {
|
||||
var buf bytes.Buffer
|
||||
err := goldmark.Convert([]byte(message.Content), &buf)
|
||||
var err error
|
||||
message.HTMLContent, err = common.Markdown2HTML(message.Content)
|
||||
if err != nil {
|
||||
common.SysLog(err.Error())
|
||||
} else {
|
||||
message.HTMLContent = buf.String()
|
||||
}
|
||||
}
|
||||
return common.SendEmail(subject, user.Email, message.HTMLContent)
|
||||
|
@@ -19,7 +19,7 @@
|
||||
<span class="line">发布于:<span class="tag is-light">{{.time}}</span></span>
|
||||
</div>
|
||||
<blockquote>
|
||||
<p>{{.description}}</p>
|
||||
{{.description | unescape}}
|
||||
</blockquote>
|
||||
{{.content | unescape}}
|
||||
</article>
|
||||
|
@@ -1,8 +1,10 @@
|
||||
package common
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"github.com/google/uuid"
|
||||
"github.com/yuin/goldmark"
|
||||
"html/template"
|
||||
"log"
|
||||
"net"
|
||||
@@ -139,3 +141,13 @@ func Max(a int, b int) int {
|
||||
return b
|
||||
}
|
||||
}
|
||||
|
||||
func Markdown2HTML(markdown string) (HTML string, err error) {
|
||||
var buf bytes.Buffer
|
||||
err = goldmark.Convert([]byte(markdown), &buf)
|
||||
if err != nil {
|
||||
return fmt.Sprintf("Markdown 渲染出错:%s", err.Error()), err
|
||||
}
|
||||
HTML = buf.String()
|
||||
return
|
||||
}
|
||||
|
@@ -1,11 +1,9 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/yuin/goldmark"
|
||||
"message-pusher/channel"
|
||||
"message-pusher/common"
|
||||
"message-pusher/model"
|
||||
@@ -173,13 +171,16 @@ func RenderMessage(c *gin.Context) {
|
||||
c.Status(http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
if message.Content != "" {
|
||||
var buf bytes.Buffer
|
||||
err := goldmark.Convert([]byte(message.Content), &buf)
|
||||
if message.Description != "" {
|
||||
message.Description, err = common.Markdown2HTML(message.Description)
|
||||
if err != nil {
|
||||
common.SysLog(err.Error())
|
||||
}
|
||||
}
|
||||
if message.Content != "" {
|
||||
message.HTMLContent, err = common.Markdown2HTML(message.Content)
|
||||
if err != nil {
|
||||
common.SysLog(err.Error())
|
||||
} else {
|
||||
message.HTMLContent = buf.String()
|
||||
}
|
||||
}
|
||||
c.HTML(http.StatusOK, "message.html", gin.H{
|
||||
|
Reference in New Issue
Block a user