Skip to content

Commit 613fe51

Browse files
pubinoclaude
andcommitted
Redesign newsletter page with sidebar layout
- Recent Issues now prominent in main content area - Browse by Year and Manage Subscription moved to sticky sidebar - Responsive: sidebar moves above content on mobile 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 304e129 commit 613fe51

File tree

2 files changed

+43
-23
lines changed

2 files changed

+43
-23
lines changed

assets/css/site.css

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,20 @@ section:last-of-type{margin-bottom:0}
120120
.newsletter-actions{margin:0 0 24px}
121121
.newsletter-actions .btn{border-color:#2ea3f2;color:#2ea3f2}
122122
.newsletter-actions .btn:hover,.newsletter-actions .btn:focus{background:#2ea3f2;color:#fff}
123+
/* Newsletter page layout with sidebar */
124+
.newsletter-page{display:grid;grid-template-columns:1fr 250px;gap:40px;align-items:start}
125+
.newsletter-main{min-width:0}
126+
.newsletter-main h2{margin-top:0}
127+
.newsletter-sidebar{position:sticky;top:100px}
128+
.newsletter-sidebar h3{margin:24px 0 12px;font-size:1rem;color:#666}
129+
.newsletter-sidebar .year-list{list-style:none;margin:0;padding:0}
130+
.newsletter-sidebar .year-list li{margin:0 0 8px}
131+
.newsletter-sidebar .year-list a{text-decoration:none;color:#2ea3f2;font-weight:600}
132+
.newsletter-sidebar .year-list a:hover,.newsletter-sidebar .year-list a:focus{text-decoration:underline}
133+
@media (max-width:768px){
134+
.newsletter-page{grid-template-columns:1fr;gap:30px}
135+
.newsletter-sidebar{position:static;order:-1}
136+
}
123137
.newsletter-issue header h2{margin:0 0 5px;font-size:2rem;font-weight:600}
124138
.newsletter-issue .meta{color:#777;margin:0 0 30px;font-size:.9rem}
125139
.issue-pagination{display:flex;justify-content:space-between;margin:60px 0 0}

newsletter/index.md

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,34 @@ permalink: /newsletter/
66

77
<h1>SmartDrivingCars Newsletter</h1>
88

9-
<p class="newsletter-actions">
10-
<a class="btn manage-subscription" href="https://kornhauser.princeton.edu/newsletter">Manage Subscription</a>
11-
</p>
9+
<div class="newsletter-page">
10+
<main class="newsletter-main">
11+
<h2>Recent Issues</h2>
12+
<ul class="newsletter-archive">
13+
{% assign issues = site.newsletters | sort: 'date' | reverse %}
14+
{% for issue in issues %}
15+
<li>
16+
<a href="{{ issue.url }}"><time datetime="{{ issue.date | date_to_xmlschema }}">{{ issue.date | date: '%Y-%m-%d' }}</time> – {% if issue.display_name %}{{ issue.display_name }}{% else %}{{ issue.title }}{% endif %}</a>
17+
</li>
18+
{% endfor %}
19+
</ul>
20+
</main>
1221

13-
<h2>Browse by Year</h2>
14-
<ul>
15-
{% assign years_seen = "" %}
16-
{% assign issues = site.newsletters | sort: 'date' | reverse %}
17-
{% for issue in issues %}
18-
{% assign issue_year = issue.date | date: '%Y' %}
19-
{% unless years_seen contains issue_year %}
20-
{% assign years_seen = years_seen | append: issue_year | append: "," %}
21-
<li><a href="/newsletter/{{ issue_year }}/">{{ issue_year }}</a></li>
22-
{% endunless %}
23-
{% endfor %}
24-
</ul>
22+
<aside class="newsletter-sidebar">
23+
<p class="newsletter-actions">
24+
<a class="btn manage-subscription" href="https://kornhauser.princeton.edu/newsletter">Manage Subscription</a>
25+
</p>
2526

26-
<h2>Recent Issues</h2>
27-
<ul class="newsletter-archive">
28-
{% for issue in issues %}
29-
<li>
30-
<a href="{{ issue.url }}"><time datetime="{{ issue.date | date_to_xmlschema }}">{{ issue.date | date: '%Y-%m-%d' }}</time> – {% if issue.display_name %}{{ issue.display_name }}{% else %}{{ issue.title }}{% endif %}</a>
31-
</li>
32-
{% endfor %}
33-
</ul>
27+
<h3>Browse by Year</h3>
28+
<ul class="year-list">
29+
{% assign years_seen = "" %}
30+
{% for issue in issues %}
31+
{% assign issue_year = issue.date | date: '%Y' %}
32+
{% unless years_seen contains issue_year %}
33+
{% assign years_seen = years_seen | append: issue_year | append: "," %}
34+
<li><a href="/newsletter/{{ issue_year }}/">{{ issue_year }}</a></li>
35+
{% endunless %}
36+
{% endfor %}
37+
</ul>
38+
</aside>
39+
</div>

0 commit comments

Comments
 (0)