diff --git a/README.md b/README.md index 00b0d056..945fea95 100644 --- a/README.md +++ b/README.md @@ -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. \ No newline at end of file +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. + diff --git a/html/css/burichan.css b/html/css/burichan.css new file mode 100644 index 00000000..aac13b23 --- /dev/null +++ b/html/css/burichan.css @@ -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; +} diff --git a/html/css/burichan/front.css b/html/css/burichan/front.css deleted file mode 100644 index 7e6fa733..00000000 --- a/html/css/burichan/front.css +++ /dev/null @@ -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; -} \ No newline at end of file diff --git a/html/css/burichan/img.css b/html/css/burichan/img.css deleted file mode 100644 index 5ffd9e57..00000000 --- a/html/css/burichan/img.css +++ /dev/null @@ -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; -} \ No newline at end of file diff --git a/html/css/burichan/manage.css b/html/css/burichan/manage.css deleted file mode 100644 index 7129792f..00000000 --- a/html/css/burichan/manage.css +++ /dev/null @@ -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; -} \ No newline at end of file diff --git a/html/css/burichan/managemenu.css b/html/css/burichan/managemenu.css deleted file mode 100644 index 334ff382..00000000 --- a/html/css/burichan/managemenu.css +++ /dev/null @@ -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%; -} \ No newline at end of file diff --git a/html/css/global.css b/html/css/global.css new file mode 100644 index 00000000..92e79bcd --- /dev/null +++ b/html/css/global.css @@ -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%; +} diff --git a/html/css/global/front.css b/html/css/global/front.css deleted file mode 100755 index 7a7d1ff6..00000000 --- a/html/css/global/front.css +++ /dev/null @@ -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; -} - diff --git a/html/css/int-sprites.png b/html/css/int-sprites.png deleted file mode 100644 index bbbe6192..00000000 Binary files a/html/css/int-sprites.png and /dev/null differ diff --git a/html/css/leetchan.css b/html/css/leetchan.css new file mode 100644 index 00000000..06d29457 --- /dev/null +++ b/html/css/leetchan.css @@ -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; +} diff --git a/html/css/leetchan/front.css b/html/css/leetchan/front.css deleted file mode 100644 index ae2f7914..00000000 --- a/html/css/leetchan/front.css +++ /dev/null @@ -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; -} \ No newline at end of file diff --git a/html/css/leetchan/img.css b/html/css/leetchan/img.css deleted file mode 100644 index ec39d2a7..00000000 --- a/html/css/leetchan/img.css +++ /dev/null @@ -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; -} \ No newline at end of file diff --git a/html/css/pipes.css b/html/css/pipes.css new file mode 100644 index 00000000..a419dbc3 --- /dev/null +++ b/html/css/pipes.css @@ -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; +} diff --git a/html/css/pipes/front.css b/html/css/pipes/front.css deleted file mode 100644 index 3ca0c1ed..00000000 --- a/html/css/pipes/front.css +++ /dev/null @@ -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; } diff --git a/html/css/pipes/img.css b/html/css/pipes/img.css deleted file mode 100644 index 9478501d..00000000 --- a/html/css/pipes/img.css +++ /dev/null @@ -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; } diff --git a/html/css/pipes/manage.css b/html/css/pipes/manage.css deleted file mode 100644 index 7c238b04..00000000 --- a/html/css/pipes/manage.css +++ /dev/null @@ -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; } diff --git a/html/css/pipes/images/pipes_bg.png b/html/css/res/pipes_bg.png similarity index 100% rename from html/css/pipes/images/pipes_bg.png rename to html/css/res/pipes_bg.png diff --git a/html/css/pipes/images/pipes_bg2.png b/html/css/res/pipes_bg2.png similarity index 100% rename from html/css/pipes/images/pipes_bg2.png rename to html/css/res/pipes_bg2.png diff --git a/html/css/pipes/images/pipes_bg3.png b/html/css/res/pipes_bg3.png similarity index 100% rename from html/css/pipes/images/pipes_bg3.png rename to html/css/res/pipes_bg3.png diff --git a/html/css/pipes/images/s_icons.gif b/html/css/res/s_icons.gif similarity index 100% rename from html/css/pipes/images/s_icons.gif rename to html/css/res/s_icons.gif diff --git a/html/error/404.html b/html/error/404.html index 7bd7ee7c..9323e868 100755 --- a/html/error/404.html +++ b/html/error/404.html @@ -7,6 +7,6 @@

