diff --git a/resources/blog.scss b/resources/blog.scss index e327686..d0e02ca 100644 --- a/resources/blog.scss +++ b/resources/blog.scss @@ -32,7 +32,8 @@ } } -.blog-sidebar, .right-sidebar { +.blog-sidebar, +.right-sidebar { width: 100%; margin-left: auto; } @@ -41,6 +42,7 @@ color: green; font-weight: bold; background-color: lightgreen; + .sidebar-icon { color: green; } @@ -157,17 +159,21 @@ padding-bottom: 1em; clear: both; } + .problem-feed-name { display: inline; font-weight: bold; } + .problem-feed-name a { color: #0645ad; } + .problem-feed-info-entry { display: inline; float: right; } + .problem-feed-types { color: gray; } @@ -175,24 +181,30 @@ .left-sidebar-item { display: flex; align-items: center; + .sidebar-icon { font-size: large; display: inline-block; + i { width: 1.4em; } } } + .left-sidebar-item:hover { background-color: #e3e3e3; cursor: pointer; } + .left-sidebar-item.active:hover { background-color: lightgreen; } + .sidebar-icon { color: black; } + .left-sidebar-header { text-align: center; padding-bottom: 1em; @@ -200,13 +212,27 @@ color: black; border-radius: 0; } + .feed-table { margin: 0; } + .pre-expand-blog { - background-image: -webkit-linear-gradient(bottom, gray, lightgray 3%, transparent 8%, transparent 100%); + position: relative; padding-bottom: 0; } + +.pre-expand-blog::before { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + content: ""; + background-image: -webkit-linear-gradient(bottom, gray, lightgray 3%, transparent 8%, transparent 100%); + border-radius: 8px; +} + .pre-expand-blog:hover { background-color: #f3f3f3; } @@ -224,35 +250,43 @@ .left-sidebar-header { display: none; } + .left-sidebar-item { padding: 0.8em 0.2em 0.8em 0.2em; display: inline-block; flex: 1; border-radius: 8px; - + .sidebar-icon { display: none; } } + .left-sidebar { text-align: center; margin-bottom: 1em; border-radius: 7px; display: flex; } + .blog-box { padding-left: 5%; padding-right: 5%; } + .post-title { font-size: 2em; } } + @media (min-width: 800px) { .left-sidebar-item { padding: 0.8em 0.2em 0.8em 1em; } - .middle-content, .blog-sidebar, .right-sidebar { + + .middle-content, + .blog-sidebar, + .right-sidebar { display: block !important; } @@ -274,7 +308,8 @@ width: -webkit-fill-available; } - .blog-sidebar, .right-sidebar { + .blog-sidebar, + .right-sidebar { width: 25%; } @@ -313,4 +348,4 @@ font-size: 2.5em; } } -} +} \ No newline at end of file diff --git a/templates/three-column-content.html b/templates/three-column-content.html index d90161d..eea22ee 100644 --- a/templates/three-column-content.html +++ b/templates/three-column-content.html @@ -3,129 +3,134 @@ {% block title_ruler %}{% endblock %} {% block media %} - + } + + @media(max-width: 799px) { + #content { + width: 100%; + margin-left: 0; + } + + .middle-right-content { + display: block; + } + } + {% endblock %} {% block js_media %} - + } + + function navigateTo($elem, update_sidebar = false) { + var url = $elem.attr('data-href') || $elem.attr('href'); + + if (url === '#') return; + if (update_sidebar) { + $('.left-sidebar-item').removeClass('active'); + $elem.addClass('active'); + } + $('.middle-right-content').html(loading_page); + $.get(url, function (data) { + var reload_content = $(data).find('.middle-right-content'); + + if (reload_content.length) { + window.history.pushState("", "", url); + $('.middle-right-content').html(reload_content.first().html()); + $(document).prop('title', $(data).filter('title').text()); + MathJax.typeset($('.middle-right-content')[0]); + onWindowReady(); + activateBlogBoxOnClick(); + $('.xdsoft_datetimepicker').hide(); + registerNavigation(); + } + else { + window.location.href = url; + } + }); + } + + function registerNavigation() { + const links = ['.pagination a', '.tabs li a', '.problem-feed-option a']; + for (link of links) { + $(link).on('click', function (e) { + e.preventDefault(); + navigateTo($(this)); + }) + } + } + + $(function () { + window.addEventListener('popstate', (e) => { + window.location.href = e.currentTarget.location.href; + }); + activateBlogBoxOnClick(); + + $('.left-sidebar-item').on('click', function () { + navigateTo($(this), true); + }); + registerNavigation(); + }); + {% endblock %} {% macro make_tab_item(name, fa, url, text) %} -
+ {% endmacro %} {% block body %} - {% block before_posts %}{% endblock %} -