diff --git a/docs/public/icons/React-icon.svg b/docs/public/icons/React-icon.svg new file mode 100644 index 000000000..5592ebec6 --- /dev/null +++ b/docs/public/icons/React-icon.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + diff --git a/docs/public/icons/clipboard-solid.svg b/docs/public/icons/clipboard-solid.svg new file mode 100644 index 000000000..628d0b7e3 --- /dev/null +++ b/docs/public/icons/clipboard-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/public/icons/coding.svg b/docs/public/icons/coding.svg new file mode 100644 index 000000000..9c3e30d24 --- /dev/null +++ b/docs/public/icons/coding.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/public/icons/document.svg b/docs/public/icons/document.svg new file mode 100644 index 000000000..471d8c2c6 --- /dev/null +++ b/docs/public/icons/document.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/public/icons/framework-thumbnails/framework-lit.svg b/docs/public/icons/framework-thumbnails/framework-lit.svg new file mode 100644 index 000000000..927f80610 --- /dev/null +++ b/docs/public/icons/framework-thumbnails/framework-lit.svg @@ -0,0 +1,295 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/framework-thumbnails/framework-preact.svg b/docs/public/icons/framework-thumbnails/framework-preact.svg new file mode 100644 index 000000000..e6363b51f --- /dev/null +++ b/docs/public/icons/framework-thumbnails/framework-preact.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/framework-thumbnails/framework-react.svg b/docs/public/icons/framework-thumbnails/framework-react.svg new file mode 100644 index 000000000..c3729b32b --- /dev/null +++ b/docs/public/icons/framework-thumbnails/framework-react.svg @@ -0,0 +1,267 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/framework-thumbnails/framework-solid.svg b/docs/public/icons/framework-thumbnails/framework-solid.svg new file mode 100644 index 000000000..8dffea91a --- /dev/null +++ b/docs/public/icons/framework-thumbnails/framework-solid.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/framework-thumbnails/framework-svelte.svg b/docs/public/icons/framework-thumbnails/framework-svelte.svg new file mode 100644 index 000000000..e39ba7e42 --- /dev/null +++ b/docs/public/icons/framework-thumbnails/framework-svelte.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/framework-thumbnails/framework-vue.svg b/docs/public/icons/framework-thumbnails/framework-vue.svg new file mode 100644 index 000000000..b484ae0f3 --- /dev/null +++ b/docs/public/icons/framework-thumbnails/framework-vue.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/framework-thumbnails/snowpack.svg b/docs/public/icons/framework-thumbnails/snowpack.svg new file mode 100644 index 000000000..879c2f5b3 --- /dev/null +++ b/docs/public/icons/framework-thumbnails/snowpack.svg @@ -0,0 +1,212 @@ + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/framework-thumbnails/with-nanostores.svg b/docs/public/icons/framework-thumbnails/with-nanostores.svg new file mode 100644 index 000000000..681181899 --- /dev/null +++ b/docs/public/icons/framework-thumbnails/with-nanostores.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/framework-thumbnails/with-tailwindcss.svg b/docs/public/icons/framework-thumbnails/with-tailwindcss.svg new file mode 100644 index 000000000..d8f40c091 --- /dev/null +++ b/docs/public/icons/framework-thumbnails/with-tailwindcss.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/github.svg b/docs/public/icons/github.svg new file mode 100644 index 000000000..d9a232c77 --- /dev/null +++ b/docs/public/icons/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/public/icons/license/license.pdf b/docs/public/icons/license/license.pdf new file mode 100644 index 000000000..bdeedb701 Binary files /dev/null and b/docs/public/icons/license/license.pdf differ diff --git a/docs/public/icons/space-icons-rounded-small/001-pluto.svg b/docs/public/icons/space-icons-rounded-small/001-pluto.svg new file mode 100644 index 000000000..d8b1bc2c8 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/001-pluto.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/002-mercury.svg b/docs/public/icons/space-icons-rounded-small/002-mercury.svg new file mode 100644 index 000000000..cc1c1bd1b --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/002-mercury.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/003-saturn-1.svg b/docs/public/icons/space-icons-rounded-small/003-saturn-1.svg new file mode 100644 index 000000000..71110dc65 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/003-saturn-1.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/004-uranus.svg b/docs/public/icons/space-icons-rounded-small/004-uranus.svg new file mode 100644 index 000000000..cba0f9fb1 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/004-uranus.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/005-space-station-1.svg b/docs/public/icons/space-icons-rounded-small/005-space-station-1.svg new file mode 100644 index 000000000..ec928c1fe --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/005-space-station-1.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/006-jupiter.svg b/docs/public/icons/space-icons-rounded-small/006-jupiter.svg new file mode 100644 index 000000000..9634824d3 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/006-jupiter.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/007-comet.svg b/docs/public/icons/space-icons-rounded-small/007-comet.svg new file mode 100644 index 000000000..1dafab9f2 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/007-comet.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/008-satellite-3.svg b/docs/public/icons/space-icons-rounded-small/008-satellite-3.svg new file mode 100644 index 000000000..d9514cf6e --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/008-satellite-3.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/009-meteorite-1.svg b/docs/public/icons/space-icons-rounded-small/009-meteorite-1.svg new file mode 100644 index 000000000..3ba1351b7 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/009-meteorite-1.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/010-lander.svg b/docs/public/icons/space-icons-rounded-small/010-lander.svg new file mode 100644 index 000000000..5336210c5 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/010-lander.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/011-rocket-ship.svg b/docs/public/icons/space-icons-rounded-small/011-rocket-ship.svg new file mode 100644 index 000000000..1d5b90fb4 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/011-rocket-ship.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/012-blaster.svg b/docs/public/icons/space-icons-rounded-small/012-blaster.svg new file mode 100644 index 000000000..156978483 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/012-blaster.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/013-satellite-2.svg b/docs/public/icons/space-icons-rounded-small/013-satellite-2.svg new file mode 100644 index 000000000..6ed6ace43 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/013-satellite-2.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/014-space-capsule-1.svg b/docs/public/icons/space-icons-rounded-small/014-space-capsule-1.svg new file mode 100644 index 000000000..fb01a12a2 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/014-space-capsule-1.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/015-planet-earth-1.svg b/docs/public/icons/space-icons-rounded-small/015-planet-earth-1.svg new file mode 100644 index 000000000..52ec29f7f --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/015-planet-earth-1.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/016-saturn.svg b/docs/public/icons/space-icons-rounded-small/016-saturn.svg new file mode 100644 index 000000000..5e0c25aac --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/016-saturn.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/017-moon.svg b/docs/public/icons/space-icons-rounded-small/017-moon.svg new file mode 100644 index 000000000..76cf7d2da --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/017-moon.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/018-black-hole.svg b/docs/public/icons/space-icons-rounded-small/018-black-hole.svg new file mode 100644 index 000000000..20db10ec2 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/018-black-hole.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/019-constellation.svg b/docs/public/icons/space-icons-rounded-small/019-constellation.svg new file mode 100644 index 000000000..2e5d5db72 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/019-constellation.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/020-meteor.svg b/docs/public/icons/space-icons-rounded-small/020-meteor.svg new file mode 100644 index 000000000..d6fa70ef0 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/020-meteor.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/021-alien.svg b/docs/public/icons/space-icons-rounded-small/021-alien.svg new file mode 100644 index 000000000..6d18a312c --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/021-alien.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/022-monkey.svg b/docs/public/icons/space-icons-rounded-small/022-monkey.svg new file mode 100644 index 000000000..e6938e2b0 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/022-monkey.svg @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/023-half-moon.svg b/docs/public/icons/space-icons-rounded-small/023-half-moon.svg new file mode 100644 index 000000000..55f7d0add --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/023-half-moon.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/024-ufo-1.svg b/docs/public/icons/space-icons-rounded-small/024-ufo-1.svg new file mode 100644 index 000000000..1833464cd --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/024-ufo-1.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/025-united-states-of-america.svg b/docs/public/icons/space-icons-rounded-small/025-united-states-of-america.svg new file mode 100644 index 000000000..99d3e04bc --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/025-united-states-of-america.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/026-satellite-1.svg b/docs/public/icons/space-icons-rounded-small/026-satellite-1.svg new file mode 100644 index 000000000..25649191e --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/026-satellite-1.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/027-space-capsule.svg b/docs/public/icons/space-icons-rounded-small/027-space-capsule.svg new file mode 100644 index 000000000..2a68316ea --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/027-space-capsule.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/028-sun.svg b/docs/public/icons/space-icons-rounded-small/028-sun.svg new file mode 100644 index 000000000..9488453b2 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/028-sun.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/029-satellite-dish.svg b/docs/public/icons/space-icons-rounded-small/029-satellite-dish.svg new file mode 100644 index 000000000..727c44e9a --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/029-satellite-dish.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/030-observatory.svg b/docs/public/icons/space-icons-rounded-small/030-observatory.svg new file mode 100644 index 000000000..6b4b9a1bd --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/030-observatory.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/031-telescope.svg b/docs/public/icons/space-icons-rounded-small/031-telescope.svg new file mode 100644 index 000000000..56efe4b37 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/031-telescope.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/032-space-station.svg b/docs/public/icons/space-icons-rounded-small/032-space-station.svg new file mode 100644 index 000000000..737b40417 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/032-space-station.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/033-space-shuttle-1.svg b/docs/public/icons/space-icons-rounded-small/033-space-shuttle-1.svg new file mode 100644 index 000000000..6b10b2c2f --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/033-space-shuttle-1.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/034-moon-rover.svg b/docs/public/icons/space-icons-rounded-small/034-moon-rover.svg new file mode 100644 index 000000000..17cd5b4ed --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/034-moon-rover.svg @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/035-ufo.svg b/docs/public/icons/space-icons-rounded-small/035-ufo.svg new file mode 100644 index 000000000..70a984100 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/035-ufo.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/036-astronaut-1.svg b/docs/public/icons/space-icons-rounded-small/036-astronaut-1.svg new file mode 100644 index 000000000..72cb95efb --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/036-astronaut-1.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/037-rocket-2.svg b/docs/public/icons/space-icons-rounded-small/037-rocket-2.svg new file mode 100644 index 000000000..e4a48e2c0 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/037-rocket-2.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/038-rocket-1.svg b/docs/public/icons/space-icons-rounded-small/038-rocket-1.svg new file mode 100644 index 000000000..646e272ea --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/038-rocket-1.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/039-mars.svg b/docs/public/icons/space-icons-rounded-small/039-mars.svg new file mode 100644 index 000000000..d04107409 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/039-mars.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/040-rocket.svg b/docs/public/icons/space-icons-rounded-small/040-rocket.svg new file mode 100644 index 000000000..a465ee999 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/040-rocket.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/041-solar-system-1.svg b/docs/public/icons/space-icons-rounded-small/041-solar-system-1.svg new file mode 100644 index 000000000..1986d4c4e --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/041-solar-system-1.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/042-solar-system.svg b/docs/public/icons/space-icons-rounded-small/042-solar-system.svg new file mode 100644 index 000000000..85f27f5a4 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/042-solar-system.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/043-astronaut.svg b/docs/public/icons/space-icons-rounded-small/043-astronaut.svg new file mode 100644 index 000000000..f32f4f87e --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/043-astronaut.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/044-footprint.svg b/docs/public/icons/space-icons-rounded-small/044-footprint.svg new file mode 100644 index 000000000..2293bd6dc --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/044-footprint.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/045-space-shuttle.svg b/docs/public/icons/space-icons-rounded-small/045-space-shuttle.svg new file mode 100644 index 000000000..863d21fb5 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/045-space-shuttle.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/046-satellite.svg b/docs/public/icons/space-icons-rounded-small/046-satellite.svg new file mode 100644 index 000000000..c4c96a985 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/046-satellite.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/047-meteorite.svg b/docs/public/icons/space-icons-rounded-small/047-meteorite.svg new file mode 100644 index 000000000..60ee70aea --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/047-meteorite.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/048-space.svg b/docs/public/icons/space-icons-rounded-small/048-space.svg new file mode 100644 index 000000000..f0d013138 --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/048-space.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/049-venus.svg b/docs/public/icons/space-icons-rounded-small/049-venus.svg new file mode 100644 index 000000000..0b04f52ec --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/049-venus.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space-icons-rounded-small/050-planet-earth.svg b/docs/public/icons/space-icons-rounded-small/050-planet-earth.svg new file mode 100644 index 000000000..b2e1e7f9b --- /dev/null +++ b/docs/public/icons/space-icons-rounded-small/050-planet-earth.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/space.svg b/docs/public/icons/space.svg new file mode 100644 index 000000000..015bc8152 --- /dev/null +++ b/docs/public/icons/space.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/icons/tailwindcss.svg b/docs/public/icons/tailwindcss.svg new file mode 100644 index 000000000..480da41bc --- /dev/null +++ b/docs/public/icons/tailwindcss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/public/icons/web-programming.svg b/docs/public/icons/web-programming.svg new file mode 100644 index 000000000..2e68d0954 --- /dev/null +++ b/docs/public/icons/web-programming.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/public/images/aldebaran-s-zAm8YFpCCsc-unsplash.jpg b/docs/public/images/aldebaran-s-zAm8YFpCCsc-unsplash.jpg new file mode 100644 index 000000000..8a50cf50f Binary files /dev/null and b/docs/public/images/aldebaran-s-zAm8YFpCCsc-unsplash.jpg differ diff --git a/docs/public/images/bryan-goff-f7YQo-eYHdM-unsplash.jpg b/docs/public/images/bryan-goff-f7YQo-eYHdM-unsplash.jpg new file mode 100644 index 000000000..b5ded19c8 Binary files /dev/null and b/docs/public/images/bryan-goff-f7YQo-eYHdM-unsplash.jpg differ diff --git a/docs/public/images/chen-liu-jgt81f_UDuU-unsplash.jpg b/docs/public/images/chen-liu-jgt81f_UDuU-unsplash.jpg new file mode 100644 index 000000000..2cfb74a0b Binary files /dev/null and b/docs/public/images/chen-liu-jgt81f_UDuU-unsplash.jpg differ diff --git a/docs/public/images/guillermo-ferla-kEEl9csCutg-unsplash.jpg b/docs/public/images/guillermo-ferla-kEEl9csCutg-unsplash.jpg new file mode 100644 index 000000000..32af82661 Binary files /dev/null and b/docs/public/images/guillermo-ferla-kEEl9csCutg-unsplash.jpg differ diff --git a/docs/public/images/history-in-hd-e5eDHbmHprg-unsplash.jpg b/docs/public/images/history-in-hd-e5eDHbmHprg-unsplash.jpg new file mode 100644 index 000000000..e4b0b7806 Binary files /dev/null and b/docs/public/images/history-in-hd-e5eDHbmHprg-unsplash.jpg differ diff --git a/docs/public/images/joel-filipe-QwoNAhbmLLo-unsplash.jpg b/docs/public/images/joel-filipe-QwoNAhbmLLo-unsplash.jpg new file mode 100644 index 000000000..016401069 Binary files /dev/null and b/docs/public/images/joel-filipe-QwoNAhbmLLo-unsplash.jpg differ diff --git a/docs/public/images/jongsun-lee-F-pSZO_jeE8-unsplash.jpg b/docs/public/images/jongsun-lee-F-pSZO_jeE8-unsplash.jpg new file mode 100644 index 000000000..796c93d35 Binary files /dev/null and b/docs/public/images/jongsun-lee-F-pSZO_jeE8-unsplash.jpg differ diff --git a/docs/public/images/mathew-schwartz-7YiZKj9A3DM-unsplash.jpg b/docs/public/images/mathew-schwartz-7YiZKj9A3DM-unsplash.jpg new file mode 100644 index 000000000..e0a76ffe5 Binary files /dev/null and b/docs/public/images/mathew-schwartz-7YiZKj9A3DM-unsplash.jpg differ diff --git a/docs/public/images/nasa--hI5dX2ObAs-unsplash.jpg b/docs/public/images/nasa--hI5dX2ObAs-unsplash.jpg new file mode 100644 index 000000000..a6fd0b979 Binary files /dev/null and b/docs/public/images/nasa--hI5dX2ObAs-unsplash.jpg differ diff --git a/docs/public/images/nasa-2W-QWAC0mzI-unsplash.jpg b/docs/public/images/nasa-2W-QWAC0mzI-unsplash.jpg new file mode 100644 index 000000000..696f0f425 Binary files /dev/null and b/docs/public/images/nasa-2W-QWAC0mzI-unsplash.jpg differ diff --git a/docs/public/images/nasa-Q1p7bh3SHj8-unsplash.jpg b/docs/public/images/nasa-Q1p7bh3SHj8-unsplash.jpg new file mode 100644 index 000000000..22ada27c3 Binary files /dev/null and b/docs/public/images/nasa-Q1p7bh3SHj8-unsplash.jpg differ diff --git a/docs/public/images/nasa-jlV2k_Fx0fc-unsplash.jpg b/docs/public/images/nasa-jlV2k_Fx0fc-unsplash.jpg new file mode 100644 index 000000000..4c1402370 Binary files /dev/null and b/docs/public/images/nasa-jlV2k_Fx0fc-unsplash.jpg differ diff --git a/docs/public/images/nasa-pd4lo70LdbI-unsplash.jpg b/docs/public/images/nasa-pd4lo70LdbI-unsplash.jpg new file mode 100644 index 000000000..a2c332340 Binary files /dev/null and b/docs/public/images/nasa-pd4lo70LdbI-unsplash.jpg differ diff --git a/docs/public/images/nasa-vltMzn0jqsA-unsplash.jpg b/docs/public/images/nasa-vltMzn0jqsA-unsplash.jpg new file mode 100644 index 000000000..24593055c Binary files /dev/null and b/docs/public/images/nasa-vltMzn0jqsA-unsplash.jpg differ diff --git a/docs/public/images/nasa-yZygONrUBe8-unsplash.jpg b/docs/public/images/nasa-yZygONrUBe8-unsplash.jpg new file mode 100644 index 000000000..2195e013e Binary files /dev/null and b/docs/public/images/nasa-yZygONrUBe8-unsplash.jpg differ diff --git a/docs/public/images/niketh-vellanki-QkSN_8XcXwQ-unsplash.jpg b/docs/public/images/niketh-vellanki-QkSN_8XcXwQ-unsplash.jpg new file mode 100644 index 000000000..8ec32c861 Binary files /dev/null and b/docs/public/images/niketh-vellanki-QkSN_8XcXwQ-unsplash.jpg differ diff --git a/docs/public/images/spacex-yJv97tE7GDM-unsplash.jpg b/docs/public/images/spacex-yJv97tE7GDM-unsplash.jpg new file mode 100644 index 000000000..441841509 Binary files /dev/null and b/docs/public/images/spacex-yJv97tE7GDM-unsplash.jpg differ diff --git a/docs/public/images/the-new-york-public-library-gnTI0R9N0vA-unsplash.jpg b/docs/public/images/the-new-york-public-library-gnTI0R9N0vA-unsplash.jpg new file mode 100644 index 000000000..88e5b0353 Binary files /dev/null and b/docs/public/images/the-new-york-public-library-gnTI0R9N0vA-unsplash.jpg differ diff --git a/docs/public/images/the-new-york-public-library-yEauzeZU6xo-unsplash.jpg b/docs/public/images/the-new-york-public-library-yEauzeZU6xo-unsplash.jpg new file mode 100644 index 000000000..a8bc63b24 Binary files /dev/null and b/docs/public/images/the-new-york-public-library-yEauzeZU6xo-unsplash.jpg differ diff --git a/docs/public/index.css b/docs/public/index.css index ba7fce412..b48f70862 100644 --- a/docs/public/index.css +++ b/docs/public/index.css @@ -219,6 +219,7 @@ pre { --padding-inline: 2rem; padding: var(--padding-block) var(--padding-inline); padding-right: calc(var(--padding-inline) * 2); + margin-top: calc(var(--padding-inline) * 0.5); margin-left: calc(var(--padding-inline) * -1); margin-right: calc(var(--padding-inline) * -1); font-family: var(--font-mono); diff --git a/docs/public/theme.css b/docs/public/theme.css index 551ee15e0..660258a6d 100644 --- a/docs/public/theme.css +++ b/docs/public/theme.css @@ -15,12 +15,13 @@ * ex: * * --color-base-{color}: {hue}, {saturation}; - * + * hsla(215, 28%, 17%, 1); */ --color-base-white: 0, 0%; --color-base-black: 240, 100%; --color-base-gray: 215, 14%; + --color-base-dark-grey: 215, 28%; --color-base-blue: 212, 100%; --color-base-blue-dark: 212, 72%; --color-base-green: 158, 79%; @@ -55,6 +56,11 @@ --color-purple: var(--color-base-purple), 54%; --color-red: var(--color-base-red), 54%; --color-yellow: var(--color-base-yellow), 59%; + --color-grey-dark:var(--color-base-dark-grey),17%; + --color-shadow-lightest: var(--color-base-white),88%; + --color-shadow-light: var(--color-base-white),75%; + --color-shadow-lightest: var(--color-base-white),88%; + --color-shadow-light: var(--color-base-white),75%; } :root { @@ -65,6 +71,7 @@ --theme-divider: hsla(var(--color-gray-95), 1); --theme-text: hsla(var(--color-gray-10), 1); --theme-text-light: hsla(var(--color-gray-40), 1); + --theme-box-shadow-light: hsla(var(var(--color-shadow-light))) /* @@@: not used anywhere */ --theme-text-lighter: hsla(var(--color-gray-80), 1); --theme-bg: hsla(var(--color-base-white), 100%, 1); @@ -79,6 +86,9 @@ --theme-navbar-height: 6rem; --theme-selection-color: hsla(var(--color-orange), 1); --theme-selection-bg: hsla(var(--color-orange), var(--theme-accent-opacity)); + --theme-card-bg: linear-gradient(-76deg,#00000078, hsl(0deg 7% 58% / 34%) 39%, transparent); + --theme-card-box-shadow: -4px -2px 20px 2px #c6c6cf, 12px 12px 30px -8px #353439; + --theme-card-divider:#a09e9e70; } body { @@ -97,17 +107,19 @@ body { /* @@@: not used anywhere */ --theme-text-lighter: hsla(var(--color-gray-40), 1); - --theme-bg: hsla(215, 28%, 17%, 1); + --theme-bg: hsla(var(--color-grey-dark), 1); --theme-bg-hover: hsla(var(--color-gray-40), 1); --theme-bg-offset: hsla(var(--color-gray-5), 1); --theme-code-inline-bg: hsla(var(--color-gray-10), 1); --theme-code-inline-text: hsla(var(--color-base-white), 100%, 1); --theme-code-bg: hsla(var(--color-gray-5), 1); --theme-code-text: hsla(var(--color-base-white), 100%, 1); - --theme-navbar-bg: hsla(215, 28%, 17%, 1); + --theme-navbar-bg: hsla(var(--color-grey-dark), 1); --theme-selection-color: hsla(var(--color-base-white), 100%, 1); --theme-selection-bg: hsla(var(--color-purple), var(--theme-accent-opacity)); - + --theme-card-bg: linear-gradient(96deg, #243245, #1c2532 50%,#000000cf 100%);; + --theme-card-box-shadow:13px 9px 12px 0px #10151c, -4px -2px 20px 2px #2e3d52; + --theme-card-divider:#2e3a49; /* DocSearch [Algolia] */ --docsearch-modal-background: var(--theme-bg); --docsearch-searchbox-focus-background: var(--theme-divider); diff --git a/docs/src/components/ContainerQuery.astro b/docs/src/components/ContainerQuery.astro new file mode 100644 index 000000000..253cf43ec --- /dev/null +++ b/docs/src/components/ContainerQuery.astro @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/docs/src/components/Examples/Card.astro b/docs/src/components/Examples/Card.astro new file mode 100644 index 000000000..31b98f4de --- /dev/null +++ b/docs/src/components/Examples/Card.astro @@ -0,0 +1,51 @@ +--- + +import capitalise from './Functions/capitalise.js' +import formatName from './Functions/format-name.js' +import getThumbnailIcon from './Functions/get-thumbnail-icon.js' +import getHeroImg from './Functions/get-hero-img.js' + +import CardLink from './CardLink.tsx' +import CardImage from './CardImage.astro' +import CodeBar from './Codebar.tsx' +import CardButtons from './CardButtons.astro' + +const {data:{name,readme="",pkgJSON:{description,keywords,repository}}} = Astro.props + +const getThumbnail = async() =>{ + if(keywords.includes('framework') && !name.match('framework-multiple') || name.match('with-tailwindcss') || name.match('snowpack') || name.match('with-nanostores')){ + return `/icons/framework-thumbnails/${name}.svg` + } + + let avatarSrc = await getThumbnailIcon() || '/icons/space-icons-rounded-small/048-space.svg' + return avatarSrc +} + +const href = `/templates/${name}` +--- + +
+
+ + +
+
+ A Randomised Thumbnail Image +
+ + +
+
+
+
+ \ No newline at end of file diff --git a/docs/src/components/Examples/CardButtons.astro b/docs/src/components/Examples/CardButtons.astro new file mode 100644 index 000000000..f7393df42 --- /dev/null +++ b/docs/src/components/Examples/CardButtons.astro @@ -0,0 +1,37 @@ +--- + export interface Props{ + dir:string + } +const {dir} = Astro.props +const icons = [ + + + , + + + + + + + , + + + + + ] +--- + + + \ No newline at end of file diff --git a/docs/src/components/Examples/CardImage.astro b/docs/src/components/Examples/CardImage.astro new file mode 100644 index 000000000..d785b6ce8 --- /dev/null +++ b/docs/src/components/Examples/CardImage.astro @@ -0,0 +1,20 @@ +--- +import getHeroImg from './Functions/get-hero-img.js' +const getImg = await getHeroImg() || 'https://source.unsplash.com/600x300/?space,cosmos' +--- + + A Image of Space + + \ No newline at end of file diff --git a/docs/src/components/Examples/CardLink.tsx b/docs/src/components/Examples/CardLink.tsx new file mode 100644 index 000000000..f17ee724f --- /dev/null +++ b/docs/src/components/Examples/CardLink.tsx @@ -0,0 +1,51 @@ +import { JSX } from '@babel/types'; +import type { Component } from 'preact'; +import { h, Fragment } from 'preact'; +import { useRef } from 'preact/hooks'; + +export type CardLinkProps ={ + href:string + name:string + children:JSX | JSX[] +} + +const CardLink:Component=({href,name,children}:CardLinkProps):JSX.Element=>{ + const Card = useRef(null) + /** + * Set Title Attribute when Hovering over Card + * @param e - Mouse Enter Event + */ + function handleOnMouseEnter(e){ + const cardBody = Card.current.querySelector('.card-body') + const cardThumb = Card.current.querySelector('.icon-image') + const cardImg = Card.current.querySelector('.heroImg') + + if(e.target === cardBody || e.target === cardThumb || e.target === cardImg ) { + e.target.setAttribute('title',`Click to find out more about our ${name} template`) + } + + + } + /** + * Click Link Card to Page + * @param e - Click Event + * @returns new window location + */ + function handleOnClick(e){ + const card = e.target + const mainLink = card.querySelector('.main-link') + const clickableArea = ['.card-body','.icon-image','.heroImg'] + for(let area of clickableArea){ + if(e.currentTarget.classList.contains(area)) { + return mainLink.click() + } + } + } + return( +
+ {children} +
+ ) +} + +export default CardLink \ No newline at end of file diff --git a/docs/src/components/Examples/Codebar.tsx b/docs/src/components/Examples/Codebar.tsx new file mode 100644 index 000000000..f2bca6b8d --- /dev/null +++ b/docs/src/components/Examples/Codebar.tsx @@ -0,0 +1,43 @@ +import type { FunctionalComponent } from 'preact'; +import { h, Fragment } from 'preact'; +import{useState,useRef,useEffect} from 'preact/hooks' + +export type CodeBar ={ + content:string + command:string +} + +const CodeBar:FunctionalComponent=({content,command})=>{ + const [clicked,setClicked]=useState(false) + const [titleTxt,setTitleTxt] = useState("Copy Command to Clipboard") + useEffect(()=>{ + const timeout = setTimeout(()=>{ + setClicked(false) + setTitleTxt("Copy Command to Clipboard") + },1500) + return ()=> clearTimeout(timeout) + },[clicked]) + /** + * + */ + function onClick(e){ + setClicked(true) + setTitleTxt("Copied to Clipboard!") + const titleAttr= e.target + const clipboard = navigator.clipboard + return clipboard.writeText(`${command}`) + } + + return( +
+ + {content} + +
+ ) +} + +export default CodeBar + + + diff --git a/docs/src/components/Examples/CollapsibleReadme.astro b/docs/src/components/Examples/CollapsibleReadme.astro new file mode 100644 index 000000000..679b467d3 --- /dev/null +++ b/docs/src/components/Examples/CollapsibleReadme.astro @@ -0,0 +1,95 @@ +--- +import {Markdown} from 'astro/components' +export interface Props{ + label:string; + readme:string; +} +const {label,readme} = Astro.props +--- +
+ + +
+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/docs/src/components/Examples/Functions/capitalise.js b/docs/src/components/Examples/Functions/capitalise.js new file mode 100644 index 000000000..39f7497b5 --- /dev/null +++ b/docs/src/components/Examples/Functions/capitalise.js @@ -0,0 +1,8 @@ +/** + * + * @param {String} word + * @returns Capitalised Word + */ +export default function capitalise(word) { + return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); + } \ No newline at end of file diff --git a/docs/src/components/Examples/Functions/format-name.js b/docs/src/components/Examples/Functions/format-name.js new file mode 100644 index 000000000..890275c9d --- /dev/null +++ b/docs/src/components/Examples/Functions/format-name.js @@ -0,0 +1,24 @@ +import capitalise from './capitalise' + +/** + * + * @param {String} name + * @returns Formats the Template Name + */ +export default function formatName(name){ + return name.includes('multiple') + ? + `${capitalise(name.split('-')[1])} ${capitalise(name.split('-')[0])}'s` + : + name + .split('-') + .map((str)=>( + str.replace('with','') + )) + .map((str)=>( + str.replace('framework','') + )) + .map((str)=>(capitalise(str))) + .join(' ') + .trim() +} \ No newline at end of file diff --git a/docs/src/components/Examples/Functions/get-examples-data.js b/docs/src/components/Examples/Functions/get-examples-data.js new file mode 100644 index 000000000..e206bab10 --- /dev/null +++ b/docs/src/components/Examples/Functions/get-examples-data.js @@ -0,0 +1,75 @@ +import glob from 'tiny-glob' +import fs from 'fs' + + +/** + * @returns list of templates's package.json from the examples folder + */ +async function getPkgJSON(){ + let data = [] + const paths = await glob('../examples/*/package.json',{filesOnly:true}) + paths.map((files)=>{ + let readFile = fs.readFileSync(files) + let json = JSON.parse(readFile) + return data.push({...json}) + }) + return data +} + +/** + * @returns list of templates readme from the examples folder + */ +async function getExamplesREADME(){ + let data = [] + const paths = await glob('../examples/*/README.md',{filesOnly:true}) + paths.map( (files)=>{ + const buffer = fs.readFileSync(files) + let text = buffer.toString() + let fileName = files.split('/')[2] + data.push({fileName,text}) + }) + return data +} + +/** + * @returns list of template data + */ +async function getTemplateData(){ + let data = [] + const pkgJSONS = await getPkgJSON() + pkgJSONS.map((pkg)=>{ + let {name} = pkg + name = name.replace('@example/','') + let obj = { + name, + pkgJSON: pkg, + readme:undefined, + } + data.push(obj) + }) + return data +} + + +/** + * + * @returns Array of Template objects, + */ +async function templateData() { + let readmeData = await getExamplesREADME() + let templateData = await getTemplateData() + let arr = templateData.map((obj,i)=>{ + let {name} = obj + readmeData.map((file)=>{ + let {fileName,text} = file + if(name === fileName) + obj.readme = text + }) + + return obj + }) + return arr +} + +export default templateData + diff --git a/docs/src/components/Examples/Functions/get-examples-headers.js b/docs/src/components/Examples/Functions/get-examples-headers.js new file mode 100644 index 000000000..9b75d2e5d --- /dev/null +++ b/docs/src/components/Examples/Functions/get-examples-headers.js @@ -0,0 +1,27 @@ +// import {templatesList as data} from './templatesList.ts' +import templateData from './get-examples-data.js' +const data = await templateData() +console.log(data) + +// const examplesHeaders = data.map(section=>{ +// let arr = [] +// let obj = { +// depth:2, +// slug:section.title, +// text:section.title, +// } +// arr.push(obj) + +// section.children.map(example=>{ +// let obj={ +// depth:3, +// slug:example.text, +// text:example.text, +// } +// arr.push(obj) +// }) +// return [...arr] +// }).flat(2) + + +// export default examplesHeaders \ No newline at end of file diff --git a/docs/src/components/Examples/Functions/get-hero-img.js b/docs/src/components/Examples/Functions/get-hero-img.js new file mode 100644 index 000000000..8ed1ac9b3 --- /dev/null +++ b/docs/src/components/Examples/Functions/get-hero-img.js @@ -0,0 +1,18 @@ +import fs from 'node:fs/promises' +import randomIndex from './random-index' + + +/** + * getHeroImg + * @returns url of random Hero Image from './public/images' + */ +export default async function getHeroImg(){ + try { + const data =[] + const paths =await fs.readdir('./public/images',{filesOnly:true}) + paths.map(path=>data.push(`/images/${path}`)) + return data[randomIndex(paths.length)] + } catch (error) { + console.log(error) + } +} diff --git a/docs/src/components/Examples/Functions/get-thumbnail-icon.js b/docs/src/components/Examples/Functions/get-thumbnail-icon.js new file mode 100644 index 000000000..21ae3b673 --- /dev/null +++ b/docs/src/components/Examples/Functions/get-thumbnail-icon.js @@ -0,0 +1,18 @@ +import fs from 'node:fs/promises' +import randomIndex from './random-index.js' + + +/** + * getThumbnailIcon + * @returns url of random Icon Image from './public/icons' + */ +export default async function getThumbnailIcon(){ + try { + const data =[] + const paths =await fs.readdir('./public/icons/space-icons-rounded-small',{filesOnly:true}) + paths.map(path=>data.push(`/icons/space-icons-rounded-small/${path}`)) + return data[randomIndex(paths.length)] + } catch (error) { + console.log(`Error Generating Thumbnail : ${error}`) + } +} diff --git a/docs/src/components/Examples/Functions/random-index.js b/docs/src/components/Examples/Functions/random-index.js new file mode 100644 index 000000000..a55487da5 --- /dev/null +++ b/docs/src/components/Examples/Functions/random-index.js @@ -0,0 +1,9 @@ +/** + * Random Index from Array + * @param {Number} length - Length of Array + * @returns Random Index from the Array + */ + +const randomIndex = (length) => Math.round(Math.random() * (0-length)) + length - 1 + +export default randomIndex \ No newline at end of file diff --git a/docs/src/components/Examples/Thumbnail.astro b/docs/src/components/Examples/Thumbnail.astro new file mode 100644 index 000000000..c4364396d --- /dev/null +++ b/docs/src/components/Examples/Thumbnail.astro @@ -0,0 +1,124 @@ +--- +import {Markdown} from 'astro/components' +import formatName from './function/format-name.js' +const {data:{name,pkgJSON:{description}}} = Astro.props +--- + + + + + + + +
+
+ +

{description}

+
--template {name}
+
+
+ + diff --git a/docs/src/components/Examples/card.scss b/docs/src/components/Examples/card.scss new file mode 100644 index 000000000..8debf2dd5 --- /dev/null +++ b/docs/src/components/Examples/card.scss @@ -0,0 +1,167 @@ +.card-wrapper { + width: clamp(215px, 48%, 45%); + border-radius: 60px 60px 100px 100px/60px 60px 20px 20px; + flex-grow: 1; + padding-bottom: 0.5rem; + background: var(--theme-card-bg); + box-shadow: var(--theme-card-box-shadow); + transition: all 0.25s cubic-bezier(0, 0, 0.75, 0.24); + &:hover{ + transform: translateY(-0.25rem); + } +} +.card { + position: relative; + width: 100%; + flex-basis: 1; +} +.card-body { + display: flex; + flex-wrap: wrap; + flex-direction: column; + align-items: center; + justify-content: center; + position: relative; + min-width: fit-content; + padding: 1rem; +} +.hotlinks { + display: flex; + flex-wrap: nowrap; + flex-direction: row; + align-content: center; + align-items: normal; + justify-content: space-between; + transform: translateY(-1rem); + + & .hot-btn { + border-left: 1px solid var(--theme-card-divider); + border-right: 1px solid var(--theme-card-divider); + border-radius: 0; + flex-basis: 1; + transition: all 0.25s ease-in-out; + cursor: pointer; + background-color: transparent; + & :active { + transform: scale(0.9); + } + & .hot-link { + } + & .hot-icon { + display: block; + color: var(--theme-accent); + width: 2rem; + height: 2rem; + } + } +} + +// .frosted-glass { +// display: block; +// height: 13rem; +// border-bottom: 5px solid linear-gradient(var(--theme-divider)); +// background: linear-gradient( +// 133deg, +// rgb(59 56 73 / 78%), +// transparent 70%, +// #000000d4 100% +// ); +// box-shadow: inset 5px -2px 7px 0px rgb(185 188 231 / 37%), +// 0px 8px 0px 0px var(--theme-divider); +// border-radius: 60px 60px 100px 100px / 60px 60px 20px 20px; +// width: 100%; + +// } +// .space-image { +// width: 100%; +// height: 13rem; +// filter: blur( 10px ); +// //width:100%; +// border-radius: 60px 60px 100px 100px / 60px 60px 20px 20px; +// //margin-bottom:1rem; +// position: relative; +// -webkit-filter: blur( 10px ); +// } + +.card-content { + display: flex; + flex-direction: column; + justify-content: space-around; + flex-wrap: nowrap; + align-content: space-around; + align-items: center; + transform: translateY(-3rem); + line-height: 1.5rem; + > * { + margin: 0.5rem; + border-radius: 60px 60px 20px 20px, 60px 60px 20px 20px; + } + .title { + display: block; + margin: 0; + width: fit-content; + margin: auto; + font-size: xx-large; + text-decoration: none; + } + .main-link { + text-decoration: none; + } +} +.card-avatar { + position: relative; + transform: translateY(-4rem); + left: 0; + border: 0.25rem solid var(--theme-divider); + display: block; + width: clamp(5rem, 8rem, 7rem); + height: clamp(5rem, 8rem, 7rem); + margin: 0; + border-radius: 50%; +} +.heroImg{ + display: block; + --hero-radius: 50px 50px 100px 100px / 60px 60px 20px 20px; + border-radius: var(--hero-radius); + width: 100%; + height:15rem; + box-shadow: inset 5px -2px 7px 0px rgb(185 188 231 / 37%), + 0px 8px 0px 0px var(--theme-divider); + border-radius: var(--hero-radius); + object-fit: cover; +} +.tooltip { + position: relative; + display: inline-block; + border-bottom: 1px dotted black; +} + +.tooltip .tooltip-text { + visibility: hidden; + width: 120px; + background-color: black; + color: #fff; + text-align: center; + border-radius: 6px; + padding: 5px 0; + position: absolute; + z-index: 1; + bottom: 150%; + left: 50%; + margin-left: -60px; +} + +.tooltip .tooltip-text::after { + content: ""; + position: absolute; + top: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: black transparent transparent transparent; +} + +.tooltip:hover .tooltip-text { + visibility: visible; +} \ No newline at end of file diff --git a/docs/src/components/Examples/templatesList.ts b/docs/src/components/Examples/templatesList.ts new file mode 100644 index 000000000..91f5083bd --- /dev/null +++ b/docs/src/components/Examples/templatesList.ts @@ -0,0 +1,151 @@ +export const templatesList=[ + { + category:"Templates", + title:"create-astro Templates", + + children:[ + { + text: "Starter Template", + github: "https://github.com/snowpackjs/astro/tree/main/examples/starter", + demo:"https://youtu.be/dQw4w9WgXcQ?t=42", + blurb:"Astro's Default Starter Project, an open-air sandbox. Letting you build your Astro Project as you see fit.", + command:"npm init astro my-astro-project -- --template starter" + }, + { + text: "Doc\'s", + github: "https://github.com/snowpackjs/astro/tree/main/examples/docs", + demo:"", + blurb:"Astro's Documentation Template, is an example of a Documentation site built using Astro.", + command:"npm init astro my-astro-project -- --template docs" + }, + { + text: "Blog", + github: "https://github.com/snowpackjs/astro/tree/main/examples/blog", + demo:"", + blurb:"Astro's Blog Template, is an example of a Blogging site built using Astro.", + command:"npm init astro my-astro-project -- --template blog" + }, + { + text: "Blog with Multiple Authors", + github: "https://github.com/snowpackjs/astro/tree/main/examples/blog-multiple-authors", + demo:"", + blurb:"Astro's Multiple Authors Blogging Template, is an example of a Blogging site for Multiple Authors built using Astro.", + command:"npm init astro my-astro-project -- --template blog" + }, + { + text: "Portfolio", + github: "https://github.com/snowpackjs/astro/tree/main/examples/portfolio", + demo:"", + blurb:"Astro's Portfolio Template, an example of a Portfolio site built using Astro.", + command:"npm init astro my-astro-project -- --template portfolio" + }, + ] + }, + { + category:"Framework's", + title:"UI Frameworks", + children:[ + { + text: "React + Astro", + github: "https://github.com/snowpackjs/astro/tree/main/examples/framework-react", + demo:"", + blurb:"An example on how to use React alongside Astro.", + command:"npm init astro my-astro-project -- --template framework-react" + }, + { + text: "Vue + Astro", + github: "https://github.com/snowpackjs/astro/tree/main/examples/framework-vue", + demo:"", + blurb:"An example on how to use Vue with Astro.", + command:"npm init astro my-astro-project -- --template framework-vue" + }, + { + text: "Svelte + Astro", + github: "https://github.com/snowpackjs/astro/tree/main/examples/framework-svelte", + demo:"", + blurb:"An example on how to use Svelte and Astro together.", + command:"npm init astro my-astro-project -- --template framework-svelte" + }, + { + text: "Preact + Astro", + github: "https://github.com/snowpackjs/astro/tree/main/examples/framework-preact", + demo:"", + blurb:"An example on how to use Preact along with Astro.", + command:"npm init astro my-astro-project -- --template framework-preact" + }, + { + text: "Solid + Astro", + github: "https://github.com/snowpackjs/astro/tree/main/examples/framework-solid", + demo:"", + blurb:"An example on how to use Solid together with Astro.", + command:"npm init astro my-astro-project -- --template framework-solid" + }, + { + text: "Lit + Astro", + github: "https://github.com/snowpackjs/astro/tree/main/examples/framework-lit", + demo:"", + blurb:"An example on how to use Lit together with Astro.", + command:"npm init astro my-astro-project -- --template framework-lit" + }, + { + text: "Multiple UI Frameworks Together As One, only with Astro", + github: "https://github.com/snowpackjs/astro/tree/main/examples/framework-multiple", + demo:"", + blurb:"Showcasing Astro's ability to utilise more than one framework at a time. \nHere we are demonstrating applying a combination of: React, Preact, Svelte & Vue Components all into one Astro project", + command:"npm init astro my-astro-project -- --template framework-multiple" + }, + + ] + }, + { + category:"Further Examples", + title:"Examples", + children:[ + { + text: "Astro with Markdown", + github: "https://github.com/snowpackjs/astro/tree/main/examples/with-markdown", + demo:"", + blurb:"An example on how to use Markdown inside an Astro project.", + command:"npm init astro my-astro-project -- --template with-markdown" + }, + { + text: "Astro with Markdown Plugins", + github: "https://github.com/snowpackjs/astro/tree/main/examples/with-markdown-plugins", + demo:"", + blurb:"An example on how to use the Markdown plugin: Rehype with Astro.", + command:"npm init astro my-astro-project -- --template with-markdown-plugins" + }, + { + text: "Astro with NanoStores", + github: "https://github.com/snowpackjs/astro/tree/main/examples/with-nanostores", + demo:"", + blurb:"An example on how share state between components from different frameworks inside Astro, using the excellent 'NanoStores' state utility package.", + command:"npm init astro my-astro-project -- --template with-nanostores" + }, + { + text: "Astro & TailwindCSS", + github: "https://github.com/snowpackjs/astro/tree/main/examples/with-tailwindcss", + demo:"", + blurb:"Astro comes with Tailwind support out of the box, this is an example of how TailwindCSS is used inside an Astro project.", + command:"npm init astro my-astro-project -- --template with-tailwindcss" + }, + + + ] + + }, + // { + // text:"Community Built Examples", + // children:[ + // // { + // // text: '', + // // github: '', + // // demo:"", + // // blurb:"", + // // command:"npm init astro my-astro-project -- --template" + // // }, + + // ] + + // }, +] \ No newline at end of file diff --git a/docs/src/layouts/ExamplesLayout.astro b/docs/src/layouts/ExamplesLayout.astro new file mode 100644 index 000000000..e1315b362 --- /dev/null +++ b/docs/src/layouts/ExamplesLayout.astro @@ -0,0 +1,129 @@ +--- +import HeadCommon from "../components/HeadCommon.astro"; +import HeadSEO from "../components/HeadSEO.astro"; +import Header from '../components/Header/Header.astro'; +import Footer from '../components/Footer/Footer.astro'; +import PageContent from '../components/PageContent/PageContent.astro'; +import LeftSidebar from '../components/LeftSidebar/LeftSidebar.astro'; +import MoreMenu from '../components/RightSidebar/MoreMenu.astro' +import { SITE } from "../config.ts"; +import ContainerQuery from '../components/ContainerQuery.astro' +const { content = {}, page= Astro.request.url.pathname } = Astro.props; +const currentPage =page; +// const currentFile = `src/pages${currentPage.replace(/\/$/, "")}.md`; +const githubEditUrl = `https://github.com/snowpackjs/astro/blob/main/docs/${page}`; +--- + + + + + + + {content.title ? `${content.title} 🚀 ${SITE.title}` : SITE.title} + + + + + +
+
+ +
+ +
+ +
+ + diff --git a/docs/src/pages/demo.astro b/docs/src/pages/demo.astro new file mode 100644 index 000000000..c60a9e05d --- /dev/null +++ b/docs/src/pages/demo.astro @@ -0,0 +1,14 @@ +--- +import Layout from '../layouts/ExamplesLayout.astro' +import templateData from '../components/Examples/function-generate-examples-data.js' +import Card from '../components/Examples/Card.astro' + +let data = await templateData() + +--- + + + {data.filter(item=> (item.pkgJSON?.keywords?.includes('create-astro'))) + .sort((a,b)=> ((a.name === 'starter')? -1 : 1)) + .map((item)=>())} + diff --git a/docs/src/pages/examples-and-templates.astro b/docs/src/pages/examples-and-templates.astro new file mode 100644 index 000000000..aff58a932 --- /dev/null +++ b/docs/src/pages/examples-and-templates.astro @@ -0,0 +1,33 @@ +--- + +import Layout from '../layouts/MainLayout.astro'; +import {Markdown} from 'astro/components' +import Examples from '../components/Examples/Examples.astro' + +import Thumbnail from '../components/Examples/Thumbnail.astro' +const githubEditUrl = "https://github.com/snowpackjs/astro/tree/main/docs/src/pages/examples-and-templates.astro" +const title = 'Examples & Templates' + + +--- + + + + + We encourage you to freely explore our collection of ready-made templates containing a multitude of examples on how to apply Astro to a variety of use-cases. i.e: various UI frameworks, State Management Tools, and of course TailwindCSS + + + + + + ## Community Templates + + Visit [Awesome-Astro](https://github.com/one-aalam/awesome-astro) for a full list of community examples. You can use `npm init astro` to check out any of the community examples + + ```bash + npm init astro -- --template [GITHUB_USER]/[REPO_NAME] + npm init astro -- --template [GITHUB_USER]/[REPO_NAME]/path/to/example + ``` + + + diff --git a/docs/src/pages/examples.astro b/docs/src/pages/examples.astro new file mode 100644 index 000000000..6128b2e20 --- /dev/null +++ b/docs/src/pages/examples.astro @@ -0,0 +1,87 @@ +--- +import Layout from '../layouts/ExamplesLayout.astro' +import Card from '../components/Examples/Card.astro' +import {Markdown} from 'astro/components' +import templateData from '../components/Examples/Functions/get-examples-data.js' +let data = await templateData() +let headers = {} +--- + + + # Examples & Templates + We encourage you to freely explore our collection of ready-made templates containing a multitude of examples on how to apply Astro to a variety of use-cases. i.e: various UI frameworks, State Management Tools, and of course TailwindCSS. + + + To use any one of our templates simply instruct `create-astro`by using: + + ```bash + npm init astro my-astro-project -- -- template [template] + ``` + + + ## `create-astro` Templates + + Below is a list of Astro's templates that are available directly through the [`create-astro`](/installation) install wizard. + +
+ {data.filter(item=> (item.pkgJSON?.keywords?.includes('create-astro'))) + .sort((a,b)=> ((a.name === 'starter')? -1 : 1)) + .map((item)=>())} +
+ + ## UI Frameworks + + Astro is always growing its support for the vast plethora of UI frameworks that exist within the JavaScript ecosystem. Below are demonstrations on how UI frameworks work inside Astro + +
+ {data.filter(item=> (item.pkgJSON?.keywords?.includes('framework'))) + .sort((a,b)=> (b.name > a.name) ? 1 : -1) + .sort((a,b)=> ((a.name === 'framework-multiple') ? 0 : -1)) + .map((item)=>())} +
+ + ## Kitchen Sink + + Here is a further set of examples that have been created by our developer team, to help our users with working examples on using Markdown with Astro. Support for plugins such as Nanostores and TailwindCSS + +
+ {data.filter(item=> (item.pkgJSON?.keywords?.includes('kitchen-sink'))) + .map((item)=>())} +
+ + + ## Community Templates + + Visit [Awesome-Astro](https://github.com/one-aalam/awesome-astro) for a full list of community examples. + + You can use `npm init astro` to pull down and utilise any of the wonderful community examples + + + + ```bash + npm init astro -- --template [GITHUB_USER]/[REPO_NAME] + npm init astro -- --template [GITHUB_USER]/[REPO_NAME]/path/to/example + ``` + +
+ diff --git a/docs/src/pages/examples.md b/docs/src/pages/examples.md deleted file mode 100644 index 17af0bb87..000000000 --- a/docs/src/pages/examples.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: ~/layouts/MainLayout.astro -title: Examples ---- - -If you prefer to learn by example, check out our [Examples Library](https://github.com/snowpackjs/astro/tree/main/examples) on GitHub. - - diff --git a/docs/src/pages/templates/[name].astro b/docs/src/pages/templates/[name].astro new file mode 100644 index 000000000..7ad18b6c3 --- /dev/null +++ b/docs/src/pages/templates/[name].astro @@ -0,0 +1,71 @@ +--- +import templateData from '../../components/Examples/Functions/get-examples-data.js' +export async function getStaticPaths() { + const data = await templateData() + return data.map((example)=>({ + params:{ + name: example.name + }, + props:{ + example + } + })); +} +const {name} = Astro.request.params +const {example} = Astro.props +let {name:title,pkgJSON,readme=""} = example +const {description, keywords} = pkgJSON + +import Layout from '../../layouts/ExamplesLayout.astro' +import capitalise from '../../components/Examples/Functions/capitalise.js' +import formatName from '../../components/Examples/Functions/format-name.js' +import {Markdown} from 'astro/components' +import CollapsibleReadme from '../../components/Examples/CollapsibleReadme.astro' +import getHeroImg from '../../components/Examples/Functions/get-hero-img.js' +const getImg = await getHeroImg() + +let templateTitle = formatName(title) +--- + +
+ +

{templateTitle} Template

+
+ + + ## Getting Started + + To start using the {templateTitle} template, enter the following into your terminal + +
npm init astro my-astro-project -- --template {name}
+ + +
+ +
+ +
+ \ No newline at end of file diff --git a/examples/blog-multiple-authors/README.md b/examples/blog-multiple-authors/README.md index 68f2e536b..39ae19683 100644 --- a/examples/blog-multiple-authors/README.md +++ b/examples/blog-multiple-authors/README.md @@ -1,8 +1,10 @@ # Astro Starter Kit: Blog with Multiple Authors -``` -npm init astro -- --template blog-multiple-authors -``` +Our Blog with Multiple Authors Template, is a working example of our Blog template being adapted to narrate the story of "Sancho Panza" and "Don Quixote". + +Here we display how you can use Astro to provide individual content for both Sancho Panza and Don Quixote. This is a great working example of our Collections API in action. + +We hope you enjoy this with a small Santeria, remember to build responsibly... > 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! @@ -18,23 +20,48 @@ Features: Inside of your Astro project, you'll see the following folders and files: ``` -/ ├── public/ -│ ├── robots.txt +│ ├── assets/ +│ ├── blog.scss +│ ├── global.scss +│ ├── social.png +│ ├── social.jpg │ └── favicon.ico ├── src/ │ ├── components/ -│ │ └── Tour.astro +│ │ └── MainHead.astro +│ │ └── Nav.astro +│ │ └── Pagination.astro +│ │ └── PostPreview.astro +│ └── layouts/ +│ │ └── post.astro │ └── pages/ +│ ├── posts/ +│ │ └── Series of Markdown files +│ └── $author.astro +│ └── $posts.astro +│ └── about.astro │ └── 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. +Files located within the public directory are static assets such as; stylesheets, images, fonts files etc. -There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. +Located within the `src/` directory is the `components/` `layout/` and `pages/` directories. -Any static assets, like images, can be placed in the `public/` directory. +The `src/components/` directory is where all you UI components are stored, this includes components from your framework of choice, whether they be: + +- Astro Components +- React +- Preact +- Solid +- Svelte Or Vue. + + You can visit our [Astro Components](https://docs.astro.build/core-concepts/astro-components) page for more information on creating your own components. + +Astro used [file-based routing](https://docs.astro.build/core-concepts/routing), this is done by having Astro look for `.astro` or `.md` files in the `src/pages/` directory. Each page is then exposed as a route based on its file name. + +To find out more about using [Pages with Astro](https://docs.astro.build/core-concepts/astro-pages) and how our file-based routing works. ## 🧞 Commands @@ -48,4 +75,8 @@ All commands are run from the root of the project, from a terminal: ## 👀 Want to learn more? -Feel free to check [our documentation](https://github.com/snowpackjs/astro) or jump into our [Discord server](https://astro.build/chat). +This Template can be used as a solid platform to get your own Blog site up and running with little effort as possible. Or as a educational demonstration. + +Regardless of your intentions, we simply wish for you to truly explore and learn how to get the most from Astro and this template has been created in such a way to allow you to do so. + +Feel free to check [our documentation](https://github.com/snowpackjs/astro) if you get stuck or jump into our [Discord server](https://astro.build/chat) to speak with other Astronauts. diff --git a/examples/blog-multiple-authors/package.json b/examples/blog-multiple-authors/package.json index 899294217..f52dca4af 100644 --- a/examples/blog-multiple-authors/package.json +++ b/examples/blog-multiple-authors/package.json @@ -2,6 +2,14 @@ "name": "@example/blog-multiple-authors", "version": "0.0.1", "private": true, + "description": "Use Case: Multiple Authors Blogging Site built using Astro", + "keywords": ["kitchen-sink","template","astro"], + "repository": { + "directory": "/examples/blog-multiple-authors", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, + "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/blog/README.md b/examples/blog/README.md index 09673cc3d..17657d99e 100644 --- a/examples/blog/README.md +++ b/examples/blog/README.md @@ -1,10 +1,8 @@ -# Astro Starter Kit: Blog +# Astro's Starter Kit: Blog -``` -npm init astro -- --template blog -``` +Welcome to Astro's Blog's Readme. This template is a straight forward way to launch your own Blogging site using Astro. We highly encourage you to explore the contents of this template and play about with it to make it your own. -> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! +> 🧑‍🚀 **Seasoned Astronaut?** Delete this file. Have fun! Features: @@ -17,24 +15,47 @@ Features: Inside of your Astro project, you'll see the following folders and files: -``` +```bash / ├── public/ -│ ├── robots.txt +│ ├── assets/ +│ ├── blog.scss +│ ├── global.scss +│ ├── social.png +│ ├── social.jpg │ └── favicon.ico ├── src/ │ ├── components/ -│ │ └── Tour.astro +│ │ └── Author.astro +│ │ └── BaseHead.astro +│ │ └── BlogHeader.astro +│ │ └── BlogPost.astro +│ │ └── BlogPostPreview.astro +│ │ └── Logo.astro +│ └── layouts/ +│ │ └── BlogPost.astro │ └── pages/ +│ ├── posts/ +│ │ └── introducing-astro.astro │ └── 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. +Files located within the public directory are static assets such as; stylesheets, images, fonts files etc. -There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. +Located within the `src/` directory is the `components/` `layout/` and `pages/` directories. -Any static assets, like images, can be placed in the `public/` directory. +The `src/components/` directory is where all you UI components are stored, this includes components from your framework of choice, whether they be: + +- Astro Components +- React +- Preact +- Solid +- Svelte Or Vue. + + You can visit our [Astro Components](https://docs.astro.build/core-concepts/astro-components) page for more information on creating your own components. + +Astro used file-based routing, this is done by having Astro look for `.astro` or `.md` files in the `src/pages/` directory. Each page is then exposed as a route based on its file name. To find out more about using [Pages with Astro](https://docs.astro.build/core-concepts/astro-pages) and how our file-based routing works. ## 🧞 Commands @@ -48,4 +69,8 @@ All commands are run from the root of the project, from a terminal: ## 👀 Want to learn more? -Feel free to check [our documentation](https://github.com/snowpackjs/astro) or jump into our [Discord server](https://astro.build/chat). +This Template can be used as a primary launch pad to get your own Blog site up and running with little effort as possible. Or as a educational demonstration. + +Regardless of your intentions, we simply wish for you to truly explore and learn how to get the most from Astro and this template has been created in such a way to allow you to do so. + +Feel free to check [our documentation](https://github.com/snowpackjs/astro) if you get stuck or jump into our [Discord server](https://astro.build/chat) to speak with other Astronauts. diff --git a/examples/blog/package.json b/examples/blog/package.json index e9ab01903..d6adae7a3 100644 --- a/examples/blog/package.json +++ b/examples/blog/package.json @@ -2,6 +2,13 @@ "name": "@example/blog", "version": "0.0.1", "private": true, + "description": "Blog Site built using Astro. Use this Template to setup your own Blog", + "keywords": ["create-astro","template","astro"], + "repository": { + "directory": "/examples/blog", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", @@ -14,4 +21,5 @@ "snowpack": { "workspaceRoot": "../.." } + } diff --git a/examples/blog/sandbox.config.json b/examples/blog/sandbox.config.json new file mode 100644 index 000000000..1027d5e6c --- /dev/null +++ b/examples/blog/sandbox.config.json @@ -0,0 +1,11 @@ +{ + "infiniteLoopProtection": true, + "hardReloadOnChange": false, + "view": "browser", + "template": "node", + "container": { + "port": 3000, + "startScript": "start", + "node": "14" + } +} \ No newline at end of file diff --git a/examples/docs/package.json b/examples/docs/package.json index fbe9a654c..e27eb942f 100644 --- a/examples/docs/package.json +++ b/examples/docs/package.json @@ -2,6 +2,14 @@ "name": "@example/docs", "version": "0.0.1", "private": true, + "description": "Documentation Site built using Astro. Our own Doc's site is based of this template!", + "keywords": ["create-astro","template","astro"], + "repository": { + "directory": "/examples/docs", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, + "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/framework-lit/package.json b/examples/framework-lit/package.json index 6af44efa6..e7c74b07d 100644 --- a/examples/framework-lit/package.json +++ b/examples/framework-lit/package.json @@ -2,6 +2,13 @@ "name": "@example/framework-lit", "version": "0.0.1", "private": true, + "description": "An example on how to use Lit's Web Components within Astro to build your site", + "keywords": ["framework","template","astro"], + "repository": { + "directory": "/examples/framework-lit", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/framework-multiple/package.json b/examples/framework-multiple/package.json index 1f5702cdb..c1876bf3f 100644 --- a/examples/framework-multiple/package.json +++ b/examples/framework-multiple/package.json @@ -2,6 +2,14 @@ "name": "@example/framework-multiple", "version": "0.0.1", "private": true, + "description": "A Demonstration of using Multiple UI Frameworks such as React, Svelte, Preact and Vue altogether with Astro", + "keywords": ["framework","astro","template"], + "repository": { + "directory": "/examples/framework-multiple", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, + "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/framework-preact/package.json b/examples/framework-preact/package.json index 0fc86c5e2..3bcbe6333 100644 --- a/examples/framework-preact/package.json +++ b/examples/framework-preact/package.json @@ -2,6 +2,13 @@ "name": "@example/framework-preact", "version": "0.0.1", "private": true, + "description": "A Demonstration on using Preact's ulta lightweight UI library to build your site with Astro", + "keywords": ["framework","template","astro"], + "repository": { + "directory": "/examples/framework-preact", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/framework-react/package.json b/examples/framework-react/package.json index e5a04e40e..7efc36238 100644 --- a/examples/framework-react/package.json +++ b/examples/framework-react/package.json @@ -2,6 +2,14 @@ "name": "@example/framework-react", "version": "0.0.1", "private": true, + "description": "Explore how to using the powerful React Library to develop components within Astro", + "keywords": ["framework","template","astro"], + "repository": { + "directory": "/examples/framework-react", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, + "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/framework-solid/package.json b/examples/framework-solid/package.json index b4c45c7cb..ade13dcf7 100644 --- a/examples/framework-solid/package.json +++ b/examples/framework-solid/package.json @@ -1,7 +1,14 @@ { "name": "@example/framework-solid", - "version": "0.0.1", + "keywords": ["framework","template","astro"], "private": true, + "version": "0.0.1", + "description": "See how to seamlessly use Solid UI to develop Web Components within Astro", + "repository": { + "directory": "/examples/framework-solid", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/framework-svelte/package.json b/examples/framework-svelte/package.json index 603284e4b..0c8ee1c8b 100644 --- a/examples/framework-svelte/package.json +++ b/examples/framework-svelte/package.json @@ -2,6 +2,13 @@ "name": "@example/framework-svelte", "version": "0.0.1", "private": true, + "description": "See how we combined the power of Svelte alongside Astro ", + "keywords": ["framework","template","astro"], + "repository": { + "directory": "/examples/framework-svelte", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/framework-vue/package.json b/examples/framework-vue/package.json index a95bf238b..a444531c0 100644 --- a/examples/framework-vue/package.json +++ b/examples/framework-vue/package.json @@ -1,7 +1,14 @@ { "name": "@example/framework-vue", "version": "0.0.1", + "keywords": ["framework","template","astro"], "private": true, + "description": "View our demonstration where we use Vue to create UI components for Astro", + "repository": { + "directory": "/examples/framework-vue", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/minimal/package.json b/examples/minimal/package.json index 07aae9a93..3b7d2f0ab 100644 --- a/examples/minimal/package.json +++ b/examples/minimal/package.json @@ -2,6 +2,13 @@ "name": "@example/minimal", "version": "0.0.1", "private": true, + "description": "Minimalistic Astro Starter kit", + "keywords": ["create-astro","template","astro"], + "repository": { + "directory": "/examples/minimal", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/portfolio/package.json b/examples/portfolio/package.json index 1920350eb..6e2f03b78 100644 --- a/examples/portfolio/package.json +++ b/examples/portfolio/package.json @@ -2,6 +2,13 @@ "name": "@example/portfolio", "version": "0.0.1", "private": true, + "description": "Astro's official Portfolio Template. For truly impressive portfolios its best built with Astro", + "keywords": ["create-astro","template","astro"], + "repository": { + "directory": "/examples/portfolio", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/snowpack/package.json b/examples/snowpack/package.json index 25e05b64d..817eeda56 100644 --- a/examples/snowpack/package.json +++ b/examples/snowpack/package.json @@ -2,6 +2,13 @@ "name": "@example/snowpack", "version": "0.0.1", "private": true, + "description": "Astro's First Template, everything has a beginning, and this for Astro's templates, was our 'Hello World'", + "keywords": ["kitchen-sink","template","astro"], + "repository": { + "directory": "/examples/snowpack", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "start": "astro dev", "build": "astro build", diff --git a/examples/starter/package.json b/examples/starter/package.json index 52f4d889a..b6b133185 100644 --- a/examples/starter/package.json +++ b/examples/starter/package.json @@ -2,6 +2,12 @@ "name": "@example/starter", "version": "0.0.1", "private": true, + "description": "Astro's default template. This starter template is a perfect launchpad for your Astro project", + "keywords": ["create-astro","template","astro"], + "repository": { + "directory": "/examples/starter", + "type": "github" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/with-markdown-plugins/package.json b/examples/with-markdown-plugins/package.json index 5145f9922..67e65e85b 100644 --- a/examples/with-markdown-plugins/package.json +++ b/examples/with-markdown-plugins/package.json @@ -2,6 +2,13 @@ "name": "@example/with-markdown-plugins", "version": "0.0.2", "private": true, + "description": "Using Markdown along with Rehype and Remark Plugins with Astro", + "keywords": ["kitchen-sink","template","astro"], + "repository": { + "directory": "/examples/with-markdown-plugins", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/with-markdown/package.json b/examples/with-markdown/package.json index daa03363f..a47797574 100644 --- a/examples/with-markdown/package.json +++ b/examples/with-markdown/package.json @@ -1,7 +1,14 @@ { "name": "@example/with-markdown", + "description": "A demonstration on using Markdown with Astro", "version": "0.0.1", "private": true, + "keywords": ["kitchen-sink","template","astro"], + "repository": { + "directory": "/examples/with-markdown", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/with-nanostores/package.json b/examples/with-nanostores/package.json index e79b570dc..8e4f2d488 100644 --- a/examples/with-nanostores/package.json +++ b/examples/with-nanostores/package.json @@ -2,6 +2,13 @@ "name": "@example/with-nanostores", "version": "0.0.1", "private": true, + "description": "A working example on using the aptly named Nanostores State Management plugin with Astro", + "keywords": ["kitchen-sink","template","astro"], + "repository": { + "directory": "/examples/with-nanostores", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/examples/with-tailwindcss/package.json b/examples/with-tailwindcss/package.json index d0d681b72..1882c5651 100644 --- a/examples/with-tailwindcss/package.json +++ b/examples/with-tailwindcss/package.json @@ -2,6 +2,13 @@ "name": "@example/with-tailwindcss", "version": "0.0.1", "private": true, + "description": "Astro has native TailwindCSS support out-of-the-box. This template demonstrates how to use Tailwind to style your Astro project", + "keywords": ["kitchen-sink","template","astro"], + "repository": { + "directory": "/examples/with-tailwindcss", + "type": "github", + "url": "https://github.com/snowpackjs/astro/tree/main" + }, "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/packages/create-astro/create-astro.mjs b/packages/create-astro/create-astro.mjs old mode 100755 new mode 100644 index 975b921dc..56919b42e --- a/packages/create-astro/create-astro.mjs +++ b/packages/create-astro/create-astro.mjs @@ -1,14 +1,14 @@ -#!/usr/bin/env node -'use strict'; - -const currentVersion = process.versions.node; -const requiredMajorVersion = parseInt(currentVersion.split('.')[0], 10); -const minimumMajorVersion = 12; - -if (requiredMajorVersion < minimumMajorVersion) { - console.error(`Node.js v${currentVersion} is out of date and unsupported!`); - console.error(`Please use Node.js v${minimumMajorVersion} or higher.`); - process.exit(1); -} - -import('./dist/index.js').then(({ main }) => main()); +#!/usr/bin/env node +'use strict'; + +const currentVersion = process.versions.node; +const requiredMajorVersion = parseInt(currentVersion.split('.')[0], 10); +const minimumMajorVersion = 12; + +if (requiredMajorVersion < minimumMajorVersion) { + console.error(`Node.js v${currentVersion} is out of date and unsupported!`); + console.error(`Please use Node.js v${minimumMajorVersion} or higher.`); + process.exit(1); +} + +import('./dist/index.js').then(({ main }) => main()); diff --git a/scripts/index.js b/scripts/index.js old mode 100755 new mode 100644 index 7908b112c..0b6577966 --- a/scripts/index.js +++ b/scripts/index.js @@ -1,19 +1,19 @@ -#!/usr/bin/env node -export default async function run() { - const [cmd, ...args] = process.argv.slice(2); - switch (cmd) { - case 'dev': - case 'build': { - const { default: build } = await import('./cmd/build.js'); - await build(...args, cmd === 'dev' ? 'IS_DEV' : undefined); - break; - } - case 'copy': { - const { default: copy } = await import('./cmd/copy.js'); - await copy(...args); - break; - } - } -} - -run(); +#!/usr/bin/env node +export default async function run() { + const [cmd, ...args] = process.argv.slice(2); + switch (cmd) { + case 'dev': + case 'build': { + const { default: build } = await import('./cmd/build.js'); + await build(...args, cmd === 'dev' ? 'IS_DEV' : undefined); + break; + } + case 'copy': { + const { default: copy } = await import('./cmd/copy.js'); + await copy(...args); + break; + } + } +} + +run();