Skip to content

Commit

Permalink
Add silobridge package
Browse files Browse the repository at this point in the history
  • Loading branch information
thebaer committed Aug 13, 2020
1 parent f54ee17 commit 68a680d
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions silobridge/silobridge.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package silobridge

// fakeAPInstances contains a list of sites that we allow writers to mention
// with the @[email protected] 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
}

0 comments on commit 68a680d

Please sign in to comment.