A little app to serve my photography from my personal website

conditionally include syntax highlighting CSS

ericwood.org 523fea6e 0bffef79

Waiting for spindle ...
+19 -14
+2
src/views/blog/show/mod.rs
··· 20 20 impl<'a> View for BlogShow<'a> { 21 21 fn render(&self, reloader: &AutoReloader) -> anyhow::Result<String> { 22 22 let body = render_post(&self.post.file_path)?; 23 + let has_code = body.contains("<pre class=\"highlighted\">"); 23 24 let html = render( 24 25 reloader, 25 26 "views/blog/show", 26 27 context! { 27 28 post => self.post, 28 29 body, 30 + has_code, 29 31 }, 30 32 )?; 31 33
-13
src/views/blog/show/style.css
··· 13 13 display: block; 14 14 } 15 15 16 - .blog__body pre > code:after { 17 - content: attr(data-language); 18 - position: absolute; 19 - right: 0; 20 - top: 0; 21 - color: white; 22 - opacity: 0.5; 23 - transition: opacity 0.3s; 24 - } 25 - 26 - .blog__body pre:hover > code:after { 27 - opacity: 0; 28 - }
+14
src/views/blog/show/syntax.css
··· 1 + pre.highlighted code:after { 2 + content: attr(data-language); 3 + position: absolute; 4 + right: 0; 5 + top: 0; 6 + color: white; 7 + opacity: 0.5; 8 + transition: opacity 0.3s; 9 + } 10 + 11 + pre.highlighted:hover code:after { 12 + opacity: 0; 13 + } 14 + 1 15 .highlighted { 2 16 background: #0d1117; 3 17 --bg: #0d1117;
+3 -1
src/views/blog/show/template.jinja
··· 3 3 {% block title %}Blog{% endblock %} 4 4 {% block head %} 5 5 {{ inline_style("src/views/blog/show/style.css") }} 6 - {{ inline_style("src/views/blog/show/syntax.css") }} 6 + {% if has_code %} 7 + {{ inline_style("src/views/blog/show/syntax.css") }} 8 + {% endif %} 7 9 {% endblock %} 8 10 {% block body %} 9 11 <div class="blog__container">