diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index eb61a6fef..276ebcbf6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -40,11 +40,3 @@ In order to create a new snippet, you should follow the steps below: - Always use soft tabs (2 spaces), never hard tabs. - Leave a single space after a comma (`,`) character (both in the description and code). - Define multiple variables on the same line, if possible. Use meaningful names (e.g. `letter` instead of `lt`) and follow existing conventions as seen in other snippets. Do not use trailing or leading underscores in variable names. -- Use ES6 notation to define your snippet's function. For example `const myFunction = ( arg1, arg2 ) => { }`. Format your code based on [Semi-Standard Style](https://github.com/Flet/semistandard)'s format guidelines. -- Always use single quotes for string literals. Use template literals, instead, if necessary. -- Use strict equality checking (`===` and `!==` instead of `==` and `!=`). -- When describing snippets, refer to methods, using their full name. For example, use `Array.prototype.reduce()`, instead of `reduce()`. -- Do not include arguments in method references. For example, use `String.prototype.split()` instead of `String.prototype.split('\n')`. -- When referring to constructors, use the prototype's name. For example, use `Array` instead of `new Array()`. -- Use variables only when necessary. Prefer `const` when the values are not altered after assignment, otherwise, use `let`. Do not use `var`. -- Never use `eval()`. Your snippet will be disqualified immediately. diff --git a/README.md b/README.md index d3c5cc65a..148cde6a1 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ * Visit [our website](https://30secondsofcode.org) to view our snippet collection. * Use the [Search page](https://30secondsofcode.org/search) to find snippets that suit your needs. You can search by name, tag, language or using a snippet's description. Just start typing a term and see what comes up. -* Browse the [JavaScript Snippet collection](https://30secondsofcode.org/js/p/1) to see all the snippets in this project or click individual tags at the top of the same page to narrow down your search to a specific tag. +* Browse the [Snippet collection](https://30secondsofcode.org/list/p/1) to see all the snippets in this project or click individual tags at the top of the same page to narrow down your search to a specific tag. * Click on each snippet card to view the whole snippet, including code, explanation and examples. * You can use the button at the bottom of a snippet card to copy the code to clipboard. * If you like the project, give it a star. It means a lot to the people maintaining it. @@ -14,7 +14,7 @@ ## Want to contribute? * If you want to help us improve, take a minute to read the [Contribution Guidelines](/CONTRIBUTING.md) first. -* Use the [Snippet Template](/snippet-template.md) to add new snippets to the collection. +* Use the relevant `snippet-template.md` to add new snippets to each collection. * If you find a problem with a specific snippet, please [open an issue](https://github.com/30-seconds/30-seconds-of-code/issues/new). * If you find a problem with the website, please [report it in the web repository](https://github.com/30-seconds/30-seconds-web/issues/new). @@ -23,4 +23,4 @@ * This repository is maintained by the [30 seconds of code organization on GitHub](https://github.com/30-seconds). * All snippets are licensed under the CC-BY-4.0 License, unless explicitly stated otherwise. * Logos, names and trademarks are not to be used without the explicit consent of the owners of the 30 seconds of code GitHub organization. -* Our website is powered by [Netlify](https://www.netlify.com/), [Next.js](https://nextjs.org/) & [GitHub](https://github.com/). +* Our website is powered by [Netlify](https://www.netlify.com/), [Astro](https://astro.build/) & [GitHub](https://github.com/). diff --git a/assets/cover/accessibility.jpg b/assets/cover/accessibility.jpg new file mode 100644 index 000000000..5f5129208 Binary files /dev/null and b/assets/cover/accessibility.jpg differ diff --git a/assets/cover/aerial-view-port.jpg b/assets/cover/aerial-view-port.jpg new file mode 100644 index 000000000..d7f9979c1 Binary files /dev/null and b/assets/cover/aerial-view-port.jpg differ diff --git a/assets/cover/alfama.jpg b/assets/cover/alfama.jpg new file mode 100644 index 000000000..376785ee8 Binary files /dev/null and b/assets/cover/alfama.jpg differ diff --git a/assets/cover/ancient-greek-building.jpg b/assets/cover/ancient-greek-building.jpg new file mode 100644 index 000000000..4b73067b1 Binary files /dev/null and b/assets/cover/ancient-greek-building.jpg differ diff --git a/assets/cover/antelope.jpg b/assets/cover/antelope.jpg new file mode 100644 index 000000000..ba22bc908 Binary files /dev/null and b/assets/cover/antelope.jpg differ diff --git a/assets/cover/apples.jpg b/assets/cover/apples.jpg new file mode 100644 index 000000000..631419e3d Binary files /dev/null and b/assets/cover/apples.jpg differ diff --git a/assets/cover/architectural.jpg b/assets/cover/architectural.jpg new file mode 100644 index 000000000..7b1ff4500 Binary files /dev/null and b/assets/cover/architectural.jpg differ diff --git a/assets/cover/armchair-in-yellow.jpg b/assets/cover/armchair-in-yellow.jpg new file mode 100644 index 000000000..999d253b2 Binary files /dev/null and b/assets/cover/armchair-in-yellow.jpg differ diff --git a/assets/cover/armchair.jpg b/assets/cover/armchair.jpg new file mode 100644 index 000000000..2451ecadb Binary files /dev/null and b/assets/cover/armchair.jpg differ diff --git a/assets/cover/arrays.jpg b/assets/cover/arrays.jpg new file mode 100644 index 000000000..dd31966df Binary files /dev/null and b/assets/cover/arrays.jpg differ diff --git a/assets/cover/arrow-functions.jpg b/assets/cover/arrow-functions.jpg new file mode 100644 index 000000000..e716b15bb Binary files /dev/null and b/assets/cover/arrow-functions.jpg differ diff --git a/assets/cover/automaton.jpg b/assets/cover/automaton.jpg new file mode 100644 index 000000000..38601c5d0 Binary files /dev/null and b/assets/cover/automaton.jpg differ diff --git a/assets/cover/avocado-slices.jpg b/assets/cover/avocado-slices.jpg new file mode 100644 index 000000000..3d87a2d7f Binary files /dev/null and b/assets/cover/avocado-slices.jpg differ diff --git a/assets/cover/bag-waiting.jpg b/assets/cover/bag-waiting.jpg new file mode 100644 index 000000000..ad78d965a Binary files /dev/null and b/assets/cover/bag-waiting.jpg differ diff --git a/assets/cover/balloons.jpg b/assets/cover/balloons.jpg new file mode 100644 index 000000000..aaea3d050 Binary files /dev/null and b/assets/cover/balloons.jpg differ diff --git a/assets/cover/baloons-field.jpg b/assets/cover/baloons-field.jpg new file mode 100644 index 000000000..ce15d3a97 Binary files /dev/null and b/assets/cover/baloons-field.jpg differ diff --git a/assets/cover/bamboo-lamp.jpg b/assets/cover/bamboo-lamp.jpg new file mode 100644 index 000000000..e1d7d5804 Binary files /dev/null and b/assets/cover/bamboo-lamp.jpg differ diff --git a/assets/cover/basket-paper.jpg b/assets/cover/basket-paper.jpg new file mode 100644 index 000000000..59a9d94ab Binary files /dev/null and b/assets/cover/basket-paper.jpg differ diff --git a/assets/cover/beach-from-above.jpg b/assets/cover/beach-from-above.jpg new file mode 100644 index 000000000..bb659e545 Binary files /dev/null and b/assets/cover/beach-from-above.jpg differ diff --git a/assets/cover/beach-pineapple.jpg b/assets/cover/beach-pineapple.jpg new file mode 100644 index 000000000..62e3802ac Binary files /dev/null and b/assets/cover/beach-pineapple.jpg differ diff --git a/assets/cover/beach-riders.jpg b/assets/cover/beach-riders.jpg new file mode 100644 index 000000000..300aa115a Binary files /dev/null and b/assets/cover/beach-riders.jpg differ diff --git a/assets/cover/birds.jpg b/assets/cover/birds.jpg new file mode 100644 index 000000000..2e9f303c8 Binary files /dev/null and b/assets/cover/birds.jpg differ diff --git a/assets/cover/blank-card.jpg b/assets/cover/blank-card.jpg new file mode 100644 index 000000000..9f6bbd33d Binary files /dev/null and b/assets/cover/blank-card.jpg differ diff --git a/assets/cover/blue-bench.jpg b/assets/cover/blue-bench.jpg new file mode 100644 index 000000000..0bd568a57 Binary files /dev/null and b/assets/cover/blue-bench.jpg differ diff --git a/assets/cover/blue-bird.jpg b/assets/cover/blue-bird.jpg new file mode 100644 index 000000000..ec9d313f7 Binary files /dev/null and b/assets/cover/blue-bird.jpg differ diff --git a/assets/cover/blue-computer.jpg b/assets/cover/blue-computer.jpg new file mode 100644 index 000000000..91218ae87 Binary files /dev/null and b/assets/cover/blue-computer.jpg differ diff --git a/assets/cover/blue-flower.jpg b/assets/cover/blue-flower.jpg new file mode 100644 index 000000000..0c56696e5 Binary files /dev/null and b/assets/cover/blue-flower.jpg differ diff --git a/assets/cover/blue-lake.jpg b/assets/cover/blue-lake.jpg new file mode 100644 index 000000000..0ff9db2e7 Binary files /dev/null and b/assets/cover/blue-lake.jpg differ diff --git a/assets/cover/blue-red-mountain.jpg b/assets/cover/blue-red-mountain.jpg new file mode 100644 index 000000000..1cfe2d99e Binary files /dev/null and b/assets/cover/blue-red-mountain.jpg differ diff --git a/assets/cover/blue-sunrise.jpg b/assets/cover/blue-sunrise.jpg new file mode 100644 index 000000000..efd982305 Binary files /dev/null and b/assets/cover/blue-sunrise.jpg differ diff --git a/assets/cover/boat-port.jpg b/assets/cover/boat-port.jpg new file mode 100644 index 000000000..675ce6746 Binary files /dev/null and b/assets/cover/boat-port.jpg differ diff --git a/assets/cover/boats.jpg b/assets/cover/boats.jpg new file mode 100644 index 000000000..6b324d323 Binary files /dev/null and b/assets/cover/boats.jpg differ diff --git a/assets/cover/body-of-water.jpg b/assets/cover/body-of-water.jpg new file mode 100644 index 000000000..795316c29 Binary files /dev/null and b/assets/cover/body-of-water.jpg differ diff --git a/assets/cover/book-chair.jpg b/assets/cover/book-chair.jpg new file mode 100644 index 000000000..f6f864fb7 Binary files /dev/null and b/assets/cover/book-chair.jpg differ diff --git a/assets/cover/book-stopper.jpg b/assets/cover/book-stopper.jpg new file mode 100644 index 000000000..b4bfec8ed Binary files /dev/null and b/assets/cover/book-stopper.jpg differ diff --git a/assets/cover/boulder-beach.jpg b/assets/cover/boulder-beach.jpg new file mode 100644 index 000000000..ced51b8b4 Binary files /dev/null and b/assets/cover/boulder-beach.jpg differ diff --git a/assets/cover/boutique-home-office-1.jpg b/assets/cover/boutique-home-office-1.jpg new file mode 100644 index 000000000..ac6e5a58d Binary files /dev/null and b/assets/cover/boutique-home-office-1.jpg differ diff --git a/assets/cover/boutique-home-office-2.jpg b/assets/cover/boutique-home-office-2.jpg new file mode 100644 index 000000000..abf216d7d Binary files /dev/null and b/assets/cover/boutique-home-office-2.jpg differ diff --git a/assets/cover/boutique-home-office-3.jpg b/assets/cover/boutique-home-office-3.jpg new file mode 100644 index 000000000..dc307a056 Binary files /dev/null and b/assets/cover/boutique-home-office-3.jpg differ diff --git a/assets/cover/boutique-home-office-4.jpg b/assets/cover/boutique-home-office-4.jpg new file mode 100644 index 000000000..d21b0bb89 Binary files /dev/null and b/assets/cover/boutique-home-office-4.jpg differ diff --git a/assets/cover/bridge-drop.jpg b/assets/cover/bridge-drop.jpg new file mode 100644 index 000000000..aac3073f6 Binary files /dev/null and b/assets/cover/bridge-drop.jpg differ diff --git a/assets/cover/bridge.jpg b/assets/cover/bridge.jpg new file mode 100644 index 000000000..c39d28d39 Binary files /dev/null and b/assets/cover/bridge.jpg differ diff --git a/assets/cover/broken-screen.jpg b/assets/cover/broken-screen.jpg new file mode 100644 index 000000000..405b58081 Binary files /dev/null and b/assets/cover/broken-screen.jpg differ diff --git a/assets/cover/brown-bird.jpg b/assets/cover/brown-bird.jpg new file mode 100644 index 000000000..c3c17609a Binary files /dev/null and b/assets/cover/brown-bird.jpg differ diff --git a/assets/cover/budapest-palace.jpg b/assets/cover/budapest-palace.jpg new file mode 100644 index 000000000..c5b3ff3bb Binary files /dev/null and b/assets/cover/budapest-palace.jpg differ diff --git a/assets/cover/bug.jpg b/assets/cover/bug.jpg new file mode 100644 index 000000000..81126fdec Binary files /dev/null and b/assets/cover/bug.jpg differ diff --git a/assets/cover/building-blocks.jpg b/assets/cover/building-blocks.jpg new file mode 100644 index 000000000..b2e551e3d Binary files /dev/null and b/assets/cover/building-blocks.jpg differ diff --git a/assets/cover/building-facade.jpg b/assets/cover/building-facade.jpg new file mode 100644 index 000000000..b1e4ebc49 Binary files /dev/null and b/assets/cover/building-facade.jpg differ diff --git a/assets/cover/bunny-poster.jpg b/assets/cover/bunny-poster.jpg new file mode 100644 index 000000000..ce44eea2d Binary files /dev/null and b/assets/cover/bunny-poster.jpg differ diff --git a/assets/cover/by-the-lighthouse.jpg b/assets/cover/by-the-lighthouse.jpg new file mode 100644 index 000000000..e228228ed Binary files /dev/null and b/assets/cover/by-the-lighthouse.jpg differ diff --git a/assets/cover/camera-zoom.jpg b/assets/cover/camera-zoom.jpg new file mode 100644 index 000000000..303384a4a Binary files /dev/null and b/assets/cover/camera-zoom.jpg differ diff --git a/assets/cover/campfire.jpg b/assets/cover/campfire.jpg new file mode 100644 index 000000000..b3ad405ca Binary files /dev/null and b/assets/cover/campfire.jpg differ diff --git a/assets/cover/cancel-typographer.jpg b/assets/cover/cancel-typographer.jpg new file mode 100644 index 000000000..de2ea4c1d Binary files /dev/null and b/assets/cover/cancel-typographer.jpg differ diff --git a/assets/cover/canoe.jpg b/assets/cover/canoe.jpg new file mode 100644 index 000000000..58556a170 Binary files /dev/null and b/assets/cover/canoe.jpg differ diff --git a/assets/cover/capsule-coffee.jpg b/assets/cover/capsule-coffee.jpg new file mode 100644 index 000000000..2e30ead72 Binary files /dev/null and b/assets/cover/capsule-coffee.jpg differ diff --git a/assets/cover/carrots.jpg b/assets/cover/carrots.jpg new file mode 100644 index 000000000..11ce3d64a Binary files /dev/null and b/assets/cover/carrots.jpg differ diff --git a/assets/cover/case-study.jpg b/assets/cover/case-study.jpg new file mode 100644 index 000000000..2260d1b41 Binary files /dev/null and b/assets/cover/case-study.jpg differ diff --git a/assets/cover/cave-view.jpg b/assets/cover/cave-view.jpg new file mode 100644 index 000000000..3f3c61e36 Binary files /dev/null and b/assets/cover/cave-view.jpg differ diff --git a/assets/cover/cherry-trees.jpg b/assets/cover/cherry-trees.jpg new file mode 100644 index 000000000..f724b2f5d Binary files /dev/null and b/assets/cover/cherry-trees.jpg differ diff --git a/assets/cover/chess-pawns.jpg b/assets/cover/chess-pawns.jpg new file mode 100644 index 000000000..301496100 Binary files /dev/null and b/assets/cover/chess-pawns.jpg differ diff --git a/assets/cover/chill-surfing.jpg b/assets/cover/chill-surfing.jpg new file mode 100644 index 000000000..6ccb98b1e Binary files /dev/null and b/assets/cover/chill-surfing.jpg differ diff --git a/assets/cover/citrus-drink.jpg b/assets/cover/citrus-drink.jpg new file mode 100644 index 000000000..40c11575b Binary files /dev/null and b/assets/cover/citrus-drink.jpg differ diff --git a/assets/cover/city-view.jpg b/assets/cover/city-view.jpg new file mode 100644 index 000000000..bae59854d Binary files /dev/null and b/assets/cover/city-view.jpg differ diff --git a/assets/cover/clay-pot-horizon.jpg b/assets/cover/clay-pot-horizon.jpg new file mode 100644 index 000000000..81f0fe274 Binary files /dev/null and b/assets/cover/clay-pot-horizon.jpg differ diff --git a/assets/cover/clock.jpg b/assets/cover/clock.jpg new file mode 100644 index 000000000..ce1fc88ab Binary files /dev/null and b/assets/cover/clock.jpg differ diff --git a/assets/cover/clouds-n-mountains.jpg b/assets/cover/clouds-n-mountains.jpg new file mode 100644 index 000000000..4b881ff81 Binary files /dev/null and b/assets/cover/clouds-n-mountains.jpg differ diff --git a/assets/cover/clouds-over-mountains.jpg b/assets/cover/clouds-over-mountains.jpg new file mode 100644 index 000000000..451325f3a Binary files /dev/null and b/assets/cover/clouds-over-mountains.jpg differ diff --git a/assets/cover/cloudy-mountaintop-2.jpg b/assets/cover/cloudy-mountaintop-2.jpg new file mode 100644 index 000000000..8b7129584 Binary files /dev/null and b/assets/cover/cloudy-mountaintop-2.jpg differ diff --git a/assets/cover/cloudy-mountaintop.jpg b/assets/cover/cloudy-mountaintop.jpg new file mode 100644 index 000000000..a856610d3 Binary files /dev/null and b/assets/cover/cloudy-mountaintop.jpg differ diff --git a/assets/cover/cloudy-rock-formation.jpg b/assets/cover/cloudy-rock-formation.jpg new file mode 100644 index 000000000..db28daf21 Binary files /dev/null and b/assets/cover/cloudy-rock-formation.jpg differ diff --git a/assets/cover/clutter-2.jpg b/assets/cover/clutter-2.jpg new file mode 100644 index 000000000..b6633a79f Binary files /dev/null and b/assets/cover/clutter-2.jpg differ diff --git a/assets/cover/clutter.jpg b/assets/cover/clutter.jpg new file mode 100644 index 000000000..7c96c26da Binary files /dev/null and b/assets/cover/clutter.jpg differ diff --git a/assets/cover/cobbled-street.jpg b/assets/cover/cobbled-street.jpg new file mode 100644 index 000000000..4296a8b94 Binary files /dev/null and b/assets/cover/cobbled-street.jpg differ diff --git a/assets/cover/coconuts.jpg b/assets/cover/coconuts.jpg new file mode 100644 index 000000000..cec1b66a7 Binary files /dev/null and b/assets/cover/coconuts.jpg differ diff --git a/assets/cover/coffee-drip.jpg b/assets/cover/coffee-drip.jpg new file mode 100644 index 000000000..5636ccdf9 Binary files /dev/null and b/assets/cover/coffee-drip.jpg differ diff --git a/assets/cover/coffee-float.jpg b/assets/cover/coffee-float.jpg new file mode 100644 index 000000000..51ed14272 Binary files /dev/null and b/assets/cover/coffee-float.jpg differ diff --git a/assets/cover/coffee-phone-tray-2.jpg b/assets/cover/coffee-phone-tray-2.jpg new file mode 100644 index 000000000..bed3364c3 Binary files /dev/null and b/assets/cover/coffee-phone-tray-2.jpg differ diff --git a/assets/cover/coffee-phone-tray-3.jpg b/assets/cover/coffee-phone-tray-3.jpg new file mode 100644 index 000000000..d65df1d5c Binary files /dev/null and b/assets/cover/coffee-phone-tray-3.jpg differ diff --git a/assets/cover/coffee-phone-tray.jpg b/assets/cover/coffee-phone-tray.jpg new file mode 100644 index 000000000..f1bd788bf Binary files /dev/null and b/assets/cover/coffee-phone-tray.jpg differ diff --git a/assets/cover/cold-mountains.jpg b/assets/cover/cold-mountains.jpg new file mode 100644 index 000000000..7065cf8c8 Binary files /dev/null and b/assets/cover/cold-mountains.jpg differ diff --git a/assets/cover/colorful-lounge.jpg b/assets/cover/colorful-lounge.jpg new file mode 100644 index 000000000..000f4e14e Binary files /dev/null and b/assets/cover/colorful-lounge.jpg differ diff --git a/assets/cover/colorful-plastic.jpg b/assets/cover/colorful-plastic.jpg new file mode 100644 index 000000000..bf42bac6d Binary files /dev/null and b/assets/cover/colorful-plastic.jpg differ diff --git a/assets/cover/colorful-pots.jpg b/assets/cover/colorful-pots.jpg new file mode 100644 index 000000000..0ca2bd986 Binary files /dev/null and b/assets/cover/colorful-pots.jpg differ diff --git a/assets/cover/colorful-rocks.jpg b/assets/cover/colorful-rocks.jpg new file mode 100644 index 000000000..c2a954597 Binary files /dev/null and b/assets/cover/colorful-rocks.jpg differ diff --git a/assets/cover/colors-mural.jpg b/assets/cover/colors-mural.jpg new file mode 100644 index 000000000..7a49ff11a Binary files /dev/null and b/assets/cover/colors-mural.jpg differ diff --git a/assets/cover/comic-glasses.jpg b/assets/cover/comic-glasses.jpg new file mode 100644 index 000000000..c670509f4 Binary files /dev/null and b/assets/cover/comic-glasses.jpg differ diff --git a/assets/cover/compass.jpg b/assets/cover/compass.jpg new file mode 100644 index 000000000..1970d4c40 Binary files /dev/null and b/assets/cover/compass.jpg differ diff --git a/assets/cover/computer-screens.jpg b/assets/cover/computer-screens.jpg new file mode 100644 index 000000000..5436b56f4 Binary files /dev/null and b/assets/cover/computer-screens.jpg differ diff --git a/assets/cover/contemporary-desk.jpg b/assets/cover/contemporary-desk.jpg new file mode 100644 index 000000000..595aa4e50 Binary files /dev/null and b/assets/cover/contemporary-desk.jpg differ diff --git a/assets/cover/couch-laptop.jpg b/assets/cover/couch-laptop.jpg new file mode 100644 index 000000000..1ed34c9d1 Binary files /dev/null and b/assets/cover/couch-laptop.jpg differ diff --git a/assets/cover/coworking-space.jpg b/assets/cover/coworking-space.jpg new file mode 100644 index 000000000..d00f6f28a Binary files /dev/null and b/assets/cover/coworking-space.jpg differ diff --git a/assets/cover/cows.jpg b/assets/cover/cows.jpg new file mode 100644 index 000000000..d6e89e2f8 Binary files /dev/null and b/assets/cover/cows.jpg differ diff --git a/assets/cover/cozy-desk-setup.jpg b/assets/cover/cozy-desk-setup.jpg new file mode 100644 index 000000000..d454a0e14 Binary files /dev/null and b/assets/cover/cozy-desk-setup.jpg differ diff --git a/assets/cover/css-variables.jpg b/assets/cover/css-variables.jpg new file mode 100644 index 000000000..2f6ae2acd Binary files /dev/null and b/assets/cover/css-variables.jpg differ diff --git a/assets/cover/cup-of-orange.jpg b/assets/cover/cup-of-orange.jpg new file mode 100644 index 000000000..33acc88d3 Binary files /dev/null and b/assets/cover/cup-of-orange.jpg differ diff --git a/assets/cover/curve.jpg b/assets/cover/curve.jpg new file mode 100644 index 000000000..694a89121 Binary files /dev/null and b/assets/cover/curve.jpg differ diff --git a/assets/cover/customs.jpg b/assets/cover/customs.jpg new file mode 100644 index 000000000..38be54ba1 Binary files /dev/null and b/assets/cover/customs.jpg differ diff --git a/assets/cover/dark-city.jpg b/assets/cover/dark-city.jpg new file mode 100644 index 000000000..acc24e7ee Binary files /dev/null and b/assets/cover/dark-city.jpg differ diff --git a/assets/cover/dark-cloud.jpg b/assets/cover/dark-cloud.jpg new file mode 100644 index 000000000..a9521a05a Binary files /dev/null and b/assets/cover/dark-cloud.jpg differ diff --git a/assets/cover/dark-leaves-2.jpg b/assets/cover/dark-leaves-2.jpg new file mode 100644 index 000000000..e6b450c3d Binary files /dev/null and b/assets/cover/dark-leaves-2.jpg differ diff --git a/assets/cover/dark-leaves-3.jpg b/assets/cover/dark-leaves-3.jpg new file mode 100644 index 000000000..c01bd5709 Binary files /dev/null and b/assets/cover/dark-leaves-3.jpg differ diff --git a/assets/cover/dark-leaves-4.jpg b/assets/cover/dark-leaves-4.jpg new file mode 100644 index 000000000..d4ce22b7d Binary files /dev/null and b/assets/cover/dark-leaves-4.jpg differ diff --git a/assets/cover/dark-leaves-5.jpg b/assets/cover/dark-leaves-5.jpg new file mode 100644 index 000000000..05cecdee8 Binary files /dev/null and b/assets/cover/dark-leaves-5.jpg differ diff --git a/assets/cover/dark-leaves-6.jpg b/assets/cover/dark-leaves-6.jpg new file mode 100644 index 000000000..6768c98dc Binary files /dev/null and b/assets/cover/dark-leaves-6.jpg differ diff --git a/assets/cover/dark-leaves.jpg b/assets/cover/dark-leaves.jpg new file mode 100644 index 000000000..82aa2cef9 Binary files /dev/null and b/assets/cover/dark-leaves.jpg differ diff --git a/assets/cover/dark-mode.jpg b/assets/cover/dark-mode.jpg new file mode 100644 index 000000000..7e220e552 Binary files /dev/null and b/assets/cover/dark-mode.jpg differ diff --git a/assets/cover/digital-nomad-10.jpg b/assets/cover/digital-nomad-10.jpg new file mode 100644 index 000000000..6be24d206 Binary files /dev/null and b/assets/cover/digital-nomad-10.jpg differ diff --git a/assets/cover/digital-nomad-11.jpg b/assets/cover/digital-nomad-11.jpg new file mode 100644 index 000000000..28c126ce4 Binary files /dev/null and b/assets/cover/digital-nomad-11.jpg differ diff --git a/assets/cover/digital-nomad-12.jpg b/assets/cover/digital-nomad-12.jpg new file mode 100644 index 000000000..e1ecc045a Binary files /dev/null and b/assets/cover/digital-nomad-12.jpg differ diff --git a/assets/cover/digital-nomad-13.jpg b/assets/cover/digital-nomad-13.jpg new file mode 100644 index 000000000..54517abb8 Binary files /dev/null and b/assets/cover/digital-nomad-13.jpg differ diff --git a/assets/cover/digital-nomad-14.jpg b/assets/cover/digital-nomad-14.jpg new file mode 100644 index 000000000..617e39f11 Binary files /dev/null and b/assets/cover/digital-nomad-14.jpg differ diff --git a/assets/cover/digital-nomad-15.jpg b/assets/cover/digital-nomad-15.jpg new file mode 100644 index 000000000..6a82a2581 Binary files /dev/null and b/assets/cover/digital-nomad-15.jpg differ diff --git a/assets/cover/digital-nomad-16.jpg b/assets/cover/digital-nomad-16.jpg new file mode 100644 index 000000000..fd22f1951 Binary files /dev/null and b/assets/cover/digital-nomad-16.jpg differ diff --git a/assets/cover/digital-nomad-2.jpg b/assets/cover/digital-nomad-2.jpg new file mode 100644 index 000000000..8410f3e74 Binary files /dev/null and b/assets/cover/digital-nomad-2.jpg differ diff --git a/assets/cover/digital-nomad-3.jpg b/assets/cover/digital-nomad-3.jpg new file mode 100644 index 000000000..d3bacb55a Binary files /dev/null and b/assets/cover/digital-nomad-3.jpg differ diff --git a/assets/cover/digital-nomad-4.jpg b/assets/cover/digital-nomad-4.jpg new file mode 100644 index 000000000..1fe1e604c Binary files /dev/null and b/assets/cover/digital-nomad-4.jpg differ diff --git a/assets/cover/digital-nomad-5.jpg b/assets/cover/digital-nomad-5.jpg new file mode 100644 index 000000000..2b9cb50d3 Binary files /dev/null and b/assets/cover/digital-nomad-5.jpg differ diff --git a/assets/cover/digital-nomad-6.jpg b/assets/cover/digital-nomad-6.jpg new file mode 100644 index 000000000..b35085235 Binary files /dev/null and b/assets/cover/digital-nomad-6.jpg differ diff --git a/assets/cover/digital-nomad-7.jpg b/assets/cover/digital-nomad-7.jpg new file mode 100644 index 000000000..d1ec9e9e0 Binary files /dev/null and b/assets/cover/digital-nomad-7.jpg differ diff --git a/assets/cover/digital-nomad-8.jpg b/assets/cover/digital-nomad-8.jpg new file mode 100644 index 000000000..5a14b810f Binary files /dev/null and b/assets/cover/digital-nomad-8.jpg differ diff --git a/assets/cover/digital-nomad-9.jpg b/assets/cover/digital-nomad-9.jpg new file mode 100644 index 000000000..2b73ed6a7 Binary files /dev/null and b/assets/cover/digital-nomad-9.jpg differ diff --git a/assets/cover/digital-nomad.jpg b/assets/cover/digital-nomad.jpg new file mode 100644 index 000000000..c3e5d930d Binary files /dev/null and b/assets/cover/digital-nomad.jpg differ diff --git a/assets/cover/do-more-computer.jpg b/assets/cover/do-more-computer.jpg new file mode 100644 index 000000000..a800f46a1 Binary files /dev/null and b/assets/cover/do-more-computer.jpg differ diff --git a/assets/cover/dog-waiting.jpg b/assets/cover/dog-waiting.jpg new file mode 100644 index 000000000..8648564c6 Binary files /dev/null and b/assets/cover/dog-waiting.jpg differ diff --git a/assets/cover/down-the-stream.jpg b/assets/cover/down-the-stream.jpg new file mode 100644 index 000000000..a0c4eac65 Binary files /dev/null and b/assets/cover/down-the-stream.jpg differ diff --git a/assets/cover/dreamy-flowers.jpg b/assets/cover/dreamy-flowers.jpg new file mode 100644 index 000000000..beed9a1bf Binary files /dev/null and b/assets/cover/dreamy-flowers.jpg differ diff --git a/assets/cover/duck-plants.jpg b/assets/cover/duck-plants.jpg new file mode 100644 index 000000000..36eeb2184 Binary files /dev/null and b/assets/cover/duck-plants.jpg differ diff --git a/assets/cover/dying-flowers.jpg b/assets/cover/dying-flowers.jpg new file mode 100644 index 000000000..ac5935a59 Binary files /dev/null and b/assets/cover/dying-flowers.jpg differ diff --git a/assets/cover/eagle.jpg b/assets/cover/eagle.jpg new file mode 100644 index 000000000..01380d79e Binary files /dev/null and b/assets/cover/eagle.jpg differ diff --git a/assets/cover/engine.jpg b/assets/cover/engine.jpg new file mode 100644 index 000000000..bb7a38614 Binary files /dev/null and b/assets/cover/engine.jpg differ diff --git a/assets/cover/fallen-leaves.jpg b/assets/cover/fallen-leaves.jpg new file mode 100644 index 000000000..2de535dfb Binary files /dev/null and b/assets/cover/fallen-leaves.jpg differ diff --git a/assets/cover/feathers.jpg b/assets/cover/feathers.jpg new file mode 100644 index 000000000..06ca2857d Binary files /dev/null and b/assets/cover/feathers.jpg differ diff --git a/assets/cover/filter-coffee-pot.jpg b/assets/cover/filter-coffee-pot.jpg new file mode 100644 index 000000000..a60774fa3 Binary files /dev/null and b/assets/cover/filter-coffee-pot.jpg differ diff --git a/assets/cover/fishermen.jpg b/assets/cover/fishermen.jpg new file mode 100644 index 000000000..af217b6e5 Binary files /dev/null and b/assets/cover/fishermen.jpg differ diff --git a/assets/cover/flower-camera.jpg b/assets/cover/flower-camera.jpg new file mode 100644 index 000000000..799d9a695 Binary files /dev/null and b/assets/cover/flower-camera.jpg differ diff --git a/assets/cover/flower-pond.jpg b/assets/cover/flower-pond.jpg new file mode 100644 index 000000000..95df15ccc Binary files /dev/null and b/assets/cover/flower-pond.jpg differ diff --git a/assets/cover/flower-portrait-1.jpg b/assets/cover/flower-portrait-1.jpg new file mode 100644 index 000000000..ebb366802 Binary files /dev/null and b/assets/cover/flower-portrait-1.jpg differ diff --git a/assets/cover/flower-portrait-10.jpg b/assets/cover/flower-portrait-10.jpg new file mode 100644 index 000000000..576381ecd Binary files /dev/null and b/assets/cover/flower-portrait-10.jpg differ diff --git a/assets/cover/flower-portrait-2.jpg b/assets/cover/flower-portrait-2.jpg new file mode 100644 index 000000000..eb29e5b97 Binary files /dev/null and b/assets/cover/flower-portrait-2.jpg differ diff --git a/assets/cover/flower-portrait-3.jpg b/assets/cover/flower-portrait-3.jpg new file mode 100644 index 000000000..fabda383c Binary files /dev/null and b/assets/cover/flower-portrait-3.jpg differ diff --git a/assets/cover/flower-portrait-4.jpg b/assets/cover/flower-portrait-4.jpg new file mode 100644 index 000000000..12f7ba6d3 Binary files /dev/null and b/assets/cover/flower-portrait-4.jpg differ diff --git a/assets/cover/flower-portrait-5.jpg b/assets/cover/flower-portrait-5.jpg new file mode 100644 index 000000000..1b98e2c7a Binary files /dev/null and b/assets/cover/flower-portrait-5.jpg differ diff --git a/assets/cover/flower-portrait-6.jpg b/assets/cover/flower-portrait-6.jpg new file mode 100644 index 000000000..3969c5fb3 Binary files /dev/null and b/assets/cover/flower-portrait-6.jpg differ diff --git a/assets/cover/flower-portrait-7.jpg b/assets/cover/flower-portrait-7.jpg new file mode 100644 index 000000000..d35be687d Binary files /dev/null and b/assets/cover/flower-portrait-7.jpg differ diff --git a/assets/cover/flower-portrait-8.jpg b/assets/cover/flower-portrait-8.jpg new file mode 100644 index 000000000..351138911 Binary files /dev/null and b/assets/cover/flower-portrait-8.jpg differ diff --git a/assets/cover/flower-portrait-9.jpg b/assets/cover/flower-portrait-9.jpg new file mode 100644 index 000000000..25e44a6c7 Binary files /dev/null and b/assets/cover/flower-portrait-9.jpg differ diff --git a/assets/cover/flower-shape-sunset.jpg b/assets/cover/flower-shape-sunset.jpg new file mode 100644 index 000000000..820803304 Binary files /dev/null and b/assets/cover/flower-shape-sunset.jpg differ diff --git a/assets/cover/flower-vase.jpg b/assets/cover/flower-vase.jpg new file mode 100644 index 000000000..8443421f9 Binary files /dev/null and b/assets/cover/flower-vase.jpg differ diff --git a/assets/cover/flowering-hills.jpg b/assets/cover/flowering-hills.jpg new file mode 100644 index 000000000..4545643a3 Binary files /dev/null and b/assets/cover/flowering-hills.jpg differ diff --git a/assets/cover/folded-map.jpg b/assets/cover/folded-map.jpg new file mode 100644 index 000000000..b10127cc9 Binary files /dev/null and b/assets/cover/folded-map.jpg differ diff --git a/assets/cover/forest-balcony.jpg b/assets/cover/forest-balcony.jpg new file mode 100644 index 000000000..5dbc3861f Binary files /dev/null and b/assets/cover/forest-balcony.jpg differ diff --git a/assets/cover/fort-lamp.jpg b/assets/cover/fort-lamp.jpg new file mode 100644 index 000000000..1701d39b5 Binary files /dev/null and b/assets/cover/fort-lamp.jpg differ diff --git a/assets/cover/frames.jpg b/assets/cover/frames.jpg new file mode 100644 index 000000000..1ac3f6443 Binary files /dev/null and b/assets/cover/frames.jpg differ diff --git a/assets/cover/frog-blue-flower.jpg b/assets/cover/frog-blue-flower.jpg new file mode 100644 index 000000000..bc9540d8b Binary files /dev/null and b/assets/cover/frog-blue-flower.jpg differ diff --git a/assets/cover/frozen-globe.jpg b/assets/cover/frozen-globe.jpg new file mode 100644 index 000000000..1b78b3f28 Binary files /dev/null and b/assets/cover/frozen-globe.jpg differ diff --git a/assets/cover/fruit-feast.jpg b/assets/cover/fruit-feast.jpg new file mode 100644 index 000000000..812e582b0 Binary files /dev/null and b/assets/cover/fruit-feast.jpg differ diff --git a/assets/cover/generator.jpg b/assets/cover/generator.jpg new file mode 100644 index 000000000..03f7d7266 Binary files /dev/null and b/assets/cover/generator.jpg differ diff --git a/assets/cover/glass-blowing.jpg b/assets/cover/glass-blowing.jpg new file mode 100644 index 000000000..d032e6b85 Binary files /dev/null and b/assets/cover/glass-blowing.jpg differ diff --git a/assets/cover/goat-wooden-cottage.jpg b/assets/cover/goat-wooden-cottage.jpg new file mode 100644 index 000000000..8a6ef9c97 Binary files /dev/null and b/assets/cover/goat-wooden-cottage.jpg differ diff --git a/assets/cover/godray-computer-mug.jpg b/assets/cover/godray-computer-mug.jpg new file mode 100644 index 000000000..baab370cb Binary files /dev/null and b/assets/cover/godray-computer-mug.jpg differ diff --git a/assets/cover/gold-typewriter.jpg b/assets/cover/gold-typewriter.jpg new file mode 100644 index 000000000..5d0d59aac Binary files /dev/null and b/assets/cover/gold-typewriter.jpg differ diff --git a/assets/cover/golden-gate-bridge.jpg b/assets/cover/golden-gate-bridge.jpg new file mode 100644 index 000000000..b553e5c94 Binary files /dev/null and b/assets/cover/golden-gate-bridge.jpg differ diff --git a/assets/cover/greek-coffee.jpg b/assets/cover/greek-coffee.jpg new file mode 100644 index 000000000..e883ef828 Binary files /dev/null and b/assets/cover/greek-coffee.jpg differ diff --git a/assets/cover/green-cabin-cow.jpg b/assets/cover/green-cabin-cow.jpg new file mode 100644 index 000000000..02664555b Binary files /dev/null and b/assets/cover/green-cabin-cow.jpg differ diff --git a/assets/cover/green-css.jpg b/assets/cover/green-css.jpg new file mode 100644 index 000000000..c4a69f4b9 Binary files /dev/null and b/assets/cover/green-css.jpg differ diff --git a/assets/cover/green-plant.jpg b/assets/cover/green-plant.jpg new file mode 100644 index 000000000..a999e8d9b Binary files /dev/null and b/assets/cover/green-plant.jpg differ diff --git a/assets/cover/guitar-living-room.jpg b/assets/cover/guitar-living-room.jpg new file mode 100644 index 000000000..53ef71321 Binary files /dev/null and b/assets/cover/guitar-living-room.jpg differ diff --git a/assets/cover/half-trees.jpg b/assets/cover/half-trees.jpg new file mode 100644 index 000000000..07f9a5c77 Binary files /dev/null and b/assets/cover/half-trees.jpg differ diff --git a/assets/cover/hard-disk.jpg b/assets/cover/hard-disk.jpg new file mode 100644 index 000000000..f17dab868 Binary files /dev/null and b/assets/cover/hard-disk.jpg differ diff --git a/assets/cover/highlands.jpg b/assets/cover/highlands.jpg new file mode 100644 index 000000000..88b3a5852 Binary files /dev/null and b/assets/cover/highlands.jpg differ diff --git a/assets/cover/horse-sunset.jpg b/assets/cover/horse-sunset.jpg new file mode 100644 index 000000000..c71422d0e Binary files /dev/null and b/assets/cover/horse-sunset.jpg differ diff --git a/assets/cover/houses-rock-sea.jpg b/assets/cover/houses-rock-sea.jpg new file mode 100644 index 000000000..ec1fa2f85 Binary files /dev/null and b/assets/cover/houses-rock-sea.jpg differ diff --git a/assets/cover/ice.jpg b/assets/cover/ice.jpg new file mode 100644 index 000000000..e48f779cd Binary files /dev/null and b/assets/cover/ice.jpg differ diff --git a/assets/cover/icebreaker.jpg b/assets/cover/icebreaker.jpg new file mode 100644 index 000000000..80fd1cb4b Binary files /dev/null and b/assets/cover/icebreaker.jpg differ diff --git a/assets/cover/industrial-tokyo.jpg b/assets/cover/industrial-tokyo.jpg new file mode 100644 index 000000000..302ed47b7 Binary files /dev/null and b/assets/cover/industrial-tokyo.jpg differ diff --git a/assets/cover/inside-weather.jpg b/assets/cover/inside-weather.jpg new file mode 100644 index 000000000..76de59b1d Binary files /dev/null and b/assets/cover/inside-weather.jpg differ diff --git a/assets/cover/interior-10.jpg b/assets/cover/interior-10.jpg new file mode 100644 index 000000000..3e566c1e6 Binary files /dev/null and b/assets/cover/interior-10.jpg differ diff --git a/assets/cover/interior-11.jpg b/assets/cover/interior-11.jpg new file mode 100644 index 000000000..68baa9d7a Binary files /dev/null and b/assets/cover/interior-11.jpg differ diff --git a/assets/cover/interior-12.jpg b/assets/cover/interior-12.jpg new file mode 100644 index 000000000..7b7082259 Binary files /dev/null and b/assets/cover/interior-12.jpg differ diff --git a/assets/cover/interior-13.jpg b/assets/cover/interior-13.jpg new file mode 100644 index 000000000..48772d1db Binary files /dev/null and b/assets/cover/interior-13.jpg differ diff --git a/assets/cover/interior-14.jpg b/assets/cover/interior-14.jpg new file mode 100644 index 000000000..f3876edc5 Binary files /dev/null and b/assets/cover/interior-14.jpg differ diff --git a/assets/cover/interior-15.jpg b/assets/cover/interior-15.jpg new file mode 100644 index 000000000..7dbe4681c Binary files /dev/null and b/assets/cover/interior-15.jpg differ diff --git a/assets/cover/interior-16.jpg b/assets/cover/interior-16.jpg new file mode 100644 index 000000000..18f2c3ef9 Binary files /dev/null and b/assets/cover/interior-16.jpg differ diff --git a/assets/cover/interior-2.jpg b/assets/cover/interior-2.jpg new file mode 100644 index 000000000..66c16ef37 Binary files /dev/null and b/assets/cover/interior-2.jpg differ diff --git a/assets/cover/interior-3.jpg b/assets/cover/interior-3.jpg new file mode 100644 index 000000000..6a5d00bb2 Binary files /dev/null and b/assets/cover/interior-3.jpg differ diff --git a/assets/cover/interior-4.jpg b/assets/cover/interior-4.jpg new file mode 100644 index 000000000..fcd9af8f2 Binary files /dev/null and b/assets/cover/interior-4.jpg differ diff --git a/assets/cover/interior-5.jpg b/assets/cover/interior-5.jpg new file mode 100644 index 000000000..4b15361f8 Binary files /dev/null and b/assets/cover/interior-5.jpg differ diff --git a/assets/cover/interior-6.jpg b/assets/cover/interior-6.jpg new file mode 100644 index 000000000..00e025d82 Binary files /dev/null and b/assets/cover/interior-6.jpg differ diff --git a/assets/cover/interior-7.jpg b/assets/cover/interior-7.jpg new file mode 100644 index 000000000..a312c0191 Binary files /dev/null and b/assets/cover/interior-7.jpg differ diff --git a/assets/cover/interior-8.jpg b/assets/cover/interior-8.jpg new file mode 100644 index 000000000..d0eba7018 Binary files /dev/null and b/assets/cover/interior-8.jpg differ diff --git a/assets/cover/interior-9.jpg b/assets/cover/interior-9.jpg new file mode 100644 index 000000000..78b9a953c Binary files /dev/null and b/assets/cover/interior-9.jpg differ diff --git a/assets/cover/interior.jpg b/assets/cover/interior.jpg new file mode 100644 index 000000000..13aee2335 Binary files /dev/null and b/assets/cover/interior.jpg differ diff --git a/assets/cover/island-corridor.jpg b/assets/cover/island-corridor.jpg new file mode 100644 index 000000000..f2969425d Binary files /dev/null and b/assets/cover/island-corridor.jpg differ diff --git a/assets/cover/italian-horizon.jpg b/assets/cover/italian-horizon.jpg new file mode 100644 index 000000000..81f3c7a86 Binary files /dev/null and b/assets/cover/italian-horizon.jpg differ diff --git a/assets/cover/jars-on-shelf-2.jpg b/assets/cover/jars-on-shelf-2.jpg new file mode 100644 index 000000000..573693b29 Binary files /dev/null and b/assets/cover/jars-on-shelf-2.jpg differ diff --git a/assets/cover/jars-on-shelf.jpg b/assets/cover/jars-on-shelf.jpg new file mode 100644 index 000000000..702adaa6e Binary files /dev/null and b/assets/cover/jars-on-shelf.jpg differ diff --git a/assets/cover/kettle-laptop.jpg b/assets/cover/kettle-laptop.jpg new file mode 100644 index 000000000..fa93f4fca Binary files /dev/null and b/assets/cover/kettle-laptop.jpg differ diff --git a/assets/cover/keyboard-tea.jpg b/assets/cover/keyboard-tea.jpg new file mode 100644 index 000000000..60b4ee48d Binary files /dev/null and b/assets/cover/keyboard-tea.jpg differ diff --git a/assets/cover/keyboard.jpg b/assets/cover/keyboard.jpg new file mode 100644 index 000000000..0c0335bdb Binary files /dev/null and b/assets/cover/keyboard.jpg differ diff --git a/assets/cover/lake-bench.jpg b/assets/cover/lake-bench.jpg new file mode 100644 index 000000000..5528ded9d Binary files /dev/null and b/assets/cover/lake-bench.jpg differ diff --git a/assets/cover/lake-church.jpg b/assets/cover/lake-church.jpg new file mode 100644 index 000000000..33a0d6363 Binary files /dev/null and b/assets/cover/lake-church.jpg differ diff --git a/assets/cover/lake-loop.jpg b/assets/cover/lake-loop.jpg new file mode 100644 index 000000000..4079baf37 Binary files /dev/null and b/assets/cover/lake-loop.jpg differ diff --git a/assets/cover/lake-runner.jpg b/assets/cover/lake-runner.jpg new file mode 100644 index 000000000..d5b604599 Binary files /dev/null and b/assets/cover/lake-runner.jpg differ diff --git a/assets/cover/lake-trees.jpg b/assets/cover/lake-trees.jpg new file mode 100644 index 000000000..46575d02b Binary files /dev/null and b/assets/cover/lake-trees.jpg differ diff --git a/assets/cover/laptop-journey.jpg b/assets/cover/laptop-journey.jpg new file mode 100644 index 000000000..b9ffe7936 Binary files /dev/null and b/assets/cover/laptop-journey.jpg differ diff --git a/assets/cover/laptop-plants-2.jpg b/assets/cover/laptop-plants-2.jpg new file mode 100644 index 000000000..6f49948f4 Binary files /dev/null and b/assets/cover/laptop-plants-2.jpg differ diff --git a/assets/cover/laptop-plants.jpg b/assets/cover/laptop-plants.jpg new file mode 100644 index 000000000..083951e80 Binary files /dev/null and b/assets/cover/laptop-plants.jpg differ diff --git a/assets/cover/laptop-view.jpg b/assets/cover/laptop-view.jpg new file mode 100644 index 000000000..fdc93f679 Binary files /dev/null and b/assets/cover/laptop-view.jpg differ diff --git a/assets/cover/laptop-with-code.jpg b/assets/cover/laptop-with-code.jpg new file mode 100644 index 000000000..aa1007878 Binary files /dev/null and b/assets/cover/laptop-with-code.jpg differ diff --git a/assets/cover/last-light.jpg b/assets/cover/last-light.jpg new file mode 100644 index 000000000..0e347990a Binary files /dev/null and b/assets/cover/last-light.jpg differ diff --git a/assets/cover/lavender-shelf.jpg b/assets/cover/lavender-shelf.jpg new file mode 100644 index 000000000..e67722e1a Binary files /dev/null and b/assets/cover/lavender-shelf.jpg differ diff --git a/assets/cover/leafy-screens.jpg b/assets/cover/leafy-screens.jpg new file mode 100644 index 000000000..8eef4caaa Binary files /dev/null and b/assets/cover/leafy-screens.jpg differ diff --git a/assets/cover/leaves-read.jpg b/assets/cover/leaves-read.jpg new file mode 100644 index 000000000..38eb857e2 Binary files /dev/null and b/assets/cover/leaves-read.jpg differ diff --git a/assets/cover/light-leaves.jpg b/assets/cover/light-leaves.jpg new file mode 100644 index 000000000..47ef5e6a8 Binary files /dev/null and b/assets/cover/light-leaves.jpg differ diff --git a/assets/cover/light-ring.jpg b/assets/cover/light-ring.jpg new file mode 100644 index 000000000..58481f006 Binary files /dev/null and b/assets/cover/light-ring.jpg differ diff --git a/assets/cover/lighthouse.jpg b/assets/cover/lighthouse.jpg new file mode 100644 index 000000000..02aa7fb29 Binary files /dev/null and b/assets/cover/lighthouse.jpg differ diff --git a/assets/cover/little-bird.jpg b/assets/cover/little-bird.jpg new file mode 100644 index 000000000..0fbf1845b Binary files /dev/null and b/assets/cover/little-bird.jpg differ diff --git a/assets/cover/little-tree.jpg b/assets/cover/little-tree.jpg new file mode 100644 index 000000000..988844298 Binary files /dev/null and b/assets/cover/little-tree.jpg differ diff --git a/assets/cover/little-white-flowers.jpg b/assets/cover/little-white-flowers.jpg new file mode 100644 index 000000000..56c8a2491 Binary files /dev/null and b/assets/cover/little-white-flowers.jpg differ diff --git a/assets/cover/locked-tablet.jpg b/assets/cover/locked-tablet.jpg new file mode 100644 index 000000000..73b5e3b7c Binary files /dev/null and b/assets/cover/locked-tablet.jpg differ diff --git a/assets/cover/mac-and-coffee.jpg b/assets/cover/mac-and-coffee.jpg new file mode 100644 index 000000000..ace3c94f8 Binary files /dev/null and b/assets/cover/mac-and-coffee.jpg differ diff --git a/assets/cover/malibu.jpg b/assets/cover/malibu.jpg new file mode 100644 index 000000000..163939815 Binary files /dev/null and b/assets/cover/malibu.jpg differ diff --git a/assets/cover/man-cup-laptop.jpg b/assets/cover/man-cup-laptop.jpg new file mode 100644 index 000000000..90a302498 Binary files /dev/null and b/assets/cover/man-cup-laptop.jpg differ diff --git a/assets/cover/man-red-sunset.jpg b/assets/cover/man-red-sunset.jpg new file mode 100644 index 000000000..a342ab292 Binary files /dev/null and b/assets/cover/man-red-sunset.jpg differ diff --git a/assets/cover/maple-leaf-palette.jpg b/assets/cover/maple-leaf-palette.jpg new file mode 100644 index 000000000..c48194878 Binary files /dev/null and b/assets/cover/maple-leaf-palette.jpg differ diff --git a/assets/cover/mask-quiet.jpg b/assets/cover/mask-quiet.jpg new file mode 100644 index 000000000..49bf5d6e7 Binary files /dev/null and b/assets/cover/mask-quiet.jpg differ diff --git a/assets/cover/matrix-flow.jpg b/assets/cover/matrix-flow.jpg new file mode 100644 index 000000000..cac6612c6 Binary files /dev/null and b/assets/cover/matrix-flow.jpg differ diff --git a/assets/cover/measuring.jpg b/assets/cover/measuring.jpg new file mode 100644 index 000000000..cb88c9279 Binary files /dev/null and b/assets/cover/measuring.jpg differ diff --git a/assets/cover/memories-of-pineapple-1.jpg b/assets/cover/memories-of-pineapple-1.jpg new file mode 100644 index 000000000..937aa5536 Binary files /dev/null and b/assets/cover/memories-of-pineapple-1.jpg differ diff --git a/assets/cover/memories-of-pineapple-2.jpg b/assets/cover/memories-of-pineapple-2.jpg new file mode 100644 index 000000000..970ebae04 Binary files /dev/null and b/assets/cover/memories-of-pineapple-2.jpg differ diff --git a/assets/cover/memories-of-pineapple-3.jpg b/assets/cover/memories-of-pineapple-3.jpg new file mode 100644 index 000000000..92bcb48fd Binary files /dev/null and b/assets/cover/memories-of-pineapple-3.jpg differ diff --git a/assets/cover/messy-computer.jpg b/assets/cover/messy-computer.jpg new file mode 100644 index 000000000..7735a588c Binary files /dev/null and b/assets/cover/messy-computer.jpg differ diff --git a/assets/cover/messy-papers.jpg b/assets/cover/messy-papers.jpg new file mode 100644 index 000000000..aaada0e01 Binary files /dev/null and b/assets/cover/messy-papers.jpg differ diff --git a/assets/cover/meteora.jpg b/assets/cover/meteora.jpg new file mode 100644 index 000000000..cbbb5a0cf Binary files /dev/null and b/assets/cover/meteora.jpg differ diff --git a/assets/cover/metro-arrival.jpg b/assets/cover/metro-arrival.jpg new file mode 100644 index 000000000..fc1b4f275 Binary files /dev/null and b/assets/cover/metro-arrival.jpg differ diff --git a/assets/cover/metro-tunnel.jpg b/assets/cover/metro-tunnel.jpg new file mode 100644 index 000000000..1803f6aa1 Binary files /dev/null and b/assets/cover/metro-tunnel.jpg differ diff --git a/assets/cover/misty-mountains.jpg b/assets/cover/misty-mountains.jpg new file mode 100644 index 000000000..0d5724325 Binary files /dev/null and b/assets/cover/misty-mountains.jpg differ diff --git a/assets/cover/mountain-lake-2.jpg b/assets/cover/mountain-lake-2.jpg new file mode 100644 index 000000000..1ae53aff5 Binary files /dev/null and b/assets/cover/mountain-lake-2.jpg differ diff --git a/assets/cover/mountain-lake-cottage-2.jpg b/assets/cover/mountain-lake-cottage-2.jpg new file mode 100644 index 000000000..7045268e1 Binary files /dev/null and b/assets/cover/mountain-lake-cottage-2.jpg differ diff --git a/assets/cover/mountain-lake-cottage.jpg b/assets/cover/mountain-lake-cottage.jpg new file mode 100644 index 000000000..a56a86975 Binary files /dev/null and b/assets/cover/mountain-lake-cottage.jpg differ diff --git a/assets/cover/mountain-lake.jpg b/assets/cover/mountain-lake.jpg new file mode 100644 index 000000000..8181791fc Binary files /dev/null and b/assets/cover/mountain-lake.jpg differ diff --git a/assets/cover/mug-flower-book.jpg b/assets/cover/mug-flower-book.jpg new file mode 100644 index 000000000..631769b2a Binary files /dev/null and b/assets/cover/mug-flower-book.jpg differ diff --git a/assets/cover/naming-conventions.jpg b/assets/cover/naming-conventions.jpg new file mode 100644 index 000000000..2d41f9b28 Binary files /dev/null and b/assets/cover/naming-conventions.jpg differ diff --git a/assets/cover/neon-desk-1.jpg b/assets/cover/neon-desk-1.jpg new file mode 100644 index 000000000..c59dbd845 Binary files /dev/null and b/assets/cover/neon-desk-1.jpg differ diff --git a/assets/cover/neon-desk-2.jpg b/assets/cover/neon-desk-2.jpg new file mode 100644 index 000000000..7ab4eda85 Binary files /dev/null and b/assets/cover/neon-desk-2.jpg differ diff --git a/assets/cover/new-plant.jpg b/assets/cover/new-plant.jpg new file mode 100644 index 000000000..028a9e93f Binary files /dev/null and b/assets/cover/new-plant.jpg differ diff --git a/assets/cover/new-york-skyline.jpg b/assets/cover/new-york-skyline.jpg new file mode 100644 index 000000000..cb6113a1e Binary files /dev/null and b/assets/cover/new-york-skyline.jpg differ diff --git a/assets/cover/new-york.jpg b/assets/cover/new-york.jpg new file mode 100644 index 000000000..29ee23246 Binary files /dev/null and b/assets/cover/new-york.jpg differ diff --git a/assets/cover/night-tram.jpg b/assets/cover/night-tram.jpg new file mode 100644 index 000000000..508087f76 Binary files /dev/null and b/assets/cover/night-tram.jpg differ diff --git a/assets/cover/number-2.jpg b/assets/cover/number-2.jpg new file mode 100644 index 000000000..64f4849f4 Binary files /dev/null and b/assets/cover/number-2.jpg differ diff --git a/assets/cover/obelisk.jpg b/assets/cover/obelisk.jpg new file mode 100644 index 000000000..38c0b2c5b Binary files /dev/null and b/assets/cover/obelisk.jpg differ diff --git a/assets/cover/old-consoles.jpg b/assets/cover/old-consoles.jpg new file mode 100644 index 000000000..d4bfbfa3e Binary files /dev/null and b/assets/cover/old-consoles.jpg differ diff --git a/assets/cover/orange-coffee-2.jpg b/assets/cover/orange-coffee-2.jpg new file mode 100644 index 000000000..f6f679a09 Binary files /dev/null and b/assets/cover/orange-coffee-2.jpg differ diff --git a/assets/cover/orange-coffee-3.jpg b/assets/cover/orange-coffee-3.jpg new file mode 100644 index 000000000..da4ff8e07 Binary files /dev/null and b/assets/cover/orange-coffee-3.jpg differ diff --git a/assets/cover/orange-coffee-4.jpg b/assets/cover/orange-coffee-4.jpg new file mode 100644 index 000000000..c7ed0931e Binary files /dev/null and b/assets/cover/orange-coffee-4.jpg differ diff --git a/assets/cover/orange-coffee.jpg b/assets/cover/orange-coffee.jpg new file mode 100644 index 000000000..7d5b7328b Binary files /dev/null and b/assets/cover/orange-coffee.jpg differ diff --git a/assets/cover/orange-flower.jpg b/assets/cover/orange-flower.jpg new file mode 100644 index 000000000..1946cf757 Binary files /dev/null and b/assets/cover/orange-flower.jpg differ diff --git a/assets/cover/organizer.jpg b/assets/cover/organizer.jpg new file mode 100644 index 000000000..f4d8f53b3 Binary files /dev/null and b/assets/cover/organizer.jpg differ diff --git a/assets/cover/oven-paddle.jpg b/assets/cover/oven-paddle.jpg new file mode 100644 index 000000000..950bac26e Binary files /dev/null and b/assets/cover/oven-paddle.jpg differ diff --git a/assets/cover/overgrown.jpg b/assets/cover/overgrown.jpg new file mode 100644 index 000000000..2c463bc8c Binary files /dev/null and b/assets/cover/overgrown.jpg differ diff --git a/assets/cover/padlocks.jpg b/assets/cover/padlocks.jpg new file mode 100644 index 000000000..7363a8aec Binary files /dev/null and b/assets/cover/padlocks.jpg differ diff --git a/assets/cover/pagodas.jpg b/assets/cover/pagodas.jpg new file mode 100644 index 000000000..e1df48b28 Binary files /dev/null and b/assets/cover/pagodas.jpg differ diff --git a/assets/cover/painters-desk.jpg b/assets/cover/painters-desk.jpg new file mode 100644 index 000000000..b71cf74f5 Binary files /dev/null and b/assets/cover/painters-desk.jpg differ diff --git a/assets/cover/palm-tree-house.jpg b/assets/cover/palm-tree-house.jpg new file mode 100644 index 000000000..57e7da476 Binary files /dev/null and b/assets/cover/palm-tree-house.jpg differ diff --git a/assets/cover/paper-card.jpg b/assets/cover/paper-card.jpg new file mode 100644 index 000000000..d150b52e0 Binary files /dev/null and b/assets/cover/paper-card.jpg differ diff --git a/assets/cover/peaches.jpg b/assets/cover/peaches.jpg new file mode 100644 index 000000000..fb0567f35 Binary files /dev/null and b/assets/cover/peaches.jpg differ diff --git a/assets/cover/people-on-beach.jpg b/assets/cover/people-on-beach.jpg new file mode 100644 index 000000000..540f21c4f Binary files /dev/null and b/assets/cover/people-on-beach.jpg differ diff --git a/assets/cover/perfect-timing.jpg b/assets/cover/perfect-timing.jpg new file mode 100644 index 000000000..6930da7bb Binary files /dev/null and b/assets/cover/perfect-timing.jpg differ diff --git a/assets/cover/periscope.jpg b/assets/cover/periscope.jpg new file mode 100644 index 000000000..ef6f3de29 Binary files /dev/null and b/assets/cover/periscope.jpg differ diff --git a/assets/cover/picking-berries.jpg b/assets/cover/picking-berries.jpg new file mode 100644 index 000000000..37330084d Binary files /dev/null and b/assets/cover/picking-berries.jpg differ diff --git a/assets/cover/pineapple-at-work.jpg b/assets/cover/pineapple-at-work.jpg new file mode 100644 index 000000000..f5406ce65 Binary files /dev/null and b/assets/cover/pineapple-at-work.jpg differ diff --git a/assets/cover/pineapple-laptop.jpg b/assets/cover/pineapple-laptop.jpg new file mode 100644 index 000000000..56668c962 Binary files /dev/null and b/assets/cover/pineapple-laptop.jpg differ diff --git a/assets/cover/pineapple-on-green.jpg b/assets/cover/pineapple-on-green.jpg new file mode 100644 index 000000000..2ed13ba9c Binary files /dev/null and b/assets/cover/pineapple-on-green.jpg differ diff --git a/assets/cover/pineapple-on-the-rocks.jpg b/assets/cover/pineapple-on-the-rocks.jpg new file mode 100644 index 000000000..18cddefa8 Binary files /dev/null and b/assets/cover/pineapple-on-the-rocks.jpg differ diff --git a/assets/cover/pink-flower-tree.jpg b/assets/cover/pink-flower-tree.jpg new file mode 100644 index 000000000..98fd0df41 Binary files /dev/null and b/assets/cover/pink-flower-tree.jpg differ diff --git a/assets/cover/pink-flower.jpg b/assets/cover/pink-flower.jpg new file mode 100644 index 000000000..3557ef161 Binary files /dev/null and b/assets/cover/pink-flower.jpg differ diff --git a/assets/cover/pink-flowers.jpg b/assets/cover/pink-flowers.jpg new file mode 100644 index 000000000..f8d0129b7 Binary files /dev/null and b/assets/cover/pink-flowers.jpg differ diff --git a/assets/cover/planning.jpg b/assets/cover/planning.jpg new file mode 100644 index 000000000..0a93b7e73 Binary files /dev/null and b/assets/cover/planning.jpg differ diff --git a/assets/cover/plant-candle.jpg b/assets/cover/plant-candle.jpg new file mode 100644 index 000000000..adf19bee2 Binary files /dev/null and b/assets/cover/plant-candle.jpg differ diff --git a/assets/cover/plant-corner.jpg b/assets/cover/plant-corner.jpg new file mode 100644 index 000000000..f0f29ff6e Binary files /dev/null and b/assets/cover/plant-corner.jpg differ diff --git a/assets/cover/playing-fetch.jpg b/assets/cover/playing-fetch.jpg new file mode 100644 index 000000000..1be56b9fb Binary files /dev/null and b/assets/cover/playing-fetch.jpg differ diff --git a/assets/cover/polar-bear.jpg b/assets/cover/polar-bear.jpg new file mode 100644 index 000000000..47a1b0275 Binary files /dev/null and b/assets/cover/polar-bear.jpg differ diff --git a/assets/cover/pop-of-green.jpg b/assets/cover/pop-of-green.jpg new file mode 100644 index 000000000..4004cd423 Binary files /dev/null and b/assets/cover/pop-of-green.jpg differ diff --git a/assets/cover/portal-timelapse.jpg b/assets/cover/portal-timelapse.jpg new file mode 100644 index 000000000..98aa39526 Binary files /dev/null and b/assets/cover/portal-timelapse.jpg differ diff --git a/assets/cover/purple-flower-bunch.jpg b/assets/cover/purple-flower-bunch.jpg new file mode 100644 index 000000000..ecd466f12 Binary files /dev/null and b/assets/cover/purple-flower-bunch.jpg differ diff --git a/assets/cover/purple-flower-field.jpg b/assets/cover/purple-flower-field.jpg new file mode 100644 index 000000000..7456d73b4 Binary files /dev/null and b/assets/cover/purple-flower-field.jpg differ diff --git a/assets/cover/purple-flower-macro-1.jpg b/assets/cover/purple-flower-macro-1.jpg new file mode 100644 index 000000000..1a49e9fe8 Binary files /dev/null and b/assets/cover/purple-flower-macro-1.jpg differ diff --git a/assets/cover/purple-flower-macro-2.jpg b/assets/cover/purple-flower-macro-2.jpg new file mode 100644 index 000000000..c89ea0a7e Binary files /dev/null and b/assets/cover/purple-flower-macro-2.jpg differ diff --git a/assets/cover/purple-flower-macro-3.jpg b/assets/cover/purple-flower-macro-3.jpg new file mode 100644 index 000000000..93f264d5f Binary files /dev/null and b/assets/cover/purple-flower-macro-3.jpg differ diff --git a/assets/cover/purple-flower-macro-4.jpg b/assets/cover/purple-flower-macro-4.jpg new file mode 100644 index 000000000..2de29273f Binary files /dev/null and b/assets/cover/purple-flower-macro-4.jpg differ diff --git a/assets/cover/purple-laptop.jpg b/assets/cover/purple-laptop.jpg new file mode 100644 index 000000000..c5de817ea Binary files /dev/null and b/assets/cover/purple-laptop.jpg differ diff --git a/assets/cover/purple-leaves.jpg b/assets/cover/purple-leaves.jpg new file mode 100644 index 000000000..eb11f029c Binary files /dev/null and b/assets/cover/purple-leaves.jpg differ diff --git a/assets/cover/purple-sunset-beach.jpg b/assets/cover/purple-sunset-beach.jpg new file mode 100644 index 000000000..7369c27c3 Binary files /dev/null and b/assets/cover/purple-sunset-beach.jpg differ diff --git a/assets/cover/purple-sunset.jpg b/assets/cover/purple-sunset.jpg new file mode 100644 index 000000000..64402b3e0 Binary files /dev/null and b/assets/cover/purple-sunset.jpg differ diff --git a/assets/cover/rabbit-call.jpg b/assets/cover/rabbit-call.jpg new file mode 100644 index 000000000..216f669b9 Binary files /dev/null and b/assets/cover/rabbit-call.jpg differ diff --git a/assets/cover/racoon.jpg b/assets/cover/racoon.jpg new file mode 100644 index 000000000..610e7bf56 Binary files /dev/null and b/assets/cover/racoon.jpg differ diff --git a/assets/cover/radio-monstera.jpg b/assets/cover/radio-monstera.jpg new file mode 100644 index 000000000..3ce934beb Binary files /dev/null and b/assets/cover/radio-monstera.jpg differ diff --git a/assets/cover/rain-shopping.jpg b/assets/cover/rain-shopping.jpg new file mode 100644 index 000000000..935c9a8a9 Binary files /dev/null and b/assets/cover/rain-shopping.jpg differ diff --git a/assets/cover/red-berries.jpg b/assets/cover/red-berries.jpg new file mode 100644 index 000000000..488392141 Binary files /dev/null and b/assets/cover/red-berries.jpg differ diff --git a/assets/cover/red-light.jpg b/assets/cover/red-light.jpg new file mode 100644 index 000000000..21e01c24d Binary files /dev/null and b/assets/cover/red-light.jpg differ diff --git a/assets/cover/red-mountain-range.jpg b/assets/cover/red-mountain-range.jpg new file mode 100644 index 000000000..e8d7d4c4e Binary files /dev/null and b/assets/cover/red-mountain-range.jpg differ diff --git a/assets/cover/red-mountain.jpg b/assets/cover/red-mountain.jpg new file mode 100644 index 000000000..70c1f53f9 Binary files /dev/null and b/assets/cover/red-mountain.jpg differ diff --git a/assets/cover/red-petals.jpg b/assets/cover/red-petals.jpg new file mode 100644 index 000000000..4d6d123cf Binary files /dev/null and b/assets/cover/red-petals.jpg differ diff --git a/assets/cover/red-succulent.jpg b/assets/cover/red-succulent.jpg new file mode 100644 index 000000000..f75590a25 Binary files /dev/null and b/assets/cover/red-succulent.jpg differ diff --git a/assets/cover/reflection-on-lake.jpg b/assets/cover/reflection-on-lake.jpg new file mode 100644 index 000000000..bea1f66ce Binary files /dev/null and b/assets/cover/reflection-on-lake.jpg differ diff --git a/assets/cover/river-flow.jpg b/assets/cover/river-flow.jpg new file mode 100644 index 000000000..2bc1ab5cf Binary files /dev/null and b/assets/cover/river-flow.jpg differ diff --git a/assets/cover/river-house-lights.jpg b/assets/cover/river-house-lights.jpg new file mode 100644 index 000000000..bd8f6ac6a Binary files /dev/null and b/assets/cover/river-house-lights.jpg differ diff --git a/assets/cover/river-houses.jpg b/assets/cover/river-houses.jpg new file mode 100644 index 000000000..e26028450 Binary files /dev/null and b/assets/cover/river-houses.jpg differ diff --git a/assets/cover/rock-climbing.jpg b/assets/cover/rock-climbing.jpg new file mode 100644 index 000000000..1165f3568 Binary files /dev/null and b/assets/cover/rock-climbing.jpg differ diff --git a/assets/cover/rocky-beach-2.jpg b/assets/cover/rocky-beach-2.jpg new file mode 100644 index 000000000..cca08a808 Binary files /dev/null and b/assets/cover/rocky-beach-2.jpg differ diff --git a/assets/cover/rocky-beach-3.jpg b/assets/cover/rocky-beach-3.jpg new file mode 100644 index 000000000..0afa40000 Binary files /dev/null and b/assets/cover/rocky-beach-3.jpg differ diff --git a/assets/cover/rocky-beach-waves.jpg b/assets/cover/rocky-beach-waves.jpg new file mode 100644 index 000000000..9cfce107a Binary files /dev/null and b/assets/cover/rocky-beach-waves.jpg differ diff --git a/assets/cover/rocky-beach.jpg b/assets/cover/rocky-beach.jpg new file mode 100644 index 000000000..667f5f069 Binary files /dev/null and b/assets/cover/rocky-beach.jpg differ diff --git a/assets/cover/rocky-lake.jpg b/assets/cover/rocky-lake.jpg new file mode 100644 index 000000000..462bdefb5 Binary files /dev/null and b/assets/cover/rocky-lake.jpg differ diff --git a/assets/cover/rocky-mountains-2.jpg b/assets/cover/rocky-mountains-2.jpg new file mode 100644 index 000000000..b447ae07e Binary files /dev/null and b/assets/cover/rocky-mountains-2.jpg differ diff --git a/assets/cover/rocky-mountains.jpg b/assets/cover/rocky-mountains.jpg new file mode 100644 index 000000000..2f856a812 Binary files /dev/null and b/assets/cover/rocky-mountains.jpg differ diff --git a/assets/cover/round-leaves.jpg b/assets/cover/round-leaves.jpg new file mode 100644 index 000000000..9fb586d7e Binary files /dev/null and b/assets/cover/round-leaves.jpg differ diff --git a/assets/cover/rustic-cup.jpg b/assets/cover/rustic-cup.jpg new file mode 100644 index 000000000..24513ac37 Binary files /dev/null and b/assets/cover/rustic-cup.jpg differ diff --git a/assets/cover/sail-away-2.jpg b/assets/cover/sail-away-2.jpg new file mode 100644 index 000000000..da87dddf2 Binary files /dev/null and b/assets/cover/sail-away-2.jpg differ diff --git a/assets/cover/sail-away.jpg b/assets/cover/sail-away.jpg new file mode 100644 index 000000000..a9cc583c1 Binary files /dev/null and b/assets/cover/sail-away.jpg differ diff --git a/assets/cover/sailing-alone.jpg b/assets/cover/sailing-alone.jpg new file mode 100644 index 000000000..7f2018d12 Binary files /dev/null and b/assets/cover/sailing-alone.jpg differ diff --git a/assets/cover/salad-1.jpg b/assets/cover/salad-1.jpg new file mode 100644 index 000000000..24de74119 Binary files /dev/null and b/assets/cover/salad-1.jpg differ diff --git a/assets/cover/salad-2.jpg b/assets/cover/salad-2.jpg new file mode 100644 index 000000000..8d6ac8d72 Binary files /dev/null and b/assets/cover/salad-2.jpg differ diff --git a/assets/cover/san-francisco-skyline.jpg b/assets/cover/san-francisco-skyline.jpg new file mode 100644 index 000000000..5a3018725 Binary files /dev/null and b/assets/cover/san-francisco-skyline.jpg differ diff --git a/assets/cover/sea-view-2.jpg b/assets/cover/sea-view-2.jpg new file mode 100644 index 000000000..f64025c78 Binary files /dev/null and b/assets/cover/sea-view-2.jpg differ diff --git a/assets/cover/sea-view.jpg b/assets/cover/sea-view.jpg new file mode 100644 index 000000000..f826d16a5 Binary files /dev/null and b/assets/cover/sea-view.jpg differ diff --git a/assets/cover/secret-tree.jpg b/assets/cover/secret-tree.jpg new file mode 100644 index 000000000..48baf9f23 Binary files /dev/null and b/assets/cover/secret-tree.jpg differ diff --git a/assets/cover/shapes.jpg b/assets/cover/shapes.jpg new file mode 100644 index 000000000..0ce9f0d7b Binary files /dev/null and b/assets/cover/shapes.jpg differ diff --git a/assets/cover/shelf-plant.jpg b/assets/cover/shelf-plant.jpg new file mode 100644 index 000000000..35f757b25 Binary files /dev/null and b/assets/cover/shelf-plant.jpg differ diff --git a/assets/cover/shell-focus.jpg b/assets/cover/shell-focus.jpg new file mode 100644 index 000000000..9b5bdeb7f Binary files /dev/null and b/assets/cover/shell-focus.jpg differ diff --git a/assets/cover/silver-flat-screen.jpg b/assets/cover/silver-flat-screen.jpg new file mode 100644 index 000000000..612b84d81 Binary files /dev/null and b/assets/cover/silver-flat-screen.jpg differ diff --git a/assets/cover/sleepy-cat.jpg b/assets/cover/sleepy-cat.jpg new file mode 100644 index 000000000..0949809e4 Binary files /dev/null and b/assets/cover/sleepy-cat.jpg differ diff --git a/assets/cover/sliced-fruits.jpg b/assets/cover/sliced-fruits.jpg new file mode 100644 index 000000000..391563233 Binary files /dev/null and b/assets/cover/sliced-fruits.jpg differ diff --git a/assets/cover/snowy-mountains.jpg b/assets/cover/snowy-mountains.jpg new file mode 100644 index 000000000..b79095357 Binary files /dev/null and b/assets/cover/snowy-mountains.jpg differ diff --git a/assets/cover/sofia-tram.jpg b/assets/cover/sofia-tram.jpg new file mode 100644 index 000000000..361a554a0 Binary files /dev/null and b/assets/cover/sofia-tram.jpg differ diff --git a/assets/cover/solitude-beach.jpg b/assets/cover/solitude-beach.jpg new file mode 100644 index 000000000..437cc4879 Binary files /dev/null and b/assets/cover/solitude-beach.jpg differ diff --git a/assets/cover/spanish-resort.jpg b/assets/cover/spanish-resort.jpg new file mode 100644 index 000000000..5b68a0f8b Binary files /dev/null and b/assets/cover/spanish-resort.jpg differ diff --git a/assets/cover/sparkles.jpg b/assets/cover/sparkles.jpg new file mode 100644 index 000000000..0030999ec Binary files /dev/null and b/assets/cover/sparkles.jpg differ diff --git a/assets/cover/standing-stones.jpg b/assets/cover/standing-stones.jpg new file mode 100644 index 000000000..66f242abb Binary files /dev/null and b/assets/cover/standing-stones.jpg differ diff --git a/assets/cover/stars-n-snow.jpg b/assets/cover/stars-n-snow.jpg new file mode 100644 index 000000000..78799f470 Binary files /dev/null and b/assets/cover/stars-n-snow.jpg differ diff --git a/assets/cover/strawberries.jpg b/assets/cover/strawberries.jpg new file mode 100644 index 000000000..5b8aefeae Binary files /dev/null and b/assets/cover/strawberries.jpg differ diff --git a/assets/cover/succulent-1.jpg b/assets/cover/succulent-1.jpg new file mode 100644 index 000000000..35fea789d Binary files /dev/null and b/assets/cover/succulent-1.jpg differ diff --git a/assets/cover/succulent-10.jpg b/assets/cover/succulent-10.jpg new file mode 100644 index 000000000..7d4305f1e Binary files /dev/null and b/assets/cover/succulent-10.jpg differ diff --git a/assets/cover/succulent-11.jpg b/assets/cover/succulent-11.jpg new file mode 100644 index 000000000..6a1e62684 Binary files /dev/null and b/assets/cover/succulent-11.jpg differ diff --git a/assets/cover/succulent-2.jpg b/assets/cover/succulent-2.jpg new file mode 100644 index 000000000..8433a032a Binary files /dev/null and b/assets/cover/succulent-2.jpg differ diff --git a/assets/cover/succulent-3.jpg b/assets/cover/succulent-3.jpg new file mode 100644 index 000000000..054491f57 Binary files /dev/null and b/assets/cover/succulent-3.jpg differ diff --git a/assets/cover/succulent-4.jpg b/assets/cover/succulent-4.jpg new file mode 100644 index 000000000..b114b5e4c Binary files /dev/null and b/assets/cover/succulent-4.jpg differ diff --git a/assets/cover/succulent-5.jpg b/assets/cover/succulent-5.jpg new file mode 100644 index 000000000..0ff47602e Binary files /dev/null and b/assets/cover/succulent-5.jpg differ diff --git a/assets/cover/succulent-6.jpg b/assets/cover/succulent-6.jpg new file mode 100644 index 000000000..665f7dfd1 Binary files /dev/null and b/assets/cover/succulent-6.jpg differ diff --git a/assets/cover/succulent-7.jpg b/assets/cover/succulent-7.jpg new file mode 100644 index 000000000..b67f2202c Binary files /dev/null and b/assets/cover/succulent-7.jpg differ diff --git a/assets/cover/succulent-8.jpg b/assets/cover/succulent-8.jpg new file mode 100644 index 000000000..c7c3c3779 Binary files /dev/null and b/assets/cover/succulent-8.jpg differ diff --git a/assets/cover/succulent-9.jpg b/assets/cover/succulent-9.jpg new file mode 100644 index 000000000..6e2502a51 Binary files /dev/null and b/assets/cover/succulent-9.jpg differ diff --git a/assets/cover/succulent-crowd.jpg b/assets/cover/succulent-crowd.jpg new file mode 100644 index 000000000..51899ef43 Binary files /dev/null and b/assets/cover/succulent-crowd.jpg differ diff --git a/assets/cover/succulent-red-light.jpg b/assets/cover/succulent-red-light.jpg new file mode 100644 index 000000000..07cea47fd Binary files /dev/null and b/assets/cover/succulent-red-light.jpg differ diff --git a/assets/cover/sunflowers.jpg b/assets/cover/sunflowers.jpg new file mode 100644 index 000000000..b76f5a6c7 Binary files /dev/null and b/assets/cover/sunflowers.jpg differ diff --git a/assets/cover/sunrise-over-city.jpg b/assets/cover/sunrise-over-city.jpg new file mode 100644 index 000000000..7cff74ee4 Binary files /dev/null and b/assets/cover/sunrise-over-city.jpg differ diff --git a/assets/cover/sunrise-over-mountains.jpg b/assets/cover/sunrise-over-mountains.jpg new file mode 100644 index 000000000..e4eb91811 Binary files /dev/null and b/assets/cover/sunrise-over-mountains.jpg differ diff --git a/assets/cover/switzerland-night.jpg b/assets/cover/switzerland-night.jpg new file mode 100644 index 000000000..f06a1ac87 Binary files /dev/null and b/assets/cover/switzerland-night.jpg differ diff --git a/assets/cover/symmetry-cloudy-mountain.jpg b/assets/cover/symmetry-cloudy-mountain.jpg new file mode 100644 index 000000000..e5e7847ed Binary files /dev/null and b/assets/cover/symmetry-cloudy-mountain.jpg differ diff --git a/assets/cover/taking-photos.jpg b/assets/cover/taking-photos.jpg new file mode 100644 index 000000000..5eb646f17 Binary files /dev/null and b/assets/cover/taking-photos.jpg differ diff --git a/assets/cover/tea-laptop-table.jpg b/assets/cover/tea-laptop-table.jpg new file mode 100644 index 000000000..183537f06 Binary files /dev/null and b/assets/cover/tea-laptop-table.jpg differ diff --git a/assets/cover/tent-stars.jpg b/assets/cover/tent-stars.jpg new file mode 100644 index 000000000..a879f7a38 Binary files /dev/null and b/assets/cover/tent-stars.jpg differ diff --git a/assets/cover/terminal.jpg b/assets/cover/terminal.jpg new file mode 100644 index 000000000..4e00c0f95 Binary files /dev/null and b/assets/cover/terminal.jpg differ diff --git a/assets/cover/thread.jpg b/assets/cover/thread.jpg new file mode 100644 index 000000000..65d3b894d Binary files /dev/null and b/assets/cover/thread.jpg differ diff --git a/assets/cover/three-vases.jpg b/assets/cover/three-vases.jpg new file mode 100644 index 000000000..9032e89e2 Binary files /dev/null and b/assets/cover/three-vases.jpg differ diff --git a/assets/cover/tomatoes.jpg b/assets/cover/tomatoes.jpg new file mode 100644 index 000000000..68b893676 Binary files /dev/null and b/assets/cover/tomatoes.jpg differ diff --git a/assets/cover/tools.jpg b/assets/cover/tools.jpg new file mode 100644 index 000000000..f764a41ee Binary files /dev/null and b/assets/cover/tools.jpg differ diff --git a/assets/cover/touch-flower.jpg b/assets/cover/touch-flower.jpg new file mode 100644 index 000000000..57ab4d978 Binary files /dev/null and b/assets/cover/touch-flower.jpg differ diff --git a/assets/cover/tram-car-2.jpg b/assets/cover/tram-car-2.jpg new file mode 100644 index 000000000..473359988 Binary files /dev/null and b/assets/cover/tram-car-2.jpg differ diff --git a/assets/cover/tram-car.jpg b/assets/cover/tram-car.jpg new file mode 100644 index 000000000..9a5df981a Binary files /dev/null and b/assets/cover/tram-car.jpg differ diff --git a/assets/cover/tranquil-lake.jpg b/assets/cover/tranquil-lake.jpg new file mode 100644 index 000000000..2d06437c9 Binary files /dev/null and b/assets/cover/tranquil-lake.jpg differ diff --git a/assets/cover/tranquility.jpg b/assets/cover/tranquility.jpg new file mode 100644 index 000000000..c1e9566aa Binary files /dev/null and b/assets/cover/tranquility.jpg differ diff --git a/assets/cover/travel-mug-1.jpg b/assets/cover/travel-mug-1.jpg new file mode 100644 index 000000000..46eaee191 Binary files /dev/null and b/assets/cover/travel-mug-1.jpg differ diff --git a/assets/cover/travel-mug-2.jpg b/assets/cover/travel-mug-2.jpg new file mode 100644 index 000000000..32bc12e78 Binary files /dev/null and b/assets/cover/travel-mug-2.jpg differ diff --git a/assets/cover/travel-mug-3.jpg b/assets/cover/travel-mug-3.jpg new file mode 100644 index 000000000..d5215b785 Binary files /dev/null and b/assets/cover/travel-mug-3.jpg differ diff --git a/assets/cover/tree-roots.jpg b/assets/cover/tree-roots.jpg new file mode 100644 index 000000000..97ca8dc09 Binary files /dev/null and b/assets/cover/tree-roots.jpg differ diff --git a/assets/cover/trippy-chemicals.jpg b/assets/cover/trippy-chemicals.jpg new file mode 100644 index 000000000..318fc3b79 Binary files /dev/null and b/assets/cover/trippy-chemicals.jpg differ diff --git a/assets/cover/tropical-bike.jpg b/assets/cover/tropical-bike.jpg new file mode 100644 index 000000000..4957e3fae Binary files /dev/null and b/assets/cover/tropical-bike.jpg differ diff --git a/assets/cover/tropical-waterfall-2.jpg b/assets/cover/tropical-waterfall-2.jpg new file mode 100644 index 000000000..5266b662b Binary files /dev/null and b/assets/cover/tropical-waterfall-2.jpg differ diff --git a/assets/cover/tropical-waterfall.jpg b/assets/cover/tropical-waterfall.jpg new file mode 100644 index 000000000..0f9ed24d5 Binary files /dev/null and b/assets/cover/tropical-waterfall.jpg differ diff --git a/assets/cover/tulips-and-reeds.jpg b/assets/cover/tulips-and-reeds.jpg new file mode 100644 index 000000000..125971651 Binary files /dev/null and b/assets/cover/tulips-and-reeds.jpg differ diff --git a/assets/cover/two-cities.jpg b/assets/cover/two-cities.jpg new file mode 100644 index 000000000..01c057a6a Binary files /dev/null and b/assets/cover/two-cities.jpg differ diff --git a/assets/cover/two-doors.jpg b/assets/cover/two-doors.jpg new file mode 100644 index 000000000..d83f38033 Binary files /dev/null and b/assets/cover/two-doors.jpg differ diff --git a/assets/cover/two-flower-vases.jpg b/assets/cover/two-flower-vases.jpg new file mode 100644 index 000000000..53c58125f Binary files /dev/null and b/assets/cover/two-flower-vases.jpg differ diff --git a/assets/cover/two-lighthouses.jpg b/assets/cover/two-lighthouses.jpg new file mode 100644 index 000000000..a41890c75 Binary files /dev/null and b/assets/cover/two-lighthouses.jpg differ diff --git a/assets/cover/type-stamps.jpg b/assets/cover/type-stamps.jpg new file mode 100644 index 000000000..1ade24dd0 Binary files /dev/null and b/assets/cover/type-stamps.jpg differ diff --git a/assets/cover/typewriter.jpg b/assets/cover/typewriter.jpg new file mode 100644 index 000000000..2994bf25f Binary files /dev/null and b/assets/cover/typewriter.jpg differ diff --git a/assets/cover/typing.jpg b/assets/cover/typing.jpg new file mode 100644 index 000000000..db80745b9 Binary files /dev/null and b/assets/cover/typing.jpg differ diff --git a/assets/cover/typography.jpg b/assets/cover/typography.jpg new file mode 100644 index 000000000..385063faf Binary files /dev/null and b/assets/cover/typography.jpg differ diff --git a/assets/cover/u-got-this.jpg b/assets/cover/u-got-this.jpg new file mode 100644 index 000000000..d5abe939f Binary files /dev/null and b/assets/cover/u-got-this.jpg differ diff --git a/assets/cover/umbrellas.jpg b/assets/cover/umbrellas.jpg new file mode 100644 index 000000000..071e05498 Binary files /dev/null and b/assets/cover/umbrellas.jpg differ diff --git a/assets/cover/violin.jpg b/assets/cover/violin.jpg new file mode 100644 index 000000000..e6978636f Binary files /dev/null and b/assets/cover/violin.jpg differ diff --git a/assets/cover/volcano-sunset.jpg b/assets/cover/volcano-sunset.jpg new file mode 100644 index 000000000..58558e4a9 Binary files /dev/null and b/assets/cover/volcano-sunset.jpg differ diff --git a/assets/cover/walking-on-top.jpg b/assets/cover/walking-on-top.jpg new file mode 100644 index 000000000..cc2b18895 Binary files /dev/null and b/assets/cover/walking-on-top.jpg differ diff --git a/assets/cover/walking.jpg b/assets/cover/walking.jpg new file mode 100644 index 000000000..1014e73db Binary files /dev/null and b/assets/cover/walking.jpg differ diff --git a/assets/cover/washed-ashore.jpg b/assets/cover/washed-ashore.jpg new file mode 100644 index 000000000..bafe143e2 Binary files /dev/null and b/assets/cover/washed-ashore.jpg differ diff --git a/assets/cover/watermelon-bike.jpg b/assets/cover/watermelon-bike.jpg new file mode 100644 index 000000000..afc020a3e Binary files /dev/null and b/assets/cover/watermelon-bike.jpg differ diff --git a/assets/cover/waves-from-above-2.jpg b/assets/cover/waves-from-above-2.jpg new file mode 100644 index 000000000..7a440cf3d Binary files /dev/null and b/assets/cover/waves-from-above-2.jpg differ diff --git a/assets/cover/waves-from-above.jpg b/assets/cover/waves-from-above.jpg new file mode 100644 index 000000000..9de55b5b6 Binary files /dev/null and b/assets/cover/waves-from-above.jpg differ diff --git a/assets/cover/waves.jpg b/assets/cover/waves.jpg new file mode 100644 index 000000000..64974c595 Binary files /dev/null and b/assets/cover/waves.jpg differ diff --git a/assets/cover/waving-over-lake.jpg b/assets/cover/waving-over-lake.jpg new file mode 100644 index 000000000..4bbbe07f1 Binary files /dev/null and b/assets/cover/waving-over-lake.jpg differ diff --git a/assets/cover/wet-lowland-golden-hour.jpg b/assets/cover/wet-lowland-golden-hour.jpg new file mode 100644 index 000000000..9ccd713b3 Binary files /dev/null and b/assets/cover/wet-lowland-golden-hour.jpg differ diff --git a/assets/cover/white-flower.jpg b/assets/cover/white-flower.jpg new file mode 100644 index 000000000..3c8f6d785 Binary files /dev/null and b/assets/cover/white-flower.jpg differ diff --git a/assets/cover/white-laptop.jpg b/assets/cover/white-laptop.jpg new file mode 100644 index 000000000..ebb612b4b Binary files /dev/null and b/assets/cover/white-laptop.jpg differ diff --git a/assets/cover/white-tablet-2.jpg b/assets/cover/white-tablet-2.jpg new file mode 100644 index 000000000..18f46518b Binary files /dev/null and b/assets/cover/white-tablet-2.jpg differ diff --git a/assets/cover/white-tablet.jpg b/assets/cover/white-tablet.jpg new file mode 100644 index 000000000..f836199ab Binary files /dev/null and b/assets/cover/white-tablet.jpg differ diff --git a/assets/cover/wooden-bowl.jpg b/assets/cover/wooden-bowl.jpg new file mode 100644 index 000000000..41c35c9b8 Binary files /dev/null and b/assets/cover/wooden-bowl.jpg differ diff --git a/assets/cover/work-hard-computer.jpg b/assets/cover/work-hard-computer.jpg new file mode 100644 index 000000000..c53056107 Binary files /dev/null and b/assets/cover/work-hard-computer.jpg differ diff --git a/assets/cover/working-bee.jpg b/assets/cover/working-bee.jpg new file mode 100644 index 000000000..16d3ab9a1 Binary files /dev/null and b/assets/cover/working-bee.jpg differ diff --git a/assets/cover/workspace-with-speaker.jpg b/assets/cover/workspace-with-speaker.jpg new file mode 100644 index 000000000..0ef7c8401 Binary files /dev/null and b/assets/cover/workspace-with-speaker.jpg differ diff --git a/assets/cover/yellow-sofa.jpg b/assets/cover/yellow-sofa.jpg new file mode 100644 index 000000000..bbffce454 Binary files /dev/null and b/assets/cover/yellow-sofa.jpg differ diff --git a/assets/cover/yellow-white-mug-1.jpg b/assets/cover/yellow-white-mug-1.jpg new file mode 100644 index 000000000..1b5255676 Binary files /dev/null and b/assets/cover/yellow-white-mug-1.jpg differ diff --git a/assets/cover/yellow-white-mug-2.jpg b/assets/cover/yellow-white-mug-2.jpg new file mode 100644 index 000000000..ef3536600 Binary files /dev/null and b/assets/cover/yellow-white-mug-2.jpg differ diff --git a/assets/cover/zen-indoors.jpg b/assets/cover/zen-indoors.jpg new file mode 100644 index 000000000..80f2a9f85 Binary files /dev/null and b/assets/cover/zen-indoors.jpg differ diff --git a/assets/illustrations/async-defer.png b/assets/illustrations/async-defer.png new file mode 100644 index 000000000..f63c7e875 Binary files /dev/null and b/assets/illustrations/async-defer.png differ diff --git a/assets/illustrations/big-o-complexity.png b/assets/illustrations/big-o-complexity.png new file mode 100644 index 000000000..503f9c0aa Binary files /dev/null and b/assets/illustrations/big-o-complexity.png differ diff --git a/assets/illustrations/border-radius.png b/assets/illustrations/border-radius.png new file mode 100644 index 000000000..420dd345b Binary files /dev/null and b/assets/illustrations/border-radius.png differ diff --git a/assets/illustrations/chrome-debug-node.png b/assets/illustrations/chrome-debug-node.png new file mode 100644 index 000000000..400059987 Binary files /dev/null and b/assets/illustrations/chrome-debug-node.png differ diff --git a/assets/illustrations/ds-binary-search-tree.png b/assets/illustrations/ds-binary-search-tree.png new file mode 100644 index 000000000..752471316 Binary files /dev/null and b/assets/illustrations/ds-binary-search-tree.png differ diff --git a/assets/illustrations/ds-binary-tree.png b/assets/illustrations/ds-binary-tree.png new file mode 100644 index 000000000..6cfaf917b Binary files /dev/null and b/assets/illustrations/ds-binary-tree.png differ diff --git a/assets/illustrations/ds-doubly-linked-list.png b/assets/illustrations/ds-doubly-linked-list.png new file mode 100644 index 000000000..777786e03 Binary files /dev/null and b/assets/illustrations/ds-doubly-linked-list.png differ diff --git a/assets/illustrations/ds-graph.png b/assets/illustrations/ds-graph.png new file mode 100644 index 000000000..c2067e7e6 Binary files /dev/null and b/assets/illustrations/ds-graph.png differ diff --git a/assets/illustrations/ds-linked-list.png b/assets/illustrations/ds-linked-list.png new file mode 100644 index 000000000..6dc17ab00 Binary files /dev/null and b/assets/illustrations/ds-linked-list.png differ diff --git a/assets/illustrations/ds-queue.png b/assets/illustrations/ds-queue.png new file mode 100644 index 000000000..cae020588 Binary files /dev/null and b/assets/illustrations/ds-queue.png differ diff --git a/assets/illustrations/ds-stack.png b/assets/illustrations/ds-stack.png new file mode 100644 index 000000000..c32d78ed3 Binary files /dev/null and b/assets/illustrations/ds-stack.png differ diff --git a/assets/illustrations/ds-tree.png b/assets/illustrations/ds-tree.png new file mode 100644 index 000000000..9e4d17850 Binary files /dev/null and b/assets/illustrations/ds-tree.png differ diff --git a/assets/illustrations/flexbox-diagram.png b/assets/illustrations/flexbox-diagram.png new file mode 100644 index 000000000..43f91f7e5 Binary files /dev/null and b/assets/illustrations/flexbox-diagram.png differ diff --git a/assets/illustrations/git-fast-forward.png b/assets/illustrations/git-fast-forward.png new file mode 100644 index 000000000..eadec68e0 Binary files /dev/null and b/assets/illustrations/git-fast-forward.png differ diff --git a/assets/illustrations/js-array-methods.png b/assets/illustrations/js-array-methods.png new file mode 100644 index 000000000..a001c6944 Binary files /dev/null and b/assets/illustrations/js-array-methods.png differ diff --git a/assets/illustrations/js-variable-scope.png b/assets/illustrations/js-variable-scope.png new file mode 100644 index 000000000..cdb5fc877 Binary files /dev/null and b/assets/illustrations/js-variable-scope.png differ diff --git a/assets/illustrations/typography-example.png b/assets/illustrations/typography-example.png new file mode 100644 index 000000000..85e86ba69 Binary files /dev/null and b/assets/illustrations/typography-example.png differ diff --git a/assets/splash/basics.png b/assets/splash/basics.png new file mode 100644 index 000000000..3d1ca7166 Binary files /dev/null and b/assets/splash/basics.png differ diff --git a/assets/splash/blue-computer.png b/assets/splash/blue-computer.png new file mode 100644 index 000000000..b9a0869ab Binary files /dev/null and b/assets/splash/blue-computer.png differ diff --git a/assets/splash/camera.png b/assets/splash/camera.png new file mode 100644 index 000000000..ae175b5a2 Binary files /dev/null and b/assets/splash/camera.png differ diff --git a/assets/splash/chess-pawns.png b/assets/splash/chess-pawns.png new file mode 100644 index 000000000..fbe0dbab1 Binary files /dev/null and b/assets/splash/chess-pawns.png differ diff --git a/assets/splash/coffee-drip.png b/assets/splash/coffee-drip.png new file mode 100644 index 000000000..9a1db0c0c Binary files /dev/null and b/assets/splash/coffee-drip.png differ diff --git a/assets/splash/coffee-float.png b/assets/splash/coffee-float.png new file mode 100644 index 000000000..2571f2302 Binary files /dev/null and b/assets/splash/coffee-float.png differ diff --git a/assets/splash/coffee-phone-tray.png b/assets/splash/coffee-phone-tray.png new file mode 100644 index 000000000..b18b47454 Binary files /dev/null and b/assets/splash/coffee-phone-tray.png differ diff --git a/assets/splash/colorful-rocks.png b/assets/splash/colorful-rocks.png new file mode 100644 index 000000000..daa6d17aa Binary files /dev/null and b/assets/splash/colorful-rocks.png differ diff --git a/assets/splash/generator.png b/assets/splash/generator.png new file mode 100644 index 000000000..20c984060 Binary files /dev/null and b/assets/splash/generator.png differ diff --git a/assets/splash/glasses-comic.png b/assets/splash/glasses-comic.png new file mode 100644 index 000000000..a1d5e1ec3 Binary files /dev/null and b/assets/splash/glasses-comic.png differ diff --git a/assets/splash/hand-screen.png b/assets/splash/hand-screen.png new file mode 100644 index 000000000..348ad4ed2 Binary files /dev/null and b/assets/splash/hand-screen.png differ diff --git a/assets/splash/headphones.png b/assets/splash/headphones.png new file mode 100644 index 000000000..dd542005a Binary files /dev/null and b/assets/splash/headphones.png differ diff --git a/assets/splash/hello-world.png b/assets/splash/hello-world.png new file mode 100644 index 000000000..b8a8aff97 Binary files /dev/null and b/assets/splash/hello-world.png differ diff --git a/assets/splash/interview.png b/assets/splash/interview.png new file mode 100644 index 000000000..a47bd599f Binary files /dev/null and b/assets/splash/interview.png differ diff --git a/assets/splash/keyboard-coffee.png b/assets/splash/keyboard-coffee.png new file mode 100644 index 000000000..3b9f6441e Binary files /dev/null and b/assets/splash/keyboard-coffee.png differ diff --git a/assets/splash/laptop-coffee.png b/assets/splash/laptop-coffee.png new file mode 100644 index 000000000..326f9999c Binary files /dev/null and b/assets/splash/laptop-coffee.png differ diff --git a/assets/splash/laptop-lamp.png b/assets/splash/laptop-lamp.png new file mode 100644 index 000000000..393c47e75 Binary files /dev/null and b/assets/splash/laptop-lamp.png differ diff --git a/assets/splash/laptop-plant.png b/assets/splash/laptop-plant.png new file mode 100644 index 000000000..05dcfb502 Binary files /dev/null and b/assets/splash/laptop-plant.png differ diff --git a/assets/splash/laptop-view.png b/assets/splash/laptop-view.png new file mode 100644 index 000000000..20b527223 Binary files /dev/null and b/assets/splash/laptop-view.png differ diff --git a/assets/splash/lightbulb.png b/assets/splash/lightbulb.png new file mode 100644 index 000000000..bf19a0516 Binary files /dev/null and b/assets/splash/lightbulb.png differ diff --git a/assets/splash/magnifying-glass.png b/assets/splash/magnifying-glass.png new file mode 100644 index 000000000..95ce0f3ec Binary files /dev/null and b/assets/splash/magnifying-glass.png differ diff --git a/assets/splash/matcha.png b/assets/splash/matcha.png new file mode 100644 index 000000000..02af19adf Binary files /dev/null and b/assets/splash/matcha.png differ diff --git a/assets/splash/mobile.png b/assets/splash/mobile.png new file mode 100644 index 000000000..ba34909e4 Binary files /dev/null and b/assets/splash/mobile.png differ diff --git a/assets/splash/monsterra.png b/assets/splash/monsterra.png new file mode 100644 index 000000000..b94f3cd29 Binary files /dev/null and b/assets/splash/monsterra.png differ diff --git a/assets/splash/plane.png b/assets/splash/plane.png new file mode 100644 index 000000000..2291795ab Binary files /dev/null and b/assets/splash/plane.png differ diff --git a/assets/splash/plant-screen.png b/assets/splash/plant-screen.png new file mode 100644 index 000000000..5c4d1a5e1 Binary files /dev/null and b/assets/splash/plant-screen.png differ diff --git a/assets/splash/plant-window.png b/assets/splash/plant-window.png new file mode 100644 index 000000000..e71097c6c Binary files /dev/null and b/assets/splash/plant-window.png differ diff --git a/assets/splash/pots-and-plants.png b/assets/splash/pots-and-plants.png new file mode 100644 index 000000000..49c3f1b72 Binary files /dev/null and b/assets/splash/pots-and-plants.png differ diff --git a/assets/splash/purple-flower.png b/assets/splash/purple-flower.png new file mode 100644 index 000000000..21d6436cf Binary files /dev/null and b/assets/splash/purple-flower.png differ diff --git a/assets/splash/succulent-cluster.png b/assets/splash/succulent-cluster.png new file mode 100644 index 000000000..dee73c853 Binary files /dev/null and b/assets/splash/succulent-cluster.png differ diff --git a/assets/splash/succulent.png b/assets/splash/succulent.png new file mode 100644 index 000000000..5f8177fce Binary files /dev/null and b/assets/splash/succulent.png differ diff --git a/assets/splash/tablet.png b/assets/splash/tablet.png new file mode 100644 index 000000000..8cdbf85e5 Binary files /dev/null and b/assets/splash/tablet.png differ diff --git a/assets/splash/tea-pour.png b/assets/splash/tea-pour.png new file mode 100644 index 000000000..116fc68eb Binary files /dev/null and b/assets/splash/tea-pour.png differ diff --git a/assets/splash/terrarium.png b/assets/splash/terrarium.png new file mode 100644 index 000000000..f4475acf2 Binary files /dev/null and b/assets/splash/terrarium.png differ diff --git a/assets/splash/touch-flower.png b/assets/splash/touch-flower.png new file mode 100644 index 000000000..9c10a5e57 Binary files /dev/null and b/assets/splash/touch-flower.png differ diff --git a/assets/splash/tranquility.png b/assets/splash/tranquility.png new file mode 100644 index 000000000..fe1db34e8 Binary files /dev/null and b/assets/splash/tranquility.png differ diff --git a/assets/splash/widescreen.png b/assets/splash/widescreen.png new file mode 100644 index 000000000..693e7aec9 Binary files /dev/null and b/assets/splash/widescreen.png differ diff --git a/assets/splash/work-sunrise.png b/assets/splash/work-sunrise.png new file mode 100644 index 000000000..2b35f5c5b Binary files /dev/null and b/assets/splash/work-sunrise.png differ diff --git a/authors.yaml b/authors.yaml new file mode 100644 index 000000000..c92fb5fa1 --- /dev/null +++ b/authors.yaml @@ -0,0 +1,7 @@ +chalarangelo: + name: Angelos Chalaris + profile: https://github.com/Chalarangelo + intro: I'm Angelos Chalaris, a JavaScript software engineer, based in Athens, Greece. + The best snippets from my coding adventures are published here to help others + learn to code. + github: https://github.com/Chalarangelo diff --git a/collections/cheatsheets.yaml b/collections/cheatsheets.yaml new file mode 100644 index 000000000..e10172eb2 --- /dev/null +++ b/collections/cheatsheets.yaml @@ -0,0 +1,12 @@ +slug: c/cheatsheets +name: Cheatsheets +featured: true +typeMatcher: cheatsheet +splash: plant-screen.png +description: >- + Cheatsheets are one of the best ways to present a lot of information in a + concise manner. This collection includes cheatsheets for various topics, so + that you can look up anything you might need. +shortDescription: >- + A collection of cheatsheets to bookmark and come back to whenever you need to + look up anything. diff --git a/collections/css-background-patterns.yaml b/collections/css-background-patterns.yaml new file mode 100644 index 000000000..26f04e8cf --- /dev/null +++ b/collections/css-background-patterns.yaml @@ -0,0 +1,14 @@ +slug: c/css-background-patterns +name: CSS Background Patterns +featured: true +snippetIds: + - css/s/stripes-pattern + - css/s/zig-zag-pattern + - css/s/polka-dot-pattern + - css/s/checkerboard-pattern +splash: tea-pour.png +description: >- + CSS can be used to create a variety of background patterns. In this + collection, you'll learn how to create a few simple background patterns, such + as stripes, zig-zags, polka dots, and checkerboards. +shortDescription: Learn how to create a variety of background patterns using CSS. diff --git a/collections/css-button-transitions.yaml b/collections/css-button-transitions.yaml new file mode 100644 index 000000000..d4b584539 --- /dev/null +++ b/collections/css-button-transitions.yaml @@ -0,0 +1,15 @@ +slug: c/css-button-transitions +name: CSS Button Transitions +featured: true +snippetIds: + - css/s/button-hover-grow-animation + - css/s/button-hover-shrink-animation + - css/s/button-hover-fill-animation + - css/s/button-focus-swing-animation + - css/s/button-border-animation +splash: plant-window.png +description: >- + CSS transitions are a great way to add some life to your buttons. This snippet + collection covers a handful of simple yet useful animations that you can use + to make your buttons more interactive. +shortDescription: Add some life to your buttons with these simple CSS transitions. diff --git a/collections/css-centering.yaml b/collections/css-centering.yaml new file mode 100644 index 000000000..135a49825 --- /dev/null +++ b/collections/css-centering.yaml @@ -0,0 +1,17 @@ +slug: c/css-centering +name: CSS Centering +featured: true +snippetIds: + - articles/s/css-centering + - css/s/flexbox-centering + - css/s/grid-centering + - css/s/transform-centering + - css/s/display-table-centering +splash: keyboard-coffee.png +description: >- + Centering content with CSS is not always straighforward. This snippet + collection contains a few handy tips and tricks to help you center anything + anywhere. +shortDescription: >- + A collection of techniques for centering HTML elements in any situation using + CSS. diff --git a/collections/css-hover-effects.yaml b/collections/css-hover-effects.yaml new file mode 100644 index 000000000..cdf826310 --- /dev/null +++ b/collections/css-hover-effects.yaml @@ -0,0 +1,20 @@ +slug: c/css-hover-effects +name: CSS Hover Effects +featured: true +snippetIds: + - css/s/image-overlay-hover + - css/s/image-hover-menu + - css/s/hover-additional-content + - css/s/image-hover-rotate + - css/s/rotating-card + - css/s/hover-perspective + - css/s/hover-underline-animation + - css/s/popout-menu + - css/s/navigation-list-item-hover-and-focus-effect + - css/s/mouse-cursor-gradient-tracking +splash: hand-screen.png +description: >- + You can use CSS to create some pretty cool hover effects. In this collection, + we'll look at some popular techniques for creating hover effects to spice up + your next web project. +shortDescription: A collection of cool CSS hover effects to spice up your next web project. diff --git a/collections/css/animation.yaml b/collections/css/animation.yaml new file mode 100644 index 000000000..e79c0e3e4 --- /dev/null +++ b/collections/css/animation.yaml @@ -0,0 +1,16 @@ +slug: css/t/animation +name: CSS Animations +featured: true +miniName: Animation +parent: css +languageMatcher: css +tagMatcher: animation +description: >- + The CSS snippet collection contains utilities and interactive examples for + CSS3. It includes modern techniques for creating commonly-used layouts, + styling and animating elements, as well as snippets for handling user + interactions. +shortDescription: >- + A snippet collection of interactive CSS3 animation code snippets with + interactive examples. +splash: camera.png diff --git a/collections/css/index.yaml b/collections/css/index.yaml new file mode 100644 index 000000000..1f8358d70 --- /dev/null +++ b/collections/css/index.yaml @@ -0,0 +1,15 @@ +slug: css +name: CSS Snippets +shortName: CSS +topLevel: true +languageMatcher: css +featured: true +description: >- + The CSS snippet collection contains utilities and interactive examples for + CSS3. It includes modern techniques for creating commonly-used layouts, + styling and animating elements, as well as snippets for handling user + interactions. +shortDescription: >- + A snippet collection of interactive CSS3 examples, covering layouts, styling, + animation and user interactions. +splash: camera.png diff --git a/collections/css/interactivity.yaml b/collections/css/interactivity.yaml new file mode 100644 index 000000000..67cc1c574 --- /dev/null +++ b/collections/css/interactivity.yaml @@ -0,0 +1,17 @@ +slug: css/t/interactivity +name: CSS Interactivity Snippets +shortName: CSS Interactivity +miniName: Interactivity +featured: true +parent: css +languageMatcher: css +tagMatcher: interactivity +description: >- + The CSS snippet collection contains utilities and interactive examples for + CSS3. It includes modern techniques for creating commonly-used layouts, + styling and animating elements, as well as snippets for handling user + interactions. +shortDescription: >- + A snippet collection of CSS3 code snippets and examples covering common user + interactions. +splash: camera.png diff --git a/collections/css/layout.yaml b/collections/css/layout.yaml new file mode 100644 index 000000000..35519eff6 --- /dev/null +++ b/collections/css/layout.yaml @@ -0,0 +1,16 @@ +slug: css/t/layout +name: CSS Layouts +miniName: Layout +featured: true +parent: css +languageMatcher: css +tagMatcher: layout +description: >- + The CSS snippet collection contains utilities and interactive examples for + CSS3. It includes modern techniques for creating commonly-used layouts, + styling and animating elements, as well as snippets for handling user + interactions. +shortDescription: >- + Learn how to create common layouts with CSS3, using modern techniques such as + flexbox and grid. +splash: camera.png diff --git a/collections/css/visual.yaml b/collections/css/visual.yaml new file mode 100644 index 000000000..d4b9e0e3e --- /dev/null +++ b/collections/css/visual.yaml @@ -0,0 +1,17 @@ +slug: css/t/visual +name: CSS Visual Snippets +shortName: CSS Visual +miniName: Visual +featured: true +parent: css +languageMatcher: css +tagMatcher: visual +description: >- + The CSS snippet collection contains utilities and interactive examples for + CSS3. It includes modern techniques for creating commonly-used layouts, + styling and animating elements, as well as snippets for handling user + interactions. +shortDescription: >- + A snippet collection of interactive CSS3 visual code snippets with + interactive examples. +splash: camera.png diff --git a/collections/git/branch.yaml b/collections/git/branch.yaml new file mode 100644 index 000000000..caf49bb56 --- /dev/null +++ b/collections/git/branch.yaml @@ -0,0 +1,17 @@ +slug: git/t/branch +name: Git Branch Snippets +shortName: Git Branches +miniName: Branch +featured: true +parent: git +languageMatcher: git +tagMatcher: branch +description: >- + The Git snippet collection contains a variety of short tips and tricks for all + currently maintained versions of git. It includes most commonly-used commands + and covers various use-cases in the form of simplified documentation, complete + with multiple examples. +shortDescription: >- + Master git branch commands with this snippet collection of simplified git + documentation and tips. +splash: keyboard-coffee.png diff --git a/collections/git/commit.yaml b/collections/git/commit.yaml new file mode 100644 index 000000000..3195ae3a9 --- /dev/null +++ b/collections/git/commit.yaml @@ -0,0 +1,17 @@ +slug: git/t/commit +name: Git Commit Snippets +shortName: Git Commits +miniName: Commit +featured: true +parent: git +languageMatcher: git +tagMatcher: commit +description: >- + The Git snippet collection contains a variety of short tips and tricks for all + currently maintained versions of git. It includes most commonly-used commands + and covers various use-cases in the form of simplified documentation, complete + with multiple examples. +shortDescription: >- + A snippet collection of simplified git documentation and tips covering git + commit commands. +splash: keyboard-coffee.png diff --git a/collections/git/configuration.yaml b/collections/git/configuration.yaml new file mode 100644 index 000000000..3cd30e9e5 --- /dev/null +++ b/collections/git/configuration.yaml @@ -0,0 +1,17 @@ +slug: git/t/configuration +name: Git Configuration Snippets +shortName: Git Configuration +miniName: Configuration +featured: true +parent: git +languageMatcher: git +tagMatcher: configuration +description: >- + The Git snippet collection contains a variety of short tips and tricks for all + currently maintained versions of git. It includes most commonly-used commands + and covers various use-cases in the form of simplified documentation, complete + with multiple examples. +shortDescription: >- + Create and manage git configurations with this snippet collection of + simplified git documentation and tips. +splash: keyboard-coffee.png diff --git a/collections/git/index.yaml b/collections/git/index.yaml new file mode 100644 index 000000000..045861483 --- /dev/null +++ b/collections/git/index.yaml @@ -0,0 +1,15 @@ +slug: git +name: Git Snippets +shortName: Git +topLevel: true +languageMatcher: git +featured: true +description: >- + The Git snippet collection contains a variety of short tips and tricks for all + currently maintained versions of git. It includes most commonly-used commands + and covers various use-cases in the form of simplified documentation, complete + with multiple examples. +shortDescription: >- + A snippet collection of simplified git documentation and tips, covering most + commonly-used commands and covering various use-cases. +splash: keyboard-coffee.png diff --git a/collections/git/repository.yaml b/collections/git/repository.yaml new file mode 100644 index 000000000..e59dd8209 --- /dev/null +++ b/collections/git/repository.yaml @@ -0,0 +1,17 @@ +slug: git/t/repository +name: Git Repository Snippets +shortName: Git Repositories +miniName: Repository +featured: true +parent: git +languageMatcher: git +tagMatcher: repository +description: >- + The Git snippet collection contains a variety of short tips and tricks for all + currently maintained versions of git. It includes most commonly-used commands + and covers various use-cases in the form of simplified documentation, complete + with multiple examples. +shortDescription: >- + Organize your git repositories with this snippet collection of simplified git + documentation and tips. +splash: keyboard-coffee.png diff --git a/collections/html-head-basics.yaml b/collections/html-head-basics.yaml new file mode 100644 index 000000000..2add3c849 --- /dev/null +++ b/collections/html-head-basics.yaml @@ -0,0 +1,17 @@ +slug: c/html-head-basics +name: HTML Head Basics +featured: true +snippetIds: + - articles/s/html-recommended-minimum-head + - articles/s/html-head-social-tags + - articles/s/html-head-icons + - articles/s/html-head-links +splash: basics.png +description: >- + Learn how to use the HTML head element to improve your site's SEO, social + sharing, and user experience. This collection includes up to date + recommendations for a standard setup, including basic metadata, social tags, + icons, and links. +shortDescription: >- + Learn how to use the HTML head element to improve your site's SEO, social + sharing, and user experience. diff --git a/collections/js-array-methods.yaml b/collections/js-array-methods.yaml new file mode 100644 index 000000000..7626f26b8 --- /dev/null +++ b/collections/js-array-methods.yaml @@ -0,0 +1,20 @@ +slug: c/js-array-methods +name: JavaScript Array Methods +featured: true +snippetIds: + - articles/s/articles/s/js-array-map-vs-foreach + - articles/s/4-javascript-array-methods + - articles/s/javascript-array-comparison + - articles/s/javascript-index-for-of-loop + - articles/s/javascript-for-loop-early-break + - articles/s/code-anatomy-chaining-reduce-for-loop + - articles/s/javascript-async-array-loops + - articles/s/js-typecheck-array +splash: laptop-lamp.png +description: >- + JavaScript arrays offer a lot of data manipulation and transformation methods. + This collection will help you learn more about some of the most common ones, + as well as introduce you to some more advanced tricks. +shortDescription: >- + Get acquainted with some common JavaScript array methods, as well as some more + advanced array tricks. diff --git a/collections/js-array-set-operations.yaml b/collections/js-array-set-operations.yaml new file mode 100644 index 000000000..f63fd0993 --- /dev/null +++ b/collections/js-array-set-operations.yaml @@ -0,0 +1,22 @@ +slug: c/js-array-set-operations +name: JavaScript Array Set Operations +featured: true +snippetIds: + - js/s/union + - js/s/intersection + - js/s/difference + - js/s/symmetric-difference + - js/s/union-by + - js/s/intersection-by + - js/s/difference-by + - js/s/symmetric-difference-by + - js/s/union-with + - js/s/intersection-with + - js/s/difference-with + - js/s/symmetric-difference-with +splash: touch-flower.png +description: >- + Mathematical set operations can be easily applied to JavaScript arrays. Learn + how to use the union, intersection, difference, and symmetric difference + operations with this snippet collection. +shortDescription: Learn how to apply mathematical set operations to JavaScript arrays. diff --git a/collections/js-array-tricks.yaml b/collections/js-array-tricks.yaml new file mode 100644 index 000000000..33a337247 --- /dev/null +++ b/collections/js-array-tricks.yaml @@ -0,0 +1,24 @@ +slug: c/js-array-tricks +name: JavaScript Array Tricks +featured: true +snippetIds: + - js/s/unique-elements + - js/s/compact + - js/s/any + - js/s/all + - js/s/none + - js/s/difference + - js/s/union + - js/s/intersection + - js/s/head + - js/s/tail + - js/s/last + - js/s/flatten +splash: terrarium.png +description: >- + Arrays are one of the most common data types in JavaScript. While there are + many libraries that deal with them, here are some awesome tips and tricks you + can leverage in your code without adding any external dependencies. +shortDescription: >- + Learn a handful of awesome tips and tricks that you can leverage in your code + to make array manipulation a breeze. diff --git a/collections/js-arrow-functions.yaml b/collections/js-arrow-functions.yaml new file mode 100644 index 000000000..d34180ae4 --- /dev/null +++ b/collections/js-arrow-functions.yaml @@ -0,0 +1,16 @@ +slug: c/js-arrow-functions +name: JavaScript Arrow Functions +featured: true +snippetIds: + - articles/s/javascript-arrow-functions + - articles/s/javascript-arrow-regular-function-differences + - articles/s/javascript-arrow-function-event-listeners + - articles/s/javascript-this +splash: coffee-float.png +description: >- + Arrow functions are one of the most useful tools in a JavaScript developer's + arsenal. This collection of introductory articles can help you get started, + but can also serve as a reference to refresh your knowledge. +shortDescription: >- + JavaScript arrow functions are a very useful tool to learn and master. Get + started with this collection of articles. diff --git a/collections/js-colors.yaml b/collections/js-colors.yaml new file mode 100644 index 000000000..86036abb3 --- /dev/null +++ b/collections/js-colors.yaml @@ -0,0 +1,27 @@ +slug: c/js-colors +name: Colors in JavaScript +featured: true +snippetIds: + - js/s/random-hex-color-code + - js/s/rgb-to-hex + - js/s/extend-hex + - js/s/hex-to-rgb + - js/s/to-rgb-array + - js/s/to-rgb-object + - js/s/rgb-to-hsb + - js/s/hsb-to-rgb + - js/s/rgb-to-hsl + - js/s/hsl-to-rgb + - js/s/change-lightness + - js/s/to-hsl-array + - js/s/to-hsl-object +splash: colorful-rocks.png +description: >- + Working with color in JavaScript requires some understanding of color formats + and conversions. This snippet collection covers a lot of those needs from + generating random color hex codes to converting between hex and RGB values and + even some more advanced tricks like using the HSL format to alter the + lightness of a color. +shortDescription: >- + Working with color requires understanding of color formats and conversions. + Luckily, this JavaScript snippet collection's got you covered. diff --git a/collections/js-comparison.yaml b/collections/js-comparison.yaml new file mode 100644 index 000000000..ad93e68cf --- /dev/null +++ b/collections/js-comparison.yaml @@ -0,0 +1,24 @@ +slug: c/js-comparison +name: JavaScript Comparison +featured: true +snippetIds: + - articles/s/javascript-equality + - articles/s/javascript-value-not-equal-to-itself + - articles/s/javascript-object-comparison + - articles/s/javascript-array-comparison + - articles/s/javascript-date-comparison + - articles/s/javascript-object-is-triple-equals + - js/s/equals + - js/s/matches + - js/s/matches-with + - js/s/have-same-contents + - js/s/is-same-date +splash: succulent.png +description: >- + Comparing values in JavaScript is one of the most common tasks. Yet, there are + a lot of different details to bear in mind when doing so. This collection + contains comprehensive explanations of the issues you may face and how to best + work around them in your code. +shortDescription: >- + Comparing values in JavaScript is one of the most common tasks, yet it has a + lot of things you should bear in mind. diff --git a/collections/js-data-structures.yaml b/collections/js-data-structures.yaml new file mode 100644 index 000000000..012e2098d --- /dev/null +++ b/collections/js-data-structures.yaml @@ -0,0 +1,26 @@ +slug: c/js-data-structures +name: JavaScript Data Structures +miniName: Data Structures +parent: js +featured: true +snippetIds: + - articles/s/js-native-data-structures + - articles/s/js-data-structures-queue + - articles/s/js-data-structures-stack + - articles/s/js-data-structures-linked-list + - articles/s/js-data-structures-doubly-linked-list + - articles/s/js-data-structures-graph + - articles/s/js-data-structures-tree + - articles/s/js-data-structures-binary-tree + - articles/s/js-data-structures-binary-search-tree + - articles/s/js-frequency-map-data-structure + - articles/s/big-o-cheatsheet +splash: purple-flower.png +description: >- + The JavaScript data structures collection includes implementations and + examples of some of the most commonly-used data structures. Data structure + snippets are best used as a learning resource, as they might require + optimizations to run in production. +shortDescription: >- + A guide to some of the most commonly-used data structures, along with + JavaScript implementations and examples. diff --git a/collections/js-event-handling.yaml b/collections/js-event-handling.yaml new file mode 100644 index 000000000..24b4540d8 --- /dev/null +++ b/collections/js-event-handling.yaml @@ -0,0 +1,28 @@ +slug: c/js-event-handling +name: JavaScript Event Handling +featured: true +snippetIds: + - js/s/on + - js/s/off + - js/s/listen-once + - js/s/on-click-outside + - articles/s/javascript-event-bubbling-capturing-delegation + - js/s/add-event-listener-all + - js/s/remove-event-listener-all + - js/s/add-multiple-events + - articles/s/javascript-listen-once + - articles/s/passive-scroll-listener-performance + - js/s/on-scroll-stop + - articles/s/javascript-arrow-function-event-listeners + - articles/s/detect-caps-lock-is-on + - js/s/trigger-event + - js/s/on-user-input-change +splash: monsterra.png +description: >- + Handling events in the browser is a pretty common task with many nuances. + Getting it right can save you a lot of frustration and make the user + experience much more enjoyable. This collection will help you get started with + event handling using JavaScript. +shortDescription: >- + Event handling needs to be done right in JavaScript. Pick up some tips and + tricks to create a better user experience. diff --git a/collections/js-generators.yaml b/collections/js-generators.yaml new file mode 100644 index 000000000..e0514b8ce --- /dev/null +++ b/collections/js-generators.yaml @@ -0,0 +1,31 @@ +slug: c/js-generators +name: JavaScript Generator Functions +featured: true +snippetIds: + - articles/s/javascript-range-generator + - js/s/range-generator + - js/s/repeat-generator + - js/s/cycle-generator + - js/s/generator-to-array + - js/s/is-generator-function + - js/s/chunkify + - js/s/date-range-generator + - js/s/index-of-substrings + - js/s/walk-through + - js/s/generate-while + - js/s/generate-until + - js/s/left-substr-generator + - js/s/right-substr-generator + - articles/s/javascript-make-iterable + - articles/s/javascript-enum + - articles/s/javascript-object-array-proxy +splash: generator.png +description: >- + JavaScript generator functions introduce a way to define an iterative + algorithm by writing a function with non-continuous execution. This + practically means they allow you to create a new generator every time you call + a generator function, which can then be iterated over just like any other + iterable. +shortDescription: >- + JavaScript generator functions are an advanced yet very powerful ES6 feature, + which you can start using in your code right now. diff --git a/collections/js-geometry.yaml b/collections/js-geometry.yaml new file mode 100644 index 000000000..0fa71e375 --- /dev/null +++ b/collections/js-geometry.yaml @@ -0,0 +1,17 @@ +slug: c/js-geometry +name: JavaScript Geometric Operations +featured: true +snippetIds: + - js/s/euclidean-distance + - js/s/midpoint + - js/s/vector-distance + - js/s/vector-angle +splash: tea-pour.png +description: >- + JavaScript can be used for many different tasks, including geometric + operations. This collection explains some fundamentals, such as calculating + the distance between two points, the midpoint of a line, the distance between + two vectors, and the angle between them. +shortDescription: >- + Learn how to perform some basic geometric operations in JavaScript with this + collection of snippets. diff --git a/collections/js-interviews.yaml b/collections/js-interviews.yaml new file mode 100644 index 000000000..463a2a04e --- /dev/null +++ b/collections/js-interviews.yaml @@ -0,0 +1,48 @@ +slug: c/js-interviews +name: JavaScript Interview Questions +miniName: Interview Questions +featured: true +parent: js +snippetIds: + - articles/s/javascript-equality + - articles/s/javascript-truthy-falsy-values + - articles/s/javascript-expression-statement + - articles/s/javascript-undeclared-undefined-null + - articles/s/javascript-variable-hoisting + - articles/s/javascript-variable-scope + - articles/s/js-callbacks + - articles/s/javascript-pass-by-reference-or-pass-by-value + - articles/s/javascript-promises + - articles/s/javascript-sync-async + - articles/s/javascript-classical-vs-prototypal-inheritance + - articles/s/javascript-this + - articles/s/javascript-shallow-deep-clone + - articles/s/javascript-copy-array + - articles/s/javascript-object-comparison + - articles/s/javascript-array-comparison + - articles/s/javascript-array-includes-value + - articles/s/js-array-map-vs-foreach + - articles/s/javascript-event-bubbling-capturing-delegation + - articles/s/javascript-value-not-equal-to-itself + - articles/s/javascript-blank-value + - articles/s/javascript-string-immutability + - articles/s/js-static-instance-methods + - articles/s/javascript-arrow-functions + - articles/s/javascript-pure-functions + - articles/s/javascript-recursion + - articles/s/javascript-use-strict + - articles/s/js-async-defer + - articles/s/javascript-closures + - articles/s/javascript-iife + - articles/s/javascript-event-loop-explained + - articles/s/javascript-prefix-postfix-operators + - articles/s/cors-explained +splash: interview.png +description: >- + Preparing for a job interview requires studying to refresh your knowledge and + skills. This collection of JavaScript interview questions is designed to cover + some commonly-asked interview questions, using concise answers and simple + examples. +shortDescription: >- + Prepare for your next JavaScript interview with this collection of interview + questions and answers. diff --git a/collections/js-logical-operations.yaml b/collections/js-logical-operations.yaml new file mode 100644 index 000000000..ae2c4b2b7 --- /dev/null +++ b/collections/js-logical-operations.yaml @@ -0,0 +1,21 @@ +slug: c/js-logical-operations +name: JavaScript Logical Operations +featured: true +snippetIds: + - js/s/and + - js/s/or + - js/s/not + - js/s/xor + - js/s/nor + - js/s/when + - js/s/both + - js/s/either + - js/s/complement +splash: chess-pawns.png +description: >- + Boolean logic and logical operations might not come up that often in + JavaScript development, but when they do, you'll be glad you know how to use + them. This small collection of snippets can help you get started. +shortDescription: >- + Get started with logical operations in JavaScript with this small snippet + collection. diff --git a/collections/js-object-cloning.yaml b/collections/js-object-cloning.yaml new file mode 100644 index 000000000..650272ee0 --- /dev/null +++ b/collections/js-object-cloning.yaml @@ -0,0 +1,14 @@ +slug: c/js-object-cloning +name: JavaScript Object Cloning +featured: true +snippetIds: + - articles/s/javascript-shallow-deep-clone + - js/s/shallow-clone + - js/s/deep-clone + - articles/s/javascript-copy-array +splash: coffee-phone-tray.png +description: >- + JavaScript objects and arrays are a little tricky to clone. Luckily, this + collection teaches you all you need to know about different cloning types and + techniques. +shortDescription: Easily clone JavaScript objects and arrays using various techniques. diff --git a/collections/js-object-key-selection.yaml b/collections/js-object-key-selection.yaml new file mode 100644 index 000000000..9f994c6b0 --- /dev/null +++ b/collections/js-object-key-selection.yaml @@ -0,0 +1,16 @@ +slug: c/js-object-key-selection +name: JavaScript Object Key Selection +featured: true +snippetIds: + - js/s/pick + - js/s/omit + - js/s/pick-by + - js/s/omit-by +splash: succulent-cluster.png +description: >- + Sometimes, JavaScript objects come with a lot of keys and you only need a few + of them. Other times, you might want to remove certain keys, instead. Whatever + the case, we've got you covered with this snippet collection. +shortDescription: >- + Pick and omit keys from JavaScript objects easily, using the snippets in this + collection. diff --git a/collections/js-object-key-transformations.yaml b/collections/js-object-key-transformations.yaml new file mode 100644 index 000000000..75b1f9b33 --- /dev/null +++ b/collections/js-object-key-transformations.yaml @@ -0,0 +1,16 @@ +slug: c/js-object-key-transformations +name: JavaScript Object Key Transformations +featured: true +snippetIds: + - js/s/lowerize + - js/s/upperize + - js/s/map-keys + - js/s/rename-keys + - js/s/deep-map-keys + - js/s/symbolize-keys +splash: plant-window.png +description: >- + Sometimes, object keys aren't exactly what you want them to be. Luckily, this + snippet collection has you covered with a variety of functions that can help + you transform them to your liking. +shortDescription: Easily transform object keys to your liking with this snippet collection. diff --git a/collections/js-promises.yaml b/collections/js-promises.yaml new file mode 100644 index 000000000..3bb228b2c --- /dev/null +++ b/collections/js-promises.yaml @@ -0,0 +1,21 @@ +slug: c/js-promises +name: JavaScript Promises +featured: true +snippetIds: + - articles/s/javascript-promises + - articles/s/async-javascript-cheatsheet + - articles/s/javascript-sync-async + - articles/s/javascript-promise-then-catch + - articles/s/javascript-promise-then-finally + - articles/s/javascript-await-timeout + - js/s/debounce-promise + - js/s/run-promises-in-series +splash: blue-computer.png +description: >- + Working with promises in JavaScript is a great way to handle asynchronous + operations, yet it can be confusing for many developers. This snippet + collection covers the basics of promises and how to use them to handle + everyday operations, as well as some more advanced topics. +shortDescription: >- + This snippet collection covers the basics of JavaScript promises and how to + use them to handle asynchronous operations in your code. diff --git a/collections/js-proxy.yaml b/collections/js-proxy.yaml new file mode 100644 index 000000000..3dafd1217 --- /dev/null +++ b/collections/js-proxy.yaml @@ -0,0 +1,23 @@ +slug: c/js-proxy +name: JavaScript Proxy +featured: true +snippetIds: + - articles/s/js-proxy-introduction + - articles/s/js-dynamic-getter-setter-proxy + - articles/s/js-immutable-object-proxy + - articles/s/javascript-singleton-proxy + - articles/s/js-dynamic-getter-chain-proxy + - articles/s/javascript-object-array-proxy + - articles/s/js-proxy-array-negative-index + - articles/s/js-cannot-extend-proxy-object + - articles/s/js-typecheck-proxy +splash: laptop-coffee.png +description: >- + The JavaScript Proxy object can be a very powerful tool to extend the + functionality of objects. In this collection, we will explore the basics of + the Proxy object and how to use it in your code. We will also look at a + handful of practical examples that show how you can think about using proxies + in your code. +shortDescription: >- + The JavaScript Proxy object is a powerful tool you can use to extend the + functionality of objects in a variety of interesting ways. diff --git a/collections/js-random-value-generators.yaml b/collections/js-random-value-generators.yaml new file mode 100644 index 000000000..c384930b9 --- /dev/null +++ b/collections/js-random-value-generators.yaml @@ -0,0 +1,19 @@ +slug: c/js-random-value-generators +name: JavaScript Random Value Generators +featured: true +snippetIds: + - js/s/random-number-in-range + - js/s/random-integer-in-range + - js/s/random-int-array-in-range + - js/s/random-alpha-numeric + - js/s/random-boolean + - js/s/random-hex-color-code + - js/s/random-gauss +splash: matcha.png +description: >- + Random value generators come up in a lot of different situations. This snippet + collection consists of a variety of JavaScript solutions, from generating + random numbers in a range to strings, booleans and hex color codes. +shortDescription: >- + Quickly and easily generate random integers, strings, booleans, arrays and hex + color codes using JavaScript. diff --git a/collections/js-string-casing.yaml b/collections/js-string-casing.yaml new file mode 100644 index 000000000..54771dc4e --- /dev/null +++ b/collections/js-string-casing.yaml @@ -0,0 +1,20 @@ +slug: c/js-string-casing +name: JavaScript String Casing +featured: true +snippetIds: + - js/s/to-camel-case + - js/s/to-snake-case + - js/s/to-kebab-case + - js/s/to-title-case + - js/s/to-sentence-case + - js/s/to-pascal-case + - js/s/from-camel-case +splash: tablet.png +description: >- + Converting between string casing formats is common, yet tiresome to do by + hand. This collection of snippets will help you convert between the most + common string casing formats using JavaScript and a sprinkle of regular + expressions. +shortDescription: >- + Convert between the most common string casing formats with pure JavaScript and + a sprinkle of regular expressions. diff --git a/collections/js-unit-conversions.yaml b/collections/js-unit-conversions.yaml new file mode 100644 index 000000000..33ba034c1 --- /dev/null +++ b/collections/js-unit-conversions.yaml @@ -0,0 +1,16 @@ +slug: c/js-unit-conversions +name: JavaScript Unit Conversions +featured: true +snippetIds: + - js/s/degrees-to-rads + - js/s/rads-to-degrees + - js/s/celsius-to-fahrenheit + - js/s/fahrenheit-to-celsius + - js/s/km-to-miles + - js/s/miles-to-km +splash: basics.png +description: >- + Simple unit conversions come up in a lot of JavaScript applications. This + snippet collection covers some of the most common conversions you might need + to perform in your JavaScript code. +shortDescription: Learn how to convert between different units of measurement in JavaScript. diff --git a/collections/js-url.yaml b/collections/js-url.yaml new file mode 100644 index 000000000..7f59bd902 --- /dev/null +++ b/collections/js-url.yaml @@ -0,0 +1,25 @@ +slug: c/js-url +name: URLs in JavaScript +featured: true +snippetIds: + - articles/s/javascript-modify-url-without-reload + - articles/s/js-construct-url + - articles/s/js-edit-url-params + - articles/s/javascript-reload-page + - articles/s/js-window-location-cheatsheet + - js/s/current-url + - js/s/https-redirect + - js/s/get-url-parameters + - js/s/get-base-url + - js/s/redirect + - js/s/is-absolute-url + - js/s/is-same-origin + - js/s/url-join +splash: pots-and-plants.png +description: >- + URLs are an integral part of the web, which makes working with them an + essential skill to have. This snippet collection contains the necessary + resources to master URLs in JavaScript and level up your skills. +shortDescription: >- + This snippet collection covers all the necessary resources to master working + with URLs in JavaScript. diff --git a/collections/js/algorithm.yaml b/collections/js/algorithm.yaml new file mode 100644 index 000000000..4efe8312b --- /dev/null +++ b/collections/js/algorithm.yaml @@ -0,0 +1,15 @@ +slug: js/t/algorithm +name: JavaScript Algorithms +miniName: Algorithms +featured: true +parent: js +languageMatcher: javascript +tagMatcher: algorithm +description: >- + The JavaScript algorithms collection includes implementations and examples + of popular algorithms in ES6. Algorithmic snippets are primarily a + learning resource, as they might already be implemented natively or + require optimizations to run in production. +shortDescription: >- + Learn a handful of popular algorithms, implemented in JavaScript ES6. +splash: widescreen.png diff --git a/collections/js/array.yaml b/collections/js/array.yaml new file mode 100644 index 000000000..014c1a822 --- /dev/null +++ b/collections/js/array.yaml @@ -0,0 +1,16 @@ +slug: js/t/array +name: JavaScript Array Snippets +shortName: JavaScript Arrays +miniName: Array +featured: true +parent: js +languageMatcher: javascript +tagMatcher: array +description: >- + The JavaScript snippet collection contains a wide variety of ES6 helper + functions. It includes helpers for dealing with primitives, arrays and + objects, as well as algorithms, DOM manipulation functions and Node.js + utilities. +shortDescription: >- + Master array manipulation in JavaScript with this ES6 snippet collection. +splash: plant-screen.png diff --git a/collections/js/browser.yaml b/collections/js/browser.yaml new file mode 100644 index 000000000..e4710a52e --- /dev/null +++ b/collections/js/browser.yaml @@ -0,0 +1,17 @@ +slug: js/t/browser +name: JavaScript Browser Snippets +shortName: JavaScript Browser +miniName: Browser +featured: true +parent: js +languageMatcher: javascript +tagMatcher: browser +description: >- + The JavaScript snippet collection contains a wide variety of ES6 helper + functions. Browser snippets include helper functions for selecting, + traversing, and manipulating DOM elements, while general-purpose helpers + can be found in the JavaScript snippet collection. +shortDescription: >- + Select, traverse and manipulate DOM elements with this collection of + JavaScript ES6 snippets. +splash: laptop-plant.png diff --git a/collections/js/date.yaml b/collections/js/date.yaml new file mode 100644 index 000000000..157ad6ced --- /dev/null +++ b/collections/js/date.yaml @@ -0,0 +1,17 @@ +slug: js/t/date +name: JavaScript Date Snippets +shortName: JavaScript Dates +miniName: Date +featured: true +parent: js +languageMatcher: javascript +tagMatcher: date +description: >- + The JavaScript snippet collection contains a wide variety of ES6 helper + functions. It includes helpers for dealing with primitives, arrays and + objects, as well as algorithms, DOM manipulation functions and Node.js + utilities. +shortDescription: >- + An ES6 snippet collection for formatting and manipulating dates with native + JavaScript. +splash: succulent.png diff --git a/collections/js/function.yaml b/collections/js/function.yaml new file mode 100644 index 000000000..d348a07b7 --- /dev/null +++ b/collections/js/function.yaml @@ -0,0 +1,15 @@ +slug: js/t/function +name: JavaScript Function Snippets +miniName: Function +featured: true +parent: js +languageMatcher: javascript +tagMatcher: function +description: >- + The JavaScript snippet collection contains a wide variety of ES6 helper + functions. It includes helpers for dealing with primitives, arrays and + objects, as well as algorithms, DOM manipulation functions and Node.js + utilities. +shortDescription: >- + Learn everything about JavaScript functions with this ES6 snippet collection. +splash: tablet.png diff --git a/collections/js/index.yaml b/collections/js/index.yaml new file mode 100644 index 000000000..7667d37b0 --- /dev/null +++ b/collections/js/index.yaml @@ -0,0 +1,15 @@ +slug: js +name: JavaScript Snippets +shortName: JavaScript +topLevel: true +languageMatcher: javascript +featured: true +description: >- + The JavaScript snippet collection contains a wide variety of ES6 helper + functions. It includes helpers for dealing with primitives, arrays and + objects, as well as algorithms, DOM manipulation functions and Node.js + utilities. +shortDescription: >- + Browse a wide variety of ES6 helper functions, including array operations, DOM + manipulation, algorithms and Node.js utilities. +splash: laptop-plant.png diff --git a/collections/js/math.yaml b/collections/js/math.yaml new file mode 100644 index 000000000..c6f99e3bd --- /dev/null +++ b/collections/js/math.yaml @@ -0,0 +1,16 @@ +slug: js/t/math +name: JavaScript Math Snippets +shortName: JavaScript Math +miniName: Math +featured: true +parent: js +languageMatcher: javascript +tagMatcher: math +description: >- + The JavaScript snippet collection contains a wide variety of ES6 helper + functions. It includes helpers for dealing with primitives, arrays and + objects, as well as algorithms, DOM manipulation functions and Node.js + utilities. +shortDescription: >- + A snippet collection of math helpers and algorithms implemented in JavaScript. +splash: mobile.png diff --git a/collections/js/node.yaml b/collections/js/node.yaml new file mode 100644 index 000000000..2033886cd --- /dev/null +++ b/collections/js/node.yaml @@ -0,0 +1,17 @@ +slug: js/t/node +name: Node.js Snippets +shortName: Node.js +miniName: Node +featured: true +parent: js +languageMatcher: javascript +tagMatcher: node +description: >- + The Node.js snippet collection contains JavaScript utilities for Node.js + 18.x. It includes helper functions related to server-side code and + filesystem operations, while general-purpose helpers can be found in the + JavaScript snippet collection. +shortDescription: >- + Discover a collection of server-side JavaScript utility functions for + Node.js 18.x. +splash: coffee-drip.png diff --git a/collections/js/object.yaml b/collections/js/object.yaml new file mode 100644 index 000000000..55d56754c --- /dev/null +++ b/collections/js/object.yaml @@ -0,0 +1,17 @@ +slug: js/t/object +name: JavaScript Object Snippets +shortName: JavaScript Objects +miniName: Object +featured: true +parent: js +languageMatcher: javascript +tagMatcher: object +description: >- + The JavaScript snippet collection contains a wide variety of ES6 helper + functions. It includes helpers for dealing with primitives, arrays and + objects, as well as algorithms, DOM manipulation functions and Node.js + utilities. +shortDescription: >- + Handle JavaScript objects with ease, using the snippets and tips in this ES6 + collection. +splash: tablet.png diff --git a/collections/js/string.yaml b/collections/js/string.yaml new file mode 100644 index 000000000..5a6b9de5a --- /dev/null +++ b/collections/js/string.yaml @@ -0,0 +1,15 @@ +slug: js/t/string +name: JavaScript String Snippets +miniName: String +featured: true +parent: js +languageMatcher: javascript +tagMatcher: string +description: >- + The JavaScript snippet collection contains a wide variety of ES6 helper + functions. It includes helpers for dealing with primitives, arrays and + objects, as well as algorithms, DOM manipulation functions and Node.js + utilities. +shortDescription: >- + Master string manipulation in JavaScript with this ES6 snippet collection. +splash: laptop-plant.png diff --git a/collections/js/type.yaml b/collections/js/type.yaml new file mode 100644 index 000000000..661e5b6db --- /dev/null +++ b/collections/js/type.yaml @@ -0,0 +1,16 @@ +slug: js/t/type +name: JavaScript Type Snippets +shortName: JavaScript Types +miniName: Type +featured: true +parent: js +languageMatcher: javascript +tagMatcher: type +description: >- + The JavaScript snippet collection contains a wide variety of ES6 helper + functions. It includes helpers for dealing with primitives, arrays and + objects, as well as algorithms, DOM manipulation functions and Node.js + utilities. +shortDescription: >- + A snippet collection of type helpers and explanations of JavaScript types. +splash: laptop-plant.png diff --git a/collections/main-listing.yaml b/collections/main-listing.yaml new file mode 100644 index 000000000..a91630471 --- /dev/null +++ b/collections/main-listing.yaml @@ -0,0 +1,11 @@ +slug: list +name: Code Snippets +featured: false +splash: laptop-plant.png +description: >- + 30 seconds of code provides a curated collection of short code snippets for + all your development needs. Our collection spans many topics, ranging from + simple coding problems to theoretical concepts and development techniques. +shortDescription: >- + Browse thousands of short code snippets for all your development needs on + 30 seconds of code. diff --git a/collections/python/date.yaml b/collections/python/date.yaml new file mode 100644 index 000000000..cb124ee3c --- /dev/null +++ b/collections/python/date.yaml @@ -0,0 +1,15 @@ +slug: python/t/date +name: Python Date Snippets +shortName: Python Dates +miniName: Date +featured: true +parent: python +languageMatcher: python +tagMatcher: date +description: >- + The Python snippet collection contains helper functions for Python 3.6. It + includes utilities for most common data types, such as primitivies, lists, + dictionaries and date objects. +shortDescription: >- + Easily manipulate dates in Python 3.6 with this snippet collection. +splash: terrarium.png diff --git a/collections/python/dictionary.yaml b/collections/python/dictionary.yaml new file mode 100644 index 000000000..27fc96135 --- /dev/null +++ b/collections/python/dictionary.yaml @@ -0,0 +1,15 @@ +slug: python/t/dictionary +name: Python Dictionary Snippets +shortName: Python Dictionaries +miniName: Dictionary +featured: true +parent: python +languageMatcher: python +tagMatcher: dictionary +description: >- + The Python snippet collection contains helper functions for Python 3.6. It + includes utilities for most common data types, such as primitivies, lists, + dictionaries and date objects. +shortDescription: >- + A snippet collection of dictionary helpers and tips for Python 3.6. +splash: tea-pour.png diff --git a/collections/python/function.yaml b/collections/python/function.yaml new file mode 100644 index 000000000..e4d98dfa4 --- /dev/null +++ b/collections/python/function.yaml @@ -0,0 +1,15 @@ +slug: python/t/function +name: Python Function Snippets +shortName: Python Functions +miniName: Function +featured: true +parent: python +languageMatcher: python +tagMatcher: function +description: >- + The Python snippet collection contains helper functions for Python 3.6. It + includes utilities for most common data types, such as primitivies, lists, + dictionaries and date objects. +shortDescription: >- + A snippet collection of function helpers and tips for Python 3.6. +splash: terrarium.png diff --git a/collections/python/index.yaml b/collections/python/index.yaml new file mode 100644 index 000000000..ec364ae84 --- /dev/null +++ b/collections/python/index.yaml @@ -0,0 +1,14 @@ +slug: python +name: Python Snippets +shortName: Python +topLevel: true +languageMatcher: python +featured: true +description: >- + The Python snippet collection contains helper functions for Python 3.6. It + includes utilities for most common data types, such as primitivies, lists, + dictionaries and date objects. +shortDescription: >- + Browse helper functions for Python 3.6, including utilities for primitives, + lists, dictionaries and date objects. +splash: terrarium.png diff --git a/collections/python/list.yaml b/collections/python/list.yaml new file mode 100644 index 000000000..0abadd6dd --- /dev/null +++ b/collections/python/list.yaml @@ -0,0 +1,15 @@ +slug: python/t/list +name: Python List Snippets +shortName: Python Lists +miniName: List +featured: true +parent: python +languageMatcher: python +tagMatcher: list +description: >- + The Python snippet collection contains helper functions for Python 3.6. It + includes utilities for most common data types, such as primitivies, lists, + dictionaries and date objects. +shortDescription: >- + A snippet collection of list helpers and tips for Python 3.6. +splash: widescreen.png diff --git a/collections/python/math.yaml b/collections/python/math.yaml new file mode 100644 index 000000000..b8eae4274 --- /dev/null +++ b/collections/python/math.yaml @@ -0,0 +1,16 @@ +slug: python/t/math +name: Python Math Snippets +shortName: Python Math +miniName: Math +featured: true +parent: python +languageMatcher: python +tagMatcher: math +description: >- + The Python snippet collection contains helper functions for Python 3.6. It + includes utilities for most common data types, such as primitivies, lists, + dictionaries and date objects. +shortDescription: >- + Learn how to perform common mathematical operations in Python 3.6 with this + snippet collection. +splash: plant-window.png diff --git a/collections/python/string.yaml b/collections/python/string.yaml new file mode 100644 index 000000000..b38f56d42 --- /dev/null +++ b/collections/python/string.yaml @@ -0,0 +1,16 @@ +slug: python/t/string +name: Python String Snippets +shortName: Python Strings +miniName: String +featured: true +parent: python +languageMatcher: python +tagMatcher: string +description: >- + The Python snippet collection contains helper functions for Python 3.6. It + includes utilities for most common data types, such as primitivies, lists, + dictionaries and date objects. +shortDescription: >- + Learn how to format and manipulate strings in Python 3.6 with this snippet + collection. +splash: terrarium.png diff --git a/collections/react-rendering.yaml b/collections/react-rendering.yaml new file mode 100644 index 000000000..8eea84b5f --- /dev/null +++ b/collections/react-rendering.yaml @@ -0,0 +1,18 @@ +slug: c/react-rendering +name: React Rendering +shortName: Rendering +parent: react +featured: true +snippetIds: + - articles/s/react-rendering-basics + - articles/s/react-rendering-optimization + - articles/s/react-rendering-state +splash: glasses-comic.png +description: >- + Understanding of the rendering process is a crucial piece of knowledge when + creating web applications with React. Take a deep dive into the fundamentals + and core concepts as well as more advanced techniques with this series of + articles. +shortDescription: >- + Understand the fundamentals of React's rendering process as well as more + advanced techniques with this series of articles. diff --git a/collections/react-testing.yaml b/collections/react-testing.yaml new file mode 100644 index 000000000..5d220a594 --- /dev/null +++ b/collections/react-testing.yaml @@ -0,0 +1,19 @@ +slug: c/react-testing +name: React Testing +shortName: Testing +parent: react +featured: true +snippetIds: + - articles/s/testing-stateful-ui-components + - articles/s/testing-async-react-components + - articles/s/testing-react-portals + - articles/s/testing-redux-connected-components +splash: headphones.png +description: >- + Testing React can be challenging, both in terms of figuring out the correct + mentality as well as understanding the mechanics of the tools you're working + with. This article collection aims to teach you the basics of testing React + components in various scenarios using React Testing Library. +shortDescription: >- + Learn some of the basics of testing React components in various scenarios + using React Testing Library. diff --git a/collections/react/components.yaml b/collections/react/components.yaml new file mode 100644 index 000000000..4edeb2c39 --- /dev/null +++ b/collections/react/components.yaml @@ -0,0 +1,13 @@ +slug: react/t/components +name: React Components +miniName: Components +featured: true +parent: react +languageMatcher: react +tagMatcher: components +description: >- + The React snippet collection contains function components and reusable hooks + for React 18. +shortDescription: >- + Discover a collection of reusable function components for React 18. +splash: succulent-cluster.png diff --git a/collections/react/hooks.yaml b/collections/react/hooks.yaml new file mode 100644 index 000000000..594f34282 --- /dev/null +++ b/collections/react/hooks.yaml @@ -0,0 +1,13 @@ +slug: react/t/hooks +name: React Hooks +miniName: Hooks +featured: true +parent: react +languageMatcher: react +tagMatcher: hooks +description: >- + The React snippet collection contains function components and reusable hooks + for React 18. +shortDescription: >- + Discover a collection of reusable hooks for React 18. +splash: succulent-cluster.png diff --git a/collections/react/index.yaml b/collections/react/index.yaml new file mode 100644 index 000000000..57f8ddb74 --- /dev/null +++ b/collections/react/index.yaml @@ -0,0 +1,12 @@ +slug: react +name: React Snippets +shortName: React +topLevel: true +languageMatcher: react +featured: true +description: >- + The React snippet collection contains function components and reusable hooks + for React 18. +shortDescription: >- + Discover function components and reusable hooks for React 18. +splash: succulent-cluster.png diff --git a/collections/tips.yaml b/collections/tips.yaml new file mode 100644 index 000000000..6d80a1bd6 --- /dev/null +++ b/collections/tips.yaml @@ -0,0 +1,12 @@ +slug: c/tips +name: Tips & Tricks +featured: true +typeMatcher: tip +splash: lightbulb.png +description: >- + Finding ways to improve and optimize your code takes a lot of time, research + and energy. Level up your coding skills one step at a time with this + collection of quick tips and tricks. +shortDescription: >- + A collection of quick tips and tricks to level up your coding skills one step + at a time. diff --git a/collections/webdev.yaml b/collections/webdev.yaml new file mode 100644 index 000000000..2b549b363 --- /dev/null +++ b/collections/webdev.yaml @@ -0,0 +1,14 @@ +slug: c/web-development +name: Web development Snippets +shortName: Web development +typeMatcher: article +tagMatcher: webdev +description: >- + The web development snippet collection contains curated stories, tips, + questions and answers on a wide variety of topics. The main focus is around + the languages and technologies presented in snippets, as well as career advice + and lessons. +shortDescription: >- + Discover dozens of web development articles, covering a wide variety of topics + and technologies. +splash: matcha.png diff --git a/hub.yaml b/hub.yaml new file mode 100644 index 000000000..9721f2f8c --- /dev/null +++ b/hub.yaml @@ -0,0 +1,47 @@ +name: Snippet Collections +splash: widescreen.png +description: >- + 30 seconds of code provides a wide variety of snippet and article + collections for all your development needs. Explore individual language + collections or browse through collections about specific topics and + programming concepts. +shortDescription: >- + Browse through collections of snippets and articles about specific topics + and programming concepts. +featuredListings: +- js +- css +- react/t/hooks +- js/t/algorithm +- git +- c/js-interviews +- python +- js/t/node +- c/js-data-structures +- c/js-promises +- c/js-comparison +- c/html-head-basics +- c/css-centering +- c/tips +- c/js-url +- c/js-proxy +- c/js-event-handling +- c/js-arrow-functions +- c/react-rendering +- c/js-colors +- c/js-array-methods +- c/js-array-tricks +- c/js-object-key-transformations +- c/react-testing +- c/css-hover-effects +- c/js-string-casing +- c/js-generators +- react/t/components +- c/js-array-set-operations +- c/css-button-transitions +- c/js-random-value-generators +- c/css-background-patterns +- c/js-object-cloning +- c/web-development +- c/js-object-key-selection +- c/cheatsheets diff --git a/languages/css.yaml b/languages/css.yaml new file mode 100644 index 000000000..f5d1d05c0 --- /dev/null +++ b/languages/css.yaml @@ -0,0 +1,3 @@ +short: css +long: css +name: CSS diff --git a/languages/git.yaml b/languages/git.yaml new file mode 100644 index 000000000..afa81d5b3 --- /dev/null +++ b/languages/git.yaml @@ -0,0 +1,3 @@ +short: shell +long: git +name: Git diff --git a/languages/html.yaml b/languages/html.yaml new file mode 100644 index 000000000..7ca201b4e --- /dev/null +++ b/languages/html.yaml @@ -0,0 +1,3 @@ +short: html +long: html +name: HTML diff --git a/languages/javascript.yaml b/languages/javascript.yaml new file mode 100644 index 000000000..6f9d107e9 --- /dev/null +++ b/languages/javascript.yaml @@ -0,0 +1,743 @@ +short: js +long: javascript +name: JavaScript +references: + ...: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax + try...catch: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch + typeof: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof + yield: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/yield + yield*: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/yield* + this: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this + for...of: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of + for...in: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in + delete: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete + in: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in + setInterval(): https://developer.mozilla.org/en-US/docs/Web/API/setInterval + setTimeout(): https://developer.mozilla.org/en-US/docs/Web/API/setTimeout + clearInterval(): https://developer.mozilla.org/en-US/docs/Web/API/clearInterval + clearTimeout(): https://developer.mozilla.org/en-US/docs/Web/API/clearTimeout + parseFloat(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat + parseInt(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt + Error: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error + TypeError: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError + ReferenceError: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError + Boolean: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean + Blob: https://developer.mozilla.org/en-US/docs/Web/API/Blob + console.assert(): https://developer.mozilla.org/en-US/docs/Web/API/console/assert + console.clear(): https://developer.mozilla.org/en-US/docs/Web/API/console/clear + console.count(): https://developer.mozilla.org/en-US/docs/Web/API/console/count + console.countReset(): https://developer.mozilla.org/en-US/docs/Web/API/console/countReset + console.debug(): https://developer.mozilla.org/en-US/docs/Web/API/console/debug + console.dir(): https://developer.mozilla.org/en-US/docs/Web/API/console/dir + console.dirxml(): https://developer.mozilla.org/en-US/docs/Web/API/console/dirxml + console.error(): https://developer.mozilla.org/en-US/docs/Web/API/console/error + console.group(): https://developer.mozilla.org/en-US/docs/Web/API/console/group + console.groupCollapsed(): https://developer.mozilla.org/en-US/docs/Web/API/console/groupCollapsed + console.groupEnd(): https://developer.mozilla.org/en-US/docs/Web/API/console/groupEnd + console.info(): https://developer.mozilla.org/en-US/docs/Web/API/console/info + console.log(): https://developer.mozilla.org/en-US/docs/Web/API/console/log + console.table(): https://developer.mozilla.org/en-US/docs/Web/API/console/table + console.time(): https://developer.mozilla.org/en-US/docs/Web/API/console/time + console.timeEnd(): https://developer.mozilla.org/en-US/docs/Web/API/console/timeEnd + console.timeLog(): https://developer.mozilla.org/en-US/docs/Web/API/console/timeLog + console.trace(): https://developer.mozilla.org/en-US/docs/Web/API/console/trace + console.warn(): https://developer.mozilla.org/en-US/docs/Web/API/console/warn + Array: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array + Array.prototype.length: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length + Array.prototype.at(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at + Array.prototype.concat(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat + Array.prototype.copyWithin(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin + Array.prototype.entries(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries + Array.prototype.every(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every + Array.prototype.fill(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill + Array.prototype.filter(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter + Array.prototype.find(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find + Array.prototype.findIndex(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex + Array.prototype.findLast(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLast + Array.prototype.findLastIndex(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLastIndex + Array.prototype.flat(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat + Array.prototype.flatMap(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap + Array.prototype.forEach(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach + Array.from(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from + Array.prototype.includes(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes + Array.prototype.indexOf(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf + Array.isArray(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray + Array.prototype.join(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join + Array.prototype.keys(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/keys + Array.prototype.lastIndexOf(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf + Array.prototype.map(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map + Array.of(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of + Array.prototype.pop(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop + Array.prototype.push(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push + Array.prototype.reduce(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce + Array.prototype.reduceRight(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight + Array.prototype.reverse(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse + Array.prototype.shift(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift + Array.prototype.slice(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice + Array.prototype.some(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some + Array.prototype.sort(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort + Array.prototype.splice(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice + Array.prototype.toLocaleString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString + Array.prototype.toString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString + Array.prototype.unshift(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift + Array.prototype.values(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/values + String: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String + String.prototype.length: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length + String.prototype.at(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/at + String.prototype.charAt(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt + String.prototype.charCodeAt(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt + String.prototype.codePointAt(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt + String.prototype.concat(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat + String.prototype.endsWith(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith + String.fromCharCode(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode + String.fromCodePoint(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint + String.prototype.includes(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes + String.prototype.indexOf(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf + String.prototype.lastIndexOf(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf + String.prototype.localeCompare(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare + String.prototype.match(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match + String.prototype.matchAll(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/matchAll + String.prototype.normalize(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize + String.prototype.padEnd(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd + String.prototype.padStart(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart + String.raw(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw + String.prototype.repeat(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat + String.prototype.replace(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace + String.prototype.replaceAll(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll + String.prototype.search(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search + String.prototype.slice(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice + String.prototype.split(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split + String.prototype.startsWith(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith + String.prototype.substring(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring + String.prototype.toLocaleLowerCase(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase + String.prototype.toLocaleUpperCase(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase + String.prototype.toLowerCase(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase + String.prototype.toString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toString + String.prototype.toUpperCase(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase + String.prototype.trim(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim + String.prototype.trimEnd(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trimEnd + String.prototype.trimStart(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trimStart + String.prototype.valueOf(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/valueOf + Object: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object + Object.prototype: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object + Object.prototype.constructor: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor + Object.assign(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign + Object.create(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create + Object.defineProperties(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties + Object.defineProperty(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty + Object.entries(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries + Object.freeze(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze + Object.fromEntries(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries + Object.getOwnPropertyDescriptor(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor + Object.getOwnPropertyDescriptors(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors + Object.getOwnPropertyNames(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames + Object.getOwnPropertySymbols(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertySymbols + Object.getPrototypeOf(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf + Object.hasOwn(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn + Object.prototype.hasOwnProperty(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty + Object.is(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + Object.isExtensible(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible + Object.isFrozen(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen + Object.prototype.isPrototypeOf(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf + Object.isSealed(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed + Object.keys(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys + Object.preventExtensions(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions + Object.prototype.propertyIsEnumerable(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable + Object.seal(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal + Object.setPrototypeOf(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf + Object.prototype.toLocaleString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString + Object.prototype.toString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString + Object.prototype.valueOf(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf + Object.values(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values + Math.E: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E + Math.LN10: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10 + Math.LN2: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2 + Math.LOG10E: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E + Math.LOG2E: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E + Math.PI: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI + Math.SQRT1_2: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2 + Math.SQRT2: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2 + Math.abs(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs + Math.acos(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acos + Math.acosh(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acosh + Math.asin(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin + Math.asinh(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asinh + Math.atan(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan + Math.atan2(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2 + Math.atanh(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atanh + Math.cbrt(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cbrt + Math.ceil(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil + Math.clz32(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + Math.cos(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos + Math.cosh(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cosh + Math.exp(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp + Math.expm1(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/expm1 + Math.floor(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor + Math.fround(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + Math.hypot(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot + Math.imul(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + Math.log(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log + Math.log10(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log10 + Math.log1p(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log1p + Math.log2(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2 + Math.max(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max + Math.min(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min + Math.pow(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow + Math.random(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random + Math.round(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round + Math.sign(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign + Math.sin(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin + Math.sinh(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sinh + Math.sqrt(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt + Math.tan(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tan + Math.tanh(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tanh + Math.trunc(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + Number: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number + Number.EPSILON: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILON + Number.MAX_SAFE_INTEGER: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER + Number.MAX_VALUE: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUE + Number.MIN_SAFE_INTEGER: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER + Number.MIN_VALUE: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUE + Number.NaN: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NaN + Number.NEGATIVE_INFINITY: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY + Number.POSITIVE_INFINITY: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY + Number.isFinite(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite + Number.isInteger(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger + Number.isNaN(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN + Number.isSafeInteger(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger + Number.parseFloat(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseFloat + Number.parseInt(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt + Number.prototype.toExponential(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential + Number.prototype.toFixed(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed + Number.prototype.toLocaleString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString + Number.prototype.toPrecision(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision + Number.prototype.toString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString + Number.prototype.valueOf(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/valueOf + Date: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date + Date.prototype.getDate(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate + Date.prototype.getDay(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay + Date.prototype.getFullYear(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear + Date.prototype.getHours(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours + Date.prototype.getMilliseconds(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds + Date.prototype.getMinutes(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinutes + Date.prototype.getMonth(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth + Date.prototype.getSeconds(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSeconds + Date.prototype.getTime(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime + Date.prototype.getTimezoneOffset(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset + Date.prototype.getUTCDate(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDate + Date.prototype.getUTCDay(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDay + Date.prototype.getUTCFullYear(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear + Date.prototype.getUTCHours(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours + Date.prototype.getUTCMilliseconds(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds + Date.prototype.getUTCMinutes(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes + Date.prototype.getUTCMonth(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth + Date.prototype.getUTCSeconds(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds + Date.now(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now + Date.parse(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse + Date.prototype.setDate(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate + Date.prototype.setFullYear(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear + Date.prototype.setHours(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours + Date.prototype.setMilliseconds(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds + Date.prototype.setMinutes(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes + Date.prototype.setMonth(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth + Date.prototype.setSeconds(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds + Date.prototype.setTime(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime + Date.prototype.setUTCDate(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate + Date.prototype.setUTCFullYear(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear + Date.prototype.setUTCHours(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours + Date.prototype.setUTCMilliseconds(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds + Date.prototype.setUTCMinutes(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes + Date.prototype.setUTCMonth(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth + Date.prototype.setUTCSeconds(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds + Date.prototype.toDateString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toDateString + Date.prototype.toISOString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString + Date.prototype.toJSON(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toJSON + Date.prototype.toLocaleDateString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString + Date.prototype.toLocaleString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString + Date.prototype.toLocaleTimeString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString + Date.prototype.toString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toString + Date.prototype.toTimeString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString + Date.prototype.toUTCString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString + Date.UTC(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC + Date.prototype.valueOf(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf + Function.prototype.name: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name + Function.prototype.length: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length + Function.prototype.apply(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply + Function.prototype.call(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call + Function.prototype.bind(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind + Function.prototype.toString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/toString + Promise: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise + Promise.prototype.then(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then + Promise.prototype.catch(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch + Promise.prototype.finally(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/finally + Promise.all(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all + Promise.allSettled(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled + Promise.any(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/any + Promise.race(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/race + Promise.reject(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/reject + Promise.resolve(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve + JSON.parse(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse + JSON.stringify(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify + RegExp: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp + RegExp.prototype.dotAll: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/dotAll + RegExp.prototype.flags: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/flags + RegExp.prototype.global: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/global + RegExp.prototype.hasIndices: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/hasIndices + RegExp.prototype.ignoreCase: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase + 'RegExp: lastIndex': >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/lastIndex + RegExp.prototype.multiline: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/multiline + RegExp.prototype.source: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/source + RegExp.prototype.sticky: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/sticky + RegExp.prototype.unicode: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/unicode + RegExp.prototype.exec(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec + RegExp.prototype.test(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test + RegExp.prototype.toString(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/toString + Set: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set + Set.prototype.size: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/size + Set.prototype.add(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/add + Set.prototype.clear(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/clear + Set.prototype.delete(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/delete + Set.prototype.entries(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/entries + Set.prototype.forEach(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/forEach + Set.prototype.has(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/has + Set.prototype.keys(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/keys + Set.prototype.values(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/values + Map: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map + Map.prototype.size: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/size + Map.prototype.clear(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/clear + Map.prototype.delete(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/delete + Map.prototype.entries(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries + Map.prototype.forEach(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach + Map.prototype.get(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get + Map.prototype.has(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/has + Map.prototype.keys(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/keys + Map.prototype.set(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/set + Map.prototype.values(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/values + WeakMap: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap + WeakMap.prototype.size: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/size + WeakMap.prototype.clear(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/clear + WeakMap.prototype.delete(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/delete + WeakMap.prototype.get(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/get + WeakMap.prototype.has(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/has + WeakMap.prototype.set(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap/set + WeakSet: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet + WeakSet.prototype.size: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet/size + WeakSet.prototype.add(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet/add + WeakSet.prototype.clear(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet/clear + WeakSet.prototype.delete(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet/delete + WeakSet.prototype.has(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet/has + Symbol: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol + Symbol.for(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for + Symbol.iterator: >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/iterator + Document: https://developer.mozilla.org/en-US/docs/Web/API/Document + Document.activeElement: https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement + Document.adoptedStyleSheets: https://developer.mozilla.org/en-US/docs/Web/API/Document/adoptedStyleSheets + Document.body: https://developer.mozilla.org/en-US/docs/Web/API/Document/body + Document.characterSet: https://developer.mozilla.org/en-US/docs/Web/API/Document/characterSet + Document.childElementCount: https://developer.mozilla.org/en-US/docs/Web/API/Document/childElementCount + Document.children: https://developer.mozilla.org/en-US/docs/Web/API/Document/children + Document.compatMode: https://developer.mozilla.org/en-US/docs/Web/API/Document/compatMode + Document.contentType: https://developer.mozilla.org/en-US/docs/Web/API/Document/contentType + Document.currentScript: https://developer.mozilla.org/en-US/docs/Web/API/Document/currentScript + Document.defaultView: https://developer.mozilla.org/en-US/docs/Web/API/Document/defaultView + Document.designMode: https://developer.mozilla.org/en-US/docs/Web/API/Document/designMode + Document.dir: https://developer.mozilla.org/en-US/docs/Web/API/Document/dir + Document.doctype: https://developer.mozilla.org/en-US/docs/Web/API/Document/doctype + Document.documentElement: https://developer.mozilla.org/en-US/docs/Web/API/Document/documentElement + Document.documentURI: https://developer.mozilla.org/en-US/docs/Web/API/Document/documentURI + Document.embeds: https://developer.mozilla.org/en-US/docs/Web/API/Document/embeds + Document.firstElementChild: https://developer.mozilla.org/en-US/docs/Web/API/Document/firstElementChild + Document.fonts: https://developer.mozilla.org/en-US/docs/Web/API/Document/fonts + Document.forms: https://developer.mozilla.org/en-US/docs/Web/API/Document/forms + Document.fullscreenElement: https://developer.mozilla.org/en-US/docs/Web/API/Document/fullscreenElement + Document.fullscreenEnabled: https://developer.mozilla.org/en-US/docs/Web/API/Document/fullscreenEnabled + Document.head: https://developer.mozilla.org/en-US/docs/Web/API/Document/head + Document.hidden: https://developer.mozilla.org/en-US/docs/Web/API/Document/hidden + Document.images: https://developer.mozilla.org/en-US/docs/Web/API/Document/images + Document.implementation: https://developer.mozilla.org/en-US/docs/Web/API/Document/implementation + Document.lastElementChild: https://developer.mozilla.org/en-US/docs/Web/API/Document/lastElementChild + Document.lastModified: https://developer.mozilla.org/en-US/docs/Web/API/Document/lastModified + Document.links: https://developer.mozilla.org/en-US/docs/Web/API/Document/links + Document.location: https://developer.mozilla.org/en-US/docs/Web/API/Document/location + Document.pictureInPictureElement: >- + https://developer.mozilla.org/en-US/docs/Web/API/Document/pictureInPictureElement + Document.pictureInPictureEnabled: >- + https://developer.mozilla.org/en-US/docs/Web/API/Document/pictureInPictureEnabled + Document.plugins: https://developer.mozilla.org/en-US/docs/Web/API/Document/plugins + Document.pointerLockElement: https://developer.mozilla.org/en-US/docs/Web/API/Document/pointerLockElement + Document.readyState: https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState + Document.referrer: https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer + Document.scripts: https://developer.mozilla.org/en-US/docs/Web/API/Document/scripts + Document.scrollingElement: https://developer.mozilla.org/en-US/docs/Web/API/Document/scrollingElement + Document.styleSheets: https://developer.mozilla.org/en-US/docs/Web/API/Document/styleSheets + Document.timeline: https://developer.mozilla.org/en-US/docs/Web/API/Document/timeline + Document.title: https://developer.mozilla.org/en-US/docs/Web/API/Document/title + Document.URL: https://developer.mozilla.org/en-US/docs/Web/API/Document/URL + Document.visibilityState: https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilityState + Document.adoptNode(): https://developer.mozilla.org/en-US/docs/Web/API/Document/adoptNode + Document.append(): https://developer.mozilla.org/en-US/docs/Web/API/Document/append + Document.caretPositionFromPoint(): >- + https://developer.mozilla.org/en-US/docs/Web/API/Document/caretPositionFromPoint + Document.close(): https://developer.mozilla.org/en-US/docs/Web/API/Document/close + Document.createAttribute(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createAttribute + Document.createAttributeNS(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createAttributeNS + Document.createCDATASection(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createCDATASection + Document.createComment(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createComment + Document.createDocumentFragment(): >- + https://developer.mozilla.org/en-US/docs/Web/API/Document/createDocumentFragment + Document.createElement(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement + Document.createElementNS(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createElementNS + Document.createEvent(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createEvent + Document.createExpression(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createExpression + Document.createNodeIterator(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createNodeIterator + Document.createNSResolver(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createNSResolver + Document.createProcessingInstruction(): >- + https://developer.mozilla.org/en-US/docs/Web/API/Document/createProcessingInstruction + Document.createRange(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createRange + Document.createTextNode(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createTextNode + Document.createTreeWalker(): https://developer.mozilla.org/en-US/docs/Web/API/Document/createTreeWalker + Document.elementFromPoint(): https://developer.mozilla.org/en-US/docs/Web/API/Document/elementFromPoint + Document.elementsFromPoint(): https://developer.mozilla.org/en-US/docs/Web/API/Document/elementsFromPoint + Document.evaluate(): https://developer.mozilla.org/en-US/docs/Web/API/Document/evaluate + Document.execCommand(): https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand + Document.exitFullscreen(): https://developer.mozilla.org/en-US/docs/Web/API/Document/exitFullscreen + Document.exitPictureInPicture(): >- + https://developer.mozilla.org/en-US/docs/Web/API/Document/exitPictureInPicture + Document.exitPointerLock(): https://developer.mozilla.org/en-US/docs/Web/API/Document/exitPointerLock + Document.getAnimations(): https://developer.mozilla.org/en-US/docs/Web/API/Document/getAnimations + Document.getElementById(): https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById + Document.getElementsByClassName(): >- + https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName + Document.getElementsByName(): https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByName + Document.getElementsByTagName(): >- + https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByTagName + Document.getElementsByTagNameNS(): >- + https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByTagNameNS + Document.getSelection(): https://developer.mozilla.org/en-US/docs/Web/API/Document/getSelection + Document.hasFocus(): https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus + Document.hasStorageAccess(): https://developer.mozilla.org/en-US/docs/Web/API/Document/hasStorageAccess + Document.importNode(): https://developer.mozilla.org/en-US/docs/Web/API/Document/importNode + Document.open(): https://developer.mozilla.org/en-US/docs/Web/API/Document/open + Document.prepend(): https://developer.mozilla.org/en-US/docs/Web/API/Document/prepend + Document.querySelector(): https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector + Document.querySelectorAll(): https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll + Document.replaceChildren(): https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren + Document.requestStorageAccess(): >- + https://developer.mozilla.org/en-US/docs/Web/API/Document/requestStorageAccess + Document.write(): https://developer.mozilla.org/en-US/docs/Web/API/Document/write + Document.writeln(): https://developer.mozilla.org/en-US/docs/Web/API/Document/writeln + Storage: https://developer.mozilla.org/en-US/docs/Web/API/Storage + Storage.clear(): https://developer.mozilla.org/en-US/docs/Web/API/Storage/clear + Storage.getItem(): https://developer.mozilla.org/en-US/docs/Web/API/Storage/getItem + Storage.key(): https://developer.mozilla.org/en-US/docs/Web/API/Storage/key + Storage.removeItem(): https://developer.mozilla.org/en-US/docs/Web/API/Storage/removeItem + Storage.setItem(): https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem + URLSearchParams: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams + XMLHttpRequest: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest + encodeURIComponent(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent + decodeURIComponent(): >- + https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent diff --git a/languages/python.yaml b/languages/python.yaml new file mode 100644 index 000000000..46b862dd1 --- /dev/null +++ b/languages/python.yaml @@ -0,0 +1,3 @@ +short: py +long: python +name: Python diff --git a/languages/react.yaml b/languages/react.yaml new file mode 100644 index 000000000..606a98485 --- /dev/null +++ b/languages/react.yaml @@ -0,0 +1,13 @@ +short: jsx +long: react +name: React +references: + useCallback(): https://react.dev/reference/react/useCallback + useContext(): https://react.dev/reference/react/useContext + useDebugValue(): https://react.dev/reference/react/useDebugValue + useEffect(): https://react.dev/reference/react/useEffect + useLayoutEffect(): https://react.dev/reference/react/useLayoutEffect + useMemo(): https://react.dev/reference/react/useMemo + useReducer(): https://react.dev/reference/react/useReducer + useRef(): https://react.dev/reference/react/useRef + useState(): https://react.dev/reference/react/useState diff --git a/rankingEngine.yaml b/rankingEngine.yaml new file mode 100644 index 000000000..724d13354 --- /dev/null +++ b/rankingEngine.yaml @@ -0,0 +1,118 @@ +accessibility: 1 +algorithm: 4 +animation: 5 +array: 5 +arrow: 1 +async: 2 +await: 2 +background: 1 +bind: 2 +boolean: 1 +border: 2 +branch: 3 +browser: 3 +button: 1 +callback: 2 +cascade: 4 +center: 1 +cheatsheet: 2 +children: 1 +class: 1 +color: 1 +collection: 3 +commit: 2 +component: 2 +comprehension: 5 +configuration: 2 +constructor: 2 +copy: 3 +css: 4 +data: 1 +date: 4 +deep: 1 +delay: 2 +design: 2 +destructuring: 4 +devtools: 1 +dictionary: 4 +display: 1 +effect: 2 +event: 4 +filter: 5 +flex: 5 +foreach: 3 +format: 2 +fragment: 1 +function: 3 +generator: 2 +get: 2 +git: 4 +grid: 5 +group: 2 +hook: 2 +hover: 2 +html: 2 +index: 1 +input: 1 +interactivity: 2 +iterator: 3 +javascript: 5 +join: 4 +json: 3 +key: 2 +layout: 4 +lifecycle: 2 +list: 5 +loop: 3 +map: 5 +margin: 3 +math: 1 +memoization: 2 +merge: 4 +node: 3 +object: 4 +overflow: 2 +padding: 3 +pattern: 2 +performance: 2 +promise: 5 +props: 1 +push: 3 +python: 3 +query: 1 +question: 1 +random: 2 +range: 3 +react: 1 +recursion: 2 +reduce: 5 +redux: 3 +ref: 2 +reflection: 2 +regexp: 3 +render: 2 +replace: 3 +repository: 3 +scroll: 1 +selector: 1 +shadow: 3 +slice: 2 +sort: 3 +splice: 2 +spread: 4 +stash: 2 +state: 3 +string: 3 +style: 1 +substring: 3 +table: 1 +testing: 3 +timeout: 2 +transition: 2 +type: 1 +unique: 1 +url: 2 +variable: 1 +visual: 4 +webdev: 3 +whitespace: 1 diff --git a/snippets/articles/s/10-vs-code-extensions-for-js-developers.md b/snippets/articles/s/10-vs-code-extensions-for-js-developers.md new file mode 100644 index 000000000..9d6c74bfa --- /dev/null +++ b/snippets/articles/s/10-vs-code-extensions-for-js-developers.md @@ -0,0 +1,54 @@ +--- +title: 10 must-have VS Code extensions for JavaScript developers +shortTitle: Essential VS Code extensions +type: story +language: javascript +tags: [devtools,vscode] +author: chalarangelo +cover: computer-screens +excerpt: Boost your productivity with these 10 essential VS Code extensions for JavaScript developers. +unlisted: true +dateModified: 2021-06-12T19:30:41+03:00 +--- + +Developers will most likely argue for the rest of eternity about the most productive code editor and the best extensions. Here are my personal extension preferences for VS Code as a JavaScript developer: + +### ESLint + +[ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) turns the popular JavaScript linter into an extension of VS Code. It automatically reads your linting configuration, identifies problems and even fixes them for you, if you want. + +### GitLens + +[GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) is a very powerful collaboration tool for VS Code. It provides many useful tools for git such as blame, code authorship, activity heatmaps, recent changes, file history and even commit search. + +### Debugger for Chrome + +[Debugger for Chrome](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) allows you to debug your JavaScript code in Chrome or Chromium. Breakpoints, call stack inspection and stepping inside a function are only some of its features. + +### Bracket Pair Colorizer 2 + +[Bracket Pair Colorizer 2](https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2) makes reading code faster as it makes matching brackets the same color. This extension for VS Code improves upon its predecessor by providing improved performance. + +### Bookmarks + +[Bookmarks](https://marketplace.visualstudio.com/items?itemName=alefragnani.Bookmarks) is one of those extensions that will significantly reduce your time jumping between different files, as it allows you to save important positions and navigate back to them easily and quickly. + +### TODO Highlight + +[TODO Highlight](https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight) simplifies tracking leftover tasks by allowing you to list all of your TODO annotations, as well as adding a handy background highlight to them to make them pop out immediately. + +### Live Server + +[Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) gives you an easy way to serve web pages from VS Code, making previewing and debugging a lot easier. One of the core features is the live reload support that many developers are used to. + +### REST Client + +[REST Client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client) allows you to send HTTP requests and view the responses directly in VS Code. This extension supports a wide range of formats and authorization and should work with most setups. + +### One Dark Pro + +[One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme) is one of the most popular VS Code themes and with very good reason. It provides a clean theme with a nice palette that has great contrast and is very comfortable to use on a daily basis. + +### Fira Code + +[Fira Code](https://github.com/tonsky/FiraCode) is not a traditional VS Code extension and might take a couple more steps to set up, but it's a superb programming font with ligatures that will help you scan code faster once you get used to it. diff --git a/snippets/articles/s/25-css-gradients.md b/snippets/articles/s/25-css-gradients.md new file mode 100644 index 000000000..0beaad519 --- /dev/null +++ b/snippets/articles/s/25-css-gradients.md @@ -0,0 +1,303 @@ +--- +title: 25 CSS gradients for your next project +shortTitle: CSS gradients +type: cheatsheet +language: css +tags: [visual] +author: chalarangelo +cover: colors-mural +excerpt: We hand picked 25 of our favorite CSS gradients from uiGradients for your next design. Get them now! +dateModified: 2021-06-12T19:30:41+03:00 +--- + +[uiGradients](https://uigradients.com/) has an amazing collection of ready-to-use CSS gradients for pretty much anything. I highly recommend checking out the full collection. Meantime, here are our top picks in case you're looking for some color: + + + +
+ +```css +.stripe { + background: linear-gradient(to right, #1fa2ff, #12d8fa, #a6ffcb); +} +``` + + + +```css +.flare { + background: linear-gradient(to right, #f12711, #f5af19); +} +``` + + + +```css +.vanusa { + background: linear-gradient(to right, #da4453, #89216b); +} +``` + + + +```css +.sublime-light { + background: linear-gradient(to right, #fc5c7d, #6a82fb); +} +``` + + + +```css +.bighead { + background: linear-gradient(to right, #c94b4b, #4b134f); +} +``` + + + +```css +.velvet-sun { + background: linear-gradient(to right, #e1eec3, #f05053); +} +``` + + + +```css +.argon { + background: linear-gradient(to right, #03001e, #7303c0, #ec38bc, #fdeff9); +} +``` + + + +```css +.celestial { + background: linear-gradient(to right, #c33764, #1d2671); +} +``` + + + +```css +.relay { + background: linear-gradient(to right, #3a1c71, #d76d77, #ffaf7b); +} +``` + + + +```css +.crystal-clear { + background: linear-gradient(to right, #159957, #155799); +} +``` + + + +```css +.ibiza-sunset { + background: linear-gradient(to right, #ee0979, #ff6a00); +} +``` + + + +```css +.fresh-turboscent { + background: linear-gradient(to right, #f1f2b5, #135058); +} +``` + + + +```css +.cheer-up-emo-kid { + background: linear-gradient(to right, #556270, #ff6b6b); +} +``` + + + +```css +.starfall { + background: linear-gradient(to right, #f0c27b, #4b1248); +} +``` + + + +```css +.nelson { + background: linear-gradient(to right, #f2709c, #ff9472); +} +``` + + + +```css +.forever-lost { + background: linear-gradient(to right, #5d4157, #a8caba); +} +``` + + + +```css +.blurry-beach { + background: linear-gradient(to right, #d53369, #cbad6d); +} +``` + + + +```css +.influenza { + background: linear-gradient(to right, #c04848, #480048); +} +``` + + + +```css +.jshine { + background: linear-gradient(to right, #12c2e9, #c471ed, #f64f59); +} +``` + + + +```css +.calm-darya { + background: linear-gradient(to right, #5f2c82, #49a09d); +} +``` + + + +```css +.titanium { + background: linear-gradient(to right, #283048, #859398); +} +``` + + + +```css +.pinky { + background: linear-gradient(to right, #dd5e89, #f7bb97); +} +``` + + + +```css +.purple-paradise { + background: linear-gradient(to right, #1d2b64, #f8cdda); +} +``` + + + +```css +.horizon { + background: linear-gradient(to right, #003973, #e5e5be); +} +``` + + + +```css +.noon-to-dusk { + background: linear-gradient(to right, #ff6e7f, #bfe9ff); +} +``` diff --git a/snippets/articles/s/4-javascript-array-methods.md b/snippets/articles/s/4-javascript-array-methods.md new file mode 100644 index 000000000..f7b9cf635 --- /dev/null +++ b/snippets/articles/s/4-javascript-array-methods.md @@ -0,0 +1,59 @@ +--- +title: 4 JavaScript Array methods you must know +shortTitle: Useful array methods +type: story +language: javascript +tags: [array,cheatsheet] +author: chalarangelo +cover: arrays +excerpt: JavaScript arrays have a very robust API offering some amazing tools. Learn the 4 must-know JavaScript array methods in this quick guide. +dateModified: 2021-06-12T19:30:41+03:00 +--- + +JavaScript arrays have a very robust API offering a plethora of amazing tools. Here are our top 4 JavaScript array methods every developer should know: + +### Array.prototype.map() + +[`Array.prototype.map()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) creates a new array by applying the provided transformation to each element of the original array. The result is an array with the same length as the original array and elements transformed based on the provided function. + +```js +const arr = [1, 2, 3]; +const double = x => x * 2; +arr.map(double); // [2, 4, 6] +``` + +### Array.prototype.filter() + +[`Array.prototype.filter()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) creates a new array by using a filtering function to keep only elements that return `true` based on that function. The result is an array with equal or less than the original array's length, containing a subset of the same elements as the original array. + +```js +const arr = [1, 2, 3]; +const isOdd = x => x % 2 === 1; +arr.filter(isOdd); // [1, 3] +``` + + + +### Array.prototype.reduce() + +[`Array.prototype.reduce()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce) creates an output value of any type depending on a reducer function and an initial value. The result can be of any type such as an integer, an object or an array, based on the reducer function provided. + +```js +const arr = [1, 2, 3]; + +const sum = (x, y) => x + y; +arr.reduce(sum, 0); // 6 + +const increment = (x, y) => [...x, x[x.length - 1] + y]; +arr.reduce(increment, [0]); // [0, 1, 3, 6] +``` + +### Array.prototype.find() + +[`Array.prototype.find()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) returns the first element for which a matcher function returns `true`. The result is a single element from the original array. + +```js +const arr = [1, 2, 3]; +const isOdd = x => x % 2 === 1; +arr.find(isOdd); // 1 +``` diff --git a/snippets/articles/s/4-seo-tips-for-developers.md b/snippets/articles/s/4-seo-tips-for-developers.md new file mode 100644 index 000000000..47c0aa007 --- /dev/null +++ b/snippets/articles/s/4-seo-tips-for-developers.md @@ -0,0 +1,27 @@ +--- +title: 4 SEO tips for developers +shortTitle: SEO tips +type: story +tags: [webdev,seo] +author: chalarangelo +cover: sunrise-over-city +excerpt: SEO is a very relevant topics that most developers are inexperienced in. Here are 4 actionable SEO tips you can implement today. +dateModified: 2021-06-12T19:30:41+03:00 +--- + +SEO is becoming increasingly relevant as the internet keeps growing. While most web developers usually have little experience with SEO, it is not particularly difficult to handle some of the basics. Here are my top SEO tips for web developers: + +### Craft user-friendly URLs and map the appropriately + +First and foremost, start at the very beginning, which is your **URL slugs**. For URL slugs the rule is that you want them to be human-readable, with words separated by dashes and with no random letters or digits added. Secondly, it's a good idea to make sure that parts of your URLs match to a **logical structure** in your website (e.g. `/blog/posts/awesome-list-of-seo-tips`). Finally, take the time to build a sitemap and redirect any broken or old URLs to new ones. This will help reduce 404 pages. + +### Use structured data to help Google understand your pages + +**Structured data** is what Google uses to power its **featured snippets**, those little cards that appear at the top of certain searches. It's a good idea to set up structured data for your pages, which will help you rank higher in search results and possibly even land a featured snippet every once in a while. Just make sure to find the appropriate structured data type and include it in your page and you should be good to go. +### Set up Google Analytics and Google Search Console + +This is hardly a new tip, but I think it deserves a spot on the list, as both of these tools are extremely important. **Google Analytics** allows you to track user behavior and gather data that can help you identify problems and opportunities, while **Google Search Console** is helpful for figuring out what users are searching for before landing on your website. + +### Keep an eye on your markup, performance and accessibility + +Last but not least, something that is probably already on your list, is **optimizing your code**. This includes everything from writing semantic markup and keeping requests to a minimum to optimizing for all device types, making your website accessible and ensuring fast load times. Keep in mind that websites have many moving parts that evolve and change over time, so it's a good idea to audit your website often with a tool like Lighthouse. diff --git a/snippets/articles/s/5-tips-for-better-pull-requests.md b/snippets/articles/s/5-tips-for-better-pull-requests.md new file mode 100644 index 000000000..d7ade7348 --- /dev/null +++ b/snippets/articles/s/5-tips-for-better-pull-requests.md @@ -0,0 +1,33 @@ +--- +title: 5 tips for better Pull Requests +type: story +language: git +tags: [github,programming,webdev] +author: chalarangelo +cover: keyboard-tea +excerpt: Writing good code is only part of the job. Here are 5 tips to improve your pull requests and help people review them. +unlisted: true +dateModified: 2021-06-12T19:30:41+03:00 +--- + +Writing good code is only part of the job. Here are 5 tips to improve your pull requests and help people review them: + +### Small pull requests + +The pull requests that get reviewed more thoroughly and confidently and are most often prioritized by developers with limited time are the smallest ones. Make sure you separate concerns into different pull requests (e.g. refactoring and feature implementation), while also keeping commits atomic and well-documented to make the changes easier to understand and review. + +### Good descriptions + +Always take the time to describe your code and any related tasks in your pull request. Explain the feature you are implementing or the bug you are fixing and provide images and steps to reproduce, if applicable. Note decisions made during implementation, your approach, as well as any limitations, findings and points of interest that might help others better understand your code. + +### Rebase onto master + +Always rebase your pull requests onto the `master` branch of the repository. This way you can always test your code against the latest changes and resolve merge conflicts, minimizing issues that might arise later on. Apart from that, reviewers will not have to deal with missing features or bug fixes that might have been deployed already, which can considerably speed up review times. + +### Review it yourself + +Before submitting your pull request for review, always take the time to review it yourself. That way you can handle some low-hanging fruits (typos, easy optimizations, leftover code etc.) and check things you would in other people's pull requests. Self-reviewing has the added benefit of allowing you to reason about decisions and realize which ones might need clarification. + +### Respond to reviews + +Set some time aside to respond to reviews after submitting your pull request. Handle anything you can as soon as possible and start discussion whenever necessary to arrive to a solution. Use `--fixup` for changes suggested in review comments or add new commits to help reviewers parse new changes more easily. Finally, assume good intentions, be polite and thank your peers. diff --git a/snippets/articles/s/6-javascript-regexp-tricks.md b/snippets/articles/s/6-javascript-regexp-tricks.md new file mode 100644 index 000000000..2412a3632 --- /dev/null +++ b/snippets/articles/s/6-javascript-regexp-tricks.md @@ -0,0 +1,121 @@ +--- +title: 6 JavaScript Regular Expression features you can use today +shortTitle: JavaScript Regular Expression tips +type: story +language: javascript +tags: [string,regexp] +author: chalarangelo +cover: taking-photos +excerpt: Regular expressions are very powerful, but hard to master. Understand these features and start using them in your JavaScript code. +dateModified: 2021-06-12T19:30:41+03:00 +--- + +Regular expressions, while very powerful, are notoriously hard to master. Here are 6 useful features that can help you start using them in your JavaScript projects: + +### Capturing groups + +Capturing groups allow you to get specific parts of the matched string, simply by wrapping part of the regular expression in parentheses `(...)`: + +```js +const str = 'JavaScript is a programming language'; +/(JavaScript) is a (.*)/.exec(str); +/* + [ + 0: 'JavaScript is a programming language', + 1: 'JavaScript', + 2: 'programming language' + ] +*/ +``` + +### Non-capturing groups + +Non-capturing groups are used for matching something without capturing it, like an either/or matching group that you do not really need. They are defined similarly to capturing groups, but prefixed with `?:`: + +```js +const str = 'JavaScript is a programming language'; +/(?:JavaScript|Python) is a (.+)/.exec(str); +/* + [ + 0: 'JavaScript is a programming language', + 1: 'programming language' + ] +*/ +``` + +### Named capturing groups + +Named capturing groups allow you to name a capturing group, by prefixing it with `