Bläddra i källkod

스킨 이름 변경

Surplus_Up (2DU) 6 år sedan
förälder
incheckning
60aa14a2b0

+ 2 - 2
route/tool/func.py

@@ -348,7 +348,7 @@ def ip_warring():
     return text_data
 
 def skin_check(set_n = 0):
-    skin = 'neo_yousoro'
+    skin = 'marisa'
 
     curs.execute('select data from other where name = "skin"')
     skin_exist = curs.fetchall()
@@ -694,7 +694,7 @@ def load_skin(data = '', set_n = 0):
             curs.execute('select data from other where name = "skin"')
             data = curs.fetchall()
             if not data:
-                data = [['neo_yousoro']]
+                data = [['marisa']]
 
         if set_n == 0:
             for skin_data in os.listdir(os.path.abspath('views')):

+ 29 - 29
views/neo_yousoro/LICENSE → views/marisa/LICENSE

@@ -1,29 +1,29 @@
-BSD 3-Clause License
-
-Copyright (c) 2018, Surplus_Up (2DU)
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
-  list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
-  this list of conditions and the following disclaimer in the documentation
-  and/or other materials provided with the distribution.
-
-* Neither the name of the copyright holder nor the names of its
-  contributors may be used to endorse or promote products derived from
-  this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+BSD 3-Clause License
+
+Copyright (c) 2018, Surplus_Up (2DU)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+  contributors may be used to endorse or promote products derived from
+  this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 2 - 0
views/marisa/README.md

@@ -0,0 +1,2 @@
+## 개요
+오픈나무 공식 스킨 입니다. Nitori 스킨이랑 자매 관계 입니다.

+ 431 - 426
views/neo_yousoro/css/main.css → views/marisa/css/main.css

