Compare commits
No commits in common. "55ad283eff687aa47af2027f4cbf8b829c7a55b2" and "e55fbb5b67b11b200b518b6cb4ab49531330dcd0" have entirely different histories.
55ad283eff
...
e55fbb5b67
283 changed files with 146 additions and 3618 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,4 +1,3 @@
|
|||
.DS_Store
|
||||
.htpasswd
|
||||
werc/etc/*
|
||||
transfer/uploads/*
|
||||
|
|
|
@ -1,51 +1,23 @@
|
|||
services:
|
||||
werc:
|
||||
build:
|
||||
network: host
|
||||
dockerfile: Dockerfile
|
||||
context: .
|
||||
container_name: werc
|
||||
ports:
|
||||
- 3080:80
|
||||
- 80:80
|
||||
environment:
|
||||
- HOSTNAME=thirdculture.top
|
||||
volumes:
|
||||
- werc:/var/www/werc
|
||||
- lighttpd:/etc/lighttpd
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
tty: true
|
||||
networks:
|
||||
- default-werc
|
||||
|
||||
gossa:
|
||||
image: pldubouilh/gossa
|
||||
container_name: gossa
|
||||
ports:
|
||||
- 3001:8001
|
||||
- 8001:8001
|
||||
volumes:
|
||||
- ./werc/sites/thirdculture.top/_files:/shared
|
||||
- ./werc/sites/ppl.thirdculture.top:/shared/people
|
||||
networks:
|
||||
- default-werc
|
||||
|
||||
transfer:
|
||||
image: dutchcoders/transfer.sh:latest
|
||||
container_name: transfer
|
||||
ports:
|
||||
- "3880:8080"
|
||||
command: ["--provider", "local", "--basedir", "/uploads/", "--web-path", "/web/"]
|
||||
volumes:
|
||||
- ./transfer/uploads:/uploads
|
||||
- ./transfer/tshweb:/web
|
||||
restart: always
|
||||
networks:
|
||||
- default-werc
|
||||
|
||||
networks:
|
||||
default-werc:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
werc:
|
||||
driver: local
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
$HTTP["host"] =~ "^events\.thirdculture\.top$" {
|
||||
index-file.names = ( )
|
||||
server.error-handler-404 = "/werc.rc"
|
||||
alias.url += ( "/werc.rc" => "/var/www/werc/bin/werc.rc" )
|
||||
cgi.assign += ( ".rc" => "")
|
||||
}
|
|
@ -14,11 +14,7 @@ $HTTP["host"] =~ "^files\.thirdculture\.top$" {
|
|||
"" => (
|
||||
(
|
||||
"host" => "gossa",
|
||||
"port" => 8001,
|
||||
"headers" => (
|
||||
"Host" => "$HTTP_HOST",
|
||||
"X-Forwarded-For" => "$REMOTE_ADDR"
|
||||
)
|
||||
"port" => 8001
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
$HTTP["host"] =~ "^music\.thirdculture\.top$" {
|
||||
index-file.names = ( )
|
||||
server.error-handler-404 = "/werc.rc"
|
||||
alias.url += ( "/werc.rc" => "/var/www/werc/bin/werc.rc" )
|
||||
cgi.assign += ( ".rc" => "")
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
$HTTP["host"] =~ "^social\.thirdculture\.top$" {
|
||||
index-file.names = ( )
|
||||
server.error-handler-404 = "/werc.rc"
|
||||
alias.url += ( "/werc.rc" => "/var/www/werc/bin/werc.rc" )
|
||||
cgi.assign += ( ".rc" => "")
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
$HTTP["host"] =~ "up\.thirdculture\.top" {
|
||||
server.document-root = "/var/www/localhost/htdocs"
|
||||
|
||||
proxy.server = (
|
||||
"" => (
|
||||
"localhost" => (
|
||||
"host" => "transfer",
|
||||
"port" => 8080,
|
||||
"path" => "/web",
|
||||
"headers" => (
|
||||
"Host" => "$HTTP_HOST",
|
||||
"X-Forwarded-For" => "$REMOTE_ADDR"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
proxy.balance = "round-robin"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
$HTTP["host"] =~ "^visual\.thirdculture\.top$" {
|
||||
index-file.names = ( )
|
||||
server.error-handler-404 = "/werc.rc"
|
||||
alias.url += ( "/werc.rc" => "/var/www/werc/bin/werc.rc" )
|
||||
cgi.assign += ( ".rc" => "")
|
||||
}
|
|
@ -20,7 +20,6 @@ server.modules = (
|
|||
"mod_access",
|
||||
# "mod_cml",
|
||||
# "mod_trigger_b4_dl",
|
||||
"mod_authn_file",
|
||||
"mod_auth",
|
||||
# "mod_status",
|
||||
# "mod_setenv",
|
||||
|
@ -38,10 +37,7 @@ server.modules = (
|
|||
"mod_accesslog"
|
||||
)
|
||||
# }}}
|
||||
# DEBUG
|
||||
#setenv.add-response-header = ( "X-Debug" => "true" )
|
||||
#debug.log-request-header = "enable"
|
||||
#debug.log-response-header = "enable"
|
||||
|
||||
# {{{ includes
|
||||
include "mime-types.conf"
|
||||
# uncomment for cgi support
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Ensure the script is run with exactly two arguments
|
||||
if [ $# -ne 2 ]; then
|
||||
echo "Usage: $0 <path> <name>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Define variables
|
||||
path="$1"
|
||||
name="$2"
|
||||
|
||||
# Create the folder structure
|
||||
mkdir -p "$path/$name/_werc" "$path/$name/blog/_werc"
|
||||
|
||||
# Create the first config file (not under blog)
|
||||
cat > "$path/$name/_werc/config" <<EOF
|
||||
extraHeaders='<link rel="stylesheet" type="text/css" href="_werc/style.css">'
|
||||
conf_enable_wiki
|
||||
conf_enable_cssedit $name
|
||||
css_file='_werc/style.css'
|
||||
EOF
|
||||
|
||||
# Create the second config file (under blog)
|
||||
cat > "$path/$name/blog/_werc/config" <<EOF
|
||||
conf_enable_wiki
|
||||
conf_enable_blog
|
||||
conf_blog_only_pull=0
|
||||
conf_blog_editors=$name
|
||||
blogTitle='$name Feed'
|
||||
blogDesc=''
|
||||
EOF
|
||||
|
||||
# Create the style.css file
|
||||
echo "/* Put custom styles here */" > "$path/$name/_werc/style.css"
|
||||
|
||||
# Output a success message
|
||||
echo "Folder structure created successfully at $path/$name"
|
|
@ -1,35 +0,0 @@
|
|||
#!/bin/rc
|
||||
|
||||
# Check if the correct number of arguments are provided
|
||||
if (~ $#argv 2) {
|
||||
echo "Usage: $0 <path> <name>"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Assign arguments to variables
|
||||
path = $argv[1]
|
||||
name = $argv[2]
|
||||
|
||||
# Create the folder structure
|
||||
mkdir -p $path/$name/_werc
|
||||
mkdir -p $path/$name/blog/_werc
|
||||
|
||||
# Create the first config file (not under blog)
|
||||
echo "extraHeaders='<link rel=\"stylesheet\" type=\"text/css\" href=\"_werc/style.css\">'" > $path/$name/_werc/config
|
||||
echo "conf_enable_wiki" >> $path/$name/_werc/config
|
||||
echo "conf_enable_cssedit $name" >> $path/$name/_werc/config
|
||||
echo "css_file='_werc/style.css'" >> $path/$name/_werc/config
|
||||
echo "" >> $path/$name/_werc/config
|
||||
|
||||
# Create the second config file (under blog)
|
||||
echo "conf_enable_wiki" > $path/$name/blog/_werc/config
|
||||
echo "conf_enable_blog" >> $path/$name/blog/_werc/config
|
||||
echo "conf_blog_only_pull=0" >> $path/$name/blog/_werc/config
|
||||
echo "conf_blog_editors=$name" >> $path/$name/blog/_werc/config
|
||||
echo "" >> $path/$name/blog/_werc/config
|
||||
|
||||
# Create the style.css file
|
||||
touch $path/$name/_werc/style.css
|
||||
|
||||
# Output a success message
|
||||
echo "Folder structure created successfully at $path/$name"
|
|
@ -1,14 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="styles/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<br/>
|
||||
<p style="color: red; text-align: center;">Content not found!</p>
|
||||
<p style="color: red; text-align: center;">404</p>
|
||||
</body>
|
||||
</html>
|
|
@ -1,31 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<br />
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<code>
|
||||
type: <b>{{.ContentType}}</b>
|
||||
size: <b>{{.ContentLength | format "#,###."}}</b> bytes
|
||||
</code>
|
||||
<br />
|
||||
<audio id="audio-player" class="preview-audio" controls preload="auto" data-setup='{}'>
|
||||
<source src="{{.URL}}" type="{{.ContentType}}">
|
||||
</source>
|
||||
</audio>
|
||||
<p class="dwn"><a href="{{.URLGet}}"> download</a></p>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}" />
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,27 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<br />
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<code>
|
||||
type: <b>{{.ContentType}}</b>
|
||||
size: <b>{{.ContentLength | format "#,###."}}</b> bytes
|
||||
</code>
|
||||
<br />
|
||||
<p class="dwn"><a href="{{.URLGet}}"> download</a></p>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}" />
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,27 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<br />
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<code>
|
||||
type: <b>{{.ContentType}}</b>
|
||||
size: <b>{{.ContentLength | format "#,###."}}</b> bytes
|
||||
</code>
|
||||
<br />
|
||||
<div class="preview-image"><img src="{{.URL}}" alt=""></div>
|
||||
<p class="dwn"><a href="{{.URLGet}}"> download</a></p>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}" />
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,28 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<br />
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<code>
|
||||
type: <b>{{.ContentType}}</b>
|
||||
size: <b>{{.ContentLength | format "#,###."}}</b> bytes
|
||||
</code>
|
||||
<br />
|
||||
<div class="md-preview">{{.Content}}</div>
|
||||
<p class="dwn"><a href="{{.URLGet}}"> download</a></p>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}" />
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,31 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<br />
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<code>
|
||||
type: <b>{{.ContentType}}</b>
|
||||
size: <b>{{.ContentLength | format "#,###."}}</b> bytes
|
||||
</code>
|
||||
<br />
|
||||
<video id="video-player" class="prev-video" controls preload="auto" data-setup='{}'>
|
||||
<source src="{{.URL}}" type="{{.ContentType}}">
|
||||
</source>
|
||||
</video>
|
||||
<p class="dwn"><a href="{{.URLGet}}"> download</a></p>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}" />
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
Binary file not shown.
Before Width: | Height: | Size: 3.1 KiB |
|
@ -1,4 +0,0 @@
|
|||
<a href="{{.URLGet}}" class="btn-cta btn"> download</i> </a> <br/><br/>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}"/>
|
||||
</div>
|
|
@ -1,4 +0,0 @@
|
|||
<br/>
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<h4>type: <b>{{.ContentType}}</b></h4>
|
||||
<h4>size: <b>{{.ContentLength | format "#,###."}}</b> bytes</h4>
|
|
@ -1,37 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1><span class="accent">Third Culture</span> Upload</h1>
|
||||
<form action="https://up.thirdculture.top" method="POST" enctype="multipart/form-data">
|
||||
<label for="fileInput">Choose file:</label>
|
||||
<input type="file" name="file" id="fileInput" required />
|
||||
<br><br>
|
||||
<button type="submit">Upload</button>
|
||||
</form>
|
||||
<p><br></p>
|
||||
<p>Make sure to copy the link in the next page!</p>
|
||||
<p>More info on third culture upload <a href="scripts/info.html">here</a>.</p>
|
||||
<p><br></p>
|
||||
<svg version="1.1" style="fill:none;width:75px;height:75px;" width="50" height="50" viewBox="0 0 50 50" id="svg3" sodipodi:docname="logo.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs id="defs3" />
|
||||
<path style="fill:#000000;stroke:#000000;stroke-width:1.51515px;stroke-linecap:round;stroke-linejoin:round"
|
||||
d="m 0.75757498,49.242423 v 0 V 0.75757498 H 49.242425 V 49.242423 Z" id="path1" />
|
||||
<path style="fill:none;stroke:#a4d1ad;stroke-width:1.51515px;stroke-linecap:round;stroke-linejoin:round"
|
||||
d="m 20.454546,38.636362 v 0 l 9.090908,-9.090909 m -9.090908,0 v 0 l 9.090908,9.090909" id="path2" />
|
||||
<path style="fill:none;stroke:#aea3f0;stroke-width:4.24243px;stroke-linecap:round;stroke-linejoin:round"
|
||||
d="m 6.8181812,40.151514 v 0 L 25,9.8484837 43.181819,40.151514" id="path3" />
|
||||
</svg>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,16 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>up.thirdculture.top info</h1>
|
||||
<p>Third culture upload supports uploading through the browser but also using the terminal as well you can find more details on the <a href="https://github.com/dutchcoders/transfer.sh">transfer.sh github</a>. I will include some simple examples here for quick reference.</p>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,99 +0,0 @@
|
|||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
background-color: #121212;
|
||||
color: #e0e0e0;
|
||||
padding: 20px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #9b4d96;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.preview-image {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.preview-image img {
|
||||
max-width: 600px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.page-title {
|
||||
text-align: center;
|
||||
color: #9b4d96;
|
||||
}
|
||||
|
||||
.accent {
|
||||
color: #7bbc7f;
|
||||
}
|
||||
|
||||
form {
|
||||
background-color: #1e1e1e;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
width: 300px;
|
||||
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
label {
|
||||
font-size: 16px;
|
||||
color: #ddd;
|
||||
margin-bottom: 10px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
margin: 10px 0;
|
||||
border: 2px solid #9b4d96;
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
input[type="file"]:hover {
|
||||
border-color: #be2b90;
|
||||
}
|
||||
|
||||
button {
|
||||
background-color: #9b4d96;
|
||||
color: #fff;
|
||||
padding: 12px;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
width: 100%;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
|
||||
.dwn {
|
||||
text-align: center;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #be2b90;
|
||||
}
|
||||
|
||||
button:active {
|
||||
background-color: #9b4d96;
|
||||
}
|
||||
|
||||
.qrcode {
|
||||
text-align: center;
|
||||
}
|
|
@ -101,10 +101,10 @@ fn get_post_list {
|
|||
}
|
||||
|
||||
fn mkbpost {
|
||||
bptext=$1;
|
||||
bpdate=$2;
|
||||
bptitle=$3;
|
||||
bpid=$4;
|
||||
bptext=$1
|
||||
bpdate=$2
|
||||
bptitle=$3
|
||||
bpid=$4
|
||||
_status=()
|
||||
if(~ $"bptext '')
|
||||
_status=($_status 'You need to provide a post body.')
|
||||
|
|
|
@ -19,7 +19,7 @@ fn statpost {
|
|||
<link>%($base_url^$req_path%)</link>
|
||||
<description><![CDATA[%($blogDesc%)]]></description>
|
||||
<language>en-us</language>
|
||||
<generator><![CDATA[werc blagh app]]></generator>
|
||||
<generator><![CDATA[Tom Duff's rc, and Kris Maglione's clever hackery]]></generator>
|
||||
%{
|
||||
# <webMaster>uriel99+rss@gmail.com (Uriel)</webMaster>
|
||||
# rfc2822 last time channel content changed.
|
||||
|
@ -32,7 +32,7 @@ fn statpost {
|
|||
%}
|
||||
<item>
|
||||
<title><![CDATA[%($title%)]]></title>
|
||||
<author><![CDATA[%($by%)]]></author>
|
||||
<author><![CDATA[%($by%)@noreply.cat-v.org (%($by%))]]></author>
|
||||
<link>%($post_uri%)</link>
|
||||
<guid isPermaLink="true">%($post_uri%)</guid>
|
||||
<pubDate>%($pubdate%)</pubDate>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
% notices_handler
|
||||
<form action="" method="post">
|
||||
<textarea name="comment_text" id="comment_text">%($"saved_comment_text%)</textarea>
|
||||
<textarea name="comment_text" id="comment_text" cols="80" rows="16">%($"saved_comment_text%)</textarea>
|
||||
<br>
|
||||
<input type="submit" name="bridge_post" value="Post a comment">
|
||||
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
fn conf_enable_cssedit {
|
||||
enable_cssedit=yes
|
||||
cssedit_editors_groups=$*
|
||||
conf_enable_app cssedit
|
||||
css_file='_werc/style.css' # Default location, can be changed
|
||||
}
|
||||
|
||||
fn cssedit_init {
|
||||
if(! ~ $#enable_cssedit 0 && check_user $cssedit_editors_groups) {
|
||||
lp=$local_path
|
||||
lp=`{echo $lp | sed 's/index$//'}
|
||||
cssedit_file=$"lp$"css_file
|
||||
|
||||
if(~ 1 $#post_arg_cssedit_edit $#post_arg_cssedit_preview) {
|
||||
handler_body_main=(tpl_handler `{get_lib_file cssedit/edit.tpl apps/cssedit/edit.tpl})
|
||||
}
|
||||
|
||||
if not if(! ~ '' $"post_arg_cssedit_save $"post_arg_css_text) {
|
||||
save_css
|
||||
}
|
||||
|
||||
if not if(~ $"handler_body_main '' || {~ $REQUEST_METHOD GET && test -f $cssedit_file}) {
|
||||
ll_add handlers_bar_left tpl_handler apps/cssedit/sidebar_controls.tpl
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn save_css {
|
||||
umask 002
|
||||
echo $post_arg_css_text > $cssedit_file
|
||||
post_redirect $base_url^$req_path
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
<div>
|
||||
<h1>Editing CSS: <a href="%($css_file%)">%($css_file%)</a></h1>
|
||||
<br>
|
||||
<form action="" method="POST">
|
||||
<fieldset>
|
||||
<textarea name="css_text" id="css_text" cols="80" rows="43">%{
|
||||
if(~ $#post_arg_css_text 0 && test -f $cssedit_file)
|
||||
cat $cssedit_file | escape_html
|
||||
if not
|
||||
echo -n $post_arg_css_text | escape_html
|
||||
%}</textarea>
|
||||
<br>
|
||||
<a class="bu" href="%($css_file%)" download="%(style`{date -n}.css%)">Download Stylesheet</a>
|
||||
<hr>
|
||||
<input type="submit" name="cssedit_save" value="Save">
|
||||
<small><strong>Note:</strong> Saved changes are final, historical versions of stylesheet are not kept.</small>
|
||||
</fieldset>
|
||||
</form>
|
||||
<h2>Tips</h2>
|
||||
<div class="info">
|
||||
<ul>
|
||||
<li>Pressing <code>F12</code> in your browser and editing the style.css that way is a good way to test/preview your changes out before committing to them using this tool.</li>
|
||||
<li>Using a computer is suggested for these kind of changes</li>
|
||||
<li>Learn css: <a href="https://www.w3schools.com/Css/css_intro.asp">w3schools</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
|
@ -1,3 +0,0 @@
|
|||
<form action="" method="POST">
|
||||
<input type="submit" name="cssedit_edit" value="Edit CSS" />
|
||||
</form>
|
|
@ -1,19 +0,0 @@
|
|||
# RisingThumb's build of dirdir
|
||||
|
||||
dirdir is werc's directory management tool.
|
||||
|
||||
## Features
|
||||
|
||||
This adds a few features to dirdir.
|
||||
|
||||
- Ability to edit larger text files
|
||||
- Ability to edit template files
|
||||
- Ability to upload files(optionally under a different name)
|
||||
- Ability to delete a page
|
||||
- Ability to delete a folder
|
||||
|
||||
## Roadmap
|
||||
|
||||
- Ideally take some filetype info for making new pages. Would be nice to make tpl files this way.
|
||||
- User permissioning around editing template files (default config off?)
|
||||
- Possibly allowing different markdown/formatters to be used.
|
|
@ -2,9 +2,6 @@ fn conf_enable_wiki {
|
|||
enable_wiki=yes
|
||||
wiki_editors_groups=$*
|
||||
conf_enable_app dirdir
|
||||
|
||||
if(~ $"conf_dirdir_index_type '')
|
||||
conf_dirdir_index_type='md'
|
||||
}
|
||||
|
||||
fn dirdir_init {
|
||||
|
@ -14,34 +11,16 @@ fn dirdir_init {
|
|||
# maybe it should, but for now we can fix it up here.
|
||||
if(~ $lp */)
|
||||
lp=$lp^'index'
|
||||
dirdir_file=$lp.^$"conf_dirdir_index_type
|
||||
if (test -f $lp.tpl) {
|
||||
dirdir_file=$lp.tpl
|
||||
}
|
||||
dirdir_file=$lp.md
|
||||
dirdir_dir=$dirdir_file^'_werc/dirdir/'
|
||||
|
||||
if(~ 1 $#post_arg_dirdir_edit $#post_arg_dirdir_preview)
|
||||
handler_body_main=(tpl_handler `{get_lib_file dirdir/edit.tpl apps/dirdir/edit.tpl})
|
||||
if not if(~ 1 $#post_arg_dirdir_delete && ! ~ $#post_arg_dirdir_delete_yes 1)
|
||||
handler_body_main=(tpl_handler `{get_lib_file dirdir/delete_sure.tpl apps/dirdir/delete_sure.tpl})
|
||||
if not if(~ 1 $#post_arg_dirdir_delete_folder && ! ~ $#post_arg_dirdir_delete_yes 1)
|
||||
handler_body_main=(tpl_handler `{get_lib_file dirdir/delete_sure.tpl apps/dirdir/delete_sure.tpl})
|
||||
if not if(~ 1 $#post_arg_dirdir_delete && ! ~ $#post_arg_dirdir_delete_yes 0)
|
||||
rm $dirdir_file
|
||||
if not if(~ 1 $#post_arg_dirdir_delete_folder && ! ~ $#post_arg_dirdir_delete_yes 0)
|
||||
rm -rf `{dirname $dirdir_file}
|
||||
if not if(~ 1 $#post_arg_dirdir_add_child_file && ! ~ $#post_arg_dirdir_search 0)
|
||||
touch `{dirname $dirdir_file}^'/'^$post_arg_dirdir_search^'.md'
|
||||
if not if(~ 1 $#post_arg_dirdir_add_child_folder! ~ $#post_arg_dirdir_search 0)
|
||||
mkdir `{dirname $dirdir_file}^'/'^$post_arg_dirdir_search
|
||||
if not if(~ 1 $#post_arg_dirdir_upload_file_pressed && ! ~ $#post_arg_dirdir_file_name 0 && ! ~ $post_arg_dirdir_file_name "" && ! ~ $#post_arg_dirdir_upload_file 0)
|
||||
mv /tmp/werc_file.*.data `{dirname $dirdir_file}^'/'^$post_arg_dirdir_file_name
|
||||
if not if(~ 1 $#post_arg_dirdir_upload_file_pressed && ! ~ $#post_arg_dirdir_upload_file 0)
|
||||
mv /tmp/werc_file.*.data `{dirname $dirdir_file}^'/'^$post_arg_dirdir_upload_file
|
||||
|
||||
if not if(! ~ '' $"post_arg_dirdir_save $"post_arg_edit_text)
|
||||
save_page
|
||||
|
||||
if not if(~ $"handler_body_main '' || {~ $REQUEST_METHOD GET && test -f $local_path.md} || {~ $REQUEST_METHOD GET && test -f $local_path.tpl} )
|
||||
if not if(~ $"handler_body_main '' || {~ $REQUEST_METHOD GET && test -f $local_path.md})
|
||||
ll_add handlers_bar_left tpl_handler apps/dirdir/sidebar_controls.tpl
|
||||
}
|
||||
}
|
||||
|
@ -53,7 +32,9 @@ fn save_page {
|
|||
|
||||
# XXX Use a tmp file and mv(1) to ensure updates are atomic?
|
||||
echo $logged_user > $dirdir_verdir/author
|
||||
echo $post_arg_edit_text | dos2unix > $dirdir_verdir/data
|
||||
echo $post_arg_edit_text | dos2unix > $dirdir_file
|
||||
echo $post_arg_edit_text > $dirdir_verdir/data
|
||||
echo $post_arg_edit_text > $dirdir_file
|
||||
|
||||
post_redirect $base_url^$req_path
|
||||
#notify_notes='Saved <a href="'$"req_path'">'$"req_path'</a>!'
|
||||
}
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
<form action="" method="POST">
|
||||
|
||||
% if(~ 1 $#post_arg_dirdir_delete ) {
|
||||
% echo '<input type="hidden" name="dirdir_delete" value="Delete page" />' }
|
||||
% if(~ 1 $#post_arg_dirdir_delete_folder ) {
|
||||
% echo '<input type="hidden" name="dirdir_delete_folder" value="Delete folder" />' }
|
||||
|
||||
<input type="submit" name="dirdir_delete_yes" value="Are you sure you want to delete?" />
|
||||
</form>
|
|
@ -1,10 +1,9 @@
|
|||
<div>
|
||||
<h1>Editing: <a href="%($req_path%)">%($req_path%)</a></h1>
|
||||
<br>
|
||||
<form action="" method="POST" enctype="multipart/form-data">
|
||||
<form action="" method="POST">
|
||||
<textarea name="edit_text" id="edit_text" cols="80" rows="43">%{
|
||||
# FIXME Extra trailing new lines get added to the content somehow, should avoid it.
|
||||
echo $dirdir_search
|
||||
if(~ $#post_arg_edit_text 0 && test -f $dirdir_file)
|
||||
cat $dirdir_file | escape_html
|
||||
if not
|
||||
|
@ -21,6 +20,6 @@
|
|||
% if(! ~ $"post_arg_dirdir_preview '') {
|
||||
<h2>Preview:</h2>
|
||||
<div id="preview">
|
||||
% echo $post_arg_edit_text | dos2unix | $formatter
|
||||
% echo $post_arg_edit_text | $formatter
|
||||
</div>
|
||||
% }
|
||||
|
|
|
@ -1,14 +1,3 @@
|
|||
<form action="" method="POST">
|
||||
<input type="submit" name="dirdir_edit" value="Edit page" /><br/>
|
||||
</form>
|
||||
<form action="" method="POST">
|
||||
<input type="search" id="test-search" name="dirdir_search" placeholder="Page or folder to add"/><br/>
|
||||
<input type="submit" name="dirdir_add_child_file" value="New Page" />
|
||||
<input type="submit" name="dirdir_add_child_folder" value="New Folder" /><hr />
|
||||
</form>
|
||||
<form action="" method="POST">
|
||||
<hr style="color: red"/><input type="submit" name="dirdir_delete_folder" value="Delete folder" />
|
||||
</form>
|
||||
<form action="" method="POST">
|
||||
<input type="submit" name="dirdir_delete" value="Delete page" /><hr style="color: red"/>
|
||||
<input type="submit" name="dirdir_edit" value="Edit page" />
|
||||
</form>
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 65ecf50e317daa8c463b0375f1a57bd388b5bca4
|
|
@ -1,144 +0,0 @@
|
|||
fn conf_enable_ico {
|
||||
ico_uri=$conf_wd
|
||||
ico_dirs=$*
|
||||
if(~ $#ico_dirs 0)
|
||||
ico_dirs=( . )
|
||||
conf_enable_app ico
|
||||
|
||||
if(~ $"conf_ico_editors '')
|
||||
conf_ico_editors=ico-editors
|
||||
|
||||
if(~ $"conf_max_posts_per_page '')
|
||||
conf_max_posts_per_page=32
|
||||
|
||||
if(~ $"conf_ico_categories '')
|
||||
conf_ico_categories=(general)
|
||||
|
||||
if(~ $"conf_ico_max_image_size '')
|
||||
conf_ico_max_image_size=5242880
|
||||
}
|
||||
|
||||
fn ico_init {
|
||||
if(~ $#ico_dirs 0 && ~ $req_path */[iI]co/*) {
|
||||
ico_uri=`{echo $req_path | sed 's,(/[iI]co/).*,\1,'}
|
||||
ico_dirs=( . )
|
||||
}
|
||||
|
||||
if(! ~ $#ico_dirs 0) {
|
||||
ico_url=$base_url^$ico_uri
|
||||
ico_root=$sitedir^$ico_uri
|
||||
if(check_user $conf_ico_editors) {
|
||||
editor_mode=on
|
||||
if(~ $"post_arg_date '')
|
||||
post_date=`{/bin/date -I|sed 's,-,/,g'}
|
||||
if not
|
||||
post_date=$post_arg_date
|
||||
ll_add handlers_foot_body template `{get_lib_file ico/foot.tpl apps/ico/foot.tpl}
|
||||
}
|
||||
|
||||
if(~ $req_path $ico_uri) {
|
||||
handler_body_main=ico_body
|
||||
u=$ico_uri'index'
|
||||
extraHeaders=$"extraHeaders ^ \
|
||||
'<link rel="alternate" type="application/atom+xml" title="ATOM" href="'$"u'.atom" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="'$"u'.rss" />'
|
||||
}
|
||||
if not if(~ $req_path $ico_uri^category/*) {
|
||||
category=`{echo $req_path | sed 's!.*/!!; s/_/ /g'}
|
||||
handler_body_main=ico_category_body
|
||||
}
|
||||
if not if(~ $req_path $ico_uri^index.atom)
|
||||
ico_setup_feed_handlers atom.tpl 'application/atom+xml'
|
||||
if not if(~ $req_path $ico_uri^index.rss)
|
||||
ico_setup_feed_handlers rss20.tpl 'application/rss+xml'
|
||||
if not if(~ $req_path $ico_uri^new_post && ! ~ $#editor_mode 0) {
|
||||
handler_body_main=( tpl_handler `{get_lib_file ico/new_post.tpl apps/ico/new_post.tpl} )
|
||||
if(~ $REQUEST_METHOD POST) {
|
||||
if(mkicopost $"post_arg_body $"post_date $"post_arg_title $"post_arg_categories $"post_arg_loc $"post_arg_loc_link $"post_arg_link $"post_arg_short_desc $"post_arg_poster $"post_arg_edate)
|
||||
post_redirect $ico_uri
|
||||
if not
|
||||
notify_errors=$status
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn ico_category_body {
|
||||
template apps/ico/event_list_cat.tpl
|
||||
}
|
||||
|
||||
fn ico_body {
|
||||
template apps/ico/event_list_all.tpl
|
||||
}
|
||||
|
||||
fn get_post_list {
|
||||
ls -F $*^/[0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]/ >[2]/dev/null |
|
||||
sed -n '/'^$forbidden_uri_chars^'/d; /\/$/p' |
|
||||
sort -r |
|
||||
sed -e $conf_max_posts_per_page^'q'
|
||||
}
|
||||
|
||||
fn mkicopost {
|
||||
icotext=$1
|
||||
icodate=$2
|
||||
icotitle=$3
|
||||
icocategories=$4
|
||||
icolocation=$5
|
||||
icolocationlink=$6
|
||||
icoeventlink=$7
|
||||
icoshortdesc=$8
|
||||
icoposterpath=$9
|
||||
icoexpireddate=$10
|
||||
_status=()
|
||||
postdate=`{/bin/date -I|sed 's,-,/,g'}
|
||||
if(~ $"icotext '')
|
||||
_status=($_status 'You need to provide a post body.')
|
||||
if(! ~ $"postdate [0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9])
|
||||
_status=($_status 'Invalid date: '''^$"postdate^'''')
|
||||
|
||||
if(~ $#_status 0) {
|
||||
umask 022
|
||||
ddir=$ico_root^$postdate^'/'
|
||||
n=`{ls $ddir >[2]/dev/null | wc -l}
|
||||
mkdir -p $ddir^$n
|
||||
|
||||
post_link='/'$postdate^'/'$n
|
||||
|
||||
category_links=''
|
||||
for(cat in `{echo $icocategories}) {
|
||||
if(! ~ $cat '') {
|
||||
cat_link=`{echo -n $cat | sed 's/ /_/g'}
|
||||
category_links=$category_links'<div>[<a href='$ico_uri'category/'$cat_link'>'$cat'</a>]</div> '
|
||||
}
|
||||
}
|
||||
|
||||
icopostlink='/'^$postdate^'/'^$n^'/'
|
||||
|
||||
template apps/ico/post.tpl > $ddir^$n^'/index.html'
|
||||
|
||||
# Create the main categories directory
|
||||
categories_dir=$ico_root^'categories'
|
||||
mkdir -p $categories_dir
|
||||
|
||||
# Update category files
|
||||
for(cat in `{echo $icocategories}) {
|
||||
if(! ~ $cat '') {
|
||||
cat_file=$categories_dir^'/'^`{echo -n $cat | sed 's/ /_/g'}^'.txt'
|
||||
echo $post_link >> $cat_file
|
||||
}
|
||||
}
|
||||
}
|
||||
status=$_status
|
||||
}
|
||||
|
||||
fn get_post_by_category {
|
||||
cat_dir=$ico_root^'categories'
|
||||
cat_file=$cat_dir^'/'^`{echo -n $1 | sed 's/ /_/g'}^'.txt'
|
||||
if(test -f $cat_file) {
|
||||
cat $cat_file | sort -r | sed $conf_max_posts_per_page^'q'
|
||||
}
|
||||
}
|
||||
|
||||
fn list_categories {
|
||||
ls $ico_root^'categories/'*.txt | sed 's!.*/!!; s!\.txt$!!; s!_! !g'
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
% if (! ~ $"icoTitle '')
|
||||
<h1>%($"icoTitle%)</h1>
|
||||
% if (! ~ $"icoDesc '')
|
||||
<p class="ico_desc">%($"icoDesc%)</p>
|
||||
<fieldset class="categories_box">
|
||||
<legend>Catagories</legend>
|
||||
<div class="categories">
|
||||
%{
|
||||
for(cat in `{list_categories}) {
|
||||
echo '<a href="'$ico_uri'category/'^`{echo -n $cat | sed 's/ /_/g'}^'">'$cat'</a> '
|
||||
}
|
||||
%}
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="icofeed">
|
||||
|
||||
%{
|
||||
for(p in `{get_post_list $ico_root^$ico_dirs}) {
|
||||
echo '<div class="post">'
|
||||
cat $p/index.html
|
||||
echo '</div>'
|
||||
}
|
||||
%}
|
||||
</div>
|
||||
<p>Check out the <a href="/archive">archive</a> to see past events.</p>
|
|
@ -1,23 +0,0 @@
|
|||
<h1>Posts in category: %($category%)</h1>
|
||||
<p class="ico_desc">You are seeing events in the <strong>%($category%)</strong> category. Click <a href="/">here</a> to go home!</p>
|
||||
<fieldset class="categories_box">
|
||||
<legend>Catagories</legend>
|
||||
<div class="categories">
|
||||
<a href="/">all</a>
|
||||
%{
|
||||
for(cat in `{list_categories}) {
|
||||
echo '<a href="'$ico_uri'category/'^`{echo -n $cat | sed 's/ /_/g'}^'">'$cat'</a> '
|
||||
}
|
||||
%}
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="icofeed">
|
||||
%{
|
||||
for(p in `{get_post_by_category $category}) {
|
||||
echo '<div class="post">'
|
||||
cat $sitedir$p/index.html
|
||||
echo '</div>'
|
||||
}
|
||||
%}
|
||||
</div>
|
||||
<p>Check out the <a href="/archive">archive</a> to see past events.</p>
|
|
@ -1 +0,0 @@
|
|||
<div><p>[ <a href="/new_post">Make a new post</a> ]</p></div>
|
|
@ -1,17 +0,0 @@
|
|||
<div>
|
||||
% notices_handler
|
||||
<form method="POST"><fieldset>
|
||||
<legend>Submit a new ico post</legend>
|
||||
<label>Title: <input size="64" type="text" name="title" value="%($"post_arg_title%)" required /></label>
|
||||
<label>Event Date (Displayed): <input size="10" type="text" name="date" value="%($"post_date%)" /></label>
|
||||
<label for="dateInput">Expire Date [YYYY-MM-DD] <small>(usually the date of the show)</small>: <input type="text" name="edate" id="dateInput" placeholder="YYYY-MM-DD" pattern="\d{4}-\d{2}-\d{2}" required value="%($"post_arg_edate%)"/></label>
|
||||
<label>Categories <small>(space-separated)</small>: <input size="64" type="text" name="categories" value="%($"post_arg_categories%)" /></label>
|
||||
<label>Location: <input size="64" type="text" name="loc" value="%($"post_arg_loc%)" /></label>
|
||||
<label>Location Link: <input size="64" type="text" name="loc_link" value="%($"post_arg_loc_link%)" /></label>
|
||||
<label>Event Link/Website: <input size="64" type="text" name="link" value="%($"post_arg_link%)" /></label>
|
||||
<label>Short Description: <textarea cols="94" rows="1" name="short_desc">%($"post_arg_short_desc%)</textarea></label>
|
||||
<label>Description: <textarea cols="94" rows="16" name="body">%($"post_arg_body%)</textarea></label>
|
||||
<label>Event Poster Image Link: <input size="64" type="text" name="poster" value="%($"post_arg_poster%)" /></label><br />
|
||||
<input type="submit" value="Post" />
|
||||
</fieldset></form>
|
||||
</div>
|
|
@ -1,20 +0,0 @@
|
|||
<!-- EXPIRES: "%($icoexpireddate%)" -->
|
||||
<div class="event_box">
|
||||
<a href="%($icopostlink%)" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="%($icopostlink%)"><h2>%($icotitle%)</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">%($icodate%)</div>
|
||||
<div class="location"><a href="%($icolocationlink%)">%($icolocation%)</a></div>
|
||||
<div class="event_link"><a href="%($icoeventlink%)">Event Link</a></div>
|
||||
<div class="cat_list">%($category_links%)</div>
|
||||
<div class="short_desc">%($icoshortdesc%)</div>
|
||||
</div>
|
||||
% if(! ~ $"icoposterpath '') {
|
||||
<div class="event_poster">
|
||||
<a href="%($icoeventlink%)" class="event_img_link"><img src="%($icoposterpath%)" alt="Event Poster" /></a>
|
||||
</div>
|
||||
% }
|
||||
<div class="event_body">
|
||||
%($icotext%)
|
||||
</div>
|
||||
</div>
|
|
@ -1,25 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<atom:link href="%($base_url^$req_path%)" rel="self" type="application/rss+xml" />
|
||||
<title><![CDATA[%($siteTitle%)]]></title>
|
||||
<link>%($base_url^$req_path%)</link>
|
||||
<description><![CDATA[%($icoDesc%)]]></description>
|
||||
<language>en-us</language>
|
||||
<generator>werc ico app</generator>
|
||||
<lastBuildDate>%($lastBuildDate%)</lastBuildDate>
|
||||
%{
|
||||
for(f in `{get_post_list $ico_root$ico_dirs}){
|
||||
statpost $f
|
||||
%}
|
||||
<item>
|
||||
<title><![CDATA[%($title%)]]></title>
|
||||
<link>%($post_uri%)</link>
|
||||
<guid isPermaLink="true">%($post_uri%)</guid>
|
||||
<pubDate>%($pubdate%)</pubDate>
|
||||
<description><![CDATA[%($summary%)]]></description>
|
||||
<category>%($categories%)</category>
|
||||
</item>
|
||||
% }
|
||||
</channel>
|
||||
</rss>
|
|
@ -34,7 +34,7 @@ for(a in $werc_apps)
|
|||
|
||||
fn werc_exec_request {
|
||||
site=$SERVER_NAME
|
||||
base_url=https://$site
|
||||
base_url=http://$site:$SERVER_PORT
|
||||
sitedir=$sitesdir/$site
|
||||
headers=`{get_lib_file headers.tpl}
|
||||
master_template=`{get_lib_file default_master.tpl}
|
||||
|
|
|
@ -7,15 +7,11 @@
|
|||
|
||||
% if(! ~ $#handlers_bar_left 0) {
|
||||
<nav id="side-bar">
|
||||
<input type="checkbox" class="menu-toggle" name="menu" value='valuable' id="menu" /><label for="menu"><div></div><p>[< Menu]</p></label>
|
||||
<div class="nav-content">
|
||||
% for(h in $handlers_bar_left) {
|
||||
<div>
|
||||
% run_handler $$h
|
||||
</div>
|
||||
% }
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
% }
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -10,90 +10,39 @@ nav ul { display: flex; flex-direction: column; list-style-type: none; list-styl
|
|||
nav li ul { padding-left: 0.6em }
|
||||
footer { display: flex; justify-content: space-between; }
|
||||
|
||||
@font-face {
|
||||
font-family: 'ft88';
|
||||
src: url('fonts/FT88-Gothique.woff2') format('woff2'),
|
||||
url('fonts/FT88-Gothique.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'gt';
|
||||
src: url('fonts/terminal-grotesque-webfont.woff2') format('woff2'),
|
||||
url('fonts/terminal-grotesque-webfont.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'wonder';
|
||||
src: url('fonts/WonderType-Regular.otf') format('opentype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'c';
|
||||
src: url('fonts/Creduci.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'rumeur';
|
||||
src: url('fonts/rumeur.otf') format('opentype');
|
||||
}
|
||||
:root {
|
||||
/* Main color scheme */
|
||||
--color-primary: #E4F0FEff;
|
||||
--color-secondary: #AEA3F0ff;
|
||||
--color-accent: #A4D1ADff;
|
||||
|
||||
/* Background colors */
|
||||
--bg-primary: #000300ff;
|
||||
--bg-secondary: #1C202Fff;
|
||||
|
||||
/* Text colors */
|
||||
--text-primary: #E4F0FEff;
|
||||
--text-secondary: #989898ff;
|
||||
--text-accent: #AEA3F0ff;
|
||||
|
||||
/* Header colours */
|
||||
--header-primary:#AEA3F0ff;
|
||||
--header-secondary: #AEA3F0ff;
|
||||
--header-tertiary: #A4D1ADff;
|
||||
--header-other: #E4F0FEff;
|
||||
|
||||
/* Link colors */
|
||||
--link-color: #2667deff;
|
||||
--link-hover: #5B3D8Aff;
|
||||
|
||||
/* Border colors */
|
||||
--border-primary: #C0CEE8ff;
|
||||
--border-secondary: #0C072Cff;
|
||||
--border-image: #000300ff;
|
||||
|
||||
/* Special purpose colors */
|
||||
--code-color: #18A02Cff;
|
||||
--header-bg: #AEA3F0ff;
|
||||
--header-text: #0C072Cff;
|
||||
|
||||
/* Font families */
|
||||
--font-headers: 'rumeur', sans-serif;
|
||||
--font-body: verdana, helvetica, arial, sans-serif;
|
||||
--alt-accent2: #C0CEE8ff;
|
||||
--primary-accent: #AEA3F0ff;
|
||||
--rebecca-purple: #5B3D8Aff;
|
||||
--primary-dark: #0C072Cff;
|
||||
--alt-accent: #989898ff;
|
||||
--back-secondary: #1C202Fff;
|
||||
--back-primary: #000300ff;
|
||||
--primary: #E4F0FEff;
|
||||
--white: white;
|
||||
--secondary-accent: #A4D1ADff;
|
||||
--link: #2667deff;
|
||||
--code: #18A02Cff;
|
||||
}
|
||||
|
||||
body {
|
||||
background:
|
||||
linear-gradient(to right, rgba(0, 5, 10, 0.9), rgba(0, 5, 5, 0.9)),
|
||||
url('imgs/back.jpeg'),
|
||||
var(--bg-primary);
|
||||
background-color: var(--bg-primary);
|
||||
var(--back-primary);
|
||||
background-color: var(--back-primary);
|
||||
background-position: center center;
|
||||
background-size: 110vh 75vh;
|
||||
background-repeat: repeat-y;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 90%;
|
||||
font-family: var(--font-body);
|
||||
font-size: 84%;
|
||||
font-family: verdana, helvetica, arial, sans-serif;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: var(--link-color);
|
||||
color: var(--link);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
|
@ -102,19 +51,19 @@ a:hover {
|
|||
|
||||
/* header and top bar */
|
||||
header nav {
|
||||
background-color: var(--header-bg);
|
||||
color: var(--header-text);
|
||||
border-bottom: 3px solid var(--border-secondary);
|
||||
background-color: var(--primary-accent);
|
||||
color: var(--primary-dark);
|
||||
border-bottom: 3px solid var(--primary-dark);
|
||||
padding: 0.3em;
|
||||
font-size: 110%;
|
||||
font-size: 91%;
|
||||
}
|
||||
|
||||
header h1 {
|
||||
display: flex;
|
||||
background-color: var(--back-secondary);
|
||||
color: var(--text-primary);
|
||||
color: var(--primary);
|
||||
margin: 0;
|
||||
border-bottom: 3px solid var(--border-secondary);
|
||||
border-bottom: 3px solid var(--primary-dark);
|
||||
font-size: 200%;
|
||||
font-weight: bold;
|
||||
padding: 0.5ex 0 0.5ex 0.6ex;
|
||||
|
@ -124,15 +73,13 @@ header h1 #headerSubTitle {
|
|||
display: block;
|
||||
margin-left: 2em;
|
||||
font-size: 40%;
|
||||
color: var(--color-accent);
|
||||
color: var(--secondary-accent)
|
||||
}
|
||||
|
||||
header h1 .headerLink {
|
||||
display: inline-block;
|
||||
margin-top: 0.2ex;
|
||||
margin-left: 0.6ex;
|
||||
font-family: var(--font-headers);
|
||||
font-size: xx-large;
|
||||
}
|
||||
|
||||
header h1 a img {
|
||||
|
@ -160,13 +107,12 @@ header nav .right {
|
|||
/* sidebar */
|
||||
body>nav {
|
||||
padding: 0;
|
||||
border-right: 3px solid var(--border-primary);
|
||||
border-right: 3px solid var(--alt-accent2);
|
||||
}
|
||||
|
||||
body>nav>div a,
|
||||
input[type="submit"],
|
||||
.bu {
|
||||
color: var(--color-accent);
|
||||
input[type="submit"] {
|
||||
color: var(--secondary-accent);
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
padding: 0.25em 1ex 0.25em 2mm;
|
||||
|
@ -174,35 +120,30 @@ input[type="submit"],
|
|||
}
|
||||
|
||||
body>nav>div a:hover,
|
||||
input[type="submit"]:hover,
|
||||
.bu:hover {
|
||||
color: var(--text-accent) !important;
|
||||
background-color: var(--bg-primary);
|
||||
border-left: var(--color-accent) solid 0.3em;
|
||||
input[type="submit"]:hover {
|
||||
color: var(--primary-accent) !important;
|
||||
background-color: var(--back-primary);
|
||||
border-left: var(--secondary-accent) solid 0.3em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
input[type="submit"], .bu {
|
||||
input[type="submit"] {
|
||||
background-color: transparent;
|
||||
font-family: inherit;
|
||||
border: none;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
fieldset input[type="submit"]:hover, .bu:hover {
|
||||
border: 2px ridge var(--color-accent);
|
||||
border-left: var(--color-accent) solid 0.3em;
|
||||
fieldset input[type="submit"]:hover {
|
||||
border: 2px ridge var(--secondary-accent);
|
||||
border-left: var(--secondary-accent) solid 0.3em;
|
||||
}
|
||||
|
||||
fieldset input[type="submit"], .bu {
|
||||
border: 2px solid var(--color-accent);
|
||||
fieldset input[type="submit"] {
|
||||
border: 2px solid var(--secondary-accent);
|
||||
margin-top: 0.6em;
|
||||
}
|
||||
|
||||
.bu {
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
padding: 1em;
|
||||
max-width: 1000px;
|
||||
|
@ -223,11 +164,11 @@ input[type="text"], textarea {
|
|||
}
|
||||
|
||||
body>nav>div .dt {
|
||||
color: var(--text-primary);
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
body>nav>div a:hover .dt {
|
||||
color: var(--text-accent);
|
||||
color: var(--primary-accent);
|
||||
}
|
||||
|
||||
body>nav>div p {
|
||||
|
@ -239,52 +180,40 @@ body>nav>div p {
|
|||
/* main copy */
|
||||
article {
|
||||
padding: 0.5ex 1vw 5vh 1vw;
|
||||
color: var(--text-primary);
|
||||
color: var(--primary);
|
||||
backdrop-filter: blur(3px);
|
||||
flex: 1 1 60%;
|
||||
max-width: 1100px;
|
||||
}
|
||||
|
||||
article h1 {
|
||||
color: var(--header-primary);
|
||||
font-weight: bold;
|
||||
margin: 1em 0 0.5em 0;
|
||||
font-size: xx-large;
|
||||
font-family: rumeur, sans-serif;
|
||||
}
|
||||
article h1,
|
||||
article h2 {
|
||||
color: var(--header-secondary);
|
||||
color: var(--primary-accent);
|
||||
font-weight: bold;
|
||||
margin: 1em 0 0.5em 0;
|
||||
font-family: var(--font-headers);
|
||||
margin: 1em 0 1em 0;
|
||||
}
|
||||
|
||||
article h3 {
|
||||
color: var(--header-tertiary);
|
||||
color: var(--secondary-accent);
|
||||
font-weight: bold;
|
||||
margin: 2em 0 0.2em 0;
|
||||
margin: 2em 0 0 0;
|
||||
}
|
||||
|
||||
article h4 article h5 {
|
||||
color: var(--header-other);
|
||||
color: var(--primary);
|
||||
margin: 2em 0 0 0;
|
||||
}
|
||||
|
||||
article h6,
|
||||
article h7,
|
||||
article h8 {
|
||||
color: var(--header-other);
|
||||
color: var(--primary);
|
||||
font-weight: bold;
|
||||
margin: 2em 0 0 0;
|
||||
}
|
||||
|
||||
article p, article li {
|
||||
color: var(--text-primary);
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
article a {
|
||||
color: var(--link-color);
|
||||
color: var(--link);
|
||||
}
|
||||
|
||||
article a:hover {
|
||||
|
@ -292,12 +221,11 @@ article a:hover {
|
|||
}
|
||||
|
||||
article img {
|
||||
border: 0.4em solid var(--bg-primary);
|
||||
}
|
||||
|
||||
textarea#comment_text {
|
||||
max-width: 50em;
|
||||
max-height: 5em;
|
||||
width: 90%;
|
||||
max-width: 600px;
|
||||
border: 0.4em solid var(--back-primary);
|
||||
background-color: black !important;
|
||||
padding: 0.2em;
|
||||
}
|
||||
|
||||
.center {
|
||||
|
@ -305,11 +233,6 @@ textarea#comment_text {
|
|||
}
|
||||
|
||||
img[title="main"] {
|
||||
width: 90%;
|
||||
max-width: 600px;
|
||||
border: 0.4em solid var(--bg-primary);
|
||||
background-color: var(--border-image) !important;
|
||||
padding: 0.2em;
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
@ -317,22 +240,17 @@ img[title="main"] {
|
|||
}
|
||||
|
||||
hr {
|
||||
color: var(--border-primary);
|
||||
}
|
||||
|
||||
.notify_errors {
|
||||
padding: 0.2em;
|
||||
color: red;
|
||||
color: var(--alt-accent2)
|
||||
}
|
||||
|
||||
/* footer */
|
||||
footer {
|
||||
color: var(--text-primary);
|
||||
background-color: color-mix(in srgb, var(--bg-primary), transparent 86%);
|
||||
color: white;
|
||||
background-color: color-mix(in srgb, var(--primary-back), transparent 86%);
|
||||
}
|
||||
|
||||
footer a {
|
||||
color: var(--link-color);
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
footer div {
|
||||
|
@ -341,26 +259,26 @@ footer div {
|
|||
|
||||
/* tables */
|
||||
table {
|
||||
border: 1px solid rgba(var(--bg-secondary), 0.5);
|
||||
border: 1px solid rgba(128, 128, 128, 0.5);
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
th {
|
||||
color: var(--text-primary);
|
||||
background-color: var(--bg-primary);
|
||||
color: white;
|
||||
background-color: rgb(100, 135, 220);
|
||||
}
|
||||
|
||||
tr:nth-child(odd) {
|
||||
background-color: rgba(var(--bg-secondary), 0.1);
|
||||
background-color: rgba(128, 128, 128, 0.1)
|
||||
}
|
||||
|
||||
/* accents */
|
||||
.accent {
|
||||
color: var(--text-accent)
|
||||
color: var(--primary-accent)
|
||||
}
|
||||
|
||||
.accent2 {
|
||||
color: var(--color-accent)
|
||||
color: var(--secondary-accent)
|
||||
}
|
||||
|
||||
/* dates */
|
||||
|
@ -371,14 +289,14 @@ tr:nth-child(odd) {
|
|||
font-weight: normal;
|
||||
max-width: fit-content;
|
||||
font-size: x-small;
|
||||
color: var(--text-primary);
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
.date::before,
|
||||
.date::after {
|
||||
content: '⋆★⋆';
|
||||
flex: 1;
|
||||
color: var(--text-secondary);
|
||||
color: var(--alt-accent)
|
||||
}
|
||||
|
||||
.date:not(:empty)::before {
|
||||
|
@ -399,7 +317,7 @@ tr:nth-child(odd) {
|
|||
|
||||
.bfeed h2 a {
|
||||
font-size: 90%;
|
||||
color: var(--text-accent);
|
||||
color: var(--primary-accent);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
@ -409,32 +327,11 @@ tr:nth-child(odd) {
|
|||
|
||||
blockquote {
|
||||
font-style: italic;
|
||||
color: var(--color-accent);
|
||||
border-left: 3px solid var(--text-secondary);
|
||||
color: var(--secondary-accent);
|
||||
border-left: 3px solid var(--alt-accent);
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.copybox {
|
||||
background-color: var(--bg-primary);
|
||||
border: 1px solid var(--text-primary);
|
||||
border-radius: 4px;
|
||||
padding: 16px;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: 14px;
|
||||
color: var(--code-color);
|
||||
overflow-x: auto;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.info {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#test-search {
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
/* animations */
|
||||
|
||||
.fire {
|
||||
|
@ -464,69 +361,6 @@ blockquote {
|
|||
}
|
||||
}
|
||||
|
||||
.menu-toggle {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.menu-toggle + label {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.menu-toggle + label div {
|
||||
display: none;
|
||||
height: 20px;
|
||||
width: 60px;
|
||||
margin-top: 15px;
|
||||
margin-left: 5px;
|
||||
padding: 5px 5px 5px 5px;
|
||||
text-align: center;
|
||||
border: 2px solid var(--border-primary);
|
||||
border-radius: 3px;
|
||||
font-weight: bold;
|
||||
font-family: 'Courier New', Courier, monospace;
|
||||
font-size: xx-large;
|
||||
}
|
||||
|
||||
.menu-toggle + label p {
|
||||
display: inline-block;
|
||||
font-size: x-large;
|
||||
color: var(--text-primary);
|
||||
margin-left: 10px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.menu-toggle + label {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.menu-toggle + label div {
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.nav-content {
|
||||
padding: 0;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.menu-toggle:checked ~ .nav-content {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.menu-toggle + label div::after {
|
||||
content: '▶';
|
||||
color: var(--text-primary);
|
||||
}
|
||||
.menu-toggle:checked + label div::after {
|
||||
content: '▽';
|
||||
}
|
||||
|
||||
.nav-list li:hover {
|
||||
background-color: #555;
|
||||
}
|
||||
}
|
||||
|
||||
/* media */
|
||||
@media screen and (max-width: 600px) {
|
||||
article {
|
||||
|
@ -536,8 +370,8 @@ blockquote {
|
|||
body > nav {
|
||||
flex-basis: 100%;
|
||||
border-right: none;
|
||||
border-bottom: 3px solid var(--border-primary);
|
||||
border-top: 3px solid var(--border-primary);
|
||||
border-bottom: 3px solid var(--alt-accent2);
|
||||
border-top: 3px solid var(--alt-accent2);
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-15" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/0/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/0/"><h2>BETTER LOVERS ($48.5)</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Friday, November 15th</div>
|
||||
<div class="location"><a href="">Brass Monkey 250 Greenbank Avenue </a></div>
|
||||
<div class="event_link"><a href="https://bronsoncentremusictheatre.com/events/event/better-lovers/">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/punk>punk</a>]</div> <div>[<a href=/category/metalcore>metalcore</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">expensive ass metal core show (but good) </div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://bronsoncentremusictheatre.com/events/event/better-lovers/" class="event_img_link"><img src="https://bronsoncentremusictheatre.com/wp-content/uploads/2024/08/241115a_BetterLovers2_INSTA_web-780x780.jpg" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
loud harsh noise played in a manner that will cause physical harm to nearby people upon listening its fifty bucks im fucking killing myself but these are good well established hardcore bands so if you have money to throw around go see them FUCK SPECTRASONIC
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
iancobain
|
|
@ -1,23 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-15" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/0/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/0/"><h2>BETTER LOVERS $48.5</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Friday, November 15th</div>
|
||||
<div class="location"><a href="">Brass Monkey 250 Greenbank Avenue </a></div>
|
||||
<div class="event_link"><a href="https://bronsoncentremusictheatre.com/events/event/better-lovers/">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/punk>punk</a>]</div> <div>[<a href=/category/metalcore>metalcore</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">All-ages metalcore show </div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://bronsoncentremusictheatre.com/events/event/better-lovers/" class="event_img_link"><img src="https://bronsoncentremusictheatre.com/wp-content/uploads/2024/08/241115a_BetterLovers2_INSTA_web-780x780.jpg" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
loud harsh noise played in a manner that will cause physical harm to nearby people upon listening
|
||||
|
||||
its fifty bucks im fucking killing myself
|
||||
|
||||
but these are good well established hardcore bands so if you have money to throw around go see them
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1 +0,0 @@
|
|||
iancobain
|
|
@ -1,20 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-15" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/0/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/0/"><h2>BETTER LOVERS ($48.5)</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Friday, November 15th</div>
|
||||
<div class="location"><a href="">Brass Monkey 250 Greenbank Avenue </a></div>
|
||||
<div class="event_link"><a href="https://bronsoncentremusictheatre.com/events/event/better-lovers/">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/punk>punk</a>]</div> <div>[<a href=/category/metalcore>metalcore</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">All-ages metalcore show </div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://bronsoncentremusictheatre.com/events/event/better-lovers/" class="event_img_link"><img src="https://bronsoncentremusictheatre.com/wp-content/uploads/2024/08/241115a_BetterLovers2_INSTA_web-780x780.jpg" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
loud harsh noise played in a manner that will cause physical harm to nearby people upon listening its fifty bucks im fucking killing myself but these are good well established hardcore bands so if you have money to throw around go see them FUCK SPECTRASONIC
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
iancobain
|
|
@ -1,21 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-15" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/0/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/0/"><h2>BETTER LOVERS ($48.5)</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Friday, November 15th</div>
|
||||
<div class="location"><a href="">Brass Monkey 250 Greenbank Avenue </a></div>
|
||||
<div class="event_link"><a href="https://bronsoncentremusictheatre.com/events/event/better-lovers/">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/punk>punk</a>]</div> <div>[<a href=/category/metalcore>metalcore</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">expensive ass metal core show (but good) </div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://bronsoncentremusictheatre.com/events/event/better-lovers/" class="event_img_link"><img src="https://bronsoncentremusictheatre.com/wp-content/uploads/2024/08/241115a_BetterLovers2_INSTA_web-780x780.jpg" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
loud harsh noise played in a manner that will cause physical harm to nearby people upon listening its fifty bucks im fucking killing myself but these are good well established hardcore bands so if you have money to throw around go see them FUCK SPECTRASONIC
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-14" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/1/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/1/"><h2>Altar Of The Fuzz ($20)</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Thursday, November 14th</div>
|
||||
<div class="location"><a href="">The Rainbow Bistro 76 Murray Street</a></div>
|
||||
<div class="event_link"><a href="https://therainbow.ca/event/5741013/694045601/the-consequents-altar-of-the-fuzz-afraid-of-grace">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/metal>metal</a>]</div> <div>[<a href=/category/doom-metal>doom-metal</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">Fuzzy waves of raw sound to drown the cries of your bitch wife</div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://therainbow.ca/event/5741013/694045601/the-consequents-altar-of-the-fuzz-afraid-of-grace" class="event_img_link"><img src="https://d10j3mvrs1suex.cloudfront.net/s:bzglfiles/u/607487/c798fc16d6b55036dad3d5726eda44458ec594df/original/the-consequents-nov-2024.jpg/!!/b%3AW1sicmVzaXplIixbNjAwLG51bGwseyJ3aXRob3V0RW5sYXJnZW1lbnQiOnRydWUsImZpdCI6Im91dHNpZGUifV1dXQ%3D%3D/meta%3AeyJzcmNCdWNrZXQiOiJiemdsZmlsZXMifQ%3D%3D.jpg" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
altar of the fuzz are a really fucking good stoner rock band with loud fuzzy droning riffs reminiscent of electric wizard. music that makes you drool like a retard. i highly recommend it rainbow bistro is based woot woot
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1 +0,0 @@
|
|||
iancobain
|
|
@ -1,19 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-14" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/1/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/1/"><h2>Altar Of The Fuzz ($20)</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Thursday, November 14th</div>
|
||||
<div class="location"><a href="">The Rainbow Bistro 76 Murray Street</a></div>
|
||||
<div class="event_link"><a href="https://therainbow.ca/event/5741013/694045601/the-consequents-altar-of-the-fuzz-afraid-of-grace">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/metal>metal</a>]</div> <div>[<a href=/category/doom-metal>doom-metal</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">Fuzzy waves of raw sound to drown the cries of your bitch wife</div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://therainbow.ca/event/5741013/694045601/the-consequents-altar-of-the-fuzz-afraid-of-grace" class="event_img_link"><img src="https://d10j3mvrs1suex.cloudfront.net/s:bzglfiles/u/607487/c798fc16d6b55036dad3d5726eda44458ec594df/original/the-consequents-nov-2024.jpg/!!/b%3AW1sicmVzaXplIixbNjAwLG51bGwseyJ3aXRob3V0RW5sYXJnZW1lbnQiOnRydWUsImZpdCI6Im91dHNpZGUifV1dXQ%3D%3D/meta%3AeyJzcmNCdWNrZXQiOiJiemdsZmlsZXMifQ%3D%3D.jpg" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
altar of the fuzz are a really fucking good stoner rock band with loud fuzzy droning riffs reminiscent of electric wizard. music that makes you drool like a retard. i highly recommend it rainbow bistro is based woot woot
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-16" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/2/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/2/"><h2>hard rock birthday party ($20)</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Saturday, November 16th</div>
|
||||
<div class="location"><a href="">The Rainbow Bistro 79 Murray Street</a></div>
|
||||
<div class="event_link"><a href="https://therainbow.ca/event/5743376/694261231/super-kyle-s-birthday-bash-featuring-beyond-driven-this-disaster-don-t-tell-sarah-until">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/rock>rock</a>]</div> <div>[<a href=/category/classic-rock>classic-rock</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">butt rock made by divorced boomers with nothing better to do on their birthday</div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://therainbow.ca/event/5743376/694261231/super-kyle-s-birthday-bash-featuring-beyond-driven-this-disaster-don-t-tell-sarah-until" class="event_img_link"><img src="https://d10j3mvrs1suex.cloudfront.net/s:bzglfiles/u/607487/9b6df44a01242649fec1a813f57502ada6eb334e/original/super-kyle-bday-bash.jpeg/!!/b%3AW1sicmVzaXplIixbNjAwLG51bGwseyJ3aXRob3V0RW5sYXJnZW1lbnQiOnRydWUsImZpdCI6Im91dHNpZGUifV1dXQ%3D%3D/meta%3AeyJzcmNCdWNrZXQiOiJiemdsZmlsZXMifQ%3D%3D.jpg" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
i dont know any of these bands but they're probably going to play some van halen/jimi hendrix/led zeppelin style hard rock because they're stuck in their childhood celebrating a birthday party with electric guitars and bad hair (kind of based)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
iancobain
|
|
@ -1,19 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-16" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/2/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/2/"><h2>hard rock birthday party $20</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Saturday, November 16th</div>
|
||||
<div class="location"><a href="">The Rainbow Bistro 79 Murray Street</a></div>
|
||||
<div class="event_link"><a href="https://therainbow.ca/event/5743376/694261231/super-kyle-s-birthday-bash-featuring-beyond-driven-this-disaster-don-t-tell-sarah-until">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/rock>rock</a>]</div> <div>[<a href=/category/classic-rock>classic-rock</a>]</div> </div>
|
||||
<div class="short_desc">butt rock made by divorced boomers with nothing better to do on their birthday</div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://therainbow.ca/event/5743376/694261231/super-kyle-s-birthday-bash-featuring-beyond-driven-this-disaster-don-t-tell-sarah-until" class="event_img_link"><img src="https://d10j3mvrs1suex.cloudfront.net/s:bzglfiles/u/607487/9b6df44a01242649fec1a813f57502ada6eb334e/original/super-kyle-bday-bash.jpeg/!!/b%3AW1sicmVzaXplIixbNjAwLG51bGwseyJ3aXRob3V0RW5sYXJnZW1lbnQiOnRydWUsImZpdCI6Im91dHNpZGUifV1dXQ%3D%3D/meta%3AeyJzcmNCdWNrZXQiOiJiemdsZmlsZXMifQ%3D%3D.jpg" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
i dont know any of these bands but they're probably going to play some van halen/jimi hendrix/led zeppelin style hard rock because they're stuck in their childhood celebrating a birthday party with electric guitars and bad hair (kind of based)
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1 +0,0 @@
|
|||
iancobain
|
|
@ -1,20 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-16" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/2/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/2/"><h2>hard rock birthday party ($20)</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Saturday, November 16th</div>
|
||||
<div class="location"><a href="">The Rainbow Bistro 79 Murray Street</a></div>
|
||||
<div class="event_link"><a href="https://therainbow.ca/event/5743376/694261231/super-kyle-s-birthday-bash-featuring-beyond-driven-this-disaster-don-t-tell-sarah-until">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/rock>rock</a>]</div> <div>[<a href=/category/classic-rock>classic-rock</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">butt rock made by divorced boomers with nothing better to do on their birthday</div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://therainbow.ca/event/5743376/694261231/super-kyle-s-birthday-bash-featuring-beyond-driven-this-disaster-don-t-tell-sarah-until" class="event_img_link"><img src="https://d10j3mvrs1suex.cloudfront.net/s:bzglfiles/u/607487/9b6df44a01242649fec1a813f57502ada6eb334e/original/super-kyle-bday-bash.jpeg/!!/b%3AW1sicmVzaXplIixbNjAwLG51bGwseyJ3aXRob3V0RW5sYXJnZW1lbnQiOnRydWUsImZpdCI6Im91dHNpZGUifV1dXQ%3D%3D/meta%3AeyJzcmNCdWNrZXQiOiJiemdsZmlsZXMifQ%3D%3D.jpg" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
i dont know any of these bands but they're probably going to play some van halen/jimi hendrix/led zeppelin style hard rock because they're stuck in their childhood celebrating a birthday party with electric guitars and bad hair (kind of based)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-22" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/3/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/3/"><h2>Unchained ($15)</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Friday, November 22nd</div>
|
||||
<div class="location"><a href="">Avant Garde Bar 150 Besserer Street</a></div>
|
||||
<div class="event_link"><a href="https://www.ottawagigs.ca/gig/unchained-friday-22-november-2024-at-2000">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/rock>rock</a>]</div> <div>[<a href=/category/punk>punk</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">mystery lineup of weird bands </div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://www.ottawagigs.ca/gig/unchained-friday-22-november-2024-at-2000" class="event_img_link"><img src="https://cdn.prod.website-files.com/63ed2f1997d1c7be9b6844f7/6714f77474b315412e94ea35_VLlut_5mlB1Ma2ELjItJngAjKms3GFxuXo1DeaNKm3iexTfIJpoLulppwZIfmUL8HaTybIjs0_WqsLHHaoRTutsZAZzCW1bwSdzdaj9OXHKMqyICECLSOZgrJjHS2bVVIcbwYarifNVc4ODWk_O8Fr2Iy5e4RbL2_lHbG6xW_Kc.jpeg" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
this looks cool, interesting influences on their bandcamps drawing from all over alternative rock, punk, post-punk, doom, amongst other things. expect driving guitars and sweaty drummers with a non negligible degree of headbangitude
|
||||
</div>
|
||||
</div>
|
|
@ -1,23 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-29" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/4/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/4/"><h2>Apostlebird</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Friday, November 29</div>
|
||||
<div class="location"><a href="">Live on elgin 220 Elgin street</a></div>
|
||||
<div class="event_link"><a href="https://www.ottawagigs.ca/gig/abijah-valvehead-apostlebird-at-live-on-elgin">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/indie>indie</a>]</div> <div>[<a href=/category/shoegaze>shoegaze</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">our friends in apostlebird live on elgin</div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://www.ottawagigs.ca/gig/abijah-valvehead-apostlebird-at-live-on-elgin" class="event_img_link"><img src="https://up.thirdculture.top/4Vfptr9ufT/2024-11-13T00:15:54%2C137815319-05:00.png" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
bwoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
iancobain
|
|
@ -1,18 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-29" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/4/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/4/"><h2>Apostlebird</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Friday, November 29</div>
|
||||
<div class="location"><a href="">Live on elgin 220 Elgin street</a></div>
|
||||
<div class="event_link"><a href="https://www.ottawagigs.ca/gig/abijah-valvehead-apostlebird-at-live-on-elgin">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/indie>indie</a>]</div> <div>[<a href=/category/shoegaze>shoegaze</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">our friends in apostlebird live on elgin</div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://www.ottawagigs.ca/gig/unchained-friday-22-november-2024-at-2000" class="event_img_link"><img src="2024-11-13T00:15:54,137815319-05:00.png" alt="Event Poster" /></a>
|
||||
<div class="event_body">
|
||||
bwoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1 +0,0 @@
|
|||
iancobain
|
|
@ -1,19 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-29" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/4/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/4/"><h2>Apostlebird</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Friday, November 29</div>
|
||||
<div class="location"><a href="">Live on elgin 220 Elgin street</a></div>
|
||||
<div class="event_link"><a href="https://www.ottawagigs.ca/gig/abijah-valvehead-apostlebird-at-live-on-elgin">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/indie>indie</a>]</div> <div>[<a href=/category/shoegaze>shoegaze</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">our friends in apostlebird live on elgin</div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://www.ottawagigs.ca/gig/unchained-friday-22-november-2024-at-2000" class="event_img_link"><img src="2024-11-13T00:15:54,137815319-05:00.png" alt="Event Poster" /></a>
|
||||
<div class="event_body">
|
||||
2024-11-13T00:15:54,137815319-05:00.png bwoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
iancobain
|
|
@ -1,18 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-29" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/4/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/4/"><h2>Apostlebird</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Friday, November 29</div>
|
||||
<div class="location"><a href="">Live on elgin 220 Elgin street</a></div>
|
||||
<div class="event_link"><a href="https://www.ottawagigs.ca/gig/abijah-valvehead-apostlebird-at-live-on-elgin">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/indie>indie</a>]</div> <div>[<a href=/category/shoegaze>shoegaze</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">our friends in apostlebird live on elgin</div>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
bwoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
iancobain
|
|
@ -1,22 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-29" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/4/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/4/"><h2>Apostlebird</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Friday, November 29</div>
|
||||
<div class="location"><a href="">Live on elgin 220 Elgin street</a></div>
|
||||
<div class="event_link"><a href="https://www.ottawagigs.ca/gig/abijah-valvehead-apostlebird-at-live-on-elgin">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/indie>indie</a>]</div> <div>[<a href=/category/shoegaze>shoegaze</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">our friends in apostlebird live on elgin</div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://up.thirdculture.top/4Vfptr9ufT/2024-11-13T00:15:54%2C137815319-05:00.png" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
bwoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
iancobain
|
|
@ -1,23 +0,0 @@
|
|||
<!-- EXPIRES: "2024-11-29" -->
|
||||
<div class="event_box">
|
||||
<a href="/2024/11/13/4/" class="event_box_link"><span class="link_span"></span></a>
|
||||
<a href="/2024/11/13/4/"><h2>Apostlebird</h2></a>
|
||||
<div class="event_info">
|
||||
<div class="date">Friday, November 29</div>
|
||||
<div class="location"><a href="">Live on elgin 220 Elgin street</a></div>
|
||||
<div class="event_link"><a href="https://www.ottawagigs.ca/gig/abijah-valvehead-apostlebird-at-live-on-elgin">Event Link</a></div>
|
||||
<div class="cat_list"><div>[<a href=/category/indie>indie</a>]</div> <div>[<a href=/category/shoegaze>shoegaze</a>]</div> <div>[<a href=/category/all-ages>all-ages</a>]</div> </div>
|
||||
<div class="short_desc">our friends in apostlebird live on elgin</div>
|
||||
</div>
|
||||
<div class="event_poster">
|
||||
<a href="https://www.ottawagigs.ca/gig/abijah-valvehead-apostlebird-at-live-on-elgin" class="event_img_link"><img src="https://up.thirdculture.top/4Vfptr9ufT/2024-11-13T00:15:54%2C137815319-05:00.png" alt="Event Poster" /></a>
|
||||
</div>
|
||||
<div class="event_body">
|
||||
bwoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
masterSite=thirdculture.top
|
||||
siteTitle='Third Culture Events'
|
||||
siteSubTitle='happening right now'
|
||||
conf_enable_ico
|
||||
icoTitle='Events'
|
||||
icoDesc='Hand picked, interesting events happening in the Ottawa area!<br><small>(maintained by <a href="https://ppl.thirdculture.top/iancobain/">iancobain</a>)</small>'
|
||||
conf_enable_wiki
|
||||
conf_dirdir_index_type='html'
|
|
@ -1,28 +0,0 @@
|
|||
<header>
|
||||
<h1><a href="/"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAMAAACfvvDEAAADAFBMVEUAAAAAAKgA/wD/+wCC/wAA/wAA/30A//8Agv8AAP95AP/PAP//ANf/AIL/AAD/fQDLmkWWPBhhAAD/94LD/4KC/4KC/76C//+Cw/+Cgv+mgv/Pgv/7gv//gsP/goL/noKCAACCHACCPACCUQCCZQCCeQBBggAAggAAgjwAgoIAQYIAAIIoAIJNAIJ5AIKCAEEAAAAQEBAgICAwMDBFRUVVVVVlZWV1dXWGhoaampqqqqq6urrLy8vf39/v7+////9NAABZAABxAACGAACeAAC2AADPAADnAAD/AAD/HBz/NDT/UVH/bW3/ior/oqL/vr5NJABVKABtNACGPACeSQC2WQDPZQDncQD/fQD/jhz/mjT/plH/sm3/vob/z6L/375NSQBZUQBxaQCGggCelgC2rgDPxwDn4wD//wD//xz/+zT/+1H/923/+4b/+6L/+74ATQAAYQAAeQAAjgAApgAAugAA0wAA6wAA/wAc/xw4/zRV/1Fx/22K/4am/6LD/74AQUEAWVkAcXEAhoYAnp4AtrYAz88A5+cA//9Z//t1//uK//+e//u6///L///b//8AIEEALFkAOHEARYYAUZ4AXbYAac8AdecAgv8cjv80nv9Rqv9tuv+Ky/+i1/++4/8AAE0AAGUABHkABI4ABKYAAL4AANMAAOsAAP8cJP80PP9RXf9tef+Kkv+iqv++x/8kAE0wAGVBAIJNAJpZALJlAMtxAOd5AP+CAP+OHP+WNP+mUf+ubf++hv/Lov/bvv9JAE1fAGN1AHqLAJChAKe3AL3NANTjAOvmF+3qL/DtR/LxX/X0dvf4jvr7pvz/vv8gAAAsAAA4BARJDAhVFBBhIBhxKCR9OCyGRTiaWU2qbV26gnXLmorfsqLvz77/698gIAA8PABRTQBlWQh5ZQyObRSieRy2fSi+gjjHjk3PlmHbpnXjso7rw6b308P/69//HBz/HBz/HBz/HBz/HBz/HBz/HBysfHz/HBz/HBz/HBz/HBwAAABtbW2qqqptbW0REdKpAAAAD3RFWHRTb2Z0d2FyZQBHcmFmeDKgolNqAAAASGNyTmcAAAACMD8AAAACQE8AAAACUF8AAAACYG8AAAACcH8AAAACgI8AAAACkJ8AAAACoK8AAAACsL8AAAACwM8AAAAC0N8AAAAC4O+6mu6bAAAAk0lEQVQ4jd3UXQ6AIAgA4C7BC6dg3f9wZTPkz2RlD4W1gr6htdmyZmN5SdI4Pi5xHymJJeZKxIA+k4dyNJDIEhOyXS4kC0OdRCVxIP1tINVTldyW5i1kqqX9iDL3ksjQSHId6implG0ugHLompV1KqhQFIVUkBztSF5nJIMNoaju2ZOmp9+4JyXTcxC/lfn//Gy5AVilLcOiiriTAAAAAElFTkSuQmCC"></a><a href="/" class="headerLink">%($"siteTitle%) <br><span id="headerSubTitle">[ %($"siteSubTitle%) ]</span></a></h1>
|
||||
<nav>
|
||||
% cat `{ get_lib_file top_bar.inc }
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
% if(! ~ $#handlers_bar_left 0) {
|
||||
<nav id="side-bar">
|
||||
% for(h in $handlers_bar_left) {
|
||||
<div>
|
||||
% run_handler $$h
|
||||
</div>
|
||||
% }
|
||||
</nav>
|
||||
% }
|
||||
|
||||
<div class="background"></div>
|
||||
<article>
|
||||
% run_handlers $handlers_body_head
|
||||
% run_handler $handler_body_main
|
||||
% run_handlers $handlers_body_foot
|
||||
</article>
|
||||
|
||||
<footer>
|
||||
% run_handlers $handlers_foot_body
|
||||
% cat `{ get_lib_file footer.inc }
|
||||
</footer>
|
|
@ -1,4 +0,0 @@
|
|||
<div><p>[ <a href="/new_post">Make a new post</a> ]</p>
|
||||
<form action="" method="POST">
|
||||
<p>[ <input type="submit" name="dirdir_edit" value="Edit page" /> ]</p>
|
||||
</form></div>
|
Binary file not shown.
Before Width: | Height: | Size: 3.4 KiB |
|
@ -1,359 +0,0 @@
|
|||
body {
|
||||
background:
|
||||
url("imgs/starback.gif"),
|
||||
black;
|
||||
background-repeat: repeat;
|
||||
}
|
||||
|
||||
.background {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
backdrop-filter: blur(1px);
|
||||
}
|
||||
|
||||
nav#side-bar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
article {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
backdrop-filter: none;
|
||||
}
|
||||
|
||||
input[name="dirdir_edit"] {
|
||||
color: #2667de;
|
||||
display: inline-block;
|
||||
font-weight: normal;
|
||||
padding: 0;
|
||||
font-size: 100%
|
||||
}
|
||||
input[name="dirdir_edit"]:hover {
|
||||
color: #2667de !important;
|
||||
background-color: none;
|
||||
border-left: none;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.icofeed {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
|
||||
gap: 10px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.categories_box {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.categories_box legend {
|
||||
font-size: large;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.categories {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
.categories a {
|
||||
position: relative;
|
||||
text-decoration: none;
|
||||
transition: color 0.1s ease;
|
||||
}
|
||||
|
||||
.categories a:hover {
|
||||
color: white;
|
||||
animation: flicker 0.8s infinite;
|
||||
transition: opacity 0.1s ease;
|
||||
}
|
||||
|
||||
.categories a::after {
|
||||
content: "|";
|
||||
color: white;
|
||||
padding-right: 0.5em;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.categories a:last-child::after {
|
||||
content: "|";
|
||||
}
|
||||
|
||||
.categories a:first-child::before {
|
||||
color: white;
|
||||
content: "|";
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
|
||||
@keyframes flicker {
|
||||
0% { color: #fff; opacity: 1; }
|
||||
25% { color: #def8ff; opacity: 1; }
|
||||
50% { color: #fff; opacity: 1; }
|
||||
75% { color: #def8ff; opacity: 1; }
|
||||
100% { color: #fff; opacity: 1; }
|
||||
}
|
||||
|
||||
.event_box {
|
||||
text-align: center;
|
||||
border-left: 4px solid white;
|
||||
border-right: 4px solid white;
|
||||
border-radius: 4px;
|
||||
max-width: fit-content;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.event_box h2 {
|
||||
font-size: xxx-large;
|
||||
}
|
||||
|
||||
.date {
|
||||
display: flex;
|
||||
background-color: rgba(30,30,30,0.5);
|
||||
color: #f0f0f0;
|
||||
padding: 8px 0px 8px 0px;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #4a4a4a;
|
||||
align-items: center;
|
||||
font-size: large;
|
||||
margin: auto;
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
.date::before,
|
||||
.date::after {
|
||||
content: '⋆★⋆';
|
||||
flex: 1;
|
||||
color: grey;
|
||||
}
|
||||
|
||||
.date:not(:empty)::before {
|
||||
margin-right: .25em;
|
||||
}
|
||||
|
||||
.date:not(:empty)::after {
|
||||
margin-left: .25em;
|
||||
}
|
||||
|
||||
|
||||
.post {
|
||||
background-color: rgba(0,0,0,0);
|
||||
border: 1px solid #3a3a3a;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
aspect-ratio: 1;
|
||||
position: relative;
|
||||
transition: box-shadow 0.3s ease;
|
||||
}
|
||||
|
||||
.post .event_info .date {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.post .event_info .date::before,
|
||||
.post .event_info .date::after {
|
||||
content: '⋆★⋆';
|
||||
flex: 1;
|
||||
color: var(--alt-accent)
|
||||
}
|
||||
|
||||
.post .event_info .date:not(:empty)::before {
|
||||
margin-right: .25em;
|
||||
}
|
||||
|
||||
.post .event_info .date:not(:empty)::after {
|
||||
margin-left: .25em;
|
||||
}
|
||||
|
||||
.post .event_box h2 {
|
||||
margin: 0;
|
||||
padding: 12px;
|
||||
font-size: 200%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.post .cat_list {
|
||||
padding: 0 12px;
|
||||
font-size: 0.9em;
|
||||
color: #b0b0b0;
|
||||
}
|
||||
|
||||
.post .cat_list a {
|
||||
color: #66b3ff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.location a[href=""] {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.location a[href=""]:hover {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
filter: none;
|
||||
}
|
||||
|
||||
.post .cat_list a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.cat_list div {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.cat_list::before {
|
||||
content: 'Catagories: ';
|
||||
}
|
||||
|
||||
.post .cat_list::before {
|
||||
content: '';
|
||||
}
|
||||
|
||||
.post .cat_list div:nth-child(n+4) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.event_body {
|
||||
padding: 12px;
|
||||
color: #c0c0c0;
|
||||
flex-grow: 1;
|
||||
overflow: hidden;
|
||||
font-size: medium;
|
||||
max-width: 650px;
|
||||
}
|
||||
|
||||
.post .event_body {
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
line-clamp: 3;
|
||||
-webkit-line-clamp: 3;
|
||||
-webkit-box-orient: vertical;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.event_info {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: rgba(30,30,30,0.5);
|
||||
padding: 1px 1px 5px 1px;
|
||||
margin: 0px 0px 0px 0px;
|
||||
}
|
||||
|
||||
.event_info > div {
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #4a4a4a;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.event_info .cat_list {
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.post .event_info .cat_list {
|
||||
width: initial;
|
||||
}
|
||||
|
||||
.event_info .location::before {
|
||||
content: 'Location: ';
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.event_info .event_link::before {
|
||||
content: '> ';
|
||||
}
|
||||
.event_info .event_link::after {
|
||||
content: ' <';
|
||||
}
|
||||
|
||||
.post .event_poster {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.event_poster img {
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.post .event_poster img {
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.post .event_box {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: left;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.post .event_box > * {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.post:hover .event_info a, .post:hover .event_body {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.event_box_link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.post .event_box_link {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.event_img_link {
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.post:hover .event_box {
|
||||
background-color: rgba(0,0,0,0.7);
|
||||
}
|
||||
|
||||
.post:hover .event_box > * {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.post .event_box .event_poster {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.link_span {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.post:hover .link_span {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.icofeed {
|
||||
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue