commit
22663508fe
@ -0,0 +1,17 @@ |
|||||||
|
# Welcome to MkDocs |
||||||
|
|
||||||
|
For full documentation visit [mkdocs.org](https://www.mkdocs.org). |
||||||
|
|
||||||
|
## Commands |
||||||
|
|
||||||
|
* `mkdocs new [dir-name]` - Create a new project. |
||||||
|
* `mkdocs serve` - Start the live-reloading docs server. |
||||||
|
* `mkdocs build` - Build the documentation site. |
||||||
|
* `mkdocs -h` - Print help message and exit. |
||||||
|
|
||||||
|
## Project layout |
||||||
|
|
||||||
|
mkdocs.yml # The configuration file. |
||||||
|
docs/ |
||||||
|
index.md # The documentation homepage. |
||||||
|
... # Other markdown pages, images and other files. |
@ -0,0 +1 @@ |
|||||||
|
site_name: My Docs |
@ -0,0 +1 @@ |
|||||||
|
mkdocs>=1.1.2 |
@ -0,0 +1,129 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html lang="en"> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8"> |
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="shortcut icon" href="/img/favicon.ico"> |
||||||
|
<title>My Docs</title> |
||||||
|
<link href="/css/bootstrap.min.css" rel="stylesheet"> |
||||||
|
<link href="/css/font-awesome.min.css" rel="stylesheet"> |
||||||
|
<link href="/css/base.css" rel="stylesheet"> |
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/github.min.css"> |
||||||
|
|
||||||
|
<script src="/js/jquery-1.10.2.min.js" defer></script> |
||||||
|
<script src="/js/bootstrap.min.js" defer></script> |
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script> |
||||||
|
<script>hljs.initHighlightingOnLoad();</script> |
||||||
|
</head> |
||||||
|
|
||||||
|
<body> |
||||||
|
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary"> |
||||||
|
<div class="container"> |
||||||
|
<a class="navbar-brand" href="/.">My Docs</a> |
||||||
|
|
||||||
|
<!-- Expanded navigation --> |
||||||
|
<div id="navbar-collapse" class="navbar-collapse collapse"> |
||||||
|
|
||||||
|
<ul class="nav navbar-nav ml-auto"> |
||||||
|
<li class="nav-item"> |
||||||
|
<a href="#" class="nav-link" data-toggle="modal" data-target="#mkdocs_search_modal"> |
||||||
|
<i class="fa fa-search"></i> Search |
||||||
|
</a> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="container"> |
||||||
|
<div class="row"> |
||||||
|
|
||||||
|
<div class="row-fluid"> |
||||||
|
<div id="main-content" class="span12"> |
||||||
|
<h1 id="404-page-not-found" style="text-align: center">404</h1> |
||||||
|
<p style="text-align: center"><strong>Page not found</strong></p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<footer class="col-md-12"> |
||||||
|
<hr> |
||||||
|
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p> |
||||||
|
</footer> |
||||||
|
<script> |
||||||
|
var base_url = "/", |
||||||
|
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83}; |
||||||
|
</script> |
||||||
|
<script src="/js/base.js" defer></script> |
||||||
|
<script src="/search/main.js" defer></script> |
||||||
|
|
||||||
|
<div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true"> |
||||||
|
<div class="modal-dialog modal-lg"> |
||||||
|
<div class="modal-content"> |
||||||
|
<div class="modal-header"> |
||||||
|
<h4 class="modal-title" id="searchModalLabel">Search</h4> |
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> |
||||||
|
</div> |
||||||
|
<div class="modal-body"> |
||||||
|
<p>From here you can search these documents. Enter your search terms below.</p> |
||||||
|
<form> |
||||||
|
<div class="form-group"> |
||||||
|
<input type="search" class="form-control" placeholder="Search..." id="mkdocs-search-query" title="Type search term here"> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
<div id="mkdocs-search-results" data-no-results-text="No results found"></div> |
||||||
|
</div> |
||||||
|
<div class="modal-footer"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div><div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true"> |
||||||
|
<div class="modal-dialog"> |
||||||
|
<div class="modal-content"> |
||||||
|
<div class="modal-header"> |
||||||
|
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4> |
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> |
||||||
|
</div> |
||||||
|
<div class="modal-body"> |
||||||
|
<table class="table"> |
||||||
|
<thead> |
||||||
|
<tr> |
||||||
|
<th style="width: 20%;">Keys</th> |
||||||
|
<th>Action</th> |
||||||
|
</tr> |
||||||
|
</thead> |
||||||
|
<tbody> |
||||||
|
<tr> |
||||||
|
<td class="help shortcut"><kbd>?</kbd></td> |
||||||
|
<td>Open this help</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td class="next shortcut"><kbd>n</kbd></td> |
||||||
|
<td>Next page</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td class="prev shortcut"><kbd>p</kbd></td> |
||||||
|
<td>Previous page</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td class="search shortcut"><kbd>s</kbd></td> |
||||||
|
<td>Search</td> |
||||||
|
</tr> |
||||||
|
</tbody> |
||||||
|
</table> |
||||||
|
</div> |
||||||
|
<div class="modal-footer"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,322 @@ |
|||||||
|
html { |
||||||
|
/* csslint ignore:start */ |
||||||
|
/* The nav header is 3.5rem high, plus 20px for the margin-top of the |
||||||
|
main container. */ |
||||||
|
scroll-padding-top: calc(3.5rem + 20px); |
||||||
|
/* csslint ignore:end */ |
||||||
|
} |
||||||
|
|
||||||
|
/* Replacement for `body { background-attachment: fixed; }`, which has |
||||||
|
performance issues when scrolling on large displays. See #1394. */ |
||||||
|
body::before { |
||||||
|
content: ' '; |
||||||
|
position: fixed; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
background-color: #f8f8f8; |
||||||
|
background: url(../img/grid.png) repeat-x; |
||||||
|
will-change: transform; |
||||||
|
z-index: -1; |
||||||
|
} |
||||||
|
|
||||||
|
body > .container { |
||||||
|
margin-top: 20px; |
||||||
|
min-height: 400px; |
||||||
|
} |
||||||
|
|
||||||
|
.navbar.fixed-top { /* csslint allow: adjoining-classes */ |
||||||
|
/* csslint ignore:start */ |
||||||
|
position: -webkit-sticky; |
||||||
|
position: sticky; |
||||||
|
/* csslint ignore:end */ |
||||||
|
} |
||||||
|
|
||||||
|
.source-links { |
||||||
|
float: right; |
||||||
|
} |
||||||
|
|
||||||
|
.col-md-9 img { |
||||||
|
max-width: 100%; |
||||||
|
display: inline-block; |
||||||
|
padding: 4px; |
||||||
|
line-height: 1.428571429; |
||||||
|
background-color: #fff; |
||||||
|
border: 1px solid #ddd; |
||||||
|
border-radius: 4px; |
||||||
|
margin: 20px auto 30px auto; |
||||||
|
} |
||||||
|
|
||||||
|
h1 { |
||||||
|
color: #444; |
||||||
|
font-weight: 400; |
||||||
|
font-size: 42px; |
||||||
|
} |
||||||
|
|
||||||
|
h2, h3, h4, h5, h6 { |
||||||
|
color: #444; |
||||||
|
font-weight: 300; |
||||||
|
} |
||||||
|
|
||||||
|
hr { |
||||||
|
border-top: 1px solid #aaa; |
||||||
|
} |
||||||
|
|
||||||
|
pre, .rst-content tt { |
||||||
|
max-width: 100%; |
||||||
|
background: #fff; |
||||||
|
border: solid 1px #e1e4e5; |
||||||
|
color: #333; |
||||||
|
overflow-x: auto; |
||||||
|
} |
||||||
|
|
||||||
|
code.code-large, .rst-content tt.code-large { |
||||||
|
font-size: 90%; |
||||||
|
} |
||||||
|
|
||||||
|
code { |
||||||
|
padding: 2px 5px; |
||||||
|
background: #fff; |
||||||
|
border: solid 1px #e1e4e5; |
||||||
|
color: #333; |
||||||
|
white-space: pre-wrap; |
||||||
|
word-wrap: break-word; |
||||||
|
} |
||||||
|
|
||||||
|
pre code { |
||||||
|
display: block; |
||||||
|
background: transparent; |
||||||
|
border: none; |
||||||
|
white-space: pre; |
||||||
|
word-wrap: normal; |
||||||
|
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; |
||||||
|
font-size: 12px; |
||||||
|
} |
||||||
|
|
||||||
|
kbd { |
||||||
|
padding: 2px 4px; |
||||||
|
font-size: 90%; |
||||||
|
color: #fff; |
||||||
|
background-color: #333; |
||||||
|
border-radius: 3px; |
||||||
|
-webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); |
||||||
|
box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); |
||||||
|
} |
||||||
|
|
||||||
|
a code { |
||||||
|
color: #2FA4E7; |
||||||
|
} |
||||||
|
|
||||||
|
a:hover code, a:focus code { |
||||||
|
color: #157AB5; |
||||||
|
} |
||||||
|
|
||||||
|
footer { |
||||||
|
margin-top: 30px; |
||||||
|
margin-bottom: 10px; |
||||||
|
text-align: center; |
||||||
|
font-weight: 200; |
||||||
|
} |
||||||
|
|
||||||
|
.modal-dialog { |
||||||
|
margin-top: 60px; |
||||||
|
} |
||||||
|
|
||||||
|
/* |
||||||
|
* Side navigation |
||||||
|
* |
||||||
|
* Scrollspy and affixed enhanced navigation to highlight sections and secondary |
||||||
|
* sections of docs content. |
||||||
|
*/ |
||||||
|
|
||||||
|
.bs-sidebar.affix { /* csslint allow: adjoining-classes */ |
||||||
|
/* csslint ignore:start */ |
||||||
|
position: -webkit-sticky; |
||||||
|
position: sticky; |
||||||
|
/* csslint ignore:end */ |
||||||
|
/* The nav header is 3.5rem high, plus 20px for the margin-top of the |
||||||
|
main container. */ |
||||||
|
top: calc(3.5rem + 20px); |
||||||
|
} |
||||||
|
|
||||||
|
.bs-sidebar.card { /* csslint allow: adjoining-classes */ |
||||||
|
padding: 0; |
||||||
|
max-height: 90%; |
||||||
|
overflow-y: auto; |
||||||
|
} |
||||||
|
|
||||||
|
/* Toggle (vertically flip) sidebar collapse icon */ |
||||||
|
.bs-sidebar .navbar-toggler span { |
||||||
|
-moz-transform: scale(1, -1); |
||||||
|
-webkit-transform: scale(1, -1); |
||||||
|
-o-transform: scale(1, -1); |
||||||
|
-ms-transform: scale(1, -1); |
||||||
|
transform: scale(1, -1); |
||||||
|
} |
||||||
|
|
||||||
|
.bs-sidebar .navbar-toggler.collapsed span { /* csslint allow: adjoining-classes */ |
||||||
|
-moz-transform: scale(1, 1); |
||||||
|
-webkit-transform: scale(1, 1); |
||||||
|
-o-transform: scale(1, 1); |
||||||
|
-ms-transform: scale(1, 1); |
||||||
|
transform: scale(1, 1); |
||||||
|
} |
||||||
|
|
||||||
|
/* First level of nav */ |
||||||
|
.bs-sidebar > .navbar-collapse > .nav { |
||||||
|
padding-top: 10px; |
||||||
|
padding-bottom: 10px; |
||||||
|
border-radius: 5px; |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
|
||||||
|
/* All levels of nav */ |
||||||
|
.bs-sidebar .nav > li > a { |
||||||
|
display: block; |
||||||
|
padding: 5px 20px; |
||||||
|
z-index: 1; |
||||||
|
} |
||||||
|
.bs-sidebar .nav > li > a:hover, |
||||||
|
.bs-sidebar .nav > li > a:focus { |
||||||
|
text-decoration: none; |
||||||
|
border-right: 1px solid; |
||||||
|
} |
||||||
|
.bs-sidebar .nav > li > a.active, |
||||||
|
.bs-sidebar .nav > li > a.active:hover, |
||||||
|
.bs-sidebar .nav > li > a.active:focus { |
||||||
|
font-weight: bold; |
||||||
|
background-color: transparent; |
||||||
|
border-right: 1px solid; |
||||||
|
} |
||||||
|
|
||||||
|
.bs-sidebar .nav .nav .nav { |
||||||
|
margin-left: 1em; |
||||||
|
} |
||||||
|
|
||||||
|
.bs-sidebar .nav > li > a { |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
|
||||||
|
.bs-sidebar .nav .nav > li > a { |
||||||
|
font-weight: normal; |
||||||
|
} |
||||||
|
|
||||||
|
.headerlink { |
||||||
|
font-family: FontAwesome; |
||||||
|
font-size: 14px; |
||||||
|
display: none; |
||||||
|
padding-left: .5em; |
||||||
|
} |
||||||
|
|
||||||
|
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink { |
||||||
|
display:inline-block; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.admonition, details { |
||||||
|
padding: 15px; |
||||||
|
margin-bottom: 20px; |
||||||
|
border: 1px solid transparent; |
||||||
|
border-radius: 4px; |
||||||
|
text-align: left; |
||||||
|
} |
||||||
|
|
||||||
|
.admonition.note, details.note { /* csslint allow: adjoining-classes */ |
||||||
|
color: #2e6b89; |
||||||
|
background-color: #e2f0f7; |
||||||
|
border-color: #bce8f1; |
||||||
|
} |
||||||
|
|
||||||
|
.admonition.warning, details.warning { /* csslint allow: adjoining-classes */ |
||||||
|
color: #7a6032; |
||||||
|
background-color: #fffae5; |
||||||
|
border-color: #fbeed5; |
||||||
|
} |
||||||
|
|
||||||
|
.admonition.danger, details.danger { /* csslint allow: adjoining-classes */ |
||||||
|
color: #7f3130; |
||||||
|
background-color: #fde3e3; |
||||||
|
border-color: #eed3d7; |
||||||
|
} |
||||||
|
|
||||||
|
.admonition-title, summary { |
||||||
|
font-weight: bold; |
||||||
|
text-align: left; |
||||||
|
} |
||||||
|
|
||||||
|
.admonition>p:last-child, details>p:last-child { |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
|
||||||
|
@media (max-width: 991.98px) { |
||||||
|
.navbar-collapse.show { /* csslint allow: adjoining-classes */ |
||||||
|
overflow-y: auto; |
||||||
|
max-height: calc(100vh - 3.5rem); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-item.open { /* csslint allow: adjoining-classes */ |
||||||
|
color: #fff; |
||||||
|
background-color: #2FA4E7; |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-submenu > .dropdown-menu { |
||||||
|
margin: 0 0 0 1.5rem; |
||||||
|
padding: 0; |
||||||
|
border-width: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-submenu > a::after { |
||||||
|
display: block; |
||||||
|
content: " "; |
||||||
|
float: right; |
||||||
|
width: 0; |
||||||
|
height: 0; |
||||||
|
border-color: transparent; |
||||||
|
border-style: solid; |
||||||
|
border-width: 5px 0 5px 5px; |
||||||
|
border-left-color: #ccc; |
||||||
|
margin-top: 5px; |
||||||
|
margin-right: -10px; |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-submenu:hover > a::after { |
||||||
|
border-left-color: #fff; |
||||||
|
} |
||||||
|
|
||||||
|
@media (min-width: 992px) { |
||||||
|
.dropdown-menu { |
||||||
|
overflow-y: auto; |
||||||
|
max-height: calc(100vh - 3.5rem); |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-submenu { |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-submenu > .dropdown-menu { |
||||||
|
/* csslint ignore:start */ |
||||||
|
position: fixed !important; |
||||||
|
/* csslint ignore:end */ |
||||||
|
margin-top: -9px; |
||||||
|
margin-left: -2px; |
||||||
|
border-width: 1px; |
||||||
|
padding: 0.5rem 0; |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-submenu.pull-left { /* csslint allow: adjoining-classes */ |
||||||
|
float: none; |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-submenu.pull-left > .dropdown-menu { /* csslint allow: adjoining-classes */ |
||||||
|
left: -100%; |
||||||
|
margin-left: 10px; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@media print { |
||||||
|
/* Remove sidebar when print */ |
||||||
|
.col-md-3 { display: none; } |
||||||
|
} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
After Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.4 KiB |
@ -0,0 +1,168 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html lang="en"> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8"> |
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||||
|
<meta name="description" content="None"> |
||||||
|
|
||||||
|
|
||||||
|
<link rel="shortcut icon" href="img/favicon.ico"> |
||||||
|
<title>My Docs</title> |
||||||
|
<link href="css/bootstrap.min.css" rel="stylesheet"> |
||||||
|
<link href="css/font-awesome.min.css" rel="stylesheet"> |
||||||
|
<link href="css/base.css" rel="stylesheet"> |
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/github.min.css"> |
||||||
|
|
||||||
|
<script src="js/jquery-1.10.2.min.js" defer></script> |
||||||
|
<script src="js/bootstrap.min.js" defer></script> |
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script> |
||||||
|
<script>hljs.initHighlightingOnLoad();</script> |
||||||
|
</head> |
||||||
|
|
||||||
|
<body class="homepage"> |
||||||
|
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary"> |
||||||
|
<div class="container"> |
||||||
|
<a class="navbar-brand" href=".">My Docs</a> |
||||||
|
|
||||||
|
<!-- Expanded navigation --> |
||||||
|
<div id="navbar-collapse" class="navbar-collapse collapse"> |
||||||
|
|
||||||
|
<ul class="nav navbar-nav ml-auto"> |
||||||
|
<li class="nav-item"> |
||||||
|
<a href="#" class="nav-link" data-toggle="modal" data-target="#mkdocs_search_modal"> |
||||||
|
<i class="fa fa-search"></i> Search |
||||||
|
</a> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="container"> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-3"><div class="navbar-light navbar-expand-md bs-sidebar hidden-print affix" role="complementary"> |
||||||
|
<div class="navbar-header"> |
||||||
|
<button type="button" class="navbar-toggler collapsed" data-toggle="collapse" data-target="#toc-collapse" title="Table of Contents"> |
||||||
|
<span class="fa fa-angle-down"></span> |
||||||
|
</button> |
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
<div id="toc-collapse" class="navbar-collapse collapse card bg-secondary"> |
||||||
|
<ul class="nav flex-column"> |
||||||
|
|
||||||
|
<li class="nav-item" data-level="1"><a href="#welcome-to-mkdocs" class="nav-link">Welcome to MkDocs</a> |
||||||
|
<ul class="nav flex-column"> |
||||||
|
<li class="nav-item" data-level="2"><a href="#commands" class="nav-link">Commands</a> |
||||||
|
<ul class="nav flex-column"> |
||||||
|
</ul> |
||||||
|
</li> |
||||||
|
<li class="nav-item" data-level="2"><a href="#project-layout" class="nav-link">Project layout</a> |
||||||
|
<ul class="nav flex-column"> |
||||||
|
</ul> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div></div> |
||||||
|
<div class="col-md-9" role="main"> |
||||||
|
|
||||||
|
<h1 id="welcome-to-mkdocs">Welcome to MkDocs</h1> |
||||||
|
<p>For full documentation visit <a href="https://www.mkdocs.org">mkdocs.org</a>.</p> |
||||||
|
<h2 id="commands">Commands</h2> |
||||||
|
<ul> |
||||||
|
<li><code>mkdocs new [dir-name]</code> - Create a new project.</li> |
||||||
|
<li><code>mkdocs serve</code> - Start the live-reloading docs server.</li> |
||||||
|
<li><code>mkdocs build</code> - Build the documentation site.</li> |
||||||
|
<li><code>mkdocs -h</code> - Print help message and exit.</li> |
||||||
|
</ul> |
||||||
|
<h2 id="project-layout">Project layout</h2> |
||||||
|
<pre><code>mkdocs.yml # The configuration file. |
||||||
|
docs/ |
||||||
|
index.md # The documentation homepage. |
||||||
|
... # Other markdown pages, images and other files. |
||||||
|
</code></pre></div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<footer class="col-md-12"> |
||||||
|
<hr> |
||||||
|
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p> |
||||||
|
</footer> |
||||||
|
<script> |
||||||
|
var base_url = ".", |
||||||
|
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83}; |
||||||
|
</script> |
||||||
|
<script src="js/base.js" defer></script> |
||||||
|
<script src="search/main.js" defer></script> |
||||||
|
|
||||||
|
<div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true"> |
||||||
|
<div class="modal-dialog modal-lg"> |
||||||
|
<div class="modal-content"> |
||||||
|
<div class="modal-header"> |
||||||
|
<h4 class="modal-title" id="searchModalLabel">Search</h4> |
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> |
||||||
|
</div> |
||||||
|
<div class="modal-body"> |
||||||
|
<p>From here you can search these documents. Enter your search terms below.</p> |
||||||
|
<form> |
||||||
|
<div class="form-group"> |
||||||
|
<input type="search" class="form-control" placeholder="Search..." id="mkdocs-search-query" title="Type search term here"> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
<div id="mkdocs-search-results" data-no-results-text="No results found"></div> |
||||||
|
</div> |
||||||
|
<div class="modal-footer"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div><div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true"> |
||||||
|
<div class="modal-dialog"> |
||||||
|
<div class="modal-content"> |
||||||
|
<div class="modal-header"> |
||||||
|
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4> |
||||||
|
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> |
||||||
|
</div> |
||||||
|
<div class="modal-body"> |
||||||
|
<table class="table"> |
||||||
|
<thead> |
||||||
|
<tr> |
||||||
|
<th style="width: 20%;">Keys</th> |
||||||
|
<th>Action</th> |
||||||
|
</tr> |
||||||
|
</thead> |
||||||
|
<tbody> |
||||||
|
<tr> |
||||||
|
<td class="help shortcut"><kbd>?</kbd></td> |
||||||
|
<td>Open this help</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td class="next shortcut"><kbd>n</kbd></td> |
||||||
|
<td>Next page</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td class="prev shortcut"><kbd>p</kbd></td> |
||||||
|
<td>Previous page</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td class="search shortcut"><kbd>s</kbd></td> |
||||||
|
<td>Search</td> |
||||||
|
</tr> |
||||||
|
</tbody> |
||||||
|
</table> |
||||||
|
</div> |
||||||
|
<div class="modal-footer"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
</body> |
||||||
|
</html> |
||||||
|
|
||||||
|
<!-- |
||||||
|
MkDocs version : 1.4.2 |
||||||
|
Build Date UTC : 2023-01-03 14:38:24.422185+00:00 |
||||||
|
--> |
@ -0,0 +1,283 @@ |
|||||||
|
function getSearchTerm() { |
||||||
|
var sPageURL = window.location.search.substring(1); |
||||||
|
var sURLVariables = sPageURL.split('&'); |
||||||
|
for (var i = 0; i < sURLVariables.length; i++) { |
||||||
|
var sParameterName = sURLVariables[i].split('='); |
||||||
|
if (sParameterName[0] == 'q') { |
||||||
|
return sParameterName[1]; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function applyTopPadding() { |
||||||
|
// Update various absolute positions to match where the main container
|
||||||
|
// starts. This is necessary for handling multi-line nav headers, since
|
||||||
|
// that pushes the main container down.
|
||||||
|
var offset = $('body > .container').offset(); |
||||||
|
$('html').css('scroll-padding-top', offset.top + 'px'); |
||||||
|
$('.bs-sidebar.affix').css('top', offset.top + 'px'); |
||||||
|
} |
||||||
|
|
||||||
|
$(document).ready(function() { |
||||||
|
|
||||||
|
applyTopPadding(); |
||||||
|
|
||||||
|
var search_term = getSearchTerm(), |
||||||
|
$search_modal = $('#mkdocs_search_modal'), |
||||||
|
$keyboard_modal = $('#mkdocs_keyboard_modal'); |
||||||
|
|
||||||
|
if (search_term) { |
||||||
|
$search_modal.modal(); |
||||||
|
} |
||||||
|
|
||||||
|
// make sure search input gets autofocus every time modal opens.
|
||||||
|
$search_modal.on('shown.bs.modal', function() { |
||||||
|
$search_modal.find('#mkdocs-search-query').focus(); |
||||||
|
}); |
||||||
|
|
||||||
|
// Close search modal when result is selected
|
||||||
|
// The links get added later so listen to parent
|
||||||
|
$('#mkdocs-search-results').click(function(e) { |
||||||
|
if ($(e.target).is('a')) { |
||||||
|
$search_modal.modal('hide'); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
// Populate keyboard modal with proper Keys
|
||||||
|
$keyboard_modal.find('.help.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.help]; |
||||||
|
$keyboard_modal.find('.prev.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.previous]; |
||||||
|
$keyboard_modal.find('.next.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.next]; |
||||||
|
$keyboard_modal.find('.search.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.search]; |
||||||
|
|
||||||
|
// Keyboard navigation
|
||||||
|
document.addEventListener("keydown", function(e) { |
||||||
|
if ($(e.target).is(':input')) return true; |
||||||
|
var key = e.which || e.keyCode || window.event && window.event.keyCode; |
||||||
|
var page; |
||||||
|
switch (key) { |
||||||
|
case shortcuts.next: |
||||||
|
page = $('.navbar a[rel="next"]:first').prop('href'); |
||||||
|
break; |
||||||
|
case shortcuts.previous: |
||||||
|
page = $('.navbar a[rel="prev"]:first').prop('href'); |
||||||
|
break; |
||||||
|
case shortcuts.search: |
||||||
|
e.preventDefault(); |
||||||
|
$keyboard_modal.modal('hide'); |
||||||
|
$search_modal.modal('show'); |
||||||
|
$search_modal.find('#mkdocs-search-query').focus(); |
||||||
|
break; |
||||||
|
case shortcuts.help: |
||||||
|
$search_modal.modal('hide'); |
||||||
|
$keyboard_modal.modal('show'); |
||||||
|
break; |
||||||
|
default: break; |
||||||
|
} |
||||||
|
if (page) { |
||||||
|
$keyboard_modal.modal('hide'); |
||||||
|
window.location.href = page; |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
$('table').addClass('table table-striped table-hover'); |
||||||
|
|
||||||
|
// Improve the scrollspy behaviour when users click on a TOC item.
|
||||||
|
$(".bs-sidenav a").on("click", function() { |
||||||
|
var clicked = this; |
||||||
|
setTimeout(function() { |
||||||
|
var active = $('.nav li.active a'); |
||||||
|
active = active[active.length - 1]; |
||||||
|
if (clicked !== active) { |
||||||
|
$(active).parent().removeClass("active"); |
||||||
|
$(clicked).parent().addClass("active"); |
||||||
|
} |
||||||
|
}, 50); |
||||||
|
}); |
||||||
|
|
||||||
|
function showInnerDropdown(item) { |
||||||
|
var popup = $(item).next('.dropdown-menu'); |
||||||
|
popup.addClass('show'); |
||||||
|
$(item).addClass('open'); |
||||||
|
|
||||||
|
// First, close any sibling dropdowns.
|
||||||
|
var container = $(item).parent().parent(); |
||||||
|
container.find('> .dropdown-submenu > a').each(function(i, el) { |
||||||
|
if (el !== item) { |
||||||
|
hideInnerDropdown(el); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
var popupMargin = 10; |
||||||
|
var maxBottom = $(window).height() - popupMargin; |
||||||
|
var bounds = item.getBoundingClientRect(); |
||||||
|
|
||||||
|
popup.css('left', bounds.right + 'px'); |
||||||
|
if (bounds.top + popup.height() > maxBottom && |
||||||
|
bounds.top > $(window).height() / 2) { |
||||||
|
popup.css({ |
||||||
|
'top': (bounds.bottom - popup.height()) + 'px', |
||||||
|
'max-height': (bounds.bottom - popupMargin) + 'px', |
||||||
|
}); |
||||||
|
} else { |
||||||
|
popup.css({ |
||||||
|
'top': bounds.top + 'px', |
||||||
|
'max-height': (maxBottom - bounds.top) + 'px', |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function hideInnerDropdown(item) { |
||||||
|
var popup = $(item).next('.dropdown-menu'); |
||||||
|
popup.removeClass('show'); |
||||||
|
$(item).removeClass('open'); |
||||||
|
|
||||||
|
popup.scrollTop(0); |
||||||
|
popup.find('.dropdown-menu').scrollTop(0).removeClass('show'); |
||||||
|
popup.find('.dropdown-submenu > a').removeClass('open'); |
||||||
|
} |
||||||
|
|
||||||
|
$('.dropdown-submenu > a').on('click', function(e) { |
||||||
|
if ($(this).next('.dropdown-menu').hasClass('show')) { |
||||||
|
hideInnerDropdown(this); |
||||||
|
} else { |
||||||
|
showInnerDropdown(this); |
||||||
|
} |
||||||
|
|
||||||
|
e.stopPropagation(); |
||||||
|
e.preventDefault(); |
||||||
|
}); |
||||||
|
|
||||||
|
$('.dropdown-menu').parent().on('hide.bs.dropdown', function(e) { |
||||||
|
$(this).find('.dropdown-menu').scrollTop(0); |
||||||
|
$(this).find('.dropdown-submenu > a').removeClass('open'); |
||||||
|
$(this).find('.dropdown-menu .dropdown-menu').removeClass('show'); |
||||||
|
}); |
||||||
|
}); |
||||||
|
|
||||||
|
$(window).on('resize', applyTopPadding); |
||||||
|
|
||||||
|
$('body').scrollspy({ |
||||||
|
target: '.bs-sidebar', |
||||||
|
offset: 100 |
||||||
|
}); |
||||||
|
|
||||||
|
/* Prevent disabled links from causing a page reload */ |
||||||
|
$("li.disabled a").click(function() { |
||||||
|
event.preventDefault(); |
||||||
|
}); |
||||||
|
|
||||||
|
// See https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
|
||||||
|
// We only list common keys below. Obscure keys are omitted and their use is discouraged.
|
||||||
|
var keyCodes = { |
||||||
|
8: 'backspace', |
||||||
|
9: 'tab', |
||||||
|
13: 'enter', |
||||||
|
16: 'shift', |
||||||
|
17: 'ctrl', |
||||||
|
18: 'alt', |
||||||
|
19: 'pause/break', |
||||||
|
20: 'caps lock', |
||||||
|
27: 'escape', |
||||||
|
32: 'spacebar', |
||||||
|
33: 'page up', |
||||||
|
34: 'page down', |
||||||
|
35: 'end', |
||||||
|
36: 'home', |
||||||
|
37: '←', |
||||||
|
38: '↑', |
||||||
|
39: '→', |
||||||
|
40: '↓', |
||||||
|
45: 'insert', |
||||||
|
46: 'delete', |
||||||
|
48: '0', |
||||||
|
49: '1', |
||||||
|
50: '2', |
||||||
|
51: '3', |
||||||
|
52: '4', |
||||||
|
53: '5', |
||||||
|
54: '6', |
||||||
|
55: '7', |
||||||
|
56: '8', |
||||||
|
57: '9', |
||||||
|
65: 'a', |
||||||
|
66: 'b', |
||||||
|
67: 'c', |
||||||
|
68: 'd', |
||||||
|
69: 'e', |
||||||
|
70: 'f', |
||||||
|
71: 'g', |
||||||
|
72: 'h', |
||||||
|
73: 'i', |
||||||
|
74: 'j', |
||||||
|
75: 'k', |
||||||
|
76: 'l', |
||||||
|
77: 'm', |
||||||
|
78: 'n', |
||||||
|
79: 'o', |
||||||
|
80: 'p', |
||||||
|
81: 'q', |
||||||
|
82: 'r', |
||||||
|
83: 's', |
||||||
|
84: 't', |
||||||
|
85: 'u', |
||||||
|
86: 'v', |
||||||
|
87: 'w', |
||||||
|
88: 'x', |
||||||
|
89: 'y', |
||||||
|
90: 'z', |
||||||
|
91: 'Left Windows Key / Left ⌘', |
||||||
|
92: 'Right Windows Key', |
||||||
|
93: 'Windows Menu / Right ⌘', |
||||||
|
96: 'numpad 0', |
||||||
|
97: 'numpad 1', |
||||||
|
98: 'numpad 2', |
||||||
|
99: 'numpad 3', |
||||||
|
100: 'numpad 4', |
||||||
|
101: 'numpad 5', |
||||||
|
102: 'numpad 6', |
||||||
|
103: 'numpad 7', |
||||||
|
104: 'numpad 8', |
||||||
|
105: 'numpad 9', |
||||||
|
106: 'multiply', |
||||||
|
107: 'add', |
||||||
|
109: 'subtract', |
||||||
|
110: 'decimal point', |
||||||
|
111: 'divide', |
||||||
|
112: 'f1', |
||||||
|
113: 'f2', |
||||||
|
114: 'f3', |
||||||
|
115: 'f4', |
||||||
|
116: 'f5', |
||||||
|
117: 'f6', |
||||||
|
118: 'f7', |
||||||
|
119: 'f8', |
||||||
|
120: 'f9', |
||||||
|
121: 'f10', |
||||||
|
122: 'f11', |
||||||
|
123: 'f12', |
||||||
|
124: 'f13', |
||||||
|
125: 'f14', |
||||||
|
126: 'f15', |
||||||
|
127: 'f16', |
||||||
|
128: 'f17', |
||||||
|
129: 'f18', |
||||||
|
130: 'f19', |
||||||
|
131: 'f20', |
||||||
|
132: 'f21', |
||||||
|
133: 'f22', |
||||||
|
134: 'f23', |
||||||
|
135: 'f24', |
||||||
|
144: 'num lock', |
||||||
|
145: 'scroll lock', |
||||||
|
186: ';', |
||||||
|
187: '=', |
||||||
|
188: ',', |
||||||
|
189: '‐', |
||||||
|
190: '.', |
||||||
|
191: '?', |
||||||
|
192: '`', |
||||||
|
219: '[', |
||||||
|
220: '\', |
||||||
|
221: ']', |
||||||
|
222: ''', |
||||||
|
}; |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,109 @@ |
|||||||
|
function getSearchTermFromLocation() { |
||||||
|
var sPageURL = window.location.search.substring(1); |
||||||
|
var sURLVariables = sPageURL.split('&'); |
||||||
|
for (var i = 0; i < sURLVariables.length; i++) { |
||||||
|
var sParameterName = sURLVariables[i].split('='); |
||||||
|
if (sParameterName[0] == 'q') { |
||||||
|
return decodeURIComponent(sParameterName[1].replace(/\+/g, '%20')); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function joinUrl (base, path) { |
||||||
|
if (path.substring(0, 1) === "/") { |
||||||
|
// path starts with `/`. Thus it is absolute.
|
||||||
|
return path; |
||||||
|
} |
||||||
|
if (base.substring(base.length-1) === "/") { |
||||||
|
// base ends with `/`
|
||||||
|
return base + path; |
||||||
|
} |
||||||
|
return base + "/" + path; |
||||||
|
} |
||||||
|
|
||||||
|
function escapeHtml (value) { |
||||||
|
return value.replace(/&/g, '&') |
||||||
|
.replace(/"/g, '"') |
||||||
|
.replace(/</g, '<') |
||||||
|
.replace(/>/g, '>'); |
||||||
|
} |
||||||
|
|
||||||
|
function formatResult (location, title, summary) { |
||||||
|
return '<article><h3><a href="' + joinUrl(base_url, location) + '">'+ escapeHtml(title) + '</a></h3><p>' + escapeHtml(summary) +'</p></article>'; |
||||||
|
} |
||||||
|
|
||||||
|
function displayResults (results) { |
||||||
|
var search_results = document.getElementById("mkdocs-search-results"); |
||||||
|
while (search_results.firstChild) { |
||||||
|
search_results.removeChild(search_results.firstChild); |
||||||
|
} |
||||||
|
if (results.length > 0){ |
||||||
|
for (var i=0; i < results.length; i++){ |
||||||
|
var result = results[i]; |
||||||
|
var html = formatResult(result.location, result.title, result.summary); |
||||||
|
search_results.insertAdjacentHTML('beforeend', html); |
||||||
|
} |
||||||
|
} else { |
||||||
|
var noResultsText = search_results.getAttribute('data-no-results-text'); |
||||||
|
if (!noResultsText) { |
||||||
|
noResultsText = "No results found"; |
||||||
|
} |
||||||
|
search_results.insertAdjacentHTML('beforeend', '<p>' + noResultsText + '</p>'); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function doSearch () { |
||||||
|
var query = document.getElementById('mkdocs-search-query').value; |
||||||
|
if (query.length > min_search_length) { |
||||||
|
if (!window.Worker) { |
||||||
|
displayResults(search(query)); |
||||||
|
} else { |
||||||
|
searchWorker.postMessage({query: query}); |
||||||
|
} |
||||||
|
} else { |
||||||
|
// Clear results for short queries
|
||||||
|
displayResults([]); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function initSearch () { |
||||||
|
var search_input = document.getElementById('mkdocs-search-query'); |
||||||
|
if (search_input) { |
||||||
|
search_input.addEventListener("keyup", doSearch); |
||||||
|
} |
||||||
|
var term = getSearchTermFromLocation(); |
||||||
|
if (term) { |
||||||
|
search_input.value = term; |
||||||
|
doSearch(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function onWorkerMessage (e) { |
||||||
|
if (e.data.allowSearch) { |
||||||
|
initSearch(); |
||||||
|
} else if (e.data.results) { |
||||||
|
var results = e.data.results; |
||||||
|
displayResults(results); |
||||||
|
} else if (e.data.config) { |
||||||
|
min_search_length = e.data.config.min_search_length-1; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if (!window.Worker) { |
||||||
|
console.log('Web Worker API not supported'); |
||||||
|
// load index in main thread
|
||||||
|
$.getScript(joinUrl(base_url, "search/worker.js")).done(function () { |
||||||
|
console.log('Loaded worker'); |
||||||
|
init(); |
||||||
|
window.postMessage = function (msg) { |
||||||
|
onWorkerMessage({data: msg}); |
||||||
|
}; |
||||||
|
}).fail(function (jqxhr, settings, exception) { |
||||||
|
console.error('Could not load worker.js'); |
||||||
|
}); |
||||||
|
} else { |
||||||
|
// Wrap search in a web worker
|
||||||
|
var searchWorker = new Worker(joinUrl(base_url, "search/worker.js")); |
||||||
|
searchWorker.postMessage({init: true}); |
||||||
|
searchWorker.onmessage = onWorkerMessage; |
||||||
|
} |
@ -0,0 +1 @@ |
|||||||
|
{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Welcome to MkDocs For full documentation visit mkdocs.org . Commands mkdocs new [dir-name] - Create a new project. mkdocs serve - Start the live-reloading docs server. mkdocs build - Build the documentation site. mkdocs -h - Print help message and exit. Project layout mkdocs.yml # The configuration file. docs/ index.md # The documentation homepage. ... # Other markdown pages, images and other files.","title":"Welcome to MkDocs"},{"location":"#welcome-to-mkdocs","text":"For full documentation visit mkdocs.org .","title":"Welcome to MkDocs"},{"location":"#commands","text":"mkdocs new [dir-name] - Create a new project. mkdocs serve - Start the live-reloading docs server. mkdocs build - Build the documentation site. mkdocs -h - Print help message and exit.","title":"Commands"},{"location":"#project-layout","text":"mkdocs.yml # The configuration file. docs/ index.md # The documentation homepage. ... # Other markdown pages, images and other files.","title":"Project layout"}]} |
@ -0,0 +1,133 @@ |
|||||||
|
var base_path = 'function' === typeof importScripts ? '.' : '/search/'; |
||||||
|
var allowSearch = false; |
||||||
|
var index; |
||||||
|
var documents = {}; |
||||||
|
var lang = ['en']; |
||||||
|
var data; |
||||||
|
|
||||||
|
function getScript(script, callback) { |
||||||
|
console.log('Loading script: ' + script); |
||||||
|
$.getScript(base_path + script).done(function () { |
||||||
|
callback(); |
||||||
|
}).fail(function (jqxhr, settings, exception) { |
||||||
|
console.log('Error: ' + exception); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function getScriptsInOrder(scripts, callback) { |
||||||
|
if (scripts.length === 0) { |
||||||
|
callback(); |
||||||
|
return; |
||||||
|
} |
||||||
|
getScript(scripts[0], function() { |
||||||
|
getScriptsInOrder(scripts.slice(1), callback); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function loadScripts(urls, callback) { |
||||||
|
if( 'function' === typeof importScripts ) { |
||||||
|
importScripts.apply(null, urls); |
||||||
|
callback(); |
||||||
|
} else { |
||||||
|
getScriptsInOrder(urls, callback); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function onJSONLoaded () { |
||||||
|
data = JSON.parse(this.responseText); |
||||||
|
var scriptsToLoad = ['lunr.js']; |
||||||
|
if (data.config && data.config.lang && data.config.lang.length) { |
||||||
|
lang = data.config.lang; |
||||||
|
} |
||||||
|
if (lang.length > 1 || lang[0] !== "en") { |
||||||
|
scriptsToLoad.push('lunr.stemmer.support.js'); |
||||||
|
if (lang.length > 1) { |
||||||
|
scriptsToLoad.push('lunr.multi.js'); |
||||||
|
} |
||||||
|
if (lang.includes("ja") || lang.includes("jp")) { |
||||||
|
scriptsToLoad.push('tinyseg.js'); |
||||||
|
} |
||||||
|
for (var i=0; i < lang.length; i++) { |
||||||
|
if (lang[i] != 'en') { |
||||||
|
scriptsToLoad.push(['lunr', lang[i], 'js'].join('.')); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
loadScripts(scriptsToLoad, onScriptsLoaded); |
||||||
|
} |
||||||
|
|
||||||
|
function onScriptsLoaded () { |
||||||
|
console.log('All search scripts loaded, building Lunr index...'); |
||||||
|
if (data.config && data.config.separator && data.config.separator.length) { |
||||||
|
lunr.tokenizer.separator = new RegExp(data.config.separator); |
||||||
|
} |
||||||
|
|
||||||
|
if (data.index) { |
||||||
|
index = lunr.Index.load(data.index); |
||||||
|
data.docs.forEach(function (doc) { |
||||||
|
documents[doc.location] = doc; |
||||||
|
}); |
||||||
|
console.log('Lunr pre-built index loaded, search ready'); |
||||||
|
} else { |
||||||
|
index = lunr(function () { |
||||||
|
if (lang.length === 1 && lang[0] !== "en" && lunr[lang[0]]) { |
||||||
|
this.use(lunr[lang[0]]); |
||||||
|
} else if (lang.length > 1) { |
||||||
|
this.use(lunr.multiLanguage.apply(null, lang)); // spread operator not supported in all browsers: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator#Browser_compatibility
|
||||||
|
} |
||||||
|
this.field('title'); |
||||||
|
this.field('text'); |
||||||
|
this.ref('location'); |
||||||
|
|
||||||
|
for (var i=0; i < data.docs.length; i++) { |
||||||
|
var doc = data.docs[i]; |
||||||
|
this.add(doc); |
||||||
|
documents[doc.location] = doc; |
||||||
|
} |
||||||
|
}); |
||||||
|
console.log('Lunr index built, search ready'); |
||||||
|
} |
||||||
|
allowSearch = true; |
||||||
|
postMessage({config: data.config}); |
||||||
|
postMessage({allowSearch: allowSearch}); |
||||||
|
} |
||||||
|
|
||||||
|
function init () { |
||||||
|
var oReq = new XMLHttpRequest(); |
||||||
|
oReq.addEventListener("load", onJSONLoaded); |
||||||
|
var index_path = base_path + '/search_index.json'; |
||||||
|
if( 'function' === typeof importScripts ){ |
||||||
|
index_path = 'search_index.json'; |
||||||
|
} |
||||||
|
oReq.open("GET", index_path); |
||||||
|
oReq.send(); |
||||||
|
} |
||||||
|
|
||||||
|
function search (query) { |
||||||
|
if (!allowSearch) { |
||||||
|
console.error('Assets for search still loading'); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
var resultDocuments = []; |
||||||
|
var results = index.search(query); |
||||||
|
for (var i=0; i < results.length; i++){ |
||||||
|
var result = results[i]; |
||||||
|
doc = documents[result.ref]; |
||||||
|
doc.summary = doc.text.substring(0, 200); |
||||||
|
resultDocuments.push(doc); |
||||||
|
} |
||||||
|
return resultDocuments; |
||||||
|
} |
||||||
|
|
||||||
|
if( 'function' === typeof importScripts ) { |
||||||
|
onmessage = function (e) { |
||||||
|
if (e.data.init) { |
||||||
|
init(); |
||||||
|
} else if (e.data.query) { |
||||||
|
postMessage({ results: search(e.data.query) }); |
||||||
|
} else { |
||||||
|
console.error("Worker - Unrecognized message: " + e); |
||||||
|
} |
||||||
|
}; |
||||||
|
} |
@ -0,0 +1,8 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> |
||||||
|
<url> |
||||||
|
<loc>None</loc> |
||||||
|
<lastmod>2023-01-03</lastmod> |
||||||
|
<changefreq>daily</changefreq> |
||||||
|
</url> |
||||||
|
</urlset> |
Binary file not shown.
@ -0,0 +1,13 @@ |
|||||||
|
|
||||||
|
version: "3" |
||||||
|
services: |
||||||
|
webdoc: |
||||||
|
image: titom73/mkdocs |
||||||
|
volumes: |
||||||
|
- ${PWD}/doc:/docs |
||||||
|
entrypoint: "" |
||||||
|
command: ["sh", "-c", "pip install -r ./requirements.txt && mkdocs serve --dev-addr=0.0.0.0:8000"] |
||||||
|
# command: ["sh", "-c", "pip install -r ./requirements.txt\ |
||||||
|
# && mkdocs serve --dev-addr=0.0.0.0:8000"] |
||||||
|
ports: |
||||||
|
- "8000:8000" |
Loading…
Reference in new issue