1
0
Fork 0
mirror of https://github.com/Eggbertx/gochan.git synced 2025-08-01 22:26:24 -07:00

Rewrite CSS as Sass (.scss) files for better organization/loading

This commit is contained in:
user.email 2018-11-25 14:16:22 -08:00
parent 0d36172570
commit a6d7e9f188
56 changed files with 1751 additions and 1511 deletions

View file

@ -20,4 +20,8 @@ http://gochan.org
### For developers (using Vagrant)
1. Install Vagrant and Virtualbox. Vagrant lets you create a virtual machine and run a custom setup/installation script to make installation easier and faster.
2. From the command line, cd into vagrant/ and run `vagrant up`
3. After it finishes installing the Ubuntu VM, follow the printed instructions.
3. After it finishes installing the Ubuntu VM, follow the printed instructions.
### Theme development
See `sass/README.md` for information on working with Sass and stylesheets.

120
html/css/burichan.css Normal file
View file

@ -0,0 +1,120 @@
h1#board-title {
font-family: serif !important;
font-size: 24pt;
color: #AF0A0F;
}
.postblock {
background: #9988EE;
}
div.file-info {
font-size: 12px;
font-family: sans-serif;
}
.postername {
font-size: 12px;
font-family: serif;
color: #117743;
font-weight: 800;
}
.reply, .thread-ddown-menu {
background: #D6DAF0;
}
.thread-ddown-menu {
border: 1px solid #9295a4;
}
#site-title {
font-family: sans-serif;
padding-top: 88px;
}
#site-slogan {
font-size: 9pt;
font-style: italic;
}
.tab {
background-color: #dfdffe;
border: 1px solid #9295a4;
}
#current-tab {
margin-top: 16px;
border-bottom: 0px;
}
#current-tab, div.section-title-block {
background-color: #bfc6e7;
}
.loginbox input {
height: 20%;
}
.manage-header {
background-color: #EEF2FF;
border-radius: 8px;
}
body {
font: sans-serif 12pt;
background: #EEF2FF;
margin: 8px;
}
a, a:visited {
color: #34345C;
text-decoration: none;
}
h1 {
margin: 0;
text-align: center;
}
h2 {
margin: 0px 0px 0px 0px;
font-size: 140%;
}
h2 a {
text-decoration: none;
color: #550;
}
h3 {
margin: 0px;
text-align: center;
font-size: medium;
}
h1, h2 {
font-family: Verdana, Tahoma, sans-serif;
}
h1, h2, h3 {
font-weight: bold;
color: #333;
}
div#topbar {
-moz-box-shadow: 3px 3px 5px 6px #555555;
-ms-box-shadow: 3px 3px 5px 6px #555555;
-webkit-box-shadow: 3px 3px 5px 6px #555555;
box-shadow: 3px 3px 5px 6px #555555;
height: 30px;
}
div#topbar, .topbar-item, .topbar-item:visited, .dropdown-button, .dropdown-menu, .dropdown-menu a {
background-color: #000A89;
color: #EEF2FF !important;
}
div#footer {
font-size: 8pt;
}

View file

@ -1,179 +0,0 @@
#main {
border-bottom:10px!important;
height:85%;
left:16%;
position:absolute;
top:90px;
width:auto;
}
#menu {
border:0;
height:100%;
left:0;
margin-left:5px;
padding:0;
position:absolute;
top:75px;
width:15%;
}
#site-title {
font-size:50px;
}
#site-slogan {
font-size:25px;
}
#top-pane {
height:75px;
left:0;
position:absolute;
text-align:center;
top:0;
width:100%;
}
#topmenu {
left:16%;
position:absolute;
top:76px;
}
#topmenu li {
background-color:#DFDFFE;
border:1px solid #9295a4;
border-left:none;
display:block;
float:left;
margin-top:-7px;
padding:3px 10px 2px;
}
#topmenu li.current {
background-color:#D6DAF0;
border-bottom:none;
margin-top:-8px;
padding-top:5px;
}
#topmenu li.first {
border-left:1px solid #9295a4;
}
.content {
margin-left:0!important;
padding-left:0!important;
text-align:justify;
}
.menu {
margin-top:1em;
text-align:center;
}
.newssub {
position:absolute;
}
.permalink {
display:block;
text-align:right;
}
.permalink a {
color:blue;
text-decoration:none;
}
.plus {
background:#c5c9e0;
border:1px solid #b4b8d0;
color:#000;
cursor:pointer;
float:right;
font-size:8px;
font-weight:400;
margin:0;
padding:1px 4px 2px;
}
.plus:hover {
background:#c5c9e0;
border:1px solid #c97;
}
a {
color:#34345C;
text-decoration:none;
}
body {
background:#EEF2FF;
color:#000;
font-family:sans-serif;
font-size:75%;
margin:8px;
width:90%;
}
body,html {
height:100%;
margin:0;
padding:0;
}
h1 {
color:#000;
font-size:150%;
margin:0;
text-align:center;
}
h1,h2 {
background:#D6DAF0;
text-align:left;
}
h1,h3,.menu {
font-family:Verdana,Tahoma,sans-serif;
}
h2 {
background:#D6DAF0;
font-size:100%;
margin:1em 0 0;
}
h2 a {
color:#550;
text-decoration:none;
}
h3 {
color:#800;
font-size:medium;
font-weight:400;
margin:0;
text-align:center;
}
li {
margin:0;
}
li a {
display:block;
width:100%;
}
ul.boardmenu li:hover,ul.modmenulink li:hover {
background:#C6DAF0;
}
ul.boardmenu,ul.modmenulink,div#topmenu ul {
list-style:none;
margin:0;
padding-left:0;
}

View file

@ -1,216 +0,0 @@
html, body {
font-size:12pt;
background:#EEF2FF;
color:#000000;
}
a {
background:inherit;
color:#34345C;
text-decoration:none;
font-family:sans-serif;
}
a:visited {
background:inherit;
color:#34345C;
text-decoration:none;
font-family:sans-serif;
}
a:hover {
color:#DD0000;
background:inherit;
font-family:sans-serif;
}
.filesize a {
/* text-decoration:underline; */
}
.filesize a:visited {
/* text-decoration:underline; */
}
#verytopbar {
background-color:#000A89;
color:#EEF2FF;
width:100%;
-moz-box-shadow: 3px 3px 5px 6px #555555;
-webkit-box-shadow: 3px 3px 5px 6px #555555;
box-shadow: 0px 3px 5px 6px #555555;
height: 30px;
}
#verytopbar a {
color:#EEF2FF;
}
#verytopbar a:visited {
color:#FAFAFA;
}
.adminbar, .navbar {
margin-top:4px;
margin-left:4px;
margin-right:4px;
}
.logo {
clear:both;
text-align:center;
background:inherit;
font-size:24pt;
color:#AF0A0F;
width:100%;
}
.replymode {
background:#0010E0;
color:#FFFFFF;
width:100%;
}
.catalogmode {
background:#0040E0;
color:#FFFFFF;
width:100%;
}
.postarea {
background:inherit;
}
.rules {
/*font-size:0.7em;*/
width: 468px;
font-size: 10px;
font-family: sans-serif;
}
.rules li {
margin-left: 1em;
/*text-indent: 0em;*/
}
.postblock {
background:#9988EE;
color:#000000;
font-weight:800;
}
.footer {
text-align:center;
font-size:10px;
font-family:sans-serif;
}
.passvalid {
background:#9988EE;
text-align:center;
width:100%;
color:#ffffff;
}
.dellist {
background:inherit;
text-align:center;
}
.delbuttons {
background:inherit;
text-align:center;
padding-bottom:4px;
}
.managehead {
background:#0F8FE1;
color:#000000;
font-family:sans-serif;
font-size:14px;
padding:0px;
}
.postlists {
background:#FFFFFF;
width:100%;
padding:0px;
color:#000000;
}
.row1 {
background:#9AD2F6;
font-family:sans-serif;
font-size:12px;
color:#000000;
}
.row2 {
background:#FFFFFF;
font-family:sans-serif;
font-size:12px;
color:#000000;
}
.unkfunc {
color:#789922;
}
.filesize {
font-size:12px;
font-family:sans-serif;
/* text-decoration:underline; */
/* padding-left:3em; */
}
.filetitle {
background:inherit;
font-size:18px;
font-family:serif;
color:#0F0C5D;
font-weight:800;
}
.postername {
background:inherit;
font-size:12px;
font-family:serif;
color:#117743;
font-weight:800;
}
.oldpost {
background:inherit;
font-size:18px;
font-family:serif;
color:#0F0C5D;
font-weight:800;
}
.omittedposts {
background:inherit;
font-size:18px;
font-family:serif;
color:#070707;
font-weight:800;
}
.reply {
background:#D6DAF0;
color:#000000;
font-family:serif;
}
.replyhl {
background: #D6BAD0;
color: #000000;
}
.doubledash {
vertical-align:top;
clear:both;
float:left;
}
.replytitle {
background:inherit;
font-size:18px;
font-family:serif;
color:#0F0C5D;
font-weight:800;
}
.commentpostername {
background:inherit;
font-size:12px;
font-family:serif;
color:#117743;
font-weight:800;
}
.thumbnailmsg {
background:inherit;
font-size:9px;
font-family:sans-serif;
color:#000000;
}
.watchedthreads {
background-color: #D6DAF0 !important;
border: 1px dotted #D6DAF0 !important;
border-top: 0px none !important;
z-index: 0;
}
.reflinkpreview {
background-color: #D6DAF0 !important;
}

