1
0
This commit is contained in:
2023-04-01 04:52:34 +09:00
parent ad8daeb7d1
commit 685158762f
358 changed files with 2539 additions and 197 deletions
.github/workflows
.gitignore.gitmodulesCNAMEpackage.json
public
readme.md
scpt
src
static/img
ai-nyan-cake-real.pngai-nyan-cake.pngai.pngai_model_card_attack.pngai_model_card_limit.pngai_model_card_mode.pngai_model_card_skill.pngall.pngbook_1.pngbook_2.pngbook_3.pngcard_bg.pngcard_bg_origin.pngcard_bg_origin2.pngcard_bg_s.pngcard_bg_sr.pngcard_bg_white.pngcard_bgg_0.pngcard_bgg_1.pngcard_bgg_2.pngcard_bgg_3.pngcard_bgg_4.pngcard_bgg_5.pngcard_bgg_6.pngcard_bgg_7.pngcard_bgg_test_0.pngcard_bgg_test_1.pngcard_bgg_test_2.pngcard_bgg_test_3.pngcard_bgg_test_4.pngcard_bgg_test_5.pngcard_bgg_test_6.pngcard_bgg_test_7.pngcard_br.pngchara_0.pngchara_1.pngchara_10.pngchara_11.pngchara_2.pngchara_3.pngchara_4.pngchara_5.pngchara_6.pngchara_7.pngchara_8.pngchara_9.pngicon_0.pngicon_1.pngicon_10.pngicon_11.pngicon_12.pngicon_13.pngicon_14.pngicon_15.pngicon_16.pngicon_17.pngicon_18.pngicon_19.pngicon_2.pngicon_20.pngicon_21.pngicon_22.pngicon_23.pngicon_3.pngicon_4.pngicon_5.pngicon_6.pngicon_7.pngicon_8.pngicon_9.pngmodel_1.pngmodel_2.pngmoji_10_j.pngmoji_11_k.pngmoji_12_l.pngmoji_13_m.pngmoji_14_n.pngmoji_15_o.pngmoji_16_p.pngmoji_17_q.pngmoji_18_r.pngmoji_19_s.pngmoji_1_a.pngmoji_20_t.pngmoji_21_u.pngmoji_22_v.pngmoji_23_w.pngmoji_24_x.pngmoji_25_y.pngmoji_26_z.pngmoji_2_b.pngmoji_3_c.pngmoji_4_d.pngmoji_5_e.pngmoji_6_f.pngmoji_7_g.pngmoji_8_h.pngmoji_9_i.png
null
og_0.pngog_1.pngog_10.pngog_100.pngog_101.pngog_102.pngog_103.pngog_104.pngog_105.pngog_106.pngog_107.pngog_108.pngog_109.pngog_11.pngog_110.pngog_111.pngog_112.pngog_113.pngog_114.pngog_115.pngog_116.pngog_117.pngog_118.pngog_119.pngog_12.pngog_120.pngog_121.pngog_122.pngog_13.pngog_14.pngog_15.pngog_16.pngog_17.pngog_18.pngog_19.pngog_2.pngog_20.pngog_21.pngog_22.pngog_23.pngog_24.pngog_25.pngog_26.pngog_27.pngog_28.pngog_29.pngog_3.pngog_30.pngog_31.pngog_32.pngog_33.pngog_34.pngog_35.pngog_36.pngog_37.pngog_38.pngog_39.pngog_4.pngog_40.pngog_41.pngog_42.pngog_43.pngog_44.pngog_45.pngog_46.pngog_47.pngog_48.pngog_49.pngog_5.pngog_50.pngog_51.pngog_52.pngog_53.pngog_54.pngog_55.pngog_56.pngog_57.pngog_58.pngog_59.pngog_6.pngog_60.pngog_61.pngog_62.pngog_63.pngog_64.pngog_65.pngog_66.pngog_67.pngog_68.pngog_69.pngog_7.pngog_70.pngog_71.pngog_72.pngog_73.pngog_74.pngog_75.pngog_76.pngog_77.pngog_78.pngog_79.pngog_8.pngog_80.pngog_81.pngog_82.pngog_83.pngog_84.pngog_85.pngog_86.pngog_87.pngog_88.pngog_89.pngog_9.pngog_90.pngog_91.pngog_92.pngog_93.pngog_94.pngog_95.pngog_96.pngog_97.pngog_98.pngog_99.pngplan_first.pngplan_syui.pngplan_syui_wall.pngplan_yui.pngplan_yui_wall.pngstudy_1.pngstudy_2.pngyui_0.pngyui_100.pngyui_103.pngyui_108.pngyui_109.pngyui_112.pngyui_115.pngyui_120.pngyui_123.pngyui_129.pngyui_131.pngyui_132.pngyui_133.pngyui_134.pngyui_135.pngyui_136.pngyui_137.pngyui_138.pngyui_139.pngyui_140.pngyui_141.pngyui_142.pngyui_143.pngyui_144.pngyui_145.pngyui_146.pngyui_147.pngyui_148.pngyui_149.pngyui_15.pngyui_150.pngyui_151.pngyui_152.pngyui_153.pngyui_154.pngyui_155.pngyui_156.pngyui_157.pngyui_158.pngyui_159.pngyui_160.pngyui_161.pngyui_162.pngyui_163.pngyui_164.pngyui_165.pngyui_166.pngyui_30.pngyui_59.pngyui_78.pngyui_87.pngyui_88.pngyui_89.png
vue.config.js

