close to prerelase
This commit is contained in:
parent
e55fbb5b67
commit
31022358ed
181 changed files with 2118 additions and 141 deletions
BIN
dirdirold.tar.gz
Normal file
BIN
dirdirold.tar.gz
Normal file
Binary file not shown.
|
@ -1,6 +1,7 @@
|
|||
services:
|
||||
werc:
|
||||
build:
|
||||
network: host
|
||||
dockerfile: Dockerfile
|
||||
context: .
|
||||
ports:
|
||||
|
|
6
etc/lighttpd/conf.d/events.thridculture.top.conf
Normal file
6
etc/lighttpd/conf.d/events.thridculture.top.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
$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" => "")
|
||||
}
|
6
etc/lighttpd/conf.d/music.thridculture.top.conf
Normal file
6
etc/lighttpd/conf.d/music.thridculture.top.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
$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" => "")
|
||||
}
|
6
etc/lighttpd/conf.d/social.thridculture.top.conf
Normal file
6
etc/lighttpd/conf.d/social.thridculture.top.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
$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" => "")
|
||||
}
|
6
etc/lighttpd/conf.d/visual.thridculture.top.conf
Normal file
6
etc/lighttpd/conf.d/visual.thridculture.top.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
$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" => "")
|
||||
}
|
38
scripts/add_person.sh
Executable file
38
scripts/add_person.sh
Executable file
|
@ -0,0 +1,38 @@
|
|||
#!/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"
|
35
scripts/add_web_person.rc
Normal file
35
scripts/add_web_person.rc
Normal file
|
@ -0,0 +1,35 @@
|
|||
#!/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"
|
|
@ -49,7 +49,7 @@ fn blagh_init {
|
|||
if not if(~ $req_path $blagh_uri^index.rss)
|
||||
blagh_setup_feed_handlers rss20.tpl 'text/xml; charset=utf-8'
|
||||
|
||||
if not if(~ $req_path $blagh_uri^feed.json)
|
||||
if not if(~ $req_path $blagh_uri^feed.json)
|
||||
blagh_setup_feed_handlers jsonfeed.tpl 'application/json; charset=utf-8'
|
||||
|
||||
if not if(~ $req_path $blagh_uri^new_post && ! ~ $#editor_mode 0) {
|
||||
|
@ -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[Tom Duff's rc, and Kris Maglione's clever hackery]]></generator>
|
||||
<generator><![CDATA[werc blagh app]]></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%)@noreply.cat-v.org (%($by%))]]></author>
|
||||
<author><![CDATA[%($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" cols="80" rows="16">%($"saved_comment_text%)</textarea>
|
||||
<textarea name="comment_text" id="comment_text">%($"saved_comment_text%)</textarea>
|
||||
<br>
|
||||
<input type="submit" name="bridge_post" value="Post a comment">
|
||||
|
||||
|
|
33
werc/apps/cssedit/app.rc
Normal file
33
werc/apps/cssedit/app.rc
Normal file
|
@ -0,0 +1,33 @@
|
|||
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
|
||||
}
|
||||
|
27
werc/apps/cssedit/edit.tpl
Normal file
27
werc/apps/cssedit/edit.tpl
Normal file
|
@ -0,0 +1,27 @@
|
|||
<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>
|
3
werc/apps/cssedit/sidebar_controls.tpl
Normal file
3
werc/apps/cssedit/sidebar_controls.tpl
Normal file
|
@ -0,0 +1,3 @@
|
|||
<form action="" method="POST">
|
||||
<input type="submit" name="cssedit_edit" value="Edit CSS" />
|
||||
</form>
|
19
werc/apps/dirdir/README.md
Normal file
19
werc/apps/dirdir/README.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
# 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,6 +2,9 @@ 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 {
|
||||
|
@ -11,16 +14,34 @@ fn dirdir_init {
|
|||
# maybe it should, but for now we can fix it up here.
|
||||
if(~ $lp */)
|
||||
lp=$lp^'index'
|
||||
dirdir_file=$lp.md
|
||||
dirdir_file=$lp.^$"conf_dirdir_index_type
|
||||
if (test -f $lp.tpl) {
|
||||
dirdir_file=$lp.tpl
|
||||
}
|
||||
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})
|
||||
if not if(~ $"handler_body_main '' || {~ $REQUEST_METHOD GET && test -f $local_path.md} || {~ $REQUEST_METHOD GET && test -f $local_path.tpl} )
|
||||
ll_add handlers_bar_left tpl_handler apps/dirdir/sidebar_controls.tpl
|
||||
}
|
||||
}
|
||||
|
@ -32,9 +53,7 @@ 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 > $dirdir_verdir/data
|
||||
echo $post_arg_edit_text > $dirdir_file
|
||||
|
||||
echo $post_arg_edit_text | dos2unix > $dirdir_verdir/data
|
||||
echo $post_arg_edit_text | dos2unix > $dirdir_file
|
||||
post_redirect $base_url^$req_path
|
||||
#notify_notes='Saved <a href="'$"req_path'">'$"req_path'</a>!'
|
||||
}
|
||||
|
|
9
werc/apps/dirdir/delete_sure.tpl
Executable file
9
werc/apps/dirdir/delete_sure.tpl
Executable file
|
@ -0,0 +1,9 @@
|
|||
<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,9 +1,10 @@
|
|||
<div>
|
||||
<h1>Editing: <a href="%($req_path%)">%($req_path%)</a></h1>
|
||||
<br>
|
||||
<form action="" method="POST">
|
||||
<form action="" method="POST" enctype="multipart/form-data">
|
||||
<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
|
||||
|
@ -20,6 +21,6 @@
|
|||
% if(! ~ $"post_arg_dirdir_preview '') {
|
||||
<h2>Preview:</h2>
|
||||
<div id="preview">
|
||||
% echo $post_arg_edit_text | $formatter
|
||||
% echo $post_arg_edit_text | dos2unix | $formatter
|
||||
</div>
|
||||
% }
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
<form action="" method="POST">
|
||||
<input type="submit" name="dirdir_edit" value="Edit page" />
|
||||
<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"/>
|
||||
</form>
|
1
werc/apps/gallery
Submodule
1
werc/apps/gallery
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 65ecf50e317daa8c463b0375f1a57bd388b5bca4
|
144
werc/apps/ico/app.rc
Normal file
144
werc/apps/ico/app.rc
Normal file
|
@ -0,0 +1,144 @@
|
|||
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'
|
||||
}
|
25
werc/apps/ico/event_list_all.tpl
Normal file
25
werc/apps/ico/event_list_all.tpl
Normal file
|
@ -0,0 +1,25 @@
|
|||
% 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>
|
23
werc/apps/ico/event_list_cat.tpl
Normal file
23
werc/apps/ico/event_list_cat.tpl
Normal file
|
@ -0,0 +1,23 @@
|
|||
<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
werc/apps/ico/foot.tpl
Normal file
1
werc/apps/ico/foot.tpl
Normal file
|
@ -0,0 +1 @@
|
|||
<div><p>[ <a href="/new_post">Make a new post</a> ]</p></div>
|
17
werc/apps/ico/new_post.tpl
Normal file
17
werc/apps/ico/new_post.tpl
Normal file
|
@ -0,0 +1,17 @@
|
|||
<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>
|
20
werc/apps/ico/post.tpl
Normal file
20
werc/apps/ico/post.tpl
Normal file
|
@ -0,0 +1,20 @@
|
|||
<!-- 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>
|
25
werc/apps/ico/rss20.tpl
Normal file
25
werc/apps/ico/rss20.tpl
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?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=http://$site:$SERVER_PORT
|
||||
base_url=http://$site
|
||||
sitedir=$sitesdir/$site
|
||||
headers=`{get_lib_file headers.tpl}
|
||||
master_template=`{get_lib_file default_master.tpl}
|
||||
|
|
|
@ -7,11 +7,15 @@
|
|||
|
||||
% 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>
|
||||
% }
|
||||
|
||||
|
|
BIN
werc/pub/favicon.ico
Normal file
BIN
werc/pub/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
BIN
werc/pub/style/fonts/3270-Regular.woff
Normal file
BIN
werc/pub/style/fonts/3270-Regular.woff
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/3270Condensed-Regular.woff
Normal file
BIN
werc/pub/style/fonts/3270Condensed-Regular.woff
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/3270SemiCondensed-Regular.woff
Normal file
BIN
werc/pub/style/fonts/3270SemiCondensed-Regular.woff
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/Creduci.ttf
Normal file
BIN
werc/pub/style/fonts/Creduci.ttf
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/Director-Regular.woff
Normal file
BIN
werc/pub/style/fonts/Director-Regular.woff
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/Director-Regular.woff2
Normal file
BIN
werc/pub/style/fonts/Director-Regular.woff2
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/FT88-Gothique.woff
Normal file
BIN
werc/pub/style/fonts/FT88-Gothique.woff
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/FT88-Gothique.woff2
Normal file
BIN
werc/pub/style/fonts/FT88-Gothique.woff2
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/Fontlab.otf
Normal file
BIN
werc/pub/style/fonts/Fontlab.otf
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/Garamondt-Italic.woff
Executable file
BIN
werc/pub/style/fonts/Garamondt-Italic.woff
Executable file
Binary file not shown.
BIN
werc/pub/style/fonts/Garamondt-Regular.woff
Executable file
BIN
werc/pub/style/fonts/Garamondt-Regular.woff
Executable file
Binary file not shown.
BIN
werc/pub/style/fonts/Manusquared-Bold.woff
Normal file
BIN
werc/pub/style/fonts/Manusquared-Bold.woff
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/Manusquared-Bold.woff2
Normal file
BIN
werc/pub/style/fonts/Manusquared-Bold.woff2
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/Manusquared-Regular.woff
Normal file
BIN
werc/pub/style/fonts/Manusquared-Regular.woff
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/Manusquared-Regular.woff2
Normal file
BIN
werc/pub/style/fonts/Manusquared-Regular.woff2
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/Redaction_50-Bold.woff2
Normal file
BIN
werc/pub/style/fonts/Redaction_50-Bold.woff2
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/Redaction_50-Italic.woff2
Normal file
BIN
werc/pub/style/fonts/Redaction_50-Italic.woff2
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/Redaction_50-Regular.woff2
Normal file
BIN
werc/pub/style/fonts/Redaction_50-Regular.woff2
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/WonderType-Regular.otf
Normal file
BIN
werc/pub/style/fonts/WonderType-Regular.otf
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/rumeur.otf
Normal file
BIN
werc/pub/style/fonts/rumeur.otf
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/terminal-grotesque-webfont.woff
Normal file
BIN
werc/pub/style/fonts/terminal-grotesque-webfont.woff
Normal file
Binary file not shown.
BIN
werc/pub/style/fonts/terminal-grotesque-webfont.woff2
Normal file
BIN
werc/pub/style/fonts/terminal-grotesque-webfont.woff2
Normal file
Binary file not shown.
|
@ -10,39 +10,90 @@ 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 {
|
||||
--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;
|
||||
/* 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;
|
||||
}
|
||||
|
||||
body {
|
||||
background:
|
||||
linear-gradient(to right, rgba(0, 5, 10, 0.9), rgba(0, 5, 5, 0.9)),
|
||||
url('imgs/back.jpeg'),
|
||||
var(--back-primary);
|
||||
background-color: var(--back-primary);
|
||||
var(--bg-primary);
|
||||
background-color: var(--bg-primary);
|
||||
background-position: center center;
|
||||
background-size: 110vh 75vh;
|
||||
background-repeat: repeat-y;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 84%;
|
||||
font-family: verdana, helvetica, arial, sans-serif;
|
||||
font-size: 90%;
|
||||
font-family: var(--font-body);
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: var(--link);
|
||||
color: var(--link-color);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
|
@ -51,19 +102,19 @@ a:hover {
|
|||
|
||||
/* header and top bar */
|
||||
header nav {
|
||||
background-color: var(--primary-accent);
|
||||
color: var(--primary-dark);
|
||||
border-bottom: 3px solid var(--primary-dark);
|
||||
background-color: var(--header-bg);
|
||||
color: var(--header-text);
|
||||
border-bottom: 3px solid var(--border-secondary);
|
||||
padding: 0.3em;
|
||||
font-size: 91%;
|
||||
font-size: 110%;
|
||||
}
|
||||
|
||||
header h1 {
|
||||
display: flex;
|
||||
background-color: var(--back-secondary);
|
||||
color: var(--primary);
|
||||
color: var(--text-primary);
|
||||
margin: 0;
|
||||
border-bottom: 3px solid var(--primary-dark);
|
||||
border-bottom: 3px solid var(--border-secondary);
|
||||
font-size: 200%;
|
||||
font-weight: bold;
|
||||
padding: 0.5ex 0 0.5ex 0.6ex;
|
||||
|
@ -73,13 +124,15 @@ header h1 #headerSubTitle {
|
|||
display: block;
|
||||
margin-left: 2em;
|
||||
font-size: 40%;
|
||||
color: var(--secondary-accent)
|
||||
color: var(--color-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 {
|
||||
|
@ -107,12 +160,13 @@ header nav .right {
|
|||
/* sidebar */
|
||||
body>nav {
|
||||
padding: 0;
|
||||
border-right: 3px solid var(--alt-accent2);
|
||||
border-right: 3px solid var(--border-primary);
|
||||
}
|
||||
|
||||
body>nav>div a,
|
||||
input[type="submit"] {
|
||||
color: var(--secondary-accent);
|
||||
input[type="submit"],
|
||||
.bu {
|
||||
color: var(--color-accent);
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
padding: 0.25em 1ex 0.25em 2mm;
|
||||
|
@ -120,30 +174,35 @@ input[type="submit"] {
|
|||
}
|
||||
|
||||
body>nav>div a:hover,
|
||||
input[type="submit"]:hover {
|
||||
color: var(--primary-accent) !important;
|
||||
background-color: var(--back-primary);
|
||||
border-left: var(--secondary-accent) solid 0.3em;
|
||||
input[type="submit"]:hover,
|
||||
.bu:hover {
|
||||
color: var(--text-accent) !important;
|
||||
background-color: var(--bg-primary);
|
||||
border-left: var(--color-accent) solid 0.3em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
input[type="submit"] {
|
||||
input[type="submit"], .bu {
|
||||
background-color: transparent;
|
||||
font-family: inherit;
|
||||
border: none;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
fieldset input[type="submit"]:hover {
|
||||
border: 2px ridge var(--secondary-accent);
|
||||
border-left: var(--secondary-accent) solid 0.3em;
|
||||
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"] {
|
||||
border: 2px solid var(--secondary-accent);
|
||||
fieldset input[type="submit"], .bu {
|
||||
border: 2px solid var(--color-accent);
|
||||
margin-top: 0.6em;
|
||||
}
|
||||
|
||||
.bu {
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
padding: 1em;
|
||||
max-width: 1000px;
|
||||
|
@ -164,11 +223,11 @@ input[type="text"], textarea {
|
|||
}
|
||||
|
||||
body>nav>div .dt {
|
||||
color: var(--primary);
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
body>nav>div a:hover .dt {
|
||||
color: var(--primary-accent);
|
||||
color: var(--text-accent);
|
||||
}
|
||||
|
||||
body>nav>div p {
|
||||
|
@ -180,40 +239,52 @@ body>nav>div p {
|
|||
/* main copy */
|
||||
article {
|
||||
padding: 0.5ex 1vw 5vh 1vw;
|
||||
color: var(--primary);
|
||||
color: var(--text-primary);
|
||||
backdrop-filter: blur(3px);
|
||||
flex: 1 1 60%;
|
||||
max-width: 1100px;
|
||||
}
|
||||
|
||||
article h1,
|
||||
article h2 {
|
||||
color: var(--primary-accent);
|
||||
article h1 {
|
||||
color: var(--header-primary);
|
||||
font-weight: bold;
|
||||
margin: 1em 0 1em 0;
|
||||
margin: 1em 0 0.5em 0;
|
||||
font-size: xx-large;
|
||||
font-family: rumeur, sans-serif;
|
||||
}
|
||||
article h2 {
|
||||
color: var(--header-secondary);
|
||||
font-weight: bold;
|
||||
margin: 1em 0 0.5em 0;
|
||||
font-family: var(--font-headers);
|
||||
}
|
||||
|
||||
article h3 {
|
||||
color: var(--secondary-accent);
|
||||
color: var(--header-tertiary);
|
||||
font-weight: bold;
|
||||
margin: 2em 0 0 0;
|
||||
margin: 2em 0 0.2em 0;
|
||||
}
|
||||
|
||||
article h4 article h5 {
|
||||
color: var(--primary);
|
||||
color: var(--header-other);
|
||||
margin: 2em 0 0 0;
|
||||
}
|
||||
|
||||
article h6,
|
||||
article h7,
|
||||
article h8 {
|
||||
color: var(--primary);
|
||||
color: var(--header-other);
|
||||
font-weight: bold;
|
||||
margin: 2em 0 0 0;
|
||||
}
|
||||
|
||||
article p, article li {
|
||||
color: var(--white);
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
article a {
|
||||
color: var(--link);
|
||||
color: var(--link-color);
|
||||
}
|
||||
|
||||
article a:hover {
|
||||
|
@ -221,11 +292,12 @@ article a:hover {
|
|||
}
|
||||
|
||||
article img {
|
||||
width: 90%;
|
||||
max-width: 600px;
|
||||
border: 0.4em solid var(--back-primary);
|
||||
background-color: black !important;
|
||||
padding: 0.2em;
|
||||
border: 0.4em solid var(--bg-primary);
|
||||
}
|
||||
|
||||
textarea#comment_text {
|
||||
max-width: 50em;
|
||||
max-height: 5em;
|
||||
}
|
||||
|
||||
.center {
|
||||
|
@ -233,6 +305,11 @@ article img {
|
|||
}
|
||||
|
||||
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;
|
||||
|
@ -240,17 +317,22 @@ img[title="main"] {
|
|||
}
|
||||
|
||||
hr {
|
||||
color: var(--alt-accent2)
|
||||
color: var(--border-primary);
|
||||
}
|
||||
|
||||
.notify_errors {
|
||||
padding: 0.2em;
|
||||
color: red;
|
||||
}
|
||||
|
||||
/* footer */
|
||||
footer {
|
||||
color: white;
|
||||
background-color: color-mix(in srgb, var(--primary-back), transparent 86%);
|
||||
color: var(--text-primary);
|
||||
background-color: color-mix(in srgb, var(--bg-primary), transparent 86%);
|
||||
}
|
||||
|
||||
footer a {
|
||||
color: inherit;
|
||||
color: var(--link-color);
|
||||
}
|
||||
|
||||
footer div {
|
||||
|
@ -259,26 +341,26 @@ footer div {
|
|||
|
||||
/* tables */
|
||||
table {
|
||||
border: 1px solid rgba(128, 128, 128, 0.5);
|
||||
border: 1px solid rgba(var(--bg-secondary), 0.5);
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
th {
|
||||
color: white;
|
||||
background-color: rgb(100, 135, 220);
|
||||
color: var(--text-primary);
|
||||
background-color: var(--bg-primary);
|
||||
}
|
||||
|
||||
tr:nth-child(odd) {
|
||||
background-color: rgba(128, 128, 128, 0.1)
|
||||
background-color: rgba(var(--bg-secondary), 0.1);
|
||||
}
|
||||
|
||||
/* accents */
|
||||
.accent {
|
||||
color: var(--primary-accent)
|
||||
color: var(--text-accent)
|
||||
}
|
||||
|
||||
.accent2 {
|
||||
color: var(--secondary-accent)
|
||||
color: var(--color-accent)
|
||||
}
|
||||
|
||||
/* dates */
|
||||
|
@ -289,14 +371,14 @@ tr:nth-child(odd) {
|
|||
font-weight: normal;
|
||||
max-width: fit-content;
|
||||
font-size: x-small;
|
||||
color: var(--primary);
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.date::before,
|
||||
.date::after {
|
||||
content: '⋆★⋆';
|
||||
flex: 1;
|
||||
color: var(--alt-accent)
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.date:not(:empty)::before {
|
||||
|
@ -317,7 +399,7 @@ tr:nth-child(odd) {
|
|||
|
||||
.bfeed h2 a {
|
||||
font-size: 90%;
|
||||
color: var(--primary-accent);
|
||||
color: var(--text-accent);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
@ -327,11 +409,27 @@ tr:nth-child(odd) {
|
|||
|
||||
blockquote {
|
||||
font-style: italic;
|
||||
color: var(--secondary-accent);
|
||||
border-left: 3px solid var(--alt-accent);
|
||||
color: var(--color-accent);
|
||||
border-left: 3px solid var(--text-secondary);
|
||||
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;
|
||||
}
|
||||
|
||||
/* animations */
|
||||
|
||||
.fire {
|
||||
|
@ -361,6 +459,69 @@ 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 {
|
||||
|
@ -370,8 +531,8 @@ blockquote {
|
|||
body > nav {
|
||||
flex-basis: 100%;
|
||||
border-right: none;
|
||||
border-bottom: 3px solid var(--alt-accent2);
|
||||
border-top: 3px solid var(--alt-accent2);
|
||||
border-bottom: 3px solid var(--border-primary);
|
||||
border-top: 3px solid var(--border-primary);
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
}
|
8
werc/sites/events.thirdculture.top/_werc/config
Normal file
8
werc/sites/events.thirdculture.top/_werc/config
Normal file
|
@ -0,0 +1,8 @@
|
|||
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!'
|
||||
conf_enable_wiki
|
||||
conf_dirdir_index_type='html'
|
|
@ -0,0 +1,28 @@
|
|||
<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>
|
|
@ -0,0 +1,4 @@
|
|||
<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>
|
BIN
werc/sites/events.thirdculture.top/_werc/pub/imgs/starback.gif
Normal file
BIN
werc/sites/events.thirdculture.top/_werc/pub/imgs/starback.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.4 KiB |
359
werc/sites/events.thirdculture.top/_werc/pub/style.css
Normal file
359
werc/sites/events.thirdculture.top/_werc/pub/style.css
Normal file
|
@ -0,0 +1,359 @@
|
|||
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));
|
||||
}
|
||||
}
|
1
werc/sites/events.thirdculture.top/archive.md
Normal file
1
werc/sites/events.thirdculture.top/archive.md
Normal file
|
@ -0,0 +1 @@
|
|||
Under construction
|
3
werc/sites/music.thirdculture.top/_werc/config
Normal file
3
werc/sites/music.thirdculture.top/_werc/config
Normal file
|
@ -0,0 +1,3 @@
|
|||
masterSite=thirdculture.top
|
||||
siteTitle='Third Culture Music'
|
||||
siteSubTitle='before the eyes have opened'
|
3
werc/sites/music.thirdculture.top/index.md
Normal file
3
werc/sites/music.thirdculture.top/index.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
Music
|
||||
=================================
|
||||
This page is under construction
|
7
werc/sites/ppl.thirdculture.top/_header.md
Normal file
7
werc/sites/ppl.thirdculture.top/_header.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Third Culture Members
|
||||
|
||||
The following are the pages of third culture friends/members.
|
||||
|
||||
![Ottawa Image](/_werc/pub/imgs/ottawa.png "main")
|
||||
|
||||
Check out various blogs, galleries and other art done by third culture members by clicking the sites below (or on the sidebar).
|
|
@ -1,3 +1,3 @@
|
|||
masterSite=thirdculture.top
|
||||
siteTitle='third culture'
|
||||
siteTitle='Third Culture Collective'
|
||||
siteSubTitle='the members of third culture'
|
||||
|
|
BIN
werc/sites/ppl.thirdculture.top/_werc/pub/imgs/ottawa.png
Normal file
BIN
werc/sites/ppl.thirdculture.top/_werc/pub/imgs/ottawa.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
38
werc/sites/ppl.thirdculture.top/_werc/pub/style.css
Normal file
38
werc/sites/ppl.thirdculture.top/_werc/pub/style.css
Normal file
|
@ -0,0 +1,38 @@
|
|||
.main {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.grid-container {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
|
||||
grid-template-rows: repeat(31, minmax(31px, 1fr));
|
||||
gap: 5px;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.grid-item {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: var(--bg-primary);
|
||||
border: 2px solid var(--color-secondary);
|
||||
width: 88px;
|
||||
height: 31px;
|
||||
}
|
||||
|
||||
.grid-item:hover img {
|
||||
color: white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.grid-item img {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
color: var(--color-accent)
|
||||
}
|
4
werc/sites/ppl.thirdculture.top/adil/_werc/config
Normal file
4
werc/sites/ppl.thirdculture.top/adil/_werc/config
Normal file
|
@ -0,0 +1,4 @@
|
|||
extraHeaders='<link rel="stylesheet" type="text/css" href="_werc/style.css">'
|
||||
conf_enable_wiki
|
||||
conf_enable_cssedit adil
|
||||
css_file='_werc/style.css'
|
1
werc/sites/ppl.thirdculture.top/adil/_werc/style.css
Normal file
1
werc/sites/ppl.thirdculture.top/adil/_werc/style.css
Normal file
|
@ -0,0 +1 @@
|
|||
/* Put custom styles here */
|
6
werc/sites/ppl.thirdculture.top/adil/blog/_werc/config
Normal file
6
werc/sites/ppl.thirdculture.top/adil/blog/_werc/config
Normal file
|
@ -0,0 +1,6 @@
|
|||
conf_enable_wiki
|
||||
conf_enable_blog
|
||||
conf_blog_only_pull=0
|
||||
conf_blog_editors=adil
|
||||
blogTitle=''
|
||||
blogDesc=''
|
4
werc/sites/ppl.thirdculture.top/bea/_werc/config
Normal file
4
werc/sites/ppl.thirdculture.top/bea/_werc/config
Normal file
|
@ -0,0 +1,4 @@
|
|||
extraHeaders='<link rel="stylesheet" type="text/css" href="_werc/style.css">'
|
||||
conf_enable_wiki
|
||||
conf_enable_cssedit bea
|
||||
css_file='_werc/style.css'
|
1
werc/sites/ppl.thirdculture.top/bea/_werc/style.css
Normal file
1
werc/sites/ppl.thirdculture.top/bea/_werc/style.css
Normal file
|
@ -0,0 +1 @@
|
|||
/* Put custom styles here */
|
6
werc/sites/ppl.thirdculture.top/bea/blog/_werc/config
Normal file
6
werc/sites/ppl.thirdculture.top/bea/blog/_werc/config
Normal file
|
@ -0,0 +1,6 @@
|
|||
conf_enable_wiki
|
||||
conf_enable_blog
|
||||
conf_blog_only_pull=0
|
||||
conf_blog_editors=bea
|
||||
blogTitle=''
|
||||
blogDesc=''
|
|
@ -1,2 +1,4 @@
|
|||
conf_enable_blog
|
||||
extraHeaders='<link rel="stylesheet" type="text/css" href="_werc/style.css">'
|
||||
conf_enable_wiki
|
||||
conf_enable_cssedit dulien
|
||||
css_file='_werc/style.css'
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
/* Put custom styles here */
|
1
werc/sites/ppl.thirdculture.top/dulien/_werc/style.css
Normal file
1
werc/sites/ppl.thirdculture.top/dulien/_werc/style.css
Normal file
|
@ -0,0 +1 @@
|
|||
/* Put custom styles here */
|
6
werc/sites/ppl.thirdculture.top/dulien/blog/_werc/config
Normal file
6
werc/sites/ppl.thirdculture.top/dulien/blog/_werc/config
Normal file
|
@ -0,0 +1,6 @@
|
|||
conf_enable_wiki
|
||||
conf_enable_blog
|
||||
conf_blog_only_pull=0
|
||||
conf_blog_editors=dulien
|
||||
blogTitle=''
|
||||
blogDesc=''
|
|
@ -1,2 +1,4 @@
|
|||
conf_enable_blog
|
||||
extraHeaders='<link rel="stylesheet" type="text/css" href="_werc/style.css">'
|
||||
conf_enable_wiki
|
||||
conf_enable_cssedit geunf
|
||||
css_file='_werc/style.css'
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
/* Put custom styles here */
|
1
werc/sites/ppl.thirdculture.top/geunf/_werc/style.css
Normal file
1
werc/sites/ppl.thirdculture.top/geunf/_werc/style.css
Normal file
|
@ -0,0 +1 @@
|
|||
/* Put custom styles here */
|
6
werc/sites/ppl.thirdculture.top/geunf/blog/_werc/config
Normal file
6
werc/sites/ppl.thirdculture.top/geunf/blog/_werc/config
Normal file
|
@ -0,0 +1,6 @@
|
|||
conf_enable_wiki
|
||||
conf_enable_blog
|
||||
conf_blog_only_pull=0
|
||||
conf_blog_editors=geunf
|
||||
blogTitle=''
|
||||
blogDesc=''
|
4
werc/sites/ppl.thirdculture.top/iancobain/_werc/config
Normal file
4
werc/sites/ppl.thirdculture.top/iancobain/_werc/config
Normal file
|
@ -0,0 +1,4 @@
|
|||
extraHeaders='<link rel="stylesheet" type="text/css" href="_werc/style.css">'
|
||||
conf_enable_wiki
|
||||
conf_enable_cssedit iancobain
|
||||
css_file='_werc/style.css'
|
|
@ -0,0 +1 @@
|
|||
/* Put custom styles here */
|
|
@ -0,0 +1,6 @@
|
|||
conf_enable_wiki
|
||||
conf_enable_blog
|
||||
conf_blog_only_pull=0
|
||||
conf_blog_editors=iancobain
|
||||
blogTitle=''
|
||||
blogDesc=''
|
37
werc/sites/ppl.thirdculture.top/index.html
Normal file
37
werc/sites/ppl.thirdculture.top/index.html
Normal file
|
@ -0,0 +1,37 @@
|
|||
<div class="main">
|
||||
<div class="grid-container">
|
||||
<div class="grid-item">
|
||||
<a href="/q/"><img src="/_werc/pub/img/but/q.gif" alt="q" /></a>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<a href="/kaz/"><img src="/_werc/pub/img/but/kaz.gif" alt="kaz" /></a>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<a href="/sean/"><img src="/_werc/pub/img/but/sean.gif" alt="sean" /></a>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<a href="/dulien/"><img src="/_werc/pub/img/but/dulien.gif" alt="dulien" /></a>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<a href="/geunf/"><img src="/_werc/pub/img/but/geunf.gif" alt="geunf" /></a>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<a href="/nevada/"><img src="/_werc/pub/img/but/nevada.gif" alt="nevada" /></a>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<a href="/thomas/"><img src="/_werc/pub/img/but/thomas.gif" alt="thomas" /></a>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<a href="/vanne/"><img src="/_werc/pub/img/but/vanne.gif" alt="vanne" /></a>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<a href="/adil/"><img src="/_werc/pub/img/but/adil.gif" alt="adil" /></a>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<a href="/iancobain/"><img src="/_werc/pub/img/but/iancobain.gif" alt="iancobain" /></a>
|
||||
</div>
|
||||
<div class="grid-item">
|
||||
<a href="/bea/"><img src="/_werc/pub/img/but/bea.gif" alt="bea" /></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -1,2 +1,4 @@
|
|||
conf_enable_blog
|
||||
extraHeaders='<link rel="stylesheet" type="text/css" href="_werc/style.css">'
|
||||
conf_enable_wiki
|
||||
conf_enable_cssedit kaz
|
||||
css_file='_werc/style.css'
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
/* Put custom styles here */
|
1
werc/sites/ppl.thirdculture.top/kaz/_werc/style.css
Normal file
1
werc/sites/ppl.thirdculture.top/kaz/_werc/style.css
Normal file
|
@ -0,0 +1 @@
|
|||
/* Put custom styles here */
|
6
werc/sites/ppl.thirdculture.top/kaz/blog/_werc/config
Normal file
6
werc/sites/ppl.thirdculture.top/kaz/blog/_werc/config
Normal file
|
@ -0,0 +1,6 @@
|
|||
conf_enable_wiki
|
||||
conf_enable_blog
|
||||
conf_blog_only_pull=0
|
||||
conf_blog_editors=kaz
|
||||
blogTitle=''
|
||||
blogDesc=''
|
|
@ -1,2 +1,4 @@
|
|||
conf_enable_blog
|
||||
extraHeaders='<link rel="stylesheet" type="text/css" href="_werc/style.css">'
|
||||
conf_enable_wiki
|
||||
conf_enable_cssedit nevada
|
||||
css_file='_werc/style.css'
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
/* Put custom styles here */
|
1
werc/sites/ppl.thirdculture.top/nevada/_werc/style.css
Normal file
1
werc/sites/ppl.thirdculture.top/nevada/_werc/style.css
Normal file
|
@ -0,0 +1 @@
|
|||
/* Put custom styles here */
|
6
werc/sites/ppl.thirdculture.top/nevada/blog/_werc/config
Normal file
6
werc/sites/ppl.thirdculture.top/nevada/blog/_werc/config
Normal file
|
@ -0,0 +1,6 @@
|
|||
conf_enable_wiki
|
||||
conf_enable_blog
|
||||
conf_blog_only_pull=0
|
||||
conf_blog_editors=nevada
|
||||
blogTitle=''
|
||||
blogDesc=''
|
|
@ -1,2 +1,4 @@
|
|||
conf_enable_blog
|
||||
extraHeaders='<link rel="stylesheet" type="text/css" href="_werc/style.css">'
|
||||
conf_enable_wiki
|
||||
conf_enable_cssedit q
|
||||
css_file='_werc/style.css'
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
/* Put custom styles here */
|
1
werc/sites/ppl.thirdculture.top/q/_werc/style.css
Normal file
1
werc/sites/ppl.thirdculture.top/q/_werc/style.css
Normal file
|
@ -0,0 +1 @@
|
|||
/* Put custom styles here */
|
5
werc/sites/ppl.thirdculture.top/q/blog/_werc/config
Normal file
5
werc/sites/ppl.thirdculture.top/q/blog/_werc/config
Normal file
|
@ -0,0 +1,5 @@
|
|||
conf_enable_blog
|
||||
conf_blog_only_pull=0
|
||||
conf_blog_editors=q
|
||||
blogTitle=''
|
||||
blogDesc=''
|
3
werc/sites/ppl.thirdculture.top/q/index.md
Normal file
3
werc/sites/ppl.thirdculture.top/q/index.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Q
|
||||
|
||||
Guitarist and vocalist for moridori
|
4
werc/sites/ppl.thirdculture.top/sean/_werc/config
Normal file
4
werc/sites/ppl.thirdculture.top/sean/_werc/config
Normal file
|
@ -0,0 +1,4 @@
|
|||
extraHeaders='<link rel="stylesheet" type="text/css" href="_werc/style.css">'
|
||||
conf_enable_wiki
|
||||
conf_enable_cssedit sean
|
||||
css_file='_werc/style.css'
|
1
werc/sites/ppl.thirdculture.top/sean/_werc/style.css
Normal file
1
werc/sites/ppl.thirdculture.top/sean/_werc/style.css
Normal file
|
@ -0,0 +1 @@
|
|||
/* Put custom styles here */
|
6
werc/sites/ppl.thirdculture.top/sean/blog/_werc/config
Normal file
6
werc/sites/ppl.thirdculture.top/sean/blog/_werc/config
Normal file
|
@ -0,0 +1,6 @@
|
|||
conf_enable_wiki
|
||||
conf_enable_blog
|
||||
conf_blog_only_pull=0
|
||||
conf_blog_editors=sean
|
||||
blogTitle=''
|
||||
blogDesc=''
|
|
@ -1,2 +1,4 @@
|
|||
conf_enable_blog
|
||||
extraHeaders='<link rel="stylesheet" type="text/css" href="_werc/style.css">'
|
||||
conf_enable_wiki
|
||||
conf_enable_cssedit thomas
|
||||
css_file='_werc/style.css'
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue