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">
|
|
|
|
<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="https://unpkg.com/mdui@2/mdui.css">
|
|
|
|
<script src="https://unpkg.com/mdui@2/mdui.global.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Material Icons Font (Filled) -->
|
|
|
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
|
|
|
|
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-08 15:08:32 +08:00
|
|
|
content="Study-area, study-area, study-area-cn Study Area CN, study area cn, 酷学园, 酷学园 CN , 酷!学园, netman, linux, mdbook">
|
2024-05-30 22:06:26 +08:00
|
|
|
|
|
|
|
{{#if favicon_svg}}
|
|
|
|
<link rel="icon" href="{{ path_to_root }}favicon.svg">
|
|
|
|
{{/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-08 15:08:32 +08:00
|
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css">
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
|
2024-05-30 22:06:26 +08:00
|
|
|
|
|
|
|
<!-- Custom theme stylesheets -->
|
|
|
|
{{#each additional_css}}
|
|
|
|
<link rel="stylesheet" href="{{ ../path_to_root }}{{ this }}">
|
|
|
|
{{/each}}
|
|
|
|
|
|
|
|
{{#if mathjax_support}}
|
|
|
|
<!-- MathJax -->
|
|
|
|
<script async
|
|
|
|
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
|
|
|
{{/if}}
|
|
|
|
|
|
|
|
<style>
|
2024-08-08 15:08:32 +08:00
|
|
|
ol,li{
|
|
|
|
list-style:none;
|
|
|
|
font-size:1em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.part-title{
|
|
|
|
font-weight:bold;
|
|
|
|
font-size:1.2em;
|
|
|
|
}
|
|
|
|
|
|
|
|
a {
|
|
|
|
position: relative;
|
|
|
|
text-decoration: none;
|
|
|
|
color: rgb(var(--mdui-color-primary));
|
|
|
|
}
|
|
|
|
|
|
|
|
a:after {
|
|
|
|
content: "";
|
|
|
|
position: absolute;
|
|
|
|
bottom: -2px;
|
|
|
|
left: 50%;
|
|
|
|
width: 0;
|
|
|
|
height: 2px;
|
|
|
|
transition: width 0.3s ease-in-out, left 0.3s ease-in-out;
|
|
|
|
background-color: rgb(var(--mdui-color-primary))
|
|
|
|
}
|
|
|
|
|
|
|
|
a:hover:after {
|
|
|
|
width: 100%;
|
|
|
|
left: 0;
|
|
|
|
}
|
2024-05-30 22:06:26 +08:00
|
|
|
</style>
|
|
|
|
</head>
|
|
|
|
|
2024-08-08 15:08:32 +08:00
|
|
|
<body style="margin:0;padding:0;min-height:100%;width:100%">
|
|
|
|
<mdui-layout style="height:100%">
|
|
|
|
<mdui-top-app-bar>
|
|
|
|
<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>
|
|
|
|
<div style="flex-grow: 1"></div>
|
|
|
|
{{#if git_repository_url}}
|
|
|
|
<mdui-button-icon icon="web" href="{{git_repository_url}}"></mdui-button-icon>
|
|
|
|
{{/if}}
|
|
|
|
{{#if print_enable}}
|
|
|
|
<mdui-button-icon href="{{ path_to_root }}print.html" title="Print this book" aria-label="Print this book" icon="print">
|
|
|
|
</mdui-button-icon>
|
|
|
|
{{/if}}
|
|
|
|
</mdui-top-app-bar>
|
|
|
|
|
|
|
|
<mdui-navigation-drawer close-on-overlay-click class="toc-drawer">
|
|
|
|
{{#toc}}{{/toc}}
|
|
|
|
</mdui-navigation-drawer>
|
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%">
|
|
|
|
<div class="mdui-prose" style="margin-left:20px;margin-right:20px;">
|
|
|
|
{{{ content }}}
|
|
|
|
</div>
|
2024-05-05 12:43:05 +08:00
|
|
|
|
2024-08-08 15:08:32 +08:00
|
|
|
<mdui-dialog
|
|
|
|
headline="Study Env"
|
|
|
|
close-on-esc
|
2024-08-09 22:17:21 +08:00
|
|
|
close-on-overlay-click
|
2024-08-08 15:08:32 +08:00
|
|
|
id="study-env-dialog"
|
|
|
|
>
|
|
|
|
<iframe src="about:blank" style="height:80%;width:99%" id="study-env-iframe"></iframe>
|
|
|
|
</mdui-dialog>
|
2024-05-05 12:43:05 +08:00
|
|
|
|
|
|
|
<script>
|
2024-08-08 15:08:32 +08:00
|
|
|
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-05-05 12:43:05 +08:00
|
|
|
</script>
|
|
|
|
|
2024-08-08 15:08:32 +08:00
|
|
|
<div style="height:10em;margin-top:2em;margin-left:2em;margin-right:2em;display:flex">
|
|
|
|
{{#previous}}
|
|
|
|
<mdui-card clickable style="width:49%;height: 100%" href="{{ path_to_root }}{{link}}">
|
|
|
|
<div style="display:flex;font-size:1.5em">
|
|
|
|
<mdui-icon name="navigate_before" style="font-size:1.5em"></mdui-icon> 上一章
|
2024-05-05 12:43:05 +08:00
|
|
|
</div>
|
|
|
|
|
2024-08-08 15:08:32 +08:00
|
|
|
<div style="text-align:center;font-size:2em">
|
|
|
|
{{title}}
|
2024-05-05 12:43:05 +08:00
|
|
|
</div>
|
2024-08-08 15:08:32 +08:00
|
|
|
</mdui-card>
|
|
|
|
{{/previous}}
|
|
|
|
|
|
|
|
<div style="flex-grow:1"></div>
|
|
|
|
|
|
|
|
{{#next}}
|
|
|
|
<mdui-card clickable style="width:49%;height: 100%" href="{{ path_to_root }}{{link}}">
|
|
|
|
<div style="display:flex;font-size:1.5em">
|
|
|
|
<div style="flex-grow:1"></div>下一章<mdui-icon name="navigate_next" style="font-size:1.5em"></mdui-icon>
|
2024-05-30 22:06:26 +08:00
|
|
|
</div>
|
2024-05-05 12:43:05 +08:00
|
|
|
|
2024-08-08 15:08:32 +08:00
|
|
|
<div style="text-align:center;font-size:2em">
|
|
|
|
{{title}}
|
|
|
|
</div>
|
|
|
|
</mdui-card>
|
|
|
|
{{/next}}
|
2024-05-05 12:43:05 +08:00
|
|
|
</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-05-30 22:06:26 +08:00
|
|
|
</body>
|
|
|
|
|
2024-08-08 15:08:32 +08:00
|
|
|
</html>
|