@ -5,18 +5,26 @@ 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
- name: Build - name: Build
env: env:
@ -29,3 +37,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

1
CNAME

@ -1 +0,0 @@
card.syui.ai

@ -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 +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"
}
]

Binary file not shown.

Before

(image error) Size: 173 KiB

Binary file not shown.

Before

(image error) Size: 1.9 MiB

Binary file not shown.

Before

(image error) Size: 67 KiB

Binary file not shown.

Before

(image error) Size: 182 KiB

Binary file not shown.

Before

(image error) Size: 2.0 MiB

Binary file not shown.

Before

(image error) Size: 73 KiB

Binary file not shown.

Before

(image error) Size: 225 KiB

Binary file not shown.

Before

(image error) Size: 2.5 MiB

Binary file not shown.

Before

(image error) Size: 94 KiB

Binary file not shown.

Before

(image error) Size: 196 KiB

Binary file not shown.

Before

(image error) Size: 2.2 MiB

Binary file not shown.

Before

(image error) Size: 83 KiB

Binary file not shown.

Before

(image error) Size: 174 KiB

Binary file not shown.

Before

(image error) Size: 2.0 MiB

Binary file not shown.

Before

(image error) Size: 70 KiB

Binary file not shown.

Before

(image error) Size: 155 KiB

Binary file not shown.

Before

(image error) Size: 1.9 MiB

Binary file not shown.

Before

(image error) Size: 62 KiB

Binary file not shown.

Before

(image error) Size: 192 KiB

Binary file not shown.

Before

(image error) Size: 2.2 MiB

Binary file not shown.

Before

(image error) Size: 83 KiB

Binary file not shown.

Before

(image error) Size: 208 KiB

Binary file not shown.

Before

(image error) Size: 2.2 MiB

Binary file not shown.

Before

(image error) Size: 83 KiB

Binary file not shown.

Before

(image error) Size: 172 KiB

Binary file not shown.

Before

(image error) Size: 1.9 MiB

Binary file not shown.

Before

(image error) Size: 68 KiB

Binary file not shown.

Before

(image error) Size: 166 KiB

Binary file not shown.

Before

(image error) Size: 2.0 MiB

Binary file not shown.

Before

(image error) Size: 73 KiB

Binary file not shown.

Before

(image error) Size: 191 KiB

Binary file not shown.

Before

(image error) Size: 2.2 MiB

Binary file not shown.

Before

(image error) Size: 78 KiB

Binary file not shown.

Before

(image error) Size: 152 KiB

Binary file not shown.

Before

(image error) Size: 1.9 MiB

Binary file not shown.

Before

(image error) Size: 61 KiB

Binary file not shown.

Before

(image error) Size: 152 KiB

Binary file not shown.

Before

(image error) Size: 1.9 MiB

Binary file not shown.

Before

(image error) 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

Binary file not shown.

Before

(image error) Size: 310 KiB

Binary file not shown.

Before

(image error) Size: 387 KiB

Binary file not shown.