404: File not found

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 here

-
http://gochan.org powered by Gochan v2.2.0
+
http://gochan.org powered by Gochan v2.3
diff --git a/html/error/500.html b/html/error/500.html index 2a234d79..76c792ca 100755 --- a/html/error/500.html +++ b/html/error/500.html @@ -7,6 +7,6 @@

500: Internal Server error

The server encountered an error while trying to serve the page, and we apologize for the inconvenience. The system administrator will try to fix things as soon has he/she/it can.

-
http://gochan.org powered by Gochan v2.2.0
+
http://gochan.org powered by Gochan v2.3
diff --git a/html/javascript/gochan.js b/html/javascript/gochan.js index 4190a64b..9da23435 100644 --- a/html/javascript/gochan.js +++ b/html/javascript/gochan.js @@ -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"); - lightbox_css_added = true; - } $jq(document.body).prepend("
"+title+"X
"+innerHTML+"
"); $jq("a.lightbox-x").click(function() { $jq(".lightbox").remove(); diff --git a/sass/README.md b/sass/README.md new file mode 100644 index 00000000..66c08f5c --- /dev/null +++ b/sass/README.md @@ -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) \ No newline at end of file diff --git a/sass/_util.scss b/sass/_util.scss new file mode 100644 index 00000000..46788530 --- /dev/null +++ b/sass/_util.scss @@ -0,0 +1,6 @@ +@mixin box-shadow($properties...) { + -moz-box-shadow: $properties; + -ms-box-shadow: $properties; + -webkit-box-shadow: $properties; + box-shadow: $properties; +} \ No newline at end of file diff --git a/sass/burichan.scss b/sass/burichan.scss new file mode 100644 index 00000000..f005677a --- /dev/null +++ b/sass/burichan.scss @@ -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; +} \ No newline at end of file diff --git a/sass/burichan/_colors.scss b/sass/burichan/_colors.scss new file mode 100644 index 00000000..1e76bcbf --- /dev/null +++ b/sass/burichan/_colors.scss @@ -0,0 +1,6 @@ +$bgcol: #EEF2FF; +$linkcol: #34345C; +$shadowcol: #555555; +$font: sans-serif 12pt; +$hfont-family: Verdana,Tahoma,sans-serif; +$bordercol: #9295a4; \ No newline at end of file diff --git a/sass/burichan/_front.scss b/sass/burichan/_front.scss new file mode 100644 index 00000000..6170ec59 --- /dev/null +++ b/sass/burichan/_front.scss @@ -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; +} diff --git a/sass/burichan/_img.scss b/sass/burichan/_img.scss new file mode 100644 index 00000000..c8e9a364 --- /dev/null +++ b/sass/burichan/_img.scss @@ -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; +} \ No newline at end of file diff --git a/sass/burichan/_manage.scss b/sass/burichan/_manage.scss new file mode 100644 index 00000000..6880ed01 --- /dev/null +++ b/sass/burichan/_manage.scss @@ -0,0 +1,11 @@ +@import 'colors'; +@import '../util'; + +.loginbox input { + height: 20%; +} + +.manage-header { + background-color: $bgcol; + border-radius: 8px; +} \ No newline at end of file diff --git a/sass/global.scss b/sass/global.scss new file mode 100644 index 00000000..30a0f9b1 --- /dev/null +++ b/sass/global.scss @@ -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%; +} diff --git a/sass/global/_front.scss b/sass/global/_front.scss new file mode 100755 index 00000000..1d354d05 --- /dev/null +++ b/sass/global/_front.scss @@ -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; +} diff --git a/html/css/global/img.css b/sass/global/_img.scss similarity index 69% rename from html/css/global/img.css rename to sass/global/_img.scss index 4bd46b6e..da2a2189 100755 --- a/html/css/global/img.css +++ b/sass/global/_img.scss @@ -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; } diff --git a/html/css/lightbox.css b/sass/global/_lightbox.scss similarity index 98% rename from html/css/lightbox.css rename to sass/global/_lightbox.scss index ea690c71..3dbff795 100644 --- a/html/css/lightbox.css +++ b/sass/global/_lightbox.scss @@ -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; diff --git a/html/css/global/manage.css b/sass/global/_manage.scss similarity index 59% rename from html/css/global/manage.css rename to sass/global/_manage.scss index af728e82..2b509b26 100755 --- a/html/css/global/manage.css +++ b/sass/global/_manage.scss @@ -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; diff --git a/sass/leetchan.scss b/sass/leetchan.scss new file mode 100644 index 00000000..f38a23b5 --- /dev/null +++ b/sass/leetchan.scss @@ -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; +} \ No newline at end of file diff --git a/sass/leetchan/_colors.scss b/sass/leetchan/_colors.scss new file mode 100644 index 00000000..54a6aa18 --- /dev/null +++ b/sass/leetchan/_colors.scss @@ -0,0 +1,3 @@ +$bgcol: #135; + +$fontfamily: "comic sans ms","Walter Turncoat",cursive; \ No newline at end of file diff --git a/sass/leetchan/_front.scss b/sass/leetchan/_front.scss new file mode 100644 index 00000000..9512ebfe --- /dev/null +++ b/sass/leetchan/_front.scss @@ -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; +} \ No newline at end of file diff --git a/sass/leetchan/_img.scss b/sass/leetchan/_img.scss new file mode 100644 index 00000000..74073cf7 --- /dev/null +++ b/sass/leetchan/_img.scss @@ -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; +} \ No newline at end of file diff --git a/sass/pipes.scss b/sass/pipes.scss new file mode 100644 index 00000000..b1e5dc06 --- /dev/null +++ b/sass/pipes.scss @@ -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; + } +} \ No newline at end of file diff --git a/sass/pipes/_colors.scss b/sass/pipes/_colors.scss new file mode 100644 index 00000000..5450e5b1 --- /dev/null +++ b/sass/pipes/_colors.scss @@ -0,0 +1,7 @@ +$bgcol: #202020; +$bglight: #404040; +$shadowcol: #101010; +$linkcol: #f90; +$linklight: #ffd43f; +$headercol: #e1b400; +$font: 12pt sans-serif; diff --git a/sass/pipes/_front.scss b/sass/pipes/_front.scss new file mode 100644 index 00000000..a47b8cdf --- /dev/null +++ b/sass/pipes/_front.scss @@ -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; +} diff --git a/sass/pipes/_img.scss b/sass/pipes/_img.scss new file mode 100644 index 00000000..65904bbf --- /dev/null +++ b/sass/pipes/_img.scss @@ -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; +} diff --git a/sass/pipes/_manage.scss b/sass/pipes/_manage.scss new file mode 100644 index 00000000..937e4b3b --- /dev/null +++ b/sass/pipes/_manage.scss @@ -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; +} \ No newline at end of file diff --git a/src/manage.go b/src/manage.go index 095d34d5..1a31c53a 100644 --- a/src/manage.go +++ b/src/manage.go @@ -186,7 +186,7 @@ var manage_functions = map[string]ManageFunction{ "cleanup": { Permissions: 3, Callback: func(writer http.ResponseWriter, request *http.Request) (html string) { - html = "

