Add silobridge package
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
package silobridge
|
||||
|
||||
// fakeAPInstances contains a list of sites that we allow writers to mention
|
||||
// with the @handle@instance.tld syntax, plus the corresponding prefix to
|
||||
// insert between `https://instance.tld/` and `handle` (e.g.
|
||||
// https://medium.com/@handle)
|
||||
var fakeAPInstances = map[string]string{
|
||||
"deviantart.com": "",
|
||||
"facebook.com": "",
|
||||
"flickr.com": "photos/",
|
||||
"github.com": "",
|
||||
"instagram.com": "",
|
||||
"medium.com": "@",
|
||||
"reddit.com": "user/",
|
||||
"twitter.com": "",
|
||||
"wattpad.com": "user/",
|
||||
"youtube.com": "user/",
|
||||
}
|
||||
|
||||
// Profile returns the full profile URL for a fake ActivityPub instance, based
|
||||
// on the given handle and domain. If the domain isn't recognized, an empty
|
||||
// string is returned.
|
||||
func Profile(handle, domain string) string {
|
||||
prefix, ok := fakeAPInstances[domain]
|
||||
if !ok {
|
||||
return ""
|
||||
}
|
||||
return "https://" + domain + "/" + prefix + handle
|
||||
}
|
||||
Reference in New Issue
Block a user