Before

(image error) Size: 382 KiB

Binary file not shown.

Before

(image error) Size: 350 KiB

Binary file not shown.

Before

(image error) Size: 315 KiB

Binary file not shown.

Before

(image error) Size: 237 KiB

Binary file not shown.

Before

(image error) Size: 391 KiB

Binary file not shown.

Before

(image error) Size: 393 KiB

Binary file not shown.

Before

(image error) Size: 337 KiB

Binary file not shown.

Before

(image error) Size: 403 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
```

16
scpt/card_number_push.zsh Executable file

@ -0,0 +1,16 @@
#!/bin/zsh
d=${0:a:h}
dd=${0:a:h:h}
url=https://syui.ai/img
json=$dd/public/json/card.json
n=`cat $json|jq "length"`
n=`expr $n - 1`
for ((i=0;i<=14;i++))
do
sid=`cat $json|jq -r ".[$i].src"`
id=`cat $json|jq -r ".[$i].id"`
curl -sL $url/${sid}.png -o ~/ai/yui/content/img/${id}.png
done

62
scpt/convert.zsh Executable file

@ -0,0 +1,62 @@
#!/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
dir=$dd/public/card
static=$dd/static/img
json=$dd/public/json/card.json
mkdir -p $dir
mkdir -p $static
n=`cat $json|jq "length"`
n=`expr $n - 1`
bg=$static/card_bg.png
br=$static/card_br.png
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
gif=$dir/card_$id.gif
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

53
scpt/convert_origin.zsh Executable file

@ -0,0 +1,53 @@
#!/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
dir=$dd/public/card
static=$dd/static/img
json=$dd/public/json/card.json
mkdir -p $dir
mkdir -p $static
n=`cat $json|jq "length"`
n=`expr $n - 1`
bg=$static/card_bg_origin.png
br=$static/card_br.png
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_origin_${id}.png
if [ -f $o ];then
continue
fi
if [ ! -f $s ];then
curl -sL $url/yui_${sid}.png -o $s
fi
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

53
scpt/convert_origin2.zsh Executable file

@ -0,0 +1,53 @@
#!/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
dir=$dd/public/card
static=$dd/static/img
json=$dd/public/json/card.json
mkdir -p $dir
mkdir -p $static
n=`cat $json|jq "length"`
n=`expr $n - 1`
bg=$static/card_bg_origin2.png
br=$static/card_br.png
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_origin2_${id}.png
if [ -f $o ];then
continue
fi
if [ ! -f $s ];then
curl -sL $url/yui_${sid}.png -o $s
fi
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

55
scpt/convert_s.zsh Executable file

@ -0,0 +1,55 @@
#!/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
dir=$dd/public/card
static=$dd/static/img
json=$dd/public/json/card.json
mkdir -p $dir
mkdir -p $static
n=`cat $json|jq "length"`
n=`expr $n - 1`
bg=$static/card_bg_s.png
br=$static/card_bg_sr.png
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/test_${id}s.png
if [ -f $o ];then
continue
fi
if [ ! -f $s ];then
curl -sL $url/yui_${sid}.png -o $s
fi
#if [ ! -f $o ];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
rm $o.back
#fi
done
cd $dir
export NVM_DIR="$HOME/.nvm"
[ -s "$path_nvm_sh" ] && \. "$path_nvm_sh"
nvm use 17
nvm i squoosh-cli
#rm og_*
squoosh-cli --webp '{"quality":100}' -d ./ --resize '{width:825,height:1080}' *.png
#mogrify -resize 1620x2160! *.png

59
scpt/gif.zsh Executable file

@ -0,0 +1,59 @@
#!/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
dir=$dd/public/card
static=$dd/static/img
json=$dd/public/json/card.json
mkdir -p $dir
mkdir -p $static
n=`cat $json|jq "length"`
n=`expr $n - 1`
bg=$static/card_bg.png
br=$static/card_br.png
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"`
gif=$dir/card_$id.gif
if [ -f $gif ];then
continue
fi
nn=`ls $static/card_bgg_*.png|wc -l`
nn=$((nn - 1))
for ((ii=0;ii<=$nn;ii++))
do
title=$dir/null
o=${title}_${ii}.png
br=$static/card_bgg_${ii}.png
composite -gravity north -geometry +0+160 -compose over $s $bg $o.back
composite -gravity north -geometry +0+0 -compose over $br $o.back $o
rm $o.back
export NVM_DIR="$HOME/.nvm"
[ -s "$path_nvm_sh" ] && \. "$path_nvm_sh"
nvm use 17
nvm i squoosh-cli
squoosh-cli --webp '{"quality":100}' -d $dir --resize '{width:400,height:524}' $o
done
convert -layers optimize -loop 0 -delay 40 $dir/null_*.webp $gif
rm -f $dir/null_*
done

