Scroller (Embedded Content)
body { font-family: monospace; white-space: pre-wrap; margin: 1em; }
pre { margin: 0; }
// V V V --- START OF THE TEXT DEFINITION --- V V V
// Use backticks (`) to start and end the string.
// Everything between the FIRST backtick below and the LAST backtick
// before the semicolon (;) will be treated as literal text.
const theEntireTextBlob = `HERE IS THE START OF WHERE YOU PASTE:
<-- Paste your entire, raw, unescaped content right here -->
<-- It can contain <tags>, "quotes", 'single quotes', slashes \ / , etc. -->
<-- Just make absolutely sure your content ends right before the closing backtick -->
<example>
This "XML" or <whatever> content is fine.
Even multiple lines work without issue.
-- LOG ENTRY --
Timestamp: [Mon May 06 10:30:00 PDT 2024]
Message: Process completed with status code ${some_variable_name_if_it_appeared_like_this} <--- (This *might* need escaping to \${ if it should be literal text, but usually logs don't format like this)
AND HERE IS THE END OF WHERE YOU PASTE.`; // <-- !! CRITICAL !! The string ENDS here with the backtick (`) and semicolon (;)
// ^ ^ ^ --- END OF THE TEXT DEFINITION --- ^ ^ ^
// --- Code to display the text and scroll (Leave this part alone) ---
document.addEventListener('DOMContentLoaded', () => {
const preElement = document.getElementById('content-area');
if (preElement) {
// Display the text safely. .textContent ignores HTML/XML tags within the string.
preElement.textContent = theEntireTextBlob;
} else {
console.error("Error: Cannot find element with ID 'content-area'");
alert("Error: Setup problem, cannot find where to put the text.");
}
// Start scrolling
setInterval(() => {
window.scrollBy(0, 150); // Scroll 150px down
}, 3000); // Every 3 seconds
});
Enter fullscreen mode
Exit fullscreen mode