From ee1e8abd8752df017f57ba8eefd9384f24e4ce61 Mon Sep 17 00:00:00 2001 From: Oliver Eyton-Williams Date: Wed, 13 Jan 2021 03:31:00 +0100 Subject: [PATCH] feat(curriculum): restore seed + solution to Chinese (#40683) * feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan Co-authored-by: nhcarrigan --- client/src/redux/propTypes.js | 1 - ...e-stripped.md => challenge-js-comments.md} | 28 + curriculum/__fixtures__/chinese/challenge.md | 13 +- .../__fixtures__/combined-html-comments.md | 2 +- ...ges-for-visually-impaired-accessibility.md | 12 + .../add-an-accessible-date-picker.md | 50 + ...choosing-colors-that-convey-information.md | 43 + ...ess-issues-by-using-sufficient-contrast.md | 46 + ...-meaning-by-using-descriptive-link-text.md | 30 +- ...of-audio-content-with-the-audio-element.md | 32 + ...t-accessibility-with-the-figure-element.md | 88 + ...ld-accessibility-with-the-label-element.md | 74 + ...ove-readability-with-high-contrast-text.md | 46 + ...t-to-the-content-using-the-main-element.md | 24 + ...know-when-alt-text-should-be-left-blank.md | 34 + ...-to-a-screen-reader-by-using-custom-css.md | 178 ++ ...e-links-navigable-with-html-access-keys.md | 54 + ...igation-easier-with-the-footer-landmark.md | 78 + ...igation-easier-with-the-header-landmark.md | 60 + ...navigation-easier-with-the-nav-landmark.md | 72 + ...times-with-the-html5-datetime-attribute.md | 79 + ...w-hierarchical-relationships-of-content.md | 38 + ...dex-to-add-keyboard-focus-to-an-element.md | 104 + ...-of-keyboard-focus-for-several-elements.md | 72 + .../wrap-content-in-the-article-element.md | 52 + ...eldset-element-for-better-accessibility.md | 92 + ...add-a-box-shadow-to-a-card-like-element.md | 98 + ...t-the-background-color-property-of-text.md | 91 + ...arious-elements-to-complementary-colors.md | 86 + ...of-an-element-using-the-height-property.md | 80 + ...adjust-the-hover-state-of-an-anchor-tag.md | 28 + .../adjust-the-hue-of-a-color.md | 63 + ...size-of-a-header-versus-a-paragraph-tag.md | 92 + .../adjust-the-tone-of-a-color.md | 91 + ...-of-an-element-using-the-width-property.md | 78 + .../animate-elements-at-variable-rates.md | 113 + ...ually-using-an-infinite-animation-count.md | 75 + ...ate-multiple-elements-at-variable-rates.md | 115 + ...-horizontally-using-the-margin-property.md | 28 + .../change-an-elements-relative-position.md | 32 + .../change-animation-timing-with-keywords.md | 85 + ...ping-elements-with-the-z-index-property.md | 55 + .../create-a-gradual-css-linear-gradient.md | 32 + .../create-a-graphic-using-css.md | 43 + ...-a-horizontal-line-using-the-hr-element.md | 88 + ...a-more-complex-shape-using-css-and-html.md | 80 + .../create-movement-using-css-animation.md | 79 + ...-a-subtle-pattern-as-a-background-image.md | 20 + ...l-balance-using-the-text-align-property.md | 76 + ...by-fading-an-element-from-left-to-right.md | 63 + .../decrease-the-opacity-of-an-element.md | 100 + .../learn-about-complementary-colors.md | 46 + .../learn-about-tertiary-colors.md | 63 + .../learn-how-bezier-curves-work.md | 86 + ...keyframes-and-animation-properties-work.md | 56 + ...to-its-parent-with-absolute-positioning.md | 50 + ...e-browser-window-with-fixed-positioning.md | 80 + ...tbeat-using-an-infinite-animation-count.md | 147 ++ ...otion-more-natural-using-a-bezier-curve.md | 82 + .../modify-fill-mode-of-an-animation.md | 50 + ...ely-positioned-element-with-css-offsets.md | 38 + ...s-left-or-right-with-the-float-property.md | 68 + ...font-size-for-multiple-heading-elements.md | 50 + .../set-the-font-size-of-paragraph-text.md | 26 + ...nt-weight-for-multiple-heading-elements.md | 74 + .../set-the-line-height-of-paragraphs.md | 28 + .../use-a-bezier-curve-to-move-a-graphic.md | 74 + ...ar-gradient-to-create-a-striped-element.md | 45 + ...n-to-change-the-hover-state-of-a-button.md | 47 + ...ewx-to-skew-an-element-along-the-x-axis.md | 43 + ...ewy-to-skew-an-element-along-the-y-axis.md | 45 + ...operty-to-change-the-size-of-an-element.md | 59 + ...e-property-to-scale-an-element-on-hover.md | 43 + .../use-the-em-tag-to-italicize-text.md | 86 + .../use-the-s-tag-to-strikethrough-text.md | 86 + .../use-the-strong-tag-to-make-text-bold.md | 86 + ...ansform-property-to-make-text-uppercase.md | 102 + .../use-the-u-tag-to-underline-text.md | 86 + .../add-a-negative-margin-to-an-element.md | 85 + .../add-borders-around-your-elements.md | 118 + ...rent-margins-to-each-side-of-an-element.md | 90 + ...rent-padding-to-each-side-of-an-element.md | 90 + .../add-rounded-corners-with-border-radius.md | 125 + .../adjust-the-margin-of-an-element.md | 86 + .../adjust-the-padding-of-an-element.md | 82 + ...tach-a-fallback-value-to-a-css-variable.md | 222 ++ .../change-a-variable-for-a-specific-area.md | 215 ++ .../basic-css/change-the-color-of-text.md | 72 + .../change-the-font-size-of-an-element.md | 87 + .../basic-css/create-a-custom-css-variable.md | 207 ++ ...ive-a-background-color-to-a-div-element.md | 130 + .../basic-css/import-a-google-font.md | 99 + ...ve-compatibility-with-browser-fallbacks.md | 34 + .../basic-css/inherit-css-variables.md | 212 ++ .../inherit-styles-from-the-body-element.md | 25 + ...ke-circular-images-with-a-border-radius.md | 127 + ...ide-all-other-styles-by-using-important.md | 44 + ...s-declarations-by-styling-id-attributes.md | 41 + ...e-class-declarations-with-inline-styles.md | 44 + .../override-styles-in-subsequent-css.md | 36 + .../prioritize-one-style-over-another.md | 29 + .../set-the-font-family-of-an-element.md | 93 + .../basic-css/set-the-id-of-an-element.md | 134 + .../basic-css/size-your-images.md | 108 + .../specify-how-fonts-should-degrade.md | 104 + ...tyle-multiple-elements-with-a-css-class.md | 84 + .../basic-css/style-the-html-body-element.md | 18 + ...derstand-absolute-versus-relative-units.md | 80 + .../use-a-css-class-to-style-an-element.md | 84 + .../basic-css/use-a-custom-css-variable.md | 221 ++ .../use-a-media-query-to-change-a-variable.md | 239 ++ .../basic-css/use-abbreviated-hex-code.md | 54 + ...use-an-id-attribute-to-style-an-element.md | 138 ++ ...e-attribute-selectors-to-style-elements.md | 138 ++ ...ion-to-specify-the-margin-of-an-element.md | 81 + ...on-to-specify-the-padding-of-an-element.md | 81 + .../use-css-selectors-to-style-elements.md | 77 + ...bles-to-change-several-elements-at-once.md | 211 ++ .../use-hex-code-for-specific-colors.md | 22 +- .../basic-css/use-hex-code-to-mix-colors.md | 54 + .../basic-css/use-rgb-to-mix-colors.md | 54 + .../use-rgb-values-to-color-elements.md | 22 +- .../add-a-submit-button-to-a-form.md | 55 + .../add-images-to-your-website.md | 23 + .../add-placeholder-text-to-a-text-field.md | 50 + ...radio-buttons-and-checkboxes-by-default.md | 66 + .../basic-html-and-html5/comment-out-html.md | 20 + .../create-a-bulleted-unordered-list.md | 31 + .../create-a-form-element.md | 52 + .../create-a-set-of-checkboxes.md | 65 + .../create-a-set-of-radio-buttons.md | 58 + .../create-a-text-field.md | 53 + .../create-an-ordered-list.md | 45 +- ...declare-the-doctype-of-an-html-document.md | 14 + ...e-the-head-and-body-of-an-html-document.md | 28 + .../delete-html-elements.md | 16 + ...fill-in-the-blank-with-placeholder-text.md | 20 + .../headline-with-the-h2-element.md | 13 + .../inform-with-the-paragraph-element.md | 15 + .../introduction-to-html5-elements.md | 18 + ...-to-external-pages-with-anchor-elements.md | 29 + ...sections-of-a-page-with-anchor-elements.md | 40 + .../make-dead-links-using-the-hash-symbol.md | 28 + ...st-an-anchor-element-within-a-paragraph.md | 29 + ...ny-elements-within-a-single-div-element.md | 68 + .../say-hello-to-html-elements.md | 12 + .../turn-an-image-into-a-link.md | 28 + .../basic-html-and-html5/uncomment-html.md | 22 + .../use-html5-to-require-a-field.md | 56 + ...ibute-with-radio-buttons-and-checkboxes.md | 66 + ...add-flex-superpowers-to-the-tweet-embed.md | 188 ++ ...elements-using-the-align-items-property.md | 58 + ...ents-using-the-justify-content-property.md | 58 + ...y-to-create-a-column-in-the-tweet-embed.md | 186 ++ ...perty-to-create-rows-in-the-tweet-embed.md | 192 ++ .../use-display-flex-to-position-two-boxes.md | 54 + ...align-items-property-in-the-tweet-embed.md | 190 ++ .../use-the-align-self-property.md | 58 + ...erty-to-set-the-initial-size-of-an-item.md | 56 + ...lex-direction-property-to-make-a-column.md | 56 + ...e-flex-direction-property-to-make-a-row.md | 56 + ...-the-flex-grow-property-to-expand-items.md | 56 + .../use-the-flex-shorthand-property.md | 54 + ...he-flex-shrink-property-to-shrink-items.md | 58 + ...x-wrap-property-to-wrap-a-row-or-column.md | 106 + ...ify-content-property-in-the-tweet-embed.md | 188 ++ ...e-the-order-property-to-rearrange-items.md | 58 + .../add-columns-with-grid-template-columns.md | 37 + .../css-grid/add-gaps-faster-with-grid-gap.md | 39 + .../add-rows-with-grid-template-rows.md | 38 + ...-items-horizontally-using-justify-items.md | 41 + ...-all-items-vertically-using-align-items.md | 41 + ...an-item-horizontally-using-justify-self.md | 45 + ...ign-an-item-vertically-using-align-self.md | 45 + ...eate-a-column-gap-using-grid-column-gap.md | 40 + .../create-a-row-gap-using-grid-row-gap.md | 40 + ...create-flexible-layouts-using-auto-fill.md | 104 + .../create-flexible-layouts-using-auto-fit.md | 59 + .../css-grid/create-grids-within-grids.md | 69 + .../css-grid/create-your-first-css-grid.md | 36 + .../divide-the-grid-into-an-area-template.md | 73 + ...mit-item-size-using-the-minmax-function.md | 41 + ...grid-areas-using-the-grid-area-property.md | 48 + ...ce-repetition-using-the-repeat-function.md | 41 + ...-to-change-the-size-of-columns-and-rows.md | 39 + ...area-without-creating-an-areas-template.md | 44 + .../use-grid-column-to-control-spacing.md | 73 + .../use-grid-row-to-control-spacing.md | 74 + ...ia-queries-to-create-responsive-layouts.md | 140 ++ .../create-a-media-query.md | 34 + .../make-an-image-responsive.md | 36 + .../make-typography-responsive.md | 27 + ...na-image-for-higher-resolution-displays.md | 23 + .../build-a-personal-portfolio-webpage.md | 7 +- .../build-a-product-landing-page.md | 7 +- .../build-a-survey-form.md | 7 +- .../build-a-technical-documentation-page.md | 7 +- .../build-a-tribute-page.md | 7 +- .../basic-algorithm-scripting/boo-who.md | 20 + .../chunky-monkey.md | 26 + .../confirm-the-ending.md | 20 + .../convert-celsius-to-fahrenheit.md | 23 + .../factorialize-a-number.md | 20 + .../falsy-bouncer.md | 21 +- .../find-the-longest-word-in-a-string.md | 20 + .../finders-keepers.md | 21 + .../basic-algorithm-scripting/mutations.md | 24 + .../repeat-a-string-repeat-a-string.md | 22 +- .../return-largest-numbers-in-arrays.md | 20 + .../reverse-a-string.md | 20 + .../slice-and-splice.md | 33 + .../title-case-a-sentence.md | 20 + .../truncate-a-string.md | 24 + .../where-do-i-belong.md | 28 + ...-arrays-contents-using-bracket-notation.md | 17 + ...ss-property-names-with-bracket-notation.md | 38 + ...items-to-an-array-with-push-and-unshift.md | 23 + .../add-items-using-splice.md | 22 + ...d-key-value-pairs-to-javascript-objects.md | 30 + ...the-presence-of-an-element-with-indexof.md | 20 + .../check-if-an-object-has-a-property.md | 65 + ...combine-arrays-with-the-spread-operator.md | 22 + .../copy-an-array-with-the-spread-operator.md | 31 + .../copy-array-items-using-slice.md | 21 + ...create-complex-multi-dimensional-arrays.md | 26 + ...ray-of-all-object-keys-with-object.keys.md | 60 + ...ugh-all-an-arrays-items-using-for-loops.md | 28 + ...-of-an-object-with-a-for...in-statement.md | 65 + .../modify-an-array-stored-in-an-object.md | 61 + ...odify-an-object-nested-within-an-object.md | 34 + ...-items-from-an-array-with-pop-and-shift.md | 22 + .../remove-items-using-splice.md | 17 + ...-an-array-to-store-a-collection-of-data.md | 12 + ...ete-keyword-to-remove-object-properties.md | 38 + .../access-array-data-with-indexes.md | 22 + ...s-multi-dimensional-arrays-with-indexes.md | 23 + .../accessing-nested-arrays.md | 66 + .../accessing-nested-objects.md | 47 + ...object-properties-with-bracket-notation.md | 34 + ...ing-object-properties-with-dot-notation.md | 35 + ...essing-object-properties-with-variables.md | 34 + ...d-new-properties-to-a-javascript-object.md | 32 + .../add-two-numbers-with-javascript.md | 18 + ...g-a-default-option-in-switch-statements.md | 39 + .../appending-variables-to-strings.md | 36 + ...ng-the-value-of-one-variable-to-another.md | 1 + .../assignment-with-a-returned-value.md | 31 + .../build-javascript-objects.md | 28 + .../chaining-if-else-statements.md | 32 + .../comment-your-javascript-code.md | 12 + .../comparison-with-the-equality-operator.md | 25 + ...mparison-with-the-greater-than-operator.md | 32 + ...h-the-greater-than-or-equal-to-operator.md | 34 + ...comparison-with-the-inequality-operator.md | 25 + .../comparison-with-the-less-than-operator.md | 34 + ...with-the-less-than-or-equal-to-operator.md | 34 + ...rison-with-the-strict-equality-operator.md | 25 + ...son-with-the-strict-inequality-operator.md | 25 + ...mparisons-with-the-logical-and-operator.md | 30 + ...omparisons-with-the-logical-or-operator.md | 32 + ...ound-assignment-with-augmented-addition.md | 31 + ...ound-assignment-with-augmented-division.md | 31 + ...ssignment-with-augmented-multiplication.md | 31 + ...d-assignment-with-augmented-subtraction.md | 31 + ...oncatenating-strings-with-plus-operator.md | 24 + ...g-strings-with-the-plus-equals-operator.md | 27 + .../constructing-strings-with-variables.md | 34 + .../count-backwards-with-a-for-loop.md | 24 + .../basic-javascript/counting-cards.md | 44 + .../create-decimal-numbers-with-javascript.md | 20 + .../declare-javascript-variables.md | 17 + .../declare-string-variables.md | 18 + .../decrement-a-number-with-javascript.md | 22 + ...ete-properties-from-a-javascript-object.md | 34 + ...-one-decimal-by-another-with-javascript.md | 18 + ...e-one-number-by-another-with-javascript.md | 18 + .../escape-sequences-in-strings.md | 20 + .../escaping-literal-quotes-in-strings.md | 24 + .../find-the-length-of-a-string.md | 20 + .../finding-a-remainder-in-javascript.md | 20 + ...nerate-random-fractions-with-javascript.md | 27 + ...te-random-whole-numbers-with-javascript.md | 25 + ...ate-random-whole-numbers-within-a-range.md | 37 + .../global-scope-and-functions.md | 80 + .../global-vs.-local-scope-in-functions.md | 28 + .../basic-javascript/golf-code.md | 47 + .../increment-a-number-with-javascript.md | 22 + ...-variables-with-the-assignment-operator.md | 17 + .../introducing-else-if-statements.md | 32 + .../introducing-else-statements.md | 36 + .../iterate-odd-numbers-with-a-for-loop.md | 24 + ...terate-through-an-array-with-a-for-loop.md | 26 + ...terate-with-javascript-do...while-loops.md | 31 + .../iterate-with-javascript-for-loops.md | 24 + .../iterate-with-javascript-while-loops.md | 26 + .../local-scope-and-functions.md | 32 + .../logical-order-in-if-else-statements.md | 30 + .../manipulate-arrays-with-pop.md | 23 + .../manipulate-arrays-with-push.md | 22 + .../manipulate-arrays-with-shift.md | 25 + .../manipulate-arrays-with-unshift.md | 24 + .../manipulating-complex-objects.md | 53 + .../modify-array-data-with-indexes.md | 22 + ...-identical-options-in-switch-statements.md | 43 + .../multiply-two-decimals-with-javascript.md | 18 + .../multiply-two-numbers-with-javascript.md | 18 + .../nest-one-array-within-another-array.md | 19 + .../basic-javascript/nesting-for-loops.md | 30 + ...sing-values-to-functions-with-arguments.md | 51 + .../practice-comparing-different-values.md | 25 + .../basic-javascript/profile-lookup.md | 86 + .../quoting-strings-with-single-quotes.md | 18 + .../basic-javascript/record-collection.md | 93 + .../replace-loops-using-recursion.md | 24 + .../replacing-if-else-chains-with-switch.md | 52 + ...urn-a-value-from-a-function-with-return.md | 14 + .../return-early-pattern-for-functions.md | 28 + ...returning-boolean-values-from-functions.md | 24 + ...rom-many-options-with-switch-statements.md | 39 + .../basic-javascript/shopping-list.md | 49 + .../basic-javascript/stand-in-line.md | 65 + ...in-one-variable-using-javascript-arrays.md | 19 + ...ing-values-with-the-assignment-operator.md | 30 + ...one-number-from-another-with-javascript.md | 18 + .../testing-objects-for-properties.md | 22 + .../understand-string-immutability.md | 24 + .../understanding-boolean-values.md | 27 + ...rstanding-case-sensitivity-in-variables.md | 26 + ...ndefined-value-returned-from-a-function.md | 36 + .../understanding-uninitialized-variables.md | 31 + .../updating-object-properties.md | 32 + ...to-find-the-first-character-in-a-string.md | 27 + ...-to-find-the-last-character-in-a-string.md | 23 + ...n-to-find-the-nth-character-in-a-string.md | 23 + ...d-the-nth-to-last-character-in-a-string.md | 23 + ...se-conditional-logic-with-if-statements.md | 24 + ...-multiple-conditional-ternary-operators.md | 18 + .../use-recursion-to-create-a-countdown.md | 18 + ...-recursion-to-create-a-range-of-numbers.md | 22 + .../use-the-conditional-ternary-operator.md | 18 + .../use-the-parseint-function-with-a-radix.md | 18 + .../use-the-parseint-function.md | 18 + .../using-objects-for-lookups.md | 56 + .../basic-javascript/word-blanks.md | 35 + ...rite-reusable-javascript-with-functions.md | 53 + ...the-wrong-order-when-calling-a-function.md | 26 + ...osing-parenthesis-after-a-function-call.md | 26 + ...-misspelled-variable-and-function-names.md | 18 + ...mixed-usage-of-single-and-double-quotes.md | 14 + ...h-off-by-one-errors-when-using-indexing.md | 32 + ...-parentheses-brackets-braces-and-quotes.md | 16 + ...t-operator-instead-of-equality-operator.md | 32 + ...e-loops-with-a-valid-terminal-condition.md | 20 + ...en-the-freecodecamp-and-browser-console.md | 26 + ...-reinitializing-variables-inside-a-loop.md | 48 + ...onsole-to-check-the-value-of-a-variable.md | 19 + ...-typeof-to-check-the-type-of-a-variable.md | 16 + ...pare-scopes-of-the-var-and-let-keywords.md | 29 + ...plete-a-promise-with-resolve-and-reject.md | 30 + .../es6/create-a-javascript-promise.md | 13 + .../es6/create-a-module-script.md | 22 + ...-an-export-fallback-with-export-default.md | 16 + .../create-strings-using-template-literals.md | 34 + ...ad-only-variable-with-the-const-keyword.md | 32 + ...rences-between-the-var-and-let-keywords.md | 29 + .../handle-a-fulfilled-promise-with-then.md | 40 + .../handle-a-rejected-promise-with-catch.md | 48 + .../es6/import-a-default-export.md | 17 + .../mutate-an-array-declared-with-const.md | 26 + .../es6/prevent-object-mutation.md | 40 + .../es6/reuse-javascript-code-using-import.md | 19 + ...t-default-parameters-for-your-functions.md | 14 + .../use--to-import-everything-from-a-file.md | 19 + ...ns-to-write-concise-anonymous-functions.md | 16 + ...syntax-to-define-a-constructor-function.md | 22 + ...ignment-to-assign-variables-from-arrays.md | 14 + ...to-assign-variables-from-nested-objects.md | 29 + ...gnment-to-assign-variables-from-objects.md | 29 + ...signment-to-extract-values-from-objects.md | 29 + ...ass-an-object-as-a-functions-parameters.md | 32 + ...st-parameter-to-reassign-array-elements.md | 25 + .../es6/use-export-to-share-a-code-block.md | 24 + ...-setters-to-control-access-to-an-object.md | 34 + ...rest-parameter-with-function-parameters.md | 17 + ...ad-operator-to-evaluate-arrays-in-place.md | 20 + .../write-arrow-functions-with-parameters.md | 20 + ...-concise-declarative-functions-with-es6.md | 27 + ...rations-using-object-property-shorthand.md | 26 + ...f-an-array-using-concat-instead-of-push.md | 25 + ...ramming-to-convert-strings-to-url-slugs.md | 20 + ...de-effects-using-functional-programming.md | 24 + ...ray-into-a-string-using-the-join-method.md | 22 + ...bine-two-arrays-using-the-concat-method.md | 27 + .../implement-map-on-a-prototype.md | 40 + ...lement-the-filter-method-on-a-prototype.md | 39 + ...ion-to-currying-and-partial-application.md | 18 + .../learn-about-functional-programming.md | 45 + ...avoid-external-dependence-in-a-function.md | 30 + ...actor-global-variables-out-of-functions.md | 58 + ...-an-array-using-slice-instead-of-splice.md | 25 + ...ray-without-changing-the-original-array.md | 25 + ...part-of-an-array-using-the-slice-method.md | 25 + ...ay-alphabetically-using-the-sort-method.md | 23 + ...ng-into-an-array-using-the-split-method.md | 22 + ...tand-functional-programming-terminology.md | 55 + ...nd-the-hazards-of-using-imperative-code.md | 89 + ...er-or-reduce-to-solve-a-complex-problem.md | 27 + ...ry-element-in-an-array-meets-a-criteria.md | 23 + ...er-method-to-extract-data-from-an-array.md | 248 ++ ...ap-method-to-extract-data-from-an-array.md | 254 ++ .../use-the-reduce-method-to-analyze-data.md | 255 ++ ...ny-elements-in-an-array-meet-a-criteria.md | 23 + .../arguments-optional.md | 28 + .../binary-agents.md | 18 + .../convert-html-entities.md | 26 + .../diff-two-arrays.md | 36 + .../dna-pairing.md | 24 + .../drop-it.md | 21 + .../everything-be-true.md | 18 + .../make-a-person.md | 68 + .../map-the-debris.md | 30 + .../missing-letters.md | 25 + .../pig-latin.md | 28 + .../search-and-replace.md | 23 + .../seek-and-destroy.md | 24 + .../smallest-common-multiple.md | 35 + .../sorted-union.md | 20 + .../spinal-tap-case.md | 19 + .../steamroller.md | 27 + .../sum-all-numbers-in-a-range.md | 23 + .../sum-all-odd-fibonacci-numbers.md | 27 + .../sum-all-primes.md | 40 + .../wherefore-art-thou.md | 30 + .../caesars-cipher.md | 41 + .../cash-register.md | 66 + .../palindrome-checker.md | 26 + .../roman-numeral-converter.md | 26 + .../telephone-number-validator.md | 22 + .../add-methods-after-inheritance.md | 36 + .../change-the-prototype-to-a-new-object.md | 30 + .../create-a-basic-javascript-object.md | 17 + .../create-a-method-on-an-object.md | 26 + .../define-a-constructor-function.md | 15 + ...xtend-constructors-to-receive-arguments.md | 20 + .../inherit-behaviors-from-a-supertype.md | 36 + .../iterate-over-all-properties.md | 39 + ...ode-more-reusable-with-the-this-keyword.md | 26 + .../override-inherited-methods.md | 36 + ...or-property-when-changing-the-prototype.md | 38 + ...reset-an-inherited-constructor-property.md | 32 + ...-prototype-to-an-instance-of-the-parent.md | 39 + .../understand-own-properties.md | 37 + .../understand-the-constructor-property.md | 24 + ...iately-invoked-function-expression-iife.md | 42 + .../understand-the-prototype-chain.md | 26 + ...d-where-an-objects-prototype-comes-from.md | 22 + .../use-a-constructor-to-create-objects.md | 22 + ...mmon-behavior-between-unrelated-objects.md | 36 + .../use-an-iife-to-create-a-module.md | 30 + ...n-object-from-being-modified-externally.md | 21 + ...n-to-access-the-properties-of-an-object.md | 21 + ...inheritance-so-you-dont-repeat-yourself.md | 62 + ...ype-properties-to-reduce-duplicate-code.md | 23 + ...-an-objects-constructor-with-instanceof.md | 20 + .../check-for-all-or-none.md | 16 + .../check-for-mixed-grouping-of-characters.md | 17 + .../regular-expressions/extract-matches.md | 16 + .../find-characters-with-lazy-matching.md | 16 + .../find-more-than-the-first-match.md | 16 + .../find-one-or-more-criminals-in-a-hunt.md | 12 + .../ignore-case-while-matching.md | 16 + ...ral-string-with-different-possibilities.md | 16 + .../match-all-letters-and-numbers.md | 16 + .../match-all-non-numbers.md | 16 + .../regular-expressions/match-all-numbers.md | 16 + .../match-anything-with-wildcard-period.md | 16 + .../match-beginning-string-patterns.md | 16 + ...characters-that-occur-one-or-more-times.md | 16 + ...haracters-that-occur-zero-or-more-times.md | 23 + .../match-ending-string-patterns.md | 16 + ...atch-everything-but-letters-and-numbers.md | 16 + .../match-letters-of-the-alphabet.md | 16 + .../match-literal-strings.md | 16 + .../match-non-whitespace-characters.md | 16 + ...tch-numbers-and-letters-of-the-alphabet.md | 16 + ...e-character-with-multiple-possibilities.md | 16 + .../match-single-characters-not-specified.md | 16 + .../regular-expressions/match-whitespace.md | 16 + .../positive-and-negative-lookahead.md | 14 + .../remove-whitespace-from-start-and-end.md | 16 + .../restrict-possible-usernames.md | 16 + .../reuse-patterns-using-capture-groups.md | 16 + .../specify-exact-number-of-matches.md | 16 + ...pecify-only-the-lower-number-of-matches.md | 16 + ...ecify-upper-and-lower-number-of-matches.md | 16 + ...se-capture-groups-to-search-and-replace.md | 18 + .../using-the-test-method.md | 16 + ...dd-elements-within-your-bootstrap-wells.md | 48 + ...ont-awesome-icons-to-all-of-our-buttons.md | 124 + .../add-font-awesome-icons-to-our-buttons.md | 124 + ...add-id-attributes-to-bootstrap-elements.md | 48 + ...pply-the-default-bootstrap-button-style.md | 48 + ...call-out-optional-actions-with-btn-info.md | 128 + .../bootstrap/center-text-with-bootstrap.md | 124 + ...create-a-block-element-bootstrap-button.md | 126 + .../bootstrap/create-a-bootstrap-button.md | 134 + .../bootstrap/create-a-bootstrap-headline.md | 11 + .../bootstrap/create-a-bootstrap-row.md | 18 + ...a-class-to-target-with-jquery-selectors.md | 48 + .../bootstrap/create-a-custom-heading.md | 122 + .../bootstrap/create-bootstrap-wells.md | 32 + .../ditch-custom-css-for-bootstrap.md | 131 + .../give-each-element-a-unique-id.md | 52 + ...-within-a-bootstrap-container-fluid-div.md | 14 + .../bootstrap/label-bootstrap-buttons.md | 52 + .../bootstrap/label-bootstrap-wells.md | 52 + ...rm-elements-responsively-with-bootstrap.md | 160 ++ .../make-images-mobile-responsive.md | 123 + .../responsively-style-checkboxes.md | 146 ++ .../responsively-style-radio-buttons.md | 130 + .../bootstrap/split-your-bootstrap-row.md | 24 + .../style-text-inputs-as-form-controls.md | 154 ++ ...aste-the-bootstrap-button-color-rainbow.md | 126 + .../use-a-span-to-target-inline-elements.md | 120 + .../bootstrap/use-comments-to-clarify-code.md | 1 + ...-design-with-bootstrap-fluid-containers.md | 119 + ...strap-grid-to-put-elements-side-by-side.md | 139 ++ ...s-of-a-dangerous-action-with-btn-danger.md | 129 + .../build-a-25-5-clock.md | 7 +- .../build-a-drum-machine.md | 5 +- .../build-a-javascript-calculator.md | 6 +- .../build-a-markdown-previewer.md | 6 +- .../build-a-random-quote-machine.md | 5 +- ...nge-text-inside-an-element-using-jquery.md | 68 + ...ange-the-css-of-an-element-using-jquery.md | 75 + .../jquery/clone-an-element-using-jquery.md | 76 + .../jquery/delete-your-jquery-functions.md | 71 + .../jquery/disable-an-element-using-jquery.md | 71 + ...how-script-tags-and-document-ready-work.md | 60 + .../jquery/remove-an-element-using-jquery.md | 72 + ...ove-classes-from-an-element-with-jquery.md | 74 + ...ecific-child-of-an-element-using-jquery.md | 82 + .../target-elements-by-class-using-jquery.md | 69 + .../target-elements-by-id-using-jquery.md | 72 + .../target-even-elements-using-jquery.md | 86 + ...ml-elements-with-selectors-using-jquery.md | 68 + ...the-children-of-an-element-using-jquery.md | 80 + ...t-the-parent-of-an-element-using-jquery.md | 82 + ...-element-with-multiple-jquery-selectors.md | 70 + ...e-appendto-to-move-elements-with-jquery.md | 74 + .../use-jquery-to-modify-the-entire-page.md | 88 + .../react-and-redux/connect-redux-to-react.md | 94 + .../connect-redux-to-the-messages-app.md | 1 + .../extract-local-state-into-redux.md | 205 ++ .../extract-state-logic-to-redux.md | 33 + .../getting-started-with-react-redux.md | 36 + .../manage-state-locally-first.md | 81 + .../react-and-redux/map-dispatch-to-props.md | 34 + .../react-and-redux/map-state-to-props.md | 22 + .../moving-forward-from-here.md | 35 + .../use-provider-to-connect-redux-to-react.md | 180 ++ .../react/access-props-using-this.props.md | 82 + .../react/add-comments-in-jsx.md | 28 + .../react/add-event-listeners.md | 87 + .../react/add-inline-styles-in-react.md | 41 + .../react/bind-this-to-a-class-method.md | 64 + ...-conditionally-based-on-component-state.md | 76 + .../react/compose-react-components.md | 130 + .../react/create-a-complex-jsx-element.md | 26 + .../create-a-component-with-composition.md | 63 + .../react/create-a-controlled-form.md | 85 + .../react/create-a-controlled-input.md | 67 + .../react/create-a-react-component.md | 42 + .../react/create-a-simple-jsx-element.md | 18 + .../react/create-a-stateful-component.md | 46 + ...create-a-stateless-functional-component.md | 32 + .../react/define-an-html-class-in-jsx.md | 25 + ...sibling-elements-a-unique-key-attribute.md | 56 + .../react/introducing-inline-styles.md | 30 + .../learn-about-self-closing-jsx-tags.md | 30 + ...e-re-renders-with-shouldcomponentupdate.md | 96 + .../react/override-default-props.md | 52 + .../react/pass-a-callback-as-props.md | 124 + .../react/pass-an-array-as-props.md | 60 + ...ops-to-a-stateless-functional-component.md | 66 + ...pass-state-as-props-to-child-components.md | 75 + .../render-a-class-component-to-the-dom.md | 84 + .../react/render-conditionally-from-props.md | 86 + .../react/render-html-elements-to-the-dom.md | 25 + ...react-on-the-server-with-rendertostring.md | 43 + ...state-in-the-user-interface-another-way.md | 56 + .../render-state-in-the-user-interface.md | 50 + .../react/render-with-an-if-else-condition.md | 71 + ...ps-with-stateless-functional-components.md | 66 + .../react/set-state-with-this.setstate.md | 62 + .../use--for-a-more-concise-conditional.md | 62 + ...ry-expression-for-conditional-rendering.md | 111 + ...anced-javascript-in-react-render-method.md | 180 ++ ...y.filter-to-dynamically-filter-an-array.md | 106 + ...rray.map-to-dynamically-render-elements.md | 105 + .../react/use-default-props.md | 36 + ...roptypes-to-define-the-props-you-expect.md | 66 + .../use-react-to-render-nested-components.md | 96 + .../react/use-state-to-toggle-an-element.md | 76 + ...-the-lifecycle-method-componentdidmount.md | 62 + ...the-lifecycle-method-componentwillmount.md | 42 + .../write-a-react-component-from-scratch.md | 27 + .../react/write-a-simple-counter.md | 76 + .../redux/combine-multiple-reducers.md | 83 + .../copy-an-object-with-object.assign.md | 59 + .../redux/create-a-redux-store.md | 22 + .../redux/define-a-redux-action.md | 14 + .../redux/define-an-action-creator.md | 20 + .../redux/dispatch-an-action-event.md | 32 + .../redux/get-state-from-the-redux-store.md | 21 + .../redux/handle-an-action-in-the-store.md | 50 + .../redux/never-mutate-state.md | 64 + .../redux/register-a-store-listener.md | 68 + .../redux/remove-an-item-from-an-array.md | 48 + .../redux/send-action-data-to-the-store.md | 60 + ...ch-statement-to-handle-multiple-actions.md | 71 + .../redux/use-const-for-action-types.md | 93 + ...ddleware-to-handle-asynchronous-actions.md | 100 + .../use-the-spread-operator-on-arrays.md | 48 + .../redux/write-a-counter-with-redux.md | 47 + ...yle-until-a-condition-is-met-with-while.md | 36 + .../sass/create-reusable-css-with-mixins.md | 1 + ...ne-set-of-css-styles-to-another-element.md | 57 + .../sass/nest-css-with-sass.md | 43 + ...tyles-into-smaller-chunks-with-partials.md | 12 + .../sass/store-data-with-sass-variables.md | 58 + .../use-each-to-map-over-items-in-a-list.md | 60 + .../sass/use-for-to-create-a-sass-loop.md | 53 + ...if-and-else-to-add-logic-to-your-styles.md | 49 + .../visualize-data-with-a-bar-chart.md | 7 +- .../visualize-data-with-a-choropleth-map.md | 7 +- .../visualize-data-with-a-heat-map.md | 7 +- ...visualize-data-with-a-scatterplot-graph.md | 7 +- .../visualize-data-with-a-treemap-diagram.md | 7 +- .../add-a-hover-effect-to-a-d3-element.md | 91 + .../add-a-tooltip-to-a-d3-element.md | 94 + .../add-attributes-to-the-circle-elements.md | 80 + .../add-axes-to-a-visualization.md | 138 ++ .../add-classes-with-d3.md | 54 + .../add-document-elements-with-d3.md | 26 + .../add-inline-styling-to-elements.md | 39 + .../add-labels-to-d3-elements.md | 74 + .../add-labels-to-scatter-plot-circles.md | 95 + .../change-styles-based-on-data.md | 38 + .../change-the-color-of-an-svg-element.md | 61 + .../change-the-presentation-of-a-bar-chart.md | 55 + ...te-a-bar-for-each-data-point-in-the-set.md | 56 + .../create-a-linear-scale-with-d3.md | 37 + .../create-a-scatterplot-with-svg-circles.md | 74 + .../display-shapes-with-svg.md | 46 + ...namically-change-the-height-of-each-bar.md | 62 + ...ically-set-the-coordinates-for-each-bar.md | 62 + .../invert-svg-elements.md | 60 + .../learn-about-svg-in-d3.md | 48 + .../select-a-group-of-elements-with-d3.md | 35 + .../set-a-domain-and-a-range-on-a-scale.md | 35 + .../style-d3-labels.md | 79 + ...te-the-height-of-an-element-dynamically.md | 54 + ...e-a-pre-defined-scale-to-place-elements.md | 115 + .../use-dynamic-scales.md | 87 + ...minimum-and-maximum-values-in-a-dataset.md | 36 + .../work-with-data-in-d3.md | 34 + .../work-with-dynamic-data-in-d3.md | 37 + .../access-the-json-data-from-an-api.md | 116 + .../change-text-with-click-events.md | 103 + .../convert-json-data-to-html.md | 126 + ...on-data-to-find-a-users-gps-coordinates.md | 35 + ...t-json-with-the-javascript-fetch-method.md | 101 + ...th-the-javascript-xmlhttprequest-method.md | 107 + ...h-javascript-using-the-onclick-property.md | 97 + ...th-the-javascript-xmlhttprequest-method.md | 125 + ...re-filter-json-to-get-the-data-you-need.md | 136 + .../render-images-from-data-sources.md | 124 + .../exercise-tracker.md | 8 + .../file-metadata-microservice.md | 8 + .../request-header-parser-microservice.md | 8 + .../timestamp-microservice.md | 8 + .../url-shortener-microservice.md | 8 + ...hain-middleware-to-create-a-time-server.md | 8 + .../get-data-from-post-requests.md | 8 + ...t-query-parameter-input-from-the-client.md | 8 + ...t-route-parameter-input-from-the-client.md | 8 + ...-a-root-level-request-logger-middleware.md | 8 + .../meet-the-node-console.md | 8 + .../serve-an-html-file.md | 8 + .../serve-json-on-a-specific-route.md | 8 + .../serve-static-assets.md | 8 + .../start-a-working-express-server.md | 8 + .../use-body-parser-to-parse-post-requests.md | 8 + .../use-the-.env-file.md | 8 + .../add-a-description-to-your-package.json.md | 8 + .../add-a-license-to-your-package.json.md | 8 + .../add-a-version-to-your-package.json.md | 8 + .../add-keywords-to-your-package.json.md | 8 + ...project-with-external-packages-from-npm.md | 8 + ...e-of-any-node.js-project-or-npm-package.md | 8 + ...es-by-understanding-semantic-versioning.md | 8 + ...remove-a-package-from-your-dependencies.md | 8 + ...he-latest-minor-version-of-a-dependency.md | 8 + ...he-latest-patch-version-of-a-dependency.md | 8 + ...-query-helpers-to-narrow-search-results.md | 9 +- .../mongodb-and-mongoose/create-a-model.md | 9 +- .../create-and-save-a-record-of-a-model.md | 8 + .../create-many-records-with-model.create.md | 9 +- ...delete-many-documents-with-model.remove.md | 8 + ...-document-using-model.findbyidandremove.md | 8 + .../install-and-set-up-mongoose.md | 8 + ...-updates-by-running-find-edit-then-save.md | 8 + ...a-document-using-model.findoneandupdate.md | 8 + .../use-model.find-to-search-your-database.md | 9 +- ....findbyid-to-search-your-database-by-id.md | 8 + ...le-matching-document-from-your-database.md | 9 +- .../announce-new-users.md | 8 + .../authentication-strategies.md | 8 + .../authentication-with-socket.io.md | 8 + .../clean-up-your-project-with-modules.md | 8 + .../communicate-by-emitting.md | 8 + .../create-new-middleware.md | 8 + .../handle-a-disconnect.md | 8 + .../hashing-your-passwords.md | 8 + .../how-to-put-a-profile-together.md | 8 + .../how-to-use-passport-strategies.md | 8 + ...nt-the-serialization-of-a-passport-user.md | 8 + ...lementation-of-social-authentication-ii.md | 8 + ...ementation-of-social-authentication-iii.md | 8 + ...implementation-of-social-authentication.md | 8 + .../logging-a-user-out.md | 8 + .../registration-of-new-users.md | 8 + .../send-and-display-chat-messages.md | 8 + .../serialization-of-a-user-object.md | 8 + .../set-up-a-template-engine.md | 8 + .../set-up-passport.md | 8 + .../set-up-the-environment.md | 8 + .../use-a-template-engines-powers.md | 8 + ...ality-with-.deepequal-and-.notdeepequal.md | 8 + .../compare-the-properties-of-two-elements.md | 8 + .../learn-how-javascript-assertions-work.md | 8 + ...sponse-using-chai-http-iii---put-method.md | 8 + ...esponse-using-chai-http-iv---put-method.md | 8 + ...sts-on-api-endpoints-using-chai-http-ii.md | 8 + ...-tests-on-api-endpoints-using-chai-http.md | 8 + ...ional-tests-using-a-headless-browser-ii.md | 8 + ...nctional-tests-using-a-headless-browser.md | 8 + ...mulate-actions-using-a-headless-browser.md | 3 +- .../test-for-truthiness.md | 8 + .../test-if-a-string-contains-a-substring.md | 8 + ...f-a-value-falls-within-a-specific-range.md | 8 + .../test-if-a-value-is-a-string.md | 8 + .../test-if-a-value-is-an-array.md | 8 + ...ue-is-of-a-specific-data-structure-type.md | 8 + ...st-if-a-variable-or-function-is-defined.md | 8 + .../test-if-an-array-contains-an-item.md | 8 + .../test-if-an-object-has-a-property.md | 8 + ...-object-is-an-instance-of-a-constructor.md | 8 + ...s-below-or-at-least-as-large-as-another.md | 8 + .../use-assert.isok-and-assert.isnotok.md | 8 + ...se-regular-expressions-to-test-a-string.md | 8 + ...se-the-double-equals-to-assert-equality.md | 8 + ...triple-equals-to-assert-strict-equality.md | 8 + .../american-british-translator.md | 8 + .../issue-tracker.md | 8 + .../metric-imperial-converter.md | 8 + .../personal-library.md | 8 + .../sudoku-solver.md | 8 + .../build-your-own-functions.md | 6 +- .../comparing-and-sorting-tuples.md | 6 +- .../conditional-execution.md | 6 +- .../data-visualization-mailing-lists.md | 6 +- .../data-visualization-page-rank.md | 6 +- .../dictionaries-and-loops.md | 6 +- .../dictionaries-common-applications.md | 6 +- .../files-as-a-sequence.md | 6 +- .../intermediate-expressions.md | 6 +- .../intermediate-strings.md | 6 +- .../introduction-elements-of-python.md | 6 +- .../introduction-hardware-achitecture.md | 6 +- .../introduction-python-as-a-language.md | 6 +- .../introduction-why-program.md | 6 +- .../iterations-definite-loops.md | 6 +- .../iterations-loop-idioms.md | 6 +- .../iterations-more-patterns.md | 6 +- .../loops-and-iterations.md | 6 +- .../make-a-relational-database.md | 6 +- .../more-conditional-structures.md | 6 +- .../networking-protocol.md | 6 +- .../networking-text-processing.md | 6 +- .../networking-using-urllib-in-python.md | 6 +- .../networking-web-scraping-with-python.md | 6 +- .../networking-with-python.md | 6 +- .../networking-write-a-web-browser.md | 6 +- .../python-for-everybody/object-lifecycle.md | 6 +- .../objects-a-sample-class.md | 6 +- .../objects-inheritance.md | 6 +- .../python-dictionaries.md | 6 +- .../python-for-everybody/python-functions.md | 6 +- .../python-for-everybody/python-lists.md | 6 +- .../python-for-everybody/python-objects.md | 6 +- .../python-for-everybody/reading-files.md | 6 +- ...xpressions-matching-and-extracting-data.md | 6 +- ...ular-expressions-practical-applications.md | 6 +- .../regular-expressions.md | 6 +- .../relational-database-design.md | 6 +- .../relational-databases-and-sqlite.md | 6 +- .../relational-databases-join-operation.md | 6 +- ...al-databases-many-to-many-relationships.md | 6 +- ...ational-databases-relationship-building.md | 6 +- ...-relationships-in-a-relational-database.md | 6 +- .../python-for-everybody/strings-and-lists.md | 6 +- .../python-for-everybody/strings-in-python.md | 6 +- .../the-tuples-collection.md | 6 +- .../using-web-services.md | 6 +- .../variables-expressions-and-statements.md | 6 +- .../visualizing-data-with-python.md | 6 +- ...services-api-rate-limiting-and-security.md | 6 +- .../python-for-everybody/web-services-apis.md | 6 +- .../python-for-everybody/web-services-json.md | 6 +- .../web-services-service-oriented-approach.md | 6 +- .../web-services-xml-schema.md | 6 +- .../python-for-everybody/web-services-xml.md | 6 +- .../working-with-lists.md | 6 +- .../arithmetic-formatter.md | 8 + .../budget-app.md | 8 + .../polygon-area-calculator.md | 8 + .../probability-calculator.md | 8 + .../time-calculator.md | 8 + .../data-analysis-example-a.md | 6 +- .../data-analysis-example-b.md | 6 +- .../data-cleaning-and-visualizations.md | 6 +- .../data-cleaning-duplicates.md | 6 +- .../data-cleaning-introduction.md | 6 +- .../data-cleaning-with-dataframes.md | 6 +- .../how-to-use-jupyter-notebooks-intro.md | 6 +- .../introduction-to-data-analysis.md | 6 +- .../jupyter-notebooks-cells.md | 6 +- ...-notebooks-importing-and-exporting-data.md | 6 +- .../numpy-algebra-and-size.md | 6 +- .../numpy-arrays.md | 6 +- .../numpy-boolean-arrays.md | 6 +- .../numpy-introduction-a.md | 6 +- .../numpy-introduction-b.md | 6 +- .../numpy-operations.md | 6 +- ...onal-selection-and-modifying-dataframes.md | 6 +- .../pandas-creating-columns.md | 6 +- .../pandas-dataframes.md | 6 +- ...ndas-indexing-and-conditional-selection.md | 6 +- .../pandas-introduction.md | 6 +- .../parsing-html-and-saving-data.md | 6 +- .../python-functions-and-collections.md | 6 +- .../python-introduction.md | 6 +- .../python-iteration-and-modules.md | 6 +- .../reading-data-csv-and-txt.md | 6 +- .../reading-data-from-databases.md | 6 +- .../reading-data-introduction.md | 6 +- .../demographic-data-analyzer.md | 6 + ...-variance-standard-deviation-calculator.md | 6 + .../medical-data-visualizer.md | 6 + .../page-view-time-series-visualizer.md | 6 + .../sea-level-predictor.md | 6 + ...ng-and-changing-elements,-rows,-columns.md | 6 +- .../numpy/basics-of-numpy.md | 6 +- .../numpy/copying-arrays-warning.md | 6 +- .../numpy/initialize-array-problem.md | 6 +- .../numpy/initializing-different-arrays.md | 6 +- .../loading-data-and-advanced-indexing.md | 6 +- .../numpy/mathematics.md | 6 +- .../numpy/reorganizing-arrays.md | 6 +- .../numpy/what-is-numpy.md | 6 +- .../anonymous-message-board.md | 8 + .../port-scanner.md | 6 + .../secure-real-time-multiplayer-game.md | 8 + .../sha-1-password-cracker.md | 6 + .../stock-price-checker.md | 8 + ...ur-site-via-https-only-with-helmet.hsts.md | 8 + ...-response-mime-type-with-helmet.nosniff.md | 8 + ...lmet-using-the-parent-helmet-middleware.md | 8 + ...client-side-caching-with-helmet.nocache.md | 8 + ...fetching-with-helmet.dnsprefetchcontrol.md | 8 + ...sh-and-compare-passwords-asynchronously.md | 8 + ...ash-and-compare-passwords-synchronously.md | 8 + ...-information-using-helmet.hidepoweredby.md | 8 + .../install-and-require-helmet.md | 8 + ...-of-clickjacking-with-helmet.frameguard.md | 8 + ...pting-xss-attacks-with-helmet.xssfilter.md | 8 + ...ing-untrusted-html-with-helmet.ienoopen.md | 8 + ...olicy-with-helmet.contentsecuritypolicy.md | 8 + .../understand-bcrypt-hashes.md | 8 + .../creating-a-tcp-client.md | 6 +- .../developing-a-banner-grabber.md | 6 +- .../developing-a-port-scanner.md | 6 +- .../developing-an-nmap-scanner-part-1.md | 6 +- .../developing-an-nmap-scanner-part-2.md | 6 +- .../introduction-and-setup.md | 6 +- ...nding-sockets-and-creating-a-tcp-server.md | 6 +- .../find-the-symmetric-difference.md | 25 + .../algorithms/implement-bubble-sort.md | 52 + .../algorithms/implement-insertion-sort.md | 47 + .../algorithms/implement-merge-sort.md | 66 + .../algorithms/implement-quick-sort.md | 56 + .../algorithms/implement-selection-sort.md | 50 + .../algorithms/inventory-update.md | 68 + .../algorithms/no-repeats-please.md | 49 + .../algorithms/pairwise.md | 33 + ...d-a-new-element-to-a-binary-search-tree.md | 81 + ...ts-at-a-specific-index-in-a-linked-list.md | 101 + .../data-structures/adjacency-list.md | 17 + .../data-structures/adjacency-matrix.md | 18 + .../data-structures/breadth-first-search.md | 81 + ...ment-is-present-in-a-binary-search-tree.md | 79 + .../check-if-binary-search-tree.md | 1 + .../create-a-circular-queue.md | 86 + .../create-a-doubly-linked-list.md | 61 + .../data-structures/create-a-hash-table.md | 86 + .../create-a-linked-list-class.md | 67 + .../create-a-map-data-structure.md | 51 + .../create-a-priority-queue-class.md | 59 + .../data-structures/create-a-queue-class.md | 46 + .../data-structures/create-a-set-class.md | 69 + .../data-structures/create-a-stack-class.md | 42 + .../create-a-trie-search-tree.md | 27 + .../create-an-es6-javascript-map.md | 11 + .../create-and-add-to-sets-in-es6.md | 22 + ...ete-a-leaf-node-in-a-binary-search-tree.md | 78 + ...-with-one-child-in-a-binary-search-tree.md | 120 + ...th-two-children-in-a-binary-search-tree.md | 161 ++ .../data-structures/depth-first-search.md | 41 + ...-maximum-height-of-a-binary-search-tree.md | 135 + ...d-maximum-value-in-a-binary-search-tree.md | 232 ++ .../implement-heap-sort-with-a-min-heap.md | 32 + .../data-structures/incidence-matrix.md | 14 + .../insert-an-element-into-a-max-heap.md | 34 + .../data-structures/invert-a-binary-tree.md | 100 + .../learn-how-a-stack-works.md | 13 + ...erform-a-difference-on-two-sets-of-data.md | 170 ++ ...form-a-subset-check-on-two-sets-of-data.md | 189 ++ .../perform-a-union-on-two-sets.md | 102 + ...orm-an-intersection-on-two-sets-of-data.md | 136 + .../remove-an-element-from-a-max-heap.md | 31 + ...ve-elements-from-a-linked-list-by-index.md | 105 + .../remove-elements-from-a-linked-list.md | 108 + .../remove-items-from-a-set-in-es6.md | 19 + .../reverse-a-doubly-linked-list.md | 105 + .../search-within-a-linked-list.md | 156 ++ .../data-structures/typed-arrays.md | 14 + .../use-.has-and-.size-on-an-es6-set.md | 25 + ...th-first-search-in-a-binary-search-tree.md | 96 + ...th-first-search-in-a-binary-search-tree.md | 100 + ...pread-and-notes-for-es5-set-integration.md | 17 + .../work-with-nodes-in-a-linked-list.md | 20 + .../problem-1-multiples-of-3-and-5.md | 26 + .../problem-10-summation-of-primes.md | 34 + .../problem-100-arranged-probability.md | 17 + .../problem-101-optimum-polynomial.md | 17 + .../problem-102-triangle-containment.md | 17 + ...problem-103-special-subset-sums-optimum.md | 17 + .../problem-104-pandigital-fibonacci-ends.md | 17 + ...problem-105-special-subset-sums-testing.md | 17 + ...em-106-special-subset-sums-meta-testing.md | 17 + .../problem-107-minimal-network.md | 17 + .../problem-108-diophantine-reciprocals-i.md | 17 + .../project-euler/problem-109-darts.md | 17 + .../problem-11-largest-product-in-a-grid.md | 122 + .../problem-110-diophantine-reciprocals-ii.md | 17 + .../problem-111-primes-with-runs.md | 17 + .../problem-112-bouncy-numbers.md | 17 + .../problem-113-non-bouncy-numbers.md | 17 + ...oblem-114-counting-block-combinations-i.md | 17 + ...blem-115-counting-block-combinations-ii.md | 17 + .../problem-116-red-green-or-blue-tiles.md | 17 + .../problem-117-red-green-and-blue-tiles.md | 17 + .../problem-118-pandigital-prime-sets.md | 17 + .../problem-119-digit-power-sum.md | 17 + ...m-12-highly-divisible-triangular-number.md | 72 + .../problem-120-square-remainders.md | 17 + .../problem-121-disc-game-prize-fund.md | 17 + .../problem-122-efficient-exponentiation.md | 17 + .../problem-123-prime-square-remainders.md | 17 + .../problem-124-ordered-radicals.md | 17 + .../problem-125-palindromic-sums.md | 17 + .../problem-126-cuboid-layers.md | 17 + .../project-euler/problem-127-abc-hits.md | 17 + .../problem-128-hexagonal-tile-differences.md | 17 + .../problem-129-repunit-divisibility.md | 17 + .../project-euler/problem-13-large-sum.md | 150 ++ ...-composites-with-prime-repunit-property.md | 17 + .../problem-131-prime-cube-partnership.md | 17 + .../problem-132-large-repunit-factors.md | 17 + .../problem-133-repunit-nonfactors.md | 17 + .../problem-134-prime-pair-connection.md | 17 + .../problem-135-same-differences.md | 17 + .../problem-136-singleton-difference.md | 17 + .../problem-137-fibonacci-golden-nuggets.md | 17 + ...problem-138-special-isosceles-triangles.md | 17 + .../problem-139-pythagorean-tiles.md | 17 + .../problem-14-longest-collatz-sequence.md | 40 + ...m-140-modified-fibonacci-golden-nuggets.md | 17 + ...ressive-numbers-n-which-are-also-square.md | 17 + .../problem-142-perfect-square-collection.md | 17 + ...ting-the-torricelli-point-of-a-triangle.md | 17 + ...ng-multiple-reflections-of-a-laser-beam.md | 17 + ...ble-numbers-are-there-below-one-billion.md | 17 + ...oblem-146-investigating-a-prime-pattern.md | 17 + ...m-147-rectangles-in-cross-hatched-grids.md | 17 + .../problem-148-exploring-pascals-triangle.md | 17 + ...searching-for-a-maximum-sum-subsequence.md | 17 + .../project-euler/problem-15-lattice-paths.md | 25 + ...y-for-a-sub-triangle-having-minimum-sum.md | 17 + ...tandard-sizes-an-expected-value-problem.md | 17 + ...ng-one-half-as-a-sum-of-inverse-squares.md | 17 + ...lem-153-investigating-gaussian-integers.md | 17 + .../problem-154-exploring-pascals-pyramid.md | 17 + ...problem-155-counting-capacitor-circuits.md | 17 + .../problem-156-counting-digits.md | 17 + ...em-157-solving-the-diophantine-equation.md | 17 + ...hically-after-its-neighbour-to-the-left.md | 18 + ...159-digital-root-sums-of-factorisations.md | 17 + .../problem-16-power-digit-sum.md | 44 + .../problem-160-factorial-trailing-digits.md | 17 + .../project-euler/problem-161-triominoes.md | 17 + .../problem-162-hexadecimal-numbers.md | 17 + .../problem-163-cross-hatched-triangles.md | 17 + ...s-have-a-sum-greater-than-a-given-value.md | 18 + .../problem-165-intersections.md | 17 + .../project-euler/problem-166-criss-cross.md | 17 + ...roblem-167-investigating-ulam-sequences.md | 17 + .../problem-168-number-rotations.md | 17 + ...an-be-expressed-as-a-sum-of-powers-of-2.md | 18 + .../problem-17-number-letter-counts.md | 87 + ...can-be-formed-by-concatenating-products.md | 18 + ...f-the-squares-of-the-digits-is-a-square.md | 18 + ...gating-numbers-with-few-repeated-digits.md | 17 + ...ent-hollow-square-laminae-can-be-formed.md | 18 + ...one-two-three-...-distinct-arrangements.md | 18 + ...an-be-expressed-as-a-sum-of-powers-of-2.md | 18 + ...-angled-triangles-that-share-a-cathetus.md | 17 + ...oblem-177-integer-angled-quadrilaterals.md | 17 + .../project-euler/problem-178-step-numbers.md | 17 + ...oblem-179-consecutive-positive-divisors.md | 17 + .../problem-18-maximum-path-sum-i.md | 47 + ...-zeros-of-a-function-of-three-variables.md | 17 + ...of-two-different-colours-can-be-grouped.md | 18 + .../problem-182-rsa-encryption.md | 1 + .../problem-183-maximum-product-of-parts.md | 17 + ...lem-184-triangles-containing-the-origin.md | 17 + .../project-euler/problem-185-number-mind.md | 17 + .../problem-186-connectedness-of-a-network.md | 17 + .../project-euler/problem-187-semiprimes.md | 17 + ...188-the-hyperexponentiation-of-a-number.md | 17 + ...lem-189-tri-colouring-a-triangular-grid.md | 17 + .../problem-19-counting-sundays.md | 29 + ...oblem-190-maximising-a-weighted-product.md | 17 + .../problem-191-prize-strings.md | 17 + .../problem-192-best-approximations.md | 17 + .../problem-193-squarefree-numbers.md | 17 + .../problem-194-coloured-configurations.md | 17 + ...-triangles-with-one-angle-of-60-degrees.md | 17 + .../problem-196-prime-triplets.md | 17 + ...viour-of-a-recursively-defined-sequence.md | 17 + .../problem-198-ambiguous-numbers.md | 17 + .../problem-199-iterative-circle-packing.md | 36 + .../problem-2-even-fibonacci-numbers.md | 30 + .../problem-20-factorial-digit-sum.md | 23 + ...ontaining-the-contiguous-sub-string-200.md | 18 + .../problem-201-subsets-with-a-unique-sum.md | 17 + .../project-euler/problem-202-laserbeam.md | 17 + ...em-203-squarefree-binomial-coefficients.md | 17 + ...problem-204-generalised-hamming-numbers.md | 17 + .../project-euler/problem-205-dice-game.md | 17 + .../problem-206-concealed-square.md | 17 + ...problem-207-integer-partition-equations.md | 17 + .../project-euler/problem-208-robot-walks.md | 17 + .../problem-209-circular-logic.md | 17 + .../problem-21-amicable-numbers.md | 33 + .../problem-210-obtuse-angled-triangles.md | 17 + .../problem-211-divisor-square-sum.md | 17 + .../problem-212-combined-volume-of-cuboids.md | 17 + .../project-euler/problem-213-flea-circus.md | 17 + .../problem-214-totient-chains.md | 17 + .../problem-215-crack-free-walls.md | 17 + ...-primality-of-numbers-of-the-form-2n2-1.md | 17 + .../problem-217-balanced-numbers.md | 17 + ...blem-218-perfect-right-angled-triangles.md | 17 + .../problem-219-skew-cost-coding.md | 17 + .../project-euler/problem-22-names-scores.md | 47 + .../problem-220-heighway-dragon.md | 17 + .../problem-221-alexandrian-integers.md | 17 + .../problem-222-sphere-packing.md | 17 + ...lem-223-almost-right-angled-triangles-i.md | 17 + ...em-224-almost-right-angled-triangles-ii.md | 17 + .../problem-225-tribonacci-non-divisors.md | 17 + .../problem-226-a-scoop-of-blancmange.md | 17 + .../project-euler/problem-227-the-chase.md | 17 + .../problem-228-minkowski-sums.md | 17 + ...-229-four-representations-using-squares.md | 17 + .../problem-23-non-abundant-sums.md | 50 + .../problem-230-fibonacci-words.md | 17 + ...-factorisation-of-binomial-coefficients.md | 17 + .../project-euler/problem-232-the-race.md | 17 + .../problem-233-lattice-points-on-a-circle.md | 17 + .../problem-234-semidivisible-numbers.md | 17 + ...em-235-an-arithmetic-geometric-sequence.md | 17 + .../problem-236-luxury-hampers.md | 17 + ...blem-237-tours-on-a-4-x-n-playing-board.md | 17 + .../problem-238-infinite-string-tour.md | 17 + .../problem-239-twenty-two-foolish-primes.md | 17 + .../problem-24-lexicographic-permutations.md | 17 + .../project-euler/problem-240-top-dice.md | 17 + .../problem-241-perfection-quotients.md | 17 + .../project-euler/problem-242-odd-triplets.md | 17 + .../project-euler/problem-243-resilience.md | 17 + .../project-euler/problem-244-sliders.md | 17 + .../project-euler/problem-245-coresilience.md | 17 + .../problem-246-tangents-to-an-ellipse.md | 17 + .../problem-247-squares-under-a-hyperbola.md | 17 + ...which-eulers-totient-function-equals-13.md | 17 + .../problem-249-prime-subset-sums.md | 17 + .../problem-25-1000-digit-fibonacci-number.md | 30 + .../project-euler/problem-250-250250.md | 17 + .../problem-251-cardano-triplets.md | 17 + .../project-euler/problem-252-convex-holes.md | 17 + .../project-euler/problem-253-tidying-up.md | 17 + .../problem-254-sums-of-digit-factorials.md | 17 + .../problem-255-rounded-square-roots.md | 17 + .../problem-256-tatami-free-rooms.md | 17 + .../problem-257-angular-bisectors.md | 17 + ...problem-258-a-lagged-fibonacci-sequence.md | 17 + .../problem-259-reachable-numbers.md | 17 + .../problem-26-reciprocal-cycles.md | 17 + .../project-euler/problem-260-stone-game.md | 17 + .../problem-261-pivotal-square-sums.md | 17 + .../problem-262-mountain-range.md | 17 + ...roblem-263-an-engineers-dream-come-true.md | 17 + .../problem-264-triangle-centres.md | 17 + .../problem-265-binary-circles.md | 17 + .../problem-266-pseudo-square-root.md | 17 + .../project-euler/problem-267-billionaire.md | 17 + ...ur-distinct-prime-factors-less-than-100.md | 18 + ...ynomials-with-at-least-one-integer-root.md | 17 + .../problem-27-quadratic-primes.md | 17 + .../problem-270-cutting-squares.md | 17 + .../problem-271-modular-cubes-part-1.md | 17 + .../problem-272-modular-cubes-part-2.md | 17 + .../problem-273-sum-of-squares.md | 17 + .../problem-274-divisibility-multipliers.md | 17 + .../problem-275-balanced-sculptures.md | 17 + .../problem-276-primitive-triangles.md | 17 + ...problem-277-a-modified-collatz-sequence.md | 17 + ...m-278-linear-combinations-of-semiprimes.md | 17 + ...th-integral-sides-and-an-integral-angle.md | 17 + .../problem-28-number-spiral-diagonals.md | 26 + .../problem-280-ant-and-seeds.md | 17 + .../problem-281-pizza-toppings.md | 17 + .../problem-282-the-ackermann-function.md | 17 + ...h-the-area--perimeter-ratio-is-integral.md | 18 + .../problem-284-steady-squares.md | 17 + .../problem-285-pythagorean-odds.md | 17 + .../problem-286-scoring-probabilities.md | 17 + ...encoding-a-simple-compression-algorithm.md | 17 + .../problem-288-an-enormous-factorial.md | 17 + .../problem-289-eulerian-cycles.md | 17 + .../problem-29-distinct-powers.md | 26 + .../problem-290-digital-signature.md | 17 + .../problem-291-panaitopol-primes.md | 17 + .../problem-292-pythagorean-polygons.md | 17 + .../problem-293-pseudo-fortunate-numbers.md | 17 + ...oblem-294-sum-of-digits---experience-23.md | 17 + .../problem-295-lenticular-holes.md | 17 + ...roblem-296-angular-bisector-and-tangent.md | 17 + .../problem-297-zeckendorf-representation.md | 17 + .../problem-298-selective-amnesia.md | 17 + .../problem-299-three-similar-triangles.md | 17 + .../problem-3-largest-prime-factor.md | 30 + .../problem-30-digit-n-powers.md | 17 + .../problem-300-protein-folding.md | 17 + .../project-euler/problem-301-nim.md | 17 + .../problem-302-strong-achilles-numbers.md | 17 + ...problem-303-multiples-with-small-digits.md | 17 + .../project-euler/problem-304-primonacci.md | 17 + .../problem-305-reflexive-position.md | 17 + .../problem-306-paper-strip-game.md | 17 + .../project-euler/problem-307-chip-defects.md | 17 + ...8-an-amazing-prime-generating-automaton.md | 17 + .../problem-309-integer-ladders.md | 17 + .../project-euler/problem-31-coin-sums.md | 24 + .../project-euler/problem-310-nim-square.md | 17 + ...em-311-biclinic-integral-quadrilaterals.md | 17 + ...em-312-cyclic-paths-on-sierpiski-graphs.md | 17 + .../project-euler/problem-313-sliding-game.md | 17 + .../problem-314-the-mouse-on-the-moon.md | 17 + .../problem-315-digital-root-clocks.md | 17 + ...oblem-316-numbers-in-decimal-expansions.md | 17 + .../project-euler/problem-317-firecracker.md | 17 + .../project-euler/problem-318-2011-nines.md | 17 + .../problem-319-bounded-sequences.md | 17 + .../problem-32-pandigital-products.md | 53 + ...-factorials-divisible-by-a-huge-integer.md | 17 + .../problem-321-swapping-counters.md | 17 + ...2-binomial-coefficients-divisible-by-10.md | 17 + ...itwise-or-operations-on-random-integers.md | 17 + .../problem-324-building-a-tower.md | 17 + .../problem-325-stone-game-ii.md | 17 + .../problem-326-modulo-summations.md | 17 + .../problem-327-rooms-of-doom.md | 17 + .../problem-328-lowest-cost-search.md | 17 + .../project-euler/problem-329-prime-frog.md | 17 + .../problem-33-digit-cancelling-fractions.md | 69 + .../problem-330-eulers-number.md | 17 + .../project-euler/problem-331-cross-flips.md | 17 + .../problem-332-spherical-triangles.md | 17 + .../problem-333-special-partitions.md | 17 + .../problem-334-spilling-the-beans.md | 17 + .../problem-335-gathering-the-beans.md | 17 + .../problem-336-maximix-arrangements.md | 17 + ...problem-337-totient-stairstep-sequences.md | 17 + ...blem-338-cutting-rectangular-grid-paper.md | 17 + .../problem-339-peredur-fab-efrawg.md | 17 + .../problem-34-digit-factorials.md | 19 + .../problem-340-crazy-function.md | 17 + ...em-341-golombs-self-describing-sequence.md | 17 + ...m-342-the-totient-of-a-square-is-a-cube.md | 17 + .../problem-343-fractional-sequences.md | 17 + .../problem-344-silver-dollar-game.md | 17 + .../project-euler/problem-345-matrix-sum.md | 17 + .../problem-346-strong-repunits.md | 17 + ...largest-integer-divisible-by-two-primes.md | 17 + .../problem-348-sum-of-a-square-and-a-cube.md | 17 + .../project-euler/problem-349-langtons-ant.md | 17 + .../problem-35-circular-primes.md | 67 + ...e-least-greatest-and-the-greatest-least.md | 17 + .../problem-351-hexagonal-orchards.md | 17 + .../project-euler/problem-352-blood-tests.md | 17 + .../project-euler/problem-353-risky-moon.md | 17 + ...oblem-354-distances-in-a-bees-honeycomb.md | 17 + .../problem-355-maximal-coprime-subset.md | 17 + ...-356-largest-roots-of-cubic-polynomials.md | 17 + .../problem-357-prime-generating-integers.md | 17 + .../problem-358-cyclic-numbers.md | 17 + .../problem-359-hilberts-new-hotel.md | 17 + .../problem-36-double-base-palindromes.md | 17 + .../project-euler/problem-360-scary-sphere.md | 17 + ...-361-subsequence-of-thue-morse-sequence.md | 17 + .../problem-362-squarefree-factors.md | 17 + .../project-euler/problem-363-bzier-curves.md | 17 + .../problem-364-comfortable-distance.md | 17 + ...problem-365-a-huge-binomial-coefficient.md | 17 + .../problem-366-stone-game-iii.md | 17 + .../project-euler/problem-367-bozo-sort.md | 17 + .../problem-368-a-kempner-like-series.md | 17 + .../project-euler/problem-369-badugi.md | 17 + .../problem-37-truncatable-primes.md | 17 + .../problem-370-geometric-triangles.md | 17 + .../problem-371-licence-plates.md | 17 + .../problem-372-pencils-of-rays.md | 17 + .../problem-373-circumscribed-circles.md | 17 + ...m-374-maximum-integer-partition-product.md | 17 + .../problem-375-minimum-of-subsequences.md | 17 + .../problem-376-nontransitive-sets-of-dice.md | 17 + ...problem-377-sum-of-digits-experience-13.md | 17 + .../problem-378-triangle-triples.md | 17 + ...problem-379-least-common-multiple-count.md | 17 + .../problem-38-pandigital-multiples.md | 54 + .../problem-380-amazing-mazes.md | 17 + .../problem-381-prime-k-factorial.md | 17 + .../problem-382-generating-polygons.md | 17 + ...isibility-comparison-between-factorials.md | 17 + .../problem-384-rudin-shapiro-sequence.md | 17 + .../problem-385-ellipses-inside-triangles.md | 17 + ...blem-386-maximum-length-of-an-antichain.md | 17 + .../problem-387-harshad-numbers.md | 17 + .../problem-388-distinct-lines.md | 17 + .../problem-389-platonic-dice.md | 17 + .../problem-39-integer-right-triangles.md | 42 + ...th-non-rational-sides-and-integral-area.md | 17 + .../project-euler/problem-391-hopping-game.md | 17 + .../problem-392-enmeshed-unit-circle.md | 17 + .../problem-393-migrating-ants.md | 17 + .../project-euler/problem-394-eating-pie.md | 17 + .../problem-395-pythagorean-tree.md | 17 + .../problem-396-weak-goodstein-sequence.md | 17 + .../problem-397-triangle-on-parabola.md | 17 + .../project-euler/problem-398-cutting-rope.md | 17 + ...roblem-399-squarefree-fibonacci-numbers.md | 17 + .../problem-4-largest-palindrome-product.md | 29 + .../problem-40-champernownes-constant.md | 30 + .../problem-400-fibonacci-tree-game.md | 17 + .../problem-401-sum-of-squares-of-divisors.md | 17 + .../problem-402-integer-valued-polynomials.md | 17 + ...ce-points-enclosed-by-parabola-and-line.md | 17 + .../problem-404-crisscross-ellipses.md | 17 + .../problem-405-a-rectangular-tiling.md | 17 + .../problem-406-guessing-game.md | 17 + .../project-euler/problem-407-idempotents.md | 17 + ...lem-408-admissible-paths-through-a-grid.md | 17 + .../project-euler/problem-409-nim-extreme.md | 17 + .../problem-41-pandigital-prime.md | 82 + .../problem-410-circle-and-tangent-line.md | 17 + .../project-euler/problem-411-uphill-paths.md | 17 + .../problem-412-gnomon-numbering.md | 17 + .../problem-413-one-child-numbers.md | 17 + .../problem-414-kaprekar-constant.md | 17 + .../project-euler/problem-415-titanic-sets.md | 17 + .../project-euler/problem-416-a-frogs-trip.md | 17 + .../problem-417-reciprocal-cycles-ii.md | 17 + .../problem-418-factorisation-triples.md | 17 + .../problem-419-look-and-say-sequence.md | 17 + .../problem-42-coded-triangle-numbers.md | 20 + ...problem-420-2x2-positive-integer-matrix.md | 17 + .../problem-421-prime-factors-of-n151.md | 17 + ...m-422-sequence-of-points-on-a-hyperbola.md | 17 + .../problem-423-consecutive-die-throws.md | 17 + .../project-euler/problem-424-kakuro.md | 17 + .../problem-425-prime-connection.md | 17 + .../problem-426-box-ball-system.md | 17 + .../project-euler/problem-427-n-sequences.md | 17 + .../problem-428-necklace-of-circles.md | 17 + ...-429-sum-of-squares-of-unitary-divisors.md | 17 + .../problem-43-sub-string-divisibility.md | 17 + .../project-euler/problem-430-range-flips.md | 17 + .../problem-431-square-space-silo.md | 17 + .../project-euler/problem-432-totient-sum.md | 17 + .../problem-433-steps-in-euclids-algorithm.md | 17 + .../project-euler/problem-434-rigid-graphs.md | 17 + ...em-435-polynomials-of-fibonacci-numbers.md | 17 + .../project-euler/problem-436-unfair-wager.md | 17 + .../problem-437-fibonacci-primitive-roots.md | 17 + ...-part-of-polynomial-equations-solutions.md | 17 + .../problem-439-sum-of-sum-of-divisors.md | 17 + .../problem-44-pentagon-numbers.md | 44 + .../problem-440-gcd-and-tiling.md | 17 + ...he-inverse-summation-of-coprime-couples.md | 17 + .../problem-442-eleven-free-integers.md | 17 + .../project-euler/problem-443-gcd-sequence.md | 17 + .../problem-444-the-roundtable-lottery.md | 17 + .../problem-445-retractions-a.md | 17 + .../problem-446-retractions-b.md | 17 + .../problem-447-retractions-c.md | 17 + ...oblem-448-average-least-common-multiple.md | 17 + .../problem-449-chocolate-covered-candy.md | 17 + ...-45-triangular-pentagonal-and-hexagonal.md | 47 + ...blem-450-hypocycloid-and-lattice-points.md | 17 + .../problem-451-modular-inverses.md | 17 + .../problem-452-long-products.md | 17 + .../problem-453-lattice-quadrilaterals.md | 17 + ...problem-454-diophantine-reciprocals-iii.md | 17 + ...problem-455-powers-with-trailing-digits.md | 17 + ...-456-triangles-containing-the-origin-ii.md | 17 + ...polynomial-modulo-the-square-of-a-prime.md | 17 + .../problem-458-permutations-of-project.md | 17 + .../problem-459-flipping-game.md | 17 + .../problem-46-goldbachs-other-conjecture.md | 59 + .../problem-460-an-ant-on-the-move.md | 17 + .../project-euler/problem-461-almost-pi.md | 17 + ...lem-462-permutation-of-3-smooth-numbers.md | 17 + ...problem-463-a-weird-recurrence-relation.md | 17 + ...roblem-464-mbius-function-and-intervals.md | 17 + .../problem-465-polar-polygons.md | 17 + ...istinct-terms-in-a-multiplication-table.md | 17 + .../project-euler/problem-467-superinteger.md | 17 + ...mooth-divisors-of-binomial-coefficients.md | 17 + .../project-euler/problem-469-empty-chairs.md | 17 + .../problem-47-distinct-primes-factors.md | 59 + .../project-euler/problem-470-super-ramvok.md | 17 + ...oblem-471-triangle-inscribed-in-ellipse.md | 17 + .../problem-472-comfortable-distance-ii.md | 17 + .../problem-473-phigital-number-base.md | 17 + .../problem-474-last-digits-of-divisors.md | 17 + .../problem-475-music-festival.md | 17 + .../problem-476-circle-packing-ii.md | 17 + .../problem-477-number-sequence-game.md | 17 + .../project-euler/problem-478-mixtures.md | 17 + .../problem-479-roots-on-the-rise.md | 17 + .../project-euler/problem-48-self-powers.md | 33 + .../problem-480-the-last-question.md | 17 + .../problem-49-prime-permutations.md | 62 + .../problem-5-smallest-multiple.md | 30 + .../problem-50-consecutive-prime-sum.md | 54 + .../problem-51-prime-digit-replacements.md | 17 + .../problem-52-permuted-multiples.md | 46 + .../problem-53-combinatoric-selections.md | 34 + .../project-euler/problem-54-poker-hands.md | 1032 ++++++++ .../problem-55-lychrel-numbers.md | 44 + .../problem-56-powerful-digit-sum.md | 17 + .../problem-57-square-root-convergents.md | 17 + .../project-euler/problem-58-spiral-primes.md | 17 + .../problem-59-xor-decryption.md | 23 + .../problem-6-sum-square-difference.md | 29 + .../problem-60-prime-pair-sets.md | 17 + .../problem-61-cyclical-figurate-numbers.md | 17 + .../problem-62-cubic-permutations.md | 17 + .../problem-63-powerful-digit-counts.md | 17 + .../problem-64-odd-period-square-roots.md | 17 + .../problem-65-convergents-of-e.md | 17 + .../problem-66-diophantine-equation.md | 17 + .../problem-67-maximum-path-sum-ii.md | 28 + .../problem-68-magic-5-gon-ring.md | 17 + .../problem-69-totient-maximum.md | 17 + .../project-euler/problem-7-10001st-prime.md | 33 + .../problem-70-totient-permutation.md | 17 + .../problem-71-ordered-fractions.md | 3 +- .../problem-72-counting-fractions.md | 3 +- ...roblem-73-counting-fractions-in-a-range.md | 3 +- .../problem-74-digit-factorial-chains.md | 17 + ...lem-75-singular-integer-right-triangles.md | 17 + .../problem-76-counting-summations.md | 17 + .../problem-77-prime-summations.md | 17 + .../problem-78-coin-partitions.md | 17 + .../problem-79-passcode-derivation.md | 23 + .../problem-8-largest-product-in-a-series.md | 36 + ...roblem-80-square-root-digital-expansion.md | 17 + .../problem-81-path-sum-two-ways.md | 114 + .../problem-82-path-sum-three-ways.md | 114 + .../problem-83-path-sum-four-ways.md | 114 + .../project-euler/problem-84-monopoly-odds.md | 17 + .../problem-85-counting-rectangles.md | 17 + .../project-euler/problem-86-cuboid-route.md | 17 + .../problem-87-prime-power-triples.md | 17 + .../problem-88-product-sum-numbers.md | 17 + .../problem-89-roman-numerals.md | 23 + .../problem-9-special-pythagorean-triplet.md | 29 + .../problem-90-cube-digit-pairs.md | 17 + ...ight-triangles-with-integer-coordinates.md | 17 + .../problem-92-square-digit-chains.md | 17 + .../problem-93-arithmetic-expressions.md | 17 + ...problem-94-almost-equilateral-triangles.md | 17 + .../problem-95-amicable-chains.md | 17 + .../project-euler/problem-96-su-doku.md | 78 + .../problem-97-large-non-mersenne-prime.md | 17 + .../problem-98-anagramic-squares.md | 23 + .../problem-99-largest-exponential.md | 23 + .../rosetta-code/100-doors.md | 30 + .../rosetta-code/24-game.md | 139 +- .../9-billion-names-of-god-the-integer.md | 29 + .../rosetta-code/abc-problem.md | 40 + ...ient-and-perfect-number-classifications.md | 36 + .../rosetta-code/accumulator-factory.md | 28 + .../rosetta-code/ackermann-function.md | 16 + .../rosetta-code/align-columns.md | 129 +- .../rosetta-code/amicable-pairs.md | 74 + .../rosetta-code/averages-mode.md | 42 + .../averages-pythagorean-means.md | 89 + .../rosetta-code/averages-root-mean-square.md | 24 + .../rosetta-code/babbage-problem.md | 38 + .../rosetta-code/balanced-brackets.md | 49 + ...cles-of-given-radius-through-two-points.md | 68 + .../rosetta-code/closest-pair-problem.md | 246 ++ .../rosetta-code/combinations.md | 46 + .../rosetta-code/comma-quibbling.md | 28 + .../rosetta-code/compare-a-list-of-strings.md | 42 +- .../convert-seconds-to-compound-duration.md | 50 + .../count-occurrences-of-a-substring.md | 27 + .../rosetta-code/count-the-coins.md | 35 +- .../rosetta-code/cramers-rule.md | 114 + .../cumulative-standard-deviation.md | 1 + .../rosetta-code/cusip.md | 1 + .../rosetta-code/cut-a-rectangle.md | 1 + .../rosetta-code/date-format.md | 38 + .../rosetta-code/date-manipulation.md | 44 + .../rosetta-code/day-of-the-week.md | 31 + .../rosetta-code/deal-cards-for-freecell.md | 94 + .../rosetta-code/deepcopy.md | 31 + .../define-a-primitive-data-type.md | 26 + .../rosetta-code/department-numbers.md | 63 + .../rosetta-code/discordian-date.md | 111 + .../rosetta-code/dot-product.md | 1 + .../rosetta-code/element-wise-operations.md | 30 + .../rosetta-code/emirp-primes.md | 47 + .../rosetta-code/entropy.md | 33 + .../rosetta-code/equilibrium-index.md | 39 + .../rosetta-code/ethiopian-multiplication.md | 32 + .../rosetta-code/euler-method.md | 24 + .../evaluate-binomial-coefficients.md | 21 +- .../execute-a-markov-algorithm.md | 57 + .../rosetta-code/execute-brain.md | 138 ++ .../extensible-prime-generator.md | 51 + .../rosetta-code/factorial.md | 21 + .../factors-of-a-mersenne-number.md | 56 +- .../rosetta-code/factors-of-an-integer.md | 35 +- .../rosetta-code/farey-sequence.md | 30 + .../fibonacci-n-step-number-sequences.md | 41 + .../rosetta-code/fibonacci-sequence.md | 24 +- .../rosetta-code/fibonacci-word.md | 78 + .../rosetta-code/fizzbuzz.md | 1 + .../rosetta-code/fractran.md | 50 + .../rosetta-code/gamma-function.md | 43 + .../rosetta-code/gaussian-elimination.md | 113 + .../rosetta-code/general-fizzbuzz.md | 26 + .../generate-lower-case-ascii-alphabet.md | 42 + .../rosetta-code/generator-exponential.md | 1 + .../rosetta-code/gray-code.md | 25 + .../rosetta-code/greatest-common-divisor.md | 16 + .../greatest-subsequential-sum.md | 37 + .../rosetta-code/hailstone-sequence.md | 55 +- .../rosetta-code/happy-numbers.md | 30 + .../rosetta-code/harshad-or-niven-series.md | 61 + .../rosetta-code/hash-from-two-arrays.md | 42 + .../rosetta-code/hash-join.md | 79 + .../rosetta-code/heronian-triangles.md | 88 + .../hofstadter-figure-figure-sequences.md | 52 +- .../rosetta-code/hofstadter-q-sequence.md | 35 +- .../rosetta-code/i-before-e-except-after-c.md | 21 + .../rosetta-code/iban.md | 33 + .../rosetta-code/identity-matrix.md | 29 + .../rosetta-code/iterated-digits-squaring.md | 25 + .../rosetta-code/jaro-distance.md | 55 + .../rosetta-code/jortsort.md | 25 + .../rosetta-code/josephus-problem.md | 46 + .../rosetta-code/k-d-tree.md | 1 + .../rosetta-code/kaprekar-numbers.md | 1 + .../rosetta-code/knapsack-problem-0-1.md | 1 + .../rosetta-code/knapsack-problem-bounded.md | 1 + .../knapsack-problem-continuous.md | 1 + .../knapsack-problem-unbounded.md | 1 + .../rosetta-code/knights-tour.md | 1 + .../largest-int-from-concatenated-ints.md | 1 + .../rosetta-code/last-friday-of-each-month.md | 1 + .../rosetta-code/last-letter-first-letter.md | 1 + .../rosetta-code/leap-year.md | 1 + .../rosetta-code/least-common-multiple.md | 1 + .../rosetta-code/left-factorials.md | 1 + .../rosetta-code/letter-frequency.md | 1 + .../rosetta-code/levenshtein-distance.md | 1 + .../linear-congruential-generator.md | 1 + .../rosetta-code/long-multiplication.md | 1 + .../longest-common-subsequence.md | 1 + .../longest-increasing-subsequence.md | 1 + .../rosetta-code/longest-string-challenge.md | 1 + .../rosetta-code/look-and-say-sequence.md | 1 + ...oop-over-multiple-arrays-simultaneously.md | 1 + .../rosetta-code/lu-decomposition.md | 1 + .../rosetta-code/lucas-lehmer-test.md | 1 + .../rosetta-code/ludic-numbers.md | 1 + .../luhn-test-of-credit-card-numbers.md | 1 + .../rosetta-code/lychrel-numbers.md | 1 + .../rosetta-code/lzw-compression.md | 1 + .../rosetta-code/s-expressions.md | 39 + .../sailors-coconuts-and-a-monkey-problem.md | 42 + .../rosetta-code/search-a-list-of-records.md | 1 + .../rosetta-code/sedols.md | 35 + .../rosetta-code/self-describing-numbers.md | 1 + .../rosetta-code/self-referential-sequence.md | 1 + .../rosetta-code/semiprime.md | 1 + .../rosetta-code/set-consolidation.md | 1 + .../rosetta-code/set-of-real-numbers.md | 1 + .../rosetta-code/sha-1.md | 1 + .../rosetta-code/sha-256.md | 1 + .../sort-an-array-of-composite-structures.md | 1 + .../rosetta-code/sort-disjoint-sublist.md | 1 + .../rosetta-code/sort-stability.md | 1 + .../sort-using-a-custom-comparator.md | 1 + .../sorting-algorithms-bead-sort.md | 1 + .../sorting-algorithms-bogosort.md | 1 + .../sorting-algorithms-cocktail-sort.md | 1 + .../sorting-algorithms-comb-sort.md | 1 + .../sorting-algorithms-gnome-sort.md | 1 + .../sorting-algorithms-pancake-sort.md | 1 + .../sorting-algorithms-permutation-sort.md | 1 + .../sorting-algorithms-shell-sort.md | 1 + .../sorting-algorithms-stooge-sort.md | 1 + .../sorting-algorithms-strand-sort.md | 1 + .../rosetta-code/soundex.md | 1 + .../rosetta-code/spiral-matrix.md | 1 + ...ter-string-based-on-change-of-character.md | 1 + .../rosetta-code/state-name-puzzle.md | 1 + .../rosetta-code/stern-brocot-sequence.md | 1 + .../rosetta-code/straddling-checkerboard.md | 1 + .../rosetta-code/stream-merge.md | 1 + ...s-and-extended-characters-from-a-string.md | 1 + .../rosetta-code/subleq.md | 1 + .../rosetta-code/sudoku.md | 1 + .../rosetta-code/sum-digits-of-an-integer.md | 1 + .../rosetta-code/sum-multiples-of-3-and-5.md | 1 + .../rosetta-code/sum-of-a-series.md | 1 + .../rosetta-code/sum-of-squares.md | 1 + .../rosetta-code/sum-to-100.md | 1 + .../sutherland-hodgman-polygon-clipping.md | 1 + .../rosetta-code/symmetric-difference.md | 1 + .../rosetta-code/taxicab-numbers.md | 63 + .../tokenize-a-string-with-escaping.md | 49 + .../rosetta-code/top-rank-per-group.md | 73 + .../rosetta-code/topological-sort.md | 102 + .../rosetta-code/towers-of-hanoi.md | 36 + .../rosetta-code/vector-cross-product.md | 38 + .../rosetta-code/vector-dot-product.md | 46 + .../rosetta-code/word-frequency.md | 1 + .../rosetta-code/word-wrap.md | 44 + .../rosetta-code/y-combinator.md | 28 + .../zeckendorf-number-representation.md | 69 + .../zhang-suen-thinning-algorithm.md | 3 +- .../rosetta-code/zig-zag-matrix.md | 54 +- .../build-a-camper-leaderboard.md | 7 +- .../build-a-light-bright-app.md | 7 +- .../build-a-nightlife-coordination-app.md | 7 +- .../build-a-pinterest-clone.md | 7 +- .../take-home-projects/build-a-pong-game.md | 7 +- .../take-home-projects/build-a-recipe-box.md | 7 +- .../build-a-roguelike-dungeon-crawler-game.md | 7 +- .../take-home-projects/build-a-simon-game.md | 7 +- .../build-a-tic-tac-toe-game.md | 7 +- .../take-home-projects/build-a-voting-app.md | 7 +- .../build-a-wikipedia-viewer.md | 7 +- ...build-an-image-search-abstraction-layer.md | 7 +- .../build-the-game-of-life.md | 7 +- .../chart-the-stock-market.md | 7 +- .../manage-a-book-trading-club.md | 7 +- .../map-data-across-the-globe.md | 7 +- .../p2p-video-chat-application.md | 7 +- ...-contiguity-with-a-force-directed-graph.md | 7 +- .../show-the-local-weather.md | 7 +- .../use-the-twitch-json-api.md | 7 +- .../deep-learning-demystified.md | 6 +- .../how-convolutional-neural-networks-work.md | 6 +- .../how-deep-neural-networks-work.md | 6 +- ...rks-rnn-and-long-short-term-memory-lstm.md | 6 +- .../book-recommendation-engine-using-knn.md | 6 + .../cat-and-dog-image-classifier.md | 6 + ...near-regression-health-costs-calculator.md | 6 + .../neural-network-sms-text-classifier.md | 6 + .../rock-paper-scissors.md | 6 + .../tensorflow/conclusion.md | 6 +- ...al-neural-networks-evaluating-the-model.md | 6 +- ...ral-networks-picking-a-pretrained-model.md | 6 +- ...neural-networks-the-convolutional-layer.md | 6 +- .../convolutional-neural-networks.md | 6 +- ...-learning-algorithms-building-the-model.md | 6 +- ...core-learning-algorithms-classification.md | 6 +- .../core-learning-algorithms-clustering.md | 6 +- ...earning-algorithms-hidden-markov-models.md | 6 +- ...earning-algorithms-the-training-process.md | 6 +- ...ng-algorithms-training-and-testing-data.md | 6 +- ...using-probabilities-to-make-predictions.md | 6 +- ...e-learning-algorithms-working-with-data.md | 6 +- .../tensorflow/core-learning-algorithms.md | 6 +- ...creating-a-convolutional-neural-network.md | 6 +- ...roduction-machine-learning-fundamentals.md | 6 +- .../tensorflow/introduction-to-tensorflow.md | 6 +- ...processing-with-rnns-building-the-model.md | 6 +- ...ssing-with-rnns-create-a-play-generator.md | 6 +- ...processing-with-rnns-making-predictions.md | 6 +- ...al-language-processing-with-rnns-part-2.md | 6 +- ...ing-with-rnns-recurring-neural-networks.md | 6 +- ...ocessing-with-rnns-sentimental-analysis.md | 6 +- ...processing-with-rnns-training-the-model.md | 6 +- .../natural-language-processing-with-rnns.md | 6 +- .../neural-networks-activation-functions.md | 6 +- .../neural-networks-creating-a-model.md | 6 +- .../tensorflow/neural-networks-optimizers.md | 6 +- .../neural-networks-with-tensorflow.md | 6 +- ...cement-learning-with-q-learning-example.md | 6 +- ...rcement-learning-with-q-learning-part-2.md | 6 +- .../reinforcement-learning-with-q-learning.md | 6 +- ...ges-for-visually-impaired-accessibility.md | 1 + .../add-an-accessible-date-picker.md | 1 + ...choosing-colors-that-convey-information.md | 2 + ...ess-issues-by-using-sufficient-contrast.md | 1 + ...-meaning-by-using-descriptive-link-text.md | 1 + ...of-audio-content-with-the-audio-element.md | 1 + ...t-accessibility-with-the-figure-element.md | 1 + ...ld-accessibility-with-the-label-element.md | 1 + ...ove-readability-with-high-contrast-text.md | 1 + ...t-to-the-content-using-the-main-element.md | 1 + ...know-when-alt-text-should-be-left-blank.md | 1 + ...-to-a-screen-reader-by-using-custom-css.md | 1 + ...e-links-navigable-with-html-access-keys.md | 1 + ...igation-easier-with-the-footer-landmark.md | 1 + ...igation-easier-with-the-header-landmark.md | 1 + ...navigation-easier-with-the-nav-landmark.md | 1 + ...times-with-the-html5-datetime-attribute.md | 1 + ...w-hierarchical-relationships-of-content.md | 1 + ...dex-to-add-keyboard-focus-to-an-element.md | 1 + ...-of-keyboard-focus-for-several-elements.md | 1 + .../wrap-content-in-the-article-element.md | 1 + ...eldset-element-for-better-accessibility.md | 1 + ...add-a-box-shadow-to-a-card-like-element.md | 1 + ...t-the-background-color-property-of-text.md | 1 + ...arious-elements-to-complementary-colors.md | 1 + ...of-an-element-using-the-height-property.md | 1 + ...adjust-the-hover-state-of-an-anchor-tag.md | 1 + .../adjust-the-hue-of-a-color.md | 1 + ...size-of-a-header-versus-a-paragraph-tag.md | 1 + .../adjust-the-tone-of-a-color.md | 1 + ...-of-an-element-using-the-width-property.md | 1 + .../animate-elements-at-variable-rates.md | 1 + ...ually-using-an-infinite-animation-count.md | 1 + ...ate-multiple-elements-at-variable-rates.md | 1 + ...-horizontally-using-the-margin-property.md | 1 + .../change-an-elements-relative-position.md | 1 + .../change-animation-timing-with-keywords.md | 1 + ...ping-elements-with-the-z-index-property.md | 1 + .../create-a-gradual-css-linear-gradient.md | 1 + .../create-a-graphic-using-css.md | 1 + ...-a-horizontal-line-using-the-hr-element.md | 1 + ...a-more-complex-shape-using-css-and-html.md | 1 + .../create-movement-using-css-animation.md | 1 + ...-a-subtle-pattern-as-a-background-image.md | 1 + ...l-balance-using-the-text-align-property.md | 1 + ...by-fading-an-element-from-left-to-right.md | 1 + .../decrease-the-opacity-of-an-element.md | 1 + .../learn-about-complementary-colors.md | 1 + .../learn-about-tertiary-colors.md | 1 + .../learn-how-bezier-curves-work.md | 1 + ...keyframes-and-animation-properties-work.md | 1 + ...to-its-parent-with-absolute-positioning.md | 1 + ...e-browser-window-with-fixed-positioning.md | 1 + ...tbeat-using-an-infinite-animation-count.md | 1 + ...otion-more-natural-using-a-bezier-curve.md | 1 + .../modify-fill-mode-of-an-animation.md | 1 + ...ely-positioned-element-with-css-offsets.md | 1 + ...s-left-or-right-with-the-float-property.md | 1 + ...font-size-for-multiple-heading-elements.md | 1 + .../set-the-font-size-of-paragraph-text.md | 1 + ...nt-weight-for-multiple-heading-elements.md | 1 + .../set-the-line-height-of-paragraphs.md | 1 + .../use-a-bezier-curve-to-move-a-graphic.md | 1 + ...ar-gradient-to-create-a-striped-element.md | 1 + ...n-to-change-the-hover-state-of-a-button.md | 1 + ...ewx-to-skew-an-element-along-the-x-axis.md | 1 + ...ewy-to-skew-an-element-along-the-y-axis.md | 1 + ...operty-to-change-the-size-of-an-element.md | 1 + ...e-property-to-scale-an-element-on-hover.md | 1 + .../use-the-em-tag-to-italicize-text.md | 1 + .../use-the-s-tag-to-strikethrough-text.md | 1 + .../use-the-strong-tag-to-make-text-bold.md | 1 + ...ansform-property-to-make-text-uppercase.md | 1 + .../use-the-u-tag-to-underline-text.md | 1 + .../basic-css-cafe-menu/part-001.md | 1 + .../basic-css-cafe-menu/part-002.md | 1 + .../basic-css-cafe-menu/part-003.md | 1 + .../basic-css-cafe-menu/part-004.md | 1 + .../basic-css-cafe-menu/part-005.md | 1 + .../basic-css-cafe-menu/part-006.md | 1 + .../basic-css-cafe-menu/part-007.md | 1 + .../basic-css-cafe-menu/part-008.md | 1 + .../basic-css-cafe-menu/part-009.md | 1 + .../basic-css-cafe-menu/part-010.md | 1 + .../basic-css-cafe-menu/part-011.md | 1 + .../basic-css-cafe-menu/part-012.md | 1 + .../basic-css-cafe-menu/part-013.md | 1 + .../basic-css-cafe-menu/part-014.md | 1 + .../basic-css-cafe-menu/part-015.md | 1 + .../basic-css-cafe-menu/part-016.md | 1 + .../basic-css-cafe-menu/part-017.md | 1 + .../basic-css-cafe-menu/part-018.md | 1 + .../basic-css-cafe-menu/part-019.md | 1 + .../basic-css-cafe-menu/part-020.md | 1 + .../basic-css-cafe-menu/part-021.md | 1 + .../basic-css-cafe-menu/part-022.md | 1 + .../basic-css-cafe-menu/part-023.md | 1 + .../basic-css-cafe-menu/part-024.md | 1 + .../basic-css-cafe-menu/part-025.md | 1 + .../basic-css-cafe-menu/part-026.md | 1 + .../basic-css-cafe-menu/part-027.md | 1 + .../basic-css-cafe-menu/part-028.md | 1 + .../basic-css-cafe-menu/part-029.md | 1 + .../basic-css-cafe-menu/part-030.md | 1 + .../basic-css-cafe-menu/part-031.md | 1 + .../basic-css-cafe-menu/part-032.md | 1 + .../basic-css-cafe-menu/part-033.md | 1 + .../basic-css-cafe-menu/part-034.md | 1 + .../basic-css-cafe-menu/part-035.md | 1 + .../basic-css-cafe-menu/part-036.md | 1 + .../basic-css-cafe-menu/part-037.md | 1 + .../basic-css-cafe-menu/part-038.md | 1 + .../basic-css-cafe-menu/part-039.md | 1 + .../basic-css-cafe-menu/part-040.md | 1 + .../basic-css-cafe-menu/part-041.md | 1 + .../basic-css-cafe-menu/part-042.md | 1 + .../basic-css-cafe-menu/part-043.md | 1 + .../basic-css-cafe-menu/part-044.md | 1 + .../basic-css-cafe-menu/part-045.md | 1 + .../basic-css-cafe-menu/part-046.md | 1 + .../basic-css-cafe-menu/part-047.md | 1 + .../basic-css-cafe-menu/part-048.md | 1 + .../basic-css-cafe-menu/part-049.md | 1 + .../basic-css-cafe-menu/part-050.md | 1 + .../basic-css-cafe-menu/part-051.md | 1 + .../basic-css-cafe-menu/part-052.md | 1 + .../basic-css-cafe-menu/part-053.md | 1 + .../basic-css-cafe-menu/part-054.md | 1 + .../basic-css-cafe-menu/part-055.md | 1 + .../basic-css-cafe-menu/part-056.md | 1 + .../basic-css-cafe-menu/part-057.md | 1 + .../basic-css-cafe-menu/part-058.md | 1 + .../basic-css-cafe-menu/part-059.md | 1 + .../basic-css-cafe-menu/part-060.md | 1 + .../basic-css-cafe-menu/part-061.md | 1 + .../basic-css-cafe-menu/part-062.md | 1 + .../basic-css-cafe-menu/part-063.md | 1 + .../basic-css-cafe-menu/part-064.md | 1 + .../basic-css-cafe-menu/part-065.md | 1 + .../basic-css-cafe-menu/part-066.md | 1 + .../basic-css-cafe-menu/part-067.md | 1 + .../basic-css-cafe-menu/part-068.md | 1 + .../basic-css-cafe-menu/part-069.md | 1 + .../basic-css-cafe-menu/part-070.md | 1 + .../basic-css-cafe-menu/part-071.md | 1 + .../basic-css-cafe-menu/part-072.md | 1 + .../basic-css-cafe-menu/part-073.md | 1 + .../basic-css-cafe-menu/part-074.md | 1 + .../basic-css-cafe-menu/part-075.md | 1 + .../basic-css-cafe-menu/part-076.md | 1 + .../basic-css-cafe-menu/part-077.md | 1 + .../basic-css-cafe-menu/part-078.md | 1 + .../basic-css-cafe-menu/part-079.md | 1 + .../basic-css-cafe-menu/part-080.md | 1 + .../basic-css-cafe-menu/part-081.md | 1 + .../basic-css-cafe-menu/part-082.md | 1 + .../basic-css-cafe-menu/part-083.md | 1 + .../basic-css-cafe-menu/part-084.md | 1 + .../basic-css-cafe-menu/part-085.md | 1 + .../basic-css-cafe-menu/part-086.md | 1 + .../basic-css-cafe-menu/part-087.md | 1 + .../basic-css-cafe-menu/part-088.md | 1 + .../basic-css-cafe-menu/part-089.md | 1 + .../basic-css-cafe-menu/part-090.md | 1 + .../basic-css-cafe-menu/part-091.md | 1 + .../basic-css-cafe-menu/part-092.md | 1 + .../basic-css-cafe-menu/part-093.md | 1 + .../add-a-negative-margin-to-an-element.md | 1 + .../add-borders-around-your-elements.md | 1 + ...rent-margins-to-each-side-of-an-element.md | 1 + ...rent-padding-to-each-side-of-an-element.md | 1 + .../add-rounded-corners-with-border-radius.md | 1 + .../adjust-the-margin-of-an-element.md | 1 + .../adjust-the-padding-of-an-element.md | 1 + ...tach-a-fallback-value-to-a-css-variable.md | 1 + .../change-a-variable-for-a-specific-area.md | 1 + .../basic-css/change-the-color-of-text.md | 1 + .../change-the-font-size-of-an-element.md | 1 + .../basic-css/create-a-custom-css-variable.md | 1 + ...ive-a-background-color-to-a-div-element.md | 1 + .../basic-css/import-a-google-font.md | 1 + ...ve-compatibility-with-browser-fallbacks.md | 1 + .../basic-css/inherit-css-variables.md | 1 + .../inherit-styles-from-the-body-element.md | 1 + ...ke-circular-images-with-a-border-radius.md | 1 + ...ide-all-other-styles-by-using-important.md | 1 + ...s-declarations-by-styling-id-attributes.md | 1 + ...e-class-declarations-with-inline-styles.md | 1 + .../override-styles-in-subsequent-css.md | 1 + .../prioritize-one-style-over-another.md | 1 + .../set-the-font-family-of-an-element.md | 1 + .../basic-css/set-the-id-of-an-element.md | 1 + .../basic-css/size-your-images.md | 1 + .../specify-how-fonts-should-degrade.md | 1 + ...tyle-multiple-elements-with-a-css-class.md | 1 + .../basic-css/style-the-html-body-element.md | 1 + ...derstand-absolute-versus-relative-units.md | 1 + .../use-a-css-class-to-style-an-element.md | 1 + .../basic-css/use-a-custom-css-variable.md | 1 + .../use-a-media-query-to-change-a-variable.md | 1 + .../basic-css/use-abbreviated-hex-code.md | 1 + ...use-an-id-attribute-to-style-an-element.md | 1 + ...e-attribute-selectors-to-style-elements.md | 1 + ...ion-to-specify-the-margin-of-an-element.md | 1 + ...on-to-specify-the-padding-of-an-element.md | 1 + .../use-css-selectors-to-style-elements.md | 1 + ...bles-to-change-several-elements-at-once.md | 1 + .../use-hex-code-for-specific-colors.md | 1 + .../basic-css/use-hex-code-to-mix-colors.md | 1 + .../basic-css/use-rgb-to-mix-colors.md | 1 + .../use-rgb-values-to-color-elements.md | 1 + .../add-a-submit-button-to-a-form.md | 1 + .../add-images-to-your-website.md | 1 + .../add-placeholder-text-to-a-text-field.md | 1 + ...radio-buttons-and-checkboxes-by-default.md | 1 + .../basic-html-and-html5/comment-out-html.md | 1 + .../create-a-bulleted-unordered-list.md | 1 + .../create-a-form-element.md | 1 + .../create-a-set-of-checkboxes.md | 1 + .../create-a-set-of-radio-buttons.md | 1 + .../create-a-text-field.md | 1 + .../create-an-ordered-list.md | 1 + ...declare-the-doctype-of-an-html-document.md | 1 + ...e-the-head-and-body-of-an-html-document.md | 1 + .../delete-html-elements.md | 1 + ...fill-in-the-blank-with-placeholder-text.md | 1 + .../headline-with-the-h2-element.md | 1 + .../inform-with-the-paragraph-element.md | 1 + .../introduction-to-html5-elements.md | 1 + ...-to-external-pages-with-anchor-elements.md | 1 + ...sections-of-a-page-with-anchor-elements.md | 1 + .../make-dead-links-using-the-hash-symbol.md | 1 + ...st-an-anchor-element-within-a-paragraph.md | 1 + ...ny-elements-within-a-single-div-element.md | 1 + .../say-hello-to-html-elements.md | 1 + .../turn-an-image-into-a-link.md | 1 + .../basic-html-and-html5/uncomment-html.md | 1 + .../use-html5-to-require-a-field.md | 1 + ...ibute-with-radio-buttons-and-checkboxes.md | 1 + .../basic-html-cat-photo-app/part-001.md | 1 + .../basic-html-cat-photo-app/part-002.md | 1 + .../basic-html-cat-photo-app/part-003.md | 1 + .../basic-html-cat-photo-app/part-004.md | 1 + .../basic-html-cat-photo-app/part-005.md | 1 + .../basic-html-cat-photo-app/part-006.md | 1 + .../basic-html-cat-photo-app/part-007.md | 1 + .../basic-html-cat-photo-app/part-008.md | 1 + .../basic-html-cat-photo-app/part-009.md | 1 + .../basic-html-cat-photo-app/part-010.md | 1 + .../basic-html-cat-photo-app/part-011.md | 1 + .../basic-html-cat-photo-app/part-012.md | 1 + .../basic-html-cat-photo-app/part-013.md | 1 + .../basic-html-cat-photo-app/part-014.md | 1 + .../basic-html-cat-photo-app/part-015.md | 1 + .../basic-html-cat-photo-app/part-016.md | 1 + .../basic-html-cat-photo-app/part-017.md | 1 + .../basic-html-cat-photo-app/part-018.md | 1 + .../basic-html-cat-photo-app/part-019.md | 1 + .../basic-html-cat-photo-app/part-020.md | 1 + .../basic-html-cat-photo-app/part-021.md | 1 + .../basic-html-cat-photo-app/part-022.md | 1 + .../basic-html-cat-photo-app/part-023.md | 1 + .../basic-html-cat-photo-app/part-024.md | 1 + .../basic-html-cat-photo-app/part-025.md | 1 + .../basic-html-cat-photo-app/part-026.md | 1 + .../basic-html-cat-photo-app/part-027.md | 1 + .../basic-html-cat-photo-app/part-028.md | 1 + .../basic-html-cat-photo-app/part-029.md | 1 + .../basic-html-cat-photo-app/part-030.md | 1 + .../basic-html-cat-photo-app/part-031.md | 1 + .../basic-html-cat-photo-app/part-032.md | 1 + .../basic-html-cat-photo-app/part-033.md | 1 + .../basic-html-cat-photo-app/part-034.md | 1 + .../basic-html-cat-photo-app/part-035.md | 1 + .../basic-html-cat-photo-app/part-036.md | 1 + .../basic-html-cat-photo-app/part-037.md | 1 + .../basic-html-cat-photo-app/part-038.md | 1 + .../basic-html-cat-photo-app/part-039.md | 1 + .../basic-html-cat-photo-app/part-040.md | 1 + .../basic-html-cat-photo-app/part-041.md | 1 + .../basic-html-cat-photo-app/part-042.md | 1 + .../basic-html-cat-photo-app/part-043.md | 1 + .../basic-html-cat-photo-app/part-044.md | 1 + .../basic-html-cat-photo-app/part-045.md | 1 + .../basic-html-cat-photo-app/part-046.md | 1 + .../basic-html-cat-photo-app/part-047.md | 1 + .../basic-html-cat-photo-app/part-048.md | 1 + .../basic-html-cat-photo-app/part-049.md | 1 + .../basic-html-cat-photo-app/part-050.md | 1 + .../basic-html-cat-photo-app/part-051.md | 1 + .../basic-html-cat-photo-app/part-052.md | 1 + .../basic-html-cat-photo-app/part-053.md | 1 + .../basic-html-cat-photo-app/part-054.md | 1 + .../basic-html-cat-photo-app/part-055.md | 1 + .../basic-html-cat-photo-app/part-056.md | 1 + .../basic-html-cat-photo-app/part-057.md | 1 + .../basic-html-cat-photo-app/part-058.md | 1 + .../basic-html-cat-photo-app/part-059.md | 1 + .../basic-html-cat-photo-app/part-060.md | 1 + .../basic-html-cat-photo-app/part-061.md | 1 + .../basic-html-cat-photo-app/part-062.md | 1 + .../basic-html-cat-photo-app/part-063.md | 1 + .../basic-html-cat-photo-app/part-064.md | 1 + .../basic-html-cat-photo-app/part-065.md | 1 + .../basic-html-cat-photo-app/part-066.md | 1 + .../basic-html-cat-photo-app/part-067.md | 1 + ...add-flex-superpowers-to-the-tweet-embed.md | 1 + ...elements-using-the-align-items-property.md | 1 + ...ents-using-the-justify-content-property.md | 1 + ...y-to-create-a-column-in-the-tweet-embed.md | 1 + ...perty-to-create-rows-in-the-tweet-embed.md | 1 + .../use-display-flex-to-position-two-boxes.md | 1 + ...align-items-property-in-the-tweet-embed.md | 1 + .../use-the-align-self-property.md | 1 + ...erty-to-set-the-initial-size-of-an-item.md | 1 + ...lex-direction-property-to-make-a-column.md | 1 + ...e-flex-direction-property-to-make-a-row.md | 1 + ...-the-flex-grow-property-to-expand-items.md | 1 + .../use-the-flex-shorthand-property.md | 1 + ...he-flex-shrink-property-to-shrink-items.md | 1 + ...x-wrap-property-to-wrap-a-row-or-column.md | 1 + ...ify-content-property-in-the-tweet-embed.md | 1 + ...e-the-order-property-to-rearrange-items.md | 1 + .../add-columns-with-grid-template-columns.md | 1 + .../css-grid/add-gaps-faster-with-grid-gap.md | 1 + .../add-rows-with-grid-template-rows.md | 1 + ...-items-horizontally-using-justify-items.md | 1 + ...-all-items-vertically-using-align-items.md | 1 + ...an-item-horizontally-using-justify-self.md | 1 + ...ign-an-item-vertically-using-align-self.md | 1 + ...eate-a-column-gap-using-grid-column-gap.md | 1 + .../create-a-row-gap-using-grid-row-gap.md | 1 + ...create-flexible-layouts-using-auto-fill.md | 1 + .../create-flexible-layouts-using-auto-fit.md | 1 + .../css-grid/create-grids-within-grids.md | 1 + .../css-grid/create-your-first-css-grid.md | 1 + .../divide-the-grid-into-an-area-template.md | 1 + ...mit-item-size-using-the-minmax-function.md | 1 + ...grid-areas-using-the-grid-area-property.md | 1 + ...ce-repetition-using-the-repeat-function.md | 1 + ...-to-change-the-size-of-columns-and-rows.md | 1 + ...area-without-creating-an-areas-template.md | 1 + .../use-grid-column-to-control-spacing.md | 1 + .../use-grid-row-to-control-spacing.md | 1 + ...ia-queries-to-create-responsive-layouts.md | 1 + .../css-variables-skyline/part-001.md | 1 + .../css-variables-skyline/part-002.md | 1 + .../css-variables-skyline/part-003.md | 1 + .../css-variables-skyline/part-004.md | 1 + .../css-variables-skyline/part-005.md | 1 + .../css-variables-skyline/part-006.md | 1 + .../css-variables-skyline/part-007.md | 1 + .../css-variables-skyline/part-008.md | 1 + .../css-variables-skyline/part-009.md | 1 + .../css-variables-skyline/part-010.md | 1 + .../css-variables-skyline/part-011.md | 1 + .../css-variables-skyline/part-012.md | 1 + .../css-variables-skyline/part-013.md | 1 + .../css-variables-skyline/part-014.md | 1 + .../css-variables-skyline/part-015.md | 1 + .../css-variables-skyline/part-016.md | 1 + .../css-variables-skyline/part-017.md | 1 + .../css-variables-skyline/part-018.md | 1 + .../css-variables-skyline/part-019.md | 1 + .../css-variables-skyline/part-020.md | 1 + .../css-variables-skyline/part-021.md | 1 + .../css-variables-skyline/part-022.md | 1 + .../css-variables-skyline/part-023.md | 1 + .../css-variables-skyline/part-024.md | 1 + .../css-variables-skyline/part-025.md | 1 + .../css-variables-skyline/part-026.md | 1 + .../css-variables-skyline/part-027.md | 1 + .../css-variables-skyline/part-028.md | 1 + .../css-variables-skyline/part-029.md | 1 + .../css-variables-skyline/part-030.md | 1 + .../css-variables-skyline/part-031.md | 1 + .../css-variables-skyline/part-032.md | 1 + .../css-variables-skyline/part-033.md | 1 + .../css-variables-skyline/part-034.md | 1 + .../css-variables-skyline/part-035.md | 1 + .../css-variables-skyline/part-036.md | 1 + .../css-variables-skyline/part-037.md | 1 + .../css-variables-skyline/part-038.md | 1 + .../css-variables-skyline/part-039.md | 1 + .../css-variables-skyline/part-040.md | 1 + .../css-variables-skyline/part-041.md | 1 + .../css-variables-skyline/part-042.md | 1 + .../css-variables-skyline/part-043.md | 1 + .../css-variables-skyline/part-044.md | 1 + .../css-variables-skyline/part-045.md | 1 + .../css-variables-skyline/part-046.md | 1 + .../css-variables-skyline/part-047.md | 1 + .../css-variables-skyline/part-048.md | 1 + .../css-variables-skyline/part-049.md | 1 + .../css-variables-skyline/part-050.md | 1 + .../css-variables-skyline/part-051.md | 1 + .../css-variables-skyline/part-052.md | 1 + .../css-variables-skyline/part-053.md | 1 + .../css-variables-skyline/part-054.md | 1 + .../css-variables-skyline/part-055.md | 1 + .../css-variables-skyline/part-056.md | 1 + .../css-variables-skyline/part-057.md | 1 + .../css-variables-skyline/part-058.md | 1 + .../css-variables-skyline/part-059.md | 1 + .../css-variables-skyline/part-060.md | 1 + .../css-variables-skyline/part-061.md | 1 + .../css-variables-skyline/part-062.md | 1 + .../css-variables-skyline/part-063.md | 1 + .../css-variables-skyline/part-064.md | 1 + .../css-variables-skyline/part-065.md | 1 + .../css-variables-skyline/part-066.md | 1 + .../css-variables-skyline/part-067.md | 1 + .../css-variables-skyline/part-068.md | 1 + .../css-variables-skyline/part-069.md | 1 + .../css-variables-skyline/part-070.md | 1 + .../css-variables-skyline/part-071.md | 1 + .../css-variables-skyline/part-072.md | 1 + .../css-variables-skyline/part-073.md | 1 + .../css-variables-skyline/part-074.md | 1 + .../css-variables-skyline/part-075.md | 1 + .../css-variables-skyline/part-076.md | 1 + .../css-variables-skyline/part-077.md | 1 + .../css-variables-skyline/part-078.md | 1 + .../css-variables-skyline/part-079.md | 1 + .../css-variables-skyline/part-080.md | 1 + .../css-variables-skyline/part-081.md | 1 + .../css-variables-skyline/part-082.md | 1 + .../css-variables-skyline/part-083.md | 1 + .../css-variables-skyline/part-084.md | 1 + .../css-variables-skyline/part-085.md | 1 + .../css-variables-skyline/part-086.md | 1 + .../css-variables-skyline/part-087.md | 1 + .../css-variables-skyline/part-088.md | 1 + .../css-variables-skyline/part-089.md | 1 + .../css-variables-skyline/part-090.md | 1 + .../css-variables-skyline/part-091.md | 1 + .../css-variables-skyline/part-092.md | 1 + .../css-variables-skyline/part-093.md | 1 + .../css-variables-skyline/part-094.md | 1 + .../css-variables-skyline/part-095.md | 1 + .../css-variables-skyline/part-096.md | 1 + .../css-variables-skyline/part-097.md | 1 + .../css-variables-skyline/part-098.md | 1 + .../css-variables-skyline/part-099.md | 1 + .../css-variables-skyline/part-100.md | 1 + .../css-variables-skyline/part-101.md | 1 + .../css-variables-skyline/part-102.md | 1 + .../css-variables-skyline/part-103.md | 1 + .../css-variables-skyline/part-104.md | 1 + .../css-variables-skyline/part-105.md | 1 + .../css-variables-skyline/part-106.md | 1 + .../css-variables-skyline/part-107.md | 1 + .../css-variables-skyline/part-108.md | 1 + .../css-variables-skyline/part-109.md | 1 + .../css-variables-skyline/part-110.md | 1 + .../css-variables-skyline/part-111.md | 1 + .../css-variables-skyline/part-112.md | 1 + .../css-variables-skyline/part-113.md | 1 + .../css-variables-skyline/part-114.md | 1 + .../css-variables-skyline/part-115.md | 1 + .../css-variables-skyline/part-116.md | 1 + .../css-variables-skyline/part-117.md | 1 + .../css-variables-skyline/part-118.md | 1 + .../create-a-media-query.md | 1 + .../make-an-image-responsive.md | 1 + .../make-typography-responsive.md | 1 + ...na-image-for-higher-resolution-displays.md | 1 + .../build-a-personal-portfolio-webpage.md | 6 +- .../build-a-product-landing-page.md | 6 +- .../build-a-survey-form.md | 6 +- .../build-a-technical-documentation-page.md | 6 +- .../build-a-tribute-page.md | 6 +- .../basic-algorithm-scripting/boo-who.md | 1 + .../chunky-monkey.md | 1 + .../confirm-the-ending.md | 1 + .../convert-celsius-to-fahrenheit.md | 1 + .../factorialize-a-number.md | 1 + .../falsy-bouncer.md | 1 + .../find-the-longest-word-in-a-string.md | 1 + .../finders-keepers.md | 1 + .../basic-algorithm-scripting/mutations.md | 1 + .../repeat-a-string-repeat-a-string.md | 1 + .../return-largest-numbers-in-arrays.md | 1 + .../reverse-a-string.md | 1 + .../slice-and-splice.md | 1 + .../title-case-a-sentence.md | 1 + .../truncate-a-string.md | 1 + .../where-do-i-belong.md | 1 + ...-arrays-contents-using-bracket-notation.md | 1 + ...ss-property-names-with-bracket-notation.md | 1 + ...items-to-an-array-with-push-and-unshift.md | 1 + .../add-items-using-splice.md | 1 + ...d-key-value-pairs-to-javascript-objects.md | 1 + ...the-presence-of-an-element-with-indexof.md | 1 + .../check-if-an-object-has-a-property.md | 1 + ...combine-arrays-with-the-spread-operator.md | 1 + .../copy-an-array-with-the-spread-operator.md | 1 + .../copy-array-items-using-slice.md | 1 + ...create-complex-multi-dimensional-arrays.md | 1 + ...ray-of-all-object-keys-with-object.keys.md | 1 + ...ugh-all-an-arrays-items-using-for-loops.md | 1 + ...-of-an-object-with-a-for...in-statement.md | 1 + .../modify-an-array-stored-in-an-object.md | 1 + ...odify-an-object-nested-within-an-object.md | 1 + ...-items-from-an-array-with-pop-and-shift.md | 1 + .../remove-items-using-splice.md | 1 + ...-an-array-to-store-a-collection-of-data.md | 1 + ...ete-keyword-to-remove-object-properties.md | 1 + .../basic-javascript-rpg-game/part-001.md | 1 + .../basic-javascript-rpg-game/part-002.md | 1 + .../basic-javascript-rpg-game/part-003.md | 1 + .../basic-javascript-rpg-game/part-004.md | 1 + .../basic-javascript-rpg-game/part-005.md | 1 + .../basic-javascript-rpg-game/part-006.md | 1 + .../basic-javascript-rpg-game/part-007.md | 1 + .../basic-javascript-rpg-game/part-008.md | 1 + .../basic-javascript-rpg-game/part-009.md | 1 + .../basic-javascript-rpg-game/part-010.md | 1 + .../basic-javascript-rpg-game/part-011.md | 1 + .../basic-javascript-rpg-game/part-012.md | 1 + .../basic-javascript-rpg-game/part-013.md | 1 + .../basic-javascript-rpg-game/part-014.md | 1 + .../basic-javascript-rpg-game/part-015.md | 1 + .../basic-javascript-rpg-game/part-016.md | 1 + .../basic-javascript-rpg-game/part-017.md | 1 + .../basic-javascript-rpg-game/part-018.md | 1 + .../basic-javascript-rpg-game/part-019.md | 1 + .../basic-javascript-rpg-game/part-020.md | 1 + .../basic-javascript-rpg-game/part-021.md | 1 + .../basic-javascript-rpg-game/part-022.md | 1 + .../basic-javascript-rpg-game/part-023.md | 1 + .../basic-javascript-rpg-game/part-024.md | 1 + .../basic-javascript-rpg-game/part-025.md | 1 + .../basic-javascript-rpg-game/part-026.md | 1 + .../basic-javascript-rpg-game/part-027.md | 1 + .../basic-javascript-rpg-game/part-028.md | 1 + .../basic-javascript-rpg-game/part-029.md | 1 + .../basic-javascript-rpg-game/part-030.md | 1 + .../basic-javascript-rpg-game/part-031.md | 1 + .../basic-javascript-rpg-game/part-032.md | 1 + .../basic-javascript-rpg-game/part-033.md | 1 + .../basic-javascript-rpg-game/part-034.md | 1 + .../basic-javascript-rpg-game/part-035.md | 1 + .../basic-javascript-rpg-game/part-036.md | 1 + .../basic-javascript-rpg-game/part-037.md | 1 + .../basic-javascript-rpg-game/part-038.md | 1 + .../basic-javascript-rpg-game/part-039.md | 1 + .../basic-javascript-rpg-game/part-040.md | 1 + .../basic-javascript-rpg-game/part-041.md | 1 + .../basic-javascript-rpg-game/part-042.md | 1 + .../basic-javascript-rpg-game/part-043.md | 1 + .../basic-javascript-rpg-game/part-044.md | 1 + .../basic-javascript-rpg-game/part-045.md | 1 + .../basic-javascript-rpg-game/part-046.md | 1 + .../basic-javascript-rpg-game/part-047.md | 1 + .../basic-javascript-rpg-game/part-048.md | 1 + .../basic-javascript-rpg-game/part-049.md | 1 + .../basic-javascript-rpg-game/part-050.md | 1 + .../basic-javascript-rpg-game/part-051.md | 1 + .../basic-javascript-rpg-game/part-052.md | 1 + .../basic-javascript-rpg-game/part-053.md | 1 + .../basic-javascript-rpg-game/part-054.md | 1 + .../basic-javascript-rpg-game/part-055.md | 1 + .../basic-javascript-rpg-game/part-056.md | 1 + .../basic-javascript-rpg-game/part-057.md | 1 + .../basic-javascript-rpg-game/part-058.md | 1 + .../basic-javascript-rpg-game/part-059.md | 1 + .../basic-javascript-rpg-game/part-060.md | 1 + .../basic-javascript-rpg-game/part-061.md | 1 + .../basic-javascript-rpg-game/part-062.md | 1 + .../basic-javascript-rpg-game/part-063.md | 1 + .../basic-javascript-rpg-game/part-064.md | 1 + .../basic-javascript-rpg-game/part-065.md | 1 + .../basic-javascript-rpg-game/part-066.md | 1 + .../basic-javascript-rpg-game/part-067.md | 1 + .../basic-javascript-rpg-game/part-068.md | 1 + .../basic-javascript-rpg-game/part-069.md | 1 + .../basic-javascript-rpg-game/part-070.md | 1 + .../basic-javascript-rpg-game/part-071.md | 1 + .../basic-javascript-rpg-game/part-072.md | 1 + .../basic-javascript-rpg-game/part-073.md | 1 + .../basic-javascript-rpg-game/part-074.md | 1 + .../basic-javascript-rpg-game/part-075.md | 1 + .../basic-javascript-rpg-game/part-076.md | 1 + .../basic-javascript-rpg-game/part-077.md | 1 + .../basic-javascript-rpg-game/part-078.md | 1 + .../basic-javascript-rpg-game/part-079.md | 1 + .../basic-javascript-rpg-game/part-080.md | 1 + .../basic-javascript-rpg-game/part-081.md | 1 + .../basic-javascript-rpg-game/part-082.md | 1 + .../basic-javascript-rpg-game/part-083.md | 1 + .../basic-javascript-rpg-game/part-084.md | 1 + .../basic-javascript-rpg-game/part-085.md | 1 + .../basic-javascript-rpg-game/part-086.md | 1 + .../basic-javascript-rpg-game/part-087.md | 1 + .../basic-javascript-rpg-game/part-088.md | 1 + .../basic-javascript-rpg-game/part-089.md | 1 + .../basic-javascript-rpg-game/part-090.md | 1 + .../basic-javascript-rpg-game/part-091.md | 1 + .../basic-javascript-rpg-game/part-092.md | 1 + .../basic-javascript-rpg-game/part-093.md | 1 + .../basic-javascript-rpg-game/part-094.md | 1 + .../basic-javascript-rpg-game/part-095.md | 1 + .../basic-javascript-rpg-game/part-096.md | 1 + .../basic-javascript-rpg-game/part-097.md | 1 + .../basic-javascript-rpg-game/part-098.md | 1 + .../basic-javascript-rpg-game/part-099.md | 1 + .../basic-javascript-rpg-game/part-100.md | 1 + .../basic-javascript-rpg-game/part-101.md | 1 + .../basic-javascript-rpg-game/part-102.md | 1 + .../basic-javascript-rpg-game/part-103.md | 1 + .../basic-javascript-rpg-game/part-104.md | 1 + .../basic-javascript-rpg-game/part-105.md | 1 + .../basic-javascript-rpg-game/part-106.md | 1 + .../basic-javascript-rpg-game/part-107.md | 1 + .../basic-javascript-rpg-game/part-108.md | 1 + .../basic-javascript-rpg-game/part-109.md | 1 + .../basic-javascript-rpg-game/part-110.md | 1 + .../basic-javascript-rpg-game/part-111.md | 1 + .../basic-javascript-rpg-game/part-112.md | 1 + .../basic-javascript-rpg-game/part-113.md | 1 + .../basic-javascript-rpg-game/part-114.md | 1 + .../basic-javascript-rpg-game/part-115.md | 1 + .../basic-javascript-rpg-game/part-116.md | 1 + .../basic-javascript-rpg-game/part-117.md | 1 + .../basic-javascript-rpg-game/part-118.md | 1 + .../basic-javascript-rpg-game/part-119.md | 1 + .../basic-javascript-rpg-game/part-120.md | 1 + .../basic-javascript-rpg-game/part-121.md | 1 + .../basic-javascript-rpg-game/part-122.md | 1 + .../basic-javascript-rpg-game/part-123.md | 1 + .../basic-javascript-rpg-game/part-124.md | 1 + .../basic-javascript-rpg-game/part-125.md | 1 + .../basic-javascript-rpg-game/part-126.md | 1 + .../basic-javascript-rpg-game/part-127.md | 1 + .../basic-javascript-rpg-game/part-128.md | 1 + .../basic-javascript-rpg-game/part-129.md | 1 + .../basic-javascript-rpg-game/part-130.md | 1 + .../basic-javascript-rpg-game/part-131.md | 1 + .../basic-javascript-rpg-game/part-132.md | 1 + .../basic-javascript-rpg-game/part-133.md | 1 + .../basic-javascript-rpg-game/part-134.md | 1 + .../basic-javascript-rpg-game/part-135.md | 1 + .../basic-javascript-rpg-game/part-136.md | 1 + .../basic-javascript-rpg-game/part-137.md | 1 + .../basic-javascript-rpg-game/part-138.md | 1 + .../basic-javascript-rpg-game/part-139.md | 1 + .../basic-javascript-rpg-game/part-140.md | 1 + .../basic-javascript-rpg-game/part-141.md | 1 + .../basic-javascript-rpg-game/part-142.md | 1 + .../basic-javascript-rpg-game/part-143.md | 1 + .../basic-javascript-rpg-game/part-144.md | 1 + .../basic-javascript-rpg-game/part-145.md | 1 + .../basic-javascript-rpg-game/part-146.md | 1 + .../basic-javascript-rpg-game/part-147.md | 1 + .../basic-javascript-rpg-game/part-148.md | 1 + .../basic-javascript-rpg-game/part-149.md | 1 + .../basic-javascript-rpg-game/part-150.md | 1 + .../basic-javascript-rpg-game/part-151.md | 1 + .../basic-javascript-rpg-game/part-152.md | 1 + .../basic-javascript-rpg-game/part-153.md | 1 + .../access-array-data-with-indexes.md | 1 + ...s-multi-dimensional-arrays-with-indexes.md | 1 + .../accessing-nested-arrays.md | 1 + .../accessing-nested-objects.md | 1 + ...object-properties-with-bracket-notation.md | 1 + ...ing-object-properties-with-dot-notation.md | 1 + ...essing-object-properties-with-variables.md | 1 + ...d-new-properties-to-a-javascript-object.md | 1 + .../add-two-numbers-with-javascript.md | 1 + ...g-a-default-option-in-switch-statements.md | 1 + .../appending-variables-to-strings.md | 1 + ...ng-the-value-of-one-variable-to-another.md | 1 + .../assignment-with-a-returned-value.md | 1 + .../build-javascript-objects.md | 1 + .../chaining-if-else-statements.md | 1 + .../comment-your-javascript-code.md | 1 + .../comparison-with-the-equality-operator.md | 1 + ...mparison-with-the-greater-than-operator.md | 1 + ...h-the-greater-than-or-equal-to-operator.md | 1 + ...comparison-with-the-inequality-operator.md | 1 + .../comparison-with-the-less-than-operator.md | 1 + ...with-the-less-than-or-equal-to-operator.md | 1 + ...rison-with-the-strict-equality-operator.md | 1 + ...son-with-the-strict-inequality-operator.md | 1 + ...mparisons-with-the-logical-and-operator.md | 1 + ...omparisons-with-the-logical-or-operator.md | 1 + ...ound-assignment-with-augmented-addition.md | 1 + ...ound-assignment-with-augmented-division.md | 1 + ...ssignment-with-augmented-multiplication.md | 1 + ...d-assignment-with-augmented-subtraction.md | 1 + ...oncatenating-strings-with-plus-operator.md | 1 + ...g-strings-with-the-plus-equals-operator.md | 1 + .../constructing-strings-with-variables.md | 1 + .../count-backwards-with-a-for-loop.md | 1 + .../basic-javascript/counting-cards.md | 1 + .../create-decimal-numbers-with-javascript.md | 1 + .../declare-javascript-variables.md | 1 + .../declare-string-variables.md | 1 + .../decrement-a-number-with-javascript.md | 1 + ...ete-properties-from-a-javascript-object.md | 1 + ...-one-decimal-by-another-with-javascript.md | 1 + ...e-one-number-by-another-with-javascript.md | 1 + .../escape-sequences-in-strings.md | 1 + .../escaping-literal-quotes-in-strings.md | 1 + .../find-the-length-of-a-string.md | 1 + .../finding-a-remainder-in-javascript.md | 1 + ...nerate-random-fractions-with-javascript.md | 1 + ...te-random-whole-numbers-with-javascript.md | 1 + ...ate-random-whole-numbers-within-a-range.md | 1 + .../global-scope-and-functions.md | 1 + .../global-vs.-local-scope-in-functions.md | 1 + .../basic-javascript/golf-code.md | 1 + .../increment-a-number-with-javascript.md | 1 + ...-variables-with-the-assignment-operator.md | 1 + .../introducing-else-if-statements.md | 1 + .../introducing-else-statements.md | 1 + .../iterate-odd-numbers-with-a-for-loop.md | 1 + ...terate-through-an-array-with-a-for-loop.md | 1 + ...terate-with-javascript-do...while-loops.md | 1 + .../iterate-with-javascript-for-loops.md | 1 + .../iterate-with-javascript-while-loops.md | 1 + .../local-scope-and-functions.md | 1 + .../logical-order-in-if-else-statements.md | 1 + .../manipulate-arrays-with-pop.md | 1 + .../manipulate-arrays-with-push.md | 1 + .../manipulate-arrays-with-shift.md | 1 + .../manipulate-arrays-with-unshift.md | 1 + .../manipulating-complex-objects.md | 1 + .../modify-array-data-with-indexes.md | 1 + ...-identical-options-in-switch-statements.md | 1 + .../multiply-two-decimals-with-javascript.md | 1 + .../multiply-two-numbers-with-javascript.md | 1 + .../nest-one-array-within-another-array.md | 1 + .../basic-javascript/nesting-for-loops.md | 1 + ...sing-values-to-functions-with-arguments.md | 1 + .../practice-comparing-different-values.md | 1 + .../basic-javascript/profile-lookup.md | 1 + .../quoting-strings-with-single-quotes.md | 1 + .../basic-javascript/record-collection.md | 1 + .../replace-loops-using-recursion.md | 1 + .../replacing-if-else-chains-with-switch.md | 1 + ...urn-a-value-from-a-function-with-return.md | 1 + .../return-early-pattern-for-functions.md | 1 + ...returning-boolean-values-from-functions.md | 1 + ...rom-many-options-with-switch-statements.md | 1 + .../basic-javascript/shopping-list.md | 1 + .../basic-javascript/stand-in-line.md | 1 + ...in-one-variable-using-javascript-arrays.md | 1 + ...ing-values-with-the-assignment-operator.md | 1 + ...one-number-from-another-with-javascript.md | 1 + .../testing-objects-for-properties.md | 1 + .../understand-string-immutability.md | 1 + .../understanding-boolean-values.md | 1 + ...rstanding-case-sensitivity-in-variables.md | 1 + ...ndefined-value-returned-from-a-function.md | 1 + .../understanding-uninitialized-variables.md | 1 + .../updating-object-properties.md | 1 + ...to-find-the-first-character-in-a-string.md | 1 + ...-to-find-the-last-character-in-a-string.md | 1 + ...n-to-find-the-nth-character-in-a-string.md | 1 + ...d-the-nth-to-last-character-in-a-string.md | 1 + ...se-conditional-logic-with-if-statements.md | 1 + ...-multiple-conditional-ternary-operators.md | 1 + .../use-recursion-to-create-a-countdown.md | 1 + ...-recursion-to-create-a-range-of-numbers.md | 1 + .../use-the-conditional-ternary-operator.md | 1 + .../use-the-parseint-function-with-a-radix.md | 1 + .../use-the-parseint-function.md | 1 + .../using-objects-for-lookups.md | 1 + .../basic-javascript/word-blanks.md | 1 + ...rite-reusable-javascript-with-functions.md | 1 + ...the-wrong-order-when-calling-a-function.md | 1 + ...osing-parenthesis-after-a-function-call.md | 1 + ...-misspelled-variable-and-function-names.md | 1 + ...mixed-usage-of-single-and-double-quotes.md | 1 + ...h-off-by-one-errors-when-using-indexing.md | 1 + ...-parentheses-brackets-braces-and-quotes.md | 1 + ...t-operator-instead-of-equality-operator.md | 1 + ...e-loops-with-a-valid-terminal-condition.md | 1 + ...en-the-freecodecamp-and-browser-console.md | 1 + ...-reinitializing-variables-inside-a-loop.md | 1 + ...onsole-to-check-the-value-of-a-variable.md | 1 + ...-typeof-to-check-the-type-of-a-variable.md | 1 + ...pare-scopes-of-the-var-and-let-keywords.md | 1 + ...plete-a-promise-with-resolve-and-reject.md | 1 + .../es6/create-a-javascript-promise.md | 1 + .../es6/create-a-module-script.md | 1 + ...-an-export-fallback-with-export-default.md | 1 + .../create-strings-using-template-literals.md | 1 + ...ad-only-variable-with-the-const-keyword.md | 1 + ...rences-between-the-var-and-let-keywords.md | 1 + .../handle-a-fulfilled-promise-with-then.md | 1 + .../handle-a-rejected-promise-with-catch.md | 1 + .../es6/import-a-default-export.md | 1 + .../mutate-an-array-declared-with-const.md | 1 + .../es6/prevent-object-mutation.md | 1 + .../es6/reuse-javascript-code-using-import.md | 1 + ...t-default-parameters-for-your-functions.md | 1 + .../use--to-import-everything-from-a-file.md | 1 + ...ns-to-write-concise-anonymous-functions.md | 1 + ...syntax-to-define-a-constructor-function.md | 1 + ...ignment-to-assign-variables-from-arrays.md | 1 + ...to-assign-variables-from-nested-objects.md | 1 + ...gnment-to-assign-variables-from-objects.md | 1 + ...signment-to-extract-values-from-objects.md | 1 + ...ass-an-object-as-a-functions-parameters.md | 1 + ...st-parameter-to-reassign-array-elements.md | 2 + .../es6/use-export-to-share-a-code-block.md | 1 + ...-setters-to-control-access-to-an-object.md | 1 + ...rest-parameter-with-function-parameters.md | 1 + ...ad-operator-to-evaluate-arrays-in-place.md | 1 + .../write-arrow-functions-with-parameters.md | 1 + ...-concise-declarative-functions-with-es6.md | 1 + ...rations-using-object-property-shorthand.md | 1 + .../part-001.md | 1 + .../part-002.md | 1 + .../part-003.md | 1 + .../part-004.md | 1 + .../part-005.md | 1 + .../part-006.md | 1 + .../part-007.md | 1 + .../part-008.md | 1 + .../part-009.md | 1 + .../part-010.md | 1 + .../part-011.md | 1 + .../part-012.md | 1 + .../part-013.md | 1 + .../part-014.md | 1 + .../part-015.md | 1 + .../part-016.md | 1 + .../part-017.md | 1 + .../part-018.md | 1 + .../part-019.md | 1 + .../part-020.md | 1 + .../part-021.md | 1 + .../part-022.md | 1 + .../part-023.md | 1 + .../part-024.md | 1 + .../part-025.md | 1 + .../part-026.md | 1 + .../part-027.md | 1 + .../part-028.md | 1 + .../part-029.md | 1 + .../part-030.md | 1 + .../part-031.md | 1 + .../part-032.md | 1 + .../part-033.md | 1 + .../part-034.md | 1 + .../part-035.md | 1 + .../part-036.md | 1 + .../part-037.md | 1 + .../part-038.md | 1 + .../part-039.md | 1 + .../part-040.md | 1 + .../part-041.md | 1 + .../part-042.md | 1 + .../part-043.md | 1 + .../part-044.md | 1 + .../part-045.md | 1 + .../part-046.md | 1 + .../part-047.md | 1 + .../part-048.md | 1 + .../part-049.md | 1 + .../part-050.md | 1 + .../part-051.md | 1 + .../part-052.md | 1 + .../part-053.md | 1 + .../part-054.md | 1 + .../part-055.md | 1 + .../part-056.md | 1 + .../part-057.md | 1 + .../part-058.md | 1 + .../part-059.md | 1 + .../part-060.md | 1 + .../part-061.md | 1 + .../part-062.md | 1 + .../part-063.md | 1 + .../part-064.md | 1 + .../part-065.md | 1 + .../part-066.md | 1 + .../part-067.md | 1 + .../part-068.md | 1 + .../part-069.md | 1 + .../part-070.md | 1 + .../part-071.md | 1 + .../part-072.md | 1 + .../part-073.md | 1 + .../part-074.md | 1 + .../part-075.md | 1 + .../part-076.md | 1 + .../part-077.md | 1 + .../part-078.md | 1 + .../part-079.md | 1 + .../part-080.md | 1 + .../part-081.md | 1 + .../part-082.md | 1 + .../part-083.md | 1 + .../part-084.md | 1 + .../part-085.md | 1 + .../part-086.md | 1 + .../part-087.md | 1 + .../part-088.md | 1 + .../part-089.md | 1 + .../part-090.md | 1 + .../part-091.md | 1 + .../part-092.md | 1 + .../part-093.md | 1 + .../part-094.md | 1 + .../part-095.md | 1 + .../part-096.md | 1 + .../part-097.md | 1 + .../part-098.md | 1 + .../part-099.md | 1 + .../part-100.md | 1 + .../part-101.md | 1 + .../part-102.md | 1 + .../part-103.md | 1 + .../part-104.md | 1 + .../part-105.md | 1 + .../part-106.md | 1 + .../part-107.md | 1 + .../part-108.md | 1 + .../part-109.md | 1 + .../part-110.md | 1 + .../part-111.md | 1 + .../part-112.md | 1 + .../part-113.md | 1 + .../part-114.md | 1 + .../part-115.md | 1 + .../part-116.md | 1 + .../part-117.md | 1 + .../part-118.md | 1 + .../part-119.md | 1 + .../part-120.md | 1 + .../part-121.md | 1 + .../part-122.md | 1 + .../part-123.md | 1 + .../part-124.md | 1 + .../part-125.md | 1 + .../part-126.md | 1 + .../part-127.md | 1 + .../part-128.md | 1 + .../part-129.md | 1 + .../part-130.md | 1 + .../part-131.md | 1 + .../part-132.md | 1 + .../part-133.md | 1 + .../part-134.md | 1 + .../part-135.md | 1 + .../part-136.md | 1 + .../part-137.md | 1 + .../part-138.md | 1 + .../part-139.md | 1 + .../part-140.md | 1 + .../part-141.md | 1 + ...f-an-array-using-concat-instead-of-push.md | 1 + ...ramming-to-convert-strings-to-url-slugs.md | 1 + ...de-effects-using-functional-programming.md | 1 + ...ray-into-a-string-using-the-join-method.md | 1 + ...bine-two-arrays-using-the-concat-method.md | 1 + .../implement-map-on-a-prototype.md | 1 + ...lement-the-filter-method-on-a-prototype.md | 1 + ...ion-to-currying-and-partial-application.md | 1 + .../learn-about-functional-programming.md | 1 + ...avoid-external-dependence-in-a-function.md | 1 + ...actor-global-variables-out-of-functions.md | 1 + ...-an-array-using-slice-instead-of-splice.md | 1 + ...ray-without-changing-the-original-array.md | 1 + ...part-of-an-array-using-the-slice-method.md | 1 + ...ay-alphabetically-using-the-sort-method.md | 1 + ...ng-into-an-array-using-the-split-method.md | 1 + ...tand-functional-programming-terminology.md | 1 + ...nd-the-hazards-of-using-imperative-code.md | 1 + ...er-or-reduce-to-solve-a-complex-problem.md | 1 + ...ry-element-in-an-array-meets-a-criteria.md | 1 + ...er-method-to-extract-data-from-an-array.md | 1 + ...ap-method-to-extract-data-from-an-array.md | 1 + .../use-the-reduce-method-to-analyze-data.md | 1 + ...ny-elements-in-an-array-meet-a-criteria.md | 1 + .../arguments-optional.md | 1 + .../binary-agents.md | 1 + .../convert-html-entities.md | 1 + .../diff-two-arrays.md | 1 + .../dna-pairing.md | 1 + .../drop-it.md | 1 + .../everything-be-true.md | 1 + .../make-a-person.md | 1 + .../map-the-debris.md | 1 + .../missing-letters.md | 1 + .../pig-latin.md | 1 + .../search-and-replace.md | 1 + .../seek-and-destroy.md | 1 + .../smallest-common-multiple.md | 1 + .../sorted-union.md | 1 + .../spinal-tap-case.md | 1 + .../steamroller.md | 1 + .../sum-all-numbers-in-a-range.md | 1 + .../sum-all-odd-fibonacci-numbers.md | 1 + .../sum-all-primes.md | 1 + .../wherefore-art-thou.md | 1 + .../part-001.md | 1 + .../part-002.md | 1 + .../part-003.md | 1 + .../part-004.md | 1 + .../part-005.md | 1 + .../part-006.md | 1 + .../part-007.md | 1 + .../part-008.md | 1 + .../part-009.md | 1 + .../part-010.md | 1 + .../part-011.md | 1 + .../part-012.md | 1 + .../part-013.md | 1 + .../part-014.md | 1 + .../part-015.md | 1 + .../part-016.md | 1 + .../part-017.md | 1 + .../part-018.md | 1 + .../part-019.md | 1 + .../part-020.md | 1 + .../part-021.md | 1 + .../part-022.md | 1 + .../part-023.md | 1 + .../part-024.md | 1 + .../part-025.md | 1 + .../part-026.md | 1 + .../part-027.md | 1 + .../part-028.md | 1 + .../part-029.md | 1 + .../part-030.md | 1 + .../part-031.md | 1 + .../part-032.md | 1 + .../part-033.md | 1 + .../part-034.md | 1 + .../part-035.md | 1 + .../part-036.md | 1 + .../part-037.md | 1 + .../part-038.md | 1 + .../part-039.md | 1 + .../part-040.md | 1 + .../part-041.md | 1 + .../part-042.md | 1 + .../part-043.md | 1 + .../part-044.md | 1 + .../part-045.md | 1 + .../part-046.md | 1 + .../part-047.md | 1 + .../part-048.md | 1 + .../part-049.md | 1 + .../part-050.md | 1 + .../part-051.md | 1 + .../part-052.md | 1 + .../part-053.md | 1 + .../part-054.md | 1 + .../part-055.md | 1 + .../part-056.md | 1 + .../part-057.md | 1 + .../part-058.md | 1 + .../part-059.md | 1 + .../part-060.md | 1 + .../part-061.md | 1 + .../part-062.md | 1 + .../part-063.md | 1 + .../part-064.md | 1 + .../part-065.md | 1 + .../part-066.md | 1 + .../part-067.md | 1 + .../part-068.md | 1 + .../part-069.md | 1 + .../part-070.md | 1 + .../part-071.md | 1 + .../part-072.md | 1 + .../part-073.md | 1 + .../part-074.md | 1 + .../part-075.md | 1 + .../part-076.md | 1 + .../caesars-cipher.md | 1 + .../cash-register.md | 1 + .../palindrome-checker.md | 1 + .../roman-numeral-converter.md | 1 + .../telephone-number-validator.md | 1 + .../add-methods-after-inheritance.md | 1 + .../change-the-prototype-to-a-new-object.md | 1 + .../create-a-basic-javascript-object.md | 1 + .../create-a-method-on-an-object.md | 1 + .../define-a-constructor-function.md | 1 + ...xtend-constructors-to-receive-arguments.md | 1 + .../inherit-behaviors-from-a-supertype.md | 1 + .../iterate-over-all-properties.md | 1 + ...ode-more-reusable-with-the-this-keyword.md | 1 + .../override-inherited-methods.md | 1 + ...or-property-when-changing-the-prototype.md | 1 + ...reset-an-inherited-constructor-property.md | 1 + ...-prototype-to-an-instance-of-the-parent.md | 1 + .../understand-own-properties.md | 1 + .../understand-the-constructor-property.md | 1 + ...iately-invoked-function-expression-iife.md | 1 + .../understand-the-prototype-chain.md | 1 + ...d-where-an-objects-prototype-comes-from.md | 1 + .../use-a-constructor-to-create-objects.md | 1 + ...mmon-behavior-between-unrelated-objects.md | 1 + .../use-an-iife-to-create-a-module.md | 1 + ...n-object-from-being-modified-externally.md | 2 + ...n-to-access-the-properties-of-an-object.md | 1 + ...inheritance-so-you-dont-repeat-yourself.md | 1 + ...ype-properties-to-reduce-duplicate-code.md | 1 + ...-an-objects-constructor-with-instanceof.md | 1 + .../check-for-all-or-none.md | 1 + .../check-for-mixed-grouping-of-characters.md | 1 + .../regular-expressions/extract-matches.md | 1 + .../find-characters-with-lazy-matching.md | 1 + .../find-more-than-the-first-match.md | 1 + .../find-one-or-more-criminals-in-a-hunt.md | 1 + .../ignore-case-while-matching.md | 1 + ...ral-string-with-different-possibilities.md | 1 + .../match-all-letters-and-numbers.md | 1 + .../match-all-non-numbers.md | 1 + .../regular-expressions/match-all-numbers.md | 1 + .../match-anything-with-wildcard-period.md | 1 + .../match-beginning-string-patterns.md | 1 + ...characters-that-occur-one-or-more-times.md | 1 + ...haracters-that-occur-zero-or-more-times.md | 1 + .../match-ending-string-patterns.md | 1 + ...atch-everything-but-letters-and-numbers.md | 1 + .../match-letters-of-the-alphabet.md | 1 + .../match-literal-strings.md | 1 + .../match-non-whitespace-characters.md | 1 + ...tch-numbers-and-letters-of-the-alphabet.md | 1 + ...e-character-with-multiple-possibilities.md | 1 + .../match-single-characters-not-specified.md | 1 + .../regular-expressions/match-whitespace.md | 1 + .../positive-and-negative-lookahead.md | 1 + .../remove-whitespace-from-start-and-end.md | 1 + .../restrict-possible-usernames.md | 1 + .../reuse-patterns-using-capture-groups.md | 1 + .../specify-exact-number-of-matches.md | 1 + ...pecify-only-the-lower-number-of-matches.md | 1 + ...ecify-upper-and-lower-number-of-matches.md | 1 + ...se-capture-groups-to-search-and-replace.md | 1 + .../using-the-test-method.md | 1 + ...dd-elements-within-your-bootstrap-wells.md | 1 + ...ont-awesome-icons-to-all-of-our-buttons.md | 1 + .../add-font-awesome-icons-to-our-buttons.md | 1 + ...add-id-attributes-to-bootstrap-elements.md | 1 + ...pply-the-default-bootstrap-button-style.md | 1 + ...call-out-optional-actions-with-btn-info.md | 1 + .../bootstrap/center-text-with-bootstrap.md | 1 + ...create-a-block-element-bootstrap-button.md | 1 + .../bootstrap/create-a-bootstrap-button.md | 1 + .../bootstrap/create-a-bootstrap-headline.md | 1 + .../bootstrap/create-a-bootstrap-row.md | 1 + ...a-class-to-target-with-jquery-selectors.md | 1 + .../bootstrap/create-a-custom-heading.md | 1 + .../bootstrap/create-bootstrap-wells.md | 1 + .../ditch-custom-css-for-bootstrap.md | 1 + .../give-each-element-a-unique-id.md | 1 + ...-within-a-bootstrap-container-fluid-div.md | 1 + .../bootstrap/label-bootstrap-buttons.md | 1 + .../bootstrap/label-bootstrap-wells.md | 1 + ...rm-elements-responsively-with-bootstrap.md | 1 + .../make-images-mobile-responsive.md | 1 + .../responsively-style-checkboxes.md | 1 + .../responsively-style-radio-buttons.md | 1 + .../bootstrap/split-your-bootstrap-row.md | 1 + .../style-text-inputs-as-form-controls.md | 1 + ...aste-the-bootstrap-button-color-rainbow.md | 1 + .../use-a-span-to-target-inline-elements.md | 1 + .../bootstrap/use-comments-to-clarify-code.md | 1 + ...-design-with-bootstrap-fluid-containers.md | 1 + ...strap-grid-to-put-elements-side-by-side.md | 1 + ...s-of-a-dangerous-action-with-btn-danger.md | 1 + .../build-a-25-5-clock.md | 6 +- .../build-a-drum-machine.md | 6 +- .../build-a-javascript-calculator.md | 6 +- .../build-a-markdown-previewer.md | 6 +- .../build-a-random-quote-machine.md | 6 +- ...nge-text-inside-an-element-using-jquery.md | 1 + ...ange-the-css-of-an-element-using-jquery.md | 1 + .../jquery/clone-an-element-using-jquery.md | 1 + .../jquery/delete-your-jquery-functions.md | 1 + .../jquery/disable-an-element-using-jquery.md | 1 + ...how-script-tags-and-document-ready-work.md | 1 + .../jquery/remove-an-element-using-jquery.md | 1 + ...ove-classes-from-an-element-with-jquery.md | 1 + ...ecific-child-of-an-element-using-jquery.md | 1 + .../target-elements-by-class-using-jquery.md | 1 + .../target-elements-by-id-using-jquery.md | 1 + .../target-even-elements-using-jquery.md | 1 + ...ml-elements-with-selectors-using-jquery.md | 1 + ...the-children-of-an-element-using-jquery.md | 1 + ...t-the-parent-of-an-element-using-jquery.md | 1 + ...-element-with-multiple-jquery-selectors.md | 1 + ...e-appendto-to-move-elements-with-jquery.md | 1 + .../use-jquery-to-modify-the-entire-page.md | 1 + .../react-and-redux/connect-redux-to-react.md | 1 + .../connect-redux-to-the-messages-app.md | 1 + .../extract-local-state-into-redux.md | 1 + .../extract-state-logic-to-redux.md | 1 + .../getting-started-with-react-redux.md | 1 + .../manage-state-locally-first.md | 1 + .../react-and-redux/map-dispatch-to-props.md | 1 + .../react-and-redux/map-state-to-props.md | 1 + .../moving-forward-from-here.md | 1 + .../use-provider-to-connect-redux-to-react.md | 1 + .../react/access-props-using-this.props.md | 1 + .../react/add-comments-in-jsx.md | 1 + .../react/add-event-listeners.md | 1 + .../react/add-inline-styles-in-react.md | 1 + .../react/bind-this-to-a-class-method.md | 1 + ...-conditionally-based-on-component-state.md | 1 + .../react/compose-react-components.md | 1 + .../react/create-a-complex-jsx-element.md | 1 + .../create-a-component-with-composition.md | 1 + .../react/create-a-controlled-form.md | 1 + .../react/create-a-controlled-input.md | 1 + .../react/create-a-react-component.md | 1 + .../react/create-a-simple-jsx-element.md | 1 + .../react/create-a-stateful-component.md | 1 + ...create-a-stateless-functional-component.md | 1 + .../react/define-an-html-class-in-jsx.md | 1 + ...sibling-elements-a-unique-key-attribute.md | 1 + .../react/introducing-inline-styles.md | 1 + .../learn-about-self-closing-jsx-tags.md | 1 + ...e-re-renders-with-shouldcomponentupdate.md | 1 + .../react/override-default-props.md | 1 + .../react/pass-a-callback-as-props.md | 1 + .../react/pass-an-array-as-props.md | 1 + ...ops-to-a-stateless-functional-component.md | 1 + ...pass-state-as-props-to-child-components.md | 1 + .../render-a-class-component-to-the-dom.md | 1 + .../react/render-conditionally-from-props.md | 1 + .../react/render-html-elements-to-the-dom.md | 1 + ...react-on-the-server-with-rendertostring.md | 1 + ...state-in-the-user-interface-another-way.md | 1 + .../render-state-in-the-user-interface.md | 1 + .../react/render-with-an-if-else-condition.md | 1 + ...ps-with-stateless-functional-components.md | 1 + .../react/set-state-with-this.setstate.md | 1 + .../use--for-a-more-concise-conditional.md | 1 + ...ry-expression-for-conditional-rendering.md | 1 + ...anced-javascript-in-react-render-method.md | 1 + ...y.filter-to-dynamically-filter-an-array.md | 1 + ...rray.map-to-dynamically-render-elements.md | 1 + .../react/use-default-props.md | 1 + ...roptypes-to-define-the-props-you-expect.md | 1 + .../use-react-to-render-nested-components.md | 1 + .../react/use-state-to-toggle-an-element.md | 1 + ...-the-lifecycle-method-componentdidmount.md | 1 + ...the-lifecycle-method-componentwillmount.md | 1 + .../write-a-react-component-from-scratch.md | 1 + .../react/write-a-simple-counter.md | 1 + .../redux/combine-multiple-reducers.md | 1 + .../copy-an-object-with-object.assign.md | 1 + .../redux/create-a-redux-store.md | 1 + .../redux/define-a-redux-action.md | 1 + .../redux/define-an-action-creator.md | 1 + .../redux/dispatch-an-action-event.md | 1 + .../redux/get-state-from-the-redux-store.md | 1 + .../redux/handle-an-action-in-the-store.md | 1 + .../redux/never-mutate-state.md | 1 + .../redux/register-a-store-listener.md | 1 + .../redux/remove-an-item-from-an-array.md | 1 + .../redux/send-action-data-to-the-store.md | 1 + ...ch-statement-to-handle-multiple-actions.md | 1 + .../redux/use-const-for-action-types.md | 1 + ...ddleware-to-handle-asynchronous-actions.md | 1 + .../use-the-spread-operator-on-arrays.md | 1 + .../redux/write-a-counter-with-redux.md | 1 + ...yle-until-a-condition-is-met-with-while.md | 1 + .../sass/create-reusable-css-with-mixins.md | 1 + ...ne-set-of-css-styles-to-another-element.md | 1 + .../sass/nest-css-with-sass.md | 1 + ...tyles-into-smaller-chunks-with-partials.md | 1 + .../sass/store-data-with-sass-variables.md | 1 + .../use-each-to-map-over-items-in-a-list.md | 1 + .../sass/use-for-to-create-a-sass-loop.md | 1 + ...if-and-else-to-add-logic-to-your-styles.md | 1 + .../d3-dashboard/part-001.md | 1 + .../d3-dashboard/part-002.md | 1 + .../d3-dashboard/part-003.md | 1 + .../d3-dashboard/part-004.md | 1 + .../d3-dashboard/part-005.md | 1 + .../d3-dashboard/part-006.md | 1 + .../d3-dashboard/part-007.md | 1 + .../d3-dashboard/part-008.md | 1 + .../d3-dashboard/part-009.md | 1 + .../d3-dashboard/part-010.md | 1 + .../d3-dashboard/part-011.md | 1 + .../d3-dashboard/part-012.md | 1 + .../d3-dashboard/part-013.md | 1 + .../d3-dashboard/part-014.md | 1 + .../d3-dashboard/part-015.md | 1 + .../d3-dashboard/part-016.md | 1 + .../d3-dashboard/part-017.md | 1 + .../d3-dashboard/part-018.md | 1 + .../d3-dashboard/part-019.md | 1 + .../d3-dashboard/part-020.md | 1 + .../d3-dashboard/part-021.md | 1 + .../d3-dashboard/part-022.md | 1 + .../d3-dashboard/part-023.md | 1 + .../d3-dashboard/part-024.md | 1 + .../d3-dashboard/part-025.md | 1 + .../d3-dashboard/part-026.md | 1 + .../d3-dashboard/part-027.md | 1 + .../d3-dashboard/part-028.md | 1 + .../d3-dashboard/part-029.md | 1 + .../d3-dashboard/part-030.md | 1 + .../d3-dashboard/part-031.md | 1 + .../d3-dashboard/part-032.md | 1 + .../d3-dashboard/part-033.md | 1 + .../d3-dashboard/part-034.md | 1 + .../d3-dashboard/part-035.md | 1 + .../d3-dashboard/part-036.md | 1 + .../d3-dashboard/part-037.md | 1 + .../d3-dashboard/part-038.md | 1 + .../d3-dashboard/part-039.md | 1 + .../d3-dashboard/part-040.md | 1 + .../d3-dashboard/part-041.md | 1 + .../d3-dashboard/part-042.md | 1 + .../d3-dashboard/part-043.md | 1 + .../d3-dashboard/part-044.md | 1 + .../d3-dashboard/part-045.md | 1 + .../d3-dashboard/part-046.md | 1 + .../d3-dashboard/part-047.md | 1 + .../d3-dashboard/part-048.md | 1 + .../d3-dashboard/part-049.md | 1 + .../d3-dashboard/part-050.md | 1 + .../d3-dashboard/part-051.md | 1 + .../d3-dashboard/part-052.md | 1 + .../d3-dashboard/part-053.md | 1 + .../d3-dashboard/part-054.md | 1 + .../d3-dashboard/part-055.md | 1 + .../d3-dashboard/part-056.md | 1 + .../d3-dashboard/part-057.md | 1 + .../d3-dashboard/part-058.md | 1 + .../d3-dashboard/part-059.md | 1 + .../d3-dashboard/part-060.md | 1 + .../d3-dashboard/part-061.md | 1 + .../d3-dashboard/part-062.md | 1 + .../d3-dashboard/part-063.md | 1 + .../d3-dashboard/part-064.md | 1 + .../d3-dashboard/part-065.md | 1 + .../d3-dashboard/part-066.md | 1 + .../d3-dashboard/part-067.md | 1 + .../d3-dashboard/part-068.md | 1 + .../d3-dashboard/part-069.md | 1 + .../d3-dashboard/part-070.md | 1 + .../d3-dashboard/part-071.md | 1 + .../d3-dashboard/part-072.md | 1 + .../d3-dashboard/part-073.md | 1 + .../d3-dashboard/part-074.md | 1 + .../d3-dashboard/part-075.md | 1 + .../d3-dashboard/part-076.md | 1 + .../d3-dashboard/part-077.md | 1 + .../d3-dashboard/part-078.md | 1 + .../d3-dashboard/part-079.md | 1 + .../d3-dashboard/part-080.md | 1 + .../d3-dashboard/part-081.md | 1 + .../d3-dashboard/part-082.md | 1 + .../d3-dashboard/part-083.md | 1 + .../d3-dashboard/part-084.md | 1 + .../d3-dashboard/part-085.md | 1 + .../d3-dashboard/part-086.md | 1 + .../d3-dashboard/part-087.md | 1 + .../d3-dashboard/part-088.md | 1 + .../d3-dashboard/part-089.md | 1 + .../d3-dashboard/part-090.md | 1 + .../d3-dashboard/part-091.md | 1 + .../d3-dashboard/part-092.md | 1 + .../d3-dashboard/part-093.md | 1 + .../d3-dashboard/part-094.md | 1 + .../d3-dashboard/part-095.md | 1 + .../d3-dashboard/part-096.md | 1 + .../d3-dashboard/part-097.md | 1 + .../d3-dashboard/part-098.md | 1 + .../d3-dashboard/part-099.md | 1 + .../d3-dashboard/part-100.md | 1 + .../d3-dashboard/part-101.md | 1 + .../d3-dashboard/part-102.md | 1 + .../d3-dashboard/part-103.md | 1 + .../d3-dashboard/part-104.md | 1 + .../d3-dashboard/part-105.md | 1 + .../d3-dashboard/part-106.md | 1 + .../d3-dashboard/part-107.md | 1 + .../d3-dashboard/part-108.md | 1 + .../d3-dashboard/part-109.md | 1 + .../d3-dashboard/part-110.md | 1 + .../d3-dashboard/part-111.md | 1 + .../d3-dashboard/part-112.md | 1 + .../d3-dashboard/part-113.md | 1 + .../d3-dashboard/part-114.md | 1 + .../d3-dashboard/part-115.md | 1 + .../d3-dashboard/part-116.md | 1 + .../d3-dashboard/part-117.md | 1 + .../d3-dashboard/part-118.md | 1 + .../d3-dashboard/part-119.md | 1 + .../d3-dashboard/part-120.md | 1 + .../d3-dashboard/part-121.md | 1 + .../d3-dashboard/part-122.md | 1 + .../d3-dashboard/part-123.md | 1 + .../d3-dashboard/part-124.md | 1 + .../d3-dashboard/part-125.md | 1 + .../d3-dashboard/part-126.md | 1 + .../d3-dashboard/part-127.md | 1 + .../d3-dashboard/part-128.md | 1 + .../d3-dashboard/part-129.md | 1 + .../d3-dashboard/part-130.md | 1 + .../d3-dashboard/part-131.md | 1 + .../d3-dashboard/part-132.md | 1 + .../d3-dashboard/part-133.md | 1 + .../d3-dashboard/part-134.md | 1 + .../d3-dashboard/part-135.md | 1 + .../d3-dashboard/part-136.md | 1 + .../d3-dashboard/part-137.md | 1 + .../d3-dashboard/part-138.md | 1 + .../d3-dashboard/part-139.md | 1 + .../d3-dashboard/part-140.md | 1 + .../d3-dashboard/part-141.md | 1 + .../d3-dashboard/part-142.md | 1 + .../d3-dashboard/part-143.md | 1 + .../d3-dashboard/part-144.md | 1 + .../d3-dashboard/part-145.md | 1 + .../d3-dashboard/part-146.md | 1 + .../visualize-data-with-a-bar-chart.md | 6 +- .../visualize-data-with-a-choropleth-map.md | 6 +- .../visualize-data-with-a-heat-map.md | 6 +- ...visualize-data-with-a-scatterplot-graph.md | 6 +- .../visualize-data-with-a-treemap-diagram.md | 6 +- .../add-a-hover-effect-to-a-d3-element.md | 1 + .../add-a-tooltip-to-a-d3-element.md | 1 + .../add-attributes-to-the-circle-elements.md | 1 + .../add-axes-to-a-visualization.md | 1 + .../add-classes-with-d3.md | 1 + .../add-document-elements-with-d3.md | 1 + .../add-inline-styling-to-elements.md | 1 + .../add-labels-to-d3-elements.md | 1 + .../add-labels-to-scatter-plot-circles.md | 1 + .../change-styles-based-on-data.md | 1 + .../change-the-color-of-an-svg-element.md | 1 + .../change-the-presentation-of-a-bar-chart.md | 1 + ...te-a-bar-for-each-data-point-in-the-set.md | 1 + .../create-a-linear-scale-with-d3.md | 1 + .../create-a-scatterplot-with-svg-circles.md | 1 + .../display-shapes-with-svg.md | 1 + ...namically-change-the-height-of-each-bar.md | 1 + ...ically-set-the-coordinates-for-each-bar.md | 1 + .../invert-svg-elements.md | 1 + .../learn-about-svg-in-d3.md | 1 + .../select-a-group-of-elements-with-d3.md | 1 + .../set-a-domain-and-a-range-on-a-scale.md | 1 + .../style-d3-labels.md | 1 + ...te-the-height-of-an-element-dynamically.md | 1 + ...e-a-pre-defined-scale-to-place-elements.md | 1 + .../use-dynamic-scales.md | 1 + ...minimum-and-maximum-values-in-a-dataset.md | 2 + .../work-with-data-in-d3.md | 1 + .../work-with-dynamic-data-in-d3.md | 1 + .../access-the-json-data-from-an-api.md | 1 + .../change-text-with-click-events.md | 1 + .../convert-json-data-to-html.md | 1 + ...on-data-to-find-a-users-gps-coordinates.md | 1 + ...t-json-with-the-javascript-fetch-method.md | 1 + ...th-the-javascript-xmlhttprequest-method.md | 1 + ...h-javascript-using-the-onclick-property.md | 1 + ...th-the-javascript-xmlhttprequest-method.md | 1 + ...re-filter-json-to-get-the-data-you-need.md | 1 + .../render-images-from-data-sources.md | 1 + .../exercise-tracker.md | 3 +- .../file-metadata-microservice.md | 3 +- .../request-header-parser-microservice.md | 3 +- .../timestamp-microservice.md | 3 +- .../url-shortener-microservice.md | 3 +- ...hain-middleware-to-create-a-time-server.md | 3 +- .../get-data-from-post-requests.md | 3 +- ...t-query-parameter-input-from-the-client.md | 3 +- ...t-route-parameter-input-from-the-client.md | 3 +- ...-a-root-level-request-logger-middleware.md | 3 +- .../meet-the-node-console.md | 3 +- .../serve-an-html-file.md | 3 +- .../serve-json-on-a-specific-route.md | 3 +- .../serve-static-assets.md | 3 +- .../start-a-working-express-server.md | 3 +- .../use-body-parser-to-parse-post-requests.md | 3 +- .../use-the-.env-file.md | 3 +- .../add-a-description-to-your-package.json.md | 3 +- .../add-a-license-to-your-package.json.md | 3 +- .../add-a-version-to-your-package.json.md | 3 +- .../add-keywords-to-your-package.json.md | 3 +- ...project-with-external-packages-from-npm.md | 3 +- ...e-of-any-node.js-project-or-npm-package.md | 3 +- ...es-by-understanding-semantic-versioning.md | 3 +- ...remove-a-package-from-your-dependencies.md | 3 +- ...he-latest-minor-version-of-a-dependency.md | 3 +- ...he-latest-patch-version-of-a-dependency.md | 3 +- ...-query-helpers-to-narrow-search-results.md | 3 +- .../mongodb-and-mongoose/create-a-model.md | 3 +- .../create-and-save-a-record-of-a-model.md | 3 +- .../create-many-records-with-model.create.md | 3 +- ...delete-many-documents-with-model.remove.md | 3 +- ...-document-using-model.findbyidandremove.md | 3 +- .../install-and-set-up-mongoose.md | 3 +- ...-updates-by-running-find-edit-then-save.md | 3 +- ...a-document-using-model.findoneandupdate.md | 3 +- .../use-model.find-to-search-your-database.md | 3 +- ....findbyid-to-search-your-database-by-id.md | 3 +- ...le-matching-document-from-your-database.md | 3 +- .../announce-new-users.md | 3 +- .../authentication-strategies.md | 3 +- .../authentication-with-socket.io.md | 3 +- .../clean-up-your-project-with-modules.md | 3 +- .../communicate-by-emitting.md | 3 +- .../create-new-middleware.md | 3 +- .../handle-a-disconnect.md | 3 +- .../hashing-your-passwords.md | 3 +- .../how-to-put-a-profile-together.md | 3 +- .../how-to-use-passport-strategies.md | 3 +- ...nt-the-serialization-of-a-passport-user.md | 3 +- ...lementation-of-social-authentication-ii.md | 3 +- ...ementation-of-social-authentication-iii.md | 3 +- ...implementation-of-social-authentication.md | 3 +- .../logging-a-user-out.md | 3 +- .../registration-of-new-users.md | 3 +- .../send-and-display-chat-messages.md | 3 +- .../serialization-of-a-user-object.md | 3 +- .../set-up-a-template-engine.md | 3 +- .../set-up-passport.md | 3 +- .../set-up-the-environment.md | 3 +- .../use-a-template-engines-powers.md | 3 +- ...ality-with-.deepequal-and-.notdeepequal.md | 3 +- .../compare-the-properties-of-two-elements.md | 3 +- .../learn-how-javascript-assertions-work.md | 3 +- ...sponse-using-chai-http-iii---put-method.md | 3 +- ...esponse-using-chai-http-iv---put-method.md | 3 +- ...sts-on-api-endpoints-using-chai-http-ii.md | 3 +- ...-tests-on-api-endpoints-using-chai-http.md | 3 +- ...ional-tests-using-a-headless-browser-ii.md | 3 +- ...nctional-tests-using-a-headless-browser.md | 3 +- ...mulate-actions-using-a-headless-browser.md | 3 +- .../test-for-truthiness.md | 3 +- .../test-if-a-string-contains-a-substring.md | 3 +- ...f-a-value-falls-within-a-specific-range.md | 3 +- .../test-if-a-value-is-a-string.md | 3 +- .../test-if-a-value-is-an-array.md | 3 +- ...ue-is-of-a-specific-data-structure-type.md | 3 +- ...st-if-a-variable-or-function-is-defined.md | 3 +- .../test-if-an-array-contains-an-item.md | 3 +- .../test-if-an-object-has-a-property.md | 3 +- ...-object-is-an-instance-of-a-constructor.md | 3 +- ...s-below-or-at-least-as-large-as-another.md | 3 +- .../use-assert.isok-and-assert.isnotok.md | 3 +- ...se-regular-expressions-to-test-a-string.md | 3 +- ...se-the-double-equals-to-assert-equality.md | 3 +- ...triple-equals-to-assert-strict-equality.md | 3 +- .../american-british-translator.md | 3 +- .../issue-tracker.md | 3 +- .../metric-imperial-converter.md | 3 +- .../personal-library.md | 3 +- .../sudoku-solver.md | 3 +- .../build-your-own-functions.md | 1 + .../comparing-and-sorting-tuples.md | 1 + .../conditional-execution.md | 1 + .../data-visualization-mailing-lists.md | 1 + .../data-visualization-page-rank.md | 1 + .../dictionaries-and-loops.md | 1 + .../dictionaries-common-applications.md | 1 + .../files-as-a-sequence.md | 1 + .../intermediate-expressions.md | 1 + .../intermediate-strings.md | 1 + .../introduction-elements-of-python.md | 1 + .../introduction-hardware-achitecture.md | 1 + .../introduction-python-as-a-language.md | 1 + .../introduction-why-program.md | 1 + .../iterations-definite-loops.md | 1 + .../iterations-loop-idioms.md | 1 + .../iterations-more-patterns.md | 1 + .../loops-and-iterations.md | 1 + .../make-a-relational-database.md | 1 + .../more-conditional-structures.md | 1 + .../networking-protocol.md | 1 + .../networking-text-processing.md | 1 + .../networking-using-urllib-in-python.md | 1 + .../networking-web-scraping-with-python.md | 1 + .../networking-with-python.md | 1 + .../networking-write-a-web-browser.md | 1 + .../python-for-everybody/object-lifecycle.md | 1 + .../objects-a-sample-class.md | 1 + .../objects-inheritance.md | 1 + .../python-dictionaries.md | 1 + .../python-for-everybody/python-functions.md | 1 + .../python-for-everybody/python-lists.md | 1 + .../python-for-everybody/python-objects.md | 1 + .../python-for-everybody/reading-files.md | 1 + ...xpressions-matching-and-extracting-data.md | 1 + ...ular-expressions-practical-applications.md | 1 + .../regular-expressions.md | 1 + .../relational-database-design.md | 1 + .../relational-databases-and-sqlite.md | 1 + .../relational-databases-join-operation.md | 1 + ...al-databases-many-to-many-relationships.md | 1 + ...ational-databases-relationship-building.md | 1 + ...-relationships-in-a-relational-database.md | 1 + .../python-for-everybody/strings-and-lists.md | 1 + .../python-for-everybody/strings-in-python.md | 1 + .../the-tuples-collection.md | 1 + .../using-web-services.md | 1 + .../variables-expressions-and-statements.md | 1 + .../visualizing-data-with-python.md | 1 + ...services-api-rate-limiting-and-security.md | 1 + .../python-for-everybody/web-services-apis.md | 1 + .../python-for-everybody/web-services-json.md | 1 + .../web-services-service-oriented-approach.md | 1 + .../web-services-xml-schema.md | 1 + .../python-for-everybody/web-services-xml.md | 1 + .../working-with-lists.md | 1 + .../arithmetic-formatter.md | 3 +- .../budget-app.md | 3 +- .../polygon-area-calculator.md | 3 +- .../probability-calculator.md | 3 +- .../time-calculator.md | 3 +- .../data-analysis-example-a.md | 1 + .../data-analysis-example-b.md | 1 + .../data-cleaning-and-visualizations.md | 1 + .../data-cleaning-duplicates.md | 1 + .../data-cleaning-introduction.md | 1 + .../data-cleaning-with-dataframes.md | 1 + .../how-to-use-jupyter-notebooks-intro.md | 1 + .../introduction-to-data-analysis.md | 1 + .../jupyter-notebooks-cells.md | 1 + ...-notebooks-importing-and-exporting-data.md | 1 + .../numpy-algebra-and-size.md | 1 + .../numpy-arrays.md | 1 + .../numpy-boolean-arrays.md | 1 + .../numpy-introduction-a.md | 1 + .../numpy-introduction-b.md | 1 + .../numpy-operations.md | 1 + ...onal-selection-and-modifying-dataframes.md | 1 + .../pandas-creating-columns.md | 1 + .../pandas-dataframes.md | 1 + ...ndas-indexing-and-conditional-selection.md | 1 + .../pandas-introduction.md | 1 + .../parsing-html-and-saving-data.md | 1 + .../python-functions-and-collections.md | 1 + .../python-introduction.md | 1 + .../python-iteration-and-modules.md | 1 + .../reading-data-csv-and-txt.md | 1 + .../reading-data-from-databases.md | 1 + .../reading-data-introduction.md | 1 + .../demographic-data-analyzer.md | 3 +- ...-variance-standard-deviation-calculator.md | 3 +- .../medical-data-visualizer.md | 3 +- .../page-view-time-series-visualizer.md | 3 +- .../sea-level-predictor.md | 3 +- ...ng-and-changing-elements,-rows,-columns.md | 1 + .../numpy/basics-of-numpy.md | 1 + .../numpy/copying-arrays-warning.md | 1 + .../numpy/initialize-array-problem.md | 1 + .../numpy/initializing-different-arrays.md | 1 + .../loading-data-and-advanced-indexing.md | 1 + .../numpy/mathematics.md | 1 + .../numpy/reorganizing-arrays.md | 1 + .../numpy/what-is-numpy.md | 1 + .../anonymous-message-board.md | 3 +- .../port-scanner.md | 3 +- .../secure-real-time-multiplayer-game.md | 3 +- .../sha-1-password-cracker.md | 3 +- .../stock-price-checker.md | 3 +- ...ur-site-via-https-only-with-helmet.hsts.md | 3 +- ...-response-mime-type-with-helmet.nosniff.md | 3 +- ...lmet-using-the-parent-helmet-middleware.md | 3 +- ...client-side-caching-with-helmet.nocache.md | 3 +- ...fetching-with-helmet.dnsprefetchcontrol.md | 3 +- ...sh-and-compare-passwords-asynchronously.md | 3 +- ...ash-and-compare-passwords-synchronously.md | 3 +- ...-information-using-helmet.hidepoweredby.md | 3 +- .../install-and-require-helmet.md | 3 +- ...-of-clickjacking-with-helmet.frameguard.md | 3 +- ...pting-xss-attacks-with-helmet.xssfilter.md | 3 +- ...ing-untrusted-html-with-helmet.ienoopen.md | 3 +- ...olicy-with-helmet.contentsecuritypolicy.md | 3 +- .../understand-bcrypt-hashes.md | 3 +- .../creating-a-tcp-client.md | 1 + .../developing-a-banner-grabber.md | 1 + .../developing-a-port-scanner.md | 1 + .../developing-an-nmap-scanner-part-1.md | 1 + .../developing-an-nmap-scanner-part-2.md | 1 + .../introduction-and-setup.md | 1 + ...nding-sockets-and-creating-a-tcp-server.md | 1 + .../find-the-symmetric-difference.md | 1 + .../algorithms/implement-bubble-sort.md | 1 + .../algorithms/implement-insertion-sort.md | 1 + .../algorithms/implement-merge-sort.md | 1 + .../algorithms/implement-quick-sort.md | 1 + .../algorithms/implement-selection-sort.md | 1 + .../algorithms/inventory-update.md | 1 + .../algorithms/no-repeats-please.md | 1 + .../algorithms/pairwise.md | 1 + ...d-a-new-element-to-a-binary-search-tree.md | 1 + ...ts-at-a-specific-index-in-a-linked-list.md | 1 + .../data-structures/adjacency-list.md | 1 + .../data-structures/adjacency-matrix.md | 1 + .../data-structures/breadth-first-search.md | 1 + ...ment-is-present-in-a-binary-search-tree.md | 1 + .../check-if-binary-search-tree.md | 1 + .../create-a-circular-queue.md | 1 + .../create-a-doubly-linked-list.md | 1 + .../data-structures/create-a-hash-table.md | 1 + .../create-a-linked-list-class.md | 1 + .../create-a-map-data-structure.md | 1 + .../create-a-priority-queue-class.md | 1 + .../data-structures/create-a-queue-class.md | 1 + .../data-structures/create-a-set-class.md | 1 + .../data-structures/create-a-stack-class.md | 1 + .../create-a-trie-search-tree.md | 1 + .../create-an-es6-javascript-map.md | 1 + .../create-and-add-to-sets-in-es6.md | 1 + ...ete-a-leaf-node-in-a-binary-search-tree.md | 1 + ...-with-one-child-in-a-binary-search-tree.md | 1 + ...th-two-children-in-a-binary-search-tree.md | 1 + .../data-structures/depth-first-search.md | 1 + ...-maximum-height-of-a-binary-search-tree.md | 1 + ...d-maximum-value-in-a-binary-search-tree.md | 1 + .../implement-heap-sort-with-a-min-heap.md | 1 + .../data-structures/incidence-matrix.md | 1 + .../insert-an-element-into-a-max-heap.md | 1 + .../data-structures/invert-a-binary-tree.md | 1 + .../learn-how-a-stack-works.md | 1 + ...erform-a-difference-on-two-sets-of-data.md | 1 + ...form-a-subset-check-on-two-sets-of-data.md | 1 + .../perform-a-union-on-two-sets.md | 1 + ...orm-an-intersection-on-two-sets-of-data.md | 1 + .../remove-an-element-from-a-max-heap.md | 1 + ...ve-elements-from-a-linked-list-by-index.md | 1 + .../remove-elements-from-a-linked-list.md | 1 + .../remove-items-from-a-set-in-es6.md | 1 + .../reverse-a-doubly-linked-list.md | 1 + .../search-within-a-linked-list.md | 1 + .../data-structures/typed-arrays.md | 1 + .../use-.has-and-.size-on-an-es6-set.md | 1 + ...th-first-search-in-a-binary-search-tree.md | 1 + ...th-first-search-in-a-binary-search-tree.md | 1 + ...pread-and-notes-for-es5-set-integration.md | 1 + .../work-with-nodes-in-a-linked-list.md | 1 + .../problem-1-multiples-of-3-and-5.md | 1 + .../problem-10-summation-of-primes.md | 1 + .../problem-100-arranged-probability.md | 1 + .../problem-101-optimum-polynomial.md | 1 + .../problem-102-triangle-containment.md | 1 + ...problem-103-special-subset-sums-optimum.md | 1 + .../problem-104-pandigital-fibonacci-ends.md | 1 + ...problem-105-special-subset-sums-testing.md | 1 + ...em-106-special-subset-sums-meta-testing.md | 1 + .../problem-107-minimal-network.md | 1 + .../problem-108-diophantine-reciprocals-i.md | 1 + .../project-euler/problem-109-darts.md | 1 + .../problem-11-largest-product-in-a-grid.md | 1 + .../problem-110-diophantine-reciprocals-ii.md | 1 + .../problem-111-primes-with-runs.md | 1 + .../problem-112-bouncy-numbers.md | 1 + .../problem-113-non-bouncy-numbers.md | 1 + ...oblem-114-counting-block-combinations-i.md | 1 + ...blem-115-counting-block-combinations-ii.md | 1 + .../problem-116-red-green-or-blue-tiles.md | 1 + .../problem-117-red-green-and-blue-tiles.md | 1 + .../problem-118-pandigital-prime-sets.md | 1 + .../problem-119-digit-power-sum.md | 1 + ...m-12-highly-divisible-triangular-number.md | 1 + .../problem-120-square-remainders.md | 1 + .../problem-121-disc-game-prize-fund.md | 1 + .../problem-122-efficient-exponentiation.md | 1 + .../problem-123-prime-square-remainders.md | 1 + .../problem-124-ordered-radicals.md | 1 + .../problem-125-palindromic-sums.md | 1 + .../problem-126-cuboid-layers.md | 1 + .../project-euler/problem-127-abc-hits.md | 1 + .../problem-128-hexagonal-tile-differences.md | 1 + .../problem-129-repunit-divisibility.md | 1 + .../project-euler/problem-13-large-sum.md | 1 + ...-composites-with-prime-repunit-property.md | 1 + .../problem-131-prime-cube-partnership.md | 1 + .../problem-132-large-repunit-factors.md | 1 + .../problem-133-repunit-nonfactors.md | 1 + .../problem-134-prime-pair-connection.md | 1 + .../problem-135-same-differences.md | 1 + .../problem-136-singleton-difference.md | 1 + .../problem-137-fibonacci-golden-nuggets.md | 1 + ...problem-138-special-isosceles-triangles.md | 1 + .../problem-139-pythagorean-tiles.md | 1 + .../problem-14-longest-collatz-sequence.md | 1 + ...m-140-modified-fibonacci-golden-nuggets.md | 1 + ...ressive-numbers-n-which-are-also-square.md | 1 + .../problem-142-perfect-square-collection.md | 1 + ...ting-the-torricelli-point-of-a-triangle.md | 1 + ...ng-multiple-reflections-of-a-laser-beam.md | 1 + ...ble-numbers-are-there-below-one-billion.md | 1 + ...oblem-146-investigating-a-prime-pattern.md | 1 + ...m-147-rectangles-in-cross-hatched-grids.md | 1 + .../problem-148-exploring-pascals-triangle.md | 1 + ...searching-for-a-maximum-sum-subsequence.md | 1 + .../project-euler/problem-15-lattice-paths.md | 1 + ...y-for-a-sub-triangle-having-minimum-sum.md | 1 + ...tandard-sizes-an-expected-value-problem.md | 1 + ...ng-one-half-as-a-sum-of-inverse-squares.md | 1 + ...lem-153-investigating-gaussian-integers.md | 1 + .../problem-154-exploring-pascals-pyramid.md | 1 + ...problem-155-counting-capacitor-circuits.md | 1 + .../problem-156-counting-digits.md | 1 + ...em-157-solving-the-diophantine-equation.md | 1 + ...hically-after-its-neighbour-to-the-left.md | 2 + ...159-digital-root-sums-of-factorisations.md | 1 + .../problem-16-power-digit-sum.md | 1 + .../problem-160-factorial-trailing-digits.md | 1 + .../project-euler/problem-161-triominoes.md | 1 + .../problem-162-hexadecimal-numbers.md | 1 + .../problem-163-cross-hatched-triangles.md | 1 + ...s-have-a-sum-greater-than-a-given-value.md | 2 + .../problem-165-intersections.md | 1 + .../project-euler/problem-166-criss-cross.md | 1 + ...roblem-167-investigating-ulam-sequences.md | 1 + .../problem-168-number-rotations.md | 1 + ...an-be-expressed-as-a-sum-of-powers-of-2.md | 2 + .../problem-17-number-letter-counts.md | 1 + ...can-be-formed-by-concatenating-products.md | 2 + ...f-the-squares-of-the-digits-is-a-square.md | 2 + ...gating-numbers-with-few-repeated-digits.md | 1 + ...ent-hollow-square-laminae-can-be-formed.md | 2 + ...one-two-three-...-distinct-arrangements.md | 2 + ...an-be-expressed-as-a-sum-of-powers-of-2.md | 2 + ...-angled-triangles-that-share-a-cathetus.md | 1 + ...oblem-177-integer-angled-quadrilaterals.md | 1 + .../project-euler/problem-178-step-numbers.md | 1 + ...oblem-179-consecutive-positive-divisors.md | 1 + .../problem-18-maximum-path-sum-i.md | 1 + ...-zeros-of-a-function-of-three-variables.md | 1 + ...of-two-different-colours-can-be-grouped.md | 2 + .../problem-182-rsa-encryption.md | 1 + .../problem-183-maximum-product-of-parts.md | 1 + ...lem-184-triangles-containing-the-origin.md | 1 + .../project-euler/problem-185-number-mind.md | 1 + .../problem-186-connectedness-of-a-network.md | 1 + .../project-euler/problem-187-semiprimes.md | 1 + ...188-the-hyperexponentiation-of-a-number.md | 1 + ...lem-189-tri-colouring-a-triangular-grid.md | 1 + .../problem-19-counting-sundays.md | 1 + ...oblem-190-maximising-a-weighted-product.md | 1 + .../problem-191-prize-strings.md | 1 + .../problem-192-best-approximations.md | 1 + .../problem-193-squarefree-numbers.md | 1 + .../problem-194-coloured-configurations.md | 1 + ...-triangles-with-one-angle-of-60-degrees.md | 1 + .../problem-196-prime-triplets.md | 1 + ...viour-of-a-recursively-defined-sequence.md | 1 + .../problem-198-ambiguous-numbers.md | 1 + .../problem-199-iterative-circle-packing.md | 1 + .../problem-2-even-fibonacci-numbers.md | 1 + .../problem-20-factorial-digit-sum.md | 1 + ...ontaining-the-contiguous-sub-string-200.md | 2 + .../problem-201-subsets-with-a-unique-sum.md | 1 + .../project-euler/problem-202-laserbeam.md | 1 + ...em-203-squarefree-binomial-coefficients.md | 1 + ...problem-204-generalised-hamming-numbers.md | 1 + .../project-euler/problem-205-dice-game.md | 1 + .../problem-206-concealed-square.md | 1 + ...problem-207-integer-partition-equations.md | 1 + .../project-euler/problem-208-robot-walks.md | 1 + .../problem-209-circular-logic.md | 1 + .../problem-21-amicable-numbers.md | 1 + .../problem-210-obtuse-angled-triangles.md | 1 + .../problem-211-divisor-square-sum.md | 1 + .../problem-212-combined-volume-of-cuboids.md | 1 + .../project-euler/problem-213-flea-circus.md | 1 + .../problem-214-totient-chains.md | 1 + .../problem-215-crack-free-walls.md | 1 + ...-primality-of-numbers-of-the-form-2n2-1.md | 1 + .../problem-217-balanced-numbers.md | 1 + ...blem-218-perfect-right-angled-triangles.md | 1 + .../problem-219-skew-cost-coding.md | 1 + .../project-euler/problem-22-names-scores.md | 1 + .../problem-220-heighway-dragon.md | 1 + .../problem-221-alexandrian-integers.md | 1 + .../problem-222-sphere-packing.md | 1 + ...lem-223-almost-right-angled-triangles-i.md | 1 + ...em-224-almost-right-angled-triangles-ii.md | 1 + .../problem-225-tribonacci-non-divisors.md | 1 + .../problem-226-a-scoop-of-blancmange.md | 1 + .../project-euler/problem-227-the-chase.md | 1 + .../problem-228-minkowski-sums.md | 1 + ...-229-four-representations-using-squares.md | 1 + .../problem-23-non-abundant-sums.md | 1 + .../problem-230-fibonacci-words.md | 1 + ...-factorisation-of-binomial-coefficients.md | 1 + .../project-euler/problem-232-the-race.md | 1 + .../problem-233-lattice-points-on-a-circle.md | 1 + .../problem-234-semidivisible-numbers.md | 1 + ...em-235-an-arithmetic-geometric-sequence.md | 1 + .../problem-236-luxury-hampers.md | 1 + ...blem-237-tours-on-a-4-x-n-playing-board.md | 1 + .../problem-238-infinite-string-tour.md | 1 + .../problem-239-twenty-two-foolish-primes.md | 1 + .../problem-24-lexicographic-permutations.md | 1 + .../project-euler/problem-240-top-dice.md | 1 + .../problem-241-perfection-quotients.md | 1 + .../project-euler/problem-242-odd-triplets.md | 1 + .../project-euler/problem-243-resilience.md | 1 + .../project-euler/problem-244-sliders.md | 1 + .../project-euler/problem-245-coresilience.md | 1 + .../problem-246-tangents-to-an-ellipse.md | 1 + .../problem-247-squares-under-a-hyperbola.md | 1 + ...which-eulers-totient-function-equals-13.md | 1 + .../problem-249-prime-subset-sums.md | 1 + .../problem-25-1000-digit-fibonacci-number.md | 1 + .../project-euler/problem-250-250250.md | 1 + .../problem-251-cardano-triplets.md | 1 + .../project-euler/problem-252-convex-holes.md | 1 + .../project-euler/problem-253-tidying-up.md | 1 + .../problem-254-sums-of-digit-factorials.md | 1 + .../problem-255-rounded-square-roots.md | 1 + .../problem-256-tatami-free-rooms.md | 1 + .../problem-257-angular-bisectors.md | 1 + ...problem-258-a-lagged-fibonacci-sequence.md | 1 + .../problem-259-reachable-numbers.md | 1 + .../problem-26-reciprocal-cycles.md | 1 + .../project-euler/problem-260-stone-game.md | 1 + .../problem-261-pivotal-square-sums.md | 1 + .../problem-262-mountain-range.md | 1 + ...roblem-263-an-engineers-dream-come-true.md | 1 + .../problem-264-triangle-centres.md | 1 + .../problem-265-binary-circles.md | 1 + .../problem-266-pseudo-square-root.md | 1 + .../project-euler/problem-267-billionaire.md | 1 + ...ur-distinct-prime-factors-less-than-100.md | 2 + ...ynomials-with-at-least-one-integer-root.md | 1 + .../problem-27-quadratic-primes.md | 1 + .../problem-270-cutting-squares.md | 1 + .../problem-271-modular-cubes-part-1.md | 1 + .../problem-272-modular-cubes-part-2.md | 1 + .../problem-273-sum-of-squares.md | 1 + .../problem-274-divisibility-multipliers.md | 1 + .../problem-275-balanced-sculptures.md | 1 + .../problem-276-primitive-triangles.md | 1 + ...problem-277-a-modified-collatz-sequence.md | 1 + ...m-278-linear-combinations-of-semiprimes.md | 1 + ...th-integral-sides-and-an-integral-angle.md | 1 + .../problem-28-number-spiral-diagonals.md | 1 + .../problem-280-ant-and-seeds.md | 1 + .../problem-281-pizza-toppings.md | 1 + .../problem-282-the-ackermann-function.md | 1 + ...h-the-area--perimeter-ratio-is-integral.md | 2 + .../problem-284-steady-squares.md | 1 + .../problem-285-pythagorean-odds.md | 1 + .../problem-286-scoring-probabilities.md | 1 + ...encoding-a-simple-compression-algorithm.md | 1 + .../problem-288-an-enormous-factorial.md | 1 + .../problem-289-eulerian-cycles.md | 1 + .../problem-29-distinct-powers.md | 1 + .../problem-290-digital-signature.md | 1 + .../problem-291-panaitopol-primes.md | 1 + .../problem-292-pythagorean-polygons.md | 1 + .../problem-293-pseudo-fortunate-numbers.md | 1 + ...oblem-294-sum-of-digits---experience-23.md | 1 + .../problem-295-lenticular-holes.md | 1 + ...roblem-296-angular-bisector-and-tangent.md | 1 + .../problem-297-zeckendorf-representation.md | 1 + .../problem-298-selective-amnesia.md | 1 + .../problem-299-three-similar-triangles.md | 1 + .../problem-3-largest-prime-factor.md | 1 + .../problem-30-digit-n-powers.md | 1 + .../problem-300-protein-folding.md | 1 + .../project-euler/problem-301-nim.md | 1 + .../problem-302-strong-achilles-numbers.md | 1 + ...problem-303-multiples-with-small-digits.md | 1 + .../project-euler/problem-304-primonacci.md | 1 + .../problem-305-reflexive-position.md | 1 + .../problem-306-paper-strip-game.md | 1 + .../project-euler/problem-307-chip-defects.md | 1 + ...8-an-amazing-prime-generating-automaton.md | 1 + .../problem-309-integer-ladders.md | 1 + .../project-euler/problem-31-coin-sums.md | 1 + .../project-euler/problem-310-nim-square.md | 1 + ...em-311-biclinic-integral-quadrilaterals.md | 1 + ...em-312-cyclic-paths-on-sierpiski-graphs.md | 1 + .../project-euler/problem-313-sliding-game.md | 1 + .../problem-314-the-mouse-on-the-moon.md | 1 + .../problem-315-digital-root-clocks.md | 1 + ...oblem-316-numbers-in-decimal-expansions.md | 1 + .../project-euler/problem-317-firecracker.md | 1 + .../project-euler/problem-318-2011-nines.md | 1 + .../problem-319-bounded-sequences.md | 1 + .../problem-32-pandigital-products.md | 1 + ...-factorials-divisible-by-a-huge-integer.md | 1 + .../problem-321-swapping-counters.md | 1 + ...2-binomial-coefficients-divisible-by-10.md | 1 + ...itwise-or-operations-on-random-integers.md | 1 + .../problem-324-building-a-tower.md | 1 + .../problem-325-stone-game-ii.md | 1 + .../problem-326-modulo-summations.md | 1 + .../problem-327-rooms-of-doom.md | 1 + .../problem-328-lowest-cost-search.md | 1 + .../project-euler/problem-329-prime-frog.md | 1 + .../problem-33-digit-cancelling-fractions.md | 1 + .../problem-330-eulers-number.md | 1 + .../project-euler/problem-331-cross-flips.md | 1 + .../problem-332-spherical-triangles.md | 1 + .../problem-333-special-partitions.md | 1 + .../problem-334-spilling-the-beans.md | 1 + .../problem-335-gathering-the-beans.md | 1 + .../problem-336-maximix-arrangements.md | 1 + ...problem-337-totient-stairstep-sequences.md | 1 + ...blem-338-cutting-rectangular-grid-paper.md | 1 + .../problem-339-peredur-fab-efrawg.md | 1 + .../problem-34-digit-factorials.md | 1 + .../problem-340-crazy-function.md | 1 + ...em-341-golombs-self-describing-sequence.md | 1 + ...m-342-the-totient-of-a-square-is-a-cube.md | 1 + .../problem-343-fractional-sequences.md | 1 + .../problem-344-silver-dollar-game.md | 1 + .../project-euler/problem-345-matrix-sum.md | 1 + .../problem-346-strong-repunits.md | 1 + ...largest-integer-divisible-by-two-primes.md | 1 + .../problem-348-sum-of-a-square-and-a-cube.md | 1 + .../project-euler/problem-349-langtons-ant.md | 1 + .../problem-35-circular-primes.md | 1 + ...e-least-greatest-and-the-greatest-least.md | 1 + .../problem-351-hexagonal-orchards.md | 1 + .../project-euler/problem-352-blood-tests.md | 1 + .../project-euler/problem-353-risky-moon.md | 1 + ...oblem-354-distances-in-a-bees-honeycomb.md | 1 + .../problem-355-maximal-coprime-subset.md | 1 + ...-356-largest-roots-of-cubic-polynomials.md | 1 + .../problem-357-prime-generating-integers.md | 1 + .../problem-358-cyclic-numbers.md | 1 + .../problem-359-hilberts-new-hotel.md | 1 + .../problem-36-double-base-palindromes.md | 1 + .../project-euler/problem-360-scary-sphere.md | 1 + ...-361-subsequence-of-thue-morse-sequence.md | 1 + .../problem-362-squarefree-factors.md | 1 + .../project-euler/problem-363-bzier-curves.md | 1 + .../problem-364-comfortable-distance.md | 1 + ...problem-365-a-huge-binomial-coefficient.md | 1 + .../problem-366-stone-game-iii.md | 1 + .../project-euler/problem-367-bozo-sort.md | 1 + .../problem-368-a-kempner-like-series.md | 1 + .../project-euler/problem-369-badugi.md | 1 + .../problem-37-truncatable-primes.md | 1 + .../problem-370-geometric-triangles.md | 1 + .../problem-371-licence-plates.md | 1 + .../problem-372-pencils-of-rays.md | 1 + .../problem-373-circumscribed-circles.md | 1 + ...m-374-maximum-integer-partition-product.md | 1 + .../problem-375-minimum-of-subsequences.md | 1 + .../problem-376-nontransitive-sets-of-dice.md | 1 + ...problem-377-sum-of-digits-experience-13.md | 1 + .../problem-378-triangle-triples.md | 1 + ...problem-379-least-common-multiple-count.md | 1 + .../problem-38-pandigital-multiples.md | 1 + .../problem-380-amazing-mazes.md | 1 + .../problem-381-prime-k-factorial.md | 1 + .../problem-382-generating-polygons.md | 1 + ...isibility-comparison-between-factorials.md | 1 + .../problem-384-rudin-shapiro-sequence.md | 1 + .../problem-385-ellipses-inside-triangles.md | 1 + ...blem-386-maximum-length-of-an-antichain.md | 1 + .../problem-387-harshad-numbers.md | 1 + .../problem-388-distinct-lines.md | 1 + .../problem-389-platonic-dice.md | 1 + .../problem-39-integer-right-triangles.md | 1 + ...th-non-rational-sides-and-integral-area.md | 1 + .../project-euler/problem-391-hopping-game.md | 1 + .../problem-392-enmeshed-unit-circle.md | 1 + .../problem-393-migrating-ants.md | 1 + .../project-euler/problem-394-eating-pie.md | 1 + .../problem-395-pythagorean-tree.md | 1 + .../problem-396-weak-goodstein-sequence.md | 1 + .../problem-397-triangle-on-parabola.md | 1 + .../project-euler/problem-398-cutting-rope.md | 1 + ...roblem-399-squarefree-fibonacci-numbers.md | 1 + .../problem-4-largest-palindrome-product.md | 1 + .../problem-40-champernownes-constant.md | 1 + .../problem-400-fibonacci-tree-game.md | 1 + .../problem-401-sum-of-squares-of-divisors.md | 1 + .../problem-402-integer-valued-polynomials.md | 1 + ...ce-points-enclosed-by-parabola-and-line.md | 1 + .../problem-404-crisscross-ellipses.md | 1 + .../problem-405-a-rectangular-tiling.md | 1 + .../problem-406-guessing-game.md | 1 + .../project-euler/problem-407-idempotents.md | 1 + ...lem-408-admissible-paths-through-a-grid.md | 1 + .../project-euler/problem-409-nim-extreme.md | 1 + .../problem-41-pandigital-prime.md | 1 + .../problem-410-circle-and-tangent-line.md | 1 + .../project-euler/problem-411-uphill-paths.md | 1 + .../problem-412-gnomon-numbering.md | 1 + .../problem-413-one-child-numbers.md | 1 + .../problem-414-kaprekar-constant.md | 1 + .../project-euler/problem-415-titanic-sets.md | 1 + .../project-euler/problem-416-a-frogs-trip.md | 1 + .../problem-417-reciprocal-cycles-ii.md | 1 + .../problem-418-factorisation-triples.md | 1 + .../problem-419-look-and-say-sequence.md | 1 + .../problem-42-coded-triangle-numbers.md | 1 + ...problem-420-2x2-positive-integer-matrix.md | 1 + .../problem-421-prime-factors-of-n151.md | 1 + ...m-422-sequence-of-points-on-a-hyperbola.md | 1 + .../problem-423-consecutive-die-throws.md | 1 + .../project-euler/problem-424-kakuro.md | 1 + .../problem-425-prime-connection.md | 1 + .../problem-426-box-ball-system.md | 1 + .../project-euler/problem-427-n-sequences.md | 1 + .../problem-428-necklace-of-circles.md | 1 + ...-429-sum-of-squares-of-unitary-divisors.md | 1 + .../problem-43-sub-string-divisibility.md | 1 + .../project-euler/problem-430-range-flips.md | 1 + .../problem-431-square-space-silo.md | 1 + .../project-euler/problem-432-totient-sum.md | 1 + .../problem-433-steps-in-euclids-algorithm.md | 1 + .../project-euler/problem-434-rigid-graphs.md | 1 + ...em-435-polynomials-of-fibonacci-numbers.md | 1 + .../project-euler/problem-436-unfair-wager.md | 1 + .../problem-437-fibonacci-primitive-roots.md | 1 + ...-part-of-polynomial-equations-solutions.md | 1 + .../problem-439-sum-of-sum-of-divisors.md | 1 + .../problem-44-pentagon-numbers.md | 1 + .../problem-440-gcd-and-tiling.md | 1 + ...he-inverse-summation-of-coprime-couples.md | 1 + .../problem-442-eleven-free-integers.md | 1 + .../project-euler/problem-443-gcd-sequence.md | 1 + .../problem-444-the-roundtable-lottery.md | 1 + .../problem-445-retractions-a.md | 1 + .../problem-446-retractions-b.md | 1 + .../problem-447-retractions-c.md | 1 + ...oblem-448-average-least-common-multiple.md | 1 + .../problem-449-chocolate-covered-candy.md | 1 + ...-45-triangular-pentagonal-and-hexagonal.md | 1 + ...blem-450-hypocycloid-and-lattice-points.md | 1 + .../problem-451-modular-inverses.md | 1 + .../problem-452-long-products.md | 1 + .../problem-453-lattice-quadrilaterals.md | 1 + ...problem-454-diophantine-reciprocals-iii.md | 1 + ...problem-455-powers-with-trailing-digits.md | 1 + ...-456-triangles-containing-the-origin-ii.md | 1 + ...polynomial-modulo-the-square-of-a-prime.md | 1 + .../problem-458-permutations-of-project.md | 1 + .../problem-459-flipping-game.md | 1 + .../problem-46-goldbachs-other-conjecture.md | 1 + .../problem-460-an-ant-on-the-move.md | 1 + .../project-euler/problem-461-almost-pi.md | 1 + ...lem-462-permutation-of-3-smooth-numbers.md | 1 + ...problem-463-a-weird-recurrence-relation.md | 1 + ...roblem-464-mbius-function-and-intervals.md | 1 + .../problem-465-polar-polygons.md | 1 + ...istinct-terms-in-a-multiplication-table.md | 1 + .../project-euler/problem-467-superinteger.md | 1 + ...mooth-divisors-of-binomial-coefficients.md | 1 + .../project-euler/problem-469-empty-chairs.md | 1 + .../problem-47-distinct-primes-factors.md | 1 + .../project-euler/problem-470-super-ramvok.md | 1 + ...oblem-471-triangle-inscribed-in-ellipse.md | 1 + .../problem-472-comfortable-distance-ii.md | 1 + .../problem-473-phigital-number-base.md | 1 + .../problem-474-last-digits-of-divisors.md | 1 + .../problem-475-music-festival.md | 1 + .../problem-476-circle-packing-ii.md | 1 + .../problem-477-number-sequence-game.md | 1 + .../project-euler/problem-478-mixtures.md | 1 + .../problem-479-roots-on-the-rise.md | 1 + .../project-euler/problem-48-self-powers.md | 1 + .../problem-480-the-last-question.md | 1 + .../problem-49-prime-permutations.md | 1 + .../problem-5-smallest-multiple.md | 1 + .../problem-50-consecutive-prime-sum.md | 1 + .../problem-51-prime-digit-replacements.md | 1 + .../problem-52-permuted-multiples.md | 1 + .../problem-53-combinatoric-selections.md | 1 + .../project-euler/problem-54-poker-hands.md | 1 + .../problem-55-lychrel-numbers.md | 1 + .../problem-56-powerful-digit-sum.md | 1 + .../problem-57-square-root-convergents.md | 1 + .../project-euler/problem-58-spiral-primes.md | 1 + .../problem-59-xor-decryption.md | 1 + .../problem-6-sum-square-difference.md | 1 + .../problem-60-prime-pair-sets.md | 1 + .../problem-61-cyclical-figurate-numbers.md | 1 + .../problem-62-cubic-permutations.md | 1 + .../problem-63-powerful-digit-counts.md | 1 + .../problem-64-odd-period-square-roots.md | 1 + .../problem-65-convergents-of-e.md | 1 + .../problem-66-diophantine-equation.md | 1 + .../problem-67-maximum-path-sum-ii.md | 1 + .../problem-68-magic-5-gon-ring.md | 1 + .../problem-69-totient-maximum.md | 1 + .../project-euler/problem-7-10001st-prime.md | 1 + .../problem-70-totient-permutation.md | 1 + .../problem-71-ordered-fractions.md | 1 + .../problem-72-counting-fractions.md | 1 + ...roblem-73-counting-fractions-in-a-range.md | 1 + .../problem-74-digit-factorial-chains.md | 1 + ...lem-75-singular-integer-right-triangles.md | 1 + .../problem-76-counting-summations.md | 1 + .../problem-77-prime-summations.md | 1 + .../problem-78-coin-partitions.md | 1 + .../problem-79-passcode-derivation.md | 1 + .../problem-8-largest-product-in-a-series.md | 1 + ...roblem-80-square-root-digital-expansion.md | 1 + .../problem-81-path-sum-two-ways.md | 1 + .../problem-82-path-sum-three-ways.md | 1 + .../problem-83-path-sum-four-ways.md | 1 + .../project-euler/problem-84-monopoly-odds.md | 1 + .../problem-85-counting-rectangles.md | 1 + .../project-euler/problem-86-cuboid-route.md | 1 + .../problem-87-prime-power-triples.md | 1 + .../problem-88-product-sum-numbers.md | 1 + .../problem-89-roman-numerals.md | 1 + .../problem-9-special-pythagorean-triplet.md | 1 + .../problem-90-cube-digit-pairs.md | 1 + ...ight-triangles-with-integer-coordinates.md | 1 + .../problem-92-square-digit-chains.md | 1 + .../problem-93-arithmetic-expressions.md | 1 + ...problem-94-almost-equilateral-triangles.md | 1 + .../problem-95-amicable-chains.md | 1 + .../project-euler/problem-96-su-doku.md | 1 + .../problem-97-large-non-mersenne-prime.md | 1 + .../problem-98-anagramic-squares.md | 1 + .../problem-99-largest-exponential.md | 1 + .../rosetta-code/100-doors.md | 1 + .../rosetta-code/24-game.md | 1 + .../9-billion-names-of-god-the-integer.md | 1 + .../rosetta-code/abc-problem.md | 1 + ...ient-and-perfect-number-classifications.md | 1 + .../rosetta-code/accumulator-factory.md | 1 + .../rosetta-code/ackermann-function.md | 1 + .../rosetta-code/align-columns.md | 1 + .../rosetta-code/amicable-pairs.md | 1 + .../rosetta-code/averages-mode.md | 1 + .../averages-pythagorean-means.md | 1 + .../rosetta-code/averages-root-mean-square.md | 1 + .../rosetta-code/babbage-problem.md | 1 + .../rosetta-code/balanced-brackets.md | 1 + ...cles-of-given-radius-through-two-points.md | 1 + .../rosetta-code/closest-pair-problem.md | 1 + .../rosetta-code/combinations.md | 1 + .../rosetta-code/comma-quibbling.md | 1 + .../rosetta-code/compare-a-list-of-strings.md | 1 + .../convert-seconds-to-compound-duration.md | 1 + .../count-occurrences-of-a-substring.md | 1 + .../rosetta-code/count-the-coins.md | 1 + .../rosetta-code/cramers-rule.md | 1 + .../cumulative-standard-deviation.md | 1 + .../rosetta-code/cusip.md | 1 + .../rosetta-code/cut-a-rectangle.md | 1 + .../rosetta-code/date-format.md | 1 + .../rosetta-code/date-manipulation.md | 1 + .../rosetta-code/day-of-the-week.md | 1 + .../rosetta-code/deal-cards-for-freecell.md | 1 + .../rosetta-code/deepcopy.md | 1 + .../define-a-primitive-data-type.md | 1 + .../rosetta-code/department-numbers.md | 1 + .../rosetta-code/discordian-date.md | 1 + .../rosetta-code/dot-product.md | 1 + .../rosetta-code/element-wise-operations.md | 1 + .../rosetta-code/emirp-primes.md | 1 + .../rosetta-code/entropy.md | 1 + .../rosetta-code/equilibrium-index.md | 1 + .../rosetta-code/ethiopian-multiplication.md | 2 + .../rosetta-code/euler-method.md | 1 + .../evaluate-binomial-coefficients.md | 1 + .../execute-a-markov-algorithm.md | 1 + .../rosetta-code/execute-brain.md | 1 + .../extensible-prime-generator.md | 1 + .../rosetta-code/factorial.md | 1 + .../factors-of-a-mersenne-number.md | 1 + .../rosetta-code/factors-of-an-integer.md | 1 + .../rosetta-code/farey-sequence.md | 1 + .../fibonacci-n-step-number-sequences.md | 1 + .../rosetta-code/fibonacci-sequence.md | 1 + .../rosetta-code/fibonacci-word.md | 1 + .../rosetta-code/fizzbuzz.md | 1 + .../rosetta-code/fractran.md | 1 + .../rosetta-code/gamma-function.md | 1 + .../rosetta-code/gaussian-elimination.md | 1 + .../rosetta-code/general-fizzbuzz.md | 1 + .../generate-lower-case-ascii-alphabet.md | 1 + .../rosetta-code/generator-exponential.md | 1 + .../rosetta-code/gray-code.md | 1 + .../rosetta-code/greatest-common-divisor.md | 1 + .../greatest-subsequential-sum.md | 1 + .../rosetta-code/hailstone-sequence.md | 1 + .../rosetta-code/happy-numbers.md | 1 + .../rosetta-code/harshad-or-niven-series.md | 1 + .../rosetta-code/hash-from-two-arrays.md | 1 + .../rosetta-code/hash-join.md | 1 + .../rosetta-code/heronian-triangles.md | 1 + .../hofstadter-figure-figure-sequences.md | 1 + .../rosetta-code/hofstadter-q-sequence.md | 1 + .../rosetta-code/i-before-e-except-after-c.md | 1 + .../rosetta-code/iban.md | 1 + .../rosetta-code/identity-matrix.md | 1 + .../rosetta-code/iterated-digits-squaring.md | 1 + .../rosetta-code/jaro-distance.md | 1 + .../rosetta-code/jortsort.md | 1 + .../rosetta-code/josephus-problem.md | 1 + .../rosetta-code/k-d-tree.md | 1 + .../rosetta-code/kaprekar-numbers.md | 1 + .../rosetta-code/knapsack-problem-0-1.md | 1 + .../rosetta-code/knapsack-problem-bounded.md | 1 + .../knapsack-problem-continuous.md | 1 + .../knapsack-problem-unbounded.md | 1 + .../rosetta-code/knights-tour.md | 1 + .../largest-int-from-concatenated-ints.md | 1 + .../rosetta-code/last-friday-of-each-month.md | 1 + .../rosetta-code/last-letter-first-letter.md | 1 + .../rosetta-code/leap-year.md | 1 + .../rosetta-code/least-common-multiple.md | 1 + .../rosetta-code/left-factorials.md | 1 + .../rosetta-code/letter-frequency.md | 1 + .../rosetta-code/levenshtein-distance.md | 1 + .../linear-congruential-generator.md | 1 + .../rosetta-code/long-multiplication.md | 1 + .../longest-common-subsequence.md | 1 + .../longest-increasing-subsequence.md | 1 + .../rosetta-code/longest-string-challenge.md | 1 + .../rosetta-code/look-and-say-sequence.md | 1 + ...oop-over-multiple-arrays-simultaneously.md | 1 + .../rosetta-code/lu-decomposition.md | 1 + .../rosetta-code/lucas-lehmer-test.md | 1 + .../rosetta-code/ludic-numbers.md | 1 + .../luhn-test-of-credit-card-numbers.md | 1 + .../rosetta-code/lychrel-numbers.md | 1 + .../rosetta-code/lzw-compression.md | 1 + .../rosetta-code/s-expressions.md | 1 + .../sailors-coconuts-and-a-monkey-problem.md | 1 + .../rosetta-code/search-a-list-of-records.md | 1 + .../rosetta-code/sedols.md | 1 + .../rosetta-code/self-describing-numbers.md | 1 + .../rosetta-code/self-referential-sequence.md | 1 + .../rosetta-code/semiprime.md | 1 + .../rosetta-code/set-consolidation.md | 1 + .../rosetta-code/set-of-real-numbers.md | 1 + .../rosetta-code/sha-1.md | 1 + .../rosetta-code/sha-256.md | 1 + .../sort-an-array-of-composite-structures.md | 1 + .../rosetta-code/sort-disjoint-sublist.md | 1 + .../rosetta-code/sort-stability.md | 1 + .../sort-using-a-custom-comparator.md | 1 + .../sorting-algorithms-bead-sort.md | 1 + .../sorting-algorithms-bogosort.md | 1 + .../sorting-algorithms-cocktail-sort.md | 1 + .../sorting-algorithms-comb-sort.md | 1 + .../sorting-algorithms-gnome-sort.md | 1 + .../sorting-algorithms-pancake-sort.md | 1 + .../sorting-algorithms-permutation-sort.md | 1 + .../sorting-algorithms-shell-sort.md | 1 + .../sorting-algorithms-stooge-sort.md | 1 + .../sorting-algorithms-strand-sort.md | 1 + .../rosetta-code/soundex.md | 1 + .../rosetta-code/spiral-matrix.md | 1 + ...ter-string-based-on-change-of-character.md | 1 + .../rosetta-code/state-name-puzzle.md | 1 + .../rosetta-code/stern-brocot-sequence.md | 1 + .../rosetta-code/straddling-checkerboard.md | 1 + .../rosetta-code/stream-merge.md | 1 + ...s-and-extended-characters-from-a-string.md | 1 + .../rosetta-code/subleq.md | 1 + .../rosetta-code/sudoku.md | 1 + .../rosetta-code/sum-digits-of-an-integer.md | 1 + .../rosetta-code/sum-multiples-of-3-and-5.md | 1 + .../rosetta-code/sum-of-a-series.md | 1 + .../rosetta-code/sum-of-squares.md | 1 + .../rosetta-code/sum-to-100.md | 1 + .../sutherland-hodgman-polygon-clipping.md | 1 + .../rosetta-code/symmetric-difference.md | 1 + .../rosetta-code/taxicab-numbers.md | 1 + .../tokenize-a-string-with-escaping.md | 1 + .../rosetta-code/top-rank-per-group.md | 1 + .../rosetta-code/topological-sort.md | 1 + .../rosetta-code/towers-of-hanoi.md | 1 + .../rosetta-code/vector-cross-product.md | 1 + .../rosetta-code/vector-dot-product.md | 1 + .../rosetta-code/word-frequency.md | 1 + .../rosetta-code/word-wrap.md | 1 + .../rosetta-code/y-combinator.md | 1 + .../zeckendorf-number-representation.md | 1 + .../zhang-suen-thinning-algorithm.md | 1 + .../rosetta-code/zig-zag-matrix.md | 1 + .../build-a-camper-leaderboard.md | 6 +- .../build-a-light-bright-app.md | 6 +- .../build-a-nightlife-coordination-app.md | 6 +- .../build-a-pinterest-clone.md | 6 +- .../take-home-projects/build-a-pong-game.md | 6 +- .../take-home-projects/build-a-recipe-box.md | 6 +- .../build-a-roguelike-dungeon-crawler-game.md | 6 +- .../take-home-projects/build-a-simon-game.md | 6 +- .../build-a-tic-tac-toe-game.md | 6 +- .../take-home-projects/build-a-voting-app.md | 6 +- .../build-a-wikipedia-viewer.md | 6 +- ...build-an-image-search-abstraction-layer.md | 6 +- .../build-the-game-of-life.md | 6 +- .../chart-the-stock-market.md | 6 +- .../manage-a-book-trading-club.md | 6 +- .../map-data-across-the-globe.md | 6 +- .../p2p-video-chat-application.md | 6 +- ...-contiguity-with-a-force-directed-graph.md | 6 +- .../show-the-local-weather.md | 6 +- .../use-the-twitch-json-api.md | 6 +- .../deep-learning-demystified.md | 1 + .../how-convolutional-neural-networks-work.md | 1 + .../how-deep-neural-networks-work.md | 1 + ...rks-rnn-and-long-short-term-memory-lstm.md | 1 + .../book-recommendation-engine-using-knn.md | 3 +- .../cat-and-dog-image-classifier.md | 3 +- ...near-regression-health-costs-calculator.md | 3 +- .../neural-network-sms-text-classifier.md | 3 +- .../rock-paper-scissors.md | 3 +- .../tensorflow/conclusion.md | 1 + ...al-neural-networks-evaluating-the-model.md | 1 + ...ral-networks-picking-a-pretrained-model.md | 1 + ...neural-networks-the-convolutional-layer.md | 1 + .../convolutional-neural-networks.md | 1 + ...-learning-algorithms-building-the-model.md | 1 + ...core-learning-algorithms-classification.md | 1 + .../core-learning-algorithms-clustering.md | 1 + ...earning-algorithms-hidden-markov-models.md | 1 + ...earning-algorithms-the-training-process.md | 1 + ...ng-algorithms-training-and-testing-data.md | 1 + ...using-probabilities-to-make-predictions.md | 1 + ...e-learning-algorithms-working-with-data.md | 1 + .../tensorflow/core-learning-algorithms.md | 1 + ...creating-a-convolutional-neural-network.md | 1 + ...roduction-machine-learning-fundamentals.md | 1 + .../tensorflow/introduction-to-tensorflow.md | 1 + ...processing-with-rnns-building-the-model.md | 1 + ...ssing-with-rnns-create-a-play-generator.md | 1 + ...processing-with-rnns-making-predictions.md | 1 + ...al-language-processing-with-rnns-part-2.md | 1 + ...ing-with-rnns-recurring-neural-networks.md | 1 + ...ocessing-with-rnns-sentimental-analysis.md | 1 + ...processing-with-rnns-training-the-model.md | 1 + .../natural-language-processing-with-rnns.md | 1 + .../neural-networks-activation-functions.md | 1 + .../neural-networks-creating-a-model.md | 1 + .../tensorflow/neural-networks-optimizers.md | 1 + .../neural-networks-with-tensorflow.md | 1 + ...cement-learning-with-q-learning-example.md | 1 + ...rcement-learning-with-q-learning-part-2.md | 1 + .../reinforcement-learning-with-q-learning.md | 1 + curriculum/getChallenges.acceptance.test.js | 149 +- curriculum/getChallenges.js | 34 +- curriculum/schema/challengeSchema.js | 2 +- lerna.json | 2 - .../create-challenge-string.js | 202 ++ .../get-challenge-text.js | 0 .../formatter/add-seed-and-solution/index.js | 53 + .../plugins/question-to-data.js | 0 .../plugins/tests-to-data.js | 0 .../plugins/text-to-data.js | 0 tools/formatter/package-lock.json | 15 +- tools/formatter/package.json | 5 +- .../translation-annotation/annotate.js | 20 - .../create-challenge-string.js | 113 - tools/scripts/formatter/README.txt | 35 - .../__fixtures__/amicable-pairs.md | 130 - .../__fixtures__/amicable-pairs.md.formatted | 141 -- .../__fixtures__/billion-names.md | 103 - .../__fixtures__/billion-names.md.formatted | 115 - .../__fixtures__/bootstrap-block-button.md | 179 -- .../bootstrap-block-button.md.formatted | 193 -- .../fcc-md-to-gfm/__fixtures__/css.md | 146 -- .../__fixtures__/css.md.formatted | 156 -- .../fcc-md-to-gfm/__fixtures__/dead-links.md | 71 - .../__fixtures__/dead-links.md.formatted | 80 - .../__fixtures__/disjoint-sublist.md | 83 - .../disjoint-sublist.md.formatted | 95 - .../__fixtures__/drum-machine.md | 53 - .../__fixtures__/drum-machine.md.formatted | 72 - .../fcc-md-to-gfm/__fixtures__/entropy.md | 91 - .../__fixtures__/entropy.md.formatted | 99 - .../fcc-md-to-gfm/__fixtures__/hello.md | 63 - .../__fixtures__/hello.md.formatted | 80 - .../fcc-md-to-gfm/__fixtures__/hofstadter.md | 136 - .../__fixtures__/hofstadter.md.formatted | 152 -- .../__fixtures__/link-external.md | 77 - .../__fixtures__/link-external.md.formatted | 87 - .../__fixtures__/link-internal.md | 101 - .../__fixtures__/link-internal.md.formatted | 114 - .../fcc-md-to-gfm/__fixtures__/nest-anchor.md | 100 - .../__fixtures__/nest-anchor.md.formatted | 105 - .../__fixtures__/spiral-matrix.md | 84 - .../__fixtures__/spiral-matrix.md.formatted | 90 - .../fcc-md-to-gfm/__fixtures__/word-blanks.md | 91 - .../__fixtures__/word-blanks.md.formatted | 102 - .../fcc-md-to-gfm/acceptance.test.js | 65 - .../fcc-md-to-gfm/code-to-backticks.js | 88 - .../fcc-md-to-gfm/formatCurriculum.js | 21 - .../formatter/fcc-md-to-gfm/insert-spaces.js | 257 -- .../fcc-md-to-gfm/insert-spaces.test.js | 313 --- .../formatter/fcc-md-to-gfm/package-lock.json | 2087 ---------------- .../formatter/fcc-md-to-gfm/package.json | 31 - .../fcc-md-to-gfm/transformChallenges.js | 57 - .../fcc-md-to-gfm/transformChallenges.test.js | 30 - .../formatter/fcc-md-to-gfm/validate-text.js | 14 - .../scripts/formatter/md-to-mdx/create-mdx.js | 440 ---- .../scripts/formatter/md-to-mdx/md-to-mdx.js | 28 - .../md-to-mdx/plugins/section-to-heading.js | 22 - .../md-to-mdx/plugins/tests-to-data.js | 24 - .../md-to-mdx/plugins/text-to-data.js | 30 - .../formatter/md-to-mdx/transform-to-mdx.js | 24 - .../md-to-mdx/utils/get-all-between.js | 19 - .../formatter/md-to-mdx/validate-hints.js | 19 - tools/scripts/formatter/package-lock.json | 2185 ----------------- tools/scripts/formatter/package.json | 41 - 4163 files changed, 57505 insertions(+), 10540 deletions(-) rename curriculum/__fixtures__/chinese/{challenge-stripped.md => challenge-js-comments.md} (71%) create mode 100644 tools/formatter/add-seed-and-solution/create-challenge-string.js rename tools/formatter/{translation-annotation => add-seed-and-solution}/get-challenge-text.js (100%) create mode 100644 tools/formatter/add-seed-and-solution/index.js rename tools/formatter/{translation-annotation => add-seed-and-solution}/plugins/question-to-data.js (100%) rename tools/formatter/{translation-annotation => add-seed-and-solution}/plugins/tests-to-data.js (100%) rename tools/formatter/{translation-annotation => add-seed-and-solution}/plugins/text-to-data.js (100%) delete mode 100644 tools/formatter/translation-annotation/annotate.js delete mode 100644 tools/formatter/translation-annotation/create-challenge-string.js delete mode 100644 tools/scripts/formatter/README.txt delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/amicable-pairs.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/amicable-pairs.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/billion-names.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/billion-names.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/bootstrap-block-button.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/bootstrap-block-button.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/css.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/css.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/dead-links.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/dead-links.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/disjoint-sublist.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/disjoint-sublist.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/drum-machine.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/drum-machine.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/entropy.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/entropy.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/hello.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/hello.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/hofstadter.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/hofstadter.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/link-external.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/link-external.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/link-internal.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/link-internal.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/nest-anchor.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/nest-anchor.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/spiral-matrix.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/spiral-matrix.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/word-blanks.md delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/__fixtures__/word-blanks.md.formatted delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/acceptance.test.js delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/code-to-backticks.js delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/formatCurriculum.js delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/insert-spaces.js delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/insert-spaces.test.js delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/package-lock.json delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/package.json delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/transformChallenges.js delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/transformChallenges.test.js delete mode 100644 tools/scripts/formatter/fcc-md-to-gfm/validate-text.js delete mode 100644 tools/scripts/formatter/md-to-mdx/create-mdx.js delete mode 100644 tools/scripts/formatter/md-to-mdx/md-to-mdx.js delete mode 100644 tools/scripts/formatter/md-to-mdx/plugins/section-to-heading.js delete mode 100644 tools/scripts/formatter/md-to-mdx/plugins/tests-to-data.js delete mode 100644 tools/scripts/formatter/md-to-mdx/plugins/text-to-data.js delete mode 100644 tools/scripts/formatter/md-to-mdx/transform-to-mdx.js delete mode 100644 tools/scripts/formatter/md-to-mdx/utils/get-all-between.js delete mode 100644 tools/scripts/formatter/md-to-mdx/validate-hints.js delete mode 100644 tools/scripts/formatter/package-lock.json delete mode 100644 tools/scripts/formatter/package.json diff --git a/client/src/redux/propTypes.js b/client/src/redux/propTypes.js index 6e4e9a74ac..89fe7c3b27 100644 --- a/client/src/redux/propTypes.js +++ b/client/src/redux/propTypes.js @@ -40,7 +40,6 @@ export const ChallengeNode = PropTypes.shape({ isComingSoon: PropTypes.bool, isLocked: PropTypes.bool, isPrivate: PropTypes.bool, - name: PropTypes.string, order: PropTypes.number, required: PropTypes.arrayOf( PropTypes.shape({ diff --git a/curriculum/__fixtures__/chinese/challenge-stripped.md b/curriculum/__fixtures__/chinese/challenge-js-comments.md similarity index 71% rename from curriculum/__fixtures__/chinese/challenge-stripped.md rename to curriculum/__fixtures__/chinese/challenge-js-comments.md index f5629904f7..9dc7d3068f 100644 --- a/curriculum/__fixtures__/chinese/challenge-stripped.md +++ b/curriculum/__fixtures__/chinese/challenge-js-comments.md @@ -1,5 +1,8 @@ --- +id: bd7123c8c441eddfaeb5bdef title: 向HTML Elements说你好 +challengeType: 0 +videoUrl: 'https://scrimba.com/p/pVMPUv/cE8Gpt2' forumTopicId: 18276 --- @@ -19,7 +22,32 @@ forumTopicId: 18276 ```yml tests: - text: 你的h1元素应该有“Hello World”文本。 + testString: 'assert.isTrue((/hello(\s)+world/gi).test($("h1").text()), "Your h1 element should have the text "Hello World".");' ``` + +## Challenge Seed +
+ +
+ +```js +/* Add your code below this line */ +// Add your code above this line */ +``` + +
+ + + +
+ +## Solution +
+ +```html +

Hello World

+``` +
diff --git a/curriculum/__fixtures__/chinese/challenge.md b/curriculum/__fixtures__/chinese/challenge.md index 0e1d19b4fa..7e4050620c 100644 --- a/curriculum/__fixtures__/chinese/challenge.md +++ b/curriculum/__fixtures__/chinese/challenge.md @@ -2,7 +2,7 @@ id: bd7123c8c441eddfaeb5bdef title: 向HTML Elements说你好 challengeType: 0 -videoUrl: '' +videoUrl: 'https://scrimba.com/p/pVMPUv/cE8Gpt2' forumTopicId: 18276 --- @@ -35,7 +35,12 @@ tests: ```html

Hello

- + + + ``` @@ -47,7 +52,7 @@ tests: ## Solution
-```js -// solution required +```html +

Hello World

```
diff --git a/curriculum/__fixtures__/combined-html-comments.md b/curriculum/__fixtures__/combined-html-comments.md index ade195b7f7..9a2af16b0e 100644 --- a/curriculum/__fixtures__/combined-html-comments.md +++ b/curriculum/__fixtures__/combined-html-comments.md @@ -23,7 +23,7 @@ title: 向HTML Elements说你好 ```yml tests: - text: 你的h1元素应该有“Hello World”文本。 - testString: assert.isTrue((/hello(\s)+world/gi).test($('h1').text())); + testString: 'assert.isTrue((/hello(\s)+world/gi).test($("h1").text()), "Your h1 element should have the text "Hello World".");' ``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility.md index 1a5cdf26a8..efb7a80ba2 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility.md @@ -4,6 +4,7 @@ title: 为视觉障碍用户添加替代图像的文本 challengeType: 0 videoUrl: 'https://scrimba.com/c/cPp7VfD' forumTopicId: 16628 +dashedName: add-a-text-alternative-to-images-for-visually-impaired-accessibility --- # --description-- @@ -28,5 +29,16 @@ forumTopicId: 16628 assert($('img').attr('alt')); ``` +# --seed-- + +## --seed-contents-- + +```html + +``` + # --solutions-- +```html +Someone doing karate +``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md index f59f50015b..4318298274 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md @@ -4,6 +4,7 @@ title: 添加可访问的日期选择器 challengeType: 0 videoUrl: 'https://scrimba.com/c/cR3bRbCV' forumTopicId: 301008 +dashedName: add-an-accessible-date-picker --- # --description-- @@ -51,5 +52,54 @@ assert($('input').attr('id') == 'pickdate'); assert($('input').attr('name') == 'date'); ``` +# --seed-- + +## --seed-contents-- + +```html + +
+

Tournaments

+
+
+
+

Mortal Kombat Tournament Survey

+
+

Tell us the best date for the competition

+ + + + + + + + + +
+
+
+
© 2018 Camper Cat
+ +``` + # --solutions-- +```html + +
+

Tournaments

+
+
+
+

Mortal Kombat Tournament Survey

+
+

Tell us the best date for the competition

+ + + +
+
+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information.md index 04ea0c63e7..5e2410ee99 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information.md @@ -4,6 +4,8 @@ title: 考虑色盲用户的需求仔细选择传达信息的颜色 challengeType: 0 videoUrl: 'https://scrimba.com/c/c437as3' forumTopicId: 301011 +dashedName: >- + avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information --- # --description-- @@ -26,5 +28,46 @@ Camper Cat 正在测试一个重要按钮的不同样式。在色轮上,用于 assert($('button').css('color') == 'rgb(0, 51, 102)'); ``` +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Danger!

+
+ + +``` + # --solutions-- +```html + + + + +
+

Danger!

+
+ + +``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast.md index 9cfa23798a..b8f0d1a6c2 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast.md @@ -4,6 +4,7 @@ title: 考虑色盲用户的需求设置合适的对比度 challengeType: 0 videoUrl: 'https://scrimba.com/c/cmzMEUw' forumTopicId: 301012 +dashedName: avoid-colorblindness-issues-by-using-sufficient-contrast --- # --description-- @@ -34,5 +35,50 @@ assert(code.match(/color:\s*?hsl\(0,\s*?55%,\s*?15%\)/gi)); assert(code.match(/background-color:\s*?hsl\(120,\s*?25%,\s*?55%\)/gi)); ``` +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` + # --solutions-- +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text.md index c040df2d59..c06520f3fb 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text.md @@ -4,6 +4,7 @@ title: 为链接添加描述性的文本 challengeType: 0 videoUrl: 'https://scrimba.com/c/c437DcV' forumTopicId: 301013 +dashedName: give-links-meaning-by-using-descriptive-link-text --- # --description-- @@ -34,7 +35,7 @@ assert( assert($('a').attr('href') === ''); ``` -`a` 元素应该有一个结束标签。 +`a` 元素应该有一个结束标签。 ```js assert( @@ -43,5 +44,32 @@ assert( ); ``` +# --seed-- + +## --seed-contents-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+

Defeating your Foe: the Red Dot is Ours!

+

Felines the world over have been waging war on the most persistent of foes. This red nemesis combines both cunning stealth and lightning speed. But chin up, fellow fighters, our time for victory may soon be near. Click here for information about batteries

+
+ +``` + # --solutions-- +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+

Defeating your Foe: the Red Dot is Ours!

+

Felines the world over have been waging war on the most persistent of foes. This red nemesis combines both cunning stealth and lightning speed. But chin up, fellow fighters, our time for victory may soon be near. Click here for information about batteries

+
+ +``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element.md index 811601b8e4..0509c1c8e9 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element.md @@ -4,6 +4,7 @@ title: 使用 audio 元素提高音频内容的可访问性 challengeType: 0 videoUrl: 'https://scrimba.com/c/cVJVkcZ' forumTopicId: 301014 +dashedName: improve-accessibility-of-audio-content-with-the-audio-element --- # --description-- @@ -79,5 +80,36 @@ assert( assert($('source').attr('type') === 'audio/mpeg'); ``` +# --seed-- + +## --seed-contents-- + +```html + +
+

Real Coding Ninjas

+
+
+

A sound clip of Zersiax's screen reader in action.

+ + + +
+ +``` + # --solutions-- +```html + +
+

Real Coding Ninjas

+
+
+

A sound clip of Zersiax's screen reader in action.

+ +
+ +``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element.md index b9ed32c972..b319a53401 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element.md @@ -4,6 +4,7 @@ title: 使用 figure 元素提高图表的可访问性 challengeType: 0 videoUrl: 'https://scrimba.com/c/cGJMqtE' forumTopicId: 301015 +dashedName: improve-chart-accessibility-with-the-figure-element --- # --description-- @@ -69,5 +70,92 @@ assert( ); ``` +# --seed-- + +## --seed-contents-- + +```html + +
+

Training

+ +
+
+
+ + +
+ +
+

Breakdown per week of time to spend training in stealth, combat, and weapons.

+
+ + +
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
+
© 2018 Camper Cat
+ +``` + # --solutions-- +```html + +
+

Training

+ +
+
+
+
+ +
+
Breakdown per week of time to spend training in stealth, combat, and weapons.
+
+
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element.md index 669845a639..38d7899fa4 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element.md @@ -4,6 +4,7 @@ title: 使用 label 元素提高表单的可访问性 challengeType: 0 videoUrl: 'https://scrimba.com/c/cGJMMAN' forumTopicId: 301016 +dashedName: improve-form-field-accessibility-with-the-label-element --- # --description-- @@ -41,5 +42,78 @@ assert($('label').attr('for')); assert($('label').attr('for') == 'email'); ``` +# --seed-- + +## --seed-contents-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+
+

Sign up to receive Camper Cat's blog posts by email here!

+ + + + + + + +
+
+
+

The Garfield Files: Lasagna as Training Fuel?

+

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+ +
+

Defeating your Foe: the Red Dot is Ours!

+

Felines the world over have been waging war on the most persistent of foes. This red nemesis combines both cunning stealth and lightning speed. But chin up, fellow fighters, our time for victory may soon be near...

+
+ +
+

Is Chuck Norris a Cat Person?

+

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` + # --solutions-- +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+
+

Sign up to receive Camper Cat's blog posts by email here!

+ + + + + + + +
+
+
+

The Garfield Files: Lasagna as Training Fuel?

+

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+ +
+

Defeating your Foe: the Red Dot is Ours!

+

Felines the world over have been waging war on the most persistent of foes. This red nemesis combines both cunning stealth and lightning speed. But chin up, fellow fighters, our time for victory may soon be near...

+
+ +
+

Is Chuck Norris a Cat Person?

+

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text.md index a7204fb1d9..43e9812c19 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text.md @@ -4,6 +4,7 @@ title: 使用高对比度文本提高可读性 challengeType: 0 videoUrl: 'https://scrimba.com/c/cKb3nCq' forumTopicId: 301017 +dashedName: improve-readability-with-high-contrast-text --- # --description-- @@ -30,5 +31,50 @@ assert($('body').css('color') == 'rgb(99, 99, 99)'); assert($('body').css('background-color') == 'rgb(255, 255, 255)'); ``` +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` + # --solutions-- +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element.md index 19e20c9b77..07df495ed5 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element.md @@ -4,6 +4,7 @@ title: 使用 main 元素包裹主题内容 challengeType: 0 videoUrl: 'https://scrimba.com/c/cPp7zuE' forumTopicId: 301018 +dashedName: jump-straight-to-the-content-using-the-main-element --- # --description-- @@ -34,5 +35,28 @@ assert($('main').length == 1); assert(code.match(/<\/header>\s*?
\s*?<\/main>/gi)); ``` +# --seed-- + +## --seed-contents-- + +```html +
+

Weapons of the Ninja

+
+ + + +
+``` + # --solutions-- +```html +
+

Weapons of the Ninja

+
+
+ +
+
+``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank.md index 41ab482832..82b056006b 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank.md @@ -4,6 +4,7 @@ title: 了解 Alt 文本留空的情景 challengeType: 0 videoUrl: 'https://scrimba.com/c/cM9P4t2' forumTopicId: 301019 +dashedName: know-when-alt-text-should-be-left-blank --- # --description-- @@ -36,5 +37,38 @@ assert(!($('img').attr('alt') == undefined)); assert($('img').attr('alt') == ''); ``` +# --seed-- + +## --seed-contents-- + +```html +

Deep Thoughts with Master Camper Cat

+
+

Defeating your Foe: the Red Dot is Ours!

+

To Come...

+
+ + + +
+

Is Chuck Norris a Cat Person?

+

To Come...

+
+``` + # --solutions-- +```html +

Deep Thoughts with Master Camper Cat

+
+

Defeating your Foe: the Red Dot is Ours!

+

To Come...

+
+ + + +
+

Is Chuck Norris a Cat Person?

+

To Come...

+
+``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css.md index 1a2f967ea9..eba35cd97a 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css.md @@ -4,6 +4,7 @@ title: 使用自定义 CSS 让元素仅对屏幕阅读器可见 challengeType: 0 videoUrl: 'https://scrimba.com/c/cJ8QGkhJ' forumTopicId: 301020 +dashedName: make-elements-only-visible-to-a-screen-reader-by-using-custom-css --- # --description-- @@ -62,5 +63,182 @@ assert(code.match(/width:\s*?1px/gi)); assert(code.match(/height:\s*?1px/gi)); ``` +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Training

+ +
+
+

Master Camper Cat's Beginner Three Week Training Program

+
+ +

[Stacked bar chart]

+
+
Breakdown per week of time to spend training in stealth, combat, and weapons.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Hours of Weekly Training in Stealth, Combat, and Weapons
Stealth & AgilityCombatWeaponsTotal
Week One35210
Week Two45312
Week Three46313
+
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye, world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
© 2018 Camper Cat
+ +``` + # --solutions-- +```html + + + + +
+

Training

+ +
+
+

Master Camper Cat's Beginner Three Week Training Program

+
+ +

[Stacked bar chart]

+
+
Breakdown per week of time to spend training in stealth, combat, and weapons.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Hours of Weekly Training in Stealth, Combat, and Weapons
Stealth & AgilityCombatWeaponsTotal
Week One35210
Week Two45312
Week Three46313
+
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye, world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys.md index e742413368..2cdf6d65d7 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys.md @@ -4,6 +4,7 @@ title: 通过给元素添加 accesskey 属性来让用户可以在链接之间 challengeType: 0 videoUrl: 'https://scrimba.com/c/cQvmaTp' forumTopicId: 1 +dashedName: make-links-navigable-with-html-access-keys --- # --description-- @@ -46,5 +47,58 @@ assert($('#first').attr('accesskey') == 'g'); assert($('#second').attr('accesskey') == 'c'); ``` +# --seed-- + +## --seed-contents-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+ + +

The Garfield Files: Lasagna as Training Fuel?

+ + +

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+
+ + +

Is Chuck Norris a Cat Person?

+ + +

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` + # --solutions-- +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+ + +

The Garfield Files: Lasagna as Training Fuel?

+ + +

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+
+ + +

Is Chuck Norris a Cat Person?

+ + +

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark.md index 7f6fafbfad..cfd5ee05fb 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark.md @@ -4,6 +4,7 @@ title: 使用 footer 元素来让屏幕阅读器更容易进行导航 challengeType: 0 videoUrl: 'https://scrimba.com/c/crVrDh8' forumTopicId: 301022 +dashedName: make-screen-reader-navigation-easier-with-the-footer-landmark --- # --description-- @@ -34,5 +35,82 @@ assert($('div').length == 0); assert(code.match(/