From 7e26bc06138e5489ad558137a68e73c07a245854 Mon Sep 17 00:00:00 2001 From: Vincent Lannurien Date: Mon, 17 Aug 2026 20:04:19 +0200 Subject: [PATCH] Keep the special issues section visible, space the digests intro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two small presentation fixes. The calendar page dropped its "Journal Special Issues" heading entirely when no entry existed, which is the state since f132f6b removed the two unverified CFPs. With only the conference table left, the page read as if journals weren't tracked at all rather than as having no open call. The heading now always renders, carrying a line that says so and why: these journals use rolling submission, so special issue CFPs are their only dated deadlines. In the digests list the intro paragraph sat flush against the first card. PaperMod gives .post-entry a bottom margin only, and .md-content zeroes its last child's, so nothing supplied the gap — the theme never hits this because its own .md-content usage sits inside a .post-entry. Added a page-intro class with a bottom margin matching the card-to-card gap, in the extended stylesheet rather than the submodule. Hugo isn't installed here, so the digests spacing is reasoned from the theme CSS rather than rendered. Co-Authored-By: Claude Opus 5 --- README.md | 2 +- site/assets/css/extended/custom.css | 7 +++++++ site/content/cloud-edge/calendar/_index.md | 6 +++++- site/layouts/_default/digests.html | 2 +- src/publish_assistant/generate_content.py | 10 +++++++++- 5 files changed, 23 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1ad3f20..78a01af 100644 --- a/README.md +++ b/README.md @@ -259,7 +259,7 @@ Every field must come from a published CFP. There is no fetcher for these, so no Special issue deadlines appear in three places: - **Journal page** — a "Special Issues" table below the journal metadata -- **Calendar page** — a "Journal Special Issues" table below the conference deadlines +- **Calendar page** — a "Journal Special Issues" table below the conference deadlines. The heading always renders; with no entries recorded it carries a line saying no call is open, so the page doesn't read as if journals went untracked - **FullCalendar grid** — events colored purple (`#7b2cbf`), titled `ACR SI — Title — deadline type`, carrying `cfp_url` in `extendedProps` Dates use the same `MMM D, YYYY` format as conference deadlines. `notification` additionally accepts month-only precision (`Jan 2027`), which lands on the first of that month in the calendar grid; the tables always print the raw string. diff --git a/site/assets/css/extended/custom.css b/site/assets/css/extended/custom.css index a40f936..df0275b 100644 --- a/site/assets/css/extended/custom.css +++ b/site/assets/css/extended/custom.css @@ -14,3 +14,10 @@ min-height: 180px; } } + +/* Intro copy above a list of cards. PaperMod gives .post-entry a bottom margin + only, and .md-content zeroes its last child's, so the intro would otherwise + sit flush against the first card. Matches the card-to-card gap. */ +.page-intro { + margin-bottom: var(--gap); +} diff --git a/site/content/cloud-edge/calendar/_index.md b/site/content/cloud-edge/calendar/_index.md index 90895c3..e9581d1 100644 --- a/site/content/cloud-edge/calendar/_index.md +++ b/site/content/cloud-edge/calendar/_index.md @@ -1,7 +1,7 @@ --- title: Submission Deadlines layout: calendar -generated: '2026-08-17T17:53:37Z' +generated: '2026-08-17T18:03:33Z' draft: false events: - title: OSDI — abstract deadline @@ -543,5 +543,9 @@ events: | [IPDPS](/cloud-edge/venues/conferences/ipdps/) | IEEE International Parallel and Distributed Processing Symposium | — | Oct 1, 2026 | Oct 8, 2026 | Feb 2, 2027 | Jun 1-5, 2027 | Seattle, WA, USA | A | | [OSDI](/cloud-edge/venues/conferences/osdi/) | USENIX Symposium on Operating Systems Design and Implementation | — | Dec 1, 2026 | Dec 8, 2026 | Mar 16, 2027 | Jul 7-9, 2027 | Baltimore, MD, USA | A* | +## Journal Special Issues + +No open call at any tracked journal. These journals use rolling submission, so special issue CFPs are their only dated deadlines — and none are recorded right now. + > Deadlines sourced from conference websites, [WikiCFP](http://www.wikicfp.com/), and journal special issue CFPs. diff --git a/site/layouts/_default/digests.html b/site/layouts/_default/digests.html index f232800..cdacdee 100644 --- a/site/layouts/_default/digests.html +++ b/site/layouts/_default/digests.html @@ -11,7 +11,7 @@ {{- end }} {{- if .Content }} -
+
{{- if not (.Param "disableAnchoredHeadings") }} {{- partial "anchored_headings.html" .Content -}} {{- else }}{{ .Content }}{{ end }} diff --git a/src/publish_assistant/generate_content.py b/src/publish_assistant/generate_content.py index 2730d1d..a1b81ca 100644 --- a/src/publish_assistant/generate_content.py +++ b/src/publish_assistant/generate_content.py @@ -627,9 +627,11 @@ def _calendar_body(venues: dict, icore: dict, deadlines: dict, base_path: str = si_rows.sort(key=lambda r: (parse_deadline(r[3]), r[0])) + # Always render the section: dropping it when empty made the page read as if + # journals weren't tracked at all, rather than as having no open call. + lines.append("\n## Journal Special Issues\n") if si_rows: lines += [ - "\n## Journal Special Issues\n", "| Venue | Title | Abstract | Paper deadline | Notification | Guest Editors |", "|---|---|---|---|---|---|", ] @@ -639,6 +641,12 @@ def _calendar_body(venues: dict, icore: dict, deadlines: dict, base_path: str = lines.append( f"| {link} | {si_title} | {abs_cell} | {paper} | {notif} | {editors} |" ) + else: + lines.append( + "No open call at any tracked journal. These journals use rolling " + "submission, so special issue CFPs are their only dated deadlines — " + "and none are recorded right now." + ) lines += [ "",