/[sudobot]/trunk/extensions/archiver/src/html/messages.ejs
ViewVC logotype

Contents of /trunk/extensions/archiver/src/html/messages.ejs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 632 - (show annotations)
Thu Oct 10 17:53:11 2024 UTC (5 months, 2 weeks ago) by rakinar2
File size: 2312 byte(s)
chore: synchronize

1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Message Archive</title>
7 <link rel="stylesheet" href="/style.css">
8 <link rel="stylesheet" href="/syntax-highlight.css">
9 <script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
10 </head>
11 <body>
12 <div class="header">
13 <h4>Archived Messages: <%= messages.length %></h4>
14 <a href="https://discord.com/channels/<%= guildId %>/<%= channelId %>" target="_blank">View Channel on Discord</a>
15 </div>
16 <hr>
17 <br>
18
19 <% for (let i = 0, message = messages[i]; i < messages.length; i++, message = messages[i]) { %>
20 <pre><span class="header-text">From:</span> <a target="_blank" class="username-text" href="https://discord.com/users/<%= message.userId %>">@<%= message.username %><%= message.isBot ? "[bot]" : "" %></a>
21 <span class="header-text">Date:</span> <span class="date-text"><%= message.timestamp ? new Date(message.timestamp).toUTCString() : "(unknown)" %></span>
22
23 </pre>
24 <pre class="message-content"><%= message.content %></pre>
25 <% if (i < messages.length - 1) { %>
26 <hr class="message-divider">
27 <% } %>
28 <% } %>
29
30 <script>
31 document.addEventListener('DOMContentLoaded', () => {
32 for (const contentElement of [...(document.querySelectorAll('.message-content') ?? [])]) {
33 let content = contentElement.textContent;
34 const allMarkdownCodeBlocks = content.match(/```(.+?)```/gs);
35
36 if (allMarkdownCodeBlocks) {
37 allMarkdownCodeBlocks.forEach(codeBlock => {
38 const language = codeBlock.match(/```(.+?)\n/)?.[1] ?? "";
39 const code = codeBlock.replace(/```(.+?)\n/, "");
40
41 content = content.replace(
42 codeBlock,
43 `<code class="hljs ${language}">${hljs.highlight(code.replace(/```$/, ''), { language }).value}</code>`
44 );
45 });
46 }
47
48 contentElement.innerHTML = content;
49 }
50
51 hljs.highlightAll();
52 });
53 </script>
54 </body>
55 </html>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26