From 81ed85a3e0e230810369006d6867293718d5de31 Mon Sep 17 00:00:00 2001 From: Alexey Golub Date: Mon, 6 Apr 2020 13:47:21 +0300 Subject: [PATCH] [HTML] Clean up a bit --- .../Logic/HtmlRenderingLogic.cs | 5 +- .../Resources/HtmlCore.css | 62 +++++++++---------- .../Resources/HtmlDark.css | 8 +-- .../Resources/HtmlLayoutTemplate.html | 22 ++----- .../Resources/HtmlLight.css | 8 +-- .../Resources/HtmlMessageGroupTemplate.html | 29 +++++---- 6 files changed, 60 insertions(+), 74 deletions(-) diff --git a/DiscordChatExporter.Core.Rendering/Logic/HtmlRenderingLogic.cs b/DiscordChatExporter.Core.Rendering/Logic/HtmlRenderingLogic.cs index 34ec8b8..4e7bfef 100644 --- a/DiscordChatExporter.Core.Rendering/Logic/HtmlRenderingLogic.cs +++ b/DiscordChatExporter.Core.Rendering/Logic/HtmlRenderingLogic.cs @@ -59,7 +59,7 @@ namespace DiscordChatExporter.Core.Rendering.Logic // Spoiler if (formattedNode.Formatting == TextFormatting.Spoiler) - return $"{innerHtml}"; + return $"{innerHtml}"; // Quote if (formattedNode.Formatting == TextFormatting.Quote) @@ -117,7 +117,8 @@ namespace DiscordChatExporter.Core.Rendering.Logic { var role = context.MentionableRoles.FirstOrDefault(r => r.Id == mentionNode.Id) ?? Role.CreateDeletedRole(mentionNode.Id); - string style = ""; + + var style = ""; if (role.Color != Color.Black) style = $"style=\"color: {role.ColorAsHex}; background-color: rgba({role.ColorAsRgb}, 0.1); font-weight: 400;\""; diff --git a/DiscordChatExporter.Core.Rendering/Resources/HtmlCore.css b/DiscordChatExporter.Core.Rendering/Resources/HtmlCore.css index 2c5ec9c..e7dbf6c 100644 --- a/DiscordChatExporter.Core.Rendering/Resources/HtmlCore.css +++ b/DiscordChatExporter.Core.Rendering/Resources/HtmlCore.css @@ -54,60 +54,53 @@ img { } .spoiler { - border-radius: 3px; + width: fit-content; } .spoiler--hidden { cursor: pointer; } +.spoiler-text { + border-radius: 3px; +} + .spoiler--hidden .spoiler-text { - opacity: 0; + color: rgba(0, 0, 0, 0); } .spoiler-image { - margin-top: 0.3em; - border-radius: 3px; - box-shadow: 0.5px 0.5px 1px 1px rgba(0,0,0,.1); - cursor: pointer; - overflow: hidden; position: relative; - width: fit-content; + overflow: hidden; + border-radius: 3px; } -.spoiler-image:hover .spoiler-warning { - color: #fff; - background-color: rgba(0,0,0,.9); +.spoiler--hidden .spoiler-image { + box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.1); } -.spoiler-warning { - color: #dcddde; - background-color: rgba(0,0,0,.6); +.spoiler--hidden .spoiler-image img { + filter: blur(44px); +} +.spoiler--hidden .spoiler-image:after { + content: "SPOILER"; + color: #dcddde; + background-color: rgba(0, 0, 0, 0.6); position: absolute; left: 50%; top: 50%; - transform: translate(-50%,-50%); - text-transform: uppercase; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - align-items: center; + transform: translate(-50%, -50%); font-weight: 600; - cursor: pointer; - z-index: 1; - padding: 8px 12px; + padding: 0.5em 0.7em; border-radius: 20px; - letter-spacing: .5px; - font-size: 15px; - user-select: none; + letter-spacing: 0.05em; + font-size: 0.9em; } -.spoiler-image-wrapper { - margin-top: -0.3em; - filter: blur(44px); - pointer-events: none; +.spoiler--hidden:hover .spoiler-image:after { + color: #fff; + background-color: rgba(0, 0, 0, 0.9); } .quote { @@ -248,8 +241,13 @@ img { font-size: 0.8em; } -.chatlog__attachment-thumbnail { +.chatlog__attachment { margin-top: 0.3em; +} + +.chatlog__attachment-thumbnail { + display: block; + max-width: 45vw; max-height: 500px; border-radius: 3px; } diff --git a/DiscordChatExporter.Core.Rendering/Resources/HtmlDark.css b/DiscordChatExporter.Core.Rendering/Resources/HtmlDark.css index 0df690c..82dca9e 100644 --- a/DiscordChatExporter.Core.Rendering/Resources/HtmlDark.css +++ b/DiscordChatExporter.Core.Rendering/Resources/HtmlDark.css @@ -9,16 +9,16 @@ a { color: #0096cf; } -.spoiler { +.spoiler-text { background-color: rgba(255, 255, 255, 0.1); } -.spoiler--hidden { +.spoiler--hidden .spoiler-text { background-color: #202225; } -.spoiler--hidden:hover { - background-color: rgba(32,34,37,.8); +.spoiler--hidden:hover .spoiler-text { + background-color: rgba(32, 34, 37, 0.8); } .quote { diff --git a/DiscordChatExporter.Core.Rendering/Resources/HtmlLayoutTemplate.html b/DiscordChatExporter.Core.Rendering/Resources/HtmlLayoutTemplate.html index 9fc5ad9..1c57647 100644 --- a/DiscordChatExporter.Core.Rendering/Resources/HtmlLayoutTemplate.html +++ b/DiscordChatExporter.Core.Rendering/Resources/HtmlLayoutTemplate.html @@ -45,24 +45,12 @@ } } - // unhiding text spoilers on click - document.addEventListener('click', (e) => { - var spoilerTag = e.target.closest('.spoiler--hidden'); - if (!spoilerTag) { - return; - } - spoilerTag.classList.remove('spoiler--hidden'); - }); - - // unhiding image spoilers on click - document.addEventListener('click', (e) => { - var spoilerImage = e.target.closest('.spoiler-image'); - if (!spoilerImage) { - return; + function showSpoiler(event, element) { + if (element && element.classList.contains('spoiler--hidden')) { + event.preventDefault(); + element.classList.remove('spoiler--hidden'); } - var image = spoilerImage.querySelector('a'); - spoilerImage.replaceWith(image); - }); + } diff --git a/DiscordChatExporter.Core.Rendering/Resources/HtmlLight.css b/DiscordChatExporter.Core.Rendering/Resources/HtmlLight.css index c98ba24..8f5ed6e 100644 --- a/DiscordChatExporter.Core.Rendering/Resources/HtmlLight.css +++ b/DiscordChatExporter.Core.Rendering/Resources/HtmlLight.css @@ -10,16 +10,16 @@ a { color: #00b0f4; } -.spoiler { +.spoiler-text { background-color: rgba(0, 0, 0, 0.1); } -.spoiler--hidden { +.spoiler--hidden .spoiler-text { background-color: #b9bbbe; } -.spoiler--hidden:hover { - background-color: rgba(185,187,190,.8); +.spoiler--hidden:hover .spoiler-text { + background-color: rgba(185, 187, 190, 0.8); } .quote { diff --git a/DiscordChatExporter.Core.Rendering/Resources/HtmlMessageGroupTemplate.html b/DiscordChatExporter.Core.Rendering/Resources/HtmlMessageGroupTemplate.html index cd3ab88..52cae23 100644 --- a/DiscordChatExporter.Core.Rendering/Resources/HtmlMessageGroupTemplate.html +++ b/DiscordChatExporter.Core.Rendering/Resources/HtmlMessageGroupTemplate.html @@ -34,24 +34,23 @@
{{ # Spoiler image }} {{~ if attachment.IsSpoiler ~}} +
-
Spoiler
-
- - Attachment - -
+ + Attachment +
+
{{~ else ~}} - - {{ # Non-spoiler image }} - {{~ if attachment.IsImage ~}} - Attachment - {{~ # Non-image ~}} - {{~ else ~}} - Attachment: {{ attachment.FileName }} ({{ attachment.FileSize }}) - {{~ end ~}} - + + {{ # Non-spoiler image }} + {{~ if attachment.IsImage ~}} + Attachment + {{~ # Non-image ~}} + {{~ else ~}} + Attachment: {{ attachment.FileName }} ({{ attachment.FileSize }}) + {{~ end ~}} + {{~ end ~}}
{{~ end ~}}