Compare commits
97 commits
Author | SHA1 | Date | |
---|---|---|---|
a4e45ab2b8 | |||
a8815648cb | |||
747b1d78db | |||
d982c5f57b | |||
c609634b98 | |||
629bf91d4f | |||
949b05b192 | |||
de3e262a3c | |||
27ee2de172 | |||
95e8df6478 | |||
801c00375d | |||
fdb9fd183f | |||
1cf59e0bea | |||
00b9a8566c | |||
e4ab214441 | |||
55231de6ec | |||
03f3b230e6 | |||
15ebe78733 | |||
73609d03c0 | |||
e28c7e066d | |||
9fcbdebe9a | |||
123f600f6f | |||
2a208c60c8 | |||
75d498852f | |||
96df246781 | |||
89189da621 | |||
57cf29e71c | |||
034d769e7e | |||
5e4da25f8d | |||
1975bbc8d2 | |||
d67e426f15 | |||
1f1bc5a7db | |||
5da1dde6a6 | |||
9e61582456 | |||
9c2c7f7818 | |||
f1bb9b80ca | |||
0b4bca36ed | |||
3ebbc2408b | |||
4bd32b9840 | |||
5ed62666ac | |||
e577cf3861 | |||
7ee1afa674 | |||
c4d980f0cd | |||
b064bda7d8 | |||
d17e6ff986 | |||
c68294be55 | |||
23fbe1b733 | |||
a16d06676d | |||
cf384c018b | |||
8fc270833b | |||
827353f729 | |||
45fd44e192 | |||
2af757d5bd | |||
0afe61add2 | |||
2db950a59d | |||
58a33025c4 | |||
bee2d59662 | |||
f4ad0fa12d | |||
4e987231ac | |||
4489645fc6 | |||
04e9f5acaf | |||
da160ecb97 | |||
bcb09ce4d6 | |||
02acb9f4de | |||
9f607ff14d | |||
62e3869ce9 | |||
441d8a42a3 | |||
65d4339b9f | |||
c94fb25aba | |||
45319bcbf0 | |||
cbf8f0d2ea | |||
8f989176c7 | |||
e24c21c100 | |||
34784a3bf1 | |||
278c39cb3b | |||
10c1827b2c | |||
4c65aec72e | |||
dc768dd9d4 | |||
c0ef6cecb4 | |||
ec9e4d8c93 | |||
838190b8e5 | |||
e0cf2af0c0 | |||
40e2d75e0a | |||
2901f3fec3 | |||
2da732d58b | |||
75478e8acb | |||
baba467e94 | |||
d08a7e86c7 | |||
c5af572d38 | |||
04ec083b19 | |||
7fe9e8c25f | |||
e75a575417 | |||
218655f0e5 | |||
b28e7ddf1b | |||
3dd1831baa | |||
0a894ad0ac | |||
91864702e7 |
97
.forgejo/workflows/build_preview.yml
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '[0-9]+\.[0-9]+\.[0-9]+-pre\.[0-9]+'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check-tag:
|
||||||
|
runs-on: docker
|
||||||
|
steps:
|
||||||
|
- name: Checking Out Repository Code
|
||||||
|
uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
|
- name: Check if Version in package.json matches Tag
|
||||||
|
run: |
|
||||||
|
VERSION=$(npm pkg get version --workspaces=false | tr -d \")
|
||||||
|
if test $VERSION != "${{ github.ref_name }}"; then
|
||||||
|
echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'";
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Version is: '$VERSION'";
|
||||||
|
fi
|
||||||
|
|
||||||
|
checking:
|
||||||
|
needs: [ check-tag ]
|
||||||
|
runs-on: docker
|
||||||
|
container: forgejo.neshweb.net/ci-docker-images/node-alpine-git:latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout source code
|
||||||
|
uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
|
- name: Install packages
|
||||||
|
run: npm i
|
||||||
|
- name: Run astro check (linting + static analysis)
|
||||||
|
run: npm run astro check
|
||||||
|
|
||||||
|
build-site:
|
||||||
|
needs: [ checking ]
|
||||||
|
if: success()
|
||||||
|
runs-on: dind
|
||||||
|
steps:
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
- name: Log into Docker Package Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: forgejo.neshweb.net
|
||||||
|
username: ${{ secrets.FORGEJO_USERNAME }}
|
||||||
|
password: ${{ secrets.FORGEJO_TOKEN }}
|
||||||
|
- name: Build and push to Docker Package Registry
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
push: true
|
||||||
|
tags: forgejo.neshweb.net/firq/fgo-ta-com-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/fgo-ta-com-website:preview
|
||||||
|
|
||||||
|
create-release:
|
||||||
|
needs: [ build-site ]
|
||||||
|
if: success()
|
||||||
|
runs-on: docker
|
||||||
|
steps:
|
||||||
|
- name: Release New Version
|
||||||
|
uses: https://code.forgejo.org/actions/forgejo-release@v1
|
||||||
|
with:
|
||||||
|
direction: upload
|
||||||
|
url: https://forgejo.neshweb.net
|
||||||
|
release-dir: release
|
||||||
|
token: ${{ secrets.FORGEJO_TOKEN }}
|
||||||
|
tag: ${{ github.ref_name }}
|
||||||
|
prerelease: true
|
||||||
|
|
||||||
|
auto-deploy-dockge:
|
||||||
|
needs: [ build-site ]
|
||||||
|
if: success()
|
||||||
|
runs-on: docker
|
||||||
|
container: forgejo.neshweb.net/firq/dockge-cli:0.1.2
|
||||||
|
steps:
|
||||||
|
- name: Configure Dockge CLI
|
||||||
|
run: |
|
||||||
|
dockge host '${{ vars.DOCKGE_HOST }}'
|
||||||
|
dockge login --user '${{ secrets.DOCKGE_USER }}' --password '${{ secrets.DOCKGE_CREDENTIAL }}'
|
||||||
|
- name: Check status and redeploy
|
||||||
|
run: |
|
||||||
|
dockge status fgo-ta-com-preview
|
||||||
|
dockge update fgo-ta-com-preview
|
||||||
|
dockge status fgo-ta-com-preview
|
||||||
|
|
||||||
|
run-unlighthouse:
|
||||||
|
needs: [ build-site ]
|
||||||
|
if: success()
|
||||||
|
runs-on: docker
|
||||||
|
steps:
|
||||||
|
- name: Launch workflow
|
||||||
|
run: |
|
||||||
|
payload="{\"ref\": \"${GITHUB_REF_NAME}\", \"inputs\": { \"containertag\": \"${GITHUB_REF_NAME}\" }}"
|
||||||
|
curl -X "POST" \
|
||||||
|
-H "accept: application/json" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-H "Authorization: token ${GITHUB_TOKEN}" \
|
||||||
|
-d "${payload}" \
|
||||||
|
"${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/actions/workflows/unlighthouse.yml/dispatches" -v
|
|
@ -2,51 +2,80 @@ on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- '[0-9]+\.[0-9]+\.[0-9]+'
|
- '[0-9]+\.[0-9]+\.[0-9]+'
|
||||||
- '[0-9]+\.[0-9]+\.[0-9]+a[0-9]+'
|
|
||||||
- '[0-9]+\.[0-9]+\.[0-9]+b[0-9]+'
|
|
||||||
- '[0-9]+\.[0-9]+\.[0-9]+rc[0-9]+'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
checking:
|
check-tag:
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
container: node:lts
|
steps:
|
||||||
|
- name: Checking Out Repository Code
|
||||||
|
uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
|
- name: Check if Version in package.json matches Tag
|
||||||
|
run: |
|
||||||
|
VERSION=$(npm pkg get version --workspaces=false | tr -d \")
|
||||||
|
if test $VERSION != "${{ github.ref_name }}"; then
|
||||||
|
echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'";
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Version is: '$VERSION'";
|
||||||
|
fi
|
||||||
|
|
||||||
|
checking:
|
||||||
|
needs: [ check-tag ]
|
||||||
|
runs-on: docker
|
||||||
|
container: forgejo.neshweb.net/ci-docker-images/node-alpine-git:latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout source code
|
- name: Checkout source code
|
||||||
uses: https://code.forgejo.org/actions/checkout@v3
|
uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: npm install
|
run: npm i
|
||||||
- name: Run astro check (linting + static analysis)
|
- name: Run astro check (linting + static analysis)
|
||||||
run: npm run astro check
|
run: npm run astro check
|
||||||
|
|
||||||
build-site:
|
build-site:
|
||||||
needs: [checking]
|
needs: [ checking ]
|
||||||
if: success()
|
if: success()
|
||||||
runs-on: dind
|
runs-on: dind
|
||||||
steps:
|
steps:
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
- name: Login to Docker Hub
|
- name: Log into Docker Package Registry
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: forgejo.neshweb.net
|
registry: forgejo.neshweb.net
|
||||||
username: ${{ secrets.FORGEJO_USERNAME }}
|
username: ${{ secrets.FORGEJO_USERNAME }}
|
||||||
password: ${{ secrets.FORGEJO_TOKEN }}
|
password: ${{ secrets.FORGEJO_TOKEN }}
|
||||||
- name: Push to Package Registry
|
- name: Build and push to Docker Package Registry
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
tags: forgejo.neshweb.net/firq/fgo-ta.com-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/fgo-ta.com-website:latest
|
tags: forgejo.neshweb.net/firq/fgo-ta-com-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/fgo-ta-com-website:latest
|
||||||
|
|
||||||
release:
|
create-release:
|
||||||
needs: [build-site]
|
needs: [ build-site ]
|
||||||
if: success()
|
if: success()
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
steps:
|
steps:
|
||||||
- name: Release New Version
|
- name: Release New Version
|
||||||
uses: actions/forgejo-release@v1
|
uses: https://code.forgejo.org/actions/forgejo-release@v1
|
||||||
with:
|
with:
|
||||||
direction: upload
|
direction: upload
|
||||||
url: https://forgejo.neshweb.net
|
url: https://forgejo.neshweb.net
|
||||||
release-dir: release
|
release-dir: release
|
||||||
token: ${{ secrets.FORGEJO_TOKEN }}
|
token: ${{ secrets.FORGEJO_TOKEN }}
|
||||||
tag: ${{ github.ref_name }}
|
tag: ${{ github.ref_name }}
|
||||||
|
|
||||||
|
auto-deploy-dockge:
|
||||||
|
needs: [ build-site ]
|
||||||
|
if: success()
|
||||||
|
runs-on: docker
|
||||||
|
container: forgejo.neshweb.net/firq/dockge-cli:0.1.2
|
||||||
|
steps:
|
||||||
|
- name: Configure Dockge CLI
|
||||||
|
run: |
|
||||||
|
dockge host '${{ vars.DOCKGE_HOST }}'
|
||||||
|
dockge login --user '${{ secrets.DOCKGE_USER }}' --password '${{ secrets.DOCKGE_CREDENTIAL }}'
|
||||||
|
- name: Check status and redeploy
|
||||||
|
run: |
|
||||||
|
dockge status fgo-ta-com
|
||||||
|
dockge update fgo-ta-com
|
||||||
|
dockge status fgo-ta-com
|
||||||
|
|
|
@ -1,16 +1,25 @@
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- "**"
|
- '**'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
checking:
|
get-version:
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
container: node:lts
|
steps:
|
||||||
|
- name: Checking Out Repository Code
|
||||||
|
uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
|
- name: Check if Version in package.json matches Tag
|
||||||
|
run: |
|
||||||
|
VERSION=$(npm pkg get version --workspaces=false | tr -d \")
|
||||||
|
echo "Version is: '$VERSION'";
|
||||||
|
astro-check:
|
||||||
|
runs-on: docker
|
||||||
|
container: forgejo.neshweb.net/ci-docker-images/node-alpine-git:latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout source code
|
- name: Checkout source code
|
||||||
uses: https://code.forgejo.org/actions/checkout@v3
|
uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
run: npm install
|
run: npm i
|
||||||
- name: Run astro check (linting + static analysis)
|
- name: Run astro check (linting + static analysis)
|
||||||
run: npm run astro check
|
run: npm run astro check
|
||||||
|
|
91
.forgejo/workflows/unlighthouse.yml
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
name: Run unlighthouse-tests [Downstream pipeline]
|
||||||
|
run-name: Run unlighthouse-tests [Downstream pipeline] for version ${{ inputs.containertag }}
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
containertag:
|
||||||
|
description: "Tag of the container to test"
|
||||||
|
default: "preview"
|
||||||
|
type: "string"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
unlighthouse:
|
||||||
|
runs-on: docker
|
||||||
|
container:
|
||||||
|
image: forgejo.neshweb.net/ci-docker-images/unlighthouse:0.3.0
|
||||||
|
services:
|
||||||
|
website:
|
||||||
|
image: forgejo.neshweb.net/firq/fgo-ta-com-website:${{ inputs.containertag }}
|
||||||
|
options: >-
|
||||||
|
--workdir /
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: https://code.forgejo.org/actions/checkout@v3
|
||||||
|
- name: Check availability
|
||||||
|
run: |
|
||||||
|
while [ "$(curl -o /dev/null -s -w '%{http_code}' http://localhost:8081/)" -ne 200 ];
|
||||||
|
do echo "Waiting...";
|
||||||
|
sleep 5;
|
||||||
|
done;
|
||||||
|
- name: Run unlighthouse
|
||||||
|
run: unlighthouse-ci --site "http://localhost:8081/"
|
||||||
|
- name: Replace URLs
|
||||||
|
run: find ./unlighthouse-reports -type f | xargs sed -i "s|http://localhost:8081|https://preview.fgo-ta.com|g";
|
||||||
|
- name: Prepare artifacts
|
||||||
|
run: cp serve.json unlighthouse-reports
|
||||||
|
- name: Upload reports
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: unlighthouse-reports
|
||||||
|
path: unlighthouse-reports/
|
||||||
|
- name: Upload Dockerfile
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: dockerfile
|
||||||
|
path: Dockerfile.reports
|
||||||
|
|
||||||
|
build-site:
|
||||||
|
needs: [ unlighthouse ]
|
||||||
|
if: success()
|
||||||
|
runs-on: dind
|
||||||
|
steps:
|
||||||
|
- name: Downloading static site artifacts
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: dockerfile
|
||||||
|
- name: Downloading static site artifacts
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: unlighthouse-reports
|
||||||
|
path: reports
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
- name: Log into Docker Package Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: forgejo.neshweb.net
|
||||||
|
username: ${{ secrets.FORGEJO_USERNAME }}
|
||||||
|
password: ${{ secrets.FORGEJO_TOKEN }}
|
||||||
|
- name: Build and push to Docker Package Registry
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.reports
|
||||||
|
push: true
|
||||||
|
tags: forgejo.neshweb.net/firq/fgo-ta-com-website-unlighthouse:latest
|
||||||
|
|
||||||
|
auto-deploy-dockge:
|
||||||
|
needs: [ build-site ]
|
||||||
|
if: success()
|
||||||
|
runs-on: docker
|
||||||
|
container: forgejo.neshweb.net/firq/dockge-cli:0.1.2
|
||||||
|
steps:
|
||||||
|
- name: Configure Dockge CLI
|
||||||
|
run: |
|
||||||
|
dockge host '${{ vars.DOCKGE_HOST }}'
|
||||||
|
dockge login --user '${{ secrets.DOCKGE_USER }}' --password '${{ secrets.DOCKGE_CREDENTIAL }}'
|
||||||
|
- name: Check status and redeploy
|
||||||
|
run: |
|
||||||
|
dockge status fgo-ta-com-unlighthouse
|
||||||
|
dockge update fgo-ta-com-unlighthouse
|
||||||
|
dockge status fgo-ta-com-unlighthouse
|
3
.gitignore
vendored
|
@ -19,3 +19,6 @@ pnpm-debug.log*
|
||||||
|
|
||||||
# macOS-specific files
|
# macOS-specific files
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
|
# Temporary files
|
||||||
|
.temp/
|
||||||
|
|
|
@ -66,7 +66,6 @@ deploy-site:
|
||||||
- ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; cd fgo-ta_com; find public -maxdepth 1 -printf "%p\n"; screen -S fgo-ta_com-public -dm serve public/ -p 9200'
|
- ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; cd fgo-ta_com; find public -maxdepth 1 -printf "%p\n"; screen -S fgo-ta_com-public -dm serve public/ -p 9200'
|
||||||
- echo "Website is up on https://fgo-ta.com"
|
- echo "Website is up on https://fgo-ta.com"
|
||||||
|
|
||||||
|
|
||||||
redeploy-site:
|
redeploy-site:
|
||||||
stage: scripts
|
stage: scripts
|
||||||
when: manual
|
when: manual
|
||||||
|
|
5
.prettierignore
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
**/.git
|
||||||
|
**/node_modules
|
||||||
|
**/.vscode
|
||||||
|
**/public
|
||||||
|
**/dist
|
6
.prettierrc
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"trailingComma": "es5",
|
||||||
|
"tabWidth": 2,
|
||||||
|
"semi": false,
|
||||||
|
"singleQuote": true
|
||||||
|
}
|
2
.vscode/settings.json
vendored
|
@ -7,7 +7,7 @@
|
||||||
"**/.DS_Store": true,
|
"**/.DS_Store": true,
|
||||||
"**/Thumbs.db": true,
|
"**/Thumbs.db": true,
|
||||||
"**/__pycache__": true,
|
"**/__pycache__": true,
|
||||||
"**/node_modules": false
|
"**/node_modules": true
|
||||||
},
|
},
|
||||||
"hide-files.files": []
|
"hide-files.files": []
|
||||||
}
|
}
|
16
Dockerfile
|
@ -1,16 +1,16 @@
|
||||||
FROM node:lts AS build
|
FROM node:22-alpine AS build
|
||||||
WORKDIR /app
|
WORKDIR /site
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN npm i
|
RUN npm i
|
||||||
|
RUN npm run astro telemetry disable
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
|
||||||
FROM node:lts AS runtime
|
FROM forgejo.neshweb.net/ci-docker-images/website-serve:2 AS runtime
|
||||||
RUN npm install --global "@warren-bank/serve"
|
|
||||||
|
|
||||||
COPY --from=build /app/dist /public
|
COPY --from=build /site/dist /public
|
||||||
COPY --from=build /app/serve.json /public/serve.json
|
COPY --from=build /site/serve.json /public/serve.json
|
||||||
|
|
||||||
ENV PORT 8081
|
ENV PORT=8081
|
||||||
EXPOSE 8081
|
EXPOSE 8081
|
||||||
|
|
||||||
CMD [ "serve", "public/", "-p", "8081" ]
|
CMD serve public/ -p ${PORT}
|
||||||
|
|
6
Dockerfile.reports
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
FROM forgejo.neshweb.net/ci-docker-images/website-serve:2 AS runtime
|
||||||
|
|
||||||
|
ADD reports /public
|
||||||
|
|
||||||
|
EXPOSE 8081
|
||||||
|
CMD serve public/ -p 8081
|
44
README.md
|
@ -1,42 +1,6 @@
|
||||||
# Astro Starter Kit: Basics
|
# FGO TA Astro Site
|
||||||
|
|
||||||
```
|
## Commands
|
||||||
npm create astro@latest -- --template basics
|
|
||||||
```
|
|
||||||
|
|
||||||
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics)
|
|
||||||
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/basics)
|
|
||||||
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/basics/devcontainer.json)
|
|
||||||
|
|
||||||
> 🧑🚀 **Seasoned astronaut?** Delete this file. Have fun!
|
|
||||||
|
|
||||||
![basics](https://user-images.githubusercontent.com/4677417/186188965-73453154-fdec-4d6b-9c34-cb35c248ae5b.png)
|
|
||||||
|
|
||||||
## 🚀 Project Structure
|
|
||||||
|
|
||||||
Inside of your Astro project, you'll see the following folders and files:
|
|
||||||
|
|
||||||
```
|
|
||||||
/
|
|
||||||
├── public/
|
|
||||||
│ └── favicon.svg
|
|
||||||
├── src/
|
|
||||||
│ ├── components/
|
|
||||||
│ │ └── Card.astro
|
|
||||||
│ ├── layouts/
|
|
||||||
│ │ └── Layout.astro
|
|
||||||
│ └── pages/
|
|
||||||
│ └── index.astro
|
|
||||||
└── package.json
|
|
||||||
```
|
|
||||||
|
|
||||||
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
|
|
||||||
|
|
||||||
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
|
|
||||||
|
|
||||||
Any static assets, like images, can be placed in the `public/` directory.
|
|
||||||
|
|
||||||
## 🧞 Commands
|
|
||||||
|
|
||||||
All commands are run from the root of the project, from a terminal:
|
All commands are run from the root of the project, from a terminal:
|
||||||
|
|
||||||
|
@ -48,7 +12,3 @@ All commands are run from the root of the project, from a terminal:
|
||||||
| `npm run preview` | Preview your build locally, before deploying |
|
| `npm run preview` | Preview your build locally, before deploying |
|
||||||
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
|
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
|
||||||
| `npm run astro -- --help` | Get help using the Astro CLI |
|
| `npm run astro -- --help` | Get help using the Astro CLI |
|
||||||
|
|
||||||
## 👀 Want to learn more?
|
|
||||||
|
|
||||||
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
|
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
|
import sitemap from '@astrojs/sitemap';
|
||||||
|
import metaTags from "astro-meta-tags";
|
||||||
import { defineConfig } from 'astro/config';
|
import { defineConfig } from 'astro/config';
|
||||||
import sitemap from "@astrojs/sitemap";
|
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
sitemap: true,
|
sitemap: true,
|
||||||
base: '/',
|
base: '/',
|
||||||
outDir: 'dist',
|
outDir: 'dist',
|
||||||
publicDir: 'static',
|
publicDir: 'public',
|
||||||
site: 'https://fgo-ta.com/',
|
site: 'https://fgo-ta.com/',
|
||||||
integrations: [sitemap()]
|
integrations: [sitemap(), metaTags()],
|
||||||
|
trailingSlash: "never"
|
||||||
});
|
});
|
7758
package-lock.json
generated
24
package.json
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "",
|
"name": "fgo-ta-com-website",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.1.0",
|
"version": "0.2.2-pre.22",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
"start": "astro dev",
|
"start": "astro dev",
|
||||||
|
@ -10,7 +10,23 @@
|
||||||
"astro": "astro"
|
"astro": "astro"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/sitemap": "^1.4.0",
|
"@astro-community/astro-embed-youtube": "^0.5.2",
|
||||||
"astro": "^2.8.3"
|
"@astrojs/check": "^0.9.3",
|
||||||
|
"@astrojs/sitemap": "^3.1.6",
|
||||||
|
"@fontsource/work-sans": "^5.0.18",
|
||||||
|
"astro": "^4.14.3",
|
||||||
|
"astro-meta-tags": "^0.3.0",
|
||||||
|
"autoprefixer": "^10.4.19",
|
||||||
|
"iconoir": "^7.7.0",
|
||||||
|
"postcss-preset-env": "^9.6.0",
|
||||||
|
"typescript": "^5.5.3"
|
||||||
|
},
|
||||||
|
"browserslist": [
|
||||||
|
"last 2 versions",
|
||||||
|
">0.5% and not dead"
|
||||||
|
],
|
||||||
|
"devDependencies": {
|
||||||
|
"prettier": "^3.1.1",
|
||||||
|
"prettier-plugin-astro": "^0.12.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
13
postcss.config.cjs
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
module.exports = {
|
||||||
|
plugins: {
|
||||||
|
"postcss-preset-env": {
|
||||||
|
autoprefixer: { flexbox: "no-2009" },
|
||||||
|
stage: 2,
|
||||||
|
features: {
|
||||||
|
"custom-properties": false,
|
||||||
|
"custom-media-queries": true,
|
||||||
|
"nesting-rules": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 123 KiB |
7
public/robots.txt
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
user-agent:*
|
||||||
|
Disallow: /assets/data/
|
||||||
|
|
||||||
|
User-agent: GPTBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
Sitemap: https://fgo-ta.com/sitemap-index.xml
|
36
serve.json
|
@ -4,17 +4,31 @@
|
||||||
"etag": true,
|
"etag": true,
|
||||||
"headers": [
|
"headers": [
|
||||||
{
|
{
|
||||||
"source" : "**/*.@(jpg|jpeg|gif|png|webp|svg)",
|
"source": "**/*.@(jpg|jpeg|gif|png|webp|svg)",
|
||||||
"headers" : [{
|
"headers": [
|
||||||
"key" : "Cache-Control",
|
{
|
||||||
"value" : "no-cache"
|
"key": "Cache-Control",
|
||||||
}]
|
"value": "no-cache"
|
||||||
}, {
|
}
|
||||||
"source" : "404.html",
|
]
|
||||||
"headers" : [{
|
},
|
||||||
"key" : "Cache-Control",
|
{
|
||||||
"value" : "no-cache"
|
"source": "**/*.woff2",
|
||||||
}]
|
"headers": [
|
||||||
|
{
|
||||||
|
"key": "Cache-Control",
|
||||||
|
"value": "no-cache"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "404.html",
|
||||||
|
"headers": [
|
||||||
|
{
|
||||||
|
"key": "Cache-Control",
|
||||||
|
"value": "no-cache"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Before Width: | Height: | Size: 7 KiB After Width: | Height: | Size: 7 KiB |
BIN
src/assets/lizsad.png
Normal file
After Width: | Height: | Size: 191 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
src/assets/shishousad.webp
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
src/assets/ta_servants/106.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/11.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
src/assets/ta_servants/113.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
src/assets/ta_servants/115.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
src/assets/ta_servants/118.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
src/assets/ta_servants/12.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/ta_servants/126.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
src/assets/ta_servants/128.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
src/assets/ta_servants/133.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/134.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/assets/ta_servants/136.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/139.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
src/assets/ta_servants/141.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
src/assets/ta_servants/142.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
src/assets/ta_servants/143.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/145.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/assets/ta_servants/148.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
src/assets/ta_servants/150.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/assets/ta_servants/153.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
src/assets/ta_servants/155.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
src/assets/ta_servants/16.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
src/assets/ta_servants/163.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/assets/ta_servants/165.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/assets/ta_servants/167.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/assets/ta_servants/175.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
src/assets/ta_servants/182.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/assets/ta_servants/195.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/ta_servants/196.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/assets/ta_servants/198.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/ta_servants/2.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
src/assets/ta_servants/200.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
src/assets/ta_servants/201.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/205.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
src/assets/ta_servants/209.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/213.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
src/assets/ta_servants/215.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/assets/ta_servants/216.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/ta_servants/219.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
src/assets/ta_servants/220.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/223.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/ta_servants/224.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/assets/ta_servants/225.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/226.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
src/assets/ta_servants/231.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/assets/ta_servants/232.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/assets/ta_servants/234.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
src/assets/ta_servants/235.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
src/assets/ta_servants/238.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
src/assets/ta_servants/239.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/assets/ta_servants/242.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
src/assets/ta_servants/247.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
src/assets/ta_servants/250.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
src/assets/ta_servants/252.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/253.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
src/assets/ta_servants/258.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/259.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
src/assets/ta_servants/261.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
src/assets/ta_servants/264.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/266.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/ta_servants/268.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/ta_servants/275.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/ta_servants/276.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/assets/ta_servants/277.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
src/assets/ta_servants/278.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
src/assets/ta_servants/280.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/ta_servants/281.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
src/assets/ta_servants/282.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/ta_servants/284.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
src/assets/ta_servants/285.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
src/assets/ta_servants/286.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/ta_servants/288.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
src/assets/ta_servants/293.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
src/assets/ta_servants/295.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
src/assets/ta_servants/297.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
src/assets/ta_servants/299.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
src/assets/ta_servants/3.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
src/assets/ta_servants/300.png
Normal file
After Width: | Height: | Size: 34 KiB |