Javascript, HTML, CSS Code
Copy
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript"> window.addEventListener('error', function(event) { var message = JSON.parse(JSON.stringify(event.message)); var source = event.filename; var lineno = event.lineno; var colno = event.colno; var error = event.error; window.parent.postMessage({ type: 'iframeError', details: { message: message, source: source, lineno: lineno, colno: colno, error: error ? error.stack : '' } }, '*'); }); window.addEventListener('unhandledrejection', function(event) { window.parent.postMessage({ type: 'iframePromiseRejection', details: { reason: event.reason } }, '*'); }); </script>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Transcript Maker</title>
<meta name="description" content="Create transcripts for Peppa Pig episodes">
<meta name="keywords" content="transcript, Peppa Pig, episodes">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<!-- Built-In Functions for Apps -->
<script type="text/javascript">
var localStoragePrefix = "ct-168986181396017";
var lastSave = 0;
// save to localstorage
function saveLocal(data) {
if (Date.now() - lastSave < 1000) {
return;
}
// save to cookie
let cookie = localStoragePrefix + "=" + JSON.stringify(data) + "; path=" + window.location.pathname + "'; SameSite=Strict";
cookie += "; expires=" + new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 1000).toUTCString();
document.cookie = cookie;
lastSave = Date.now();
}
// load from localstorage
function loadLocal() {
var cookiePrefix = localStoragePrefix + "=";
var cookieStart = document.cookie.indexOf(cookiePrefix);
if (cookieStart > -1) {
let cookieEnd = document.cookie.indexOf(";", cookieStart);
if (cookieEnd == -1) {
cookieEnd = document.cookie.length;
}
var cookieData = document.cookie.substring(cookieStart + cookiePrefix.length, cookieEnd);
return JSON.parse(cookieData);
}
}
// Transcript Maker Functions
function getTranscript(season, episode) {
// Replace Penny Polar Bear's voice as Mabel Green in Season 2-9 and turn voices into voices in Season 7
let voices = ["Mandy Mouse", "Penny Polar Bear", "Peppa Pig", "George Pig", "Suzy Sheep", "Danny Dog", "Madame Gazelle", "Rebbeca Rabbit", "Zoë Zebra", "Zuzu Zebra", "Zaza Zebra", "Richard Rabbit", "Mummy Pig", "Daddy Pig"];
if (season >= 2 && season <= 9) {
voices[1] = "Mabel Green";
}
if (season >= 7) {
voices = ["Mandy Mouse", "Penny Polar Bear", "Peppa Pig", "George Pig", "Suzy Sheep", "Danny Dog", "Madame Gazelle", "Rebbeca Rabbit", "Zoë Zebra", "Zuzu Zebra", "Zaza Zebra", "Richard Rabbit", "Mummy Pig", "Daddy Pig", "Voices"];
}
// Generate random lines for characters
let lines = [];
let totalLines = 0;
for (let i = 0; i < voices.length; i++) {
let characterLines = Math.floor(Math.random() * 10);
lines.push(characterLines);
totalLines += characterLines;
}
// Get character genders
let genders = ["female", "female", "female", "male", "female", "male", "female", "female", "female", "female", "female", "male", "female", "male"];
if (season >= 7) {
genders.push("no gender");
}
// Get character with most lines
let mostLines = Math.max(...lines);
let mostLinesCharacter = voices[lines.indexOf(mostLines)];
// Create transcript HTML
let transcriptHTML = "<h2>Season " + season + " - Episode " + episode + "</h2>";
transcriptHTML += "<table class='table'>";
transcriptHTML += "<thead><tr><th>Character</th><th>Lines</th><th>Gender</th></tr></thead>";
transcriptHTML += "<tbody>";
for (let i = 0; i < voices.length; i++) {
transcriptHTML += "<tr>";
transcriptHTML += "<td>" + voices[i] + "</td>";
transcriptHTML += "<td>" + lines[i] + "</td>";
transcriptHTML += "<td>" + genders[i] + "</td>";
transcriptHTML += "</tr>";
}
transcriptHTML += "</tbody>";
transcriptHTML += "</table>";
transcriptHTML += "<p>Total lines: " + totalLines + "</p>";
transcriptHTML += "<p>Character with most lines: " + mostLinesCharacter + " (" + mostLines + " lines)</p>";
$("#transcript").html(transcriptHTML);
$("#transcript-modal").modal("show");
}
</script>
<style>
/* App CSS Goes Here */
</style>
<link rel="canonical" href="https://calculator.tools/prompt/2021/">
<meta charset="utf-8">
</head>
<body>
<div id="main-container" class="container">
<h1>Transcript Maker</h1>
<div class="mb-3">
<label for="season">Season:</label>
<input type="number" id="season" class="form-control" min="1">
</div>
<div class="mb-3">
<label for="episode">Episode:</label>
<input type="number" id="episode" class="form-control" min="1">
</div>
<button type="button" class="btn btn-primary" onclick="getTranscript($('#season').val(), $('#episode').val())">Transcript Episode</button>
<div id="transcript-modal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Transcript</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body" id="transcript">
<!-- Transcript will be displayed here -->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-xgSaaQgT1o7JR2nJ6X4k0R7F+7/INkX4F0RO3+8qYKJz8l9YrJ4x4kkDnG2iJQ8f"
crossorigin="anonymous"></script>
<script type="text/javascript"> var localStoragePrefix = "ct-{{ cachebreaker }}"; var lastSave = 0; function saveLocal(data) { if (Date.now() - lastSave < 1000) { return; } let cookie = localStoragePrefix + "=" + JSON.stringify(data) + "; path=" + window.location.pathname + "'; SameSite=Strict"; cookie += "; expires=" + new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 1000).toUTCString(); document.cookie = cookie; lastSave = Date.now(); } function loadLocal() { var cookiePrefix = localStoragePrefix + "="; var cookieStart = document.cookie.indexOf(cookiePrefix); if (cookieStart > -1) { let cookieEnd = document.cookie.indexOf(";", cookieStart); if (cookieEnd == -1) { cookieEnd = document.cookie.length; } var cookieData = document.cookie.substring(cookieStart + cookiePrefix.length, cookieEnd); return JSON.parse(cookieData); } } </script>
<script type="text/javascript"> window.addEventListener('load', function() { var observer = new MutationObserver(function() { window.parent.postMessage({height: document.documentElement.scrollHeight || document.body.scrollHeight},"*"); }); observer.observe(document.body, {attributes: true, childList: true, subtree: true}); window.parent.postMessage({height: document.documentElement.scrollHeight || document.body.scrollHeight},"*"); }); </script>
</body>
</html>