@@ -1,427 +1,432 @@
-body {
-    max-width: 100%;
-    word-break: break-all;
-    word-wrap: break-word;
-    margin: 0;
-    font-family: "나눔고딕", "nanumgothic", "Nanum Gothic", "KoPub Dotum", "Malgun Gothic", "맑은 고딕", "sans-serif";
-}
-
-ul {
-    padding: 0;
-    padding-left: 10px;
-}
-
-input {
-    padding: 5px;
-}
-
-select {
-    padding: 5px;
-}
-
-hr {
-    border: 0;
-    border-top: 1px solid gainsboro;
-}
-
-button {
-    padding: 10px;
-    border: 2px solid gainsboro;
-    background: white;
-    cursor: pointer;
-}
-
-code {
-    background: gainsboro;
-}
-
-td {
-    border: 1px solid gainsboro;
-}
-
-li {
-    margin-left: 20px;
-}
-
-#background {
-    background: gainsboro;
-}
-
-#top {
-    width: 100%;
-    background: #4a4a4a;
-    padding: 15px;
-    padding-right: 0;
-    padding-left: 0;
-    position: relative;
-    top: 0;
-    left: 0;
-    height: 20px;
-}
-
-#main {
-    margin: auto;
-    margin-top: -20px;
-    padding: 20px;
-    padding-bottom: 20px;
-    background: white;
-    min-height: 350px;
-}
-
-#bottom {
-    width: 100%;
-    background: white;
-    padding-bottom: 20px;
-}
-
-#top_main {
-    margin: auto;
-}
-
-#bottom_main {
-    margin: auto;
-    margin-top: 20px;
-}
-
-#tool {
-    float: right;
-    border: 2px solid gainsboro;
-    padding: 10px;
-    border-radius: 10px;
-}
-
-@media (min-width: 780px) and (max-width: 1350px) {
-    #main {
-        width: 90%;
-    }
-
-    #top_main {
-        width: 90%;
-    }
-
-    #bottom_main {
-        width: 90%;
-    }
-
-    .is_mobile {
-        display: none;
-    }
-}
-
-
-@media (min-width: 1350px) and (max-width: 1590px) {
-    #main {
-        width: 70%;
-    }
-
-    #top_main {
-        width: 70%;
-    }
-
-    #bottom_main {
-        width: 70%;
-    }
-
-    .is_mobile {
-        display: none;
-    }
-}
-
-@media (min-width: 1590px) {
-    #main {
-        width: 55%;
-    }
-
-    #top_main {
-        width: 55%;
-    }
-
-    #bottom_main {
-        width: 55%;
-    }
-
-    .is_mobile {
-        display: none;
-    }
-}
-
-@media (max-width: 780px) {
-    #main {
-        width: 90%;
-        border-left: none;
-        border-right: none;
-    }
-
-    #top_main {
-        width: 90%;
-    }
-
-    #bottom_main {
-        width: 90%;
-    }
-
-    .not_mobile {
-        display: none;
-    }
-
-    #tool {
-        float: none;
-        width: 90%;
-        margin-bottom: 10px;
-    }
-}
-
-h1 {
-    border-bottom: 1px solid gainsboro;
-    padding-bottom: 10px;
-}
-
-h2 {
-    border-bottom: 1px solid gainsboro;
-    padding-bottom: 10px;
-}
-
-h3 {
-    border-bottom: 1px solid gainsboro;
-    padding-bottom: 10px;
-}
-
-h4 {
-    border-bottom: 1px solid gainsboro;
-    padding-bottom: 10px;
-}
-
-h5 {
-    border-bottom: 1px solid gainsboro;
-    padding-bottom: 10px;
-}
-
-h6 {
-    border-bottom: 1px solid gainsboro;
-    padding-bottom: 10px;
-}
-
-#tool_cel {
-    display: inline-block;
-}
-
-#main_top {
-    width: 100%;
-}
-
-#logo {
-    display: inline-block;
-}
-
-#top_tool {
-    float: right;
-    color: white;
-    margin-top: -5px;
-}
-
-.cel_in_cel {
-    border: 2px solid gainsboro;
-    padding: 10px;
-    position: absolute;
-    background: white;
-    margin-top: 10px;
-    border-radius: 10px;
-}
-
-#top_tool_cel {
-    display: inline-block;
-}
-
-#search {
-    display: inline-block;
-    width: 300px;
-}
-
-#mobile_search {
-    width: 100%;
-}
-
-#search_input {
-    width: 220px;
-    border-radius: 10px;
-}
-
-div#pre_search {
-    padding: 10px;
-    border: 2px solid #4a4a4a;
-    width: 200px;
-    color: black;
-    margin-top: 5px;
-    background: white;
-    border-radius: 10px;
-    position: absolute;
-}
-
-div#pre_search a {
-    color: dodgerblue;
-}
-
-#search button {
-    padding: 0;
-    border: none;
-    background: transparent;
-    color: white;
-}
-
-#mobile_search button {
-    padding: 0;
-    border: none;
-    background: transparent;
-}
-
-#mobile_button_first {
-    margin-top: 10px;
-}
-
-#top_tool_mobile {
-    float: right;
-}
-
-#mobile_menu {
-    width: 200px;
-    height: 100%;
-    position: fixed;
-    top: 0;
-    right: 0;
-    background: white;
-    border-left: 2px solid gainsboro;
-    z-index: 1;
-}
-
-#mobile_menu_main {
-    width: 90%;
-    margin: auto;
-    margin-top: 5%;
-}
-
-#toc {
-    max-width: 300px;
-}
-
-#top a {
-    color: white;
-}
-
-#top .cel_in_cel a {
-    color: black;
-}
-
-a {
-    color: dodgerblue;
-}
-
-#syntax {
-    background: #f0f0f0;
-    padding: 5px;
-    border-radius: 10px;
-}
-
-pre {
-    border: 2px solid gainsboro;
-    border-radius: 10px;
-}
-
-textarea {
-    border: 2px solid gainsboro;
-    font-family: '나눔고딕', 'nanumgothic', "Nanum Gothic","KoPub Dotum","Malgun Gothic","맑은 고딕",sans-serif;
-    padding: 0;
-}
-
-input {
-    border: 2px solid gainsboro;
-    font-family: '나눔고딕', 'nanumgothic', "Nanum Gothic","KoPub Dotum","Malgun Gothic","맑은 고딕",sans-serif;
-}
-
-#toc {
-    border: 2px solid gainsboro;
-    border-radius: 10px;
-}
-
-#cate {
-    border: 2px solid gainsboro;
-    border-radius: 10px;
-}
-
-#syntax code {
-    background: transparent;
-}
-
-#redirect {
-    border: 2px solid gainsboro;
-    border-radius: 10px;
-}
-
-#go_toc {
-    display: inline-block;
-    padding: 10px;
-    width: 25px;
-}
-
-#go_top {
-    display: inline-block;
-    padding: 10px;
-    width: 25px;
-}
-
-#go_bottom {
-    display: inline-block;
-    padding-left: 5px;
-    padding-right: 5px;
-    width: 25px;
-}
-
-#nav_bar {
-    font-size: 24px;
-    position: fixed;
-    bottom: 0;
-    right: 0;
-    border: 2px solid #4a4a4a;
-    background: #4a4a4a;
-    text-align: center;
-    border-radius: 10px 0px 0px 0px;
-}
-
-#nav_bar a {
-    color: white;
-}
-
-blockquote {
-    padding: 1em calc(2em + 25px) 1em 1em;
-    margin: 1em 0em 0em;
-    background: #eeeeee;
-    border: 2px dashed #ccc;
-    border-left: 5px solid black;
-}
-
-#out_link::before {
-    font-family: "Font Awesome 5 Free";
-    content: "\f360";
-    font-weight: 900;
-    background: transparent;
-    color: green;
-}
-
-a:hover {
-    text-decoration: underline;
-}
-
-#mobile_menu a:hover, #top a:hover {
-    text-decoration: none;
-}
-
-h1#title {
-    margin-bottom: 10px;
-}
-
-div#last_edit {
-    margin-bottom: 20px;
-}
-
-#topic_color {
-    color: limegreen;
+body {
+    max-width: 100%;
+    word-break: break-all;
+    word-wrap: break-word;
+    margin: 0;
+    font-family: "나눔고딕", "nanumgothic", "Nanum Gothic", "KoPub Dotum", "Malgun Gothic", "맑은 고딕", "sans-serif";
+}
+
+ul {
+    padding: 0;
+    padding-left: 10px;
+}
+
+input {
+    padding: 5px;
+}
+
+select {
+    padding: 5px;
+}
+
+hr {
+    border: 0;
+    border-top: 1px solid gainsboro;
+}
+
+button {
+    padding: 10px;
+    border: 2px solid gainsboro;
+    background: white;
+    cursor: pointer;
+}
+
+code {
+    background: gainsboro;
+}
+
+td {
+    border: 1px solid gainsboro;
+}
+
+li {
+    margin-left: 20px;
+}
+
+#background {
+    background: gainsboro;
+}
+
+#top {
+    width: 100%;
+    background: #4a4a4a;
+    padding: 15px;
+    padding-right: 0;
+    padding-left: 0;
+    position: relative;
+    top: 0;
+    left: 0;
+    height: 20px;
+}
+
+#main {
+    margin: auto;
+    margin-top: -20px;
+    padding: 20px;
+    padding-bottom: 20px;
+    background: white;
+    min-height: 350px;
+}
+
+#bottom {
+    width: 100%;
+    background: white;
+    padding-bottom: 20px;
+}
+
+#top_main {
+    margin: auto;
+}
+
+#bottom_main {
+    margin: auto;
+    margin-top: 20px;
+}
+
+#tool {
+    float: right;
+    border: 2px solid gainsboro;
+    padding: 10px;
+    border-radius: 10px;
+}
+
+@media (min-width: 780px) and (max-width: 1350px) {
+    #main {
+        width: 90%;
+    }
+
+    #top_main {
+        width: 90%;
+    }
+
+    #bottom_main {
+        width: 90%;
+    }
+
+    .is_mobile {
+        display: none;
+    }
+}
+
+
+@media (min-width: 1350px) and (max-width: 1590px) {
+    #main {
+        width: 70%;
+    }
+
+    #top_main {
+        width: 70%;
+    }
+
+    #bottom_main {
+        width: 70%;
+    }
+
+    .is_mobile {
+        display: none;
+    }
+}
+
+@media (min-width: 1590px) {
+    #main {
+        width: 55%;
+    }
+
+    #top_main {
+        width: 55%;
+    }
+
+    #bottom_main {
+        width: 55%;
+    }
+
+    .is_mobile {
+        display: none;
+    }
+}
+
+@media (max-width: 780px) {
+    #main {
+        width: 90%;
+        border-left: none;
+        border-right: none;
+    }
+
+    #top_main {
+        width: 90%;
+    }
+
+    #bottom_main {
+        width: 90%;
+    }
+
+    .not_mobile {
+        display: none;
+    }
+
+    #tool {
+        float: none;
+        width: 90%;
+        margin-bottom: 10px;
+    }
+}
+
+h1 {
+    border-bottom: 1px solid gainsboro;
+    padding-bottom: 10px;
+}
+
+h2 {
+    border-bottom: 1px solid gainsboro;
+    padding-bottom: 10px;
+}
+
+h3 {
+    border-bottom: 1px solid gainsboro;
+    padding-bottom: 10px;
+}
+
+h4 {
+    border-bottom: 1px solid gainsboro;
+    padding-bottom: 10px;
+}
+
+h5 {
+    border-bottom: 1px solid gainsboro;
+    padding-bottom: 10px;
+}
+
+h6 {
+    border-bottom: 1px solid gainsboro;
+    padding-bottom: 10px;
+}
+
+#tool_cel {
+    display: inline-block;
+}
+
+#main_top {
+    width: 100%;
+}
+
+#logo {
+    display: inline-block;
+}
+
+#top_tool {
+    float: right;
+    color: white;
+    margin-top: -5px;
+}
+
+.cel_in_cel {
+    border: 2px solid gainsboro;
+    padding: 10px;
+    position: absolute;
+    background: white;
+    margin-top: 10px;
+    border-radius: 10px;
+}
+
+#top_tool_cel {
+    display: inline-block;
+}
+
+#search {
+    display: inline-block;
+    width: 300px;
+}
+
+#mobile_search {
+    width: 100%;
+}
+
+#search_input {
+    width: 220px;
+    border-radius: 10px;
+}
+
+div#pre_search {
+    padding: 10px;
+    border: 2px solid #4a4a4a;
+    width: 200px;
+    color: black;
+    margin-top: 5px;
+    background: white;
+    border-radius: 10px;
+    position: absolute;
+}
+
+div#pre_search a {
+    color: dodgerblue;
+}
+
+#search button {
+    padding: 0;
+    border: none;
+    background: transparent;
+    color: white;
+}
+
+#mobile_search button {
+    padding: 0;
+    border: none;
+    background: transparent;
+}
+
+#mobile_button_first {
+    margin-top: 10px;
+}
+
+#top_tool_mobile {
+    float: right;
+}
+
+#mobile_menu {
+    width: 200px;
+    height: 100%;
+    position: fixed;
+    top: 0;
+    right: 0;
+    background: white;
+    border-left: 2px solid gainsboro;
+    z-index: 1;
+    overflow-y: scroll;
+}
+
+#mobile_menu button {
+    color: dodgerblue;
+}
+
+#mobile_menu_main {
+    width: 90%;
+    margin: auto;
+    margin-top: 5%;
+}
+
+#toc {
+    max-width: 300px;
+}
+
+#top a {
+    color: white;
+}
+
+#top .cel_in_cel a {
+    color: black;
+}
+
+a {
+    color: dodgerblue;
+}
+
+#syntax {
+    background: #f0f0f0;
+    padding: 5px;
+    border-radius: 10px;
+}
+
+pre {
+    border: 2px solid gainsboro;
+    border-radius: 10px;
+}
+
+textarea {
+    border: 2px solid gainsboro;
+    font-family: '나눔고딕', 'nanumgothic', "Nanum Gothic","KoPub Dotum","Malgun Gothic","맑은 고딕",sans-serif;
+    padding: 0;
+}
+
+input {
+    border: 2px solid gainsboro;
+    font-family: '나눔고딕', 'nanumgothic', "Nanum Gothic","KoPub Dotum","Malgun Gothic","맑은 고딕",sans-serif;
+}
+
+#toc {
+    border: 2px solid gainsboro;
+    border-radius: 10px;
+}
+
+#cate {
+    border: 2px solid gainsboro;
+    border-radius: 10px;
+}
+
+#syntax code {
+    background: transparent;
+}
+
+#redirect {
+    border: 2px solid gainsboro;
+    border-radius: 10px;
+}
+
+#go_toc {
+    display: inline-block;
+    padding: 10px;
+    width: 25px;
+}
+
+#go_top {
+    display: inline-block;
+    padding: 10px;
+    width: 25px;
+}
+
+#go_bottom {
+    display: inline-block;
+    padding-left: 5px;
+    padding-right: 5px;
+    width: 25px;
+}
+
+#nav_bar {
+    font-size: 24px;
+    position: fixed;
+    bottom: 0;
+    right: 0;
+    border: 2px solid #4a4a4a;
+    background: #4a4a4a;
+    text-align: center;
+    border-radius: 10px 0px 0px 0px;
+}
+
+#nav_bar a {
+    color: white;
+}
+
+blockquote {
+    padding: 1em calc(2em + 25px) 1em 1em;
+    margin: 1em 0em 0em;
+    background: #eeeeee;
+    border: 2px dashed #ccc;
+    border-left: 5px solid black;
+}
+
+#out_link::before {
+    font-family: "Font Awesome 5 Free";
+    content: "\f360";
+    font-weight: 900;
+    background: transparent;
+    color: green;
+}
+
+a:hover {
+    text-decoration: underline;
+}
+
+#mobile_menu a:hover, #top a:hover {
+    text-decoration: none;
+}
+
+h1#title {
+    margin-bottom: 10px;
+}
+
+div#last_edit {
+    margin-bottom: 20px;
+}
+
+#topic_color {
+    color: limegreen;
 }

