filesite
3 years ago
13 changed files with 1110 additions and 15 deletions
@ -0,0 +1,37 @@ |
|||||||
|
<?php |
||||||
|
/** |
||||||
|
* Site Controller |
||||||
|
*/ |
||||||
|
require_once __DIR__ . '/../../../lib/DirScanner.php'; |
||||||
|
require_once __DIR__ . '/../../../plugins/Parsedown.php'; |
||||||
|
|
||||||
|
Class SiteController extends Controller { |
||||||
|
|
||||||
|
public function actionIndex() { |
||||||
|
//获取数据 |
||||||
|
$scanner = new DirScanner(); |
||||||
|
$scanner->setWebRoot(FSC::$app['config']['content_directory']); |
||||||
|
$dirTree = $scanner->scan(__DIR__ . '/../../../www/' . FSC::$app['config']['content_directory'], 4); |
||||||
|
|
||||||
|
//获取目录 |
||||||
|
$menus = $scanner->getMenus(); |
||||||
|
|
||||||
|
$titles = []; |
||||||
|
$html = ''; |
||||||
|
$readmeFile = $scanner->getDefaultReadme(); |
||||||
|
if (!empty($readmeFile)) { |
||||||
|
$titles = $scanner->getMDTitles($readmeFile['id']); |
||||||
|
|
||||||
|
$Parsedown = new Parsedown(); |
||||||
|
$content = file_get_contents($readmeFile['realpath']); |
||||||
|
$html = $Parsedown->text($content); |
||||||
|
$html = $scanner->fixMDUrls($readmeFile['realpath'], $html); |
||||||
|
} |
||||||
|
|
||||||
|
$pageTitle = !empty($titles) ? $titles[0]['name'] : "FileSite.io - 无数据库、基于文件和目录的Markdown文档、网址导航、图书、图片、视频网站PHP开源系统"; |
||||||
|
$viewName = 'index'; |
||||||
|
$params = compact('menus', 'html'); |
||||||
|
return $this->render($viewName, $params, $pageTitle); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,46 @@ |
|||||||
|
<!DocType html> |
||||||
|
<html> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8"> |
||||||
|
<title><?php echo $pageTitle;?></title> |
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no"> |
||||||
|
<link href="/css/main.css?v.1.1" rel="stylesheet"> |
||||||
|
<!--for theme googleimage--> |
||||||
|
<link href="/css/github-markdown-dark.css" rel="stylesheet"> |
||||||
|
<link href="/css/googleimage.css?v<?=time()?>" rel="stylesheet"> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
|
||||||
|
<div class="header"> |
||||||
|
<a href="/" class="logo"> |
||||||
|
<img src="/content/machete_icon.png" alt="Logo of FileSite.io" height="34"> |
||||||
|
FileSite.io |
||||||
|
</a> |
||||||
|
<div class="about"> |
||||||
|
<a href="#modal_about" role="button"> |
||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" focusable="false"><path d="M13.85 22.25h-3.7c-.74 0-1.36-.54-1.45-1.27l-.27-1.89c-.27-.14-.53-.29-.79-.46l-1.8.72c-.7.26-1.47-.03-1.81-.65L2.2 15.53c-.35-.66-.2-1.44.36-1.88l1.53-1.19c-.01-.15-.02-.3-.02-.46 0-.15.01-.31.02-.46l-1.52-1.19c-.59-.45-.74-1.26-.37-1.88l1.85-3.19c.34-.62 1.11-.9 1.79-.63l1.81.73c.26-.17.52-.32.78-.46l.27-1.91c.09-.7.71-1.25 1.44-1.25h3.7c.74 0 1.36.54 1.45 1.27l.27 1.89c.27.14.53.29.79.46l1.8-.72c.71-.26 1.48.03 1.82.65l1.84 3.18c.36.66.2 1.44-.36 1.88l-1.52 1.19c.01.15.02.3.02.46s-.01.31-.02.46l1.52 1.19c.56.45.72 1.23.37 1.86l-1.86 3.22c-.34.62-1.11.9-1.8.63l-1.8-.72c-.26.17-.52.32-.78.46l-.27 1.91c-.1.68-.72 1.22-1.46 1.22zm-3.23-2h2.76l.37-2.55.53-.22c.44-.18.88-.44 1.34-.78l.45-.34 2.38.96 1.38-2.4-2.03-1.58.07-.56c.03-.26.06-.51.06-.78s-.03-.53-.06-.78l-.07-.56 2.03-1.58-1.39-2.4-2.39.96-.45-.35c-.42-.32-.87-.58-1.33-.77l-.52-.22-.37-2.55h-2.76l-.37 2.55-.53.21c-.44.19-.88.44-1.34.79l-.45.33-2.38-.95-1.39 2.39 2.03 1.58-.07.56a7 7 0 0 0-.06.79c0 .26.02.53.06.78l.07.56-2.03 1.58 1.38 2.4 2.39-.96.45.35c.43.33.86.58 1.33.77l.53.22.38 2.55z"></path><circle cx="12" cy="12" r="3.5"></circle></svg> |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<?php |
||||||
|
//### Render view file |
||||||
|
$viewFile = __DIR__ . '/../' . FSC::$app['controller'] . '/' . $viewName . '.php'; |
||||||
|
include_once $viewFile; |
||||||
|
?> |
||||||
|
|
||||||
|
<div class="footer"> |
||||||
|
<?php if (!empty(FSC::$app['config']['theme'])) { ?> |
||||||
|
Theme name <strong><?php echo FSC::$app['config']['theme']; ?></strong> |
||||||
|
<br> |
||||||
|
<?php } ?> |
||||||
|
©FSC 2022 - execute time: {page_time_cost} ms |
||||||
|
</div> |
||||||
|
|
||||||
|
<script src="/js/js.cookie.min.js"></script> |
||||||
|
<script src="/js/main.js?v.1.0"></script> |
||||||
|
<!--for theme googleimage--> |
||||||
|
<script src="/js/googleimage.js?v<?=time()?>"></script> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,31 @@ |
|||||||
|
<div class="menu"> |
||||||
|
<?php |
||||||
|
if (!empty($viewData['menus'])) { |
||||||
|
foreach($viewData['menus'] as $index => $item) { |
||||||
|
$selected = $index == 0 ? 'selected' : ''; |
||||||
|
echo <<<eof |
||||||
|
<a href="{$item['path']}" class="{$selected}">{$item['directory']}</a> |
||||||
|
eof; |
||||||
|
} |
||||||
|
} |
||||||
|
?> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="hr"></div> |
||||||
|
|
||||||
|
<div class="content markdown-body"> |
||||||
|
<?php //echo $viewData['html']; ?>
|
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="modal-mask" id="modal_about"> |
||||||
|
<div class="modal-about"> |
||||||
|
<div class="modal-head"> |
||||||
|
<h3>皮肤GoogleImage</h3> |
||||||
|
<span class="btn-close" role="button"><svg width="24" height="24" viewBox="0 0 24 24" focusable="false" class=" NMm5M"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"></path></svg></span> |
||||||
|
</div> |
||||||
|
<div class="hr"></div> |
||||||
|
<div class="modal-body markdown-body"> |
||||||
|
<?php echo $viewData['html']; ?> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
@ -0,0 +1,941 @@ |
|||||||
|
.markdown-body { |
||||||
|
color-scheme: dark; |
||||||
|
-ms-text-size-adjust: 100%; |
||||||
|
-webkit-text-size-adjust: 100%; |
||||||
|
margin: 0; |
||||||
|
color: #c9d1d9; |
||||||
|
background-color: #0d1117; |
||||||
|
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; |
||||||
|
font-size: 16px; |
||||||
|
line-height: 1.5; |
||||||
|
word-wrap: break-word; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .octicon { |
||||||
|
display: inline-block; |
||||||
|
fill: currentColor; |
||||||
|
vertical-align: text-bottom; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h1:hover .anchor .octicon-link:before, |
||||||
|
.markdown-body h2:hover .anchor .octicon-link:before, |
||||||
|
.markdown-body h3:hover .anchor .octicon-link:before, |
||||||
|
.markdown-body h4:hover .anchor .octicon-link:before, |
||||||
|
.markdown-body h5:hover .anchor .octicon-link:before, |
||||||
|
.markdown-body h6:hover .anchor .octicon-link:before { |
||||||
|
width: 16px; |
||||||
|
height: 16px; |
||||||
|
content: ' '; |
||||||
|
display: inline-block; |
||||||
|
background-color: currentColor; |
||||||
|
-webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>"); |
||||||
|
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>"); |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body details, |
||||||
|
.markdown-body figcaption, |
||||||
|
.markdown-body figure { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body summary { |
||||||
|
display: list-item; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body [hidden] { |
||||||
|
display: none !important; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body a { |
||||||
|
background-color: transparent; |
||||||
|
color: #58a6ff; |
||||||
|
text-decoration: none; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body a:active, |
||||||
|
.markdown-body a:hover { |
||||||
|
outline-width: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body abbr[title] { |
||||||
|
border-bottom: none; |
||||||
|
text-decoration: underline dotted; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body b, |
||||||
|
.markdown-body strong { |
||||||
|
font-weight: 600; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body dfn { |
||||||
|
font-style: italic; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h1 { |
||||||
|
margin: .67em 0; |
||||||
|
font-weight: 600; |
||||||
|
padding-bottom: .3em; |
||||||
|
font-size: 2em; |
||||||
|
border-bottom: 1px solid #21262d; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body mark { |
||||||
|
background-color: rgba(187,128,9,0.15); |
||||||
|
color: #c9d1d9; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body small { |
||||||
|
font-size: 90%; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body sub, |
||||||
|
.markdown-body sup { |
||||||
|
font-size: 75%; |
||||||
|
line-height: 0; |
||||||
|
position: relative; |
||||||
|
vertical-align: baseline; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body sub { |
||||||
|
bottom: -0.25em; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body sup { |
||||||
|
top: -0.5em; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body img { |
||||||
|
border-style: none; |
||||||
|
max-width: 100%; |
||||||
|
box-sizing: content-box; |
||||||
|
background-color: #0d1117; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body code, |
||||||
|
.markdown-body kbd, |
||||||
|
.markdown-body pre, |
||||||
|
.markdown-body samp { |
||||||
|
font-family: monospace,monospace; |
||||||
|
font-size: 1em; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body figure { |
||||||
|
margin: 1em 40px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body hr { |
||||||
|
box-sizing: content-box; |
||||||
|
overflow: hidden; |
||||||
|
background: transparent; |
||||||
|
border-bottom: 1px solid #21262d; |
||||||
|
height: .25em; |
||||||
|
padding: 0; |
||||||
|
margin: 24px 0; |
||||||
|
background-color: #30363d; |
||||||
|
border: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body input { |
||||||
|
font: inherit; |
||||||
|
margin: 0; |
||||||
|
overflow: visible; |
||||||
|
font-family: inherit; |
||||||
|
font-size: inherit; |
||||||
|
line-height: inherit; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body [type=button], |
||||||
|
.markdown-body [type=reset], |
||||||
|
.markdown-body [type=submit] { |
||||||
|
-webkit-appearance: button; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body [type=button]::-moz-focus-inner, |
||||||
|
.markdown-body [type=reset]::-moz-focus-inner, |
||||||
|
.markdown-body [type=submit]::-moz-focus-inner { |
||||||
|
border-style: none; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body [type=button]:-moz-focusring, |
||||||
|
.markdown-body [type=reset]:-moz-focusring, |
||||||
|
.markdown-body [type=submit]:-moz-focusring { |
||||||
|
outline: 1px dotted ButtonText; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body [type=checkbox], |
||||||
|
.markdown-body [type=radio] { |
||||||
|
box-sizing: border-box; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body [type=number]::-webkit-inner-spin-button, |
||||||
|
.markdown-body [type=number]::-webkit-outer-spin-button { |
||||||
|
height: auto; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body [type=search] { |
||||||
|
-webkit-appearance: textfield; |
||||||
|
outline-offset: -2px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body [type=search]::-webkit-search-cancel-button, |
||||||
|
.markdown-body [type=search]::-webkit-search-decoration { |
||||||
|
-webkit-appearance: none; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ::-webkit-input-placeholder { |
||||||
|
color: inherit; |
||||||
|
opacity: .54; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ::-webkit-file-upload-button { |
||||||
|
-webkit-appearance: button; |
||||||
|
font: inherit; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body a:hover { |
||||||
|
text-decoration: underline; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body hr::before { |
||||||
|
display: table; |
||||||
|
content: ""; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body hr::after { |
||||||
|
display: table; |
||||||
|
clear: both; |
||||||
|
content: ""; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body table { |
||||||
|
border-spacing: 0; |
||||||
|
border-collapse: collapse; |
||||||
|
display: block; |
||||||
|
width: max-content; |
||||||
|
max-width: 100%; |
||||||
|
overflow: auto; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body td, |
||||||
|
.markdown-body th { |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body details summary { |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body details:not([open])>*:not(summary) { |
||||||
|
display: none !important; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body kbd { |
||||||
|
display: inline-block; |
||||||
|
padding: 3px 5px; |
||||||
|
font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; |
||||||
|
line-height: 10px; |
||||||
|
color: #c9d1d9; |
||||||
|
vertical-align: middle; |
||||||
|
background-color: #161b22; |
||||||
|
border: solid 1px rgba(110,118,129,0.4); |
||||||
|
border-bottom-color: rgba(110,118,129,0.4); |
||||||
|
border-radius: 6px; |
||||||
|
box-shadow: inset 0 -1px 0 rgba(110,118,129,0.4); |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h1, |
||||||
|
.markdown-body h2, |
||||||
|
.markdown-body h3, |
||||||
|
.markdown-body h4, |
||||||
|
.markdown-body h5, |
||||||
|
.markdown-body h6 { |
||||||
|
margin-top: 24px; |
||||||
|
margin-bottom: 16px; |
||||||
|
font-weight: 600; |
||||||
|
line-height: 1.25; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h2 { |
||||||
|
font-weight: 600; |
||||||
|
padding-bottom: .3em; |
||||||
|
font-size: 1.5em; |
||||||
|
border-bottom: 1px solid #21262d; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h3 { |
||||||
|
font-weight: 600; |
||||||
|
font-size: 1.25em; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h4 { |
||||||
|
font-weight: 600; |
||||||
|
font-size: 1em; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h5 { |
||||||
|
font-weight: 600; |
||||||
|
font-size: .875em; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h6 { |
||||||
|
font-weight: 600; |
||||||
|
font-size: .85em; |
||||||
|
color: #8b949e; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body p { |
||||||
|
margin-top: 0; |
||||||
|
margin-bottom: 10px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body blockquote { |
||||||
|
margin: 0; |
||||||
|
padding: 0 1em; |
||||||
|
color: #8b949e; |
||||||
|
border-left: .25em solid #30363d; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ul, |
||||||
|
.markdown-body ol { |
||||||
|
margin-top: 0; |
||||||
|
margin-bottom: 0; |
||||||
|
padding-left: 2em; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ol ol, |
||||||
|
.markdown-body ul ol { |
||||||
|
list-style-type: lower-roman; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ul ul ol, |
||||||
|
.markdown-body ul ol ol, |
||||||
|
.markdown-body ol ul ol, |
||||||
|
.markdown-body ol ol ol { |
||||||
|
list-style-type: lower-alpha; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body dd { |
||||||
|
margin-left: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body tt, |
||||||
|
.markdown-body code { |
||||||
|
font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; |
||||||
|
font-size: 12px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body pre { |
||||||
|
margin-top: 0; |
||||||
|
margin-bottom: 0; |
||||||
|
font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; |
||||||
|
font-size: 12px; |
||||||
|
word-wrap: normal; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .octicon { |
||||||
|
display: inline-block; |
||||||
|
overflow: visible !important; |
||||||
|
vertical-align: text-bottom; |
||||||
|
fill: currentColor; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ::placeholder { |
||||||
|
color: #484f58; |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body input::-webkit-outer-spin-button, |
||||||
|
.markdown-body input::-webkit-inner-spin-button { |
||||||
|
margin: 0; |
||||||
|
-webkit-appearance: none; |
||||||
|
appearance: none; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-c { |
||||||
|
color: #8b949e; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-c1, |
||||||
|
.markdown-body .pl-s .pl-v { |
||||||
|
color: #79c0ff; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-e, |
||||||
|
.markdown-body .pl-en { |
||||||
|
color: #d2a8ff; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-smi, |
||||||
|
.markdown-body .pl-s .pl-s1 { |
||||||
|
color: #c9d1d9; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-ent { |
||||||
|
color: #7ee787; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-k { |
||||||
|
color: #ff7b72; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-s, |
||||||
|
.markdown-body .pl-pds, |
||||||
|
.markdown-body .pl-s .pl-pse .pl-s1, |
||||||
|
.markdown-body .pl-sr, |
||||||
|
.markdown-body .pl-sr .pl-cce, |
||||||
|
.markdown-body .pl-sr .pl-sre, |
||||||
|
.markdown-body .pl-sr .pl-sra { |
||||||
|
color: #a5d6ff; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-v, |
||||||
|
.markdown-body .pl-smw { |
||||||
|
color: #ffa657; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-bu { |
||||||
|
color: #f85149; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-ii { |
||||||
|
color: #f0f6fc; |
||||||
|
background-color: #8e1519; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-c2 { |
||||||
|
color: #f0f6fc; |
||||||
|
background-color: #b62324; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-sr .pl-cce { |
||||||
|
font-weight: bold; |
||||||
|
color: #7ee787; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-ml { |
||||||
|
color: #f2cc60; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-mh, |
||||||
|
.markdown-body .pl-mh .pl-en, |
||||||
|
.markdown-body .pl-ms { |
||||||
|
font-weight: bold; |
||||||
|
color: #1f6feb; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-mi { |
||||||
|
font-style: italic; |
||||||
|
color: #c9d1d9; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-mb { |
||||||
|
font-weight: bold; |
||||||
|
color: #c9d1d9; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-md { |
||||||
|
color: #ffdcd7; |
||||||
|
background-color: #67060c; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-mi1 { |
||||||
|
color: #aff5b4; |
||||||
|
background-color: #033a16; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-mc { |
||||||
|
color: #ffdfb6; |
||||||
|
background-color: #5a1e02; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-mi2 { |
||||||
|
color: #c9d1d9; |
||||||
|
background-color: #1158c7; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-mdr { |
||||||
|
font-weight: bold; |
||||||
|
color: #d2a8ff; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-ba { |
||||||
|
color: #8b949e; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-sg { |
||||||
|
color: #484f58; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .pl-corl { |
||||||
|
text-decoration: underline; |
||||||
|
color: #a5d6ff; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body [data-catalyst] { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body g-emoji { |
||||||
|
font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; |
||||||
|
font-size: 1em; |
||||||
|
font-style: normal !important; |
||||||
|
font-weight: 400; |
||||||
|
line-height: 1; |
||||||
|
vertical-align: -0.075em; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body g-emoji img { |
||||||
|
width: 1em; |
||||||
|
height: 1em; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body::before { |
||||||
|
display: table; |
||||||
|
content: ""; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body::after { |
||||||
|
display: table; |
||||||
|
clear: both; |
||||||
|
content: ""; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body>*:first-child { |
||||||
|
margin-top: 0 !important; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body>*:last-child { |
||||||
|
margin-bottom: 0 !important; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body a:not([href]) { |
||||||
|
color: inherit; |
||||||
|
text-decoration: none; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .absent { |
||||||
|
color: #f85149; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .anchor { |
||||||
|
float: left; |
||||||
|
padding-right: 4px; |
||||||
|
margin-left: -20px; |
||||||
|
line-height: 1; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .anchor:focus { |
||||||
|
outline: none; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body p, |
||||||
|
.markdown-body blockquote, |
||||||
|
.markdown-body ul, |
||||||
|
.markdown-body ol, |
||||||
|
.markdown-body dl, |
||||||
|
.markdown-body table, |
||||||
|
.markdown-body pre, |
||||||
|
.markdown-body details { |
||||||
|
margin-top: 0; |
||||||
|
margin-bottom: 16px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body blockquote>:first-child { |
||||||
|
margin-top: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body blockquote>:last-child { |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body sup>a::before { |
||||||
|
content: "["; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body sup>a::after { |
||||||
|
content: "]"; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h1 .octicon-link, |
||||||
|
.markdown-body h2 .octicon-link, |
||||||
|
.markdown-body h3 .octicon-link, |
||||||
|
.markdown-body h4 .octicon-link, |
||||||
|
.markdown-body h5 .octicon-link, |
||||||
|
.markdown-body h6 .octicon-link { |
||||||
|
color: #c9d1d9; |
||||||
|
vertical-align: middle; |
||||||
|
visibility: hidden; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h1:hover .anchor, |
||||||
|
.markdown-body h2:hover .anchor, |
||||||
|
.markdown-body h3:hover .anchor, |
||||||
|
.markdown-body h4:hover .anchor, |
||||||
|
.markdown-body h5:hover .anchor, |
||||||
|
.markdown-body h6:hover .anchor { |
||||||
|
text-decoration: none; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h1:hover .anchor .octicon-link, |
||||||
|
.markdown-body h2:hover .anchor .octicon-link, |
||||||
|
.markdown-body h3:hover .anchor .octicon-link, |
||||||
|
.markdown-body h4:hover .anchor .octicon-link, |
||||||
|
.markdown-body h5:hover .anchor .octicon-link, |
||||||
|
.markdown-body h6:hover .anchor .octicon-link { |
||||||
|
visibility: visible; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body h1 tt, |
||||||
|
.markdown-body h1 code, |
||||||
|
.markdown-body h2 tt, |
||||||
|
.markdown-body h2 code, |
||||||
|
.markdown-body h3 tt, |
||||||
|
.markdown-body h3 code, |
||||||
|
.markdown-body h4 tt, |
||||||
|
.markdown-body h4 code, |
||||||
|
.markdown-body h5 tt, |
||||||
|
.markdown-body h5 code, |
||||||
|
.markdown-body h6 tt, |
||||||
|
.markdown-body h6 code { |
||||||
|
padding: 0 .2em; |
||||||
|
font-size: inherit; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ul.no-list, |
||||||
|
.markdown-body ol.no-list { |
||||||
|
padding: 0; |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ol[type="1"] { |
||||||
|
list-style-type: decimal; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ol[type=a] { |
||||||
|
list-style-type: lower-alpha; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ol[type=i] { |
||||||
|
list-style-type: lower-roman; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body div>ol:not([type]) { |
||||||
|
list-style-type: decimal; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ul ul, |
||||||
|
.markdown-body ul ol, |
||||||
|
.markdown-body ol ol, |
||||||
|
.markdown-body ol ul { |
||||||
|
margin-top: 0; |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body li>p { |
||||||
|
margin-top: 16px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body li+li { |
||||||
|
margin-top: .25em; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body dl { |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body dl dt { |
||||||
|
padding: 0; |
||||||
|
margin-top: 16px; |
||||||
|
font-size: 1em; |
||||||
|
font-style: italic; |
||||||
|
font-weight: 600; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body dl dd { |
||||||
|
padding: 0 16px; |
||||||
|
margin-bottom: 16px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body table th { |
||||||
|
font-weight: 600; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body table th, |
||||||
|
.markdown-body table td { |
||||||
|
padding: 6px 13px; |
||||||
|
border: 1px solid #30363d; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body table tr { |
||||||
|
background-color: #0d1117; |
||||||
|
border-top: 1px solid #21262d; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body table tr:nth-child(2n) { |
||||||
|
background-color: #161b22; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body table img { |
||||||
|
background-color: transparent; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body img[align=right] { |
||||||
|
padding-left: 20px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body img[align=left] { |
||||||
|
padding-right: 20px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .emoji { |
||||||
|
max-width: none; |
||||||
|
vertical-align: text-top; |
||||||
|
background-color: transparent; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.frame { |
||||||
|
display: block; |
||||||
|
overflow: hidden; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.frame>span { |
||||||
|
display: block; |
||||||
|
float: left; |
||||||
|
width: auto; |
||||||
|
padding: 7px; |
||||||
|
margin: 13px 0 0; |
||||||
|
overflow: hidden; |
||||||
|
border: 1px solid #30363d; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.frame span img { |
||||||
|
display: block; |
||||||
|
float: left; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.frame span span { |
||||||
|
display: block; |
||||||
|
padding: 5px 0 0; |
||||||
|
clear: both; |
||||||
|
color: #c9d1d9; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.align-center { |
||||||
|
display: block; |
||||||
|
overflow: hidden; |
||||||
|
clear: both; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.align-center>span { |
||||||
|
display: block; |
||||||
|
margin: 13px auto 0; |
||||||
|
overflow: hidden; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.align-center span img { |
||||||
|
margin: 0 auto; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.align-right { |
||||||
|
display: block; |
||||||
|
overflow: hidden; |
||||||
|
clear: both; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.align-right>span { |
||||||
|
display: block; |
||||||
|
margin: 13px 0 0; |
||||||
|
overflow: hidden; |
||||||
|
text-align: right; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.align-right span img { |
||||||
|
margin: 0; |
||||||
|
text-align: right; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.float-left { |
||||||
|
display: block; |
||||||
|
float: left; |
||||||
|
margin-right: 13px; |
||||||
|
overflow: hidden; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.float-left span { |
||||||
|
margin: 13px 0 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.float-right { |
||||||
|
display: block; |
||||||
|
float: right; |
||||||
|
margin-left: 13px; |
||||||
|
overflow: hidden; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body span.float-right>span { |
||||||
|
display: block; |
||||||
|
margin: 13px auto 0; |
||||||
|
overflow: hidden; |
||||||
|
text-align: right; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body code, |
||||||
|
.markdown-body tt { |
||||||
|
padding: .2em .4em; |
||||||
|
margin: 0; |
||||||
|
font-size: 85%; |
||||||
|
background-color: rgba(110,118,129,0.4); |
||||||
|
border-radius: 6px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body code br, |
||||||
|
.markdown-body tt br { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body del code { |
||||||
|
text-decoration: inherit; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body pre code { |
||||||
|
font-size: 100%; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body pre>code { |
||||||
|
padding: 0; |
||||||
|
margin: 0; |
||||||
|
word-break: normal; |
||||||
|
white-space: pre; |
||||||
|
background: transparent; |
||||||
|
border: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .highlight { |
||||||
|
margin-bottom: 16px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .highlight pre { |
||||||
|
margin-bottom: 0; |
||||||
|
word-break: normal; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .highlight pre, |
||||||
|
.markdown-body pre { |
||||||
|
padding: 16px; |
||||||
|
overflow: auto; |
||||||
|
font-size: 85%; |
||||||
|
line-height: 1.45; |
||||||
|
background-color: #161b22; |
||||||
|
border-radius: 6px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body pre code, |
||||||
|
.markdown-body pre tt { |
||||||
|
display: inline; |
||||||
|
max-width: auto; |
||||||
|
padding: 0; |
||||||
|
margin: 0; |
||||||
|
overflow: visible; |
||||||
|
line-height: inherit; |
||||||
|
word-wrap: normal; |
||||||
|
background-color: transparent; |
||||||
|
border: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .csv-data td, |
||||||
|
.markdown-body .csv-data th { |
||||||
|
padding: 5px; |
||||||
|
overflow: hidden; |
||||||
|
font-size: 12px; |
||||||
|
line-height: 1; |
||||||
|
text-align: left; |
||||||
|
white-space: nowrap; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .csv-data .blob-num { |
||||||
|
padding: 10px 8px 9px; |
||||||
|
text-align: right; |
||||||
|
background: #0d1117; |
||||||
|
border: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .csv-data tr { |
||||||
|
border-top: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .csv-data th { |
||||||
|
font-weight: 600; |
||||||
|
background: #161b22; |
||||||
|
border-top: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .footnotes { |
||||||
|
font-size: 12px; |
||||||
|
color: #8b949e; |
||||||
|
border-top: 1px solid #30363d; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .footnotes ol { |
||||||
|
padding-left: 16px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .footnotes li { |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .footnotes li:target::before { |
||||||
|
position: absolute; |
||||||
|
top: -8px; |
||||||
|
right: -8px; |
||||||
|
bottom: -8px; |
||||||
|
left: -24px; |
||||||
|
pointer-events: none; |
||||||
|
content: ""; |
||||||
|
border: 2px solid #1f6feb; |
||||||
|
border-radius: 6px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .footnotes li:target { |
||||||
|
color: #c9d1d9; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .footnotes .data-footnote-backref g-emoji { |
||||||
|
font-family: monospace; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .task-list-item { |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .task-list-item label { |
||||||
|
font-weight: 400; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .task-list-item.enabled label { |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .task-list-item+.task-list-item { |
||||||
|
margin-top: 3px; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .task-list-item .handle { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .task-list-item-checkbox { |
||||||
|
margin: 0 .2em .25em -1.6em; |
||||||
|
vertical-align: middle; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox { |
||||||
|
margin: 0 -1.6em .25em .2em; |
||||||
|
} |
||||||
|
|
||||||
|
.markdown-body ::-webkit-calendar-picker-indicator { |
||||||
|
filter: invert(50%); |
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
/* for theme GoogleImage */ |
||||||
|
body{background-color:#202124;color: #e8eaed;font-family: Roboto,HelveticaNeue,Arial,sans-serif;font-size: small;margin: 0} |
||||||
|
a{color: #aaadb2;text-decoration: none} |
||||||
|
.header{padding:10px;position: relative;} |
||||||
|
.header .logo{display: inline-block;margin:10px;font-size: 1.86em;color: #e8eaed} |
||||||
|
.header .logo img{vertical-align: middle;} |
||||||
|
.menu{max-width: 80%;white-space;nowrap;overflow-x:auto;overflow-y: hidden;margin: 0 auto} |
||||||
|
.menu a{display: inline-block;line-height: 16px;margin: 0 1px;padding: 16px 12px 12px 10px;text-align: center} |
||||||
|
.menu .selected{color: #8ab4f8;border-bottom: 3px solid #8ab4f8;padding: 20px 12px 11px 10px;} |
||||||
|
.hr{border-bottom: solid 1px #3c4043;margin-bottom: 11px} |
||||||
|
.about{position: absolute;right: 10px;top: 8px;width: 24px;height: 24px;padding: 8px;border-radius: 50%} |
||||||
|
.about:hover{background-color: #303134} |
||||||
|
.about svg{fill: currentColor;cursor: pointer;} |
||||||
|
.modal-mask{display: none;background: rgba(0,0,0,.6);position: fixed;left: 0;right: 0;top: 0;bottom: 0;overflow: hidden;z-index: 9000;} |
||||||
|
.modal-about{background: #202124;bottom: 0;overflow-y: auto;position: fixed;right: 0px;top: 0;width: 360px} |
||||||
|
.modal-about h3{color: #e8eaed;font-size: 24px;font-weight: 300;margin-top: 0;margin-bottom: 20px;text-align: left;} |
||||||
|
.modal-about .modal-head{padding: 20px 24px 0 24px} |
||||||
|
.modal-about .btn-close{color: #9aa0a6;cursor: pointer;display: block;float: right;position: relative;top: -45px;} |
||||||
|
.modal-about .btn-close svg{fill: currentColor;flex-shrink: 0;} |
||||||
|
.modal-body{padding: 10px;background-color: inherit;} |
||||||
|
.modal-about .modal-body h1{display: none;} |
Loading…
Reference in new issue