← back to Paul Conrad Cartoons
artifact/index.html
379 lines
<title>Conrad Cartoon Index</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;500;700&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,600;1,6..72,400&display=swap');
:root {
--paper: #eceae1;
--card: #f5f3ec;
--ink: #17150f;
--ink-soft: #57534a;
--line: #d5d1c5;
--red: #a11e12;
--gold: #8a6d24;
--doc: #2f5d43;
--arc: #7a5a1e;
color-scheme: light;
}
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
--paper: #16140e;
--card: #201d15;
--ink: #ece7d8;
--ink-soft: #a49d8b;
--line: #332f25;
--red: #e0694e;
--gold: #d0b25f;
--doc: #6fbf8f;
--arc: #d9b25f;
color-scheme: dark;
}
}
:root[data-theme="dark"] {
--paper: #16140e;
--card: #201d15;
--ink: #ece7d8;
--ink-soft: #a49d8b;
--line: #332f25;
--red: #e0694e;
--gold: #d0b25f;
--doc: #6fbf8f;
--arc: #d9b25f;
color-scheme: dark;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--paper);
color: var(--ink);
font-family: "Newsreader", Georgia, serif;
font-size: 16px;
line-height: 1.5;
}
.wrap { max-width: 1160px; margin: 0 auto; padding-inline: 20px; }
/* masthead */
header.masthead {
border-bottom: 3px solid var(--ink);
padding-block: 26px 18px;
text-align: center;
}
.kicker {
font-family: "Oswald", system-ui, sans-serif;
font-weight: 500;
letter-spacing: .28em;
text-transform: uppercase;
font-size: 11px;
color: var(--red);
margin-bottom: 6px;
}
header.masthead h1 {
font-family: "Oswald", system-ui, sans-serif;
font-weight: 700;
letter-spacing: .01em;
font-size: clamp(30px, 6vw, 56px);
line-height: .98;
margin: 0;
text-transform: uppercase;
text-wrap: balance;
}
header.masthead .life { font-weight: 300; color: var(--ink-soft); }
header.masthead .dek {
max-width: 60ch;
margin: 12px auto 0;
color: var(--ink-soft);
font-size: 15px;
}
.prizes {
display: flex; gap: 10px; justify-content: center; flex-wrap: wrap;
margin-top: 14px;
}
.prize {
font-family: "Oswald", system-ui, sans-serif;
font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
border: 1px solid var(--gold); color: var(--gold);
padding: 4px 10px; border-radius: 2px;
}
/* controls */
.toolbar {
position: sticky; top: env(safe-area-inset-top, 0px); z-index: 5;
background: var(--paper);
border-bottom: 1px solid var(--line);
display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px;
padding-block: 12px;
}
.toolbar label {
font-family: "Oswald", system-ui, sans-serif;
font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
color: var(--ink-soft); margin-right: 6px;
}
select, input[type="search"] {
font-family: "Newsreader", Georgia, serif; font-size: 15px;
background: var(--card); color: var(--ink);
border: 1px solid var(--line); border-radius: 2px; padding: 6px 9px;
}
input[type="search"] { min-width: 190px; flex: 1 1 190px; }
input[type="range"] { accent-color: var(--red); width: 120px; vertical-align: middle; }
.count { margin-left: auto; font-family: "Oswald", system-ui, sans-serif; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); }
/* facet chips */
.facets { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 14px 4px; }
.chip {
font-family: "Oswald", system-ui, sans-serif;
font-size: 12px; letter-spacing: .05em;
background: none; color: var(--ink-soft);
border: 1px solid var(--line); border-radius: 999px;
padding: 4px 12px; cursor: pointer;
}
.chip[aria-pressed="true"] { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.chip.clear { border-style: dashed; }
/* grid */
main { padding-block: 8px 60px; }
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(var(--col, 260px), 1fr));
gap: 16px;
margin-top: 12px;
}
.card {
background: var(--card);
border: 1px solid var(--line);
border-left: 3px solid var(--rail, var(--line));
border-radius: 3px;
padding: 14px 16px;
cursor: pointer;
display: flex; flex-direction: column; gap: 8px;
text-align: left;
color: inherit; font: inherit;
}
.card:hover { border-color: var(--ink-soft); }
.card:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
.card[data-rt="documented"] { --rail: var(--doc); }
.card[data-rt="collection-summary"] { --rail: var(--arc); }
.card[data-award="1"] { --rail: var(--red); }
.card .date {
font-family: "Oswald", system-ui, sans-serif;
font-size: 12px; letter-spacing: .06em; color: var(--ink-soft);
font-variant-numeric: tabular-nums;
}
.card .title { font-size: 18px; font-weight: 600; line-height: 1.25; }
.card .subj { font-size: 14px; color: var(--ink-soft); flex: 1; }
.card .tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 2px; }
.tag {
font-family: "Oswald", system-ui, sans-serif;
font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
padding: 2px 7px; border-radius: 2px; color: var(--paper);
}
.tag.documented { background: var(--doc); }
.tag.collection-summary { background: var(--arc); }
.tag.award { background: var(--red); }
.tag.pub { background: none; color: var(--ink-soft); border: 1px solid var(--line); }
.empty { padding: 50px 0; text-align: center; color: var(--ink-soft); font-style: italic; }
/* modal */
.backdrop {
position: fixed; inset: 0; background: rgba(0,0,0,.55);
display: none; align-items: center; justify-content: center; padding: 20px; z-index: 40;
}
.backdrop.open { display: flex; }
.modal {
background: var(--card); color: var(--ink);
border: 1px solid var(--line); border-top: 4px solid var(--red);
border-radius: 4px; max-width: 640px; width: 100%;
max-height: 86vh; overflow-y: auto; padding: 24px 26px; position: relative;
}
.modal .x {
position: absolute; top: 12px; right: 14px; background: none; border: none;
font-size: 24px; line-height: 1; cursor: pointer; color: var(--ink-soft);
}
.modal .m-kicker { font-family: "Oswald", system-ui, sans-serif; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.modal h2 { font-family: "Oswald", system-ui, sans-serif; font-weight: 700; font-size: 26px; margin: 4px 0 2px; text-wrap: balance; }
.modal .m-date { color: var(--ink-soft); font-size: 14px; margin-bottom: 16px; font-variant-numeric: tabular-nums; }
.modal dl { display: grid; grid-template-columns: 120px 1fr; gap: 8px 16px; margin: 0; font-size: 15px; }
.modal dt { font-family: "Oswald", system-ui, sans-serif; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); padding-top: 2px; }
.modal dd { margin: 0; }
.modal a { color: var(--red); }
.modal .rights { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; font-style: italic; color: var(--ink-soft); }
footer { border-top: 1px solid var(--line); padding-block: 20px 30px; color: var(--ink-soft); font-size: 13px; }
footer a { color: var(--red); }
@media (max-width: 520px) {
.modal dl { grid-template-columns: 1fr; gap: 2px; }
.modal dt { margin-top: 8px; }
}
</style>
<header class="masthead">
<div class="wrap">
<div class="kicker">Catalogue of an Editorial Cartoonist</div>
<h1>Paul Conrad <span class="life">1924–2010</span></h1>
<p class="dek" id="dek"></p>
<div class="prizes" id="prizes"></div>
</div>
</header>
<div class="wrap">
<div class="toolbar">
<span><label for="q">Search</label><input type="search" id="q" placeholder="title, subject, year…"></span>
<span><label for="sort">Sort</label>
<select id="sort">
<option value="year-asc">Year ↑</option>
<option value="year-desc">Year ↓</option>
<option value="title">Title A–Z</option>
<option value="award">Prizes first</option>
</select>
</span>
<span><label for="density">Density</label><input type="range" id="density" min="200" max="380" step="20" value="260"></span>
<span class="count" id="count"></span>
</div>
<div class="facets" id="facets"></div>
</div>
<main class="wrap">
<div class="grid" id="grid"></div>
<div class="empty" id="empty" hidden>No entries match these filters.</div>
</main>
<footer class="wrap">
<p><strong>On the images.</strong> No public-domain or open-license Paul Conrad cartoon exists — every work is copyright the Los Angeles Times or the Conrad estate. This index therefore hosts no cartoon images; each entry links to the holding archive or retrospective where the work can be viewed.</p>
<p id="sources"></p>
</footer>
<div class="backdrop" id="backdrop"><div class="modal" id="modal" role="dialog" aria-modal="true"></div></div>
<script>
const DATA = {"bio":{"name":"Paul Francis Conrad","born":"1924-06-27, Cedar Rapids, Iowa","died":"2010-09-04, Rancho Palos Verdes, California","education":"University of Iowa, art degree, 1950","career":"Denver Post editorial cartoonist 1950-1964; Los Angeles Times chief editorial cartoonist 1964-1993; syndicated ~4 cartoons/week thereafter into 2008","honors":"Pulitzer Prize for Editorial Cartooning 1964, 1971, 1984; Robert F. Kennedy Journalism Award 1985/1990/1992/1993; AAEC Lifetime Achievement Award 1998; placed on Nixon's Enemies List 1973; held the Richard M. Nixon Chair at Whittier College 1977-78","family":"Wife Kay King (m. 1953); children Jamie, David, Carol, Libby; twin brother James","citation_url":"https://en.wikipedia.org/wiki/Paul_Conrad"},"records":[{"id":"pulitzer-1964","title":"Pulitzer Prize for Editorial Cartooning (1964)","date":"1964","publication":"Denver Post","subject":"Body of editorial cartooning during the prior year. Citation (verbatim): \"For his editorial cartooning during the past year.\" The prize is a year-of-work award; no single cartoon is named.","award":"Pulitzer Prize for Editorial Cartooning 1964","record_type":"documented","rights_note":"Official Pulitzer winner page names no specific cartoon and displays no image.","citation_url":"https://www.pulitzer.org/winners/paul-conrad"},{"id":"pulitzer-1971","title":"Pulitzer Prize for Editorial Cartooning (1971)","date":"1971","publication":"Los Angeles Times","subject":"Body of editorial cartooning during 1970 (Nixon era, Vietnam War). Year-of-work award; no single cartoon named.","award":"Pulitzer Prize for Editorial Cartooning 1971","record_type":"documented","rights_note":"No specific cartoon named; no official image.","citation_url":"https://www.pulitzer.org/winners/paul-conrad"},{"id":"pulitzer-1984","title":"Pulitzer Prize for Editorial Cartooning (1984)","date":"1984","publication":"Los Angeles Times","subject":"Body of editorial cartooning during the prior year (Reagan-era themes: homelessness, nuclear arms, corporate/political power). Year-of-work award; no single cartoon named.","award":"Pulitzer Prize for Editorial Cartooning 1984","record_type":"documented","rights_note":"No specific cartoon named; no official image displayed.","citation_url":"https://www.pulitzer.org/winners/paul-conrad"},{"id":"obit-phone-company-1972","title":"He says he's from the phone company…","date":"1972-06-18","publication":"Los Angeles Times","subject":"Watergate break-in — earliest cartoon linking Nixon to it (Democrats suspicious of a Nixon 'repairman' at the door)","award":null,"record_type":"documented","rights_note":"© Los Angeles Times / Conrad estate. Low-res reproduction shown for private reference only; view in context at the source.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-political-cartoons/"},{"id":"obit-worst-enemy-1973","title":"His Own Worst Enemy","date":"1973","publication":"Los Angeles Times","subject":"Nixon surrounded by the pages of his enemies list","award":null,"record_type":"documented","rights_note":"© Los Angeles Times / Conrad estate. Low-res reproduction shown for private reference only.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-political-cartoons/"},{"id":"obit-spiders-web-1973","title":"Nixon caught in the Watergate spider web","date":"1973","publication":"Los Angeles Times","subject":"Co-conspirators' names woven into the web","award":null,"record_type":"documented","rights_note":"© Los Angeles Times / Conrad estate. Low-res reproduction shown for private reference only.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-political-cartoons/"},{"id":"obit-come-get-me-1974","title":"If you want me, you're gonna have to come in and get me!","date":"1974","publication":"Los Angeles Times","subject":"Nixon barricaded in the White House in his final Watergate days","award":null,"record_type":"documented","rights_note":"© Los Angeles Times / Conrad estate. Low-res reproduction shown for private reference only.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-political-cartoons/"},{"id":"obit-lbj-hubert-1968","title":"We're Gonna' Make History, Hubert!!","date":"1968","publication":"Los Angeles Times","subject":"LBJ and Hubert Humphrey riding a falling bomb — Vietnam War / 1968 campaign","award":null,"record_type":"documented","rights_note":"© Los Angeles Times / Conrad estate. Low-res reproduction shown for private reference only.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-political-cartoons/"},{"id":"obit-reagan-gothic-1986","title":"Reagan 'American Gothic'","date":"1986","publication":"Los Angeles Times","subject":"Ronald and Nancy Reagan as the Grant Wood farm couple — 1980s farm crisis / foreclosures","award":null,"record_type":"documented","rights_note":"© Los Angeles Times / Conrad estate. Low-res reproduction shown for private reference only.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-political-cartoons/"},{"id":"obit-clinton-horn-1994","title":"Young Man With a Horn","date":"1994","publication":"Los Angeles Times","subject":"Clinton playing a sax into the Republican elephant's trunk — accommodating the GOP agenda (post-LA Times syndicated work)","award":null,"record_type":"documented","rights_note":"© Los Angeles Times / Conrad estate. Low-res reproduction shown for private reference only.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-political-cartoons/"},{"id":"obit-palin-2008","title":"Sarah Palin with the slain Republican elephant","date":"2008","publication":"Syndicated (post-LA Times)","subject":"Palin holding a smoking gun and the dead elephant's trunk — the 2008 GOP","award":null,"record_type":"documented","rights_note":"© Conrad estate. Low-res reproduction shown for private reference only.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-political-cartoons/"},{"id":"obit-cuckoos-nest-1974","title":"One flew over the cuckoo's nest","date":"1974-08","publication":"Los Angeles Times","subject":"Nixon's helicopter departing the White House at his resignation","award":null,"record_type":"documented","rights_note":"Described in the 2010 Associated Press obituary; no rights-clear image located.","citation_url":"https://www.nevadaappeal.com/news/2010/sep/05/pulitzer-winning-cartoonist-paul-conrad-dies-at-86/"},{"id":"obit-nixon-cross-1974","title":"Nixon nailing himself to a cross","date":"1974","publication":"Los Angeles Times","subject":"Nixon crucifying himself in his last days — Conrad called it one of his all-time favorites","award":null,"record_type":"documented","rights_note":"Described in Wikipedia and the LOC LCIB profile; no rights-clear image located.","citation_url":"https://en.wikipedia.org/wiki/Paul_Conrad"},{"id":"obit-yorty-1969","title":"Sam Yorty as delusional","date":"1969","publication":"Los Angeles Times","subject":"LA Mayor imagining himself as Nixon's Secretary of Defense — prompted the unsuccessful Yorty v. Chandler libel suit","award":null,"record_type":"documented","rights_note":"Described in Wikipedia and the Toons Mag profile.","citation_url":"https://en.wikipedia.org/wiki/Paul_Conrad"},{"id":"obit-apollo1-1967","title":"Apollo 1 tragedy — 'I thought you knew, I've been aboard on every flight'","date":"1967-01-27","publication":"Los Angeles Times","subject":"Death in a spacesuit holding Mercury and Gemini craft, smoldering Apollo behind — the Apollo 1 fire","award":null,"record_type":"documented","rights_note":"Described in the Encyclopedia.com entry.","citation_url":"https://www.encyclopedia.com/humanities/encyclopedias-almanacs-transcripts-and-maps/conrad-paul"},{"id":"obit-apollo11-1969","title":"Apollo 11 moon landing (a mailbox already planted for a Moon resident)","date":"1969-07-20","publication":"Los Angeles Times","subject":"First Moon landing","award":null,"record_type":"documented","rights_note":"Described in the Encyclopedia.com entry.","citation_url":"https://www.encyclopedia.com/humanities/encyclopedias-almanacs-transcripts-and-maps/conrad-paul"},{"id":"obit-moratorium-1969","title":"Vietnam Moratorium — 'If only there'd been a Vietnam moratorium five years ago'","date":"1969","publication":"Los Angeles Times","subject":"Ghosts of dead soldiers marching over Washington, D.C. — the anti-war moratorium","award":null,"record_type":"documented","rights_note":"Described in the Encyclopedia.com entry (year given; exact day uncertain).","citation_url":"https://www.encyclopedia.com/humanities/encyclopedias-almanacs-transcripts-and-maps/conrad-paul"},{"id":"obit-burro-denver","title":"Reporter riding a worn burro backwards","date":"1950s–1963","publication":"Denver Post","subject":"Media criticism — the press getting the story 'ass-backwards'","award":null,"record_type":"documented","rights_note":"Described in the Encyclopedia.com entry.","citation_url":"https://www.encyclopedia.com/humanities/encyclopedias-almanacs-transcripts-and-maps/conrad-paul"},{"id":"obit-nast-1982","title":"Affixing Blame for Our Economic Problems","date":"1982-09-30","publication":"Los Angeles Times","subject":"After Thomas Nast's 1871 'Who Stole the People's Money?' ring cartoon — Reagan-era economy / passing the blame","award":null,"record_type":"documented","rights_note":"Described in the Spartacus Educational profile.","citation_url":"https://spartacus-educational.com/ARTconrad.htm"},{"id":"obit-reagan-selfportrait-1984","title":"Self-portrait begging for four more years for Ronald Reagan","date":"1984-11-07","publication":"Los Angeles Times","subject":"Reagan's re-election","award":null,"record_type":"documented","rights_note":"Described in the Library of Congress LCIB profile.","citation_url":"https://www.loc.gov/loc/lcib/9910/conrad.html"},{"id":"obit-littlerock-1958","title":"Eisenhower and Little Rock school desegregation","date":"1958","publication":"Denver Post","subject":"Civil rights / school integration","award":null,"record_type":"documented","rights_note":"Listed in The Pop History Dig retrospective.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-enemies-list/"},{"id":"obit-lbj-blankcheck-1964","title":"LBJ signing a blank check for the Vietnam War","date":"1964","publication":"Los Angeles Times","subject":"Gulf of Tonkin / open-ended Vietnam commitment","award":null,"record_type":"documented","rights_note":"Listed in The Pop History Dig retrospective.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-enemies-list/"},{"id":"obit-ford-pardon-1974","title":"Gerald Ford and the Nixon pardon","date":"1974-09","publication":"Los Angeles Times","subject":"Ford's pardon of Nixon","award":null,"record_type":"documented","rights_note":"Listed in The Pop History Dig retrospective.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-enemies-list/"},{"id":"obit-richard-ii-1973","title":"Nixon as Shakespeare's King Richard II","date":"1973","publication":"Los Angeles Times","subject":"Nixon's decline / Watergate","award":null,"record_type":"documented","rights_note":"Listed in The Pop History Dig retrospective.","citation_url":"https://pophistorydig.com/topics/tag/paul-conrad-enemies-list/"},{"id":"obit-popepaulvi-1977","title":"Pope Paul VI as a baby","date":"1977","publication":"Los Angeles Times","subject":"Catholic Church doctrine / women's ordination — Cardinal Timothy Manning objected","award":null,"record_type":"documented","rights_note":"Described in the Toons Mag profile.","citation_url":"https://www.toonsmag.com/paul-conrad/"},{"id":"loc-sl-hud-1989","title":"S&L's and HUD","date":"1989-07-16","publication":"Los Angeles Times","subject":"Savings & Loan / HUD scandals vs. Teapot Dome; pot-calling-kettle-black","award":null,"record_type":"documented","rights_note":"May be restricted: Copyright 1989, The Los Angeles Times. LOC holds a digitized copy — view via the catalog link; not embedded here.","citation_url":"https://www.loc.gov/item/2016685149/"},{"id":"loc-death-row-1991","title":"Death row","date":"1991-04-19","publication":"Los Angeles Times","subject":"Six Supreme Court justices in a row; capital punishment","award":null,"record_type":"documented","rights_note":"May be restricted: Copyright 1991, The Los Angeles Times. LOC holds a digitized copy — view via the catalog link.","citation_url":"https://www.loc.gov/item/2016685127/"},{"id":"loc-disarmament-1961","title":"My disarmament plan is better than your disarmament plan!","date":"1961","publication":"Denver Post","subject":"Cold War disarmament posturing","award":null,"record_type":"documented","rights_note":"Rights status not evaluated by LOC — treat as non-embeddable.","citation_url":"https://www.loc.gov/item/2005685912/"},{"id":"loc-herblock-2000","title":"[Herblock as George Washington]","date":"2000","publication":"Other","subject":"Caricature of cartoonist Herblock as George Washington","award":null,"record_type":"documented","rights_note":"Publication may be restricted — treat as non-embeddable.","citation_url":"https://www.loc.gov/item/00652290/"},{"id":"loc-inheritance-1990","title":"We spent your children's and your grandchildren's inheritance","date":"1990","publication":"Los Angeles Times","subject":"Deficit / generational debt","award":null,"record_type":"documented","rights_note":"May be restricted: Copyright 1990, Los Angeles Times.","citation_url":"https://www.loc.gov/item/2016685135/"},{"id":"loc-nra-pacifier-1982","title":"NRA pacifier","date":"1982","publication":"Los Angeles Times","subject":"Gun politics / NRA","award":null,"record_type":"documented","rights_note":"May be restricted: Copyright 1982, The Los Angeles Times.","citation_url":"https://www.loc.gov/item/2016685176/"},{"id":"loc-southamerica-1959","title":"Hereafter, dear, I'll be the 'expert' on South America","date":"1959","publication":"Denver Post","subject":"Foreign-relations / South America policy","award":null,"record_type":"documented","rights_note":"May be restricted — no affirmative open statement; treat as non-embeddable.","citation_url":"https://www.loc.gov/item/2016680206/"},{"id":"loc-barroom-1989","title":"The face on the barroom floor","date":"1989","publication":"Los Angeles Times","subject":"Political commentary (1989)","award":null,"record_type":"documented","rights_note":"May be restricted: Copyright 1989, The Los Angeles Times.","citation_url":"https://www.loc.gov/item/2016685150/"},{"id":"loc-naked-truth-1987","title":"The naked truth","date":"1987","publication":"Los Angeles Times","subject":"Political commentary (1987)","award":null,"record_type":"documented","rights_note":"May be restricted: Copyright 1987, The Los Angeles Times.","citation_url":"https://www.loc.gov/item/2016685157/"},{"id":"loc-black-teen-unemployment-1977","title":"Black teen-agers 40% unemployed. --news item","date":"1977","publication":"Los Angeles Times","subject":"Black youth unemployment","award":null,"record_type":"documented","rights_note":"May be restricted: Copyright 1977, Los Angeles Times.","citation_url":"https://www.loc.gov/item/2016685134/"},{"id":"coll-huntington","title":"Paul Conrad Papers — The Huntington Library","date_range":"1950–2005","publication":null,"subject":"The largest and most complete Conrad archive: original cartoons, rough sketches, correspondence (fan mail, hate mail, letters from figures incl. Gerald Ford), book/speech/lecture and lawsuit files (Yorty; Union Oil's Hartley; Mauldin 'Willie and Joe'), photographs, ephemera, tear sheets. Original cartoons begin 1959/1967 and run to 2003; original Denver Post cartoons are NOT held (only tear sheets).","award":null,"record_type":"collection-summary","extent":"272.41 linear feet (285 boxes). Identifier mssCON 1-12360. Cartoons in Boxes 1-106 + oversize 107-167, ~40-50 per box, each foldered.","rights_note":"No explicit access restriction stated. Preferred citation: '[item]. Paul Conrad Papers, The Huntington Library, San Marino, California.'","citation_url":"https://oac.cdlib.org/findaid/ark:/13030/c8z03dxd/"},{"id":"coll-syracuse","title":"Paul Conrad Cartoons — Syracuse University","date_range":"[1944?]–1986, bulk 1963–1969","publication":null,"subject":"More than one thousand original editorial cartoons, predominantly 1960s Los Angeles Times work, donated over the 1960s. The finding aid is a deep SUBJECT index (people, issues, events → box/folder) — the best route to hunt cartoons by theme — not a per-image digitized catalog.","award":null,"record_type":"collection-summary","extent":"~10 boxes; reported ~1,000+ original cartoons. Not stated in linear feet.","rights_note":"No access restriction noted in the guide.","citation_url":"https://library.syracuse.edu/digital/guides/c/conrad_p.htm"},{"id":"coll-wichita","title":"Cartoon Collection of Paul Conrad — Wichita State University","date_range":"1968–1971","publication":null,"subject":"Editorial cartoons originally submitted to the Los Angeles Times. Series 1 — Miscellaneous Items (undated); Series 2 — Political Cartoons (1968–1971).","award":null,"record_type":"collection-summary","extent":"2 linear feet. Identifier MS-90-18.","rights_note":"Literary rights NOT granted to Wichita State; permission to examine is not authorization to publish. Some items off-site (48h retrieval).","citation_url":"https://archivesspace.wichita.edu/repositories/3/resources/166"}]};
const BIO = DATA.bio || {};
const RECORDS = (DATA.records || []).map((r, i) => ({
id: r.id || ('r'+i),
title: r.title || 'Untitled',
date: r.date || r.date_range || '',
year: (String(r.date || r.date_range || '').match(/\d{4}/) || ['—'])[0],
publication: r.publication || '',
subject: r.subject || '',
award: r.award || '',
record_type: r.record_type || 'documented',
extent: r.extent || '',
rights_note: r.rights_note || '',
citation_url: r.citation_url || ''
}));
const esc = s => String(s==null?'':s).replace(/[&<>"']/g, c => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
const el = id => document.getElementById(id);
let filters = { year:null, publication:null, record_type:null, awardOnly:false };
// masthead
el('dek').textContent = BIO.career
? (BIO.career + '. ' + (BIO.honors ? BIO.honors.split(';')[0] + '.' : ''))
: 'Three-time Pulitzer Prize–winning editorial cartoonist.';
el('prizes').innerHTML = ['1964','1971','1984'].map(y => '<span class="prize">Pulitzer '+y+'</span>').join('');
// facets
function facetValues(field) {
const m = new Map();
for (const r of RECORDS) { const v = r[field]; if (v) m.set(v, (m.get(v)||0)+1); }
return [...m.entries()].sort((a,b)=> b[1]-a[1] || String(a[0]).localeCompare(String(b[0])));
}
function renderFacets() {
const parts = [];
parts.push('<button class="chip" data-f="awardOnly" aria-pressed="'+(filters.awardOnly?'true':'false')+'">Pulitzer years</button>');
for (const rt of ['documented','collection-summary']) {
const n = RECORDS.filter(r=>r.record_type===rt).length; if (!n) continue;
const label = rt==='documented' ? 'Documented' : 'Archive holdings';
parts.push('<button class="chip" data-f="record_type" data-v="'+rt+'" aria-pressed="'+(filters.record_type===rt?'true':'false')+'">'+label+' · '+n+'</button>');
}
for (const [v,n] of facetValues('publication')) {
parts.push('<button class="chip" data-f="publication" data-v="'+esc(v)+'" aria-pressed="'+(filters.publication===v?'true':'false')+'">'+esc(v)+' · '+n+'</button>');
}
if (filters.year || filters.publication || filters.record_type || filters.awardOnly)
parts.push('<button class="chip clear" data-f="clear">Clear</button>');
const f = el('facets'); f.innerHTML = parts.join('');
f.querySelectorAll('.chip').forEach(c => c.addEventListener('click', () => {
const k = c.dataset.f;
if (k === 'clear') filters = { year:null, publication:null, record_type:null, awardOnly:false };
else if (k === 'awardOnly') filters.awardOnly = !filters.awardOnly;
else filters[k] = filters[k] === c.dataset.v ? null : c.dataset.v;
renderFacets(); render();
}));
}
function applied() {
const q = el('q').value.trim().toLowerCase();
return RECORDS.filter(r => {
if (filters.publication && r.publication !== filters.publication) return false;
if (filters.record_type && r.record_type !== filters.record_type) return false;
if (filters.awardOnly && !r.award) return false;
if (q) {
const hay = [r.title, r.subject, r.publication, r.award, r.date].join(' ').toLowerCase();
if (!hay.includes(q)) return false;
}
return true;
});
}
function sorted(list) {
const a = [...list], m = el('sort').value;
if (m==='year-asc') a.sort((x,y)=> x.year.localeCompare(y.year) || x.title.localeCompare(y.title));
else if (m==='year-desc') a.sort((x,y)=> y.year.localeCompare(x.year) || x.title.localeCompare(y.title));
else if (m==='title') a.sort((x,y)=> x.title.localeCompare(y.title));
else if (m==='award') a.sort((x,y)=> (y.award?1:0)-(x.award?1:0) || x.year.localeCompare(y.year));
return a;
}
function render() {
const list = sorted(applied());
el('count').textContent = list.length + ' of ' + RECORDS.length;
const g = el('grid');
el('empty').hidden = list.length !== 0;
g.innerHTML = list.map(r => {
const tags = [
'<span class="tag '+r.record_type+'">'+(r.record_type==='documented'?'Documented':'Archive')+'</span>',
r.award ? '<span class="tag award">Pulitzer</span>' : '',
r.publication ? '<span class="tag pub">'+esc(r.publication)+'</span>' : ''
].join('');
return '<button class="card" data-id="'+r.id+'" data-rt="'+r.record_type+'" data-award="'+(r.award?1:0)+'">'
+ '<span class="date">'+esc(r.date || r.year)+'</span>'
+ '<span class="title">'+esc(r.title)+'</span>'
+ '<span class="subj">'+esc(r.subject)+'</span>'
+ '<span class="tags">'+tags+'</span></button>';
}).join('');
g.querySelectorAll('.card').forEach(c => c.addEventListener('click', () => openModal(c.dataset.id)));
}
function openModal(id) {
const r = RECORDS.find(x => x.id === id); if (!r) return;
el('modal').innerHTML =
'<button class="x" id="mx" aria-label="Close">×</button>'
+ '<div class="m-kicker">'+(r.record_type==='documented'?'Cartoon':'Archive holding')+(r.award?' · Pulitzer':'')+'</div>'
+ '<h2>'+esc(r.title)+'</h2>'
+ '<div class="m-date">'+esc(r.date || r.year)+(r.publication?' · '+esc(r.publication):'')+'</div>'
+ '<dl>'
+ '<dt>Subject</dt><dd>'+esc(r.subject||'—')+'</dd>'
+ (r.award?'<dt>Award</dt><dd>'+esc(r.award)+'</dd>':'')
+ (r.extent?'<dt>Extent</dt><dd>'+esc(r.extent)+'</dd>':'')
+ '<dt>Source</dt><dd>'+(r.citation_url?'<a href="'+esc(r.citation_url)+'" target="_blank" rel="noopener noreferrer">'+esc(r.citation_url.replace(/^https?:\/\//,'').split('/')[0])+' ↗</a>':'—')+'</dd>'
+ '</dl>'
+ (r.rights_note?'<div class="rights">'+esc(r.rights_note)+'</div>':'');
el('mx').addEventListener('click', closeModal);
el('backdrop').classList.add('open');
}
function closeModal(){ el('backdrop').classList.remove('open'); }
el('backdrop').addEventListener('click', e => { if (e.target.id==='backdrop') closeModal(); });
document.addEventListener('keydown', e => { if (e.key==='Escape') closeModal(); });
el('q').addEventListener('input', render);
el('sort').addEventListener('change', render);
el('density').addEventListener('input', () => document.documentElement.style.setProperty('--col', el('density').value + 'px'));
document.documentElement.style.setProperty('--col', el('density').value + 'px');
// sources line
const srcHosts = [...new Set(RECORDS.map(r=>r.citation_url).filter(Boolean).map(u=>u.replace(/^https?:\/\//,'').split('/')[0]))];
el('sources').innerHTML = 'Compiled from ' + srcHosts.map(h=>esc(h)).join(' · ') + '.';
renderFacets();
render();
</script>