View file

@ -1,107 +0,0 @@
body {
font-family: sans-serif;
font-size: small;
background: #EEF2FF;
color: #000;
margin: 0;
/*width: 90%;*/
}
#topmenu li {
display: block;
float: left;
border: 1px solid #9295a4;
padding-top: 3px;
padding-bottom: 2px;
padding-left: 10px;
padding-right: 10px;
border-left: none;
margin-top: -7px;
background-color: #DFDFFE;
}
#topmenu li.first {
border-left: 1px solid #9295a4;
}
#topmenu li.current {
margin-top: -8px;
padding-top: 5px;
border-bottom: none;
background-color: #D6DAF0;
}
div#loginbox {
width:200px;
height: 70px;
position: absolute;
left:50%;
top:50%;
margin-left: -100px;
margin-top: -35px;
padding-top:5px;
padding-bottom:5px;
text-align: center;
border: solid 1px;
}
div#loginbox input {
width:175px;
}
h2 {
margin-top: 0px;
margin-left: 0px;
background: #D6DAF0;
font-size: 140%;
padding-bottom: 2px;
border-bottom: 1px solid #CCC;
}
h2 a {
text-decoration: none;
color: #550;
}
h1, h2, h3, .menu {
font-family: "trebuchet ms", Verdana,Tahoma,sans-serif;
font-weight: bold;
color: #333;
}
h1 {
margin: 0px;
text-align: center;
}
h3 {
margin: 0px;
text-align: center;
font-size: medium;
}
.menu {
margin-top: 1em;
text-align: center;
}
.content {
margin-left: 3em;
text-align: justify;
padding-left: 4px;
}
.newssub {
position: absolute;
}
.permalink {
text-align: right;
display: block;
}
.permalink a {
color: blue;
text-decoration: none;
}

View file

@ -1,79 +0,0 @@
body {
margin: 8px;
}
a {
text-decoration: none;
color: #34345C;
}
h1, h2 {
background: #D6DAF0;
text-align: left;
}
h1 {
margin-top: 0px;
font-size: 150%;
color: #000;
}
h2 {
margin: 0;
font-size: 100%;
margin-top: 1em;
}
.plus {
float: right;
font-size: 8px;
font-weight: normal;
padding: 1px 4px 2px 4px;
margin: 0px 0px;
background: #c5c9e0;
color: #000;
border: 1px solid #b4b8d0;
cursor: pointer;
}
.plus:hover {
background: #c5c9e0;
border: 1px solid #c97;
}
ul.boardmenu {
list-style: none;
padding-left: 0px;
margin: 0px;
}
ul.modmenulink {
list-style: none;
padding-left: 0px;
margin: 0px;
}
div#topmenu ul{
list-style: none;
padding-left: 0px;
margin: 0px;
}
li {
margin: 0px;
}
ul.boardmenu li:hover {
background: #C6DAF0;
}
ul.modmenulink li:hover {
background: #C6DAF0;
}
li a {
display: block;
width: 100%;
}

481
html/css/global.css Normal file
View file

@ -0,0 +1,481 @@
#boardmenu-bottom {
margin-top: 16px;
}
#content {
margin-left: 0px;
padding-left: 0px;
}
#left-bottom-content {
float: left;
left: 0px;
}
a.anchor {
display: block;
position: relative;
top: -32px;
visibility: hidden;
}
div.catalog-thread {
width: 200px;
max-height: 250px;
display: inline-block;
position: relative;
vertical-align: top;
overflow: hidden;
text-align: center;
padding: 6px;
}
div.catalog-thread a {
clear: both;
}
table#pages {
margin-bottom: 8px;
margin-top: 4px;
border: 1px solid;
}
table#pages td {
border: 1px solid;
}
#postbox-area {
left: 0px;
width: 100%;
}
#report-delbox {
clear: both;
float: right;
line-height: 32px;
margin-top: 8px;
text-align: right;
}
#right-bottom-content {
float: right;
right: 0px;
}
#side-pane {
margin-right: 16px;
position: absolute;
top: 106px;
width: 15%;
}
#threadlinks-bottom {
clear: both;
float: right;
}
#threadlinks-top {
float: left;
position: absolute;
}
.thread-ddown-menu {
display: inline-block;
float: left;
margin-left: -4px;
margin-top: 8px;
padding: 4px;
position: absolute;
}
.thread-ddown-menu ul {
list-style: none;
padding-left: 0px;
margin-top: 0px;
margin-bottom: 0px;
}
.thread-ddown-menu li {
padding-left: 8px;
padding-right: 8px;
}
.reply {
margin-bottom: 4px;
padding: 4px 8px 4px 8px;
display: inline-block;
max-width: 100%;
}
.reply-container {
width: 100%;
}
.postblock {
margin-left: 8px;
margin-right: 8px;
width: 100px;
}
.post-text {
padding: 8px;
}
.setting-name {
width: 50%;
}
.setting-value {
text-align: right;
width: 50%;
}
.spoiler {
background-color: #000;
color: #000;
}
.spoiler:hover {
color: #FFF;
}
.subject {
font-weight: 700;
}
.thread {
vertical-align: top;
overflow: hidden;
width: 100%;
}
.op-post {
width: 100%;
}
a.permalink, #right-sidelinks {
float: right;
}
hr {
clear: both;
}
a.upload-container {
outline: none;
}
.upload {
float: left;
max-width: 100%;
margin: 5px 10px 10px 0px;
}
ul.staffmenu {
list-style: none;
margin: 0px;
padding-left: 0;
}
div.file-deleted-box {
width: 120px;
height: 120px;
border-style: dashed;
vertical-align: middle;
text-align: center;
line-height: 120px;
float: left;
margin: 4px 8px;
border-width: 2px;
}
input[type=file] {
max-width: 275px;
width: 275px;
}
table#postbox-static {
border: none;
margin: 0px auto;
}
table#postbox-static tr, table#postbox-static td {
border: none;
}
.greentext {
color: #789922;
}
div.page {
float: left;
width: 75%;
margin-left: 8px;
overflow-y: hidden;
}
div.section-block {
margin-bottom: 8px;
}
div.section-block div.section-title-block {
display: block;
padding: 4px 8px 4px 8px;
}
div.section-block div.section-body {
overflow-y: hidden;
margin-right: 0px;
margin-bottom: 8px;
min-height: 48px;
padding-bottom: 8px;
padding-left: 8px;
padding-right: 8px;
}
#side-pane {
position: absolute;
top: 106px;
width: 15%;
margin-right: 16px;
}
div#top-pane {
text-align: center;
margin-top: 32px;
width: 100%;
}
div#top-pane span#site-title {
font-size: 50px;
}
#tab-bar {
margin-bottom: 0px;
margin-top: 2px;
margin-left: -24px;
}
#tab-bar .tab {
display: inline;
padding: 0px 8px 0px 8px;
}
div#recent-posts {
width: 22%;
float: right;
margin-right: 8px;
display: inline-block;
}
div#recent-posts img {
float: left;
padding-right: 8px;
}
div#recent-posts div.section-body {
padding-top: 8px;
}
div#main {
overflow: hidden;
}
a.permalink {
float: right;
}
.loginbox {
width: 300px;
height: 120px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -150px;
margin-top: -60px;
padding-top: 5px;
padding-bottom: 5px;
text-align: center;
border: solid 1px;
}
.loginbox input {
width: 175px;
height: 30%;
}
.menu {
margin-top: 1em;
}
h1, h2 {
padding-left: 4px;
padding-right: 4px;
}
table#board-options, table#board-options *,
table#config, table#config td, table#config th {
border: solid 1px;
}
input.config-text {
-moz-box-sizing: border-box;
box-sizing: border-box;
display: block;
padding: 4px;
width: 100%;
height: 100%;
}
.warning, div.config-status {
color: red;
font-weight: bold;
}
.lightbox {
background-color: #CDCDCD;
border: 1px solid #000;
bottom: 5%;
color: #000;
left: 20%;
padding: 16px;
position: fixed;
right: 20%;
top: 5%;
z-index: 9001;
overflow: auto;
display: hidden;
}
.lightbox * {
box-shadow: 0px 0px 0px 0px #000000;
color: #000000;
}
.lightbox-bg {
background-attachment: fixed;
background-color: #333;
height: 100%;
left: 0;
opacity: 0.5;
position: fixed;
top: 0;
width: 100%;
z-index: 9000;
}
.lightbox-footer {
bottom: 5%;
clear: both;
left: 16px;
position: absolute;
right: 16px;
text-align: center;
}
.lightbox-title {
font-size: 42px;
font-weight: 700;
text-align: center;
}
.lightbox-x {
color: #000000 !important;
float: right;
z-index: 90002;
}
.lightbox-x:hover {
color: #555555 !important;
}
.lightbox a {
color: #5A5A5A;
font-weight: bold;
}
.lightbox input[type=text], .lightbox input[type=password], .lightbox input[type=file], .lightbox textarea {
background-color: #FFFFFF;
border: 1px solid #000000;
color: #000000;
}
.lightbox textarea#sql-statement {
width: 95%;
height: 300px;
margin-left: 0px;
clear: both;
background-color: #FFFFFF;
color: #000000;
}
.lightbox div.section-body {
background-color: #A0A0A0;
}
.lightbox div.section-title-block {
border: 1px solid #000000;
border-radius: 0px;
background-color: #777777;
box-shadow: 0px 0px 0px 0px #000000 !important;
}
header {
margin-top: 50px;
text-align: center;
}
header h1 {
font-size: 30px;
margin: 0px;
}
div#topbar {
left: 0;
position: fixed;
top: 0;
width: 100%;
z-index: 2;
margin-top: 0px;
padding-left: 8px;
padding-right: 4px;
}
div#topbar a.topbar-item {
display: inline-block;
padding: 4px;
}
div#topbar a.dropdown-button {
padding: 4px 8px;
float: right;
}
div.dropdown-menu {
position: fixed;
min-width: 300px;
min-height: 100px;
top: 24px;
right: 0px;
z-index: 8999;
padding: 4px 8px 4px 8px;
}
div.dropdown-menu ul.staffmenu {
list-style: none;
margin: 0px;
padding-left: 0;
}
div.section-block {
margin-bottom: 8px;
}
div.section-block div.section-title-block {
display: block;
padding: 4px 8px 4px 8px;
}
div.section-block div.section-body {
overflow-y: hidden;
margin-right: 0px;
margin-bottom: 8px;
min-height: 48px;
padding: 8px;
}
#footer {
bottom: 0px;
clear: both;
left: 0px;
position: static;
text-align: center;
width: 100%;
}