59
scpt/gif_first.zsh Executable file

@ -0,0 +1,59 @@
#!/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
dir=$dd/public/card
static=$dd/static/img
json=$dd/public/json/card.json
mkdir -p $dir
mkdir -p $static
n=`cat $json|jq "length"`
n=`expr $n - 1`
bg=$static/card_bg.png
br=$static/card_br.png
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"`
gif=$dir/card_first_$id.gif
if [ -f $gif ];then
continue
fi
nn=`ls $static/card_bgg_first_*.png|wc -l`
nn=$((nn - 1))
for ((ii=0;ii<=$nn;ii++))
do
title=$dir/null
o=${title}_first_${ii}.png
br=$static/card_bgg_first_${ii}.png
composite -gravity north -geometry +0+160 -compose over $s $bg $o.back
composite -gravity north -geometry +0+0 -compose over $br $o.back $o
rm $o.back
export NVM_DIR="$HOME/.nvm"
[ -s "$path_nvm_sh" ] && \. "$path_nvm_sh"
nvm use 17
nvm i squoosh-cli
squoosh-cli --webp '{"quality":100}' -d $dir --resize '{width:400,height:524}' $o
done
convert -layers optimize -loop 0 -delay 40 $dir/null_*.webp $gif
rm -f $dir/null_*
done

38
scpt/model_gif.zsh Executable file

@ -0,0 +1,38 @@
#!/bin/zsh
inp=mp4
for i in *.${inp}
do
ffmpeg -i *.${inp} -r 8 %04d.png
done
inp=png
out=jpg
for i in *.${inp}
do
convert ${i%.*}.${inp} -gravity center -crop 825x1080+0+0 ${i%.*}_crop.${inp}
convert ${i%.*}_crop.${inp} -resize 1620x2160! ${i%.*}.${out}
done
nn=`ls *.jpg|wc -l`
static=~/ai/card/static/img
bg=$static/card_bg.png
br=$static/card_br.png
for ((ii=1;ii<=$nn;ii++))
do
s=`ls *.jpg|awk "NR==$ii"`
o=null_${ii}.png
echo $o
if [ -f $b ];then
echo yes
else
echo no
fi
composite -gravity north -geometry +0+160 -compose over $s $bg $o.back
composite -gravity north -geometry +0+0 -compose over $br $o.back $o
rm $o.back
done
gif=`ls *.mp4|cut -d . -f 1`.gif
convert -layers optimize -loop 0 -delay 40 null_*.png $gif
rm *.jpg
rm *.png

56
scpt/ogimage.zsh Executable file

@ -0,0 +1,56 @@
#!/bin/zsh
url=https://card.syui.ai
d=${0:a:h}
dd=${0:a:h:h}
dir=$dd/public/card
o_dir=$dd/static/img
static=$dd/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
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

File diff suppressed because it is too large Load Diff

