I’ve finally had a chance to look at this. I have a couple of different suggestions for Author/Social metadata.
First, I’m not sure that
map[string]string is right for
AuthorSocial, but that could probably be (mostly) ameliorated with proper support from themes. I’ll have to think how I’d change
cabaret to support this. That said, there is one case where I think that
map[string](map[string]string) (if that can be represented cleanly in Go) would be better, and that’s Google+ and Facebook (and similar networks). If I’m presenting my social details in a linked list, I may not want to be listed as
some.user.1632, but as my given name. In my own site, I do something like this:
icon = "twitter"
site = "Twitter"
url = "https://twitter.com/halostatue"
user = "@halostatue"
Now, out of that,
icon could be automated based on the key name (and for that, I’ll suggest a different list of names, below); we can probably automate
site, but maybe not—that needs to be mapped somewhere, and it needs to be mapped in an I18n-ready way, probably (that list of names).
url can be automated based on the value provided, but
user…can’t be guaranteed to be automated. I mean, yes, Twitter is always
@<username>…but do you want to be
+132342512342 if you haven’t claimed your Google+ name?
As a theme author/content producer, I need to have a way to specify that the site name may be different than the display name the user wants to show. That’s why I would prefer
map[string](map[string]string). This probably also applies to
SiteSocial, but I’m not sure how that’s used (I’m still at the top of the code in review).
Now, that list of names I suggest. You put
googleplus; I suggest
google-plus…because it’s the name of the Font Awesome icon for Google+. (And, with a lot of these, you can also put
-square after it for a squared version of the icon.) So, I have a few groups of suggested names:
Large Social Networks & Products
vimeo is mildly problematic because its icon in FA is
vk is short for
vkontakte (the major Russian social network).
tencent-weibo is different than
weibo (sometimes called Sina Weibo). These are the minimum that we should probably build some support for.
Smaller Social Networks & Products
These are ones that we, as developers, are more likely to be interested in. Yes, it’s a bit more than just developers, but these are what I (personally) consider to be second-order networks.
Useful Things Without Icons
At least developer useful, but these also don’t have icons in FA. In particular, I do want
keybase to be on my social icons as an author, because that’s where you can find my GPG key, so I specify
key as the FA icon for that one. Imperfect, but it works.
More thoughts later as I get further through this.