View file

@ -1,148 +0,0 @@
#footer {
clear:both;
display: block;
width: 100%;
text-align: center;
bottom: 0px;
overflow: hidden;
}
.page {
float: left;
width: 75%;
margin-left: 8px;
overflow-y: hidden;
}
#menu {
position:absolute;
}
#side-pane {
position:absolute;
top: 106px;
width:15%;
margin-right: 16px;
}
#site-title {
font-size:50px;
text-align: center;
}
#tab-bar {
margin-left: 16px;
}
div#topbar {
left:0;
position:fixed;
top:0;
width:100%;
z-index:2;
margin-top:0px;
padding-left:8px;
padding-right:80px;
}
.topbar-item {
display: inline-block;
padding: 4px;
}
.dropdown-menu {
position: fixed;
min-width: 300px;
min-height: 100px;
top: 24px;
right: 0px;
z-index:8999;
padding: 4px 8px 4px 8px;
}
.topbar-dropdowns{
overflow: hidden;
float: right;
}
.dropdown-button {
display: inline;
padding: 4px;
padding-right: 8px;
float: right;
}
.plus {
width: 12px;
text-align: center;
float:right;
padding: 0px 4px 0px 4px;
}
.tab {
padding-right: 5px;
padding-left: 5px;
display: inline;
}
.section-body {
overflow-y: hidden;
margin-right: 0px;
margin-bottom:8px;
min-height: 48px;
padding-bottom:8px;
padding-left:8px;
padding-right:8px;
}
.section-block {
margin-bottom: 8px;
}
#top-pane {
text-align:center;
margin-top:32px;
width:100%;
z-index: 1;
}
#recent-posts {
width:22%;
float: right;
margin-right: 8px;
display: inline-block;
}
#recent-posts img {
float: left;
padding-right: 8px;
}
#recent-posts .section-body {
padding-top: 8px;
}
.section-title-block {
display:block;
padding:4px 8px 4px 8px;
}
#main {
overflow: hidden
}
a.permalink {
float: right;
}
ul.staffmenu {
list-style:none;
margin:0px;
padding-left:0;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

217
html/css/leetchan.css Normal file
View file

@ -0,0 +1,217 @@
@import url(http://fonts.googleapis.com/css?family=Walter+Turncoat);
#site-title {
color: #ff0;
font-size: 50px;
}
#top-pane {
height: 75px;
left: 0;
position: absolute;
text-align: center;
top: 0;
width: 100%;
}
#topmenu {
left: 16%;
position: absolute;
top: 76px;
}
#topmenu li {
background-color: #F0E0D6;
border: 1px solid #9295a4;
border-left: none;
color: maroon;
display: block;
float: left;
margin-top: -7px;
padding: 3px 10px 2px;
}
#topmenu li.current {
background-color: #d0c0c6;
border-bottom: none;
margin-top: -8px;
padding-top: 5px;
}
#topmenu li.first {
border-left: 1px solid #F0E0D6;
}
.content {
margin-left: 0 !important;
padding-left: 0 !important;
text-align: justify;
}
.newssub {
background-color: #D0C0C6;
position: absolute;
}
.permalink {
display: block;
text-align: right;
}
.permalink a {
color: blue;
text-decoration: none;
}
ul.boardmenu li:hover, ul.modmenulink li:hover {
background: #C6DAF0;
}
ul.boardmenu, ul.modmenulink, div#topmenu ul {
list-style: none;
margin: 0;
padding-left: 0;
}
.file-info {
background: inherit;
color: #CC1105;
font-weight: 800;
}
#board-title {
color: maroon;
font-size: 2em;
text-align: center;
}
.manage-header {
background: #AA6;
color: #400000;
padding: 0;
}
.omittedposts {
color: #707070;
}
.passvalid {
background: #000;
color: #fff;
text-align: center;
width: 100%;
}
.postblock {
background: #000;
color: #fff;
font-weight: 800;
}
.postername {
color: #117743;
font-weight: 700;
}
.postertrip {
color: #228854;
}
.postlists {
background: #FFF;
color: maroon;
padding: 0;
width: 100%;
}
.reply {
background: #F0E0D6;
color: maroon;
}
.replytitle {
color: #CC1105;
font-size: 1.2em;
font-weight: 800;
}
.theader {
background: #E04000;
color: #FFF;
padding: 2px;
text-align: center;
width: 100%;
}
.file-deleted-box {
color: maroon;
font-size: small;
}
.greentext {
background: inert;
color: #789922;
}
a:hover {
color: #D00;
}
body {
margin: 0;
padding: 0;
background: #135;
color: #fff;
font-family: "comic sans ms", "Walter Turncoat", cursive;
}
h1 {
color: #000;
font-size: 150%;
margin: 0;
}
h1, h2 {
color: white;
}
h1, h3, .menu {
font-family: Verdana, Tahoma, sans-serif;
}
h2 {
font-size: 100%;
margin: 1em 0 0;
}
h2 a {
color: #550;
text-decoration: none;
}
h3 {
color: #800;
font-size: medium;
font-weight: 400;
margin: 0;
text-align: center;
}
a {
color: #ff0;
text-decoration: none;
}
li {
margin: 0;
}
li a {
display: block;
width: 100%;
}
.footer {
font-family: serif;
font-size: 12px;
text-align: center;
}

View file

@ -1,183 +0,0 @@
@import url(http://fonts.googleapis.com/css?family=Walter+Turncoat);
#main {
border-bottom:10px!important;
height:85%;
left:16%;
position:absolute;
top:90px;
width:auto;
}
#menu {
border:0;
height:100%;
left:0;
margin-left:5px;
padding:0;
position:absolute;
top:75px;
width:15%;
}
#site-title {
color: #ff0;
font-size: 50px;
}
#top-pane {
height:75px;
left:0;
position:absolute;
text-align:center;
top:0;
width:100%;
}
#topmenu {
left:16%;
position:absolute;
top:76px;
}
#topmenu li {
background-color: #F0E0D6;
border:1px solid #9295a4;
border-left:none;
color: maroon;
display:block;
float:left;
margin-top:-7px;
padding:3px 10px 2px;
}
#topmenu li.current {
background-color:#d0c0c6;
border-bottom:none;
margin-top:-8px;
padding-top:5px;
}
#topmenu li.first {
border-left:1px solid #F0E0D6;
}
.content {
margin-left:0!important;
padding-left:0!important;
text-align:justify;
}
.menu {
margin-top:1em;
text-align:center;
}
.newssub {
background-color:#D0C0C6;
position:absolute;
}
.permalink {
display:block;
text-align:right;
}
.permalink a {
color:blue;
text-decoration:none;
}
.plus {
background:#c5c9e0;
border:1px solid #b4b8d0;
color:#000;
cursor:pointer;
float:right;
font-size:8px;
font-weight:400;
margin:0;
padding:1px 4px 2px;
}
.plus:hover {
background:#c5c9e0;
border:1px solid #c97;
}
a {
color:#ff0;
text-decoration:none;
}
body {
background:#EEF2FF;
color:#000;
font-family:sans-serif;
font-size:75%;
margin:8px;
width:90%;
}
body,html {
margin:0;
padding:0;
background: #135;
color: #fff;
font-family: "comic sans ms","Walter Turncoat",cursive;
}
h1 {
color:#000;
font-size:150%;
margin:0;
text-align:center;
}
h1,h2 {
background:#D6DAF0;
text-align:left;
}
h1,h3,.menu {
font-family:Verdana,Tahoma,sans-serif;
}
h2 {
background:#D6DAF0;
font-size:100%;
margin:1em 0 0;
}
h2 a {
color:#550;
text-decoration:none;
}
h3 {
color:#800;
font-size:medium;
font-weight:400;
margin:0;
text-align:center;
}
li {
margin:0;
}
li a {
display:block;
width:100%;
}
ul.boardmenu li:hover,ul.modmenulink li:hover {
background:#C6DAF0;
}
ul.boardmenu,ul.modmenulink,div#topmenu ul {
list-style:none;
margin:0;
padding-left:0;
}

