├── .github └── workflows │ └── sync_rebuild.yml ├── README.md ├── album ├── 20240128-Changsha-Yuelu.md ├── 20241116-Munich-Barmsee.md ├── 20241201-Munich-Brauneck.md ├── 20241208-Munich-Nymphenburg.md ├── 20241229-Italy-Roma.md ├── 20250407-Croatia-Dubrovnik.md ├── 20250705-Munich-Partnachklamm.md ├── 20250729-Italy-Napoli.md ├── 20250826-Munich-Marienplatz.md └── 20251025-Austria-Kufstein.md ├── albums ├── 20240128-Changsha-Yuelu.md ├── 20241116-Munich-Barmsee.md ├── 20241201-Munich-Brauneck.md ├── 20241208-Munich-Nymphenburg.md ├── 20241229-Italy-Roma.md ├── 20250407-Croatia-Dubrovnik.md ├── 20250705-Munich-Partnachklamm.md ├── 20250729-Italy-Napoli.md └── 20250826-Munich-Marienplatz.md ├── article ├── 001-forwardRef-escape-hatches.md ├── 002-calculating-string-bytes-count.md ├── 003-JSX.Element-vs-ReactNode-vs-ReactElement.md ├── 004-match-chinese-characters.md ├── 005-hidden-tricks-with-abortController.md ├── 006-generating-unique-random-numbers-using-sets.md ├── 007-stagger-enter-animation.md └── static │ ├── input-focus.png │ └── ref-out-of-control.png ├── journal ├── 001-5-reasons-why-you-should-start-writing-technical-articles.md ├── 002-naples-chaos-charm-perfect-pizza.md └── 003-a-weekend-spent-chasing-mushrooms.md ├── leetcode ├── 0001-two-sum.md ├── 0002-add-two-numbers.md ├── 0003-longest-substring-without-repeating-characters.md ├── 0005-longest-palindromic-substring.md ├── 0006-zigzag-conversion.md ├── 0007-reverse-integer.md ├── 0008-string-to-integer-atoi.md ├── 0009-palindrome-number.md ├── 0011-container-with-most-water.md ├── 0012-integer-to-roman.md ├── 0013-roman-to-integer.md ├── 0014-longest-common-prefix.md ├── 0015-3sum.md ├── 0016-3sum-closest.md ├── 0017-letter-combinations-of-a-phone-number.md ├── 0018-4sum.md ├── 0019-remove-nth-node-from-end-of-list.md ├── 0020-valid-parentheses.md ├── 0021-merge-two-sorted-lists.md ├── 0022-generate-parentheses.md ├── 0024-swap-nodes-in-pairs.md ├── 0026-remove-duplicates-from-sorted-array.md ├── 0027-remove-element.md ├── 0028-find-the-index-of-the-first-occurrence-in-a-string.md ├── 0029-divide-two-integers.md ├── 0088-merge-sorted-array.md ├── 1455-check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence.md ├── 1574-shortest-subarray-to-be-removed-to-make-array-sorted.md ├── 1652-defuse-the-bomb.md ├── 2471-minimum-number-of-operations-to-sort-a-binary-tree-by-level.md ├── 2924-find-champion-ii.md ├── 2981-find-longest-special-substring-that-occurs-thrice-i.md ├── 3042-count-prefix-and-suffix-pairs-i.md ├── 3152-special-array-ii.md └── 3243-shortest-distance-after-road-addition-queries-i.md ├── life ├── 001-5-reasons-why-you-should-start-writing-technical-articles.md └── 002-naples-chaos-charm-perfect-pizza.md ├── notes ├── CSS │ └── Effects │ │ ├── 001-cross-fade.md │ │ └── 002-light-dark.md ├── Frameworks │ └── React │ │ └── Patterns │ │ └── 001-conditional-rendering-with-record.md └── JavaScript │ ├── Array │ └── 001-create-2d-array.md │ ├── DOM │ ├── 001-convert-string-to-html.md │ └── 002-iterator-helpers.md │ └── Function │ ├── 001-delap.md │ ├── 002-shuffle.md │ ├── 003-is-valid-color.md │ └── 004-trim-text.md ├── snippet ├── CSS │ └── Effects │ │ ├── 001-cross-fade.md │ │ └── 002-light-dark.md ├── Frameworks │ └── React │ │ └── Patterns │ │ └── 001-conditional-rendering-with-record.md └── JavaScript │ ├── Array │ └── 001-create-2d-array.md │ ├── DOM │ ├── 001-convert-string-to-html.md │ └── 002-iterator-helpers.md │ ├── Function │ ├── 001-delap.md │ ├── 002-shuffle.md │ ├── 003-is-valid-color.md │ └── 004-trim-text.md │ └── Object │ └── 001-object-groupby.md ├── tech ├── 001-forwardRef-escape-hatches.md ├── 002-calculating-string-bytes-count.md ├── 003-JSX.Element-vs-ReactNode-vs-ReactElement.md ├── 004-match-chinese-characters.md ├── 005-hidden-tricks-with-abortController.md ├── 006-generating-unique-random-numbers-using-sets.md └── static │ ├── input-focus.png │ └── ref-out-of-control.png ├── vibe └── 2025-vibe.md └── vibes └── 2025-vibes.md /.github/workflows/sync_rebuild.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/.github/workflows/sync_rebuild.yml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/README.md -------------------------------------------------------------------------------- /album/20240128-Changsha-Yuelu.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/album/20240128-Changsha-Yuelu.md -------------------------------------------------------------------------------- /album/20241116-Munich-Barmsee.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/album/20241116-Munich-Barmsee.md -------------------------------------------------------------------------------- /album/20241201-Munich-Brauneck.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/album/20241201-Munich-Brauneck.md -------------------------------------------------------------------------------- /album/20241208-Munich-Nymphenburg.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/album/20241208-Munich-Nymphenburg.md -------------------------------------------------------------------------------- /album/20241229-Italy-Roma.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/album/20241229-Italy-Roma.md -------------------------------------------------------------------------------- /album/20250407-Croatia-Dubrovnik.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/album/20250407-Croatia-Dubrovnik.md -------------------------------------------------------------------------------- /album/20250705-Munich-Partnachklamm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/album/20250705-Munich-Partnachklamm.md -------------------------------------------------------------------------------- /album/20250729-Italy-Napoli.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/album/20250729-Italy-Napoli.md -------------------------------------------------------------------------------- /album/20250826-Munich-Marienplatz.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/album/20250826-Munich-Marienplatz.md -------------------------------------------------------------------------------- /album/20251025-Austria-Kufstein.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/album/20251025-Austria-Kufstein.md -------------------------------------------------------------------------------- /albums/20240128-Changsha-Yuelu.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/albums/20240128-Changsha-Yuelu.md -------------------------------------------------------------------------------- /albums/20241116-Munich-Barmsee.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/albums/20241116-Munich-Barmsee.md -------------------------------------------------------------------------------- /albums/20241201-Munich-Brauneck.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/albums/20241201-Munich-Brauneck.md -------------------------------------------------------------------------------- /albums/20241208-Munich-Nymphenburg.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/albums/20241208-Munich-Nymphenburg.md -------------------------------------------------------------------------------- /albums/20241229-Italy-Roma.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/albums/20241229-Italy-Roma.md -------------------------------------------------------------------------------- /albums/20250407-Croatia-Dubrovnik.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/albums/20250407-Croatia-Dubrovnik.md -------------------------------------------------------------------------------- /albums/20250705-Munich-Partnachklamm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/albums/20250705-Munich-Partnachklamm.md -------------------------------------------------------------------------------- /albums/20250729-Italy-Napoli.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/albums/20250729-Italy-Napoli.md -------------------------------------------------------------------------------- /albums/20250826-Munich-Marienplatz.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/albums/20250826-Munich-Marienplatz.md -------------------------------------------------------------------------------- /article/001-forwardRef-escape-hatches.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/article/001-forwardRef-escape-hatches.md -------------------------------------------------------------------------------- /article/002-calculating-string-bytes-count.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/article/002-calculating-string-bytes-count.md -------------------------------------------------------------------------------- /article/003-JSX.Element-vs-ReactNode-vs-ReactElement.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/article/003-JSX.Element-vs-ReactNode-vs-ReactElement.md -------------------------------------------------------------------------------- /article/004-match-chinese-characters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/article/004-match-chinese-characters.md -------------------------------------------------------------------------------- /article/005-hidden-tricks-with-abortController.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/article/005-hidden-tricks-with-abortController.md -------------------------------------------------------------------------------- /article/006-generating-unique-random-numbers-using-sets.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/article/006-generating-unique-random-numbers-using-sets.md -------------------------------------------------------------------------------- /article/007-stagger-enter-animation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/article/007-stagger-enter-animation.md -------------------------------------------------------------------------------- /article/static/input-focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/article/static/input-focus.png -------------------------------------------------------------------------------- /article/static/ref-out-of-control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/article/static/ref-out-of-control.png -------------------------------------------------------------------------------- /journal/001-5-reasons-why-you-should-start-writing-technical-articles.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/journal/001-5-reasons-why-you-should-start-writing-technical-articles.md -------------------------------------------------------------------------------- /journal/002-naples-chaos-charm-perfect-pizza.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/journal/002-naples-chaos-charm-perfect-pizza.md -------------------------------------------------------------------------------- /journal/003-a-weekend-spent-chasing-mushrooms.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/journal/003-a-weekend-spent-chasing-mushrooms.md -------------------------------------------------------------------------------- /leetcode/0001-two-sum.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0001-two-sum.md -------------------------------------------------------------------------------- /leetcode/0002-add-two-numbers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0002-add-two-numbers.md -------------------------------------------------------------------------------- /leetcode/0003-longest-substring-without-repeating-characters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0003-longest-substring-without-repeating-characters.md -------------------------------------------------------------------------------- /leetcode/0005-longest-palindromic-substring.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0005-longest-palindromic-substring.md -------------------------------------------------------------------------------- /leetcode/0006-zigzag-conversion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0006-zigzag-conversion.md -------------------------------------------------------------------------------- /leetcode/0007-reverse-integer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0007-reverse-integer.md -------------------------------------------------------------------------------- /leetcode/0008-string-to-integer-atoi.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0008-string-to-integer-atoi.md -------------------------------------------------------------------------------- /leetcode/0009-palindrome-number.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0009-palindrome-number.md -------------------------------------------------------------------------------- /leetcode/0011-container-with-most-water.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0011-container-with-most-water.md -------------------------------------------------------------------------------- /leetcode/0012-integer-to-roman.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0012-integer-to-roman.md -------------------------------------------------------------------------------- /leetcode/0013-roman-to-integer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0013-roman-to-integer.md -------------------------------------------------------------------------------- /leetcode/0014-longest-common-prefix.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0014-longest-common-prefix.md -------------------------------------------------------------------------------- /leetcode/0015-3sum.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0015-3sum.md -------------------------------------------------------------------------------- /leetcode/0016-3sum-closest.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0016-3sum-closest.md -------------------------------------------------------------------------------- /leetcode/0017-letter-combinations-of-a-phone-number.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0017-letter-combinations-of-a-phone-number.md -------------------------------------------------------------------------------- /leetcode/0018-4sum.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0018-4sum.md -------------------------------------------------------------------------------- /leetcode/0019-remove-nth-node-from-end-of-list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0019-remove-nth-node-from-end-of-list.md -------------------------------------------------------------------------------- /leetcode/0020-valid-parentheses.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0020-valid-parentheses.md -------------------------------------------------------------------------------- /leetcode/0021-merge-two-sorted-lists.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0021-merge-two-sorted-lists.md -------------------------------------------------------------------------------- /leetcode/0022-generate-parentheses.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0022-generate-parentheses.md -------------------------------------------------------------------------------- /leetcode/0024-swap-nodes-in-pairs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0024-swap-nodes-in-pairs.md -------------------------------------------------------------------------------- /leetcode/0026-remove-duplicates-from-sorted-array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0026-remove-duplicates-from-sorted-array.md -------------------------------------------------------------------------------- /leetcode/0027-remove-element.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0027-remove-element.md -------------------------------------------------------------------------------- /leetcode/0028-find-the-index-of-the-first-occurrence-in-a-string.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0028-find-the-index-of-the-first-occurrence-in-a-string.md -------------------------------------------------------------------------------- /leetcode/0029-divide-two-integers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0029-divide-two-integers.md -------------------------------------------------------------------------------- /leetcode/0088-merge-sorted-array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/0088-merge-sorted-array.md -------------------------------------------------------------------------------- /leetcode/1455-check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/1455-check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence.md -------------------------------------------------------------------------------- /leetcode/1574-shortest-subarray-to-be-removed-to-make-array-sorted.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/1574-shortest-subarray-to-be-removed-to-make-array-sorted.md -------------------------------------------------------------------------------- /leetcode/1652-defuse-the-bomb.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/1652-defuse-the-bomb.md -------------------------------------------------------------------------------- /leetcode/2471-minimum-number-of-operations-to-sort-a-binary-tree-by-level.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/2471-minimum-number-of-operations-to-sort-a-binary-tree-by-level.md -------------------------------------------------------------------------------- /leetcode/2924-find-champion-ii.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/2924-find-champion-ii.md -------------------------------------------------------------------------------- /leetcode/2981-find-longest-special-substring-that-occurs-thrice-i.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/2981-find-longest-special-substring-that-occurs-thrice-i.md -------------------------------------------------------------------------------- /leetcode/3042-count-prefix-and-suffix-pairs-i.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/3042-count-prefix-and-suffix-pairs-i.md -------------------------------------------------------------------------------- /leetcode/3152-special-array-ii.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/3152-special-array-ii.md -------------------------------------------------------------------------------- /leetcode/3243-shortest-distance-after-road-addition-queries-i.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/leetcode/3243-shortest-distance-after-road-addition-queries-i.md -------------------------------------------------------------------------------- /life/001-5-reasons-why-you-should-start-writing-technical-articles.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/life/001-5-reasons-why-you-should-start-writing-technical-articles.md -------------------------------------------------------------------------------- /life/002-naples-chaos-charm-perfect-pizza.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/life/002-naples-chaos-charm-perfect-pizza.md -------------------------------------------------------------------------------- /notes/CSS/Effects/001-cross-fade.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/notes/CSS/Effects/001-cross-fade.md -------------------------------------------------------------------------------- /notes/CSS/Effects/002-light-dark.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/notes/CSS/Effects/002-light-dark.md -------------------------------------------------------------------------------- /notes/Frameworks/React/Patterns/001-conditional-rendering-with-record.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/notes/Frameworks/React/Patterns/001-conditional-rendering-with-record.md -------------------------------------------------------------------------------- /notes/JavaScript/Array/001-create-2d-array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/notes/JavaScript/Array/001-create-2d-array.md -------------------------------------------------------------------------------- /notes/JavaScript/DOM/001-convert-string-to-html.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/notes/JavaScript/DOM/001-convert-string-to-html.md -------------------------------------------------------------------------------- /notes/JavaScript/DOM/002-iterator-helpers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/notes/JavaScript/DOM/002-iterator-helpers.md -------------------------------------------------------------------------------- /notes/JavaScript/Function/001-delap.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/notes/JavaScript/Function/001-delap.md -------------------------------------------------------------------------------- /notes/JavaScript/Function/002-shuffle.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/notes/JavaScript/Function/002-shuffle.md -------------------------------------------------------------------------------- /notes/JavaScript/Function/003-is-valid-color.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/notes/JavaScript/Function/003-is-valid-color.md -------------------------------------------------------------------------------- /notes/JavaScript/Function/004-trim-text.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/notes/JavaScript/Function/004-trim-text.md -------------------------------------------------------------------------------- /snippet/CSS/Effects/001-cross-fade.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/snippet/CSS/Effects/001-cross-fade.md -------------------------------------------------------------------------------- /snippet/CSS/Effects/002-light-dark.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/snippet/CSS/Effects/002-light-dark.md -------------------------------------------------------------------------------- /snippet/Frameworks/React/Patterns/001-conditional-rendering-with-record.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/snippet/Frameworks/React/Patterns/001-conditional-rendering-with-record.md -------------------------------------------------------------------------------- /snippet/JavaScript/Array/001-create-2d-array.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/snippet/JavaScript/Array/001-create-2d-array.md -------------------------------------------------------------------------------- /snippet/JavaScript/DOM/001-convert-string-to-html.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/snippet/JavaScript/DOM/001-convert-string-to-html.md -------------------------------------------------------------------------------- /snippet/JavaScript/DOM/002-iterator-helpers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/snippet/JavaScript/DOM/002-iterator-helpers.md -------------------------------------------------------------------------------- /snippet/JavaScript/Function/001-delap.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/snippet/JavaScript/Function/001-delap.md -------------------------------------------------------------------------------- /snippet/JavaScript/Function/002-shuffle.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/snippet/JavaScript/Function/002-shuffle.md -------------------------------------------------------------------------------- /snippet/JavaScript/Function/003-is-valid-color.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/snippet/JavaScript/Function/003-is-valid-color.md -------------------------------------------------------------------------------- /snippet/JavaScript/Function/004-trim-text.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/snippet/JavaScript/Function/004-trim-text.md -------------------------------------------------------------------------------- /snippet/JavaScript/Object/001-object-groupby.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/snippet/JavaScript/Object/001-object-groupby.md -------------------------------------------------------------------------------- /tech/001-forwardRef-escape-hatches.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/tech/001-forwardRef-escape-hatches.md -------------------------------------------------------------------------------- /tech/002-calculating-string-bytes-count.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/tech/002-calculating-string-bytes-count.md -------------------------------------------------------------------------------- /tech/003-JSX.Element-vs-ReactNode-vs-ReactElement.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/tech/003-JSX.Element-vs-ReactNode-vs-ReactElement.md -------------------------------------------------------------------------------- /tech/004-match-chinese-characters.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/tech/004-match-chinese-characters.md -------------------------------------------------------------------------------- /tech/005-hidden-tricks-with-abortController.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/tech/005-hidden-tricks-with-abortController.md -------------------------------------------------------------------------------- /tech/006-generating-unique-random-numbers-using-sets.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/tech/006-generating-unique-random-numbers-using-sets.md -------------------------------------------------------------------------------- /tech/static/input-focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/tech/static/input-focus.png -------------------------------------------------------------------------------- /tech/static/ref-out-of-control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/tech/static/ref-out-of-control.png -------------------------------------------------------------------------------- /vibe/2025-vibe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/vibe/2025-vibe.md -------------------------------------------------------------------------------- /vibes/2025-vibes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanshiyucx/blog/HEAD/vibes/2025-vibes.md --------------------------------------------------------------------------------