Breakneck Comics

COMIC BOOKS!

Explore Our Comics


let currentPage = 1; let currentBook = '';

// Configure real sample pages here (totalPages + file extension). // Naming convention example: images/samples/nectar/nectar-01.jpg const sampleBooks = { "nectar": { totalPages: 4, ext: "jpg", prefix: "nectar" }, "excommunicated": { totalPages: 4, ext: "jpg", prefix: "excommunicated" } };

// Fallback behaviour (keeps your existing "coming soon" placeholders working) const fallbackTotalPages = 4; const fallbackExt = "png";

function pad2(num) { return String(num).padStart(2, '0'); }

function getSampleSrc(book, page) { const cfg = sampleBooks[book]; if (cfg) { return `images/samples/${book}/${cfg.prefix}-${pad2(page)}.${cfg.ext}`; } // Existing placeholder path format: images/samples//-01.png return `images/samples/${book}/${book}-0${page}.${fallbackExt}`; }

function getTotalPages(book) { const cfg = sampleBooks[book]; return cfg ? cfg.totalPages : fallbackTotalPages; }

function openModal(bookTitle) { currentBook = bookTitle; let modal = document.getElementById("sampleModal"); let comicDetails = document.getElementById("comicDetails"); let comicCover = document.getElementById("comicCover");

// Basic details about each book const details = { "one-zero-zero-one": { description: `

A genetic experiment that quickly adapts to any environment wakes up thousands of years into Earth's post-apocalyptic future and discovers its current residents are in need of saving--from his family.

Written by Jeremy Robinson

Art by Tiago Palma

Colors by Manuel Rodriguez

Edited by Kane Gilmour

`, cover: "images/covers/onezero-poster.png" }, "ptichka": { description: `

In 1991, the Soviet Union suddenly and mysteriously closed its space program, sealing off its massive Cosmodrome in Kazakhstan. In the present, a group of urban explorers sneak into the base, discovering the Soviets' deadly secret.

Written by Jeremy Robinson

Art by Mario Santoro

Colors by Manuel Rodriguez

Edited by Kane Gilmour

`, cover: "images/covers/ptichka-poster.png" }, "excommunicated": { description: `

When a faithful nun and a festering demon are each excommunicated from the church—and from hell—because of a botched exorcism, they must work together to uncover a sinister plot that endangers their lives and the world.

Written by Jeremy Robinson

Art by Tiago Palma

Colors by Manuel Rodriguez

Edited by Kane Gilmour

`, cover: "images/covers/excommunicated-poster.png" }, "project-nemesis": { description: `

When a rogue military general genetically combines the DNA of a murdered little girl and the ancient goddess of vengeance—Nemesis—a monster arises, seeking revenge on behalf of the girl and crushing everything in its path.

Written by Jeremy Robinson

Art by Agustin Padilla

Colors by [To Be Determined]

Edited by Kane Gilmour

`, cover: "images/covers/nemesis-placeholder.png" }, "nectar": { description: `

An island village off Salem, Massachusetts, is inundated by a strange species of butterflies that spread the Dancing Plague and have a very particular taste in nectar... human blood.

Written by Jeremy Robinson

Art by Annapaola Martello

Layouts by Francesco Francini

Colors by Steve Cannon

Edited by Kane Gilmour

`, cover: "images/covers/nectar-placeholder.png" } };

comicCover.src = details[bookTitle].cover; comicDetails.innerHTML = details[bookTitle].description; modal.style.display = "flex"; }

function closeModal() { document.getElementById("sampleModal").style.display = "none"; }

function openSamplePages() { document.getElementById("sampleModal").style.display = "none"; let modal = document.getElementById("samplePagesModal"); let currentSamplePage = document.getElementById("currentSamplePage");

currentPage = 1;

// If an image is missing, fall back to the existing placeholder format. currentSamplePage.onerror = function () { this.onerror = null; this.src = `images/samples/${currentBook}/${currentBook}-01.${fallbackExt}`; };

currentSamplePage.src = getSampleSrc(currentBook, currentPage); modal.style.display = "flex"; updateNavigationButtons(); }

function closeSamplePagesModal() { document.getElementById("samplePagesModal").style.display = "none"; }

function nextPage() { const totalPages = getTotalPages(currentBook);

if (currentPage 1) { currentPage--; let currentSamplePage = document.getElementById("currentSamplePage"); currentSamplePage.src = getSampleSrc(currentBook, currentPage); updateNavigationButtons(); } }

function updateNavigationButtons() { let prevButton = document.getElementById("prevButton"); let nextButton = document.getElementById("nextButton"); const totalPages = getTotalPages(currentBook);

prevButton.style.display = (currentPage === 1) ? "none" : "block"; nextButton.style.display = (currentPage === totalPages) ? "none" : "block"; }