1
0
mirror of https://git.sr.ht/~cadence/bibliogram synced 2025-12-16 11:08:49 +00:00

Clickable usernames and hashtags

Should work well enough. Report edge cases.
This commit is contained in:
Cadence Fish
2020-02-04 03:30:19 +13:00
parent 1fcdfce868
commit 0ea95d1943
9 changed files with 105 additions and 7 deletions

View File

@@ -0,0 +1,11 @@
mixin display_structured(parts)
each part in parts
if part.type === "text"
= part.text
else if part.type === "user"
a(href="/u/"+part.user).link-to-user= part.text
else if part.type === "hashtag"
//- todo: add link to explore page, when explore page exists.
a.link-to-hashtag= part.text
else
| [UNKNOWN PART TYPE #{part.type}, TEXT:] [#{part.text}]

View File

@@ -1,3 +1,5 @@
include includes/display_structured
- const numberFormat = new Intl.NumberFormat().format
doctype html
@@ -20,7 +22,8 @@ html
img(src=post.ownerPfpCacheP width=150 height=150 alt="").pfp
a.name(href=`/u/${post.getBasicOwner().username}`)= `${post.data.owner.full_name} (@${post.getBasicOwner().username})`
if post.getCaption()
p.description= post.getCaption()
p.structured-text.description
+display_structured(post.getStructuredCaption())
section.images-gallery
for entry in post.children
if entry.isVideo()

View File

@@ -2,6 +2,7 @@
include includes/timeline_page.pug
include includes/next_page_button.pug
include includes/display_structured
- const numberFormat = new Intl.NumberFormat().format
@@ -30,7 +31,8 @@ html
else
h1.full-name= `@${user.data.username}`
if !user.fromReel
p.bio= user.data.biography
p.structured-text.bio
+display_structured(user.getStructuredBio())
if user.data.external_url
p.website
a(href=user.data.external_url)= user.data.external_url

View File

@@ -3,6 +3,7 @@ $layout-b-min: 821px
$layout-c-max: 680px;
$layout-home-a-max: 520px
$layout-home-b-min: 521px
$main-theme-link-color: #085cae
body
margin: 0
@@ -89,7 +90,10 @@ body
flex-wrap: wrap
justify-content: center
a
a, a:visited
color: $main-theme-link-color
> *
margin: 5px
> *:last-child
@@ -426,3 +430,14 @@ body
.link-list
color: $link-color
.structured-text
a, a:visited
color: $main-theme-link-color
text-decoration: none
a:link, a:link:visited
text-decoration: underline
.link-to-hashtag
color: #127722