Compare commits
108 Commits
fix/layout
...
fix/activi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
adca6350ce | ||
|
|
89c6b36090 | ||
|
|
cd35c77df1 | ||
|
|
71d84faf73 | ||
|
|
66e4793032 | ||
|
|
32cbfd6699 | ||
|
|
043bf59c87 | ||
|
|
3e0d8a5b3d | ||
|
|
2b20996134 | ||
|
|
20be28653f | ||
|
|
a5c28f09a7 | ||
|
|
25675613a6 | ||
|
|
89f975e10d | ||
|
|
59695c2032 | ||
|
|
b7a858823c | ||
|
|
d441c9ac58 | ||
|
|
6c977a2781 | ||
|
|
0fa4dfe93e | ||
|
|
b9b9a68eaa | ||
|
|
e7f8f394b4 | ||
|
|
5a910b53e6 | ||
|
|
c72dd0081c | ||
|
|
f2a2ac9ec8 | ||
|
|
8ceedadd22 | ||
|
|
c3bcaa7489 | ||
|
|
83f60ce01b | ||
|
|
88b29a963e | ||
|
|
cf7bb32277 | ||
|
|
2eb90d78e5 | ||
|
|
2a9195c6d2 | ||
|
|
cdd02fef30 | ||
|
|
b884a9cd29 | ||
|
|
ed06724d78 | ||
|
|
3e52fef36b | ||
|
|
38b29c3bf1 | ||
|
|
a739d56d97 | ||
|
|
24ade1c8f3 | ||
|
|
9fcf7b7c93 | ||
|
|
3f132ca632 | ||
|
|
8d42807d0c | ||
|
|
90f1a9c432 | ||
|
|
bd5eee4a9e | ||
|
|
a1710b17c8 | ||
|
|
f77bfc499f | ||
|
|
33c318fbda | ||
|
|
961d398b8d | ||
|
|
6326a80b22 | ||
|
|
88147bef31 | ||
|
|
240c55cc6a | ||
|
|
f173220966 | ||
|
|
3a1b896eb2 | ||
|
|
caa8681272 | ||
|
|
ba8217d61c | ||
|
|
57faa21148 | ||
|
|
f30334cb9b | ||
|
|
e1069bbae3 | ||
|
|
7ea80b39fa | ||
|
|
7b297bdba6 | ||
|
|
3d53ce67e9 | ||
|
|
6cfea7994e | ||
|
|
d802841f1a | ||
|
|
fd46f026dd | ||
|
|
41b179fc66 | ||
|
|
5f96fac3cc | ||
|
|
39fc4cb502 | ||
|
|
fac9a2bd6a | ||
|
|
2bc6d16f3f | ||
|
|
a77b0eefd0 | ||
|
|
dccbe683fd | ||
|
|
4db353e017 | ||
|
|
91dc6b862c | ||
|
|
d2efad25a8 | ||
|
|
4db5cc920b | ||
|
|
eef734abfd | ||
|
|
8e252cc062 | ||
|
|
abf33b8f47 | ||
|
|
e1a9dcc511 | ||
|
|
3cf246cc31 | ||
|
|
f9e90bfda5 | ||
|
|
d042f4511c | ||
|
|
b2adb619f0 | ||
|
|
3ab6942cee | ||
|
|
a20400f6a2 | ||
|
|
285f2c05f2 | ||
|
|
e716007245 | ||
|
|
c2a5e5a805 | ||
|
|
c4c7499a22 | ||
|
|
ad6002a514 | ||
|
|
b029eebd7b | ||
|
|
bacf0e6320 | ||
|
|
64ed4b6c23 | ||
|
|
5da5f41a8d | ||
|
|
ed6f4b64a6 | ||
|
|
c768cac62f | ||
|
|
3ad7765658 | ||
|
|
0e0a70fcbd | ||
|
|
5c330094f9 | ||
|
|
e9f5462180 | ||
|
|
c9534b30f5 | ||
|
|
8537698d91 | ||
|
|
9414089714 | ||
|
|
25965d91a0 | ||
|
|
7ce02300de | ||
|
|
f0859628f7 | ||
|
|
ff94ea7116 | ||
|
|
abad548961 | ||
|
|
6e81855645 | ||
|
|
60568caff7 |
@@ -1,5 +1,8 @@
|
||||
{
|
||||
"devToolbar": {
|
||||
"enabled": false
|
||||
},
|
||||
"_variables": {
|
||||
"lastUpdateCheck": 1714413381505
|
||||
}
|
||||
}
|
||||
20
.github/workflows/cloudfront-cache.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
name: Clears Cloudfront Cache
|
||||
on:
|
||||
# Allow manual Run
|
||||
workflow_dispatch:
|
||||
# Run at midnight utc
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
jobs:
|
||||
aws_costs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Clear Cloudfront Caching
|
||||
run: |
|
||||
curl -L \
|
||||
-X POST \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
-H "Authorization: Bearer ${{ secrets.GH_PAT }}" \
|
||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||
https://api.github.com/repos/roadmapsh/infra-ansible/actions/workflows/playbook.yml/dispatches \
|
||||
-d '{ "ref":"master", "inputs": { "playbook": "roadmap_web.yml", "tags": "cloudfront", "is_verbose": false } }'
|
||||
93
.github/workflows/deployment.yml
vendored
@@ -1,41 +1,62 @@
|
||||
name: App Deployment
|
||||
name: Deploy to EC2
|
||||
on:
|
||||
workflow_dispatch: # allow manual run
|
||||
push:
|
||||
branches: [ master ]
|
||||
env:
|
||||
PUBLIC_API_URL: "https://api.roadmap.sh"
|
||||
PUBLIC_EDITOR_APP_URL: "https://draw.roadmap.sh"
|
||||
PUBLIC_AVATAR_BASE_URL: "https://dodrc8eu8m09s.cloudfront.net/avatars"
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CI: true
|
||||
branches:
|
||||
- master
|
||||
jobs:
|
||||
build:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 18
|
||||
- name: Prepare Draw Repository
|
||||
run: |
|
||||
git clone https://${{ secrets.GH_PAT }}@github.com/roadmapsh/web-draw.git .temp/web-draw --depth 1
|
||||
- uses: pnpm/action-setup@v2.2.2
|
||||
with:
|
||||
version: 7.13.4
|
||||
- name: Setup Environment
|
||||
run: |
|
||||
pnpm install
|
||||
- name: Generate meta and build
|
||||
run: |
|
||||
npm run generate-renderer
|
||||
npm run build
|
||||
touch ./dist/.nojekyll
|
||||
echo 'roadmap.sh' > ./dist/CNAME
|
||||
- name: Deploy to GH Pages
|
||||
run: |
|
||||
git config user.email "kamranahmed.se@gmail.com"
|
||||
git config user.name "Kamran Ahmed"
|
||||
git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git
|
||||
npm run deploy
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 2
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 20
|
||||
- uses: pnpm/action-setup@v3.0.0
|
||||
with:
|
||||
version: 8.15.6
|
||||
|
||||
# --------------------
|
||||
# Setup configuration
|
||||
# --------------------
|
||||
- name: Prepare configuration files
|
||||
run: |
|
||||
git clone https://${{ secrets.GH_PAT }}@github.com/roadmapsh/infra-config.git configuration --depth 1
|
||||
- name: Copy configuration files
|
||||
run: |
|
||||
cp configuration/dist/github/developer-roadmap.env .env
|
||||
|
||||
# --------------------
|
||||
# Prepare the build
|
||||
# --------------------
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pnpm install
|
||||
- name: Generate build
|
||||
run: |
|
||||
git clone https://${{ secrets.GH_PAT }}@github.com/roadmapsh/web-draw.git .temp/web-draw --depth 1
|
||||
npm run generate-renderer
|
||||
npm run compress:images
|
||||
npm run build
|
||||
|
||||
# --------------------
|
||||
# Deploy to EC2
|
||||
# --------------------
|
||||
- uses: webfactory/ssh-agent@v0.7.0
|
||||
with:
|
||||
ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }}
|
||||
- name: Deploy app to EC2
|
||||
run: |
|
||||
rsync -apvz --delete --no-times --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/roadmap.sh/
|
||||
- name: Restart PM2
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
host: ${{ secrets.EC2_HOST }}
|
||||
username: ${{ secrets.EC2_USERNAME }}
|
||||
key: ${{ secrets.EC2_PRIVATE_KEY }}
|
||||
script: |
|
||||
cd /var/www/roadmap.sh
|
||||
sudo pm2 restart web-roadmap
|
||||
@@ -1,10 +1,9 @@
|
||||
// https://astro.build/config
|
||||
import sitemap from '@astrojs/sitemap';
|
||||
import tailwind from '@astrojs/tailwind';
|
||||
import compress from 'astro-compress';
|
||||
import node from '@astrojs/node';
|
||||
import { defineConfig } from 'astro/config';
|
||||
import rehypeExternalLinks from 'rehype-external-links';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import { serializeSitemap, shouldIndexPage } from './sitemap.mjs';
|
||||
|
||||
import react from '@astrojs/react';
|
||||
@@ -41,9 +40,11 @@ export default defineConfig({
|
||||
],
|
||||
],
|
||||
},
|
||||
build: {
|
||||
format: 'file',
|
||||
},
|
||||
output: 'hybrid',
|
||||
adapter: node({
|
||||
mode: 'standalone',
|
||||
}),
|
||||
trailingSlash: 'never',
|
||||
integrations: [
|
||||
tailwind({
|
||||
config: {
|
||||
@@ -54,11 +55,6 @@ export default defineConfig({
|
||||
filter: shouldIndexPage,
|
||||
serialize: serializeSitemap,
|
||||
}),
|
||||
compress({
|
||||
HTML: false,
|
||||
CSS: false,
|
||||
JavaScript: false,
|
||||
}),
|
||||
react(),
|
||||
],
|
||||
});
|
||||
|
||||
63
package.json
@@ -11,7 +11,6 @@
|
||||
"format": "prettier --write .",
|
||||
"astro": "astro",
|
||||
"deploy": "NODE_DEBUG=gh-pages gh-pages -d dist -t",
|
||||
"compress:jsons": "node scripts/compress-jsons.cjs",
|
||||
"upgrade": "ncu -u",
|
||||
"roadmap-links": "node scripts/roadmap-links.cjs",
|
||||
"roadmap-dirs": "node scripts/roadmap-dirs.cjs",
|
||||
@@ -20,62 +19,68 @@
|
||||
"best-practice-dirs": "node scripts/best-practice-dirs.cjs",
|
||||
"best-practice-content": "node scripts/best-practice-content.cjs",
|
||||
"generate:og": "node ./scripts/generate-og-images.mjs",
|
||||
"compress:images": "tsx ./scripts/compress-images.ts",
|
||||
"test:e2e": "playwright test"
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/react": "^3.0.10",
|
||||
"@astrojs/sitemap": "^3.0.5",
|
||||
"@astrojs/node": "^8.2.5",
|
||||
"@astrojs/react": "^3.3.1",
|
||||
"@astrojs/sitemap": "^3.1.4",
|
||||
"@astrojs/tailwind": "^5.1.0",
|
||||
"@fingerprintjs/fingerprintjs": "^4.2.2",
|
||||
"@nanostores/react": "^0.7.1",
|
||||
"@resvg/resvg-js": "^2.6.0",
|
||||
"@types/react": "^18.2.56",
|
||||
"@types/react-dom": "^18.2.19",
|
||||
"astro": "^4.4.0",
|
||||
"astro-compress": "^2.2.10",
|
||||
"clsx": "^2.1.0",
|
||||
"@fingerprintjs/fingerprintjs": "^4.3.0",
|
||||
"@nanostores/react": "^0.7.2",
|
||||
"@resvg/resvg-js": "^2.6.2",
|
||||
"@types/react": "^18.3.1",
|
||||
"@types/react-dom": "^18.3.0",
|
||||
"astro": "^4.7.0",
|
||||
"clsx": "^2.1.1",
|
||||
"dayjs": "^1.11.11",
|
||||
"dom-to-image": "^2.6.0",
|
||||
"dracula-prism": "^2.1.16",
|
||||
"gray-matter": "^4.0.3",
|
||||
"htm": "^3.1.1",
|
||||
"image-size": "^1.1.1",
|
||||
"jose": "^5.2.2",
|
||||
"jose": "^5.2.4",
|
||||
"js-cookie": "^3.0.5",
|
||||
"lucide-react": "^0.358.0",
|
||||
"nanoid": "^5.0.5",
|
||||
"nanostores": "^0.9.5",
|
||||
"node-html-parser": "^6.1.12",
|
||||
"npm-check-updates": "^16.14.15",
|
||||
"lucide-react": "^0.376.0",
|
||||
"nanoid": "^5.0.7",
|
||||
"nanostores": "^0.10.3",
|
||||
"node-html-parser": "^6.1.13",
|
||||
"npm-check-updates": "^16.14.20",
|
||||
"prismjs": "^1.29.0",
|
||||
"react": "^18.2.0",
|
||||
"react": "^18.3.1",
|
||||
"react-calendar-heatmap": "^1.9.0",
|
||||
"react-confetti": "^6.1.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"reactflow": "^11.10.4",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-tooltip": "^5.26.4",
|
||||
"reactflow": "^11.11.2",
|
||||
"rehype-external-links": "^3.0.0",
|
||||
"remark-parse": "^11.0.0",
|
||||
"roadmap-renderer": "^1.0.6",
|
||||
"satori": "^0.10.13",
|
||||
"satori-html": "^0.3.2",
|
||||
"sharp": "^0.33.2",
|
||||
"sharp": "^0.33.3",
|
||||
"slugify": "^1.6.6",
|
||||
"tailwind-merge": "^2.2.1",
|
||||
"tailwindcss": "^3.4.1",
|
||||
"tailwind-merge": "^2.3.0",
|
||||
"tailwindcss": "^3.4.3",
|
||||
"unified": "^11.0.4",
|
||||
"zustand": "^4.5.1"
|
||||
"zustand": "^4.5.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@playwright/test": "^1.41.2",
|
||||
"@tailwindcss/typography": "^0.5.10",
|
||||
"@playwright/test": "^1.43.1",
|
||||
"@tailwindcss/typography": "^0.5.13",
|
||||
"@types/dom-to-image": "^2.6.7",
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@types/prismjs": "^1.26.3",
|
||||
"@types/react-calendar-heatmap": "^1.6.7",
|
||||
"csv-parser": "^3.0.0",
|
||||
"gh-pages": "^6.1.1",
|
||||
"js-yaml": "^4.1.0",
|
||||
"markdown-it": "^14.0.0",
|
||||
"openai": "^4.28.0",
|
||||
"markdown-it": "^14.1.0",
|
||||
"openai": "^4.38.5",
|
||||
"prettier": "^3.2.5",
|
||||
"prettier-plugin-astro": "^0.13.0",
|
||||
"prettier-plugin-tailwindcss": "^0.5.11"
|
||||
"prettier-plugin-tailwindcss": "^0.5.14",
|
||||
"tsx": "^4.7.3"
|
||||
}
|
||||
}
|
||||
|
||||
2902
pnpm-lock.yaml
generated
|
Before Width: | Height: | Size: 844 KiB After Width: | Height: | Size: 509 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 505 KiB After Width: | Height: | Size: 185 KiB |
|
Before Width: | Height: | Size: 469 KiB After Width: | Height: | Size: 174 KiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 479 KiB |
|
Before Width: | Height: | Size: 378 KiB After Width: | Height: | Size: 140 KiB |
|
Before Width: | Height: | Size: 987 KiB After Width: | Height: | Size: 351 KiB |
|
Before Width: | Height: | Size: 875 KiB After Width: | Height: | Size: 420 KiB |
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 834 KiB After Width: | Height: | Size: 431 KiB |
|
Before Width: | Height: | Size: 404 KiB After Width: | Height: | Size: 235 KiB |
|
Before Width: | Height: | Size: 383 KiB After Width: | Height: | Size: 205 KiB |
|
Before Width: | Height: | Size: 447 KiB After Width: | Height: | Size: 242 KiB |
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 572 KiB |
|
Before Width: | Height: | Size: 734 KiB After Width: | Height: | Size: 283 KiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 437 KiB |
|
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 799 KiB |
|
Before Width: | Height: | Size: 691 KiB After Width: | Height: | Size: 233 KiB |
|
Before Width: | Height: | Size: 2.0 MiB After Width: | Height: | Size: 756 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 248 KiB After Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 685 KiB |
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 297 KiB After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 602 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 937 KiB After Width: | Height: | Size: 345 KiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 516 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 1021 B |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 405 KiB |
|
Before Width: | Height: | Size: 448 KiB After Width: | Height: | Size: 398 KiB |
|
Before Width: | Height: | Size: 832 KiB After Width: | Height: | Size: 286 KiB |
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 316 KiB After Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 326 KiB After Width: | Height: | Size: 137 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 294 KiB After Width: | Height: | Size: 123 KiB |
|
Before Width: | Height: | Size: 199 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 261 KiB After Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 277 KiB After Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 279 KiB After Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 296 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 773 KiB After Width: | Height: | Size: 312 KiB |
|
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 318 KiB After Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 218 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 275 KiB After Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 345 KiB After Width: | Height: | Size: 123 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 218 B |
|
Before Width: | Height: | Size: 374 KiB After Width: | Height: | Size: 184 KiB |
|
Before Width: | Height: | Size: 327 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 305 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 384 KiB After Width: | Height: | Size: 184 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 36 KiB |