forked from rDrama/rDrama
ghfgf
parent
1b95972ee1
commit
4249412f55
|
@ -230,11 +230,11 @@ class Submission(Base):
|
||||||
@property
|
@property
|
||||||
@lazy
|
@lazy
|
||||||
def thumb_url(self):
|
def thumb_url(self):
|
||||||
if self.over_18: return f"https://{site}/assets/images/nsfw.webp"
|
if self.over_18: return f"https://{site}/assets/images/nsfw.gif"
|
||||||
elif not self.url: return f"https://{site}/assets/images/{site_name}/default_thumb_text.webp"
|
elif not self.url: return f"https://{site}/assets/images/{site_name}/default_thumb_text.gif"
|
||||||
elif self.thumburl: return self.thumburl
|
elif self.thumburl: return self.thumburl
|
||||||
elif "youtu.be" in self.domain or "youtube.com" in self.domain: return f"https://{site}/assets/images/default_thumb_yt.webp"
|
elif "youtu.be" in self.domain or "youtube.com" in self.domain: return f"https://{site}/assets/images/default_thumb_yt.gif"
|
||||||
else: return f"https://{site}/assets/images/default_thumb_link.webp"
|
else: return f"https://{site}/assets/images/default_thumb_link.gif"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@lazy
|
@lazy
|
||||||
|
|
|
@ -423,14 +423,14 @@ class User(Base):
|
||||||
@lazy
|
@lazy
|
||||||
def banner_url(self):
|
def banner_url(self):
|
||||||
if self.bannerurl: return self.bannerurl
|
if self.bannerurl: return self.bannerurl
|
||||||
else: return f"https://{site}/assets/images/{site_name}/preview.webp"
|
else: return f"https://{site}/assets/images/{site_name}/preview.gif"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@lazy
|
@lazy
|
||||||
def profile_url(self):
|
def profile_url(self):
|
||||||
if self.profileurl: return self.profileurl
|
if self.profileurl: return self.profileurl
|
||||||
elif "rama" in site: return f"https://{site}/assets/images/defaultpictures/{random.randint(1, 150)}.webp"
|
elif "rama" in site: return f"https://{site}/assets/images/defaultpictures/{random.randint(1, 150)}.gif"
|
||||||
else: return f"https://{site}/assets/images/default-profile-pic.webp"
|
else: return f"https://{site}/assets/images/default-profile-pic.gif"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@lazy
|
@lazy
|
||||||
|
|
|
@ -121,7 +121,7 @@ def sanitize(sanitized, noimages=False):
|
||||||
tag["class"] = "in-comment-image"
|
tag["class"] = "in-comment-image"
|
||||||
tag["loading"] = "lazy"
|
tag["loading"] = "lazy"
|
||||||
tag["data-src"] = tag["src"]
|
tag["data-src"] = tag["src"]
|
||||||
tag["src"] = "/assets/images/loading.webp"
|
tag["src"] = "/assets/images/loading.gif"
|
||||||
|
|
||||||
link = soup.new_tag("a")
|
link = soup.new_tag("a")
|
||||||
link["href"] = tag["data-src"]
|
link["href"] = tag["data-src"]
|
||||||
|
@ -201,22 +201,22 @@ def sanitize(sanitized, noimages=False):
|
||||||
for i in re.finditer('" target="_blank">(https://youtube.com/watch\?v\=.*?)</a>', sanitized):
|
for i in re.finditer('" target="_blank">(https://youtube.com/watch\?v\=.*?)</a>', sanitized):
|
||||||
url = i.group(1)
|
url = i.group(1)
|
||||||
replacing = f'<a href="{url}" rel="nofollow noopener noreferrer" target="_blank">{url}</a>'
|
replacing = f'<a href="{url}" rel="nofollow noopener noreferrer" target="_blank">{url}</a>'
|
||||||
htmlsource = f'<iframe class="embedvid" loading="lazy" src="/assets/images/loading.webp" data-src="{url}" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
|
htmlsource = f'<iframe class="embedvid" loading="lazy" src="/assets/images/loading.gif" data-src="{url}" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
|
||||||
sanitized = sanitized.replace(replacing, htmlsource.replace("watch?v=", "embed/"))
|
sanitized = sanitized.replace(replacing, htmlsource.replace("watch?v=", "embed/"))
|
||||||
|
|
||||||
for i in re.finditer('<a href="(https://streamable.com/e/.*?)"', sanitized):
|
for i in re.finditer('<a href="(https://streamable.com/e/.*?)"', sanitized):
|
||||||
url = i.group(1)
|
url = i.group(1)
|
||||||
replacing = f'<a href="{url}" rel="nofollow noopener noreferrer" target="_blank">{url}</a>'
|
replacing = f'<a href="{url}" rel="nofollow noopener noreferrer" target="_blank">{url}</a>'
|
||||||
htmlsource = f'<iframe class="embedvid" loading="lazy" src="/assets/images/loading.webp" data-src="{url}" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
|
htmlsource = f'<iframe class="embedvid" loading="lazy" src="/assets/images/loading.gif" data-src="{url}" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
|
||||||
sanitized = sanitized.replace(replacing, htmlsource)
|
sanitized = sanitized.replace(replacing, htmlsource)
|
||||||
|
|
||||||
for i in re.finditer('<p>(https:.*?\.mp4)</p>', sanitized):
|
for i in re.finditer('<p>(https:.*?\.mp4)</p>', sanitized):
|
||||||
sanitized = sanitized.replace(i.group(0), f'<p><video controls loop preload="metadata" class="embedvid"><source src="/assets/images/loading.webp" data-src="{i.group(1)}" type="video/mp4"></video>')
|
sanitized = sanitized.replace(i.group(0), f'<p><video controls loop preload="metadata" class="embedvid"><source src="/assets/images/loading.gif" data-src="{i.group(1)}" type="video/mp4"></video>')
|
||||||
|
|
||||||
for i in re.finditer('<a href="(https://open.spotify.com/embed/.*?)"', sanitized):
|
for i in re.finditer('<a href="(https://open.spotify.com/embed/.*?)"', sanitized):
|
||||||
url = i.group(1)
|
url = i.group(1)
|
||||||
replacing = f'<a href="{url}" rel="nofollow noopener noreferrer" target="_blank">{url}</a>'
|
replacing = f'<a href="{url}" rel="nofollow noopener noreferrer" target="_blank">{url}</a>'
|
||||||
htmlsource = f'<iframe src="/assets/images/loading.webp" data-src="{url}" class="spotify" frameBorder="0" allowtransparency="true" allow="encrypted-media"></iframe>'
|
htmlsource = f'<iframe src="/assets/images/loading.gif" data-src="{url}" class="spotify" frameBorder="0" allowtransparency="true" allow="encrypted-media"></iframe>'
|
||||||
sanitized = sanitized.replace(replacing, htmlsource)
|
sanitized = sanitized.replace(replacing, htmlsource)
|
||||||
|
|
||||||
for rd in ["https://reddit.com/", "https://new.reddit.com/", "https://www.reddit.com/", "https://redd.it/"]:
|
for rd in ["https://reddit.com/", "https://new.reddit.com/", "https://www.reddit.com/", "https://redd.it/"]:
|
||||||
|
|
|
@ -207,7 +207,7 @@ def log_item(id, v):
|
||||||
|
|
||||||
@app.get("/assets/favicon.ico")
|
@app.get("/assets/favicon.ico")
|
||||||
def favicon():
|
def favicon():
|
||||||
return send_file(f"./assets/images/{site_name}/icon.webp")
|
return send_file(f"./assets/images/{site_name}/icon.gif")
|
||||||
|
|
||||||
@app.get("/api")
|
@app.get("/api")
|
||||||
@auth_desired
|
@auth_desired
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<img class="in-comment-image rounded-sm my-2" src="/assets/images/loading.webp" data-src="https://media.giphy.com/media/c6Wwc9cT05vMdhyTcM/giphy.webp" loading="lazy" height="100px" rel="nofollow noopener noreferrer" data-placeholder-background="red" style="max-height: 100px; max-width: 100%;">
|
<img class="in-comment-image rounded-sm my-2" src="/assets/images/loading.webp" data-src="https://media.giphy.com/media/c6Wwc9cT05vMdhyTcM/giphy.gif" loading="lazy" height="100px" rel="nofollow noopener noreferrer" data-placeholder-background="red" style="max-height: 100px; max-width: 100%;">
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@
|
||||||
|
|
||||||
<div class="splash-overlay"></div>
|
<div class="splash-overlay"></div>
|
||||||
|
|
||||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.webp"></img>
|
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.gif"></img>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -229,7 +229,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<a {% if v %}href="{{c.author.url}}"{% else %}href="/logged_out{{c.author.url}}"{% endif %} style="color:#{{c.author.namecolor}}; font-size:12px; font-weight:bold;"><img loading="lazy" src="{{c.author.profile_url}}" class="profile-pic-25 mr-2"/><span {% if c.author.patron and not c.distinguish_level %}class="patron" style="background-color:#{{c.author.namecolor}};"{% elif c.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{c.author.username}}</span></a>
|
<a {% if v %}href="{{c.author.url}}"{% else %}href="/logged_out{{c.author.url}}"{% endif %} style="color:#{{c.author.namecolor}}; font-size:12px; font-weight:bold;"><img loading="lazy" src="{{c.author.profile_url}}" class="profile-pic-25 mr-2"/><span {% if c.author.patron and not c.distinguish_level %}class="patron" style="background-color:#{{c.author.namecolor}};"{% elif c.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{c.author.username}}</span></a>
|
||||||
{% if c.author.customtitle %} <bdi style="color: #{{c.author.titlecolor}}"> {% if c.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{c.author.quadrant}}.webp">{% endif %}{{c.author.customtitle | safe}}</bdi>{% endif %}
|
{% if c.author.customtitle %} <bdi style="color: #{{c.author.titlecolor}}"> {% if c.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{c.author.quadrant}}.gif">{% endif %}{{c.author.customtitle | safe}}</bdi>{% endif %}
|
||||||
|
|
||||||
{% if c.parent_comment_id and not standalone and level<=7 %}<a href="#comment-{{ c.parent_comment_id }}-only" class="text-muted ml-2"><i class="fas fa-reply fa-sm fa-fw fa-flip-horizontal mr-1"></i>{{ c.parent_comment.author.username }}</a>{% endif %}
|
{% if c.parent_comment_id and not standalone and level<=7 %}<a href="#comment-{{ c.parent_comment_id }}-only" class="text-muted ml-2"><i class="fas fa-reply fa-sm fa-fw fa-flip-horizontal mr-1"></i>{{ c.parent_comment.author.username }}</a>{% endif %}
|
||||||
|
|
||||||
|
|
|
@ -41,14 +41,14 @@
|
||||||
this.bug&&this.bug.style?{top:parseInt(this.bug.top,10),left:parseInt(this.bug.left,10)}:null}},SpawnBug=function(){var a={},b;for(b in Bug)Bug.hasOwnProperty(b)&&(a[b]=Bug[b]);return a},mergeOptions=function(a,b,c){"undefined"==typeof c&&(c=!0);a=c?cloneOf(a):a;for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);return a},cloneOf=function(a){if(null==a||"object"!=typeof a)return a;var b=a.constructor(),c;for(c in a)a.hasOwnProperty(c)&&(b[c]=cloneOf(a[c]));return b};
|
this.bug&&this.bug.style?{top:parseInt(this.bug.top,10),left:parseInt(this.bug.left,10)}:null}},SpawnBug=function(){var a={},b;for(b in Bug)Bug.hasOwnProperty(b)&&(a[b]=Bug[b]);return a},mergeOptions=function(a,b,c){"undefined"==typeof c&&(c=!0);a=c?cloneOf(a):a;for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);return a},cloneOf=function(a){if(null==a||"object"!=typeof a)return a;var b=a.constructor(),c;for(c in a)a.hasOwnProperty(c)&&(b[c]=cloneOf(a[c]));return b};
|
||||||
window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a,b){window.setTimeout(a,1E3/60)}}();
|
window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a,b){window.setTimeout(a,1E3/60)}}();
|
||||||
new BugController({
|
new BugController({
|
||||||
imageSprite: "/assets/images/fly-sprite.webp",
|
imageSprite: "/assets/images/fly-sprite.gif",
|
||||||
canDie: false,
|
canDie: false,
|
||||||
minBugs: 5,
|
minBugs: 5,
|
||||||
maxBugs: 30,
|
maxBugs: 30,
|
||||||
mouseOver: "fly"
|
mouseOver: "fly"
|
||||||
});
|
});
|
||||||
new SpiderController({
|
new SpiderController({
|
||||||
imageSprite: "/assets/images/spider-sprite.webp",
|
imageSprite: "/assets/images/spider-sprite.gif",
|
||||||
canDie: false,
|
canDie: false,
|
||||||
minBugs: 2,
|
minBugs: 2,
|
||||||
maxBugs: 20,
|
maxBugs: 20,
|
||||||
|
@ -76,16 +76,16 @@
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
|
||||||
<meta name="thumbnail" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp">
|
<meta name="thumbnail" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.gif">
|
||||||
|
|
||||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||||
{% block title %}
|
{% block title %}
|
||||||
<title>{{'SITE_NAME' | app_config}}</title>
|
<title>{{'SITE_NAME' | app_config}}</title>
|
||||||
|
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||||
<meta property="og:site_name" content="{{request.host}}" />
|
<meta property="og:site_name" content="{{request.host}}" />
|
||||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||||
<meta property="og:url" content="{{request.path | full_link}}">
|
<meta property="og:url" content="{{request.path | full_link}}">
|
||||||
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
||||||
<meta property="og:author" name="author" content="@{{request.host_url}}" />
|
<meta property="og:author" name="author" content="@{{request.host_url}}" />
|
||||||
|
@ -96,7 +96,7 @@
|
||||||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||||
<meta name="twitter:creator" content="@{{request.host_url}}">
|
<meta name="twitter:creator" content="@{{request.host_url}}">
|
||||||
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
||||||
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||||
<meta name="twitter:url" content="{{request.path | full_link}}" />
|
<meta name="twitter:url" content="{{request.path | full_link}}" />
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
@ -105,12 +105,12 @@
|
||||||
<meta name="format-detection" content="telephone=no">
|
<meta name="format-detection" content="telephone=no">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
|
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
|
||||||
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
<link rel="apple-touch-icon" sizes="180x180" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||||
<!---<link rel="icon" type="image/png" sizes="32x32" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
<!---<link rel="icon" type="image/png" sizes="32x32" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">--->
|
<link rel="icon" type="image/png" sizes="16x16" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif">--->
|
||||||
<link rel="manifest" href="/assets/manifest.json">
|
<link rel="manifest" href="/assets/manifest.json">
|
||||||
<link rel="mask-icon" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp" color="#{{'DEFAULT_COLOR' | app_config}}">
|
<link rel="mask-icon" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif" color="#{{'DEFAULT_COLOR' | app_config}}">
|
||||||
<link rel="shortcut icon" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
<link rel="shortcut icon" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||||
<meta name="apple-mobile-web-app-title" content="{{'SITE_NAME' | app_config}}">
|
<meta name="apple-mobile-web-app-title" content="{{'SITE_NAME' | app_config}}">
|
||||||
<meta name="application-name" content="{{'SITE_NAME' | app_config}}">
|
<meta name="application-name" content="{{'SITE_NAME' | app_config}}">
|
||||||
<meta name="msapplication-TileColor" content="#{{'DEFAULT_COLOR' | app_config}}">
|
<meta name="msapplication-TileColor" content="#{{'DEFAULT_COLOR' | app_config}}">
|
||||||
|
@ -122,127 +122,127 @@
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="320x480"
|
sizes="320x480"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="640x960"
|
sizes="640x960"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-icon"
|
rel="apple-touch-icon"
|
||||||
sizes="640x1136"
|
sizes="640x1136"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-icon"
|
rel="apple-touch-icon"
|
||||||
sizes="750x1334"
|
sizes="750x1334"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="768x1004"
|
sizes="768x1004"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="768x1024"
|
sizes="768x1024"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="828x1792"
|
sizes="828x1792"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="1024x748"
|
sizes="1024x748"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="1024x768"
|
sizes="1024x768"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="1125x2436"
|
sizes="1125x2436"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="1242x2208"
|
sizes="1242x2208"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="1242x2688"
|
sizes="1242x2688"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="1334x750"
|
sizes="1334x750"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="1536x2008"
|
sizes="1536x2008"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="1536x2048"
|
sizes="1536x2048"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="1668x2224"
|
sizes="1668x2224"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="1792x828"
|
sizes="1792x828"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="2048x1496"
|
sizes="2048x1496"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="2048x1536"
|
sizes="2048x1536"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="2048x2732"
|
sizes="2048x2732"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="2208x1242"
|
sizes="2208x1242"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="2224x1668"
|
sizes="2224x1668"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="2436x1125"
|
sizes="2436x1125"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="2668x1242"
|
sizes="2668x1242"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-startup-image"
|
rel="apple-touch-startup-image"
|
||||||
sizes="2737x2048"
|
sizes="2737x2048"
|
||||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
||||||
|
@ -270,7 +270,7 @@
|
||||||
|
|
||||||
{% if '@' not in request.path %}
|
{% if '@' not in request.path %}
|
||||||
<a rel="nofollow noopener noreferrer" href="{% if 'rama' in request.host %}https://secure.transequality.org/site/Donation2?df_id=1480{% else %}/{% endif %}">
|
<a rel="nofollow noopener noreferrer" href="{% if 'rama' in request.host %}https://secure.transequality.org/site/Donation2?df_id=1480{% else %}/{% endif %}">
|
||||||
<img loading="lazy" style="margin-top: -3px;" src="/assets/images/{{'SITE_NAME' | app_config}}/{% if v %}banner.webp{% else %}cached.webp{% endif %}" width="100%">
|
<img loading="lazy" style="margin-top: -3px;" src="/assets/images/{{'SITE_NAME' | app_config}}/{% if v %}banner.webp{% else %}cached.gif{% endif %}" width="100%">
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
|
@ -10,11 +10,11 @@
|
||||||
<div class="container-fluid" style="padding:0;">
|
<div class="container-fluid" style="padding:0;">
|
||||||
<div class="flex-grow-1">
|
<div class="flex-grow-1">
|
||||||
<a {% if v %}href="/"{% else %}href="/logged_out"{% endif %} class="navbar-brand">
|
<a {% if v %}href="/"{% else %}href="/logged_out"{% endif %} class="navbar-brand">
|
||||||
<img loading="lazy" height="30" src="/assets/images/{{'SITE_NAME' | app_config}}/headericon.webp">
|
<img loading="lazy" height="30" src="/assets/images/{{'SITE_NAME' | app_config}}/headericon.gif">
|
||||||
{% if "gigachadlife" in request.host %}
|
{% if "gigachadlife" in request.host %}
|
||||||
<span style="font-weight: bold; font-size: 20px;">GigaChadLife</span>
|
<span style="font-weight: bold; font-size: 20px;">GigaChadLife</span>
|
||||||
{% else %}
|
{% else %}
|
||||||
<img loading="lazy" src="/assets/images/{{'SITE_NAME' | app_config}}/logo.webp" height="20">
|
<img loading="lazy" src="/assets/images/{{'SITE_NAME' | app_config}}/logo.gif" height="20">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -107,7 +107,7 @@
|
||||||
|
|
||||||
<div class="splash-overlay"></div>
|
<div class="splash-overlay"></div>
|
||||||
|
|
||||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.webp"></img>
|
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.gif"></img>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -92,7 +92,7 @@
|
||||||
|
|
||||||
<div class="splash-overlay"></div>
|
<div class="splash-overlay"></div>
|
||||||
|
|
||||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.webp"></img>
|
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.gif"></img>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="text-center py-7 py-md-8">
|
<div class="text-center py-7 py-md-8">
|
||||||
|
|
||||||
<img loading="lazy" src="/assets/images/ruckus.webp" class="empty-state-img mb-3" alt="success state">
|
<img loading="lazy" src="/assets/images/ruckus.gif" class="empty-state-img mb-3" alt="success state">
|
||||||
<div class="font-weight-bold text-muted mb-4">{{title}}</div>
|
<div class="font-weight-bold text-muted mb-4">{{title}}</div>
|
||||||
<p class="text-muted">{{text}}</p>
|
<p class="text-muted">{{text}}</p>
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
<td style="font-weight:bold;">{{loop.index}}</td>
|
<td style="font-weight:bold;">{{loop.index}}</td>
|
||||||
<td><a style="color:#{{row['namecolor']}}; font-weight:bold;" href="/@{{row['username']}}"><img loading="lazy" src="/uid/{{uid}}/pic/profile" class="profile-pic-20 mr-1"><span {% if row['patron'] %}class="patron" style="background-color:#{{row['namecolor']}};"{% endif %}>{{row['username']}}</span></a></td>
|
<td><a style="color:#{{row['namecolor']}}; font-weight:bold;" href="/@{{row['username']}}"><img loading="lazy" src="/uid/{{uid}}/pic/profile" class="profile-pic-20 mr-1"><span {% if row['patron'] %}class="patron" style="background-color:#{{row['namecolor']}};"{% endif %}>{{row['username']}}</span></a></td>
|
||||||
|
|
||||||
<td><img loading="lazy" style="width: 32px; height: 32px" src="/assets/images/badges/patron-{{row['patron']}}.webp"></td>
|
<td><img loading="lazy" style="width: 32px; height: 32px" src="/assets/images/badges/patron-{{row['patron']}}.gif"></td>
|
||||||
|
|
||||||
<td style="font-weight:bold;">
|
<td style="font-weight:bold;">
|
||||||
{% for (a,count) in row['awards'].values() %}
|
{% for (a,count) in row['awards'].values() %}
|
||||||
|
|
|
@ -32,13 +32,13 @@
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
|
|
||||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||||
|
|
||||||
<title>{% block pagetitle %}Settings - {{'SITE_NAME' | app_config}}{% endblock %}</title>
|
<title>{% block pagetitle %}Settings - {{'SITE_NAME' | app_config}}{% endblock %}</title>
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||||
<meta property="og:site_name" content="{{request.host}}" />
|
<meta property="og:site_name" content="{{request.host}}" />
|
||||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||||
<meta property="og:url" content="{{request.host}}">
|
<meta property="og:url" content="{{request.host}}">
|
||||||
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
||||||
<meta property="og:author" name="author" content="@{{request.host_url}}" />
|
<meta property="og:author" name="author" content="@{{request.host_url}}" />
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||||
<meta name="twitter:creator" content="@{{request.host_url}}">
|
<meta name="twitter:creator" content="@{{request.host_url}}">
|
||||||
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
||||||
<meta name="twitter:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
<meta name="twitter:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||||
<meta name="twitter:url" content="{{request.host}}" />
|
<meta name="twitter:url" content="{{request.host}}" />
|
||||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
|
||||||
|
|
||||||
|
|
|
@ -11,13 +11,13 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<meta name="thumbnail" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp">
|
<meta name="thumbnail" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.gif">
|
||||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||||
|
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||||
<meta property="og:site_name" content="{{request.host}}" />
|
<meta property="og:site_name" content="{{request.host}}" />
|
||||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||||
<meta property="og:url" content="{{request.path | full_link}}">
|
<meta property="og:url" content="{{request.path | full_link}}">
|
||||||
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
||||||
<meta property="og:author" name="author" content="{{request.host_url}}" />
|
<meta property="og:author" name="author" content="{{request.host_url}}" />
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||||
<meta name="twitter:creator" content="{{request.host_url}}">
|
<meta name="twitter:creator" content="{{request.host_url}}">
|
||||||
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
||||||
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||||
<meta name="twitter:url" content="{{request.path | full_link}}" />
|
<meta name="twitter:url" content="{{request.path | full_link}}" />
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||||
<meta property="og:site_name" content="{{request.host}}" />
|
<meta property="og:site_name" content="{{request.host}}" />
|
||||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||||
<meta property="og:url" content="{{request.host}}">
|
<meta property="og:url" content="{{request.host}}">
|
||||||
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
||||||
<meta property="og:author" name="author" content="{{request.host_url}}" />
|
<meta property="og:author" name="author" content="{{request.host_url}}" />
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||||
<meta name="twitter:creator" content="{{request.host_url}}">
|
<meta name="twitter:creator" content="{{request.host_url}}">
|
||||||
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
||||||
<meta name="twitter:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
<meta name="twitter:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||||
<meta name="twitter:url" content="{{request.host}}" />
|
<meta name="twitter:url" content="{{request.host}}" />
|
||||||
|
|
||||||
<title>{% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}Sign up - {{'SITE_NAME' | app_config}}{% endif %}</title>
|
<title>{% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}Sign up - {{'SITE_NAME' | app_config}}{% endif %}</title>
|
||||||
|
@ -154,7 +154,7 @@
|
||||||
|
|
||||||
<div class="splash-overlay"></div>
|
<div class="splash-overlay"></div>
|
||||||
|
|
||||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.webp"></img>
|
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.gif"></img>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||||
<meta property="og:site_name" content="{{request.host}}" />
|
<meta property="og:site_name" content="{{request.host}}" />
|
||||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||||
<meta property="og:url" content="{{request.host}}">
|
<meta property="og:url" content="{{request.host}}">
|
||||||
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
||||||
<meta property="og:author" name="author" content="{{request.host_url}}" />
|
<meta property="og:author" name="author" content="{{request.host_url}}" />
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||||
<meta name="twitter:creator" content="{{request.host_url}}">
|
<meta name="twitter:creator" content="{{request.host_url}}">
|
||||||
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
||||||
<meta name="twitter:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
<meta name="twitter:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||||
<meta name="twitter:url" content="{{request.host}}" />
|
<meta name="twitter:url" content="{{request.host}}" />
|
||||||
|
|
||||||
<title>{% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}{{'SITE_NAME' | app_config}}{% endif %}</title>
|
<title>{% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}{{'SITE_NAME' | app_config}}{% endif %}</title>
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
|
|
||||||
<div class="splash-overlay"></div>
|
<div class="splash-overlay"></div>
|
||||||
|
|
||||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.webp"></img>
|
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.gif"></img>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -70,7 +70,7 @@
|
||||||
{% set maxbugs = 20*p.award_count("shit") if p.award_count("shit") < 3 else 40 %}
|
{% set maxbugs = 20*p.award_count("shit") if p.award_count("shit") < 3 else 40 %}
|
||||||
<script>
|
<script>
|
||||||
new BugController({
|
new BugController({
|
||||||
imageSprite: "/assets/images/fly-sprite.webp",
|
imageSprite: "/assets/images/fly-sprite.gif",
|
||||||
canDie: false,
|
canDie: false,
|
||||||
minBugs: {{minbugs}},
|
minBugs: {{minbugs}},
|
||||||
maxBugs: {{maxbugs}},
|
maxBugs: {{maxbugs}},
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
{% set maxbugs = 20*p.award_count("fireflies") if p.award_count("fireflies") < 3 else 40 %}
|
{% set maxbugs = 20*p.award_count("fireflies") if p.award_count("fireflies") < 3 else 40 %}
|
||||||
<script>
|
<script>
|
||||||
new BugController({
|
new BugController({
|
||||||
imageSprite: "/assets/images/fireflies.webp",
|
imageSprite: "/assets/images/fireflies.gif",
|
||||||
canDie: false,
|
canDie: false,
|
||||||
minBugs: {{minbugs}},
|
minBugs: {{minbugs}},
|
||||||
maxBugs: {{maxbugs}},
|
maxBugs: {{maxbugs}},
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
<meta property="og:description" name="description" content="{{comment_info.plainbody(v)}}" />
|
<meta property="og:description" name="description" content="{{comment_info.plainbody(v)}}" />
|
||||||
<meta property="og:author" name="author" content="{{'@'+comment_info.author.username}}" />
|
<meta property="og:author" name="author" content="{{'@'+comment_info.author.username}}" />
|
||||||
<meta property="og:title" content="{{'@'+comment_info.author.username}} comments on {{p.plaintitle(v)}} - {{'SITE_NAME' | app_config}}" />
|
<meta property="og:title" content="{{'@'+comment_info.author.username}} comments on {{p.plaintitle(v)}} - {{'SITE_NAME' | app_config}}" />
|
||||||
<meta property="og:image" content="{% if p.is_image %}{{p.realurl(v)}}{% elif p.has_thumb%}{{p.thumb_url}}{% else %}{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp{% endif %}" />
|
<meta property="og:image" content="{% if p.is_image %}{{p.realurl(v)}}{% elif p.has_thumb%}{{p.thumb_url}}{% else %}{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif{% endif %}" />
|
||||||
{% if p.url and p.url.lower().endswith('.mp4') %}
|
{% if p.url and p.url.lower().endswith('.mp4') %}
|
||||||
<meta property="og:video" content="{{ p.realurl(v) }}" />
|
<meta property="og:video" content="{{ p.realurl(v) }}" />
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -121,7 +121,7 @@
|
||||||
<meta name="twitter:title" content="{{'@'+comment_info.author.username}} comments on {{p.plaintitle(v)}} - {{'SITE_NAME' | app_config}}" />
|
<meta name="twitter:title" content="{{'@'+comment_info.author.username}} comments on {{p.plaintitle(v)}} - {{'SITE_NAME' | app_config}}" />
|
||||||
<meta name="twitter:creator" content="{{'@'+comment_info.author.username}}">
|
<meta name="twitter:creator" content="{{'@'+comment_info.author.username}}">
|
||||||
<meta name="twitter:description" content="{{comment_info.plainbody(v)}}" />
|
<meta name="twitter:description" content="{{comment_info.plainbody(v)}}" />
|
||||||
<meta name="twitter:image" content="{% if p.is_image %}{{p.realurl(v)}}{% elif p.has_thumb%}{{p.thumb_url}}{% else %}{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp{% endif %}" />
|
<meta name="twitter:image" content="{% if p.is_image %}{{p.realurl(v)}}{% elif p.has_thumb%}{{p.thumb_url}}{% else %}{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif{% endif %}" />
|
||||||
<meta name="twitter:url" content="{{p.permalink | full_link}}" />
|
<meta name="twitter:url" content="{{p.permalink | full_link}}" />
|
||||||
|
|
||||||
{% if linked_comment.author.is_private %}
|
{% if linked_comment.author.is_private %}
|
||||||
|
@ -138,7 +138,7 @@
|
||||||
<meta property="og:description" name="description" content="{{p.plainbody(v)}}" />
|
<meta property="og:description" name="description" content="{{p.plainbody(v)}}" />
|
||||||
<meta property="og:author" name="author" content="{{'@'+p.author.username}}" />
|
<meta property="og:author" name="author" content="{{'@'+p.author.username}}" />
|
||||||
<meta property="og:title" content="{{p.plaintitle(v)}} - {{'SITE_NAME' | app_config}}" />
|
<meta property="og:title" content="{{p.plaintitle(v)}} - {{'SITE_NAME' | app_config}}" />
|
||||||
<meta property="og:image" content="{% if p.is_image %}{{p.realurl(v)}}{% elif p.has_thumb%}{{p.thumb_url}}{% else %}{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp{% endif %}" />
|
<meta property="og:image" content="{% if p.is_image %}{{p.realurl(v)}}{% elif p.has_thumb%}{{p.thumb_url}}{% else %}{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif{% endif %}" />
|
||||||
{% if p.url and p.url.lower().endswith('.mp4') %}
|
{% if p.url and p.url.lower().endswith('.mp4') %}
|
||||||
<meta property="og:video" content="{{ p.realurl(v) }}" />
|
<meta property="og:video" content="{{ p.realurl(v) }}" />
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -150,7 +150,7 @@
|
||||||
<meta name="twitter:title" content="{{p.plaintitle(v)}} - {{'SITE_NAME' | app_config}}" />
|
<meta name="twitter:title" content="{{p.plaintitle(v)}} - {{'SITE_NAME' | app_config}}" />
|
||||||
<meta name="twitter:creator" content="{{'@'+p.author.username}}">
|
<meta name="twitter:creator" content="{{'@'+p.author.username}}">
|
||||||
<meta name="twitter:description" content="{{p.plainbody(v)}}" />
|
<meta name="twitter:description" content="{{p.plainbody(v)}}" />
|
||||||
<meta name="twitter:image" content="{% if p.is_image %}{{p.realurl(v)}}{% elif p.has_thumb %}{{p.thumb_url}}{% else %}{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp{% endif %}" />
|
<meta name="twitter:image" content="{% if p.is_image %}{{p.realurl(v)}}{% elif p.has_thumb %}{{p.thumb_url}}{% else %}{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif{% endif %}" />
|
||||||
<meta name="twitter:url" content="{{p.permalink | full_link}}" />
|
<meta name="twitter:url" content="{{p.permalink | full_link}}" />
|
||||||
|
|
||||||
{% if p.author.is_private %}
|
{% if p.author.is_private %}
|
||||||
|
@ -300,7 +300,7 @@
|
||||||
{% if p.active_flags %}<a class="btn btn-primary" href="javascript:void(0)" style="padding:1px 5px; font-size:10px;" onclick="document.getElementById('flaggers').classList.toggle('d-none')">{{p.active_flags}} Reports</a>{% endif %}
|
{% if p.active_flags %}<a class="btn btn-primary" href="javascript:void(0)" style="padding:1px 5px; font-size:10px;" onclick="document.getElementById('flaggers').classList.toggle('d-none')">{{p.active_flags}} Reports</a>{% endif %}
|
||||||
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if p.author.id == 541 %}#62ca56{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if p.author.id == 541 %}#62ca56{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a {% if v %}href="{{p.author.url}}"{% else %}href="/logged_out{{p.author.url}}"{% endif %} style="color: #{{p.author.namecolor}}; font-weight: bold;" class="user-name"><img loading="lazy" src="{{p.author.profile_url}}" class="profile-pic-25 mr-2"/><span {% if p.author.patron and not p.distinguish_level %}class="patron" style="background-color:#{{p.author.namecolor}};"{% elif p.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{p.author.username}}</span></a>{% if p.author.customtitle %} <bdi style="color: #{{p.author.titlecolor}}"> {% if p.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{p.author.quadrant}}.webp">{% endif %}{{p.author.customtitle | safe}}</bdi>{% endif %}
|
<a {% if v %}href="{{p.author.url}}"{% else %}href="/logged_out{{p.author.url}}"{% endif %} style="color: #{{p.author.namecolor}}; font-weight: bold;" class="user-name"><img loading="lazy" src="{{p.author.profile_url}}" class="profile-pic-25 mr-2"/><span {% if p.author.patron and not p.distinguish_level %}class="patron" style="background-color:#{{p.author.namecolor}};"{% elif p.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{p.author.username}}</span></a>{% if p.author.customtitle %} <bdi style="color: #{{p.author.titlecolor}}"> {% if p.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{p.author.quadrant}}.gif">{% endif %}{{p.author.customtitle | safe}}</bdi>{% endif %}
|
||||||
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp"> {{p.age_string}}</span>
|
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp"> {{p.age_string}}</span>
|
||||||
({% if p.realurl(v) %}<a href="/search/posts/?q=domain%3A{{p.domain}}&sort=new&t=all" {% if not v or v.newtabexternal %}target="_blank"{% endif %}>{{p.domain}}</a>{% else %}text post{% endif %})
|
({% if p.realurl(v) %}<a href="/search/posts/?q=domain%3A{{p.domain}}&sort=new&t=all" {% if not v or v.newtabexternal %}target="_blank"{% endif %}>{{p.domain}}</a>{% else %}text post{% endif %})
|
||||||
|
|
||||||
|
|
|
@ -140,7 +140,7 @@
|
||||||
{% if p.active_flags %}<a class="btn btn-primary" href="javascript:void(0)" style="padding:1px 5px; font-size:10px;" onclick="document.getElementById('flaggers-{{p.id}}').classList.toggle('d-none')">{{p.active_flags}} Reports</a>{% endif %}
|
{% if p.active_flags %}<a class="btn btn-primary" href="javascript:void(0)" style="padding:1px 5px; font-size:10px;" onclick="document.getElementById('flaggers-{{p.id}}').classList.toggle('d-none')">{{p.active_flags}} Reports</a>{% endif %}
|
||||||
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if p.author.id == 541 %}#62ca56{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
{% if p.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:{% if p.author.id == 541 %}#62ca56{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{p.author.verified}}"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a {% if v %}href="{{p.author.url}}"{% else %}href="/logged_out{{p.author.url}}"{% endif %} style="color: #{{p.author.namecolor}}; font-weight: bold;" class="user-name"><img loading="lazy" src="{{p.author.profile_url}}" class="profile-pic-25 mr-2"/><span {% if p.author.patron and not p.distinguish_level %}class="patron" style="background-color:#{{p.author.namecolor}};"{% elif p.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{p.author.username}}</span></a>{% if p.author.customtitle %}<bdi style="color: #{{p.author.titlecolor}}"> {% if p.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{p.author.quadrant}}.webp">{% endif %}{{p.author.customtitle | safe}}</bdi>{% endif %}
|
<a {% if v %}href="{{p.author.url}}"{% else %}href="/logged_out{{p.author.url}}"{% endif %} style="color: #{{p.author.namecolor}}; font-weight: bold;" class="user-name"><img loading="lazy" src="{{p.author.profile_url}}" class="profile-pic-25 mr-2"/><span {% if p.author.patron and not p.distinguish_level %}class="patron" style="background-color:#{{p.author.namecolor}};"{% elif p.distinguish_level and 'rama' in request.host %}class="mod"{% endif %}>{{p.author.username}}</span></a>{% if p.author.customtitle %}<bdi style="color: #{{p.author.titlecolor}}"> {% if p.author.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{p.author.quadrant}}.gif">{% endif %}{{p.author.customtitle | safe}}</bdi>{% endif %}
|
||||||
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp-{{p.id}}"> {{p.age_string}}</span>
|
<span data-bs-toggle="tooltip" data-bs-placement="bottom" id="timestamp-{{p.id}}"> {{p.age_string}}</span>
|
||||||
|
|
||||||
({% if p.realurl(v) %}<a href="/search/posts/?q=domain%3A{{p.domain}}&sort=new&t=all" target="_blank">{{p.domain}}</a>{% else %}text post{% endif %})
|
({% if p.realurl(v) %}<a href="/search/posts/?q=domain%3A{{p.domain}}&sort=new&t=all" target="_blank">{{p.domain}}</a>{% else %}text post{% endif %})
|
||||||
|
@ -436,7 +436,7 @@
|
||||||
{% if p.is_image and not p.over_18 and ((v and v.cardview) or (not v and environ.get('CARD_VIEW') == '1')) %}
|
{% if p.is_image and not p.over_18 and ((v and v.cardview) or (not v and environ.get('CARD_VIEW') == '1')) %}
|
||||||
<div style="text-align: center" class="mt-3 mb-4">
|
<div style="text-align: center" class="mt-3 mb-4">
|
||||||
<a target="_blank" rel="nofollow noopener noreferrer" href="{{p.url}}">
|
<a target="_blank" rel="nofollow noopener noreferrer" href="{{p.url}}">
|
||||||
<img loading="lazy" src="/assets/images/loading.webp" data-src="{{p.url}}" class="img-fluid" style="max-height:500px;" alt="Unable to load image">
|
<img loading="lazy" src="/assets/images/loading.gif" data-src="{{p.url}}" class="img-fluid" style="max-height:500px;" alt="Unable to load image">
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -444,16 +444,16 @@
|
||||||
{% if p.url and p.url.lower().endswith('.mp4') %}
|
{% if p.url and p.url.lower().endswith('.mp4') %}
|
||||||
<div id="video-{{p.id}}" style="text-align: center" class="{% if p.over_18 or not ((v and v.cardview) or (not v and environ.get('CARD_VIEW') == '1')) %}d-none{% endif %} mt-4">
|
<div id="video-{{p.id}}" style="text-align: center" class="{% if p.over_18 or not ((v and v.cardview) or (not v and environ.get('CARD_VIEW') == '1')) %}d-none{% endif %} mt-4">
|
||||||
<video controls loop preload="metadata" style="max-width: 100%">
|
<video controls loop preload="metadata" style="max-width: 100%">
|
||||||
<source src="/assets/images/loading.webp" data-src="{{p.realurl(v)}}" type="video/mp4">
|
<source src="/assets/images/loading.gif" data-src="{{p.realurl(v)}}" type="video/mp4">
|
||||||
</video>
|
</video>
|
||||||
</div>
|
</div>
|
||||||
{% elif p.embed_url and "youtu" in p.domain %}
|
{% elif p.embed_url and "youtu" in p.domain %}
|
||||||
<div id="video-{{p.id}}" style="text-align: center" class="{% if p.over_18 or not ((v and v.cardview) or (not v and environ.get('CARD_VIEW') == '1')) %}d-none{% endif %} mt-3 mb-4">
|
<div id="video-{{p.id}}" style="text-align: center" class="{% if p.over_18 or not ((v and v.cardview) or (not v and environ.get('CARD_VIEW') == '1')) %}d-none{% endif %} mt-3 mb-4">
|
||||||
<iframe loading="lazy" src="/assets/images/loading.webp" data-src="{{p.embed_url}}" frameborder="0" style="max-width: 100%" width="600" height="337" allow="fullscreen"></iframe>
|
<iframe loading="lazy" src="/assets/images/loading.gif" data-src="{{p.embed_url}}" frameborder="0" style="max-width: 100%" width="600" height="337" allow="fullscreen"></iframe>
|
||||||
</div>
|
</div>
|
||||||
{% elif p.url and "streamable.com/e/" in p.url %}
|
{% elif p.url and "streamable.com/e/" in p.url %}
|
||||||
<div id="video-{{p.id}}" style="text-align: center" class="{% if p.over_18 or not ((v and v.cardview) or (not v and environ.get('CARD_VIEW') == '1')) %}d-none{% endif %} mt-3 mb-4">
|
<div id="video-{{p.id}}" style="text-align: center" class="{% if p.over_18 or not ((v and v.cardview) or (not v and environ.get('CARD_VIEW') == '1')) %}d-none{% endif %} mt-3 mb-4">
|
||||||
<iframe loading="lazy" src="/assets/images/loading.webp" data-src="{{p.url}}" frameborder="0" style="max-width: 100%" width="600" height="337" allow="fullscreen"></iframe>
|
<iframe loading="lazy" src="/assets/images/loading.gif" data-src="{{p.url}}" frameborder="0" style="max-width: 100%" width="600" height="337" allow="fullscreen"></iframe>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||||
|
|
||||||
{% include "emoji_modal.html" %}
|
{% include "emoji_modal.html" %}
|
||||||
{% include "gif_modal.html" %}
|
{% include "gif_modal.html" %}
|
||||||
|
|
|
@ -125,7 +125,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if u.customtitle %}<p class="font-weight-bolder" style="color: #{{u.titlecolor}}">{% if u.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{u.quadrant}}.webp">{% endif %}{{u.customtitle | safe}}</p>{% endif %}
|
{% if u.customtitle %}<p class="font-weight-bolder" style="color: #{{u.titlecolor}}">{% if u.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{u.quadrant}}.gif">{% endif %}{{u.customtitle | safe}}</p>{% endif %}
|
||||||
<div class="font-weight-bolder">
|
<div class="font-weight-bolder">
|
||||||
<span id="profile-coins-amount">{{u.coins}}</span>
|
<span id="profile-coins-amount">{{u.coins}}</span>
|
||||||
<img class="ml-1 mb-1" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{'COINS_NAME' | app_config}}" height="20" src="/assets/images/emojis/marseycoin.webp">
|
<img class="ml-1 mb-1" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{'COINS_NAME' | app_config}}" height="20" src="/assets/images/emojis/marseycoin.webp">
|
||||||
|
@ -381,7 +381,7 @@
|
||||||
{% if v and v.has_follower(u) and not v.is_nofollow %}
|
{% if v and v.has_follower(u) and not v.is_nofollow %}
|
||||||
<span class="followsyou text-primary badge badge-secondary text-small align-middle mx-1">Follows you</span>
|
<span class="followsyou text-primary badge badge-secondary text-small align-middle mx-1">Follows you</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if u.customtitle %}<p style="color: #{{u.titlecolor}}">{% if u.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{u.quadrant}}.webp">{% endif %}{{u.customtitle | safe}}</p>{% endif %}
|
{% if u.customtitle %}<p style="color: #{{u.titlecolor}}">{% if u.quadrant %}<img loading="lazy" height="20" src="/assets/images/PCM/quadrants/{{u.quadrant}}.gif">{% endif %}{{u.customtitle | safe}}</p>{% endif %}
|
||||||
<div class="font-weight-normal">
|
<div class="font-weight-normal">
|
||||||
<span id="profile-coins-amount-mobile" class="font-weight-bold">{{u.coins}}</span>
|
<span id="profile-coins-amount-mobile" class="font-weight-bold">{{u.coins}}</span>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue