Publication Project Pages Implementation Plan
Publication Project Pages Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Restyle the SAGO and POET publication pages so they read like polished project pages with stronger hero blocks, teaser visuals, section rhythm, and highlight cards.
Architecture: Keep the existing Jekyll publication layout intact and implement the redesign in two layers: scoped reusable CSS classes for project-* blocks, then HTML-assisted markdown rewrites inside the two target publication files. Reuse existing local figures so the work stays self-contained and does not affect unrelated publication pages.
Tech Stack: Jekyll, Markdown with inline HTML, Sass, existing publication collection layout
Task 1: Add scoped project-page styling primitives
Files:
- Modify:
assets/css/main.scss Create:
_sass/layout/_project-publication.scss- Step 1: Add the new Sass partial import
Update assets/css/main.scss so the new project-page partial is imported after layout/page and before layout/archive:
"layout/page",
"layout/project-publication",
"layout/archive",
- Step 2: Write the scoped project-page styles
Create _sass/layout/_project-publication.scss with classes for hero, metadata, button links, teaser blocks, section cards, figure captions, details blocks, and responsive grids. The file should include:
.project-page {
--project-accent: #12344a;
--project-accent-soft: #eef4f8;
--project-border: #d4e0e8;
--project-text-soft: #5b6b78;
}
.project-hero {
margin: 0 0 2.5rem;
padding: 2.25rem;
border: 1px solid var(--project-border);
border-radius: 1.5rem;
background: linear-gradient(180deg, #f8fbfd 0%, #eef4f8 100%);
}
.project-links {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
}
.project-link {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 2.75rem;
padding: 0.7rem 1.2rem;
border-radius: 999px;
background: var(--project-accent);
color: #fff;
}
.project-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1rem;
}
@media (max-width: 768px) {
.project-hero {
padding: 1.4rem;
}
.project-grid {
grid-template-columns: 1fr;
}
}
Also include styles for .project-section, .project-section--alt, .project-card, .project-teaser, .project-caption, .project-details, .project-figure-grid, and .project-results-table.
- Step 3: Sanity-check the stylesheet wiring
Run:
rg -n "project-publication" assets/css/main.scss _sass/layout/_project-publication.scss
Expected: one import line in assets/css/main.scss and multiple scoped class definitions in the new partial.
Task 2: Rewrite the SAGO publication page into project-page structure
Files:
Modify:
_publications/2026-04-28-asymmetric-unlearning.mdStep 1: Restructure the top of the page into a hero block
Replace the simple author-and-links opening with an HTML-assisted hero section containing:
- title context line such as
ACL 2026 - author list
- action links for arXiv and code
- a short overview paragraph
- a three-card summary for
Retention,Forgetting, andGuarantee
The body should start with:
<div class="project-page">
<section class="project-hero">
<p class="project-eyebrow">ACL 2026</p>
<h1 class="project-title">Modeling LLM Unlearning as an Asymmetric Two-Task Learning Problem</h1>
<p class="project-authors"><strong>Zeguan Xiao</strong>, Siqing Li, Yong Wang, Xuetao Wei, Jian Yang, Yun Chen, Guanhua Chen</p>
<div class="project-links">
<a class="project-link" href="https://arxiv.org/abs/2604.14808">arXiv</a>
<a class="project-link" href="https://github.com/sustech-nlp/SAGO">Code</a>
</div>
</section>
- Step 2: Add a teaser/results block near the top
Move a visually strong figure block close to the hero, using either the Pareto figure or a paired figure layout with the gradient illustration and loss dynamics figure. Include explicit caption text and wrap it in project-teaser / project-figure-grid containers.
- Step 3: Reframe the narrative into separated sections
Rewrite the remainder into:
MotivationAsymmetric Two-Task LearningHow SAGO Synthesizes GradientsWhat the Results ShowWhy the Geometry MattersTakeawayCitation
Use alternating project-section and project-section project-section--alt wrappers.
- Step 4: Add a compact results table
Keep one compact markdown or HTML table that highlights the WMDP comparison and style it with project-results-table.
Task 3: Rewrite the POET publication page into project-page structure
Files:
Modify:
_publications/2026-06-14-reward-generation-gap.mdStep 1: Add the shared hero pattern
Convert the existing top matter body into the same project-page shell, with:
- venue eyebrow
- title and author line
- action links for arXiv and code
- one short overview paragraph
three summary cards for
Problem,Intervention, andBenefit- Step 2: Surface the core visual earlier
Place the reward-generation-gap figure inside a top teaser block immediately after the hero, with a concise caption that explains the prefix-vs-sequence mismatch.
- Step 3: Rewrite the article into showcase sections
Use these sections:
MotivationWhy Prefixes MatterPOET in One IdeaWhy Equal-Length Training HelpsResults Across SettingsWhen POET Helps MostTakeawayCitation
Wrap the content in the same scoped project-page containers used on the SAGO page.
- Step 4: Keep one representative comparison table
Retain the existing compact results table, place it inside the results section, and avoid adding extra dense benchmarks beyond what the current page already shows.
Task 4: Verify rendering and regression boundaries
Files:
- Verify:
_publications/2026-04-28-asymmetric-unlearning.md - Verify:
_publications/2026-06-14-reward-generation-gap.md - Verify:
_sass/layout/_project-publication.scss Verify: one unrelated publication page under
_publications/- Step 1: Run a local Jekyll build
Run:
bundle exec jekyll build
Expected: exit code 0 and the site is generated into _site/ without Liquid or Sass errors.
- Step 2: Check that the new project-page classes appear in built output
Run:
rg -n "project-hero|project-section|project-card" _site/publication
Expected: matches in the two target publication pages.
- Step 3: Confirm no unrelated publication picked up the new structure
Run:
rg -n "project-hero" _site/publication | wc -l
Expected: only the two target pages contribute matches.