View file

@ -1,160 +0,0 @@
@import url(http://fonts.googleapis.com/css?family=Walter+Turncoat);
.adminbar {
clear: both;
float: right;
text-align: right;
}
.commentpostername {
color: #117743;
font-weight: 800;
}
.delbuttons {
padding-bottom: 4px;
text-align: center;
}
.dellist {
font-weight: 700;
text-align: center;
}
.doubledash {
clear: both;
float: left;
vertical-align: top;
}
.filesize {
text-decoration: none;
}
.filetitle {
background: inherit;
color: #CC1105;
font-size: 1.2em;
font-weight: 800;
}
.footer {
font-family: serif;
font-size: 12px;
text-align: center;
}
.highlight {
background: #F0E0D6;
border: 2px dashed #EA8;
color: maroon;
}
.logo {
clear: both;
color: maroon;
font-size: 2em;
text-align: center;
width: 100%;
}
.managehead {
background: #AA6;
color: #400000;
padding: 0;
}
.oldpost {
color: #CC1105;
font-weight: 800;
}
.omittedposts,.abbrev {
color: #707070;
}
.passvalid {
background: #000;
color: #fff;
text-align: center;
width: 100%;
}
.postblock {
background: #000;
color: #fff;
font-weight: 800;
}
.postername {
color: #117743;
font-weight: 700;
}
.postertrip {
color: #228854;
}
.postlists {
background: #FFF;
color: maroon;
padding: 0;
width: 100%;
}
.reply {
background: #F0E0D6;
color: maroon;
}
.replytitle {
color: #CC1105;
font-size: 1.2em;
font-weight: 800;
}
.row1 {
background: #1a1a1a;
color: #fff;
}
.row2 {
background: #2a2a2a;
color: #fff;
}
.rules {
font-size: .7em;
}
.theader {
background: #E04000;
color: #FFF;
padding: 2px;
text-align: center;
width: 100%;
}
.thumbnailmsg {
color: maroon;
font-size: small;
}
.unkfunc {
background: inert;
color: #789922;
}
a {
color: #ff0;
}
a:hover {
color: #D00;
}
html,body {
background: #135;
color: #fff;
font-family: "comic sans ms","Walter Turncoat",cursive;
}

171
html/css/pipes.css Normal file
View file

@ -0,0 +1,171 @@
.dropdown-button:hover {
background-color: #404040;
}
.dropdown-menu {
background-color: #202020;
box-shadow: 2px 2px 2px 3px #101010;
z-index: 0;
}
.section-body {
background-color: #606060;
}
.section-title-block {
background-color: #202020;
border-radius: 4px 8px 4px 8px;
}
.tab {
background-color: #404040 !important;
border: 1px solid #202020;
}
#current-tab {
background-color: #202020 !important;
}
div#recent-posts-header {
-moz-box-shadow: 0px 2px 2px 3px #101010;
-ms-box-shadow: 0px 2px 2px 3px #101010;
-webkit-box-shadow: 0px 2px 2px 3px #101010;
box-shadow: 0px 2px 2px 3px #101010;
margin-bottom: 8px;
padding: 4px 8px 4px 8px;
}
.postblock {
background-color: #202020;
font-weight: 700;
}
.loginbox input {
height: 20%;
}
.manage-header {
background-color: #202020;
-moz-box-shadow: 2px 2px 3px 4px #101010;
-ms-box-shadow: 2px 2px 3px 4px #101010;
-webkit-box-shadow: 2px 2px 3px 4px #101010;
box-shadow: 2px 2px 3px 4px #101010;
border-radius: 8px;
}
.dropdown-button:hover {
background-color: #404040;
}
.dropdown-menu {
background-color: #202020;
-moz-box-shadow: 2px 2px 2px 3px #101010;
-ms-box-shadow: 2px 2px 2px 3px #101010;
-webkit-box-shadow: 2px 2px 2px 3px #101010;
box-shadow: 2px 2px 2px 3px #101010;
z-index: 0;
}
ul.staffmenu li:hover {
background: #404040;
}
img.thumbnail {
float: left;
max-width: 100%;
margin: 5px 10px 10px 0px;
}
.reply {
background-color: #25272D;
border: 1px solid #8C94AB;
}
.postblock {
background-color: #25272D;
font-weight: 700;
}
.postername {
color: #FC0;
font-weight: 700;
}
.postername a {
color: #ffcc00 !important;
text-decoration: underline;
}
.subject {
color: #F90;
}
.thread-ddown a {
font-size: 75%;
vertical-align: middle;
}
.tripcode {
color: #FC0;
}
form#postform input[type=text], form#postform input[type=password], form#postform input[type=file], form#postform textarea, form#postform .thread-ddown-menu {
background-color: #25272D;
border: 1px solid #8C94AB;
color: #FFF;
}
.thread-ddown-menu, input#reason, input#password {
background-color: #25272D;
border: 1px solid #8C94AB;
color: #FFF;
}
.thread-ddown-menu li:hover {
background-color: #404040;
}
* {
outline: none;
}
body {
background-image: url(res/pipes_bg.png);
color: #d8d0b9;
font: 12pt sans-serif;
}
header h1, span#site-title {
color: #e1b400;
}
a {
color: #f90;
font: 12pt sans-serif;
text-decoration: none;
}
a:hover {
background: inherit;
color: #ffd43f;
}
a.topbar-item:hover {
background-color: #404040;
}
div#footer, div#footer * {
font-size: 9pt;
}
div#topbar {
background-color: #202020;
-moz-box-shadow: 0px 2px 2px 3px #101010;
-ms-box-shadow: 0px 2px 2px 3px #101010;
-webkit-box-shadow: 0px 2px 2px 3px #101010;
box-shadow: 0px 2px 2px 3px #101010;
z-index: 9001;
}
div#topbar li:hover {
background-color: #404040;
}

View file

