Initial commit

This commit is contained in:
Damillora 2019-09-28 02:49:30 +07:00
commit f7e6584a82
26 changed files with 8223 additions and 0 deletions

91
.gitignore vendored Normal file
View File

@ -0,0 +1,91 @@
# Created by .ignore support plugin (hsz.mobi)
### Node template
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# Nuxt generate
dist
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless
# IDE / Editor
.idea
.editorconfig
# Service worker
sw.*
# Mac OSX
.DS_Store
# Vim swap files
*.swp

22
README.md Normal file
View File

@ -0,0 +1,22 @@
# newhomepage
> nanao.moe homepage, but in Vue
## Build Setup
``` bash
# install dependencies
$ yarn install
# serve with hot reload at localhost:3000
$ yarn dev
# build for production and launch server
$ yarn build
$ yarn start
# generate static project
$ yarn generate
```
For detailed explanation on how things work, check out [Nuxt.js docs](https://nuxtjs.org).

7
assets/README.md Normal file
View File

@ -0,0 +1,7 @@
# ASSETS
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your un-compiled assets such as LESS, SASS, or JavaScript.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked).

79
components/Logo.vue Normal file
View File

@ -0,0 +1,79 @@
<template>
<div class="VueToNuxtLogo">
<div class="Triangle Triangle--two" />
<div class="Triangle Triangle--one" />
<div class="Triangle Triangle--three" />
<div class="Triangle Triangle--four" />
</div>
</template>
<style>
.VueToNuxtLogo {
display: inline-block;
animation: turn 2s linear forwards 1s;
transform: rotateX(180deg);
position: relative;
overflow: hidden;
height: 180px;
width: 245px;
}
.Triangle {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
}
.Triangle--one {
border-left: 105px solid transparent;
border-right: 105px solid transparent;
border-bottom: 180px solid #41b883;
}
.Triangle--two {
top: 30px;
left: 35px;
animation: goright 0.5s linear forwards 3.5s;
border-left: 87.5px solid transparent;
border-right: 87.5px solid transparent;
border-bottom: 150px solid #3b8070;
}
.Triangle--three {
top: 60px;
left: 35px;
animation: goright 0.5s linear forwards 3.5s;
border-left: 70px solid transparent;
border-right: 70px solid transparent;
border-bottom: 120px solid #35495e;
}
.Triangle--four {
top: 120px;
left: 70px;
animation: godown 0.5s linear forwards 3s;
border-left: 35px solid transparent;
border-right: 35px solid transparent;
border-bottom: 60px solid #fff;
}
@keyframes turn {
100% {
transform: rotateX(0deg);
}
}
@keyframes godown {
100% {
top: 180px;
}
}
@keyframes goright {
100% {
left: 70px;
}
}
</style>

7
components/README.md Normal file
View File

@ -0,0 +1,7 @@
# COMPONENTS
**This directory is not required, you can delete it if you don't want to use it.**
The components directory contains your Vue.js Components.
_Nuxt.js doesn't supercharge these components._

7
layouts/README.md Normal file
View File

@ -0,0 +1,7 @@
# LAYOUTS
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your Application Layouts.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts).

161
layouts/default.vue Normal file
View File

@ -0,0 +1,161 @@
<template>
<div>
<div class="header">
<div class="gradient">
</div>
</div>
<div class="content-container">
<nuxt />
</div>
</div>
</template>
<style>
body {
background: linear-gradient(to right, #f4f4ff 45% ,transparent 65%), url("./yuriko.jpg") no-repeat;
background-size: cover;
background-attachment: fixed;
scroll-behavior: smooth;
}
.content-container {
margin-top: 5vh;
margin-left: 5vh;
margin-right: 60%;
word-wrap: break-word;
font-family: 'Exo 2', sans-serif;
}
.header {
display: none;
}
.gradient {
display: none;
}
@media only screen and (max-aspect-ratio: 9/5) {
body {
margin-left: 0px;
margin-right: 0px;
margin-top: 0px;
background: #f4f4ff;
}
.content-container {
margin-right: 0%;
}
.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,#f4f4ff 25%,transparent 100%);
}
}
.primary {
color: #c7b83c;
}
.japanese{
font-family: 'M PLUS 1p', sans-serif;
}
h1 {
font-size: 3.2rem;
font-weight: 500;
}
h2 {
font-size: 3rem;
}
a {
text-decoration: none;
color: #c7b83c;
}
a:hover{
text-decoration: underline;
}
.lily {
font-size: 1.6rem;
margin-top: 0px;
margin-bottom: 0px;
font-weight: 300;
}
.yuriko {
margin-top: 0px;
font-size: 5rem;
margin-bottom: 5px;
}
.yuriko-sub {
margin-top: 0px;
font-weight: 300;
margin-bottom: 0px;
font-size: 2.6rem;
}
.yuriko-smol {
display: block;
margin-bottom: 0px;
}
.name {
margin-top: 0px;
margin-bottom: 5px;
}
.sub {
font-size: 1.6rem;
margin-top: 0px;
font-weight: 300;
margin-bottom: 0px;
}
.title {
margin-bottom: 10px;
}
p {
font-size: 1.3rem;
}
.games-list > li {
font-size: 1.6rem;
}
.games-list > 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;
}
</style>

