66 lines
3.7 KiB
HTML
66 lines
3.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="{{ lang | default(value="en") }}">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>{% block title %}{{ config.title }}{% endblock title %}</title>
|
|
<meta name="description" content="{% block description %}{{ config.description }}{% endblock description %}">
|
|
<meta name="author" content="{{ config.extra.author }}">
|
|
<link rel="canonical" href="{% block canonical %}{{ config.base_url }}{% endblock canonical %}">
|
|
<!-- Open Graph -->
|
|
<meta property="og:title" content="{% block og_title %}{{ config.title }}{% endblock og_title %}">
|
|
<meta property="og:description" content="{% block og_description %}{{ config.description }}{% endblock og_description %}">
|
|
<meta property="og:url" content="{% block og_url %}{{ config.base_url }}{% endblock og_url %}">
|
|
<meta property="og:site_name" content="{{ config.title }}">
|
|
<meta property="og:type" content="{% block og_type %}website{% endblock og_type %}">
|
|
{% block og_extra %}{% endblock og_extra %}
|
|
<!-- Twitter Card -->
|
|
<meta name="twitter:card" content="summary">
|
|
<meta name="twitter:title" content="{% block twitter_title %}{{ config.title }}{% endblock twitter_title %}">
|
|
<meta name="twitter:description" content="{% block twitter_description %}{{ config.description }}{% endblock twitter_description %}">
|
|
<link rel="stylesheet" href="{{ get_url(path='style.css') }}">
|
|
<link rel="alternate" type="application/rss+xml" title="RSS" href="{{ get_url(path='rss.xml') }}">
|
|
<!-- Favicon -->
|
|
<link rel="icon" type="image/png" href="{{ get_url(path='favicon-96x96.png') }}" sizes="96x96">
|
|
<link rel="icon" type="image/svg+xml" href="{{ get_url(path='favicon.svg') }}">
|
|
<link rel="shortcut icon" href="{{ get_url(path='favicon.ico') }}">
|
|
<link rel="apple-touch-icon" sizes="180x180" href="{{ get_url(path='apple-touch-icon.png') }}">
|
|
<meta name="apple-mobile-web-app-title" content="YL Blog">
|
|
<link rel="manifest" href="{{ get_url(path='site.webmanifest') }}">
|
|
<meta name="theme-color" content="#fff" media="(prefers-color-scheme: light)">
|
|
<meta name="theme-color" content="#161618" media="(prefers-color-scheme: dark)">
|
|
<!-- KaTeX for math rendering -->
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css">
|
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js"></script>
|
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js"
|
|
onload="renderMathInElement(document.body, {
|
|
delimiters: [
|
|
{left: '$$', right: '$$', display: true},
|
|
{left: '$', right: '$', display: false}
|
|
]
|
|
});"></script>
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<nav>
|
|
<a href="{{ get_url(path='/') }}" class="site-title">{{ config.title }}</a>
|
|
{% set root = get_section(path="_index.md") %}
|
|
{% for path in root.subsections | sort %}
|
|
{% set s = get_section(path=path) %}
|
|
<a href="{{ s.permalink }}">{{ s.extra.abbr | default(value=s.title) }}</a>
|
|
{% endfor %}
|
|
</nav>
|
|
</header>
|
|
<main>
|
|
{% block content %}{% endblock content %}
|
|
</main>
|
|
<footer>
|
|
<div class="footer-links">
|
|
<a href="https://www.yanlincs.com" target="_blank">Homepage</a>
|
|
<a href="https://github.com/Logan-Lin" target="_blank">GitHub</a>
|
|
<a href="mailto:s@yanlincs.com">Email</a>
|
|
</div>
|
|
<p>© {{ now() | date(format="%Y") }} {{ config.extra.author }}. Content licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank">CC BY-SA 4.0</a>.</p>
|
|
</footer>
|
|
</body>
|
|
</html>
|