diff --git a/CHANGELOG.md b/CHANGELOG.md index e9f67dd..14b747c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ Formatnya mengikuti prinsip [Keep a Changelog](https://keepachangelog.com/) dan ### Added +- Social preview 1280×640 dengan identitas quiet editorial Ramu, dipakai ulang oleh Open Graph/Twitter metadata website. - English entry surfaces through `README.en.md` and `CONTRIBUTING.en.md`, while Bahasa Indonesia remains the canonical project documentation. - **UT S1 Akuntansi Semester 1 2026/2027** sebagai maintained pack 18 SKS, termasuk slot Pendidikan Agama yang mengikuti pilihan resmi sesuai data pribadi/registrasi UT. - Dukungan manifest untuk `selection.mode: choose-one` agar satu slot kurikulum dapat memiliki beberapa kode mata kuliah resmi tanpa membuat kode akademik palsu atau menggandakan seluruh pack. diff --git a/docs/UX-DIRECTION.md b/docs/UX-DIRECTION.md index 5b74794..9c6010d 100644 --- a/docs/UX-DIRECTION.md +++ b/docs/UX-DIRECTION.md @@ -390,6 +390,12 @@ Remove from the redesign: `prefers-reduced-motion: reduce` remains mandatory, but the normal experience should already be calm enough that accessibility is not achieved merely by disabling an otherwise over-animated interface. +## Appearance decision + +Ramu intentionally ships one polished light appearance for this redesign. Dark mode is not added in Phase 6 because there is no product requirement yet that justifies maintaining a second complete token/state surface. Revisit it only when usage evidence or accessibility needs make the extra maintenance worthwhile. + +The social preview follows the same quiet editorial identity: warm ivory canvas, graphite type, muted sage accent, real product information, no gradients/glow/fake metrics. + ## Accessibility contract Implementation must preserve or improve: diff --git a/scripts/validate_site.py b/scripts/validate_site.py index 81a43c2..08bd0e9 100644 --- a/scripts/validate_site.py +++ b/scripts/validate_site.py @@ -4,6 +4,7 @@ from __future__ import annotations import re +import struct import sys from pathlib import Path @@ -62,7 +63,11 @@ def main() -> int: 'property="og:url" content="https://man612.github.io/ramu/"', 'property="og:site_name" content="Ramu"', 'property="og:locale" content="id_ID"', - 'name="twitter:card" content="summary"', + 'property="og:image" content="https://man612.github.io/ramu/social-preview.png"', + 'property="og:image:width" content="1280"', + 'property="og:image:height" content="640"', + 'name="twitter:card" content="summary_large_image"', + 'name="twitter:image" content="https://man612.github.io/ramu/social-preview.png"', 'href="https://github.com/man612/ramu/blob/main/README.en.md"', 'href="https://github.com/man612/ramu/blob/main/SUPPORT.md"', ]) @@ -88,7 +93,11 @@ def main() -> int: 'href="https://github.com/man612/ramu/blob/main/README.en.md"', 'property="og:site_name" content="Ramu"', 'property="og:locale" content="id_ID"', - 'name="twitter:card" content="summary"', + 'property="og:image" content="https://man612.github.io/ramu/social-preview.png"', + 'property="og:image:width" content="1280"', + 'property="og:image:height" content="640"', + 'name="twitter:card" content="summary_large_image"', + 'name="twitter:image" content="https://man612.github.io/ramu/social-preview.png"', '