BIN
layouts/yuriko.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 KiB

8
middleware/README.md Normal file
View File

@ -0,0 +1,8 @@
# MIDDLEWARE
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your application middleware.
Middleware let you define custom functions that can be run before rendering either a page or a group of pages.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).

9
middleware/shorten.js Normal file
View File

@ -0,0 +1,9 @@
import { tall } from 'tall';
export default function (context) {
return tall(process.env.SHORTENER_BASE+context.route.path).then(function(unshortenedUrl) {
context.redirect(unshortenedUrl);
});
// context.redirect("https://nanao.moe");
}

57
nuxt.config.js Normal file
View File

@ -0,0 +1,57 @@
module.exports = {
mode: 'universal',
/*
** Headers of the page
*/
head: {
title: process.env.npm_package_name || '',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: process.env.npm_package_description || '' }
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
{ rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Exo+2:300,400,500&display=swap' },
{ rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=M+PLUS+1p:300,400,500&display=swap' },
],
},
/*
** Customize the progress-bar color
*/
loading: { color: '#fff' },
/*
** Global CSS
*/
css: [
],
/*
** Plugins to load before mounting the App
*/
plugins: [
],
/*
** Nuxt.js dev-modules
*/
buildModules: [
],
/*
** Nuxt.js modules
*/
modules: [
'@nuxtjs/dotenv',
],
/*
** Build configuration
*/
build: {
/*
** You can extend webpack config here
*/
extend (config, ctx) {
}
},
serverMiddleware: [
]
}

23
package.json Normal file
View File

@ -0,0 +1,23 @@
{
"name": "newhomepage",
"version": "1.0.0",
"description": "nanao.moe homepage, but in Vue",
"author": "Damillora",
"private": true,
"scripts": {
"dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server",
"build": "nuxt build",
"start": "cross-env NODE_ENV=production node server/index.js",
"generate": "nuxt generate"
},
"dependencies": {
"@nuxtjs/dotenv": "^1.4.1",
"cross-env": "^5.2.0",
"express": "^4.16.4",
"nuxt": "^2.0.0",
"tall": "^2.2.0"
},
"devDependencies": {
"nodemon": "^1.18.9"
}
}

6
pages/README.md Normal file
View File

@ -0,0 +1,6 @@
# PAGES
This directory contains your Application Views and Routes.
The framework reads all the `*.vue` files inside this directory and creates the router of your application.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing).

22
pages/_.vue Normal file
View File

@ -0,0 +1,22 @@
<template>
<div class="container">
You are being redirected...
</div>
</template>
<script>
export default {
components: {
},
transition: {
name: 'nanao',
},
middleware: 'shorten',
}
</script>
<style>
</style>

24
pages/about.vue Normal file
View File

@ -0,0 +1,24 @@
<template>
<div class="container">
<h1 class="title">About Damillora</h1>
<p>I'm a rhythm game player and idol fan. I also create videos and write blog posts. </p>
<div class="back">
<nuxt-link to="/">back</nuxt-link>
</div>
</div>
</template>
<script>
export default {
components: {
},
transition: {
name: 'nanao',
}
}
</script>
<style>
</style>

77
pages/games.vue Normal file
View File

