back interdiff of round #5 and #4

appview: parse reference links from markdown body #760

merged
opened by boltless.me targeting master from feat/mentions

Defined refResolver which will parse useful data from markdown body like @-mentions or issue/pr/comment mentions

Signed-off-by: Seongmin Lee git@boltless.me

files
appview
ERROR
appview/db/reference.go

Failed to calculate interdiff for this file.

ERROR
appview/issues/issues.go

Failed to calculate interdiff for this file.

ERROR
appview/models/reference.go

Failed to calculate interdiff for this file.

REVERTED
appview/pages/markup/extension/atlink.go
···
// An AtNode struct represents an AtNode
type AtNode struct {
+
handle string
-
Handle string
ast.BaseInline
}
···
block.Advance(m[1])
node := &AtNode{}
node.AppendChild(node, ast.NewTextSegment(atSegment))
+
node.handle = string(atSegment.Value(block.Source())[1:])
-
node.Handle = string(atSegment.Value(block.Source())[1:])
return node
}
···
func (r *atHtmlRenderer) renderAt(w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) {
if entering {
w.WriteString(`<a href="/@`)
+
w.WriteString(n.(*AtNode).handle)
-
w.WriteString(n.(*AtNode).Handle)
w.WriteString(`" class="mention">`)
} else {
w.WriteString("</a>")
ERROR
appview/pages/markup/markdown.go

Failed to calculate interdiff for this file.

ERROR
appview/pages/markup/reference_link.go

Failed to calculate interdiff for this file.

ERROR
appview/pulls/pulls.go

Failed to calculate interdiff for this file.

ERROR
appview/refresolver/resolver.go

Failed to calculate interdiff for this file.

ERROR
appview/state/router.go

Failed to calculate interdiff for this file.

ERROR
appview/state/state.go

Failed to calculate interdiff for this file.