mirror of https://github.com/ElemeFE/element
Merge pull request #857 from QingWei-Li/feat/changelog
Changelog(doc): auto generate linkspull/862/head
commit
0391488b48
|
@ -118,6 +118,7 @@
|
||||||
name: 'app',
|
name: 'app',
|
||||||
methods: {
|
methods: {
|
||||||
renderAnchorHref() {
|
renderAnchorHref() {
|
||||||
|
if (/changelog/g.test(location.href)) return;
|
||||||
const anchors = document.querySelectorAll('h2 a,h3 a');
|
const anchors = document.querySelectorAll('h2 a,h3 a');
|
||||||
const basePath = location.href.split('#').splice(0, 2).join('#');
|
const basePath = location.href.split('#').splice(0, 2).join('#');
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div><% if (process.env.NODE_ENV === 'production') { %>
|
<div id="app"></div><% if (process.env.NODE_ENV === 'production') { %>
|
||||||
<script src="//cdn.jsdelivr.net/vue/2.0.3/vue.min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/2.0.5/vue.runtime.min.js"></script>
|
||||||
<script src="//cdn.jsdelivr.net/vue.router/2.0.1/vue-router.min.js"></script><% } %>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/vue-router/2.0.1/vue-router.min.js"></script><% } %>
|
||||||
</body>
|
</body>
|
||||||
<% if (process.env.NODE_ENV === 'production') { %><script>
|
<% if (process.env.NODE_ENV === 'production') { %><script>
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
color: #20a0ff;
|
color: #20a0ff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
h2 {
|
.heading {
|
||||||
margin-bottom: 40px;
|
margin-bottom: 40px;
|
||||||
}
|
}
|
||||||
.timeline {
|
.timeline {
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
height: @width;
|
height: @width;
|
||||||
background-color: #20a0ff;
|
background-color: #20a0ff;
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,6 +88,13 @@
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
opacity: 1;
|
||||||
|
float: none;
|
||||||
|
margin-left: 0;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
h4 {
|
h4 {
|
||||||
margin: 50px 0 10px;
|
margin: 50px 0 10px;
|
||||||
|
@ -109,12 +116,12 @@
|
||||||
</style>
|
</style>
|
||||||
<template>
|
<template>
|
||||||
<div class="page-changelog">
|
<div class="page-changelog">
|
||||||
<h2>
|
<div class="heading">
|
||||||
<el-button class="fr">
|
<el-button class="fr">
|
||||||
<a href="https://github.com/ElemeFE/element/releases" target="_blank">Github Releases</a>
|
<a href="https://github.com/ElemeFE/element/releases" target="_blank">Github Releases</a>
|
||||||
</el-button>
|
</el-button>
|
||||||
更新日志
|
更新日志
|
||||||
</h2>
|
</div>
|
||||||
<ul class="timeline" ref="timeline">
|
<ul class="timeline" ref="timeline">
|
||||||
</ul>
|
</ul>
|
||||||
<change-log ref="changeLog"></change-log>
|
<change-log ref="changeLog"></change-log>
|
||||||
|
@ -132,16 +139,25 @@
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
var changeLog = this.$refs.changeLog;
|
const changeLog = this.$refs.changeLog;
|
||||||
var changeLogNodes = changeLog.$el.children;
|
const changeLogNodes = changeLog.$el.children;
|
||||||
var fragments = '<li>' + changeLogNodes[1].outerHTML;
|
let a = changeLogNodes[1].querySelector('a');
|
||||||
|
a && a.remove();
|
||||||
|
let release = changeLogNodes[1].textContent.trim();
|
||||||
|
let fragments = `<li><h3><a href="https://github.com/ElemeFE/element/releases/tag/v${release}" target="_blank">${release}</a></h3>`;
|
||||||
|
|
||||||
for (let len = changeLogNodes.length, i = 2; i < len; i++) {
|
for (let len = changeLogNodes.length, i = 2; i < len; i++) {
|
||||||
let node = changeLogNodes[i];
|
let node = changeLogNodes[i];
|
||||||
fragments += node.tagName !== 'H3'
|
a = changeLogNodes[i].querySelector('a');
|
||||||
? changeLogNodes[i].outerHTML
|
a && a.remove();
|
||||||
: `</li><li>${changeLogNodes[i].outerHTML}`;
|
if (node.tagName !== 'H3') {
|
||||||
|
fragments += changeLogNodes[i].outerHTML;
|
||||||
|
} else {
|
||||||
|
release = changeLogNodes[i].textContent.trim();
|
||||||
|
fragments += `</li><li><h3><a href="https://github.com/ElemeFE/element/releases/tag/v${release}" target="_blank">${release}</a></h3>`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
fragments = fragments.replace(/#(\d+)/g, '<a href="https://github.com/ElemeFE/element/issues/$1" target="_blank">#$1</a>');
|
||||||
this.$refs.timeline.innerHTML = `${fragments}</li>`;
|
this.$refs.timeline.innerHTML = `${fragments}</li>`;
|
||||||
|
|
||||||
changeLog.$el.remove();
|
changeLog.$el.remove();
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
"wind-dom": "0.0.3"
|
"wind-dom": "0.0.3"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vue": "^2.0.3"
|
"vue": "^2.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-cli": "^6.14.0",
|
"babel-cli": "^6.14.0",
|
||||||
|
@ -106,8 +106,8 @@
|
||||||
"transliteration": "^1.1.11",
|
"transliteration": "^1.1.11",
|
||||||
"uppercamelcase": "^1.1.0",
|
"uppercamelcase": "^1.1.0",
|
||||||
"url-loader": "^0.5.7",
|
"url-loader": "^0.5.7",
|
||||||
"vue": "^2.0.3",
|
"vue": "^2.0.5",
|
||||||
"vue-loader": "^9.7.0",
|
"vue-loader": "^9.8.0",
|
||||||
"vue-markdown-loader": "^0.5.1",
|
"vue-markdown-loader": "^0.5.1",
|
||||||
"vue-router": "^2.0.0",
|
"vue-router": "^2.0.0",
|
||||||
"webpack": "^1.13.2",
|
"webpack": "^1.13.2",
|
||||||
|
|
Loading…
Reference in New Issue