Skip to content

Commit 99bf60b

Browse files
author
Tiexin Guo
authored
Merge pull request #600 from merico-dev/docs-add-versions
Docs add versions
2 parents 1add163 + 2af5302 commit 99bf60b

File tree

4 files changed

+242
-11
lines changed

4 files changed

+242
-11
lines changed

docs/assets/versions.css

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
.md-header__title {
2+
display: flex;
3+
}
4+
5+
.dropdown-caret {
6+
display: inline-block !important;
7+
position: absolute;
8+
right: 4px;
9+
}
10+
11+
.fa .fa-caret-down {
12+
display: none !important;
13+
}
14+
15+
.rst-other-versions {
16+
text-align: left;
17+
}
18+
19+
.rst-other-versions > dl, .rst-other-versions dt, .rst-other-versions small {
20+
display: none;
21+
}
22+
23+
.rst-other-versions > dl:first-child {
24+
display: flex !important;
25+
flex-direction: column;
26+
line-height: 0px !important;
27+
}
28+
29+
.rst-versions.shift-up .rst-other-versions {
30+
display: flex !important;
31+
}
32+
33+
.rst-versions .rst-other-versions {
34+
display: none;
35+
}
36+
37+
/* Version Warning */
38+
div[data-md-component=announce] {
39+
background-color: rgb(248, 243, 236);
40+
position: sticky;
41+
top: 0;
42+
z-index: 2;
43+
}
44+
div[data-md-component=announce]>div#announce-msg{
45+
color:green;
46+
font-size: .8rem;
47+
text-align: center;
48+
margin: 15px;
49+
}
50+
div[data-md-component=announce]>div#announce-msg>a{
51+
color: var(--md-typeset-a-color);
52+
text-decoration: underline;
53+
}
54+
55+
/* from https://assets.readthedocs.org/static/css/badge_only.css,
56+
most styles have to be overriden here */
57+
.rst-versions{
58+
position: relative !important;
59+
bottom: 0;
60+
left: 0;
61+
width: 100px !important;
62+
/* background: hsla(173, 100%, 24%, 1) !important; */
63+
background: #4051b5 !important;
64+
font-family: inherit !important;
65+
z-index: 0 !important;
66+
}
67+
.rst-versions a{
68+
color:#2980B9;
69+
text-decoration:none
70+
}
71+
.rst-versions .rst-badge-small{
72+
display:none
73+
}
74+
.rst-versions .rst-current-version{
75+
padding:12px;
76+
/* background: hsla(173, 100%, 24%, 1) !important; */
77+
background: #4051b5 !important;
78+
display:block;
79+
text-align:right;
80+
font-size:90%;
81+
cursor:pointer;
82+
color: white !important;
83+
*zoom:1
84+
}
85+
.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{
86+
display:table;content:""
87+
}
88+
.rst-versions .rst-current-version:after{
89+
clear:both
90+
}
91+
.rst-versions .rst-current-version .fa{
92+
color:#fcfcfc
93+
}
94+
.rst-versions .rst-current-version .fa-caret-down{
95+
display: none;
96+
}
97+
.rst-versions.shift-up .rst-other-versions{
98+
display:block
99+
}
100+
.rst-versions .rst-other-versions{
101+
font-size:90%;
102+
padding-left:12px;
103+
padding-right:12px;
104+
padding-top:0px;
105+
padding-bottom:0px;
106+
color:gray;
107+
display:none
108+
}
109+
.rst-versions .rst-other-versions hr{
110+
display: none !important;
111+
height: 0px !important;
112+
border: 0px;
113+
margin: 0px !important;
114+
padding: 0px;
115+
border-top: none !important;
116+
}
117+
.rst-versions .rst-other-versions dd{
118+
display:inline-block;
119+
margin:0
120+
}
121+
.rst-versions .rst-other-versions dd a{
122+
display:inline-block;
123+
padding: 1em 0em !important;
124+
color:#fcfcfc;
125+
font-size: .6rem !important;
126+
white-space: nowrap;
127+
text-overflow: ellipsis;
128+
overflow: hidden;
129+
width: 80px;
130+
}
131+
.rst-versions .rst-other-versions dd a:hover{
132+
font-size: .7rem !important;
133+
font-weight: bold;
134+
}
135+
.rst-versions.rst-badge{
136+
display: block !important;
137+
width: 100px !important;
138+
bottom: 0px !important;
139+
right: 0px !important;
140+
left:auto;
141+
border:none;
142+
text-align: center !important;
143+
line-height: 0;
144+
}
145+
.rst-versions.rst-badge .icon-book{
146+
display: none;
147+
}
148+
.rst-versions.rst-badge .fa-book{
149+
display: none !important;
150+
}
151+
.rst-versions.rst-badge.shift-up .rst-current-version{
152+
text-align: left !important;
153+
}
154+
.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{
155+
display: none !important;
156+
}
157+
.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{
158+
display: none !important;
159+
}
160+
.rst-versions.rst-badge .rst-current-version{
161+
width: 70px !important;
162+
height: 2.4rem !important;
163+
line-height:2.4rem !important;
164+
padding: 0px 5px !important;
165+
display: inline-block !important;
166+
font-size: .6rem !important;
167+
overflow: hidden !important;
168+
text-overflow: ellipsis !important;
169+
white-space: nowrap !important;
170+
text-align: left !important;
171+
}
172+
@media screen and (max-width: 768px){
173+
.rst-versions{
174+
width:85%;
175+
display:none
176+
}
177+
.rst-versions.shift{
178+
display:block
179+
}
180+
}

