add file
19
.github/workflows/gh-pages.yml
vendored
@ -5,18 +5,27 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
|
||||||
|
env:
|
||||||
|
GITEA_MAIL: ${{ secrets.GITEA_MAIL }}
|
||||||
|
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-deploy:
|
build-deploy:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-node@v1
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 14
|
node-version: 16
|
||||||
ref: main
|
ref: main
|
||||||
submodules: true
|
submodules: true
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- run: yarn install
|
- run: |
|
||||||
|
yarn install
|
||||||
|
rm -rf public
|
||||||
|
git clone https://${GITEA_TOKEN}@git.syui.ai/ai/card_public public
|
||||||
|
rm -rf public/.git*
|
||||||
|
rm -rf public/static
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
env:
|
env:
|
||||||
@ -29,3 +38,5 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
publish_dir: ./dist
|
publish_dir: ./dist
|
||||||
|
user_name: 'ai[bot]'
|
||||||
|
user_email: '138105980+yui-syui-ai[bot]@users.noreply.github.com'
|
||||||
|
8
.gitignore
vendored
@ -1,4 +1,8 @@
|
|||||||
.DS_Store
|
|
||||||
node_modules
|
node_modules
|
||||||
dist
|
dist
|
||||||
*.lock
|
tt
|
||||||
|
app.js
|
||||||
|
yarn-error.log
|
||||||
|
package-lock.json
|
||||||
|
yarn.lock
|
||||||
|
**DS_Store
|
||||||
|
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "public"]
|
||||||
|
path = public
|
||||||
|
url = git@git.syui.ai:ai/card_public
|
11
package.json
@ -1,19 +1,22 @@
|
|||||||
{
|
{
|
||||||
"name": "atr-web",
|
"name": "card",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"dev": "vue-cli-service serve",
|
||||||
"build": "vue-cli-service build",
|
"build": "vue-cli-service build",
|
||||||
"lint": "vue-cli-service lint"
|
"lint": "vue-cli-service lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^0.25.0",
|
"@google/model-viewer": "^3.4.0",
|
||||||
|
"@nuxtjs/proxy": "^2.1.0",
|
||||||
|
"axios": "^1.6.8",
|
||||||
"core-js": "^3.6.4",
|
"core-js": "^3.6.4",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"superagent": "^8.0.9",
|
"three": "^0.162.0",
|
||||||
"vue": "^2.6.11",
|
"vue": "^2.6.11",
|
||||||
"vue-loading-template": "^1.3.2",
|
"vue-loading-template": "^1.3.2",
|
||||||
|
"vue-meta": "^2.4.0",
|
||||||
"vue-template-compiler": "^2.6.14"
|
"vue-template-compiler": "^2.6.14"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
1
public
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit c130451edb9f2339edeb061b333a15f386cdfb78
|
@ -1 +0,0 @@
|
|||||||
at.syui.ai
|
|
@ -1,80 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"id": 0,
|
|
||||||
"h": "創造",
|
|
||||||
"src": "89",
|
|
||||||
"cid": "bafkreibh4nmdgyzvjvkhek2ultx4lsrrq2dnc7z2lqbua2ik47xo2zgkru"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1,
|
|
||||||
"h": "夢幻",
|
|
||||||
"src": "100",
|
|
||||||
"cid": "bafkreiajf5lblrojyo7vcqdhiqgbhd5eaj3u47mvvqf63kvexwfwphpx2y"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"h": "光輝",
|
|
||||||
"src": "109",
|
|
||||||
"cid": "bafkreieywv4thvjrwbcf2dcol4svwmculf5qm2kvjtu2ywyyh56c7swi64"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"h": "中性子",
|
|
||||||
"src": "88",
|
|
||||||
"cid": "bafkreieuphzhesuoqouszzwuv3iw7d5nz4eamlqc2csfv26d5vmcdg2qby"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 4,
|
|
||||||
"h": "太陽",
|
|
||||||
"src": "59",
|
|
||||||
"cid": "bafkreifw7f44ldmi7bufs5rzwftjvgmsflekkvxazqns63venm7hqnql3q"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 5,
|
|
||||||
"h": "夜空",
|
|
||||||
"src": "112",
|
|
||||||
"cid": "bafkreicuieuz6wjva7l7t2u5n46izxs7nku6tedlgtlgkabszjz5dn3yl4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 6,
|
|
||||||
"h": "白雪",
|
|
||||||
"src": "15",
|
|
||||||
"cid": "bafkreihl5ifvl3ougbfdjfdjwrhdjrncqm5opj65cteow5f2aj7p6nz42y"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 7,
|
|
||||||
"h": "雷帝",
|
|
||||||
"src": "30",
|
|
||||||
"cid": "bafkreihylxc22kfcb3bereypl6tvqkiqtazod3tp7vbze7yxdqedwli6z4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 8,
|
|
||||||
"h": "超究",
|
|
||||||
"src": "108",
|
|
||||||
"cid": "bafkreieq4tdiq72tsbvqv5bnitd5sj5bbvtmee5off3k4nvl7za3plhj5m"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 9,
|
|
||||||
"h": "剣技",
|
|
||||||
"src": "103",
|
|
||||||
"cid": "bafkreig2uzf5cyn5fty5ftumd6wyg7vf5wry37h4v4mmorkx5msvn3uqvu"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 10,
|
|
||||||
"h": "破壊",
|
|
||||||
"src": "87",
|
|
||||||
"cid": "bafkreifcos5ur6y753jepmy4ttgylasvcyk5osguzlaojcnlrshl3q6k3a"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 11,
|
|
||||||
"h": "地球",
|
|
||||||
"src": "78",
|
|
||||||
"cid": "bafkreigpxxkzz2oesnb2mnfe42nrgk57wnr73ssn5luriy3j25mij43uki"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 12,
|
|
||||||
"h": "天ノ川",
|
|
||||||
"src": "115",
|
|
||||||
"cid": "bafkreiefcjjplklmo6wrc7pq23yaewg2zgjm7nsmjy5q7mut2dnxydomnm"
|
|
||||||
}
|
|
||||||
]
|
|
Before Width: | Height: | Size: 173 KiB |
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 182 KiB |
Before Width: | Height: | Size: 2.0 MiB |
Before Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 225 KiB |
Before Width: | Height: | Size: 2.5 MiB |
Before Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 196 KiB |
Before Width: | Height: | Size: 2.2 MiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 174 KiB |
Before Width: | Height: | Size: 2.0 MiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 155 KiB |
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 192 KiB |
Before Width: | Height: | Size: 2.2 MiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 2.2 MiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 172 KiB |
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 166 KiB |
Before Width: | Height: | Size: 2.0 MiB |
Before Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 191 KiB |
Before Width: | Height: | Size: 2.2 MiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 80 KiB |
@ -1,21 +0,0 @@
|
|||||||
#!/bin/zsh
|
|
||||||
|
|
||||||
d=${0:a:h}
|
|
||||||
j=$d/card.json
|
|
||||||
n=`cat $j|jq length`
|
|
||||||
n=$((n - 1))
|
|
||||||
for ((i=0;i<=$n;i++))
|
|
||||||
do
|
|
||||||
t=`cat $j|jq ".[$i].cid"`
|
|
||||||
id=`cat $j|jq ".[$i].id"`
|
|
||||||
f=card_${id}.webp
|
|
||||||
if ls $f;then
|
|
||||||
cid=`atr img-upload $f|head -n 1`
|
|
||||||
echo $cid
|
|
||||||
if cat $j |jq ".[$i]|= .+ {\"cid\":\"$cid\"}";then
|
|
||||||
cat $j |jq ".[$i]|= .+ {\"cid\":\"$cid\"}" >! $j.back
|
|
||||||
mv $j.back $j
|
|
||||||
cat $j|jq ".[$i]"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
Before Width: | Height: | Size: 310 KiB |
Before Width: | Height: | Size: 387 KiB |
Before Width: | Height: | Size: 382 KiB |
Before Width: | Height: | Size: 350 KiB |
Before Width: | Height: | Size: 315 KiB |
Before Width: | Height: | Size: 237 KiB |
Before Width: | Height: | Size: 391 KiB |
Before Width: | Height: | Size: 393 KiB |
Before Width: | Height: | Size: 337 KiB |
Before Width: | Height: | Size: 403 KiB |
Before Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 25 KiB |
@ -1 +0,0 @@
|
|||||||
<!DOCTYPE html><html lang=""><head><title><%= htmlWebpackPlugin.options.title %></title><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vue App</title><link href="app.css" rel="preload" as="style"><link href="app.js" rel="preload" as="script"><link href="chunk-vendors.js" rel="preload" as="script"><link href="app.css" rel="stylesheet"></head><body><div id="app"></div><script src="chunk-vendors.js"></script><script src="app.js"></script></body></html>
|
|
@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"did": "did:plc:schldsdljwxcdtslnbqaoifh",
|
|
||||||
"declaration": {
|
|
||||||
"actorType": "app.bsky.system.actorUser",
|
|
||||||
"cid": "bafyreid27zk7lbis4zw5fz4podbvbs4fc5ivwji3dmrwa6zggnj4bnd57u"
|
|
||||||
},
|
|
||||||
"handle": "syui.syui.ai",
|
|
||||||
"avatar": "https://at.syui.ai/image/1gNGwD6W74qb_Nuncr5H5i9UADEtdyds9myxRGnkGMw/rs:fill:1000:1000:1:0/plain/bafkreibxgpwttqvpsnn5yrvqkx47nwuzpzrkfyladqy2hbj3chedph3fni@jpeg",
|
|
||||||
"followsCount": 0,
|
|
||||||
"followersCount": 1,
|
|
||||||
"postsCount": 1,
|
|
||||||
"creator": "did:plc:schldsdljwxcdtslnbqaoifh",
|
|
||||||
"indexedAt": "2023-03-21T08:23:26.046Z",
|
|
||||||
"viewer": {
|
|
||||||
"muted": false
|
|
||||||
},
|
|
||||||
"myState": {
|
|
||||||
"muted": false
|
|
||||||
}
|
|
||||||
}
|
|
9
readme.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# card
|
||||||
|
|
||||||
|
- host : [card.syui.ai](https://card.syuiai)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ nvm use 16
|
||||||
|
$ yarn install
|
||||||
|
$ yarn dev
|
||||||
|
```
|
77
scpt/convert.zsh
Executable file
@ -0,0 +1,77 @@
|
|||||||
|
#!/bin/zsh
|
||||||
|
d=${0:a:h}
|
||||||
|
dd=${0:a:h:h}
|
||||||
|
|
||||||
|
echo "1 : [d]efault(no), [b]lack, [s]ilver"
|
||||||
|
read
|
||||||
|
|
||||||
|
url=syui.ai/img
|
||||||
|
|
||||||
|
case $OSTYPE in
|
||||||
|
darwin*)
|
||||||
|
path_nvm_sh="/opt/homebrew/opt/nvm/nvm.sh";;
|
||||||
|
linux*)
|
||||||
|
path_nvm_sh="";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
dir=$dd/public/card
|
||||||
|
static=$dd/public/static/img
|
||||||
|
json=$dd/public/json/card.json
|
||||||
|
mkdir -p $dir
|
||||||
|
mkdir -p $static
|
||||||
|
n=`cat $json|jq "length"`
|
||||||
|
n=`expr $n - 1`
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
silver|s)
|
||||||
|
bg=$static/card_bg_silver.png
|
||||||
|
br=$static/card_br.png
|
||||||
|
;;
|
||||||
|
black|b)
|
||||||
|
bg=$static/card_bg_black.png
|
||||||
|
br=$static/card_br.png
|
||||||
|
;;
|
||||||
|
default|d|*)
|
||||||
|
bg=$static/card_bg.png
|
||||||
|
br=$static/card_br.png
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
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
|
||||||
|
p=`cat $json|jq -r ".[$i].p"`
|
||||||
|
sid=`cat $json|jq -r ".[$i].src"`
|
||||||
|
s=$static/${sid}.png
|
||||||
|
id=`cat $json|jq -r ".[$i].id"`
|
||||||
|
o=$dir/card_$id.png
|
||||||
|
|
||||||
|
if [ -f $o ];then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f $s ];then
|
||||||
|
curl -sL $url/yui_${sid}.png -o $s
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f $o ] && [ -n "`echo $s|grep ai_model`" ];then
|
||||||
|
model_card=$dir/${sid}.png
|
||||||
|
model_webp=$dir/${sid}.webp
|
||||||
|
cp -rf $model_card $o
|
||||||
|
squoosh-cli --webp '{"quality":100}' -d ./ --resize '{width:825,height:1080}' $o
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f $o ];then
|
||||||
|
#if [ ! -f $o ] && [ -z "`echo $s|grep ai_model`" ];then
|
||||||
|
composite -gravity north -geometry +0+160 -compose over $s $bg $o.back
|
||||||
|
composite -gravity north -geometry +0+0 -compose over $br $o.back $o
|
||||||
|
squoosh-cli --webp '{"quality":100}' -d ./ --resize '{width:825,height:1080}' $o
|
||||||
|
rm $o.back
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
57
scpt/ogimage.zsh
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
url=https://card.syui.ai
|
||||||
|
d=${0:a:h}
|
||||||
|
dd=${0:a:h:h}
|
||||||
|
dir=$dd/public/card
|
||||||
|
o_dir=$dd/public/static/img
|
||||||
|
static=$dd/public/static/img
|
||||||
|
json=$dd/public/json/card.json
|
||||||
|
mkdir -p $dir
|
||||||
|
mkdir -p $static
|
||||||
|
n=`cat $json|jq "length"`
|
||||||
|
n=`expr $n - 1`
|
||||||
|
|
||||||
|
for ((i=0;i<=$n;i++))
|
||||||
|
do
|
||||||
|
p=`cat $json|jq -r ".[$i].p"`
|
||||||
|
h=`cat $json|jq -r ".[$i].h"`
|
||||||
|
sid=`cat $json|jq -r ".[$i].src"`
|
||||||
|
s=$static/${sid}.png
|
||||||
|
id=`cat $json|jq -r ".[$i].id"`
|
||||||
|
o=$dir/card_$id.png
|
||||||
|
oo=$o_dir/og_${id}.png
|
||||||
|
o_url=$url/card/og_${id}.png
|
||||||
|
index=$o_dir/$id/index.html
|
||||||
|
|
||||||
|
if [ ! -f $oo ];then
|
||||||
|
echo $oo
|
||||||
|
convert $o -gravity center -extent 8000x4000 $oo
|
||||||
|
fi
|
||||||
|
|
||||||
|
# mkdir -p $o_dir/$id
|
||||||
|
#
|
||||||
|
#echo '
|
||||||
|
#<!DOCTYPE html>
|
||||||
|
#<html lang="en">
|
||||||
|
#<head>
|
||||||
|
#<title>card.syui.ai</title><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>card.syui.ai</title><link href="app.css" rel="preload" as="style"><link href="app.js" rel="preload" as="script"><link href="chunk-vendors.js" rel="preload" as="script"><link href="app.css" rel="stylesheet">
|
||||||
|
#<meta name="twitter:card" content="summary">
|
||||||
|
#<meta property="og:url" content="https://card.syui.ai">
|
||||||
|
#' >! $index
|
||||||
|
#
|
||||||
|
#echo "
|
||||||
|
#<meta property=\"og:title\" content=\"$h\">
|
||||||
|
#<meta property=\"og:description\" content=\"$p\">
|
||||||
|
#<meta property=\"og:image\" content=\"$o_url\">
|
||||||
|
#" >> $index
|
||||||
|
#
|
||||||
|
#echo '
|
||||||
|
#</head>
|
||||||
|
#<body>
|
||||||
|
#<div id="app"></div><script src="chunk-vendors.js"></script><script src="app.js"></script>
|
||||||
|
#</body>
|
||||||
|
#</html>
|
||||||
|
#' >> $index
|
||||||
|
|
||||||
|
done
|
1770
src/App.vue
@ -1,6 +1,7 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
|
import VueMeta from 'vue-meta'
|
||||||
|
Vue.use(VueMeta)
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
|
|
||||||
new Vue({
|
new Vue({
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
chainWebpack: config => {
|
devServer: {
|
||||||
config
|
proxy: {
|
||||||
.plugin('html')
|
"^/api*": {
|
||||||
.tap(args => {
|
target: "https://api.syui.ai",
|
||||||
args[0].title = "syui.ai";
|
pathRewrite: { "^/api": "" },
|
||||||
return args;
|
}
|
||||||
})
|
}
|
||||||
},
|
},
|
||||||
publicPath: "/",
|
publicPath: "/",
|
||||||
configureWebpack: {
|
configureWebpack: {
|
||||||
|