diff options
-rw-r--r-- | .gitignore | 17 | ||||
-rw-r--r-- | Dockerfile | 3 | ||||
-rw-r--r-- | Makefile | 52 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | css/skins/air.sass | 40 | ||||
-rw-r--r-- | css/skins/angel.sass | 43 | ||||
-rw-r--r-- | css/skins/aselia_01.sass | 37 | ||||
-rw-r--r-- | css/skins/carnevale.sass | 37 | ||||
-rw-r--r-- | css/skins/eiel.sass | 36 | ||||
-rw-r--r-- | css/skins/ever17_01.sass | 37 | ||||
-rw-r--r-- | css/skins/fate_01.sass | 35 | ||||
-rw-r--r-- | css/skins/fate_02.sass | 35 | ||||
-rw-r--r-- | css/skins/grey.sass | 34 | ||||
-rw-r--r-- | css/skins/higanbana.sass | 40 | ||||
-rw-r--r-- | css/skins/higu.sass | 35 | ||||
-rw-r--r-- | css/skins/lb.sass | 32 | ||||
-rw-r--r-- | css/skins/lb_02.sass | 35 | ||||
-rw-r--r-- | css/skins/primitive.sass | 37 | ||||
-rw-r--r-- | css/skins/saya.sass | 37 | ||||
-rw-r--r-- | css/skins/seinarukana.sass | 35 | ||||
-rw-r--r-- | css/skins/taka.sass | 37 | ||||
-rw-r--r-- | css/skins/teal.sass | 33 | ||||
-rw-r--r-- | css/skins/term.sass | 32 | ||||
-rw-r--r-- | css/skins/tsukihime.sass | 37 | ||||
-rw-r--r-- | css/skins/tsukihime_02.sass | 35 | ||||
-rw-r--r-- | css/v2.css (renamed from data/style.css) | 352 | ||||
-rw-r--r-- | lib/VNDB/Config.pm | 2 | ||||
-rw-r--r-- | lib/VNDB/Skins.pm | 16 | ||||
-rw-r--r-- | lib/VNDB/Util/LayoutHTML.pm | 2 | ||||
-rw-r--r-- | lib/VNWeb/HTML.pm | 6 | ||||
-rw-r--r-- | static/s/air-bg.jpg (renamed from static/s/air/bg.jpg) | bin | 78066 -> 78066 bytes | |||
-rw-r--r-- | static/s/air-right.png (renamed from static/s/air/bgright.png) | bin | 27189 -> 27189 bytes | |||
-rw-r--r-- | static/s/air/conf | 32 | ||||
-rw-r--r-- | static/s/angel-bg-xmas.jpg (renamed from static/s/angel/bg-xmas.jpg) | bin | 45511 -> 45511 bytes | |||
-rw-r--r-- | static/s/angel-bg.jpg (renamed from static/s/angel/bg.jpg) | bin | 36419 -> 36419 bytes | |||
-rw-r--r-- | static/s/angel-right.jpg (renamed from static/s/angel/bgright.jpg) | bin | 4366 -> 4366 bytes | |||
-rw-r--r-- | static/s/angel/conf | 37 | ||||
-rw-r--r-- | static/s/aselia_01-right.jpg (renamed from static/s/aselia_01/bgright.jpg) | bin | 107272 -> 107272 bytes | |||
-rw-r--r-- | static/s/aselia_01/conf | 39 | ||||
-rw-r--r-- | static/s/carnevale-right.jpg (renamed from static/s/carnevale/bgright.jpg) | bin | 74285 -> 74285 bytes | |||
-rw-r--r-- | static/s/carnevale/conf | 40 | ||||
-rw-r--r-- | static/s/eiel-bg.jpg (renamed from static/s/eiel/bg.jpg) | bin | 111656 -> 111656 bytes | |||
-rw-r--r-- | static/s/eiel/conf | 40 | ||||
-rw-r--r-- | static/s/ever17_01-right.jpg (renamed from static/s/ever17_01/bgright.jpg) | bin | 73060 -> 73060 bytes | |||
-rw-r--r-- | static/s/ever17_01/conf | 39 | ||||
-rw-r--r-- | static/s/fate_01-bg.jpg (renamed from static/s/fate_01/bg.jpg) | bin | 70918 -> 70918 bytes | |||
-rw-r--r-- | static/s/fate_01/conf | 39 | ||||
-rw-r--r-- | static/s/fate_02-bg.jpg (renamed from static/s/fate_02/bg.jpg) | bin | 71968 -> 71968 bytes | |||
-rw-r--r-- | static/s/fate_02/conf | 39 | ||||
-rw-r--r-- | static/s/grey-bg.jpg (renamed from static/s/grey/bg.jpg) | bin | 33434 -> 33434 bytes | |||
-rw-r--r-- | static/s/grey-right.jpg (renamed from static/s/grey/bgright.jpg) | bin | 3062 -> 3062 bytes | |||
-rw-r--r-- | static/s/grey/conf | 37 | ||||
-rw-r--r-- | static/s/higanbana-bg.jpg (renamed from static/s/higanbana/bg.jpg) | bin | 71567 -> 71567 bytes | |||
-rw-r--r-- | static/s/higanbana-right.png (renamed from static/s/higanbana/bgright.png) | bin | 41295 -> 41295 bytes | |||
-rw-r--r-- | static/s/higanbana/conf | 32 | ||||
-rw-r--r-- | static/s/higu-bg.jpg (renamed from static/s/higu/bg.jpg) | bin | 72231 -> 72231 bytes | |||
-rw-r--r-- | static/s/higu/conf | 39 | ||||
-rw-r--r-- | static/s/lb-bg.jpg (renamed from static/s/lb/bg.jpg) | bin | 89041 -> 89041 bytes | |||
-rw-r--r-- | static/s/lb/conf | 37 | ||||
-rw-r--r-- | static/s/lb_02-bg.jpg (renamed from static/s/lb_02/bg.jpg) | bin | 111856 -> 111856 bytes | |||
-rw-r--r-- | static/s/lb_02/conf | 38 | ||||
-rw-r--r-- | static/s/primitive-right.jpg (renamed from static/s/primitive/bgright.jpg) | bin | 107494 -> 107494 bytes | |||
-rw-r--r-- | static/s/primitive/conf | 40 | ||||
-rw-r--r-- | static/s/saya-right.jpg (renamed from static/s/saya/bgright.jpg) | bin | 73950 -> 73950 bytes | |||
-rw-r--r-- | static/s/saya/conf | 40 | ||||
-rw-r--r-- | static/s/seinarukana-bg.jpg (renamed from static/s/seinarukana/bg.jpg) | bin | 70934 -> 70934 bytes | |||
-rw-r--r-- | static/s/seinarukana/conf | 38 | ||||
-rw-r--r-- | static/s/taka-right.jpg (renamed from static/s/taka/bgright.jpg) | bin | 89059 -> 89059 bytes | |||
-rw-r--r-- | static/s/taka/conf | 40 | ||||
-rw-r--r-- | static/s/teal/conf | 34 | ||||
-rw-r--r-- | static/s/term/conf | 37 | ||||
-rw-r--r-- | static/s/tsukihime-bg.jpg (renamed from static/s/tsukihime/bg.jpg) | bin | 70806 -> 70806 bytes | |||
-rw-r--r-- | static/s/tsukihime-right.jpg (renamed from static/s/tsukihime/bgright.jpg) | bin | 71879 -> 71879 bytes | |||
-rw-r--r-- | static/s/tsukihime/conf | 39 | ||||
-rw-r--r-- | static/s/tsukihime_02-bg.jpg (renamed from static/s/tsukihime_02/bg.jpg) | bin | 103162 -> 103162 bytes | |||
-rw-r--r-- | static/s/tsukihime_02/conf | 39 | ||||
-rwxr-xr-x | util/jsgen.pl | 2 | ||||
-rwxr-xr-x | util/skingen.pl | 99 | ||||
-rwxr-xr-x | util/spritegen.pl | 4 |
79 files changed, 981 insertions, 1129 deletions
@@ -6,22 +6,7 @@ /data/passwords.dat /elm/elm-stuff/ /elm/Gen/ -/static/f/js/ -/static/f/icons.png -/static/f/icons.opt.png -/static/f/vndb.js -/static/f/vndb.min.js -/static/f/vndb.min.js.gz -/static/f/elm.js -/static/f/elm.min.js -/static/f/elm.min.js.gz -/static/f/plain.js -/static/f/plain.min.js -/static/f/plain.min.js.gz -/static/s/*/style.css -/static/s/*/style.min.css -/static/s/*/style.min.css.gz -/static/s/*/boxbg.png +/static/g /static/ch /static/cv /static/sf @@ -1,7 +1,7 @@ FROM alpine:3.13 MAINTAINER Yorhel <contact@vndb.org> -ENV VNDB_DOCKER_VERSION=5 +ENV VNDB_DOCKER_VERSION=6 CMD /var/www/util/docker-init.sh RUN apk add --no-cache \ @@ -19,6 +19,7 @@ RUN apk add --no-cache \ perl-module-build \ postgresql \ postgresql-dev \ + sassc \ wget \ zlib-dev \ && cpanm -nq \ @@ -3,7 +3,6 @@ # # prod # Create static assets for production. Requires the following additional dependencies: -# - CSS::Minifier::XS # - uglifyjs # - zopfli # @@ -24,32 +23,32 @@ ALL_KEEP=\ static/ch static/cv static/sf static/st \ - data/log static/f www www/api \ + data/log static/g www www/api \ data/conf.pl \ www/robots.txt static/robots.txt ALL_CLEAN=\ - static/f/vndb.js \ - static/f/plain.js \ - static/f/elm.js \ + static/g/vndb.js \ + static/g/plain.js \ + static/g/elm.js \ data/icons/icons.css \ sql/editfunc.sql \ - $(shell ls static/s | sed -e 's/\(.\+\)/static\/s\/\1\/style.css/g') + $(shell ls css/skins/*.sass | sed -e 's/css\/skins\/\(.\+\)\.sass/static\/g\/\1.css/g') PROD=\ - static/f/vndb.min.js static/f/vndb.min.js.gz \ - static/f/plain.min.js static/f/plain.min.js.gz \ - static/f/elm.min.js static/f/elm.min.js.gz \ - static/f/icons.opt.png \ - $(shell ls static/s | sed -e 's/\(.\+\)/static\/s\/\1\/style.min.css/g') \ - $(shell ls static/s | sed -e 's/\(.\+\)/static\/s\/\1\/style.min.css.gz/g') + static/g/vndb.min.js static/g/vndb.min.js.gz \ + static/g/plain.min.js static/g/plain.min.js.gz \ + static/g/elm.min.js static/g/elm.min.js.gz \ + static/g/icons.opt.png \ + $(shell ls css/skins/*.sass | sed -e 's/css\/skins\/\(.\+\)\.sass/static\/g\/\1.css.gz/g') all: ${ALL_KEEP} ${ALL_CLEAN} prod: all ${PROD} clean: rm -f ${ALL_CLEAN} ${PROD} - rm -f static/f/icons.png + rm -f static/g/icons.png + rm -f static/f/{vndb,elm,plain}{,.min}.js{,.gz} static/f/icons{,.opt}.png static/s/*/style{,.min}.css{,.gz} static/s/*/boxbg.png rm -rf elm/Gen/ rm -rf elm/elm-stuff/build-artifacts $(MAKE) -C sql/c clean @@ -64,7 +63,7 @@ static/ch static/cv static/sf static/st: mkdir -p $@; for i in $$(seq -w 0 1 99); do mkdir -p "$@/$$i"; done -data/log www www/api static/f: +data/log www www/api static/g: mkdir -p $@ data/conf.pl: @@ -84,29 +83,26 @@ chmod: all # v2 & v2-rw -data/icons/icons.css: data/icons/*.png data/icons/*/*.png util/spritegen.pl | static/f +data/icons/icons.css: data/icons/*.png data/icons/*/*.png util/spritegen.pl | static/g util/spritegen.pl -static/f/icons.png: data/icons/icons.css +static/g/icons.png: data/icons/icons.css -static/f/icons.opt.png: static/f/icons.png +static/g/icons.opt.png: static/g/icons.png rm -f $@ zopflipng -m --lossy_transparent $< $@ -static/s/%/style.css: static/s/%/conf util/skingen.pl data/style.css data/icons/icons.css - util/skingen.pl $* - -static/s/%/style.min.css: static/s/%/style.css - perl -MCSS::Minifier::XS -e 'undef $$/; print CSS::Minifier::XS::minify(scalar <>)' <$< >$@ +static/g/%.css: css/skins/%.sass css/v2.css data/icons/icons.css | static/g + ( echo '$$version: "$(shell git show-ref --head --abbrev -s HEAD)";'; echo '@import "css/skins/$*"' ) | sassc --stdin -I. --style compressed >$@ # v2 -static/f/vndb.js: data/js/*.js lib/VNDB/Types.pm util/jsgen.pl data/conf.pl | static/f +static/g/vndb.js: data/js/*.js lib/VNDB/Types.pm util/jsgen.pl data/conf.pl | static/g util/jsgen.pl -static/f/vndb.min.js: static/f/vndb.js +static/g/vndb.min.js: static/g/vndb.js uglifyjs $< --compress --mangle --comments '/(@license|@source|SPDX-)/' -o $@ @@ -118,7 +114,7 @@ static/f/vndb.min.js: static/f/vndb.js # (This trick will not work if we ever add JS files generated by this Makefile) JS_FILES=$(shell find elm \! -path 'elm/elm-stuff/*' -name '*.js' -exec sh -c "echo \`grep -Eo '^// *order: *[0-9]+' \"{}\" || echo 4\` \"{}\"" \; | sed -E 's/\/\/ *order: *//' | sort | sed 's/..//') -static/f/plain.js: ${JS_FILES} | static/f +static/g/plain.js: ${JS_FILES} | static/f echo '// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0-only' > $@~ echo '// @source: https://code.blicky.net/yorhel/vndb/src/branch/master/elm' >>$@~ echo '// SPDX-License-Identifier: AGPL-3.0-only' >>$@~ @@ -131,7 +127,7 @@ static/f/plain.js: ${JS_FILES} | static/f echo '// @license-end' >>$@~ mv $@~ $@ -static/f/plain.min.js: static/f/plain.js +static/g/plain.min.js: static/g/plain.js uglifyjs $< --comments '/(@license|@source|SPDX-)/' --compress \ 'pure_getters,keep_fargs=false,unsafe_comps,unsafe'\ | uglifyjs --mangle --comments all -o $@ @@ -161,11 +157,11 @@ endef elm/Gen/.generated: lib/VNWeb/*.pm lib/VNWeb/*/*.pm lib/VNDB/Types.pm lib/VNDB/ExtLinks.pm lib/VNDB/Config.pm data/conf.pl util/vndb.pl elmgen -static/f/elm.js: ${ELM_FILES} elm/Gen/.generated | static/f +static/g/elm.js: ${ELM_FILES} elm/Gen/.generated | static/f cd elm && ELM_HOME=elm-stuff elm make ${ELM_MODULES} --output ../$@ ${fix-elm} -static/f/elm.min.js: ${ELM_FILES} elm/Gen/.generated | static/f +static/g/elm.min.js: ${ELM_FILES} elm/Gen/.generated | static/f cd elm && ELM_HOME=elm-stuff elm make --optimize ${ELM_MODULES} --output ../$@ ${fix-elm} uglifyjs $@ --comments '/(@license|@source|SPDX-)/' --compress \ @@ -51,6 +51,7 @@ Global requirements: - Elm 0.19.1 - Graphviz - ImageMagick +- sassc **Perl modules** (core modules are not listed): diff --git a/css/skins/air.sass b/css/skins/air.sass new file mode 100644 index 00000000..d1d89f92 --- /dev/null +++ b/css/skins/air.sass @@ -0,0 +1,40 @@ +// userid: 13885 name: AIR (sky blue) + +//////////////////////////////////////////////////////////////// +// 'AIR' skin for VNDB.org // +// Created by Yirba <yirba AT spiderlilytranslations DOT com> // +// Some portions (c)2000 Key/VisualArt's // +//////////////////////////////////////////////////////////////// + +$maintext: #222222 +$grayedout: #77a9dd +$standout: #bb1511 +$link: #226588 +$statok: #33ff38 +$statnok: #ff3833 +$footer: #226588 +$maintitle: #226588 +$boxtitle: #77a9dd +$alttitle: #000000 +$bodybg: #ffffff +$tabbg: #ddeeff +$secbg: #bed8f2 +$secborder: #5677cc +$border: #77a9dd +$boxbg: #ccddeebc +$diffadd: #aaccbc +$diffdel: #ccaabb +$warnbg: #ccaabb +$warnborder: #ff3833 +$noticebg: #aaccbc +$noticeborder: #33ff38 + +@mixin bodybg + background: $bodybg url(/s/air-bg.jpg) no-repeat; + +@mixin bgright + background: url(/s/air-right.png) no-repeat + width: 197px + height: 140px + +@import 'css/v2' diff --git a/css/skins/angel.sass b/css/skins/angel.sass new file mode 100644 index 00000000..4444291f --- /dev/null +++ b/css/skins/angel.sass @@ -0,0 +1,43 @@ +// userid: 2 name: Angelic Serenade (dark blue) +// ^ Must be the first line of skin files, read by VNDB::Skins. + +// text +$maintext: #ddd // primary text color (also used for the menu links) +$grayedout: #37a // color used for grayed-out/non-important things +$standout: #e44 // color of 'stand-out' text +$link: #7bd // primary link color (not used for the menu links) +$statok: #0c0 // generic 'ok' text color (used for vnlist statuses & category browser) +$statnok: #c00 // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) +$footer: #247 // text color of the footer + +// titles +$maintitle: #135 // text color of the site title, set to '0' to hide the main title +$boxtitle: #258 // box titles +$alttitle: #fff // alternative title + +// bg colors +$bodybg: #000 // main background color +$tabbg: #012 // background color of inactive tabs +$secbg: #0d2741 // secondary background color (used on input fields and table headers) +$secborder: #35A // secondary border color (used on input fields) +$border: #258 // primary border color +$boxbg: #071c30bc // RGBA, background color of the boxes, stacked for menu box titles and odd row numers + +// misc colors +$diffadd: #354 // background color of changes in the diff viewer +$diffdel: #534 +$warnbg: #534 // background color of a warning box +$warnborder: #c00 // ..border +$noticebg: #354 // notice box +$noticeborder: #0c0 // ...and border + +// Page backgrounds +@mixin bodybg + background: $bodybg url(/s/angel-bg.jpg) no-repeat + +@mixin bgright + background: url(/s/angel-right.jpg) no-repeat + width: 433px + height: 140px + +@import 'css/v2' diff --git a/css/skins/aselia_01.sass b/css/skins/aselia_01.sass new file mode 100644 index 00000000..6400e607 --- /dev/null +++ b/css/skins/aselia_01.sass @@ -0,0 +1,37 @@ +// userid: 51 name: Eien no Aselia (falu red) + +// Eien no Aselia skin made using Minitokyo.Eien.no.Aselia.Scans_373967 +// created: 09/27/2009 by echomateria + +$maintext: #ffffff +$grayedout: #eee388 +$standout: #e96e73 +$link: #4a2b33 +$statok: #ffcbee +$statnok: #e96e73 +$footer: #f4f1e6 +$maintitle: #fce5e5 +$boxtitle: #f4e1b5 +$alttitle: #ed9f92 +$bodybg: #8a3c35 +$tabbg: #ac7595 +$secbg: #8a3c35 +$secborder: #e86a76 +$border: #f1c0b2 +$boxbg: #ac759595 +$diffadd: #833d71 +$diffdel: #6c3a55 +$warnbg: #6b3b51 +$warnborder: #e37192 +$noticebg: #cc8487 +$noticeborder: #975352 + +@mixin bodybg + background-color: $bodybg + +@mixin bgright + background: url(/s/aselia_01-right.jpg) no-repeat + width: 1200px + height: 719px + +@import 'css/v2' diff --git a/css/skins/carnevale.sass b/css/skins/carnevale.sass new file mode 100644 index 00000000..ab89f89f --- /dev/null +++ b/css/skins/carnevale.sass @@ -0,0 +1,37 @@ +// userid: 51 name: Gekkou no Carnevale (black) + +// Gekkou no Carnevale skin made using a wallpaper comes with the game +// created: 22/01/2009 by echomateria + +$maintext: #b9c7ae +$grayedout: #cfdbc7 +$standout: #eff5f5 +$link: #ffffff +$statok: #dab0fc +$statnok: #768b78 +$footer: #b9c7ae +$maintitle: #b9c7ae +$boxtitle: #c7d3bf +$alttitle: #6f8578 +$bodybg: #030708 +$tabbg: #1f272a +$secbg: #121622 +$secborder: #ffffff +$border: #b9c7ae +$boxbg: #12162290 +$diffadd: #76a3b8 +$diffdel: #354554 +$warnbg: #5d182b +$warnborder: #829076 +$noticebg: #263a45 +$noticeborder: #21343a + +@mixin bodybg + background-color: $bodybg + +@mixin bgright + background: url(/s/carnevale-right.jpg) no-repeat + width: 1280px + height: 768px + +@import 'css/v2' diff --git a/css/skins/eiel.sass b/css/skins/eiel.sass new file mode 100644 index 00000000..1e844194 --- /dev/null +++ b/css/skins/eiel.sass @@ -0,0 +1,36 @@ +// userid: 51 name: Jingai Makyo (peach-orange) + +// A skin made using an image I had for a long time without knowing it's source, +// thankfully this skin finally brought out the answer that it was from Jingai Makyo. +// created: 24/01/2009 by echomateria + +$maintext: #f8cb8a +$grayedout: #f26a7e +$standout: #ff435f +$link: #ffffff +$statok: #ffcbee +$statnok: #ff435f +$footer: #362142 +$maintitle: #676082 +$boxtitle: #ffcbee +$alttitle: #f26a7e +$bodybg: #fdd298 +$tabbg: #5a3a49 +$secbg: #584563 +$secborder: #c42b5a +$border: #362142 +$boxbg: #36214299 +$diffadd: #2bc88b +$diffdel: #ca4a4d +$warnbg: #c42b5a +$warnborder: #f8cb8a +$noticebg: #b48ab2 +$noticeborder: #f8cb8a + +@mixin bodybg + background: $bodybg url(/s/eiel-bg.jpg) no-repeat + +@mixin bgright + display: none + +@import 'css/v2' diff --git a/css/skins/ever17_01.sass b/css/skins/ever17_01.sass new file mode 100644 index 00000000..56766614 --- /dev/null +++ b/css/skins/ever17_01.sass @@ -0,0 +1,37 @@ +// userid: 51 name: Ever17 (bondi blue) + +// Ever 17 skin made using the images from the extras section of the game +// created: 01/01/2009 by echomateria + +$maintext: #3c363f +$grayedout: #785a5b +$standout: #966932 +$link: #013f7a +$statok: #9c4b00 +$statnok: #eb0e4c +$footer: #e2cfa6 +$maintitle: #f0a260 +$boxtitle: #f0a260 +$alttitle: #ff9013 +$bodybg: #00879b +$tabbg: #81d5ea +$secbg: #bcd1e4 +$secborder: #00627e +$border: #016c80 +$boxbg: #d1ebee77 +$diffadd: #f1a361 +$diffdel: #9a7071 +$warnbg: #c43f5c +$warnborder: #951924 +$noticebg: #fefbf6 +$noticeborder: #f1a360 + +@mixin bodybg + background-color: $bodybg + +@mixin bgright + background: url(/s/ever17_01-right.jpg) no-repeat + width: 800px + height: 800px + +@import 'css/v2' diff --git a/css/skins/fate_01.sass b/css/skins/fate_01.sass new file mode 100644 index 00000000..37d49c0d --- /dev/null +++ b/css/skins/fate_01.sass @@ -0,0 +1,35 @@ +// userid: 51 name: Fate/stay night (seal brown) + +// FSN skin skin made using a popular fanart +// created: 12/31/2008 by echomateria + +$maintext: #ab928d +$grayedout: #916858 +$standout: #72322b +$link: #eee0da +$statok: #efdab9 +$statnok: #b07a6b +$footer: #642924 +$maintitle: #200b0c +$boxtitle: #d56243 +$alttitle: #d7926e +$bodybg: #200b0c +$tabbg: #130504 +$secbg: #7c362f +$secborder: #33261d +$border: #9e4a47 +$boxbg: #4d3c3abc +$diffadd: #4d2c25 +$diffdel: #6f5347 +$warnbg: #882f27 +$warnborder: #fbf1e0 +$noticebg: #882f27 +$noticeborder: #fbf1e0 + +@mixin bodybg + background: $bodybg url(/s/fate_01-bg.jpg) no-repeat; + +@mixin bgright + display: none + +@import 'css/v2' diff --git a/css/skins/fate_02.sass b/css/skins/fate_02.sass new file mode 100644 index 00000000..6cf01f25 --- /dev/null +++ b/css/skins/fate_02.sass @@ -0,0 +1,35 @@ +// userid: 51 name: Fate/stay night (pale carmine) + +// FSN skin made using a popular fanart +// created: 01/01/2009 by echomateria + +$maintext: #fcfbfb +$grayedout: #ff9d82 +$standout: #ffc98f +$link: #48b2c1 +$statok: #ff7682 +$statnok: #9f72ff +$footer: #fffed5 +$maintitle: #ffffff +$boxtitle: #ffffff +$alttitle: #c4a9a7 +$bodybg: #ac4b47 +$tabbg: #723033 +$secbg: #792447 +$secborder: #a68483 +$border: #452d2c +$boxbg: #c6093366 +$diffadd: #3d3231 +$diffdel: #01023f +$warnbg: #772446 +$warnborder: #35152d +$noticebg: #5c151f +$noticeborder: #460015 + +@mixin bodybg + background: $bodybg url(/s/fate_02-bg.jpg) no-repeat; + +@mixin bgright + display: none + +@import 'css/v2' diff --git a/css/skins/grey.sass b/css/skins/grey.sass new file mode 100644 index 00000000..d85f16dd --- /dev/null +++ b/css/skins/grey.sass @@ -0,0 +1,34 @@ +// userid: 2 name: Touhou (grey) + +$maintext: #222 +$grayedout: #666 +$standout: #500 +$link: #005 +$statok: #050 +$statnok: #500 +$footer: #999 +$maintitle: #ccc +$boxtitle: #444 +$alttitle: #000 +$bodybg: #fff +$tabbg: #ddd +$secbg: #ccc +$secborder: #000 +$border: #999 +$boxbg: #ddddddcc +$diffadd: #cfc +$diffdel: #fcc +$warnbg: #fcc +$warnborder: #c00 +$noticebg: #cfc +$noticeborder: #0c0 + +@mixin bodybg + background: $bodybg url(/s/grey-bg.jpg) no-repeat; + +@mixin bgright + background: url(/s/grey-right.jpg) no-repeat + width: 130px + height: 120px + +@import 'css/v2' diff --git a/css/skins/higanbana.sass b/css/skins/higanbana.sass new file mode 100644 index 00000000..978c56d0 --- /dev/null +++ b/css/skins/higanbana.sass @@ -0,0 +1,40 @@ +// userid: 13885 name: Higanbana no Saku Yoru ni (maroon) + +//////////////////////////////////////////////////////////////// +// 'Higanbana no Saku Yoru ni' skin for VNDB.org // +// Created by Yirba <yirba AT spiderlilytranslations DOT com> // +// Some portions (c)2011 Ryukishi07/07th Expansion // +//////////////////////////////////////////////////////////////// + +$maintext: #ddd +$grayedout: #822 +$standout: #ec4 +$link: #d77 +$statok: #0c0 +$statnok: #c00 +$footer: #722 +$maintitle: #511 +$boxtitle: #822 +$alttitle: #fff +$bodybg: #000 +$tabbg: #200 +$secbg: #410d0d +$secborder: #a33 +$border: #822 +$boxbg: #331111bc +$diffadd: #354 +$diffdel: #534 +$warnbg: #534 +$warnborder: #c00 +$noticebg: #354 +$noticeborder: #0c0 + +@mixin bodybg + background: $bodybg url(/s/higanbana-bg.jpg) no-repeat + +@mixin bgright + background: url(/s/higanbana-right.png) no-repeat + width: 197px + height: 140px + +@import 'css/v2' diff --git a/css/skins/higu.sass b/css/skins/higu.sass new file mode 100644 index 00000000..ebf606f2 --- /dev/null +++ b/css/skins/higu.sass @@ -0,0 +1,35 @@ +// userid: 51 name: Higurashi no Naku Koro ni (orange) + +// Higurashi no Naku Koro ni skin made using an image I found in MiniTokyo +// created: 22/01/2009 by echomateria + +$maintext: #2c1a18 +$grayedout: #8c5b3b +$standout: #c24857 +$link: #3c549c +$statok: #8c6290 +$statnok: #824e52 +$footer: #2e2536 +$maintitle: #e5d3e1 +$boxtitle: #1b1b51 +$alttitle: #35346d +$bodybg: #f89e7e +$tabbg: #9b8587 +$secbg: #f7c7bb +$secborder: #3c549c +$border: #2c1a18 +$boxbg: #f7c7bb80 +$diffadd: #c2bcc6 +$diffdel: #8c5b3b +$warnbg: #ae6866 +$warnborder: #612028 +$noticebg: #9b8587 +$noticeborder: #dc9b7f + +@mixin bodybg + background: $bodybg url(/s/higu-bg.jpg) no-repeat + +@mixin bgright + display: none + +@import 'css/v2' diff --git a/css/skins/lb.sass b/css/skins/lb.sass new file mode 100644 index 00000000..6f7a3316 --- /dev/null +++ b/css/skins/lb.sass @@ -0,0 +1,32 @@ +// userid: 93 name: Little Busters! (pink) + +$maintext: #408 +$grayedout: #670159 +$standout: #e44 +$link: #a2d +$statok: #0c0 +$statnok: #c00 +$footer: #f76ee2 +$maintitle: #f78de7 +$boxtitle: #670159 +$alttitle: #5328a7 +$bodybg: #fff +$tabbg: #f78de7 +$secbg: #f78de7 +$secborder: #670159 +$border: #f76ee2 +$boxbg: #f7b6edcc +$diffadd: #cfc +$diffdel: #fcc +$warnbg: #fff +$warnborder: #c00 +$noticebg: #f7b6ed +$noticeborder: #670159 + +@mixin bodybg + background: $bodybg url(/s/lb-bg.jpg) no-repeat + +@mixin bgright + display: none + +@import 'css/v2' diff --git a/css/skins/lb_02.sass b/css/skins/lb_02.sass new file mode 100644 index 00000000..bb80d0f6 --- /dev/null +++ b/css/skins/lb_02.sass @@ -0,0 +1,35 @@ +// userid: 51 name: Little Busters! (lemon chiffon) + +// Little Busters! skin made using the Minitokyo.Little.Busters.Scans_316439 +// created: 09/27/2009 by echomateria + +$maintext: #3c363f +$grayedout: #785a5b +$standout: #eb0e4c +$link: #04529b +$statok: #d87417 +$statnok: #eb0e4c +$footer: #eb0e4c +$maintitle: #fffeff +$boxtitle: #ff9013 +$alttitle: #f0a260 +$bodybg: #fff4d4 +$tabbg: #9aa4d7 +$secbg: #bcd1e4 +$secborder: #966932 +$border: #016c80 +$boxbg: #d1ebee99 +$diffadd: #3689b5 +$diffdel: #b7adc6 +$warnbg: #e97a9a +$warnborder: #f1a360 +$noticebg: #fefbf6 +$noticeborder: #951924 + +@mixin bodybg + background: $bodybg url(/s/lb_02-bg.jpg) no-repeat + +@mixin bgright + display: none + +@import 'css/v2' diff --git a/css/skins/primitive.sass b/css/skins/primitive.sass new file mode 100644 index 00000000..44ae6672 --- /dev/null +++ b/css/skins/primitive.sass @@ -0,0 +1,37 @@ +// userid: 51 name: Primitive Link (pale chestnut) + +// Primitive Link skin made using an image that I liked without knowing what it's based on for a long time +// created: 23/01/2009 by echomateria + +$maintext: #f8eacd +$grayedout: #ff9d8a +$standout: #642a12 +$link: #ffda63 +$statok: #edc176 +$statnok: #d63f21 +$footer: #935a40 +$maintitle: #f8eacd +$boxtitle: #f8eacd +$alttitle: #f19d20 +$bodybg: #ddac9b +$tabbg: #935a40 +$secbg: #be8f9f +$secborder: #642a12 +$border: #edc176 +$boxbg: #935a4099 +$diffadd: #bd7f98 +$diffdel: #c6562d +$warnbg: #7a3313 +$warnborder: #ff392a +$noticebg: #d4aab4 +$noticeborder: #edc176 + +@mixin bodybg + background-color: $bodybg + +@mixin bgright + background: url(/s/primitive-right.jpg) no-repeat + width: 1024px + height: 768px + +@import 'css/v2' diff --git a/css/skins/saya.sass b/css/skins/saya.sass new file mode 100644 index 00000000..eeec4c9d --- /dev/null +++ b/css/skins/saya.sass @@ -0,0 +1,37 @@ +// userid: 51 name: Saya no Uta (dark scarlet) + +// Saya no Uta skin made using a criminally cute fanart +// created: 22/01/2009 by echomateria + +$maintext: #ffffff +$grayedout: #ecbc93 +$standout: #d75f25 +$link: #ffcb3a +$statok: #a55a3d +$statnok: #281e14 +$footer: #e07340 +$maintitle: #ebb48b +$boxtitle: #de9670 +$alttitle: #ebb48b +$bodybg: #25010f +$tabbg: #575c51 +$secbg: #437f63 +$secborder: #ffcb3a +$border: #ebb48b +$boxbg: #437f6388 +$diffadd: #f59731 +$diffdel: #f2c5a3 +$warnbg: #d45628 +$warnborder: #fbab34 +$noticebg: #c5af88 +$noticeborder: #56714e + +@mixin bodybg + background-color: $bodybg + +@mixin bgright + background: url(/s/saya-right.jpg) no-repeat + width: 900px + height: 537px + +@import 'css/v2' diff --git a/css/skins/seinarukana.sass b/css/skins/seinarukana.sass new file mode 100644 index 00000000..77cdfee0 --- /dev/null +++ b/css/skins/seinarukana.sass @@ -0,0 +1,35 @@ +// userid: 51 name: Seinarukana (white) + +// Seinarukana skin made using a callendar image +// created: 12/31/2008 by echomateria + +$maintext: #131838 +$grayedout: #fc8e77 +$standout: #e93d71 +$link: #5a5fc7 +$statok: #424d81 +$statnok: #a43462 +$footer: #324978 +$maintitle: #99c9dd +$boxtitle: #e93d71 +$alttitle: #983666 +$bodybg: #ffffff +$tabbg: #bfd2e3 +$secbg: #bcd1e4 +$secborder: #7a88a5 +$border: #324978 +$boxbg: #fde9e688 +$diffadd: #3689b5 +$diffdel: #b7adc6 +$warnbg: #ee3970 +$warnborder: #451f4b +$noticebg: #fdf1e8 +$noticeborder: #d4aba2 + +@mixin bodybg + background: $bodybg url(/s/seinarukana-bg.jpg) no-repeat + +@mixin bgright + display: none + +@import 'css/v2' diff --git a/css/skins/taka.sass b/css/skins/taka.sass new file mode 100644 index 00000000..1569c586 --- /dev/null +++ b/css/skins/taka.sass @@ -0,0 +1,37 @@ +// userid: 51 name: Sora no Iro, Mizu no Iro (turquoise) + +// A Sora no Iro, Mizu no Iro skin based on a wallpaper named My Perfect Day +// created: 23/01/2009 by echomateria + +$maintext: #fefefc +$grayedout: #4b2427 +$standout: #ffaa88 +$link: #f4d926 +$statok: #f8a022 +$statnok: #4b2427 +$footer: #f6ffff +$maintitle: #f6ffff +$boxtitle: #943048 +$alttitle: #a93f56 +$bodybg: #4bb3ae +$tabbg: #3c6d69 +$secbg: #48878c +$secborder: #f4d926 +$border: #48878c +$boxbg: #48878c92 +$diffadd: #b2f68f +$diffdel: #5ed8e5 +$warnbg: #008278 +$warnborder: #fcfefd +$noticebg: #5bdebe +$noticeborder: #a9fdc1 + +@mixin bodybg + background-color: $bodybg + +@mixin bgright + background: url(/s/taka-right.jpg) no-repeat + width: 1300px + height: 975px + +@import 'css/v2' diff --git a/css/skins/teal.sass b/css/skins/teal.sass new file mode 100644 index 00000000..7ac70ce9 --- /dev/null +++ b/css/skins/teal.sass @@ -0,0 +1,33 @@ +// userid: 163596 name: Teal (teal) +// by sw1tchbl4d3 + +$maintext: #ddd +$grayedout: #007070 +$standout: #e44 +$link: #00c9c9 +$statok: #0c0 +$statnok: #c00 +$footer: #004040 +$maintitle: #003535 +$boxtitle: #007070 +$alttitle: #fff +$bodybg: #000 +$tabbg: #001010 +$secbg: #003434 +$secborder: #008080 +$border: #007070 +$boxbg: #002525bc +$diffadd: #354 +$diffdel: #534 +$warnbg: #534 +$warnborder: #c00 +$noticebg: #354 +$noticeborder: #0c0 + +@mixin bodybg + background-color: $bodybg + +@mixin bgright + display: none + +@import 'css/v2' diff --git a/css/skins/term.sass b/css/skins/term.sass new file mode 100644 index 00000000..90cf678f --- /dev/null +++ b/css/skins/term.sass @@ -0,0 +1,32 @@ +// userid: 93 name: Neon (black) + +$maintext: #0f0 +$grayedout: #aaa +$standout: #f00 +$link: #ff0 +$statok: #0c0 +$statnok: #c00 +$footer: #fff +$maintitle: #0f0 +$boxtitle: #0f0 +$alttitle: #0f0 +$bodybg: #000 +$tabbg: #000 +$secbg: #000 +$secborder: #0f0 +$border: #fff +$boxbg: #000 +$diffadd: #cfc +$diffdel: #fcc +$warnbg: #000 +$warnborder: #c00 +$noticebg: #000 +$noticeborder: #0f0 + +@mixin bodybg + background-color: $bodybg + +@mixin bgright + display: none + +@import 'css/v2' diff --git a/css/skins/tsukihime.sass b/css/skins/tsukihime.sass new file mode 100644 index 00000000..e50c3bf3 --- /dev/null +++ b/css/skins/tsukihime.sass @@ -0,0 +1,37 @@ +// userid: 51 name: Tsukihime (midnight blue) + +// Tsukihime skin made using an image from the Tsukihime Plus+Disc +// created: 02/01/2009 by echomateria + +$maintext: #ffffff +$grayedout: #abcdff +$standout: #ffffff +$link: #0be0e9 +$statok: #55dfaa +$statnok: #e30b47 +$footer: #0cacf3 +$maintitle: #a9bbfb +$boxtitle: #e3ecff +$alttitle: #c6d7ff +$bodybg: #29345f +$tabbg: #5a3a63 +$secbg: #9b8494 +$secborder: #605567 +$border: #b791f3 +$boxbg: #6a4668bb +$diffadd: #87705c +$diffdel: #374d77 +$warnbg: #76a1cd +$warnborder: #decdcd +$noticebg: #b50439 +$noticeborder: #decdcd + +@mixin bodybg + background: $bodybg url(/s/tsukihime-bg.jpg) no-repeat + +@mixin bgright + background: url(/s/tsukihime-right.jpg) no-repeat + width: 500px + height: 718px + +@import 'css/v2' diff --git a/css/skins/tsukihime_02.sass b/css/skins/tsukihime_02.sass new file mode 100644 index 00000000..df872e07 --- /dev/null +++ b/css/skins/tsukihime_02.sass @@ -0,0 +1,35 @@ +// userid: 51 name: Tsukihime (black) + +// Tsukihime skin made with an awesome Akiha artwork from Tsukihime PLUS disc +// created: 23/01/2009 by echomateria + +$maintext: #fa4347 +$grayedout: #54459a +$standout: #fd3fa9 +$link: #b768aa +$statok: #d79a7e +$statnok: #412651 +$footer: #fa4347 +$maintitle: #fa4347 +$boxtitle: #d79a7e +$alttitle: #c17e61 +$bodybg: #000000 +$tabbg: #2e0106 +$secbg: #2e0106 +$secborder: #b768aa +$border: #000000 +$boxbg: #35020990 +$diffadd: #d79a7e +$diffdel: #412651 +$warnbg: #46285a +$warnborder: #c0959f +$noticebg: #4f3246 +$noticeborder: #94769a + +@mixin bodybg + background: $bodybg url(/s/tsukihime_02-bg.jpg) no-repeat + +@mixin bgright + display: none + +@import 'css/v2' diff --git a/data/style.css b/css/v2.css index 8303a4ae..b3bc51f7 100644 --- a/data/style.css +++ b/css/v2.css @@ -1,32 +1,38 @@ +$blendbg: rgb( + (red($boxbg) * alpha($boxbg) + red($bodybg) * (1 - alpha($boxbg))), + (green($boxbg) * alpha($boxbg) + green($bodybg) * (1 - alpha($boxbg))), + (blue($boxbg) * alpha($boxbg) + blue($bodybg) * (1 - alpha($boxbg))) +); + * { margin: 0; padding: 0; } body, td { font: 13px "Tahoma", "Arial", sans-serif; } -body { $_bodybg$; color: $maintext$ } +body { @include bodybg; color: $maintext } table { border-collapse: collapse; } table td, table th { vertical-align: top; padding: 3px; } img { border: none; } a, -.fake_link { color: $link$; text-decoration: none; cursor:pointer; border-bottom: 1px solid transparent } +.fake_link { color: $link; text-decoration: none; cursor:pointer; border-bottom: 1px solid transparent } a:hover, -.fake_link:hover { border-bottom: 1px dotted $maintext$; } +.fake_link:hover { border-bottom: 1px dotted $maintext; } table tr.odd, table.stripe tbody tr:nth-child(odd):not(.nostripe), -.docs table tbody tr:nth-child(odd) { background: $boxbg$; } +.docs table tbody tr:nth-child(odd) { background: $boxbg; } -#bgright { position: absolute; top: 0px; right: 0px; $_bgright$ } +#bgright { position: absolute; top: 0px; right: 0px; @include bgright } #header { position: absolute; top: 80px; left: 400px; } #header h1, #header h1 a { font-family: "Futura", "Century New Gothic", "Arial", Serif; font-size: 24px; font-style: italic; border: none!important; - color: $maintitle$; + color: $maintitle; } -#footer { margin: 15px auto 0 auto; text-align: center; color: $footer$; } -#footer a { color: $footer$; text-decoration: underline; } +#footer { margin: 15px auto 0 auto; text-align: center; color: $footer; } +#footer a { color: $footer; text-decoration: underline; } /* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility */ .visuallyhidden, .linkradio input { @@ -39,57 +45,57 @@ table.stripe tbody tr:nth-child(odd):not(.nostripe), } /* Warning/Notice Box */ -div.warning, div.notice { margin: 5px 10%; padding: 15px; background-color: $warnbg$; border: 1px solid $warnborder$; } -div.notice { background-color: $noticebg$; border: 1px solid $noticeborder$; } +div.warning, div.notice { margin: 5px 10%; padding: 15px; background-color: $warnbg; border: 1px solid $warnborder; } +div.notice { background-color: $noticebg; border: 1px solid $noticeborder; } div.warning ul, div.notice ul { margin-left: 0; } div.warning li, div.notice li { margin-left: 20px; } div.warning h2, div.notice h2 { font-size: 13px; font-weight: bold; margin: 0; } /* dropdown box */ -#dd_box { position: absolute; left: 0px; border: 1px solid $border$; background-color: $secbg$; z-index: 2 } +#dd_box { position: absolute; left: 0px; border: 1px solid $border; background-color: $secbg; z-index: 2 } #dd_box ul { list-style-type: none; margin: 0; padding: 0 } #dd_box li b { display: block; font-weight: normal; padding-left: 5px; } #dd_box li i { display: block; font-style: normal; padding-left: 10px; padding-right: 5px } #dd_box li a { display: block; padding-left: 10px; border: 0; padding: 3px 5px 3px 3px } -#dd_box li a:hover { background: $boxbg$ } +#dd_box li a:hover { background: $boxbg } /* dropdown search */ #ds_box { position: absolute; top: 0; - border: 1px solid $border$; + border: 1px solid $border; border-top: none; - background-color: $secbg$; + background-color: $secbg; cursor: pointer; z-index: 2 } #ds_box b { padding: 2px 0 0 10px; } -#ds_box tr.selected { background: $boxbg$; } +#ds_box tr.selected { background: $boxbg; } #ds_box table { width: 100%; } /* Elm dropdowns (also in perl: VNWeb::Releases::Lib) */ -.elm_dd > a { color: $maintext$; display: block; border: none; padding-right: 15px; position: relative } +.elm_dd > a { color: $maintext; display: block; border: none; padding-right: 15px; position: relative } .elm_dd > a > span:last-child { position: absolute; right: 5px; top: 0; width: 16px; text-align: right; display: block } .elm_dd > a > span:last-child i { visibility: hidden; font-style: normal } .elm_dd > a .nowrap { display: block; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .elm_dd > a:hover > span:last-child > i, .elm_dd > a:focus > span:last-child > i { visibility: visible } .elm_dd > div { position: relative; float: right; width: 0; height: 0 } -.elm_dd > div > div { position: absolute; right: -10px; top: 0; border: 1px solid $border$; background-color: $secbg$; z-index: 1000; margin: 0; padding: 0; max-width: 400px } +.elm_dd > div > div { position: absolute; right: -10px; top: 0; border: 1px solid $border; background-color: $secbg; z-index: 1000; margin: 0; padding: 0; max-width: 400px } .elm_dd.search > div { float: left } .elm_dd.search > div > div { right: auto; left: 0; top: 23px } .elm_dd ul { width: 100%; list-style-type: none; margin: 0; padding: 0 } .elm_dd ul li { white-space: nowrap } .elm_dd ul li a { display: block; border: 0; padding: 3px 5px 3px 3px } .elm_dd ul li a.active, -.elm_dd ul li a:hover { background: $boxbg$ } +.elm_dd ul li a:hover { background: $boxbg } .elm_dd ul li p { white-space: normal; padding: 3px 5px 3px 3px } .elm_dd ul li.separator { margin-bottom: 22px } -.maintabs .elm_dd > a { box-sizing: border-box; height: 21px; padding: 1px 15px 0 7px; border: 1px solid $border$; border-bottom: none; background-color: $tabbg$; color: $maintext$ } +.maintabs .elm_dd > a { box-sizing: border-box; height: 21px; padding: 1px 15px 0 7px; border: 1px solid $border; border-bottom: none; background-color: $tabbg; color: $maintext } .elm_votedd .elm_dd ul li { text-align: left } -.elm_dd_input .elm_dd > a { background-color: $secbg$; color: $maintext$; border: 1px solid $secborder$; font: 14px "Tahoma", "Arial", sans-serif; padding: 1px 15px 1px 2px; margin: -1px } -.elm_dd_button .elm_dd > a { background-color: $boxbg$; color: $maintext$; border: 1px solid $secborder$; font: 14px "Tahoma", "Arial", sans-serif; padding: 1px 15px 1px 5px; margin: -1px } +.elm_dd_input .elm_dd > a { background-color: $secbg; color: $maintext; border: 1px solid $secborder; font: 14px "Tahoma", "Arial", sans-serif; padding: 1px 15px 1px 2px; margin: -1px } +.elm_dd_button .elm_dd > a { background-color: $boxbg; color: $maintext; border: 1px solid $secborder; font: 14px "Tahoma", "Arial", sans-serif; padding: 1px 15px 1px 5px; margin: -1px } .elm_dd_input.elm_dd_noarrow .elm_dd > a { padding-right: 2px } .elm_dd_noarrow .elm_dd > a { padding-right: 0 } .elm_dd_noarrow .elm_dd > a > span:last-child { display: none } @@ -97,51 +103,51 @@ div.warning h2, div.notice h2 { font-size: 13px; font-weight: bold; margin: 0; } .elm_dd_hover .elm_dd:hover > div { display: block } .elm_dd_left .elm_dd > div { float: left } .elm_dd_left .elm_dd > div > div { right: 0; top: -20px } -.elm_dd_relextlink .elm_dd > a { padding-left: 4px; color: $link$ } +.elm_dd_relextlink .elm_dd > a { padding-left: 4px; color: $link } .elm_dd_relextlink ul a { text-align: right } -.elm_dd_relextlink ul span { color: $maintext$; padding-right: 10px } +.elm_dd_relextlink ul span { color: $maintext; padding-right: 10px } /* general text formatting */ ul, ol { margin-left: 35px; } -p.itemmsg { float: right; color: $standout$; font-style: italic; margin: 0!important } -.grayedout { color: $grayedout$ } +p.itemmsg { float: right; color: $standout; font-style: italic; margin: 0!important } +.grayedout { color: $grayedout } b.grayedout { font-weight: normal } i.grayedout { font-style: normal } .underline { text-decoration: underline } #maincontent h2 b { font: 13px "Tahoma", "Arial", sans-serif; font-weight: normal; } p.description { margin: 10px 100px!important; } -b.done { font-weight: normal; color: $statok$ } -b.todo { font-weight: normal; color: $statnok$ } +b.done { font-weight: normal; color: $statok } +b.todo { font-weight: normal; color: $statnok } b.neutral { font-weight: normal } p.center { text-align: center; } -.standout { color: $standout$!important } +.standout { color: $standout!important } b.future, -b.standout { font-weight: normal; color: $standout$; } +b.standout { font-weight: normal; color: $standout; } .clearfloat { clear: both; height: 0; } .hidden { display: none!important } .invisible { visibility: hidden } .linethrough { text-decoration: line-through } b.spoiler, b.spoiler a { color: #000!important; background-color: #000; font-weight: normal; } -b.spoiler:hover, b.spoiler:focus { color: $maintext$!important; background-color: transparent } -b.spoiler:hover a, b.spoiler:focus a { color: $link$!important; background-color: transparent } +b.spoiler:hover, b.spoiler:focus { color: $maintext!important; background-color: transparent } +b.spoiler:hover a, b.spoiler:focus a { color: $link!important; background-color: transparent } #maincontent div.quote { padding: 1px 5px; margin: 0px 10px; - color: $grayedout$; + color: $grayedout; border: none; - border-left: 1px dotted $border$; + border-left: 1px dotted $border; text-align: left; } pre { padding:1px 5px; margin: 5px 15px; - border: 1px dotted $border$; + border: 1px dotted $border; border-right: none; - border-left: 1px solid $border$; - background: $boxbg$; + border-left: 1px solid $border; + background: $boxbg; overflow-x: auto; } @@ -151,9 +157,9 @@ pre { /***** general form markup *****/ input.text, input.submit, select, textarea, button { - background-color: $secbg$; - color: $maintext$; - border: 1px solid $secborder$; + background-color: $secbg; + color: $maintext; + border: 1px solid $secborder; font: 14px "Tahoma", "Arial", sans-serif; padding: 0 1px 1px 1px; margin: 1px; @@ -161,7 +167,7 @@ input.text, input.submit, select, textarea, button { form, fieldset { border: 0; display: block } legend { display: none; } optgroup option { padding-left: 10px; font-style: normal; } -input.submit, button { background: $boxbg$; padding: 1px 5px; cursor: pointer } +input.submit, button { background: $boxbg; padding: 1px 5px; cursor: pointer } input.text, select { width: 200px; } input[type=number] { -moz-appearance:textfield } input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0 } @@ -193,13 +199,13 @@ table.formimage h2 { margin: 0 } * </container> */ p.linkradio { padding: 2px } -.linkradio label { color: $link$; cursor: pointer } +.linkradio label { color: $link; cursor: pointer } .linkradio label:before { content: '✗' } -.linkradio input:checked + label { color: $maintext$ } +.linkradio input:checked + label { color: $maintext } .linkradio input:checked + label:before { content: '✓' } -.linkradio input:focus + label { outline: 1px dotted $link$ } -.linkradio input:focus:checked + label { outline: 1px dotted $maintext$ } -.linkradio em { font-weight: normal; font-style: normal; color: $grayedout$ } +.linkradio input:focus + label { outline: 1px dotted $link } +.linkradio input:focus:checked + label { outline: 1px dotted $maintext } +.linkradio em { font-weight: normal; font-style: normal; color: $grayedout } /* Same styling, but for regular links. * Usage: @@ -209,7 +215,7 @@ p.linkradio { padding: 2px } */ a.linkradio:before { content: '✗' } a.linkradio.checked:before { content: '✓' } -a.checked { color: $maintext$ } +a.checked { color: $maintext } /* Spinner, <div class="spinner"></div> for a large one, <span> for a smaller inline-text version */ .spinner { content: ''; box-sizing: border-box; border: 3px solid #9eaebd; border-bottom-color: transparent; border-radius: 100%; animation: spin 1s infinite linear; width: 16px; height: 16px; display: inline-block; margin: auto } @@ -220,7 +226,7 @@ span.spinner { width: 1em; height: 1em } .textpreview > span > p { align-self: flex-end; text-align: left } .textpreview > span > p.right > * { margin-left: 10px; font-style: normal } .textpreview textarea { width: 100%; box-sizing: border-box } -.textpreview .preview { width: 100%; box-sizing: border-box; border: 1px solid $secborder$; margin: 1px; padding: 5px; text-align: left } +.textpreview .preview { width: 100%; box-sizing: border-box; border: 1px solid $secborder; margin: 1px; padding: 5px; text-align: left } fieldset.submit .textpreview { margin: 0 auto } /* .compact input elements are smaller and can be embedded in tables/inline text @@ -229,19 +235,19 @@ fieldset.submit .textpreview { margin: 0 auto } .compact input.submit { margin: -2px -1px; padding: 1px 3px } .stealth input, .stealth select { font: inherit; background: none; border: 1px solid transparent; -moz-appearance: none; -webkit-appearance: none; appearance: none } .stealth input:hover, .stealth input:focus, -.stealth select:hover, .stealth select:focus { border: 1px solid $secborder$; background: $secbg$ } +.stealth select:hover, .stealth select:focus { border: 1px solid $secborder; background: $secbg } /***** menu *****/ -#menulist a { color: $maintext$; text-decoration: none; } -#menulist a:hover { border-bottom: 1px dotted $maintext$; } +#menulist a { color: $maintext; text-decoration: none; } +#menulist a:hover { border-bottom: 1px dotted $maintext; } #menulist { position: absolute; left: 30px; top: 190px; width: 160px; } -#menulist div.menubox { margin: 0 0 10px 0; border: 1px solid $border$; background: $boxbg$; } +#menulist div.menubox { margin: 0 0 10px 0; border: 1px solid $border; background: $boxbg; } #menulist div.menubox div { padding: 2px 7px; } -#menulist h2 { border-bottom: 1px solid $border$; background: $boxbg$; padding: 1px 3px; } -#menulist h2, #menulist h2 a { font-size: 13px; color: $maintext$; } +#menulist h2 { border-bottom: 1px solid $border; background: $boxbg; padding: 1px 3px; } +#menulist h2, #menulist h2 a { font-size: 13px; color: $maintext; } #menulist h2 #lang_select { float: right; padding-top: 1px; } #menulist dt { display: block; float: left; width: 97px; font-style: italic; } #menulist dd { width: 45px; float: left; text-align: right; } @@ -249,8 +255,8 @@ fieldset.submit .textpreview { margin: 0 auto } #menulist #search input.text { width: 141px; margin: 0 0 3px 7px } #menulist #search input.submit { display: none; } #dd_box abbr { margin: 2px 5px 2px 0!important; } -#menulist .notifyget { display: inline-block; width: 135px; padding: 4px; background: $warnbg$; border: 1px solid $warnborder$; } -#menulist .logout { border: 0; background: none; color: $maintext$; cursor: pointer } +#menulist .notifyget { display: inline-block; width: 135px; padding: 4px; background: $warnbg; border: 1px solid $warnborder; } +#menulist .logout { border: 0; background: none; color: $maintext; cursor: pointer } #menulist .logout:hover { text-decoration: underline } #support { line-height: 0; height: 41px } @@ -278,14 +284,14 @@ fieldset.submit .textpreview { margin: 0 auto } font-size: 14px; } div.mainbox, div.threelayout > div { - border: 1px solid $border$; + border: 1px solid $border; margin: 21px 0 -10px 0; padding: 5px; - background: $boxbg$; + background: $boxbg; } div.mainbox-overflow-hack { overflow: hidden; width: 100%; box-sizing: border-box } -.mainbox h1 { color: $boxtitle$; font-size: 24px; margin: -5px 0 15px 0; } -.mainbox h2.alttitle { color: $alttitle$; margin: -17px 0 15px 15px; font-weight: normal; } +.mainbox h1 { color: $boxtitle; font-size: 24px; margin: -5px 0 15px 0; } +.mainbox h2.alttitle { color: $alttitle; margin: -17px 0 15px 15px; font-weight: normal; } .mainbox p { margin: 3px 20px; } .mainbox div p, .mainbox table p { margin: 0; } @@ -298,11 +304,11 @@ div.threelayout { display: flex } div.threelayout > div { flex: 1; padding: 0 2px 10px 2px; margin-left: 5px; margin-right: 5px } div.threelayout > div:first-child { margin-left: 0 } div.threelayout > div:last-child { margin-right: 0 } -.threelayout h1 { margin: 0; font-size: 18px; font-weight: bold; color: $boxtitle$ } +.threelayout h1 { margin: 0; font-size: 18px; font-weight: bold; color: $boxtitle } .threelayout h2 { font-size: 14px; margin-top: 3px; } .threelayout a.right { float: right; } .threelayout ul { list-style-type: none; margin-left: 10px; } -.threelayout h1 a { color: $boxtitle$; } +.threelayout h1 a { color: $boxtitle; } @@ -317,15 +323,15 @@ div.maintabs > ul { margin: 0; padding: 0; list-style-type: none } div.maintabs > ul > li { display: inline-block; margin: 0 0 0 10px } div.maintabs > ul > li:nth-child(1) { margin-left: 0!important } div.maintabs > ul > li > a, -div.maintabs > ul > li > div > a { display: inline-block; box-sizing: border-box; height: 21px; padding: 1px 7px 0 7px; border: 1px solid $border$; border-bottom: none; background-color: $tabbg$; color: $grayedout$; } +div.maintabs > ul > li > div > a { display: inline-block; box-sizing: border-box; height: 21px; padding: 1px 7px 0 7px; border: 1px solid $border; border-bottom: none; background-color: $tabbg; color: $grayedout; } div.maintabs > ul > li.tabselected > a, div.maintabs > ul > li.tabselected > div > a, div.maintabs > ul > li > div > a:hover, -div.maintabs > ul > li > a:hover { background: $_blendbg$; color: $maintext$; height: 22px } -div.maintabs.browsetabs > ul li a { color: $maintext$ } +div.maintabs > ul > li > a:hover { background: $blendbg; color: $maintext; height: 22px } +div.maintabs.browsetabs > ul li a { color: $maintext } div.maintabs.browsetabs > ul li { margin-left: 5px } div.maintabs.bottom { margin-top: 10px; /* WHY!? */ margin-bottom: -10px } -div.maintabs.bottom > ul li a { padding: 4px 7px 2px 7px; border-bottom: 1px solid $border$; border-top: none } +div.maintabs.bottom > ul li a { padding: 4px 7px 2px 7px; border-bottom: 1px solid $border; border-top: none } div.maintabs.bottom > ul li.tabselected a, div.maintabs.bottom > ul li a:hover { padding-top: 5px; height: 22px; margin-top: -1px } @@ -333,7 +339,7 @@ h1.boxtitle, h1.boxtitle a, div.maintabs h1 { font-family: "Futura", "Century New Gothic", "Arial", Serif; font-weight: bold; font-style: italic; - color: $grayedout$; + color: $grayedout; font-size: 17px; } h1.boxtitle, h1.boxtitle a { margin: 20px 0 -20px 0 } @@ -346,7 +352,7 @@ h1.boxtitle, h1.boxtitle a { margin: 20px 0 -20px 0 } p.screenshots { text-align: center; margin-top: 10px; padding: 0; height: 105px; overflow: hidden } p.screenshots img { margin: 2px; } li.announcement { margin-bottom: 3px; margin-top: 3px } -li.announcement a { font-weight: bold; font-size: 15px; color: $maintext$ } +li.announcement a { font-weight: bold; font-size: 15px; color: $maintext } .homepage h1 { margin-bottom: 5px } .homepage > div { overflow: hidden } .homepage li { display: flex; line-height: 1.1 } @@ -360,8 +366,8 @@ li.announcement a { font-weight: bold; font-size: 15px; color: $maintext$ .browseopts a, .browseopts button { padding: 1px 3px; - color: $maintext$; - border: 1px solid $border$; + color: $maintext; + border: 1px solid $border; margin: 0 2px; white-space: nowrap; } @@ -373,17 +379,17 @@ span.browseopts { text-align: center; padding: 10px; display: in div.mainbox.browse { padding: 0; } div.mainbox.browse table { width: 100%; } div.mainbox.browse table td.tc1 { padding-left: 25px; } -table thead td, table thead th { font-weight: bold; background-color: $secbg$; } +table thead td, table thead th { font-weight: bold; background-color: $secbg; } table thead th { text-align: left } fieldset.search { display: block; width: 100%; text-align: center; margin: 0 0 10px 0; } fieldset.search .submit { padding: 0 1px; } p#searchtabs { height: 13px; padding-right: 70px; } -p#searchtabs a { padding: 2px 6px 2px 6px; margin: 0 2px; color: $maintext$; } +p#searchtabs a { padding: 2px 6px 2px 6px; margin: 0 2px; color: $maintext; } p#searchtabs a:hover, p#searchtabs a.sel { - border: 1px solid $secborder$; + border: 1px solid $secborder; border-bottom: none; padding: 1px 5px 2px 5px; - background: $boxbg$; + background: $boxbg; } #q { width: 600px } #bq { width: 300px } @@ -407,14 +413,14 @@ div.history td.tc4 b { margin-left: 10px } /* threads page */ #maincontent div.thread { padding: 0; } div.thread table { width: 100%; table-layout: fixed } -div.thread tr:not(:last-child) td { border-bottom: 1px solid $border$; } -div.thread td.tc1 { width: 170px; padding: 5px 10px; border-right: 1px solid $border$; } +div.thread tr:not(:last-child) td { border-bottom: 1px solid $border; } +div.thread td.tc1 { width: 170px; padding: 5px 10px; border-right: 1px solid $border; } div.thread td.tc2 { padding: 10px 20px 10px 10px; } div.thread tr.deleted td { padding: 1px 10px; } -div.thread tr:target, div.thread tr.target { outline: 1px dotted $standout$ } -div.thread i.deleted { font-style: normal; color: $grayedout$; } -div.thread i.lastmod { float: right; font-size: 11px; color: $grayedout$; margin: 0 -10px -5px 0; } -div.thread i.edit { float: right; color: $grayedout$; font-style: normal; margin: -10px -10px 0 0; visibility: hidden } +div.thread tr:target, div.thread tr.target { outline: 1px dotted $standout } +div.thread i.deleted { font-style: normal; color: $grayedout; } +div.thread i.lastmod { float: right; font-size: 11px; color: $grayedout; margin: 0 -10px -5px 0; } +div.thread i.edit { float: right; color: $grayedout; font-style: normal; margin: -10px -10px 0 0; visibility: hidden } div.thread td:hover i.edit, div.thread td:active i.edit { visibility: visible } @@ -422,11 +428,11 @@ div.thread td:active i.edit { visibility: visible } div.mainbox.discussions td.tc4 { text-align: right; } div.mainbox.discussions a.locked { text-decoration: line-through; } div.mainbox.discussions b.boards { padding-left: 10px; font-weight: normal; } -div.mainbox.discussions b.boards a { color: $grayedout$; } +div.mainbox.discussions b.boards a { color: $grayedout; } div.discussions td.tc2 { width: 60px; text-align: right } div.discussions td.tc3 { width: 110px; } div.discussions td.tc4 { width: 250px; } -div.discussions .pollflag { color: $grayedout$; padding-right: 6px; } +div.discussions .pollflag { color: $grayedout; padding-right: 6px; } div.postsearch td.tc1_1 { width: 60px; padding-left: 0; padding-right: 0; text-align: right } div.postsearch td.tc1_2 { width: 25px; padding-left: 0 } div.postsearch td.tc2 { width: 65px; } @@ -437,12 +443,12 @@ div.postsearch td.tc3 { width: 90px; } .releases { width: 100%; } .releases tr.lang td, -.releases tr.vn td { background: $boxbg$; font-weight: bold; } +.releases tr.vn td { background: $boxbg; font-weight: bold; } .releases td.tc1 { padding-left: 30px; width: 80px; white-space: nowrap } .releases td.tc2 { text-align: center; width: 50px; white-space: nowrap } .releases td.tc3 { text-align: right; padding: 0; width: 120px; } .releases td.tc_icons { padding: 0 4px } -.releases td.tc_prod { color: $grayedout$; white-space: nowrap; width: 50px } +.releases td.tc_prod { color: $grayedout; white-space: nowrap; width: 50px } .releases td.tc5 { width: 70px; text-align: right } .releases td.tc6 { text-align: right; width: 25px; padding: 0; white-space: nowrap } @@ -466,15 +472,15 @@ div.vndetails td.anime b { font-size: 10px; font-weight: normal; padding-ri .ulistvn > span { float: right } .ulistvn textarea { width: 100% } -div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $border$; padding: 3px 5% 0 5%; text-align: center; } +div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $border; padding: 3px 5% 0 5%; text-align: center; } #vntags span { white-space: nowrap; margin-left: 15px; } -#vntags b { color: $grayedout$; font-weight: normal; font-size: 10px } +#vntags b { color: $grayedout; font-weight: normal; font-size: 10px } #tagops { text-align: right; width: auto; } -#tagops label { margin: 0 0 0 10px; border: 0; outline: none; color: $link$; cursor: pointer; } -#tagops label.sec { border-left: 1px solid $border$; padding-left: 10px } +#tagops label { margin: 0 0 0 10px; border: 0; outline: none; color: $link; cursor: pointer; } +#tagops label.sec { border-left: 1px solid $border; padding-left: 10px } #tagops label.lst { margin: 0 30px 0 10px; } -#tagops input:checked + label { color: $maintext$; } +#tagops input:checked + label { color: $maintext; } /* tag filter machinery; the order of declarations is important */ @@ -495,10 +501,10 @@ div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $bo /* end of tag filter machinery */ #screenshots table { width: 100%; } -#screenshots tr.rel td { background: $boxbg$; font-weight: bold; } +#screenshots tr.rel td { background: $boxbg; font-weight: bold; } #screenshots p.rel { - background: $boxbg$; + background: $boxbg; margin: 0; padding: 2px; font-weight: bold; @@ -507,15 +513,15 @@ div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $bo #screenshots a.scrlnk { margin: 2px; border: none } #screenshots div.scr { display: block; padding-left: 30px; text-align: center } #screenshots img { border: 3px solid transparent; } -#screenshots a.nsfw img { border: 3px solid $statnok$; } -#screenshots a:hover img { border: 3px solid $border$; } +#screenshots a.nsfw img { border: 3px solid $statnok; } +#screenshots a:hover img { border: 3px solid $border; } #scrhide_s0:checked ~ #screenshots label[for=scrhide_s0], #scrhide_s1:checked ~ #screenshots label[for=scrhide_s1], #scrhide_s2:checked ~ #screenshots label[for=scrhide_s2], #scrhide_v0:checked ~ #screenshots label[for=scrhide_v0], #scrhide_v1:checked ~ #screenshots label[for=scrhide_v1], -#scrhide_v2:checked ~ #screenshots label[for=scrhide_v2] { color: $maintext$ } +#scrhide_v2:checked ~ #screenshots label[for=scrhide_v2] { color: $maintext } #screenshots .scrlnk { display: none } #scrhide_s0:checked ~ #screenshots .scrlnk_s0 { display: inline } @@ -526,22 +532,22 @@ div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $bo .summarize_more { margin-top: 9px; margin-bottom: -10px; padding: 0; height: 15px; - border: 1px solid $border$; border-top: none; - background: $boxbg$; + border: 1px solid $border; border-top: none; + background: $boxbg; text-align: center } .reviews { display: flex; justify-content: center; flex-wrap: wrap } .reviewbox { margin: 10px 12px 30px 12px; flex: 1 1; flex-basis: 450px } -.reviewbox > div:nth-child(2) > span:first-child { float: right; color: $grayedout$; font-style: normal; margin: -5px 0 0 0; visibility: hidden } +.reviewbox > div:nth-child(2) > span:first-child { float: right; color: $grayedout; font-style: normal; margin: -5px 0 0 0; visibility: hidden } .reviewbox > div:nth-child(2):hover > span:first-child, .reviewbox > div:nth-child(2):active > span:first-child { visibility: visible } .reviewbox .review_spoil input:checked ~ span { display: none } .reviewbox .review_spoil input:not(:checked) ~ div { display: none } -.reviewbox > div:first-child { display: flex; justify-content: space-between; background: $secbg$; font-weight: bold } +.reviewbox > div:first-child { display: flex; justify-content: space-between; background: $secbg; font-weight: bold } .reviewbox > div:first-child > span:first-child { font-weight: bold } -.reviewbox > div:nth-child(2) { box-sizing: border-box; padding: 10px; background: $boxbg$ } -.reviewbox > div:last-child { display: flex; justify-content: space-between; border-top: 1px solid $border$ } +.reviewbox > div:nth-child(2) { box-sizing: border-box; padding: 10px; background: $boxbg } +.reviewbox > div:last-child { display: flex; justify-content: space-between; border-top: 1px solid $border } .reviewbox .myvote { font-weight: bold; text-decoration: underline } @@ -551,10 +557,10 @@ div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $bo .vntaglist { list-style-type: none; column-width: 400px } .vntaglist li.tagvnlist-top:not(:first-child) { margin-top: 30px } .vntaglist li.tagvnlist-parent { margin: 5px 0 3px 0 } -.vntaglist li.tagvnlist-parent a { color: $maintext$; font-weight: bold } -.vntaglist li.tagvnlist-inherited a { color: $grayedout$ } -.vntaglist li:not(.tagvnlist-inherited) b.grayedout { color: $link$ } -.vntaglist h3 a { color: $maintext$ } +.vntaglist li.tagvnlist-parent a { color: $maintext; font-weight: bold } +.vntaglist li.tagvnlist-inherited a { color: $grayedout } +.vntaglist li:not(.tagvnlist-inherited) b.grayedout { color: $link } +.vntaglist h3 a { color: $maintext } .vntaglist li { list-style-type: none; padding-right: 30px } .vntaglist li .tagscore { margin-right: 10px } @@ -566,7 +572,7 @@ div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $bo .votegraph { float: left; margin-right: 20px } .votegraph td { padding: 0 2px } .votegraph td.number { text-align: right } -.votegraph td div { float: left; height: 16px; background-color: $border$; margin-right: 2px; padding: 0; } +.votegraph td div { float: left; height: 16px; background-color: $border; margin-right: 2px; padding: 0; } .votestats thead td { background: transparent; text-align: center; padding: 2px; } .votestats tfoot td { text-align: right } .votestats div { text-align: center; padding-top: 5px; } @@ -585,7 +591,7 @@ div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $bo .votebooth td.tc1 { padding-right: 20px } .votebooth td.tc2 { min-width: 240px } .votebooth td.tc2 div { margin: 2px; } -.votebooth td.tc2 div.graph { float: left; height: 14px; background-color: $border$; padding: 0; } +.votebooth td.tc2 div.graph { float: left; height: 14px; background-color: $border; padding: 0; } .votebooth td.tc3 { text-align: right; padding-right: 16px; } .votebooth .submit { width: 100px } .votebooth .option { margin-left: 8px } @@ -596,8 +602,8 @@ div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $bo /***** VN edit *****/ .vnedit_scr { width: 95%; margin: auto } -.vnedit_scr > tr:nth-child(odd) > td { background: $boxbg$ } -.vnedit_scr > tr > td { border-bottom: 1px solid $border$ } +.vnedit_scr > tr:nth-child(odd) > td { background: $boxbg } +.vnedit_scr > tr > td { border-bottom: 1px solid $border } .vnedit_scr > tr > td:nth-child(1) { padding: 10px; width: 136px } .vnedit_scr > tr > td:nth-child(2) { width: 10px; padding-top: 20px } @@ -605,10 +611,10 @@ div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $bo /***** VN Release tab *****/ .releases_compare table { margin: 0 auto; } -.releases_compare td { margin: 0 auto; border: 1px solid $border$; } -.releases_compare td.bg { background: $boxbg$; } +.releases_compare td { margin: 0 auto; border: 1px solid $border; } +.releases_compare td.bg { background: $boxbg; } .releases_compare td.multi { vertical-align:middle; } -.releases_compare .key { background: $boxbg$; } +.releases_compare .key { background: $boxbg; } /****** VN browse ********/ @@ -626,7 +632,7 @@ div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $bo .prodvns { list-style-type: none } .prodvns li span:first-child { display: inline-block; width: 80px; text-align: right; padding-right: 15px } -.prodvns li span:last-child { color: $grayedout$; padding-left: 15px } +.prodvns li span:last-child { color: $grayedout; padding-left: 15px } /***** Producer list ******/ @@ -683,8 +689,8 @@ div#vntags { margin: 0 30px 0 30px; border-top: 1px solid $bo .imghover div.imghover--visible { position: relative } .imghover div.imghover--visible a { border-bottom: 0 } .imghover div.imghover--visible .imghover--overlay { display: none; white-space: nowrap; font-size: 11px } -.imghover:hover div.imghover--visible .imghover--overlay { display: block; position: absolute; right: 0; bottom: 0; padding: 5px 10px; background: $secbg$; border: 0 } -.imghover div.imghover--warning { border: 1px solid $border$; background: $secbg$; box-sizing: border-box; padding: 10px 5px } +.imghover:hover div.imghover--visible .imghover--overlay { display: block; position: absolute; right: 0; bottom: 0; padding: 5px 10px; background: $secbg; border: 0 } +.imghover div.imghover--warning { border: 1px solid $border; background: $secbg; box-sizing: border-box; padding: 10px 5px } @@ -708,7 +714,7 @@ div.chardetails.charsep { margin-top: 30px } table.chare_traits .buts { padding: 0 20px } -table.chare_traits .buts a { box-sizing: border-box; display: block; width: 15px; height: 14px; border: 1px solid $border$; margin: 0; float: left } +table.chare_traits .buts a { box-sizing: border-box; display: block; width: 15px; height: 14px; border: 1px solid $border; margin: 0; float: left } table.chare_traits .buts a.s0 { border: none; background-color: #0f0 } table.chare_traits .buts a.s1 { border: none; background-color: #f80 } table.chare_traits .buts a.s2 { border: none; background-color: #f40 } @@ -721,7 +727,7 @@ div.charb td { white-space: nowrap } div.charb td.tc1 { text-align: right; width: 40px; padding-left: 0!important; padding-bottom: 0 } div.charb td.tc2 { overflow: hidden } div.charb td.tc2 b { margin-left: 10px } -div.charb td.tc2 b a { color: $grayedout$!important } +div.charb td.tc2 b a { color: $grayedout!important } /***** Staff browse *****/ @@ -758,10 +764,10 @@ div.charsum_list { text-align: center } div.charsum_list .name { white-space: nowrap; display: flex; justify-content: space-between } div.charsum_list .name span { overflow: hidden; text-overflow: ellipsis; padding-bottom: 1px } div.charsum_list .name a { font-weight: bold } -div.charsum_list .actor { border-top: 1px solid $border$; padding-top: 3px } +div.charsum_list .actor { border-top: 1px solid $border; padding-top: 3px } div.charsum_list .actor b.grayedout { margin-left: 10px } div.charsum_list .charsum_bubble { - background: $boxbg$; + background: $boxbg; display: inline-block; text-align: left; vertical-align: top; @@ -788,7 +794,7 @@ div.charsum_list .charsum_bubble { .docs h3 { margin: 30px 0 5px; font-size: 16px } .docs h4 { margin-top: 15px; font-size: 14px } .docs h3 a:target, -.docs h4 a:target { color: $standout$ } +.docs h4 a:target { color: $standout } .docs dd { margin: 5px 0 5px 120px } .docs dt { float: left } .docs ul, .docs ol { margin: 5px 0 5px 20px } @@ -800,7 +806,7 @@ div.charsum_list .charsum_bubble { .docs td[colspan]+td, .docs td[colspan]+td+td { white-space: normal } .docs p + p { padding-top: 10px } -.docs ul.index { display: block; float: right; width: 190px; padding: 2px; margin: 0 0 10px 5px; background: $boxbg$; border: 1px solid $border$; } +.docs ul.index { display: block; float: right; width: 190px; padding: 2px; margin: 0 0 10px 5px; background: $boxbg; border: 1px solid $border; } .docs ul.index li { list-style-type: none; } .docs ul.index li a { margin: 0 0 0 10px; } .docs img { margin: 5px } @@ -858,7 +864,7 @@ div.votelist td.tc2 { width: 50px; text-align: right; padding-right: 10px } .ulist .tc_opt { padding: 0 0 5px 70px } .ulist .tc_opt textarea { width: 500px; height: 18px; border: none } -.ulist .tc_opt textarea:focus { height: 50px; border: 1px solid $secborder$ } +.ulist .tc_opt textarea:focus { height: 50px; border: 1px solid $secborder } .ulist .tc_opt textarea + div { display: inline-block; padding-left: 10px } .ulist .tc_opt .tco1 { white-space: nowrap; width: 100px } .ulist .tc_opt .tco2 { white-space: nowrap; width: 100px } @@ -885,19 +891,19 @@ div.votelist td.tc2 { width: 50px; text-align: right; padding-right: 10px } .browse.notifies td.tc1 { width: 14px } .browse.notifies td.tc3 { width: 100px } .browse.notifies td.tc4 { width: 75px } -.browse.notifies tbody td.tc5 a { color: $grayedout$ } -.browse.notifies td.tc5 i { font-style: normal; color: $maintext$ } +.browse.notifies tbody td.tc5 a { color: $grayedout } +.browse.notifies td.tc5 i { font-style: normal; color: $maintext } .browse.notifies .unread td { font-weight: bold } .browse.notifies tfoot td { padding: 0 0 0 25px } /***** Subscription tab thiny (HTML::_maintabs_subscribe_() + elm/Subscribe) ****/ -#subscribe .inactive { color: transparent; text-shadow: 0 0 $grayedout$ } -#subscribe .active { color: transparent; text-shadow: 0 0 $maintext$ } +#subscribe .inactive { color: transparent; text-shadow: 0 0 $grayedout } +#subscribe .active { color: transparent; text-shadow: 0 0 $maintext } #subscribe > div > a { height: 21px!important /* override :hover change */ } #subscribe > div > div { position: absolute; width: 1px } -#subscribe > div > div > div { box-sizing: border-box; padding: 10px; width: 500px; border: 1px solid $border$; background: $secbg$; position: relative; bottom: 0; left: -470px; z-index: 100 } +#subscribe > div > div > div { box-sizing: border-box; padding: 10px; width: 500px; border: 1px solid $border; background: $secbg; position: relative; bottom: 0; left: -470px; z-index: 100 } #subscribe p, #subscribe h4, #subscribe label { display: block; margin-bottom: 3px } @@ -958,9 +964,9 @@ div.uposts td.tc4 b { margin-left: 10px } .tagscore > span { display: inline-block; width: 25px; text-align: right; padding-right: 3px; font-size: 11px } .tagscore > div { display: inline-block; height: 13px; background: linear-gradient(90deg, #cf0 0px, #0f0 30px) } .tagscore.negative > div { background: #f00 } -.tagscore.negative > span { color: $standout$ } +.tagscore.negative > span { color: $standout } .tagscore.ignored > div { background: #222 } -.tagscore.ignored > span { color: $grayedout$ } +.tagscore.ignored > span { color: $grayedout } /***** VN tagmod *****/ @@ -968,26 +974,26 @@ div.uposts td.tc4 b { margin-left: 10px } table.tgl { margin: 10px 0 0 20px } table.tgl td { padding: 1px 5px } table.tgl tfoot td { padding-top: 20px } -table.tgl .tc_you { border-right: 1px solid $border$; border-left: 1px solid $border$; text-align: center } -table.tgl .tc_others { border-left: 1px solid $border$; text-align: center } -table.tgl .tc_tagname { min-width: 200px; border-right: 1px solid $border$ } +table.tgl .tc_you { border-right: 1px solid $border; border-left: 1px solid $border; text-align: center } +table.tgl .tc_others { border-left: 1px solid $border; text-align: center } +table.tgl .tc_tagname { min-width: 200px; border-right: 1px solid $border } table.tgl tbody .tc_tagname { padding-left: 15px } table.tgl .tc_myvote { padding: 0 0 0 30px; min-width: 100px } table.tgl .tc_mynote span { cursor: pointer } -table.tgl .noteview { position: absolute; max-width: 400px; padding: 0 5px 5px 5px; background: $_blendbg$ } -table.tgl .buts a { box-sizing: border-box; display: block; width: 15px; height: 14px; border: 1px solid $border$; margin: 0; float: left } -table.tgl .buts a.l0 { border: none; background-color: $border$ } +table.tgl .noteview { position: absolute; max-width: 400px; padding: 0 5px 5px 5px; background: $blendbg } +table.tgl .buts a { box-sizing: border-box; display: block; width: 15px; height: 14px; border: 1px solid $border; margin: 0; float: left } +table.tgl .buts a.l0 { border: none; background-color: $border } table.tgl .buts a.l1 { border: none; background-color: #cf0 } table.tgl .buts a.l2 { border: none; background-color: #8f0 } table.tgl .buts a.l3 { border: none; background-color: #0f0 } table.tgl .buts a.ld { border: none; background-color: #f00 } table.tgl tbody .tc_myover { padding: 0 5px } table.tgl .tc_myspoil { padding: 0 30px; min-width: 60px } -table.tgl .buts a.sn { border: none; background-color: $border$ } +table.tgl .buts a.sn { border: none; background-color: $border } table.tgl .buts a.s0 { border: none; background-color: #0f0 } table.tgl .buts a.s1 { border: none; background-color: #f80 } table.tgl .buts a.s2 { border: none; background-color: #f40 } -table.tgl .tc_allvote { border-left: 1px solid $border$; padding: 1px 0 0 30px; } +table.tgl .tc_allvote { border-left: 1px solid $border; padding: 1px 0 0 30px; } table.tgl .tc_allvote i { font-style: normal; font-size: 10px } table.tgl .tc_allspoil { text-align: right; padding-right: 15px } table.tgl .tagmod_cat td { font-weight: bold; padding-top: 10px } @@ -998,19 +1004,19 @@ table.tgl .tagmod_cat td { font-weight: bold; padding-top: 10px } /****** Revision information ******/ div.revision div.rev, div.revision table { - border: 1px solid $border$; + border: 1px solid $border; margin: 0 auto; width: 90%; - background-color: $secbg$; + background-color: $secbg; clear: both; } div.revision { padding-bottom: 10px; } div.revision table thead tr td { background-color: transparent!important; text-align: center; font-weight: normal; } -div.revision table td { border-right: 1px solid $border$; padding: 5px; } +div.revision table td { border-right: 1px solid $border; padding: 5px; } div.revision td.tcval { width: 44%; } div.revision div.rev { padding: 5px; text-align: center; } -.diff_add { font-weight: normal; background-color: $diffadd$; } -.diff_del { font-weight: normal; background-color: $diffdel$; } +.diff_add { font-weight: normal; background-color: $diffadd; } +.diff_del { font-weight: normal; background-color: $diffdel; } div.revision .next { float: right; margin-right: 5%; } div.revision .prev { float: left; margin-left: 5%; } div.revision .item { text-align: center; } @@ -1023,8 +1029,8 @@ div#iv_view { position: absolute; top: 0px; left: 0px; - background: $boxbg$; - border: 1px solid $border$; + background: $boxbg; + border: 1px solid $border; padding: 5px; text-align: center; } @@ -1056,7 +1062,7 @@ div#iv_view { * 3 a -> next * 4 a -> flagging */ -.ivview { position: fixed; background: $boxbg$; border: 2px solid $border$; padding: 5px; text-align: center } +.ivview { position: fixed; background: $boxbg; border: 2px solid $border; padding: 5px; text-align: center } .ivview img { cursor: pointer } .ivview > div:nth-child(1) { position: absolute; left: 48%; top: 48%; width: 30px; height: 30px } .ivview > div:nth-child(2) { position: relative } @@ -1100,17 +1106,17 @@ div#iv_view { position: absolute; top: 0px; left: 0px; - background: $tabbg$; - border: 1px solid $border$; + background: $tabbg; + border: 1px solid $border; padding: 5px; width: 600px; text-align: center; } .fil_div a.close { float: right; border: 0; font-weight: bold } .fil_div p.browseopts { padding: 2px 20px; line-height: 23px } -.fil_div .browseopts a { outline: none; color: $maintext$ } +.fil_div .browseopts a { outline: none; color: $maintext } .fil_div .browseopts a.active { font-weight: bold } -.fil_div b.ruler { display: block; margin: auto; width: 93%; height: 1px; border-bottom: 1px solid $border$; margin-bottom: 5px } +.fil_div b.ruler { display: block; margin: auto; width: 93%; height: 1px; border-bottom: 1px solid $border; margin-bottom: 5px } .fil_div h3 { width: 100%; text-align: center; font-size: 13px } .fil_div table { width: 93%; text-align: left; margin: 0 auto 5px auto } .fil_div table td.label label { width: 120px } @@ -1119,10 +1125,10 @@ div#iv_view { .fil_div label.active { font-weight: bold } .fil_div .opts a { border: 0; outline: none } .fil_div .opts b { margin: 0 7px; font-weight: normal } -.fil_div .opts a.tsel { color: $maintext$; } +.fil_div .opts a.tsel { color: $maintext; } .fil_div table ul { margin: 0 0 0 15px } .fil_div .slider p { margin: 1px; } -.fil_div .slider div { margin: 1px; border: 1px solid $secborder$; float: left; height: 12px; } +.fil_div .slider div { margin: 1px; border: 1px solid $secborder; float: left; height: 12px; } .fil_div .slider div div { border-top: none; border-bottom: none; cursor: default; position: relative; height: 10px; margin: 1px; } .fil_div .slider span { margin-left: 5px } @@ -1152,19 +1158,19 @@ p.filselect i { font-style: normal } /* Line drawing. This is awful */ .advsearch .advnest > tr > td:nth-child(2) { position: relative; width: 15px; padding: 0 } -.advsearch .advnest > tr > td:nth-child(2) div { border-left: 1px solid $border$; width: 15px; position: absolute; left: 5px; top: 0; bottom: 0 } +.advsearch .advnest > tr > td:nth-child(2) div { border-left: 1px solid $border; width: 15px; position: absolute; left: 5px; top: 0; bottom: 0 } .advsearch .advnest > tr > td:nth-child(2).start { top: 13px } -.advsearch .advnest > tr > td:nth-child(2).start div { border-top: 1px solid $border$ } -.advsearch .advnest > tr > td:nth-child(2).start span { display: block; position: absolute; left: -5px; top: 0; width: 15px; border-top: 1px solid $border$; height: 1px } -.advsearch .advnest > tr > td:nth-child(2).end div { bottom: 13px; border-bottom: 1px solid $border$ } -.advsearch .advnest > tr > td:nth-child(2).mid span { display: block; position: absolute; left: 5px; top: 13px; width: 15px; border-top: 1px solid $border$; height: 1px } +.advsearch .advnest > tr > td:nth-child(2).start div { border-top: 1px solid $border } +.advsearch .advnest > tr > td:nth-child(2).start span { display: block; position: absolute; left: -5px; top: 0; width: 15px; border-top: 1px solid $border; height: 1px } +.advsearch .advnest > tr > td:nth-child(2).end div { bottom: 13px; border-bottom: 1px solid $border } +.advsearch .advnest > tr > td:nth-child(2).mid span { display: block; position: absolute; left: 5px; top: 13px; width: 15px; border-top: 1px solid $border; height: 1px } .advsearch .elm_dd_input { display: inline-block; margin: 5px 4px; width: 150px; vertical-align: middle } .advsearch .elm_dd_input.short { width: auto } -.advsearch .advbut { width: 100%; background-color: $_blendbg$; text-align: right; white-space: nowrap } +.advsearch .advbut { width: 100%; background-color: $blendbg; text-align: right; white-space: nowrap } .advsearch .advbut > * { display: inline-block; box-sizing: border-box; height: 20px; padding: 3px 5px 0 2px; cursor: pointer; border-bottom: none; font-size: 16px } -.advsearch .advbut > b { color: $grayedout$; font-style: normal } -.advsearch .advheader { box-sizing: border-box; background-color: $_blendbg$; padding: 3px; width: 100%; margin-bottom: 2px } +.advsearch .advbut > b { color: $grayedout; font-style: normal } +.advsearch .advheader { box-sizing: border-box; background-color: $blendbg; padding: 3px; width: 100%; margin-bottom: 2px } .advsearch .advheader > h3 { text-align: center; font-weight: bold; font-size: inherit; margin-bottom: 3px } .advsearch .advheader .opts { display: flex; justify-content: space-between; align-items: flex-end; min-width: 170px } .advsearch .advheader .opts > * { margin: 0; white-space: nowrap } @@ -1187,21 +1193,21 @@ p.filselect i { font-style: normal } .imageflag > ul:nth-child(1) { margin-left: 15px } .imageflag > div:nth-child(1) { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 2px } .imageflag > div:nth-child(1) span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0px 20px } -.imageflag > div:nth-child(2) { border: 1px solid $border$; padding: 5px; display: flex; justify-content: center; align-items: center; background: #000 } +.imageflag > div:nth-child(2) { border: 1px solid $border; padding: 5px; display: flex; justify-content: center; align-items: center; background: #000 } .imageflag > div:nth-child(2) a { border: none; display: inline-block; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center } .imageflag > div:nth-child(3) { display: flex; justify-content: space-between; } .imageflag > div:nth-child(4) { display: flex; margin-bottom: 5px } .imageflag > div:nth-child(4) p { flex: 1 0; padding-top: 15px } .imageflag > div:nth-child(4) ul { list-style-type: none; margin: 0 5px 0 0 } .imageflag > div:nth-child(4) ul li:first-child { text-align: center } -.imageflag > div:nth-child(4) ul li label { display: inline-block; border: 1px solid $secborder$; padding: 7px; width: 100px; white-space: nowrap; margin: 2px 0; cursor: pointer } +.imageflag > div:nth-child(4) ul li label { display: inline-block; border: 1px solid $secborder; padding: 7px; width: 100px; white-space: nowrap; margin: 2px 0; cursor: pointer } .imageflag > div:nth-child(4) ul li.sel label, -.imageflag > div:nth-child(4) ul li label:hover { background-color: $secbg$ } +.imageflag > div:nth-child(4) ul li label:hover { background-color: $secbg } .imageflag > div:nth-child(4) ul li.overrule label { position: relative; left: 80px; border: none; padding: 0 } .imageflag > div:nth-child(6) { min-height: 200px; padding: 15px 0 } .imageflag > div:nth-child(6) table { margin: 0 auto } .imageflag > div:nth-child(6) table tr.ignored td:nth-child(2), -.imageflag > div:nth-child(6) table tr.ignored td:nth-child(3) { text-decoration: line-through; color: $grayedout$ } +.imageflag > div:nth-child(6) table tr.ignored td:nth-child(3) { text-decoration: line-through; color: $grayedout } .imageflag > div:nth-child(6) table td { min-width: 50px } .imageflag .fullscreen { position: fixed; left: 0; top: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center; background-size: contain; background-color: #000 } @@ -1210,19 +1216,19 @@ p.filselect i { font-style: normal } div.imagebrowse { padding: 0; display: flex; flex-wrap: wrap } .imagebrowse .imagecard { padding: 2px; display: flex; flex: 1 } -.imagebrowse .imagecard:hover { background-color: $secbg$ } +.imagebrowse .imagecard:hover { background-color: $secbg } .imagebrowse .imagecard > a { flex-shrink: 0; display: block; width: 150px; height: 120px; background-size: contain; background-repeat: no-repeat; background-position: top right; border: none } .imagebrowse .imagecard > div { padding: 0 0 0 4px } .imagebrowse .imagecard > div svg { font-size: 11px } -.imagebrowse .imagecard > div svg .errorbar { stroke: $standout$; stroke-width: 2 } -.imagebrowse .imagecard > div svg .ruler { stroke: $border$; stroke-width: 1; stroke-dasharray: 3 } -.imagebrowse .imagecard > div svg rect { fill: $maintext$ } +.imagebrowse .imagecard > div svg .errorbar { stroke: $standout; stroke-width: 2 } +.imagebrowse .imagecard > div svg .ruler { stroke: $border; stroke-width: 1; stroke-dasharray: 3 } +.imagebrowse .imagecard > div svg rect { fill: $maintext } /****** Icons *******/ .icons { - background: url(/f/icons.png?$icons_version$) no-repeat; + background: url(/g/icons.png??#{$version}) no-repeat; width: 16px; height: 14px; margin: 0 2px 0 0; @@ -1242,7 +1248,7 @@ div.imagebrowse { padding: 0; display: flex; flex-wrap: wrap } abbr.icons, abbr.uicons { cursor: default; } a .icons { cursor: pointer } .icons.oth { background: none; } -$iconcss$ +@import 'data/icons/icons'; .release_icons { width: 16px; height: 16px; float: right; margin-left: 4px; } @@ -1251,11 +1257,11 @@ $iconcss$ .release_icon_voiced4, .release_icon_anim4 { filter: hue-rotate(80deg); } /* Relation graph colors */ -svg .border { fill: none; stroke: $border$ } -svg .edge polygon.border { fill: $border$ } -svg .nodebg { fill: $tabbg$; stroke: $tabbg$ } -svg text { fill: $maintext$ } +svg .border { fill: none; stroke: $border } +svg .edge polygon.border { fill: $border } +svg .nodebg { fill: $tabbg; stroke: $tabbg } +svg text { fill: $maintext } svg .edge text { font: 8px "Tahoma", "Arial", sans-serif } -#graph_current .border { stroke: $warnborder$ } -#graph_current .nodebg { stroke: $warnborder$; fill: $warnbg$ } +#graph_current .border { stroke: $warnborder } +#graph_current .nodebg { stroke: $warnborder; fill: $warnbg } diff --git a/lib/VNDB/Config.pm b/lib/VNDB/Config.pm index 8ed858f1..d360c258 100644 --- a/lib/VNDB/Config.pm +++ b/lib/VNDB/Config.pm @@ -17,7 +17,7 @@ my $config = { }, skin_default => 'angel', - placeholder_img => 'http://s.vndb.org/s/angel/bg.jpg', # Used in the og:image meta tag + placeholder_img => 'https://s.vndb.org/s/angel-bg.jpg', # Used in the og:image meta tag scrypt_args => [ 65536, 8, 1 ], # N, r, p scrypt_salt => 'another-random-string', form_salt => 'a-private-string-here', diff --git a/lib/VNDB/Skins.pm b/lib/VNDB/Skins.pm index a0716024..09df652f 100644 --- a/lib/VNDB/Skins.pm +++ b/lib/VNDB/Skins.pm @@ -11,18 +11,16 @@ my $skins; sub skins { $skins ||= do { +{ map { - my $skin = /\/([^\/]+)\/conf/ ? $1 : die; + my $skin = /\/([^\/]+)\.sass/ ? $1 : die; my %o; open my $F, '<:utf8', $_ or die $!; - while(<$F>) { - chomp; - s/\r//g; - s{[\t\s]*//.+$}{}; - next if !/^([a-z0-9]+)[\t\s]+(.+)$/; - $o{$1} = $2; + if(<$F> !~ qr{^// *userid: *([0-9]+) *name: *(.+)}) { + warn "Invalid skin: $skin\n"; + () + } else { + +( $skin, { userid => $1, name => $2 }) } - +( $skin, \%o ) - } glob "$ROOT/static/s/*/conf" } }; + } glob "$ROOT/css/skins/*.sass" } }; $skins; } diff --git a/lib/VNDB/Util/LayoutHTML.pm b/lib/VNDB/Util/LayoutHTML.pm index 8ff49af6..a9e0c05f 100644 --- a/lib/VNDB/Util/LayoutHTML.pm +++ b/lib/VNDB/Util/LayoutHTML.pm @@ -35,7 +35,7 @@ sub htmlFooter { # %options => { pref_code => 1 } # Abuse an empty noscript tag for the formcode to update a preference setting, if the page requires one. noscript id => 'pref_code', title => $self->authGetCode('/xml/prefs.xml'), '' if $o{pref_code} && $self->authInfo->{id}; - script type => 'text/javascript', src => config->{url_static}.'/f/vndb.js?'.config->{version}, ''; + script type => 'text/javascript', src => config->{url_static}.'/g/vndb.js?'.config->{version}, ''; VNWeb::HTML::_scripts_({}); end 'body'; end 'html'; diff --git a/lib/VNWeb/HTML.pm b/lib/VNWeb/HTML.pm index 32b59218..059a103c 100644 --- a/lib/VNWeb/HTML.pm +++ b/lib/VNWeb/HTML.pm @@ -164,7 +164,7 @@ sub _head_ { title_ $o->{title}.' | vndb'; base_ href => tuwf->reqURI(); link_ rel => 'shortcut icon', href => '/favicon.ico', type => 'image/x-icon'; - link_ rel => 'stylesheet', href => config->{url_static}.'/s/'.$skin.'/style.css?'.config->{version}, type => 'text/css', media => 'all'; + link_ rel => 'stylesheet', href => config->{url_static}.'/g/'.$skin.'.css?'.config->{version}, type => 'text/css', media => 'all'; link_ rel => 'search', type => 'application/opensearchdescription+xml', title => 'VNDB Visual Novel Search', href => tuwf->reqBaseURI().'/opensearch.xml'; style_ type => 'text/css', sub { lit_ _sanitize_css $customcss } if $customcss; if($o->{feeds}) { @@ -479,8 +479,8 @@ sub _scripts_ { # Escaping rules for a JSON <script> context are kinda weird, but more efficient than regular xml_escape(). lit_(JSON::XS->new->canonical->encode(tuwf->req->{pagevars}) =~ s{</}{<\\/}rg =~ s/<!--/<\\u0021--/rg); } if keys tuwf->req->{pagevars}->%*; - script_ type => 'application/javascript', src => config->{url_static}.'/f/elm.js?'.config->{version}, '' if tuwf->req->{pagevars}{elm}; - script_ type => 'application/javascript', src => config->{url_static}.'/f/plain.js?'.config->{version}, '' if tuwf->req->{js} || tuwf->req->{pagevars}{elm}; + script_ type => 'application/javascript', src => config->{url_static}.'/g/elm.js?'.config->{version}, '' if tuwf->req->{pagevars}{elm}; + script_ type => 'application/javascript', src => config->{url_static}.'/g/plain.js?'.config->{version}, '' if tuwf->req->{js} || tuwf->req->{pagevars}{elm}; } diff --git a/static/s/air/bg.jpg b/static/s/air-bg.jpg Binary files differindex 3957d3ba..3957d3ba 100644 --- a/static/s/air/bg.jpg +++ b/static/s/air-bg.jpg diff --git a/static/s/air/bgright.png b/static/s/air-right.png Binary files differindex 5cee5462..5cee5462 100644 --- a/static/s/air/bgright.png +++ b/static/s/air-right.png diff --git a/static/s/air/conf b/static/s/air/conf deleted file mode 100644 index 209d1c2b..00000000 --- a/static/s/air/conf +++ /dev/null @@ -1,32 +0,0 @@ -//////////////////////////////////////////////////////////////// -// 'AIR' skin for VNDB.org // -// Created by Yirba <yirba AT spiderlilytranslations DOT com> // -// Some portions (c)2000 Key/VisualArt's // -//////////////////////////////////////////////////////////////// - -name AIR (sky blue) -userid 13885 -maintext #222222 -grayedout #77a9dd -standout #bb1511 -link #226588 -statok #33ff38 -statnok #ff3833 -footer #226588 -maintitle #226588 -boxtitle #77a9dd -alttitle #000000 -bodybg #ffffff -tabbg #ddeeff -secbg #bed8f2 -secborder #5677cc -border #77a9dd -boxbg #ccddeebc -imglefttop bg.jpg -imgrighttop bgright.png -diffadd #aaccbc -diffdel #ccaabb -warnbg #ccaabb -warnborder #ff3833 -noticebg #aaccbc -noticeborder #33ff38 diff --git a/static/s/angel/bg-xmas.jpg b/static/s/angel-bg-xmas.jpg Binary files differindex 66604f8a..66604f8a 100644 --- a/static/s/angel/bg-xmas.jpg +++ b/static/s/angel-bg-xmas.jpg diff --git a/static/s/angel/bg.jpg b/static/s/angel-bg.jpg Binary files differindex f91e414e..f91e414e 100644 --- a/static/s/angel/bg.jpg +++ b/static/s/angel-bg.jpg diff --git a/static/s/angel/bgright.jpg b/static/s/angel-right.jpg Binary files differindex e1dff0cd..e1dff0cd 100644 --- a/static/s/angel/bgright.jpg +++ b/static/s/angel-right.jpg diff --git a/static/s/angel/conf b/static/s/angel/conf deleted file mode 100644 index f0317919..00000000 --- a/static/s/angel/conf +++ /dev/null @@ -1,37 +0,0 @@ -name Angelic Serenade (dark blue) -userid 2 - -// text -maintext #ddd // primary text color (also used for the menu links) -grayedout #37a // color used for grayed-out/non-important things -standout #e44 // color of 'stand-out' text -link #7bd // primary link color (not used for the menu links) -statok #0c0 // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #c00 // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #247 // text color of the footer - -// titles -maintitle #135 // text color of the site title, set to '0' to hide the main title -boxtitle #258 // box titles -alttitle #fff // alternative title - -// bg colors -bodybg #000 // main background color -tabbg #012 // background color of inactive tabs -secbg #0d2741 // secondary background color (used on input fields and table headers) -secborder #35A // secondary border color (used on input fields) -border #258 // primary border color -boxbg #071c30bc // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop bg.jpg -imgrighttop bgright.jpg - -// misc colors -diffadd #354 // background color of changes in the diff viewer -diffdel #534 -warnbg #534 // background color of a warning box -warnborder #c00 // ..border -noticebg #354 // notice box -noticeborder #0c0 // ...and border - diff --git a/static/s/aselia_01/bgright.jpg b/static/s/aselia_01-right.jpg Binary files differindex 8040e813..8040e813 100644 --- a/static/s/aselia_01/bgright.jpg +++ b/static/s/aselia_01-right.jpg diff --git a/static/s/aselia_01/conf b/static/s/aselia_01/conf deleted file mode 100644 index b07657c7..00000000 --- a/static/s/aselia_01/conf +++ /dev/null @@ -1,39 +0,0 @@ -name Eien no Aselia (falu red) -userid 51 - -// Eien no Aselia skin made using Minitokyo.Eien.no.Aselia.Scans_373967 -// created: 09/27/2009 by echomateria - -// text -maintext #ffffff // primary text color (also used for the menu links) -grayedout #eee388 // color used for grayed-out/non-important things -standout #e96e73 // color of 'stand-out' text -link #4a2b33 // primary link color (not used for the menu links) -statok #ffcbee // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #e96e73 // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #f4f1e6 // text color of the footer - -// titles -maintitle #fce5e5 // text color of the site title -boxtitle #f4e1b5 // box titles -alttitle #ed9f92 // alternative title - -// bg colors -bodybg #8a3c35 // main background color -tabbg #ac7595 // background color of inactive tabs -secbg #8a3c35 // secondary background color (used on input fields and table headers) -secborder #e86a76 // secondary border color (used on input fields) -border #f1c0b2 // primary border color -boxbg #ac759595 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop 0 -imgrighttop bgright.jpg - -// misc colors -diffadd #833d71 // background color of changes in the diff viewer -diffdel #6c3a55 -warnbg #6b3b51 // background color of a warning box -warnborder #e37192 // ..border -noticebg #cc8487 // notice box -noticeborder #975352 // ...and border diff --git a/static/s/carnevale/bgright.jpg b/static/s/carnevale-right.jpg Binary files differindex 570e882e..570e882e 100644 --- a/static/s/carnevale/bgright.jpg +++ b/static/s/carnevale-right.jpg diff --git a/static/s/carnevale/conf b/static/s/carnevale/conf deleted file mode 100644 index 84ba8940..00000000 --- a/static/s/carnevale/conf +++ /dev/null @@ -1,40 +0,0 @@ -name Gekkou no Carnevale (black) -userid 51 - -// Gekkou no Carnevale skin made using a wallpaper comes with the game -// created: 22/01/2009 by echomateria - -// text -maintext #b9c7ae // primary text color (also used for the menu links) -grayedout #cfdbc7 // color used for grayed-out/non-important things -standout #eff5f5 // color of 'stand-out' text -link #ffffff // primary link color (not used for the menu links) -statok #dab0fc //# // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #768b78 //# // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #b9c7ae // text color of the footer - -// titles -maintitle #b9c7ae // text color of the site title -boxtitle #c7d3bf // box titles -alttitle #6f8578 //# // alternative title - -// bg colors -bodybg #030708 // main background color -tabbg #1f272a // background color of inactive tabs -secbg #121622 // secondary background color (used on input fields and table headers) -secborder #ffffff // secondary border color (used on input fields) -border #b9c7ae // primary border color -boxbg #12162290 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop 0 -imgrighttop bgright.jpg - -// misc colors -diffadd #76a3b8 // background color of changes in the diff viewer -diffdel #354554 -warnbg #5d182b // background color of a warning box -warnborder #829076 // ..border -noticebg #263a45 // notice box -noticeborder #21343a // ...and border - diff --git a/static/s/eiel/bg.jpg b/static/s/eiel-bg.jpg Binary files differindex 03126d8a..03126d8a 100644 --- a/static/s/eiel/bg.jpg +++ b/static/s/eiel-bg.jpg diff --git a/static/s/eiel/conf b/static/s/eiel/conf deleted file mode 100644 index fd00320c..00000000 --- a/static/s/eiel/conf +++ /dev/null @@ -1,40 +0,0 @@ -name Jingai Makyo (peach-orange) -userid 51 - -// A skin made using an image I had for a long time without knowing it's source, -// thankfully this skin finally brought out the answer that it was from Jingai Makyo. -// created: 24/01/2009 by echomateria - -// text -maintext #f8cb8a // primary text color (also used for the menu links) -grayedout #f26a7e // color used for grayed-out/non-important things -standout #ff435f // color of 'stand-out' text -link #ffffff // primary link color (not used for the menu links) -statok #ffcbee //# // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #ff435f //# // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #362142 // text color of the footer - -// titles -maintitle #676082 // text color of the site title -boxtitle #ffcbee // box titles -alttitle #f26a7e //# // alternative title - -// bg colors -bodybg #fdd298 // main background color -tabbg #5a3a49 // background color of inactive tabs -secbg #584563 // secondary background color (used on input fields and table headers) -secborder #c42b5a // secondary border color (used on input fields) -border #362142 // primary border color -boxbg #36214299 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop bg.jpg - -// misc colors -diffadd #2bc88b // background color of changes in the diff viewer -diffdel #ca4a4d -warnbg #c42b5a // background color of a warning box -warnborder #f8cb8a // ..border -noticebg #b48ab2 // notice box -noticeborder #f8cb8a // ...and border - diff --git a/static/s/ever17_01/bgright.jpg b/static/s/ever17_01-right.jpg Binary files differindex 4ee43231..4ee43231 100644 --- a/static/s/ever17_01/bgright.jpg +++ b/static/s/ever17_01-right.jpg diff --git a/static/s/ever17_01/conf b/static/s/ever17_01/conf deleted file mode 100644 index e7c7ff1c..00000000 --- a/static/s/ever17_01/conf +++ /dev/null @@ -1,39 +0,0 @@ -name Ever17 (bondi blue) -userid 51 - -// Ever 17 skin made using the images from the extras section of the game -// created: 01/01/2009 by echomateria - -// text -maintext #3c363f // primary text color (also used for the menu links) -grayedout #785a5b // color used for grayed-out/non-important things -standout #966932 // color of 'stand-out' text -link #013f7a // primary link color (not used for the menu links) -statok #9c4b00 //#d87417 // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #eb0e4c // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #e2cfa6 // text color of the footer - -// titles -maintitle #f0a260 // text color of the site title -boxtitle #f0a260 // box titles -alttitle #ff9013 // alternative title - -// bg colors -bodybg #00879b // main background color -tabbg #81d5ea // background color of inactive tabs -secbg #bcd1e4 // secondary background color (used on input fields and table headers) -secborder #00627e // secondary border color (used on input fields) -border #016c80 // primary border color -boxbg #d1ebee77 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop 0 -imgrighttop bgright.jpg - -// misc colors -diffadd #f1a361 // background color of changes in the diff viewer -diffdel #9a7071 -warnbg #c43f5c // background color of a warning box -warnborder #951924 // ...border -noticebg #fefbf6 // notice box -noticeborder #f1a360 // ...and border diff --git a/static/s/fate_01/bg.jpg b/static/s/fate_01-bg.jpg Binary files differindex 275adea3..275adea3 100644 --- a/static/s/fate_01/bg.jpg +++ b/static/s/fate_01-bg.jpg diff --git a/static/s/fate_01/conf b/static/s/fate_01/conf deleted file mode 100644 index f749ed0e..00000000 --- a/static/s/fate_01/conf +++ /dev/null @@ -1,39 +0,0 @@ -name Fate/stay night (seal brown) -userid 51 - -// FSN skin skin made using a popular fanart -// created: 12/31/2008 by echomateria - -// text -maintext #ab928d // primary text color (also used for the menu links) -grayedout #916858 //#65483d // color used for grayed-out/non-important things -standout #72322b // color of 'stand-out' text -link #eee0da // primary link color (not used for the menu links) -statok #efdab9 // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #b07a6b // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #642924 // text color of the footer - -// titles -maintitle #200b0c // text color of the site title -boxtitle #d56243 // box titles -alttitle #d7926e // alternative title - -// bg colors -bodybg #200b0c // main background color -tabbg #130504 // background color of inactive tabs -secbg #7c362f // secondary background color (used on input fields and table headers) -secborder #33261d // secondary border color (used on input fields) -border #9e4a47 // primary border color -boxbg #4d3c3abc // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop bg.jpg - -// misc colors -diffadd #4d2c25 // background color of changes in the diff viewer -diffdel #6f5347 -warnbg #882f27 // background color of a warning box -warnborder #fbf1e0 // ..border -noticebg #882f27 // notice box -noticeborder #fbf1e0 // ...and border - diff --git a/static/s/fate_02/bg.jpg b/static/s/fate_02-bg.jpg Binary files differindex 83e30554..83e30554 100644 --- a/static/s/fate_02/bg.jpg +++ b/static/s/fate_02-bg.jpg diff --git a/static/s/fate_02/conf b/static/s/fate_02/conf deleted file mode 100644 index 0c0ddc96..00000000 --- a/static/s/fate_02/conf +++ /dev/null @@ -1,39 +0,0 @@ -name Fate/stay night (pale carmine) -userid 51 - -// FSN skin made using a popular fanart -// created: 01/01/2009 by echomateria - -// text -maintext #fcfbfb // primary text color (also used for the menu links) -grayedout #ff9d82 // color used for grayed-out/non-important things -standout #ffc98f // color of 'stand-out' text -link #48b2c1 // primary link color (not used for the menu links) -statok #ff7682 //#db6570 // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #9f72ff //#7330ff // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #fffed5 // text color of the footer - -// titles -maintitle #ffffff // text color of the site title -boxtitle #ffffff // box titles -alttitle #c4a9a7 //#7b6a69 // alternative title - -// bg colors -bodybg #ac4b47 // main background color -tabbg #723033 // background color of inactive tabs -secbg #792447 // secondary background color (used on input fields and table headers) -secborder #a68483 // secondary border color (used on input fields) -border #452d2c // primary border color -boxbg #c6093366 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop bg.jpg - -// misc colors -diffadd #3d3231 // background color of changes in the diff viewer -diffdel #01023f -warnbg #772446 // background color of a warning box -warnborder #35152d // ..border -noticebg #5c151f // notice box -noticeborder #460015 // ...and border - diff --git a/static/s/grey/bg.jpg b/static/s/grey-bg.jpg Binary files differindex 8d61ac55..8d61ac55 100644 --- a/static/s/grey/bg.jpg +++ b/static/s/grey-bg.jpg diff --git a/static/s/grey/bgright.jpg b/static/s/grey-right.jpg Binary files differindex c52499ea..c52499ea 100644 --- a/static/s/grey/bgright.jpg +++ b/static/s/grey-right.jpg diff --git a/static/s/grey/conf b/static/s/grey/conf deleted file mode 100644 index ef3ca505..00000000 --- a/static/s/grey/conf +++ /dev/null @@ -1,37 +0,0 @@ -name Touhou (grey) -userid 2 - -// text -maintext #222 -grayedout #666 -standout #500 -link #005 -statok #050 -statnok #500 -footer #999 - -// titles -maintitle #ccc -boxtitle #444 -alttitle #000 - -// bg colors -bodybg #fff -tabbg #ddd -secbg #ccc -secborder #000 -border #999 -boxbg #ddddddcc - -// images (0 = no image) -imglefttop bg.jpg -imgrighttop bgright.jpg - -// misc colors -diffadd #cfc -diffdel #fcc -warnbg #fcc -warnborder #c00 -noticebg #cfc -noticeborder #0c0 - diff --git a/static/s/higanbana/bg.jpg b/static/s/higanbana-bg.jpg Binary files differindex 1d02e802..1d02e802 100644 --- a/static/s/higanbana/bg.jpg +++ b/static/s/higanbana-bg.jpg diff --git a/static/s/higanbana/bgright.png b/static/s/higanbana-right.png Binary files differindex ee96f504..ee96f504 100644 --- a/static/s/higanbana/bgright.png +++ b/static/s/higanbana-right.png diff --git a/static/s/higanbana/conf b/static/s/higanbana/conf deleted file mode 100644 index d7ffb2f1..00000000 --- a/static/s/higanbana/conf +++ /dev/null @@ -1,32 +0,0 @@ -//////////////////////////////////////////////////////////////// -// 'Higanbana no Saku Yoru ni' skin for VNDB.org // -// Created by Yirba <yirba AT spiderlilytranslations DOT com> // -// Some portions (c)2011 Ryukishi07/07th Expansion // -//////////////////////////////////////////////////////////////// - -name Higanbana no Saku Yoru ni (maroon) -userid 13885 -maintext #ddd -grayedout #822 -standout #ec4 -link #d77 -statok #0c0 -statnok #c00 -footer #722 -maintitle #511 -boxtitle #822 -alttitle #fff -bodybg #000 -tabbg #200 -secbg #410d0d -secborder #a33 -border #822 -boxbg #331111bc -imglefttop bg.jpg -imgrighttop bgright.png -diffadd #354 -diffdel #534 -warnbg #534 -warnborder #c00 -noticebg #354 -noticeborder #0c0 diff --git a/static/s/higu/bg.jpg b/static/s/higu-bg.jpg Binary files differindex 9430acfb..9430acfb 100644 --- a/static/s/higu/bg.jpg +++ b/static/s/higu-bg.jpg diff --git a/static/s/higu/conf b/static/s/higu/conf deleted file mode 100644 index 9c860379..00000000 --- a/static/s/higu/conf +++ /dev/null @@ -1,39 +0,0 @@ -name Higurashi no Naku Koro ni (orange) -userid 51 - -// Higurashi no Naku Koro ni skin made using an image I found in MiniTokyo -// created: 22/01/2009 by echomateria - -// text -maintext #2c1a18 // primary text color (also used for the menu links) -grayedout #8c5b3b // color used for grayed-out/non-important things -standout #c24857 // color of 'stand-out' text -link #3c549c // primary link color (not used for the menu links) -statok #8c6290 //#735d8b // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #824e52 //#522e38 // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #2e2536 // text color of the footer - -// titles -maintitle #e5d3e1 // text color of the site title -boxtitle #1b1b51 // box titles -alttitle #35346d //#423a73 // alternative title - -// bg colors -bodybg #f89e7e // main background color -tabbg #9b8587 // background color of inactive tabs -secbg #f7c7bb // secondary background color (used on input fields and table headers) -secborder #3c549c // secondary border color (used on input fields) -border #2c1a18 // primary border color -boxbg #f7c7bb80 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop bg.jpg - -// misc colors -diffadd #c2bcc6 // background color of changes in the diff viewer -diffdel #8c5b3b -warnbg #ae6866 // background color of a warning box -warnborder #612028 // ..border -noticebg #9b8587 // notice box -noticeborder #dc9b7f // ...and border - diff --git a/static/s/lb/bg.jpg b/static/s/lb-bg.jpg Binary files differindex 7726f1b7..7726f1b7 100644 --- a/static/s/lb/bg.jpg +++ b/static/s/lb-bg.jpg diff --git a/static/s/lb/conf b/static/s/lb/conf deleted file mode 100644 index a1e317a0..00000000 --- a/static/s/lb/conf +++ /dev/null @@ -1,37 +0,0 @@ -name Little Busters! (pink) -userid 93 - -// text -maintext #408 -grayedout #670159 -standout #e44 -link #a2d -statok #0c0 -statnok #c00 -footer #f76ee2 - -// titles -maintitle #f78de7 -boxtitle #670159 -alttitle #5328a7 - -// bg colors -bodybg #fff -tabbg #f78de7 -secbg #f78de7 -secborder #670159 -border #f76ee2 -boxbg #f7b6edcc - -// images (0 = no image) -imglefttop bg.jpg -imgrighttop 0 - -// misc colors -diffadd #cfc -diffdel #fcc -warnbg #fff -warnborder #c00 -noticebg #f7b6ed -noticeborder #670159 - diff --git a/static/s/lb_02/bg.jpg b/static/s/lb_02-bg.jpg Binary files differindex 4db226b7..4db226b7 100644 --- a/static/s/lb_02/bg.jpg +++ b/static/s/lb_02-bg.jpg diff --git a/static/s/lb_02/conf b/static/s/lb_02/conf deleted file mode 100644 index e0fd96c2..00000000 --- a/static/s/lb_02/conf +++ /dev/null @@ -1,38 +0,0 @@ -name Little Busters! (lemon chiffon) -userid 51 - -// Little Busters! skin made using the Minitokyo.Little.Busters.Scans_316439 -// created: 09/27/2009 by echomateria - -// text -maintext #3c363f // primary text color (also used for the menu links) -grayedout #785a5b // color used for grayed-out/non-important things -standout #eb0e4c // color of 'stand-out' text -link #04529b // primary link color (not used for the menu links) -statok #d87417 // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #eb0e4c // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #eb0e4c // text color of the footer - -// titles -maintitle #fffeff // text color of the site title -boxtitle #ff9013 // box titles -alttitle #f0a260 // alternative title - -// bg colors -bodybg #fff4d4 // main background color -tabbg #9aa4d7 // background color of inactive tabs -secbg #bcd1e4 // secondary background color (used on input fields and table headers) -secborder #966932 // secondary border color (used on input fields) -border #016c80 // primary border color -boxbg #d1ebee99 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop bg.jpg - -// misc colors -diffadd #3689b5 // background color of changes in the diff viewer -diffdel #b7adc6 -warnbg #e97a9a // background color of a warning box -warnborder #f1a360 // ...border -noticebg #fefbf6 // notice box -noticeborder #951924 // ...and border diff --git a/static/s/primitive/bgright.jpg b/static/s/primitive-right.jpg Binary files differindex bc00f894..bc00f894 100644 --- a/static/s/primitive/bgright.jpg +++ b/static/s/primitive-right.jpg diff --git a/static/s/primitive/conf b/static/s/primitive/conf deleted file mode 100644 index 6f3b4b8f..00000000 --- a/static/s/primitive/conf +++ /dev/null @@ -1,40 +0,0 @@ -name Primitive Link (pale chestnut) -userid 51 - -// Primitive Link skin made using an image that I liked without knowing what it's based on for a long time -// created: 23/01/2009 by echomateria - -// text -maintext #f8eacd // primary text color (also used for the menu links) -grayedout #ff9d8a // color used for grayed-out/non-important things -standout #642a12 // color of 'stand-out' text -link #ffda63 // primary link color (not used for the menu links) -statok #edc176 // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #d63f21 // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #935a40 // text color of the footer - -// titles -maintitle #f8eacd // text color of the site title -boxtitle #f8eacd // box titles -alttitle #f19d20 // alternative title - -// bg colors -bodybg #ddac9b // main background color -tabbg #935a40 // background color of inactive tabs -secbg #be8f9f // secondary background color (used on input fields and table headers) -secborder #642a12 // secondary border color (used on input fields) -border #edc176 // primary border color -boxbg #935a4099 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop 0 -imgrighttop bgright.jpg - -// misc colors -diffadd #bd7f98 // background color of changes in the diff viewer -diffdel #c6562d -warnbg #7a3313 // background color of a warning box -warnborder #ff392a // ..border -noticebg #d4aab4 // notice box -noticeborder #edc176 // ...and border - diff --git a/static/s/saya/bgright.jpg b/static/s/saya-right.jpg Binary files differindex 92f40c5c..92f40c5c 100644 --- a/static/s/saya/bgright.jpg +++ b/static/s/saya-right.jpg diff --git a/static/s/saya/conf b/static/s/saya/conf deleted file mode 100644 index fd4408d7..00000000 --- a/static/s/saya/conf +++ /dev/null @@ -1,40 +0,0 @@ -name Saya no Uta (dark scarlet) -userid 51 - -// Saya no Uta skin made using a criminally cute fanart -// created: 22/01/2009 by echomateria - -// text -maintext #ffffff // primary text color (also used for the menu links) -grayedout #ecbc93 // color used for grayed-out/non-important things -standout #d75f25 // color of 'stand-out' text -link #ffcb3a // primary link color (not used for the menu links) -statok #a55a3d // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #281e14 // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #e07340 // text color of the footer - -// titles -maintitle #ebb48b // text color of the site title -boxtitle #de9670 // box titles -alttitle #ebb48b // alternative title - -// bg colors -bodybg #25010f // main background color -tabbg #575c51 // background color of inactive tabs -secbg #437f63 // secondary background color (used on input fields and table headers) -secborder #ffcb3a // secondary border color (used on input fields) -border #ebb48b // primary border color -boxbg #437f6388 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop 0 -imgrighttop bgright.jpg - -// misc colors -diffadd #f59731 // background color of changes in the diff viewer -diffdel #f2c5a3 -warnbg #d45628 // background color of a warning box -warnborder #fbab34 // ..border -noticebg #c5af88 // notice box -noticeborder #56714e // ...and border - diff --git a/static/s/seinarukana/bg.jpg b/static/s/seinarukana-bg.jpg Binary files differindex d49ec9a1..d49ec9a1 100644 --- a/static/s/seinarukana/bg.jpg +++ b/static/s/seinarukana-bg.jpg diff --git a/static/s/seinarukana/conf b/static/s/seinarukana/conf deleted file mode 100644 index 1a2a833d..00000000 --- a/static/s/seinarukana/conf +++ /dev/null @@ -1,38 +0,0 @@ -name Seinarukana (white) -userid 51 - -// Seinarukana skin made using a callendar image -// created: 12/31/2008 by echomateria - -// text -maintext #131838 // primary text color (also used for the menu links) -grayedout #fc8e77 //#fcdfd9 // color used for grayed-out/non-important things -standout #e93d71 //#a5e2f2 // color of 'stand-out' text -link #5a5fc7 //#9fa1c7 // primary link color (not used for the menu links) -statok #424d81 // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #a43462 // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #324978 // text color of the footer - -// titles -maintitle #99c9dd // text color of the site title -boxtitle #e93d71 // box titles -alttitle #983666 // alternative title - -// bg colors -bodybg #ffffff // main background color -tabbg #bfd2e3 // background color of inactive tabs -secbg #bcd1e4 // secondary background color (used on input fields and table headers) -secborder #7a88a5 // secondary border color (used on input fields) -border #324978 // primary border color -boxbg #fde9e688 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop bg.jpg - -// misc colors -diffadd #3689b5 // background color of changes in the diff viewer -diffdel #b7adc6 -warnbg #ee3970 // background color of a warning box -warnborder #451f4b // ...border -noticebg #fdf1e8 // notice box -noticeborder #d4aba2 // ...and border diff --git a/static/s/taka/bgright.jpg b/static/s/taka-right.jpg Binary files differindex e88e1876..e88e1876 100644 --- a/static/s/taka/bgright.jpg +++ b/static/s/taka-right.jpg diff --git a/static/s/taka/conf b/static/s/taka/conf deleted file mode 100644 index 37f0993e..00000000 --- a/static/s/taka/conf +++ /dev/null @@ -1,40 +0,0 @@ -name Sora no Iro, Mizu no Iro (turquoise) -userid 51 - -// A Sora no Iro, Mizu no Iro skin based on a wallpaper named My Perfect Day -// created: 23/01/2009 by echomateria - -// text -maintext #fefefc // primary text color (also used for the menu links) -grayedout #4b2427 // color used for grayed-out/non-important things -standout #ffaa88 // color of 'stand-out' text -link #f4d926 // primary link color (not used for the menu links) -statok #f8a022 //# // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #4b2427 //# // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #f6ffff // text color of the footer - -// titles -maintitle #f6ffff // text color of the site title -boxtitle #943048 // box titles -alttitle #a93f56 //# // alternative title - -// bg colors -bodybg #4bb3ae // main background color -tabbg #3c6d69 // background color of inactive tabs -secbg #48878c // secondary background color (used on input fields and table headers) -secborder #f4d926 // secondary border color (used on input fields) -border #48878c // primary border color -boxbg #48878c92 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop 0 -imgrighttop bgright.jpg - -// misc colors -diffadd #b2f68f // background color of changes in the diff viewer -diffdel #5ed8e5 -warnbg #008278 // background color of a warning box -warnborder #fcfefd // ..border -noticebg #5bdebe // notice box -noticeborder #a9fdc1 // ...and border - diff --git a/static/s/teal/conf b/static/s/teal/conf deleted file mode 100644 index 7f8f2ba5..00000000 --- a/static/s/teal/conf +++ /dev/null @@ -1,34 +0,0 @@ -// by sw1tchbl4d3 - -name Teal (teal) -userid 163596 - -maintext #ddd -grayedout #007070 -standout #e44 -link #00c9c9 -statok #0c0 -statnok #c00 -footer #004040 - -maintitle #003535 -boxtitle #007070 -alttitle #fff - -bodybg #000 -tabbg #001010 -secbg #003434 -secborder #008080 -border #007070 -boxbg #002525bc - -imglefttop 0 -imgrighttop 0 - -diffadd #354 -diffdel #534 -warnbg #534 -warnborder #c00 -noticebg #354 -noticeborder #0c0 - diff --git a/static/s/term/conf b/static/s/term/conf deleted file mode 100644 index d6fa1d52..00000000 --- a/static/s/term/conf +++ /dev/null @@ -1,37 +0,0 @@ -name Neon (black) -userid 93 - -// text -maintext #0f0 -grayedout #aaa -standout #f00 -link #ff0 -statok #0c0 -statnok #c00 -footer #fff - -// titles -maintitle #0f0 -boxtitle #0f0 -alttitle #0f0 - -// bg colors -bodybg #000 -tabbg #000 -secbg #000 -secborder #0f0 -border #fff -boxbg #000 - -// images (0 = no image) -imglefttop 0 -imgrighttop 0 - -// misc colors -diffadd #cfc -diffdel #fcc -warnbg #000 -warnborder #c00 -noticebg #000 -noticeborder #0f0 - diff --git a/static/s/tsukihime/bg.jpg b/static/s/tsukihime-bg.jpg Binary files differindex f1d62635..f1d62635 100644 --- a/static/s/tsukihime/bg.jpg +++ b/static/s/tsukihime-bg.jpg diff --git a/static/s/tsukihime/bgright.jpg b/static/s/tsukihime-right.jpg Binary files differindex db31821a..db31821a 100644 --- a/static/s/tsukihime/bgright.jpg +++ b/static/s/tsukihime-right.jpg diff --git a/static/s/tsukihime/conf b/static/s/tsukihime/conf deleted file mode 100644 index c44a063a..00000000 --- a/static/s/tsukihime/conf +++ /dev/null @@ -1,39 +0,0 @@ -name Tsukihime (midnight blue) -userid 51 - -// Tsukihime skin made using an image from the Tsukihime Plus+Disc -// created: 02/01/2009 by echomateria - -// text -maintext #ffffff // primary text color (also used for the menu links) -grayedout #abcdff // color used for grayed-out/non-important things -standout #ffffff // color of 'stand-out' text -link #0be0e9 // primary link color (not used for the menu links) -statok #55dfaa // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #e30b47 // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #0cacf3 // text color of the footer - -// titles -maintitle #a9bbfb // text color of the site title -boxtitle #e3ecff // box titles -alttitle #c6d7ff // alternative title - -// bg colors -bodybg #29345f // main background color -tabbg #5a3a63 // background color of inactive tabs -secbg #9b8494 // secondary background color (used on input fields and table headers) -secborder #605567 // secondary border color (used on input fields) -border #b791f3 // primary border color -boxbg #6a4668bb // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop bg.jpg -imgrighttop bgright.jpg - -// misc colors -diffadd #87705c // background color of changes in the diff viewer -diffdel #374d77 -warnbg #76a1cd // background color of a warning box -warnborder #decdcd // ...border -noticebg #b50439 // notice box -noticeborder #decdcd // ...and border diff --git a/static/s/tsukihime_02/bg.jpg b/static/s/tsukihime_02-bg.jpg Binary files differindex 5e5329f6..5e5329f6 100644 --- a/static/s/tsukihime_02/bg.jpg +++ b/static/s/tsukihime_02-bg.jpg diff --git a/static/s/tsukihime_02/conf b/static/s/tsukihime_02/conf deleted file mode 100644 index e9866c8d..00000000 --- a/static/s/tsukihime_02/conf +++ /dev/null @@ -1,39 +0,0 @@ -name Tsukihime (black) -userid 51 - -// Tsukihime skin made with an awesome Akiha artwork from Tsukihime PLUS disc -// created: 23/01/2009 by echomateria - -// text -maintext #fa4347 // primary text color (also used for the menu links) -grayedout #54459a // color used for grayed-out/non-important things -standout #fd3fa9 // color of 'stand-out' text -link #b768aa // primary link color (not used for the menu links) -statok #d79a7e //#fc3f46 // generic 'ok' text color (used for vnlist statuses & category browser) -statnok #412651 //#2e1340 // generoc 'not ok' text color (used for above, and as border for NSFW screenshots) -footer #fa4347 // text color of the footer - -// titles -maintitle #fa4347 // text color of the site title -boxtitle #d79a7e // box titles -alttitle #c17e61 //#a45548 // alternative title - -// bg colors -bodybg #000000 // main background color -tabbg #2e0106 // background color of inactive tabs -secbg #2e0106 // secondary background color (used on input fields and table headers) -secborder #b768aa // secondary border color (used on input fields) -border #000000 // primary border color -boxbg #35020990 // RGBA, background color of the boxes, stacked for menu box titles and odd row numers - -// images (0 = no image) -imglefttop bg.jpg - -// misc colors -diffadd #d79a7e // background color of changes in the diff viewer -diffdel #412651 -warnbg #46285a // background color of a warning box -warnborder #c0959f // ..border -noticebg #4f3246 // notice box -noticeborder #94769a // ...and border - diff --git a/util/jsgen.pl b/util/jsgen.pl index 84a5c8f1..a4023ff8 100755 --- a/util/jsgen.pl +++ b/util/jsgen.pl @@ -59,4 +59,4 @@ sub save { my $js = readjs; $js =~ s{/\*VARS\*/}{vars()}eg; -save "$ROOT/static/f/vndb.js", $js; +save "$ROOT/static/g/vndb.js", $js; diff --git a/util/skingen.pl b/util/skingen.pl deleted file mode 100755 index 2114b7fc..00000000 --- a/util/skingen.pl +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/perl - -use v5.12; -use warnings; -use Cwd 'abs_path'; - -our($ROOT, %S); -BEGIN { ($ROOT = abs_path $0) =~ s{/util/skingen\.pl$}{}; } - -use lib "$ROOT/lib"; -use VNDB::Skins; - - -my $iconcss = do { - open my $F, '<', "$ROOT/data/icons/icons.css" or die $!; - local $/=undef; - <$F>; -}; - - -sub imgsize { - open my $IMG, '<', $_[0] or die $!; - sysread $IMG, my $buf, 1024 or die $!; - $buf =~ /\xFF\xC0...(....)/s ? unpack('nn', $1) : $buf =~ /IHDR(.{8})/s ? unpack('NN', $1) : die; -} - - -sub rdcolor { - length $_[0] == 4 ? map hex($_)/15, $_[0] =~ /#(.)(.)(.)/ : #RGB - length $_[0] == 7 ? map hex($_)/255, $_[0] =~ /#(..)(..)(..)/ : #RRGGBB - length $_[0] == 9 ? map hex($_)/255, $_[0] =~ /#(..)(..)(..)(..)/ : #RRGGBBAA - die; -} - - -sub blend { - my($f, $b) = @_; - my @f = rdcolor $f; - my @b = rdcolor $b; - $f[3] //= 1; - sprintf '#%02x%02x%02x', - ($f[0] * $f[3] + $b[0] * (1 - $f[3]))*255, - ($f[1] * $f[3] + $b[1] * (1 - $f[3]))*255, - ($f[2] * $f[3] + $b[2] * (1 - $f[3]))*255; -} - -sub mtime($) { [stat("$ROOT/static$_[0]")]->[9] } - - -sub writeskin { # $name - my $name = shift; - my %o = skins->{$name}->%*; - $o{iconcss} = $iconcss; - - # get the right top image - if($o{imgrighttop}) { - my $path = "/s/$name/$o{imgrighttop}"; - my($h, $w) = imgsize "$ROOT/static$path"; - $o{_bgright} = sprintf 'background: url(%s?%s) no-repeat; width: %dpx; height: %dpx', $path, mtime $path, $w, $h; - } else { - $o{_bgright} = 'display: none'; - } - - # body background - if($o{imglefttop}) { - my $path = "/s/$name/$o{imglefttop}"; - $o{_bodybg} = sprintf 'background: %s url(%s?%s) no-repeat', $o{bodybg}, $path, mtime $path; - } else { - $o{_bodybg} = sprintf 'background-color: %s', $o{bodybg}; - } - - # boxbg blended with bodybg - $o{_blendbg} = blend $o{boxbg}, $o{bodybg}; - - # version - $o{icons_version} = mtime '/f/icons.png'; - - # write the CSS - open my $CSS, '<', "$ROOT/data/style.css" or die $!; - local $/=undef; - my $css = <$CSS>; - close $CSS; - - my $f = "$ROOT/static/s/$name/style.css"; - open my $SKIN, '>', "$f~" or die $!; - print $SKIN $css =~ s{\$([a-z_]+)\$}{$o{$1} // die "Unknown variable $1"}egr; - close $SKIN; - - rename "$f~", $f; -} - - -if(@ARGV) { - writeskin($_) for (@ARGV); -} else { - writeskin($_) for (keys skins->%*); -} - - diff --git a/util/spritegen.pl b/util/spritegen.pl index e88af5ce..c2644883 100755 --- a/util/spritegen.pl +++ b/util/spritegen.pl @@ -11,8 +11,8 @@ use lib "$ROOT/lib"; use VNDB::Config; my $path = "$ROOT/data/icons"; -my $icons = "$ROOT/static/f/icons.png"; -my $ticons = "$ROOT/static/f/icons~.png"; +my $icons = "$ROOT/static/g/icons.png"; +my $ticons = "$ROOT/static/g/icons~.png"; my $css = "$ROOT/data/icons/icons.css"; my @img = map { |