Add entity recognition in user bios as well

This commit is contained in:
Alessio 2023-08-27 15:46:57 -03:00
parent 8608f06bca
commit 47d206666b
4 changed files with 22 additions and 24 deletions

View File

@ -87,6 +87,20 @@ func TestUserFeed(t *testing.T) {
assert.Len(including_quote_tweets, 10)
}
func TestUserFeedWithEntityInBio(t *testing.T) {
assert := assert.New(t)
require := require.New(t)
resp := do_request(httptest.NewRequest("GET", "/michaelmalice", nil))
require.Equal(resp.StatusCode, 200)
root, err := html.Parse(resp.Body)
require.NoError(err)
bio_entities := cascadia.QueryAll(root, selector(".user-bio .entity"))
require.Len(bio_entities, 1)
assert.Equal(bio_entities[0].FirstChild.Data, "@SheathUnderwear")
}
func TestUserFeedMissing(t *testing.T) {
require := require.New(t)
@ -344,7 +358,7 @@ func TestLongTweet(t *testing.T) {
require.Equal(resp.StatusCode, 200)
root, err := html.Parse(resp.Body)
require.NoError(err)
paragraphs := cascadia.QueryAll(root, selector(".tweet-text"))
paragraphs := cascadia.QueryAll(root, selector(".tweet .text"))
assert.Len(paragraphs, 22)
twt, err := profile.GetTweetById(scraper.TweetID(1695110851324256692))

View File

@ -100,7 +100,7 @@ ul.inline-dotted-list li:last-child:after {
line-height: 0;
}
.author-info, .tweet-text {
.author-info, .tweet .text {
cursor: default;
}
@ -147,15 +147,15 @@ a.entity {
color: var(--color-twitter-blue);
}
.tweet-text {
.tweet .text {
display: block;
margin-bottom: 0.4em;
margin-top: 0;
}
.focused-tweet .tweet-text {
.focused-tweet .text {
font-size: 1.4em;
}
.focused-tweet .quoted-tweet .tweet-text {
.focused-tweet .quoted-tweet .text {
font-size: unset;
}
.tweet-content video {

View File

@ -4,7 +4,7 @@
<div class="tweet"
{{if (not (eq $main_tweet.ID (focused_tweet_id)))}}
hx-post="/tweet/{{$main_tweet.ID}}"
hx-trigger="click target::not(.tweet-text)"
hx-trigger="click"
hx-target="body"
hx-swap="outerHTML"
hx-push-url="true"
@ -50,23 +50,7 @@
</span>
<span class="vertical-container-1">
<div class="tweet-content">
{{range (splitList "\n" $main_tweet.Text)}}
<p class="tweet-text" hx-trigger="click consume">
{{range (get_entities .)}}
{{if (eq .EntityType 1)}}
<!-- Mention -->
<a class="entity" href="/{{.Contents}}">@{{.Contents}}</a>
{{else if (eq .EntityType 2)}}
<!-- Hashtag -->
<a class="entity" href="/search/%23{{.Contents}}">#{{.Contents}}</a>
{{else}}
<!-- Just text -->
{{.Contents}}
{{end}}
{{end}}
</p>
{{end}}
{{template "text-with-entities" $main_tweet.Text}}
{{range $main_tweet.Images}}
<img src="/content/images/{{.LocalFilename}}" style="max-width: 45%"/>
{{end}}

View File

@ -13,7 +13,7 @@
{{template "following-button" $user}}
</div>
<div class="user-bio">
<span>{{$user.Bio}}</span>
{{template "text-with-entities" $user.Bio}}
</div>
{{if $user.Location}}
<div class="user-location bio-info-with-icon">