Compare commits
64 Commits
update-Nod
...
renovate/p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c104dc1253 | ||
| 676131dba2 | |||
| d4cce7bab4 | |||
| 8fdeb3c2d1 | |||
| 82a9c6c79d | |||
| c5645b3ec9 | |||
| fd227815ab | |||
| 0dd41aa309 | |||
| 242b893459 | |||
| e85851c8b8 | |||
| e5d9c26628 | |||
|
|
e31776f211 | ||
|
|
49539158f1 | ||
|
|
226c0d8131 | ||
|
|
94d5327303 | ||
|
|
a69b5b0583 | ||
|
|
e0d125fbf1 | ||
|
|
22c84bd724 | ||
|
|
b34c332da5 | ||
|
|
50246ce454 | ||
| 7e400d2afc | |||
|
|
9dacde8860 | ||
| 87d2c1ad6f | |||
| 89673cc826 | |||
| 5e089109e6 | |||
|
|
b3ac2badfb | ||
| 87debb2bdb | |||
|
|
09164fdd00 | ||
| e27f84f1e9 | |||
|
|
a466006606 | ||
| 11007c9139 | |||
|
|
acc07e5a48 | ||
| deafc9e2d5 | |||
| 58dbc5cecf | |||
| 02845772fe | |||
| 4a5b773ef6 | |||
| 70612a88aa | |||
| 8bdf65a19b | |||
|
|
a5900e6d90 | ||
| 38a35cbe30 | |||
| 854a845ac6 | |||
| 1468fd3afb | |||
| 28ed9a1d2d | |||
|
|
576d24ff5d | ||
| 14240fee26 | |||
| 28101779ee | |||
| 6f39048036 | |||
| 8340a42f4d | |||
| e67c0699a7 | |||
| 0a4a6f12e2 | |||
| 0a2c6ba099 | |||
|
|
0d11da55e1 | ||
| 9c46033ab4 | |||
| 5873412a9f | |||
|
|
6a9aef07db | ||
|
|
21ebb45089 | ||
| d9c7cb6963 | |||
| 870672d19b | |||
|
|
ca7ae870e8 | ||
|
|
69b0417d03 | ||
| 99c80d7737 | |||
| bc53f36260 | |||
| caa9280236 | |||
| 44f63b49cb |
4
.github/dependabot.yml
vendored
4
.github/dependabot.yml
vendored
@@ -4,7 +4,3 @@ updates:
|
|||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: "daily"
|
||||||
- package-ecosystem: 'npm'
|
|
||||||
directory: '/'
|
|
||||||
schedule:
|
|
||||||
interval: 'daily'
|
|
||||||
64
.github/workflows/actions.yml
vendored
64
.github/workflows/actions.yml
vendored
@@ -3,70 +3,78 @@ name: Docker Build
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main # Set a branch to deploy
|
||||||
|
|
||||||
env:
|
env:
|
||||||
IMAGE_REGISTRY: ghcr.io
|
IMAGE_REGISTRY: ghcr.io
|
||||||
TOKEN_USER: HotaruBlaze
|
|
||||||
IMAGE_OWNER: fluttershub
|
IMAGE_OWNER: fluttershub
|
||||||
IMAGE_NAME: homepage
|
IMAGE_NAME: homepage
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
BuildImage:
|
Build_x86:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
CPU_ARCH:
|
|
||||||
- arm64
|
|
||||||
- x86_64
|
|
||||||
# If running with act, Uncomment below
|
# If running with act, Uncomment below
|
||||||
# container: phaze9/action-runner
|
# container: phaze9/action-runner
|
||||||
env:
|
env:
|
||||||
DOCKER_CONFIG: $HOME/.docker
|
DOCKER_CONFIG: $HOME/.docker
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v1
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v1
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
- name: Available platforms
|
|
||||||
run: echo ${{ steps.buildx.outputs.platforms }}
|
|
||||||
|
|
||||||
- name: Login to ghcr.io
|
- name: Login to ghcr.io
|
||||||
uses: docker/login-action@v1
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: ${{ env.IMAGE_REGISTRY }}
|
registry: ${{ env.IMAGE_REGISTRY }}
|
||||||
username: ${{ env.TOKEN_USER }}
|
username: ${{ env.IMAGE_OWNER }}
|
||||||
password: ${{ secrets.TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Build and push - x64
|
- name: Build Docker Image
|
||||||
id: docker_build_x64
|
id: docker_build_x64
|
||||||
uses: docker/build-push-action@v2
|
uses: docker/build-push-action@v6
|
||||||
if: ${{ matrix.CPU_ARCH == 'x86_64'}}
|
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
labels: org.opencontainers.image.source https://github.com/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}
|
labels: org.opencontainers.image.source https://github.com/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}
|
||||||
tags: ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}:x64-latest
|
tags: ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}:x64-latest
|
||||||
|
|
||||||
- name: Build and push - arm64
|
Build_ARM64:
|
||||||
|
runs-on: [self-hosted, linux, ARM64]
|
||||||
|
# If running with act, Uncomment below
|
||||||
|
# container: phaze9/action-runner
|
||||||
|
env:
|
||||||
|
DOCKER_CONFIG: $HOME/.docker
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Login to ghcr.io
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ${{ env.IMAGE_REGISTRY }}
|
||||||
|
username: ${{ env.IMAGE_OWNER }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build Docker Image
|
||||||
id: docker_build_arm64
|
id: docker_build_arm64
|
||||||
uses: docker/build-push-action@v2
|
uses: docker/build-push-action@v6
|
||||||
if: ${{ matrix.CPU_ARCH == 'arm64'}}
|
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/arm64
|
platforms: linux/arm64
|
||||||
labels: org.opencontainers.image.source https://github.com/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}
|
labels: org.opencontainers.image.source https://github.com/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}
|
||||||
tags: ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}:arm-latest
|
tags: ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}:arm64-latest
|
||||||
|
|
||||||
|
|
||||||
Deploy:
|
Deploy:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: BuildImage
|
needs: Build_x86
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- name: Run Ansible playbook
|
- name: Run Ansible playbook
|
||||||
# uses: dawidd6/action-ansible-playbook@v2.5.0
|
# uses: dawidd6/action-ansible-playbook@v2.5.0
|
||||||
uses: dawidd6/action-ansible-playbook@671974ed60e946e11964cb0c26e69caaa4b1f559
|
uses: dawidd6/action-ansible-playbook@671974ed60e946e11964cb0c26e69caaa4b1f559
|
||||||
|
|||||||
10
.github/workflows/snyk-container.yml
vendored
10
.github/workflows/snyk-container.yml
vendored
@@ -14,13 +14,9 @@
|
|||||||
name: Snyk Container
|
name: Snyk Container
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
|
||||||
branches: [ main ]
|
|
||||||
pull_request:
|
pull_request:
|
||||||
# The branches below must be a subset of the branches above
|
# The branches below must be a subset of the branches above
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
schedule:
|
|
||||||
- cron: '18 21 * * 3'
|
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -32,14 +28,14 @@ jobs:
|
|||||||
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
|
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Build a Docker image
|
- name: Build a Docker image
|
||||||
run: docker build -t ghcr.io/fluttershub/homepage:snyk .
|
run: docker build -t ghcr.io/fluttershub/homepage:snyk .
|
||||||
- name: Run Snyk to check Docker image for vulnerabilities
|
- name: Run Snyk to check Docker image for vulnerabilities
|
||||||
# Snyk can be used to break the build when it detects vulnerabilities.
|
# Snyk can be used to break the build when it detects vulnerabilities.
|
||||||
# In this case we want to upload the issues to GitHub Code Scanning
|
# In this case we want to upload the issues to GitHub Code Scanning
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
uses: snyk/actions/docker@14818c4695ecc4045f33c9cee9e795a788711ca4
|
uses: snyk/actions/docker@master
|
||||||
env:
|
env:
|
||||||
# In order to use the Snyk Action you will need to have a Snyk API token.
|
# In order to use the Snyk Action you will need to have a Snyk API token.
|
||||||
# More details in https://github.com/snyk/actions#getting-your-snyk-token
|
# More details in https://github.com/snyk/actions#getting-your-snyk-token
|
||||||
@@ -49,6 +45,6 @@ jobs:
|
|||||||
image: ghcr.io/fluttershub/homepage:snyk
|
image: ghcr.io/fluttershub/homepage:snyk
|
||||||
args: --file=Dockerfile
|
args: --file=Dockerfile
|
||||||
- name: Upload result to GitHub Code Scanning
|
- name: Upload result to GitHub Code Scanning
|
||||||
uses: github/codeql-action/upload-sarif@v2
|
uses: github/codeql-action/upload-sarif@v3
|
||||||
with:
|
with:
|
||||||
sarif_file: snyk.sarif
|
sarif_file: snyk.sarif
|
||||||
|
|||||||
15
Dockerfile
15
Dockerfile
@@ -1,20 +1,23 @@
|
|||||||
FROM node:18-alpine AS base
|
FROM node:18.20.7 AS base
|
||||||
LABEL version="4.1.0"
|
LABEL version="4.1.0"
|
||||||
LABEL description=""
|
LABEL description=""
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get upgrade -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
COPY ["package.json", "./"]
|
COPY ["package.json", "./"]
|
||||||
COPY ["yarn.lock", "./"]
|
COPY ["yarn.lock", "./"]
|
||||||
|
|
||||||
FROM base AS builder
|
FROM base AS builder
|
||||||
RUN apk add --no-cache --virtual .gyp python3 make g++ \
|
RUN yarn install
|
||||||
&& yarn install \
|
|
||||||
&& apk del .gyp
|
|
||||||
|
|
||||||
COPY ["src/", "./src"]
|
COPY ["src/", "./src"]
|
||||||
RUN npm run Prod
|
RUN npm run Prod
|
||||||
|
|
||||||
FROM nginx:1.21.6-alpine as Web
|
FROM nginx:1.27.4-alpine as Web
|
||||||
|
|
||||||
|
RUN apk --update --no-cache upgrade
|
||||||
|
|
||||||
LABEL maintainer="Phoenix (https://github.com/HotaruBlaze)"
|
LABEL maintainer="Phoenix (https://github.com/HotaruBlaze)"
|
||||||
COPY docker/nginx.conf /etc/nginx/nginx.conf
|
COPY docker/nginx.conf /etc/nginx/nginx.conf
|
||||||
COPY docker/web.conf /etc/nginx/conf.d/web.conf
|
COPY docker/web.conf /etc/nginx/conf.d/web.conf
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
version: "3"
|
version: "3"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
fluttershub.com:
|
fluttershub-homepage:
|
||||||
image: ghcr.io/fluttershub/homepage:x64-latest
|
image: ghcr.io/fluttershub/homepage:x64-latest
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
13061
package-lock.json
generated
Normal file
13061
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
11
package.json
11
package.json
@@ -7,7 +7,7 @@
|
|||||||
"author": "HotaruBlaze",
|
"author": "HotaruBlaze",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git@github.com:github/Fluttershub.git"
|
"url": "git@github.com:Fluttershub/Homepage.git"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"preinit": "npx npm-force-resolutions",
|
"preinit": "npx npm-force-resolutions",
|
||||||
@@ -17,13 +17,12 @@
|
|||||||
"Prod": "npm run Cleanup && npm run Init && parcel build src/index.pug --dist-dir build"
|
"Prod": "npm run Cleanup && npm run Init && parcel build src/index.pug --dist-dir build"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"parcel": "^2.5.0"
|
"@parcel/transformer-pug": "2.14.4",
|
||||||
},
|
"@parcel/transformer-sass": "2.14.4",
|
||||||
"engines": {
|
"parcel": "^2.14.4"
|
||||||
"node": "^18.*"
|
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"node-forge": "0.10.0"
|
"node-forge": "1.3.1"
|
||||||
},
|
},
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
|
|||||||
@@ -18,7 +18,6 @@
|
|||||||
mode: '0755'
|
mode: '0755'
|
||||||
loop:
|
loop:
|
||||||
- docker-compose.yml
|
- docker-compose.yml
|
||||||
register: compose
|
|
||||||
|
|
||||||
- name: deploy Docker Compose stack if updated
|
- name: deploy Docker Compose stack if updated
|
||||||
community.docker.docker_compose:
|
community.docker.docker_compose:
|
||||||
@@ -26,4 +25,3 @@
|
|||||||
pull: true
|
pull: true
|
||||||
files:
|
files:
|
||||||
- docker-compose.yml
|
- docker-compose.yml
|
||||||
when: compose.changed
|
|
||||||
|
|||||||
6
renovate.json
Normal file
6
renovate.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": [
|
||||||
|
"config:recommended"
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
src/assets/profile_pic.png
Normal file
BIN
src/assets/profile_pic.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 93 KiB |
@@ -14,7 +14,7 @@ html(lang='en')
|
|||||||
.container
|
.container
|
||||||
.pod
|
.pod
|
||||||
.glow
|
.glow
|
||||||
img#profile_pic(src='https://img.fluttershub.com/VjpiMs7xp60yEcAH.png', alt='')
|
img#profile_pic(src='assets/profile_pic.png', alt='')
|
||||||
h1.welcome_text.text-flicker.text-flicker-1 Phoenix/Hotaru
|
h1.welcome_text.text-flicker.text-flicker-1 Phoenix/Hotaru
|
||||||
p.about_me.standard_text.text-box-glow
|
p.about_me.standard_text.text-box-glow
|
||||||
.pod
|
.pod
|
||||||
@@ -22,6 +22,8 @@ html(lang='en')
|
|||||||
a.standard_text.text-flicker-2(href="https://twitter.com/HotaruBlaze") Twitter
|
a.standard_text.text-flicker-2(href="https://twitter.com/HotaruBlaze") Twitter
|
||||||
a.standard_text.text-flicker-2(href="https://github.com/HotaruBlaze") Github
|
a.standard_text.text-flicker-2(href="https://github.com/HotaruBlaze") Github
|
||||||
a.standard_text.text-flicker-2(href="https://gitlab.com/HotaruBlaze") Gitlab
|
a.standard_text.text-flicker-2(href="https://gitlab.com/HotaruBlaze") Gitlab
|
||||||
|
a.standard_text.text-flicker-2(href="mailto:hotarublaze@gmail.com") Email
|
||||||
footer.standard_text.footer-slide
|
footer.standard_text.footer-slide
|
||||||
.creator
|
.creator
|
||||||
a.build_text(href="https://img.fluttershub.com/EgOwhwrHyHWw.png") Cookie? 🍪
|
a.build_text(href="https://www.youtube.com/watch?v=5DWFZhAVI3s") Cookie?
|
||||||
|
a.cookie(href="https://img.fluttershub.com/pdDK7pdVJZU3d9UI.jpg") 🍪
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ meta(property='og:url', content='https://fluttershub.com')
|
|||||||
meta(property='og:type', content='website')
|
meta(property='og:type', content='website')
|
||||||
meta(property='og:title', content='Phoenix\'s Personal Website')
|
meta(property='og:title', content='Phoenix\'s Personal Website')
|
||||||
meta(property='og:description', content='We got cookies and milk!')
|
meta(property='og:description', content='We got cookies and milk!')
|
||||||
meta(property='og:image', content='http://storage.googleapis.com/api.fluttershub.com/images/public/profile_pic.jpg')
|
meta(property='og:image', content='http://s3.fluttershub.com/fluttershub-com/public/profile_pic.png')
|
||||||
meta(property='og:image:secure_url', content='https://storage.googleapis.com/api.fluttershub.com/images/public/profile_pic.jpg')
|
meta(property='og:image:secure_url', content='https://s3.fluttershub.com/fluttershub-com/public/profile_pic.png')
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
@import "animations/bounce.scss";
|
@use "animations/bounce.scss";
|
||||||
@import "animations/flicker.scss";
|
@use "animations/flicker.scss";
|
||||||
@import "animations/slide.scss";
|
@use "animations/slide.scss";
|
||||||
@@ -60,6 +60,9 @@ body,html, .container {
|
|||||||
-moz-user-select: text;
|
-moz-user-select: text;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
.cookie {
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
.no_hightnight a:link, a{
|
.no_hightnight a:link, a{
|
||||||
color: inherit;
|
color: inherit;
|
||||||
|
|||||||
@@ -1,42 +1,40 @@
|
|||||||
// @import "./bounce.scss";
|
// @use "./bounce.scss";
|
||||||
|
|
||||||
|
// Keyframes must be declared at the top level
|
||||||
|
@keyframes border-pulsate {
|
||||||
|
0% {
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
60% {
|
||||||
|
box-shadow:
|
||||||
|
inset 0 0 50px #fff,
|
||||||
|
inset 20px 0 80px #f5f,
|
||||||
|
inset -20px 0 80px #0ff,
|
||||||
|
inset 20px 0 300px #f0f,
|
||||||
|
inset -20px 0 300px #0ff,
|
||||||
|
0 0 50px #fff,
|
||||||
|
-10px 0 80px #f0f,
|
||||||
|
10px 0 80px #0ff;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#profile_pic {
|
#profile_pic {
|
||||||
width: 256px;
|
width: 256px;
|
||||||
height: 256px;
|
height: 256px;
|
||||||
/* Safari 3-4, iOS 1-3.2, Android 1.6- */
|
|
||||||
|
/* Safari 3-4, iOS 1-3.2, Android 1.6- */
|
||||||
-webkit-border-radius: 50%;
|
-webkit-border-radius: 50%;
|
||||||
|
|
||||||
/* Firefox 1-3.6 */
|
/* Firefox 1-3.6 */
|
||||||
-moz-border-radius: 50%;
|
-moz-border-radius: 50%;
|
||||||
|
|
||||||
/* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */
|
/* Modern browsers */
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
.glow img{
|
|
||||||
@keyframes border-pulsate {
|
.glow img {
|
||||||
0%{
|
|
||||||
box-shadow:none;
|
|
||||||
}
|
|
||||||
60%{
|
|
||||||
box-shadow:
|
|
||||||
inset 0 0 50px #fff,
|
|
||||||
inset 20px 0 80px #f5f,
|
|
||||||
inset -20px 0 80px #0ff,
|
|
||||||
inset 20px 0 300px #f0f,
|
|
||||||
inset -20px 0 300px #0ff,
|
|
||||||
0 0 50px #fff,
|
|
||||||
-10px 0 80px #f0f,
|
|
||||||
10px 0 80px #0ff;
|
|
||||||
}
|
|
||||||
100%{
|
|
||||||
box-shadow:none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// -webkit-animation: bounce-in-fwd 1.1s cubic-bezier(0.645, 0.045, 0.355, 1.000) both;
|
|
||||||
// animation: bounce-in-fwd 1.1s cubic-bezier(0.645, 0.045, 0.355, 1.000) both;
|
|
||||||
animation: bounce-in 800ms cubic-bezier(0.645, 0.045, 0.355, 1.000) both, border-pulsate 10s infinite;
|
animation: bounce-in 800ms cubic-bezier(0.645, 0.045, 0.355, 1.000) both, border-pulsate 10s infinite;
|
||||||
/* transition:all 4s ease-out;
|
|
||||||
/*animation-delay: 0s;
|
|
||||||
animation-play-state: running;
|
|
||||||
// animation-fill-mode: backwards; */
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
@import "components/common.scss";
|
@use "components/common.scss";
|
||||||
// @import "components/animation.scss";
|
// @use "components/animation.scss";
|
||||||
@import "components/img.scss";
|
@use "components/img.scss";
|
||||||
@import "components/footer.scss";
|
@use "components/footer.scss";
|
||||||
@import "components/animations.scss";
|
@use "components/animations.scss";
|
||||||
// @import "components/slide.scss";
|
// @use "components/slide.scss";
|
||||||
// @import "components/links.scss";
|
// @use "components/links.scss";
|
||||||
Reference in New Issue
Block a user