Cleanup


" + html = "

Cleanup


" var err error if request.FormValue("run") == "Run Cleanup" { html += "Removing deleted posts from the database.
" @@ -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 = "

Execute SQL statement(s)

\n\n\n
" + html = "

Execute SQL statement(s)

\n\n\n
" if statement != "" { html += "
" 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 = "

Announcements


" + html = "

Announcements


" 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 = "

Manage boards

\n
\n

" + - "

Create new board

\n" + board_creation_status + "
" + "

Create new board

\n" + board_creation_status + "
" manageBoardsBuffer := bytes.NewBufferString("") allSections, _ = getSectionArr("") @@ -1015,7 +1015,7 @@ var manage_functions = map[string]ManageFunction{ if limit == "" { limit = "50" } - html = "

Recent posts

\nLimit by: \n
\n\n" + html = "

Recent posts

\nLimit by: \n
\n
MessageTime
\n" 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 = "

Staff


\n" + + html = "

Staff


\n" + "
MessageTime
\n" + "\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 += "\n" iter++ } - html += "
UsernameRankBoardsAdded onAction
" + staff.Username + "" + rank + "" + staff.Boards + "" + humanReadableTime(staff.AddedOn) + "X
\n\n
\n

Add new staff

\n\n" + + html += "\n\n
\n

