2024-05-05 12:43:05 +08:00
|
|
|
<!DOCTYPE HTML>
|
2024-08-08 15:08:32 +08:00
|
|
|
<html lang="{{ language }}" dir="{{ text_direction }}" class="mdui-theme-auto" style="height:100%;width:100%">
|
2024-05-05 12:43:05 +08:00
|
|
|
|
2024-05-30 22:06:26 +08:00
|
|
|
<head>
|
2024-06-23 10:07:38 +08:00
|
|
|
<meta NAME="ROBOTS" CONTENT="INDEX,FOLLOW">
|
2024-05-30 22:06:26 +08:00
|
|
|
<!-- Book generated using mdBook -->
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
<title>{{ title }}</title>
|
|
|
|
{{#if is_print }}
|
|
|
|
<meta name="robots" content="noindex">
|
|
|
|
{{/if}}
|
|
|
|
{{#if base_url}}
|
|
|
|
<base href="{{ base_url }}">
|
|
|
|
{{/if}}
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Custom HTML head -->
|
|
|
|
{{> head}}
|
|
|
|
|
2024-08-08 15:08:32 +08:00
|
|
|
<!-- MDUI CSS&JS -->
|
|
|
|
<meta charset="UTF-8">
|
2024-08-09 16:12:14 +08:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no" />
|
|
|
|
<meta name="renderer" content="webkit" />
|
|
|
|
<link rel="stylesheet" href="{{ ../path_to_root }}theme/css/mdui.css">
|
|
|
|
<script src="{{ ../path_to_root }}theme/js/mdui.global.js"></script>
|
|
|
|
<link href="{{ ../path_to_root }}theme/css/icons.css" rel="stylesheet">
|
2024-08-08 15:08:32 +08:00
|
|
|
|
2024-06-29 22:09:37 +08:00
|
|
|
<meta name="description" content="Study Area CN {{ description }}">
|
2024-05-30 22:06:26 +08:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<meta name="theme-color" content="#ffffff">
|
2024-06-29 22:09:37 +08:00
|
|
|
<meta name="keywords"
|
2024-08-09 16:12:14 +08:00
|
|
|
content="Study-area, study-area, study-area-cn Study Area CN, study area cn, 酷学园, 酷学园 CN , 酷!学园, netman, linux, mdbook, rockylinux">
|
2024-05-30 22:06:26 +08:00
|
|
|
|
|
|
|
{{#if favicon_svg}}
|
2024-08-09 16:12:14 +08:00
|
|
|
<link rel="icon" href="{{ path_to_root }}favicon.png">
|
2024-05-30 22:06:26 +08:00
|
|
|
{{/if}}
|
|
|
|
{{#if favicon_png}}
|
|
|
|
<link rel="shortcut icon" href="{{ path_to_root }}favicon.png">
|
|
|
|
{{/if}}
|
2024-08-08 15:08:32 +08:00
|
|
|
|
2024-05-30 22:06:26 +08:00
|
|
|
{{#if print_enable}}
|
|
|
|
<link rel="stylesheet" href="{{ path_to_root }}css/print.css" media="print">
|
|
|
|
{{/if}}
|
|
|
|
|
|
|
|
<!-- Highlight.js Stylesheets -->
|
2024-08-09 16:12:14 +08:00
|
|
|
<link rel="stylesheet" href="{{ ../path_to_root }}theme/css/highlight.min.css">
|
|
|
|
<script src="{{ ../path_to_root }}theme/js/highlight.min.js"></script>
|
|
|
|
|
2024-05-30 22:06:26 +08:00
|
|
|
|
|
|
|
|
|
|
|
{{#if mathjax_support}}
|
|
|
|
<!-- MathJax -->
|
2024-08-09 16:12:14 +08:00
|
|
|
<script async src="{{ ../path_to_root }}theme/js/mathjax.js"></script>
|
2024-05-30 22:06:26 +08:00
|
|
|
{{/if}}
|
|
|
|
|
2024-08-10 11:59:31 +08:00
|
|
|
<link rel="stylesheet" href="{{ ../path_to_root }}theme/css/page.css">
|
2024-05-30 22:06:26 +08:00
|
|
|
</head>
|
|
|
|
|
2024-08-10 20:47:27 +08:00
|
|
|
<body style="margin:0;padding:0;">
|
|
|
|
<mdui-layout>
|
|
|
|
<mdui-top-app-bar class="topbar" scroll-behavior="elevate">
|
2024-08-08 15:08:32 +08:00
|
|
|
<mdui-button-icon icon="menu" id="open-drawer"></mdui-button-icon>
|
|
|
|
<mdui-button id="open-study-env">实验环境</mdui-button>
|
|
|
|
<mdui-top-app-bar-title>{{ book_title }}</mdui-top-app-bar-title>
|
2024-08-09 16:12:14 +08:00
|
|
|
<div style="flex-grow: 1"></div>
|
2024-08-10 20:47:27 +08:00
|
|
|
{{#previous}}
|
|
|
|
<mdui-button id="previous—page" href="{{ path_to_root }}{{link}}">上一章</mdui-button>
|
|
|
|
{{/previous}}
|
|
|
|
{{#next}}
|
|
|
|
<mdui-button id="next—page" href="{{ path_to_root }}{{link}}">下一章</mdui-button>
|
|
|
|
{{/next}}
|
2024-08-08 15:08:32 +08:00
|
|
|
{{#if git_repository_url}}
|
|
|
|
<mdui-button-icon icon="web" href="{{git_repository_url}}"></mdui-button-icon>
|
|
|
|
{{/if}}
|
|
|
|
{{#if print_enable}}
|
2024-08-09 16:12:14 +08:00
|
|
|
<mdui-button-icon href="{{ path_to_root }}print.html" title="Print this book" aria-label="Print this book"
|
|
|
|
icon="print">
|
2024-08-08 15:08:32 +08:00
|
|
|
</mdui-button-icon>
|
|
|
|
{{/if}}
|
|
|
|
</mdui-top-app-bar>
|
|
|
|
|
2024-08-10 20:47:27 +08:00
|
|
|
<mdui-navigation-drawer close-on-overlay-click class="toc-drawer" id="toc-drawer" placement="left" open>
|
2024-08-08 15:08:32 +08:00
|
|
|
</mdui-navigation-drawer>
|
2024-05-05 12:43:05 +08:00
|
|
|
|
2024-08-10 20:47:27 +08:00
|
|
|
|
|
|
|
|
|
|
|
{{#if is_print }}
|
|
|
|
{{#toc}}{{/toc}}
|
|
|
|
{{/if}}
|
2024-08-10 11:59:31 +08:00
|
|
|
<!-- Render toc -->
|
|
|
|
<div style="display:none;" id="helperframe">
|
|
|
|
{{#toc}}{{/toc}}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<script src="{{ ../path_to_root }}theme/js/tocrender.js"></script>
|
|
|
|
<!-- Render toc finish -->
|
|
|
|
|
|
|
|
|
2024-05-05 12:43:05 +08:00
|
|
|
<script>
|
2024-08-08 15:08:32 +08:00
|
|
|
const navigationDrawer = document.querySelector(".toc-drawer");
|
|
|
|
const openButton = document.getElementById("open-drawer");
|
2024-05-05 12:43:05 +08:00
|
|
|
|
2024-08-08 15:08:32 +08:00
|
|
|
openButton.addEventListener("click", () => navigationDrawer.open = !navigationDrawer.open);
|
2024-05-05 12:43:05 +08:00
|
|
|
</script>
|
|
|
|
|
2024-08-08 15:08:32 +08:00
|
|
|
<mdui-layout-main class="example-layout-main" style="min-height: 100%">
|
2024-08-10 20:47:27 +08:00
|
|
|
<div class="mdui-prose">
|
2024-08-09 16:12:14 +08:00
|
|
|
{{{ content }}}
|
|
|
|
</div>
|
|
|
|
|
2024-08-10 11:59:31 +08:00
|
|
|
<mdui-dialog headline="Study Env (press esc to close)" close-on-esc id="study-env-dialog">
|
2024-08-09 16:12:14 +08:00
|
|
|
<iframe src="about:blank" style="height:80%;width:99%" id="study-env-iframe"></iframe>
|
|
|
|
</mdui-dialog>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
document.getElementById("open-study-env").addEventListener("click", () => {
|
|
|
|
document.getElementById("study-env-dialog").open = true
|
|
|
|
document.getElementById("study-env-iframe").src = "http://jslinux.cxykevin.top"
|
|
|
|
});
|
2024-08-10 12:00:13 +08:00
|
|
|
</script>
|
2024-08-09 16:12:14 +08:00
|
|
|
|
2024-08-10 20:47:27 +08:00
|
|
|
<div style="height:10em;display:flex;max-width: 78%;margin: auto;margin-top:2em;">
|
2024-08-09 16:12:14 +08:00
|
|
|
{{#previous}}
|
|
|
|
<mdui-card clickable style="width:49%;height: 100%" href="{{ path_to_root }}{{link}}">
|
2024-08-10 20:47:27 +08:00
|
|
|
<div style="display:flex;font-size:1.2em;margin-top: 10px;margin-left: 4px;">
|
|
|
|
<mdui-icon name="navigate_before" style="font-size:1.5em;"></mdui-icon> 上一章
|
2024-08-09 16:12:14 +08:00
|
|
|
</div>
|
|
|
|
|
2024-08-10 20:47:27 +08:00
|
|
|
<div style="text-align:center;font-size:1.8em;margin-top: 12px;">
|
2024-08-09 16:12:14 +08:00
|
|
|
{{title}}
|
|
|
|
</div>
|
|
|
|
</mdui-card>
|
|
|
|
{{/previous}}
|
|
|
|
|
|
|
|
<div style="flex-grow:1"></div>
|
|
|
|
|
|
|
|
{{#next}}
|
|
|
|
<mdui-card clickable style="width:49%;height: 100%" href="{{ path_to_root }}{{link}}">
|
2024-08-10 20:47:27 +08:00
|
|
|
<div style="display:flex;font-size:1.2em;margin-top: 10px;margin-right: 4px;">
|
2024-08-09 16:12:14 +08:00
|
|
|
<div style="flex-grow:1"></div>下一章<mdui-icon name="navigate_next"
|
|
|
|
style="font-size:1.5em"></mdui-icon>
|
|
|
|
</div>
|
|
|
|
|
2024-08-10 20:47:27 +08:00
|
|
|
<div style="text-align:center;font-size:1.8em;margin-top: 12px;">
|
2024-08-09 16:12:14 +08:00
|
|
|
{{title}}
|
|
|
|
</div>
|
|
|
|
</mdui-card>
|
|
|
|
{{/next}}
|
|
|
|
</div>
|
2024-08-08 15:08:32 +08:00
|
|
|
</mdui-layout-main>
|
2024-05-05 12:43:05 +08:00
|
|
|
|
|
|
|
{{#if live_reload_endpoint}}
|
|
|
|
<!-- Livereload script (if served using the cli tool) -->
|
|
|
|
<script>
|
|
|
|
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
|
|
const wsAddress = wsProtocol + "//" + location.host + "/" + "{{{live_reload_endpoint}}}";
|
|
|
|
const socket = new WebSocket(wsAddress);
|
|
|
|
socket.onmessage = function (event) {
|
|
|
|
if (event.data === "reload") {
|
|
|
|
socket.close();
|
|
|
|
location.reload();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2024-05-30 22:06:26 +08:00
|
|
|
window.onbeforeunload = function () {
|
2024-05-05 12:43:05 +08:00
|
|
|
socket.close();
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
{{/if}}
|
|
|
|
|
|
|
|
|
|
|
|
{{#if is_print}}
|
|
|
|
{{#if mathjax_support}}
|
|
|
|
<script>
|
2024-05-30 22:06:26 +08:00
|
|
|
window.addEventListener('load', function () {
|
|
|
|
MathJax.Hub.Register.StartupHook('End', function () {
|
|
|
|
window.setTimeout(window.print, 100);
|
|
|
|
});
|
2024-05-05 12:43:05 +08:00
|
|
|
});
|
|
|
|
</script>
|
|
|
|
{{else}}
|
|
|
|
<script>
|
2024-05-30 22:06:26 +08:00
|
|
|
window.addEventListener('load', function () {
|
|
|
|
window.setTimeout(window.print, 100);
|
|
|
|
});
|
2024-05-05 12:43:05 +08:00
|
|
|
</script>
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
2024-08-08 15:08:32 +08:00
|
|
|
</mdui-layout>
|
2024-05-31 23:13:38 +08:00
|
|
|
|
2024-08-08 15:08:32 +08:00
|
|
|
<!-- 留白 -->
|
|
|
|
<div style="height:2em"></div>
|
2024-05-05 12:43:05 +08:00
|
|
|
|
2024-08-08 15:08:32 +08:00
|
|
|
<script>hljs.highlightAll();</script>
|
2024-08-10 17:07:38 +08:00
|
|
|
|
2024-05-30 22:06:26 +08:00
|
|
|
</body>
|
|
|
|
|
2024-08-09 16:12:14 +08:00
|
|
|
</html>
|