Compare commits
560 Commits
feat/feedb
...
feat/perso
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3b64d7990 | ||
|
|
4df03197ac | ||
|
|
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 | ||
|
|
852622f5ac | ||
|
|
03173f6017 | ||
|
|
5c1e3cae3f | ||
|
|
a3f9c8e5e2 | ||
|
|
43f9412dd4 | ||
|
|
58e11afc94 | ||
|
|
854c39ec39 | ||
|
|
907391b34c | ||
|
|
5a56b0f753 | ||
|
|
5fb4d3e2dc | ||
|
|
0a89057823 | ||
|
|
add0db5514 | ||
|
|
2eec44303c | ||
|
|
84fc0e40b5 | ||
|
|
d3ee18e2a1 | ||
|
|
4988ba0604 | ||
|
|
fd48e980cd | ||
|
|
dd728b526e | ||
|
|
f8f29d2a17 | ||
|
|
5bdfe48cad | ||
|
|
e4e0f9ac98 | ||
|
|
40c8bfc312 | ||
|
|
3479201e20 | ||
|
|
1092528de0 | ||
|
|
45086a6314 | ||
|
|
b6798ea3a2 | ||
|
|
1cb29d0fc7 | ||
|
|
1d9adf742b | ||
|
|
625d9a1f5b | ||
|
|
08bc4c38ae | ||
|
|
cabbf51150 | ||
|
|
730af9b973 | ||
|
|
4e96a58e54 | ||
|
|
5230ae22be | ||
|
|
18deef46db | ||
|
|
e6bea59ab5 | ||
|
|
66e4f3c97c | ||
|
|
9511de967c | ||
|
|
038bdb0e7d | ||
|
|
8a1f5d1bb4 | ||
|
|
3e8af3bd0f | ||
|
|
08a3970d08 | ||
|
|
e4f9b9fe01 | ||
|
|
2ab7690271 | ||
|
|
cdb9a87c85 | ||
|
|
0d43103323 | ||
|
|
77d67e29eb | ||
|
|
4a00a7bc79 | ||
|
|
ff2c13947b | ||
|
|
d880f84e0a | ||
|
|
7cffcccfe8 | ||
|
|
88ddeeb5fb | ||
|
|
812a39154c | ||
|
|
6e6489bc4c | ||
|
|
696e4f1890 | ||
|
|
37c18ec3cc | ||
|
|
9e3d50a84d | ||
|
|
01c65084b5 | ||
|
|
05fe51ca33 | ||
|
|
59c0a7d451 | ||
|
|
d0bd4d6faf | ||
|
|
ec9d2d4c74 | ||
|
|
1eb5a9c49d | ||
|
|
c3a61e7f34 | ||
|
|
f838b5dac7 | ||
|
|
64cfe503af | ||
|
|
5b7e7b9767 | ||
|
|
58a5d27854 | ||
|
|
18db62748c | ||
|
|
c9703c8589 | ||
|
|
da526fa684 | ||
|
|
cd6232035f | ||
|
|
09cb1ea827 | ||
|
|
d5fdc62343 | ||
|
|
44d3724880 | ||
|
|
9d4aae10b5 | ||
|
|
070d04334b | ||
|
|
7040b6637c | ||
|
|
cfa8d2a986 | ||
|
|
d2f372fd6f | ||
|
|
f6cd6419be | ||
|
|
dcef07d7c6 | ||
|
|
bd3fd8bfe2 | ||
|
|
44b62c2b2d | ||
|
|
d958a29862 | ||
|
|
37ffc2cc62 | ||
|
|
dd3a46e972 | ||
|
|
9f8fcb8265 | ||
|
|
6c99127fc4 | ||
|
|
9157e18ec7 | ||
|
|
84093e3525 | ||
|
|
04d0f7c0b1 | ||
|
|
f1f56408d5 | ||
|
|
d847eb0685 | ||
|
|
d697707384 | ||
|
|
fdee813a0b | ||
|
|
707f0097dc | ||
|
|
27e98b0eba | ||
|
|
8d677f3a22 | ||
|
|
a9734c7eeb | ||
|
|
7ba48523da | ||
|
|
c1ebe9ae47 | ||
|
|
415a9c0fd0 | ||
|
|
d3b8cbceaa | ||
|
|
c390f4428e | ||
|
|
2e890b1b25 | ||
|
|
7b9be9377b | ||
|
|
4863f08a4c | ||
|
|
81a14e90eb | ||
|
|
51dd58f7ed | ||
|
|
28a0fca90d | ||
|
|
be8495a60a | ||
|
|
cf5ac18aa1 | ||
|
|
0c7bc0e330 | ||
|
|
94ba9e7451 | ||
|
|
0de6ed6028 | ||
|
|
ef0c9f3db2 | ||
|
|
468e92bac1 | ||
|
|
733e9cb5af | ||
|
|
714ca8c49f | ||
|
|
63c3850f0e | ||
|
|
e2f7abe69a | ||
|
|
780402afd6 | ||
|
|
2b74f70ef9 | ||
|
|
1eab06f1f5 | ||
|
|
d2b7704370 | ||
|
|
a5d5f63677 | ||
|
|
dfc7821a44 | ||
|
|
1cee0b36dc | ||
|
|
0d1f916535 | ||
|
|
ce0f2a4ee4 | ||
|
|
bf89b013d1 | ||
|
|
5bcb3e282d | ||
|
|
747652c0f3 | ||
|
|
ed0e376d46 | ||
|
|
ef3e4fc3f3 | ||
|
|
932896c3af | ||
|
|
1539c6ccaf | ||
|
|
84aa35cdec | ||
|
|
b6a852b29b | ||
|
|
2d2f670153 | ||
|
|
5cf7aa340f | ||
|
|
601d21ca9d | ||
|
|
a5527dd872 | ||
|
|
4d6d943b4e | ||
|
|
85214da400 | ||
|
|
46eb27a810 | ||
|
|
e47bd63cc9 | ||
|
|
d314f3d8c1 | ||
|
|
52fdd8f07d | ||
|
|
22f59c66f0 | ||
|
|
4a862241d3 | ||
|
|
b1fdc7ff49 | ||
|
|
445bdabde5 | ||
|
|
c46b4220a7 | ||
|
|
cdcdfc4973 | ||
|
|
d4b4b3c55c | ||
|
|
2c0ebe4209 | ||
|
|
c51438142c | ||
|
|
d5a47b79db | ||
|
|
ca2a75537e | ||
|
|
f62faf214c | ||
|
|
00b9630669 | ||
|
|
49ba524c15 | ||
|
|
d4436e8a8f | ||
|
|
e0b3209dc4 | ||
|
|
cf5dd19652 | ||
|
|
16680e2629 | ||
|
|
b9b12333cb | ||
|
|
8a9bb60211 | ||
|
|
2c6bef62b2 | ||
|
|
efb7e13f7d | ||
|
|
b34c7eff65 | ||
|
|
15c43fda5d | ||
|
|
b38f34a722 | ||
|
|
f1780fabda | ||
|
|
5362a64c29 | ||
|
|
720809f139 | ||
|
|
5b03601aa2 | ||
|
|
90df308751 | ||
|
|
3c0545e54f | ||
|
|
4eb145dff4 | ||
|
|
966d5fedb5 | ||
|
|
243778cf11 | ||
|
|
9c9c59911b | ||
|
|
7a93301b5b | ||
|
|
aa056c1da8 | ||
|
|
13d1879977 | ||
|
|
aca3163ba9 | ||
|
|
5e80d9d4d8 | ||
|
|
0fc28c482a | ||
|
|
837d2ac782 | ||
|
|
68c62bacc2 | ||
|
|
720438e619 | ||
|
|
3afab1aa70 | ||
|
|
f40585f992 | ||
|
|
9232d03e24 | ||
|
|
01cb4b5131 | ||
|
|
50f02b504a | ||
|
|
2d12bffe46 | ||
|
|
3b1762cd91 | ||
|
|
d9be6e3c8b | ||
|
|
b65328ebc9 | ||
|
|
5da5924b6c | ||
|
|
b35a169315 | ||
|
|
9d05c64f50 | ||
|
|
e94296cdd4 | ||
|
|
7a4796508d | ||
|
|
e0f5d6f436 | ||
|
|
d103bc629c | ||
|
|
cb9943191e | ||
|
|
eaa567dfe0 | ||
|
|
277713e16b | ||
|
|
5ed49b965c | ||
|
|
a27aaf6e2d | ||
|
|
be02cc59ea | ||
|
|
068847af08 | ||
|
|
c6c91ef8fe | ||
|
|
8fb3e7983b | ||
|
|
80ec1a1c4b | ||
|
|
76d1ca1333 | ||
|
|
40357f7956 | ||
|
|
581f4a76a4 | ||
|
|
ef1a3031c4 | ||
|
|
3774f3c5ec | ||
|
|
b11da48f41 | ||
|
|
5edda5654c | ||
|
|
505077a545 | ||
|
|
9f4967929f | ||
|
|
27cb89494f | ||
|
|
ec556915e4 | ||
|
|
c61e44119d | ||
|
|
6f46d723bc | ||
|
|
ee6e3e4029 | ||
|
|
6e9fe97e5c | ||
|
|
13af03c930 | ||
|
|
78692ff13f | ||
|
|
54d7388b09 | ||
|
|
b609c43055 | ||
|
|
d83fe1279b | ||
|
|
fb3cb85c14 | ||
|
|
82dbca95fb | ||
|
|
7e702ee385 | ||
|
|
08fbb730ab | ||
|
|
cd80338fa6 | ||
|
|
fa33d0c339 | ||
|
|
8ec9a6e675 | ||
|
|
16853df928 | ||
|
|
c15d139d54 | ||
|
|
4e5cc5bd35 | ||
|
|
a36bca2f42 | ||
|
|
10b688049d | ||
|
|
0db92f6418 | ||
|
|
dccaa66ed4 | ||
|
|
3deee4dfc3 | ||
|
|
980e243124 | ||
|
|
044046e044 | ||
|
|
793764c3a3 | ||
|
|
abc8a97676 | ||
|
|
79355cd876 | ||
|
|
2809b81920 | ||
|
|
204a9577cd | ||
|
|
577e724aa7 | ||
|
|
14a1544ed4 | ||
|
|
14ea7ba0ad | ||
|
|
5e7ec4f8d8 | ||
|
|
417badc6ea | ||
|
|
0558957673 | ||
|
|
7f6a42a0c5 | ||
|
|
cc258b7612 | ||
|
|
7da244fe10 | ||
|
|
cf78628c0c | ||
|
|
498e03720f | ||
|
|
5c69b05470 | ||
|
|
309cf3d6d9 | ||
|
|
4f3b891e45 | ||
|
|
47f548a0e4 | ||
|
|
a988ecc4ab | ||
|
|
c723070057 | ||
|
|
3a0e588530 | ||
|
|
d46cf26812 | ||
|
|
b06e82de5f | ||
|
|
d65ecac777 | ||
|
|
c46d962803 | ||
|
|
bd4e7ea3d0 | ||
|
|
252b083a48 | ||
|
|
abbeb717d1 | ||
|
|
485ca9dd8f | ||
|
|
c3315fb41e | ||
|
|
6ed436674f | ||
|
|
76c6c4dc1f | ||
|
|
cb56e85651 | ||
|
|
dcf740e275 | ||
|
|
16662ed699 | ||
|
|
6f9fe361ae | ||
|
|
036b34c6f3 | ||
|
|
93c2043f23 | ||
|
|
d2da3c8621 | ||
|
|
4aa8f15c07 | ||
|
|
ceb4c3b95d | ||
|
|
7ec5e30b51 | ||
|
|
e5e0a7c8c5 | ||
|
|
90f3ffe270 | ||
|
|
ce47a7433e | ||
|
|
21b8358683 | ||
|
|
e1751b105f | ||
|
|
e43bea7c40 | ||
|
|
5fa669aec2 | ||
|
|
4b8f868b2b | ||
|
|
a0743a8272 | ||
|
|
2cae13c090 | ||
|
|
0bf287f1d6 | ||
|
|
d7d819b4b3 | ||
|
|
29cff6a6f8 | ||
|
|
044df81b7a | ||
|
|
3151ee5021 | ||
|
|
e6ce9f40ee | ||
|
|
3b5e3c44f9 | ||
|
|
c286e0a6f8 | ||
|
|
3bebe0c1de | ||
|
|
9845fe624a | ||
|
|
4b2b2ebe8c | ||
|
|
82c2aaacc3 | ||
|
|
6d1edb76c7 | ||
|
|
5d57d5baaf | ||
|
|
d31d626c61 | ||
|
|
71bf34e683 | ||
|
|
93a91b1d9b | ||
|
|
18c8bd14b2 | ||
|
|
e34695e334 | ||
|
|
8310671123 | ||
|
|
d45c8f9cb2 | ||
|
|
573263ed74 | ||
|
|
f27aa58ac3 | ||
|
|
518cf4ce73 | ||
|
|
7bde0b3f44 | ||
|
|
4b6dcb3a37 | ||
|
|
c50200bfe7 | ||
|
|
5ffb9fad9f | ||
|
|
dd7d312aa1 | ||
|
|
81447f6b43 | ||
|
|
fe711f498d | ||
|
|
c65f12fcb8 | ||
|
|
cab075bf5b | ||
|
|
685021493c | ||
|
|
482cf64bf5 | ||
|
|
9051e22476 | ||
|
|
1b538b399f | ||
|
|
05673087c5 | ||
|
|
5256df9c07 | ||
|
|
ddf8884501 | ||
|
|
05492b60ee | ||
|
|
b92ae9b836 | ||
|
|
83df0da6b4 | ||
|
|
a58b78bfe9 | ||
|
|
2fa41f583e | ||
|
|
80819f8914 | ||
|
|
edcf0e683d | ||
|
|
aa6d48b775 | ||
|
|
3e622ecc2c | ||
|
|
ea5c3c2c01 | ||
|
|
8dc0424823 | ||
|
|
f3b16eb50f | ||
|
|
e07112a3a9 | ||
|
|
81983b6b06 | ||
|
|
bc6b100c26 | ||
|
|
846bbc1533 | ||
|
|
0b0168b40f | ||
|
|
4c9371ee74 | ||
|
|
bb9cc31e8a | ||
|
|
8585857cc3 | ||
|
|
8c2e812667 | ||
|
|
bfbee6da0f | ||
|
|
8057b218a0 | ||
|
|
c3d24a65d1 | ||
|
|
67beb4e8c4 | ||
|
|
35066d5b70 | ||
|
|
bb76ae411f | ||
|
|
98ea93da8c | ||
|
|
a69f0cc1b1 | ||
|
|
e50e75479a | ||
|
|
f4592b1e58 | ||
|
|
45c88da643 | ||
|
|
a54fe0d1ba | ||
|
|
e1f494776e | ||
|
|
11272da330 | ||
|
|
8903f11f02 | ||
|
|
8ca9f976cd | ||
|
|
488521d2e3 | ||
|
|
072953c69a | ||
|
|
79a656e171 | ||
|
|
b565ce9bce | ||
|
|
460ea8b95a | ||
|
|
26ab7b9098 | ||
|
|
0eebcd03a4 | ||
|
|
9c75404d0c | ||
|
|
61c3c88fb6 | ||
|
|
1ed54bad90 | ||
|
|
437d879af3 | ||
|
|
58dd3f2f41 | ||
|
|
cbe758349c | ||
|
|
a847d0b08d | ||
|
|
548b7f31f9 | ||
|
|
2e18d5a563 | ||
|
|
5bbcd85e6c | ||
|
|
1eb0e8869a | ||
|
|
1b74e86db7 | ||
|
|
07b2cb0f9b | ||
|
|
fba926625d | ||
|
|
e4c29b03ab | ||
|
|
2a7fd53c8b | ||
|
|
4cb905b69a | ||
|
|
a123fc0828 | ||
|
|
e15a36a2ce | ||
|
|
ca32c814da | ||
|
|
c4ef2bfcb4 | ||
|
|
bb42c809fb | ||
|
|
03d0a32fd6 | ||
|
|
b8c90948f9 | ||
|
|
5c57a84e82 | ||
|
|
c274feced1 | ||
|
|
cdb9153029 | ||
|
|
d3bebfeea6 | ||
|
|
68f9e4576b | ||
|
|
051bcce933 | ||
|
|
e3793b00c7 | ||
|
|
f256a5a9b0 | ||
|
|
7e18c97e78 | ||
|
|
c95caccae5 | ||
|
|
102c57e925 | ||
|
|
1ec6005fe1 | ||
|
|
ce41b3a955 | ||
|
|
eea79968e2 | ||
|
|
538e41307c | ||
|
|
79fcf2400f | ||
|
|
0da1edaa55 | ||
|
|
b04b8c702f | ||
|
|
1a7a6db50c | ||
|
|
7072c4cf80 | ||
|
|
f2b29f80f9 | ||
|
|
76c2686269 | ||
|
|
b7728fa6fd | ||
|
|
ca5bae687b | ||
|
|
face1eefbb | ||
|
|
498ef2eb3b | ||
|
|
80d53a9c5d | ||
|
|
e0eccaa30e | ||
|
|
c43ee13c94 | ||
|
|
b57c4cb558 | ||
|
|
c236bf9bf9 | ||
|
|
c92c67acc9 | ||
|
|
bec59ed630 | ||
|
|
7f800f2717 | ||
|
|
e5579ef7d1 | ||
|
|
9e5baad85f | ||
|
|
146022d1ed | ||
|
|
6af8033764 | ||
|
|
e4d6cd9f41 | ||
|
|
5cff162a94 | ||
|
|
3b7e5d5ce2 |
8
.astro/settings.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"devToolbar": {
|
||||
"enabled": false
|
||||
},
|
||||
"_variables": {
|
||||
"lastUpdateCheck": 1714413381505
|
||||
}
|
||||
}
|
||||
@@ -1,2 +1,3 @@
|
||||
PUBLIC_API_URL=http://api.roadmap.sh
|
||||
PUBLIC_API_URL=https://api.roadmap.sh
|
||||
PUBLIC_AVATAR_BASE_URL=https://dodrc8eu8m09s.cloudfront.net/avatars
|
||||
PUBLIC_EDITOR_APP_URL=https://draw.roadmap.sh
|
||||
@@ -14,24 +14,12 @@ body:
|
||||
placeholder: e.g. Roadmap to learn Data Science
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: browsers
|
||||
attributes:
|
||||
label: Is this roadmap prepared by you or someone else?
|
||||
options:
|
||||
- I prepared this roadmap
|
||||
- I found this roadmap online (please provide a link below)
|
||||
- type: textarea
|
||||
id: roadmap-description
|
||||
attributes:
|
||||
label: Roadmap Items
|
||||
description: Please submit a nested list of items which we can convert into the visual. Here is an [example of roadmap items list.](https://gist.github.com/kamranahmedse/98758d2c73799b3a6ce17385e4c548a5).
|
||||
label: Roadmap Link
|
||||
description: Please create the roadmap [using our roadmap editor](https://twitter.com/kamrify/status/1708293162693767426) and submit the roadmap link.
|
||||
placeholder: |
|
||||
- Item 1
|
||||
- Subitem 1
|
||||
- Subitem 2
|
||||
- Item 2
|
||||
- Subitem 1
|
||||
- Subitem 2
|
||||
https://roadmap.sh/xyz
|
||||
validations:
|
||||
required: true
|
||||
required: true
|
||||
|
||||
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 } }'
|
||||
38
.github/workflows/deploy.yml
vendored
@@ -1,38 +0,0 @@
|
||||
name: Deployment to GH Pages
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
env:
|
||||
PUBLIC_API_URL: "https://api.roadmap.sh"
|
||||
PUBLIC_AVATAR_BASE_URL: "https://dodrc8eu8m09s.cloudfront.net/avatars"
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
PAT: ${{ secrets.PAT }}
|
||||
CI: true
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
persist-credentials: false
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 18
|
||||
- run: git config --global url."https://${{ secrets.PAT }}@github.com/".insteadOf ssh://git@github.com/
|
||||
- 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 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
|
||||
62
.github/workflows/deployment.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
name: Deploy to EC2
|
||||
on:
|
||||
workflow_dispatch: # allow manual run
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- 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
|
||||
2
.github/workflows/update-deps.yml
vendored
@@ -9,7 +9,7 @@ jobs:
|
||||
upgrade-deps:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
|
||||
4
.gitignore
vendored
@@ -1,4 +1,5 @@
|
||||
.idea
|
||||
.temp
|
||||
|
||||
# build output
|
||||
dist/
|
||||
@@ -27,3 +28,6 @@ pnpm-debug.log*
|
||||
/playwright/.cache/
|
||||
tests-examples
|
||||
*.csv
|
||||
|
||||
/editor/*
|
||||
!/editor/readonly-editor.tsx
|
||||
|
||||
2
.npmrc
Normal file
@@ -0,0 +1,2 @@
|
||||
auto-install-peers=true
|
||||
strict-peer-dependencies=false
|
||||
@@ -13,6 +13,6 @@ module.exports = {
|
||||
],
|
||||
plugins: [
|
||||
require.resolve('prettier-plugin-astro'),
|
||||
require('prettier-plugin-tailwindcss'),
|
||||
'prettier-plugin-tailwindcss',
|
||||
],
|
||||
};
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
// https://astro.build/config
|
||||
import preact from '@astrojs/preact';
|
||||
import sitemap from '@astrojs/sitemap';
|
||||
import tailwind from '@astrojs/tailwind';
|
||||
import compress from '@otterlord/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';
|
||||
|
||||
// https://astro.build/config
|
||||
export default defineConfig({
|
||||
site: 'https://roadmap.sh/',
|
||||
@@ -28,40 +28,24 @@ export default defineConfig({
|
||||
'mailto:',
|
||||
'https://github.com/kamranahmedse',
|
||||
'https://thenewstack.io',
|
||||
'https://cs.fyi',
|
||||
'https://kamranahmed.info',
|
||||
'https://roadmap.sh',
|
||||
];
|
||||
|
||||
if (whiteListedStarts.some((start) => href.startsWith(start))) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return 'noopener noreferrer nofollow';
|
||||
},
|
||||
},
|
||||
],
|
||||
],
|
||||
},
|
||||
build: {
|
||||
format: 'file',
|
||||
},
|
||||
output: 'hybrid',
|
||||
adapter: node({
|
||||
mode: 'standalone',
|
||||
}),
|
||||
trailingSlash: 'never',
|
||||
integrations: [
|
||||
{
|
||||
name: 'client-authenticated',
|
||||
hooks: {
|
||||
'astro:config:setup'(options) {
|
||||
options.addClientDirective({
|
||||
name: 'authenticated',
|
||||
entrypoint: fileURLToPath(
|
||||
new URL(
|
||||
'./src/directives/client-authenticated.mjs',
|
||||
import.meta.url
|
||||
)
|
||||
),
|
||||
});
|
||||
},
|
||||
},
|
||||
},
|
||||
tailwind({
|
||||
config: {
|
||||
applyBaseStyles: false,
|
||||
@@ -71,10 +55,6 @@ export default defineConfig({
|
||||
filter: shouldIndexPage,
|
||||
serialize: serializeSitemap,
|
||||
}),
|
||||
compress({
|
||||
css: false,
|
||||
js: false,
|
||||
}),
|
||||
preact(),
|
||||
react(),
|
||||
],
|
||||
});
|
||||
|
||||
@@ -30,11 +30,12 @@ Find [the content directory inside the relevant roadmap](https://github.com/kamr
|
||||
|
||||
## Guidelines
|
||||
|
||||
- <p><strong>Adding everything available out there is not the goal!</strong><br />
|
||||
- <p><strong>Adding everything available out there is not the goal!</strong><br />
|
||||
The roadmaps represent the skillset most valuable today, i.e., if you were to enter any of the listed fields today, what would you learn?! There might be things that are of-course being used today but prioritize the things that are most in demand today, e.g., agreed that lots of people are using angular.js today but you wouldn't want to learn that instead of React, Angular, or Vue. Use your critical thinking to filter out non-essential stuff. Give honest arguments for why the resource should be included.</p>
|
||||
- <p><strong>Do not add things you have not evaluated personally!</strong><br />
|
||||
- <p><strong>Do not add things you have not evaluated personally!</strong><br />
|
||||
Use your critical thinking to filter out non-essential stuff. Give honest arguments for why the resource should be included. Have you read this book? Can you give a short article?</p>
|
||||
- <p><strong>Create a Single PR for Content Additions</strong></p>
|
||||
If you are planning to contribute by adding content to the roadmaps, I recommend you to clone the repository, add content to the [content directory of the roadmap](./content/roadmaps/) and create a single PR to make it easier for me to review and merge the PR.
|
||||
|
||||
If you are planning to contribute by adding content to the roadmaps, I recommend you to clone the repository, add content to the [content directory of the roadmap](./src/data/roadmaps/) and create a single PR to make it easier for me to review and merge the PR.
|
||||
- Write meaningful commit messages
|
||||
- Look at the existing issues/pull requests before opening new ones
|
||||
|
||||
14
editor/readonly-editor.tsx
Normal file
@@ -0,0 +1,14 @@
|
||||
export function ReadonlyEditor(props: any) {
|
||||
return (
|
||||
<div className="fixed bottom-0 left-0 right-0 top-0 z-[9999] border bg-white p-5 text-black">
|
||||
<h2 className="mb-2 text-xl font-semibold">Private Component</h2>
|
||||
<p className="mb-4">
|
||||
Renderer is a private component. If you are a collaborator and have
|
||||
access to it. Run the following command:
|
||||
</p>
|
||||
<code className="mt-5 rounded-md bg-gray-800 p-2 text-white">
|
||||
npm run generate-renderer
|
||||
</code>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
83
package.json
@@ -1,55 +1,86 @@
|
||||
{
|
||||
"name": "roadmap.sh",
|
||||
"type": "module",
|
||||
"version": "0.0.1",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
"dev": "astro dev --port 3000",
|
||||
"start": "astro dev",
|
||||
"build": "astro build",
|
||||
"preview": "astro preview",
|
||||
"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",
|
||||
"roadmap-content": "node scripts/roadmap-content.cjs",
|
||||
"generate-renderer": "sh scripts/generate-renderer.sh",
|
||||
"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/preact": "^2.2.1",
|
||||
"@astrojs/sitemap": "^1.3.3",
|
||||
"@astrojs/tailwind": "^3.1.3",
|
||||
"@fingerprintjs/fingerprintjs": "^3.4.1",
|
||||
"@nanostores/preact": "^0.5.0",
|
||||
"astro": "^2.6.6",
|
||||
"@otterlord/astro-compress": "^1.1.48",
|
||||
"jose": "^4.14.4",
|
||||
"@astrojs/node": "^8.2.5",
|
||||
"@astrojs/react": "^3.3.1",
|
||||
"@astrojs/sitemap": "^3.1.4",
|
||||
"@astrojs/tailwind": "^5.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.4",
|
||||
"js-cookie": "^3.0.5",
|
||||
"nanostores": "^0.9.2",
|
||||
"node-html-parser": "^6.1.5",
|
||||
"npm-check-updates": "^16.10.12",
|
||||
"preact": "^10.15.1",
|
||||
"rehype-external-links": "^2.1.0",
|
||||
"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.3.1",
|
||||
"react-calendar-heatmap": "^1.9.0",
|
||||
"react-confetti": "^6.1.0",
|
||||
"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.3",
|
||||
"slugify": "^1.6.6",
|
||||
"tailwindcss": "^3.3.2"
|
||||
"tailwind-merge": "^2.3.0",
|
||||
"tailwindcss": "^3.4.3",
|
||||
"unified": "^11.0.4",
|
||||
"zustand": "^4.5.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@playwright/test": "^1.35.1",
|
||||
"@tailwindcss/typography": "^0.5.9",
|
||||
"@types/js-cookie": "^3.0.3",
|
||||
"@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": "^5.0.0",
|
||||
"gh-pages": "^6.1.1",
|
||||
"js-yaml": "^4.1.0",
|
||||
"markdown-it": "^13.0.1",
|
||||
"openai": "^3.3.0",
|
||||
"prettier": "^2.8.8",
|
||||
"prettier-plugin-astro": "^0.10.0",
|
||||
"prettier-plugin-tailwindcss": "^0.3.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.14",
|
||||
"tsx": "^4.7.3"
|
||||
}
|
||||
}
|
||||
|
||||
5510
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 |
BIN
public/authors/fernando.jpeg
Normal file
|
After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 2.2 KiB |
BIN
public/authors/peter-thaleikis.png
Normal file
|
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 |
BIN
public/best-practices/backend-performance.png
Normal file
|
After Width: | Height: | Size: 479 KiB |
|
Before Width: | Height: | Size: 378 KiB After Width: | Height: | Size: 140 KiB |
BIN
public/fonts/BalsamiqSans-Regular.ttf
Normal file
|
Before Width: | Height: | Size: 987 KiB After Width: | Height: | Size: 351 KiB |
|
Before Width: | Height: | Size: 875 KiB After Width: | Height: | Size: 420 KiB |
BIN
public/guides/backend-languages/back-vs-front.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
public/guides/backend-languages/backend-roadmap-part.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
public/guides/backend-languages/javascript-interest.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
public/guides/backend-languages/pypl-go-index.png
Normal file
|
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 |
3
public/images/graph.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="46" height="27" viewBox="0 0 46 27" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M43.354 0.9C42.184 0.9 41.2371 1.84684 41.2371 3.01686C41.2371 3.30867 41.3062 3.57708 41.4117 3.82435L33.4085 15.0163C33.38 15.0161 33.3514 15.0167 33.3248 15.0172C33.3051 15.0176 33.2864 15.018 33.2697 15.018C32.8703 15.018 32.484 15.1223 32.161 15.3186L25.2976 11.9024C25.1995 10.8219 24.2903 9.97585 23.1854 9.97585C22.0154 9.97585 21.0686 10.9227 21.0686 12.0927C21.0686 12.1865 21.0799 12.2794 21.0925 12.3656L13.8077 18.1561C13.5852 18.0783 13.3472 18.0433 13.1011 18.0433C12.0622 18.0433 11.2066 18.7882 11.0265 19.7732L4.26122 22.5041C3.91213 22.2447 3.48642 22.077 3.01686 22.077C1.84684 22.077 0.9 23.0238 0.9 24.1938C0.9 25.3639 1.84684 26.3107 3.01686 26.3107C4.06426 26.3107 4.92372 25.5497 5.0923 24.5492L11.8566 21.8497C12.2057 22.1092 12.6315 22.277 13.1011 22.277C14.2711 22.277 15.218 21.3301 15.218 20.1601C15.218 20.0663 15.2067 19.9735 15.194 19.8873L22.4789 14.0968C22.7013 14.1746 22.9393 14.2096 23.1854 14.2096C23.5848 14.2096 23.9711 14.1053 24.2941 13.909L31.1575 17.3252C31.2556 18.4057 32.1649 19.2517 33.2697 19.2517C34.4397 19.2517 35.3866 18.3049 35.3866 17.1348C35.3866 16.843 35.3175 16.5746 35.2119 16.3273L43.2151 5.13536C43.2437 5.13561 43.2723 5.13503 43.2989 5.13449C43.3186 5.13409 43.3373 5.13371 43.354 5.13371C44.524 5.13371 45.4708 4.18687 45.4708 3.01686C45.4708 1.84684 44.524 0.9 43.354 0.9Z" fill="black" stroke="black" stroke-width="0.2" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
3
public/images/hackernews.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32">
|
||||
<path fill="#94a3b8" d="M5 5v22h22V5zm2 2h18v18H7zm4.5 4l3.5 6v5h2v-5l3.5-6h-2L16 15.281L13.5 11z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 203 B |
BIN
public/images/icons8-wand.gif
Normal file
|
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 |
BIN
public/images/partners/nginx.png
Normal file
|
After Width: | Height: | Size: 405 KiB |
BIN
public/images/partners/spring-tile.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
public/images/partners/zilliz.png
Normal file
|
After Width: | Height: | Size: 149 KiB |
1
public/images/reddit.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 1024 1024"><path fill="#94a3b8" d="M288 568a56 56 0 1 0 112 0a56 56 0 1 0-112 0zm338.7 119.7c-23.1 18.2-68.9 37.8-114.7 37.8s-91.6-19.6-114.7-37.8c-14.4-11.3-35.3-8.9-46.7 5.5s-8.9 35.3 5.5 46.7C396.3 771.6 457.5 792 512 792s115.7-20.4 155.9-52.1a33.25 33.25 0 1 0-41.2-52.2zM960 456c0-61.9-50.1-112-112-112c-42.1 0-78.7 23.2-97.9 57.6c-57.6-31.5-127.7-51.8-204.1-56.5L612.9 195l127.9 36.9c11.5 32.6 42.6 56.1 79.2 56.1c46.4 0 84-37.6 84-84s-37.6-84-84-84c-32 0-59.8 17.9-74 44.2L603.5 123a33.2 33.2 0 0 0-39.6 18.4l-90.8 203.9c-74.5 5.2-142.9 25.4-199.2 56.2A111.94 111.94 0 0 0 176 344c-61.9 0-112 50.1-112 112c0 45.8 27.5 85.1 66.8 102.5c-7.1 21-10.8 43-10.8 65.5c0 154.6 175.5 280 392 280s392-125.4 392-280c0-22.6-3.8-44.5-10.8-65.5C932.5 541.1 960 501.8 960 456zM820 172.5a31.5 31.5 0 1 1 0 63a31.5 31.5 0 0 1 0-63zM120 456c0-30.9 25.1-56 56-56a56 56 0 0 1 50.6 32.1c-29.3 22.2-53.5 47.8-71.5 75.9a56.23 56.23 0 0 1-35.1-52zm392 381.5c-179.8 0-325.5-95.6-325.5-213.5S332.2 410.5 512 410.5S837.5 506.1 837.5 624S691.8 837.5 512 837.5zM868.8 508c-17.9-28.1-42.2-53.7-71.5-75.9c9-18.9 28.3-32.1 50.6-32.1c30.9 0 56 25.1 56 56c.1 23.5-14.5 43.7-35.1 52zM624 568a56 56 0 1 0 112 0a56 56 0 1 0-112 0z"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
BIN
public/images/roadmap-editor.jpeg
Normal file
|
After Width: | Height: | Size: 398 KiB |
|
Before Width: | Height: | Size: 832 KiB After Width: | Height: | Size: 286 KiB |
BIN
public/images/team-promo/contact.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
public/images/team-promo/documentation.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
public/images/team-promo/growth-plans.png
Normal file
|
After Width: | Height: | Size: 137 KiB |
BIN
public/images/team-promo/hero-img.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
public/images/team-promo/hero.png
Normal file
|
After Width: | Height: | Size: 123 KiB |
BIN
public/images/team-promo/invite-members.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
public/images/team-promo/many-roadmaps.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
public/images/team-promo/onboarding.png
Normal file
|
After Width: | Height: | Size: 119 KiB |
BIN
public/images/team-promo/our-roadmaps.png
Normal file
|
After Width: | Height: | Size: 114 KiB |
BIN
public/images/team-promo/progress-tracking.png
Normal file
|
After Width: | Height: | Size: 129 KiB |
BIN
public/images/team-promo/roadmap-editor.png
Normal file
|
After Width: | Height: | Size: 312 KiB |
BIN
public/images/team-promo/sharing-settings.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
public/images/team-promo/skill-gap.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
public/images/team-promo/team-dashboard.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
public/images/team-promo/team-insights.png
Normal file
|
After Width: | Height: | Size: 116 KiB |
BIN
public/images/team-promo/update-progress.png
Normal file
|
After Width: | Height: | Size: 123 KiB |
BIN
public/manifest/apple-touch-icon.png
Executable file → Normal file
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 1.9 KiB |
0
public/manifest/favicon.ico
Executable file → Normal file
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
BIN
public/manifest/icon152.png
Executable file → Normal file
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.1 KiB |
0
public/manifest/icon16.png
Executable file → Normal file
|
Before Width: | Height: | Size: 123 B After Width: | Height: | Size: 123 B |
BIN
public/manifest/icon196.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
public/manifest/icon32.png
Executable file → Normal file
|
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 218 B |
BIN
public/og-images/best-practices/api-security.png
Normal file
|
After Width: | Height: | Size: 184 KiB |
BIN
public/og-images/best-practices/aws.png
Normal file
|
After Width: | Height: | Size: 154 KiB |
BIN
public/og-images/best-practices/backend-performance.png
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
public/og-images/best-practices/code-review.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
public/og-images/best-practices/frontend-performance.png
Normal file
|
After Width: | Height: | Size: 184 KiB |
BIN
public/og-images/guides/asymptotic-notation.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 46 KiB |
BIN
public/og-images/guides/backend-developer-skills.png
Normal file
|
After Width: | Height: | Size: 55 KiB |