diff --git a/html.c b/html.c index 9c71453..fca05d2 100644 --- a/html.c +++ b/html.c @@ -721,15 +721,26 @@ int html_get_handler(d_char *req, char *q_path, char **body, int *b_size, char * } } else - if (xs_startswith(p_path, "p/") == 0) { + if (xs_startswith(p_path, "p/")) { /* a timeline with just one entry */ + xs *id = xs_fmt("%s/%s", snac.actor, p_path); + xs *fn = _timeline_find_fn(&snac, id); + + if (fn != NULL) { + xs *list = xs_list_new(); + list = xs_list_append(list, fn); + + *body = html_timeline(&snac, list, 1); + *b_size = strlen(*body); + status = 200; + } } else - if (xs_startswith(p_path, "s/") == 0) { + if (xs_startswith(p_path, "s/")) { /* a static file */ } else - if (xs_startswith(p_path, "h/") == 0) { + if (xs_startswith(p_path, "h/")) { /* an entry from the history */ } else diff --git a/snac.h b/snac.h index c65b222..368c9ad 100644 --- a/snac.h +++ b/snac.h @@ -61,6 +61,7 @@ int follower_check(snac *snac, char *actor); d_char *follower_list(snac *snac); int timeline_here(snac *snac, char *id); +d_char *_timeline_find_fn(snac *snac, char *id); d_char *timeline_find(snac *snac, char *id); void timeline_del(snac *snac, char *id); d_char *timeline_get(snac *snac, char *fn);