| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413 |
- const marked = require('marked')
- const fs = require('fs')
- const changelog = fs.readFileSync('./CHANGELOG.md', 'utf-8')
- const markdownChangelog = marked(changelog)
- fs.writeFileSync('./public/update.html',
- `
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8" />
- <link rel="icon" href="/favicon.ico" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>商户平台-更新日志</title>
- <script src="./config.js"></script>
- <style>
- h1 {
- color: #6699cc;
- font-size: 2.2857em;
- line-height: .6563em;
- margin: .6563em 0;
- }
-
- h2 {
- color: #6699cc;
- font-size: 1.75em;
- line-height: 1.225;
- border-bottom: 1px solid #eee;
- margin-top:30px;
- }
-
- h3 {
- color: #6699cc;
- font-size: 1.5em;
- line-height: 1.43;
- }
-
- h4 {
- color: #6699cc;
- font-size: 1.2857em;
- line-height: 1.1667em;
- margin: 1.1667em 0;
- }
-
- h5 {
- color: #6699cc;
- font-size: 1.15em;
- line-height: 1.3em;
- margin: 1.3em 0;
- }
-
- h6 {
- color: #6699cc;
- font-size: 1em;
- line-height: 1.5em;
- margin: 1.5em 0;
- }
-
- h1,h2,h3,h4,h5,h6 {
- line-height: 1.5em;
- }
-
- body,p,td,div {
- color: #515151;
- font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;
- word-wrap: break-word;
- }
-
- a {
- -webkit-transition: color .2s ease-in-out;
- -moz-transition: color .2s ease-in-out;
- -o-transition: color .2s ease-in-out;
- -ms-transition: color .2s ease-in-out;
- transition: color .2s ease-in-out;
- color: #f99157;
- text-decoration: none;
- }
-
- a[href^="mailto"] {
- color: #66cccc;
- }
-
- a:hover {
- color: #f99157;
- }
-
- ul{
- padding-left: 30px; margin:0.8em 0
- }
- li {
- font-size: 110%;margin-bottom: 5px;
- }
-
- li li {
- font-size: 100%;
- }
-
- li p {
- font-size: 100%;
- margin: .5em 0;
- }
-
- .footnote {
- color: #a09f93;
- font-size: .8em;
- vertical-align: super;
- }
-
- hr {
- height: 10px;
- border: none;
- background-color: #d3d0c8;
- color: #515151;
- }
-
- #wrapper img {
- max-width: 100%;
- height: auto;
- }
-
- strong, b {
- color: #ffcc66;
- }
-
- em, i {
- color: #cc99cc;
- }
-
- dd {
- margin-bottom: 1em;
- }
-
- li {
- list-style: none;
- position: relative;
- }
- li::before {
- position: absolute;
- top: 0;
- left: -17px;
- color: #f2777a;
- }
- ul li::before {
- font-size: 160%;
- content: '\\2022';
- }
-
- ol {
- counter-reset: index;
- }
-
- ol li {
- counter-increment: index;
- }
-
- ol li::before {
- content: counter(index) ".";
- }
-
- li > p:first-child {
- margin: 0;
- }
-
- ul ul,ul ol {
- margin-bottom: .4em;
- }
-
- caption,col,colgroup,table,tbody,td,tfoot,th,thead,tr {
- border-spacing: 0;
- }
-
- table {
- border: 1px solid rgba(0,0,0,0.25);
- border-collapse: collapse;
- display: table;
- empty-cells: hide;
- margin: -1px 0 23px;
- padding: 0;
- table-layout: fixed;
- }
-
- caption {
- display: table-caption;
- font-weight: 700;
- }
-
- col {
- display: table-column;
- }
-
- colgroup {
- display: table-column-group;
- }
-
- tbody {
- display: table-row-group;
- }
-
- tfoot {
- display: table-footer-group;
- }
-
- thead {
- display: table-header-group;
- }
-
- td,th {
- display: table-cell;
- }
-
- tr {
- display: table-row;
- }
-
- table th,table td {
- font-size: 1.1em;
- line-height: 23px;
- padding: 0 1em;
- }
-
- table thead {
- background: rgba(0,0,0,0.15);
- border: 1px solid rgba(0,0,0,0.15);
- border-bottom: 1px solid rgba(0,0,0,0.2);
- }
-
- table tbody {
- background: rgba(0,0,0,0.05);
- }
-
- table tfoot {
- background: rgba(0,0,0,0.15);
- border: 1px solid rgba(0,0,0,0.15);
- border-top: 1px solid rgba(0,0,0,0.2);
- }
-
- figure {
- display: inline-block;
- position: relative;
- margin: 1em 0 2em;
- }
-
- figcaption {
- font-style: italic;
- text-align: center;
- background: white;
- color: #66cccc;
- position: absolute;
- left: 0;
- bottom: -24px;
- width: 98%;
- padding: 1%;
- -webkit-transition: all .2s ease-in-out;
- -moz-transition: all .2s ease-in-out;
- -o-transition: all .2s ease-in-out;
- -ms-transition: all .2s ease-in-out;
- transition: all .2s ease-in-out;
- }
-
- figure:hover>figcaption {
- background: rgba(0,0,0,1)
- }
-
- code {
- color: #99cc99;
- }
-
- .poetry pre {
- display: block;
- font-family: Georgia, Garamond, serif !important;
- font-size: 110% !important;
- font-style: italic;
- line-height: 1.6em;
- margin-left: 1em;
- }
-
- .poetry pre code {
- font-family: Georgia, Garamond, serif !important;
- }
-
- blockquote p {
- font-size: 110%;
- font-style: italic;
- line-height: 1.6em;
- }
-
- sup,sub,a.footnote {
- font-size: 1.4ex;
- height: 0;
- line-height: 1;
- position: relative;
- vertical-align: super;
- }
-
- sub {
- vertical-align: sub;
- top: -1px;
- }
-
- p,h5 {
- font-size: 1.1429em;
- line-height: 1.3125em;
- margin: 1.3125em 0;
- }
-
- dt,th {
- font-weight: 700;
- }
-
- table tr:nth-child(odd),table th:nth-child(odd),table td:nth-child(odd) {
- background: rgba(255,255,255,0.06);
- }
-
- table tr:nth-child(even),table td:nth-child(even) {
- background: rgba(200,200,200,0.25);
- }
-
- @media print {
- body {
- overflow: auto;
- }
-
- img,pre,blockquote,table,figure,p {
- page-break-inside: avoid;
- }
-
- #wrapper {
- background-color: #f2f0ec;
- color: #515151;
- font-size: 85%;
- padding: 10px;
- position: relative;
- text-indent: 0;
- }
- }
-
- @media screen {
- .inverted #wrapper,.inverted {
- background: #2d2d2d;
- }
-
- .inverted hr {
- color: #d3d0c8;
- background-color: 515151
- }
-
- .inverted p,.inverted td, .inverted div {
- color: #d3d0c8 !important;
- }
-
- .inverted table tr:nth-child(odd),.inverted table th:nth-child(odd),.inverted table td:nth-child(odd) {
- background: none;
- }
-
- #wrapper {
- padding: 20px;
- }
-
- ::selection {
- background: #d3d0c8;
- color: #515151;
- }
- .inverted::selection {
- color: #d3d0c8;
- background: #515151;
- }
-
- h1::selection {
- background-color: rgba(45, 156, 208, .3);
- }
-
- h2::selection {
- background-color: rgba(90, 182, 224, .3);
- }
-
- h3::selection,h4::selection,h5::selection,h6::selection,li::selection,ol::selection {
- background-color: rgba(133, 201, 232, .3);
- }
-
- code::selection {
- background-color: rgba(0,0,0,.7);
- color: #eee;
- }
-
- code span::selection {
- background-color: rgba(0,0,0,.7) !important;
- color: #eee !important;
- }
-
- a::selection {
- background-color: rgba(255, 230, 102,.2);
- }
-
- .inverted a::selection {
- background-color: rgba(255, 230, 102,.6);
- }
-
- td::selection,th::selection,caption::selection {
- background-color: rgba(180, 237, 95, .5);
- }
- }
- </style>
- </head>
- <body>
- ${markdownChangelog}
- </body>
- </html>
- `
- )
|