+ 205 - 205
views/neo_yousoro/index.html → views/marisa/index.html

@@ -1,206 +1,206 @@
-<!DOCTYPE html>
-<html>
-    <head>
-        <meta charset="utf-8">
-        <title>{{imp[0]}} - {{imp[1][0]}}</title>
-        {{imp[3][3]|safe}}
-        <link rel="stylesheet" href="/views/neo_yousoro/css/main.css?ver=3">
-        <script src="/views/neo_yousoro/js/main.js?ver=1"></script>
-        <script src="/views/neo_yousoro/js/skin_set.js?ver=1"></script>
-        <script src="/views/neo_yousoro/js/search.js?ver=1"></script>
-        <link   rel="stylesheet"
-                href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"
-                integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr"
-                crossorigin="anonymous">
-        <link rel="shortcut icon" href="/views/main_css/file/favicon.ico?ver=1">
-        {{imp[1][5]|safe}}
-        {{imp[2][3]|safe}}
-        <meta name="title" content="{{imp[0]}} - {{imp[1][0]}}">
-        <meta name="keywords" content="{{imp[1][0]}}">
-        <meta name="description" content="{{data|cut_100}}">
-        <meta name="viewport" content="width=device-width, initial-scale=1">
-    </head>
-    <body>
-        <div id="background">
-            <div id="top">
-                <div id="top_main">
-                    <div id="logo">
-                        <a href="/">{{imp[1][4]|safe}}</a>
-                    </div>
-                    <div id="top_tool" class="not_mobile">
-                        <div id="top_tool_cel">
-                            <a href="javascript:void(0);" onclick="opening('recent_cel');">
-                                <i class="fas fa-exclamation-circle"></i>
-                                {{'recent'|load_lang}}
-                                <i class="fas fa-angle-down"></i>
-                            </a>
-                            <div id="recent_cel" class="cel_in_cel" style="display: none;">
-                                <a href="/recent_changes">
-                                    <i class="fas fa-sync-alt"></i>
-                                    {{'edit'|load_lang}}
-                                </a>
-                                <hr>
-                                <a href="/recent_discuss">
-                                    <i class="fas fa-comment"></i>
-                                    {{'discussion'|load_lang}}
-                                </a>
-                            </div>
-                        </div>
-                         
-                        <div id="top_tool_cel">
-                            <a href="javascript:void(0);" onclick="opening('other_cel');">
-                                <i class="fas fa-plus-circle"></i>
-                                {{'other'|load_lang}}
-                                <i class="fas fa-angle-down"></i>
-                            </a>
-                            <div id="other_cel" class="cel_in_cel" style="display: none;">
-                                <a href="/random">
-                                    <i class="fas fa-random"></i>
-                                    {{'random'|load_lang}}
-                                </a>
-                                <hr>
-                                <a href="/other">
-                                    <i class="fas fa-wrench"></i>
-                                    {{'tool'|load_lang}}
-                                </a>
-                                <hr>
-                                <a href="/skin_set">
-                                    <i class="fas fa-cog"></i>
-                                    {{'skin_setting'|load_lang}}
-                                </a>
-                            </div>
-                        </div>
-                         
-                        <div id="top_tool_cel">
-                            <a href="/user">
-                                {% if imp[2][2] == 1 %}
-                                    {% if imp[2][8] != 0 %}
-                                        <i class="fas fa-user-secret"></i>
-                                    {% else %}
-                                        <i class="fas fa-user"></i>
-                                    {% endif %}
-                                {% else %}
-                                    <i class="fas fa-user-times"></i>
-                                {% endif %}
-                                {{imp[2][5]}}
-                            </a>
-                        </div>
-                         
-                        <form method="post" action="/search" id="search" role="search">
-                            <input id="search_input" name="search" placeholder="{{'search'|load_lang}}" autocomplete="off" type="search">
-                            |
-                            <button type="submit" formaction="/goto"><i class="fas fa-sign-in-alt"></i></button>
-                            |
-                            <button type="submit" formaction="/search"><i class="fas fa-search"></i></button>
-                            <div id="pre_search" style="display: none;"></div>
-                        </form>
-                    </div>
-                    <div id="top_tool_mobile" class="is_mobile">
-                        <a href="javascript:void(0);" onclick="opening('mobile_menu');">
-                            <i class="fas fa-bars"></i> {{'tool'|load_lang}}
-                        </a>
-                    </div>
-                </div>
-            </div>
-            <div id="mobile_menu" class="is_mobile" style="display: none;">
-                <div id="mobile_menu_main">
-                    <form method="post" action="/search" id="mobile_search" role="search">
-                        <input id="mobile_search_input" name="search" placeholder="{{'search'|load_lang}}" autocomplete="off" type="search">
-                        <br>
-                        <button id="mobile_button_first" type="submit" formaction="/goto"><i class="fas fa-sign-in-alt"></i></button>
-                        |
-                        <button type="submit" formaction="/search"><i class="fas fa-search"></i></button>
-                        |
-                        <a href="javascript:void(0);" onclick="opening('mobile_menu');">
-                            <i class="fas fa-bars"></i>
-                        </a>
-                    </form>
-                    <h2>{{'recent'|load_lang}}</h2>
-                    <li><a href="/recent_changes">{{'edit'|load_lang}}</a></li>
-                    <li><a href="/recent_discuss">{{'discussion'|load_lang}}</a></li>
-                    <h2>{{'other'|load_lang}}</h2>
-                    <li><a href="/random">{{'random'|load_lang}}</a></li>
-                    <li><a href="/other">{{'tool'|load_lang}}</a></li>
-                    <li><a href="/skin_set">{{'skin_setting'|load_lang}}</a></li>
-                    <h2>{{'user'|load_lang}}</h2>
-                    <li><a href="/user">{{imp[2][5]}}</a></li>
-                </div>
-            </div>
-            <div id="main">
-                <div id="main_top">
-                    {% if menu != 0 %}
-                        <div id="tool" class="not_mobile">
-                            {% for sub_d in menu %}
-                                <div id="tool_cel">
-                                    {% if sub_d|length > 2 and sub_d[2] == 1 %}
-                                        <a class="menu-item" href="/{{sub_d[0]}}" id="topic_color">{{sub_d[1]}}</a>
-                                    {% else %}
-                                        <a class="menu-item" href="/{{sub_d[0]}}">{{sub_d[1]}}</a>
-                                    {% endif %}
-                                </div>
-                                {% if menu[loop.index] %}
-                                    |
-                                {% endif %}
-                            {% endfor %}
-                        </div>
-                    {% endif %}
-                    <h1 id="title">
-                        {{imp[0]}}
-                        {% if imp[3][0] != 0 %}
-                            <sub>{{imp[3][0]}}</sub>
-                        {% endif %}
-                    </h1>
-                    <div id="last_edit">
-                        {% if imp[3][1] != 0 %}
-                            {{'last_edit_time'|load_lang}} : {{imp[3][1]}}
-                        {% endif %}
-                    </div>
-                    {% if menu != 0 %}
-                        <div id="tool" class="is_mobile">
-                            {% for sub_d in menu %}
-                                <div id="tool_cel">
-                                    {% if sub_d|length > 2 and sub_d[2] == 1 %}
-                                        <a class="menu-item" href="/{{sub_d[0]}}" id="topic_color">{{sub_d[1]}}</a>
-                                    {% else %}
-                                        <a class="menu-item" href="/{{sub_d[0]}}">{{sub_d[1]}}</a>
-                                    {% endif %}
-                                </div>
-                                {% if menu[loop.index] %}
-                                    |
-                                {% endif %}
-                            {% endfor %}
-                        </div>
-                    {% endif %}
-                </div>
-                <div id="main_data">
-                    {{data|safe}}
-                </div>
-            </div>
-        </div>
-        <div id="bottom">
-            <div id="bottom_main">
-                {{imp[1][1]|safe}}
-                <br>
-                <br>
-                <a href="https://github.com/2du/openNAMU"><img id="b_logo" src="/views/main_css/file/s_logo.png"></a>
-            </div>
-        </div>
-        <div id="nav_bar">
-            <div id="go_top">
-                <a href="#top">
-                    <i class="fas fa-arrow-up"></i>  
-                </a>                  
-            </div>
-            <div id="go_bottom">
-                <a href="#bottom">
-                    <i class="fas fa-arrow-down"></i>
-                </a>
-            </div>
-            <div id="go_toc">
-                <a href="#toc">
-                    <i class="fas fa-list"></i>
-                </a>
-            </div>                                    
-        </div>
-    </body>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta charset="utf-8">
+        <title>{{imp[0]}} - {{imp[1][0]}}</title>
+        {{imp[3][3]|safe}}
+        <link rel="stylesheet" href="/views/marisa/css/main.css?ver=3">
+        <script src="/views/marisa/js/main.js?ver=1"></script>
+        <script src="/views/marisa/js/skin_set.js?ver=1"></script>
+        <script src="/views/marisa/js/search.js?ver=1"></script>
+        <link   rel="stylesheet"
+                href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"
+                integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr"
+                crossorigin="anonymous">
+        <link rel="shortcut icon" href="/views/main_css/file/favicon.ico?ver=1">
+        {{imp[1][5]|safe}}
+        {{imp[2][3]|safe}}
+        <meta name="title" content="{{imp[0]}} - {{imp[1][0]}}">
+        <meta name="keywords" content="{{imp[1][0]}}">
+        <meta name="description" content="{{data|cut_100}}">
+        <meta name="viewport" content="width=device-width, initial-scale=1">
+    </head>
+    <body>
+        <div id="background">
+            <div id="top">
+                <div id="top_main">
+                    <div id="logo">
+                        <a href="/">{{imp[1][4]|safe}}</a>
+                    </div>
+                    <div id="top_tool" class="not_mobile">
+                        <div id="top_tool_cel">
+                            <a href="javascript:void(0);" onclick="opening('recent_cel');">
+                                <i class="fas fa-exclamation-circle"></i>
+                                {{'recent'|load_lang}}
+                                <i class="fas fa-angle-down"></i>
+                            </a>
+                            <div id="recent_cel" class="cel_in_cel" style="display: none;">
+                                <a href="/recent_changes">
+                                    <i class="fas fa-sync-alt"></i>
+                                    {{'edit'|load_lang}}
+                                </a>
+                                <hr>
+                                <a href="/recent_discuss">
+                                    <i class="fas fa-comment"></i>
+                                    {{'discussion'|load_lang}}
+                                </a>
+                            </div>
+                        </div>
+                         
+                        <div id="top_tool_cel">
+                            <a href="javascript:void(0);" onclick="opening('other_cel');">
+                                <i class="fas fa-plus-circle"></i>
+                                {{'other'|load_lang}}
+                                <i class="fas fa-angle-down"></i>
+                            </a>
+                            <div id="other_cel" class="cel_in_cel" style="display: none;">
+                                <a href="/random">
+                                    <i class="fas fa-random"></i>
+                                    {{'random'|load_lang}}
+                                </a>
+                                <hr>
+                                <a href="/other">
+                                    <i class="fas fa-wrench"></i>
+                                    {{'tool'|load_lang}}
+                                </a>
+                                <hr>
+                                <a href="/skin_set">
+                                    <i class="fas fa-cog"></i>
+                                    {{'skin_setting'|load_lang}}
+                                </a>
+                            </div>
+                        </div>
+                         
+                        <div id="top_tool_cel">
+                            <a href="/user">
+                                {% if imp[2][2] == 1 %}
+                                    {% if imp[2][8] != 0 %}
+                                        <i class="fas fa-user-secret"></i>
+                                    {% else %}
+                                        <i class="fas fa-user"></i>
+                                    {% endif %}
+                                {% else %}
+                                    <i class="fas fa-user-times"></i>
+                                {% endif %}
+                                {{imp[2][5]}}
+                            </a>
+                        </div>
+                         
+                        <form method="post" action="/search" id="search" role="search">
+                            <input id="search_input" name="search" placeholder="{{'search'|load_lang}}" autocomplete="off" type="search">
+                            |
+                            <button type="submit" formaction="/goto"><i class="fas fa-sign-in-alt"></i></button>
+                            |
+                            <button type="submit" formaction="/search"><i class="fas fa-search"></i></button>
+                            <div id="pre_search" style="display: none;"></div>
+                        </form>
+                    </div>
+                    <div id="top_tool_mobile" class="is_mobile">
+                        <a href="javascript:void(0);" onclick="opening('mobile_menu');">
+                            <i class="fas fa-bars"></i> {{'tool'|load_lang}}
+                        </a>
+                    </div>
+                </div>
+            </div>
+            <div id="mobile_menu" class="is_mobile" style="display: none;">
+                <div id="mobile_menu_main">
+                    <form method="post" action="/search" id="mobile_search" role="search">
+                        <input id="mobile_search_input" name="search" placeholder="{{'search'|load_lang}}" autocomplete="off" type="search">
+                        <br>
+                        <button id="mobile_button_first" type="submit" formaction="/goto"><i class="fas fa-sign-in-alt"></i></button>
+                        |
+                        <button type="submit" formaction="/search"><i class="fas fa-search"></i></button>
+                        |
+                        <a href="javascript:void(0);" onclick="opening('mobile_menu');">
+                            <i class="fas fa-bars"></i>
+                        </a>
+                    </form>
+                    <h2>{{'recent'|load_lang}}</h2>
+                    <li><a href="/recent_changes">{{'edit'|load_lang}}</a></li>
+                    <li><a href="/recent_discuss">{{'discussion'|load_lang}}</a></li>
+                    <h2>{{'other'|load_lang}}</h2>
+                    <li><a href="/random">{{'random'|load_lang}}</a></li>
+                    <li><a href="/other">{{'tool'|load_lang}}</a></li>
+                    <li><a href="/skin_set">{{'skin_setting'|load_lang}}</a></li>
+                    <h2>{{'user'|load_lang}}</h2>
+                    <li><a href="/user">{{imp[2][5]}}</a></li>
+                </div>
+            </div>
+            <div id="main">
+                <div id="main_top">
+                    {% if menu != 0 %}
+                        <div id="tool" class="not_mobile">
+                            {% for sub_d in menu %}
+                                <div id="tool_cel">
+                                    {% if sub_d|length > 2 and sub_d[2] == 1 %}
+                                        <a class="menu-item" href="/{{sub_d[0]}}" id="topic_color">{{sub_d[1]}}</a>
+                                    {% else %}
+                                        <a class="menu-item" href="/{{sub_d[0]}}">{{sub_d[1]}}</a>
+                                    {% endif %}
+                                </div>
+                                {% if menu[loop.index] %}
+                                    |
+                                {% endif %}
+                            {% endfor %}
+                        </div>
+                    {% endif %}
+                    <h1 id="title">
+                        {{imp[0]}}
+                        {% if imp[3][0] != 0 %}
+                            <sub>{{imp[3][0]}}</sub>
+                        {% endif %}
+                    </h1>
+                    <div id="last_edit">
+                        {% if imp[3][1] != 0 %}
+                            {{'last_edit_time'|load_lang}} : {{imp[3][1]}}
+                        {% endif %}
+                    </div>
+                    {% if menu != 0 %}
+                        <div id="tool" class="is_mobile">
+                            {% for sub_d in menu %}
+                                <div id="tool_cel">
+                                    {% if sub_d|length > 2 and sub_d[2] == 1 %}
+                                        <a class="menu-item" href="/{{sub_d[0]}}" id="topic_color">{{sub_d[1]}}</a>
+                                    {% else %}
+                                        <a class="menu-item" href="/{{sub_d[0]}}">{{sub_d[1]}}</a>
+                                    {% endif %}
+                                </div>
+                                {% if menu[loop.index] %}
+                                    |
+                                {% endif %}
+                            {% endfor %}
+                        </div>
+                    {% endif %}
+                </div>
+                <div id="main_data">
+                    {{data|safe}}
+                </div>
+            </div>
+        </div>
+        <div id="bottom">
+            <div id="bottom_main">
+                {{imp[1][1]|safe}}
+                <br>
+                <br>
+                <a href="https://github.com/2du/openNAMU"><img id="b_logo" src="/views/main_css/file/s_logo.png"></a>
+            </div>
+        </div>
+        <div id="nav_bar">
+            <div id="go_top">
+                <a href="#top">
+                    <i class="fas fa-arrow-up"></i>  
+                </a>                  
+            </div>
+            <div id="go_bottom">
+                <a href="#bottom">
+                    <i class="fas fa-arrow-down"></i>
+                </a>
+            </div>
+            <div id="go_toc">
+                <a href="#toc">
+                    <i class="fas fa-list"></i>
+                </a>
+            </div>                                    
+        </div>
+    </body>
 </html>

