'); 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');
    }
}