diff --git a/.gitignore b/.gitignore index 43cd351..af24566 100644 --- a/.gitignore +++ b/.gitignore @@ -47,8 +47,6 @@ content/images/user/* BingSiteAuth.xml google*.html main/logs/* -content/data/misaki/* -_sakura/templates/misaki/* _sakura/cache/* !_sakura/cache/.htaccess diff --git a/_sakura/changelog.json b/_sakura/changelog.json index 6c5dab0..20f0202 100644 --- a/_sakura/changelog.json +++ b/_sakura/changelog.json @@ -1439,6 +1439,10 @@ { "type": "FIX", "change": "Fixed profile rewrite rule causing errors in some environments (e.g. Win32)." + }, + { + "type": "ADD", + "change": "Removed ignore lines for Misaki files." } ] diff --git a/_sakura/templates/misaki/elements/indexRight.tpl b/_sakura/templates/misaki/elements/indexRight.tpl new file mode 100644 index 0000000..978ec8e --- /dev/null +++ b/_sakura/templates/misaki/elements/indexRight.tpl @@ -0,0 +1,4 @@ +
+

stats

+
We have {{ stats.userCount }}, {{ stats.newestUser.username }} is the newest user, it has been {{ stats.lastRegDate }} since the last user registered, there's {{ stats.chatOnline }} in chat right now and the forum has {{ stats.topicCount }} and {{ stats.postCount }}.
+
diff --git a/_sakura/templates/misaki/elements/newsPost.tpl b/_sakura/templates/misaki/elements/newsPost.tpl new file mode 100644 index 0000000..5e1e5f0 --- /dev/null +++ b/_sakura/templates/misaki/elements/newsPost.tpl @@ -0,0 +1,19 @@ +
+
+ {{ newsPost.title }} +
+
{{ newsPost.date|date("D Y-m-d H:i:s T") }}
+
Posted by {{ newsPost.udata.username }}{% if newsPosts|length > 1 %} / View comments{% endif %}
+
+
+
+
+
+ {{ newsPost.udata.username }} +
+
+ {{ newsPost.parsed|raw }} +
+
+
+
diff --git a/_sakura/templates/misaki/errors/http404.tpl b/_sakura/templates/misaki/errors/http404.tpl new file mode 100644 index 0000000..3da1954 --- /dev/null +++ b/_sakura/templates/misaki/errors/http404.tpl @@ -0,0 +1,51 @@ + + + + + Cannot find page + + + + +
+

+ + The page cannot be found +

+

+ The page you are looking for might have been removed, had its + name changed, or is temporarily unavailable. +

+
+

+ Please try the following: +

+ +

+ HTTP 404 - File not found +
+ Internet Explorer +

+
+ + diff --git a/_sakura/templates/misaki/global/footer.tpl b/_sakura/templates/misaki/global/footer.tpl new file mode 100644 index 0000000..90d7df7 --- /dev/null +++ b/_sakura/templates/misaki/global/footer.tpl @@ -0,0 +1,14 @@ + + + + + diff --git a/_sakura/templates/misaki/global/header.tpl b/_sakura/templates/misaki/global/header.tpl new file mode 100644 index 0000000..6d1f4b2 --- /dev/null +++ b/_sakura/templates/misaki/global/header.tpl @@ -0,0 +1,84 @@ + + + + + + {{ page.title }} + + + + {% if page.redirect %} + + {% endif %} + + + {% if page.style %} + + {% endif %} + + + + +
+ +
+
+ +
+ {% if profile.user.userData.profileBackground %} +
+ {% endif %} +
+ diff --git a/_sakura/templates/misaki/main/index.tpl b/_sakura/templates/misaki/main/index.tpl new file mode 100644 index 0000000..f989067 --- /dev/null +++ b/_sakura/templates/misaki/main/index.tpl @@ -0,0 +1,30 @@ +{% include 'global/header.tpl' %} +
+
+

a

+
+
+ {# include 'elements/indexRight.tpl' #} +
+
+ {% for newsPost in newsPosts %} + {% include 'elements/newsPost.tpl' %} + {% endfor %} +
+
+ + +
+{% include 'global/footer.tpl' %} diff --git a/_sakura/templates/misaki/main/infopage.tpl b/_sakura/templates/misaki/main/infopage.tpl new file mode 100644 index 0000000..d87de15 --- /dev/null +++ b/_sakura/templates/misaki/main/infopage.tpl @@ -0,0 +1,5 @@ +{% include 'global/header.tpl' %} +
+ {{ page.content|raw }} +
+{% include 'global/footer.tpl' %} diff --git a/_sakura/templates/misaki/main/profile.tpl b/_sakura/templates/misaki/main/profile.tpl new file mode 100644 index 0000000..a17382c --- /dev/null +++ b/_sakura/templates/misaki/main/profile.tpl @@ -0,0 +1,138 @@ +{% include 'global/header.tpl' %} +{% if profile.notset or profile.user.id == 0 or profile.user.password_algo == 'nologin' %} +user not found, don't forget to make this sexy +{% else %} +
+
+
+
+ {{ profile.user.username }}'s Avatar +
+
+ {{ profile.user.username }} +
+
+ {{ profile.ranktitle }} +
+
+
+
+
Joined {{ profile.user.regdate|date("l Y-m-d H:i T") }}
+
{% if profile.user.lastdate == 0 %}User hasn't logged in yet.{% else %}Last Active {{ profile.user.lastdate|date("l Y-m-d H:i T") }}{% endif %}
+
+
+
+
+
+ {% if profile.user.rank_main > 1 %} +
+
+
    +
  • Tenshi
  • +
  • Staff
  • +
  • Developer
  • +
  • Alumnii
  • +
+
+
+
+
+ {% if user.checklogin %} + {% if profile.fields %} + {% for name,field in profile.fields %} +
+
{{ field.name }}
+ +
+
+ {% endfor %} + {% else %} +
+
+
This user has not set any accounts yet.
+
+ {% endif %} + {% else %} +
+
+
Log in to view the full profile.
+
+ {% endif %} +
+
+ {% endif %} +
+
+
Account Standing
+
Deactivated + {% else %} + {% if profile.warnings %} + #F22;">Bad + {% else %} + #2F2;">Good + {% endif %} + {% endif %} +
+ {% if profile.warnings %} +
This user has {{ profile.warnings|length }} warning{% if profile.warnings|length != 1 %}s{% endif %}!
+
After 10 warnings a user may be permanently banned.
+ {% endif %} +
+
+
+ +
+
+
+{% if profile.user.userData.profileBackground %} + +{% endif %} +{% endif %} +{% include 'global/footer.tpl' %} diff --git a/_sakura/templates/misaki/main/search.tpl b/_sakura/templates/misaki/main/search.tpl new file mode 100644 index 0000000..a696565 --- /dev/null +++ b/_sakura/templates/misaki/main/search.tpl @@ -0,0 +1,16 @@ +{% include 'global/header.tpl' %} +

search

+ + + +{% include 'global/footer.tpl' %} diff --git a/_sakura/templates/misaki/template.ini b/_sakura/templates/misaki/template.ini new file mode 100644 index 0000000..f62e3bd --- /dev/null +++ b/_sakura/templates/misaki/template.ini @@ -0,0 +1,14 @@ +; Sakura Template Configuration + +[meta] +; Display name of the style, only used in the admin section of the management panel. +name = Misaki +; Author of this template. +author = Flashwave +; If you set a URL below your name becomes a clickable link in the management panel. +author_url = https://flash.moe + +[manage] +; This defines whether the template is intended for the management panel. +; When it's incorrect Sakura will halt execution of the script. +mode = 0 diff --git a/content/data/misaki/css/error.css b/content/data/misaki/css/error.css new file mode 100644 index 0000000..f975638 --- /dev/null +++ b/content/data/misaki/css/error.css @@ -0,0 +1,103 @@ +html, +body { + min-height: 100%; + width: 90; +} + +html { + background: url('/images/satori-error.png') top right no-repeat #FFF; + font-family: 'verdana', sans-serif; + font-size: .8em; +} + +body { + margin: 0 2em; +} + +#wrap { + max-width: 34em; +} + +h1, +h2, +h3, +p { + margin: 0; + padding: 0; + font-size: 1em; + font-weight: normal; +} + +h1 { + font-size: 1.5em; + margin: 1.33em 0; +} + +h1 img { + margin: 0 .5em -.75em 0; +} + +p { + padding: 0; + margin: 2em 0; + line-height: 1.33em; +} + +hr { + margin: 1.9em 0; + background: #BBB; + border: none; +} + +ul { + padding: .75em 0 0 0; +} + +li { + margin: 0px 0px 0.8em 3.46em; + line-height: 1.32em; +} + +a { + color: red; +} + +img+a:before { + content: " "; +} + +h3 { + margin: 2.5em 0; +} + +li:nth-child(3) img { + margin: -0.2em 0; +} + +li:nth-child(4) img { + margin: -0.5em 0; +} + +table { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + opacity: 0; + display: none; +} + +table, +tr, +td { + background: rgba(0, 0, 0, .2); + height: 100%; + width: 100%; + text-align: center; +} + +table img { + border-radius: 32px; + box-shadow: 0 4px 32px #888; +} diff --git a/content/data/misaki/css/markdown.css b/content/data/misaki/css/markdown.css new file mode 100644 index 0000000..3c6f138 --- /dev/null +++ b/content/data/misaki/css/markdown.css @@ -0,0 +1,108 @@ +/* + * Markdown Elements + */ +@charset "utf-8"; + +.markdown { + font: 12px/1.4 "Aller", sans-serif; + word-wrap: break-word; + color: #DDD; +} + +.markdown h1, +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + border-bottom: 1px solid; + padding-bottom: 5px; + font-weight: 700; + font-family: "Exo2-0-Italic", sans-serif; +} + +.markdown p, +.markdown blockquote, +.markdown ul, +.markdown ol, +.markdown dl, +.markdown table, +.markdown pre { + margin-top: 0; + margin-bottom: 16px; +} + +.markdown hr { + border: 0; + height: 1px; + color: #000; + background: #000; + margin: 0; +} + +.markdown table { + display: block; + width: 100%; + overflow: auto; + word-break: keep-all; + border-collapse: collapse; + border-spacing: 0; +} + +.markdown table tr { + border-spacing: 0; + border: 1px solid rgba(148, 117, 178, .6); +} + +.markdown table th, +.markdown table td { + padding: 6px 13px; + border: 1px solid rgba(148, 117, 178, .6); +} + +.markdown table tr:nth-child(even) { + background: rgba(148, 117, 178, .2); +} + +.markdown hr { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAEAQMAAAHgzeyWAAAABlBMVEX///////9VfPVsAAAAAnRSTlMAM8lDrC4AAAAYSURBVAjXY2BgaGBgYHBgSGA4wGDB8AAAELgC+QawOaIAAAAASUVORK5CYII=') repeat-x scroll 0 0 transparent; + border: 0 none; + color: #CCC; + height: 4px; + padding: 0; + margin: 15px 0; +} + +.markdown blockquote { + border-left: 4px solid rgba(148, 117, 178, .6); + padding: 0 15px; + color: #AAA; +} + +.markdown blockquote > blockquote { + margin-left: 0; +} + +.markdown blockquote > :last-child { + margin-bottom: 0; +} + +.markdown pre { + word-wrap: normal; +} + +.markdown .highlight pre, +.markdown pre { + background: rgba(148, 117, 178, .2); + border: 1px solid rgba(148, 117, 178, .6); + font-size: 13px; + line-height: 19px; + overflow: auto; + padding: 6px 10px; + color: #FFF; +} + +.markdown ul, +.markdown ol { + margin-left: 40px; +} diff --git a/content/data/misaki/css/misaki.css b/content/data/misaki/css/misaki.css new file mode 100644 index 0000000..d3f5a35 --- /dev/null +++ b/content/data/misaki/css/misaki.css @@ -0,0 +1,623 @@ +/* + * Sakura Misaki Style + * By Flashwave + */ + +/* + * Import fonts + */ +@import url('//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css'); /* Font Awesome */ +@import url('/fonts/springsteel-light/font.css'); /* Springsteel Light */ +@import url('/fonts/exo2-0-italic/font.css'); /* Exo 2.0 Italic */ +@import url('/fonts/exo2-0-light/font.css'); /* Exo 2.0 Light */ +@import url('/fonts/exo2-0-lightitalic/font.css'); /* Exo 2.0 Light Italic */ +@import url('/fonts/aller/font.css'); /* Aller */ + +/* + * Import markdown stylesheet + */ +@import url('markdown.css'); + +/* + * Reset margin and padding + */ +* { + margin: 0; + padding: 0; +} + +/* + * Global Elements + */ +html, +body { + width: 100%; + height: 100%; +} + +body { + background: linear-gradient(0deg, #4D3E5A, #9475B2) no-repeat scroll left top #4D3E5A; + background-size: cover; + color: #FFF; + font: 400 12px/20px "Exo2-0-Light", sans-serif; +} + +#container { + min-height: 100%; + width: 100%; + position: relative; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAAHe9q7oAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUE0RkZFMTkwMTZGMTFFNUI3MEZGMjQwREFFNEY5NDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUE0RkZFMUEwMTZGMTFFNUI3MEZGMjQwREFFNEY5NDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFQTRGRkUxNzAxNkYxMUU1QjcwRkYyNDBEQUU0Rjk0OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFQTRGRkUxODAxNkYxMUU1QjcwRkYyNDBEQUU0Rjk0OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlUBbIQAAAAsSURBVHjaYmBgYHAACCAGEAEQQIwwFkAAgRgLQAwmBigACDAWmAgMMDGgAQBg+AILS4buPwAAAABJRU5ErkJggg=='); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Springsteel-Light", sans-serif; +} + +h1.sectionHead { + font-style: italic; + font-size: 72px; + color: rgb(148, 117, 178); + opacity: 0.5; + font-weight: 100; + line-height: 90px; + margin: 10px 20px; +} + +a.clean, +a.underline { + color: inherit !important; + text-decoration: none !important; +} + +a.underline:hover { + text-decoration: underline !important; +} + +a { + color: #66A; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a:active { + color: #A66; +} + +/* + * Attribute classes + */ +.hidden { + display: none; + visibility: hidden; +} + +.clear { + clear: both; + float: none !important; +} + +.floatLeft { + float: left; +} + +.floatRight { + float: right; +} + +.leftAlign { + text-align: left; +} + +.centreAlign { + text-align: center; +} + +.rightAlign { + text-align: right; +} + +/* + * Header Fade + */ +.header-fade { + height: 500px; + width: 100%; + background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .35) 50%, rgba(0, 0, 0, .45) 60%, rgba(0, 0, 0, .53) 70%, rgba(0, 0, 0, .44) 77%, rgba(0, 0, 0, .4) 80%, rgba(0, 0, 0, 0) 100%) transparent; + z-index: -1; + position: absolute; + top: 0; +} + +/* + * Site footer + */ +#footer { + height: 100px; + width: 100%; + background: linear-gradient(0deg, rgba(0, 0, 0, .4), rgba(0, 0, 0, 0)) transparent; + position: absolute; + bottom: 0; + font-family: "Exo2-0-LightItalic", sans-serif; +} + +#footer > .inner { + max-width: 1024px; + margin: 0 auto; +} + +#footer > .inner > .ft-logo { + background: url('../images/image-logo.svg') no-repeat scroll center center / cover; + height: 100px; + width: 100px; + float: left; + opacity: .5; +} + +#footer > .inner > .ft-text { + margin-left: 10px; + margin-top: 2.6em; + float: left; +} + +/* + * Site header + */ +#header { + height: 164px; + max-width: 1024px; + margin: 0 auto; +} + +#header > * { + display: inline-block; +} + +#header .logo { + background: url('../images/image-logo.svg') no-repeat scroll center center / cover; + height: 200px; + width: 200px; + position: relative; + bottom: -49px; + left: -18px; + z-index: 1; +} + +#header .text { + background: url('../images/text-logo.svg') no-repeat scroll center center / cover; + height: 100px; + width: 460px; + position: relative; + left: -158px; + top: -69px; +} + +#header .image { + background: url('../images/right-header.png') no-repeat scroll center center / cover; + height: 164px; + width: 200px; + position: relative; +} + +#header .social { + position: relative; + left: -200px; + z-index: 1; + font-size: 2em; + background: rgba(0, 0, 0, .4); + float: right; + padding: 3px; + border-radius: 0 0 5px 5px; +} + +#header .social > ul { + list-style: none; +} + +#header .social > ul > li { + float: left; + margin: 5px; +} + +#header .social > ul > li > a { + color: inherit; + text-decoration: none; + text-shadow: 0 0 2px #fcfcfc; + transition: .4s; +} + +#header .social > ul > li > a:hover { + color: #eee; + text-shadow: 0 0 6px #fcfcfc; +} + +#header .social > ul > li > a:active { + color: #ccc; + text-shadow: 0 0 3px #fcfcfc; +} + +/* + * Wrapper + */ +#wrapper { + padding-bottom: 130px; +} + +#wrapper > #content { + position: relative; + max-width: 1018px; + margin: 0 auto; + background: #231C29; + box-shadow: 0 0 7px rgba(255, 255, 255, .2); + z-index: 4; + padding: 2px; + border: 1px solid rgba(148, 117, 178, .6); +} + +/* + * Header navigation + */ +#content > #navigation { + width: 100%; + height: 30px; + background: linear-gradient(0deg, transparent, #453851 50%, #342740) transparent; + font-family: "Exo2-0-LightItalic", sans-serif; + font-size: 2em; + line-height: 30px; + letter-spacing: 0px; + text-shadow: 1px 1px 3px #111; + margin-bottom: 5px; + position: relative; + z-index: 900; +} + +#content > #navigation > ul > li { + list-style: none; + float: left; +} + +#content > #navigation > ul > li > a:not(.ignore) { + min-width: 80px; + display: inline-block; + text-align: center; + color: inherit; + text-decoration: none; + padding: 0 10px; + transition: .2s; +} + +#content > #navigation > ul > li > a { + z-index: 901; + position: relative; +} + +#content > #navigation > .nav-left > li > a:not(.ignore):hover { + background: rgba(0, 0, 0, .2); +} + +#content > #navigation > .nav-left > li > a:not(.ignore):active { + background: rgba(0, 0, 0, .3); +} + +#content > #navigation .nav-usermenu > a { + display: block !important; + text-align: right !important; +} + +#content > #navigation .nav-usermenu > a:after { + font-family: FontAwesome; + content: " \f0d7"; +} + +#content > #navigation .nav-usermenu:hover > a:after { + font-family: FontAwesome; + content: " \f0d8"; +} + +#content > #navigation .nav-avatar { + height: 30px; + width: 30px; + background: url('/pixel.png') no-repeat scroll left center / contain transparent; +} + +#content > #navigation > ul > li > ul { + display: none; +} + +#content > #navigation > ul > li:hover > ul { + display: block; + z-index: 900; + background: rgba(69, 56, 81, .5); + position: absolute; + top: 0px; + right: 0px; + list-style: none; + padding: 35px 4px 5px; +} + +#content > #navigation > ul > li > ul > li > a { + color: inherit; + text-decoration: none; + display: block; + transition: .2s; + padding: 2px 7px; +} + +#content > #navigation > ul > li > ul > li > a:hover { + background: rgba(0, 0, 0, .1); +} + +#content > #navigation > ul > li > ul > li > a:active { + background: rgba(0, 0, 0, .2); +} + +#content > #navigation .nav-usermenu ul { + right: -30px; + text-align: right; + min-width: 150px; +} + +/* + * Profiles + */ +.profile { + text-shadow: 1px 1px 2px rgba(0, 0, 0, .75); + font-family: "Exo2-0-LightItalic", sans-serif; + position: relative; + top: -35px; +} + +.profile .profilePlatform { + background: rgba(148, 117, 178, .2); + box-shadow: 0 2px 6px rgba(0, 0, 0, .75); + margin-left: 10px; + margin-top: 10px; +} + +.profile .profilePlatform > .inner { + padding: 5px 7px; + display: block; +} + +.profile .profilePlatform > a.inner { + cursor: pointer; + text-decoration: none; + color: inherit; +} + +.profile > .profileHeader { + height: 250px; + color: #8364a1; + float: left; + width: 100%; +} + +.profile > .profileHeader > .profileFade { + background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .7) 30%, rgba(0, 0, 0, 0) 100%); + height: 160px; + width: 100%; + position: relative; + top: 60px; + z-index: 1; +} + +.profile > .profileHeader > .headerLeft > .userAvatar { + height: 200px; + width: 200px; + position: relative; + top: -100px; + z-index: 2; + margin-left: 10px; + border-radius: 2px; + box-shadow: 0 2px 6px rgba(0, 0, 0, .75); + float: left; +} + +.profile > .profileHeader > .headerLeft > .userData { + position: relative; + top: -16px; + float: left; + margin: 0 10px; + z-index: 3; +} + +.profile > .profileHeader > .headerLeft > .userData > .profileUsername { + font-size: 3em; + line-height: .8em; +} + +.profile > .profileHeader > .headerLeft > .userData > .profileUsertitle { + margin-left: 12px; +} + +.profile > .profileHeader > .joinedLast { + position: relative; + top: -10px; + z-index: 3; + float: right; + text-align: right; + margin-right: 10px; +} + +.profile > .profileContent > .userDataBar { + float: left; + width: 210px; + margin-top: 10px; +} + +.profile > .profileContent > .userDataBar > .hierarchyContainer > .inner > .hierarchies { + list-style: none; + font-size: 2.5em; + line-height: 1.2em; +} + +.profile > .profileContent > .userDataBar > .hierarchyContainer > .inner > .hierarchies > li:before { + font-family: "FontAwesome"; + width: 36px; + padding-right: 3px; + text-align: center; + display: inline-block; + color: #FFF; + text-shadow: 0 0 3px #fcfcfc; +} + +.profile > .profileContent > .userDataBar > .hierarchyContainer > .inner > .hierarchies > .tenshi { + color: #ee9400; +} + +.profile > .profileContent > .userDataBar > .hierarchyContainer > .inner > .hierarchies > .tenshi:before { + content: "\f004"; +} + +.profile > .profileContent > .userDataBar > .hierarchyContainer > .inner > .hierarchies > .staff { + color: #09f; +} + +.profile > .profileContent > .userDataBar > .hierarchyContainer > .inner > .hierarchies > .staff:before { + content: "\f0e3"; +} + +.profile > .profileContent > .userDataBar > .hierarchyContainer > .inner > .hierarchies > .developer { + color: #824ca0; +} + +.profile > .profileContent > .userDataBar > .hierarchyContainer > .inner > .hierarchies > .developer:before { + content: "\f121"; +} + +.profile > .profileContent > .userDataBar > .hierarchyContainer > .inner > .hierarchies > .alumnii { + color: #ff69b4; +} + +.profile > .profileContent > .userDataBar > .hierarchyContainer > .inner > .hierarchies > .alumnii:before { + content: "\f005"; +} + +.profile > .profileContent > .userDataBar > .userAccounts > .inner > .field > div:nth-child(1) { + float: left; + font-weight: bold; +} + +.profile > .profileContent > .userDataBar > .userAccounts > .inner > .field > div:nth-child(2) { + float: right; +} + +.profile > .profileContent > .userDataBar > .userAccounts > .inner > .noAccounts > .fa { + font-size: 3em; +} + +.profile > .profileContent > .userDataBar > .userAccounts > .inner > .noAccounts { + font-size: 1.5em; + line-height: 1em; + text-align: center; +} + +.profile > .profileContent > .userDataBar > .accountStanding > .inner > .title { + font-size: 1.5em; + line-height: 1em; + font-weight: bold; +} + +.profile > .profileContent > .userDataBar > .accountStanding > .inner > .standing { + font-size: 2.5em; + line-height: 1.5em; + text-align: center; +} + +.profile > .profileContent > .userPage { + float: left; + width: 800px; +} + +.profile > .profileContent > .userPage > .statsRow > div { + float: left; + width: 200px; + font-size: 2.5em; + line-height: 1em; +} + +.profile > .profileContent > .userPage > .statsRow > div > .inner > .count { + font-size: 1.2em; + line-height: 1em; + text-align: right; +} + +.profile > .profileContent > .userPage > .statsRow > .forumStats { + width: 370px; +} + +.profile > .profileContent > .userPage > .statsRow > .forumStats > .inner > .forumStatTitle { + float: left; +} + +.profile > .profileContent > .userPage > .statsRow > .forumStats > .inner > .forumStatCount { + float: right; + text-align: right; +} + +.profile > .profileContent > .userPage > .statsRow > .forumStats > .inner > .forumStatCount > a { + display: block; + text-decoration: none; + color: inherit; +} + +.profile > .profileContent > .userPage > .statsRow > .forumStats > .inner > .forumStatCount > .posts { + font-size: .8em; + line-height: 1.25em; +} + +.profile > .profileContent > .userPage > .statsRow > .forumStats > .inner > .forumStatCount > .threads { + font-size: 1.2em; + line-height: 1em; +} + +/* + * Homepage + */ + +/* + * News + */ +.news-post > .news-header { + background: linear-gradient(90deg, #4d3e5a, transparent); + font-family: "Exo2-0-LightItalic", sans-serif; + height: 40px; +} + +.news-post > .news-header > .news-title { + font-size: 2em; + line-height: 40px; + color: inherit; + text-decoration: none; + text-transform: lowercase; + margin-left: 10px; +} + +.news-post > .news-header > .news-details { + text-align: right; + line-height: 16px; + margin-top: 4px; + margin-right: 10px; +} + +.news-post > .news-content > .news-avatar { + float: right; +} + +.news-post > .news-content > .news-avatar > img { + max-height: 125px; + max-width: 125px; + margin: 6px; + box-shadow: 0 2px 3px #000; +} + +.news-post > .news-content > .news-text { + padding: 3px 4px; +} diff --git a/content/data/misaki/images/404-back.gif b/content/data/misaki/images/404-back.gif new file mode 100644 index 0000000..757aafa Binary files /dev/null and b/content/data/misaki/images/404-back.gif differ diff --git a/content/data/misaki/images/404-info.gif b/content/data/misaki/images/404-info.gif new file mode 100644 index 0000000..f374425 Binary files /dev/null and b/content/data/misaki/images/404-info.gif differ diff --git a/content/data/misaki/images/404-search.gif b/content/data/misaki/images/404-search.gif new file mode 100644 index 0000000..b867204 Binary files /dev/null and b/content/data/misaki/images/404-search.gif differ diff --git a/content/data/misaki/images/image-logo.svg b/content/data/misaki/images/image-logo.svg new file mode 100644 index 0000000..7e451ff --- /dev/null +++ b/content/data/misaki/images/image-logo.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/data/misaki/images/right-header.png b/content/data/misaki/images/right-header.png new file mode 100644 index 0000000..8aad3cf Binary files /dev/null and b/content/data/misaki/images/right-header.png differ diff --git a/content/data/misaki/images/text-logo.svg b/content/data/misaki/images/text-logo.svg new file mode 100644 index 0000000..ed005d1 --- /dev/null +++ b/content/data/misaki/images/text-logo.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/data/misaki/js/misaki.js b/content/data/misaki/js/misaki.js new file mode 100644 index 0000000..5abd0f7 --- /dev/null +++ b/content/data/misaki/js/misaki.js @@ -0,0 +1,81 @@ +/* + * Sakura Misaki JavaScript + */ + +// Get or set cookies +function cookieData(action, name, data) { + + switch(action) { + + case 'get': + return (result = new RegExp('(^|; )' + encodeURIComponent(name) + '=([^;]*)').exec(document.cookie)) ? result[2] : ''; + + case 'set': + document.cookie = name + '=' + data; + return null; + + default: + return null; + + } + +} + +// Initialising the element parallax functionality +function initialiseParallax(id) { + + // Assign the element to a variable + var parallax = document.getElementById(id); + + // Set proper position values + parallax.style.top = '-2.5px'; + parallax.style.bottom = '-2.5px'; + parallax.style.left = '-2.5px'; + parallax.style.right = '-2.5px'; + + // Add the event listener to the body element + document.addEventListener("mousemove", function(e) { + + // Alter the position of the parallaxed element + parallax.style.top = convertParallaxPositionValue(e.clientY, true, false) + 'px'; + parallax.style.bottom = convertParallaxPositionValue(e.clientY, true, true) + 'px'; + parallax.style.left = convertParallaxPositionValue(e.clientX, false, false) + 'px'; + parallax.style.right = convertParallaxPositionValue(e.clientX, false, true) + 'px'; + + }); + +} + +// Converting the position value of the mouseover to a pixel value +function convertParallaxPositionValue(pos, dir, neg) { + + // Get the body element + var body = document.getElementsByTagName('body')[0]; + + // Get percentage of current position + var position = (pos / (dir ? body.clientHeight : body.clientWidth)) * 100; + + // If someone decided to fuck with the inputs reset it to 0% + if(position < 0 || position > 100) { + + position = 0; + + } + + // Do the first maths + position = (position / (dir ? 25 : 20)) - 2.5; + + // If the negative flag is set inverse the number + if(neg) { + + position = -position; + + } + + // Subtract another 2.5 to make the element not go all over the place + position = position - 2.5; + + // Return the proper position value + return position; + +}