diff --git a/assets/css/tailwind.css b/assets/css/tailwind.css new file mode 100644 index 0000000..ba1cb60 --- /dev/null +++ b/assets/css/tailwind.css @@ -0,0 +1,88 @@ +@import url('https://fonts.googleapis.com/css?family=Exo+2:300,400,500&display=swap'); + +@import 'tailwindcss/base'; + +@import 'tailwindcss/components'; + +@import 'tailwindcss/utilities'; + +html { + @apply font-sans; +} +.main { + background-image: url('~assets/images/bg-sm.png'); + background-size: cover; + background-position: center; + @apply min-h-screen; +} +@screen sm { + .main { + background-image: url('~assets/images/bg-md.png'); + } +} +@screen md { + .main { + background-image: url('~assets/images/bg-lg.png'); + } +} +@screen lg { + .main { + background-image: url('~assets/images/bg-xl.png'); + } +} +@screen xl { + .main { + background-image: url('~assets/images/bg-xxl.png'); + } +} +.card { + @apply text-white py-2 px-2; + background-color: rgba(0,0,0,0.3); +} + +.content { + @apply relative overflow-y-auto; + height: calc(100vh - 7rem); +} + +.page { + @apply text-white py-2 px-2 w-full right-0; + background-color: rgba(0,0,0,0.3); + min-height: calc(100vh - 7rem); +} +@screen sm { + .page { + @apply w-3/4; + } +} +@screen md { + .page { + @apply w-3/5; + } +} +@screen lg { + .page { + @apply w-1/2; + } +} +@screen xl { + .page { + @apply w-2/5; + } +} + +.page h1 { + @apply text-4xl; +} +.page h2 { + @apply text-3xl; +} + +.page ul { + @apply list-disc; +} + +.page a { + @apply text-yuika-blue-200; +} + diff --git a/assets/images/bg-lg.png b/assets/images/bg-lg.png new file mode 100644 index 0000000..8d95030 Binary files /dev/null and b/assets/images/bg-lg.png differ diff --git a/assets/images/bg-md.png b/assets/images/bg-md.png new file mode 100644 index 0000000..875b825 Binary files /dev/null and b/assets/images/bg-md.png differ diff --git a/assets/images/bg-sm.png b/assets/images/bg-sm.png new file mode 100644 index 0000000..a3d9fc4 Binary files /dev/null and b/assets/images/bg-sm.png differ diff --git a/assets/images/bg-xl.png b/assets/images/bg-xl.png new file mode 100644 index 0000000..a6b8414 Binary files /dev/null and b/assets/images/bg-xl.png differ diff --git a/assets/images/bg-xxl.png b/assets/images/bg-xxl.png new file mode 100644 index 0000000..84ca310 Binary files /dev/null and b/assets/images/bg-xxl.png differ diff --git a/assets/images/bg.png b/assets/images/bg.png new file mode 100644 index 0000000..45d2601 Binary files /dev/null and b/assets/images/bg.png differ diff --git a/assets/themes/junna.css b/assets/themes/junna.css deleted file mode 100644 index 9638234..0000000 --- a/assets/themes/junna.css +++ /dev/null @@ -1,271 +0,0 @@ -body { - background: linear-gradient(to right, #060600 45% ,transparent 65%), url("/junna-360.jpg") no-repeat calc(0% + 300px) 0%; - background-size: cover; - background-attachment: fixed; - scroll-behavior: smooth; -} -@media only screen and (max-height: 479px) { - body { - background: linear-gradient(to right, #060600 45% ,transparent 65%), url("/junna-360.jpg") no-repeat calc(0% + 150px) 0%; - background-size: cover; - background-attachment: fixed; - } -} -@media only screen and (max-height: 899px) { - body { - background: linear-gradient(to right, #060600 45% ,transparent 65%), url("/junna-720.jpg") no-repeat calc(0% + 300px) 0%; - background-size: cover; - background-attachment: fixed; - } -} -@media only screen and (min-height: 900px) { - body { - background: linear-gradient(to right, #060600 45% ,transparent 65%), url("/junna-1080.jpg") no-repeat calc(0% + 450px) 0%; - background-size: cover; - background-attachment: fixed; - } -} -.content-container { - margin-top: 5vh; - margin-left: 2.5%; - margin-right: 60%; - word-wrap: break-word; - font-family: 'Exo 2', sans-serif; -} -.header { - display: none; -} -.gradient { - display: none; -} -.lily { - font-size: 1.6vw; - margin-top: 0px; - margin-bottom: 0px; - font-weight: 300; -} -.yuriko { - margin-top: 0px; - font-size: 5vw; - margin-bottom: 5px; -} - -.yuriko-sub { - margin-top: 0px; - font-weight: 300; - margin-bottom: 0px; - font-size: 2.6vw; -} -p { - color: #ffffff; - font-size: 1.3vw; -} -h1 { - color: #95caed; - font-size: 3.2vw; - font-weight: 500; -} -h2 { - color: #ffffff; - font-size: 2vw; - font-weight: 300; -} - -@media only screen and (max-aspect-ratio: 8/5) { - body { - margin-left: 0px; - margin-right: 0px; - margin-top: 0px; - background: #060600; - } - .content-container { - margin-left: 3%; - margin-right: 3%; - } - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/junna.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: left 40% top; - } - .gradient { - display: block; - position: absolute; - top: 25vh; - left: 0%; - width: 100%; - height: 25vh; - background: linear-gradient(to top,#060600 25%,transparent 100%); - } - .lily { - font-size: 7.5vw; - margin-top: 0px; - margin-bottom: 0px; - font-weight: 300; - } - .yuriko { - margin-top: 0px; - font-size: 15vw; - margin-bottom: 5px; - } - - .yuriko-sub { - margin-top: 0px; - font-weight: 300; - margin-bottom: 0px; - font-size: 8vw; - } - p { - color: #ffffff; - font-size: 5vw; - } - h1 { - color: #95caed; - font-size: 10vw; - font-weight: 500; - } - h2 { - color: #ffffff; - font-size: 4.6vw; - font-weight: 300; - } - .smol-yurik { - display: none; - } -} -@media only screen and (min-aspect-ratio: 5/5) and (max-aspect-ratio: 8/5) { - .lily { - font-size: 5vw; - margin-top: 0px; - margin-bottom: 0px; - font-weight: 300; - } - .yuriko { - margin-top: 0px; - font-size: 10vw; - margin-bottom: 5px; - } - - .yuriko-sub { - margin-top: 0px; - font-weight: 300; - margin-bottom: 0px; - font-size: 5.6vw; - } - p { - color: #ffffff; - font-size: 3.3vw; - } - h1 { - - color: #95caed; - font-size: 6.7vw; - font-weight: 500; - } - h2 { - color: #ffffff; - font-size: 3.5vw; - font-weight: 300; - } -} -@media only screen and (max-aspect-ratio: 8/5) and (max-width: 479px) { - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/junna-360.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: left 40% top; - } - -} -@media only screen and (max-aspect-ratio: 8/5) and (max-width: 899px) { - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/junna-720.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: left 40% top; - } - -} -@media only screen and (max-aspect-ratio: 8/5) and (min-width: 899px) { - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/junna-720.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: left 40% top; - } - -} - -.primary { - color: #95caed; -} - -.japanese{ - font-family: 'M PLUS 1p', sans-serif; -} - -a { - text-decoration: none; - color: #95caed; - -} -a:hover{ - text-decoration: underline; -} -.name { - margin-top: 0px; - margin-bottom: 5px; -} - -.title { - margin-bottom: 10px; -} -ul > li { - font-size: 1.6vw; -} -ul > li > p { - margin-top: 0px; - margin-bottom: 5px; -} - -.col { - display: flex; - flex-flow: column; -} -.row { - flex: 0 1 auto; -} -.expand { - flex: 1 1 auto; -} -.fill { - height: 87vh; -} -.nanao-enter-active, -.nanao-leave-active { - transition-property: opacity; - transition-timing-function: ease-in-out; - transition-duration: 100ms; -} -.nanao-enter, -.nanao-leave-to { - opacity: 0; -} - - diff --git a/assets/themes/yuika.css b/assets/themes/yuika.css deleted file mode 100644 index 9a4e692..0000000 --- a/assets/themes/yuika.css +++ /dev/null @@ -1,271 +0,0 @@ -body { - background: linear-gradient(to right, #ffffff 45% ,transparent 65%), url("/yuika-360.jpg") no-repeat calc(0% + 150px) 0%; - background-size: cover; - background-attachment: fixed; - scroll-behavior: smooth; -} -@media only screen and (max-height: 479px) { - body { - background: linear-gradient(to right, #ffffff 45% ,transparent 65%), url("/yuika-360.jpg") no-repeat calc(0% + 150px) 0%; - background-size: cover; - background-attachment: fixed; - } -} -@media only screen and (max-height: 899px) { - body { - background: linear-gradient(to right, #ffffff 45% ,transparent 65%), url("/yuika-720.jpg") no-repeat calc(0% + 300px) 0%; - background-size: cover; - background-attachment: fixed; - } -} -@media only screen and (min-height: 900px) { - body { - background: linear-gradient(to right, #ffffff 45% ,transparent 65%), url("/yuika-1080.jpg") no-repeat calc(0% + 450px) 0%; - background-size: cover; - background-attachment: fixed; - } -} -.content-container { - margin-top: 5vh; - margin-left: 2.5%; - margin-right: 60%; - word-wrap: break-word; - font-family: 'Exo 2', sans-serif; -} -.header { - display: none; -} -.gradient { - display: none; -} -.lily { - font-size: 1.6vw; - margin-top: 0px; - margin-bottom: 0px; - font-weight: 300; -} -.yuriko { - margin-top: 0px; - font-size: 5vw; - margin-bottom: 5px; -} - -.yuriko-sub { - margin-top: 0px; - font-weight: 300; - margin-bottom: 0px; - font-size: 2.6vw; -} -p { - color: #000000; - font-size: 1.3vw; -} -h1 { - color: #3b90c6; - font-size: 3.2vw; - font-weight: 500; -} -h2 { - color: #000000; - font-size: 2vw; - font-weight: 300; -} - -@media only screen and (max-aspect-ratio: 8/5) { - body { - margin-left: 0px; - margin-right: 0px; - margin-top: 0px; - background: #ffffff; - } - .content-container { - margin-left: 3%; - margin-right: 3%; - } - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/yuika.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: right 55% top; - } - .gradient { - display: block; - position: absolute; - top: 25vh; - left: 0%; - width: 100%; - height: 25vh; - background: linear-gradient(to top,#ffffff 25%,transparent 100%); - } - .lily { - font-size: 7.5vw; - margin-top: 0px; - margin-bottom: 0px; - font-weight: 300; - } - .yuriko { - margin-top: 0px; - font-size: 15vw; - margin-bottom: 5px; - } - - .yuriko-sub { - margin-top: 0px; - font-weight: 300; - margin-bottom: 0px; - font-size: 8vw; - } - p { - color: #000000; - font-size: 5vw; - } - h1 { - color: #3b90c6; - font-size: 10vw; - font-weight: 500; - } - h2 { - color: #000000; - font-size: 4.6vw; - font-weight: 300; - } - .smol-yurik { - display: none; - } -} -@media only screen and (min-aspect-ratio: 5/5) and (max-aspect-ratio: 8/5) { - .lily { - font-size: 5vw; - margin-top: 0px; - margin-bottom: 0px; - font-weight: 300; - } - .yuriko { - margin-top: 0px; - font-size: 10vw; - margin-bottom: 5px; - } - - .yuriko-sub { - margin-top: 0px; - font-weight: 300; - margin-bottom: 0px; - font-size: 5.6vw; - } - p { - color: #000000; - font-size: 3.3vw; - } - h1 { - - color: #3b90c6; - font-size: 6.7vw; - font-weight: 500; - } - h2 { - color: #000000; - font-size: 3.5vw; - font-weight: 300; - } -} -@media only screen and (max-aspect-ratio: 8/5) and (max-width: 479px) { - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/yuika-360.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: right 55% top; - } - -} -@media only screen and (max-aspect-ratio: 8/5) and (max-width: 899px) { - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/yuika-720.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: right 55% top; - } - -} -@media only screen and (max-aspect-ratio: 8/5) and (min-width: 899px) { - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/yuika-720.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: right 55% top; - } - -} - -.primary { - color: #3b90c6; -} - -.japanese{ - font-family: 'M PLUS 1p', sans-serif; -} - -a { - text-decoration: none; - color: #3b90c6; - -} -a:hover{ - text-decoration: underline; -} -.name { - margin-top: 0px; - margin-bottom: 5px; -} - -.title { - margin-bottom: 10px; -} -ul > li { - font-size: 1.6vw; -} -ul > li > p { - margin-top: 0px; - margin-bottom: 5px; -} - -.col { - display: flex; - flex-flow: column; -} -.row { - flex: 0 1 auto; -} -.expand { - flex: 1 1 auto; -} -.fill { - height: 87vh; -} -.nanao-enter-active, -.nanao-leave-active { - transition-property: opacity; - transition-timing-function: ease-in-out; - transition-duration: 100ms; -} -.nanao-enter, -.nanao-leave-to { - opacity: 0; -} - - diff --git a/assets/themes/yuriko.css b/assets/themes/yuriko.css deleted file mode 100644 index 9aa2c4e..0000000 --- a/assets/themes/yuriko.css +++ /dev/null @@ -1,271 +0,0 @@ -body { - background: linear-gradient(to right, #060600 45% ,transparent 65%), url("/yuriko-360.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - scroll-behavior: smooth; -} -@media only screen and (max-height: 479px) { - body { - background: linear-gradient(to right, #060600 45% ,transparent 65%), url("/yuriko-360.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - } -} -@media only screen and (max-height: 899px) { - body { - background: linear-gradient(to right, #060600 45% ,transparent 65%), url("/yuriko-720.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - } -} -@media only screen and (min-height: 900px) { - body { - background: linear-gradient(to right, #060600 45% ,transparent 65%), url("/yuriko-1080.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - } -} -.content-container { - margin-top: 5vh; - margin-left: 2.5%; - margin-right: 60%; - word-wrap: break-word; - font-family: 'Exo 2', sans-serif; -} -.header { - display: none; -} -.gradient { - display: none; -} -.lily { - font-size: 1.6vw; - margin-top: 0px; - margin-bottom: 0px; - font-weight: 300; -} -.yuriko { - margin-top: 0px; - font-size: 5vw; - margin-bottom: 5px; -} - -.yuriko-sub { - margin-top: 0px; - font-weight: 300; - margin-bottom: 0px; - font-size: 2.6vw; -} -p { - color: #ffffff; - font-size: 1.3vw; -} -h1 { - color: #c7b83c; - font-size: 3.2vw; - font-weight: 500; -} -h2 { - color: #ffffff; - font-size: 2vw; - font-weight: 300; -} - -@media only screen and (max-aspect-ratio: 8/5) { - body { - margin-left: 0px; - margin-right: 0px; - margin-top: 0px; - background: #060600; - } - .content-container { - margin-left: 3%; - margin-right: 3%; - } - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/yuriko.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: right 20% top; - } - .gradient { - display: block; - position: absolute; - top: 25vh; - left: 0%; - width: 100%; - height: 25vh; - background: linear-gradient(to top,#060600 25%,transparent 100%); - } - .lily { - font-size: 7.5vw; - margin-top: 0px; - margin-bottom: 0px; - font-weight: 300; - } - .yuriko { - margin-top: 0px; - font-size: 15vw; - margin-bottom: 5px; - } - - .yuriko-sub { - margin-top: 0px; - font-weight: 300; - margin-bottom: 0px; - font-size: 8vw; - } - p { - color: #ffffff; - font-size: 5vw; - } - h1 { - color: #c7b83c; - font-size: 10vw; - font-weight: 500; - } - h2 { - color: #ffffff; - font-size: 4.6vw; - font-weight: 300; - } - .smol-yurik { - display: none; - } -} -@media only screen and (min-aspect-ratio: 5/5) and (max-aspect-ratio: 8/5) { - .lily { - font-size: 5vw; - margin-top: 0px; - margin-bottom: 0px; - font-weight: 300; - } - .yuriko { - margin-top: 0px; - font-size: 10vw; - margin-bottom: 5px; - } - - .yuriko-sub { - margin-top: 0px; - font-weight: 300; - margin-bottom: 0px; - font-size: 5.6vw; - } - p { - color: #ffffff; - font-size: 3.3vw; - } - h1 { - - color: #c7b83c; - font-size: 6.7vw; - font-weight: 500; - } - h2 { - color: #ffffff; - font-size: 3.5vw; - font-weight: 300; - } -} -@media only screen and (max-aspect-ratio: 8/5) and (max-width: 479px) { - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/yuriko-360.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: right 20% top; - } - -} -@media only screen and (max-aspect-ratio: 8/5) and (max-width: 899px) { - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/yuriko-720.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: right 20% top; - } - -} -@media only screen and (max-aspect-ratio: 8/5) and (min-width: 899px) { - .header { - margin-left: 0px; - margin-right: 0px; - display: block; - height: 50vh; - background: url("/yuriko-720.jpg") no-repeat; - background-size: cover; - background-attachment: fixed; - background-position: right 20% top; - } - -} - -.primary { - color: #c7b83c; -} - -.japanese{ - font-family: 'M PLUS 1p', sans-serif; -} - -a { - text-decoration: none; - color: #c7b83c; - -} -a:hover{ - text-decoration: underline; -} -.name { - margin-top: 0px; - margin-bottom: 5px; -} - -.title { - margin-bottom: 10px; -} -ul > li { - font-size: 1.6vw; -} -ul > li > p { - margin-top: 0px; - margin-bottom: 5px; -} - -.col { - display: flex; - flex-flow: column; -} -.row { - flex: 0 1 auto; -} -.expand { - flex: 1 1 auto; -} -.fill { - height: 87vh; -} -.nanao-enter-active, -.nanao-leave-active { - transition-property: opacity; - transition-timing-function: ease-in-out; - transition-duration: 100ms; -} -.nanao-enter, -.nanao-leave-to { - opacity: 0; -} - - diff --git a/components/Footer.vue b/components/Footer.vue new file mode 100644 index 0000000..fb9f803 --- /dev/null +++ b/components/Footer.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/components/Header.vue b/components/Header.vue new file mode 100644 index 0000000..506565c --- /dev/null +++ b/components/Header.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/layouts/default.vue b/layouts/default.vue index c624a03..e5bf4e9 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -1,22 +1,26 @@ + diff --git a/nuxt.config.js b/nuxt.config.js index 01ed0c3..08561a9 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -1,7 +1,5 @@ require('dotenv').config({ path: process.env.THEME ? ".env."+process.env.THEME : ".env"}) -console.log("We are running "+process.env.THEME+" theme"); - module.exports = { mode: 'universal', server: { @@ -12,7 +10,7 @@ module.exports = { ** Headers of the page */ head: { - title: 'Damillora - '+(process.env.DOMAIN || "nanao.moe"), + title: 'Damillora - nanao.moe', meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, @@ -32,7 +30,6 @@ module.exports = { ** Global CSS */ css: [ - '@/assets/themes/'+(process.env.THEME || "yuriko")+'.css' ], env: { subheader: process.env.SUBHEADER || "" , @@ -48,12 +45,13 @@ module.exports = { ** Nuxt.js dev-modules */ buildModules: [ + '@nuxtjs/tailwindcss', ], /* ** Nuxt.js modules */ modules: [ - ['@nuxtjs/dotenv', { filename: process.env.THEME ? ".env."+process.env.THEME : ".env" }], + ['@nuxtjs/dotenv' ], ], /* ** Build configuration @@ -75,5 +73,4 @@ module.exports = { serverMiddleware: [ ], - buildDir: '.nuxt.'+(process.env.THEME || "yuriko") } diff --git a/package.json b/package.json index 0841355..5bb51a4 100644 --- a/package.json +++ b/package.json @@ -12,12 +12,14 @@ }, "dependencies": { "@nuxtjs/dotenv": "^1.4.1", + "@nuxtjs/tailwindcss": "^1.2.0", "cross-env": "^5.2.0", "express": "^4.16.4", "howler": "^2.1.2", "node-sass": "^4.12.0", "nuxt": "^2.0.0", "sass-loader": "^8.0.0", + "tailwindcss-transitions": "^2.1.0", "tall": "^2.2.0" }, "devDependencies": { diff --git a/pages/_.vue b/pages/_.vue index e648f3e..8c78058 100644 --- a/pages/_.vue +++ b/pages/_.vue @@ -1,5 +1,5 @@