@ -0,0 +1,77 @@
<template>
<div class="container">
<h1 class="title">Game Profile</h1>
<p>I play arcade and mobile games mostly, not all are recorded / streamed.</p>
<p>My most frequently played genre is rhythm games, but sometimes I try other genres too</p>
<h2 class="sub">Game IDs</h2>
<p>
<ul class="games-list">
<li>
<p><a href="https://p.eagate.573.jp/game/sdvx/v/">SOUND VOLTEX VIVID WAVE</a></p>
<p>ID: SV-6457-6694</p>
</li>
<li>
<p><a href="https://millionlive.idolmaster.jp/theaterdays/">THE IDOLM@STER Million Live: Theater Days</a></p>
<p>ID: CGTEDUQ4</p>
</li>
<li>
<p><a href="https://arcaea.lowiro.com">Arcaea</a></p>
<p>ID: 264202217</p>
</li>
<li>
<p><a href="http://t7s.jp">Tokyo 7th Sisters</a></p>
<p>ID: M2mXkWk</p>
</li>
<li>
<p><a href="https://bang-dream.bushimo.jp/">BanG Dream! Girls Band Party (JP)</a></p>
<p>ID: 106205253</p>
</li>
<li>
<p><a href="https://lovelive-sif.bushimo.jp/">Love Live! School Idol Festival (JP)</a></p>
<p>ID: 755897396</p>
</li>
<li>
<p><a href="https://www.en.revuestarlight-relive.com/">Revue Starlight Re LIVE (EN)</a></p>
<p>ID: 2490812618</p>
</li>
<li>
<p><a href="https://shadowverse.com/">Shadowverse</a></p>
<p>ID: 778908673</p>
</li>
<li>
<p><a href="https://nogikoi.jp/">Nogikoi</a></p>
<p>ID: 1673068678</p>
</li>
<li>
<p><a href="https://shinycolors.idolmaster.jp">THE IDOLM@STER: Shiny Colors</a></p>
<p>ID: </p>
</li>
<!--
<li>
<p><a href=""></a></p>
<p>ID: </p>
</li>
-->
</ul>
</p>
<div class="back">
<nuxt-link to="/">back</nuxt-link>
</div>
</div>
</template>
<script>
export default {
components: {
},
transition: {
name: 'nanao',
}
}
</script>
<style>
</style>

43
pages/index.vue Normal file
View File

@ -0,0 +1,43 @@
<template>
<div class="container">
<div class="col fill">
<div class="row">
<h3 class="primary japanese lily">リリィナイト</h3>
<h1 class="primary japanese yuriko">七尾百合子</h1>
<h2 class="primary yuriko-sub">Yuriko Nanao</h2>
</div>
<div class="expand">
</div>
<div class="row">
<img class="yuriko-smol" src="/yuriko-smol.png"></img>
<h1 class="primary name">Damillora</h1>
<h2 class="sub">an idol fan with a strange music to it</h2>
<p>
<nuxt-link to="/about">about</nuxt-link>&nbsp;|&nbsp;
<nuxt-link to="/games">game profile</nuxt-link>&nbsp;|&nbsp;
<a href="https://nanao.moe/blog">blog</a>
</p>
<p>SNS:&nbsp;
<a href="https://nanao.moe/twitter">twitter</a>&nbsp;|&nbsp;
<a href="https://nanao.moe/fediverse">fediverse</a>
</p>
</div>
</div>
</div>
</template>
<script>
export default {
components: {
},
transition: {
name: 'nanao',
}
}
</script>
<style>
</style>

7
plugins/README.md Normal file
View File

@ -0,0 +1,7 @@
# PLUGINS
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains Javascript plugins that you want to run before mounting the root Vue.js application.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins).

34
server/index.js Normal file
View File

@ -0,0 +1,34 @@
const express = require('express')
const consola = require('consola')
const { Nuxt, Builder } = require('nuxt')
const app = express()
// Import and Set Nuxt.js options
const config = require('../nuxt.config.js')
config.dev = process.env.NODE_ENV !== 'production'
async function start () {
// Init Nuxt.js
const nuxt = new Nuxt(config)
const { host, port } = nuxt.options.server
// Build only in dev mode
if (config.dev) {
const builder = new Builder(nuxt)
await builder.build()
} else {
await nuxt.ready()
}
// Give nuxt middleware to express
app.use(nuxt.render)
// Listen the server
app.listen(port, host)
consola.ready({
message: `Server listening on http://${host}:${port}`,
badge: true
})
}
start()

11
static/README.md Normal file
View File

@ -0,0 +1,11 @@
# STATIC
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your static files.
Each file inside this directory is mapped to `/`.
Thus you'd want to delete this README.md before deploying to production.
Example: `/static/robots.txt` is mapped as `/robots.txt`.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static).

