Send webmention to reply url
This commit is contained in:
parent
9056b22536
commit
1c53244439
4
post.go
4
post.go
|
@ -385,6 +385,10 @@ func (post *Post) ScanForLinks() error {
|
||||||
// rely on goldmark for this (yet)
|
// rely on goldmark for this (yet)
|
||||||
postHtml := post.RenderedContent()
|
postHtml := post.RenderedContent()
|
||||||
links, _ := post.user.repo.Parser.ParseLinksFromString(postHtml.String())
|
links, _ := post.user.repo.Parser.ParseLinksFromString(postHtml.String())
|
||||||
|
// add reply url if set
|
||||||
|
if post.Meta().Reply.Url != "" {
|
||||||
|
links = append(links, post.Meta().Reply.Url)
|
||||||
|
}
|
||||||
for _, link := range links {
|
for _, link := range links {
|
||||||
post.PersistOutgoingWebmention(&WebmentionOut{
|
post.PersistOutgoingWebmention(&WebmentionOut{
|
||||||
Target: link,
|
Target: link,
|
||||||
|
|
25
post_test.go
25
post_test.go
|
@ -344,6 +344,31 @@ func TestScanningForLinksDoesNotAddDuplicates(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestScanningForLinksDoesAddReplyUrl(t *testing.T) {
|
||||||
|
repo := getTestRepo(owl.RepoConfig{})
|
||||||
|
user, _ := repo.CreateUser("testuser")
|
||||||
|
post, _ := user.CreateNewPost("testpost")
|
||||||
|
|
||||||
|
content := "---\n"
|
||||||
|
content += "title: test\n"
|
||||||
|
content += "date: Wed, 17 Aug 2022 10:50:02 +0000\n"
|
||||||
|
content += "reply:\n"
|
||||||
|
content += " url: https://example.com/reply\n"
|
||||||
|
content += "---\n"
|
||||||
|
content += "\n"
|
||||||
|
content += "Hi\n"
|
||||||
|
os.WriteFile(post.ContentFile(), []byte(content), 0644)
|
||||||
|
|
||||||
|
post.ScanForLinks()
|
||||||
|
webmentions := post.OutgoingWebmentions()
|
||||||
|
if len(webmentions) != 1 {
|
||||||
|
t.Errorf("Expected 1 webmention, got %d", len(webmentions))
|
||||||
|
}
|
||||||
|
if webmentions[0].Target != "https://example.com/reply" {
|
||||||
|
t.Errorf("Expected target: %s, got %s", "https://example.com/reply", webmentions[0].Target)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestCanSendWebmention(t *testing.T) {
|
func TestCanSendWebmention(t *testing.T) {
|
||||||
repo := getTestRepo(owl.RepoConfig{})
|
repo := getTestRepo(owl.RepoConfig{})
|
||||||
repo.HttpClient = &MockHttpClient{}
|
repo.HttpClient = &MockHttpClient{}
|
||||||
|
|
Loading…
Reference in New Issue