fix
@ -6,10 +6,12 @@
|
|||||||
<meta property="og:url" content="https://manga.syui.ai">
|
<meta property="og:url" content="https://manga.syui.ai">
|
||||||
<meta property="og:title" content="yui">
|
<meta property="og:title" content="yui">
|
||||||
<meta property="og:description" content="©syui">
|
<meta property="og:description" content="©syui">
|
||||||
<meta property="og:image" content="https://manga.syui.ai/manga/og.png">
|
<meta property="og:image" content="/wa/0/og.png">
|
||||||
<link rel="icon" href="/favicon.ico" />
|
<link rel="icon" href="/favicon.ico" />
|
||||||
<link rel="shortcut icon" href="/favicon.ico">
|
<link rel="shortcut icon" href="/favicon.ico">
|
||||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
||||||
|
<link rel="stylesheet" href="https://syui.ai/bower_components/icomoon/style.css" />
|
||||||
|
<link rel="stylesheet" href="https://syui.ai/bower_components/font-awesome/css/all.min.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
@ -22,7 +24,7 @@
|
|||||||
<script src="https://syui.ai/js/comment/chunk-vendors.js"></script>
|
<script src="https://syui.ai/js/comment/chunk-vendors.js"></script>
|
||||||
<script src="https://syui.ai/js/comment/app.js"></script>
|
<script src="https://syui.ai/js/comment/app.js"></script>
|
||||||
|
|
||||||
<div class="page_title" v-if="loc === ''" >
|
<div class="page_title">
|
||||||
<div class="page_data">
|
<div class="page_data">
|
||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -31,7 +33,7 @@
|
|||||||
<a href="https://yui.syui.ai"><span class="icon-ai"></span></a>
|
<a href="https://yui.syui.ai"><span class="icon-ai"></span></a>
|
||||||
</th>
|
</th>
|
||||||
<td>yui</td>
|
<td>yui</td>
|
||||||
<td>不思議な力を持つアイの話</td>
|
<td>不思議な力を持つアイの冒険</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -4,13 +4,15 @@
|
|||||||
"end": 21,
|
"end": 21,
|
||||||
"updated_at": "2021-07-11T00:00:00+09:00",
|
"updated_at": "2021-07-11T00:00:00+09:00",
|
||||||
"comment": "特別編",
|
"comment": "特別編",
|
||||||
"dir": "0"
|
"illust": 100,
|
||||||
|
"dir": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"end": 6,
|
"end": 6,
|
||||||
"updated_at": "2024-05-01T00:00:00+09:00",
|
"updated_at": "2024-05-01T00:00:00+09:00",
|
||||||
"comment": "1話",
|
"comment": "1話",
|
||||||
"dir": "1"
|
"illust": 89,
|
||||||
|
"dir": 1
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
Before Width: | Height: | Size: 311 KiB After Width: | Height: | Size: 950 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 787 KiB |
BIN
public/wa/ai.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
public/wa/bg.png
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
public/wa/bg_og.png
Normal file
After Width: | Height: | Size: 259 KiB |
BIN
public/wa/com.png
Normal file
After Width: | Height: | Size: 786 KiB |
BIN
public/wa/yui_100.png
Normal file
After Width: | Height: | Size: 544 KiB |
BIN
public/wa/yui_89.png
Normal file
After Width: | Height: | Size: 416 KiB |
47
scpt/title.zsh
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#!/bin/zsh
|
||||||
|
d=${0:a:h}
|
||||||
|
dd=${0:a:h:h}
|
||||||
|
|
||||||
|
url=syui.ai/img
|
||||||
|
|
||||||
|
case $OSTYPE in
|
||||||
|
darwin*)
|
||||||
|
path_nvm_sh="/opt/homebrew/opt/nvm/nvm.sh";;
|
||||||
|
linux*)
|
||||||
|
path_nvm_sh="";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
json=$dd/public/json/manga.json
|
||||||
|
bg=$dd/public/wa/bg.png
|
||||||
|
bgg=$dd/public/wa/bg_og.png
|
||||||
|
|
||||||
|
convert -resize 3240x4320! $bg $bgg
|
||||||
|
|
||||||
|
n=`cat $json|jq "length"`
|
||||||
|
n=`expr $n - 1`
|
||||||
|
|
||||||
|
cd $dir
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$path_nvm_sh" ] && \. "$path_nvm_sh"
|
||||||
|
nvm use 17
|
||||||
|
nvm i squoosh-cli
|
||||||
|
|
||||||
|
for ((i=0;i<=$n;i++))
|
||||||
|
do
|
||||||
|
illust=`cat $json|jq -r ".[$i].illust"`
|
||||||
|
id=`cat $json|jq -r ".[$i].id"`
|
||||||
|
s=$dd/public/wa/yui_${illust}
|
||||||
|
o=$dd/public/wa/$id/0_test.png
|
||||||
|
og=${s}_og.png
|
||||||
|
f=$dd/public/wa/$id/0_font.png
|
||||||
|
ff=$dd/public/wa/$id/0.png
|
||||||
|
if [ ! -f $s ];then
|
||||||
|
curl -sL https://syui.ai/img/yui_${illust}.png -o ${s}.png
|
||||||
|
fi
|
||||||
|
convert ${s}.png -gravity south -geometry 135%x135% -extent 3240x4320 $og
|
||||||
|
|
||||||
|
magick composite $bgg -gravity north -geometry +0+0 $og $o
|
||||||
|
convert -font "Meiryo" -pointsize 150 -fill black -gravity east -annotate +650-140 "$id" $o $f
|
||||||
|
mv $f $ff
|
||||||
|
rm $og $o
|
||||||
|
done
|
146
src/App.vue
@ -1,62 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
|
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<link rel="stylesheet" href="https://syui.ai/bower_components/icomoon/style.css" />
|
|
||||||
<link rel="stylesheet" href="https://syui.ai/bower_components/font-awesome/css/all.min.css" />
|
<div class="page">
|
||||||
|
|
||||||
<div class="page" v-if="m.data && loc_dir !== '' && m.data.find((v) => v.id == loc_dir) !== undefined">
|
<div class="page-top" v-if="loc === ''">
|
||||||
<hooper :settings="hooperSettings">
|
|
||||||
<slide v-for="(n,index) in m.data.find((v) => v.id == loc_dir).end" :key="n">
|
|
||||||
<div v-if="loading" class="loading">
|
|
||||||
<i class="fa-solid fa-spinner fa-spin-pulse"></i>
|
|
||||||
</div>
|
|
||||||
<img :src="url + 'wa/' + loc_dir + '/' + (index) +'.png'" @load="load" />
|
|
||||||
<div class="page_n"><a href="/"><span class="icon-ai"></span></a>{{ index }}</div>
|
|
||||||
</slide>
|
|
||||||
<hooper-navigation slot="hooper-addons"></hooper-navigation>
|
|
||||||
<hooper-pagination slot="hooper-addons"></hooper-pagination>
|
|
||||||
<hooper-progress slot="hooper-addons"></hooper-progress>
|
|
||||||
</hooper>
|
|
||||||
<div id="comment"></div>
|
|
||||||
<div class="page_data">
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th scope="col">manga</th>
|
|
||||||
<th scope="col">ver</th>
|
|
||||||
<th scope="col">day</th>
|
|
||||||
<th scope="col">cmt</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<tbody v-for="i in m.data">
|
|
||||||
<tr v-if="i.id >= 1">
|
|
||||||
<th>
|
|
||||||
<a :href="'/' + i.id"><img :src="'/wa/' + i.dir + '/0.png'"></a>
|
|
||||||
</th>
|
|
||||||
<td>{{ i.id }}</td>
|
|
||||||
<td v-if="i.updated_at">{{ moment(i.updated_at) }}</td>
|
|
||||||
<td v-if="i.comment">{{ i.comment }}</td>
|
|
||||||
<td v-else>-</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
|
|
||||||
<tbody v-for="i in m.data">
|
|
||||||
<tr v-if="i.id == 0">
|
|
||||||
<th>
|
|
||||||
<a :href="'/' + i.id"><img :src="'/wa/' + i.dir + '/0.png'"></a>
|
|
||||||
</th>
|
|
||||||
<td>{{ i.id }}</td>
|
|
||||||
<td v-if="i.updated_at">{{ moment(i.updated_at) }}</td>
|
|
||||||
<td v-if="i.comment">{{ i.comment }}</td>
|
|
||||||
<td v-else>-</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="page" v-if="loc === ''">
|
|
||||||
<hooper :settings="hooperSettings">
|
<hooper :settings="hooperSettings">
|
||||||
<slide v-for="(n,index) of products" :key="n">
|
<slide v-for="(n,index) of products" :key="n">
|
||||||
<div v-if="loading" class="loading">
|
<div v-if="loading" class="loading">
|
||||||
@ -69,44 +17,61 @@
|
|||||||
<hooper-pagination slot="hooper-addons"></hooper-pagination>
|
<hooper-pagination slot="hooper-addons"></hooper-pagination>
|
||||||
<hooper-progress slot="hooper-addons"></hooper-progress>
|
<hooper-progress slot="hooper-addons"></hooper-progress>
|
||||||
</hooper>
|
</hooper>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="page_data">
|
<div class="page-number" v-if="m.data && loc_dir !== '' && m.data.find((v) => v.id == loc_dir) !== undefined">
|
||||||
<table>
|
<hooper :settings="hooperSettings">
|
||||||
<thead>
|
<slide v-for="(n,index) in m.data.find((v) => v.id == loc_dir).end" :key="n">
|
||||||
<tr>
|
<div v-if="loading" class="loading">
|
||||||
<th scope="col">manga</th>
|
<i class="fa-solid fa-spinner fa-spin-pulse"></i>
|
||||||
<th scope="col">ver</th>
|
</div>
|
||||||
<th scope="col">day</th>
|
<img :src="url + 'wa/' + loc_dir + '/' + (index) +'.png'" @load="load" />
|
||||||
<th scope="col">cmt</th>
|
<div class="page_n"><a href="/"><span class="icon-ai"></span></a> {{ index }}</div>
|
||||||
</tr>
|
</slide>
|
||||||
</thead>
|
<hooper-navigation slot="hooper-addons"></hooper-navigation>
|
||||||
|
<hooper-pagination slot="hooper-addons"></hooper-pagination>
|
||||||
|
<hooper-progress slot="hooper-addons"></hooper-progress>
|
||||||
|
</hooper>
|
||||||
|
|
||||||
<tbody v-for="i in m.data">
|
<div id="comment"></div>
|
||||||
<tr v-if="i.id >= 1">
|
|
||||||
<th>
|
|
||||||
<a :href="'/' + i.id"><img :src="'/wa/' + i.dir + '/0.png'"></a>
|
|
||||||
</th>
|
|
||||||
<td>{{ i.id }}</td>
|
|
||||||
<td v-if="i.updated_at">{{ moment(i.updated_at) }}</td>
|
|
||||||
<td v-if="i.comment">{{ i.comment }}</td>
|
|
||||||
<td v-else>-</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
|
|
||||||
<tbody v-for="i in m.data">
|
</div>
|
||||||
<tr v-if="i.id == 0">
|
|
||||||
<th>
|
|
||||||
<a :href="'/' + i.id"><img :src="'/wa/' + i.dir + '/0.png'"></a>
|
|
||||||
</th>
|
|
||||||
<td>{{ i.id }}</td>
|
|
||||||
<td v-if="i.updated_at">{{ moment(i.updated_at) }}</td>
|
|
||||||
<td v-if="i.comment">{{ i.comment }}</td>
|
|
||||||
<td v-else>-</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div class="page_data">
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">manga</th>
|
||||||
|
<th scope="col">ver</th>
|
||||||
|
<th scope="col">day</th>
|
||||||
|
<th scope="col">cmt</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody v-for="i in m.data">
|
||||||
|
<tr v-if="i.id >= 1">
|
||||||
|
<th>
|
||||||
|
<a :href="'/' + i.id"><img :src="'/wa/' + i.dir + '/0.png'"></a>
|
||||||
|
</th>
|
||||||
|
<td>{{ i.id }}</td>
|
||||||
|
<td v-if="i.updated_at">{{ moment(i.updated_at) }}</td>
|
||||||
|
<td v-if="i.comment">{{ i.comment }}</td>
|
||||||
|
<td v-else>-</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
|
||||||
|
<tbody v-for="i in m.data">
|
||||||
|
<tr v-if="i.id == 0">
|
||||||
|
<th>
|
||||||
|
<a :href="'/' + i.id"><img :src="'/wa/' + i.dir + '/0.png'"></a>
|
||||||
|
</th>
|
||||||
|
<td>{{ i.id }}</td>
|
||||||
|
<td v-if="i.updated_at">{{ moment(i.updated_at) }}</td>
|
||||||
|
<td v-if="i.comment">{{ i.comment }}</td>
|
||||||
|
<td v-else>-</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
@ -117,6 +82,7 @@
|
|||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|