@ -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({

Binary file not shown.

After

(image error) Size: 219 KiB

BIN
static/img/ai-nyan-cake.png Normal file

Binary file not shown.

After

(image error) Size: 110 KiB

BIN
static/img/ai.png Normal file

Binary file not shown.

After

(image error) Size: 127 KiB

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Page not found &middot; 404 Page not found</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #990000; text-decoration: none;}
a:hover { color: #4183c4;}
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin: 35px;
color: #ccc;
}
span.icon-phoenix-world{
font-size: 50px;
}
</style>
<link rel="stylesheet" href="/bower_components/icomoon/css/icomoon.css" />
</head>
<body>
<div class="container">
<h1>404</h1>
<div id="suggestions">
</div>
<a href="/">
<span class="icon-phoenix-world"></span>
</a>
</div>
</body>
</html>

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Page not found &middot; 404 Page not found</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #990000; text-decoration: none;}
a:hover { color: #4183c4;}
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin: 35px;
color: #ccc;
}
span.icon-phoenix-world{
font-size: 50px;
}
</style>
<link rel="stylesheet" href="/bower_components/icomoon/css/icomoon.css" />
</head>
<body>
<div class="container">
<h1>404</h1>
<div id="suggestions">
</div>
<a href="/">
<span class="icon-phoenix-world"></span>
</a>
</div>
</body>
</html>

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Page not found &middot; 404 Page not found</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #990000; text-decoration: none;}
a:hover { color: #4183c4;}
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin: 35px;
color: #ccc;
}
span.icon-phoenix-world{
font-size: 50px;
}
</style>
<link rel="stylesheet" href="/bower_components/icomoon/css/icomoon.css" />
</head>
<body>
<div class="container">
<h1>404</h1>
<div id="suggestions">
</div>
<a href="/">
<span class="icon-phoenix-world"></span>
</a>
</div>
</body>
</html>

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Page not found &middot; 404 Page not found</title>
<style type="text/css" media="screen">
body {
background-color: #f1f1f1;
margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
a { color: #990000; text-decoration: none;}
a:hover { color: #4183c4;}
h1 { width: 800px; position:relative; left: -100px; letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px 0 50px 0; text-shadow: 0 1px 0 #fff; }
p { color: rgba(0, 0, 0, 0.5); margin: 20px 0; line-height: 1.6; }
ul { list-style: none; margin: 25px 0; padding: 0; }
li { display: table-cell; font-weight: bold; width: 1%; }
.logo { display: inline-block; margin-top: 35px; }
.logo-img-2x { display: none; }
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
.logo-img-1x { display: none; }
.logo-img-2x { display: inline-block; }
}
#suggestions {
margin: 35px;
color: #ccc;
}
span.icon-phoenix-world{
font-size: 50px;
}
</style>
<link rel="stylesheet" href="/bower_components/icomoon/css/icomoon.css" />
</head>
<body>
<div class="container">
<h1>404</h1>
<div id="suggestions">
</div>
<a href="/">
<span class="icon-phoenix-world"></span>
</a>
</div>
</body>
</html>

BIN
static/img/all.png Normal file

Binary file not shown.

After

(image error) Size: 99 KiB

BIN
static/img/book_1.png Normal file

Binary file not shown.

After

(image error) Size: 375 KiB

BIN
static/img/book_2.png Normal file

Binary file not shown.

After

(image error) Size: 514 KiB

BIN
static/img/book_3.png Normal file

Binary file not shown.

After

(image error) Size: 331 KiB

BIN
static/img/card_bg.png Normal file

Binary file not shown.

After

(image error) Size: 163 KiB

Binary file not shown.

After

(image error) Size: 228 KiB

Binary file not shown.

After

(image error) Size: 259 KiB

BIN
static/img/card_bg_s.png Normal file

Binary file not shown.

After

(image error) Size: 229 KiB

BIN
static/img/card_bg_sr.png Normal file

Binary file not shown.

After

(image error) Size: 129 KiB

Binary file not shown.

After

(image error) Size: 71 KiB

BIN
static/img/card_bgg_0.png Normal file

Binary file not shown.

After

(image error) Size: 163 KiB

BIN
static/img/card_bgg_1.png Normal file

Binary file not shown.

After

(image error) Size: 163 KiB

BIN
static/img/card_bgg_2.png Normal file

Binary file not shown.

After

(image error) Size: 192 KiB

BIN
static/img/card_bgg_3.png Normal file

Binary file not shown.

After

(image error) Size: 225 KiB

BIN
static/img/card_bgg_4.png Normal file

Binary file not shown.

After

(image error) Size: 223 KiB

BIN
static/img/card_bgg_5.png Normal file

Binary file not shown.

After

(image error) Size: 192 KiB

BIN
static/img/card_bgg_6.png Normal file

Binary file not shown.

After

(image error) Size: 163 KiB

BIN
static/img/card_bgg_7.png Normal file

Binary file not shown.

After

(image error) Size: 163 KiB

Some files were not shown because too many files have changed in this diff Show More