hugo-theme-relearn/layouts/partials/stylesheet.html
2022-02-19 00:46:34 +01:00

90 lines
No EOL
4.2 KiB
HTML

{{- $assetBusting := not .Site.Params.disableAssetsBusting }}
<link href="{{"css/nucleus.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
<link href="{{"css/fontawesome-all.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
<link href="{{"css/featherlight.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
<link href="{{"css/perfect-scrollbar.min.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
<link href="{{"css/auto-complete.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
<link href="{{"css/theme.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
{{- $themevariants := slice | append .Site.Params.themeVariant }}
{{- with index $themevariants 0 }}
<link id="variant-style" href="{{(printf "css/theme-%s.css" .) | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
<link href="{{"css/variant.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
{{- end }}
<link href="{{"css/theme-relearn-light.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet" media="print">
<link href="{{"css/print.css" | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet" media="print">
{{- range .Site.Params.custom_css }}
<link href="{{(printf "%s" .) | relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}" rel="stylesheet">
{{- end }}
<style>
{{- if .Site.Params.disableInlineCopyToClipBoard }}
:not(pre) > code.copy-to-clipboard-code + span.copy-to-clipboard-button {
display: none;
}
:not(pre) > code.copy-to-clipboard-code {
border-bottom-right-radius: 2px;
border-top-right-radius: 2px;
border-right-width: 1px;
}
{{- end }}
</style>
<script>
{{ "// we need to define this script in the head to avoid flickering" | safeJS }}
{{ "// on page load if the user has selected a non default variant" | safeJS }}
var theme = window.localStorage.getItem( 'theme' );
changeTheme( theme );
function parseTheme( s ){
if( !s || !s.match ){
return '';
}
var matches = s.match(/^.*\/theme-(.*?)\.css.*$/);
var theme = matches && matches.length == 2 ? matches[ 1 ] : '';
return theme;
}
function getTheme(){
var link = document.querySelector( '#variant-style' );
if( !link ){
return;
}
var path = link.getAttribute( 'href' );
var theme = parseTheme( path );
return theme;
}
function markTheme( theme ){
var select = document.querySelector( '#select-theme' );
if( !select ){
return;
}
select.value = theme;
}
function changeTheme( theme ){
{{- $quotedthemevariants := slice }}
{{- range $themevariants }}
{{- $quotedthemevariants = $quotedthemevariants | append (printf "\"%s\"" .) }}
{{- end }}
var themes = [ {{ delimit $quotedthemevariants ", " | safeJS }} ];
if( themes.indexOf( theme ) < 0 ){
theme = themes.length ? themes[ 0 ] : null;
}
if( !theme ){
return;
}
var link = document.querySelector( '#variant-style' );
if( !link ){
return;
}
var old_path = link.getAttribute( 'href' );
var new_path = old_path.replace( /^(.*\/theme-).*?(\.css.*)$/, '$1' + theme + '$2' );
if( old_path != new_path ){
window.localStorage.setItem( 'theme', theme );
link.setAttribute( 'href', new_path );
markTheme( theme );
{{ "// remove selection, because if some uses an arrow navigation" | safeJS }}
{{ "// by pressing the left or right cursor key, we will automatically" | safeJS }}
{{ "// select a different style" | safeJS }}
if( document.activeElement ){
document.activeElement.blur();
}
}
}
</script>
<script src="{{"js/jquery.min.js"| relURL}}{{ if $assetBusting }}?{{ now.Unix }}{{ end }}"></script>