Some og:description tweaks.

This commit is contained in:
default 2024-02-07 19:15:20 +01:00
parent 80c31a2e01
commit 89b64de531

32
html.c
View file

@ -552,7 +552,7 @@ static xs_html *html_instance_body(char *tag)
} }
xs_html *html_user_head(snac *user) xs_html *html_user_head(snac *user, char *desc)
{ {
xs_html *head = html_base_head(); xs_html *head = html_base_head();
@ -595,13 +595,13 @@ xs_html *html_user_head(snac *user)
avatar = xs_fmt("%s/susie.png", srv_baseurl); avatar = xs_fmt("%s/susie.png", srv_baseurl);
} }
xs *s_bio = xs_dup(xs_dict_get(user->config, "bio")); /* create a description field */
int n; xs *s_desc = NULL;
/* shorten the bio */ if (desc == NULL)
for (n = 0; s_bio[n] && s_bio[n] != '&' && s_bio[n] != '.' && s_desc = xs_dup(xs_dict_get(user->config, "bio"));
s_bio[n] != '\r' && s_bio[n] != '\n' && n < 128; n++); else
s_bio[n] = '\0'; s_desc = xs_dup(desc);
/* og properties */ /* og properties */
xs_html_add(head, xs_html_add(head,
@ -613,7 +613,7 @@ xs_html *html_user_head(snac *user)
xs_html_attr("content", title)), xs_html_attr("content", title)),
xs_html_sctag("meta", xs_html_sctag("meta",
xs_html_attr("property", "og:description"), xs_html_attr("property", "og:description"),
xs_html_attr("content", s_bio)), xs_html_attr("content", s_desc)),
xs_html_sctag("meta", xs_html_sctag("meta",
xs_html_attr("property", "og:image"), xs_html_attr("property", "og:image"),
xs_html_attr("content", avatar)), xs_html_attr("content", avatar)),
@ -1849,11 +1849,21 @@ xs_str *html_timeline(snac *user, const xs_list *list, int local,
char *v; char *v;
double t = ftime(); double t = ftime();
char *desc = NULL;
#if 0
if (xs_list_len(list) == 1) {
/* only one element? pick the description from the source */
xs_dict *d = xs_list_get(list, 0);
desc = xs_dict_get(d, "sourceContent");
}
#endif
xs_html *head; xs_html *head;
xs_html *body; xs_html *body;
if (user) { if (user) {
head = html_user_head(user); head = html_user_head(user, desc);
body = html_user_body(user, local); body = html_user_body(user, local);
} }
else { else {
@ -2125,7 +2135,7 @@ xs_str *html_people(snac *user)
xs *wers = follower_list(user); xs *wers = follower_list(user);
xs_html *html = xs_html_tag("html", xs_html *html = xs_html_tag("html",
html_user_head(user), html_user_head(user, NULL),
xs_html_add(html_user_body(user, 0), xs_html_add(html_user_body(user, 0),
html_people_list(user, wing, L("People you follow"), "i"), html_people_list(user, wing, L("People you follow"), "i"),
html_people_list(user, wers, L("People that follow you"), "e"), html_people_list(user, wers, L("People that follow you"), "e"),
@ -2143,7 +2153,7 @@ xs_str *html_notifications(snac *user, int skip, int show)
xs_html *body = html_user_body(user, 0); xs_html *body = html_user_body(user, 0);
xs_html *html = xs_html_tag("html", xs_html *html = xs_html_tag("html",
html_user_head(user), html_user_head(user, NULL),
body); body);
xs *clear_all_action = xs_fmt("%s/admin/clear-notifications", user->actor); xs *clear_all_action = xs_fmt("%s/admin/clear-notifications", user->actor);