@ -1,81 +0,0 @@
/* imported by individual sass pre-compiled css files */
* {
outline: none; }
#footer {
font-size: 12px; }
#topbar {
background-color: #202020;
box-shadow: 0px 2px 2px 3px #101010;
z-index: 9001; }
#topbar li:hover {
background-color: #404040; }
#footer {
font-size: 12px; }
#site-title {
color: #e1b400; }
#topbar {
background-color: #202020;
box-shadow: 2px 2px 2px 3px #101010; }
.topbar-item:hover {
background-color: #404040; }
.dropdown-button:hover {
background-color: #404040; }
.dropdown-menu {
background-color: #202020;
box-shadow: 2px 2px 2px 3px #101010;
z-index: 0; }
a {
color: #f90;
font-family: sans-serif;
text-decoration: none; }
a:hover {
background: inherit;
color: #ffd43f;
font-family: sans-serif; }
body {
background-image: url(images/pipes_bg.png);
color: #d8d0b9;
font-family: sans-serif;
font-size: 12pt; }
ul.staffmenu li:hover {
background: #404040; }
#site-title {
color: #e1b400; }
.section-body {
background-color: #606060; }
.section-title-block {
background-color: #202020;
border-radius: 8px 8px 0px 0px; }
.tab {
background-color: #404040;
border: 1px solid #202020;
text-align: center; }
#current-tab {
background-color: #202020; }
div#recent-posts-header {
box-shadow: 0px 2px 2px 3px #101010;
border-radius: 8px 8px 8px 8px;
margin-bottom: 8px; }
.postblock {
background-color: #202020;
font-weight: 700; }

View file

@ -1,105 +0,0 @@
/* imported by individual sass pre-compiled css files */
* {
outline: none; }
#footer {
font-size: 12px; }
#topbar {
background-color: #202020;
box-shadow: 0px 2px 2px 3px #101010;
z-index: 9001; }
#topbar li:hover {
background-color: #404040; }
#footer {
font-size: 12px; }
#site-title {
color: #e1b400; }
#topbar {
background-color: #202020;
box-shadow: 2px 2px 2px 3px #101010; }
.topbar-item:hover {
background-color: #404040; }
.dropdown-button:hover {
background-color: #404040; }
.dropdown-menu {
background-color: #202020;
box-shadow: 2px 2px 2px 3px #101010;
z-index: 0; }
a {
color: #f90;
font-family: sans-serif;
text-decoration: none; }
a:hover {
background: inherit;
color: #ffd43f;
font-family: sans-serif; }
body {
background-image: url(images/pipes_bg.png);
color: #d8d0b9;
font-family: sans-serif;
font-size: 12pt; }
ul.staffmenu li:hover {
background: #404040; }
header h1 {
color: #e1b400; }
img.thumbnail {
float: left;
max-width: 100%;
margin: 5px 10px 10px 0px; }
.menu {
margin-top: 1em;
text-align: center; }
.reply {
background-color: #25272D;
border: 1px solid #8C94AB; }
.postblock {
background-color: #25272D;
font-weight: 700; }
.postername {
color: #FC0;
font-weight: 700; }
.postername a {
color: #ffcc00 !important;
text-decoration: underline; }
.subject {
color: #F90; }
.tab {
background-color: #202020;
border: 1px solid #424242;
text-align: center; }
.thread-ddown a {
font-size: 75%;
vertical-align: middle; }
.tripcode {
color: #FC0; }
input[type=text], input[type=password], input[type=file], textarea, .thread-ddown-menu {
background-color: #25272D;
border: 1px solid #8C94AB;
color: #FFF; }
.thread-ddown-menu li:hover {
background-color: #404040; }

View file

@ -1,74 +0,0 @@
/* imported by individual sass pre-compiled css files */
* {
outline: none; }
#footer {
font-size: 12px; }
#topbar {
background-color: #202020;
box-shadow: 0px 2px 2px 3px #101010;
z-index: 9001; }
#topbar li:hover {
background-color: #404040; }
#footer {
font-size: 12px; }
#site-title {
color: #e1b400; }
#topbar {
background-color: #202020;
box-shadow: 2px 2px 2px 3px #101010; }
.topbar-item:hover {
background-color: #404040; }
.dropdown-button:hover {
background-color: #404040; }
.dropdown-menu {
background-color: #202020;
box-shadow: 2px 2px 2px 3px #101010;
z-index: 0; }
a {
color: #f90;
font-family: sans-serif;
text-decoration: none; }
a:hover {
background: inherit;
color: #ffd43f;
font-family: sans-serif; }
body {
background-image: url(images/pipes_bg.png);
color: #d8d0b9;
font-family: sans-serif;
font-size: 12pt; }
ul.staffmenu li:hover {
background: #404040; }
.section-body {
background-color: #606060; }
.section-title-block {
background-color: #202020;
border-radius: 4px 4px 0px 0px; }
.loginbox input {
height: 20%; }
.menu {
text-align: center; }
h1, h2 {
background-color: #202020;
-moz-box-shadow: 2px 2px 3px 4px #101010;
-webkit-box-shadow: 2px 2px 3px 4px #101010;
box-shadow: 0 2px 2px 3px #101010;
border-radius: 8px; }

View file

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 859 B

After

Width:  |  Height:  |  Size: 859 B

Before After
Before After

View file

@ -7,6 +7,6 @@
<h1>404: File not found</h1>
<img src="/error/lol 404.gif" border="0" alt="">
<p>The requested file could not be found on this server. Are you just typing random stuff in the address bar? If you followed a link from this site here, then post <a href="/site">here</a></p>
<hr><address>http://gochan.org powered by Gochan v2.2.0</address>
<hr><address>http://gochan.org powered by Gochan v2.3</address>
</body>
</html>

View file

@ -7,6 +7,6 @@
<h1>500: Internal Server error</h1>
<img src="/error/derpy server.gif" border="0" alt="">
<p>The server encountered an error while trying to serve the page, and we apologize for the inconvenience. The <a href="https://en.wikipedia.org/wiki/Idiot">system administrator</a> will try to fix things as soon has he/she/it can.</p>
<hr><address>http://gochan.org powered by Gochan v2.2.0</address>
<hr><address>http://gochan.org powered by Gochan v2.3</address>
</body>
</html>

View file

@ -9,7 +9,6 @@ var staff_btn;
var watched_threads_btn;
var settings_arr = [];
var current_staff;
var lightbox_css_added = false;
var dropdown_div_created = false;
var qr_enabled = false;
@ -150,10 +149,6 @@ var DropDownMenu = function(title,menu_html) {
}
function showLightBox(title,innerHTML) {
if(!lightbox_css_added) {
$jq(document).find("head").append("\t<link rel=\"stylesheet\" href=\"/css/lightbox.css\" />");
lightbox_css_added = true;
}
$jq(document.body).prepend("<div class=\"lightbox-bg\"></div><div class=\"lightbox\"><div class=\"lightbox-title\">"+title+"<a href=\"#\" class=\"lightbox-x\">X</a><hr /></div>"+innerHTML+"</div>");
$jq("a.lightbox-x").click(function() {
$jq(".lightbox").remove();

9
sass/README.md Normal file
View file

@ -0,0 +1,9 @@
## Theme development using Sass
If you want, you can install [Sass](https://sass-lang.com/install) to streamline writing CSS stylesheets. It requires node.js as a dependency so if you don't want to install it and Sass's dependencies (and its dependencies' dependencies,...) the CSS files generated by Sass are provided.
To use sass, run `sass --style expanded --no-source-map sass:html/css`.
To have sass watch the input directory for changes as you edit and save the files, run `sass --style expanded --no-source-map --watch sass:html/css`
In either case, `--style expanded` is optional. Run `sass -h` for more info about it.
If you are upgading from gochan 2.2, delete your html/css directory unless you have made themes that you want to keep. Then rebuild the pages. (/manage?action=rebuildall)

6
sass/_util.scss Normal file
View file

@ -0,0 +1,6 @@
@mixin box-shadow($properties...) {
-moz-box-shadow: $properties;
-ms-box-shadow: $properties;
-webkit-box-shadow: $properties;
box-shadow: $properties;
}

61
sass/burichan.scss Normal file
View file

@ -0,0 +1,61 @@
@import 'util';
@import 'burichan/colors';
@import 'burichan/img';
@import 'burichan/front';
@import 'burichan/manage';
body {
font: $font;
background:$bgcol;
margin: 8px;
}
a, a:visited {
color:$linkcol;
text-decoration:none;
}
h1 {
margin:0;
text-align:center;
}
h2 {
margin: 0px 0px 0px 0px;
font-size: 140%;
}
h2 a {
text-decoration: none;
color: #550;
}
h3 {
margin: 0px;
text-align: center;
font-size: medium;
}
h1,h2 {
// background:#D6DAF0;
font-family: $hfont-family;
}
h1, h2, h3 {
font-weight: bold;
color: #333;
}
div#topbar {
@include box-shadow(3px 3px 5px 6px $shadowcol);
height: 30px;
}
div#topbar, .topbar-item, .topbar-item:visited, .dropdown-button, .dropdown-menu, .dropdown-menu a {
background-color:#000A89;
color:$bgcol!important;
}
div#footer {
font-size: 8pt;
}

View file

@ -0,0 +1,6 @@
$bgcol: #EEF2FF;
$linkcol: #34345C;
$shadowcol: #555555;
$font: sans-serif 12pt;
$hfont-family: Verdana,Tahoma,sans-serif;
$bordercol: #9295a4;

23
sass/burichan/_front.scss Normal file
View file

@ -0,0 +1,23 @@
#site-title {
font-family: sans-serif;
padding-top: 88px;
}
#site-slogan {
font-size:9pt;
font-style: italic;
}
.tab {
background-color: #dfdffe;
border: 1px solid #9295a4;
}
#current-tab {
margin-top: 16px;
border-bottom: 0px;
}
#current-tab, div.section-title-block {
background-color: #bfc6e7;
}

31
sass/burichan/_img.scss Normal file
View file

@ -0,0 +1,31 @@
@import 'colors';
h1#board-title {
font-family: serif!important;
font-size: 24pt;
color:#AF0A0F;
}
.postblock {
background:#9988EE;
}
div.file-info {
font-size:12px;
font-family:sans-serif;
}
.postername {
font-size:12px;
font-family:serif;
color:#117743;
font-weight:800;
}
.reply, .thread-ddown-menu {
background:#D6DAF0;
}
.thread-ddown-menu {
border: 1px solid $bordercol;
}

View file

@ -0,0 +1,11 @@
@import 'colors';
@import '../util';
.loginbox input {
height: 20%;
}
.manage-header {
background-color: $bgcol;
border-radius: 8px;
}

73
sass/global.scss Normal file
View file

@ -0,0 +1,73 @@
@import 'global/img';
@import 'global/front';
@import 'global/manage';
@import 'global/lightbox';
header {
margin-top:50px;
text-align:center;
h1 {
font-size:30px;
margin: 0px;
}
}
div#topbar {
left:0;
position:fixed;
top:0;
width:100%;
z-index:2;
margin-top:0px;
padding-left:8px;
padding-right:4px;
a.topbar-item {
display: inline-block;
padding: 4px;
}
a.dropdown-button {
padding: 4px 8px;
float: right;
}
}
div.dropdown-menu {
position: fixed;
min-width: 300px;
min-height: 100px;
top: 24px;
right: 0px;
z-index:8999;
padding: 4px 8px 4px 8px;
ul.staffmenu {
list-style:none;
margin:0px;
padding-left:0;
}
}
div.section-block {
margin-bottom: 8px;
div.section-title-block {
display:block;
padding:4px 8px 4px 8px;
}
div.section-body {
overflow-y: hidden;
margin-right: 0px;
margin-bottom:8px;
min-height: 48px;
padding:8px;
}
}
#footer {
bottom:0px;
clear:both;
left:0px;
position:static;
text-align:center;
width:100%;
}

72
sass/global/_front.scss Executable file
View file

@ -0,0 +1,72 @@
div.page {
float: left;
width: 75%;
margin-left: 8px;
overflow-y: hidden;
}
div.section-block {
margin-bottom: 8px;
div.section-title-block {
display:block;
padding:4px 8px 4px 8px;
}
div.section-body {
overflow-y: hidden;
margin-right: 0px;
margin-bottom:8px;
min-height: 48px;
padding-bottom:8px;
padding-left:8px;
padding-right:8px;
}
}
#side-pane {
position:absolute;
top: 106px;
width:15%;
margin-right: 16px;
}
div#top-pane {
text-align: center;
margin-top: 32px;
width:100%;
// z-index: 1;
span#site-title {
font-size:50px;
}
}
#tab-bar {
margin-bottom: 0px;
margin-top: 2px;
margin-left: -24px;
.tab {
display: inline;
padding: 0px 8px 0px 8px;
}
}
div#recent-posts {
width:22%;
float: right;
margin-right: 8px;
display: inline-block;
img {
float: left;
padding-right: 8px;
}
div.section-body {
padding-top: 8px;
}
}
div#main {
overflow: hidden
}
a.permalink {
float: right;
}

