fggf4
|
@ -37,6 +37,8 @@ services:
|
|||
- READ_ONLY=0
|
||||
- BOT_DISABLE=0
|
||||
- COINS_NAME=Dramacoins
|
||||
- DEFAULT_THEME=dark
|
||||
- DEFAULT_COLOR=ff66ac
|
||||
links:
|
||||
- "redis"
|
||||
- "postgres"
|
||||
|
|
|
@ -36,7 +36,7 @@ app.config['DATABASE_URL'] = environ.get("DATABASE_CONNECTION_POOL_URL",environ.
|
|||
|
||||
app.config['SECRET_KEY'] = environ.get('MASTER_KEY')
|
||||
app.config["SERVER_NAME"] = environ.get("DOMAIN").strip()
|
||||
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 31536000
|
||||
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 86400
|
||||
|
||||
app.config["SESSION_COOKIE_NAME"] = "session_" + environ.get("SITE_NAME").strip().lower()
|
||||
app.config["VERSION"] = "1.0.0"
|
||||
|
@ -47,6 +47,8 @@ app.config["SESSION_COOKIE_SAMESITE"] = "Lax"
|
|||
app.config["PERMANENT_SESSION_LIFETIME"] = 60 * 60 * 24 * 365
|
||||
app.config["SESSION_REFRESH_EACH_REQUEST"] = True
|
||||
|
||||
app.config["DEFAULT_THEME"] = environ.get("defaulttheme").strip() + "_" + environ.get("defaultcolor").strip()
|
||||
|
||||
app.config["FORCE_HTTPS"] = int(environ.get("FORCE_HTTPS", 1)) if ("localhost" not in app.config["SERVER_NAME"] and "127.0.0.1" not in app.config["SERVER_NAME"]) else 0
|
||||
|
||||
app.jinja_env.cache = {}
|
||||
|
|
BIN
files/assets/images/pcmemes.ga/banner.png
Normal file
After Width: | Height: | Size: 158 KiB |
BIN
files/assets/images/pcmemes.ga/cover.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
files/assets/images/pcmemes.ga/default-profile-pic.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
files/assets/images/pcmemes.ga/default_thumb_text.png
Normal file
After Width: | Height: | Size: 423 B |
BIN
files/assets/images/pcmemes.ga/favicon.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
files/assets/images/pcmemes.ga/preview.png
Normal file
After Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 149 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 157 KiB After Width: | Height: | Size: 157 KiB |
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 105 KiB |
|
@ -207,12 +207,12 @@ body.using-mouse :focus {
|
|||
// Padding and Margins
|
||||
|
||||
#thread .custom-gutters {
|
||||
padding: 0 15px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.custom-gutters {
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
// Positioning
|
||||
|
@ -947,8 +947,8 @@ th {
|
|||
}
|
||||
|
||||
#thread .voting {
|
||||
min-width: 15px;
|
||||
margin-right: 15px;
|
||||
min-width: 10px;
|
||||
margin-right: 10px;
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
|
||||
|
@ -1133,8 +1133,8 @@ color: $dark;
|
|||
}
|
||||
|
||||
#frontpage .pseudo-submit-form.card .card-body, #search .search-results.card .card-body, #guild .pseudo-submit-form.card .card-body {
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#frontpage .pseudo-submit-form.card .card-body .form-control, #guild .pseudo-submit-form.card .card-body .form-control {
|
||||
|
@ -1172,7 +1172,7 @@ color: $dark;
|
|||
//}
|
||||
|
||||
//#thread #main-content-col {
|
||||
// margin: 0 15px;
|
||||
// margin: 0 10px;
|
||||
//}
|
||||
|
||||
// Left Sidebar (Terms pages)
|
||||
|
@ -2374,7 +2374,7 @@ div:hover .thumb-img-link-overlay {
|
|||
display: flex;
|
||||
position: relative;
|
||||
margin-top: 2rem;
|
||||
padding-left: 13px;
|
||||
padding-left: 12px;
|
||||
}
|
||||
|
||||
#notifications .comment, #userpage .comment {
|
||||
|
@ -3517,7 +3517,7 @@ body, #settings, #notifications, #submit {
|
|||
// Guild
|
||||
|
||||
.jumbotron-guild {
|
||||
height: 115px;
|
||||
height: 110px;
|
||||
}
|
||||
|
||||
// Posts and thread
|
||||
|
@ -3638,7 +3638,7 @@ body, #settings, #notifications, #submit {
|
|||
}
|
||||
|
||||
.comment-section > .comment {
|
||||
padding-left: 13px;
|
||||
padding-left: 12px;
|
||||
}
|
||||
|
||||
.comment {
|
||||
|
@ -3646,7 +3646,7 @@ body, #settings, #notifications, #submit {
|
|||
}
|
||||
|
||||
.comment .comment-collapse {
|
||||
padding-right: 15px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.comment.collapsed .user-info {
|
||||
|
|
|
@ -246,7 +246,7 @@ class Comment(Base, Age_times, Scores, Stndrd, Fuzzing):
|
|||
|
||||
def realbody(self, v):
|
||||
body = self.comment_aux.body_html
|
||||
if not v or v.slurreplacer: body = body.replace(" nigger"," 🏀").replace(" Nigger"," 🏀").replace(" NIGGER"," 🏀").replace(" pedo"," libertarian").replace(" Pedo"," Libertarian ").replace(" PEDO"," LIBERTARIAN ").replace(" tranny"," 🚄").replace(" Tranny"," 🚄").replace(" TRANNY"," 🚄").replace(" fag"," cute twink").replace(" Fag"," Cute twink").replace(" FAG"," CUTE TWINK").replace(" faggot"," cute twink").replace(" Faggot"," Cute twink").replace(" FAGGOT"," CUTE TWINK").replace(" trump"," DDR").replace(" Trump"," DDR").replace(" TRUMP"," DDR").replace(" biden"," DDD").replace(" Biden"," DDD").replace(" BIDEN"," DDD").replace(" steve akins"," penny verity oaken").replace(" Steve Akins"," Penny Verity Oaken").replace(" STEVE AKINS"," PENNY VERITY OAKEN").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" kill yourself"," keep yourself safe").replace(" KILL YOURSELF"," KEEP YOURSELF SAFE").replace(" trannie"," 🚄").replace(" Trannie"," 🚄").replace(" TRANNIE"," 🚄").replace(" troon"," 🚄").replace(" Troon"," 🚄").replace(" TROON"," 🚄")
|
||||
if not v or v.slurreplacer: body = body.replace(" nigger"," 🏀").replace(" Nigger"," 🏀").replace(" NIGGER"," 🏀").replace(" pedo"," libertarian").replace(" Pedo"," Libertarian ").replace(" PEDO"," LIBERTARIAN ").replace(" tranny"," 🚄").replace(" Tranny"," 🚄").replace(" TRANNY"," 🚄").replace(" fag"," cute twink").replace(" Fag"," Cute twink").replace(" FAG"," CUTE TWINK").replace(" faggot"," cute twink").replace(" Faggot"," Cute twink").replace(" FAGGOT"," CUTE TWINK").replace(" steve akins"," penny verity oaken").replace(" Steve Akins"," Penny Verity Oaken").replace(" STEVE AKINS"," PENNY VERITY OAKEN").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" kill yourself"," keep yourself safe").replace(" KILL YOURSELF"," KEEP YOURSELF SAFE").replace(" trannie"," 🚄").replace(" Trannie"," 🚄").replace(" TRANNIE"," 🚄").replace(" troon"," 🚄").replace(" Troon"," 🚄").replace(" TROON"," 🚄")
|
||||
if v and not v.oldreddit: body = body.replace("old.reddit.com", "reddit.com")
|
||||
|
||||
if v and v.controversial:
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
from sqlalchemy import *
|
||||
from flask import g
|
||||
from files.__main__ import Base
|
||||
from os import environ
|
||||
|
||||
site = environ.get("DOMAIN").strip()
|
||||
|
||||
class Image(Base):
|
||||
__tablename__ = "images"
|
||||
|
@ -11,9 +13,9 @@ class Image(Base):
|
|||
text = Column(String(64))
|
||||
deletehash = Column(String(64))
|
||||
|
||||
|
||||
@property
|
||||
def path(self):
|
||||
return f"/assets/images/cover.png"
|
||||
def path(self): return f"/assets/images/{site}/cover.png"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -203,7 +203,7 @@ class Submission(Base, Stndrd, Age_times, Scores, Fuzzing):
|
|||
@lazy
|
||||
def thumb_url(self):
|
||||
if self.over_18: return f"https://{site}/assets/images/nsfw.png"
|
||||
elif not self.url: return f"https://{site}/assets/images/default_thumb_text.png"
|
||||
elif not self.url: return f"https://{site}/assets/images/{site}/default_thumb_text.png"
|
||||
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.png"
|
||||
else: return f"https://{site}/assets/images/default_thumb_link.png"
|
||||
|
@ -341,7 +341,7 @@ class Submission(Base, Stndrd, Age_times, Scores, Fuzzing):
|
|||
|
||||
def realbody(self, v):
|
||||
body = self.submission_aux.body_html
|
||||
if not v or v.slurreplacer: body = body.replace(" nigger"," 🏀").replace(" Nigger"," 🏀").replace(" NIGGER"," 🏀").replace(" pedo"," libertarian").replace(" Pedo"," Libertarian ").replace(" PEDO"," LIBERTARIAN ").replace(" tranny"," 🚄").replace(" Tranny"," 🚄").replace(" TRANNY"," 🚄").replace(" fag"," cute twink").replace(" Fag"," Cute twink").replace(" FAG"," CUTE TWINK").replace(" faggot"," cute twink").replace(" Faggot"," Cute twink").replace(" FAGGOT"," CUTE TWINK").replace(" trump"," DDR").replace(" Trump"," DDR").replace(" TRUMP"," DDR").replace(" biden"," DDD").replace(" Biden"," DDD").replace(" BIDEN"," DDD").replace(" steve akins"," penny verity oaken").replace(" Steve Akins"," Penny Verity Oaken").replace(" STEVE AKINS"," PENNY VERITY OAKEN").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" kill yourself"," keep yourself safe").replace(" KILL YOURSELF"," KEEP YOURSELF SAFE").replace(" trannie"," 🚄").replace(" Trannie"," 🚄").replace(" TRANNIE"," 🚄").replace(" troon"," 🚄").replace(" Troon"," 🚄").replace(" TROON"," 🚄")
|
||||
if not v or v.slurreplacer: body = body.replace(" nigger"," 🏀").replace(" Nigger"," 🏀").replace(" NIGGER"," 🏀").replace(" pedo"," libertarian").replace(" Pedo"," Libertarian ").replace(" PEDO"," LIBERTARIAN ").replace(" tranny"," 🚄").replace(" Tranny"," 🚄").replace(" TRANNY"," 🚄").replace(" fag"," cute twink").replace(" Fag"," Cute twink").replace(" FAG"," CUTE TWINK").replace(" faggot"," cute twink").replace(" Faggot"," Cute twink").replace(" FAGGOT"," CUTE TWINK").replace(" steve akins"," penny verity oaken").replace(" Steve Akins"," Penny Verity Oaken").replace(" STEVE AKINS"," PENNY VERITY OAKEN").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" kill yourself"," keep yourself safe").replace(" KILL YOURSELF"," KEEP YOURSELF SAFE").replace(" trannie"," 🚄").replace(" Trannie"," 🚄").replace(" TRANNIE"," 🚄").replace(" troon"," 🚄").replace(" Troon"," 🚄").replace(" TROON"," 🚄")
|
||||
if v and not v.oldreddit: body = body.replace("old.reddit.com", "reddit.com")
|
||||
return body
|
||||
|
||||
|
@ -357,7 +357,7 @@ class Submission(Base, Stndrd, Age_times, Scores, Fuzzing):
|
|||
def realtitle(self, v):
|
||||
if self.title_html: title = self.title_html
|
||||
else: title = self.title
|
||||
if not v or v.slurreplacer: title = title.replace(" nigger"," 🏀").replace(" Nigger"," 🏀").replace(" NIGGER"," 🏀").replace(" pedo"," libertarian").replace(" Pedo"," Libertarian ").replace(" PEDO"," LIBERTARIAN ").replace(" tranny"," 🚄").replace(" Tranny"," 🚄").replace(" TRANNY"," 🚄").replace(" fag"," cute twink").replace(" Fag"," Cute twink").replace(" FAG"," CUTE TWINK").replace(" faggot"," cute twink").replace(" Faggot"," Cute twink").replace(" FAGGOT"," CUTE TWINK").replace(" trump"," DDR").replace(" Trump"," DDR").replace(" TRUMP"," DDR").replace(" biden"," DDD").replace(" Biden"," DDD").replace(" BIDEN"," DDD").replace(" steve akins"," penny verity oaken").replace(" Steve Akins"," Penny Verity Oaken").replace(" STEVE AKINS"," PENNY VERITY OAKEN").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" kill yourself"," keep yourself safe").replace(" KILL YOURSELF"," KEEP YOURSELF SAFE").replace(" trannie"," 🚄").replace(" Trannie"," 🚄").replace(" TRANNIE"," 🚄").replace(" troon"," 🚄").replace(" Troon"," 🚄").replace(" TROON"," 🚄")
|
||||
if not v or v.slurreplacer: title = title.replace(" nigger"," 🏀").replace(" Nigger"," 🏀").replace(" NIGGER"," 🏀").replace(" pedo"," libertarian").replace(" Pedo"," Libertarian ").replace(" PEDO"," LIBERTARIAN ").replace(" tranny"," 🚄").replace(" Tranny"," 🚄").replace(" TRANNY"," 🚄").replace(" fag"," cute twink").replace(" Fag"," Cute twink").replace(" FAG"," CUTE TWINK").replace(" faggot"," cute twink").replace(" Faggot"," Cute twink").replace(" FAGGOT"," CUTE TWINK").replace(" steve akins"," penny verity oaken").replace(" Steve Akins"," Penny Verity Oaken").replace(" STEVE AKINS"," PENNY VERITY OAKEN").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" RETARD"," RSLUR").replace(" rapist"," male feminist").replace(" Rapist"," Male feminist").replace(" RAPIST"," MALE FEMINIST").replace(" kill yourself"," keep yourself safe").replace(" KILL YOURSELF"," KEEP YOURSELF SAFE").replace(" trannie"," 🚄").replace(" Trannie"," 🚄").replace(" TRANNIE"," 🚄").replace(" troon"," 🚄").replace(" Troon"," 🚄").replace(" TROON"," 🚄")
|
||||
return title
|
||||
|
||||
@property
|
||||
|
|
|
@ -16,18 +16,19 @@ from files.__main__ import Base, cache
|
|||
from files.helpers.security import *
|
||||
|
||||
site = environ.get("DOMAIN").strip()
|
||||
|
||||
defaulttheme = environ.get("DEFAULT_COLOR").strip()
|
||||
defaultcolor = environ.get("DEFAULT_COLOR").strip()
|
||||
class User(Base, Stndrd, Age_times):
|
||||
__tablename__ = "users"
|
||||
id = Column(Integer, primary_key=True)
|
||||
username = Column(String)
|
||||
namecolor = Column(String, default='ff66ac')
|
||||
namecolor = Column(String, default=defaultcolor)
|
||||
background = Column(String)
|
||||
customtitle = Column(String)
|
||||
customtitleplain = Column(String)
|
||||
titlecolor = Column(String, default='ff66ac')
|
||||
theme = Column(String, default='dark')
|
||||
themecolor = Column(String, default='ff66ac')
|
||||
titlecolor = Column(String, default=defaultcolor)
|
||||
theme = Column(String, default=defaulttheme)
|
||||
themecolor = Column(String, default=defaultcolor)
|
||||
song = Column(String)
|
||||
highres = Column(String)
|
||||
profileurl = Column(String)
|
||||
|
|
|
@ -158,7 +158,7 @@ def api_comment(v):
|
|||
|
||||
if not body and not request.files.get('file'): return {"error":"You need to actually write something!"}, 400
|
||||
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|PNG|JPG|JPEG|GIF))', body, re.MULTILINE): body = body.replace(i.group(1), f'})')
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|PNG|JPG|JPEG|GIF|?maxwidth=9999))', body, re.MULTILINE): body = body.replace(i.group(1), f'})')
|
||||
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")
|
||||
with CustomRenderer(post_id=parent_id) as renderer: body_md = renderer.render(mistletoe.Document(body))
|
||||
body_html = sanitize(body_md, linkgen=True)
|
||||
|
@ -535,7 +535,7 @@ def edit_comment(cid, v):
|
|||
if c.is_banned or c.deleted_utc > 0: abort(403)
|
||||
|
||||
body = request.form.get("body", "")[:10000]
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|PNG|JPG|JPEG|GIF))', body, re.MULTILINE): body = body.replace(i.group(1), f'})')
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|PNG|JPG|JPEG|GIF|?maxwidth=9999))', body, re.MULTILINE): body = body.replace(i.group(1), f'})')
|
||||
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")
|
||||
with CustomRenderer(post_id=c.post.id) as renderer: body_md = renderer.render(mistletoe.Document(body))
|
||||
body_html = sanitize(body_md, linkgen=True)
|
||||
|
|
|
@ -236,7 +236,7 @@ def edit_post(pid, v):
|
|||
abort(403)
|
||||
|
||||
body = request.form.get("body", "")
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|PNG|JPG|JPEG|GIF))', body, re.MULTILINE): body = body.replace(i.group(1), f'})')
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|PNG|JPG|JPEG|GIF|?maxwidth=9999))', body, re.MULTILINE): body = body.replace(i.group(1), f'})')
|
||||
with CustomRenderer() as renderer: body_md = renderer.render(mistletoe.Document(body))
|
||||
body_html = sanitize(body_md, linkgen=True)
|
||||
|
||||
|
@ -707,7 +707,7 @@ def submit_post(v):
|
|||
else: return render_template("submit.html", v=v, error="2048 character limit for URLs.", title=title, url=url,body=request.form.get("body", "")), 400
|
||||
|
||||
# render text
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|PNG|JPG|JPEG|GIF))', body, re.MULTILINE): body = body.replace(i.group(1), f'})')
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|PNG|JPG|JPEG|GIF|?maxwidth=9999))', body, re.MULTILINE): body = body.replace(i.group(1), f'})')
|
||||
with CustomRenderer() as renderer:
|
||||
body_md = renderer.render(mistletoe.Document(body))
|
||||
body_html = sanitize(body_md, linkgen=True)
|
||||
|
|
|
@ -76,7 +76,7 @@ def settings_profile_post(v):
|
|||
v=v,
|
||||
error="You didn't change anything")
|
||||
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|PNG|JPG|JPEG|GIF))', bio, re.MULTILINE): bio = bio.replace(i.group(1), f'})')
|
||||
for i in re.finditer('^(https:\/\/.*\.(png|jpg|jpeg|gif|PNG|JPG|JPEG|GIF|?maxwidth=9999))', bio, re.MULTILINE): bio = bio.replace(i.group(1), f'})')
|
||||
bio = bio.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")
|
||||
with CustomRenderer() as renderer: bio_html = renderer.render(mistletoe.Document(bio))
|
||||
bio_html = sanitize(bio_html, linkgen=True)
|
||||
|
|
|
@ -97,7 +97,7 @@ def index():
|
|||
|
||||
@app.get("/assets/favicon.ico")
|
||||
def favicon():
|
||||
return send_file("./assets/images/favicon.png")
|
||||
return send_file(f"./assets/images/{site}/favicon.png")
|
||||
|
||||
@app.get("/api")
|
||||
@auth_desired
|
||||
|
|
|
@ -71,6 +71,8 @@ def api_vote_post(post_id, new, v):
|
|||
# check for existing vote
|
||||
existing = g.db.query(Vote).filter_by(user_id=v.id, submission_id=post.id).first()
|
||||
|
||||
if existing.vote_type == new: return "", 204
|
||||
|
||||
if existing:
|
||||
if existing.vote_type == 0 and new != 0:
|
||||
post.author.coins += 1
|
||||
|
@ -119,6 +121,8 @@ def api_vote_comment(comment_id, new, v):
|
|||
# check for existing vote
|
||||
existing = g.db.query(CommentVote).filter_by(user_id=v.id, comment_id=comment.id).first()
|
||||
|
||||
if existing.vote_type == new: return "", 204
|
||||
|
||||
if existing:
|
||||
if existing.vote_type == 0 and new != 0:
|
||||
comment.author.coins += 1
|
||||
|
@ -145,4 +149,4 @@ def api_vote_comment(comment_id, new, v):
|
|||
comment.upvotes = g.db.query(CommentVote).filter_by(comment_id=comment.id, vote_type=1).count()
|
||||
comment.downvotes = g.db.query(CommentVote).filter_by(comment_id=comment.id, vote_type=-1).count()
|
||||
g.db.add(comment)
|
||||
return make_response(""), 204
|
||||
return "", 204
|
|
@ -24,7 +24,7 @@
|
|||
<div class="text-small text-muted">Or enter this code: {{mfa_secret}}</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" | app_config}} account password.
|
||||
<span class="font-weight-bold">Step 2:</span> Enter the six-digit code generated in the authenticator app and your {{'SITE_NAME' | app_config}} account password.
|
||||
</p>
|
||||
<label for="2fa_input">6-digit code</label>
|
||||
<input type="text" class="form-control mb-2" id="2fa_input" name="2fa_token" placeholder="# # # # # #" required>
|
||||
|
@ -47,7 +47,7 @@
|
|||
|
||||
<div class="alert alert-warning" role="alert">
|
||||
<i class="fas fa-info-circle"></i>
|
||||
To disable two-step login, please enter your {{"SITE_NAME" | app_config}} account password and the 6-digit code generated in your authentication app. If you no longer have your two-step device, <a href="/lost_2fa">click here</a>.
|
||||
To disable two-step login, please enter your {{'SITE_NAME' | app_config}} account password and the 6-digit code generated in your authentication app. If you no longer have your two-step device, <a href="/lost_2fa">click here</a>.
|
||||
</div>
|
||||
|
||||
<label for="2fa_input_password">Password</label>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{% extends "default.html" %}
|
||||
|
||||
{% block title %}
|
||||
<title>{{"SITE_NAME" | app_config}}</title>
|
||||
<meta name="description" content="{{"SITE_NAME" | app_config}} Help">
|
||||
<title>{{'SITE_NAME' | app_config}}</title>
|
||||
<meta name="description" content="{{'SITE_NAME' | app_config}} Help">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{% extends "default.html" %}
|
||||
|
||||
{% block title %}
|
||||
<title>{{"SITE_NAME" | app_config}}</title>
|
||||
<meta name="description" content="{{"SITE_NAME" | app_config}} Help">
|
||||
<title>{{'SITE_NAME' | app_config}}</title>
|
||||
<meta name="description" content="{{'SITE_NAME' | app_config}} Help">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
{% block title %}
|
||||
<title>API App Administration</title>
|
||||
<meta name="description" content="{{"SITE_NAME" | app_config}} Help">
|
||||
<meta name="description" content="{{'SITE_NAME' | app_config}} Help">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
{% block title %}
|
||||
<title>API App Administration</title>
|
||||
<meta name="description" content="{{"SITE_NAME" | app_config}} Help">
|
||||
<meta name="description" content="{{'SITE_NAME' | app_config}} Help">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{% extends "default.html" %}
|
||||
|
||||
{% block title %}
|
||||
<title>{{"SITE_NAME" | app_config}}</title>
|
||||
<meta name="description" content="{{"SITE_NAME" | app_config}} Help">
|
||||
<title>{{'SITE_NAME' | app_config}}</title>
|
||||
<meta name="description" content="{{'SITE_NAME' | app_config}} Help">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
|
||||
{% block title %}
|
||||
<title>Flagged Posts</title>
|
||||
<meta name="description" content="on {{"SITE_NAME" | app_config}}">
|
||||
<meta name="description" content="on {{'SITE_NAME' | app_config}}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
{% block title %}
|
||||
<title>Image feed</title>
|
||||
<meta name="description" content="on {{"SITE_NAME" | app_config}}">
|
||||
<meta name="description" content="on {{'SITE_NAME' | app_config}}">
|
||||
{% endblock %}
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
{% block title %}
|
||||
<title>Removed Content</title>
|
||||
<meta name="description" content="on {{"SITE_NAME" | app_config}}">
|
||||
<meta name="description" content="on {{'SITE_NAME' | app_config}}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{% extends "default.html" %}
|
||||
|
||||
{% block title %}
|
||||
<title>{{"SITE_NAME" | app_config}} - API</title>
|
||||
<meta name="description" content="{{"SITE_NAME" | app_config}} API Guide">
|
||||
<title>{{'SITE_NAME' | app_config}} - API</title>
|
||||
<meta name="description" content="{{'SITE_NAME' | app_config}} API Guide">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -20,7 +20,7 @@ This page explains how to obtain and use an access token.
|
|||
|
||||
## Step 1: Create your Application
|
||||
|
||||
In the [apps tab of {{"SITE_NAME" | app_config}} settings](/settings/apps), fill in and submit the form to request an access token. You will need:
|
||||
In the [apps tab of {{'SITE_NAME' | app_config}} settings](/settings/apps), fill in and submit the form to request an access token. You will need:
|
||||
|
||||
* an application name
|
||||
* a Redirect URI. May not use HTTP unless using localhost (use HTTPS instead).
|
||||
|
@ -28,13 +28,13 @@ In the [apps tab of {{"SITE_NAME" | app_config}} settings](/settings/apps), fill
|
|||
|
||||
Don't worry too much about accuracy; you will be able to change all of these later.
|
||||
|
||||
{{"SITE_NAME" | app_config}} administrators will review and approve or deny your request for an access token. You'll know when your request has been approved when you get a private message with an access token tied to your account.
|
||||
{{'SITE_NAME' | app_config}} administrators will review and approve or deny your request for an access token. You'll know when your request has been approved when you get a private message with an access token tied to your account.
|
||||
|
||||
DO NOT reveal your Client ID or Access Token. Anyone with these information will be able to pretend to be you. You are responsible for keeping them a secret!
|
||||
|
||||
## Step 2: Using the Access Token
|
||||
|
||||
To use the access token, include the following header in subsequent API requests to {{"SITE_NAME" | app_config}}: `Authorization: access_token_goes_here`
|
||||
To use the access token, include the following header in subsequent API requests to {{'SITE_NAME' | app_config}}: `Authorization: access_token_goes_here`
|
||||
|
||||
Python example:
|
||||
|
||||
|
@ -73,13 +73,13 @@ The expected result of this would be a large JSON representation of the posts po
|
|||
|
||||
<pre>
|
||||
</pre>
|
||||
The OAuth2 authorization flow is used to enable users to authorize third-party applications to access their {{"SITE_NAME" | app_config}} account without having to provide their login information to the application.
|
||||
The OAuth2 authorization flow is used to enable users to authorize third-party applications to access their {{'SITE_NAME' | app_config}} account without having to provide their login information to the application.
|
||||
|
||||
This page explains how to obtain API application keys, how to prompt a user for authorization, and how to obtain and use access tokens.
|
||||
|
||||
## Step 1: Create your Application
|
||||
|
||||
In the [apps tab of {{"SITE_NAME" | app_config}} settings](/settings/apps), fill in and submit the form to request new API keys. You will need:
|
||||
In the [apps tab of {{'SITE_NAME' | app_config}} settings](/settings/apps), fill in and submit the form to request new API keys. You will need:
|
||||
|
||||
* an application name
|
||||
* a Redirect URI. May not use HTTP unless using localhost (use HTTPS instead).
|
||||
|
@ -87,7 +87,7 @@ In the [apps tab of {{"SITE_NAME" | app_config}} settings](/settings/apps), fill
|
|||
|
||||
Don't worry too much about accuracy; you will be able to change all of these later.
|
||||
|
||||
{{"SITE_NAME" | app_config}} administrators will review and approve or deny your request for API keys. You'll know when your request has been approved when you get a private message with an access token tied to your account.
|
||||
{{'SITE_NAME' | app_config}} administrators will review and approve or deny your request for API keys. You'll know when your request has been approved when you get a private message with an access token tied to your account.
|
||||
|
||||
DO NOT reveal your Client ID or Access Token. Anyone with these information will be able to pretend to be you. You are responsible for keeping them a secret!
|
||||
|
||||
|
@ -95,15 +95,15 @@ DO NOT reveal your Client ID or Access Token. Anyone with these information will
|
|||
|
||||
Send your user to `{{request.host_url}}authorize/?client_id=YOUR_CLIENT_ID`
|
||||
|
||||
If done correctly, the user will see that your application wants to access their {{"SITE_NAME" | app_config}} account, and be prompted to approve or deny the request.
|
||||
If done correctly, the user will see that your application wants to access their {{'SITE_NAME' | app_config}} account, and be prompted to approve or deny the request.
|
||||
|
||||
## Step 3: Catch the redirect
|
||||
|
||||
The user clicks "Authorize". {{"SITE_NAME" | app_config}} will redirect the user's browser to GET the designated redirect URI. The access token URL parameter will be included in the redirect, which your server should process.
|
||||
The user clicks "Authorize". {{'SITE_NAME' | app_config}} will redirect the user's browser to GET the designated redirect URI. The access token URL parameter will be included in the redirect, which your server should process.
|
||||
|
||||
## Step 4: Using the Access Token
|
||||
|
||||
To use the access token, include the following header in subsequent API requests to {{"SITE_NAME" | app_config}}: `Authorization: access_token_goes_here`
|
||||
To use the access token, include the following header in subsequent API requests to {{'SITE_NAME' | app_config}}: `Authorization: access_token_goes_here`
|
||||
|
||||
Python example:
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="{% block pagedesc %}{{"SITE_NAME" | app_config}}{% endblock %}">
|
||||
<meta name="description" content="{% block pagedesc %}{{'SITE_NAME' | app_config}}{% endblock %}">
|
||||
<meta name="author" content="">
|
||||
|
||||
<title>{% block pagetitle %}{{"SITE_NAME" | app_config}}{% endblock %}</title>
|
||||
<title>{% block pagetitle %}{{'SITE_NAME' | app_config}}{% endblock %}</title>
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
|
||||
|
||||
|
@ -23,12 +23,12 @@
|
|||
integrity="sha384-L469/ELG4Bg9sDQbl0hvjMq8pOcqFgkSpwhwnslzvVVGpDjYJ6wJJyYjvG3u8XW7"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} CSS -->
|
||||
<!-- {{'SITE_NAME' | app_config}} CSS -->
|
||||
{% if v %}
|
||||
<link rel="stylesheet" href="/assets/style/{{v.theme}}_{{v.themecolor}}.css">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/style/agendaposter.css">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
{% else %}
|
||||
<link rel="stylesheet" href="/assets/style/dark_ff66ac.css">
|
||||
<link rel="stylesheet" href="{{'DEFAULT_THEME' | app_config}}">
|
||||
{% endif %}
|
||||
|
||||
</head>
|
||||
|
@ -57,7 +57,7 @@
|
|||
<div class="col-10 col-md-7">
|
||||
|
||||
<div class="mb-5">
|
||||
<a href="/" class="text-decoration-none"><span class="h3 text-primary">{{"SITE_NAME" | app_config}}</span></a>
|
||||
<a href="/" class="text-decoration-none"><span class="h3 text-primary">{{'SITE_NAME' | app_config}}</span></a>
|
||||
</div>
|
||||
|
||||
<h1 class="h2">{% block authtitle %}{% endblock %}</h1>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<div>Badges are sorted into bronze, silver, gold, and diamond tiers, based on the relative difficulty of obtaining them.</div>
|
||||
|
||||
<h2 class="mt-3">Unlockable Badges</h2>
|
||||
<div>These badges are automatically granted through different kinds of activity on {{"SITE_NAME" | app_config}}.</div>
|
||||
<div>These badges are automatically granted through different kinds of activity on {{'SITE_NAME' | app_config}}.</div>
|
||||
<pre></pre>
|
||||
<table class="table table-striped mb-5">
|
||||
<thead class="bg-primary text-white">
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
<span class="font-weight-bold"><a href="{{c.post.permalink}}">{{c.post.title | safe}}</a></span>
|
||||
{% endif %}
|
||||
{% elif c.author_id==1046 or c.author_id==2360 %}
|
||||
<span class="font-weight-bold">{{"SITE_NAME" | app_config}} Notification</span>
|
||||
<span class="font-weight-bold">{{'SITE_NAME' | app_config}} Notification</span>
|
||||
{% else %}
|
||||
<span class="font-weight-bold">Private Message</span>
|
||||
{% endif %}
|
||||
|
@ -125,7 +125,7 @@
|
|||
{% if c.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span> {% endif %}
|
||||
{% if v and v.admin_level==6 and c.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-toggle="tooltip" data-placement="bottom" title="Shadowbanned user"></i> {% endif %}
|
||||
{% if c.is_pinned %}<i class="text-admin fas fa-thumbtack fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Pinned comment"></i> {% endif %}
|
||||
{% if c.distinguish_level %}<i class="fas fa-broom text-admin" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="{{"SITE_NAME" | app_config}} Badmin, speaking officially"></i> {% endif %}
|
||||
{% if c.distinguish_level %}<i class="fas fa-broom text-admin" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="{{'SITE_NAME' | app_config}} Badmin, speaking officially"></i> {% endif %}
|
||||
{% if c.is_op %}<i class="fas fa-microphone-stand text-info" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="OP"></i> {% endif %}
|
||||
{% if c.is_bot %}<i class="fad fa-robot text-info" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Bot"></i> {% endif %}
|
||||
{% if c.is_blocking %}<i class="fas fa-user-minus text-warning" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="{% if v and v.admin_level >= 2 %}You're blocking this user, but you can see this comment because {{'it\'s an admin comment' if c.distinguish_level else 'you\'re an admin'}}.{% else %}Comment author is banned{% endif %}"></i> {% endif %}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{% extends "default.html" %}
|
||||
|
||||
{% block title %}
|
||||
<title>{{"SITE_NAME" | app_config}} - Contact</title>
|
||||
<meta name="description" content="Contact {{"SITE_NAME" | app_config}} Admins">
|
||||
<title>{{'SITE_NAME' | app_config}} - Contact</title>
|
||||
<meta name="description" content="Contact {{'SITE_NAME' | app_config}} Admins">
|
||||
{% endblock %}
|
||||
|
||||
|
||||
|
@ -31,10 +31,10 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
|
||||
<h1 class="article-title">Contact {{"SITE_NAME" | app_config}} Admins</h1>
|
||||
<h1 class="article-title">Contact {{'SITE_NAME' | app_config}} Admins</h1>
|
||||
{% if v and v.is_activated and not v.is_suspended %}
|
||||
|
||||
<p>Use this form to contact {{"SITE_NAME" | app_config}} Admins.</p>
|
||||
<p>Use this form to contact {{'SITE_NAME' | app_config}} Admins.</p>
|
||||
|
||||
<label class="mt-3">Your Email</label>
|
||||
<input class="form-control" value="{{v.email}}" readonly="readonly" disabled>
|
||||
|
@ -50,7 +50,7 @@
|
|||
|
||||
{% elif v and v.is_suspended %}
|
||||
|
||||
<p>Your {{"SITE_NAME" | app_config}} account has been suspended. You are not permitted to use this form.</p>
|
||||
<p>Your {{'SITE_NAME' | app_config}} account has been suspended. You are not permitted to use this form.</p>
|
||||
|
||||
|
||||
{% elif v %}
|
||||
|
|
|
@ -827,17 +827,17 @@
|
|||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<meta name="thumbnail" content="/assets/images/preview.png">
|
||||
<meta name="thumbnail" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.png">
|
||||
|
||||
<link rel="icon" type="image/png" href="/assets/images/favicon.png">
|
||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png">
|
||||
|
||||
{% block title %}
|
||||
<title>{{"SITE_NAME" | app_config}}</title>
|
||||
<title>{{'SITE_NAME' | app_config}}</title>
|
||||
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="{{"SITE_NAME" | app_config}}" />
|
||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
<meta property="og:image" content="{{'/assets/images/preview.png' | full_link}}" />
|
||||
<meta property="og:image" content="{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}" />
|
||||
<meta property="og:url" content="{{request.path | full_link}}">
|
||||
<meta property="og:description" name="description" content="Dude bussy lmao">
|
||||
<meta property="og:author" name="author" content="@{{request.host_url}}" />
|
||||
|
@ -845,10 +845,10 @@
|
|||
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:site" content="@{{request.host_url}}">
|
||||
<meta name="twitter:title" content="{{"SITE_NAME" | app_config}}" />
|
||||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="@{{request.host_url}}">
|
||||
<meta name="twitter:description" content="Dude bussy lmao" />
|
||||
<meta name="twitter:image" content="/assets/images/preview.png" />
|
||||
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.png" />
|
||||
<meta name="twitter:url" content="{{request.path | full_link}}" />
|
||||
{% endblock %}
|
||||
|
||||
|
@ -862,157 +862,155 @@
|
|||
<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/favicon.png">
|
||||
<!---<link rel="icon" type="image/png" sizes="32x32" href="/assets/images/favicon.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/assets/images/favicon.png">--->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png">
|
||||
<!---<link rel="icon" type="image/png" sizes="32x32" href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png">--->
|
||||
<link rel="manifest" href="/assets/manifest.json">
|
||||
<link rel="mask-icon" href="/assets/images/favicon.png" color="#FF66AC">
|
||||
<link rel="shortcut icon" href="/assets/images/favicon.png">
|
||||
<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="#FF66AC">
|
||||
<link rel="mask-icon" href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png" color="#{{'DEFAULT_COLOR' | app_config}}">
|
||||
<link rel="shortcut icon" href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png">
|
||||
<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}}">
|
||||
<meta name="msapplication-config" content="/assets/images/browserconfig.xml">
|
||||
<meta name="theme-color" content="#FF66AC">
|
||||
<meta name="theme-color" content="#{{'DEFAULT_COLOR' | app_config}}">
|
||||
|
||||
|
||||
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="320x480"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="640x960"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="640x1136"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="750x1334"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="768x1004"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="768x1024"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="828x1792"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1024x748"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1024x768"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1125x2436"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1242x2208"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1242x2688"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1334x750"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1536x2008"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1536x2048"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1668x2224"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="1792x828"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2048x1496"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2048x1536"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2048x2732"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2208x1242"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2224x1668"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2436x1125"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2668x1242"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
sizes="2737x2048"
|
||||
href="/assets/images/favicon.png"
|
||||
href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png"
|
||||
/>
|
||||
|
||||
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} CSS -->
|
||||
|
||||
{% block stylesheets %}
|
||||
|
||||
{% if v %}
|
||||
<link rel="stylesheet" href="/assets/style/{{v.theme}}_{{v.themecolor}}.css">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/style/agendaposter.css">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
{% else %}
|
||||
<link rel="stylesheet" href="/assets/style/dark_ff66ac.css">
|
||||
<link rel="stylesheet" href="{{'DEFAULT_THEME' | app_config}}">
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
@ -1036,7 +1034,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 %}">
|
||||
|
||||
<a href="https://secure.transequality.org/site/Donation2?df_id=1480"><img src="/assets/images/{% if v %}banner.png{% else %}cached.jpg{% endif %}" width="100%"></a>
|
||||
<a href="https://secure.transequality.org/site/Donation2?df_id=1480"><img src="/assets/images/{{'SITE_NAME' | app_config}}/{% if v %}banner.png{% else %}cached.jpg{% endif %}" width="100%"></a>
|
||||
|
||||
{% include "header.html" %}
|
||||
|
||||
|
@ -1162,7 +1160,7 @@
|
|||
{% if request.path=='/' and g.system and g.timestamp>session.get('tooltip_last_dismissed',0)+60*60*24 and (not g.system.endswith('/chrome') and not g.system.endswith('/other')) and not g.system.endswith('/webview') %}
|
||||
|
||||
<div id="mobile-prompt-container" class="fixed-bottom">
|
||||
<div id="mobile-prompt" href="javascript:void(0)" data-toggle="tooltip" data-container="#mobile-prompt-container" data-placement="top" data-trigger="click" title="Install the {{"SITE_NAME" | app_config}} webapp by saving this page to your home screen!"></div>
|
||||
<div id="mobile-prompt" href="javascript:void(0)" data-toggle="tooltip" data-container="#mobile-prompt-container" data-placement="top" data-trigger="click" title="Install the {{'SITE_NAME' | app_config}} webapp by saving this page to your home screen!"></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<i class="fad fa-trash-alt text-muted" style="font-size: 3.5rem;"></i>
|
||||
</div>
|
||||
|
||||
<p>Your comment will be removed everywhere on {{"SITE_NAME" | app_config}}. This action cannot be undone.</p>
|
||||
<p>Your comment will be removed everywhere on {{'SITE_NAME' | app_config}}. This action cannot be undone.</p>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
|
|
|
@ -22,9 +22,9 @@
|
|||
|
||||
<div class="h4 d-md-none">Delete post?</div>
|
||||
|
||||
<p class="d-none d-md-block">Your post will be removed everywhere on {{"SITE_NAME" | app_config}}.</p>
|
||||
<p class="d-none d-md-block">Your post will be removed everywhere on {{'SITE_NAME' | app_config}}.</p>
|
||||
|
||||
<p class="text-muted d-md-none">Your post will be removed everywhere on {{"SITE_NAME" | app_config}}.</p>
|
||||
<p class="text-muted d-md-none">Your post will be removed everywhere on {{'SITE_NAME' | app_config}}.</p>
|
||||
|
||||
<div class="d-md-none">
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>Please note that {{"SITE_NAME" | app_config}} will never ask you for your email, password, or two-factor token via email, text, or phone.</p>
|
||||
<p>Please note that {{'SITE_NAME' | app_config}} will never ask you for your email, password, or two-factor token via email, text, or phone.</p>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
|
|
|
@ -433,7 +433,7 @@
|
|||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<span class="preheader">{% block preheader %}Thanks for joining {{"SITE_NAME" | app_config}}! Please take a sec to verify the email you used to sign up.{% endblock %}</span>
|
||||
<span class="preheader">{% block preheader %}Thanks for joining {{'SITE_NAME' | app_config}}! Please take a sec to verify the email you used to sign up.{% endblock %}</span>
|
||||
<table class="email-wrapper" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
|
@ -441,7 +441,7 @@
|
|||
<tr>
|
||||
<td class="email-masthead">
|
||||
<a href="/" class="f-fallback email-masthead_name">
|
||||
{{"SITE_NAME" | app_config}}
|
||||
{{'SITE_NAME' | app_config}}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
{% block title %}Verify Your Email{% endblock %}</h1>
|
||||
|
||||
{% block preheader %}Verify your new {{"SITE_NAME" | app_config}} email.{% endblock %}
|
||||
{% block preheader %}Verify your new {{'SITE_NAME' | app_config}} email.{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<p>You told us you wanted to change your {{"SITE_NAME" | app_config}} account email. To finish this process, please verify your new email address:</p>
|
||||
<p>You told us you wanted to change your {{'SITE_NAME' | app_config}} account email. To finish this process, please verify your new email address:</p>
|
||||
<!-- Action -->
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
|
@ -45,7 +45,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>Please note that {{"SITE_NAME" | app_config}} will never ask you for your email, password, or two-factor token via email, text, or phone.</p>
|
||||
<p>Please note that {{'SITE_NAME' | app_config}} will never ask you for your email, password, or two-factor token via email, text, or phone.</p>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{% extends "email/default.html" %}
|
||||
|
||||
{% block title %}Welcome to {{"SITE_NAME" | app_config}}!{% endblock %}</h1>
|
||||
{% block title %}Welcome to {{'SITE_NAME' | app_config}}!{% endblock %}</h1>
|
||||
|
||||
{% block content %}
|
||||
<p>Thanks for joining {{"SITE_NAME" | app_config}}. We’re happy to have you on board. To get the most out of {{"SITE_NAME" | app_config}}, please verify your account email:</p>
|
||||
<p>Thanks for joining {{'SITE_NAME' | app_config}}. We’re happy to have you on board. To get the most out of {{'SITE_NAME' | app_config}}, please verify your account email:</p>
|
||||
<!-- Action -->
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
|
@ -43,7 +43,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>Please note that {{"SITE_NAME" | app_config}} will never ask you for your email, password, or two-factor token via email, text, or phone.</p>
|
||||
<p>Please note that {{'SITE_NAME' | app_config}} will never ask you for your email, password, or two-factor token via email, text, or phone.</p>
|
||||
<!-- Sub copy -->
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends "email/default.html" %}
|
||||
|
||||
{% block title %}Reset Your Password{% endblock %}
|
||||
{% block preheader %}Reset your {{"SITE_NAME" | app_config}} password.{% endblock %}
|
||||
{% block preheader %}Reset your {{'SITE_NAME' | app_config}} password.{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<p>To reset your password, click the button below:</p>
|
||||
|
|
|
@ -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/favicon.png">
|
||||
<link rel="icon" type="image/png" href="/assets/{{'SITE_NAME' | app_config}}/favicon.png">
|
||||
|
||||
|
||||
<title>503 Service Unavailable</title>
|
||||
|
@ -18,18 +18,18 @@
|
|||
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||
|
||||
<!-- iOS webapp -->
|
||||
<link rel="apple-touch-icon" href="/assets/favicon.png">
|
||||
<link rel="apple-touch-icon" href="/assets/{{'SITE_NAME' | app_config}}/favicon.png">
|
||||
<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}}">
|
||||
<meta name="apple-mobile-web-app-title" content="{{'SITE_NAME' | app_config}}">
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} CSS -->
|
||||
<!-- {{'SITE_NAME' | app_config}} CSS -->
|
||||
|
||||
{% if v %}
|
||||
<link rel="stylesheet" href="/assets/style/{{v.theme}}_{{v.themecolor}}.css">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/style/agendaposter.css">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
{% else %}
|
||||
<link rel="stylesheet" href="/assets/style/dark_ff66ac.css">
|
||||
<link rel="stylesheet" href="{{'DEFAULT_THEME' | app_config}}">
|
||||
{% endif %}
|
||||
|
||||
<!-- Font Awesome -->
|
||||
|
@ -44,7 +44,7 @@
|
|||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-expand-md navbar-light bg-white shadow shadow-md fixed-top" id="navbar">
|
||||
<div class="container">
|
||||
<div class="flex-grow-1"><span class="text-primary navbar-brand">{{"SITE_NAME" | app_config}}</span></div>
|
||||
<div class="flex-grow-1"><span class="text-primary navbar-brand">{{'SITE_NAME' | app_config}}</span></div>
|
||||
|
||||
|
||||
|
||||
|
@ -73,7 +73,7 @@
|
|||
<pre></pre>
|
||||
</span>
|
||||
<h1 class="h5">503 Service Unavailable</h1>
|
||||
<p class="text-muted">r{{"SITE_NAME" | app_config}} is unavailable.</p>
|
||||
<p class="text-muted">r{{'SITE_NAME' | app_config}} is unavailable.</p>
|
||||
<p class="text-muted">HI IT'S CARP AGAIN<BR>I'm like 95% sure this error means Aevann is restarting the server to apply a change. But I think that's also 520/521? What causes a 503? No one knows. Wait like a minute (maybe two) and see if it's still happening. It shouldn't. Good luck!</p>
|
||||
<button class="btn btn-primary" onclick="window.location.reload()">
|
||||
Refresh
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{% extends "authforms.html" %}
|
||||
|
||||
{% block pagetitle %}{{"SITE_NAME" | app_config}} Password Reset{% endblock %}
|
||||
{% block pagetitle %}{{'SITE_NAME' | app_config}} Password Reset{% endblock %}
|
||||
|
||||
{% block authtitle %}Reset your password.{% endblock %}
|
||||
|
||||
{% block authtext %}If there's an email address associated with your account, you can use it to recover your {{"SITE_NAME" | app_config}} account and change your password.{% endblock %}
|
||||
{% block authtext %}If there's an email address associated with your account, you can use it to recover your {{'SITE_NAME' | app_config}} account and change your password.{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends "default.html" %}
|
||||
{% block title %}
|
||||
<title>{{"SITE_NAME" | app_config}} - Formatting</title>
|
||||
<meta name="description" content="{{"SITE_NAME" | app_config}} Formatting">
|
||||
<title>{{'SITE_NAME' | app_config}} - Formatting</title>
|
||||
<meta name="description" content="{{'SITE_NAME' | app_config}} Formatting">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -12,7 +12,7 @@
|
|||
{% filter markdown %}
|
||||
# Formatting
|
||||
|
||||
On {{"SITE_NAME" | app_config}}, you can use Markdown formatting.
|
||||
On {{'SITE_NAME' | app_config}}, you can use Markdown formatting.
|
||||
|
||||
|
||||
## Inline formatting
|
||||
|
@ -49,8 +49,8 @@ On {{"SITE_NAME" | app_config}}, you can use Markdown formatting.
|
|||
</tr>
|
||||
<tr>
|
||||
<td>Links</td>
|
||||
<td>[{{"SITE_NAME" | app_config}}]({{request.host_url}})</td>
|
||||
<td><a href="{{request.host_url}}">{{"SITE_NAME" | app_config}}</a></td>
|
||||
<td>[{{'SITE_NAME' | app_config}}]({{request.host_url}})</td>
|
||||
<td><a href="{{request.host_url}}">{{'SITE_NAME' | app_config}}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Emojis</td>
|
||||
|
@ -132,8 +132,8 @@ We also have some custom hooks for mentioning users and subreddits. Note that th
|
|||
</tr>
|
||||
<tr>
|
||||
<td>Subreddit Mention</td>
|
||||
<td>r/{{"SITE_NAME" | app_config}}</td>
|
||||
<td><a class="d-inline-block" href="https://www.reddit.com/r/{{"SITE_NAME" | app_config}}/">r/{{"SITE_NAME" | app_config}}</a></td>
|
||||
<td>r/{{'SITE_NAME' | app_config}}</td>
|
||||
<td><a class="d-inline-block" href="https://www.reddit.com/r/{{'SITE_NAME' | app_config}}/">r/{{'SITE_NAME' | app_config}}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Redditor Mention</td>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<nav class="navbar navbar-expand-md navbar-light shadow shadow-md fixed-top" id="navbar">
|
||||
<div class="container-fluid">
|
||||
<div class="flex-grow-1"><a {% if v %}href="/"{% else %}href="/logged_out"{% endif %} class="navbar-brand"><img src="/assets/images/logo.gif" height="20"><span class="text-small-extra text-uppercase text-gray-400"> Sigma</span></a></div>
|
||||
<div class="flex-grow-1"><a {% if v %}href="/"{% else %}href="/logged_out"{% endif %} class="navbar-brand"><img src="/assets/images/{{'SITE_NAME' | app_config}}/logo.gif" height="20"><span class="text-small-extra text-uppercase text-gray-400"> Sigma</span></a></div>
|
||||
<div class="flex-grow-1 d-fl d-none d-md-block">
|
||||
<form class="form-inline search flex-nowrap mx-0 mx-lg-auto" action="/search/posts/" method="get">
|
||||
<input class="form-control w-100" type="search" placeholder="Search" aria-label="Search" name="q" value="{{request.args.get('q', '')}}">
|
||||
|
@ -96,10 +96,10 @@
|
|||
</div>
|
||||
<hr class="my-2">
|
||||
<div class="px-2">
|
||||
<a class="dropdown-item" href="/assets/{{"SITE_NAME" | app_config}}.apk"><i class="fab fa-android fa-fw text-left mr-3"></i>Android app</a>
|
||||
<a class="dropdown-item" href="/assets/{{'SITE_NAME' | app_config}}.apk"><i class="fab fa-android fa-fw text-left mr-3"></i>Android app</a>
|
||||
<a class="dropdown-item" href="/post/1xq/posting-guidelines-policies-legal-shit"><i class="fas fa-balance-scale fa-fw text-left mr-3"></i>Rules</a>
|
||||
<a class="dropdown-item" href="/changelog"><i class="fas fa-clipboard fa-fw text-left mr-3"></i>Changelog</a>
|
||||
<a class="dropdown-item" href="https://github.com/Aevann1/{{"SITE_NAME" | app_config}}"><i class="fab fa-github fa-fw text-left mr-3"></i>Source code</a>
|
||||
<a class="dropdown-item" href="https://github.com/Aevann1/{{'SITE_NAME' | app_config}}"><i class="fab fa-github fa-fw text-left mr-3"></i>Source code</a>
|
||||
<a class="dropdown-item" href="/discord"><i class="fab fa-discord fa-fw text-left mr-3"></i>Discord</a>
|
||||
<a class="dropdown-item" href="https://rdrama.gumroad.com/l/tfcvri"><i class="fas fa-dollar-sign fa-fw text-left mr-3"></i>Donate</a>
|
||||
<a class="dropdown-item" href="/archives"><i class="fas fa-book fa-fw text-left mr-3"></i>Subreddit Archives</a>
|
||||
|
@ -152,9 +152,9 @@
|
|||
<li class="nav-item">
|
||||
<a class="nav-link" href="/settings"><i class="fas fa-cog fa-fw mr-3"></i>My account</a>
|
||||
</li>
|
||||
<li class="nav-item"><a class="nav-link" href="/assets/{{"SITE_NAME" | app_config}}.apk"><i class="fab fa-android fa-fw mr-3"></i>Android app</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/assets/{{'SITE_NAME' | app_config}}.apk"><i class="fab fa-android fa-fw mr-3"></i>Android app</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/post/1xq/posting-guidelines-policies-legal-shit"><i class="fas fa-balance-scale fa-fw mr-3"></i>Rules</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="https://github.com/Aevann1/{{"SITE_NAME" | app_config}}"><i class="fab fa-github fa-fw mr-3"></i>Source code</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="https://github.com/Aevann1/{{'SITE_NAME' | app_config}}"><i class="fab fa-github fa-fw mr-3"></i>Source code</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/discord"><i class="fab fa-discord fa-fw mr-3"></i>Discord</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="https://rdrama.gumroad.com/l/tfcvri"><i class="fas fa-dollar-sign fa-fw mr-3"></i>Donate</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/archives"><i class="fas fa-book fa-fw mr-3"></i>Subreddit Archives</a></li>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<link rel="stylesheet" href="/assets/style/{{v.theme}}_{{v.themecolor}}.css">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/style/agendaposter.css">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
{% else %}
|
||||
<link rel="stylesheet" href="/assets/style/dark_ff66ac.css">
|
||||
<link rel="stylesheet" href="{{'DEFAULT_THEME' | app_config}}">
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="Sign in to {{"SITE_NAME" | app_config}}">
|
||||
<meta name="description" content="Sign in to {{'SITE_NAME' | app_config}}">
|
||||
<meta name="author" content="">
|
||||
|
||||
{% block title %}
|
||||
<title>Login - {{"SITE_NAME" | app_config}}</title>
|
||||
<title>Login - {{'SITE_NAME' | app_config}}</title>
|
||||
{% endblock %}
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
|
||||
|
@ -26,8 +26,8 @@
|
|||
integrity="sha384-L469/ELG4Bg9sDQbl0hvjMq8pOcqFgkSpwhwnslzvVVGpDjYJ6wJJyYjvG3u8XW7"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} CSS -->
|
||||
<link rel="stylesheet" href="/assets/style/dark_ff66ac.css">
|
||||
<!-- {{'SITE_NAME' | app_config}} CSS -->
|
||||
<link rel="stylesheet" href="{{'DEFAULT_THEME' | app_config}}">
|
||||
|
||||
</head>
|
||||
|
||||
|
@ -55,7 +55,7 @@
|
|||
<div class="col-10 col-md-7">
|
||||
|
||||
<div class="mb-5">
|
||||
<a href="/" class="text-decoration-none"><span class="h3 text-primary">{{"SITE_NAME" | app_config}}</span></a>
|
||||
<a href="/" class="text-decoration-none"><span class="h3 text-primary">{{'SITE_NAME' | app_config}}</span></a>
|
||||
</div>
|
||||
|
||||
{% block content %}
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="Sign in to {{"SITE_NAME" | app_config}}">
|
||||
<meta name="description" content="Sign in to {{'SITE_NAME' | app_config}}">
|
||||
<meta name="author" content="">
|
||||
|
||||
<title>2-Step Login - {{"SITE_NAME" | app_config}}</title>
|
||||
<title>2-Step Login - {{'SITE_NAME' | app_config}}</title>
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
|
||||
|
@ -22,8 +22,8 @@
|
|||
integrity="sha384-L469/ELG4Bg9sDQbl0hvjMq8pOcqFgkSpwhwnslzvVVGpDjYJ6wJJyYjvG3u8XW7"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} CSS -->
|
||||
<link rel="stylesheet" href="/assets/style/dark_ff66ac.css">
|
||||
<!-- {{'SITE_NAME' | app_config}} CSS -->
|
||||
<link rel="stylesheet" href="{{'DEFAULT_THEME' | app_config}}">
|
||||
|
||||
</head>
|
||||
|
||||
|
@ -52,7 +52,7 @@
|
|||
<div class="col-10 col-md-7">
|
||||
|
||||
<div class="mb-5">
|
||||
<a href="/" class="text-decoration-none"><span class="h3 text-primary">{{"SITE_NAME" | app_config}}</span></a>
|
||||
<a href="/" class="text-decoration-none"><span class="h3 text-primary">{{'SITE_NAME' | app_config}}</span></a>
|
||||
</div>
|
||||
|
||||
<div id="login-form" class="">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "authforms.html" %}
|
||||
|
||||
{% block pagetitle %}{{"SITE_NAME" | app_config}} Two-Factor Removal{% endblock %}
|
||||
{% block pagetitle %}{{'SITE_NAME' | app_config}} Two-Factor Removal{% endblock %}
|
||||
|
||||
{% block authtitle %}Remove the two-factor authentication from your account.{% endblock %}
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
<input type="submit" class="btn btn-primary" id="auth_button" value="Authorize {{application.app_name}}">
|
||||
|
||||
<a href="/" class="btn btn-secondary">No, back to {{"SITE_NAME" | app_config}}</a>
|
||||
<a href="/" class="btn btn-secondary">No, back to {{'SITE_NAME' | app_config}}</a>
|
||||
|
||||
</form>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "authforms.html" %}
|
||||
|
||||
{% block pagetitle %}{{"SITE_NAME" | app_config}} Password Reset{% endblock %}
|
||||
{% block pagetitle %}{{'SITE_NAME' | app_config}} Password Reset{% endblock %}
|
||||
|
||||
{% block authtitle %}Change your password.{% endblock %}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
{% block pagetype %}search{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
<title>Search for "{{query}}" - {{"SITE_NAME" | app_config}}"</title> <!-- include dynamic jinja-generated text in title -->
|
||||
<title>Search for "{{query}}" - {{'SITE_NAME' | app_config}}"</title> <!-- include dynamic jinja-generated text in title -->
|
||||
<meta name="description" content="{{total}} result{{'s' if total != 1 else ''}}">
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -47,13 +47,13 @@
|
|||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="icon" type="image/png" href="/assets/images/favicon.png">
|
||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png">
|
||||
|
||||
<title>{% block pagetitle %}Settings - {{"SITE_NAME" | app_config}}{% endblock %}</title>
|
||||
<title>{% block pagetitle %}Settings - {{'SITE_NAME' | app_config}}{% endblock %}</title>
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="{{"SITE_NAME" | app_config}}" />
|
||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
<meta property="og:image" content="{{'/assets/images/preview.png' | full_link}}" />
|
||||
<meta property="og:image" content="{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}" />
|
||||
<meta property="og:url" content="{{request.host}}">
|
||||
<meta property="og:description" name="description" content="Dude bussy lmao">
|
||||
<meta property="og:author" name="author" content="@{{request.host_url}}" />
|
||||
|
@ -61,10 +61,10 @@
|
|||
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:site" content="@{{request.host_url}}">
|
||||
<meta name="twitter:title" content="{{"SITE_NAME" | app_config}}" />
|
||||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="@{{request.host_url}}">
|
||||
<meta name="twitter:description" content="Dude bussy lmao" />
|
||||
<meta name="twitter:image" content="{{'/assets/images/preview.png' | full_link}}" />
|
||||
<meta name="twitter:image" content="{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}" />
|
||||
<meta name="twitter:url" content="{{request.host}}" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
|
||||
|
||||
|
@ -72,7 +72,7 @@
|
|||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
|
||||
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} CSS -->
|
||||
<!-- {{'SITE_NAME' | app_config}} CSS -->
|
||||
|
||||
<link rel="stylesheet" href="/assets/style/{{v.theme}}_{{v.themecolor}}.css">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/style/agendaposter.css">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
|
|
|
@ -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/preview.png">
|
||||
<link rel="icon" type="image/png" href="/assets/images/favicon.png">
|
||||
<meta name="thumbnail" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.png">
|
||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png">
|
||||
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="{{"SITE_NAME" | app_config}}" />
|
||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
<meta property="og:image" content="{{'/assets/images/preview.png' | full_link}}" />
|
||||
<meta property="og:image" content="{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}" />
|
||||
<meta property="og:url" content="{{request.path | full_link}}">
|
||||
<meta property="og:description" name="description" content="Dude bussy lmao">
|
||||
<meta property="og:author" name="author" content="{{request.host_url}}" />
|
||||
|
@ -22,15 +22,15 @@
|
|||
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:site" content="{{request.host_url}}">
|
||||
<meta name="twitter:title" content="{{"SITE_NAME" | app_config}}" />
|
||||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="{{request.host_url}}">
|
||||
<meta name="twitter:description" content="Dude bussy lmao" />
|
||||
<meta name="twitter:image" content="/assets/images/preview.png" />
|
||||
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.png" />
|
||||
<meta name="twitter:url" content="{{request.path | full_link}}" />
|
||||
|
||||
|
||||
|
||||
<title>{% block pagetitle %}{{"SITE_NAME" | app_config}}{% endblock %}</title>
|
||||
<title>{% block pagetitle %}{{'SITE_NAME' | app_config}}{% endblock %}</title>
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
|
||||
|
||||
|
@ -38,12 +38,12 @@
|
|||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
|
||||
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} CSS -->
|
||||
<!-- {{'SITE_NAME' | app_config}} CSS -->
|
||||
|
||||
{% if v %}
|
||||
<link id="css-link" rel="stylesheet" href="/assets/style/{{v.theme}}_{{v.themecolor}}.css">
|
||||
{% else %}
|
||||
<link id="css-link" rel="stylesheet" href="/assets/style/dark_ff66ac.css">
|
||||
<link id="css-link" rel="stylesheet" href="{{'DEFAULT_THEME' | app_config}}">
|
||||
{% endif %}
|
||||
|
||||
<!-- Font Awesome -->
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{% extends "settings.html" %}
|
||||
|
||||
{% block title %}
|
||||
<title>{{"SITE_NAME" | app_config}} - FAQ</title>
|
||||
<meta name="description" content="{{"SITE_NAME" | app_config}} FAQ">
|
||||
<title>{{'SITE_NAME' | app_config}} - FAQ</title>
|
||||
<meta name="description" content="{{'SITE_NAME' | app_config}} FAQ">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "settings.html" %}
|
||||
|
||||
{% block pagetitle %}Block Settings - {{"SITE_NAME" | app_config}}{% endblock %}
|
||||
{% block pagetitle %}Block Settings - {{'SITE_NAME' | app_config}}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "settings.html" %}
|
||||
|
||||
{% block pagetitle %}Custom CSS - {{"SITE_NAME" | app_config}}{% endblock %}
|
||||
{% block pagetitle %}Custom CSS - {{'SITE_NAME' | app_config}}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "settings.html" %}
|
||||
|
||||
{% block pagetitle %}Profile Settings - {{"SITE_NAME" | app_config}}{% endblock %}
|
||||
{% block pagetitle %}Profile Settings - {{'SITE_NAME' | app_config}}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "settings.html" %}
|
||||
|
||||
{% block pagetitle %}Profile Settings - {{"SITE_NAME" | app_config}}{% endblock %}
|
||||
{% block pagetitle %}Profile Settings - {{'SITE_NAME' | app_config}}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% include "emoji_modal.html" %}
|
||||
|
@ -320,10 +320,10 @@
|
|||
<input type="submit" class="btn btn-secondary text-capitalize mr-2 mb-0 mt-2" value="Disconnect Discord">
|
||||
</form>
|
||||
|
||||
<div class="text-small-extra text-muted mt-3">Disconnecting your Discord account will remove you from the {{"SITE_NAME" | app_config}} Discord server.</div>
|
||||
<div class="text-small-extra text-muted mt-3">Disconnecting your Discord account will remove you from the {{'SITE_NAME' | app_config}} Discord server.</div>
|
||||
{% else %}
|
||||
<a href="/discord" class="btn btn-primary">Link Discord</a>
|
||||
<div class="text-small-extra text-muted mt-3">Link your Discord account to join the {{"SITE_NAME" | app_config}} Discord server.</div>
|
||||
<div class="text-small-extra text-muted mt-3">Link your Discord account to join the {{'SITE_NAME' | app_config}} Discord server.</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
@ -335,7 +335,7 @@
|
|||
|
||||
<h2 class="h5" name="referral">RSS Feed</h2>
|
||||
|
||||
<p class="text-small text-muted">Subscribe to the {{"SITE_NAME" | app_config}} RSS feed.</p>
|
||||
<p class="text-small text-muted">Subscribe to the {{'SITE_NAME' | app_config}} RSS feed.</p>
|
||||
|
||||
<div class="settings-section rounded">
|
||||
|
||||
|
@ -355,7 +355,7 @@
|
|||
|
||||
<h2 class="h5" id="bio" name="bio">Your Profile</h2>
|
||||
|
||||
<p class="text-small text-muted">Edit how others see you on {{"SITE_NAME" | app_config}}.</p>
|
||||
<p class="text-small text-muted">Edit how others see you on {{'SITE_NAME' | app_config}}.</p>
|
||||
|
||||
<div class="settings-section rounded mb-0">
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "settings.html" %}
|
||||
|
||||
{% block pagetitle %}Custom profilecss - {{"SITE_NAME" | app_config}}{% endblock %}
|
||||
{% block pagetitle %}Custom profilecss - {{'SITE_NAME' | app_config}}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "settings.html" %}
|
||||
|
||||
{% block pagetitle %}Security Settings - {{"SITE_NAME" | app_config}}{% endblock %}
|
||||
{% block pagetitle %}Security Settings - {{'SITE_NAME' | app_config}}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
@ -185,7 +185,7 @@
|
|||
|
||||
<h2 class="h5">Log Out Everywhere</h2>
|
||||
|
||||
<p class="text-small text-muted">Log all other devices out of your {{"SITE_NAME" | app_config}} account.</p>
|
||||
<p class="text-small text-muted">Log all other devices out of your {{'SITE_NAME' | app_config}} account.</p>
|
||||
|
||||
<div class="settings-section rounded">
|
||||
|
||||
|
@ -241,7 +241,7 @@
|
|||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Delete your {{"SITE_NAME" | app_config}} account</h5>
|
||||
<h5 class="modal-title">Delete your {{'SITE_NAME' | app_config}} account</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true"><i class="far fa-times"></i></span>
|
||||
</button>
|
||||
|
@ -283,7 +283,7 @@
|
|||
|
||||
<div class="w-lg-100">
|
||||
|
||||
<textarea class="form-control mb-2" id="delete-reason" name="delete_reason" placeholder="Tell us why you're leaving {{"SITE_NAME" | app_config}}. (Optional)"></textarea>
|
||||
<textarea class="form-control mb-2" id="delete-reason" name="delete_reason" placeholder="Tell us why you're leaving {{'SITE_NAME' | app_config}}. (Optional)"></textarea>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -69,9 +69,9 @@
|
|||
<meta name="description" content="Sign up in under 27 seconds.">
|
||||
<meta name="author" content="">
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="{{"SITE_NAME" | app_config}}" />
|
||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
<meta property="og:image" content="{{'/assets/images/preview.png' | full_link}}" />
|
||||
<meta property="og:image" content="{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}" />
|
||||
<meta property="og:url" content="{{request.host}}">
|
||||
<meta property="og:description" name="description" content="Sign up now! Dude bussy lmao">
|
||||
<meta property="og:author" name="author" content="{{request.host_url}}" />
|
||||
|
@ -79,13 +79,13 @@
|
|||
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:site" content="{{request.host_url}}">
|
||||
<meta name="twitter:title" content="{{"SITE_NAME" | app_config}}" />
|
||||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="{{request.host_url}}">
|
||||
<meta name="twitter:description" content="Sign up now! Dude bussy lmao" />
|
||||
<meta name="twitter:image" content="{{'/assets/images/preview.png' | full_link}}" />
|
||||
<meta name="twitter:image" content="{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}" />
|
||||
<meta name="twitter:url" content="{{request.host}}" />
|
||||
|
||||
<title>{% if ref_user %}{{ref_user.username}} invites you to {{"SITE_NAME" | app_config}}{% else %}Sign up - {{"SITE_NAME" | app_config}}{% endif %}</title>
|
||||
<title>{% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}Sign up - {{'SITE_NAME' | app_config}}{% endif %}</title>
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
|
||||
|
||||
|
@ -100,8 +100,8 @@
|
|||
integrity="sha384-L469/ELG4Bg9sDQbl0hvjMq8pOcqFgkSpwhwnslzvVVGpDjYJ6wJJyYjvG3u8XW7"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} CSS -->
|
||||
<link rel="stylesheet" href="/assets/style/dark_ff66ac.css">
|
||||
<!-- {{'SITE_NAME' | app_config}} CSS -->
|
||||
<link rel="stylesheet" href="{{'DEFAULT_THEME' | app_config}}">
|
||||
|
||||
</head>
|
||||
|
||||
|
@ -129,14 +129,14 @@
|
|||
<div class="col-10 col-md-7">
|
||||
|
||||
<div class="mb-3">
|
||||
<a href="/" class="text-decoration-none"><span class="h3 text-primary">{{"SITE_NAME" | app_config}}</span></a>
|
||||
<a href="/" class="text-decoration-none"><span class="h3 text-primary">{{'SITE_NAME' | app_config}}</span></a>
|
||||
</div>
|
||||
|
||||
<div id="register-form" class="">
|
||||
|
||||
{% if ref_user %}
|
||||
<h1 class="h2">@{{ref_user.username}} has invited you!</h1>
|
||||
<p class="text-muted mb-md-2">Looks like someone wants you to join {{"SITE_NAME" | app_config}}.</p>
|
||||
<p class="text-muted mb-md-2">Looks like someone wants you to join {{'SITE_NAME' | app_config}}.</p>
|
||||
{% else %}
|
||||
<h1 class="h2">Create your account.</h1>
|
||||
<p class="text-muted mb-md-2">No email address required.</p>
|
||||
|
@ -223,7 +223,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} JS -->
|
||||
<!-- {{'SITE_NAME' | app_config}} JS -->
|
||||
|
||||
<script src="/assets/js/all_js.js"></script>
|
||||
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
<meta name="description" content="Sign up in under 27 seconds.">
|
||||
<meta name="author" content="">
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="{{"SITE_NAME" | app_config}}" />
|
||||
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
<meta property="og:image" content="{{'/assets/images/preview.png' | full_link}}" />
|
||||
<meta property="og:image" content="{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}" />
|
||||
<meta property="og:url" content="{{request.host}}">
|
||||
<meta property="og:description" name="description" content="Sign up now! Dude bussy lmao">
|
||||
<meta property="og:author" name="author" content="{{request.host_url}}" />
|
||||
|
@ -19,13 +19,13 @@
|
|||
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:site" content="{{request.host_url}}">
|
||||
<meta name="twitter:title" content="{{"SITE_NAME" | app_config}}" />
|
||||
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="{{request.host_url}}">
|
||||
<meta name="twitter:description" content="Sign up now! Dude bussy lmao" />
|
||||
<meta name="twitter:image" content="{{'/assets/images/preview.png' | full_link}}" />
|
||||
<meta name="twitter:image" content="{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}" />
|
||||
<meta name="twitter:url" content="{{request.host}}" />
|
||||
|
||||
<title>{% if ref_user %}{{ref_user.username}} invites you to {{"SITE_NAME" | app_config}}{% else %}{{"SITE_NAME" | app_config}}{% endif %}</title>
|
||||
<title>{% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}{{'SITE_NAME' | app_config}}{% endif %}</title>
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
|
||||
|
||||
|
@ -40,8 +40,8 @@
|
|||
integrity="sha384-L469/ELG4Bg9sDQbl0hvjMq8pOcqFgkSpwhwnslzvVVGpDjYJ6wJJyYjvG3u8XW7"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} CSS -->
|
||||
<link rel="stylesheet" href="/assets/style/dark_ff66ac.css">
|
||||
<!-- {{'SITE_NAME' | app_config}} CSS -->
|
||||
<link rel="stylesheet" href="{{'DEFAULT_THEME' | app_config}}">
|
||||
|
||||
</head>
|
||||
|
||||
|
@ -69,7 +69,7 @@
|
|||
<div class="col-10 col-md-7">
|
||||
|
||||
<div class="text-center mb-5">
|
||||
<a href="/" class="text-decoration-none"><span class="h3 text-primary">{{"SITE_NAME" | app_config}}</span></a>
|
||||
<a href="/" class="text-decoration-none"><span class="h3 text-primary">{{'SITE_NAME' | app_config}}</span></a>
|
||||
</div>
|
||||
|
||||
<div id="register-form" class="">
|
||||
|
@ -142,7 +142,7 @@
|
|||
});
|
||||
</script>
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} JS -->
|
||||
<!-- {{'SITE_NAME' | app_config}} JS -->
|
||||
|
||||
<script src="/assets/js/all_js.js"></script>
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<meta property="og:type" content="article" />
|
||||
|
||||
{% if comment_info and not comment_info.is_banned and not linked_comment.deleted_utc > 0 %}
|
||||
<title>{{'@'+comment_info.author.username}} comments on "{{p.title}} - {{"SITE_NAME" | app_config}}"</title>
|
||||
<title>{{'@'+comment_info.author.username}} comments on "{{p.title}} - {{'SITE_NAME' | app_config}}"</title>
|
||||
|
||||
|
||||
<meta property="og:article:author" content="{{'@'+comment_info.author.username}}" />
|
||||
|
@ -34,17 +34,17 @@
|
|||
{% if comment_info.edited_utc %}<meta property="article:modified_time" content="{{comment_info.edited_string}}" />{% endif %}
|
||||
<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 %}{{'/assets/images/preview.png' | full_link}}{% endif %}" />
|
||||
<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 %}{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}{% endif %}" />
|
||||
<meta property="og:url" content="{{comment_info.permalink | full_link}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<meta name="twitter:site" content="{{request.host_url}}">
|
||||
<meta name="twitter:title" content="{{'@'+comment_info.author.username}} comments on {{p.title}} - {{"SITE_NAME" | app_config}}" />
|
||||
<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 %}{{'/assets/images/preview.png' | full_link}}{% endif %}" />
|
||||
<meta name="twitter:image" content="{% if p.is_image %}{{p.realurl(v)}}{% elif p.has_thumb%}{{p.thumb_url}}{% else %}{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}{% endif %}" />
|
||||
<meta name="twitter:url" content="{{p.permalink | full_link}}" />
|
||||
|
||||
{% if linked_comment.author.is_private %}
|
||||
|
@ -52,7 +52,7 @@
|
|||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<title>{{p.title | safe}} - {{"SITE_NAME" | app_config}}</title>
|
||||
<title>{{p.title | safe}} - {{'SITE_NAME' | app_config}}</title>
|
||||
|
||||
|
||||
<meta property="og:article:author" content="{{'@'+p.author.username}}" />
|
||||
|
@ -60,17 +60,17 @@
|
|||
{% if p.edited_utc %}<meta property="article:modified_time" content="{{p.edited_string}}" />{% endif %}
|
||||
<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 %}{{'/assets/images/preview.png' | full_link}}{% endif %}" />
|
||||
<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 %}{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}{% endif %}" />
|
||||
<meta property="og:url" content="{{p.permalink | full_link}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:site" content="{{request.host_url}}">
|
||||
<meta name="twitter:title" content="{{p.title}} - {{"SITE_NAME" | app_config}}" />
|
||||
<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 %}{{'/assets/images/preview.png' | full_link}}{% endif %}" />
|
||||
<meta name="twitter:image" content="{% if p.is_image %}{{p.realurl(v)}}{% elif p.has_thumb %}{{p.thumb_url}}{% else %}{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}{% endif %}" />
|
||||
<meta name="twitter:url" content="{{p.permalink | full_link}}" />
|
||||
|
||||
{% if p.author.is_private %}
|
||||
|
@ -219,7 +219,7 @@
|
|||
{% if v and v.admin_level==6 and p.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-toggle="tooltip" data-placement="bottom" title="Shadowbanned user"></i> {% endif %}
|
||||
{% if p.stickied %}<i class="fas fa-thumbtack fa-fw text-admin fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="Pinned post"></i> {% endif %}
|
||||
{% if p.is_pinned %}<i class="fas fa-thumbtack fa-fw text-admin fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="Pinned to profile"></i> {% endif %}
|
||||
{% if p.distinguish_level %} <i class="fas fa-broom text-admin" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="{{"SITE_NAME" | app_config}} Badmin, speaking officially"></i> {% endif %}
|
||||
{% if p.distinguish_level %} <i class="fas fa-broom text-admin" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="{{'SITE_NAME' | app_config}} Badmin, speaking officially"></i> {% endif %}
|
||||
{% if p.is_bot %} <i class="fad fa-robot text-info" data-toggle="tooltip" data-placement="bottom" data-original-title="Bot"></i>{% endif %}
|
||||
|
||||
{% if p.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
||||
|
|
|
@ -98,7 +98,7 @@
|
|||
{% endif %}
|
||||
{% if v and v.admin_level==6 and p.author.shadowbanned %}<i class="fas fa-user-times text-admin" data-toggle="tooltip" data-placement="bottom" title="Shadowbanned user"></i> {% endif %}
|
||||
{% if p.stickied %}<i class="fas fa-thumbtack text-admin fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="Pinned post"></i> {% endif %}
|
||||
{% if p.distinguish_level %}<i class="fas fa-broom text-admin" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="{{"SITE_NAME" | app_config}} Badmin, speaking officially"></i> {% endif %}
|
||||
{% if p.distinguish_level %}<i class="fas fa-broom text-admin" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="{{'SITE_NAME' | app_config}} Badmin, speaking officially"></i> {% endif %}
|
||||
{% if p.is_pinned and request.path.startswith('/@') %}<i class="fas fa-thumbtack text-admin fa-rotate--45" data-toggle="tooltip" data-placement="bottom" title="Pinned to profile"></i> {% endif %}
|
||||
{% if p.over_18 %} <span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
||||
{% if p.is_bot %} <i class="fad fa-robot text-info" data-toggle="tooltip" data-placement="bottom" data-original-title="Bot"></i>{% endif %}
|
||||
|
|
|
@ -234,13 +234,13 @@
|
|||
<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/favicon.png">
|
||||
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/favicon.png">
|
||||
|
||||
{% include "emoji_modal.html" %}
|
||||
{% include "gif_modal.html" %}
|
||||
|
||||
{% block title %}
|
||||
<title>Create a post - {{"SITE_NAME" | app_config}}</title>
|
||||
<title>Create a post - {{'SITE_NAME' | app_config}}</title>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
|
@ -250,14 +250,14 @@
|
|||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
|
||||
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} Board CSS -->
|
||||
<!-- {{'SITE_NAME' | app_config}} Board CSS -->
|
||||
|
||||
{% block stylesheets %}
|
||||
{% if v %}
|
||||
<link rel="stylesheet" href="/assets/style/{{v.theme}}_{{v.themecolor}}.css">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/style/agendaposter.css">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
{% else %}
|
||||
<link rel="stylesheet" href="/assets/style/dark_ff66ac.css">
|
||||
<link rel="stylesheet" href="{{'DEFAULT_THEME' | app_config}}">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
|
@ -407,7 +407,7 @@
|
|||
|
||||
{% endblock %}
|
||||
|
||||
<!-- {{"SITE_NAME" | app_config}} JS -->
|
||||
<!-- {{'SITE_NAME' | app_config}} JS -->
|
||||
|
||||
<script src="/assets/js/all_js.js"></script>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<link rel="stylesheet" href="/assets/style/{{v.theme}}_{{v.themecolor}}.css">
|
||||
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/style/agendaposter.css">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
|
||||
{% else %}
|
||||
<link rel="stylesheet" href="/assets/style/dark_ff66ac.css">
|
||||
<link rel="stylesheet" href="{{'DEFAULT_THEME' | app_config}}">
|
||||
{% endif %}
|
||||
{% if u and u.profilecss %}
|
||||
<link rel="stylesheet" href="/@{{u.username}}/profilecss">
|
||||
|
@ -18,26 +18,26 @@
|
|||
{% block pagetype %}userpage{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
<title>{{u.username}}'s profile - {{"SITE_NAME" | app_config}}</title>
|
||||
<title>{{u.username}}'s profile - {{'SITE_NAME' | app_config}}</title>
|
||||
{% if u.is_private %}
|
||||
<meta name="robots" content="noindex">
|
||||
{% endif %}
|
||||
<meta property="og:article:author" content="@{{u.username}}" />
|
||||
<meta property="article:section" content="{{u.username}}'s profile - {{"SITE_NAME" | app_config}}" />
|
||||
<meta property="article:section" content="{{u.username}}'s profile - {{'SITE_NAME' | app_config}}" />
|
||||
<meta property="article:published_time" content="{{u.created_date}}" />
|
||||
<meta property="og:description" name="description" content="{{u.coins}} {{"COINS_NAME" | app_config}} - Joined {{u.created_date}} - {% if u.stored_subscriber_count >=1 and not u.is_private and not u.is_nofollow %}{{u.stored_subscriber_count}} Followers - {% endif %}{% if not u.is_private %}{{u.post_count}} Posts - {{u.comment_count}} Comments - {% endif %}{{u.bio}}" />
|
||||
<meta property="og:author" name="author" content="@{{u.username}}" />
|
||||
<meta property="og:title" content="{{u.username}}" />
|
||||
<meta property="og:image" content="{% if u.bannerurl %}{{u.banner_url}}{% else %}{{'/assets/images/preview.png' | full_link}}{% endif %}" />
|
||||
<meta property="og:image" content="{% if u.bannerurl %}{{u.banner_url}}{% else %}{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}{% endif %}" />
|
||||
<meta property="og:url" content="{{u.url | full_link}}" />
|
||||
<meta property="og:site_name" content="{{request.host}}" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:site" content="{{request.host_url}}">
|
||||
<meta name="twitter:title" content="{{u.username}}'s profile - {{"SITE_NAME" | app_config}}" />
|
||||
<meta name="twitter:title" content="{{u.username}}'s profile - {{'SITE_NAME' | app_config}}" />
|
||||
<meta name="twitter:creator" content="@{{u.username}}">
|
||||
<meta name="twitter:description" content="{{u.coins}} {{"COINS_NAME" | app_config}} - Joined {{u.created_date}} - {% if u.stored_subscriber_count >=1 and not u.is_private and not u.is_nofollow %}{{u.stored_subscriber_count}} Followers -{% endif %} {% if not u.is_private %} {{u.post_count}} Posts - {{u.comment_count}} Comments -{% endif %} {{u.bio}}" />
|
||||
<meta name="twitter:image" content="{% if u.bannerurl %}{{u.banner_url}}{% else %}{{'/assets/images/preview.png' | full_link}}{% endif %}" />
|
||||
<meta name="twitter:image" content="{% if u.bannerurl %}{{u.banner_url}}{% else %}{{'/assets/images/{{'SITE_NAME' | app_config}}/preview.png' | full_link}}{% endif %}" />
|
||||
<meta name="twitter:url" content="{{u.url | full_link}}" />
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
<div class="font-weight-bold text-muted">Account Reserved</div>
|
||||
<div class="text-muted">The username @{{u.username}} has been pre-emptively reserved for: {{u.reserved}}</div>
|
||||
<div class="text-muted">If that's you, or if you are their authorized representative, please contact {{"SITE_NAME" | app_config}} staff in order to obtain access to this account.</div>
|
||||
<div class="text-muted">If that's you, or if you are their authorized representative, please contact {{'SITE_NAME' | app_config}} staff in order to obtain access to this account.</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{% extends "default.html" %}
|
||||
|
||||
{% block title %}
|
||||
<title>{{"SITE_NAME" | app_config}}</title>
|
||||
<meta name="description" content="{{"SITE_NAME" | app_config}} Votes">
|
||||
<title>{{'SITE_NAME' | app_config}}</title>
|
||||
<meta name="description" content="{{'SITE_NAME' | app_config}} Votes">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
|