mirror of
https://github.com/jointakahe/takahe.git
synced 2024-11-25 08:41:00 +00:00
A few hashtag fixups
This commit is contained in:
parent
1ad9bfcb06
commit
0bced8fe17
5 changed files with 28 additions and 5 deletions
|
@ -8,6 +8,7 @@ from django.db import models
|
|||
from django.utils import timezone
|
||||
from django.utils.safestring import mark_safe
|
||||
|
||||
from core.html import strip_html
|
||||
from core.models import Config
|
||||
from stator.models import State, StateField, StateGraph, StatorModel
|
||||
|
||||
|
@ -174,7 +175,7 @@ class Hashtag(StatorModel):
|
|||
Return a parsed and sanitized of hashtags found in content without
|
||||
leading '#'.
|
||||
"""
|
||||
hashtag_hits = cls.hashtag_regex.findall(content)
|
||||
hashtag_hits = cls.hashtag_regex.findall(strip_html(content))
|
||||
hashtags = sorted({tag[1].lower() for tag in hashtag_hits})
|
||||
return list(hashtags)
|
||||
|
||||
|
|
|
@ -77,6 +77,17 @@ class PostStates(StateGraph):
|
|||
|
||||
|
||||
class PostQuerySet(models.QuerySet):
|
||||
def public(self, include_replies: bool = False):
|
||||
query = self.filter(
|
||||
visibility__in=[
|
||||
Post.Visibilities.public,
|
||||
Post.Visibilities.local_only,
|
||||
],
|
||||
)
|
||||
if not include_replies:
|
||||
return query.filter(in_reply_to__isnull=True)
|
||||
return query
|
||||
|
||||
def local_public(self, include_replies: bool = False):
|
||||
query = self.filter(
|
||||
visibility__in=[
|
||||
|
@ -104,6 +115,9 @@ class PostManager(models.Manager):
|
|||
def get_queryset(self):
|
||||
return PostQuerySet(self.model, using=self._db)
|
||||
|
||||
def public(self, include_replies: bool = False):
|
||||
return self.get_queryset().public(include_replies=include_replies)
|
||||
|
||||
def local_public(self, include_replies: bool = False):
|
||||
return self.get_queryset().local_public(include_replies=include_replies)
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ class Tag(ListView):
|
|||
|
||||
def get_queryset(self):
|
||||
return (
|
||||
Post.objects.local_public()
|
||||
Post.objects.public()
|
||||
.tagged_with(self.hashtag)
|
||||
.select_related("author")
|
||||
.prefetch_related("attachments")
|
||||
|
|
|
@ -92,6 +92,7 @@ td a {
|
|||
--color-text-duller: #5f6983;
|
||||
--color-text-dull: #99a;
|
||||
--color-text-main: #fff;
|
||||
--color-text-link: rgb(176, 194, 206);
|
||||
|
||||
--color-input-border: #000;
|
||||
--color-input-border-active: #444b5d;
|
||||
|
@ -451,6 +452,7 @@ form .field .label-input {
|
|||
form .field.stats {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
form .field.stats table {
|
||||
width: 50%;
|
||||
}
|
||||
|
@ -907,11 +909,14 @@ table.metadata td.name {
|
|||
width: 16px;
|
||||
}
|
||||
|
||||
.post a.hashtag, .post.mini a.hashtag {
|
||||
.post a.hashtag,
|
||||
.post.mini a.hashtag {
|
||||
text-decoration: none;
|
||||
color: var(--color-text-link);
|
||||
}
|
||||
|
||||
.post a.hashtag:hover, .post.mini a.hashtag:hover {
|
||||
.post a.hashtag:hover,
|
||||
.post.mini a.hashtag:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,9 +6,12 @@
|
|||
<a href="{% url "notifications" %}" {% if current_page == "notifications" %}class="selected"{% endif %} title="Notifications">
|
||||
<i class="fa-solid fa-at"></i> Notifications
|
||||
</a>
|
||||
{% comment %}
|
||||
Not sure we want to show this quite yet
|
||||
<a href="{% url "explore" %}" {% if current_page == "explore" %}class="selected"{% endif %} title="Explore">
|
||||
<i class="fa-solid fa-hashtag"></i> Explore
|
||||
</a>
|
||||
{% endcomment %}
|
||||
<a href="{% url "local" %}" {% if current_page == "local" %}class="selected"{% endif %} title="Local">
|
||||
<i class="fa-solid fa-city"></i> Local
|
||||
</a>
|
||||
|
@ -30,7 +33,7 @@
|
|||
<a href="{% url "settings" %}" {% if top_section == "settings" %}class="selected"{% endif %} title="Settings">
|
||||
<i class="fa-solid fa-gear"></i> Settings
|
||||
</a>
|
||||
{% else %}
|
||||
{% else %}
|
||||
<a href="{% url "local" %}" {% if current_page == "local" %}class="selected"{% endif %} title="Local Posts">
|
||||
<i class="fa-solid fa-city"></i> Local Posts
|
||||
</a>
|
||||
|
|
Loading…
Reference in a new issue