use SITE_FULL_IMAGES whenever u possibly can

master
Aevann 2023-07-22 19:24:16 +03:00
parent 6f6c59e7b3
commit 988a14f187
33 changed files with 66 additions and 63 deletions

View File

@ -4097,7 +4097,7 @@ small, .small {
width: 28px; width: 28px;
height: 28px; height: 28px;
} }
.profile-pic-20, .pp20, img[src^="/uid/"], img[src^="/pp/"]:not(img[alt^=":"]) { .profile-pic-20, .pp20, img[src*="/uid/"], img[src*="/pp/"]:not(img[alt^=":"]) {
margin-right: 0.25rem !important; margin-right: 0.25rem !important;
width: 20px; width: 20px;
height: 20px; height: 20px;
@ -5397,7 +5397,7 @@ textarea {
} }
} }
.in-comment-image, .img, img[alt^="![]("], .in-comment-image, .img, img[alt^="![]("],
.preview img:not(img[src*="/uid/"], img[src*="/pp/"], img[src$="/pic"], img[src="/i/hand.webp"], img[src*="/e/"]) { .preview img:not(img[src*="/uid/"], img[src*="/pp/"], img[src$="/pic"], img[src$="/i/hand.webp"], img[src*="/e/"]) {
max-height: 150px !important; max-height: 150px !important;
max-width: 100% !important; max-width: 100% !important;
border-radius: 0.2rem !important; border-radius: 0.2rem !important;
@ -5527,21 +5527,21 @@ span[data-bs-toggle], .pat-preview {
position: relative; position: relative;
display: inline-block; display: inline-block;
} }
img[src="/i/hand.webp"] { img[src$="/i/hand.webp"] {
position: absolute; position: absolute;
width: 90%; width: 90%;
height: 90%; height: 90%;
margin-top: -10%; margin-top: -10%;
z-index: 1; z-index: 1;
} }
img[src="/i/hand.webp"]+img { img[src$="/i/hand.webp"]+img {
animation: pat-pfp-anim 0.3s infinite; animation: pat-pfp-anim 0.3s infinite;
transform-origin: bottom center; transform-origin: bottom center;
margin-top: 10%; margin-top: 10%;
text-align: center; text-align: center;
object-fit: contain; object-fit: contain;
} }
img[src="/i/hand.webp"]+img[src^="/pp/"], img[src="/i/hand.webp"]+img[src$="/pic"] { img[src$="/i/hand.webp"]+img[src*="/pp/"], img[src$="/i/hand.webp"]+img[src$="/pic"] {
border-radius: 50%; border-radius: 50%;
} }
@keyframes pat-pfp-anim { @keyframes pat-pfp-anim {
@ -5688,8 +5688,8 @@ img.golden, img[g]:not([data-src]) {
animation: golden 1s infinite alternate linear; animation: golden 1s infinite alternate linear;
} }
img[src="/i/hand.webp"]+img[g]:not([data-src]), img[src$="/i/hand.webp"]+img[g]:not([data-src]),
img[src="/i/hand.webp"]+img.golden { img[src$="/i/hand.webp"]+img.golden {
animation: golden 1s infinite alternate linear, animation: golden 1s infinite alternate linear,
pat-pfp-anim .3s infinite; pat-pfp-anim .3s infinite;
} }
@ -5703,7 +5703,7 @@ img[glow]:not([data-src]) {
animation: glowing 1s infinite alternate linear; animation: glowing 1s infinite alternate linear;
} }
img[src="/i/hand.webp"]+img[glow]:not([data-src]) { img[src$="/i/hand.webp"]+img[glow]:not([data-src]) {
animation: glowing 1s infinite alternate linear, animation: glowing 1s infinite alternate linear,
pat-pfp-anim .3s infinite; pat-pfp-anim .3s infinite;
} }
@ -7547,7 +7547,7 @@ th.disable-sort-click[disabled] {
overflow: visible overflow: visible
} }
img[src="/e/marseycursor.webp"] { img[src$="/e/marseycursor.webp"] {
width: 29px !important; width: 29px !important;
height: 29px !important; height: 29px !important;
image-rendering: pixelated; image-rendering: pixelated;

View File

@ -209,7 +209,7 @@ function formatNormalizedBets(bets) {
function buildPokerChip(avatar) { function buildPokerChip(avatar) {
return ` return `
<div class="roulette-poker-chip"> <div class="roulette-poker-chip">
<img loading="lazy" src="/i/pokerchip.webp" width="40" height="40"> <img loading="lazy" src="${SITE_FULL_IMAGES}/i/pokerchip.webp" width="40" height="40">
<img loading="lazy" src="${avatar}" width="40" height="40"> <img loading="lazy" src="${avatar}" width="40" height="40">
</div> </div>
`; `;
@ -221,7 +221,7 @@ function buildRouletteBets(bets) {
const normalizedBets = formatNormalizedBets(bets); const normalizedBets = formatNormalizedBets(bets);
const coinImgHtml = ` const coinImgHtml = `
<img <img
src="/i/rDrama/coins.webp?x=6" src="${SITE_FULL_IMAGES}/i/rDrama/coins.webp?x=6"
alt="coin" alt="coin"
width="32" width="32"
data-bs-toggle="tooltip" data-bs-toggle="tooltip"
@ -230,7 +230,7 @@ function buildRouletteBets(bets) {
`; `;
const marseybuxImgHtml = ` const marseybuxImgHtml = `
<img <img
src="/i/marseybux.webp?x=6" src="${SITE_FULL_IMAGES}/i/marseybux.webp?x=6"
alt="marseybux" alt="marseybux"
data-bs-toggle="tooltip" data-bs-toggle="tooltip"
data-bs-placement="bottom" data-bs-placement="bottom"

View File

@ -213,7 +213,7 @@ socket.on('online', function(data){
online += `<li>` online += `<li>`
if (admin_level && Object.keys(data[1]).includes(u[0].toLowerCase())) if (admin_level && Object.keys(data[1]).includes(u[0].toLowerCase()))
online += '<b class="text-danger muted" data-bs-toggle="tooltip" title="Muted">X</b> ' online += '<b class="text-danger muted" data-bs-toggle="tooltip" title="Muted">X</b> '
online += `<a class="font-weight-bold" target="_blank" href="/@${u[0]}" style="color:#${u[2]}"><img loading="lazy" class="mr-1" src="/pp/${u[1]}">${u[0]}</a></li>` online += `<a class="font-weight-bold" target="_blank" href="/@${u[0]}" style="color:#${u[2]}"><img loading="lazy" class="mr-1" src="${SITE_FULL_IMAGES}/pp/${u[1]}">${u[0]}</a></li>`
online2 += `<br>@${u[0]}` online2 += `<br>@${u[0]}`
} }
document.getElementById('online').innerHTML = online document.getElementById('online').innerHTML = online

View File

@ -1,3 +1,5 @@
const SITE_FULL_IMAGES = document.getElementById('SITE_FULL_IMAGES').value
function getMessageFromJsonData(success, json) { function getMessageFromJsonData(success, json) {
let message = success ? "Success!" : "Error, please try again later"; let message = success ? "Success!" : "Error, please try again later";
let key = success ? "message" : "error"; let key = success ? "message" : "error";

View File

@ -21,7 +21,7 @@ marked.use({
}, },
renderer(token) { renderer(token) {
const u = token.raw; const u = token.raw;
return `<a href="/${u}"><img loading="lazy" src="/${u}/pic" class="pp20"> ${u}</a>`; return `<a href="/${u}"><img loading="lazy" src="${SITE_FULL_IMAGES}/${u}/pic" class="pp20"> ${u}</a>`;
} }
}, },
{ {
@ -102,9 +102,9 @@ function markdown(t) {
if (emoji.endsWith('pat') && emoji != 'marseyunpettablepat') { if (emoji.endsWith('pat') && emoji != 'marseyunpettablepat') {
emoji = emoji.substr(0, emoji.length - 3); emoji = emoji.substr(0, emoji.length - 3);
const url = old.indexOf('@') != -1 ? `/@${emoji}/pic` : `/e/${emoji}.webp`; const url = old.indexOf('@') != -1 ? `/@${emoji}/pic` : `/e/${emoji}.webp`;
input = input.replace(old, `<span class="pat-preview ${mirroredClass}" data-bs-toggle="tooltip"><img loading="lazy" src="/i/hand.webp"><img loading="lazy" class="${emojiClass}" src="${url}"></span>`); input = input.replace(old, `<span class="pat-preview ${mirroredClass}" data-bs-toggle="tooltip"><img loading="lazy" src="${SITE_FULL_IMAGES}/i/hand.webp"><img loading="lazy" class="${emojiClass}" src="${url}"></span>`);
} else { } else {
input = input.replace(old, `<img loading="lazy" class="${emojiClass} ${mirroredClass}" src="/e/${emoji}.webp">`); input = input.replace(old, `<img loading="lazy" class="${emojiClass} ${mirroredClass}" src="${SITE_FULL_IMAGES}/e/${emoji}.webp">`);
} }
} }
} }

View File

@ -89,7 +89,7 @@ function updatebgselection(){
let bgsDir = backgrounds[bgselector.selectedIndex].folder; let bgsDir = backgrounds[bgselector.selectedIndex].folder;
for (i=0; i < bgsToDisplay.length; i++) { for (i=0; i < bgsToDisplay.length; i++) {
let onclickPost = bgsDir + "/" + bgsToDisplay[i]; let onclickPost = bgsDir + "/" + bgsToDisplay[i];
str += `<button class="btn btn-secondary bg-button"><img loading="lazy" class='bg-image' src="/i/backgrounds/${bgsDir}/${bgsToDisplay[i]}?x=6" alt="${bgsToDisplay[i]}-background" data-nonce="${nonce}" data-onclick="post('/settings/personal?background=${onclickPost}')"></button>`; str += `<button class="btn btn-secondary bg-button"><img loading="lazy" class='bg-image' src="${SITE_FULL_IMAGES}/i/backgrounds/${bgsDir}/${bgsToDisplay[i]}?x=6" alt="${bgsToDisplay[i]}-background" data-nonce="${nonce}" data-onclick="post('/settings/personal?background=${onclickPost}')"></button>`;
} }
bgContainer.innerHTML = str; bgContainer.innerHTML = str;

View File

@ -374,7 +374,7 @@ class Comment(Base):
if not body: return "" if not body: return ""
if not (self.parent_post and self.post.sub == 'chudrama'): if not (self.parent_post and self.post.sub == 'chudrama'):
body = censor_slurs(body, v).replace('<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="/e/marseytrain.webp">', ':marseytrain:') body = censor_slurs(body, v).replace(f'<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="{SITE_FULL_IMAGES}/e/marseytrain.webp">', ':marseytrain:')
return body return body

View File

@ -323,7 +323,7 @@ class Post(Base):
if not body: return "" if not body: return ""
if self.sub != 'chudrama': if self.sub != 'chudrama':
body = censor_slurs(body, v).replace('<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="/e/marseytrain.webp">', ':marseytrain:') body = censor_slurs(body, v).replace(f'<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="{SITE_FULL_IMAGES}/e/marseytrain.webp">', ':marseytrain:')
body = normalize_urls_runtime(body, v) body = normalize_urls_runtime(body, v)
@ -343,7 +343,7 @@ class Post(Base):
title = self.title title = self.title
if self.sub != 'chudrama': if self.sub != 'chudrama':
title = censor_slurs(title, v).replace('<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="/e/marseytrain.webp">', ':marseytrain:') title = censor_slurs(title, v).replace(f'<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="{SITE_FULL_IMAGES}/e/marseytrain.webp">', ':marseytrain:')
return title return title

View File

@ -573,9 +573,9 @@ class User(Base):
def bio_html_eager(self): def bio_html_eager(self):
if self.bio_html == None: return '' if self.bio_html == None: return ''
return self.bio_html.replace('data-src', 'src') \ return self.bio_html.replace('data-src', 'src') \
.replace('src="/i/loading.webp?x=6"', '') \ .replace(f'src="{SITE_FULL_IMAGES}/i/loading.webp?x=6"', '') \
.replace('src="/i/loading.webp"', '') \ .replace(f'src="{SITE_FULL_IMAGES}/i/loading.webp"', '') \
.replace('src="/i/l.webp"', '') .replace(f'src="{SITE_FULL_IMAGES}/i/l.webp"', '')
@property @property
@lazy @lazy

View File

@ -130,10 +130,10 @@ SLURS = {
"fag": "strag", "fag": "strag",
"(?<![a-z])spic(?![a-z])": "hard-working American", "(?<![a-z])spic(?![a-z])": "hard-working American",
"(?<![a-z])spics(?![a-z])": "hard-working Americans", "(?<![a-z])spics(?![a-z])": "hard-working Americans",
"trannie": '<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="/e/marseytrain.webp">', "trannie": f'<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="{SITE_FULL_IMAGES}/e/marseytrain.webp">',
"tranny": '<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="/e/marseytrain.webp">', "tranny": f'<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="{SITE_FULL_IMAGES}/e/marseytrain.webp">',
"troon": '<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="/e/marseytrain.webp">', "troon": f'<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="{SITE_FULL_IMAGES}/e/marseytrain.webp">',
"tranner": '<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="/e/marseytrain.webp">', "tranner": f'<img loading="lazy" data-bs-toggle="tooltip" alt=":marseytrain:" title=":marseytrain:" src="{SITE_FULL_IMAGES}/e/marseytrain.webp">',
"kike": "jewish chad", "kike": "jewish chad",
"(?<![a-z])heeb": "jewish chad", "(?<![a-z])heeb": "jewish chad",
"daisy's destruction": "Cars 2", "daisy's destruction": "Cars 2",

View File

@ -239,12 +239,12 @@ def render_emoji(html, regexp, golden, emojis_used, b=False, is_title=False):
if emoji.endswith('pat') and emoji != 'marseyunpettablepat': if emoji.endswith('pat') and emoji != 'marseyunpettablepat':
if path.isfile(f"files/assets/images/emojis/{emoji.replace('pat','')}.webp"): if path.isfile(f"files/assets/images/emojis/{emoji.replace('pat','')}.webp"):
emoji_html = f'<span alt=":{old}:" data-bs-toggle="tooltip" title=":{old}:"><img loading="lazy" src="/i/hand.webp">{emoji_partial_pat.format(old, f"/e/{emoji[:-3]}.webp", attrs)}</span>' emoji_html = f'<span alt=":{old}:" data-bs-toggle="tooltip" title=":{old}:"><img loading="lazy" src="{SITE_FULL_IMAGES}/i/hand.webp">{emoji_partial_pat.format(old, f"{SITE_FULL_IMAGES}/e/{emoji[:-3]}.webp", attrs)}</span>'
elif emoji.startswith('@'): elif emoji.startswith('@'):
if u := get_user(emoji[1:-3], graceful=True): if u := get_user(emoji[1:-3], graceful=True):
emoji_html = f'<span alt=":{old}:" data-bs-toggle="tooltip" title=":{old}:"><img loading="lazy" src="/i/hand.webp">{emoji_partial_pat.format(old, f"/pp/{u.id}", attrs)}</span>' emoji_html = f'<span alt=":{old}:" data-bs-toggle="tooltip" title=":{old}:"><img loading="lazy" src="{SITE_FULL_IMAGES}/i/hand.webp">{emoji_partial_pat.format(old, f"/pp/{u.id}", attrs)}</span>'
elif path.isfile(f'files/assets/images/emojis/{emoji}.webp'): elif path.isfile(f'files/assets/images/emojis/{emoji}.webp'):
emoji_html = emoji_partial.format(old, f'/e/{emoji}.webp', attrs) emoji_html = emoji_partial.format(old, f'{SITE_FULL_IMAGES}/e/{emoji}.webp', attrs)
if emoji_html: if emoji_html:
@ -412,7 +412,7 @@ def sanitize(sanitized, golden=True, limit_pings=0, showmore=False, count_emojis
u = users_dict.get(m.group(1).lower()) u = users_dict.get(m.group(1).lower())
if not u or (v and u.id in v.all_twoway_blocks): if not u or (v and u.id in v.all_twoway_blocks):
return m.group(0) return m.group(0)
return f'<a href="/id/{u.id}"><img loading="lazy" src="/pp/{u.id}">@{u.username}</a>' return f'<a href="/id/{u.id}"><img loading="lazy" src="{SITE_FULL_IMAGES}/pp/{u.id}">@{u.username}</a>'
sanitized = mention_regex.sub(replacer, sanitized) sanitized = mention_regex.sub(replacer, sanitized)
@ -435,7 +435,7 @@ def sanitize(sanitized, golden=True, limit_pings=0, showmore=False, count_emojis
soup = BeautifulSoup(sanitized, 'lxml') soup = BeautifulSoup(sanitized, 'lxml')
for tag in soup.find_all("img"): for tag in soup.find_all("img"):
if tag.get("src") and not tag["src"].startswith('/pp/') and not tag["src"].startswith('/e/'): if tag.get("src") and not tag["src"].startswith('/pp/') and not tag["src"].startswith(f'{SITE_FULL_IMAGES}/e/'):
if not is_safe_url(tag["src"]): if not is_safe_url(tag["src"]):
a = soup.new_tag("a", href=tag["src"], rel="nofollow noopener", target="_blank") a = soup.new_tag("a", href=tag["src"], rel="nofollow noopener", target="_blank")
a.string = tag["src"] a.string = tag["src"]

View File

@ -214,7 +214,7 @@ def approve_emoji(v, name):
ma = ModAction( ma = ModAction(
kind="approve_emoji", kind="approve_emoji",
user_id=v.id, user_id=v.id,
_note=f'<img loading="lazy" data-bs-toggle="tooltip" alt=":{name}:" title=":{name}:" src="/e/{name}.webp">' _note=f'<img loading="lazy" data-bs-toggle="tooltip" alt=":{name}:" title=":{name}:" src="{SITE_FULL_IMAGES}/e/{name}.webp">'
) )
g.db.add(ma) g.db.add(ma)
@ -491,7 +491,7 @@ def update_emoji(v):
ma = ModAction( ma = ModAction(
kind="update_emoji", kind="update_emoji",
user_id=v.id, user_id=v.id,
_note=f'<img loading="lazy" data-bs-toggle="tooltip" alt=":{name}:" title=":{name}:" src="/e/{name}.webp">' _note=f'<img loading="lazy" data-bs-toggle="tooltip" alt=":{name}:" title=":{name}:" src="{SITE_FULL_IMAGES}/e/{name}.webp">'
) )
g.db.add(ma) g.db.add(ma)

View File

@ -34,7 +34,7 @@
<td> <td>
{% if item[1] != "Unknown" %} {% if item[1] != "Unknown" %}
<a href="/id/{{item[2]}}"> <a href="/id/{{item[2]}}">
<img loading="lazy" src="/pp/{{item[2]}}"> <img loading="lazy" src="{{SITE_FULL_IMAGES}}/pp/{{item[2]}}">
@{{item[1]}} @{{item[1]}}
</a> </a>
{% endif %} {% endif %}
@ -45,7 +45,7 @@
Modmail Modmail
{% else %} {% else %}
<a href="/id/{{item[4]}}"> <a href="/id/{{item[4]}}">
<img loading="lazy" src="/pp/{{item[4]}}"> <img loading="lazy" src="{{SITE_FULL_IMAGES}}/pp/{{item[4]}}">
@{{item[3]}} @{{item[3]}}
</a> </a>
{% endif %} {% endif %}

View File

@ -88,7 +88,7 @@
{%- macro leaderboard(text, css_class, marsey, color) -%} {%- macro leaderboard(text, css_class, marsey, color) -%}
<div class="casino-game-leaderboard"> <div class="casino-game-leaderboard">
<div class="leaderboard-marsey-trophy"> <div class="leaderboard-marsey-trophy">
<img loading="lazy" class="leaderboard-marsey-trophy__marsey" src="/e/{{marsey}}.webp"> <img loading="lazy" class="leaderboard-marsey-trophy__marsey" src="{{SITE_FULL_IMAGES}}/e/{{marsey}}.webp">
<i class="fas fa-trophy leaderboard-marsey-trophy__trophy" style="color: {{color}};"></i> <i class="fas fa-trophy leaderboard-marsey-trophy__trophy" style="color: {{color}};"></i>
</div> </div>
<div class="casino-game-leaderboard-info"> <div class="casino-game-leaderboard-info">

View File

@ -20,7 +20,7 @@ Bets
<div class="roulette-bet-summary--heading"> <div class="roulette-bet-summary--heading">
<div class="roulette-poker-chip"> <div class="roulette-poker-chip">
<img loading="lazy" src="{{SITE_FULL_IMAGES}}/i/pokerchip.webp" width="40" height="40"> <img loading="lazy" src="{{SITE_FULL_IMAGES}}/i/pokerchip.webp" width="40" height="40">
<img loading="lazy" src="/e/marseycodecellove.webp" width="40" height="40"> <img loading="lazy" src="{{SITE_FULL_IMAGES}}/e/marseycodecellove.webp" width="40" height="40">
</div> </div>
<p>111 is betting 4 and 4: <p>111 is betting 4 and 4:
</p> </p>

View File

@ -3,7 +3,7 @@
{% block body %} {% block body %}
{% block pulltorefresh %} {% block pulltorefresh %}
<div id="pulltorefresh"> <div id="pulltorefresh">
<img id="pulltorefresh-img" src="/e/marseyunamused.webp"> <img id="pulltorefresh-img" src="{{SITE_FULL_IMAGES}}/e/marseyunamused.webp">
</div> </div>
{% endblock %} {% endblock %}
{% block banner %} {% block banner %}

View File

@ -23,7 +23,7 @@
<tr> <tr>
<td>{{loop.index}}</td> <td>{{loop.index}}</td>
<td>{{emoji.name}}</td> <td>{{emoji.name}}</td>
<td><img class="emoji" loading="lazy" data-bs-toggle="tooltip" alt=":#{{emoji.name}}:" title=":{{emoji.name}}:" src="/e/{{emoji.name}}.webp"></td> <td><img class="emoji" loading="lazy" data-bs-toggle="tooltip" alt=":#{{emoji.name}}:" title=":{{emoji.name}}:" src="{{SITE_FULL_IMAGES}}/e/{{emoji.name}}.webp"></td>
<td>{{emoji.count}}</td> <td>{{emoji.count}}</td>
{% if FEATURES['ASSET_SUBMISSIONS'] %} {% if FEATURES['ASSET_SUBMISSIONS'] %}
{% set user = emoji.user %} {% set user = emoji.user %}

View File

@ -83,7 +83,7 @@
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-10 col-md-5"> <div class="col-10 col-md-5">
<div class="text-center px-3 my-5"> <div class="text-center px-3 my-5">
<img alt=":#marseyconfused:" loading="lazy" src="/e/marseyconfused.webp"> <img alt=":#marseyconfused:" loading="lazy" src="{{SITE_FULL_IMAGES}}/e/marseyconfused.webp">
<h5 class=" mt-1">Not Found</h5> <h5 class=" mt-1">Not Found</h5>
<p class="text-muted mb-3"> <p class="text-muted mb-3">
That wasn't found. That wasn't found.

View File

@ -83,7 +83,7 @@
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-10 col-md-5"> <div class="col-10 col-md-5">
<div class="text-center px-3 my-5"> <div class="text-center px-3 my-5">
<img alt=":#marseycapysorenjump2:" loading="lazy" src="/e/marseycapysorenjump2.webp"> <img alt=":#marseycapysorenjump2:" loading="lazy" src="{{SITE_FULL_IMAGES}}/e/marseycapysorenjump2.webp">
<h5 class=" mt-1">502 Bad Gateway</h5> <h5 class=" mt-1">502 Bad Gateway</h5>
<p class="text-muted mb-3"> <p class="text-muted mb-3">
Aevann is probably restarting server or sum shit, just keep refreshing lmao Aevann is probably restarting server or sum shit, just keep refreshing lmao

View File

@ -6,7 +6,7 @@
<div class="col-10 col-md-5"> <div class="col-10 col-md-5">
<div class="text-center px-3 my-5"> <div class="text-center px-3 my-5">
{% if img -%} {% if img -%}
<img alt=":#{{img}}:" loading="lazy" src="/e/{{img}}.webp"> <img alt=":#{{img}}:" loading="lazy" src="{{SITE_FULL_IMAGES}}/e/{{img}}.webp">
{%- endif %} {%- endif %}
<h5 class=" mt-1">{{code}} {{title}}</h5> <h5 class=" mt-1">{{code}} {{title}}</h5>
<p class="text-muted error-description">{{msg|safe}}</p> <p class="text-muted error-description">{{msg|safe}}</p>

View File

@ -5,7 +5,7 @@
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col col-md-5"> <div class="col col-md-5">
<div class="text-center px-3 mt-3"> <div class="text-center px-3 mt-3">
<img alt=":#marseytwerking:" loading="lazy" src="/e/marseytwerking.webp"> <img alt=":#marseytwerking:" loading="lazy" src="{{SITE_FULL_IMAGES}}/e/marseytwerking.webp">
<h5>Are you over 18?</h5> <h5>Are you over 18?</h5>
<p class="mb-3">This post is rated +18 (Adult-Only). You must be 18 or older to continue. Are you sure you want to proceed?</p> <p class="mb-3">This post is rated +18 (Adult-Only). You must be 18 or older to continue. Are you sure you want to proceed?</p>
<div class="btn-toolbar justify-content-center mb-4"> <div class="btn-toolbar justify-content-center mb-4">

View File

@ -83,7 +83,7 @@
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-10 col-md-5"> <div class="col-10 col-md-5">
<div class="text-center px-3 my-5"> <div class="text-center px-3 my-5">
<img alt=":#marseyconfused:" loading="lazy" src="/e/marseyconfused.webp"> <img alt=":#marseyconfused:" loading="lazy" src="{{SITE_FULL_IMAGES}}/e/marseyconfused.webp">
<h5 class=" mt-1">Not Found - where did it go?</h5> <h5 class=" mt-1">Not Found - where did it go?</h5>
<p class="text-muted mb-3"> <p class="text-muted mb-3">
Someone typed something wrong and it was probably you, please do better. Someone typed something wrong and it was probably you, please do better.

View File

@ -83,7 +83,7 @@
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-10 col-md-5"> <div class="col-10 col-md-5">
<div class="text-center px-3 my-5"> <div class="text-center px-3 my-5">
<img alt=":#marseycapysorenjump2:" loading="lazy" src="/e/marseycapysorenjump2.webp"> <img alt=":#marseycapysorenjump2:" loading="lazy" src="{{SITE_FULL_IMAGES}}/e/marseycapysorenjump2.webp">
<h5 class=" mt-1">502 Bad Gateway</h5> <h5 class=" mt-1">502 Bad Gateway</h5>
<p class="text-muted mb-3"> <p class="text-muted mb-3">
Aevann is probably restarting server or sum shit, just keep refreshing lmao Aevann is probably restarting server or sum shit, just keep refreshing lmao

View File

@ -2,7 +2,7 @@
{% set gingerbread_count = p.award_count("gingerbread", v) * 2 if p.award_count("gingerbread", v) <= 10 else 20 %} {% set gingerbread_count = p.award_count("gingerbread", v) * 2 if p.award_count("gingerbread", v) <= 10 else 20 %}
{% for i in range(gingerbread_count) %} {% for i in range(gingerbread_count) %}
<div class="fall-snowflake"> <div class="fall-snowflake">
<img loading="lazy" src="/assets/events/fistmas/images/awards/gingerbread.webp?x=6" class="animate-spin object-contain" style="width: 40px; height: 40px;" alt="animate marsey gingerbread icon" /> <img loading="lazy" src="{{SITE_FULL_IMAGES}}/assets/events/fistmas/images/awards/gingerbread.webp?x=6" class="animate-spin object-contain" style="width: 40px; height: 40px;" alt="animate marsey gingerbread icon" />
</div> </div>
{% endfor %} {% endfor %}

View File

@ -4,7 +4,7 @@
<a rel="nofollow noopener noreferrer" href="https://www.youtube.com/watch?v=BuKft9LpL_0" style="text-decoration: none !important"> <a rel="nofollow noopener noreferrer" href="https://www.youtube.com/watch?v=BuKft9LpL_0" style="text-decoration: none !important">
{% if SITE_NAME == 'rDrama' and range(1, 20)|random() == 1 %} {% if SITE_NAME == 'rDrama' and range(1, 20)|random() == 1 %}
<img loading="lazy" src="/assets/events/fistmas/images/banner_new.webp" style="width:100%" /> <img loading="lazy" src="{{SITE_FULL_IMAGES}}/assets/events/fistmas/images/banner_new.webp" style="width:100%" />
{% else %} {% else %}
<link rel="stylesheet" href="{{'events/fistmas/css/banner.css' | asset}}"> <link rel="stylesheet" href="{{'events/fistmas/css/banner.css' | asset}}">
{% if SITE_NAME == 'rDrama' %} {% if SITE_NAME == 'rDrama' %}

View File

@ -80,32 +80,32 @@ Text 2
<tr> <tr>
<td>Emojis</td> <td>Emojis</td>
<td>:marseylove:</td> <td>:marseylove:</td>
<td><img loading="lazy" data-bs-toggle="tooltip" class="emoji" alt=":marseylove:" title=":marseylove:" height="30" src="/e/marseylove.webp"></td> <td><img loading="lazy" data-bs-toggle="tooltip" class="emoji" alt=":marseylove:" title=":marseylove:" height="30" src="{{SITE_FULL_IMAGES}}/e/marseylove.webp"></td>
</tr> </tr>
<tr> <tr>
<td>Mirrored Emojis</td> <td>Mirrored Emojis</td>
<td>:!marseylove:</td> <td>:!marseylove:</td>
<td><img loading="lazy" data-bs-toggle="tooltip" class="emoji mirrored" alt=":!marseylove:" title=":!marseylove:" height="30" src="/e/marseylove.webp"></td> <td><img loading="lazy" data-bs-toggle="tooltip" class="emoji mirrored" alt=":!marseylove:" title=":!marseylove:" height="30" src="{{SITE_FULL_IMAGES}}/e/marseylove.webp"></td>
</tr> </tr>
<tr> <tr>
<td>Large Emojis</td> <td>Large Emojis</td>
<td>:#marseylove:</td> <td>:#marseylove:</td>
<td><img loading="lazy" data-bs-toggle="tooltip" b alt=":marseylove:" title=":marseylove:" src="/e/marseylove.webp"></td> <td><img loading="lazy" data-bs-toggle="tooltip" b alt=":marseylove:" title=":marseylove:" src="{{SITE_FULL_IMAGES}}/e/marseylove.webp"></td>
</tr> </tr>
<tr> <tr>
<td>Large Mirrored Emojis</td> <td>Large Mirrored Emojis</td>
<td>:#!marseylove:</td> <td>:#!marseylove:</td>
<td><img loading="lazy" data-bs-toggle="tooltip" b alt=":!marseylove:" title=":!marseylove:" src="/e/marseylove.webp"></td> <td><img loading="lazy" data-bs-toggle="tooltip" b alt=":!marseylove:" title=":!marseylove:" src="{{SITE_FULL_IMAGES}}/e/marseylove.webp"></td>
</tr> </tr>
<tr> <tr>
<td>Pat Emojis</td> <td>Pat Emojis</td>
<td>:marseylovepat:</td> <td>:marseylovepat:</td>
<td><span alt=":marseylovepat:" data-bs-toggle="tooltip" title=":marseylovepat:"><img loading="lazy" src="{{SITE_FULL_IMAGES}}/i/hand.webp"><img alt=":marseylovepat:" b loading="lazy" pat src="/e/marseylove.webp"></span></td> <td><span alt=":marseylovepat:" data-bs-toggle="tooltip" title=":marseylovepat:"><img loading="lazy" src="{{SITE_FULL_IMAGES}}/i/hand.webp"><img alt=":marseylovepat:" b loading="lazy" pat src="{{SITE_FULL_IMAGES}}/e/marseylove.webp"></span></td>
</tr> </tr>
<tr> <tr>
<td>Pat User</td> <td>Pat User</td>
<td>:@snappypat:</td> <td>:@snappypat:</td>
<td><span alt=":@snappypat:" data-bs-toggle="tooltip" title=":@snappypat:"><img loading="lazy" src="{{SITE_FULL_IMAGES}}/i/hand.webp"><img alt=":@snappypat:" b loading="lazy" pat src="/pp/3"></span></td> <td><span alt=":@snappypat:" data-bs-toggle="tooltip" title=":@snappypat:"><img loading="lazy" src="{{SITE_FULL_IMAGES}}/i/hand.webp"><img alt=":@snappypat:" b loading="lazy" pat src="{{SITE_FULL_IMAGES}}/pp/3"></span></td>
</tr> </tr>
<tr> <tr>
<td>Random Marsey</td> <td>Random Marsey</td>
@ -212,7 +212,7 @@ Text 2
<tr> <tr>
<td>Username Mention</td> <td>Username Mention</td>
<td>@QuadNarca</td> <td>@QuadNarca</td>
<td><a class="d-inline-block" href="/@QuadNarca"><img alt="@QuadNarca profile picture" loading="lazy" src="/pp/29">@QuadNarca</a></td> <td><a class="d-inline-block" href="/@QuadNarca"><img alt="@QuadNarca profile picture" loading="lazy" src="{{SITE_FULL_IMAGES}}/pp/29">@QuadNarca</a></td>
</tr> </tr>
<tr> <tr>
<td>Subreddit Mention</td> <td>Subreddit Mention</td>

View File

@ -46,7 +46,7 @@
{% include "user_in_table.html" %} {% include "user_in_table.html" %}
{% endwith %} {% endwith %}
{% if owner %} {% if owner %}
<img class="mx-2 group-owner" data-bs-toggle="tooltip" alt="Owner" title="Owner" src="/e/marseykingretard.webp"> <img class="mx-2 group-owner" data-bs-toggle="tooltip" alt="Owner" title="Owner" src="{{SITE_FULL_IMAGES}}/e/marseykingretard.webp">
{% endif %} {% endif %}
</td> </td>

View File

@ -35,7 +35,7 @@
{% else %} {% else %}
{%- set VISITORS_HERE_FLAVOR = [ {%- set VISITORS_HERE_FLAVOR = [
"incels currently stalking roasties", "incels currently stalking roasties",
'gooners currently edging to <img loading="lazy" src="/e/marseycumjar3.webp" style="height:1.5em!important">', 'gooners currently edging to <img loading="lazy" src="{{SITE_FULL_IMAGES}}/e/marseycumjar3.webp" style="height:1.5em!important">',
"fanboys currently obsessing over Carp", "fanboys currently obsessing over Carp",
"NEETs currently LDARmaxxing", "NEETs currently LDARmaxxing",
"valid women currently dilating", "valid women currently dilating",

View File

@ -34,13 +34,13 @@
<div class="dropdown dropdown-actions"> <div class="dropdown dropdown-actions">
<button type="button" class="btn btn-secondary dropdown-toggle" id="dropdownMenuButton" data-bs-toggle="dropdown"> <button type="button" class="btn btn-secondary dropdown-toggle" id="dropdownMenuButton" data-bs-toggle="dropdown">
{% if admin %}<img loading="lazy" src="/@{{admin}}/pic" alt="avatar" class="profile-pic-20 mr-2">{{admin}}{% else %}<img loading="lazy" src="/e/marseyjanny.webp" alt="avatar" class="profile-pic-20 mr-2">All{% endif %} {% if admin %}<img loading="lazy" src="{{SITE_FULL_IMAGES}}/@{{admin}}/pic" alt="avatar" class="profile-pic-20 mr-2">{{admin}}{% else %}<img loading="lazy" src="{{SITE_FULL_IMAGES}}/e/marseyjanny.webp" alt="avatar" class="profile-pic-20 mr-2">All{% endif %}
</button> </button>
<div class="dropdown-menu" x-placement="bottom-start" style="position: absolute; will-change: transform; top: 0px; left: 0px; transform: translate3d(0px, 31px, 0px); max-height: 50vh; <div class="dropdown-menu" x-placement="bottom-start" style="position: absolute; will-change: transform; top: 0px; left: 0px; transform: translate3d(0px, 31px, 0px); max-height: 50vh;
overflow: auto;"> overflow: auto;">
<a class="dropdown-item" href="{% if sub %}/h/{{sub}}{% endif %}/log{% if type %}?kind={{type}}{% endif %}"><img loading="lazy" src="/e/marseyjanny.webp" alt="avatar" class="profile-pic-20 mr-2">All</a> <a class="dropdown-item" href="{% if sub %}/h/{{sub}}{% endif %}/log{% if type %}?kind={{type}}{% endif %}"><img loading="lazy" src="{{SITE_FULL_IMAGES}}/e/marseyjanny.webp" alt="avatar" class="profile-pic-20 mr-2">All</a>
{% for a in admins %} {% for a in admins %}
<a class="dropdown-item" href="?{{single_user_url}}={{a}}{% if type %}&kind={{type}}{% endif %}"><img loading="lazy" src="/@{{a}}/pic" alt="avatar" class="profile-pic-20 mr-2">{{a}}</a> <a class="dropdown-item" href="?{{single_user_url}}={{a}}{% if type %}&kind={{type}}{% endif %}"><img loading="lazy" src="{{SITE_FULL_IMAGES}}/@{{a}}/pic" alt="avatar" class="profile-pic-20 mr-2">{{a}}</a>
{% endfor %} {% endfor %}
</div> </div>
</div> </div>

View File

@ -3,7 +3,7 @@
{% block pagetype %}message-success{% endblock %} {% block pagetype %}message-success{% endblock %}
{% block content %} {% block content %}
<div class="text-center py-6 py-md-8"> <div class="text-center py-6 py-md-8">
<img class="mb-3" alt=":#marseyparty:" loading="lazy" src="/e/marseyparty.webp"> <img class="mb-3" alt=":#marseyparty:" loading="lazy" src="{{SITE_FULL_IMAGES}}/e/marseyparty.webp">
<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">{{message}}</p> <p class="text-muted">{{message}}</p>
</div> </div>

View File

@ -33,6 +33,7 @@
<input hidden id="gbrowser" value="{{g.browser}}"> <input hidden id="gbrowser" value="{{g.browser}}">
<input hidden id="IMAGE_FORMATS" value="{{IMAGE_FORMATS}}"> <input hidden id="IMAGE_FORMATS" value="{{IMAGE_FORMATS}}">
<input hidden id="approved_embed_hosts" value="{{approved_embed_hosts}}"> <input hidden id="approved_embed_hosts" value="{{approved_embed_hosts}}">
<input hidden id="SITE_FULL_IMAGES" value="{{SITE_FULL_IMAGES}}">
<script src="{{'js/top.js' | asset}}"></script> <script src="{{'js/top.js' | asset}}"></script>
{% block body required %}{% endblock %} {% block body required %}{% endblock %}
{{html_head.stylesheets_lower()}} {{html_head.stylesheets_lower()}}

View File

@ -152,7 +152,7 @@
{% if mfa_secret %} {% if mfa_secret %}
<p><span class="font-weight-bold">Step 1:</span> Scan this QR code (or enter the code) using a two-factor authentication app such as Google Authenticator or Authy.</p> <p><span class="font-weight-bold">Step 1:</span> Scan this QR code (or enter the code) using a two-factor authentication app such as Google Authenticator or Authy.</p>
<div class="text-center mb-3"> <div class="text-center mb-3">
<img alt="two-factor QR code" loading="lazy" class="img-fluid" width=175 src="/2faqr/{{mfa_secret}}"> <img alt="two-factor QR code" loading="lazy" class="img-fluid" width=175 src="{{SITE_FULL_IMAGES}}/2faqr/{{mfa_secret}}">
<div class="text-small text-muted mt-1">Or enter this code: {{mfa_secret}}</div> <div class="text-small text-muted mt-1">Or enter this code: {{mfa_secret}}</div>
</div> </div>
<p><span class="font-weight-bold">Step 2:</span> Enter the six-digit code generated in the authenticator app and your {{SITE_NAME}} account password.</p> <p><span class="font-weight-bold">Step 2:</span> Enter the six-digit code generated in the authenticator app and your {{SITE_NAME}} account password.</p>

View File

@ -232,7 +232,7 @@
{% macro chat_group_template(id, m) %} {% macro chat_group_template(id, m) %}
<div class="chat-group"> <div class="chat-group">
<a class="font-weight-bold userlink" target="_blank" {% if m %}style="color:#{{m['namecolor']}}" href="/@{{m['username']}}" {% endif %}><div class="avatar profile-pic-20-wrapper mr-1"><img loading="lazy" class="avatar-pic pp20 mr-1" {% if m %}src="/pp/{{m['user_id']}}"{% endif %}><img class="avatar-hat profile-pic-20-hat hat" loading="lazy" {% if m %}src="{{m['hat']}}"{% endif %}></div>{% if m %}{{m['username']}}{% else %}NULL{% endif %}</a> <a class="font-weight-bold userlink" target="_blank" {% if m %}style="color:#{{m['namecolor']}}" href="/@{{m['username']}}" {% endif %}><div class="avatar profile-pic-20-wrapper mr-1"><img loading="lazy" class="avatar-pic pp20 mr-1" {% if m %}src="{{SITE_FULL_IMAGES}}/pp/{{m['user_id']}}"{% endif %}><img class="avatar-hat profile-pic-20-hat hat" loading="lazy" {% if m %}src="{{m['hat']}}"{% endif %}></div>{% if m %}{{m['username']}}{% else %}NULL{% endif %}</a>
<span class="text-black time ml-1 mb-3 text-center">{% if m %}{{m['time'] | timestamp}}{% else %}just now{% endif %}</span> <span class="text-black time ml-1 mb-3 text-center">{% if m %}{{m['time'] | timestamp}}{% else %}just now{% endif %}</span>
<input hidden class="user_id" {% if m %}value="{{m['user_id']}}"{% endif %}> <input hidden class="user_id" {% if m %}value="{{m['user_id']}}"{% endif %}>
{% endmacro %} {% endmacro %}