From 0daa38e07db84f6e4cb11f1ab0711808933d64e9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 23 May 2026 03:50:17 +0000 Subject: [PATCH 1/3] Initial plan From cb50886a9d2904637ddad638bb5e66df70b14fbc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 23 May 2026 03:54:34 +0000 Subject: [PATCH 2/3] Add Improve this Blog Post banner after Giscus comments on blog post pages Agent-Logs-Url: https://github.com/recodehive/recode-website/sessions/0fe42d71-75a4-4784-818e-de870d86f1f2 --- src/theme/BlogPostItem/Footer/index.tsx | 73 ++++++++++++ .../BlogPostItem/Footer/styles.module.css | 110 ++++++++++++++++++ 2 files changed, 183 insertions(+) diff --git a/src/theme/BlogPostItem/Footer/index.tsx b/src/theme/BlogPostItem/Footer/index.tsx index b3adc070..f83a9c48 100644 --- a/src/theme/BlogPostItem/Footer/index.tsx +++ b/src/theme/BlogPostItem/Footer/index.tsx @@ -151,6 +151,79 @@ export default function BlogPostItemFooterWrapper(props: Props): JSX.Element { )} {isBlogPostPage && } + {isBlogPostPage && ( +
+ +
+

Improve this Blog Post

+

+ All our blog posts are open source. Found a typo, want to add more + detail, or have a better explanation? Anyone can contribute and + make this post better for everyone. +

+
+ {metadata.editUrl && ( + + + Edit this Post on GitHub + + )} + + + Contributing Guidelines + +
+
+
+ )} ); } diff --git a/src/theme/BlogPostItem/Footer/styles.module.css b/src/theme/BlogPostItem/Footer/styles.module.css index 0af97e82..ee49db37 100644 --- a/src/theme/BlogPostItem/Footer/styles.module.css +++ b/src/theme/BlogPostItem/Footer/styles.module.css @@ -145,3 +145,113 @@ font-size: 1.25rem; } } + +/* Improve this Blog Post banner */ +.improveBanner { + width: 100%; + margin-top: 2rem; + padding: 1.5rem; + border-radius: 16px; + background: color-mix(in srgb, var(--ifm-color-success-contrast-background, #e6f4f1) 60%, transparent); + border: 1px solid color-mix(in srgb, var(--ifm-color-success) 20%, transparent); + display: flex; + align-items: flex-start; + gap: 1.25rem; + box-sizing: border-box; +} + +.improveIconWrap { + flex-shrink: 0; + width: 48px; + height: 48px; + border-radius: 10px; + background: color-mix(in srgb, var(--ifm-color-success) 15%, transparent); + display: grid; + place-items: center; + color: var(--ifm-color-success-dark, #1e7a5c); +} + +.improveContent { + min-width: 0; + flex: 1; +} + +.improveTitle { + margin: 0 0 0.4rem; + font-size: 1.15rem; + font-weight: 700; + line-height: 1.3; + color: var(--ifm-font-color-base); +} + +.improveDescription { + margin: 0 0 1rem; + font-size: 0.95rem; + line-height: 1.6; + color: var(--ifm-color-emphasis-800); +} + +.improveActions { + display: flex; + flex-wrap: wrap; + gap: 0.65rem; +} + +.improveEditButton { + display: inline-flex; + align-items: center; + gap: 0.45rem; + padding: 0.5rem 1.1rem; + border-radius: 8px; + background: var(--ifm-color-success-dark, #1a7a5c); + color: #fff !important; + font-size: 0.9rem; + font-weight: 600; + text-decoration: none !important; + border: none; + cursor: pointer; + transition: background 0.15s; +} + +.improveEditButton:hover { + background: var(--ifm-color-success-darker, #155f47); + text-decoration: none !important; +} + +.improveGuidelinesButton { + display: inline-flex; + align-items: center; + gap: 0.45rem; + padding: 0.5rem 1.1rem; + border-radius: 8px; + background: var(--ifm-background-color); + color: var(--ifm-font-color-base) !important; + font-size: 0.9rem; + font-weight: 600; + text-decoration: none !important; + border: 1px solid var(--ifm-color-emphasis-300); + cursor: pointer; + transition: background 0.15s, border-color 0.15s; +} + +.improveGuidelinesButton:hover { + background: var(--ifm-color-emphasis-100); + text-decoration: none !important; +} + +@media (max-width: 640px) { + .improveBanner { + flex-direction: column; + gap: 1rem; + padding: 1rem; + } + + .improveActions { + flex-direction: column; + } + + .improveEditButton, + .improveGuidelinesButton { + justify-content: center; + } +} From aea40a53a6eb82c6a97aa44eb6e41208ef947663 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 23 May 2026 03:55:29 +0000 Subject: [PATCH 3/3] Address code review: use h3 for banner title and add CSS fallbacks for color-mix Agent-Logs-Url: https://github.com/recodehive/recode-website/sessions/0fe42d71-75a4-4784-818e-de870d86f1f2 --- src/theme/BlogPostItem/Footer/index.tsx | 2 +- src/theme/BlogPostItem/Footer/styles.module.css | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/theme/BlogPostItem/Footer/index.tsx b/src/theme/BlogPostItem/Footer/index.tsx index f83a9c48..c406289c 100644 --- a/src/theme/BlogPostItem/Footer/index.tsx +++ b/src/theme/BlogPostItem/Footer/index.tsx @@ -170,7 +170,7 @@ export default function BlogPostItemFooterWrapper(props: Props): JSX.Element {
-

Improve this Blog Post

+

Improve this Blog Post

All our blog posts are open source. Found a typo, want to add more detail, or have a better explanation? Anyone can contribute and diff --git a/src/theme/BlogPostItem/Footer/styles.module.css b/src/theme/BlogPostItem/Footer/styles.module.css index ee49db37..3b1021b0 100644 --- a/src/theme/BlogPostItem/Footer/styles.module.css +++ b/src/theme/BlogPostItem/Footer/styles.module.css @@ -152,7 +152,9 @@ margin-top: 2rem; padding: 1.5rem; border-radius: 16px; + background: #e6f4f1; background: color-mix(in srgb, var(--ifm-color-success-contrast-background, #e6f4f1) 60%, transparent); + border: 1px solid rgba(26, 122, 92, 0.2); border: 1px solid color-mix(in srgb, var(--ifm-color-success) 20%, transparent); display: flex; align-items: flex-start; @@ -165,6 +167,7 @@ width: 48px; height: 48px; border-radius: 10px; + background: rgba(26, 122, 92, 0.15); background: color-mix(in srgb, var(--ifm-color-success) 15%, transparent); display: grid; place-items: center; @@ -182,6 +185,7 @@ font-weight: 700; line-height: 1.3; color: var(--ifm-font-color-base); + letter-spacing: -0.01em; } .improveDescription {