Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed assets/portraits/security-pros/card_001.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_002.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_003.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_004.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_005.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_006.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_007.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_008.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_009.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_010.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_011.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_012.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_013.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_014.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_015.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_016.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_017.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_018.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_019.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_020.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_021.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_022.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_023.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_024.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_025.png
Binary file not shown.
Binary file removed assets/portraits/security-pros/card_026.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_027.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_028.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_029.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_030.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_031.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_032.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_033.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_034.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_035.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_036.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_037.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_038.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_039.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_040.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_041.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_042.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_043.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_044.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_045.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_046.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_047.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_048.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_049.png
Diff not rendered.
Binary file removed assets/portraits/security-pros/card_050.png
Diff not rendered.
Binary file removed public/cards/security/001-whitfield-diffie-back.png
Diff not rendered.
Diff not rendered.
Binary file removed public/cards/security/002-martin-hellman-back.png
Diff not rendered.
Binary file removed public/cards/security/002-martin-hellman-front.png
Diff not rendered.
Binary file removed public/cards/security/003-ron-rivest-back.png
Diff not rendered.
Binary file removed public/cards/security/003-ron-rivest-front.png
Diff not rendered.
Binary file removed public/cards/security/004-adi-shamir-back.png
Diff not rendered.
Binary file removed public/cards/security/004-adi-shamir-front.png
Diff not rendered.
Binary file removed public/cards/security/005-leonard-adleman-back.png
Diff not rendered.
Binary file removed public/cards/security/005-leonard-adleman-front.png
Diff not rendered.
Binary file removed public/cards/security/006-phil-zimmermann-back.png
Diff not rendered.
Binary file removed public/cards/security/006-phil-zimmermann-front.png
Diff not rendered.
Binary file removed public/cards/security/007-bruce-schneier-back.png
Diff not rendered.
Binary file removed public/cards/security/007-bruce-schneier-front.png
Diff not rendered.
Binary file removed public/cards/security/008-paul-kocher-back.png
Diff not rendered.
Binary file removed public/cards/security/008-paul-kocher-front.png
Diff not rendered.
Binary file removed public/cards/security/009-dorothy-denning-back.png
Diff not rendered.
Binary file removed public/cards/security/009-dorothy-denning-front.png
Diff not rendered.
Binary file removed public/cards/security/010-gene-spafford-back.png
Diff not rendered.
Binary file removed public/cards/security/010-gene-spafford-front.png
Diff not rendered.
Binary file removed public/cards/security/011-ross-anderson-back.png
Diff not rendered.
Binary file removed public/cards/security/011-ross-anderson-front.png
Diff not rendered.
Binary file removed public/cards/security/012-matt-blaze-back.png
Diff not rendered.
Binary file removed public/cards/security/012-matt-blaze-front.png
Diff not rendered.
Binary file removed public/cards/security/013-radia-perlman-back.png
Diff not rendered.
Binary file removed public/cards/security/013-radia-perlman-front.png
Diff not rendered.
Binary file removed public/cards/security/014-steven-bellovin-back.png
Diff not rendered.
Binary file removed public/cards/security/014-steven-bellovin-front.png
Diff not rendered.
Binary file removed public/cards/security/015-william-cheswick-back.png
Diff not rendered.
Diff not rendered.
Binary file removed public/cards/security/016-marcus-ranum-back.png
Diff not rendered.
Binary file removed public/cards/security/016-marcus-ranum-front.png
Diff not rendered.
Binary file removed public/cards/security/017-wietse-venema-back.png
Diff not rendered.
Binary file removed public/cards/security/017-wietse-venema-front.png
Diff not rendered.
Binary file removed public/cards/security/018-dan-farmer-back.png
Diff not rendered.
Binary file removed public/cards/security/018-dan-farmer-front.png
Diff not rendered.
Binary file removed public/cards/security/019-gordon-lyon-back.png
Diff not rendered.
Binary file removed public/cards/security/019-gordon-lyon-front.png
Diff not rendered.
Binary file removed public/cards/security/020-martin-roesch-back.png
Diff not rendered.
Binary file removed public/cards/security/020-martin-roesch-front.png
Diff not rendered.
Binary file removed public/cards/security/021-gerald-combs-back.png
Diff not rendered.
Binary file removed public/cards/security/021-gerald-combs-front.png
Diff not rendered.
Binary file removed public/cards/security/022-renaud-deraison-back.png
Diff not rendered.
Binary file removed public/cards/security/022-renaud-deraison-front.png
Diff not rendered.
Binary file removed public/cards/security/023-paul-vixie-back.png
Diff not rendered.
Binary file removed public/cards/security/023-paul-vixie-front.png
Diff not rendered.
Binary file removed public/cards/security/024-niels-provos-back.png
Diff not rendered.
Binary file removed public/cards/security/024-niels-provos-front.png
Diff not rendered.
Binary file removed public/cards/security/025-jeremiah-grossman-back.png
Diff not rendered.
Diff not rendered.
Binary file removed public/cards/security/026-robert-hansen-back.png
Diff not rendered.
Binary file removed public/cards/security/026-robert-hansen-front.png
Diff not rendered.
Binary file removed public/cards/security/027-mark-curphey-back.png
Diff not rendered.
Binary file removed public/cards/security/027-mark-curphey-front.png
Diff not rendered.
Binary file removed public/cards/security/028-jeff-williams-back.png
Diff not rendered.
Binary file removed public/cards/security/028-jeff-williams-front.png
Diff not rendered.
Binary file removed public/cards/security/029-gary-mcgraw-back.png
Diff not rendered.
Binary file removed public/cards/security/029-gary-mcgraw-front.png
Diff not rendered.
Binary file removed public/cards/security/030-michael-howard-back.png
Diff not rendered.
Binary file removed public/cards/security/030-michael-howard-front.png
Diff not rendered.
Binary file removed public/cards/security/031-adam-shostack-back.png
Diff not rendered.
Binary file removed public/cards/security/031-adam-shostack-front.png
Diff not rendered.
Binary file removed public/cards/security/032-ivan-ristic-back.png
Diff not rendered.
Binary file removed public/cards/security/032-ivan-ristic-front.png
Diff not rendered.
Binary file removed public/cards/security/033-mark-dowd-back.png
Diff not rendered.
Binary file removed public/cards/security/033-mark-dowd-front.png
Diff not rendered.
Binary file removed public/cards/security/034-halvar-flake-back.png
Diff not rendered.
Binary file removed public/cards/security/034-halvar-flake-front.png
Diff not rendered.
Binary file removed public/cards/security/035-alex-sotirov-back.png
Diff not rendered.
Binary file removed public/cards/security/035-alex-sotirov-front.png
Diff not rendered.
Binary file removed public/cards/security/036-thomas-ptacek-back.png
Diff not rendered.
Binary file removed public/cards/security/036-thomas-ptacek-front.png
Diff not rendered.
Binary file removed public/cards/security/037-matthew-green-back.png
Diff not rendered.
Binary file removed public/cards/security/037-matthew-green-front.png
Diff not rendered.
Binary file removed public/cards/security/038-j-alex-halderman-back.png
Diff not rendered.
Diff not rendered.
Binary file removed public/cards/security/039-nadia-heninger-back.png
Diff not rendered.
Binary file removed public/cards/security/039-nadia-heninger-front.png
Diff not rendered.
Binary file removed public/cards/security/040-troy-hunt-back.png
Diff not rendered.
Binary file removed public/cards/security/040-troy-hunt-front.png
Diff not rendered.
Binary file removed public/cards/security/041-window-snyder-back.png
Diff not rendered.
Binary file removed public/cards/security/041-window-snyder-front.png
Diff not rendered.
Binary file removed public/cards/security/042-heather-adkins-back.png
Diff not rendered.
Binary file removed public/cards/security/042-heather-adkins-front.png
Diff not rendered.
Binary file removed public/cards/security/043-parisa-tabriz-back.png
Diff not rendered.
Binary file removed public/cards/security/043-parisa-tabriz-front.png
Diff not rendered.
Binary file removed public/cards/security/044-alex-stamos-back.png
Diff not rendered.
Binary file removed public/cards/security/044-alex-stamos-front.png
Diff not rendered.
Binary file removed public/cards/security/045-dan-geer-back.png
Diff not rendered.
Binary file removed public/cards/security/045-dan-geer-front.png
Diff not rendered.
Binary file removed public/cards/security/046-kevin-mandia-back.png
Diff not rendered.
Binary file removed public/cards/security/046-kevin-mandia-front.png
Diff not rendered.
Binary file removed public/cards/security/047-mikko-hypponen-back.png
Diff not rendered.
Binary file removed public/cards/security/047-mikko-hypponen-front.png
Diff not rendered.
Binary file removed public/cards/security/048-robert-m-lee-back.png
Diff not rendered.
Binary file removed public/cards/security/048-robert-m-lee-front.png
Diff not rendered.
Binary file removed public/cards/security/049-lesley-carhart-back.png
Diff not rendered.
Binary file removed public/cards/security/049-lesley-carhart-front.png
Diff not rendered.
Binary file removed public/cards/security/050-katie-nickels-back.png
Diff not rendered.
Binary file removed public/cards/security/050-katie-nickels-front.png
Diff not rendered.
8 changes: 5 additions & 3 deletions src/app/security-professionals/[slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ import { site } from '@/data/site';

type Params = { params: Promise<{ slug: string }> };

// Only illustrated cards get a page — an entry with no face has nothing to show,
// and listing it here would prerender 404s.
export function generateStaticParams() {
return pros.map((p) => ({ slug: p.slug }));
return pros.filter((p) => p.front).map((p) => ({ slug: p.slug }));
}

export async function generateMetadata({ params }: Params): Promise<Metadata> {
Expand Down Expand Up @@ -37,8 +39,8 @@ export default async function ProPage({ params }: Params) {
const prev = i > 0 ? pros[i - 1] : undefined;
const next = i < pros.length - 1 ? pros[i + 1] : undefined;

// Art is published for the whole set, but keep the page honest if a face is
// ever missing rather than rendering a broken image.
// A card page exists only once its art does. While the set is unillustrated this
// is every slug, which is intended — better a 404 than a page with no card on it.
if (!p.front || !p.back) notFound();

const jsonLd = {
Expand Down
113 changes: 10 additions & 103 deletions src/data/security.ts

Large diffs are not rendered by default.

Loading