From fe8e613db58119f530ccd90625ed528093f9cc4d Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Sun, 4 Dec 2022 22:26:36 +0200 Subject: [PATCH] Deprecate expertise field --- CONTRIBUTING.md | 1 - blog_posts/10-vs-code-extensions-for-js-developers.md | 1 - blog_posts/25-css-gradients.md | 1 - blog_posts/4-javascript-array-methods.md | 1 - blog_posts/4-seo-tips-for-developers.md | 1 - blog_posts/5-tips-for-better-pull-requests.md | 1 - blog_posts/6-javascript-regexp-tricks.md | 1 - blog_posts/6-python-f-strings-tips.md | 1 - blog_posts/7-chrome-extensions-for-web-developers.md | 1 - blog_posts/8-tips-for-accessible-websites.md | 1 - blog_posts/8-tips-for-remote-work.md | 1 - blog_posts/async-javascript-cheatsheet.md | 1 - blog_posts/benefits-of-writing.md | 1 - blog_posts/big-o-cheatsheet.md | 1 - blog_posts/breaking-react.md | 1 - blog_posts/code-anatomy-chaining-reduce-for-loop.md | 1 - blog_posts/code-anatomy-optimizing-recursion.md | 1 - blog_posts/code-anatomy-performant-python.md | 1 - blog_posts/common-regexp-cheatsheet.md | 1 - blog_posts/console-log-cheatsheet.md | 1 - blog_posts/cookies-local-storage-session.md | 1 - blog_posts/copy-text-to-clipboard-with-javascript.md | 1 - blog_posts/css-centering.md | 1 - blog_posts/css-clamp.md | 1 - blog_posts/css-current-color.md | 1 - blog_posts/css-easing-variables.md | 1 - blog_posts/css-footer-at-the-bottom.md | 1 - blog_posts/css-inherited-properties-cheatsheet.md | 1 - blog_posts/css-nested-border-radius.md | 1 - blog_posts/css-pseudo-classes.md | 1 - blog_posts/css-reset.md | 1 - blog_posts/css-root-vs-html.md | 1 - blog_posts/css-select-any-link.md | 1 - blog_posts/css-style-default-links.md | 1 - blog_posts/css-unitless-line-height.md | 1 - blog_posts/css-units-cheatsheet.md | 1 - blog_posts/css-variables.md | 1 - blog_posts/custom-file-download-names.md | 1 - blog_posts/detect-caps-lock-is-on.md | 1 - blog_posts/dns-record-basics.md | 1 - blog_posts/escaping-tutorial-hell.md | 1 - blog_posts/eslint-refactor-for-in.md | 1 - blog_posts/flexbox-cheatsheet.md | 1 - blog_posts/git-aliases.md | 1 - blog_posts/git-commit-different-date.md | 1 - blog_posts/git-fast-forward.md | 1 - blog_posts/github-co-authors.md | 1 - blog_posts/http-status-codes-cheatsheet.md | 1 - blog_posts/javascript-add-key-value-pair-to-object.md | 1 - blog_posts/javascript-array-comparison.md | 1 - blog_posts/javascript-array-includes-value.md | 1 - blog_posts/javascript-arrow-function-event-listeners.md | 1 - blog_posts/javascript-arrow-functions.md | 1 - blog_posts/javascript-arrow-regular-function-differences.md | 1 - blog_posts/javascript-async-array-loops.md | 1 - blog_posts/javascript-await-timeout.md | 1 - blog_posts/javascript-blank-value.md | 1 - blog_posts/javascript-boolean-function.md | 1 - blog_posts/javascript-boolean-trap.md | 1 - blog_posts/javascript-callbacks.md | 1 - blog_posts/javascript-classical-vs-prototypal-inheritance.md | 1 - blog_posts/javascript-closures.md | 1 - blog_posts/javascript-copy-array.md | 1 - blog_posts/javascript-date-comparison.md | 1 - blog_posts/javascript-deep-freeze-object.md | 1 - blog_posts/javascript-destructuring-assignment.md | 1 - blog_posts/javascript-empty-array.md | 1 - blog_posts/javascript-encodeuri-encodeuricomponent.md | 1 - blog_posts/javascript-enum.md | 1 - blog_posts/javascript-equality.md | 1 - blog_posts/javascript-event-bubbling-capturing-delegation.md | 1 - blog_posts/javascript-event-loop-explained.md | 1 - blog_posts/javascript-evil-closures.md | 1 - blog_posts/javascript-expression-statement.md | 1 - blog_posts/javascript-for-in-for-of-foreach.md | 1 - blog_posts/javascript-for-loop-early-break.md | 1 - blog_posts/javascript-function-call-apply-bind.md | 1 - blog_posts/javascript-higher-order-functions.md | 1 - blog_posts/javascript-iife.md | 1 - blog_posts/javascript-index-for-of-loop.md | 1 - blog_posts/javascript-iterable-to-array.md | 1 - blog_posts/javascript-iterators.md | 1 - blog_posts/javascript-json-stringify-pick-keys.md | 1 - blog_posts/javascript-listen-once.md | 1 - blog_posts/javascript-make-iterable.md | 1 - blog_posts/javascript-memoization.md | 1 - blog_posts/javascript-merge-arrays.md | 1 - blog_posts/javascript-modify-url-without-reload.md | 1 - blog_posts/javascript-module-cheatsheet.md | 1 - blog_posts/javascript-naming-conventions.md | 1 - blog_posts/javascript-nullish-coalescing-optional-chaining.md | 1 - blog_posts/javascript-numeric-separator.md | 1 - blog_posts/javascript-object-array-proxy.md | 1 - blog_posts/javascript-object-comparison.md | 1 - blog_posts/javascript-object-is-triple-equals.md | 1 - blog_posts/javascript-pass-by-reference-or-pass-by-value.md | 1 - blog_posts/javascript-prefix-postfix-operators.md | 1 - blog_posts/javascript-pretty-print-json.md | 1 - blog_posts/javascript-prevent-string-being-escaped.md | 1 - blog_posts/javascript-primitive-instanceof.md | 1 - blog_posts/javascript-promise-then-catch.md | 1 - blog_posts/javascript-promise-then-finally.md | 1 - blog_posts/javascript-promises.md | 1 - blog_posts/javascript-property-enumerability.md | 1 - blog_posts/javascript-pure-functions.md | 1 - blog_posts/javascript-query-selector-shorthand.md | 1 - blog_posts/javascript-random-value-pure-functions.md | 1 - blog_posts/javascript-range-generator.md | 1 - blog_posts/javascript-recursion.md | 1 - blog_posts/javascript-remove-object-property.md | 1 - blog_posts/javascript-return-constructor.md | 1 - blog_posts/javascript-shallow-deep-clone.md | 1 - blog_posts/javascript-singleton-proxy.md | 1 - blog_posts/javascript-sleep.md | 1 - blog_posts/javascript-spread-rest-syntax.md | 1 - blog_posts/javascript-store-dom-items.md | 1 - blog_posts/javascript-string-contains-substring.md | 1 - blog_posts/javascript-string-immutability.md | 1 - blog_posts/javascript-string-to-boolean.md | 1 - blog_posts/javascript-swap-two-variables.md | 1 - blog_posts/javascript-switch-object.md | 1 - blog_posts/javascript-sync-async.md | 1 - blog_posts/javascript-target-blank.md | 1 - blog_posts/javascript-ternary-operator.md | 1 - blog_posts/javascript-this.md | 1 - blog_posts/javascript-truthy-falsy-values.md | 1 - blog_posts/javascript-undeclared-undefined-null.md | 1 - blog_posts/javascript-use-strict.md | 1 - blog_posts/javascript-value-as-number.md | 1 - blog_posts/javascript-value-not-equal-to-itself.md | 1 - blog_posts/javascript-var-let-const.md | 1 - blog_posts/javascript-variable-hoisting.md | 1 - blog_posts/javascript-variable-scope.md | 1 - blog_posts/javascript-void-links.md | 1 - blog_posts/jest-mock-global-methods.md | 1 - blog_posts/js-abort-fetch.md | 1 - blog_posts/js-append-elements-to-array.md | 1 - blog_posts/js-array-filtering-tips.md | 1 - blog_posts/js-array-min-max.md | 1 - blog_posts/js-array-sorting-shorthand.md | 1 - blog_posts/js-async-defer.md | 1 - blog_posts/js-callbacks.md | 1 - blog_posts/js-compare-string-case-accent-insensitive.md | 1 - blog_posts/js-create-element.md | 1 - blog_posts/js-data-structures-binary-search-tree.md | 1 - blog_posts/js-data-structures-binary-tree.md | 1 - blog_posts/js-data-structures-doubly-linked-list.md | 1 - blog_posts/js-data-structures-graph.md | 1 - blog_posts/js-data-structures-linked-list.md | 1 - blog_posts/js-data-structures-queue.md | 1 - blog_posts/js-data-structures-stack.md | 1 - blog_posts/js-data-structures-tree.md | 1 - blog_posts/js-decimal-to-hex.md | 1 - blog_posts/js-detect-undefined-object-property.md | 1 - blog_posts/js-double-negation-operator.md | 1 - blog_posts/js-dynamic-properties-are-slow.md | 1 - blog_posts/js-edit-url-params.md | 1 - blog_posts/js-element-from-point.md | 1 - blog_posts/js-email-validation.md | 1 - blog_posts/js-fast-remove-array-element.md | 1 - blog_posts/js-frequency-map-data-structure.md | 1 - blog_posts/js-immutable-object-proxy.md | 1 - blog_posts/js-last-element-of-array.md | 1 - blog_posts/js-locale-sensitive-string-truncation.md | 1 - blog_posts/js-map-vs-object.md | 1 - blog_posts/js-native-data-structures.md | 1 - blog_posts/js-object-freeze-vs-seal.md | 1 - blog_posts/js-proxy-array-negative-index.md | 1 - blog_posts/js-remove-array-duplicates.md | 1 - blog_posts/js-remove-element-from-array.md | 1 - blog_posts/js-remove-trailing-zeros.md | 1 - blog_posts/js-replace-all-occurences-of-string.md | 1 - blog_posts/js-spread-operator-tricks.md | 1 - blog_posts/js-static-instance-methods.md | 1 - blog_posts/js-timeout-interval-delay.md | 1 - blog_posts/js-typecheck-array.md | 1 - blog_posts/js-window-location-cheatsheet.md | 1 - blog_posts/lazy-loading-images.md | 1 - blog_posts/nodejs-chrome-debugging.md | 1 - blog_posts/nodejs-static-file-server.md | 1 - blog_posts/password-autocomplete-suggestion.md | 1 - blog_posts/perfect-css-transition-duration.md | 1 - blog_posts/prefetching-resources.md | 1 - blog_posts/python-bare-except.md | 1 - blog_posts/python-dict-getkey-vs-dictkey.md | 1 - blog_posts/python-file-close.md | 1 - blog_posts/python-fstrings-str-format.md | 1 - blog_posts/python-identity-equality.md | 1 - blog_posts/python-lists-tuples.md | 1 - blog_posts/python-lowercase.md | 1 - blog_posts/python-mutable-default-arguments.md | 1 - blog_posts/python-named-tuples.md | 1 - blog_posts/python-slice-assignment.md | 1 - blog_posts/python-slice-notation.md | 1 - blog_posts/python-sort-dictionary-tuple-key.md | 1 - blog_posts/python-sortedlist-vs-list-sort.md | 1 - blog_posts/python-string-is-empty.md | 1 - blog_posts/python-swap-variables.md | 1 - blog_posts/python-trim-whitespace.md | 1 - blog_posts/react-conditional-classname.md | 1 - blog_posts/react-proptypes-objectof-vs-shape.md | 1 - blog_posts/react-redux-readable-reducers.md | 1 - blog_posts/react-rendering-basics.md | 1 - blog_posts/react-rendering-optimization.md | 1 - blog_posts/react-rendering-state.md | 1 - blog_posts/react-selected-option.md | 1 - blog_posts/react-use-effect-primitive-dependencies.md | 1 - blog_posts/react-use-interval-explained.md | 1 - blog_posts/react-use-state-with-label.md | 1 - blog_posts/regexp-cheatsheet.md | 1 - blog_posts/resource-preloading-cheatsheet.md | 1 - blog_posts/responsive-favicon-dark-mode.md | 1 - blog_posts/reversed-list.md | 1 - blog_posts/select-focused-dom-element.md | 1 - blog_posts/setup-python3-pip3-as-default.md | 1 - blog_posts/technical-debt.md | 1 - blog_posts/terminal-shortcuts-cheatsheet.md | 1 - blog_posts/testing-async-react-components.md | 1 - blog_posts/testing-react-portals.md | 1 - blog_posts/testing-redux-connected-components.md | 1 - blog_posts/testing-stateful-ui-components.md | 1 - blog_posts/typographic-scale-basics.md | 1 - blog_posts/zooming-accessibility-tips.md | 1 - snippet-template.md | 1 - 224 files changed, 224 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bf9cd6c1c..b63c871e3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,7 +33,6 @@ In order to create a new snippet, you should follow the steps below: - Snippet titles must be short enough and correspond to the type of the snippet. Titles for each type must follow the format of previous snippets (e.g. `The trickiest thing about X` for a story, `X things that are awesome` for a list, `How do I do X in Y?` for a question). - Snippet types must be one of the following: `story`, `list`, `tip`, `cheatsheet` or `question`. - Snippet tags must be comma-separated. You are allowed to specify a single language tag (e.g. `react` or `javascript`), preferably as the first tag. -- Snippet expertise must be specified (`beginner`, `intermediate` or `advanced`). - Snippets must have their `firstSeen` dates formatted using [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). - Snippet authors must be added in JSON format as seen in `blog_data/blog_authors.json`. - Snippet covers must be added inside the `blog_images` directory and have the exact same name as the snippet filename. Snippet covers must be Unsplash images of appropriate theme and content and their links must be provided as part of the PR, so that they can be added to the appropriate collection. diff --git a/blog_posts/10-vs-code-extensions-for-js-developers.md b/blog_posts/10-vs-code-extensions-for-js-developers.md index cf4ab69cd..34105a836 100644 --- a/blog_posts/10-vs-code-extensions-for-js-developers.md +++ b/blog_posts/10-vs-code-extensions-for-js-developers.md @@ -3,7 +3,6 @@ title: 10 must-have VS Code extensions for JavaScript developers shortTitle: Essential VS Code extensions type: story tags: devtools,vscode -expertise: intermediate author: chalarangelo cover: blog_images/computer-screens.jpg excerpt: VS Code is steadily gaining popularity among developers. Here are 10 essential extensions for JavaScript developers that aim to increase your productivity. diff --git a/blog_posts/25-css-gradients.md b/blog_posts/25-css-gradients.md index b8706c370..6a0ec6041 100644 --- a/blog_posts/25-css-gradients.md +++ b/blog_posts/25-css-gradients.md @@ -3,7 +3,6 @@ title: 25 CSS gradients for your next project shortTitle: CSS gradients type: cheatsheet tags: css,visual -expertise: beginner author: chalarangelo cover: blog_images/colors-mural.jpg excerpt: We hand picked 25 of our favorite CSS gradients from uiGradients for your next design. Get them now! diff --git a/blog_posts/4-javascript-array-methods.md b/blog_posts/4-javascript-array-methods.md index 0fa31afda..686afedba 100644 --- a/blog_posts/4-javascript-array-methods.md +++ b/blog_posts/4-javascript-array-methods.md @@ -3,7 +3,6 @@ title: 4 JavaScript Array methods you must know shortTitle: Useful array methods type: story tags: javascript,array,cheatsheet -expertise: beginner author: chalarangelo cover: blog_images/arrays.jpg excerpt: JavaScript arrays have a very robust API offering a plethora of amazing tools. Learn the 4 must-know JavaScript array methods in this quick guide. diff --git a/blog_posts/4-seo-tips-for-developers.md b/blog_posts/4-seo-tips-for-developers.md index 4a72fa770..575fbd68e 100644 --- a/blog_posts/4-seo-tips-for-developers.md +++ b/blog_posts/4-seo-tips-for-developers.md @@ -3,7 +3,6 @@ title: 4 SEO tips for developers shortTitle: SEO tips type: story tags: seo,webdev -expertise: intermediate author: chalarangelo cover: blog_images/sunrise-over-city.jpg excerpt: As time goes by, SEO is becoming increasingly relevant, but most web developers seem to have little experience with it. Here are 4 actionable SEO tips you can implement today. diff --git a/blog_posts/5-tips-for-better-pull-requests.md b/blog_posts/5-tips-for-better-pull-requests.md index 59a614ebf..0f376fd7e 100644 --- a/blog_posts/5-tips-for-better-pull-requests.md +++ b/blog_posts/5-tips-for-better-pull-requests.md @@ -2,7 +2,6 @@ title: 5 tips for better Pull Requests type: story tags: git,github,programming,webdev -expertise: intermediate author: chalarangelo cover: blog_images/keyboard-tea.jpg excerpt: Writing good code is only part of the job. Here are 5 tips to improve your pull requests and help people review them. diff --git a/blog_posts/6-javascript-regexp-tricks.md b/blog_posts/6-javascript-regexp-tricks.md index 98bbd7b7a..8297323c3 100644 --- a/blog_posts/6-javascript-regexp-tricks.md +++ b/blog_posts/6-javascript-regexp-tricks.md @@ -3,7 +3,6 @@ title: 6 JavaScript Regular Expression features you can use today shortTitle: JavaScript Regular Expression tips type: story tags: javascript,string,regexp -expertise: advanced author: chalarangelo cover: blog_images/taking-photos.jpg excerpt: Regular expressions, while very powerful, are notoriously hard to master. Start using them in your JavaScript code by understanding these 6 features. diff --git a/blog_posts/6-python-f-strings-tips.md b/blog_posts/6-python-f-strings-tips.md index da13909da..9f3b68b93 100644 --- a/blog_posts/6-python-f-strings-tips.md +++ b/blog_posts/6-python-f-strings-tips.md @@ -2,7 +2,6 @@ title: 6 Python f-strings tips and tricks type: story tags: python,string -expertise: beginner author: chalarangelo cover: blog_images/sea-view.jpg excerpt: Python's f-strings can do a lot more than you might expect. Learn a few useful tips and tricks in this quick guide. diff --git a/blog_posts/7-chrome-extensions-for-web-developers.md b/blog_posts/7-chrome-extensions-for-web-developers.md index c116f427b..163f863bc 100644 --- a/blog_posts/7-chrome-extensions-for-web-developers.md +++ b/blog_posts/7-chrome-extensions-for-web-developers.md @@ -3,7 +3,6 @@ title: 7 essential Chrome extensions for web developers shortTitle: Essential Chrome extensions type: story tags: devtools,webdev -expertise: intermediate author: chalarangelo cover: blog_images/computer-screens.jpg excerpt: Google Chrome's developer tools are nothing short of amazing. Here are 7 must-have extensions you can add to increase your productivity even further. diff --git a/blog_posts/8-tips-for-accessible-websites.md b/blog_posts/8-tips-for-accessible-websites.md index 1149197b5..3740d9f02 100644 --- a/blog_posts/8-tips-for-accessible-websites.md +++ b/blog_posts/8-tips-for-accessible-websites.md @@ -3,7 +3,6 @@ title: 8 tips for accessible websites shortTitle: Accessibility tips type: story tags: javascript,accessibility,webdev -expertise: beginner author: chalarangelo cover: blog_images/accessibility.jpg excerpt: Accessibility (a11y) can improve your website and attract new users. Learn how to get started with these 8 quick tips. diff --git a/blog_posts/8-tips-for-remote-work.md b/blog_posts/8-tips-for-remote-work.md index 6b32e545e..a04d915a4 100644 --- a/blog_posts/8-tips-for-remote-work.md +++ b/blog_posts/8-tips-for-remote-work.md @@ -2,7 +2,6 @@ title: 8 tips for working from home type: story tags: career,programming,jobs,webdev -expertise: intermediate author: chalarangelo cover: blog_images/kettle-laptop.jpg excerpt: Working from home seems like a great alternative to going to the office, but there are challenges that come with it that you need to overcome... diff --git a/blog_posts/async-javascript-cheatsheet.md b/blog_posts/async-javascript-cheatsheet.md index fa35ff2e7..df4aa8c60 100644 --- a/blog_posts/async-javascript-cheatsheet.md +++ b/blog_posts/async-javascript-cheatsheet.md @@ -2,7 +2,6 @@ title: Asynchronous JavaScript Cheat Sheet type: cheatsheet tags: javascript,function,promise -expertise: intermediate author: chalarangelo cover: blog_images/green-plant.jpg excerpt: Learn everything you need to know about promises and asynchronous JavaScript with this handy cheatsheet. diff --git a/blog_posts/benefits-of-writing.md b/blog_posts/benefits-of-writing.md index 92b88ec14..793c523d0 100644 --- a/blog_posts/benefits-of-writing.md +++ b/blog_posts/benefits-of-writing.md @@ -2,7 +2,6 @@ title: The benefits of writing type: story tags: career,webdev,programming,jobs -expertise: beginner author: chalarangelo cover: blog_images/laptop-view.jpg excerpt: Writing about a topic can often sound boring or worthless. But there are significant benefits to doing it from time to time. diff --git a/blog_posts/big-o-cheatsheet.md b/blog_posts/big-o-cheatsheet.md index ab1e77ba1..06892268b 100644 --- a/blog_posts/big-o-cheatsheet.md +++ b/blog_posts/big-o-cheatsheet.md @@ -2,7 +2,6 @@ title: Big-O Cheat Sheet type: cheatsheet tags: javascript,algorithm -expertise: advanced author: chalarangelo cover: blog_images/light-ring.jpg excerpt: Learn everything you need to know about Big-O notation with this handy cheatsheet. diff --git a/blog_posts/breaking-react.md b/blog_posts/breaking-react.md index 69315b291..0c7037e09 100644 --- a/blog_posts/breaking-react.md +++ b/blog_posts/breaking-react.md @@ -2,7 +2,6 @@ title: Breaking React - a common pattern to avoid type: story tags: react,debugging -expertise: intermediate author: chalarangelo cover: blog_images/broken-screen.jpg excerpt: As powerful as React is, it is also quite fragile at places. Did you know that just a few lines are more than enough to break your entire React application? diff --git a/blog_posts/code-anatomy-chaining-reduce-for-loop.md b/blog_posts/code-anatomy-chaining-reduce-for-loop.md index d2e1da179..67f866f7e 100644 --- a/blog_posts/code-anatomy-chaining-reduce-for-loop.md +++ b/blog_posts/code-anatomy-chaining-reduce-for-loop.md @@ -3,7 +3,6 @@ title: Code Anatomy - For loops, array reduce and method chaining shortTitle: For loops, array reduce and method chaining type: story tags: javascript,array,object,iterator -expertise: intermediate author: chalarangelo cover: blog_images/case-study.jpg excerpt: There are many ways to iterate and transform array data in JavaScript. Learn how each one works and where you should use them. diff --git a/blog_posts/code-anatomy-optimizing-recursion.md b/blog_posts/code-anatomy-optimizing-recursion.md index c6bf42006..c594f1033 100644 --- a/blog_posts/code-anatomy-optimizing-recursion.md +++ b/blog_posts/code-anatomy-optimizing-recursion.md @@ -3,7 +3,6 @@ title: Code Anatomy - Optimizing recursive functions shortTitle: Optimizing recursive functions type: story tags: javascript,recursion,performance -expertise: intermediate author: chalarangelo cover: blog_images/case-study.jpg excerpt: Recursive code has a tendency of being inefficient and can leave a lot of space for optimization. Learn a couple of tricks we use to speed up our recursive functions. diff --git a/blog_posts/code-anatomy-performant-python.md b/blog_posts/code-anatomy-performant-python.md index 79c02c380..cff434a6d 100644 --- a/blog_posts/code-anatomy-performant-python.md +++ b/blog_posts/code-anatomy-performant-python.md @@ -3,7 +3,6 @@ title: Code Anatomy - Writing high performance Python code shortTitle: Performant Python code type: story tags: python,list,performance -expertise: beginner author: maciv cover: blog_images/walking-on-top.jpg excerpt: Writing short, efficient Python code is not always straightforward. Read how we optimize our list snippets to increase performance using a couple of simple tricks. diff --git a/blog_posts/common-regexp-cheatsheet.md b/blog_posts/common-regexp-cheatsheet.md index c6d501771..6695ebca2 100644 --- a/blog_posts/common-regexp-cheatsheet.md +++ b/blog_posts/common-regexp-cheatsheet.md @@ -2,7 +2,6 @@ title: Common regular expressions type: cheatsheet tags: javascript,string,regexp -expertise: intermediate author: chalarangelo cover: blog_images/rocky-beach.jpg excerpt: A collection of regular expressions that can be used to solve common problems. diff --git a/blog_posts/console-log-cheatsheet.md b/blog_posts/console-log-cheatsheet.md index 1a0279d34..6243c5fc7 100644 --- a/blog_posts/console-log-cheatsheet.md +++ b/blog_posts/console-log-cheatsheet.md @@ -2,7 +2,6 @@ title: JavaScript console.log() tips & tricks type: story tags: javascript,browser,cheatsheet -expertise: beginner author: chalarangelo cover: blog_images/terminal.jpg excerpt: Level up your JavaScript logging with these `console.log()` tips and tricks. diff --git a/blog_posts/cookies-local-storage-session.md b/blog_posts/cookies-local-storage-session.md index 295c99f64..3c2e06500 100644 --- a/blog_posts/cookies-local-storage-session.md +++ b/blog_posts/cookies-local-storage-session.md @@ -3,7 +3,6 @@ title: What is the difference between cookies, local storage, and session storag shortTitle: Cookies, local storage, and session storage type: question tags: javascript,browser,webdev -expertise: beginner author: chalarangelo cover: blog_images/three-vases.jpg excerpt: Learn the difference between cookies, local storage and session storage and start using the correct option for your needs. diff --git a/blog_posts/copy-text-to-clipboard-with-javascript.md b/blog_posts/copy-text-to-clipboard-with-javascript.md index 4c5ac5685..11831a240 100644 --- a/blog_posts/copy-text-to-clipboard-with-javascript.md +++ b/blog_posts/copy-text-to-clipboard-with-javascript.md @@ -3,7 +3,6 @@ title: How can I copy text to clipboard with JavaScript? shortTitle: Copy text to clipboard type: question tags: javascript,browser -expertise: intermediate author: chalarangelo cover: blog_images/typing.jpg excerpt: Learn how to programmatically copy text to clipboard with a few lines of JavaScript and level up your web development skills. diff --git a/blog_posts/css-centering.md b/blog_posts/css-centering.md index 92e5d6337..dbc170674 100644 --- a/blog_posts/css-centering.md +++ b/blog_posts/css-centering.md @@ -3,7 +3,6 @@ title: 4 ways to center content with CSS shortTitle: Centering content with CSS type: story tags: css,layout -expertise: beginner author: chalarangelo cover: blog_images/mountain-lake.jpg excerpt: Centering content with CSS might often feel tricky. Here are 4 easy tricks you can use in your code today. diff --git a/blog_posts/css-clamp.md b/blog_posts/css-clamp.md index c4487ad1a..104e29387 100644 --- a/blog_posts/css-clamp.md +++ b/blog_posts/css-clamp.md @@ -3,7 +3,6 @@ title: "Tip: Use clamp() in CSS for responsive typography" shortTitle: CSS clamp() type: tip tags: css,visual -expertise: beginner author: chalarangelo cover: blog_images/strawberries.jpg excerpt: Implement responsive typography with the CSS clamp() function. diff --git a/blog_posts/css-current-color.md b/blog_posts/css-current-color.md index f301de6d2..024d74bf6 100644 --- a/blog_posts/css-current-color.md +++ b/blog_posts/css-current-color.md @@ -2,7 +2,6 @@ title: The currentColor CSS keyword type: tip tags: css,visual -expertise: beginner author: chalarangelo cover: blog_images/picking-berries.jpg excerpt: The `currentColor` CSS keyword is a nifty alternative to custom properties for simple use cases. diff --git a/blog_posts/css-easing-variables.md b/blog_posts/css-easing-variables.md index 73931ed82..b6de69117 100644 --- a/blog_posts/css-easing-variables.md +++ b/blog_posts/css-easing-variables.md @@ -3,7 +3,6 @@ title: "Tip: CSS easing variables" shortTitle: CSS easing variables type: tip tags: css,animation -expertise: intermediate author: chalarangelo cover: blog_images/curve.jpg excerpt: Learn how to use the `cubic-bezier()` class of easing functions and create beautiful animations that stand out. diff --git a/blog_posts/css-footer-at-the-bottom.md b/blog_posts/css-footer-at-the-bottom.md index 837c278d6..13545cd64 100644 --- a/blog_posts/css-footer-at-the-bottom.md +++ b/blog_posts/css-footer-at-the-bottom.md @@ -3,7 +3,6 @@ title: How can I ensure the footer is always at the bottom of the page? shortTitle: Footer at the bottom type: question tags: css,layout -expertise: beginner author: chalarangelo cover: blog_images/flower-shape-sunset.jpg excerpt: Make sure the footer stays at the bottom of the page, instead of floating up when the content is too short. diff --git a/blog_posts/css-inherited-properties-cheatsheet.md b/blog_posts/css-inherited-properties-cheatsheet.md index 7941c651e..01c9876c2 100644 --- a/blog_posts/css-inherited-properties-cheatsheet.md +++ b/blog_posts/css-inherited-properties-cheatsheet.md @@ -3,7 +3,6 @@ title: CSS inherited properties cheatsheet shortTitle: Inherited properties type: cheatsheet tags: css,layout -expertise: beginner author: chalarangelo cover: blog_images/half-trees.jpg excerpt: A quick reference for inherited CSS properties. diff --git a/blog_posts/css-nested-border-radius.md b/blog_posts/css-nested-border-radius.md index e3f37d6d0..200bbf76a 100644 --- a/blog_posts/css-nested-border-radius.md +++ b/blog_posts/css-nested-border-radius.md @@ -3,7 +3,6 @@ title: "Tip: Perfect nested border radius in CSS" shortTitle: Perfect nested border radius in CSS type: tip tags: css,visual -expertise: beginner author: chalarangelo cover: blog_images/rocky-beach-waves.jpg excerpt: Nesting elements with rounded borders can look very wrong if not done correctly. Here's a quick tip on how to do it right. diff --git a/blog_posts/css-pseudo-classes.md b/blog_posts/css-pseudo-classes.md index d4c605bf5..7ade858f1 100644 --- a/blog_posts/css-pseudo-classes.md +++ b/blog_posts/css-pseudo-classes.md @@ -3,7 +3,6 @@ title: What are CSS pseudo-classes? shortTitle: CSS pseudo-classes type: question tags: css,webdev -expertise: beginner author: chalarangelo cover: blog_images/orange-flower.jpg excerpt: Learn how to use CSS pseudo-classes to style an element based on changes to its state. diff --git a/blog_posts/css-reset.md b/blog_posts/css-reset.md index a375f5b9e..0eeea8792 100644 --- a/blog_posts/css-reset.md +++ b/blog_posts/css-reset.md @@ -2,7 +2,6 @@ title: CSS Reset type: story tags: css,visual -expertise: beginner author: chalarangelo cover: blog_images/pink-flower-tree.jpg excerpt: A short, opinionated CSS reset to make your websites look great everywhere. diff --git a/blog_posts/css-root-vs-html.md b/blog_posts/css-root-vs-html.md index fb48e1c48..354d2342e 100644 --- a/blog_posts/css-root-vs-html.md +++ b/blog_posts/css-root-vs-html.md @@ -3,7 +3,6 @@ title: What's the difference between :root and html in CSS? shortTitle: :root vs html type: story tags: css,layout,selector -expertise: beginner author: chalarangelo cover: blog_images/tree-roots.jpg excerpt: The CSS selectors used to target the root element of an HTML share some similarities, but they also have some differences. diff --git a/blog_posts/css-select-any-link.md b/blog_posts/css-select-any-link.md index 0ac1183c7..de75528a5 100644 --- a/blog_posts/css-select-any-link.md +++ b/blog_posts/css-select-any-link.md @@ -3,7 +3,6 @@ title: "Tip: Select any link with CSS" shortTitle: "CSS :any-link pseudo-class" type: tip tags: css,visual,interactivity -expertise: beginner author: chalarangelo cover: blog_images/round-leaves.jpg excerpt: You can use a CSS pseudo-class selector to style all links in a page, without worrying if they have been visited or not. diff --git a/blog_posts/css-style-default-links.md b/blog_posts/css-style-default-links.md index f1ed670a1..e238775b2 100644 --- a/blog_posts/css-style-default-links.md +++ b/blog_posts/css-style-default-links.md @@ -3,7 +3,6 @@ title: "Tip: Style links without a class" shortTitle: Style default links type: tip tags: css,visual,interactivity -expertise: beginner author: chalarangelo cover: blog_images/citrus-drink.jpg excerpt: A short summary of your story up to 180 characters long. diff --git a/blog_posts/css-unitless-line-height.md b/blog_posts/css-unitless-line-height.md index 0694d90ee..74850169f 100644 --- a/blog_posts/css-unitless-line-height.md +++ b/blog_posts/css-unitless-line-height.md @@ -3,7 +3,6 @@ title: Why should line-height be unitless in CSS? shortTitle: Unitless line height type: tip tags: css,layout,visual -expertise: intermediate author: chalarangelo cover: blog_images/gold-typewriter.jpg excerpt: You might have heard that `line-height` should be unitless, but do you know why? diff --git a/blog_posts/css-units-cheatsheet.md b/blog_posts/css-units-cheatsheet.md index b37e5dd17..c6ffc06c4 100644 --- a/blog_posts/css-units-cheatsheet.md +++ b/blog_posts/css-units-cheatsheet.md @@ -2,7 +2,6 @@ title: CSS units Cheat Sheet type: cheatsheet tags: css,layout,cheatsheet -expertise: beginner author: chalarangelo cover: blog_images/measuring.jpg excerpt: Learn everything you need to know about CSS units with this handy cheatsheet. diff --git a/blog_posts/css-variables.md b/blog_posts/css-variables.md index 672af6db1..501630c16 100644 --- a/blog_posts/css-variables.md +++ b/blog_posts/css-variables.md @@ -3,7 +3,6 @@ title: What are CSS variables and where can I use them? shortTitle: CSS variables type: question tags: css,visual,layout -expertise: intermediate author: chalarangelo cover: blog_images/css-variables.jpg excerpt: Learn how CSS custom properties (CSS variables) work and what you can use them for in your code and designs. diff --git a/blog_posts/custom-file-download-names.md b/blog_posts/custom-file-download-names.md index b92b431c0..0b778d73a 100644 --- a/blog_posts/custom-file-download-names.md +++ b/blog_posts/custom-file-download-names.md @@ -3,7 +3,6 @@ title: "Tip: Customize the names of downloadable files" shortTitle: Customize the names of downloadable files type: tip tags: webdev,html,browser -expertise: beginner author: chalarangelo cover: blog_images/hard-disk.jpg excerpt: Learn what HTML5 attribute you can use to customize the names of your downloadable files with this quick tip. diff --git a/blog_posts/detect-caps-lock-is-on.md b/blog_posts/detect-caps-lock-is-on.md index 1c42dd259..06fd6adf4 100644 --- a/blog_posts/detect-caps-lock-is-on.md +++ b/blog_posts/detect-caps-lock-is-on.md @@ -3,7 +3,6 @@ title: How can I detect if Caps Lock is on with JavaScript? shortTitle: Detect Caps Lock type: question tags: javascript,browser,event -expertise: intermediate author: chalarangelo cover: blog_images/keyboard.jpg excerpt: If you need to check if Caps Lock is on when the user is typing in the browser, JavaScript's got you covered. diff --git a/blog_posts/dns-record-basics.md b/blog_posts/dns-record-basics.md index 234668d87..360c10591 100644 --- a/blog_posts/dns-record-basics.md +++ b/blog_posts/dns-record-basics.md @@ -2,7 +2,6 @@ title: DNS Record Basics type: cheatsheet tags: webdev,dns,server,cheatsheet -expertise: beginner author: chalarangelo cover: blog_images/sparkles.jpg excerpt: DNS records may not be a thing you work too often with. Regardless, some basic knowledge can go a long way. diff --git a/blog_posts/escaping-tutorial-hell.md b/blog_posts/escaping-tutorial-hell.md index c5ad19afb..30a907f16 100644 --- a/blog_posts/escaping-tutorial-hell.md +++ b/blog_posts/escaping-tutorial-hell.md @@ -2,7 +2,6 @@ title: Escaping tutorial hell type: story tags: career,webdev,programming,jobs -expertise: beginner author: chalarangelo cover: blog_images/campfire.jpg excerpt: Many beginners get stuck in tutorial hell without even realizing. Here are 4 simple ways to escape tutorial hell and get back to learning. diff --git a/blog_posts/eslint-refactor-for-in.md b/blog_posts/eslint-refactor-for-in.md index 374bb1663..ea85e9782 100644 --- a/blog_posts/eslint-refactor-for-in.md +++ b/blog_posts/eslint-refactor-for-in.md @@ -3,7 +3,6 @@ title: "Tip: Refactoring your for...in loops to avoid ESLint warnings" shortTitle: Refactoring for...in loops to avoid ESLint warnings type: tip tags: javascript,array,iterator,eslint -expertise: intermediate author: chalarangelo cover: blog_images/typing.jpg excerpt: ESLint is a very powerful tool that can save you a lot of headaches, but sometimes it gets in the way. Learn how to refactor code to get rid of a common warning. diff --git a/blog_posts/flexbox-cheatsheet.md b/blog_posts/flexbox-cheatsheet.md index bc4da631a..bc4e5bd82 100644 --- a/blog_posts/flexbox-cheatsheet.md +++ b/blog_posts/flexbox-cheatsheet.md @@ -2,7 +2,6 @@ title: Flexbox Cheat Sheet type: cheatsheet tags: css,layout,flexbox,cheatsheet -expertise: beginner author: chalarangelo cover: blog_images/frames.jpg excerpt: Flexbox allows you to create fluid layouts easily. If you find yourself constantly looking up the syntax or how it work, this handy cheatsheet is all you need. diff --git a/blog_posts/git-aliases.md b/blog_posts/git-aliases.md index c25b522ea..4e6734c3c 100644 --- a/blog_posts/git-aliases.md +++ b/blog_posts/git-aliases.md @@ -2,7 +2,6 @@ title: Git aliases type: cheatsheet tags: git,configuration,cheatsheet -expertise: intermediate author: chalarangelo cover: blog_images/organizer.jpg excerpt: Increase your productivity by creating aliases for many common git operations. diff --git a/blog_posts/git-commit-different-date.md b/blog_posts/git-commit-different-date.md index 3a2b84ea9..c215bc2ef 100644 --- a/blog_posts/git-commit-different-date.md +++ b/blog_posts/git-commit-different-date.md @@ -3,7 +3,6 @@ title: "Tip: Create a commit with a different date" shortTitle: Create a commit with a different date type: tip tags: git,commit -expertise: intermediate author: chalarangelo cover: blog_images/ice.jpg excerpt: Ever needed to create a git commit with a different date? Here's a quick and easy way to do it. diff --git a/blog_posts/git-fast-forward.md b/blog_posts/git-fast-forward.md index 180968578..9f6b09d99 100644 --- a/blog_posts/git-fast-forward.md +++ b/blog_posts/git-fast-forward.md @@ -3,7 +3,6 @@ title: How does Git's fast-forward mode work? shortTitle: Git fast-forward type: question tags: git,branch -expertise: intermediate author: chalarangelo cover: blog_images/boats.jpg excerpt: Merging a branch is a pretty common Git operation. Learn how fast-forward mode works and its benefits, so you can decide if it's a good fit for you and your team. diff --git a/blog_posts/github-co-authors.md b/blog_posts/github-co-authors.md index b8fdd85f1..30a47a871 100644 --- a/blog_posts/github-co-authors.md +++ b/blog_posts/github-co-authors.md @@ -3,7 +3,6 @@ title: "Tip: How to add multiple authors to a commit" shortTitle: Add multiple authors to a commit type: tip tags: git,github,programming,webdev -expertise: intermediate author: chalarangelo cover: blog_images/book-chair.jpg excerpt: Learn how to add multiple authors to a git commit with this quick and easy tip. diff --git a/blog_posts/http-status-codes-cheatsheet.md b/blog_posts/http-status-codes-cheatsheet.md index 46f5d4c10..bebeb0506 100644 --- a/blog_posts/http-status-codes-cheatsheet.md +++ b/blog_posts/http-status-codes-cheatsheet.md @@ -3,7 +3,6 @@ title: Common HTTP status codes Cheat Sheet shortTitle: HTTP status codes type: cheatsheet tags: webdev,http -expertise: beginner author: chalarangelo cover: blog_images/lake-runner.jpg excerpt: Familiarize yourself with the most common HTTP status codes with this handy cheatsheet. diff --git a/blog_posts/javascript-add-key-value-pair-to-object.md b/blog_posts/javascript-add-key-value-pair-to-object.md index 2d45ad64a..35c924ebb 100644 --- a/blog_posts/javascript-add-key-value-pair-to-object.md +++ b/blog_posts/javascript-add-key-value-pair-to-object.md @@ -3,7 +3,6 @@ title: How can I add a key-value pair to a JavaScript object? shortTitle: Add key-value pair to object type: question tags: javascript,object -expertise: beginner author: chalarangelo cover: blog_images/pineapple-laptop.jpg excerpt: Adding a key-value pair to a JavaScript object is straightforward, yet there are multiple ways available to do so. diff --git a/blog_posts/javascript-array-comparison.md b/blog_posts/javascript-array-comparison.md index ce275e0c7..c94f633e0 100644 --- a/blog_posts/javascript-array-comparison.md +++ b/blog_posts/javascript-array-comparison.md @@ -3,7 +3,6 @@ title: How do I compare two arrays in JavaScript? shortTitle: JavaScript array comparison type: question tags: javascript,array,comparison -expertise: intermediate author: chalarangelo cover: blog_images/coconuts.jpg excerpt: Learn how you can compare two arrays in JavaScript using various different techniques. diff --git a/blog_posts/javascript-array-includes-value.md b/blog_posts/javascript-array-includes-value.md index 0b380db63..75e9c0e7a 100644 --- a/blog_posts/javascript-array-includes-value.md +++ b/blog_posts/javascript-array-includes-value.md @@ -3,7 +3,6 @@ title: How can I check if a JavaScript array includes a specific value? shortTitle: JavaScript array includes value type: question tags: javascript,array -expertise: beginner author: chalarangelo cover: blog_images/bridge-drop.jpg excerpt: Checking if an array includes a specific value is pretty straightforward, except when it comes to objects. diff --git a/blog_posts/javascript-arrow-function-event-listeners.md b/blog_posts/javascript-arrow-function-event-listeners.md index 93bf461a9..d4008d0f8 100644 --- a/blog_posts/javascript-arrow-function-event-listeners.md +++ b/blog_posts/javascript-arrow-function-event-listeners.md @@ -3,7 +3,6 @@ title: Can I use an arrow function as the callback for an event listener in Java shortTitle: Arrow function as callback for event listener type: question tags: javascript,browser,event,function -expertise: intermediate author: chalarangelo cover: blog_images/arrow-functions.jpg excerpt: Learn the differences between JavaScript ES6 arrow functions and regular functions and how they affect event listener callbacks. diff --git a/blog_posts/javascript-arrow-functions.md b/blog_posts/javascript-arrow-functions.md index bde597fa6..1537ea408 100644 --- a/blog_posts/javascript-arrow-functions.md +++ b/blog_posts/javascript-arrow-functions.md @@ -3,7 +3,6 @@ title: Introduction to arrow functions in JavaScript shortTitle: Arrow functions introduction type: story tags: javascript,function -expertise: beginner author: chalarangelo cover: blog_images/arrow-functions.jpg excerpt: JavaScript arrow functions are a very useful tool to learn and master. Here's a complete introduction to everything you need to know. diff --git a/blog_posts/javascript-arrow-regular-function-differences.md b/blog_posts/javascript-arrow-regular-function-differences.md index 6883c7839..a751edbfd 100644 --- a/blog_posts/javascript-arrow-regular-function-differences.md +++ b/blog_posts/javascript-arrow-regular-function-differences.md @@ -3,7 +3,6 @@ title: What are the differences between arrow functions and regular functions in shortTitle: Arrow functions vs regular functions type: question tags: javascript,function -expertise: intermediate author: chalarangelo cover: blog_images/fallen-leaves.jpg excerpt: JavaScript's arrow functions are seemingly the same as regular functions, but there are some important differences you need to know. diff --git a/blog_posts/javascript-async-array-loops.md b/blog_posts/javascript-async-array-loops.md index e47b38728..df3845b1a 100644 --- a/blog_posts/javascript-async-array-loops.md +++ b/blog_posts/javascript-async-array-loops.md @@ -3,7 +3,6 @@ title: Asynchronous array loops in JavaScript shortTitle: Asynchronous array loops type: story tags: javascript,array,function,promise -expertise: advanced author: chalarangelo cover: blog_images/sunflowers.jpg excerpt: Asynchronously looping over arrays in JavaScript comes with a few caveats you should watch out for. diff --git a/blog_posts/javascript-await-timeout.md b/blog_posts/javascript-await-timeout.md index 75df8f4a7..7f499e0b8 100644 --- a/blog_posts/javascript-await-timeout.md +++ b/blog_posts/javascript-await-timeout.md @@ -3,7 +3,6 @@ title: How can I add a timeout to a promise in JavaScript? shortTitle: Promise timeout type: question tags: javascript,promise,timeout,class -expertise: advanced author: chalarangelo cover: blog_images/walking.jpg excerpt: Oftentimes you might need to add a timeout to a promise in JavaScript. Learn how to do this and more in this short guide. diff --git a/blog_posts/javascript-blank-value.md b/blog_posts/javascript-blank-value.md index b19f9a4b1..e9d21282e 100644 --- a/blog_posts/javascript-blank-value.md +++ b/blog_posts/javascript-blank-value.md @@ -3,7 +3,6 @@ title: How can I check for a blank value in JavaScript? shortTitle: Value is blank type: question tags: javascript,type -expertise: intermediate author: chalarangelo cover: blog_images/workspace-with-speaker.jpg excerpt: JavaScript doesn't have a built-in way to check if a value is blank, but it's easy to create one. diff --git a/blog_posts/javascript-boolean-function.md b/blog_posts/javascript-boolean-function.md index aadb89ebe..333e98211 100644 --- a/blog_posts/javascript-boolean-function.md +++ b/blog_posts/javascript-boolean-function.md @@ -3,7 +3,6 @@ title: Where and how can I use the Boolean function in JavaScript? shortTitle: Boolean function use-cases type: question tags: javascript,function,type -expertise: beginner author: chalarangelo cover: blog_images/rocky-lake.jpg excerpt: JavaScript's built-in Boolean function can be very useful for truth-checking data among other things. Learn how to use it and level up your code today. diff --git a/blog_posts/javascript-boolean-trap.md b/blog_posts/javascript-boolean-trap.md index da160fdbc..7b68e1fc4 100644 --- a/blog_posts/javascript-boolean-trap.md +++ b/blog_posts/javascript-boolean-trap.md @@ -3,7 +3,6 @@ title: Boolean traps and how to avoid them shortTitle: Boolean traps type: story tags: javascript,function,type,boolean -expertise: advanced author: chalarangelo cover: blog_images/lighthouse.jpg excerpt: Boolean traps can cause readability and maintainability issues in your code. Learn what they are, how to spot and fix them in this article. diff --git a/blog_posts/javascript-callbacks.md b/blog_posts/javascript-callbacks.md index 08a504f1e..23ce34137 100644 --- a/blog_posts/javascript-callbacks.md +++ b/blog_posts/javascript-callbacks.md @@ -3,7 +3,6 @@ title: A cautionary tale about JavaScript callbacks shortTitle: Callback pitfalls type: story tags: javascript,function -expertise: intermediate author: chalarangelo cover: blog_images/rabbit-call.jpg excerpt: JavaScript callbacks are especially tricky when you're not careful. Take a deeper dive into potential issues and how to avoid them. diff --git a/blog_posts/javascript-classical-vs-prototypal-inheritance.md b/blog_posts/javascript-classical-vs-prototypal-inheritance.md index 8f8daadbc..f7fdbbf9e 100644 --- a/blog_posts/javascript-classical-vs-prototypal-inheritance.md +++ b/blog_posts/javascript-classical-vs-prototypal-inheritance.md @@ -3,7 +3,6 @@ title: How does JavaScript's prototypal inheritance differ from classical inheri shortTitle: Prototypal vs classical inheritance type: question tags: javascript,object,class -expertise: intermediate author: chalarangelo cover: blog_images/last-light.jpg excerpt: Understanding the difference between these two object-oriented programming paradigms is key to taking your skills to the next level. diff --git a/blog_posts/javascript-closures.md b/blog_posts/javascript-closures.md index 05e4895ff..4f995a217 100644 --- a/blog_posts/javascript-closures.md +++ b/blog_posts/javascript-closures.md @@ -3,7 +3,6 @@ title: What are JavaScript closures? shortTitle: Closures introduction type: question tags: javascript,function,closure -expertise: intermediate author: chalarangelo cover: blog_images/cherry-trees.jpg excerpt: Learn and understand closures, a core concept in JavaScript programming, and level up your code. diff --git a/blog_posts/javascript-copy-array.md b/blog_posts/javascript-copy-array.md index 2b1de7f99..81ac5c62e 100644 --- a/blog_posts/javascript-copy-array.md +++ b/blog_posts/javascript-copy-array.md @@ -3,7 +3,6 @@ title: How can I clone an array in JavaScript? shortTitle: Clone an array type: question tags: javascript,array -expertise: beginner author: chalarangelo cover: blog_images/colorful-plastic.jpg excerpt: Pick up a few new tricks which you can use to clone arrays in JavaScript. diff --git a/blog_posts/javascript-date-comparison.md b/blog_posts/javascript-date-comparison.md index ff0530942..f13b70eec 100644 --- a/blog_posts/javascript-date-comparison.md +++ b/blog_posts/javascript-date-comparison.md @@ -3,7 +3,6 @@ title: How do I compare two dates in JavaScript? shortTitle: Date comparison type: question tags: javascript,date,comparison -expertise: beginner author: chalarangelo cover: blog_images/pineapple-at-work.jpg excerpt: Learn how you can compare two dates in JavaScript using various different techniques. diff --git a/blog_posts/javascript-deep-freeze-object.md b/blog_posts/javascript-deep-freeze-object.md index 50e388dcd..97565e7bb 100644 --- a/blog_posts/javascript-deep-freeze-object.md +++ b/blog_posts/javascript-deep-freeze-object.md @@ -3,7 +3,6 @@ title: How can I deep freeze an object in JavaScript? shortTitle: Deep freeze object type: question tags: javascript,object -expertise: intermediate author: chalarangelo cover: blog_images/frozen-globe.jpg excerpt: Learn how mutability works in JavaScript, its applications to objects and how you can properly freeze them to make them constant. diff --git a/blog_posts/javascript-destructuring-assignment.md b/blog_posts/javascript-destructuring-assignment.md index 5a370b521..b1a306d33 100644 --- a/blog_posts/javascript-destructuring-assignment.md +++ b/blog_posts/javascript-destructuring-assignment.md @@ -3,7 +3,6 @@ title: Where and how can I use the destructuring assignment syntax in JavaScript shortTitle: Destructuring assignment introduction type: question tags: javascript,array,object -expertise: intermediate author: chalarangelo cover: blog_images/building-blocks.jpg excerpt: Learn the basics of the destructuring assignment syntax in JavaScript ES6 and improve your code with this easy guide. diff --git a/blog_posts/javascript-empty-array.md b/blog_posts/javascript-empty-array.md index 8c1fcf62c..9237ed784 100644 --- a/blog_posts/javascript-empty-array.md +++ b/blog_posts/javascript-empty-array.md @@ -3,7 +3,6 @@ title: How do I empty an array in JavaScript? shortTitle: Empty an array type: question tags: javascript,array -expertise: beginner author: chalarangelo cover: blog_images/coconuts.jpg excerpt: You can use a lot of different techniques to empty an array in JavaScript. See which ones best suits your needs with this quick guide. diff --git a/blog_posts/javascript-encodeuri-encodeuricomponent.md b/blog_posts/javascript-encodeuri-encodeuricomponent.md index 4b6bc5dd4..4fb2926e3 100644 --- a/blog_posts/javascript-encodeuri-encodeuricomponent.md +++ b/blog_posts/javascript-encodeuri-encodeuricomponent.md @@ -3,7 +3,6 @@ title: What is the difference between encodeURI() and encodeURIComponent() in Ja shortTitle: encodeURI() vs encodeURIComponent() type: question tags: javascript,browser -expertise: intermediate author: chalarangelo cover: blog_images/laptop-view.jpg excerpt: JavaScript provides two methods for encoding characters to URL-safe strings. Do you know when to use each one? diff --git a/blog_posts/javascript-enum.md b/blog_posts/javascript-enum.md index 8a79ae2da..3bf00fdef 100644 --- a/blog_posts/javascript-enum.md +++ b/blog_posts/javascript-enum.md @@ -3,7 +3,6 @@ title: How can I define an enum in JavaScript? shortTitle: Enum implementation type: question tags: javascript,object,class,symbol,generator -expertise: intermediate author: chalarangelo cover: blog_images/book-chair.jpg excerpt: Enums are part of TypeScript, but what about defining enums in plain old JavaScript? Here are a few way you can do that. diff --git a/blog_posts/javascript-equality.md b/blog_posts/javascript-equality.md index 38e407b7c..8c2a99ed8 100644 --- a/blog_posts/javascript-equality.md +++ b/blog_posts/javascript-equality.md @@ -3,7 +3,6 @@ title: What is the difference between JavaScript's equality operators? shortTitle: JavaScript equality operators type: question tags: javascript,type,comparison -expertise: beginner author: chalarangelo cover: blog_images/beach-pineapple.jpg excerpt: Learn all you need to know about the differences between JavaScript's double equals and triple equals operators. diff --git a/blog_posts/javascript-event-bubbling-capturing-delegation.md b/blog_posts/javascript-event-bubbling-capturing-delegation.md index 93bf4a97b..1f3288eb2 100644 --- a/blog_posts/javascript-event-bubbling-capturing-delegation.md +++ b/blog_posts/javascript-event-bubbling-capturing-delegation.md @@ -3,7 +3,6 @@ title: Understanding event bubbling, capturing and delegation in JavaScript shortTitle: Event bubbling, capturing and delegation type: story tags: javascript,browser,event -expertise: intermediate author: chalarangelo cover: blog_images/fishermen.jpg excerpt: Understand how events work in JavaScript and learn when to use event bubbling, event capturing and event delegation with this short guide. diff --git a/blog_posts/javascript-event-loop-explained.md b/blog_posts/javascript-event-loop-explained.md index d550a857d..c1866adc0 100644 --- a/blog_posts/javascript-event-loop-explained.md +++ b/blog_posts/javascript-event-loop-explained.md @@ -3,7 +3,6 @@ title: What is the Event Loop in JavaScript? shortTitle: Event loop explained type: question tags: javascript,browser,event -expertise: intermediate author: chalarangelo cover: blog_images/tranquility.jpg excerpt: The Event Loop is a source of confusion for many developers, but it's a fundamental piece of the JavaScript engine. diff --git a/blog_posts/javascript-evil-closures.md b/blog_posts/javascript-evil-closures.md index fb55ad95b..867484905 100644 --- a/blog_posts/javascript-evil-closures.md +++ b/blog_posts/javascript-evil-closures.md @@ -3,7 +3,6 @@ title: Are JavaScript closures inherently evil? shortTitle: Closures and hidden state type: story tags: javascript,function,closure -expertise: intermediate author: chalarangelo cover: blog_images/silver-flat-screen.jpg excerpt: Closures are used frequently, yet often misunderstood. Understanding them in depth is crucial to be able to write clean, maintainable code. diff --git a/blog_posts/javascript-expression-statement.md b/blog_posts/javascript-expression-statement.md index 568304b77..6195b380f 100644 --- a/blog_posts/javascript-expression-statement.md +++ b/blog_posts/javascript-expression-statement.md @@ -3,7 +3,6 @@ title: What is the difference between an expression and a statement in JavaScrip shortTitle: Expressions and statements type: question tags: javascript,type -expertise: beginner author: chalarangelo cover: blog_images/forest-balcony.jpg excerpt: JavaScript distinguishes expressions and statements. Learn their differences in this short article. diff --git a/blog_posts/javascript-for-in-for-of-foreach.md b/blog_posts/javascript-for-in-for-of-foreach.md index 0236a6cec..83d94bead 100644 --- a/blog_posts/javascript-for-in-for-of-foreach.md +++ b/blog_posts/javascript-for-in-for-of-foreach.md @@ -3,7 +3,6 @@ title: What is the difference between JavaScript's for...in, for...of and forEac shortTitle: JavaScript iteration methods comparison type: question tags: javascript,array,object,iterator -expertise: beginner author: chalarangelo cover: blog_images/lake-loop.jpg excerpt: Learn the differences between the three most commonly used iteration methods offered by JavaScript, which often confuse beginners and veterans alike. diff --git a/blog_posts/javascript-for-loop-early-break.md b/blog_posts/javascript-for-loop-early-break.md index d926c77cb..19be5d255 100644 --- a/blog_posts/javascript-for-loop-early-break.md +++ b/blog_posts/javascript-for-loop-early-break.md @@ -3,7 +3,6 @@ title: "Tip: Use JavaScript for loops if you need to break out early" shortTitle: For loops for early breaking type: tip tags: javascript,array,loop -expertise: intermediate author: chalarangelo cover: blog_images/armchair.jpg excerpt: JavaScript provides a handful of ways to iterate over data. While array methods are usually preferred, there are cases where a `for` loop is actually the best option. diff --git a/blog_posts/javascript-function-call-apply-bind.md b/blog_posts/javascript-function-call-apply-bind.md index b8554a298..90ad97b10 100644 --- a/blog_posts/javascript-function-call-apply-bind.md +++ b/blog_posts/javascript-function-call-apply-bind.md @@ -3,7 +3,6 @@ title: JavaScript function methods - call(), apply() and bind() shortTitle: Function methods - call(), apply() and bind() type: story tags: javascript,function -expertise: intermediate author: chalarangelo cover: blog_images/canoe.jpg excerpt: Learn everything you need to know about JavaScript's `Function.prototype.call()`, `Function.prototype.apply()` and `Function.prototype.bind()` with this short guide. diff --git a/blog_posts/javascript-higher-order-functions.md b/blog_posts/javascript-higher-order-functions.md index 87b812575..d991e6111 100644 --- a/blog_posts/javascript-higher-order-functions.md +++ b/blog_posts/javascript-higher-order-functions.md @@ -3,7 +3,6 @@ title: Understanding higher-order functions in JavaScript shortTitle: Higher-order functions type: story tags: javascript,function -expertise: intermediate author: chalarangelo cover: blog_images/rock-climbing.jpg excerpt: Learn everything you need to know about higher-order functions with this short guide and level up your programming skills. diff --git a/blog_posts/javascript-iife.md b/blog_posts/javascript-iife.md index 6f1f81a3d..d99c7ae77 100644 --- a/blog_posts/javascript-iife.md +++ b/blog_posts/javascript-iife.md @@ -3,7 +3,6 @@ title: What is an IIFE in JavaScript? shortTitle: IIFE introduction type: question tags: javascript,function -expertise: intermediate author: chalarangelo cover: blog_images/tropical-waterfall.jpg excerpt: An Immediately Invoked Function Expression (IIFE) is a JavaScript trick that trips up many developers. Here's what you need to know. diff --git a/blog_posts/javascript-index-for-of-loop.md b/blog_posts/javascript-index-for-of-loop.md index 5633f1d72..49a6da636 100644 --- a/blog_posts/javascript-index-for-of-loop.md +++ b/blog_posts/javascript-index-for-of-loop.md @@ -3,7 +3,6 @@ title: "Tip: Get the index of an array item in a JavaScript for...of loop" shortTitle: Array index in for...of loops type: tip tags: javascript,array,iterator -expertise: intermediate author: chalarangelo cover: blog_images/cave-view.jpg excerpt: Did you know you can get the index of an array item in a JavaScript for...of loop? Learn how with this bite-sized tip. diff --git a/blog_posts/javascript-iterable-to-array.md b/blog_posts/javascript-iterable-to-array.md index f08036105..9665b35eb 100644 --- a/blog_posts/javascript-iterable-to-array.md +++ b/blog_posts/javascript-iterable-to-array.md @@ -3,7 +3,6 @@ title: How do I convert an iterable to an array in JavaScript? shortTitle: Iterable to array type: question tags: javascript,object,array,string -expertise: intermediate author: chalarangelo cover: blog_images/waves.jpg excerpt: Learn how to use the JavaScript ES6 spread syntax to converting iterables to arrays and level up your code today. diff --git a/blog_posts/javascript-iterators.md b/blog_posts/javascript-iterators.md index 0a2437364..7ca9029bf 100644 --- a/blog_posts/javascript-iterators.md +++ b/blog_posts/javascript-iterators.md @@ -3,7 +3,6 @@ title: What are JavaScript Iterators and where can I use them? shortTitle: JavaScript iterators introduction type: question tags: javascript,array,object,iterator -expertise: advanced author: chalarangelo cover: blog_images/balloons.jpg excerpt: Learn how the new JavaScript ES6 Iterators work and how you can use them to level up your programming projects by understanding these short code examples. diff --git a/blog_posts/javascript-json-stringify-pick-keys.md b/blog_posts/javascript-json-stringify-pick-keys.md index de75a8674..b76b2a7c8 100644 --- a/blog_posts/javascript-json-stringify-pick-keys.md +++ b/blog_posts/javascript-json-stringify-pick-keys.md @@ -3,7 +3,6 @@ title: "Tip: Serialize specific properties from a JSON object" shortTitle: Selective property serialization type: tip tags: javascript,object,json -expertise: intermediate author: chalarangelo cover: blog_images/coffee-drip.jpg excerpt: Have you ever wanted to serialize an object but only include certain keys? Turns out JavaScript provides an easy way to do this! diff --git a/blog_posts/javascript-listen-once.md b/blog_posts/javascript-listen-once.md index 6d1985529..e054c64b8 100644 --- a/blog_posts/javascript-listen-once.md +++ b/blog_posts/javascript-listen-once.md @@ -3,7 +3,6 @@ title: How can I execute an event handler at most once? shortTitle: Execute event handler only once type: question tags: javascript,browser,event -expertise: intermediate author: maciv cover: blog_images/dog-waiting.jpg excerpt: Learn how to attach an event handler to events that is executed at most once in this JavaScript article. diff --git a/blog_posts/javascript-make-iterable.md b/blog_posts/javascript-make-iterable.md index c8cf0d3d6..f160cf813 100644 --- a/blog_posts/javascript-make-iterable.md +++ b/blog_posts/javascript-make-iterable.md @@ -3,7 +3,6 @@ title: "Tip: Make any JavaScript value iterable" shortTitle: Make any value iterable type: tip tags: javascript,array,iterator,generator -expertise: advanced author: chalarangelo cover: blog_images/colorful-plastic.jpg excerpt: Did you know you can define an iterator for any JavaScript value? This quick tip will show you how. diff --git a/blog_posts/javascript-memoization.md b/blog_posts/javascript-memoization.md index c09616ee4..fc60a2266 100644 --- a/blog_posts/javascript-memoization.md +++ b/blog_posts/javascript-memoization.md @@ -3,7 +3,6 @@ title: Where and how can I use memoization in JavaScript? shortTitle: Memoization introduction type: question tags: javascript,function,memoization -expertise: intermediate author: chalarangelo cover: blog_images/cherry-trees.jpg excerpt: Learn different ways to memoize function calls in JavaScript as well as when to use memoization to get the best performance results. diff --git a/blog_posts/javascript-merge-arrays.md b/blog_posts/javascript-merge-arrays.md index d6f557778..545426b2b 100644 --- a/blog_posts/javascript-merge-arrays.md +++ b/blog_posts/javascript-merge-arrays.md @@ -3,7 +3,6 @@ title: How do I merge two arrays in JavaScript? shortTitle: Merge arrays type: question tags: javascript,array -expertise: beginner author: chalarangelo cover: blog_images/arrays.jpg excerpt: Arrays are one of the most used data types in any programming language. Learn how to merge two arrays in JavaScript with this short guide. diff --git a/blog_posts/javascript-modify-url-without-reload.md b/blog_posts/javascript-modify-url-without-reload.md index 017333d0d..947f48806 100644 --- a/blog_posts/javascript-modify-url-without-reload.md +++ b/blog_posts/javascript-modify-url-without-reload.md @@ -3,7 +3,6 @@ title: How do I use JavaScript to modify the URL without reloading the page? shortTitle: Modify URL without reloading type: question tags: javascript,browser -expertise: intermediate author: chalarangelo cover: blog_images/compass.jpg excerpt: Learn all of the options JavaScript provides for modifying the URL of the current page in the browser without reloading the page. diff --git a/blog_posts/javascript-module-cheatsheet.md b/blog_posts/javascript-module-cheatsheet.md index 7b6733f77..eeb888ae7 100644 --- a/blog_posts/javascript-module-cheatsheet.md +++ b/blog_posts/javascript-module-cheatsheet.md @@ -2,7 +2,6 @@ title: JavaScript modules Cheat Sheet type: cheatsheet tags: javascript,cheatsheet -expertise: intermediate author: chalarangelo cover: blog_images/mountain-lake-2.jpg excerpt: Learn everything you need to know about JavaScript modules with this handy cheatsheet. diff --git a/blog_posts/javascript-naming-conventions.md b/blog_posts/javascript-naming-conventions.md index 27a8861ba..d4bc1ac4e 100644 --- a/blog_posts/javascript-naming-conventions.md +++ b/blog_posts/javascript-naming-conventions.md @@ -3,7 +3,6 @@ title: JavaScript naming conventions shortTitle: Naming conventions type: story tags: javascript,variable,cheatsheet -expertise: beginner author: chalarangelo cover: blog_images/naming-conventions.jpg excerpt: Naming conventions, while not easy to enforce, make code easier to read and understand. Learn how to name your variables in JavaScript with this handy guide. diff --git a/blog_posts/javascript-nullish-coalescing-optional-chaining.md b/blog_posts/javascript-nullish-coalescing-optional-chaining.md index 361be61e4..2091a399b 100644 --- a/blog_posts/javascript-nullish-coalescing-optional-chaining.md +++ b/blog_posts/javascript-nullish-coalescing-optional-chaining.md @@ -3,7 +3,6 @@ title: How can I use optional chaining and nullish coalescing in my JavaScript p shortTitle: Optional chaining and nullish coalescing type: question tags: javascript,type -expertise: intermediate author: chalarangelo cover: blog_images/purple-leaves.jpg excerpt: JavaScript ES2020 introduced optional chaining and nullish coalescing among other features. Learn everything you need to know with this quick guide. diff --git a/blog_posts/javascript-numeric-separator.md b/blog_posts/javascript-numeric-separator.md index a9ef30643..6f287296d 100644 --- a/blog_posts/javascript-numeric-separator.md +++ b/blog_posts/javascript-numeric-separator.md @@ -3,7 +3,6 @@ title: JavaScript's numeric separators explained shortTitle: Numeric separators explained type: story tags: javascript,math,type -expertise: beginner author: chalarangelo cover: blog_images/coffee-drip.jpg excerpt: Numeric separators are a somewhat lesser-known JavaScript syntactic sugar that can make working with large constants a lot easier. diff --git a/blog_posts/javascript-object-array-proxy.md b/blog_posts/javascript-object-array-proxy.md index 6ec3dd8e6..e2bda60e4 100644 --- a/blog_posts/javascript-object-array-proxy.md +++ b/blog_posts/javascript-object-array-proxy.md @@ -3,7 +3,6 @@ title: Can I use an object as an array without modifying it in JavaScript? shortTitle: Object as array type: question tags: javascript,object,array,proxy,iterator,pattern -expertise: advanced author: chalarangelo cover: blog_images/birds.jpg excerpt: Learn how you can leverage the Proxy object to use a JavaScript object the same way as you would use a regular array. diff --git a/blog_posts/javascript-object-comparison.md b/blog_posts/javascript-object-comparison.md index 58647761a..7ac5e0fbe 100644 --- a/blog_posts/javascript-object-comparison.md +++ b/blog_posts/javascript-object-comparison.md @@ -3,7 +3,6 @@ title: How do I compare two objects in JavaScript? shortTitle: Object comparison type: question tags: javascript,object,comparison -expertise: intermediate author: chalarangelo cover: blog_images/blue-lake.jpg excerpt: Learn how you can compare two objects in JavaScript using various different techniques. diff --git a/blog_posts/javascript-object-is-triple-equals.md b/blog_posts/javascript-object-is-triple-equals.md index a73a35057..04e6fa97f 100644 --- a/blog_posts/javascript-object-is-triple-equals.md +++ b/blog_posts/javascript-object-is-triple-equals.md @@ -3,7 +3,6 @@ title: What's the difference between Object.is() and the triple equals operator shortTitle: Object.is() vs triple equals operator type: question tags: javascript,object,type -expertise: intermediate author: chalarangelo cover: blog_images/rocky-mountains.jpg excerpt: "`Object.is()` and the triple equals operator (`===`) can both be used for equality checking in JavaScript, but when should you use each one?" diff --git a/blog_posts/javascript-pass-by-reference-or-pass-by-value.md b/blog_posts/javascript-pass-by-reference-or-pass-by-value.md index 686971298..6aaa54579 100644 --- a/blog_posts/javascript-pass-by-reference-or-pass-by-value.md +++ b/blog_posts/javascript-pass-by-reference-or-pass-by-value.md @@ -3,7 +3,6 @@ title: Is JavaScript pass-by-value or pass-by-reference? shortTitle: Pass-by-value or pass-by-reference type: question tags: javascript,function,object -expertise: beginner author: chalarangelo cover: blog_images/baloons-field.jpg excerpt: How JavaScript handles passing data is a source of confusion and bugs for many developers, especially when it comes to object types. diff --git a/blog_posts/javascript-prefix-postfix-operators.md b/blog_posts/javascript-prefix-postfix-operators.md index c2003cc48..0ccb331ee 100644 --- a/blog_posts/javascript-prefix-postfix-operators.md +++ b/blog_posts/javascript-prefix-postfix-operators.md @@ -3,7 +3,6 @@ title: What is the difference between prefix and postfix operators? shortTitle: Prefix and postfix operators type: question tags: javascript,math -expertise: beginner author: chalarangelo cover: blog_images/plant-candle.jpg excerpt: While both the prefix and postfix operators increment a value, the resulting value of the expression is very different. diff --git a/blog_posts/javascript-pretty-print-json.md b/blog_posts/javascript-pretty-print-json.md index 035fe3625..933d2f849 100644 --- a/blog_posts/javascript-pretty-print-json.md +++ b/blog_posts/javascript-pretty-print-json.md @@ -3,7 +3,6 @@ title: "Tip: Pretty-print a JSON object with JavaScript" shortTitle: Pretty-print JSON type: tip tags: javascript,object,json -expertise: intermediate author: chalarangelo cover: blog_images/memories-of-pineapple-3.jpg excerpt: Pretty-printing JSON objects in pretty easy and customizable in JavaScript. Here's the gist of it. diff --git a/blog_posts/javascript-prevent-string-being-escaped.md b/blog_posts/javascript-prevent-string-being-escaped.md index 9da7588f5..fd7669d64 100644 --- a/blog_posts/javascript-prevent-string-being-escaped.md +++ b/blog_posts/javascript-prevent-string-being-escaped.md @@ -3,7 +3,6 @@ title: "Tip: Prevent a string from being escaped in JavaScript" shortTitle: Prevent string escaping type: tip tags: javascript,string -expertise: beginner author: chalarangelo cover: blog_images/glass-blowing.jpg excerpt: Strings in JavaScript can be escaped in various ways. But what if you need to prevent a string from being escaped? Here's a handy trick for that. diff --git a/blog_posts/javascript-primitive-instanceof.md b/blog_posts/javascript-primitive-instanceof.md index e3290605a..b8bc9bcb0 100644 --- a/blog_posts/javascript-primitive-instanceof.md +++ b/blog_posts/javascript-primitive-instanceof.md @@ -3,7 +3,6 @@ title: Is there a way to use instanceof for primitive JavaScript values? shortTitle: Using instanceof for primitive values type: question tags: javascript,type -expertise: intermediate author: chalarangelo cover: blog_images/wooden-bowl.jpg excerpt: JavaScript's `instanceof` operator can't be used with primitive values, but there are a couple of simple tricks that you can leverage to your advantage. diff --git a/blog_posts/javascript-promise-then-catch.md b/blog_posts/javascript-promise-then-catch.md index cd1da8a08..6d85603da 100644 --- a/blog_posts/javascript-promise-then-catch.md +++ b/blog_posts/javascript-promise-then-catch.md @@ -3,7 +3,6 @@ title: "Tip: The order of then and catch matters" shortTitle: The order of then and catch matters type: tip tags: javascript,function,promise -expertise: intermediate author: chalarangelo cover: blog_images/blue-sunrise.jpg excerpt: Messing up the order of chained `then` and `catch` methods in JavaScript promises can result in all sorts of problems. Here's a short primer on the subject. diff --git a/blog_posts/javascript-promise-then-finally.md b/blog_posts/javascript-promise-then-finally.md index 8785dee94..cb3b54c2e 100644 --- a/blog_posts/javascript-promise-then-finally.md +++ b/blog_posts/javascript-promise-then-finally.md @@ -3,7 +3,6 @@ title: What is the difference between then and finally in a JavaScript promise? shortTitle: Promise then vs finally type: question tags: javascript,function,promise -expertise: intermediate author: chalarangelo cover: blog_images/blue-sunrise.jpg excerpt: On the surface, a JavaScript promise's `then` and `finally` methods seem very similar. But there are a few important differences you need to keep in mind. diff --git a/blog_posts/javascript-promises.md b/blog_posts/javascript-promises.md index b045588e6..d411e5989 100644 --- a/blog_posts/javascript-promises.md +++ b/blog_posts/javascript-promises.md @@ -3,7 +3,6 @@ title: What are promises in JavaScript? In which states can a promise be? shortTitle: Promises introduction type: question tags: javascript,function,promise -expertise: beginner author: chalarangelo cover: blog_images/sail-away.jpg excerpt: JavaScript's promises represent the eventual completion (or failure) of asynchronous operations and their resulting value. diff --git a/blog_posts/javascript-property-enumerability.md b/blog_posts/javascript-property-enumerability.md index 05cfd7a72..f6fcf4c2c 100644 --- a/blog_posts/javascript-property-enumerability.md +++ b/blog_posts/javascript-property-enumerability.md @@ -3,7 +3,6 @@ title: JavaScript property enumerability shortTitle: Property enumerability type: story tags: javascript,object -expertise: intermediate author: chalarangelo cover: blog_images/old-consoles.jpg excerpt: Property enumerability dictates how JavaScript object properties behave in different scenarios. diff --git a/blog_posts/javascript-pure-functions.md b/blog_posts/javascript-pure-functions.md index 9341ed217..644897124 100644 --- a/blog_posts/javascript-pure-functions.md +++ b/blog_posts/javascript-pure-functions.md @@ -3,7 +3,6 @@ title: What is a pure function? shortTitle: Pure function introduction type: question tags: javascript,function -expertise: intermediate author: chalarangelo cover: blog_images/dark-leaves.jpg excerpt: Pure functions are a very important concept to know, especially if you're interested in functional programming. diff --git a/blog_posts/javascript-query-selector-shorthand.md b/blog_posts/javascript-query-selector-shorthand.md index 9f6e09b0a..b747433fc 100644 --- a/blog_posts/javascript-query-selector-shorthand.md +++ b/blog_posts/javascript-query-selector-shorthand.md @@ -3,7 +3,6 @@ title: "Tip: Create your own query selector shorthand" shortTitle: Query selector shorthand type: tip tags: javascript,browser -expertise: intermediate author: chalarangelo cover: blog_images/pineapple-at-work.jpg excerpt: Ever wanted to create your own jquery-like query selector shorthand? Here's how! diff --git a/blog_posts/javascript-random-value-pure-functions.md b/blog_posts/javascript-random-value-pure-functions.md index f34472ca5..8ee2d8054 100644 --- a/blog_posts/javascript-random-value-pure-functions.md +++ b/blog_posts/javascript-random-value-pure-functions.md @@ -3,7 +3,6 @@ title: Using random values with pure functions shortTitle: Pure functions & randomness type: story tags: javascript,function,random,testing -expertise: intermediate author: chalarangelo cover: blog_images/do-more-computer.jpg excerpt: Randomness and pure functions don't seem to go hand in hand. But where there's a will, there's a way. diff --git a/blog_posts/javascript-range-generator.md b/blog_posts/javascript-range-generator.md index ca5cea850..34fc2a7f1 100644 --- a/blog_posts/javascript-range-generator.md +++ b/blog_posts/javascript-range-generator.md @@ -3,7 +3,6 @@ title: Using JavaScript generator functions for ranges shortTitle: Generator functions for ranges type: story tags: javascript,function,array -expertise: advanced author: chalarangelo cover: blog_images/generator.jpg excerpt: Learn how to use JavaScript ES6 generators and iterators to iterate over ranges of numbers. diff --git a/blog_posts/javascript-recursion.md b/blog_posts/javascript-recursion.md index 7cea4a079..b96bca237 100644 --- a/blog_posts/javascript-recursion.md +++ b/blog_posts/javascript-recursion.md @@ -3,7 +3,6 @@ title: What is recursion and when is it useful? shortTitle: Recursion introduction type: question tags: javascript,function,recursion -expertise: intermediate author: chalarangelo cover: blog_images/curve.jpg excerpt: Recursion is a very important programming concept all developers should be familiar with. diff --git a/blog_posts/javascript-remove-object-property.md b/blog_posts/javascript-remove-object-property.md index 040566c5c..ebd0c57a7 100644 --- a/blog_posts/javascript-remove-object-property.md +++ b/blog_posts/javascript-remove-object-property.md @@ -3,7 +3,6 @@ title: How do I remove a property from a JavaScript object? shortTitle: Remove property from object type: question tags: javascript,object -expertise: intermediate author: chalarangelo cover: blog_images/brown-bird.jpg excerpt: Ever wanted to delete a property from a JavaScript object? Here are a few way you can accomplish that. diff --git a/blog_posts/javascript-return-constructor.md b/blog_posts/javascript-return-constructor.md index 174e9c43f..e9df63383 100644 --- a/blog_posts/javascript-return-constructor.md +++ b/blog_posts/javascript-return-constructor.md @@ -3,7 +3,6 @@ title: What does a JavaScript constructor return? shortTitle: Constructor return value type: question tags: javascript,function,class,object -expertise: intermediate author: chalarangelo cover: blog_images/architectural.jpg excerpt: The constructor is arguably the most crucial part of any JavaScript class, which is why you might want to take a closer look at what they return. diff --git a/blog_posts/javascript-shallow-deep-clone.md b/blog_posts/javascript-shallow-deep-clone.md index 069c0df2a..3f66e75c6 100644 --- a/blog_posts/javascript-shallow-deep-clone.md +++ b/blog_posts/javascript-shallow-deep-clone.md @@ -3,7 +3,6 @@ title: How do I clone an object in JavaScript? shortTitle: Object cloning type: question tags: javascript,object -expertise: intermediate author: chalarangelo cover: blog_images/pagodas.jpg excerpt: Learn how JavaScript handles mutable data, such as objects and arrays, and understand how shallow cloning and deep cloning work. diff --git a/blog_posts/javascript-singleton-proxy.md b/blog_posts/javascript-singleton-proxy.md index 213cdedea..81ea19ffe 100644 --- a/blog_posts/javascript-singleton-proxy.md +++ b/blog_posts/javascript-singleton-proxy.md @@ -3,7 +3,6 @@ title: How can I implement a singleton in JavaScript? shortTitle: Singleton implementation type: question tags: javascript,object,function,proxy,pattern -expertise: advanced author: chalarangelo cover: blog_images/obelisk.jpg excerpt: Learn how to implement the singleton design pattern in JavaScript, using the Proxy object. diff --git a/blog_posts/javascript-sleep.md b/blog_posts/javascript-sleep.md index ca3153e13..4dd45d749 100644 --- a/blog_posts/javascript-sleep.md +++ b/blog_posts/javascript-sleep.md @@ -3,7 +3,6 @@ title: How can I implement a sleep function in JavaScript? shortTitle: Sleep function type: question tags: javascript,date,promise -expertise: intermediate author: chalarangelo cover: blog_images/sleepy-cat.jpg excerpt: Learn all the different ways you can implement a `sleep()` function in JavaScript. diff --git a/blog_posts/javascript-spread-rest-syntax.md b/blog_posts/javascript-spread-rest-syntax.md index d0f34830e..b2a3b5faa 100644 --- a/blog_posts/javascript-spread-rest-syntax.md +++ b/blog_posts/javascript-spread-rest-syntax.md @@ -3,7 +3,6 @@ title: Understanding the spread and rest syntax in Javascript shortTitle: Spread and rest syntax type: story tags: javascript,array,function -expertise: beginner author: chalarangelo cover: blog_images/antelope.jpg excerpt: JavaScript ES6 introduced us to several powerful features, such as the spread and rest syntax. Learn everything you need to know in this quick guide. diff --git a/blog_posts/javascript-store-dom-items.md b/blog_posts/javascript-store-dom-items.md index c26665905..404f72777 100644 --- a/blog_posts/javascript-store-dom-items.md +++ b/blog_posts/javascript-store-dom-items.md @@ -3,7 +3,6 @@ title: "Tip: Minimize DOM access" shortTitle: Minimize DOM access type: tip tags: javascript,browser -expertise: intermediate author: chalarangelo cover: blog_images/armchair.jpg excerpt: Increase your JavaScript code's performance when working with the DOM by leveraging this simple trick. diff --git a/blog_posts/javascript-string-contains-substring.md b/blog_posts/javascript-string-contains-substring.md index 23f8337b6..bb4b004b9 100644 --- a/blog_posts/javascript-string-contains-substring.md +++ b/blog_posts/javascript-string-contains-substring.md @@ -3,7 +3,6 @@ title: Check if a string contains a substring in JavaScript shortTitle: String contains substring type: story tags: javascript,string -expertise: beginner author: chalarangelo cover: blog_images/sea-view-2.jpg excerpt: Let's have a look at how to check if a string contains a substring in JavaScript. diff --git a/blog_posts/javascript-string-immutability.md b/blog_posts/javascript-string-immutability.md index 939be1dd1..95dc0b088 100644 --- a/blog_posts/javascript-string-immutability.md +++ b/blog_posts/javascript-string-immutability.md @@ -3,7 +3,6 @@ title: Are JavaScript strings immutable? shortTitle: String immutability type: question tags: javascript,string,type -expertise: intermediate author: chalarangelo cover: blog_images/purple-sunset.jpg excerpt: When it comes to immutability, many developers have trouble wrapping their head around JavaScript strings. Yet they're not as complicated as you might expect. diff --git a/blog_posts/javascript-string-to-boolean.md b/blog_posts/javascript-string-to-boolean.md index 78e187d10..2cddcd9bf 100644 --- a/blog_posts/javascript-string-to-boolean.md +++ b/blog_posts/javascript-string-to-boolean.md @@ -3,7 +3,6 @@ title: "Tip: Convert a string to a boolean" shortTitle: String to boolean type: tip tags: javascript,string,boolean,type -expertise: beginner author: chalarangelo cover: blog_images/two-cities.jpg excerpt: Have you ever tried to convert the string representation of a boolean to an actual boolean value? Here's a simple way to do it. diff --git a/blog_posts/javascript-swap-two-variables.md b/blog_posts/javascript-swap-two-variables.md index 6592eef9c..aa306a379 100644 --- a/blog_posts/javascript-swap-two-variables.md +++ b/blog_posts/javascript-swap-two-variables.md @@ -3,7 +3,6 @@ title: "Tip: How to swap two variables in JavaScript" shortTitle: Swap two variables type: tip tags: javascript,array,variables -expertise: beginner author: chalarangelo cover: blog_images/mountain-lake-2.jpg excerpt: Learn how to swap the values of two variables in JavaScript using a single line of ES6 code. diff --git a/blog_posts/javascript-switch-object.md b/blog_posts/javascript-switch-object.md index 54ec7f438..222c70d1a 100644 --- a/blog_posts/javascript-switch-object.md +++ b/blog_posts/javascript-switch-object.md @@ -3,7 +3,6 @@ title: Replacing JavaScript switch statement with object literals shortTitle: Switch with object literals type: story tags: javascript,object -expertise: intermediate author: chalarangelo cover: blog_images/rocky-lake.jpg excerpt: JavaScript's `switch` statement often feels hard to remember and a little bit out of place. Maybe it's time to use object literals, instead. diff --git a/blog_posts/javascript-sync-async.md b/blog_posts/javascript-sync-async.md index 1e97c024b..a5e26ff7b 100644 --- a/blog_posts/javascript-sync-async.md +++ b/blog_posts/javascript-sync-async.md @@ -3,7 +3,6 @@ title: What is the difference between synchronous and asynchronous code in JavaS shortTitle: Synchronous vs asynchronous code type: question tags: javascript,function,promise -expertise: intermediate author: chalarangelo cover: blog_images/pineapple-on-green.jpg excerpt: Understanding the differences between synchronous and asynchronous code is a crucial piece of knowledge for every web developer. diff --git a/blog_posts/javascript-target-blank.md b/blog_posts/javascript-target-blank.md index d98426e39..168f1f415 100644 --- a/blog_posts/javascript-target-blank.md +++ b/blog_posts/javascript-target-blank.md @@ -3,7 +3,6 @@ title: 'Tip: Protect your users from malicious websites when using target="_blan shortTitle: 'Safeguarding target="_blank"' type: tip tags: javascript,browser,security -expertise: intermediate author: chalarangelo cover: blog_images/laptop-with-code.jpg excerpt: Opening a link in a new tab comes with a security vulnerability that you may not be aware of. Protect your users with this simple trick. diff --git a/blog_posts/javascript-ternary-operator.md b/blog_posts/javascript-ternary-operator.md index 50fd01c95..acf2483a4 100644 --- a/blog_posts/javascript-ternary-operator.md +++ b/blog_posts/javascript-ternary-operator.md @@ -3,7 +3,6 @@ title: What is the ternary operator and how do I use it? shortTitle: Ternary operation introduction type: question tags: javascript,condition -expertise: beginner author: maciv cover: blog_images/red-succulent.jpg excerpt: Learn everything you need to know about the conditional (ternary) operator and how to use it in JavaScript. diff --git a/blog_posts/javascript-this.md b/blog_posts/javascript-this.md index 6d876c8eb..af1379318 100644 --- a/blog_posts/javascript-this.md +++ b/blog_posts/javascript-this.md @@ -3,7 +3,6 @@ title: Understanding the "this" keyword in JavaScript shortTitle: The "this" keyword in JavaScript type: story tags: javascript,function,object -expertise: intermediate author: chalarangelo cover: blog_images/u-got-this.jpg excerpt: JavaScript's `this` keyword is a source of confusion for many beginners and veterans alike. Learn how it works in different scenarios and start using it correctly. diff --git a/blog_posts/javascript-truthy-falsy-values.md b/blog_posts/javascript-truthy-falsy-values.md index b0cb7f70b..df9f7c9d2 100644 --- a/blog_posts/javascript-truthy-falsy-values.md +++ b/blog_posts/javascript-truthy-falsy-values.md @@ -3,7 +3,6 @@ title: What are truthy and falsy values in JavaScript? shortTitle: Truthy and falsy values type: question tags: javascript,type,comparison -expertise: beginner author: chalarangelo cover: blog_images/little-bird.jpg excerpt: JavaScript uses type coercion in Boolean contexts, resulting in truthy or falsy values. Get a hang of how it all works in this quick guide. diff --git a/blog_posts/javascript-undeclared-undefined-null.md b/blog_posts/javascript-undeclared-undefined-null.md index e8779e328..78df3f484 100644 --- a/blog_posts/javascript-undeclared-undefined-null.md +++ b/blog_posts/javascript-undeclared-undefined-null.md @@ -3,7 +3,6 @@ title: What's the difference between undeclared, undefined and null in JavaScrip shortTitle: Undeclared, undefined and null type: question tags: javascript,type -expertise: beginner author: chalarangelo cover: blog_images/river-houses.jpg excerpt: JavaScript has three different empty states for variables. Learn their differences and how you can check for each one. diff --git a/blog_posts/javascript-use-strict.md b/blog_posts/javascript-use-strict.md index bf9ba45cf..be2572a1f 100644 --- a/blog_posts/javascript-use-strict.md +++ b/blog_posts/javascript-use-strict.md @@ -3,7 +3,6 @@ title: What does 'use strict' do and what are some of the key benefits to using shortTitle: Strict mode introduction type: question tags: javascript,function,object -expertise: intermediate author: chalarangelo cover: blog_images/palm-tree-house.jpg excerpt: JavaScript's strict mode can make your code faster, cleaner and more secure. diff --git a/blog_posts/javascript-value-as-number.md b/blog_posts/javascript-value-as-number.md index fddec9d37..32ad3af07 100644 --- a/blog_posts/javascript-value-as-number.md +++ b/blog_posts/javascript-value-as-number.md @@ -3,7 +3,6 @@ title: "Tip: You can get the value of an input element as a number" shortTitle: Input element value as number type: tip tags: javascript,browser,input -expertise: beginner author: chalarangelo cover: blog_images/mac-and-coffee.jpg excerpt: Ever wanted to get the value of an HTML input element as a number? Learn an easy way to do it with this handy trick. diff --git a/blog_posts/javascript-value-not-equal-to-itself.md b/blog_posts/javascript-value-not-equal-to-itself.md index f1797d92d..71e03dd92 100644 --- a/blog_posts/javascript-value-not-equal-to-itself.md +++ b/blog_posts/javascript-value-not-equal-to-itself.md @@ -3,7 +3,6 @@ title: What is the only value not equal to itself in JavaScript? shortTitle: The only value not equal to itself type: question tags: javascript,type,comparison -expertise: beginner author: chalarangelo cover: blog_images/eagle.jpg excerpt: Did you know there's a JavaScript value that's not equal to itself? diff --git a/blog_posts/javascript-var-let-const.md b/blog_posts/javascript-var-let-const.md index b4aaf5a0a..f282ea897 100644 --- a/blog_posts/javascript-var-let-const.md +++ b/blog_posts/javascript-var-let-const.md @@ -3,7 +3,6 @@ title: What are the differences between var, let and const in JavaScript? shortTitle: Var, let and const type: question tags: javascript,type,variable -expertise: beginner author: chalarangelo cover: blog_images/highlands.jpg excerpt: JavaScript variables can be declared a handful of ways. However, they're not all created equal and understanding their differences can drastically change the way you code. diff --git a/blog_posts/javascript-variable-hoisting.md b/blog_posts/javascript-variable-hoisting.md index f28144f99..71a758738 100644 --- a/blog_posts/javascript-variable-hoisting.md +++ b/blog_posts/javascript-variable-hoisting.md @@ -3,7 +3,6 @@ title: What is hoisting in JavaScript? shortTitle: Hoisting introduction type: question tags: javascript,type,variable -expertise: intermediate author: chalarangelo cover: blog_images/boat-port.jpg excerpt: One of the most commonly asked JavaScript interview questions is about hoisting. It's also a concept that might require some getting used to, so read our guide to learn more. diff --git a/blog_posts/javascript-variable-scope.md b/blog_posts/javascript-variable-scope.md index f393aefc0..a66bb8fdd 100644 --- a/blog_posts/javascript-variable-scope.md +++ b/blog_posts/javascript-variable-scope.md @@ -3,7 +3,6 @@ title: Understanding JavaScript variables and scopes shortTitle: Variables and scopes type: story tags: javascript,type,variable -expertise: intermediate author: chalarangelo cover: blog_images/periscope.jpg excerpt: JavaScript developers often get confused by JavaScript's variables and scope. Here's a quick guide to understanding and remembering everything related to these concepts. diff --git a/blog_posts/javascript-void-links.md b/blog_posts/javascript-void-links.md index 0abdeb654..eac660c62 100644 --- a/blog_posts/javascript-void-links.md +++ b/blog_posts/javascript-void-links.md @@ -3,7 +3,6 @@ title: "Tip: Avoid \"javascript:void(0)\" for empty links" shortTitle: Avoid "javascript:void(0)" for empty links type: tip tags: javascript,browser,accessibility -expertise: intermediate author: chalarangelo cover: blog_images/white-flower.jpg excerpt: There are various ways to create an empty link, but some options are more appropriate than others. Learn the best way to handle empty links with this quick tip. diff --git a/blog_posts/jest-mock-global-methods.md b/blog_posts/jest-mock-global-methods.md index 9dd2df36d..e75cd9708 100644 --- a/blog_posts/jest-mock-global-methods.md +++ b/blog_posts/jest-mock-global-methods.md @@ -2,7 +2,6 @@ title: Mocking global object methods in Jest type: story tags: javascript,testing -expertise: intermediate author: chalarangelo cover: blog_images/trippy-chemicals.jpg excerpt: Testing your code is important, but mocking can be tricky at times. Here's a quick guide on how to mock global object methods in Jest. diff --git a/blog_posts/js-abort-fetch.md b/blog_posts/js-abort-fetch.md index baa2346e5..6d9abf8b0 100644 --- a/blog_posts/js-abort-fetch.md +++ b/blog_posts/js-abort-fetch.md @@ -3,7 +3,6 @@ title: "Tip: Abort a fetch request in JavaScript" shortTitle: Abort a fetch request type: story tags: javascript,function -expertise: intermediate author: chalarangelo cover: blog_images/cancel-typographer.jpg excerpt: Aborting a fetch request in JavaScript is a common problem. Here's how to handle it correctly. diff --git a/blog_posts/js-append-elements-to-array.md b/blog_posts/js-append-elements-to-array.md index 02a76fc6c..6869534f1 100644 --- a/blog_posts/js-append-elements-to-array.md +++ b/blog_posts/js-append-elements-to-array.md @@ -3,7 +3,6 @@ title: Append elements to a JavaScript array shortTitle: Append elements to array type: story tags: javascript,array -expertise: beginner author: chalarangelo cover: blog_images/switzerland-night.jpg excerpt: Have you ever tried appending elements to an array in JavaScript? Here's a primer on all the available options. diff --git a/blog_posts/js-array-filtering-tips.md b/blog_posts/js-array-filtering-tips.md index 476a187ea..d284e8188 100644 --- a/blog_posts/js-array-filtering-tips.md +++ b/blog_posts/js-array-filtering-tips.md @@ -3,7 +3,6 @@ title: JavaScript array filtering tips shortTitle: Array filtering tips type: story tags: javascript,array -expertise: intermediate author: chalarangelo cover: blog_images/violin.jpg excerpt: A few tips and tricks to help you filter arrays in JavaScript more efficiently. diff --git a/blog_posts/js-array-min-max.md b/blog_posts/js-array-min-max.md index b8511affa..0277f3f6d 100644 --- a/blog_posts/js-array-min-max.md +++ b/blog_posts/js-array-min-max.md @@ -3,7 +3,6 @@ title: "Tip: Min and max value in a JavaScript array" shortTitle: Min and max value of an array type: tip tags: javascript,array,math -expertise: beginner author: chalarangelo cover: blog_images/little-tree.jpg excerpt: When working with numeric arrays in JavaScript, you might find yourself in need of finding the minimum or maximum value. Here's a quick and easy way to do it. diff --git a/blog_posts/js-array-sorting-shorthand.md b/blog_posts/js-array-sorting-shorthand.md index ce370596a..12c9cfe40 100644 --- a/blog_posts/js-array-sorting-shorthand.md +++ b/blog_posts/js-array-sorting-shorthand.md @@ -3,7 +3,6 @@ title: "Tip: JavaScript array sorting shorthand" shortTitle: Array sorting shorthand type: tip tags: javascript,array -expertise: intermediate author: maciv cover: blog_images/apples.jpg excerpt: Learn how to quickly write code to sort JavaScript arrays with this handy one-liner. diff --git a/blog_posts/js-async-defer.md b/blog_posts/js-async-defer.md index fa5d44c30..cb4520dc4 100644 --- a/blog_posts/js-async-defer.md +++ b/blog_posts/js-async-defer.md @@ -3,7 +3,6 @@ title: What is the difference between async and defer in script loading? shortTitle: Async and defer type: question tags: javascript,html -expertise: intermediate author: chalarangelo cover: blog_images/coworking-space.jpg excerpt: Understanding how to correctly load your JavaScript files can significantly improve your web application's performance. diff --git a/blog_posts/js-callbacks.md b/blog_posts/js-callbacks.md index 8b9600024..c70dceb3e 100644 --- a/blog_posts/js-callbacks.md +++ b/blog_posts/js-callbacks.md @@ -3,7 +3,6 @@ title: What is a callback function? shortTitle: Callback functions type: question tags: javascript,function -expertise: intermediate author: chalarangelo cover: blog_images/rabbit-call.jpg excerpt: JavaScript uses callback functions in various places for different purposes. From event listeners to asynchronous operations, they are an invaluable tool you need to master. diff --git a/blog_posts/js-compare-string-case-accent-insensitive.md b/blog_posts/js-compare-string-case-accent-insensitive.md index 78863b991..ea083b696 100644 --- a/blog_posts/js-compare-string-case-accent-insensitive.md +++ b/blog_posts/js-compare-string-case-accent-insensitive.md @@ -3,7 +3,6 @@ title: "Tip: Compare strings regardless of case and accent" shortTitle: Case and accent-insensitive string comparison type: tip tags: javascript,string,comparison -expertise: intermediate author: chalarangelo cover: blog_images/memories-of-pineapple-1.jpg excerpt: Here's a quick tip on how to compare and sort arrays of strings, ignoring case and accents. diff --git a/blog_posts/js-create-element.md b/blog_posts/js-create-element.md index 4450674c1..5beb3b625 100644 --- a/blog_posts/js-create-element.md +++ b/blog_posts/js-create-element.md @@ -3,7 +3,6 @@ title: Creating HTML elements in JavaScript shortTitle: Creating HTML elements type: story tags: javascript,browser -expertise: beginner author: chalarangelo cover: blog_images/body-of-water.jpg excerpt: Learn how to create HTML elements in JavaScript, by abstracting the creation logic into a function. diff --git a/blog_posts/js-data-structures-binary-search-tree.md b/blog_posts/js-data-structures-binary-search-tree.md index b7476608e..92fe0eb26 100644 --- a/blog_posts/js-data-structures-binary-search-tree.md +++ b/blog_posts/js-data-structures-binary-search-tree.md @@ -3,7 +3,6 @@ title: JavaScript Data Structures - Binary Search Tree shortTitle: Binary Search Tree type: story tags: javascript,object,class,array -expertise: advanced author: chalarangelo cover: blog_images/purple-flower-macro-4.jpg excerpt: A binary search tree is a data structure consisting of a set of ordered linked nodes representing a hierarchical tree structure, in which each node can have at most two children. diff --git a/blog_posts/js-data-structures-binary-tree.md b/blog_posts/js-data-structures-binary-tree.md index a731263d7..2094fa9ef 100644 --- a/blog_posts/js-data-structures-binary-tree.md +++ b/blog_posts/js-data-structures-binary-tree.md @@ -3,7 +3,6 @@ title: JavaScript Data Structures - Binary Tree shortTitle: Binary Tree type: story tags: javascript,object,class,array -expertise: intermediate author: chalarangelo cover: blog_images/purple-flower-macro-3.jpg excerpt: A binary tree is a data structure consisting of a set of linked nodes representing a hierarchical tree structure, in which each node can have at most two children. diff --git a/blog_posts/js-data-structures-doubly-linked-list.md b/blog_posts/js-data-structures-doubly-linked-list.md index b3e4b41f5..5aab5f1ef 100644 --- a/blog_posts/js-data-structures-doubly-linked-list.md +++ b/blog_posts/js-data-structures-doubly-linked-list.md @@ -3,7 +3,6 @@ title: JavaScript Data Structures - Doubly Linked List shortTitle: Doubly Linked List type: story tags: javascript,object,class,array -expertise: advanced author: chalarangelo cover: blog_images/purple-flower-macro-4.jpg excerpt: A doubly linked list is a linear data structure where each element points both to the next and the previous one. diff --git a/blog_posts/js-data-structures-graph.md b/blog_posts/js-data-structures-graph.md index ae2fa57c2..2ab74e2f9 100644 --- a/blog_posts/js-data-structures-graph.md +++ b/blog_posts/js-data-structures-graph.md @@ -3,7 +3,6 @@ title: JavaScript Data Structures - Graph shortTitle: Graph type: story tags: javascript,object,class,array -expertise: intermediate author: chalarangelo cover: blog_images/purple-flower-macro-1.jpg excerpt: A graph is a data structure consisting of a set of vertices connected by a set of edges. diff --git a/blog_posts/js-data-structures-linked-list.md b/blog_posts/js-data-structures-linked-list.md index 2737136df..a8438f452 100644 --- a/blog_posts/js-data-structures-linked-list.md +++ b/blog_posts/js-data-structures-linked-list.md @@ -3,7 +3,6 @@ title: JavaScript Data Structures - Linked List shortTitle: Linked List type: story tags: javascript,object,class,array -expertise: intermediate author: chalarangelo cover: blog_images/purple-flower-macro-3.jpg excerpt: A linked list is a linear data structure where each element points to the next. diff --git a/blog_posts/js-data-structures-queue.md b/blog_posts/js-data-structures-queue.md index fcd81906c..98f3382cc 100644 --- a/blog_posts/js-data-structures-queue.md +++ b/blog_posts/js-data-structures-queue.md @@ -3,7 +3,6 @@ title: JavaScript Data Structures - Queue shortTitle: Queue type: story tags: javascript,object,class,array -expertise: intermediate author: chalarangelo cover: blog_images/purple-flower-macro-2.jpg excerpt: A queue is a linear data structure which follows a first in, first out (FIFO) order of operations. diff --git a/blog_posts/js-data-structures-stack.md b/blog_posts/js-data-structures-stack.md index cebbab699..2b6204bb5 100644 --- a/blog_posts/js-data-structures-stack.md +++ b/blog_posts/js-data-structures-stack.md @@ -3,7 +3,6 @@ title: JavaScript Data Structures - Stack shortTitle: Stack type: story tags: javascript,object,class,array -expertise: intermediate author: chalarangelo cover: blog_images/purple-flower-macro-1.jpg excerpt: A stack is a linear data structure which follows a last in, first out (LIFO) order of operations. diff --git a/blog_posts/js-data-structures-tree.md b/blog_posts/js-data-structures-tree.md index b3692c893..e82b5b36f 100644 --- a/blog_posts/js-data-structures-tree.md +++ b/blog_posts/js-data-structures-tree.md @@ -3,7 +3,6 @@ title: JavaScript Data Structures - Tree shortTitle: Tree type: story tags: javascript,object,class,array -expertise: intermediate author: chalarangelo cover: blog_images/purple-flower-macro-2.jpg excerpt: A tree is a data structure consisting of a set of linked nodes representing a hierarchical tree structure. diff --git a/blog_posts/js-decimal-to-hex.md b/blog_posts/js-decimal-to-hex.md index 2ff065d44..ea01f01c6 100644 --- a/blog_posts/js-decimal-to-hex.md +++ b/blog_posts/js-decimal-to-hex.md @@ -3,7 +3,6 @@ title: "Tip: Convert decimal number to hexadecimal" shortTitle: Decimal to hexadecimal type: tip tags: javascript,math -expertise: beginner author: chalarangelo cover: blog_images/waves-from-above.jpg excerpt: Ever needed to convert a decimal number to hexadecimal? Here's a quick and easy way to do it. diff --git a/blog_posts/js-detect-undefined-object-property.md b/blog_posts/js-detect-undefined-object-property.md index 14f0d84f8..011a5a418 100644 --- a/blog_posts/js-detect-undefined-object-property.md +++ b/blog_posts/js-detect-undefined-object-property.md @@ -3,7 +3,6 @@ title: How can I detect an undefined object property in JavaScript? shortTitle: Detect undefined object property type: story tags: javascript,object -expertise: intermediate author: chalarangelo cover: blog_images/pink-flower.jpg excerpt: Learn how to detect `undefined` object properties in JavaScript the correct way. diff --git a/blog_posts/js-double-negation-operator.md b/blog_posts/js-double-negation-operator.md index cc264b9a5..7a296612f 100644 --- a/blog_posts/js-double-negation-operator.md +++ b/blog_posts/js-double-negation-operator.md @@ -3,7 +3,6 @@ title: What does the double negation operator do in JavaScript? shortTitle: Double negation operator type: question tags: javascript,function -expertise: beginner author: chalarangelo cover: blog_images/memories-of-pineapple-2.jpg excerpt: You've probably come across the double negation operator (`!!`) before, but do you know what it does? diff --git a/blog_posts/js-dynamic-properties-are-slow.md b/blog_posts/js-dynamic-properties-are-slow.md index ed781a5cb..83b5947bb 100644 --- a/blog_posts/js-dynamic-properties-are-slow.md +++ b/blog_posts/js-dynamic-properties-are-slow.md @@ -3,7 +3,6 @@ title: "Tip: Optimize dynamically added object properties" shortTitle: Dynamically added property optimization type: tip tags: javascript,object,performance -expertise: advanced author: chalarangelo cover: blog_images/mountain-lake-cottage.jpg excerpt: Dynamically adding object properties can be pretty slow in some cases. Here's how to optimize it. diff --git a/blog_posts/js-edit-url-params.md b/blog_posts/js-edit-url-params.md index 13ace99d7..a4acec408 100644 --- a/blog_posts/js-edit-url-params.md +++ b/blog_posts/js-edit-url-params.md @@ -3,7 +3,6 @@ title: "Tip: Edit URL Parameters in JavaScript" shortTitle: Edit URL Parameters type: tip tags: javascript,string -expertise: intermediate author: chalarangelo cover: blog_images/sofia-tram.jpg excerpt: Avoid the naive approach and use a more robust method to edit URL parameters in JavaScript. diff --git a/blog_posts/js-element-from-point.md b/blog_posts/js-element-from-point.md index 62d4c1f99..7d7927fb0 100644 --- a/blog_posts/js-element-from-point.md +++ b/blog_posts/js-element-from-point.md @@ -3,7 +3,6 @@ title: "Tip: Element at a specific point on the page" shortTitle: Element at specific coordinates type: tip tags: javascript,browser -expertise: intermediate author: chalarangelo cover: blog_images/armchair-in-yellow.jpg excerpt: Using `Document.elementFromPoint()` to easily get the element at a specific point on the page. diff --git a/blog_posts/js-email-validation.md b/blog_posts/js-email-validation.md index 98154a5f2..da7da6da0 100644 --- a/blog_posts/js-email-validation.md +++ b/blog_posts/js-email-validation.md @@ -3,7 +3,6 @@ title: Can I validate an email address in JavaScript? shortTitle: Email address validation type: question tags: javascript,string,regexp -expertise: advanced author: chalarangelo cover: blog_images/blank-card.jpg excerpt: Email address validation can be much trickier than it sounds. Here's why and my advice on how to approach this problem. diff --git a/blog_posts/js-fast-remove-array-element.md b/blog_posts/js-fast-remove-array-element.md index d6e8a9262..f94c04ef0 100644 --- a/blog_posts/js-fast-remove-array-element.md +++ b/blog_posts/js-fast-remove-array-element.md @@ -3,7 +3,6 @@ title: Faster element removal in unordered JavaScript arrays shortTitle: Faster element removal in unordered arrays type: story tags: javascript,array -expertise: intermediate author: chalarangelo cover: blog_images/purple-flower-bunch.jpg excerpt: Are you performing a lot of array operations? Maybe element removal is a performance bottleneck you can avoid. diff --git a/blog_posts/js-frequency-map-data-structure.md b/blog_posts/js-frequency-map-data-structure.md index 42348807d..a8fb78edc 100644 --- a/blog_posts/js-frequency-map-data-structure.md +++ b/blog_posts/js-frequency-map-data-structure.md @@ -3,7 +3,6 @@ title: Frequency Map Data Structure shortTitle: Frequency Map type: story tags: javascript,object,class,array -expertise: advanced author: chalarangelo cover: blog_images/radio-monstera.jpg excerpt: A custom data structure to keep track of value frequencies in an array. diff --git a/blog_posts/js-immutable-object-proxy.md b/blog_posts/js-immutable-object-proxy.md index 2930f67a4..9f752a310 100644 --- a/blog_posts/js-immutable-object-proxy.md +++ b/blog_posts/js-immutable-object-proxy.md @@ -3,7 +3,6 @@ title: Immutable JavaScript objects using the Proxy object shortTitle: Immutable objects using Proxy type: story tags: javascript,object,proxy -expertise: advanced author: chalarangelo cover: blog_images/frozen-globe.jpg excerpt: Freezing objects is not the only way to prevent mutations. Learn how you can leverage the Proxy object to your advantage. diff --git a/blog_posts/js-last-element-of-array.md b/blog_posts/js-last-element-of-array.md index bbb8c429a..819253987 100644 --- a/blog_posts/js-last-element-of-array.md +++ b/blog_posts/js-last-element-of-array.md @@ -3,7 +3,6 @@ title: "Tip: Get the last element of a JavaScript array" shortTitle: Last element of array type: tip tags: javascript,array -expertise: beginner author: chalarangelo cover: blog_images/purple-laptop.jpg excerpt: Array destructuring can be leveraged in many different ways. Here's one of them. diff --git a/blog_posts/js-locale-sensitive-string-truncation.md b/blog_posts/js-locale-sensitive-string-truncation.md index ac56528c3..1a6c4ca18 100644 --- a/blog_posts/js-locale-sensitive-string-truncation.md +++ b/blog_posts/js-locale-sensitive-string-truncation.md @@ -3,7 +3,6 @@ title: How can I truncate a string accounting for locale? shortTitle: Locale-sensitive string truncation type: question tags: javascript,string -expertise: advanced author: chalarangelo cover: blog_images/reflection-on-lake.jpg excerpt: Locale-sensitive string splitting and truncation are finally possible in JavaScript. diff --git a/blog_posts/js-map-vs-object.md b/blog_posts/js-map-vs-object.md index 039f7ed6b..688b4b6b7 100644 --- a/blog_posts/js-map-vs-object.md +++ b/blog_posts/js-map-vs-object.md @@ -3,7 +3,6 @@ title: What are the differences between Maps and objects in JavaScript? shortTitle: Maps vs objects type: question tags: javascript,object -expertise: intermediate author: chalarangelo cover: blog_images/tent-stars.jpg excerpt: Maps and objects are very similar, but they have some differences that can help you decide which one better fits your use-case. diff --git a/blog_posts/js-native-data-structures.md b/blog_posts/js-native-data-structures.md index 41ad34f91..41db07583 100644 --- a/blog_posts/js-native-data-structures.md +++ b/blog_posts/js-native-data-structures.md @@ -3,7 +3,6 @@ title: Native JavaScript Data Structures shortTitle: Native Data Structures type: story tags: javascript,object,array -expertise: intermediate author: chalarangelo cover: blog_images/purple-flower-macro-2.jpg excerpt: JavaScript provides a handful of native data structures that you can start using in your code right now. diff --git a/blog_posts/js-object-freeze-vs-seal.md b/blog_posts/js-object-freeze-vs-seal.md index 9504a427f..95eccbe13 100644 --- a/blog_posts/js-object-freeze-vs-seal.md +++ b/blog_posts/js-object-freeze-vs-seal.md @@ -3,7 +3,6 @@ title: What is the difference between Object.freeze() and Object.seal() in JavaS shortTitle: Object.freeze() vs Object.seal() type: question tags: javascript,object -expertise: intermediate author: chalarangelo cover: blog_images/frozen-globe.jpg excerpt: Both `Object.freeze()` and `Object.seal()` serve a similar purpose, but there's one key difference you need to remember. diff --git a/blog_posts/js-proxy-array-negative-index.md b/blog_posts/js-proxy-array-negative-index.md index c77305965..6eec8b901 100644 --- a/blog_posts/js-proxy-array-negative-index.md +++ b/blog_posts/js-proxy-array-negative-index.md @@ -3,7 +3,6 @@ title: Negative index in JavaScript array shortTitle: Negative index array proxy type: story tags: javascript,array,proxy -expertise: advanced author: chalarangelo cover: blog_images/budapest-palace.jpg excerpt: Ever wanted to use negative indices in JavaScript arrays? Here's a simple way to do it using a Proxy. diff --git a/blog_posts/js-remove-array-duplicates.md b/blog_posts/js-remove-array-duplicates.md index b0872f593..ca798bc09 100644 --- a/blog_posts/js-remove-array-duplicates.md +++ b/blog_posts/js-remove-array-duplicates.md @@ -3,7 +3,6 @@ title: "Tip: Remove duplicates from a JavaScript array" shortTitle: Remove duplicates from an array type: tip tags: javascript,array -expertise: beginner author: chalarangelo cover: blog_images/architectural.jpg excerpt: Easily remove duplicates from a JavaScript array using the built-in `Set` object. diff --git a/blog_posts/js-remove-element-from-array.md b/blog_posts/js-remove-element-from-array.md index 4b11a73b5..3a1a540f2 100644 --- a/blog_posts/js-remove-element-from-array.md +++ b/blog_posts/js-remove-element-from-array.md @@ -3,7 +3,6 @@ title: Remove an element from a JavaScript array shortTitle: Remove element from array type: story tags: javascript,array -expertise: beginner author: chalarangelo cover: blog_images/maple-leaf-palette.jpg excerpt: Did you know there are multiple ways to remove an element from an array? Let's take a look. diff --git a/blog_posts/js-remove-trailing-zeros.md b/blog_posts/js-remove-trailing-zeros.md index 22f2d2a7e..b28851616 100644 --- a/blog_posts/js-remove-trailing-zeros.md +++ b/blog_posts/js-remove-trailing-zeros.md @@ -3,7 +3,6 @@ title: How can I remove trailing zeros from a number in JavaScript? shortTitle: Remove trailing zeros from number type: story tags: javascript,math -expertise: beginner author: chalarangelo cover: blog_images/island-corridor.jpg excerpt: When formatting decimal values in JavaScript, trailing zeros can be undesired. Here's how to deal with them. diff --git a/blog_posts/js-replace-all-occurences-of-string.md b/blog_posts/js-replace-all-occurences-of-string.md index 1c209990f..cf3331ba0 100644 --- a/blog_posts/js-replace-all-occurences-of-string.md +++ b/blog_posts/js-replace-all-occurences-of-string.md @@ -3,7 +3,6 @@ title: Replace all occurrences of a string in JavaScript shortTitle: Replace all occurrences of a string type: story tags: javascript,string,regexp -expertise: intermediate author: chalarangelo cover: blog_images/blue-computer.jpg excerpt: If you need to replace all occurrences of a string in JavaScript, you have a couple of options. diff --git a/blog_posts/js-spread-operator-tricks.md b/blog_posts/js-spread-operator-tricks.md index 16e6ad82d..7f7e7dfbd 100644 --- a/blog_posts/js-spread-operator-tricks.md +++ b/blog_posts/js-spread-operator-tricks.md @@ -3,7 +3,6 @@ title: 3 ways to use the JavaScript spread operator with arrays shortTitle: Array tricks using the spread operator type: story tags: javascript,array -expertise: beginner author: chalarangelo cover: blog_images/succulent-crowd.jpg excerpt: JavaScript’s spread operator is a very versatile tool. Here are some simple ways to use it. diff --git a/blog_posts/js-static-instance-methods.md b/blog_posts/js-static-instance-methods.md index ecd364f90..a3d4b7979 100644 --- a/blog_posts/js-static-instance-methods.md +++ b/blog_posts/js-static-instance-methods.md @@ -3,7 +3,6 @@ title: What is the difference between static and instance methods? shortTitle: Static Instance Methods type: question tags: javascript,object,function,class -expertise: intermediate author: chalarangelo cover: blog_images/lake-runner.jpg excerpt: Static and instance methods are pretty easy to distinguish and serve different purposes. Learn all about them in this article. diff --git a/blog_posts/js-timeout-interval-delay.md b/blog_posts/js-timeout-interval-delay.md index 5af01350d..6ba9cccf9 100644 --- a/blog_posts/js-timeout-interval-delay.md +++ b/blog_posts/js-timeout-interval-delay.md @@ -3,7 +3,6 @@ title: How delays work in JavaScript timing functions shortTitle: Delays in JavaScript timing functions type: story tags: javascript,browser,timeout -expertise: intermediate author: chalarangelo cover: blog_images/river-house-lights.jpg excerpt: Did you know that the delay of `setTimeout()` and `setInterval()` is merely a suggestion? diff --git a/blog_posts/js-typecheck-array.md b/blog_posts/js-typecheck-array.md index ad17fd206..5e78bfda3 100644 --- a/blog_posts/js-typecheck-array.md +++ b/blog_posts/js-typecheck-array.md @@ -3,7 +3,6 @@ title: "Tip: Typechecking arrays with Array.isArray()" shortTitle: Array typechecking type: tip tags: javascript,type,array -expertise: beginner author: chalarangelo cover: blog_images/purple-flower-field.jpg excerpt: Make sure to use the correct method when checking if a JavaScript object is an array. diff --git a/blog_posts/js-window-location-cheatsheet.md b/blog_posts/js-window-location-cheatsheet.md index 4bed8affd..586ef3007 100644 --- a/blog_posts/js-window-location-cheatsheet.md +++ b/blog_posts/js-window-location-cheatsheet.md @@ -2,7 +2,6 @@ title: Window.location Cheat Sheet type: cheatsheet tags: javascript,browser -expertise: beginner author: chalarangelo cover: blog_images/yellow-sofa.jpg excerpt: A quick reference for the `window.location` object. diff --git a/blog_posts/lazy-loading-images.md b/blog_posts/lazy-loading-images.md index 0e548fa67..90cfd6d1e 100644 --- a/blog_posts/lazy-loading-images.md +++ b/blog_posts/lazy-loading-images.md @@ -3,7 +3,6 @@ title: "Tip: Lazy load images in HTML" shortTitle: Image lazy loading type: tip tags: webdev,html,image -expertise: intermediate author: chalarangelo cover: blog_images/bridge.jpg excerpt: Did you know you can use a native HTML attribute to add lazy load to images? Learn all you need to know with this quick tip. diff --git a/blog_posts/nodejs-chrome-debugging.md b/blog_posts/nodejs-chrome-debugging.md index fbfca95f4..87303ca39 100644 --- a/blog_posts/nodejs-chrome-debugging.md +++ b/blog_posts/nodejs-chrome-debugging.md @@ -3,7 +3,6 @@ title: "Tip: Debugging Node.js using Chrome Developer Tools" shortTitle: Debug Node.js with Chrome Developer Tools type: tip tags: javascript,node,debugging -expertise: intermediate author: chalarangelo cover: blog_images/bug.jpg excerpt: Did you know you can use Chrome Developer Tools to debug your Node.js code? Find out how in this short guide. diff --git a/blog_posts/nodejs-static-file-server.md b/blog_posts/nodejs-static-file-server.md index 651028d04..687281bd4 100644 --- a/blog_posts/nodejs-static-file-server.md +++ b/blog_posts/nodejs-static-file-server.md @@ -3,7 +3,6 @@ title: Create a static file server with Node.js shortTitle: Node.js static file server type: story tags: javascript,node,server -expertise: intermediate author: chalarangelo cover: blog_images/man-cup-laptop.jpg excerpt: Create your own static file server with Node.js in just 70 lines of code. diff --git a/blog_posts/password-autocomplete-suggestion.md b/blog_posts/password-autocomplete-suggestion.md index 16f3bdb15..5a9b084ef 100644 --- a/blog_posts/password-autocomplete-suggestion.md +++ b/blog_posts/password-autocomplete-suggestion.md @@ -3,7 +3,6 @@ title: "Tip: Adding autocomplete to a password field" shortTitle: Password field autocomplete type: tip tags: webdev -expertise: intermediate author: chalarangelo cover: blog_images/padlocks.jpg excerpt: Use the HTML `autocomplete` attribute to create more secure and accessible password fields. diff --git a/blog_posts/perfect-css-transition-duration.md b/blog_posts/perfect-css-transition-duration.md index b3f79dc97..c11018573 100644 --- a/blog_posts/perfect-css-transition-duration.md +++ b/blog_posts/perfect-css-transition-duration.md @@ -3,7 +3,6 @@ title: "Tip: The perfect duration for CSS transitions" shortTitle: CSS transition duration type: tip tags: css,interactivity,visual,animation -expertise: intermediate author: chalarangelo cover: blog_images/perfect-timing.jpg excerpt: Learn how to make your CSS transitions feel perfect when users interact with elements on the page with this simple tip. diff --git a/blog_posts/prefetching-resources.md b/blog_posts/prefetching-resources.md index 7eecfa931..5b5dd984a 100644 --- a/blog_posts/prefetching-resources.md +++ b/blog_posts/prefetching-resources.md @@ -3,7 +3,6 @@ title: "Tip: Prefetching resources in the browser" shortTitle: Resource prefetching type: tip tags: webdev,html,browser -expertise: intermediate author: chalarangelo cover: blog_images/playing-fetch.jpg excerpt: Resource prefetching is a great technique to improve perceived page speed on your website and one that requires little to no effort. Learn how to use it today. diff --git a/blog_posts/python-bare-except.md b/blog_posts/python-bare-except.md index 608ceaaa7..6c025a800 100644 --- a/blog_posts/python-bare-except.md +++ b/blog_posts/python-bare-except.md @@ -3,7 +3,6 @@ title: "Tip: Avoid using bare except in Python" shortTitle: Bare except best practices type: tip tags: python,error -expertise: beginner author: maciv cover: blog_images/dark-cloud.jpg excerpt: It's generally not a good idea to use bare `except` clause in Python, but do you know why? diff --git a/blog_posts/python-dict-getkey-vs-dictkey.md b/blog_posts/python-dict-getkey-vs-dictkey.md index a673bca1b..d3f349c30 100644 --- a/blog_posts/python-dict-getkey-vs-dictkey.md +++ b/blog_posts/python-dict-getkey-vs-dictkey.md @@ -3,7 +3,6 @@ title: "Tip: You should use dict.get(key) instead of dict[key]" shortTitle: dict.get(key) vs dict[key] type: tip tags: python,dictionary -expertise: intermediate author: maciv cover: blog_images/fruit-feast.jpg excerpt: Learn the difference between two common ways to access values in Python dictionaries and level up your code today. diff --git a/blog_posts/python-file-close.md b/blog_posts/python-file-close.md index b3471e78c..62c5ce3a1 100644 --- a/blog_posts/python-file-close.md +++ b/blog_posts/python-file-close.md @@ -3,7 +3,6 @@ title: How to correctly close files in Python shortTitle: Closing files type: story tags: python,file -expertise: beginner author: maciv cover: blog_images/flower-pond.jpg excerpt: When working with files in Python, it's important to ensure that the file is closed correctly. Here are a couple of ways to do that. diff --git a/blog_posts/python-fstrings-str-format.md b/blog_posts/python-fstrings-str-format.md index 872ddb18e..9568dac35 100644 --- a/blog_posts/python-fstrings-str-format.md +++ b/blog_posts/python-fstrings-str-format.md @@ -3,7 +3,6 @@ title: "Tip: 2 ways to format a string in Python" shortTitle: String formatting type: tip tags: python,string -expertise: beginner author: maciv cover: blog_images/feathers.jpg excerpt: Learn two ways to format a string in Python with this quick tip. diff --git a/blog_posts/python-identity-equality.md b/blog_posts/python-identity-equality.md index ba39099e7..fc6e24ca7 100644 --- a/blog_posts/python-identity-equality.md +++ b/blog_posts/python-identity-equality.md @@ -3,7 +3,6 @@ title: What is the difference between Python's equality operators? shortTitle: Python equality operators type: question tags: python,type,comparison -expertise: beginner author: maciv cover: blog_images/umbrellas.jpg excerpt: Python provides two distinct comparison operators for different task. Stop mixing them up using this quick guide. diff --git a/blog_posts/python-lists-tuples.md b/blog_posts/python-lists-tuples.md index c89526e34..5a1af7f29 100644 --- a/blog_posts/python-lists-tuples.md +++ b/blog_posts/python-lists-tuples.md @@ -3,7 +3,6 @@ title: What is the difference between lists and tuples in Python? shortTitle: Lists vs Tuples type: question tags: python,list -expertise: intermediate author: chalarangelo cover: blog_images/red-mountain.jpg excerpt: Learn how Python's lists and tuples are different and level up your code today. diff --git a/blog_posts/python-lowercase.md b/blog_posts/python-lowercase.md index f18f6c9ed..e7ac713d1 100644 --- a/blog_posts/python-lowercase.md +++ b/blog_posts/python-lowercase.md @@ -3,7 +3,6 @@ title: How do I convert a string to lowercase in Python? shortTitle: Lowercase string type: question tags: python,string -expertise: beginner author: maciv cover: blog_images/type-stamps.jpg excerpt: Learn of the two different way to convert a string to lowercase in Python and understand when you should use each one with this quick guide. diff --git a/blog_posts/python-mutable-default-arguments.md b/blog_posts/python-mutable-default-arguments.md index 30933333c..a95b72939 100644 --- a/blog_posts/python-mutable-default-arguments.md +++ b/blog_posts/python-mutable-default-arguments.md @@ -3,7 +3,6 @@ title: "Tip: Watch out for mutable default arguments in Python" shortTitle: Mutable default arguments type: tip tags: python,function -expertise: intermediate author: maciv cover: blog_images/goat-wooden-cottage.jpg excerpt: Mutable default arguments can trip up Python beginners and veterans alike. Here's a quick workaround to deal with them. diff --git a/blog_posts/python-named-tuples.md b/blog_posts/python-named-tuples.md index 7a1df570d..faae29533 100644 --- a/blog_posts/python-named-tuples.md +++ b/blog_posts/python-named-tuples.md @@ -3,7 +3,6 @@ title: What are named tuples in Python? shortTitle: Named Tuples type: question tags: python,list,dictionary -expertise: intermediate author: maciv cover: blog_images/mask-quiet.jpg excerpt: Understand Python's named tuples and start using them in your projects today. diff --git a/blog_posts/python-slice-assignment.md b/blog_posts/python-slice-assignment.md index 9dc1181f7..c034d03f5 100644 --- a/blog_posts/python-slice-assignment.md +++ b/blog_posts/python-slice-assignment.md @@ -3,7 +3,6 @@ title: Understanding Python's slice assignment shortTitle: Python slice assignment type: story tags: python,list -expertise: intermediate author: maciv cover: blog_images/sliced-fruits.jpg excerpt: Learn everything you need to know about Python's slice assignment with this handy guide. diff --git a/blog_posts/python-slice-notation.md b/blog_posts/python-slice-notation.md index 7ba6ae375..70f23d722 100644 --- a/blog_posts/python-slice-notation.md +++ b/blog_posts/python-slice-notation.md @@ -3,7 +3,6 @@ title: Understanding Python's slice notation shortTitle: Python slice notation type: story tags: python,list -expertise: intermediate author: maciv cover: blog_images/sliced-fruits.jpg excerpt: Learn everything you need to know about Python's slice notation with this handy guide. diff --git a/blog_posts/python-sort-dictionary-tuple-key.md b/blog_posts/python-sort-dictionary-tuple-key.md index d5dddef1a..fd40fc084 100644 --- a/blog_posts/python-sort-dictionary-tuple-key.md +++ b/blog_posts/python-sort-dictionary-tuple-key.md @@ -3,7 +3,6 @@ title: "Tip: Sort Python dictionary list using a tuple key" shortTitle: Sort dictionary list using a tuple key type: tip tags: python,list,dictionary -expertise: intermediate author: chalarangelo cover: blog_images/matrix-flow.jpg excerpt: Learn how to sort a Python dictionary list using a tuple key. diff --git a/blog_posts/python-sortedlist-vs-list-sort.md b/blog_posts/python-sortedlist-vs-list-sort.md index 0ce243eba..603dfe2c8 100644 --- a/blog_posts/python-sortedlist-vs-list-sort.md +++ b/blog_posts/python-sortedlist-vs-list-sort.md @@ -3,7 +3,6 @@ title: What is the difference between list.sort() and sorted() in Python? shortTitle: List.sort vs sorted type: question tags: python,list -expertise: intermediate author: maciv cover: blog_images/duck-plants.jpg excerpt: Learn the difference between Python's built-in list sorting methods and when one is preferred over the other. diff --git a/blog_posts/python-string-is-empty.md b/blog_posts/python-string-is-empty.md index 85765b286..bc37e2c9b 100644 --- a/blog_posts/python-string-is-empty.md +++ b/blog_posts/python-string-is-empty.md @@ -3,7 +3,6 @@ title: How can I check if a string is empty in Python? shortTitle: String is empty type: question tags: python,string -expertise: beginner author: chalarangelo cover: blog_images/tea-laptop-table.jpg excerpt: Here are two quick and elegant ways to check if a string is empty in Python. diff --git a/blog_posts/python-swap-variables.md b/blog_posts/python-swap-variables.md index 12cc11fe7..3a37e58e4 100644 --- a/blog_posts/python-swap-variables.md +++ b/blog_posts/python-swap-variables.md @@ -3,7 +3,6 @@ title: 3 ways to swap two variables in Python shortTitle: Variable swapping type: story tags: python,variables -expertise: beginner author: maciv cover: blog_images/leaves-read.jpg excerpt: Learn 3 easy ways to swap the values of two variables in Python. diff --git a/blog_posts/python-trim-whitespace.md b/blog_posts/python-trim-whitespace.md index 103d8f84e..a2d79ba9f 100644 --- a/blog_posts/python-trim-whitespace.md +++ b/blog_posts/python-trim-whitespace.md @@ -3,7 +3,6 @@ title: How do I trim whitespace from a string in Python? shortTitle: Trim whitespace type: question tags: python,string -expertise: beginner author: maciv cover: blog_images/organizer.jpg excerpt: Oftentimes you might need to trim whitespace from a string in Python. Learn of three different way to do this in this short guide. diff --git a/blog_posts/react-conditional-classname.md b/blog_posts/react-conditional-classname.md index 26b544a3b..b7e62d280 100644 --- a/blog_posts/react-conditional-classname.md +++ b/blog_posts/react-conditional-classname.md @@ -3,7 +3,6 @@ title: "Tip: React conditional className, empty strings and null" shortTitle: Conditional className type: tip tags: react,components -expertise: intermediate author: maciv cover: blog_images/succulent-red-light.jpg excerpt: When developing React components, you might often need to conditionally apply a className. Learn how to handle empty classNames correctly using this handy tip. diff --git a/blog_posts/react-proptypes-objectof-vs-shape.md b/blog_posts/react-proptypes-objectof-vs-shape.md index 29ec22f53..81a9d461a 100644 --- a/blog_posts/react-proptypes-objectof-vs-shape.md +++ b/blog_posts/react-proptypes-objectof-vs-shape.md @@ -3,7 +3,6 @@ title: React PropTypes - objectOf vs shape shortTitle: PropTypes - objectOf vs shape type: story tags: react,components,proptypes -expertise: intermediate author: chalarangelo cover: blog_images/shapes.jpg excerpt: Learn the differences between `PropTypes.objectOf()` and `PropTypes.shape()` and where to use each one with this quick guide. diff --git a/blog_posts/react-redux-readable-reducers.md b/blog_posts/react-redux-readable-reducers.md index 12d12f900..82f1d92cf 100644 --- a/blog_posts/react-redux-readable-reducers.md +++ b/blog_posts/react-redux-readable-reducers.md @@ -3,7 +3,6 @@ title: Writing readable reducers in Redux shortTitle: Readable reducer tips type: story tags: react,logic -expertise: advanced author: chalarangelo cover: blog_images/beach-from-above.jpg excerpt: When working with state in your code, you often run into issues with maintaining complexity and readability. Oftentimes, these issues are easily fixable. diff --git a/blog_posts/react-rendering-basics.md b/blog_posts/react-rendering-basics.md index 2a41c3ae9..4818c438c 100644 --- a/blog_posts/react-rendering-basics.md +++ b/blog_posts/react-rendering-basics.md @@ -2,7 +2,6 @@ title: React rendering basics type: story tags: react,render -expertise: intermediate author: chalarangelo cover: blog_images/comic-glasses.jpg excerpt: Take a deeper dive into React's rendering process and understand the basics behind the popular JavaScript framework. diff --git a/blog_posts/react-rendering-optimization.md b/blog_posts/react-rendering-optimization.md index 65fd2eeab..335d0fdf8 100644 --- a/blog_posts/react-rendering-optimization.md +++ b/blog_posts/react-rendering-optimization.md @@ -2,7 +2,6 @@ title: React rendering optimization type: story tags: react,render -expertise: intermediate author: chalarangelo cover: blog_images/comic-glasses.jpg excerpt: Take a deeper dive into React's rendering process and understand how to make small yet powerful tweaks to optimize performance. diff --git a/blog_posts/react-rendering-state.md b/blog_posts/react-rendering-state.md index ee98fae6d..b3af50adf 100644 --- a/blog_posts/react-rendering-state.md +++ b/blog_posts/react-rendering-state.md @@ -2,7 +2,6 @@ title: React rendering state type: story tags: react,render -expertise: intermediate author: chalarangelo cover: blog_images/comic-glasses.jpg excerpt: Take a deeper dive into React's rendering process and understand the role of the Context API and Redux in it. diff --git a/blog_posts/react-selected-option.md b/blog_posts/react-selected-option.md index 4a3539595..782a6ec27 100644 --- a/blog_posts/react-selected-option.md +++ b/blog_posts/react-selected-option.md @@ -3,7 +3,6 @@ title: How can I set the value of a select input in React? shortTitle: Select input value type: question tags: react,components,input -expertise: beginner author: maciv cover: blog_images/two-doors.jpg excerpt: Learn of all the different ways to set the value of a selected input in React with this quick guide. diff --git a/blog_posts/react-use-effect-primitive-dependencies.md b/blog_posts/react-use-effect-primitive-dependencies.md index 03e1d30ed..cb17aeb44 100644 --- a/blog_posts/react-use-effect-primitive-dependencies.md +++ b/blog_posts/react-use-effect-primitive-dependencies.md @@ -3,7 +3,6 @@ title: "Tip: Prefer primitives in useEffect dependencies" shortTitle: Primitive useEffect dependencies type: tip tags: react,hooks,effect,object,comparison -expertise: intermediate author: chalarangelo cover: blog_images/automaton.jpg excerpt: Avoid unnecessary re-runs by using primitive dependencies in your React effect. diff --git a/blog_posts/react-use-interval-explained.md b/blog_posts/react-use-interval-explained.md index 288796fca..fda2d2fdd 100644 --- a/blog_posts/react-use-interval-explained.md +++ b/blog_posts/react-use-interval-explained.md @@ -3,7 +3,6 @@ title: Write a useInterval hook in React shortTitle: Step-by-step useInterval hook type: story tags: react,hooks,effect -expertise: advanced author: chalarangelo cover: blog_images/clock.jpg excerpt: Wrapping your mind around React hooks and how they interact with `setInterval()` can be difficult. Here's a guide to get you started. diff --git a/blog_posts/react-use-state-with-label.md b/blog_posts/react-use-state-with-label.md index 8659773b5..541dd888c 100644 --- a/blog_posts/react-use-state-with-label.md +++ b/blog_posts/react-use-state-with-label.md @@ -3,7 +3,6 @@ title: "Tip: Label your useState values in React developer tools" shortTitle: Labelling useState values type: tip tags: react,hooks -expertise: intermediate author: chalarangelo cover: blog_images/bunny-poster.jpg excerpt: When working with multiple `useState` hooks in React, things can get a bit complicated while debugging. Luckily, there's an easy way to label these values. diff --git a/blog_posts/regexp-cheatsheet.md b/blog_posts/regexp-cheatsheet.md index eead0a227..695607ea7 100644 --- a/blog_posts/regexp-cheatsheet.md +++ b/blog_posts/regexp-cheatsheet.md @@ -2,7 +2,6 @@ title: Regular Expressions Cheat Sheet type: cheatsheet tags: javascript,string,regexp,cheatsheet -expertise: beginner author: chalarangelo cover: blog_images/tools.jpg excerpt: Regular expressions are a very useful tool in a variety of situations. Save this cheatsheet for any time you need to look up their syntax and speed up your development. diff --git a/blog_posts/resource-preloading-cheatsheet.md b/blog_posts/resource-preloading-cheatsheet.md index 34aa87d5c..58a16ccfc 100644 --- a/blog_posts/resource-preloading-cheatsheet.md +++ b/blog_posts/resource-preloading-cheatsheet.md @@ -2,7 +2,6 @@ title: Resource Preloading Cheat Sheet type: cheatsheet tags: webdev,html,browser -expertise: beginner author: chalarangelo cover: blog_images/folded-map.jpg excerpt: Preloading content is one of many ways to improve your website's performance. diff --git a/blog_posts/responsive-favicon-dark-mode.md b/blog_posts/responsive-favicon-dark-mode.md index 7c011bb0e..7decf058a 100644 --- a/blog_posts/responsive-favicon-dark-mode.md +++ b/blog_posts/responsive-favicon-dark-mode.md @@ -3,7 +3,6 @@ title: How can I create a custom responsive favicon for dark mode? shortTitle: Responsive dark mode favicon type: question tags: css,visual -expertise: beginner author: chalarangelo cover: blog_images/dark-mode.jpg excerpt: Learn how to create a custom responsive favicon that can adapt its color palette for dark mode with this quick guide. diff --git a/blog_posts/reversed-list.md b/blog_posts/reversed-list.md index 04194f567..191d2fda1 100644 --- a/blog_posts/reversed-list.md +++ b/blog_posts/reversed-list.md @@ -3,7 +3,6 @@ title: "Tip: Create a descending list of numbered items" shortTitle: Descending list type: tip tags: webdev,html -expertise: beginner author: chalarangelo cover: blog_images/ancient-greek-building.jpg excerpt: Did you know there's an easy way to create a descending list of numbered items with pure HTML? Learn how with this handy tip. diff --git a/blog_posts/select-focused-dom-element.md b/blog_posts/select-focused-dom-element.md index bf1ea1872..7bebba2e4 100644 --- a/blog_posts/select-focused-dom-element.md +++ b/blog_posts/select-focused-dom-element.md @@ -3,7 +3,6 @@ title: "Tip: Select the focused DOM element" shortTitle: Focused DOM element type: tip tags: javascript,browser -expertise: beginner author: chalarangelo cover: blog_images/horse-sunset.jpg excerpt: Here's a quick and easy way to select the currently focused DOM element in JavaScript. diff --git a/blog_posts/setup-python3-pip3-as-default.md b/blog_posts/setup-python3-pip3-as-default.md index a229bd414..91790bb7e 100644 --- a/blog_posts/setup-python3-pip3-as-default.md +++ b/blog_posts/setup-python3-pip3-as-default.md @@ -3,7 +3,6 @@ title: "Tip: Set up Python 3 and pip 3 as default" shortTitle: Python 3 and pip 3 setup type: tip tags: python,setup -expertise: intermediate author: chalarangelo cover: blog_images/avocado-slices.jpg excerpt: A very common problem when working with Python is having to remember the correct version. Luckily, there's an easy fix for that. diff --git a/blog_posts/technical-debt.md b/blog_posts/technical-debt.md index c8a13d7c4..4cbd52ae9 100644 --- a/blog_posts/technical-debt.md +++ b/blog_posts/technical-debt.md @@ -2,7 +2,6 @@ title: Technical debt type: story tags: career,webdev,programming,management -expertise: intermediate author: chalarangelo cover: blog_images/new-york.jpg excerpt: Learn what technical debt is, its causes and symptoms, and how to deal with it. diff --git a/blog_posts/terminal-shortcuts-cheatsheet.md b/blog_posts/terminal-shortcuts-cheatsheet.md index 25d1afdb8..ef71a7d33 100644 --- a/blog_posts/terminal-shortcuts-cheatsheet.md +++ b/blog_posts/terminal-shortcuts-cheatsheet.md @@ -2,7 +2,6 @@ title: Bash Shortcuts Cheat Sheet type: cheatsheet tags: webdev,bash,cheatsheet -expertise: intermediate author: chalarangelo cover: blog_images/terminal.jpg excerpt: Maximize your productivity when working with a bash or other shell terminal by using these keyboard shortcuts. diff --git a/blog_posts/testing-async-react-components.md b/blog_posts/testing-async-react-components.md index 4015ea461..92082da26 100644 --- a/blog_posts/testing-async-react-components.md +++ b/blog_posts/testing-async-react-components.md @@ -3,7 +3,6 @@ title: Testing React components that update asynchronously with React Testing Li shortTitle: Asynchronous component update testing type: story tags: react,testing,event -expertise: advanced author: maciv cover: blog_images/colorful-lounge.jpg excerpt: Testing React components that update asynchronously with React Testing Library is a common scenario. Learn how to deal with common issues and speed up your testing. diff --git a/blog_posts/testing-react-portals.md b/blog_posts/testing-react-portals.md index 2d2f504f1..5aa484234 100644 --- a/blog_posts/testing-react-portals.md +++ b/blog_posts/testing-react-portals.md @@ -3,7 +3,6 @@ title: Testing React portals shortTitle: Portal testing type: story tags: react,testing -expertise: advanced author: chalarangelo cover: blog_images/portal-timelapse.jpg excerpt: Testing React components that use portals can be difficult until you understand what you really need to be testing. diff --git a/blog_posts/testing-redux-connected-components.md b/blog_posts/testing-redux-connected-components.md index d1c49fc8a..388359e34 100644 --- a/blog_posts/testing-redux-connected-components.md +++ b/blog_posts/testing-redux-connected-components.md @@ -3,7 +3,6 @@ title: Testing Redux-connected components with React Testing Library shortTitle: Redux-connected components testing type: story tags: react,testing -expertise: advanced author: chalarangelo cover: blog_images/sparkles.jpg excerpt: Testing Redux-connected components with React Testing Library is a very common scenario. Learn how to use this simple utility function to speed up your testing. diff --git a/blog_posts/testing-stateful-ui-components.md b/blog_posts/testing-stateful-ui-components.md index a704f8dd3..addb15867 100644 --- a/blog_posts/testing-stateful-ui-components.md +++ b/blog_posts/testing-stateful-ui-components.md @@ -3,7 +3,6 @@ title: An approach to testing stateful React components shortTitle: Stateful component testing type: story tags: react,testing -expertise: advanced author: chalarangelo cover: blog_images/lake-trees.jpg excerpt: Testing stateful React components is by no means a difficult task, but did you know there is an elegant solution that doesn't involve testing state directly? diff --git a/blog_posts/typographic-scale-basics.md b/blog_posts/typographic-scale-basics.md index a0ddca3e2..dc2b57c76 100644 --- a/blog_posts/typographic-scale-basics.md +++ b/blog_posts/typographic-scale-basics.md @@ -2,7 +2,6 @@ title: Typographic scale basics type: story tags: css,webdev,typography -expertise: intermediate author: chalarangelo cover: blog_images/typography.jpg excerpt: Typography might seem intimidating, but you can quickly and easily create a simple typographic scale with this basic technique. diff --git a/blog_posts/zooming-accessibility-tips.md b/blog_posts/zooming-accessibility-tips.md index 953b332d6..a2f3e1a5e 100644 --- a/blog_posts/zooming-accessibility-tips.md +++ b/blog_posts/zooming-accessibility-tips.md @@ -3,7 +3,6 @@ title: Why using maximum-scale can harm your page's accessibility shortTitle: Accessibility and maximum-scale type: story tags: webdev -expertise: intermediate author: chalarangelo cover: blog_images/camera-zoom.jpg excerpt: Using the viewport meta tag incorrectly can harm your website's accessibility. Learn how to prevent problems with this handy guide. diff --git a/snippet-template.md b/snippet-template.md index 90e839cf0..b9eaf5520 100644 --- a/snippet-template.md +++ b/snippet-template.md @@ -3,7 +3,6 @@ title: My amazing story shortTitle: Amazing story type: story tags: javascript,webdev -expertise: intermediate author: chalarangelo cover: blog_images/image.jpg excerpt: A short summary of your story up to 180 characters long.