My personal site. theclashfruit.me
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: mdx plugin stuff

+213 -4
+8 -2
app/(main)/post/[slug]/page.tsx
··· 2 2 import { postsTable, usersTable } from '@/lib/db/schema'; 3 3 4 4 import rehypeStarryNight from 'rehype-starry-night'; 5 + import remarkGfm from 'remark-gfm'; 5 6 6 7 import { eq } from 'drizzle-orm'; 7 8 ··· 11 12 12 13 const options: MDXRemoteOptions = { 13 14 mdxOptions: { 14 - rehypePlugins: [rehypeStarryNight] 15 + rehypePlugins: [rehypeStarryNight], 16 + remarkPlugins: [remarkGfm] 15 17 } 16 18 }; 17 19 ··· 28 30 <h1>{post.title}</h1> 29 31 30 32 <article> 31 - <MDXRemote source={post.content} components={components} options={options} /> 33 + <MDXRemote 34 + source={post.content} 35 + components={components} 36 + options={options} 37 + /> 32 38 </article> 33 39 </> 34 40 );
+2 -1
next.config.ts
··· 17 17 18 18 export default createMDX({ 19 19 options: { 20 - rehypePlugins: ['rehype-starry-night'] 20 + rehypePlugins: ['rehype-starry-night'], 21 + remarkPlugins: ['remark-gfm'] 21 22 } 22 23 })(nextConfig); 23 24
+1
package.json
··· 27 27 "react": "19.2.3", 28 28 "react-dom": "19.2.3", 29 29 "rehype-starry-night": "^2.2.0", 30 + "remark-gfm": "^4.0.1", 30 31 "sass": "^1.98.0" 31 32 }, 32 33 "devDependencies": {
+201
pnpm-lock.yaml
··· 62 62 rehype-starry-night: 63 63 specifier: ^2.2.0 64 64 version: 2.2.0 65 + remark-gfm: 66 + specifier: ^4.0.1 67 + version: 4.0.1 65 68 sass: 66 69 specifier: ^1.98.0 67 70 version: 1.98.0 ··· 2338 2341 resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 2339 2342 engines: {node: '>=10'} 2340 2343 2344 + escape-string-regexp@5.0.0: 2345 + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 2346 + engines: {node: '>=12'} 2347 + 2341 2348 eslint-config-next@16.1.6: 2342 2349 resolution: {integrity: sha512-vKq40io2B0XtkkNDYyleATwblNt8xuh3FWp8SpSz3pt7P01OkBFlKsJZ2mWt5WsCySlDQLckb1zMY9yE9Qy0LA==} 2343 2350 peerDependencies: ··· 2894 2901 resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} 2895 2902 engines: {node: '>=16'} 2896 2903 2904 + markdown-table@3.0.4: 2905 + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} 2906 + 2897 2907 math-intrinsics@1.1.0: 2898 2908 resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 2899 2909 engines: {node: '>= 0.4'} 2910 + 2911 + mdast-util-find-and-replace@3.0.2: 2912 + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} 2900 2913 2901 2914 mdast-util-from-markdown@2.0.3: 2902 2915 resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} 2903 2916 2917 + mdast-util-gfm-autolink-literal@2.0.1: 2918 + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} 2919 + 2920 + mdast-util-gfm-footnote@2.1.0: 2921 + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} 2922 + 2923 + mdast-util-gfm-strikethrough@2.0.0: 2924 + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} 2925 + 2926 + mdast-util-gfm-table@2.0.0: 2927 + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} 2928 + 2929 + mdast-util-gfm-task-list-item@2.0.0: 2930 + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} 2931 + 2932 + mdast-util-gfm@3.1.0: 2933 + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} 2934 + 2904 2935 mdast-util-mdx-expression@2.0.1: 2905 2936 resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} 2906 2937 ··· 2938 2969 micromark-core-commonmark@2.0.3: 2939 2970 resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} 2940 2971 2972 + micromark-extension-gfm-autolink-literal@2.1.0: 2973 + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} 2974 + 2975 + micromark-extension-gfm-footnote@2.1.0: 2976 + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} 2977 + 2978 + micromark-extension-gfm-strikethrough@2.1.0: 2979 + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} 2980 + 2981 + micromark-extension-gfm-table@2.1.1: 2982 + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} 2983 + 2984 + micromark-extension-gfm-tagfilter@2.0.0: 2985 + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} 2986 + 2987 + micromark-extension-gfm-task-list-item@2.1.0: 2988 + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} 2989 + 2990 + micromark-extension-gfm@3.0.0: 2991 + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} 2992 + 2941 2993 micromark-extension-mdx-expression@3.0.1: 2942 2994 resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} 2943 2995 ··· 3332 3384 rehype-starry-night@2.2.0: 3333 3385 resolution: {integrity: sha512-hAdJb/14aNHPEAsP37Rt1X8HbkTsQb/2pAyL0inJn+VnXqdM714MBAL/9zC5CObCM3/zIjpwOsXMETTayx2iaw==} 3334 3386 3387 + remark-gfm@4.0.1: 3388 + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} 3389 + 3335 3390 remark-mdx-remove-esm@1.2.3: 3336 3391 resolution: {integrity: sha512-n6r36SaE+7cno7pmshWbGzYolDVLxJm5EKuw67+q4SPQT6kelNJHyZAiFYYtOB0axh+/1xF4BC57Ec3jncAGXQ==} 3337 3392 peerDependencies: ··· 3345 3400 3346 3401 remark-rehype@11.1.2: 3347 3402 resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} 3403 + 3404 + remark-stringify@11.0.0: 3405 + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} 3348 3406 3349 3407 resolve-from@4.0.0: 3350 3408 resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} ··· 5959 6017 5960 6018 escape-string-regexp@4.0.0: {} 5961 6019 6020 + escape-string-regexp@5.0.0: {} 6021 + 5962 6022 eslint-config-next@16.1.6(@typescript-eslint/parser@8.57.0(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(typescript@5.9.3): 5963 6023 dependencies: 5964 6024 '@next/eslint-plugin-next': 16.1.6 ··· 6630 6690 6631 6691 markdown-extensions@2.0.0: {} 6632 6692 6693 + markdown-table@3.0.4: {} 6694 + 6633 6695 math-intrinsics@1.1.0: {} 6696 + 6697 + mdast-util-find-and-replace@3.0.2: 6698 + dependencies: 6699 + '@types/mdast': 4.0.4 6700 + escape-string-regexp: 5.0.0 6701 + unist-util-is: 6.0.1 6702 + unist-util-visit-parents: 6.0.2 6634 6703 6635 6704 mdast-util-from-markdown@2.0.3: 6636 6705 dependencies: ··· 6649 6718 transitivePeerDependencies: 6650 6719 - supports-color 6651 6720 6721 + mdast-util-gfm-autolink-literal@2.0.1: 6722 + dependencies: 6723 + '@types/mdast': 4.0.4 6724 + ccount: 2.0.1 6725 + devlop: 1.1.0 6726 + mdast-util-find-and-replace: 3.0.2 6727 + micromark-util-character: 2.1.1 6728 + 6729 + mdast-util-gfm-footnote@2.1.0: 6730 + dependencies: 6731 + '@types/mdast': 4.0.4 6732 + devlop: 1.1.0 6733 + mdast-util-from-markdown: 2.0.3 6734 + mdast-util-to-markdown: 2.1.2 6735 + micromark-util-normalize-identifier: 2.0.1 6736 + transitivePeerDependencies: 6737 + - supports-color 6738 + 6739 + mdast-util-gfm-strikethrough@2.0.0: 6740 + dependencies: 6741 + '@types/mdast': 4.0.4 6742 + mdast-util-from-markdown: 2.0.3 6743 + mdast-util-to-markdown: 2.1.2 6744 + transitivePeerDependencies: 6745 + - supports-color 6746 + 6747 + mdast-util-gfm-table@2.0.0: 6748 + dependencies: 6749 + '@types/mdast': 4.0.4 6750 + devlop: 1.1.0 6751 + markdown-table: 3.0.4 6752 + mdast-util-from-markdown: 2.0.3 6753 + mdast-util-to-markdown: 2.1.2 6754 + transitivePeerDependencies: 6755 + - supports-color 6756 + 6757 + mdast-util-gfm-task-list-item@2.0.0: 6758 + dependencies: 6759 + '@types/mdast': 4.0.4 6760 + devlop: 1.1.0 6761 + mdast-util-from-markdown: 2.0.3 6762 + mdast-util-to-markdown: 2.1.2 6763 + transitivePeerDependencies: 6764 + - supports-color 6765 + 6766 + mdast-util-gfm@3.1.0: 6767 + dependencies: 6768 + mdast-util-from-markdown: 2.0.3 6769 + mdast-util-gfm-autolink-literal: 2.0.1 6770 + mdast-util-gfm-footnote: 2.1.0 6771 + mdast-util-gfm-strikethrough: 2.0.0 6772 + mdast-util-gfm-table: 2.0.0 6773 + mdast-util-gfm-task-list-item: 2.0.0 6774 + mdast-util-to-markdown: 2.1.2 6775 + transitivePeerDependencies: 6776 + - supports-color 6777 + 6652 6778 mdast-util-mdx-expression@2.0.1: 6653 6779 dependencies: 6654 6780 '@types/estree-jsx': 1.0.5 ··· 6754 6880 micromark-util-resolve-all: 2.0.1 6755 6881 micromark-util-subtokenize: 2.1.0 6756 6882 micromark-util-symbol: 2.0.1 6883 + micromark-util-types: 2.0.2 6884 + 6885 + micromark-extension-gfm-autolink-literal@2.1.0: 6886 + dependencies: 6887 + micromark-util-character: 2.1.1 6888 + micromark-util-sanitize-uri: 2.0.1 6889 + micromark-util-symbol: 2.0.1 6890 + micromark-util-types: 2.0.2 6891 + 6892 + micromark-extension-gfm-footnote@2.1.0: 6893 + dependencies: 6894 + devlop: 1.1.0 6895 + micromark-core-commonmark: 2.0.3 6896 + micromark-factory-space: 2.0.1 6897 + micromark-util-character: 2.1.1 6898 + micromark-util-normalize-identifier: 2.0.1 6899 + micromark-util-sanitize-uri: 2.0.1 6900 + micromark-util-symbol: 2.0.1 6901 + micromark-util-types: 2.0.2 6902 + 6903 + micromark-extension-gfm-strikethrough@2.1.0: 6904 + dependencies: 6905 + devlop: 1.1.0 6906 + micromark-util-chunked: 2.0.1 6907 + micromark-util-classify-character: 2.0.1 6908 + micromark-util-resolve-all: 2.0.1 6909 + micromark-util-symbol: 2.0.1 6910 + micromark-util-types: 2.0.2 6911 + 6912 + micromark-extension-gfm-table@2.1.1: 6913 + dependencies: 6914 + devlop: 1.1.0 6915 + micromark-factory-space: 2.0.1 6916 + micromark-util-character: 2.1.1 6917 + micromark-util-symbol: 2.0.1 6918 + micromark-util-types: 2.0.2 6919 + 6920 + micromark-extension-gfm-tagfilter@2.0.0: 6921 + dependencies: 6922 + micromark-util-types: 2.0.2 6923 + 6924 + micromark-extension-gfm-task-list-item@2.1.0: 6925 + dependencies: 6926 + devlop: 1.1.0 6927 + micromark-factory-space: 2.0.1 6928 + micromark-util-character: 2.1.1 6929 + micromark-util-symbol: 2.0.1 6930 + micromark-util-types: 2.0.2 6931 + 6932 + micromark-extension-gfm@3.0.0: 6933 + dependencies: 6934 + micromark-extension-gfm-autolink-literal: 2.1.0 6935 + micromark-extension-gfm-footnote: 2.1.0 6936 + micromark-extension-gfm-strikethrough: 2.1.0 6937 + micromark-extension-gfm-table: 2.1.1 6938 + micromark-extension-gfm-tagfilter: 2.0.0 6939 + micromark-extension-gfm-task-list-item: 2.1.0 6940 + micromark-util-combine-extensions: 2.0.1 6757 6941 micromark-util-types: 2.0.2 6758 6942 6759 6943 micromark-extension-mdx-expression@3.0.1: ··· 7301 7485 unist-util-visit-parents: 6.0.2 7302 7486 vfile: 6.0.3 7303 7487 7488 + remark-gfm@4.0.1: 7489 + dependencies: 7490 + '@types/mdast': 4.0.4 7491 + mdast-util-gfm: 3.1.0 7492 + micromark-extension-gfm: 3.0.0 7493 + remark-parse: 11.0.0 7494 + remark-stringify: 11.0.0 7495 + unified: 11.0.5 7496 + transitivePeerDependencies: 7497 + - supports-color 7498 + 7304 7499 remark-mdx-remove-esm@1.2.3(unified@11.0.5): 7305 7500 dependencies: 7306 7501 '@types/mdast': 4.0.4 ··· 7333 7528 mdast-util-to-hast: 13.2.1 7334 7529 unified: 11.0.5 7335 7530 vfile: 6.0.3 7531 + 7532 + remark-stringify@11.0.0: 7533 + dependencies: 7534 + '@types/mdast': 4.0.4 7535 + mdast-util-to-markdown: 2.1.2 7536 + unified: 11.0.5 7336 7537 7337 7538 resolve-from@4.0.0: {} 7338 7539
+1 -1
styles/typography.module.scss
··· 66 66 67 67 pre { 68 68 margin-bottom: 8px; 69 - 69 + 70 70 width: 100%; 71 71 overflow: scroll; 72 72