|
|
@ -15,12 +15,23 @@
|
|
|
|
{{ ThemeStyleSheet }}
|
|
|
|
{{ ThemeStyleSheet }}
|
|
|
|
</style>
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Syntax highlighting ~}}
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/{{HighlightJsStyleName}}.min.css">
|
|
|
|
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js"></script>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
|
|
|
|
document.querySelectorAll('.pre--multiline').forEach((block) => {
|
|
|
|
|
|
|
|
hljs.highlightBlock(block);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Local scripts ~}}
|
|
|
|
{{~ # Local scripts ~}}
|
|
|
|
<script>
|
|
|
|
<script>
|
|
|
|
function scrollToMessage(event, id) {
|
|
|
|
function scrollToMessage(event, id) {
|
|
|
|
var element = document.getElementById('message-' + id);
|
|
|
|
var element = document.getElementById('message-' + id);
|
|
|
|
|
|
|
|
|
|
|
|
if (element !== null && element !== undefined) {
|
|
|
|
if (element) {
|
|
|
|
event.preventDefault();
|
|
|
|
event.preventDefault();
|
|
|
|
|
|
|
|
|
|
|
|
element.classList.add('chatlog__message--highlighted');
|
|
|
|
element.classList.add('chatlog__message--highlighted');
|
|
|
@ -36,17 +47,6 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Syntax highlighting ~}}
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/{{HighlightJsStyleName}}.min.css">
|
|
|
|
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js"></script>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
|
|
|
|
document.querySelectorAll('.pre--multiline').forEach((block) => {
|
|
|
|
|
|
|
|
hljs.highlightBlock(block);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
</head>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
|
@ -130,107 +130,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Embeds ~}}
|
|
|
|
{{~ # Embeds ~}}
|
|
|
|
{{~ for embed in message.Embeds ~}}
|
|
|
|
{{~ for embed in message.Embeds ~}}
|
|
|
|
<div class="chatlog__embed">
|
|
|
|
<div class="chatlog__embed">
|
|
|
|
<div class="chatlog__embed-color-pill" style="background-color: rgba({{ embed.Color.R }},{{ embed.Color.G }},{{ embed.Color.B }},{{ embed.Color.A }})"></div>
|
|
|
|
{{~ if embed.Color ~}}
|
|
|
|
<div class="chatlog__embed-content-container">
|
|
|
|
<div class="chatlog__embed-color-pill" style="background-color: rgba({{ embed.Color.R }},{{ embed.Color.G }},{{ embed.Color.B }},{{ embed.Color.A }})"></div>
|
|
|
|
<div class="chatlog__embed-content">
|
|
|
|
{{~ else ~}}
|
|
|
|
<div class="chatlog__embed-text">
|
|
|
|
<div class="chatlog__embed-color-pill chatlog__embed-color-pill--default"></div>
|
|
|
|
{{~ # Author ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
{{~ if embed.Author ~}}
|
|
|
|
<div class="chatlog__embed-content-container">
|
|
|
|
<div class="chatlog__embed-author">
|
|
|
|
<div class="chatlog__embed-content">
|
|
|
|
{{~ if embed.Author.IconUrl ~}}
|
|
|
|
<div class="chatlog__embed-text">
|
|
|
|
<img class="chatlog__embed-author-icon" src="{{ embed.Author.IconUrl }}" />
|
|
|
|
{{~ # Author ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
{{~ if embed.Author ~}}
|
|
|
|
|
|
|
|
<div class="chatlog__embed-author">
|
|
|
|
{{~ if embed.Author.Name ~}}
|
|
|
|
{{~ if embed.Author.IconUrl ~}}
|
|
|
|
<span class="chatlog__embed-author-name">
|
|
|
|
<img class="chatlog__embed-author-icon" src="{{ embed.Author.IconUrl }}" />
|
|
|
|
{{~ if embed.Author.Url ~}}
|
|
|
|
|
|
|
|
<a class="chatlog__embed-author-name-link" href="{{ embed.Author.Url }}">{{ embed.Author.Name | html.escape }}</a>
|
|
|
|
|
|
|
|
{{~ else ~}}
|
|
|
|
|
|
|
|
{{ embed.Author.Name | html.escape }}
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Title ~}}
|
|
|
|
|
|
|
|
{{~ if embed.Title ~}}
|
|
|
|
|
|
|
|
<div class="chatlog__embed-title">
|
|
|
|
|
|
|
|
{{~ if embed.Url ~}}
|
|
|
|
|
|
|
|
<a class="chatlog__embed-title-link" href="{{ embed.Url }}"><span class="markdown">{{ embed.Title | FormatMarkdown }}</span></a>
|
|
|
|
|
|
|
|
{{~ else ~}}
|
|
|
|
|
|
|
|
<span class="markdown">{{ embed.Title | FormatMarkdown }}</span>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Description ~}}
|
|
|
|
{{~ if embed.Author.Name ~}}
|
|
|
|
{{~ if embed.Description ~}}
|
|
|
|
<span class="chatlog__embed-author-name">
|
|
|
|
<div class="chatlog__embed-description"><span class="markdown">{{ embed.Description | FormatMarkdown }}</span></div>
|
|
|
|
{{~ if embed.Author.Url ~}}
|
|
|
|
|
|
|
|
<a class="chatlog__embed-author-name-link" href="{{ embed.Author.Url }}">{{ embed.Author.Name | html.escape }}</a>
|
|
|
|
|
|
|
|
{{~ else ~}}
|
|
|
|
|
|
|
|
{{ embed.Author.Name | html.escape }}
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
</span>
|
|
|
|
{{~ end ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Fields ~}}
|
|
|
|
{{~ # Title ~}}
|
|
|
|
{{~ if embed.Fields | array.size > 0 ~}}
|
|
|
|
{{~ if embed.Title ~}}
|
|
|
|
<div class="chatlog__embed-fields">
|
|
|
|
<div class="chatlog__embed-title">
|
|
|
|
{{~ for field in embed.Fields ~}}
|
|
|
|
{{~ if embed.Url ~}}
|
|
|
|
<div class="chatlog__embed-field {{ if field.IsInline }} chatlog__embed-field--inline {{ end }}">
|
|
|
|
<a class="chatlog__embed-title-link" href="{{ embed.Url }}"><span class="markdown">{{ embed.Title | FormatMarkdown }}</span></a>
|
|
|
|
{{~ if field.Name ~}}
|
|
|
|
{{~ else ~}}
|
|
|
|
<div class="chatlog__embed-field-name"><span class="markdown">{{ field.Name | FormatMarkdown }}</span></div>
|
|
|
|
<span class="markdown">{{ embed.Title | FormatMarkdown }}</span>
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
{{~ if field.Value ~}}
|
|
|
|
|
|
|
|
<div class="chatlog__embed-field-value"><span class="markdown">{{ field.Value | FormatMarkdown }}</span></div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Description ~}}
|
|
|
|
|
|
|
|
{{~ if embed.Description ~}}
|
|
|
|
|
|
|
|
<div class="chatlog__embed-description"><span class="markdown">{{ embed.Description | FormatMarkdown }}</span></div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Thumbnail ~}}
|
|
|
|
{{~ # Fields ~}}
|
|
|
|
{{~ if embed.Thumbnail ~}}
|
|
|
|
{{~ if embed.Fields | array.size > 0 ~}}
|
|
|
|
<div class="chatlog__embed-thumbnail-container">
|
|
|
|
<div class="chatlog__embed-fields">
|
|
|
|
<a class="chatlog__embed-thumbnail-link" href="{{ embed.Thumbnail.Url }}">
|
|
|
|
{{~ for field in embed.Fields ~}}
|
|
|
|
<img class="chatlog__embed-thumbnail" src="{{ embed.Thumbnail.Url }}" />
|
|
|
|
<div class="chatlog__embed-field {{ if field.IsInline }} chatlog__embed-field--inline {{ end }}">
|
|
|
|
</a>
|
|
|
|
{{~ if field.Name ~}}
|
|
|
|
|
|
|
|
<div class="chatlog__embed-field-name"><span class="markdown">{{ field.Name | FormatMarkdown }}</span></div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
{{~ if field.Value ~}}
|
|
|
|
|
|
|
|
<div class="chatlog__embed-field-value"><span class="markdown">{{ field.Value | FormatMarkdown }}</span></div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
{{~ end ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Image ~}}
|
|
|
|
{{~ # Thumbnail ~}}
|
|
|
|
{{~ if embed.Image ~}}
|
|
|
|
{{~ if embed.Thumbnail ~}}
|
|
|
|
<div class="chatlog__embed-image-container">
|
|
|
|
<div class="chatlog__embed-thumbnail-container">
|
|
|
|
<a class="chatlog__embed-image-link" href="{{ embed.Image.Url }}">
|
|
|
|
<a class="chatlog__embed-thumbnail-link" href="{{ embed.Thumbnail.Url }}">
|
|
|
|
<img class="chatlog__embed-image" src="{{ embed.Image.Url }}" />
|
|
|
|
<img class="chatlog__embed-thumbnail" src="{{ embed.Thumbnail.Url }}" />
|
|
|
|
</a>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{~ end ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Footer ~}}
|
|
|
|
{{~ # Image ~}}
|
|
|
|
{{~ if embed.Footer || embed.Timestamp ~}}
|
|
|
|
{{~ if embed.Image ~}}
|
|
|
|
<div class="chatlog__embed-footer">
|
|
|
|
<div class="chatlog__embed-image-container">
|
|
|
|
{{~ if embed.Footer ~}}
|
|
|
|
<a class="chatlog__embed-image-link" href="{{ embed.Image.Url }}">
|
|
|
|
{{~ if embed.Footer.Text && embed.Footer.IconUrl ~}}
|
|
|
|
<img class="chatlog__embed-image" src="{{ embed.Image.Url }}" />
|
|
|
|
<img class="chatlog__embed-footer-icon" src="{{ embed.Footer.IconUrl }}" />
|
|
|
|
</a>
|
|
|
|
{{~ end ~}}
|
|
|
|
</div>
|
|
|
|
{{~ end ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
|
|
|
|
<span class="chatlog__embed-footer-text">
|
|
|
|
|
|
|
|
{{~ if embed.Footer ~}}
|
|
|
|
|
|
|
|
{{~ if embed.Footer.Text ~}}
|
|
|
|
|
|
|
|
{{ embed.Footer.Text | html.escape }}
|
|
|
|
|
|
|
|
{{ if embed.Timestamp }} • {{ end }}
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{{~ if embed.Timestamp ~}}
|
|
|
|
{{~ # Footer ~}}
|
|
|
|
{{ embed.Timestamp | FormatDate | html.escape }}
|
|
|
|
{{~ if embed.Footer || embed.Timestamp ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
<div class="chatlog__embed-footer">
|
|
|
|
</span>
|
|
|
|
{{~ if embed.Footer ~}}
|
|
|
|
</div>
|
|
|
|
{{~ if embed.Footer.Text && embed.Footer.IconUrl ~}}
|
|
|
|
|
|
|
|
<img class="chatlog__embed-footer-icon" src="{{ embed.Footer.IconUrl }}" />
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="chatlog__embed-footer-text">
|
|
|
|
|
|
|
|
{{~ if embed.Footer ~}}
|
|
|
|
|
|
|
|
{{~ if embed.Footer.Text ~}}
|
|
|
|
|
|
|
|
{{ embed.Footer.Text | html.escape }}
|
|
|
|
|
|
|
|
{{ if embed.Timestamp }} • {{ end }}
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{{~ if embed.Timestamp ~}}
|
|
|
|
|
|
|
|
{{ embed.Timestamp | FormatDate | html.escape }}
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{{~ end ~}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
{{~ end ~}}
|
|
|
|
{{~ end ~}}
|
|
|
|
|
|
|
|
|
|
|
|
{{~ # Reactions ~}}
|
|
|
|
{{~ # Reactions ~}}
|
|
|
|