summaryrefslogtreecommitdiff
path: root/html.c
diff options
context:
space:
mode:
Diffstat (limited to 'html.c')
-rw-r--r--html.c67
1 files changed, 66 insertions, 1 deletions
diff --git a/html.c b/html.c
index aec8afc..d0d6b5e 100644
--- a/html.c
+++ b/html.c
@@ -456,7 +456,72 @@ xs_html *html_instance_head(void)
456} 456}
457 457
458 458
459xs_str *html_instance_header(xs_str *s, char *tag) 459xs_html *html_instance_body(char *tag)
460{
461 char *host = xs_dict_get(srv_config, "host");
462 char *sdesc = xs_dict_get(srv_config, "short_description");
463 char *email = xs_dict_get(srv_config, "admin_email");
464 char *acct = xs_dict_get(srv_config, "admin_account");
465
466 xs *blurb = xs_replace(snac_blurb, "%host%", host);
467
468 xs_html *dl;
469
470 xs_html *body = xs_html_tag("body",
471 xs_html_tag("div",
472 xs_html_attr("class", "snac-instance-blurb"),
473 xs_html_raw(blurb), /* pure html */
474 dl = xs_html_tag("dl", NULL)));
475
476 if (sdesc && *sdesc) {
477 xs_html_add(dl,
478 xs_html_tag("di",
479 xs_html_tag("dt",
480 xs_html_text(L("Site description"))),
481 xs_html_tag("dd",
482 xs_html_text(sdesc))));
483 }
484 if (email && *email) {
485 xs *mailto = xs_fmt("mailto:%s", email);
486
487 xs_html_add(dl,
488 xs_html_tag("di",
489 xs_html_tag("dt",
490 xs_html_text(L("Admin email"))),
491 xs_html_tag("dd",
492 xs_html_tag("a",
493 xs_html_attr("href", mailto),
494 xs_html_text(email)))));
495 }
496 if (acct && *acct) {
497 xs *url = xs_fmt("%s/%s", srv_baseurl, acct);
498 xs *handle = xs_fmt("@%s@%s", acct, host);
499
500 xs_html_add(dl,
501 xs_html_tag("di",
502 xs_html_tag("dt",
503 xs_html_text(L("Admin account"))),
504 xs_html_tag("dd",
505 xs_html_tag("a",
506 xs_html_attr("href", url),
507 xs_html_text(handle)))));
508 }
509
510 {
511 xs *l = tag ? xs_fmt(L("Search results for #%s"), tag) :
512 xs_dup(L("Recent posts by users in this instance"));
513
514 xs_html_add(body,
515 xs_html_tag("h2",
516 xs_html_attr("class", "snac-header"),
517 xs_html_text(l)));
518 }
519
520 return body;
521}
522
523
524static xs_str *html_instance_header(xs_str *s, char *tag)
460{ 525{
461 xs_html *head = html_instance_head(); 526 xs_html *head = html_instance_head();
462 527