docs/assets/versions.js

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
setTimeout(function() {
2+
const callbackName = 'callback_' + new Date().getTime();
3+
window[callbackName] = function (response) {
4+
const div = document.createElement('div');
5+
div.innerHTML = response.html;
6+
document.querySelector(".md-header__inner > .md-header__title").appendChild(div);
7+
const container = div.querySelector('.rst-versions');
8+
var caret = document.createElement('div');
9+
caret.innerHTML = "<i class='fa fa-caret-down dropdown-caret'></i>"
10+
caret.classList.add('dropdown-caret')
11+
div.querySelector('.rst-current-version').appendChild(caret);
12+
div.querySelector('.rst-current-version').addEventListener('click', function() {
13+
const classes = container.className.split(' ');
14+
const index = classes.indexOf('shift-up');
15+
if (index === -1) {
16+
classes.push('shift-up');
17+
} else {
18+
classes.splice(index, 1);
19+
}
20+
container.className = classes.join(' ');
21+
});
22+
}
23+
24+
var CSSLink = document.createElement('link');
25+
CSSLink.rel='stylesheet';
26+
CSSLink.href = '/assets/versions.css';
27+
document.getElementsByTagName('head')[0].appendChild(CSSLink);
28+
29+
var script = document.createElement('script');
30+
script.src = 'https://devstream.readthedocs.io/_/api/v2/footer_html/?'+
31+
'callback=' + callbackName + '&project=devstream&page=&theme=mkdocs&format=jsonp&docroot=docs&source_suffix=.md&version=' + (window['READTHEDOCS_DATA'] || { version: 'latest' }).version;
32+
document.getElementsByTagName('head')[0].appendChild(script);
33+
}, 0);
34+
35+
// VERSION WARNINGS
36+
window.addEventListener("DOMContentLoaded", function() {
37+
var rtdData = window['READTHEDOCS_DATA'] || { version: 'latest' };
38+
var margin = 30;
39+
var headerHeight = document.getElementsByClassName("md-header")[0].offsetHeight;
40+
if (rtdData.version === "latest") {
41+
document.querySelector("div[data-md-component=announce]").innerHTML = "<div id='announce-msg'>You are viewing the latest of DevStream docs. Maybe you want to choose a specific version.</a></div>"
42+
var bannerHeight = document.getElementById('announce-msg').offsetHeight + margin
43+
document.querySelector("header.md-header").style.top = bannerHeight +"px";
44+
document.querySelector('style').textContent +=
45+
"@media screen and (min-width: 76.25em){ .md-sidebar { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}"
46+
document.querySelector('style').textContent +=
47+
"@media screen and (min-width: 60em){ .md-sidebar--secondary { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}"
48+
}
49+
// else if (rtdData.version !== "stable") {
50+
// document.querySelector("div[data-md-component=announce]").innerHTML = "<div id='announce-msg'>You are viewing the docs for a previous version of DevStream, <a href='https://devstream.readthedocs.io/en/stable/'>click here to go to the latest stable version.</a></div>"
51+
// var bannerHeight = document.getElementById('announce-msg').offsetHeight + margin
52+
// document.querySelector("header.md-header").style.top = bannerHeight +"px";
53+
// document.querySelector('style').textContent +=
54+
// "@media screen and (min-width: 76.25em){ .md-sidebar { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}"
55+
// document.querySelector('style').textContent +=
56+
// "@media screen and (min-width: 60em){ .md-sidebar--secondary { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}"
57+
// }
58+
});

docs/versions.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

mkdocs.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@ site_description: The DevStream Docs
77
markdown_extensions:
88
toc:
99
permalink: true
10-
extra:
11-
version:
12-
provider: json
13-
index: "https://docs.devstream.io/en/latest/"
14-
current: latest
10+
extra_css:
11+
- assets/versions.css
12+
extra_javascript:
13+
- assets/versions.js
1514
nav:
1615
- 'quickstart_en.md'
1716
- Best Practices:

0 commit comments

Comments
 (0)