'); printWindow.document.write('
' + content + '
'); printWindow.document.write(' '); printWindow.document.close(); printWindow.focus(); setTimeout(function() { printWindow.print(); printWindow.close(); }, 500); } function downloadPreContent() { var content = ""; var preElements = document.querySelectorAll("pre"); preElements.forEach(function(pre) { content += pre.textContent + "\n\n"; }); var blob = new Blob([content], { type: 'text/plain' }); var anchor = document.createElement('a'); anchor.download = postTitle + '.txt'; // Use the post title as the filename anchor.href = window.URL.createObjectURL(blob); anchor.style.display = 'none'; document.body.appendChild(anchor); anchor.click(); document.body.removeChild(anchor); } function downloadPreContentAsCSV() { var content = ""; var preElements = document.querySelectorAll("pre"); preElements.forEach(function(pre) { // Assuming each line in `pre` is a row and columns are separated by commas var rows = pre.textContent.trim().split("\n"); rows.forEach(function(row) { content += row + "\r\n"; // Use Windows-style line endings for compatibility }); }); var blob = new Blob([content], { type: 'text/csv;charset=utf-8;' }); var anchor = document.createElement('a'); anchor.download = postTitle + '.csv'; // Use the post title as the filename anchor.href = window.URL.createObjectURL(blob); anchor.style.display = 'none'; document.body.appendChild(anchor); anchor.click(); document.body.removeChild(anchor); } function downloadPreContentAsExcel() { var workbook = XLSX.utils.book_new(); var preElements = document.querySelectorAll("pre"); preElements.forEach(function(pre, index) { // Convert the text content of each
 to a workbook
        var csv = pre.textContent;
        var new_workbook = XLSX.read(csv, {type: 'string'});

        // Assuming there's only one sheet in the new workbook
        var first_sheet_name = new_workbook.SheetNames[0];
        var worksheet = new_workbook.Sheets[first_sheet_name];

        // Append the worksheet to the main workbook
        XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet' + (index + 1));
    });

    // Write the workbook and trigger a download
    XLSX.writeFile(workbook, postTitle + '.xlsx');
}


function downloadPreContentAsJSON() {
    var content = [];
    var preElements = document.querySelectorAll("pre");
    preElements.forEach(function(pre) {
        // Assuming each line in `pre` is a separate data entry
        var lines = pre.textContent.trim().split("\n");
        lines.forEach(function(line) {
            // Convert each line to an object or use as is if it's already JSON formatted
            try {
                content.push(JSON.parse(line)); // If each line is a JSON string
            } catch (e) {
                content.push(line); // If each line is just a string, not JSON formatted
            }
        });
    });

    var blob = new Blob([JSON.stringify(content, null, 2)], { type: 'application/json' });
    var anchor = document.createElement('a');
    anchor.download = postTitle + '.json'; // Use the post title as the filename
    anchor.href = window.URL.createObjectURL(blob);
    anchor.style.display = 'none';
    document.body.appendChild(anchor);
    anchor.click();
    document.body.removeChild(anchor);
}

function downloadPreContentAsXML() {
    var content = '\n\n';
    var preElements = document.querySelectorAll("pre");
    preElements.forEach(function(pre, index) {
        // Assuming each line in `pre` is a separate data entry and XML-safe
        var lines = pre.textContent.trim().split("\n");
        lines.forEach(function(line, lineIndex) {
            content += '    ' + line + '\n';
        });
    });
    content += '';

    var blob = new Blob([content], { type: 'application/xml' });
    var anchor = document.createElement('a');
    anchor.download = postTitle + '.xml'; // Use the post title as the filename
    anchor.href = window.URL.createObjectURL(blob);
    anchor.style.display = 'none';
    document.body.appendChild(anchor);
    anchor.click();
    document.body.removeChild(anchor);
}

function copyToClipboard(button) {
    var preElement = document.querySelector('pre.quicklist');
    if (preElement) {
        navigator.clipboard.writeText(preElement.innerText)
            .then(() => {
                // Log success and change button text
                console.log('Text copied to clipboard');
                var originalText = button.innerText;
                button.innerText = 'List Copied';

                // Reset button text after 3 seconds
                setTimeout(function() {
                    button.innerText = originalText;
                }, 3000);
            })
            .catch(err => {
                // Log any errors during the copy process
                console.error('Failed to copy text: ', err);
            });
    } else {
        // Log an error if the 
 element isn't found
        console.error('No 
 element with class "quicklist" found');
    }
}







		
		


			
		
		
				
				
		
	

List of Generation 2 Pokémon

Please note that this list represents the 100 Pokémon introduced in Generation 2, which are part of the Johto regional Pokédex.

Aipom
Ampharos
Ariados
Azumarill
Bayleef
Bellossom
Blissey
Celebi
Chikorita
Chinchou
Cleffa
Corsola
Crobat
Croconaw
Cyndaquil
Delibird
Donphan
Dunsparce
Elekid
Entei
Espeon
Feraligatr
Flaaffy
Forretress
Furret
Girafarig
Gligar
Granbull
Heracross
Hitmontop
Ho-Oh
Hoothoot
Hoppip
Houndoom
Houndour
Igglybuff
Jumpluff
Kingdra
Lanturn
Larvitar
Ledian
Ledyba
Lugia
Magby
Magcargo
Mantine
Mareep
Marill
Meganium
Miltank
Misdreavus
Murkrow
Natu
Noctowl
Octillery
Phanpy
Pichu
Piloswine
Pineco
Politoed
Porygon2
Pupitar
Quagsire
Quilava
Qwilfish
Raikou
Remoraid
Scizor
Sentret
Shuckle
Skarmory
Skiploom
Slowking
Slugma
Smeargle
Smoochum
Sneasel
Snubbull
Spinarak
Stantler
Steelix
Sudowoodo
Suicune
Sunflora
Sunkern
Swinub
Teddiursa
Togepi
Togetic
Totodile
Typhlosion
Tyranitar
Tyrogue
Umbreon
Unown
Ursaring
Wobbuffet
Wooper
Xatu
Yanma