Compare commits

..

93 Commits

Author SHA1 Message Date
Arik Chakma
0264b88069 Merge branch 'master' into fix/activity 2024-05-08 04:16:18 +06:00
dsh
71d84faf73 None English video removed from node (#5610)
The youtube video linked for Horizontal Autoscaling was not English which goes against our contribution guidelines.
2024-05-07 20:17:10 +06:00
Arik Chakma
66e4793032 feat: team personal progress only (#5586)
* feat: team personal progress only

* fix: default false
2024-05-07 14:56:44 +01:00
Arik Chakma
32cbfd6699 feat: migrate road card endpoint (#5583) 2024-05-07 13:38:57 +01:00
Md. Jahidul Islam
043bf59c87 Add resource for Insertion Sort (#5591)
* Update 102-insertion-sort.md

Added insertion sort link from w3 school and also added advantages , disadvantages about insertion sort

* Reformat links

---------

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2024-05-07 11:42:13 +01:00
Ed Lan
3e0d8a5b3d Updated featured image with tweaked dimensions (#5604) 2024-05-06 17:53:50 +01:00
Kamran Ahmed
2b20996134 Show proper error on open ai model 2024-05-05 19:03:01 +01:00
guangwu
20be28653f fix: following typo (#5308)
* fix: typo

* fix: gap

---------

Co-authored-by: Arik Chakma <arikchangma@gmail.com>
2024-05-04 09:10:54 +06:00
Arik Chakma
755e494224 fix: comma and gap 2024-05-03 23:32:44 +06:00
Arik Chakma
f6d4da48f9 fix: change topicIds to topicTitles 2024-05-03 04:57:59 +06:00
Kamran Ahmed
a5c28f09a7 Add full-stack vs software-engineer guide 2024-05-02 11:51:09 +01:00
Kamran Ahmed
25675613a6 Add frontend languages guide 2024-05-02 11:36:41 +01:00
Kamran Ahmed
89f975e10d Add java developer skills 2024-05-02 11:11:49 +01:00
Kamran Ahmed
59695c2032 Team activity item dates 2024-05-01 22:59:12 +01:00
Arik Chakma
b7a858823c chore: replace with og endpoint (#5571)
* chore: replace with og endpoint

* fix: update og routes
2024-05-01 11:59:23 +01:00
Kamran Ahmed
d441c9ac58 Fix title for activity page 2024-04-30 22:08:52 +01:00
Kamran Ahmed
6c977a2781 Update TNS link in topic page 2024-04-30 18:59:43 +01:00
Kamran Ahmed
0fa4dfe93e Update 2024-04-30 18:58:48 +01:00
Ethan Cui
b9b9a68eaa Add deployment stamps pattern details (#5475)
The description for deployment-stamps in the high-availability section is actually the bulkhead pattern instead of the deployment-stamps pattern. 

The new changes above are from the deployment stamps pattern in the availability section.
2024-04-30 18:53:10 +01:00
NEWTON MALLICK
e7f8f394b4 Fix static typing typos (#5486) 2024-04-30 18:51:27 +01:00
Ata Tekeli
5a910b53e6 add bluetooth security resources from norton us and bluetooth officia… (#5490)
* add bluetooth security resources from norton us and bluetooth official website

* add video to basics of computer networking for cybersecurity roadmap

* add Linux Commands Cheat Sheet

Added Linux Commands Cheat Sheet to 101-linux.md

* add virtual machine explanation from abhishek veeramalla's devops zero to hero course
2024-04-30 18:50:02 +01:00
Antonio Coratelli
c72dd0081c Add bool to C++ roadmap (#5578) 2024-04-30 18:49:26 +01:00
Arik Chakma
f2a2ac9ec8 feat: implement team activity stream (#5565)
* wip

* feat: implement team activity page

* feat: add pagination

* fix: add max height

* Team activity updates

* Remove invalid activityes

* Team activity page

* fix: team roadmap versions not working

* Add team activity items

---------

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2024-04-30 17:48:51 +01:00
Kamran Ahmed
8ceedadd22 fix: team roadmap not taking to team version 2024-04-30 12:02:00 +01:00
Kamran Ahmed
c3bcaa7489 Add shortcode support 2024-04-30 11:18:52 +01:00
Ed Lan
83f60ce01b Updated backend developer tools copy and images (#5577)
* Update backend-developer-tools.md

Small copy tweak to test

* Update backend-languages.md

Changed the order of sections to start with the most imp/relevant content + to try and catch featured snippets.

* Update backend-developer-tools.md

Replaced images & tweaked alt tags
2024-04-30 10:52:09 +01:00
Kamran Ahmed
88b29a963e Add partner click ga event 2024-04-29 23:59:38 +01:00
Kamran Ahmed
cf7bb32277 Update dependencies 2024-04-29 23:40:30 +01:00
Kamran Ahmed
2eb90d78e5 Add tns link 2024-04-29 23:23:33 +01:00
Cryo-Lord
2a9195c6d2 Update flask resource URL (#5492)
Fixed Tutorial link to an updated versión of the tutorial
2024-04-29 11:52:20 +01:00
Deepak Mardi
cdd02fef30 Fix wrong URL (#5431)
* Updating the link for DevOps Roadmap to correct URL (https://roadmap.sh/docker) previously set to (https://roadmap.sh/best-practices)

* update
2024-04-29 11:51:02 +01:00
Sören König
b884a9cd29 DevOps / Serverless / GCP (Cloud) Functions (#5496)
Added some intro text and materials to get started.
2024-04-29 11:50:15 +01:00
Stephen George
ed06724d78 [TYPO] Eliminate variants of Python Generator Expressions (#5510)
* [TYPO] Eliminate variants of Python Generator Expressions

* [GRAMMAR] Simplify "creating generators that generate" language

* Avoid using the word 'generating' too much
2024-04-29 11:48:17 +01:00
Oleksandr Glushchenko
3e52fef36b Adds missing whitespace (#5515) 2024-04-29 11:47:38 +01:00
Akash Goswami
38b29c3bf1 Fix typo in Data Structures and Algorithms roadmap (#5519) 2024-04-29 11:47:22 +01:00
Manan Koyawala
a739d56d97 Add gorm resource (#5540)
Easy and quick start to learn gorm with mysql video for beginners.
2024-04-29 11:46:24 +01:00
Md. Jahidul Islam
24ade1c8f3 Add link to bubble sort algorithm (#5541)
* Update 100-bubble-sort.md

Adding bubble sort link from w3 school

* Update src/data/roadmaps/datastructures-and-algorithms/content/105-sorting-algorithms/100-bubble-sort.md

---------

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2024-04-29 11:45:27 +01:00
Abhishek
9fcf7b7c93 Fix grammatical mistake (#5546) 2024-04-29 11:40:43 +01:00
Faris Han
3f132ca632 Minor code formatting fix (#5550)
Fix code formatting
2024-04-29 11:40:10 +01:00
Daniyal Zhanturin
8d42807d0c Update n+1 problem resource (#5557)
* Update 103-n-plus-one-problem.md

Remove link to payed content and provide free access article

* Update src/data/roadmaps/backend/content/108-more-about-databases/103-n-plus-one-problem.md

---------

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2024-04-29 11:39:47 +01:00
gabriel pita
90f1a9c432 Improve readability of text (#5563) 2024-04-29 11:38:57 +01:00
petitpandarouge
bd5eee4a9e Update build command in docs (#5569) 2024-04-29 11:38:39 +01:00
Kamran Ahmed
a1710b17c8 Take out cloudfront cache busting into a separate github action 2024-04-29 11:29:09 +01:00
stationname
f77bfc499f Add learning reference to CIDR (#5573) 2024-04-29 11:21:35 +01:00
Arik Chakma
33c318fbda chore: add roadmap slug (#5568) 2024-04-27 23:15:14 +01:00
Arik Chakma
961d398b8d feat: add ai roadmap slug (#5529)
* Update

* Add stats and health endpoints

* Add pre-render

* fix: redirect to the error page

* Fix generate-renderer issue

* Rename

* Fix best practice topics not loading

* Handle SSR for static pages

* Refactor faqs

* Refactor best practices

* Fix absolute import

* Fix stats

* Add custom roadmap page

* Minor UI change

* feat: custom roadmap slug routes (#4987)

* feat: replace roadmap slug

* fix: remove roadmap slug

* feat: username route

* fix: user public page

* feat: show roadmap progress

* feat: update public profile

* fix: replace with toast

* feat: user public profile page

* feat: implement profile form

* feat: implement user profile roadmap page

* refactor: remove logs

* fix: increase progress gap

* fix: remove title margin

* fix: breakpoint for roadmaps

* Update dependencies

* Upgrade dependencies

* fix: improper avatars

* fix: heatmap focus

* wip: remove `getStaticPaths`

* fix: add disable props

* wip

* feat: add email icon

* fix: update pnpm lock

* fix: implement author page

* Fix beginner roadmaps not working

* Changes to form

* Refactor profile and form

* Refactor public profile form

* Rearrange sidebar items

* Update UI for public form

* Minor text update

* Refactor public profile form

* Error page for user

* Revamp UI for profile page

* Add public profile page

* Fix vite warnings

* Add private profile banner

* feat: on blur check username

* Update fetch depth

* Add error detail

* Use hybrid mode of rendering

* Do not pre-render stats pages

* Update deployment workflow

* Update deployment workflow

* wip

* wip

* wip

* feat: add slug navigation

* feat: add ai roadmap slug

* feat: add explore page slug

---------

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2024-04-27 22:47:09 +01:00
Kamran Ahmed
6326a80b22 Add terms and conditions links on signup forms 2024-04-26 18:19:00 +01:00
Kamran Ahmed
88147bef31 Update pnpm-lock 2024-04-26 17:07:38 +01:00
Arik Chakma
240c55cc6a feat: implement image compressor (#5551)
* wip: image compressor

* fix: ignore increase file

* Compress images

* Compress images

---------

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2024-04-26 17:05:54 +01:00
Kamran Ahmed
f173220966 Implement og image override and fix canonical urls 2024-04-26 00:46:19 +01:00
Arik Chakma
3a1b896eb2 Add default opengraph on error (#5552) 2024-04-26 00:12:10 +01:00
SilverFlin
caa8681272 fix: quizz anchor link reference (#5561) 2024-04-26 00:11:48 +01:00
Kamran Ahmed
ba8217d61c Add linux roadmap 2024-04-26 00:11:13 +01:00
Kamran Ahmed
57faa21148 Add links to linux roadmap 2024-04-26 00:08:55 +01:00
Kamran Ahmed
f30334cb9b Add text-balance to topic header 2024-04-25 18:20:52 +01:00
Kamran Ahmed
e1069bbae3 Add og images for linux / ai-data-scientist roadmap 2024-04-25 18:14:06 +01:00
Kamran Ahmed
7ea80b39fa Remove code sample 2024-04-25 18:04:23 +01:00
Kamran Ahmed
7b297bdba6 Add linux roadmap 2024-04-25 18:04:23 +01:00
Kamran Ahmed
3d53ce67e9 Add linux content directoriesg 2024-04-25 18:04:23 +01:00
Kamran Ahmed
6cfea7994e Add linux roadmap png/pdf 2024-04-25 18:04:23 +01:00
Kamran Ahmed
d802841f1a Add linux roadmap 2024-04-25 18:04:23 +01:00
Abhishek
fd46f026dd Fix the content of IF function in data analyst roadmap (#5547) 2024-04-24 15:04:26 +01:00
Kamran Ahmed
41b179fc66 Change path for raycast app launcher image 2024-04-24 00:06:37 +01:00
Kamran Ahmed
5f96fac3cc Update topic detail text 2024-04-23 23:08:01 +01:00
Arik Chakma
39fc4cb502 feat: add user open graph (#5543)
* feat: add user open graph

* fix: add proxy for open graph
2024-04-23 23:07:15 +01:00
Kamran Ahmed
fac9a2bd6a Add google youtube links in topic content 2024-04-23 17:35:29 +01:00
Kamran Ahmed
2bc6d16f3f Text change 2024-04-22 18:11:33 +01:00
Kamran Ahmed
a77b0eefd0 Space alignment 2024-04-22 17:42:17 +01:00
Arik Chakma
dccbe683fd feat: implement activity stream (#5485)
* wip: implement activity stream

* feat: add empty stream

* fix: filter empty topic ids

* fix: update progress group

* fix: update icon

* feat: add topic titles

* fix: update topic title

* fix: update http call

* Redesign activity stream

* Add activity stream

---------

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2024-04-22 17:19:34 +01:00
Ivan Vasilev
4db353e017 Replace plagiarized source with original (#5539)
Remove a plagiarized article and refer to the original article and youtube video by Fireship
2024-04-22 11:13:23 +01:00
Cinquin Andy
91dc6b862c Fix broken video link, and add unlighthouse to the ressources (#5527)
* Update 112-lighthouse.md

* fix: broken youtube link

---------

Co-authored-by: Arik Chakma <arikchangma@gmail.com>
2024-04-22 10:53:12 +06:00
Kamran Ahmed
d2efad25a8 Add copy button 2024-04-20 14:07:10 +01:00
Kamran Ahmed
4db5cc920b Add copy button 2024-04-20 14:06:53 +01:00
Kamran Ahmed
eef734abfd Add alert for skill profile 2024-04-20 13:06:27 +01:00
Kamran Ahmed
8e252cc062 Update profile form 2024-04-20 01:54:30 +01:00
Kamran Ahmed
abf33b8f47 Update profile form 2024-04-20 01:40:41 +01:00
Kamran Ahmed
e1a9dcc511 Add my profile 2024-04-19 18:03:37 +01:00
Kamran Ahmed
3cf246cc31 Add profile button in navigation 2024-04-19 17:43:32 +01:00
Kamran Ahmed
f9e90bfda5 Validation on the username 2024-04-19 17:32:53 +01:00
Selva Muthu Kumaran Boopalan
d042f4511c Add linux upskill challenge link (#4554)
devops-roadmap-ubuntu-linux-upskill-challenge link fixed
fix : #4550
2024-04-19 14:21:02 +01:00
Mark-a-obrien
b2adb619f0 Fix grammatical mistake (#5503)
* Update react.md - fixed grammatical error

Changed 
- "Server Components in allow developers to write components"
to 
- "Server Components allows developers to write components"

* Update src/data/question-groups/react/react.md

---------

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2024-04-16 15:24:51 +01:00
Zakarya Meddahi
3ab6942cee Fix typo in ephemeral FS in docker
Solve conflict in information between lines 3 and 9
"stopped (and) removed" in line 3
"stopped (or) removed" in line 9
2024-04-16 15:23:57 +01:00
Arik Chakma
a20400f6a2 feat: implement sponsor (#5480)
* feat: implement sponsor

* wip: add view cookie

* Update src/lib/jwt.ts

---------

Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
2024-04-15 13:16:55 +01:00
Kamran Ahmed
285f2c05f2 Add skill profile to indexing 2024-04-14 12:21:46 +01:00
Kamran Ahmed
e716007245 Replace h1 tags with h2 2024-04-12 18:46:51 +01:00
Kamran Ahmed
c2a5e5a805 Make API call on 3 or more characters 2024-04-12 00:03:14 +01:00
Kamran Ahmed
c4c7499a22 Pre-render stats page 2024-04-11 23:10:14 +01:00
Kamran Ahmed
ad6002a514 feat: profile pages, custom roadmap pages and SSR (#5494)
* Update

* Add stats and health endpoints

* Add pre-render

* fix: redirect to the error page

* Fix generate-renderer issue

* Rename

* Fix best practice topics not loading

* Handle SSR for static pages

* Refactor faqs

* Refactor best practices

* Fix absolute import

* Fix stats

* Add custom roadmap page

* Minor UI change

* feat: custom roadmap slug routes (#4987)

* feat: replace roadmap slug

* fix: remove roadmap slug

* feat: username route

* fix: user public page

* feat: show roadmap progress

* feat: update public profile

* fix: replace with toast

* feat: user public profile page

* feat: implement profile form

* feat: implement user profile roadmap page

* refactor: remove logs

* fix: increase progress gap

* fix: remove title margin

* fix: breakpoint for roadmaps

* Update dependencies

* Upgrade dependencies

* fix: improper avatars

* fix: heatmap focus

* wip: remove `getStaticPaths`

* fix: add disable props

* wip

* feat: add email icon

* fix: update pnpm lock

* fix: implement author page

* Fix beginner roadmaps not working

* Changes to form

* Refactor profile and form

* Refactor public profile form

* Rearrange sidebar items

* Update UI for public form

* Minor text update

* Refactor public profile form

* Error page for user

* Revamp UI for profile page

* Add public profile page

* Fix vite warnings

* Add private profile banner

* feat: on blur check username

* Update fetch depth

* Add error detail

* Use hybrid mode of rendering

* Do not pre-render stats pages

* Update deployment workflow

* Update deployment workflow

---------

Co-authored-by: Arik Chakma <arikchangma@gmail.com>
2024-04-11 22:35:52 +01:00
Kamran Ahmed
b029eebd7b Delete in rsync 2024-04-10 09:52:33 +01:00
Kamran Ahmed
bacf0e6320 Fix vite warnings 2024-04-10 03:28:23 +01:00
Kamran Ahmed
64ed4b6c23 Update rsync 2024-04-10 03:23:10 +01:00
Kamran Ahmed
5da5f41a8d Update rsync 2024-04-10 03:09:43 +01:00
Arik Chakma
ed6f4b64a6 fix: account activity title (#5483) 2024-04-09 23:10:51 +01:00
497 changed files with 18773 additions and 5203 deletions

View File

@@ -1,5 +1,8 @@
{
"devToolbar": {
"enabled": false
},
"_variables": {
"lastUpdateCheck": 1714413381505
}
}

20
.github/workflows/cloudfront-cache.yml vendored Normal file
View 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 } }'

View File

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

View File

@@ -1,72 +0,0 @@
name: Deploy to EC2
on:
workflow_dispatch: # allow manual run
push:
branches:
- feat/ssr
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- 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 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 -avz --omit-dir-times --exclude ".git" --exclude "configuration" -e "ssh -o StrictHostKeyChecking=no" -p ./ ${{ secrets.EC2_USERNAME }}@${{ secrets.EC2_HOST }}:/var/www/v2.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/v2.roadmap.sh
sudo pm2 restart web-roadmap
# --------------------
# Clear Cloudfront Caching
# --------------------
- 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 } }'

View File

@@ -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(),
],
});

View File

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

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 844 KiB

After

Width:  |  Height:  |  Size: 509 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 505 KiB

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 KiB

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 479 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 KiB

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 987 KiB

After

Width:  |  Height:  |  Size: 351 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 875 KiB

After

Width:  |  Height:  |  Size: 420 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 834 KiB

After

Width:  |  Height:  |  Size: 431 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 404 KiB

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 383 KiB

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 KiB

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 572 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 734 KiB

After

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 437 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 799 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 691 KiB

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 756 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 685 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 602 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 937 KiB

After

Width:  |  Height:  |  Size: 345 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 516 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 1021 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 405 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 448 KiB

After

Width:  |  Height:  |  Size: 398 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 832 KiB

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 KiB

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 KiB

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 296 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 773 KiB

After

Width:  |  Height:  |  Size: 312 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 KiB

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 KiB

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 327 KiB

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 384 KiB

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 36 KiB

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