View file

@ -7,34 +7,11 @@
padding-left:0px;
}
#footer {
bottom:0px;
clear:both;
left:0px;
position:static;
text-align:center;
width:100%;
}
#left-bottom-content {
float:left;
left:0px;
}
#main {
height:100%;
left:0px;
padding-left:8px;
position:absolute;
right:21%;
top:124px;
width:auto;
}
#menu {
position:absolute;
}
a.anchor {
display: block;
position: relative;
@ -92,11 +69,6 @@ table#pages td {
width:15%;
}
#tab-bar {
clear:both;
margin-left:16px;
}
#threadlinks-bottom {
clear:both;
float:right;
@ -107,32 +79,6 @@ table#pages td {
position:absolute;
}
header {
margin-top:50px;
text-align:center;
}
header h1 {
font-size:30px;
margin: 0px;
}
#topbar {
left:0;
position:fixed;
top:0;
width:100%;
z-index:2;
margin-top:0px;
padding-left:8px;
padding-right:4px;
}
#topbar div {
padding:4px;
}
.thread-ddown-menu {
display:inline-block;
float:left;
@ -154,25 +100,6 @@ header h1 {
padding-right: 8px;
}
.dropdown-menu {
list-style: none;
min-height:100px;
min-width:300px;
padding:4px 8px;
position:fixed;
right:0;
top:24px;
z-index:8999;
}
.plus {
float:right;
padding:0px 4px;
text-align:center;
width:12px;
}
.reply {
margin-bottom: 4px;
@ -217,13 +144,6 @@ header h1 {
font-weight:700;
}
.tab {
display:block;
float:left;
padding-left:5px;
padding-right:5px;
}
.thread {
vertical-align:top;
overflow: hidden;
@ -234,21 +154,6 @@ header h1 {
width:100%;
}
.topbar-item {
display: inline-block;
padding: 4px;
}
.topbar-dropdowns{
overflow: hidden;
float: right;
}
.dropdown-button {
padding: 4px 8px;
float: right;
}
a.permalink,#right-sidelinks {
float:right;
}
@ -257,6 +162,10 @@ hr {
clear:both;
}
a.upload-container {
outline: none;
}
.upload {
float:left;
max-width: 100%;
@ -287,6 +196,10 @@ input[type=file] {
}
table#postbox-static {
border: none;
tr, td {
border: none;
}
margin: 0px auto;
}

View file

@ -60,9 +60,6 @@
font-weight: bold;
}
.lightbox td {
}
.lightbox input[type=text], .lightbox input[type=password], .lightbox input[type=file], .lightbox textarea {
background-color:#FFFFFF;
border:1px solid #000000;

View file

@ -1,7 +1,3 @@
table, table th, td, tr {
border: solid 1px;
}
.loginbox {
width:300px;
height: 120px;
@ -21,36 +17,6 @@ table, table th, td, tr {
height: 30%;
}
#footer {
clear:both;
position:absolute;
width: 100%;
left: 0px;
bottom: 0%;
text-align: center;
}
.section-body {
min-height: 48px;
padding-left:8px;
padding-right: 8px;
padding-bottom: 8px;
}
.section-title-block {
height:19px;
display:block;
padding:4px 8px 4px 8px;
}
#topmenu {
height: 26px;
}
.topmenu-item {
padding: 4px;
}
.menu {
margin-top:1em;
}
@ -60,6 +26,11 @@ h1, h2 {
padding-right: 4px;
}
table#board-options, table#board-options *,
table#config, table#config td, table#config th {
border: solid 1px;
}
input.config-text {
-moz-box-sizing: border-box;
box-sizing: border-box;

72
sass/leetchan.scss Normal file
View file

@ -0,0 +1,72 @@
// This looks like crap but it isn't supposed to be pretty.
// Leetchan was an imageboard populated by a bunch of morons that liked to spam other imageboards
// This theme may end up being replaced with a GeoCities theme (because that looks /so/ much better)
@import url(http://fonts.googleapis.com/css?family=Walter+Turncoat);
@import 'leetchan/colors';
@import 'leetchan/front';
@import 'leetchan/img';
body {
margin:0;
padding:0;
background: #135;
color: #fff;
font-family: "comic sans ms","Walter Turncoat",cursive;
}
h1 {
color:#000;
font-size:150%;
margin:0;
}
h1,h2 {
// background:#D6DAF0;
// text-align:left;
color: white;
}
h1,h3,.menu {
font-family:Verdana,Tahoma,sans-serif;
}
h2 {
// background:#D6DAF0;
font-size:100%;
margin:1em 0 0;
}
h2 a {
color:#550;
text-decoration:none;
}
h3 {
color:#800;
font-size:medium;
font-weight:400;
margin:0;
text-align:center;
}
a {
color: #ff0;
text-decoration: none;
}
li {
margin:0;
}
li a {
display:block;
width:100%;
}
.footer {
font-family: serif;
font-size: 12px;
text-align: center;
}

View file

@ -0,0 +1,3 @@
$bgcol: #135;
$fontfamily: "comic sans ms","Walter Turncoat",cursive;

72
sass/leetchan/_front.scss Normal file
View file

@ -0,0 +1,72 @@
#site-title {
color: #ff0;
font-size: 50px;
}
#top-pane {
height:75px;
left:0;
position:absolute;
text-align:center;
top:0;
width:100%;
}
#topmenu {
left:16%;
position:absolute;
top:76px;
}
#topmenu li {
background-color: #F0E0D6;
border:1px solid #9295a4;
border-left:none;
color: maroon;
display:block;
float:left;
margin-top:-7px;
padding:3px 10px 2px;
}
#topmenu li.current {
background-color:#d0c0c6;
border-bottom:none;
margin-top:-8px;
padding-top:5px;
}
#topmenu li.first {
border-left:1px solid #F0E0D6;
}
.content {
margin-left:0!important;
padding-left:0!important;
text-align:justify;
}
.newssub {
background-color:#D0C0C6;
position:absolute;
}
.permalink {
display:block;
text-align:right;
}
.permalink a {
color:blue;
text-decoration:none;
}
ul.boardmenu li:hover,ul.modmenulink li:hover {
background:#C6DAF0;
}
ul.boardmenu,ul.modmenulink,div#topmenu ul {
list-style:none;
margin:0;
padding-left:0;
}

86
sass/leetchan/_img.scss Normal file
View file

@ -0,0 +1,86 @@
@import 'colors';
.file-info {
background: inherit;
color: #CC1105;
font-weight: 800;
}
#board-title {
color: maroon;
font-size: 2em;
text-align: center;
}
.manage-header {
background: #AA6;
color: #400000;
padding: 0;
}
.omittedposts, {
color: #707070;
}
.passvalid {
background: #000;
color: #fff;
text-align: center;
width: 100%;
}
.postblock {
background: #000;
color: #fff;
font-weight: 800;
}
.postername {
color: #117743;
font-weight: 700;
}
.postertrip {
color: #228854;
}
.postlists {
background: #FFF;
color: maroon;
padding: 0;
width: 100%;
}
.reply {
background: #F0E0D6;
color: maroon;
}
.replytitle {
color: #CC1105;
font-size: 1.2em;
font-weight: 800;
}
.theader {
background: #E04000;
color: #FFF;
padding: 2px;
text-align: center;
width: 100%;
}
.file-deleted-box {
color: maroon;
font-size: small;
}
.greentext {
background: inert;
color: #789922;
}
a:hover {
color: #D00;
}

48
sass/pipes.scss Normal file
View file