Add new staff

\n\n" + "
\n" + "\t\n" + "\tUsername:
\n" + diff --git a/src/template.go b/src/template.go index e470297b..77a82374 100755 --- a/src/template.go +++ b/src/template.go @@ -184,7 +184,7 @@ var funcMap = template.FuncMap{ }, "generateConfigTable": func() string { configType := reflect.TypeOf(config) - tableOut := "\n" + tableOut := "
Field nameValueTypeDescription
\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 diff --git a/src/types.go b/src/types.go index 6d78a191..ac9a21c9 100644 --- a/src/types.go +++ b/src/types.go @@ -398,8 +398,8 @@ type GochanConfig struct { ThumbHeight int `description:"OP thumbnails use this as their max height.
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"` diff --git a/templates/front.html b/templates/front.html index ccbb2959..23587934 100644 --- a/templates/front.html +++ b/templates/front.html @@ -12,9 +12,8 @@ - - {{range $i, $style := .config.Styles}} - {{end}} + + @@ -26,20 +25,20 @@ {{.config.SiteSlogan}}
-
-
+
-
+ +
  • Boards -
  • -
    + +
  • Rules -
  • -
    + +
  • FAQ -
  • -
    + +
    {{range $ii, $page := .page_arr}}{{if eq $page.Page 0}}
    diff --git a/templates/img_boardpage.html b/templates/img_boardpage.html index d8c82706..ed99da3b 100644 --- a/templates/img_boardpage.html +++ b/templates/img_boardpage.html @@ -1,7 +1,7 @@ {{template "img_header.html" .}}
    -

    /{{$.board.Dir}}/ - {{$.board.Title}}

    -
    {{$.board.Subtitle}}
    +

    /{{$.board.Dir}}/ - {{$.board.Title}}

    +

    {{$.board.Subtitle}}


    Field nameValueTypeDescription
    {{range $b, $ban := $.banlist}} diff --git a/templates/manage_config.html b/templates/manage_config.html index 2cc2001d..e5445ac1 100644 --- a/templates/manage_config.html +++ b/templates/manage_config.html @@ -1,4 +1,4 @@ -

    Config editor

    +

    Config editor

    {{if ne .status ""}}{{.status}}
    {{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.
    diff --git a/templates/manage_header.html b/templates/manage_header.html index d24d95dc..9d6c4f47 100644 --- a/templates/manage_header.html +++ b/templates/manage_header.html @@ -1,7 +1,6 @@ Gochan Manage page - -{{range $i, $style := .Styles}} - {{end}} + +
    IPName!TripcodeReasonStaff noteBoardsStaffSetExpiresPermaban
    {{$ban.IP}}{{$ban.Name}}{{$ban.Reason}}{{$ban.StaffNote}}{{if eq $ban.Boards ""}}all boards{{else}}{{$ban.Boards}}{{end}}{{$ban.Staff}}{{$ban.Timestamp}}{{if $ban.Permaban}}never{{else}}{{$ban.Expires}}{{end}}{{$ban.Permaban}}