From 10c16e526126f0d9c53940e6a861bbf4c120d928 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 30 Mar 2026 01:38:51 +0000 Subject: [PATCH 1/4] Initial plan From 53cdcc28d4399cf7f20883d7159c3819f3e1fe9f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 30 Mar 2026 01:44:33 +0000 Subject: [PATCH 2/4] Fix og:image URLs in blog posts by adding leading slash to image paths Agent-Logs-Url: https://github.com/evaleval/evaleval.github.io/sessions/ce2be539-adf7-44e9-85aa-631cfc5f990a Co-authored-by: evijit <3848733+evijit@users.noreply.github.com> --- Gemfile | 4 +++- _posts/2025-07-13-eval-science-kickoff.md | 2 +- _posts/2025-08-10-blog-chart-crisis.md | 2 +- _posts/2025-11-12-hidden-cost-of-evals.md | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 4195c36..1790ac5 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,6 @@ source "https://rubygems.org" gem "jekyll", "~> 4.3" gem "minima", "~> 2.5" -gem "jekyll-sitemap" \ No newline at end of file +gem "jekyll-sitemap" +gem "jekyll-seo-tag" +gem "jekyll-feed" \ No newline at end of file diff --git a/_posts/2025-07-13-eval-science-kickoff.md b/_posts/2025-07-13-eval-science-kickoff.md index f62eb42..e383310 100644 --- a/_posts/2025-07-13-eval-science-kickoff.md +++ b/_posts/2025-07-13-eval-science-kickoff.md @@ -4,7 +4,7 @@ title: "The Science of Evaluations: Workstream Kickoff Post" date: 2025-07-13 category: Research published: true -image: assets/img/blogs/eval-sci-kickoff.webp +image: /assets/img/blogs/eval-sci-kickoff.webp authors: - name: "Eval Science working group, led by Subho Majumdar" url: "https://shubhobm.github.io/" diff --git a/_posts/2025-08-10-blog-chart-crisis.md b/_posts/2025-08-10-blog-chart-crisis.md index 8426911..7f4302b 100644 --- a/_posts/2025-08-10-blog-chart-crisis.md +++ b/_posts/2025-08-10-blog-chart-crisis.md @@ -4,7 +4,7 @@ title: "The AI Evaluation Chart Crisis" date: 2025-08-09 published: true category: Documentation -image: "assets/img/blogs/2-data-chart.webp" +image: "/assets/img/blogs/2-data-chart.webp" authors: - name: "Andrew Tran" - name: "Leshem Choshen" diff --git a/_posts/2025-11-12-hidden-cost-of-evals.md b/_posts/2025-11-12-hidden-cost-of-evals.md index bdf5b6e..c257754 100644 --- a/_posts/2025-11-12-hidden-cost-of-evals.md +++ b/_posts/2025-11-12-hidden-cost-of-evals.md @@ -4,7 +4,7 @@ title: "The Hidden Social Costs of AI" date: 2025-11-12 published: true category: Research -image: assets/img/blogs/simp_eval_timeline.png +image: /assets/img/blogs/simp_eval_timeline.png authors: - name: "Abdul Hameed" - name: "Afifah Kashif" From 4452a2c97e0172cf2b3fedd55f66d789efef7d3f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 30 Mar 2026 01:48:29 +0000 Subject: [PATCH 3/4] Fix og:image for SVG posts and make thumbnail automatic for all blog posts Agent-Logs-Url: https://github.com/evaleval/evaleval.github.io/sessions/c7a43c9a-0ea4-4674-9ef7-a0444a346166 Co-authored-by: evijit <3848733+evijit@users.noreply.github.com> --- _includes/head.html | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/_includes/head.html b/_includes/head.html index 52efc04..119a670 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -1,5 +1,18 @@ + {% comment %} Determine og:image: use the post image when it is a raster format + (WebP / PNG / JPG), fall back to the site-wide banner for SVGs or missing images. + This ensures every blog post gets a valid social preview thumbnail automatically. + Placed before {% seo %} so our tag takes precedence (parsers use the first match). {% endcomment %} + {% assign _og_img = site.image | absolute_url %} + {% if page.image %} + {% assign _page_ext = page.image | split: '.' | last | downcase %} + {% unless _page_ext == 'svg' %} + {% assign _og_img = page.image | absolute_url %} + {% endunless %} + {% endif %} + + {% seo %} From c4ab784afe7b57365f669f67042a8c0ed4350dd5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 30 Mar 2026 01:56:36 +0000 Subject: [PATCH 4/4] Auto-convert SVG post images to PNG for social thumbnails only Agent-Logs-Url: https://github.com/evaleval/evaleval.github.io/sessions/8f3ee47c-7896-4d59-81b8-cb2a891191c7 Co-authored-by: evijit <3848733+evijit@users.noreply.github.com> --- .github/workflows/convert-svg-images.yml | 76 +++++++++++++++++++++ _includes/head.html | 18 +++-- assets/img/blogs/field-notes-interview.png | Bin 0 -> 17655 bytes 3 files changed, 87 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/convert-svg-images.yml create mode 100644 assets/img/blogs/field-notes-interview.png diff --git a/.github/workflows/convert-svg-images.yml b/.github/workflows/convert-svg-images.yml new file mode 100644 index 0000000..eb22579 --- /dev/null +++ b/.github/workflows/convert-svg-images.yml @@ -0,0 +1,76 @@ +name: Convert SVG post images to PNG for social thumbnails + +# Runs whenever posts or blog images change. Scans every post's `image:` front +# matter value; if it points to an SVG, a raster PNG copy is generated at the +# same path (same name, .png extension) and committed back to the branch. +# The SVG is left untouched — it continues to be used for page display. +# head.html then swaps .svg → .png only for the og:image / twitter:image tags. + +on: + push: + paths: + - "_posts/**" + - "assets/img/blogs/**" + +jobs: + convert-svg: + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - uses: actions/checkout@v4 + + - name: Install rsvg-convert + run: sudo apt-get install -y librsvg2-bin + + - name: Convert SVG post images to PNG + id: convert + run: | + set -euo pipefail + converted=0 + converted_files="" + + # Collect every `image:` value from post front matter + while IFS= read -r line; do + # Strip the key and surrounding quotes, preserving spaces in path + raw="${line#image:}" + raw="$(echo "$raw" | sed "s/^[[:space:]]*//;s/[[:space:]]*$//;s/^[\"']//;s/[\"']$//")" + raw="${raw#/}" # strip leading slash to form a relative path + + [[ "$raw" == *.svg ]] || continue + + svg="$raw" + png="${svg%.svg}.png" + + if [[ ! -f "$svg" ]]; then + echo "⚠️ SVG not found, skipping: $svg" + continue + fi + + if [[ -f "$png" ]]; then + echo "✅ PNG already exists, skipping: $png" + continue + fi + + echo "🔄 Converting $svg → $png" + # 1200×630 is the recommended og:image size for all major platforms + rsvg-convert --width 1200 --height 630 --keep-aspect-ratio "$svg" -o "$png" + converted_files="$converted_files $png" + converted=$((converted + 1)) + done < <(grep -h "^image:" _posts/*.md 2>/dev/null || true) + + echo "converted=$converted" >> "$GITHUB_OUTPUT" + echo "converted_files=$converted_files" >> "$GITHUB_OUTPUT" + + - name: Commit converted PNGs + if: steps.convert.outputs.converted != '0' + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + # Stage only the files we actually converted (they may live anywhere) + for f in ${{ steps.convert.outputs.converted_files }}; do + git add "$f" + done + git commit -m "chore: add PNG thumbnails converted from SVG post images [skip ci]" + git push diff --git a/_includes/head.html b/_includes/head.html index 119a670..c048c19 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -1,15 +1,19 @@ - {% comment %} Determine og:image: use the post image when it is a raster format - (WebP / PNG / JPG), fall back to the site-wide banner for SVGs or missing images. - This ensures every blog post gets a valid social preview thumbnail automatically. - Placed before {% seo %} so our tag takes precedence (parsers use the first match). {% endcomment %} - {% assign _og_img = site.image | absolute_url %} + {% comment %} Explicit og:image / twitter:image placed before {% seo %} so our tag + takes precedence. Uses the post's image when set, falls back to the site-wide banner. + SVGs are not supported by social crawlers, so for og:image we swap the .svg extension + to .png — a raster copy is auto-generated by .github/workflows/convert-svg-images.yml + and committed alongside the original SVG, leaving it intact for page display. {% endcomment %} {% if page.image %} {% assign _page_ext = page.image | split: '.' | last | downcase %} - {% unless _page_ext == 'svg' %} + {% if _page_ext == 'svg' %} + {% assign _og_img = page.image | replace: '.svg', '.png' | absolute_url %} + {% else %} {% assign _og_img = page.image | absolute_url %} - {% endunless %} + {% endif %} + {% else %} + {% assign _og_img = site.image | absolute_url %} {% endif %} diff --git a/assets/img/blogs/field-notes-interview.png b/assets/img/blogs/field-notes-interview.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac35c70b540f7f701c7555d27a0ebf48c4cee62 GIT binary patch literal 17655 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 YL&D