@ -0,0 +1,48 @@
@import 'pipes/colors';
@import 'pipes/front';
@import 'pipes/manage';
@import 'pipes/img';
@import 'util';
* {
outline: none;
}
body {
background-image: url(res/pipes_bg.png);
color: #d8d0b9;
font: $font;
}
header h1, span#site-title {
color: $headercol;
}
a {
color: $linkcol;
font: $font;
text-decoration: none;
}
a:hover {
background: inherit;
color: $linklight;
}
a.topbar-item:hover {
background-color: $bglight;
}
div#footer, div#footer * {
font-size: 9pt;
}
div#topbar {
background-color: $bgcol;
@include box-shadow(0px 2px 2px 3px $shadowcol);
z-index: 9001;
li:hover {
background-color: $bglight;
}
}

7
sass/pipes/_colors.scss Normal file
View file

@ -0,0 +1,7 @@
$bgcol: #202020;
$bglight: #404040;
$shadowcol: #101010;
$linkcol: #f90;
$linklight: #ffd43f;
$headercol: #e1b400;
$font: 12pt sans-serif;

41
sass/pipes/_front.scss Normal file
View file

@ -0,0 +1,41 @@
@import 'colors';
@import '../util';
.dropdown-button:hover {
background-color: $bglight;
}
.dropdown-menu {
background-color: $bgcol;
box-shadow: 2px 2px 2px 3px $shadowcol;
z-index: 0;
}
.section-body {
background-color: #606060;
}
.section-title-block {
background-color: $bgcol;
border-radius: 4px 8px 4px 8px;
}
.tab {
background-color: $bglight!important;
border: 1px solid $bgcol;
}
#current-tab {
background-color: $bgcol!important;
}
div#recent-posts-header {
@include box-shadow(0px 2px 2px 3px $shadowcol);
margin-bottom: 8px;
padding: 4px 8px 4px 8px;
}
.postblock {
background-color: $bgcol;
font-weight: 700;
}

73
sass/pipes/_img.scss Normal file
View file

@ -0,0 +1,73 @@
@import '_colors';
@import '../util';
.dropdown-button:hover {
background-color: $bglight;
}
.dropdown-menu {
background-color: $bgcol;
@include box-shadow(2px 2px 2px 3px $shadowcol);
z-index: 0;
}
ul.staffmenu li:hover {
background: $bglight;
}
img.thumbnail {
float: left;
max-width: 100%;
margin: 5px 10px 10px 0px;
}
.reply {
background-color: #25272D;
border: 1px solid #8C94AB;
}
.postblock {
background-color: #25272D;
font-weight: 700;
}
.postername {
color: #FC0;
font-weight: 700;
}
.postername a {
color: #ffcc00 !important;
text-decoration: underline;
}
.subject {
color: #F90;
}
.thread-ddown a {
font-size: 75%;
vertical-align: middle;
}
.tripcode {
color: #FC0;
}
form#postform {
input[type=text], input[type=password], input[type=file], textarea, .thread-ddown-menu {
background-color: #25272D;
border: 1px solid #8C94AB;
color: #FFF;
}
}
.thread-ddown-menu, input#reason, input#password {
background-color: #25272D;
border: 1px solid #8C94AB;
color: #FFF;
}
.thread-ddown-menu li:hover {
background-color: #404040;
}

12
sass/pipes/_manage.scss Normal file
View file

@ -0,0 +1,12 @@
@import 'colors';
@import '../util';
.loginbox input {
height: 20%;
}
.manage-header {
background-color: $bgcol;
@include box-shadow(2px 2px 3px 4px $shadowcol);
border-radius: 8px;
}

View file