+ 5 - 0
views/marisa/info.json

@@ -0,0 +1,5 @@
+{
+    "name" : "Marisa",
+    "skin_ver" : "v1.0.7",
+    "require_ver" : "3"
+}

+ 7 - 7
views/neo_yousoro/js/main.js → views/marisa/js/main.js

@@ -1,8 +1,8 @@
-function opening(data) {
-    var element = document.getElementById(data);
-    if(element.style.display == 'none') {
-        element.style.display = 'block';
-    } else {
-        element.style.display = 'none';
-    }
+function opening(data) {
+    var element = document.getElementById(data);
+    if(element.style.display == 'none') {
+        element.style.display = 'block';
+    } else {
+        element.style.display = 'none';
+    }
 }

+ 0 - 0
views/neo_yousoro/js/search.js → views/marisa/js/search.js


+ 0 - 0
views/neo_yousoro/js/skin_set.js → views/marisa/js/skin_set.js


+ 0 - 2
views/neo_yousoro/README.md

@@ -1,2 +0,0 @@
-## 개요
-YouSoro 스킨의 공식적인 후속 스킨 입니다. 폴더명을 `neo_yousoro`로 변경한 후 `views` 폴더에 넣어주세요.

+ 0 - 5
views/neo_yousoro/info.json

@@ -1,5 +0,0 @@
-{
-    "name" : "Neo_Yousoro",
-    "skin_ver" : "v1.0.6",
-    "require_ver" : "2"
-}