mirror of
https://github.com/jlelse/GoBlog
synced 2024-06-29 12:27:34 +00:00
56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
|
package main
|
||
|
|
||
|
import "github.com/writeas/go-nodeinfo"
|
||
|
|
||
|
var (
|
||
|
nodeInfoConfig *nodeinfo.Config
|
||
|
nodeInfoService *nodeinfo.Service
|
||
|
)
|
||
|
|
||
|
func initNodeInfo() {
|
||
|
nodeInfoConfig = &nodeinfo.Config{
|
||
|
BaseURL: appConfig.Server.PublicAddress,
|
||
|
InfoURL: "/nodeinfo",
|
||
|
Metadata: nodeinfo.Metadata{
|
||
|
NodeName: appConfig.Blogs[appConfig.DefaultBlog].Title,
|
||
|
NodeDescription: appConfig.Blogs[appConfig.DefaultBlog].Description,
|
||
|
},
|
||
|
Protocols: []nodeinfo.NodeProtocol{
|
||
|
nodeinfo.ProtocolActivityPub,
|
||
|
"micropub",
|
||
|
"webmention",
|
||
|
},
|
||
|
Services: nodeinfo.Services{
|
||
|
Inbound: []nodeinfo.NodeService{},
|
||
|
Outbound: []nodeinfo.NodeService{
|
||
|
nodeinfo.ServiceAtom,
|
||
|
nodeinfo.ServiceRSS,
|
||
|
"jsonfeed",
|
||
|
"activitystreams2.0",
|
||
|
"telegram",
|
||
|
},
|
||
|
},
|
||
|
Software: nodeinfo.SoftwareInfo{
|
||
|
Name: appUserAgent,
|
||
|
},
|
||
|
}
|
||
|
nodeInfoService = nodeinfo.NewService(*nodeInfoConfig, &nodeInfoResolver{})
|
||
|
}
|
||
|
|
||
|
type nodeInfoResolver struct{}
|
||
|
|
||
|
func (r *nodeInfoResolver) IsOpenRegistration() (bool, error) {
|
||
|
return false, nil
|
||
|
}
|
||
|
|
||
|
func (r *nodeInfoResolver) Usage() (nodeinfo.Usage, error) {
|
||
|
postCount, _ := countPosts(&postsRequestConfig{})
|
||
|
u := nodeinfo.Usage{
|
||
|
Users: nodeinfo.UsageUsers{
|
||
|
Total: len(appConfig.Blogs),
|
||
|
},
|
||
|
LocalPosts: postCount,
|
||
|
}
|
||
|
return u, nil
|
||
|
}
|