mirror of
https://github.com/zaaarf/friendenstein.git
synced 2024-11-22 15:34:50 +01:00
feat: responsive website
This commit is contained in:
parent
6c73e82c8c
commit
161589fd3e
9 changed files with 131 additions and 86 deletions
|
@ -5,7 +5,7 @@ pre {
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
font-style: monospace;
|
font-style: monospace;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
white-space: pre-wrap;
|
overflow-x: scroll;
|
||||||
}
|
}
|
||||||
|
|
||||||
p code,
|
p code,
|
||||||
|
|
50
sass/_header.scss
Normal file
50
sass/_header.scss
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
.navBar {
|
||||||
|
padding: 1rem 0 0 0;
|
||||||
|
gap: .4rem;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
.navBarRight {
|
||||||
|
float: right;
|
||||||
|
|
||||||
|
a {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
div.themeButton {
|
||||||
|
float: right;
|
||||||
|
padding: 0 0 0 1em;
|
||||||
|
|
||||||
|
button {
|
||||||
|
cursor: pointer;
|
||||||
|
border: none;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .themeButton.dark,
|
||||||
|
.themeButton.light {
|
||||||
|
display: none
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .themeButton.light {
|
||||||
|
display: block
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 650px) {
|
||||||
|
.navBar {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.navBarRight {
|
||||||
|
float: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.themeButton {
|
||||||
|
float: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,16 +1,27 @@
|
||||||
div.home {
|
div.homeContainer {
|
||||||
margin-top: 35%;
|
width: 100%;
|
||||||
margin-bottom: 15%;
|
height: 100%;
|
||||||
text-align: center;
|
display: flex;
|
||||||
|
|
||||||
h1 {
|
div.home {
|
||||||
margin: 0;
|
margin: 35% auto;
|
||||||
font-size: 4rem;
|
text-align: center;
|
||||||
color: var(--fgColor);
|
|
||||||
background-color: var(--bgColor);
|
|
||||||
|
|
||||||
&::before {
|
h1 {
|
||||||
content: none;
|
margin: 0;
|
||||||
|
font-size: 4rem;
|
||||||
|
color: var(--fgColor);
|
||||||
|
background-color: var(--bgColor);
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 650px) {
|
||||||
|
div.home {
|
||||||
|
margin: auto auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,3 +30,4 @@ a.socialIcon {
|
||||||
padding: .2em .3em 0 .3em;
|
padding: .2em .3em 0 .3em;
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,44 +1,44 @@
|
||||||
.logo {
|
.logo {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-display: auto;
|
font-display: auto;
|
||||||
font-family: monospace, monospace;
|
font-family: monospace, monospace;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
height: 44px;
|
height: 44px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__mark {
|
&__mark {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__text {
|
&__text {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__cursor {
|
&__cursor {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 10px;
|
width: 10px;
|
||||||
height: 1.5rem;
|
height: 1.5rem;
|
||||||
background: var(--fgColor);
|
background: var(--fgColor);
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
border-radius: 1px;
|
border-radius: 1px;
|
||||||
animation: cursor 1s infinite;
|
animation: cursor 1s infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-reduced-motion: reduce) {
|
@media (prefers-reduced-motion: reduce) {
|
||||||
&__cursor {
|
&__cursor {
|
||||||
animation: none;
|
animation: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes cursor {
|
@keyframes cursor {
|
||||||
0% { opacity: 0; }
|
0% { opacity: 0; }
|
||||||
50% { opacity: 1; }
|
50% { opacity: 1; }
|
||||||
100% { opacity: 0; }
|
100% { opacity: 0; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,10 +54,6 @@ a {
|
||||||
background-color: var(--linkColor);
|
background-color: var(--linkColor);
|
||||||
color: var(--bgColor);
|
color: var(--bgColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
span.contentDate {
|
|
||||||
color: var(--dateLinkColor);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
|
@ -131,6 +127,7 @@ footer {
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-rows: auto 1fr auto;
|
grid-template-rows: auto 1fr auto;
|
||||||
|
grid-template-columns: minmax(180px, 1fr);
|
||||||
gap: 2rem;
|
gap: 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,36 +146,6 @@ footer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.navBar {
|
|
||||||
padding: 1rem 0 0 0;
|
|
||||||
gap: .4rem;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
|
|
||||||
.navBarRight {
|
|
||||||
float: right;
|
|
||||||
|
|
||||||
a {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.themeButton {
|
|
||||||
float: right;
|
|
||||||
cursor: pointer;
|
|
||||||
border: none;
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark .themeButton.dark,
|
|
||||||
.themeButton.light {
|
|
||||||
display: none
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark .themeButton.light {
|
|
||||||
display: block
|
|
||||||
}
|
|
||||||
|
|
||||||
.tagsData {
|
.tagsData {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
@ -190,6 +157,11 @@ footer {
|
||||||
|
|
||||||
.titleList li {
|
.titleList li {
|
||||||
margin-bottom: .75rem;
|
margin-bottom: .75rem;
|
||||||
|
text-align: left;
|
||||||
|
|
||||||
|
span.contentDate {
|
||||||
|
color: var(--dateLinkColor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.footnote-definition {
|
.footnote-definition {
|
||||||
|
@ -244,6 +216,14 @@ div.toc {
|
||||||
body {
|
body {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
a span.contentDate {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
margin: 1rem;
|
margin: 1rem;
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
@import 'main';
|
@import 'main';
|
||||||
|
@import 'header';
|
||||||
@import 'home';
|
@import 'home';
|
||||||
@import 'code';
|
@import 'code';
|
||||||
@import 'table';
|
@import 'table';
|
||||||
|
|
|
@ -7,11 +7,7 @@
|
||||||
{% if config.extra.header_nav %}
|
{% if config.extra.header_nav %}
|
||||||
<nav class="navBar">
|
<nav class="navBar">
|
||||||
{% include "logo.html" %}
|
{% include "logo.html" %}
|
||||||
<div class="navBarRight">
|
<div class="themeButton">
|
||||||
{% for nav_item in config.extra.header_nav %}
|
|
||||||
<a href="{{ nav_item.url }}" class="{% if nav_item.url == current_url %}active{% endif %}">{% set language_key = 'name_' ~ current_lang %}{{ nav_item[language_key] }}</a>
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% if not config.extra.default_theme %}
|
{% if not config.extra.default_theme %}
|
||||||
<button class="themeButton light" onclick="setTheme('light')" title="Light mode"><svg class="icons icons__background"><use href="{{ get_url(path='icons.svg#lightMode', trailing_slash=false) | safe }}"></use></svg></button>
|
<button class="themeButton light" onclick="setTheme('light')" title="Light mode"><svg class="icons icons__background"><use href="{{ get_url(path='icons.svg#lightMode', trailing_slash=false) | safe }}"></use></svg></button>
|
||||||
<button class="themeButton dark" onclick="setTheme('dark')" title="Dark mode"><svg class="icons icons__background"><use href="{{ get_url(path='icons.svg#darkMode', trailing_slash=false) | safe }}"></use></svg></button>
|
<button class="themeButton dark" onclick="setTheme('dark')" title="Dark mode"><svg class="icons icons__background"><use href="{{ get_url(path='icons.svg#darkMode', trailing_slash=false) | safe }}"></use></svg></button>
|
||||||
|
@ -22,5 +18,11 @@
|
||||||
<button class="themeButton dark" onclick="setTheme('dark')" title="Dark mode"><svg class="icons icons__background"><use href="{{ get_url(path='icons.svg#darkMode', trailing_slash=false) | safe }}"></use></svg></button>
|
<button class="themeButton dark" onclick="setTheme('dark')" title="Dark mode"><svg class="icons icons__background"><use href="{{ get_url(path='icons.svg#darkMode', trailing_slash=false) | safe }}"></use></svg></button>
|
||||||
<button class="themeButton light" onclick="setTheme('light')" title="Light mode"><svg class="icons icons__background"><use href="{{ get_url(path='icons.svg#lightMode', trailing_slash=false) | safe }}"></use></svg></button>
|
<button class="themeButton light" onclick="setTheme('light')" title="Light mode"><svg class="icons icons__background"><use href="{{ get_url(path='icons.svg#lightMode', trailing_slash=false) | safe }}"></use></svg></button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div class="navBarRight">
|
||||||
|
{% for nav_item in config.extra.header_nav %}
|
||||||
|
<a href="{{ nav_item.url }}" class="{% if nav_item.url == current_url %}active{% endif %}">{% set language_key = 'name_' ~ current_lang %}{{ nav_item[language_key] }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="home">
|
<div class="homeContainer"><div class="home">
|
||||||
{% if config.extra.home_title %}
|
{% if config.extra.home_title %}
|
||||||
<h1>{{ config.extra.home_title }}</h1>
|
<h1>{{ config.extra.home_title }}</h1>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
<p>{{ config.description }}<span id="subtitleRand"></span></p>
|
<p>{{ config.description }}<span id="subtitleRand"></span></p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% include "svg.html" %}
|
{% include "svg.html" %}
|
||||||
</div>
|
</div></div>
|
||||||
{% if config.extra.home_subtitle_suffixes %}
|
{% if config.extra.home_subtitle_suffixes %}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
|
@ -20,6 +20,6 @@
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{% if paginator %}
|
{% if paginator %}
|
||||||
<div class="metaData">{% if paginator.previous %}<a href="{{ paginator.first }}">⥶</a>   <a href="{{ paginator.previous }}"><</a>{% endif %}   {{ paginator.current_index }} / {{ paginator.number_pagers }}   {% if paginator.next %}<a href="{{ paginator.next }}">></a>   <a href="{{ paginator.last }}">⥸</a>{% endif %}</div>
|
<div class="metaData">{% if paginator.previous %}<a href="{{ paginator.first }}">⥶</a> <a href="{{ paginator.previous }}"><</a>{% endif %} {{ paginator.current_index }} / {{ paginator.number_pagers }} {% if paginator.next %}<a href="{{ paginator.next }}"></a> <a href="{{ paginator.last }}"></a>{% endif %}</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|
Loading…
Reference in a new issue