remotes/1693045480750635534/spooky-22
parent
de84dd910f
commit
4e18f2ead3
|
@ -209,11 +209,11 @@ class Submission(Base, Stndrd, Age_times, Scores, Fuzzing):
|
|||
@property
|
||||
@lazy
|
||||
def thumb_url(self):
|
||||
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.gif"
|
||||
if self.over_18: return f"https://{site}/assets/images/nsfw.webp"
|
||||
elif not self.url: return f"https://{site}/assets/images/{site_name}/default_thumb_text.webp"
|
||||
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.gif"
|
||||
else: return f"https://{site}/assets/images/default_thumb_link.gif"
|
||||
elif "youtu.be" in self.domain or "youtube.com" in self.domain: return f"https://{site}/assets/images/default_thumb_yt.webp"
|
||||
else: return f"https://{site}/assets/images/default_thumb_link.webp"
|
||||
|
||||
@property
|
||||
|
||||
|
@ -411,7 +411,7 @@ class Submission(Base, Stndrd, Age_times, Scores, Fuzzing):
|
|||
|
||||
@property
|
||||
def is_image(self):
|
||||
if self.url: return self.url.lower().endswith('.jpg') or self.url.lower().endswith('.png') or self.url.lower().endswith('.gif') or self.url.lower().endswith('.jpeg') or self.url.lower().endswith('?maxwidth=9999')
|
||||
if self.url: return self.url.lower().endswith('.webp') or self.url.lower().endswith('.jpg') or self.url.lower().endswith('.png') or self.url.lower().endswith('.gif') or self.url.lower().endswith('.jpeg') or self.url.lower().endswith('?maxwidth=9999')
|
||||
else: return False
|
||||
|
||||
@property
|
||||
|
|
|
@ -448,18 +448,18 @@ class User(Base, Stndrd, Age_times):
|
|||
@property
|
||||
def banner_url(self):
|
||||
if self.bannerurl: return self.bannerurl
|
||||
else: return f"https://{site}/assets/images/{site_name}/preview.gif"
|
||||
else: return f"https://{site}/assets/images/{site_name}/preview.webp"
|
||||
|
||||
@cache.memoize(timeout=86400)
|
||||
def defaultpicture(self):
|
||||
pic = random.randint(1, 150)
|
||||
return f"https://{site}/assets/images/defaultpictures/{pic}.gif"
|
||||
return f"https://{site}/assets/images/defaultpictures/{pic}.webp"
|
||||
|
||||
@property
|
||||
def profile_url(self):
|
||||
if self.profileurl: return self.profileurl
|
||||
elif "rdrama" in site: return self.defaultpicture()
|
||||
else: return f"https://{site}/assets/images/default-profile-pic.gif"
|
||||
else: return f"https://{site}/assets/images/default-profile-pic.webp"
|
||||
|
||||
@property
|
||||
def json_raw(self):
|
||||
|
|
|
@ -11,7 +11,7 @@ CF_ZONE = environ.get("CLOUDFLARE_ZONE", "").strip()
|
|||
IMGUR_KEY = environ.get("IMGUR_KEY", "").strip()
|
||||
IBB_KEY = environ.get("IBB_KEY", "").strip()
|
||||
|
||||
def upload_ibb(filepath=None, file=None, resize=False):
|
||||
def upload(ibb=False, filepath=None, file=None, resize=False):
|
||||
|
||||
if file:
|
||||
format = file.filename.split('.')[-1].lower().replace('jpg','png').replace('jpeg','png')
|
||||
|
@ -47,66 +47,20 @@ def upload_ibb(filepath=None, file=None, resize=False):
|
|||
try:
|
||||
with open(filepath, 'rb') as f:
|
||||
data={'image': base64.b64encode(f.read())}
|
||||
req = requests.post(f'https://api.imgbb.com/1/upload?key={IBB_KEY}', data=data)
|
||||
if ibb: req = requests.post(f'https://api.imgbb.com/1/upload?key={IBB_KEY}', data=data)
|
||||
else: req = requests.post('https://api.imgur.com/3/upload.json', headers = {"Authorization": f"Client-ID {IMGUR_KEY}"}, data=data)
|
||||
resp = req.json()['data']
|
||||
url = resp['url']
|
||||
if ibb: url = resp['url']
|
||||
else: url = resp['link']
|
||||
url = url.replace(".png", ".webp").replace(".jpg", ".webp").replace(".jpeg", ".webp")
|
||||
except Exception as e:
|
||||
print(e)
|
||||
print(req.text)
|
||||
return
|
||||
|
||||
return url
|
||||
|
||||
|
||||
def upload_imgur(filepath=None, file=None, resize=False):
|
||||
|
||||
if file:
|
||||
format = file.filename.split('.')[-1].lower().replace('jpg','png').replace('jpeg','png')
|
||||
filepath = f"image.{format}"
|
||||
file.save(filepath)
|
||||
else: format = filepath.split('.')[-1].lower().replace('jpg','png').replace('jpeg','png')
|
||||
|
||||
if resize:
|
||||
i = IImage.open(filepath)
|
||||
size = 100, 100
|
||||
frames = ImageSequence.Iterator(i)
|
||||
|
||||
def thumbnails(frames):
|
||||
for frame in frames:
|
||||
thumbnail = frame.copy()
|
||||
thumbnail.thumbnail(size, IImage.ANTIALIAS)
|
||||
yield thumbnail
|
||||
|
||||
frames = thumbnails(frames)
|
||||
|
||||
om = next(frames)
|
||||
om.info = i.info
|
||||
filepath = f"image.{i.format}".lower().replace('jpg','png').replace('jpeg','png')
|
||||
try: om.save(filepath, save_all=True, append_images=list(frames), loop=0, optimize=True, quality=30)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return
|
||||
elif format != "gif":
|
||||
i = IImage.open(filepath)
|
||||
filepath = f"image.{i.format}".lower().replace('jpg','png').replace('jpeg','png')
|
||||
i.save(filepath, optimize=True, quality=30)
|
||||
|
||||
try:
|
||||
with open(filepath, 'rb') as f:
|
||||
data={'image': base64.b64encode(f.read())}
|
||||
req = requests.post('https://api.imgur.com/3/upload.json', headers = {"Authorization": f"Client-ID {IMGUR_KEY}"}, data=data)
|
||||
resp = req.json()['data']
|
||||
url = resp['link']
|
||||
if not "_d." in url:
|
||||
url = url.replace(".png", "_d.png").replace(".jpg", "_d.jpg").replace(".jpeg", "_d.jpeg")
|
||||
if "_d." in url: url += "?maxwidth=9999"
|
||||
except Exception as e:
|
||||
print(e)
|
||||
print(req.text)
|
||||
return
|
||||
|
||||
new_image = Image(text=url, deletehash=resp["deletehash"])
|
||||
g.db.add(new_image)
|
||||
if not ibb:
|
||||
new_image = Image(text=url, deletehash=resp["deletehash"])
|
||||
g.db.add(new_image)
|
||||
return url
|
||||
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ def favorite_emojis(x):
|
|||
str = ""
|
||||
emojis = sorted(x.items(), key=lambda x: x[1], reverse=True)[:25]
|
||||
for k, v in emojis:
|
||||
str += f'<button class="btn m-1 px-0" onclick="getEmoji(\'{k}\', \'@form@\')" style="background: None!important; width:60px; overflow: hidden; border: none;" data-toggle="tooltip" title=":{k}:" delay:="0"><img loading="lazy" width=50 src="/assets/images/emojis/{k}.gif" alt="{k}-emoji"/></button>'
|
||||
str += f'<button class="btn m-1 px-0" onclick="getEmoji(\'{k}\', \'@form@\')" style="background: None!important; width:60px; overflow: hidden; border: none;" data-toggle="tooltip" title=":{k}:" delay:="0"><img loading="lazy" width=50 src="/assets/images/emojis/{k}.webp" alt="{k}-emoji"/></button>'
|
||||
return str
|
||||
|
||||
@app.context_processor
|
||||
|
|
|
@ -219,8 +219,8 @@ def sanitize(sanitized, noimages=False):
|
|||
|
||||
for i in re.finditer('<p>:([^ ]{1,30}?):</p>', sanitized):
|
||||
emoji = i.group(1).lower()
|
||||
if path.isfile(f'./files/assets/images/emojis/{emoji}.gif'):
|
||||
sanitized = sanitized.replace(f'<p>:{emoji}:</p>', f'<p style="margin-bottom:0;"><img loading="lazy" data-toggle="tooltip" title="{emoji}" delay="0" height=60 src="https://{site}/assets/images/emojis/{emoji}.gif"</p>')
|
||||
if path.isfile(f'./files/assets/images/emojis/{emoji}.webp'):
|
||||
sanitized = sanitized.replace(f'<p>:{emoji}:</p>', f'<p style="margin-bottom:0;"><img loading="lazy" data-toggle="tooltip" title="{emoji}" delay="0" height=60 src="https://{site}/assets/images/emojis/{emoji}.webp"</p>')
|
||||
|
||||
try:
|
||||
if emoji in session["favorite_emojis"]: session["favorite_emojis"][emoji] += 1
|
||||
|
@ -230,8 +230,8 @@ def sanitize(sanitized, noimages=False):
|
|||
|
||||
for i in re.finditer(':([^ ]{1,30}?):', sanitized):
|
||||
emoji = i.group(1).lower()
|
||||
if path.isfile(f'./files/assets/images/emojis/{emoji}.gif'):
|
||||
sanitized = sanitized.replace(f':{emoji}:', f'<img loading="lazy" data-toggle="tooltip" title="{emoji}" delay="0" height=30 src="https://{site}/assets/images/emojis/{emoji}.gif"<span>')
|
||||
if path.isfile(f'./files/assets/images/emojis/{emoji}.webp'):
|
||||
sanitized = sanitized.replace(f':{emoji}:', f'<img loading="lazy" data-toggle="tooltip" title="{emoji}" delay="0" height=30 src="https://{site}/assets/images/emojis/{emoji}.webp"<span>')
|
||||
|
||||
try:
|
||||
if emoji in session["favorite_emojis"]: session["favorite_emojis"][emoji] += 1
|
||||
|
|
|
@ -289,7 +289,7 @@ def api_comment(v):
|
|||
abort(413)
|
||||
|
||||
if 'pcmemes.net' in request.host: url = upload_ibb(file=file)
|
||||
else: url = upload_imgur(file=file)
|
||||
else: url = upload(file=file)
|
||||
|
||||
body = request.form.get("body") + f"\n![]({url})"
|
||||
body = body.replace("\n", "\n\n").replace("\n\n\n\n\n\n", "\n\n").replace("\n\n\n\n", "\n\n").replace("\n\n\n", "\n\n")
|
||||
|
@ -703,7 +703,7 @@ def edit_comment(cid, v):
|
|||
abort(413)
|
||||
|
||||
if 'pcmemes.net' in request.host: url = upload_ibb(file=file)
|
||||
else: url = upload_imgur(file=file)
|
||||
else: url = upload(file=file)
|
||||
|
||||
body += f"\n![]({url})"
|
||||
body_md = CustomRenderer().render(mistletoe.Document(body))
|
||||
|
|
|
@ -528,7 +528,7 @@ def thumbs(new_post):
|
|||
file.write(chunk)
|
||||
|
||||
if 'pcmemes.net' in request.host: post.thumburl = upload_ibb(filepath="image.png", resize=True)
|
||||
else: post.thumburl = upload_imgur(filepath="image.png", resize=True)
|
||||
else: post.thumburl = upload(filepath="image.png", resize=True)
|
||||
|
||||
g.db.add(post)
|
||||
|
||||
|
@ -546,8 +546,8 @@ def filter_title(title):
|
|||
title = bleach.clean(title, tags=[])
|
||||
|
||||
for i in re.finditer(':(.{1,30}?):', title):
|
||||
if path.isfile(f'./files/assets/images/emojis/{i.group(1)}.gif'):
|
||||
title = title.replace(f':{i.group(1)}:', f'<img loading="lazy" data-toggle="tooltip" title="{i.group(1)}" delay="0" height=20 src="https://{site}/assets/images/emojis/{i.group(1)}.gif"<span>')
|
||||
if path.isfile(f'./files/assets/images/emojis/{i.group(1)}.webp'):
|
||||
title = title.replace(f':{i.group(1)}:', f'<img loading="lazy" data-toggle="tooltip" title="{i.group(1)}" delay="0" height=20 src="https://{site}/assets/images/emojis/{i.group(1)}.webp"<span>')
|
||||
|
||||
return title
|
||||
|
||||
|
@ -915,7 +915,7 @@ def submit_post(v):
|
|||
|
||||
if file.content_type.startswith('image/'):
|
||||
if 'pcmemes.net' in request.host: new_post.url = upload_ibb(file=file)
|
||||
else: new_post.url = upload_imgur(file=file)
|
||||
else: new_post.url = upload(file=file)
|
||||
else:
|
||||
try:
|
||||
post_url = upload_video(file)
|
||||
|
|
|
@ -20,8 +20,8 @@ def api_flag_post(pid, v):
|
|||
if "<" in reason: return {"error": f"Reasons can't contain <"}
|
||||
|
||||
for i in re.finditer(':(.{1,30}?):', reason):
|
||||
if path.isfile(f'./files/assets/images/emojis/{i.group(1)}.gif'):
|
||||
reason = reason.replace(f':{i.group(1)}:', f'<img loading="lazy" data-toggle="tooltip" title="{i.group(1)}" delay="0" height=20 src="https://{site}/assets/images/emojis/{i.group(1)}.gif"<span>')
|
||||
if path.isfile(f'./files/assets/images/emojis/{i.group(1)}.webp'):
|
||||
reason = reason.replace(f':{i.group(1)}:', f'<img loading="lazy" data-toggle="tooltip" title="{i.group(1)}" delay="0" height=20 src="https://{site}/assets/images/emojis/{i.group(1)}.webp"<span>')
|
||||
|
||||
flag = Flag(post_id=post.id,
|
||||
user_id=v.id,
|
||||
|
@ -49,8 +49,8 @@ def api_flag_comment(cid, v):
|
|||
if "<" in reason: return {"error": f"Reasons can't contain <"}
|
||||
|
||||
for i in re.finditer(':(.{1,30}?):', reason):
|
||||
if path.isfile(f'./files/assets/images/emojis/{i.group(1)}.gif'):
|
||||
reason = reason.replace(f':{i.group(1)}:', f'<img loading="lazy" data-toggle="tooltip" title="{i.group(1)}" delay="0" height=20 src="https://{site}/assets/images/emojis/{i.group(1)}.gif"<span>')
|
||||
if path.isfile(f'./files/assets/images/emojis/{i.group(1)}.webp'):
|
||||
reason = reason.replace(f':{i.group(1)}:', f'<img loading="lazy" data-toggle="tooltip" title="{i.group(1)}" delay="0" height=20 src="https://{site}/assets/images/emojis/{i.group(1)}.webp"<span>')
|
||||
|
||||
flag = CommentFlag(comment_id=comment.id,
|
||||
user_id=v.id,
|
||||
|
|
|
@ -118,7 +118,7 @@ def settings_profile_post(v):
|
|||
else: return render_template("settings_profile.html", v=v, error=f"Image files only."), 400
|
||||
|
||||
if 'pcmemes.net' in request.host: url = upload_ibb(file=file)
|
||||
else: url = upload_imgur(file=file)
|
||||
else: url = upload(file=file)
|
||||
|
||||
bio += f"\n\n![]({url})"
|
||||
|
||||
|
@ -506,11 +506,11 @@ def settings_images_profile(v):
|
|||
file.save(filepath)
|
||||
|
||||
if 'pcmemes.net' in request.host: highres = upload_ibb(filepath=filepath)
|
||||
else: highres = upload_imgur(filepath=filepath)
|
||||
else: highres = upload(filepath=filepath)
|
||||
if not highres: abort(400)
|
||||
|
||||
if 'pcmemes.net' in request.host: imageurl = upload_ibb(filepath=filepath, resize=True)
|
||||
else: imageurl = upload_imgur(filepath=filepath, resize=True)
|
||||
else: imageurl = upload(filepath=filepath, resize=True)
|
||||
if not imageurl: abort(400)
|
||||
|
||||
v.highres = highres
|
||||
|
@ -532,7 +532,7 @@ def settings_images_banner(v):
|
|||
|
||||
file = request.files["banner"]
|
||||
if 'pcmemes.net' in request.host: imageurl = upload_ibb(file=file)
|
||||
else: imageurl = upload_imgur(file=file)
|
||||
else: imageurl = upload(file=file)
|
||||
|
||||
if imageurl:
|
||||
v.bannerurl = imageurl
|
||||
|
|
|
@ -137,7 +137,7 @@ def index():
|
|||
|
||||
@app.get("/assets/favicon.ico")
|
||||
def favicon():
|
||||
return send_file(f"./assets/images/{site_name}/icon.gif")
|
||||
return send_file(f"./assets/images/{site_name}/icon.webp")
|
||||
|
||||
@app.get("/api")
|
||||
@auth_desired
|
||||
|
@ -173,7 +173,7 @@ def archives(path):
|
|||
@limiter.exempt
|
||||
def static_service(path):
|
||||
resp = make_response(send_from_directory('./assets', path))
|
||||
if request.path.endswith('.gif') or request.path.endswith('.ttf') or request.path.endswith('.woff') or request.path.endswith('.woff2'):
|
||||
if request.path.endswith('.webp') or request.path.endswith('.gif') or request.path.endswith('.ttf') or request.path.endswith('.woff') or request.path.endswith('.woff2'):
|
||||
resp.headers.remove("Cache-Control")
|
||||
resp.headers.add("Cache-Control", "public, max-age=2628000")
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
|
||||
<div class="splash-overlay"></div>
|
||||
|
||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.gif"></img>
|
||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.webp"></img>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -141,7 +141,7 @@
|
|||
{% if c.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:#1DA1F2" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="{{c.author.verified}}"></i>
|
||||
{% 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 'rdrama' 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}}.gif">{% endif %}{{c.author.customtitle | safe}}</bdi>{% 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 'rdrama' 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 %}
|
||||
|
||||
<span id="timestamp-{{c.id}}" data-toggle="tooltip" data-placement="bottom" title="" class="time-stamp"> {{c.age_string}}</span>
|
||||
{% if c.edited_utc %}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
Released under MIT-style license.
|
||||
Original Screen Bug http://screen-bug.googlecode.com/git/index.html
|
||||
*/
|
||||
var BugDispatch={options:{minDelay:500,maxDelay:1E4,minBugs:2,maxBugs:20,minSpeed:5,maxSpeed:10,maxLargeTurnDeg:150,maxSmallTurnDeg:10,maxWiggleDeg:5,imageSprite:"fly-sprite.gif",bugWidth:13,bugHeight:14,num_frames:5,zoom:10,canFly:!0,canDie:!0,numDeathTypes:3,monitorMouseMovement:!1,eventDistanceToBug:40,minTimeBetweenMultipy:1E3,mouseOver:"random"},initialize:function(a){this.options=mergeOptions(this.options,a);this.options.minBugs>this.options.maxBugs&&(this.options.minBugs=this.options.maxBugs);
|
||||
var BugDispatch={options:{minDelay:500,maxDelay:1E4,minBugs:2,maxBugs:20,minSpeed:5,maxSpeed:10,maxLargeTurnDeg:150,maxSmallTurnDeg:10,maxWiggleDeg:5,imageSprite:"fly-sprite.webp",bugWidth:13,bugHeight:14,num_frames:5,zoom:10,canFly:!0,canDie:!0,numDeathTypes:3,monitorMouseMovement:!1,eventDistanceToBug:40,minTimeBetweenMultipy:1E3,mouseOver:"random"},initialize:function(a){this.options=mergeOptions(this.options,a);this.options.minBugs>this.options.maxBugs&&(this.options.minBugs=this.options.maxBugs);
|
||||
this.modes=["multiply","nothing"];this.options.canFly&&this.modes.push("fly","flyoff");this.options.canDie&&this.modes.push("die");-1==this.modes.indexOf(this.options.mouseOver)&&(this.options.mouseOver="random");this.transform=null;this.transforms={Moz:function(a){this.bug.style.MozTransform=a},webkit:function(a){this.bug.style.webkitTransform=a},O:function(a){this.bug.style.OTransform=a},ms:function(a){this.bug.style.msTransform=a},Khtml:function(a){this.bug.style.KhtmlTransform=a},w3c:function(a){this.bug.style.transform=
|
||||
a}};if("transform"in document.documentElement.style)this.transform=this.transforms.w3c;else{var b=["Moz","webkit","O","ms","Khtml"],c=0;for(c=0;c<b.length;c++)if(b[c]+"Transform"in document.documentElement.style){this.transform=this.transforms[b[c]];break}}if(this.transform){this.bugs=[];b="multiply"===this.options.mouseOver?this.options.minBugs:this.random(this.options.minBugs,this.options.maxBugs,!0);c=0;var d=this;for(c=0;c<b;c++){a=JSON.parse(JSON.stringify(this.options));var e=SpawnBug();a.wingsOpen=
|
||||
this.options.canFly?.5<Math.random()?!0:!1:!0;a.walkSpeed=this.random(this.options.minSpeed,this.options.maxSpeed);e.initialize(this.transform,a);this.bugs.push(e)}this.spawnDelay=[];for(c=0;c<b;c++)a=this.random(this.options.minDelay,this.options.maxDelay,!0),e=this.bugs[c],this.spawnDelay[c]=setTimeout(function(a){return function(){d.options.canFly?a.flyIn():a.walkIn()}}(e),a),d.add_events_to_bug(e);this.options.monitorMouseMovement&&(window.onmousemove=function(){d.check_if_mouse_close_to_bug()})}},
|
||||
|
@ -20,7 +20,7 @@
|
|||
a.pageX&&(b=a.pageX-(document.body.scrollLeft+document.documentElement.scrollLeft),c=a.pageY-(document.body.scrollTop+document.documentElement.scrollTop));a=this.bugs.length;var d;for(d=0;d<a;d++){var e=this.bugs[d].getPos();e&&Math.abs(e.top-c)+Math.abs(e.left-b)<this.options.eventDistanceToBug&&!this.bugs[d].flyperiodical&&this.near_bug(this.bugs[d])}}},near_bug:function(a){this.on_bug(a)},on_bug:function(a){if(a.alive){var b=this.options.mouseOver;"random"===b&&(b=this.modes[this.random(0,this.modes.length-
|
||||
1,!0)]);if("fly"===b)a.stop(),a.flyRand();else if("nothing"!==b)if("flyoff"===b)a.stop(),a.flyOff();else if("die"===b)a.die();else if("multiply"===b&&!this.multiplyDelay&&this.bugs.length<this.options.maxBugs){var c=SpawnBug();b=JSON.parse(JSON.stringify(this.options));var d=a.getPos(),e=this;b.wingsOpen=this.options.canFly?.5<Math.random()?!0:!1:!0;b.walkSpeed=this.random(this.options.minSpeed,this.options.maxSpeed);c.initialize(this.transform,b);c.drawBug(d.top,d.left);b.canFly?(c.flyRand(),a.flyRand()):
|
||||
(c.go(),a.go());this.bugs.push(c);this.multiplyDelay=!0;setTimeout(function(){e.add_events_to_bug(c);e.multiplyDelay=!1},this.options.minTimeBetweenMultipy)}}},random:function(a,b,c){if(a==b)return c?Math.round(a):a;var d=a-.5+Math.random()*(b-a+1);d>b?d=b:d<a&&(d=a);return c?Math.round(d):d}},BugController=function(){this.initialize.apply(this,arguments)};BugController.prototype=BugDispatch;
|
||||
var SpiderController=function(){this.options=mergeOptions(this.options,{imageSprite:"spider-sprite.gif",bugWidth:69,bugHeight:90,num_frames:7,canFly:!1,canDie:!0,numDeathTypes:2,zoom:6,minDelay:200,maxDelay:3E3,minSpeed:6,maxSpeed:13,minBugs:3,maxBugs:10});this.initialize.apply(this,arguments)};SpiderController.prototype=BugDispatch;
|
||||
var SpiderController=function(){this.options=mergeOptions(this.options,{imageSprite:"spider-sprite.webp",bugWidth:69,bugHeight:90,num_frames:7,canFly:!1,canDie:!0,numDeathTypes:2,zoom:6,minDelay:200,maxDelay:3E3,minSpeed:6,maxSpeed:13,minBugs:3,maxBugs:10});this.initialize.apply(this,arguments)};SpiderController.prototype=BugDispatch;
|
||||
var Bug={options:{wingsOpen:!1,walkSpeed:2,flySpeed:40,edge_resistance:50,zoom:10},initialize:function(a,b){this.options=mergeOptions(this.options,b);this.NEAR_TOP_EDGE=1;this.NEAR_BOTTOM_EDGE=2;this.NEAR_LEFT_EDGE=4;this.NEAR_RIGHT_EDGE=8;this.directions={};this.directions[this.NEAR_TOP_EDGE]=270;this.directions[this.NEAR_BOTTOM_EDGE]=90;this.directions[this.NEAR_LEFT_EDGE]=0;this.directions[this.NEAR_RIGHT_EDGE]=180;this.directions[this.NEAR_TOP_EDGE+this.NEAR_LEFT_EDGE]=315;this.directions[this.NEAR_TOP_EDGE+
|
||||
this.NEAR_RIGHT_EDGE]=225;this.directions[this.NEAR_BOTTOM_EDGE+this.NEAR_LEFT_EDGE]=45;this.directions[this.NEAR_BOTTOM_EDGE+this.NEAR_RIGHT_EDGE]=135;this.large_turn_angle_deg=this.angle_rad=this.angle_deg=0;this.near_edge=!1;this.edge_test_counter=10;this.fly_counter=this.large_turn_counter=this.small_turn_counter=0;this.toggle_stationary_counter=50*Math.random();this.zoom=this.random(this.options.zoom,10)/10;this.stationary=!1;this.bug=null;this.active=!0;this.wingsOpen=this.options.wingsOpen;
|
||||
this.transform=a;this.flyIndex=this.walkIndex=0;this.alive=!0;this.twitchTimer=null;this.rad2deg_k=180/Math.PI;this.deg2rad_k=Math.PI/180;this.makeBug();this.angle_rad=this.deg2rad(this.angle_deg);this.angle_deg=this.random(0,360,!0)},go:function(){if(this.transform){this.drawBug();var a=this;this.animating=!0;this.going=requestAnimFrame(function(b){a.animate(b)})}},stop:function(){this.animating=!1;this.going&&(clearTimeout(this.going),this.going=null);this.flyperiodical&&(clearTimeout(this.flyperiodical),
|
||||
|
@ -47,14 +47,14 @@
|
|||
</script>
|
||||
<script type="text/javascript">
|
||||
new BugController({
|
||||
imageSprite: "/assets/images/fly-sprite.gif",
|
||||
imageSprite: "/assets/images/fly-sprite.webp",
|
||||
canDie: false,
|
||||
minBugs: 5,
|
||||
maxBugs: 30,
|
||||
mouseOver: "fly"
|
||||
});
|
||||
new SpiderController({
|
||||
imageSprite: "/assets/images/spider-sprite.gif",
|
||||
imageSprite: "/assets/images/spider-sprite.webp",
|
||||
canDie: false,
|
||||
minBugs: 2,
|
||||
maxBugs: 20,
|
||||
|
@ -644,7 +644,7 @@
|
|||
|
||||
var inlineImage = document.getElementById("desktop-expanded-image");
|
||||
|
||||
inlineImage.src = image.replace("100w.gif", "giphy.gif");
|
||||
inlineImage.src = image.replace("100w.webp", "giphy.webp");
|
||||
linkText.href = image;
|
||||
imgLink.href=image;
|
||||
|
||||
|
@ -1026,9 +1026,9 @@
|
|||
<meta charset="utf-8">
|
||||
<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.gif">
|
||||
<meta name="thumbnail" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp">
|
||||
|
||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
||||
|
||||
{% block title %}
|
||||
<title>{{'SITE_NAME' | app_config}}</title>
|
||||
|
@ -1036,7 +1036,7 @@
|
|||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
||||
<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:author" name="author" content="@{{request.host_url}}" />
|
||||
|
@ -1047,7 +1047,7 @@
|
|||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="@{{request.host_url}}">
|
||||
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
||||
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
||||
<meta name="twitter:url" content="{{request.path | full_link}}" />
|
||||
{% endblock %}
|
||||
|
||||
|
@ -1061,12 +1061,12 @@
|
|||
<meta name="format-detection" content="telephone=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.gif">
|
||||
<!---<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.gif">--->
|
||||
<link rel="apple-touch-icon" sizes="180x180" 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.webp">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">--->
|
||||
<link rel="manifest" href="/assets/manifest.json">
|
||||
<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.gif">
|
||||
<link rel="mask-icon" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp" color="#{{'DEFAULT_COLOR' | app_config}}">
|
||||
<link rel="shortcut icon" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
||||
<meta name="apple-mobile-web-app-title" content="{{'SITE_NAME' | app_config}}">
|
||||
<meta name="application-name" content="{{'SITE_NAME' | app_config}}">
|
||||
<meta name="msapplication-TileColor" content="#{{'DEFAULT_COLOR' | app_config}}">
|
||||
|
@ -1078,127 +1078,127 @@
|
|||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="320x480"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="640x960"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="640x1136"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="750x1334"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="768x1004"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="768x1024"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="828x1792"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1024x748"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1024x768"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1125x2436"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1242x2208"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1242x2688"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1334x750"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1536x2008"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1536x2048"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1668x2224"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1792x828"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2048x1496"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2048x1536"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2048x2732"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2208x1242"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2224x1668"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2436x1125"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2668x1242"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2737x2048"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp"
|
||||
/>
|
||||
|
||||
|
||||
|
@ -1233,7 +1233,7 @@
|
|||
|
||||
<body id="{% if request.path != '/comments' %}{% block pagetype %}frontpage{% endblock %}{% endif %}" style="overflow-x: hidden; {% if v and v.background %} background:url(/assets/images/backgrounds/{{v.background}}) no-repeat center center fixed !important; background-size: cover!important; background-color: #000!important;{% endif %} {% if 'rdrama' in request.host %}margin-top: 29px!important;{% endif %}">
|
||||
|
||||
{% if "marsey.tech" not in request.host %}<a rel="nofollow noopener noreferrer" href="{% if 'rdrama' in request.host %}https://secure.transequality.org/site/Donation2?df_id=1480{% else %}/{% endif %}"><img loading="lazy" src="/assets/images/{{'SITE_NAME' | app_config}}/{% if v %}banner.gif{% else %}cached.gif{% endif %}" width="100%"></a>{% endif %}
|
||||
{% if "marsey.tech" not in request.host %}<a rel="nofollow noopener noreferrer" href="{% if 'rdrama' in request.host %}https://secure.transequality.org/site/Donation2?df_id=1480{% else %}/{% endif %}"><img loading="lazy" src="/assets/images/{{'SITE_NAME' | app_config}}/{% if v %}banner.webp{% else %}cached.webp{% endif %}" width="100%"></a>{% endif %}
|
||||
|
||||
{% include "header.html" %}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseybrainlet.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseybrainlet.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">400 Bad Request</h1>
|
||||
<p class="text-muted mb-5">That request was bad and you should feel bad.</p>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
|
||||
<img loading="lazy" src="/assets/images/emojis/marseydead.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseydead.webp">
|
||||
<pre></pre>
|
||||
|
||||
<h1 class="h5">401 Not Authorized</h1>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseytroll.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseytroll.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">403 Forbidden</h1>
|
||||
<p class="text-muted mb-5">YOU AREN'T WELCOME HERE GO AWAY</p>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseyconfused.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseyconfused.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">404 Page Not Found</h1>
|
||||
<p class="text-muted mb-5">Someone typed something wrong and it was probably you, please do better.</p>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseyretard.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseyretard.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">405 Method Not Allowed</h1>
|
||||
<p class="text-muted mb-5">idk how anyone gets this error but if you see this, remember to follow @carpathianflorist<BR>the original error text here talked about internet gremlins and wtf</p>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseymad.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseymad.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">409 Conflict</h1>
|
||||
<p class="text-muted mb-5">There were no survivors.</p>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseythonk.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseythonk.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">410 Gone</h1>
|
||||
<p class="text-muted mb-5">There's nothing left here but a giant smouldering crater.</p>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseychonker.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseychonker.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">413 Image Size Too Large</h1>
|
||||
<p class="text-muted mb-5">There's a 1 MB limit to profile picture uploads, and a 16 MB limit to all other image uploads.</p>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseytea.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseytea.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">418 I'm A Teapot</h1>
|
||||
<p class="text-muted mb-5">You're on a new level of retardation if you somehow get this error. Do better.</p>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseylawlz.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseylawlz.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">422 Unprocessable Entity</h1>
|
||||
<p class="text-muted mb-5">STOP BREAKING THINGS PLEASE WHY DO WE HAVE SO MANY ERROR CODES</p>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseyrentfree.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseyrentfree.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">429 Too Many Requests</h1>
|
||||
<p class="text-muted mb-5">go spam somewhere else nerd</p>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseyglow.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseyglow.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">451 Unavailable For Legal Reasons</h1>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseydead.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseydead.webp">
|
||||
<pre></pre>
|
||||
<h1 class="h5">500 Internal Server Error</h1>
|
||||
<p class="text-muted mb-5">Hiiiii it's carp! I think this error means that there's a timeout error. And I think that means something took too long to load so it decided not to work at all. If you keep seeing this on the same page <I>but not other pages</I>, then something is probably wrong with that specific function. It may not be called a function, but that sounds right to me. Anyway, ping me and I'll whine to someone smarter to fix it. Don't bother them. Thanks ily <3</p>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,7 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<meta name="author" content="">
|
||||
<link rel="icon" type="image/png" href="/assets/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||
<link rel="icon" type="image/png" href="/assets/{{'SITE_NAME' | app_config}}/icon.webp">
|
||||
|
||||
|
||||
<title>503 Service Unavailable</title>
|
||||
|
@ -18,7 +18,7 @@
|
|||
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||
|
||||
<!-- iOS webapp -->
|
||||
<link rel="apple-touch-icon" href="/assets/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||
<link rel="apple-touch-icon" href="/assets/{{'SITE_NAME' | app_config}}/icon.webp">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<meta name="apple-mobile-web-app-title" content="{{'SITE_NAME' | app_config}}">
|
||||
|
@ -69,7 +69,7 @@
|
|||
<div class="col-10">
|
||||
<div class="text-center px-3 py-8">
|
||||
<span class="fa-stack text-muted mb-5" style="font-size: 2.5rem;">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseydead.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseydead.webp">
|
||||
<pre></pre>
|
||||
</span>
|
||||
<h1 class="h5">503 Service Unavailable</h1>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col col-md-5">
|
||||
<div class="text-center px-3 mt-5">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseytwerking.gif">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseytwerking.webp">
|
||||
<h1 class="h5">Are you over 18?</h1>
|
||||
<p class="mb-5">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">
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row justify-content-center">
|
||||
<div class="col-10 col-md-5">
|
||||
<div class="text-center px-3 my-8">
|
||||
<img loading="lazy" class="mb-2" src="/assets/images/emojis/marseymerchant.gif">
|
||||
<img loading="lazy" class="mb-2" src="/assets/images/emojis/marseymerchant.webp">
|
||||
<h1 class="h5">401 Not Authorized</h1>
|
||||
<p class="text-muted">This page is only available to {% if "rdrama" in request.host %}paypigs{% else %}patrons{% endif %}:</p>
|
||||
<a rel="nofollow noopener noreferrer" href="{{'GUMROAD_LINK' | app_config}}">{{'GUMROAD_LINK' | app_config}}</a>
|
||||
|
|
|
@ -55,7 +55,7 @@ On {{'SITE_NAME' | app_config}}, you can use Markdown formatting.
|
|||
<tr>
|
||||
<td>Emojis</td>
|
||||
<td>:marseylove:</td>
|
||||
<td><img loading="lazy" data-toggle="tooltip" title="marseylove" delay="0" height="20" src="/assets/images/emojis/marseylove.gif"></td>
|
||||
<td><img loading="lazy" data-toggle="tooltip" title="marseylove" delay="0" height="20" src="/assets/images/emojis/marseylove.webp"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
<div class="container-fluid" style="padding:0;">
|
||||
<div class="flex-grow-1">
|
||||
<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.gif">
|
||||
<img loading="lazy" height="30" src="/assets/images/{{'SITE_NAME' | app_config}}/headericon.webp">
|
||||
{% if "marsey.tech" in request.host %}
|
||||
<span style="font-weight: bold; font-size: 20px;">marsey.tech</span>
|
||||
{% elif "gigachadlife" in request.host %}
|
||||
<span style="font-weight: bold; font-size: 20px;">GigaChadLife</span>
|
||||
{% else %}
|
||||
<img loading="lazy" src="/assets/images/{{'SITE_NAME' | app_config}}/logo.gif" height="20">
|
||||
<img loading="lazy" src="/assets/images/{{'SITE_NAME' | app_config}}/logo.webp" height="20">
|
||||
{% endif %}
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -120,7 +120,7 @@
|
|||
|
||||
<div class="splash-overlay"></div>
|
||||
|
||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.gif"></img>
|
||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.webp"></img>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
|
||||
<div class="splash-overlay"></div>
|
||||
|
||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.gif"></img>
|
||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.webp"></img>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
{% block content %}
|
||||
<div class="text-center py-7 py-md-8">
|
||||
|
||||
<img loading="lazy" src="/assets/images/ruckus.gif" class="empty-state-img mb-3" alt="success state">
|
||||
<img loading="lazy" src="/assets/images/ruckus.webp" class="empty-state-img mb-3" alt="success state">
|
||||
<div class="font-weight-bold text-muted mb-4">{{title}}</div>
|
||||
<p class="text-muted">{{text}}</p>
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<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><img loading="lazy" style="width: 32px; height: 32px" src="/assets/images/{{'SITE_NAME' | app_config}}/badges/patron-{{row['patron']}}.gif"></td>
|
||||
<td><img loading="lazy" style="width: 32px; height: 32px" src="/assets/images/{{'SITE_NAME' | app_config}}/badges/patron-{{row['patron']}}.webp"></td>
|
||||
|
||||
<td style="font-weight:bold;">
|
||||
{% for (a,count) in row['awards'].values() %}
|
||||
|
|
|
@ -47,13 +47,13 @@
|
|||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
||||
|
||||
<title>{% block pagetitle %}Settings - {{'SITE_NAME' | app_config}}{% endblock %}</title>
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
||||
<meta property="og:url" content="{{request.host}}">
|
||||
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
||||
<meta property="og:author" name="author" content="@{{request.host_url}}" />
|
||||
|
@ -64,7 +64,7 @@
|
|||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="@{{request.host_url}}">
|
||||
<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.gif" />
|
||||
<meta name="twitter:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
||||
<meta name="twitter:url" content="{{request.host}}" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
|
||||
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<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.gif">
|
||||
<meta name="thumbnail" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp">
|
||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
||||
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
||||
<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:author" name="author" content="{{request.host_url}}" />
|
||||
|
@ -25,7 +25,7 @@
|
|||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="{{request.host_url}}">
|
||||
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" />
|
||||
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
||||
<meta name="twitter:url" content="{{request.path | full_link}}" />
|
||||
|
||||
|
||||
|
|
|
@ -169,48 +169,48 @@
|
|||
folder: "fantasy",
|
||||
backgrounds:
|
||||
[
|
||||
"1.gif",
|
||||
"2.gif",
|
||||
"3.gif",
|
||||
"4.gif",
|
||||
"5.gif",
|
||||
"6.gif",
|
||||
"1.webp",
|
||||
"2.webp",
|
||||
"3.webp",
|
||||
"4.webp",
|
||||
"5.webp",
|
||||
"6.webp",
|
||||
]
|
||||
},
|
||||
{
|
||||
folder: "solarpunk",
|
||||
backgrounds:
|
||||
[
|
||||
"1.gif",
|
||||
"2.gif",
|
||||
"3.gif",
|
||||
"4.gif",
|
||||
"5.gif",
|
||||
"6.gif",
|
||||
"7.gif",
|
||||
"8.gif",
|
||||
"9.gif",
|
||||
"10.gif",
|
||||
"11.gif",
|
||||
"12.gif",
|
||||
"13.gif",
|
||||
"14.gif",
|
||||
"15.gif",
|
||||
"16.gif",
|
||||
"17.gif",
|
||||
"18.gif",
|
||||
"19.gif",
|
||||
"1.webp",
|
||||
"2.webp",
|
||||
"3.webp",
|
||||
"4.webp",
|
||||
"5.webp",
|
||||
"6.webp",
|
||||
"7.webp",
|
||||
"8.webp",
|
||||
"9.webp",
|
||||
"10.webp",
|
||||
"11.webp",
|
||||
"12.webp",
|
||||
"13.webp",
|
||||
"14.webp",
|
||||
"15.webp",
|
||||
"16.webp",
|
||||
"17.webp",
|
||||
"18.webp",
|
||||
"19.webp",
|
||||
]
|
||||
},
|
||||
{
|
||||
folder: "pixelart",
|
||||
backgrounds:
|
||||
[
|
||||
"1.gif",
|
||||
"2.gif",
|
||||
"3.gif",
|
||||
"4.gif",
|
||||
"5.gif",
|
||||
"1.webp",
|
||||
"2.webp",
|
||||
"3.webp",
|
||||
"4.webp",
|
||||
"5.webp",
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
||||
<meta property="og:url" content="{{request.host}}">
|
||||
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
||||
<meta property="og:author" name="author" content="{{request.host_url}}" />
|
||||
|
@ -82,7 +82,7 @@
|
|||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="{{request.host_url}}">
|
||||
<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.gif" />
|
||||
<meta name="twitter:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
||||
<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>
|
||||
|
@ -223,7 +223,7 @@
|
|||
|
||||
<div class="splash-overlay"></div>
|
||||
|
||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.gif"></img>
|
||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.webp"></img>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.gif" />
|
||||
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
||||
<meta property="og:url" content="{{request.host}}">
|
||||
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
|
||||
<meta property="og:author" name="author" content="{{request.host_url}}" />
|
||||
|
@ -22,7 +22,7 @@
|
|||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="{{request.host_url}}">
|
||||
<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.gif" />
|
||||
<meta name="twitter:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp" />
|
||||
<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>
|
||||
|
@ -95,7 +95,7 @@
|
|||
|
||||
<div class="splash-overlay"></div>
|
||||
|
||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.gif"></img>
|
||||
<img loading="lazy" class="splash-img" src="/assets/images/{{'SITE_NAME' | app_config}}/cover.webp"></img>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
<meta property="og:description" name="description" content="{{comment_info.body}}" />
|
||||
<meta property="og:author" name="author" content="{{'@'+comment_info.author.username}}" />
|
||||
<meta property="og:title" content="{{'@'+comment_info.author.username}} comments on {{p.title}} - {{'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.gif{% 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.webp{% endif %}" />
|
||||
{% if p.is_video %}
|
||||
<meta property="og:video" content="{{ p.realurl(v) }}" />
|
||||
{% endif %}
|
||||
|
@ -47,7 +47,7 @@
|
|||
<meta name="twitter:title" content="{{'@'+comment_info.author.username}} comments on {{p.title}} - {{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="{{'@'+comment_info.author.username}}">
|
||||
<meta name="twitter:description" content="{{comment_info.body}}" />
|
||||
<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: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:url" content="{{p.permalink | full_link}}" />
|
||||
|
||||
{% if linked_comment.author.is_private %}
|
||||
|
@ -64,7 +64,7 @@
|
|||
<meta property="og:description" name="description" content="{{p.realbody(V)}}" />
|
||||
<meta property="og:author" name="author" content="{{'@'+p.author.username}}" />
|
||||
<meta property="og:title" content="{{p.title}} - {{'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.gif{% 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.webp{% endif %}" />
|
||||
{% if p.is_video %}
|
||||
<meta property="og:video" content="{{ p.realurl(v) }}" />
|
||||
{% endif %}
|
||||
|
@ -76,7 +76,7 @@
|
|||
<meta name="twitter:title" content="{{p.title}} - {{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="{{'@'+p.author.username}}">
|
||||
<meta name="twitter:description" content="{{p.realbody(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.gif{% 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.webp{% endif %}" />
|
||||
<meta name="twitter:url" content="{{p.permalink | full_link}}" />
|
||||
|
||||
{% if p.author.is_private %}
|
||||
|
@ -194,7 +194,7 @@
|
|||
{% set maxbugs = 20*p.award_count("shit") if p.award_count("shit") <= 5 else 100 %}
|
||||
<script type="text/javascript">
|
||||
new BugController({
|
||||
imageSprite: "/assets/images/fly-sprite.gif",
|
||||
imageSprite: "/assets/images/fly-sprite.webp",
|
||||
canDie: false,
|
||||
minBugs: {{minbugs}},
|
||||
maxBugs: {{maxbugs}},
|
||||
|
@ -273,7 +273,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.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:#1DA1F2" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="{{p.author.verified}}"></i>
|
||||
{% 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 'rdrama' 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 %}
|
||||
<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 'rdrama' 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 %}
|
||||
<span data-toggle="tooltip" data-placement="bottom" id="timestamp" title=""> {{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 %})
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
<div style="z-index: 3;">
|
||||
|
||||
{% if p.club and not (v and v.coins > 750) %}
|
||||
<img loading="lazy" src="/assets/images/emojis/marseyglow.gif" class="post-img">
|
||||
<img loading="lazy" src="/assets/images/emojis/marseyglow.webp" class="post-img">
|
||||
{% elif not p.url %}
|
||||
<a {% if v and v.newtab %}target="_blank"{% endif %} {% if v %}href="{{p.permalink}}"{% else %}href="/logged_out{{p.permalink}}"{% endif %}>
|
||||
<img loading="lazy" src="{{p.thumb_url}}" class="post-img">
|
||||
|
@ -114,7 +114,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.author.verified %}<i class="fas fa-badge-check align-middle ml-1" style="color:#1DA1F2" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="{{p.author.verified}}"></i>
|
||||
{% 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 'rdrama' 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 %}
|
||||
<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 'rdrama' 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 %}
|
||||
<span data-toggle="tooltip" data-placement="bottom" id="timestamp-{{p.id}}" title=""> {{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 %})
|
||||
|
|
|
@ -236,7 +236,7 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.gif">
|
||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp">
|
||||
|
||||
{% include "emoji_modal.html" %}
|
||||
{% include "gif_modal.html" %}
|
||||
|
@ -452,7 +452,7 @@
|
|||
emojis = Array.from(markdown.matchAll(/:(.{1,30}?):/gi))
|
||||
if(emojis != null){
|
||||
for(i = 0; i < emojis.length; i++){
|
||||
markdown = markdown.replace(emojis[i][0], "<img height=30 src='/assets/images/emojis/" + emojis[i][1] + ".gif'>")
|
||||
markdown = markdown.replace(emojis[i][0], "<img height=30 src='/assets/images/emojis/" + emojis[i][1] + ".webp'>")
|
||||
}
|
||||
}
|
||||
return markdown
|
||||
|
@ -496,7 +496,7 @@
|
|||
f=document.getElementById('file-upload');
|
||||
files = event.clipboardData.files
|
||||
filename = files[0].name.toLowerCase()
|
||||
if (filename.endsWith(".jpg") || filename.endsWith(".jpeg") || filename.endsWith(".png") || filename.endsWith(".gif"))
|
||||
if (filename.endsWith(".jpg") || filename.endsWith(".jpeg") || filename.endsWith(".png") || filename.endsWith(".webp"))
|
||||
{
|
||||
f.files = files;
|
||||
$('#filename-show').text(filename);
|
||||
|
|
|
@ -154,7 +154,7 @@
|
|||
</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}}.gif">{% 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}}.webp">{% endif %}{{u.customtitle | safe}}</p>{% endif %}
|
||||
|
||||
<div class="font-weight-bolder">
|
||||
<span id="profile-coins-amount">{{u.coins}}</span> {{'COINS_NAME' | app_config}} {% if u.stored_subscriber_count >=1 and not u.is_nofollow %}<a href="/@{{u.username}}/followers">{{u.stored_subscriber_count}} follower{{'s' if u.stored_subscriber_count != 1 else ''}}</a> {% endif %}joined <span data-toggle="tooltip" data-placement="bottom" title="" data-original-title="{{u.created_datetime}}">{{u.created_date}}</span>
|
||||
|
@ -411,7 +411,7 @@
|
|||
{% 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>
|
||||
{% 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 %}
|
||||
{% 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 %}
|
||||
<div class="font-weight-normal">
|
||||
<span id="profile-coins-amount-mobile" class="font-weight-bold">{{u.coins}}</span> {{'COINS_NAME' | app_config}} {% if u.stored_subscriber_count >=1 and not u.is_nofollow %}<a href="/@{{u.username}}/followers" class="font-weight-bold">{{u.stored_subscriber_count}} follower{{'s' if u.stored_subscriber_count != 1 else ''}}</a> {% endif %}
|
||||
|
||||
|
|
50
seed-db.sql
50
seed-db.sql
|
@ -1,28 +1,28 @@
|
|||
INSERT INTO public.badge_defs VALUES (12, 'Gold Recruiter', 'Recruited 100 friends to join Drama', 'recruit-100.gif', 1, 'v.referral_count>=100 and v.referral_count <=999');
|
||||
INSERT INTO public.badge_defs VALUES (11, 'Silver Recruiter', 'Recruited 10 friends to join Drama', 'recruit-10.gif', 1, 'v.referral_count>=10 and v.referral_count <= 99');
|
||||
INSERT INTO public.badge_defs VALUES (10, 'Bronze Recruiter', 'Recruited 1 friend to join Drama', 'recruit-1.gif', 1, 'v.referral_count>=1 and v.referral_count<9');
|
||||
INSERT INTO public.badge_defs VALUES (58, 'Diamond Recruiter', 'Recruited 1000 friends to join Drama', 'recruit-1000.gif', 1, 'v.referral_count >= 1000');
|
||||
INSERT INTO public.badge_defs VALUES (25, 'Footpig', 'Contributed at least $100/month', 'patron-5.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (61, 'Lab Rat', 'Helped test features in development', 'labrat.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (63, 'Balls', 'I wrote carp on my balls as a sign of submission', 'carpballs.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (4, 'White Hat', 'Responsibly reported a security issue', 'whitehat.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (2, 'Verified Email', 'Verified Email', 'mail.gif', 1, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (6, 'Beta User', 'Joined during open beta', 'beta.gif', 4, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (15, 'Idea Maker', 'Had a good idea for Drama which was implemented by the developers', 'idea.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (3, 'Code Contributor', 'Contributed to Drama source code', 'git.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (1, 'Alpha User', 'Joined during open alpha', 'alpha.gif', 4, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (18, 'Artisan', 'Contributed to Drama artwork', 'art.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (27, 'Lolcow', 'Beautiful and valid milk provider', 'lolcow.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (21, 'Paypig', 'Contributed at least $5/month', 'patron-1.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (22, 'Renthog', 'Contributed at least $10/month', 'patron-2.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (23, 'Landchad', 'Contributed at least $20/month', 'patron-3.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (24, 'Terminally online turboautist', 'Contributed at least $50/month', 'patron-4.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (28, 'Rich Bich', 'Contributed $500', 'patron-8.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (7, 'Bug Finder', 'Found a bug', 'sitebreaker.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (60, 'Unironically Retarded', 'Demonstrated a wholesale inability to read the room', 'retarded.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (26, 'Agendaposter', 'Forced to use the agendaposter theme', 'agendaposter.gif', 1, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (17, 'Marsey Artisan', 'Contributed a Marsey emoji ✨', 'marseybadge-1.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (16, 'Marsey Master', 'Contributed 10 (or more!!!!) Marsey emojis ✨', 'marseybadge-2.gif', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (12, 'Gold Recruiter', 'Recruited 100 friends to join Drama', 'recruit-100.webp', 1, 'v.referral_count>=100 and v.referral_count <=999');
|
||||
INSERT INTO public.badge_defs VALUES (11, 'Silver Recruiter', 'Recruited 10 friends to join Drama', 'recruit-10.webp', 1, 'v.referral_count>=10 and v.referral_count <= 99');
|
||||
INSERT INTO public.badge_defs VALUES (10, 'Bronze Recruiter', 'Recruited 1 friend to join Drama', 'recruit-1.webp', 1, 'v.referral_count>=1 and v.referral_count<9');
|
||||
INSERT INTO public.badge_defs VALUES (58, 'Diamond Recruiter', 'Recruited 1000 friends to join Drama', 'recruit-1000.webp', 1, 'v.referral_count >= 1000');
|
||||
INSERT INTO public.badge_defs VALUES (25, 'Footpig', 'Contributed at least $100/month', 'patron-5.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (61, 'Lab Rat', 'Helped test features in development', 'labrat.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (63, 'Balls', 'I wrote carp on my balls as a sign of submission', 'carpballs.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (4, 'White Hat', 'Responsibly reported a security issue', 'whitehat.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (2, 'Verified Email', 'Verified Email', 'mail.webp', 1, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (6, 'Beta User', 'Joined during open beta', 'beta.webp', 4, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (15, 'Idea Maker', 'Had a good idea for Drama which was implemented by the developers', 'idea.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (3, 'Code Contributor', 'Contributed to Drama source code', 'git.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (1, 'Alpha User', 'Joined during open alpha', 'alpha.webp', 4, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (18, 'Artisan', 'Contributed to Drama artwork', 'art.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (27, 'Lolcow', 'Beautiful and valid milk provider', 'lolcow.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (21, 'Paypig', 'Contributed at least $5/month', 'patron-1.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (22, 'Renthog', 'Contributed at least $10/month', 'patron-2.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (23, 'Landchad', 'Contributed at least $20/month', 'patron-3.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (24, 'Terminally online turboautist', 'Contributed at least $50/month', 'patron-4.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (28, 'Rich Bich', 'Contributed $500', 'patron-8.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (7, 'Bug Finder', 'Found a bug', 'sitebreaker.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (60, 'Unironically Retarded', 'Demonstrated a wholesale inability to read the room', 'retarded.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (26, 'Agendaposter', 'Forced to use the agendaposter theme', 'agendaposter.webp', 1, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (17, 'Marsey Artisan', 'Contributed a Marsey emoji ✨', 'marseybadge-1.webp', 3, NULL);
|
||||
INSERT INTO public.badge_defs VALUES (16, 'Marsey Master', 'Contributed 10 (or more!!!!) Marsey emojis ✨', 'marseybadge-2.webp', 3, NULL);
|
||||
|
||||
INSERT INTO public.users (
|
||||
id, username, passhash, created_utc, admin_level, over_18, is_activated, bio, bio_html, login_nonce, is_private,
|
||||
|
|
Loading…
Reference in New Issue