BIN
static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

66
static/keybase.txt Normal file
View File

@ -0,0 +1,66 @@
==================================================================
https://keybase.io/damillora
--------------------------------------------------------------------
I hereby claim:
* I am an admin of https://nanao.moe
* I am damillora (https://keybase.io/damillora) on keybase.
* I have a public key with fingerprint A4A9 19D2 B8C7 517E 0869 C73C 4690 7968 141E 7654
To do so, I am signing this object:
{
"body": {
"key": {
"eldest_kid": "010156e564193b5f4e9b416af655fa91a631f534b49ef51da2aa31f214e92e25f6a30a",
"fingerprint": "a4a919d2b8c7517e0869c73c46907968141e7654",
"host": "keybase.io",
"key_id": "46907968141e7654",
"kid": "010156e564193b5f4e9b416af655fa91a631f534b49ef51da2aa31f214e92e25f6a30a",
"uid": "c8acd919e656b29d93aacd4022415019",
"username": "damillora"
},
"service": {
"hostname": "nanao.moe",
"protocol": "https:"
},
"type": "web_service_binding",
"version": 1
},
"ctime": 1555344709,
"expire_in": 157680000,
"prev": "2ba84d13510d3d4782555c119b33f7af624ed298826198f2684637237663f186",
"seqno": 27,
"tag": "signature"
}
which yields the signature:
-----BEGIN PGP MESSAGE-----
owGtkltIFFEcxnfbxM1uBlYUlDUFFYjMuc7MVoSiRhFYFhSlrGdmzqxT68y2O66Z
GiEa2EMISdGNyooKuxBd3yqwJKQLFRH0EBVdDIswEbOyzki99dh5Gc7H7/vm+/85
bRNDgXCwpK2uKmd2el2wp1cPlF85X1ov6a5ZJ0XqpS189MPjJk950S22KUUkGciA
UE4oBhrSiYW5pmNAmUUJsZgGGEXAIgjrWOMWASaDjAkFAgFCDolFGZKZlCdZthPj
yUTSdjwRy7DwaibUVUMhQOGySjVDQQammqxoVAUYcIUSLIxVbsp3iHI6S/F82xWa
uERH6/2D/8+9a0bjDJUZpmjMKaE61EwNMSFgGUIMiAw0H0zxpMOquaBNVm3H426S
SY15kpDTtsH9zfqj/EEc5jA3v9rlwplIup5ruHEhV3leIhXxbV5dwudquR79kxDV
bccUWxSONE+mbNeRIkCQhmf7kYAQMQ9WZC1P4tsSdpJHbZ8gClVlcfz/8LSIhDpT
sQkQWQ9kE5lYUaGwGgBoOkKWIlYEMTehpqqQAk21IFUxRQpECqXIAiqV/KG2Oq4U
gYooymIiNGXHHObVJLnUmNUaRGMDwXBg1rS5Y0+enfH4RveaHWG7e8nfp5cxxn93
gaxx2X+VB58zfxVdPpdoC2XZM8Mjm2JT0MfsBaUHu666tU+b8uNSTR/njRcbnqyp
eHRgYJt23OkeXtQa2z/h2dk3me+Ojz/y5X1D+eKhlq2FwyWhzk/7ep7vmwQyg9dy
pZ284zGBgxXbd50oMD9c7pnxfagS9aNl7oviire5C3eXDqDKAetVemjD9j49vvRh
7dvWEbb3dlOot+xM/6sVvdPnLKr9mf1y3uoLN+eT8e1Fxd8KO6dUjbt74PqxsvWn
JvV2XGpsLzi02Wv+peTMC9Gvkec/dqxdWET3zI+uCle2vjjx8vTG+nddR3G0YepO
u7zj1uR73p3Xg90PMvpKcsOHMw41/1y+Mv9+S+fIbw==
=bI6V
-----END PGP MESSAGE-----
And finally, I am proving ownership of this host by posting or
appending to this document.
View my publicly-auditable identity here: https://keybase.io/damillora
==================================================================

BIN
static/yuriko-smol.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/yuriko-smol.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

10
store/README.md Normal file
View File

@ -0,0 +1,10 @@
# STORE
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your Vuex Store files.
Vuex Store option is implemented in the Nuxt.js framework.
Creating a file in this directory automatically activates the option in the framework.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store).

7452
yarn.lock Normal file

File diff suppressed because it is too large Load Diff