181 lines
7.3 KiB
HTML
181 lines
7.3 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
|
||
<head>
|
||
<title>文章分享 - Markdown编辑器</title>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<link rel="canonical" href="https://md.jonylee.top/">
|
||
<link rel="icon" href="static/landing/favicon.ico" type="image/x-icon">
|
||
<link rel="shortcut icon" href="static/landing/favicon.ico" type="image/x-icon">
|
||
<meta charset="UTF-8">
|
||
<meta name="keywords" content="Markdown编辑器,StackEdit中文版,StackEdit汉化版,StackEdit,在线Markdown,笔记利器,Markdown笔记">
|
||
<meta name="description" content="支持直接将码云(Gitee)、GitHub、Gitea等仓库作为笔记存储仓库且支持拖拽/粘贴上传图片,并且可以直接在页面编辑同步和管理的Markdown编辑器。">
|
||
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1">
|
||
<meta name="baidu-site-verification" content="code-tGpn2BT069" />
|
||
<meta name="msvalidate.01" content="90A9558158543277BD284CFA054E7F5B" />
|
||
<link rel="stylesheet" href="style.css">
|
||
<style>
|
||
.share-header {
|
||
position: fixed;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
background-color: #383c4a;
|
||
color: #fff;
|
||
padding: 10px;
|
||
box-sizing: border-box;
|
||
z-index: 99999;
|
||
}
|
||
|
||
.share-header .logo {
|
||
margin: 0 0 -8px 0;
|
||
}
|
||
|
||
.share-header nav {
|
||
display: flex;
|
||
flex-direction: row;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
}
|
||
|
||
.share-header nav ul {
|
||
list-style-type: none;
|
||
margin: 0;
|
||
padding: 0;
|
||
display: flex;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.share-header nav li {
|
||
margin: 0 10px;
|
||
}
|
||
|
||
.share-header nav a {
|
||
color: #fff;
|
||
text-decoration: none;
|
||
}
|
||
|
||
.share-header nav a:hover {
|
||
text-decoration: underline;
|
||
}
|
||
|
||
.share-content {
|
||
transform: translateY(50px);
|
||
height: 100vh;
|
||
}
|
||
</style>
|
||
<script type="text/javascript">
|
||
function getQueryString(name) {
|
||
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
|
||
var r = window.location.search.substr(1).match(reg);
|
||
if (r != null) {
|
||
return unescape(r[2]);
|
||
}
|
||
return null;
|
||
}
|
||
|
||
function appendTagHtml(newdoc, tagName, targetParentEle) {
|
||
const tags = newdoc.getElementsByTagName(tagName);
|
||
if (!tags) {
|
||
return;
|
||
}
|
||
for (let i = 0; i < tags.length; i++) {
|
||
targetParentEle.append(tags[i]);
|
||
}
|
||
}
|
||
|
||
window.onload = function() {
|
||
const xhr = new XMLHttpRequest();
|
||
const gistId = getQueryString('id');
|
||
let accessToken = null;
|
||
const tokens = window.localStorage.getItem('data/tokens');
|
||
if (tokens) {
|
||
const tokensObj = JSON.parse(tokens);
|
||
if (tokensObj.data && tokensObj.data.gitee) {
|
||
const tokenArr = Object.keys(tokensObj.data.gitee).map(it => tokensObj.data.gitee[it]).filter(it => it && it.isLogin);
|
||
if (tokenArr.length > 0) {
|
||
accessToken = tokenArr[0].accessToken;
|
||
}
|
||
}
|
||
}
|
||
const url = `https://gitee.com/api/v5/gists/${gistId}`;
|
||
let urlWithToken = url;
|
||
let withToken = false;
|
||
if (accessToken) {
|
||
urlWithToken = `${url}?access_token=${accessToken}`;
|
||
withToken = true;
|
||
}
|
||
xhr.open('GET', urlWithToken);
|
||
xhr.onload = function() {
|
||
if (xhr.status === 200) {
|
||
const newdoc = document.implementation.createHTMLDocument("");
|
||
const body = JSON.parse(xhr.responseText);
|
||
for (let key in body.files) {
|
||
newdoc.documentElement.innerHTML = body.files[key].content;
|
||
}
|
||
const currHead = document.head;
|
||
// 头部
|
||
appendTagHtml(newdoc, 'style', currHead);
|
||
// title
|
||
document.title = newdoc.title + ' - StackEdit中文版';
|
||
// 内容
|
||
const shareContent = document.getElementsByClassName('share-content')[0];
|
||
shareContent.innerHTML = newdoc.body.innerHTML;
|
||
document.body.className = newdoc.body.className;
|
||
} else if (xhr.status === 403) {
|
||
const rateLimit = xhr.responseText && xhr.responseText.indexOf('Rate Limit') >= 0;
|
||
const appUri = `${window.location.protocol}//${window.location.host}/app`;
|
||
document.getElementById('div_info').innerHTML = `${rateLimit ? "请求太过频繁" : "无权限访问"},请登录 <a href="${appUri}" target="_brank">主文档空间</a> 后再刷新此页面!`;
|
||
} else if (xhr.status === 401) {
|
||
if (withToken) {
|
||
withToken = false;
|
||
xhr.open('GET', url);
|
||
xhr.send();
|
||
} else {
|
||
console.error('An error occurred: ' + xhr.status);
|
||
document.getElementById('div_info').innerHTML = `分享内容获取失败或已失效!请登录 <a href="${appUri}" target="_brank">主文档空间</a> 后再刷新此页面!`;
|
||
}
|
||
} else {
|
||
console.error('An error occurred: ' + xhr.status);
|
||
document.getElementById('div_info').innerHTML = `分享内容获取失败或已失效!请登录 <a href="${appUri}" target="_brank">主文档空间</a> 后再刷新此页面!`;
|
||
}
|
||
};
|
||
xhr.send();
|
||
}
|
||
</script>
|
||
</head>
|
||
|
||
<body>
|
||
<div class="share-header">
|
||
<nav>
|
||
<a class="logo" href="https://md.jonylee.top" target="_blank">
|
||
<img src="static/landing/logo.svg" height="30px" />
|
||
</a>
|
||
<ul>
|
||
<li><a href="https://md.jonylee.top" target="_blank">首页</a></li>
|
||
<li><a href="https://md.jonylee.top/app" target="_blank">写笔记</a></li>
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
<div class="share-content stackedit">
|
||
<div id="div_info" style="text-align: center; height: 600px;">文章加载中......</div>
|
||
</div>
|
||
|
||
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
|
||
|
||
<!-- built files will be auto injected -->
|
||
<!-- baidu统计-->
|
||
<script>
|
||
var _hmt = _hmt || [];
|
||
(function() {
|
||
var hm = document.createElement("script");
|
||
hm.src = "https://hm.baidu.com/hm.js?dad4b4383b13eedea1ab45ee323df1c3";
|
||
var s = document.getElementsByTagName("script")[0];
|
||
s.parentNode.insertBefore(hm, s);
|
||
})();
|
||
</script>
|
||
<!-- baidu统计结束-->
|
||
</body>
|
||
|
||
</html> |