feat: 导出的接口页面优化

This commit is contained in:
wenbo.dong 2017-11-10 15:37:45 +08:00
parent 931c4b6e0d
commit 7568e04b8e
6 changed files with 663 additions and 242 deletions

View File

@ -84,7 +84,7 @@ class exportController extends baseController{
markerPattern: /^\[toc\]/im
});
let tp = defaultTheme + unescape(markdown.render(md));
let tp = unescape(markdown.render(md));
let left;
let content = tp.replace(/<div\s+?class="table-of-contents"\s*>[\s\S]*?<\/ul>\s*<\/div>/gi, function(match){
@ -104,15 +104,26 @@ class exportController extends baseController{
<html>
<head>
<title>${curProject.name}</title>
${defaultTheme}
</head>
<body>
<a href="#/"><h1 class="header">YAPI 接口文档</h1></a>
<div style="margin-top:75px">
${left}
<div id="right" class="content-right">
${tp}
</div>
</div>
<div class="m-header">
<svg class="svg" width="32px" height="32px" viewBox="0 0 64 64" version="1.1"><title>Icon</title><desc>Created with Sketch.</desc><defs><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1"><stop stop-color="#FFFFFF" offset="0%"></stop><stop stop-color="#F2F2F2" offset="100%"></stop></linearGradient><circle id="path-2" cx="31.9988602" cy="31.9988602" r="2.92886048"></circle><filter x="-85.4%" y="-68.3%" width="270.7%" height="270.7%" filterUnits="objectBoundingBox" id="filter-3"><feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset><feGaussianBlur stdDeviation="1.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.159703351 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix></filter></defs><g id="" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id=""><g id="Icon"><circle id="Oval-1" fill="url(#linearGradient-1)" cx="32" cy="32" r="32"></circle><path d="M36.7078009,31.8054514 L36.7078009,51.7110548 C36.7078009,54.2844537 34.6258634,56.3695395 32.0579205,56.3695395 C29.4899777,56.3695395 27.4099998,54.0704461 27.4099998,51.7941246 L27.4099998,31.8061972 C27.4099998,29.528395 29.4909575,27.218453 32.0589004,27.230043 C34.6268432,27.241633 36.7078009,29.528395 36.7078009,31.8054514 Z" id="blue" fill="#2359F1" fill-rule="nonzero"></path><path d="M45.2586091,17.1026914 C45.2586091,17.1026914 45.5657231,34.0524383 45.2345291,37.01141 C44.9033351,39.9703817 43.1767091,41.6667796 40.6088126,41.6667796 C38.040916,41.6667796 35.9609757,39.3676862 35.9609757,37.0913646 L35.9609757,17.1034372 C35.9609757,14.825635 38.0418959,12.515693 40.6097924,12.527283 C43.177689,12.538873 45.2586091,14.825635 45.2586091,17.1026914 Z" id="green" fill="#57CF27" fill-rule="nonzero" transform="translate(40.674608, 27.097010) rotate(60.000000) translate(-40.674608, -27.097010) "></path><path d="M28.0410158,17.0465598 L28.0410158,36.9521632 C28.0410158,39.525562 25.9591158,41.6106479 23.3912193,41.6106479 C20.8233227,41.6106479 18.7433824,39.3115545 18.7433824,37.035233 L18.7433824,17.0473055 C18.7433824,14.7695034 20.8243026,12.4595614 23.3921991,12.4711513 C25.9600956,12.4827413 28.0410158,14.7695034 28.0410158,17.0465598 Z" id="red" fill="#FF561B" fill-rule="nonzero" transform="translate(23.392199, 27.040878) rotate(-60.000000) translate(-23.392199, -27.040878) "></path><g id="inner-round"><use fill="black" fill-opacity="1" filter="url(#filter-3)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#path-2"></use><use fill="#F7F7F7" fill-rule="evenodd" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#path-2"></use></g></g></g></g></svg>
<a href="#/"><h1 class="title">YAPI 接口文档</h1></a>
<div class="nav">
<a href="https://ymfe.org/">YMFE</a>
<a href="https://github.com/YMFE/yapi">YApi</a>
</div>
</div>
<div class="g-doc">
${left}
<div id="right" class="content-right">
${tp}
<footer class="m-footer">
<p>Build by <a href="https://github.com/YMFE/yapi">YApi</a>.</p>
</footer>
</div>
</div>
</body>
</html>
`;

View File

@ -0,0 +1,317 @@
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote {
margin: 0;
padding: 0;
font-weight: normal;
-webkit-font-smoothing: antialiased;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", SimSun, sans-serif;
font-size: 13px;
line-height: 25px;
color: #393838;
position: relative;
}
table {
margin: 10px 0 15px 0;
border-collapse: collapse;
}
td,
th {
border: 1px solid #ddd;
padding: 3px 10px;
}
th {
padding: 5px 10px;
}
a, a:link, a:visited {
color: #34495e;
text-decoration: none;
}
a:hover, a:focus {
color: #59d69d;
text-decoration: none;
}
a img {
border: none;
}
p {
padding-left: 10px;
margin-bottom: 9px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: #404040;
line-height: 36px;
}
h1 {
color: #2c3e50;
font-weight: 600;
margin-top: 35px;
margin-bottom: 16px;
font-size: 42px;
padding-bottom: 16px;
border-bottom: 1px solid #ddd;
line-height: 50px;
}
h2 {
font-size: 28px;
padding-top: 10px;
padding-bottom: 10px;
}
h3 {
clear: both;
font-weight: 400;
margin-top: 20px;
margin-bottom: 20px;
border-left: 3px solid #59d69d;
padding-left: 8px;
font-size: 18px;
}
h4 {
font-size: 16px;
}
h5 {
font-size: 14px;
}
h6 {
font-size: 13px;
}
hr {
margin: 0 0 19px;
border: 0;
border-bottom: 1px solid #ccc;
}
blockquote {
padding: 13px 13px 21px 15px;
margin-bottom: 18px;
font-family: georgia, serif;
font-style: italic;
}
blockquote:before {
font-size: 40px;
margin-left: -10px;
font-family: georgia, serif;
color: #eee;
}
blockquote p {
font-size: 14px;
font-weight: 300;
line-height: 18px;
margin-bottom: 0;
font-style: italic;
}
code,
pre {
font-family: Monaco, Andale Mono, Courier New, monospace;
}
code {
background-color: #fee9cc;
color: rgba(0, 0, 0, 0.75);
padding: 1px 3px;
font-size: 12px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
pre {
display: block;
padding: 14px;
margin: 0 0 18px;
line-height: 16px;
font-size: 11px;
border: 1px solid #d9d9d9;
white-space: pre-wrap;
word-wrap: break-word;
background: #f6f6f6;
}
pre code {
background-color: #f6f6f6;
color: #737373;
font-size: 11px;
padding: 0;
}
sup {
font-size: 0.83em;
vertical-align: super;
line-height: 0;
}
* {
-webkit-print-color-adjust: exact;
}
@media print {
body,
code,
pre code,
h1,
h2,
h3,
h4,
h5,
h6 {
color: black;
}
table,
pre {
page-break-inside: avoid;
}
}
html,
body {
height: 100%;
}
.table-of-contents {
top: 61px;
left: 0;
bottom: 0;
overflow-x: hidden;
overflow-y: auto;
width: 260px;
}
.table-of-contents ul {
position: fixed;
top: 80px;
left: 40px;
overflow: auto;
margin: 0px;
height: 100%;
padding: 0px 0px;
box-sizing: border-box;
list-style-type: none;
}
.table-of-contents ul li {
padding-left: 20px;
}
.table-of-contents a {
padding: 2px 0px;
display: block;
text-decoration: none;
}
.content-right {
position: relative;
top: -20px;
max-width: 700px;
margin-left: 290px;
padding-left: 50px;
}
body > p {
margin-left: 30px;
}
body > table {
margin-left: 30px;
}
body > pre {
margin-left: 30px;
}
.curProject {
position: fixed;
top: 20px;
font-size: 25px;
color: black;
margin-left: -240px;
width: 240px;
padding: 5px;
line-height: 25px;
box-sizing: border-box;
}
.g-doc {
margin-top: 56px;
padding-top: 24px;
}
.m-header {
background: #32363a;
height: 56px;
line-height: 56px;
padding-left: 60px;
display: flex;
align-items: center;
position: fixed;
z-index: 9;
top: 0;
left: 0;
right: 0;
}
.m-header .title {
font-size: 22px;
color: #fff;
font-weight: normal;
-webkit-font-smoothing: antialiased;
margin: 0;
margin-left: 16px;
padding: 0;
line-height: 56px;
border: none;
}
.m-header .nav {
color: #fff;
font-size: 16px;
position: absolute;
right: 32px;
}
.m-header .nav a {
color: #fff;
margin-left: 16px;
padding: 8px;
transition: color .2s;
}
.m-header .nav a:hover {
color: #59d69d;
}
.m-footer {
border-top: 1px solid #ddd;
padding-top: 16px;
padding-bottom: 16px;
}
/*# sourceMappingURL=defaultTheme.css.map */

View File

@ -0,0 +1,7 @@
{
"version": 3,
"mappings": "AAAA;;;;;;;;;UASW;EACP,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,MAAM;EACnB,sBAAsB,EAAE,WAAW;;;AAGvC,IAAK;EACD,WAAW,EAAE,4JAA4J;EACzK,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,KAAK,EAAE,OAAO;EACd,QAAQ,EAAE,QAAQ;;;AAItB,KAAM;EACF,MAAM,EAAE,aAAa;EACrB,eAAe,EAAE,QAAQ;;;AAG7B;EACG;EACC,MAAM,EAAE,cAAc;EACtB,OAAO,EAAE,QAAQ;;;AAGrB,EAAG;EACC,OAAO,EAAE,QAAQ;;;AAGrB,oBAAqB;EACjB,KAAK,EAAE,OAAO;EACd,eAAe,EAAE,IAAI;;;AAGzB,gBAAiB;EACb,KAAK,EAAE,OAAO;EACd,eAAe,EAAE,IAAI;;;AAGzB,KAAM;EACF,MAAM,EAAE,IAAI;;;AAGhB,CAAE;EACE,YAAY,EAAE,IAAI;EAClB,aAAa,EAAE,GAAG;;;AAGtB;;;;;EAKG;EACC,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,IAAI;;;AAGrB,EAAG;EACC,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,GAAG;EAChB,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,IAAI;EACnB,SAAS,EAAE,IAAI;EACf,cAAc,EAAE,IAAI;EACpB,aAAa,EAAE,cAAc;EAC7B,WAAW,EAAE,IAAI;;;AAGrB,EAAG;EACC,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,IAAI;;;AAGxB,EAAG;EACC,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,GAAG;EAChB,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,IAAI;EACnB,WAAW,EAAE,iBAAiB;EAC9B,YAAY,EAAE,GAAG;EACjB,SAAS,EAAE,IAAI;;;AAGnB,EAAG;EACC,SAAS,EAAE,IAAI;;;AAGnB,EAAG;EACC,SAAS,EAAE,IAAI;;;AAGnB,EAAG;EACC,SAAS,EAAE,IAAI;;;AAGnB,EAAG;EACC,MAAM,EAAE,QAAQ;EAChB,MAAM,EAAE,CAAC;EACT,aAAa,EAAE,cAAc;;;AAGjC,UAAW;EACP,OAAO,EAAE,mBAAmB;EAC5B,aAAa,EAAE,IAAI;EACnB,WAAW,EAAE,cAAc;EAC3B,UAAU,EAAE,MAAM;;;AAGtB,iBAAkB;EACd,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,KAAK;EAClB,WAAW,EAAE,cAAc;EAC3B,KAAK,EAAE,IAAI;;;AAGf,YAAa;EACT,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,WAAW,EAAE,IAAI;EACjB,aAAa,EAAE,CAAC;EAChB,UAAU,EAAE,MAAM;;;AAGtB;GACI;EACA,WAAW,EAAE,2CAA2C;;;AAG5D,IAAK;EACD,gBAAgB,EAAE,OAAO;EACzB,KAAK,EAAE,mBAAmB;EAC1B,OAAO,EAAE,OAAO;EAChB,SAAS,EAAE,IAAI;EACf,qBAAqB,EAAE,GAAG;EAC1B,kBAAkB,EAAE,GAAG;EACvB,aAAa,EAAE,GAAG;;;AAGtB,GAAI;EACA,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,QAAQ;EAChB,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,iBAAiB;EACzB,WAAW,EAAE,QAAQ;EACrB,SAAS,EAAE,UAAU;EACrB,UAAU,EAAE,OAAO;;;AAGvB,QAAS;EACL,gBAAgB,EAAE,OAAO;EACzB,KAAK,EAAE,OAAO;EACd,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,CAAC;;;AAGd,GAAI;EACA,SAAS,EAAE,MAAM;EACjB,cAAc,EAAE,KAAK;EACrB,WAAW,EAAE,CAAC;;;AAGlB,CAAE;EACE,0BAA0B,EAAE,KAAK;;;AAGrC,YAAa;EACT;;;;;;;;IAQG;IACC,KAAK,EAAE,KAAK;;;EAEhB;KACI;IACA,iBAAiB,EAAE,KAAK;;;AAIhC;IACK;EACD,MAAM,EAAE,IAAI;;;AAGhB,kBAAmB;EACf,GAAG,EAAE,IAAI;EACT,IAAI,EAAE,CAAC;EACP,MAAM,EAAE,CAAC;EACT,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,KAAK;;;AAGhB,qBAAsB;EAClB,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,IAAI;EACT,IAAI,EAAE,IAAI;EACV,QAAQ,EAAE,IAAI;EACd,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,OAAO;EAChB,UAAU,EAAE,UAAU;EACtB,eAAe,EAAE,IAAI;;;AAGzB,wBAAyB;EACrB,YAAY,EAAE,IAAI;;;AAGtB,oBAAqB;EACjB,OAAO,EAAE,OAAO;EAChB,OAAO,EAAE,KAAK;EACd,eAAe,EAAE,IAAI;;;AAGzB,cAAe;EACX,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,KAAK;EACV,SAAS,EAAE,KAAK;EAChB,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,IAAI;;;AAGtB,QAAO;EACH,WAAW,EAAE,IAAI;;;AAGrB,YAAW;EACP,WAAW,EAAE,IAAI;;;AAGrB,UAAS;EACL,WAAW,EAAE,IAAI;;;AAGrB,WAAY;EACR,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,IAAI;EACT,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,KAAK;EACZ,WAAW,EAAE,MAAM;EACnB,KAAK,EAAE,KAAK;EACZ,OAAO,EAAE,GAAG;EACZ,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,UAAU;;;AAG1B,MAAO;EACH,UAAU,EAAE,IAAI;EAChB,WAAW,EAAE,IAAI;;;AAGrB,SAAU;EACN,UAAU,EAAE,OAAO;EACnB,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,IAAI;EACjB,YAAY,EAAE,IAAI;EAClB,OAAO,EAAE,IAAI;EACb,WAAW,EAAE,MAAM;EACnB,QAAQ,EAAE,KAAK;EACf,OAAO,EAAE,CAAC;EACV,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,CAAC;;AACR,gBAAO;EACH,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,MAAM;EACnB,sBAAsB,EAAE,WAAW;EACnC,MAAM,EAAE,CAAC;EACT,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,IAAI;EACjB,MAAM,EAAE,IAAI;;AAEhB,cAAK;EACD,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI;;AACX,gBAAE;EACE,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,IAAI;EACjB,OAAO,EAAE,GAAG;EACZ,UAAU,EAAE,SAAS;;AAEzB,sBAAQ;EACJ,KAAK,EAAE,OAAO;;;AAK1B,SAAU;EACN,UAAU,EAAE,cAAc;EAC1B,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,IAAI",
"sources": ["defaultTheme.scss"],
"names": [],
"file": "defaultTheme.css"
}

View File

@ -1,234 +1,4 @@
module.exports = `<style>
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote {
margin: 0;
padding: 0;
}
.header{
position: fixed;
display: block;
z-index: 1;
margin: 0;
padding: 0;
top: 0;
margin-top: 10px;
}
body {
font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", Arial, sans-serif;
font-size: 15px;
line-height: 25px;
color: #393838;
background-color: white;
margin: 10px 13px 10px 13px;
position: relative;
padding: 0 60px 30px;
overflow-x: hidden;
}
table {
margin: 10px 0 15px 0;
border-collapse: collapse;
}
td,th {
border: 1px solid #ddd;
padding: 3px 10px;
}
th {
padding: 5px 10px;
}
a {
color: #34495e;
}
a:hover {
color: #42b983;
text-decoration: none;
}
a img {
border: none;
}
p {
padding-left: 10px;
margin-bottom: 9px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: #404040;
line-height: 36px;
}
h1 {
color: #2c3e50;
font-weight: 600;
margin-top: 35px;
font-size: 42px;
padding-bottom: 16px;
border-bottom: 1px solid #ddd;
line-height: 50px;
}
h2 {
font-size: 28px;
padding-top: 10px;
padding-bottom: 10px;
}
h3 {
clear: both;
font-weight: 400;
margin-top: 20px;
margin-bottom: 20px;
border-left: 3px solid #42b983;
padding-left: 8px;
font-size: 18px;
}
h4 {
font-size: 16px;
}
h5 {
font-size: 14px;
}
h6 {
font-size: 13px;
}
hr {
margin: 0 0 19px;
border: 0;
border-bottom: 1px solid #ccc;
}
blockquote {
padding: 13px 13px 21px 15px;
margin-bottom: 18px;
font-family:georgia,serif;
font-style: italic;
}
blockquote:before {
font-size:40px;
margin-left:-10px;
font-family:georgia,serif;
color:#eee;
}
blockquote p {
font-size: 14px;
font-weight: 300;
line-height: 18px;
margin-bottom: 0;
font-style: italic;
}
code, pre {
font-family: Monaco, Andale Mono, Courier New, monospace;
}
code {
background-color: #fee9cc;
color: rgba(0, 0, 0, 0.75);
padding: 1px 3px;
font-size: 12px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
pre {
display: block;
padding: 14px;
margin: 0 0 18px;
line-height: 16px;
font-size: 11px;
border: 1px solid #d9d9d9;
white-space: pre-wrap;
word-wrap: break-word;
background:#f6f6f6;
}
pre code {
background-color: #f6f6f6;
color:#737373;
font-size: 11px;
padding: 0;
}
sup {
font-size: 0.83em;
vertical-align: super;
line-height: 0;
}
* {
-webkit-print-color-adjust: exact;
}
@media print {
body,code,pre code,h1,h2,h3,h4,h5,h6 {
color: black;
}
table, pre {
page-break-inside: avoid;
}
}
html,body{
height: 100%;
}
.table-of-contents{
top: 61px;
left: 0;
bottom: 0;
overflow-x: hidden;
overflow-y: auto;
width: 260px;
}
.table-of-contents ul{
position: fixed;
overflow: auto;
margin: 0px;
height: 100%;
padding: 0px 0px;
box-sizing: border-box;
list-style-type: none;
}
.table-of-contents ul li{
padding-left: 20px;
}
.table-of-contents a{
padding: 2px 0px;
display: block;
text-decoration: none;
}
.content-right{
position: relative;
max-width: 700px;
margin-left: 290px;
padding-left: 50px;
}
body>p{
margin-left: 30px;
}
body>table{
margin-left: 30px;
}
body>pre{
margin-left: 30px;
}
.curProject{
position: fixed;
top:20px;
font-size:25px;
color:black;
margin-left:-240px;
width:240px;
padding:5px;
line-height:25px;
box-sizing:border-box;
}
</style>`
const fs = require('fs');
const sysPath = require('path');
const css = fs.readFileSync(sysPath.join(__dirname, './defaultTheme.css'));
module.exports = '<style>' + css + '</style>';

View File

@ -0,0 +1,316 @@
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote {
margin: 0;
padding: 0;
font-weight: normal;
-webkit-font-smoothing: antialiased;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", SimSun, sans-serif;
font-size: 13px;
line-height: 25px;
color: #393838;
position: relative;
// overflow-x: hidden;
}
table {
margin: 10px 0 15px 0;
border-collapse: collapse;
}
td,
th {
border: 1px solid #ddd;
padding: 3px 10px;
}
th {
padding: 5px 10px;
}
a, a:link, a:visited {
color: #34495e;
text-decoration: none;
}
a:hover, a:focus {
color: #59d69d;
text-decoration: none;
}
a img {
border: none;
}
p {
padding-left: 10px;
margin-bottom: 9px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: #404040;
line-height: 36px;
}
h1 {
color: #2c3e50;
font-weight: 600;
margin-top: 35px;
margin-bottom: 16px;
font-size: 42px;
padding-bottom: 16px;
border-bottom: 1px solid #ddd;
line-height: 50px;
}
h2 {
font-size: 28px;
padding-top: 10px;
padding-bottom: 10px;
}
h3 {
clear: both;
font-weight: 400;
margin-top: 20px;
margin-bottom: 20px;
border-left: 3px solid #59d69d;
padding-left: 8px;
font-size: 18px;
}
h4 {
font-size: 16px;
}
h5 {
font-size: 14px;
}
h6 {
font-size: 13px;
}
hr {
margin: 0 0 19px;
border: 0;
border-bottom: 1px solid #ccc;
}
blockquote {
padding: 13px 13px 21px 15px;
margin-bottom: 18px;
font-family: georgia, serif;
font-style: italic;
}
blockquote:before {
font-size: 40px;
margin-left: -10px;
font-family: georgia, serif;
color: #eee;
}
blockquote p {
font-size: 14px;
font-weight: 300;
line-height: 18px;
margin-bottom: 0;
font-style: italic;
}
code,
pre {
font-family: Monaco, Andale Mono, Courier New, monospace;
}
code {
background-color: #fee9cc;
color: rgba(0, 0, 0, 0.75);
padding: 1px 3px;
font-size: 12px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
pre {
display: block;
padding: 14px;
margin: 0 0 18px;
line-height: 16px;
font-size: 11px;
border: 1px solid #d9d9d9;
white-space: pre-wrap;
word-wrap: break-word;
background: #f6f6f6;
}
pre code {
background-color: #f6f6f6;
color: #737373;
font-size: 11px;
padding: 0;
}
sup {
font-size: 0.83em;
vertical-align: super;
line-height: 0;
}
* {
-webkit-print-color-adjust: exact;
}
@media print {
body,
code,
pre code,
h1,
h2,
h3,
h4,
h5,
h6 {
color: black;
}
table,
pre {
page-break-inside: avoid;
}
}
html,
body {
height: 100%;
}
.table-of-contents {
top: 61px;
left: 0;
bottom: 0;
overflow-x: hidden;
overflow-y: auto;
width: 260px;
}
.table-of-contents ul {
position: fixed;
top: 80px;
left: 40px;
overflow: auto;
margin: 0px;
height: 100%;
padding: 0px 0px;
box-sizing: border-box;
list-style-type: none;
}
.table-of-contents ul li {
padding-left: 20px;
}
.table-of-contents a {
padding: 2px 0px;
display: block;
text-decoration: none;
}
.content-right {
position: relative;
top: -20px;
max-width: 700px;
margin-left: 290px;
padding-left: 50px;
}
body>p {
margin-left: 30px;
}
body>table {
margin-left: 30px;
}
body>pre {
margin-left: 30px;
}
.curProject {
position: fixed;
top: 20px;
font-size: 25px;
color: black;
margin-left: -240px;
width: 240px;
padding: 5px;
line-height: 25px;
box-sizing: border-box;
}
.g-doc {
margin-top: 56px;
padding-top: 24px;
}
.m-header {
background: #32363a;
height: 56px;
line-height: 56px;
padding-left: 60px;
display: flex;
align-items: center;
position: fixed;
z-index: 9;
top: 0;
left: 0;
right: 0;
.title {
font-size: 22px;
color: #fff;
font-weight: normal;
-webkit-font-smoothing: antialiased;
margin: 0;
margin-left: 16px;
padding: 0;
line-height: 56px;
border: none;
}
.nav {
color: #fff;
font-size: 16px;
position: absolute;
right: 32px;
a {
color: #fff;
margin-left: 16px;
padding: 8px;
transition: color .2s;
}
a:hover {
color: #59d69d;
}
}
}
.m-footer {
border-top: 1px solid #ddd;
padding-top: 16px;
padding-bottom: 16px;
}