@ -186,7 +186,7 @@ var manage_functions = map[string]ManageFunction{
"cleanup": {
Permissions: 3,
Callback: func(writer http.ResponseWriter, request *http.Request) (html string) {
html = "<h2>Cleanup</h2><br />"
html = "<h2 class=\"manage-header\">Cleanup</h2><br />"
var err error
if request.FormValue("run") == "Run Cleanup" {
html += "Removing deleted posts from the database.<hr />"
@ -491,7 +491,7 @@ var manage_functions = map[string]ManageFunction{
Permissions: 3,
Callback: func(writer http.ResponseWriter, request *http.Request) (html string) {
statement := request.FormValue("sql")
html = "<h1>Execute SQL statement(s)</h1><form method = \"POST\" action=\"/manage?action=executesql\">\n<textarea name=\"sql\" id=\"sql-statement\">" + statement + "</textarea>\n<input type=\"submit\" />\n</form>"
html = "<h1 class=\"manage-header\">Execute SQL statement(s)</h1><form method = \"POST\" action=\"/manage?action=executesql\">\n<textarea name=\"sql\" id=\"sql-statement\">" + statement + "</textarea>\n<input type=\"submit\" />\n</form>"
if statement != "" {
html += "<hr />"
if _, sqlerr := execSQL(statement); sqlerr != nil {
@ -541,7 +541,7 @@ var manage_functions = map[string]ManageFunction{
"announcements": {
Permissions: 1,
Callback: func(writer http.ResponseWriter, request *http.Request) (html string) {
html = "<h1>Announcements</h1><br />"
html = "<h1 class=\"manage-header\">Announcements</h1><br />"
rows, err := querySQL("SELECT `subject`,`message`,`poster`,`timestamp` FROM `" + config.DBprefix + "announcements` ORDER BY `id` DESC")
defer closeRows(rows)
@ -894,7 +894,7 @@ var manage_functions = map[string]ManageFunction{
}
}
html = "<h1>Manage boards</h1>\n<form action=\"/manage?action=boards\" method=\"POST\">\n<input type=\"hidden\" name=\"do\" value=\"existing\" /><select name=\"boardselect\">\n<option>Select board...</option>\n"
html = "<h1 class=\"manage-header\">Manage boards</h1>\n<form action=\"/manage?action=boards\" method=\"POST\">\n<input type=\"hidden\" name=\"do\" value=\"existing\" /><select name=\"boardselect\">\n<option>Select board...</option>\n"
rows, err = querySQL("SELECT `dir` FROM `" + config.DBprefix + "boards`")
defer closeRows(rows)
if err != nil {
@ -909,7 +909,7 @@ var manage_functions = map[string]ManageFunction{
}
html += "</select> <input type=\"submit\" value=\"Edit\" /> <input type=\"submit\" value=\"Delete\" /></form><hr />" +
"<h2>Create new board</h2>\n<span id=\"board-creation-message\">" + board_creation_status + "</span><br />"
"<h2 class=\"manage-header\">Create new board</h2>\n<span id=\"board-creation-message\">" + board_creation_status + "</span><br />"
manageBoardsBuffer := bytes.NewBufferString("")
allSections, _ = getSectionArr("")
@ -1015,7 +1015,7 @@ var manage_functions = map[string]ManageFunction{
if limit == "" {
limit = "50"
}
html = "<h1>Recent posts</h1>\nLimit by: <select id=\"limit\"><option>25</option><option>50</option><option>100</option><option>200</option></select>\n<br />\n<table width=\"100%%d\" border=\"1\">\n<colgroup><col width=\"25%%\" /><col width=\"50%%\" /><col width=\"17%%\" /></colgroup><tr><th></th><th>Message</th><th>Time</th></tr>"
html = "<h1 class=\"manage-header\">Recent posts</h1>\nLimit by: <select id=\"limit\"><option>25</option><option>50</option><option>100</option><option>200</option></select>\n<br />\n<table width=\"100%%d\" border=\"1\">\n<colgroup><col width=\"25%%\" /><col width=\"50%%\" /><col width=\"17%%\" /></colgroup><tr><th></th><th>Message</th><th>Time</th></tr>"
rows, err := querySQL(
"SELECT `"+config.DBprefix+"boards`.`dir` AS `boardname`, "+
"`"+config.DBprefix+"posts`.`boardid` AS boardid, "+
@ -1103,7 +1103,7 @@ var manage_functions = map[string]ManageFunction{
Permissions: 3,
Callback: func(writer http.ResponseWriter, request *http.Request) (html string) {
do := request.FormValue("do")
html = "<h1>Staff</h1><br />\n" +
html = "<h1 class=\"manage-header\">Staff</h1><br />\n" +
"<table id=\"stafftable\" border=\"1\">\n" +
"<tr><td><b>Username</b></td><td><b>Rank</b></td><td><b>Boards</b></td><td><b>Added on</b></td><td><b>Action</b></td></tr>\n"
rows, err := querySQL("SELECT `username`,`rank`,`boards`,`added_on` FROM `" + config.DBprefix + "staff`")
@ -1146,7 +1146,7 @@ var manage_functions = map[string]ManageFunction{
html += "<tr><td>" + staff.Username + "</td><td>" + rank + "</td><td>" + staff.Boards + "</td><td>" + humanReadableTime(staff.AddedOn) + "</td><td><a href=\"/manage?action=staff&amp;do=del&amp;username=" + staff.Username + "\" style=\"float:right;color:red;\">X</a></td></tr>\n"
iter++
}
html += "</table>\n\n<hr />\n<h2>Add new staff</h2>\n\n" +
html += "</table>\n\n<hr />\n<h2 class=\"manage-header\">Add new staff</h2>\n\n" +
"<form action=\"/manage?action=staff\" onsubmit=\"return makeNewStaff();\" method=\"POST\">\n" +
"\t<input type=\"hidden\" name=\"do\" value=\"add\" />\n" +
"\tUsername: <input id=\"username\" name=\"username\" type=\"text\" /><br />\n" +

View file

@ -184,7 +184,7 @@ var funcMap = template.FuncMap{
},
"generateConfigTable": func() string {
configType := reflect.TypeOf(config)
tableOut := "<table style=\"border-collapse: collapse;\"><tr><th>Field name</th><th>Value</th><th>Type</th><th>Description</th></tr>\n"
tableOut := "<table style=\"border-collapse: collapse;\" id=\"config\"><tr><th>Field name</th><th>Value</th><th>Type</th><th>Description</th></tr>\n"
numFields := configType.NumField()
for f := 17; f < numFields-2; f++ {
// starting at Lockdown because the earlier fields can't be safely edited from a web interface

View file

@ -398,8 +398,8 @@ type GochanConfig struct {
ThumbHeight int `description:"OP thumbnails use this as their max height.<br />To keep the aspect ratio, the image will be scaled down to the ThumbWidth or ThumbHeight, whichever is larger." default:"200"`
ThumbWidth_reply int `description:"Same as ThumbWidth and ThumbHeight but for reply images." default:"125"`
ThumbHeight_reply int `description:"Same as ThumbWidth and ThumbHeight but for reply images." default:"125"`
ThumbWidth_catalog int `description:"Same as ThumbWidth and ThumbHeight but for catalog images." default:"125"`
ThumbHeight_catalog int `description:"Same as ThumbWidth and ThumbHeight but for catalog images." default:"125"`
ThumbWidth_catalog int `description:"Same as ThumbWidth and ThumbHeight but for catalog images." default:"50"`
ThumbHeight_catalog int `description:"Same as ThumbWidth and ThumbHeight but for catalog images." default:"50"`
ThreadsPerPage int `default:"15"`
PostsPerThreadPage int `description:"Max number of replies to a thread to show on each thread page." default:"50"`

View file

@ -12,9 +12,8 @@
<script type="text/javascript" src="{{.config.SiteWebfolder}}javascript/gochan.js"></script>
<script type="text/javascript" src="{{.config.SiteWebfolder}}javascript/manage.js"></script>
<link rel="stylesheet" href="/css/global/front.css" />
{{range $i, $style := .config.Styles}}
<link rel="{{if not (isStyleDefault $style)}}alternate {{end}}stylesheet" href="/css/{{$style}}/front.css" />{{end}}
<link rel="stylesheet" href="/css/global.css" />
<link rel="stylesheet" href="/css/{{.config.DefaultStyle}}.css" />
<link rel="shortcut icon" href="/favicon.png">
</head>
<body>
@ -26,20 +25,20 @@
<span id="site-slogan">{{.config.SiteSlogan}}</span>
</div>
<div id="main">
<div id="tab-bar">
<div id="current-tab" class="tab">
<ul id="tab-bar">
<li id="current-tab" class="tab">
<a href="#">News</a>
</div>
<div class="tab">
</li>
<li class="tab">
<a href="#boards">Boards</a>
</div>
<div class="tab">
</li>
<li class="tab">
<a href="#rules">Rules</a>
</div>
<div class="tab">
</li>
<li class="tab">
<a href="#faq">FAQ</a>
</div>
</div>
</li>
</ul>
<div id="first-page" class="page">{{range $ii, $page := .page_arr}}{{if eq $page.Page 0}}
<div class="section-block">
<div class="section-title-block" id="first-page0">

View file

@ -1,7 +1,7 @@
{{template "img_header.html" .}}
<header>
<h1>/{{$.board.Dir}}/ - {{$.board.Title}}</h1>
<div id="board-subtitle">{{$.board.Subtitle}}</div>
<h1 id="board-title">/{{$.board.Dir}}/ - {{$.board.Title}}</h1>
<h2 id="board-subtitle">{{$.board.Subtitle}}</h2>
</header>
<hr />
<div id="right-sidelinks">

View file

@ -22,9 +22,8 @@
</script>
<script type="text/javascript" src="{{$.config.SiteWebfolder}}javascript/gochan.js"></script>
<script type="text/javascript" src="{{$.config.SiteWebfolder}}javascript/manage.js"></script>
<link rel="stylesheet" href="{{$.config.SiteWebfolder}}css/global/img.css" />
{{range $_, $style := .config.Styles}}
<link rel="{{if not (isStyleDefault $style)}}alternate {{end}}stylesheet" href="{{$.config.SiteWebfolder}}css/{{$style}}/img.css" />{{end}}
<link rel="stylesheet" href="{{$.config.SiteWebfolder}}css/global.css" />
<link rel="stylesheet" href="{{$.config.SiteWebfolder}}css/{{$.config.DefaultStyle}}.css" />
<link rel="shortcut icon" href="{{$.config.SiteWebfolder}}favicon.png" />
</head>
<body>

View file

@ -1,7 +1,7 @@
{{template "img_header.html" .}}
<header>
<h1>/{{$.board.Dir}}/ - {{$.board.Title}}</h1>
<div id="board-subtitle">{{$.board.Subtitle}}</div>
<h1 id="board-title">/{{$.board.Dir}}/ - {{$.board.Title}}</h1>
<h2 id="board-subtitle">{{$.board.Subtitle}}</h2>
</header>
<hr />
<div id="threadlinks-top">

View file

@ -1,4 +1,4 @@
<h1>Ban user</h1>
<h1 class="manage-header">Ban user</h1>
<form method="POST" action="/manage?action=bans">
<input type="hidden" name="do" value="add" />
<b>User filter:</b><br />
@ -26,7 +26,7 @@
<input type="submit" value="Ban user" />
</form>
<h2>Banlist</h2>
<h2 class="manage-header">Banlist</h2>
<table>
<tr><th>IP</th><th>Name!Tripcode</th><th>Reason</th><th>Staff note</th><th>Boards</th><th>Staff</th><th>Set</th><th>Expires</th><th>Permaban</th></tr>
{{range $b, $ban := $.banlist}} <tr><td>{{$ban.IP}}</td><td>{{$ban.Name}}</td><td>{{$ban.Reason}}</td><td>{{$ban.StaffNote}}</td><td>{{if eq $ban.Boards ""}}<i>all boards</i>{{else}}{{$ban.Boards}}{{end}}</td><td>{{$ban.Staff}}</td><td>{{$ban.Timestamp}}</td><td>{{if $ban.Permaban}}never{{else}}{{$ban.Expires}}{{end}}</td><td>{{$ban.Permaban}}</td></tr>

View file

@ -1,4 +1,4 @@
<h2>Config editor</h2>
<h2 class="manage-header">Config editor</h2>
{{if ne .status ""}}{{.status}}<hr />{{end}}
Some fields omitted because they can not be (safely) edited from the web interface while Gochan is running.
Edit these directly in gochan.json, then restart Gochan.<br />

View file

@ -1,7 +1,6 @@
<title>Gochan Manage page</title>
<link rel="stylesheet" href="{{.SiteWebfolder}}css/global/manage.css" />
{{range $i, $style := .Styles}}
<link rel="{{if not (isStyleDefault $style)}}alternate {{end}}stylesheet" href="{{$.SiteWebfolder}}css/{{$style}}/manage.css" />{{end}}
<link rel="stylesheet" href="{{.SiteWebfolder}}css/global.css" />
<link rel="stylesheet" href="{{$.SiteWebfolder}}css/{{.DefaultStyle}}.css" />
<link rel="shortcut icon" href="{{.SiteWebfolder}}favicon.png" />
<script type="text/javascript">
var styles = [{{range $i, $style := .Styles}}{{if gt $i 0}}, {{end}}"{{$style}}"{{end}}];

View file

@ -9,7 +9,7 @@
<table id="postbox-static">
<tr><th class="postblock">Name</th><td><input type="text" id="postname" name="postname" maxlength="50" size="28" {{/* value="Name" onFocus="if(this.value=='Name') {this,value= ''}" onBlur="if(this.value == '') {this.value = 'Name'}"*/}}/></td></tr>
<tr><th class="postblock">Email</th><td><input type="text" id="postemail" name="postemail" maxlength="50" size="28" /></td></tr>
<tr><th class="postblock">Subject</th><td><input type="text" id="postsubject" name="postsubject" maxlength="100" size="30" autocomplete="off" /><input type="submit" value="{{with .op}}Reply{{else}}Post{{end}}"/></td></tr>
<tr><th class="postblock">Subject</th><td><input type="text" id="postsubject" name="postsubject" maxlength="100" size="30"/><input type="submit" value="{{with .op}}Reply{{else}}Post{{end}}"/></td></tr>
<tr><th class="postblock">Message</th><td><textarea rows="4" cols="48" name="postmsg" id="postmsg"></textarea></td></tr>
<tr><th class="postblock">File</th><td><input name="imagefile" type="file"><input type="checkbox" id="spoiler" name="spoiler"/><label for="spoiler">Spoiler</label></td></tr>
<tr><th class="postblock">Password</th><td><input type="password" id="postpassword" name="postpassword" size="14" /> (for post/file deletion)</td></tr>

View file

@ -1 +1 @@
2.2.0
2.3.0