Skip to content

Commit 34d12af

Browse files
added support for multiple doc versions
1 parent 51e84eb commit 34d12af

File tree

6 files changed

+124
-2
lines changed

6 files changed

+124
-2
lines changed

docfx.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,20 @@
2424
],
2525
"resource": [
2626
{
27-
"files": [ "External/ReadMeImages/**", "index.html"]
28-
}
27+
"files": ["index.html", "web/**"],
28+
},
29+
{
30+
"files": [ "External/ReadMeImages/**"],
31+
},
32+
],
33+
"template": [
34+
"default",
35+
"templates/mrtk"
2936
],
3037
"globalMetadata": {
3138
"_appTitle": "Mixed Reality Toolkit Documentation",
3239
"_enableSearch": true,
40+
"_disableNavbar": false,
3341
"_appLogoPath": "External/ReadMeImages/mrt_logo_icon.png",
3442
"_appFaviconPath": "External/ReadMeImages/favicon.ico"
3543
},
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}}
2+
3+
<nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
4+
<div class="container">
5+
<div class="navbar-header">
6+
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
7+
<span class="sr-only">Toggle navigation</span>
8+
<span class="icon-bar"></span>
9+
<span class="icon-bar"></span>
10+
<span class="icon-bar"></span>
11+
</button>
12+
{{>partials/logo}}
13+
</div>
14+
15+
<div class="version-dropdown" id="versionDropdown">
16+
</div>
17+
18+
<div class="collapse navbar-collapse" id="navbar">
19+
<form class="navbar-form navbar-right" role="search" id="search">
20+
<div class="form-group">
21+
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
22+
</div>
23+
</form>
24+
</div>
25+
</div>
26+
</nav>

templates/mrtk/styles/main.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@import "/web/version.css";

templates/mrtk/styles/main.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.
2+
3+
4+
var imported = document.createElement('script');
5+
imported.src = '/web/version.js';
6+
document.head.appendChild(imported);

web/version.css

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
.dropbtn {
2+
background-color: #222222;
3+
color: white;
4+
padding: 16px;
5+
font-size: 16px;
6+
border: none;
7+
}
8+
9+
.version-dropdown {
10+
position: relative;
11+
display: inline-block;
12+
float: right;
13+
margin-bottom: 0px;
14+
}
15+
16+
.version-dropdown-content {
17+
display: none;
18+
position: absolute;
19+
background-color: #f1f1f1;
20+
min-width: 160px;
21+
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
22+
z-index: 1;
23+
}
24+
25+
.version-dropdown-content a {
26+
color: black;
27+
padding: 12px 16px;
28+
text-decoration: none;
29+
display: block;
30+
}
31+
32+
.version-dropdown-content a:hover {background-color: #ddd;}
33+
34+
.version-dropdown:hover .version-dropdown-content {display: block;}
35+
36+
.version-dropdown:hover .dropbtn {
37+
background-color: #000000;
38+
color: white;
39+
}

web/version.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
2+
function createDropdown()
3+
{
4+
// configurable values:
5+
var defaultTitle = "mrtk_development"; // title in the dropdown for the root version of the docs
6+
var versionArray = ["v1.0", "v2.0"]; // list of all versions in the version folder
7+
8+
//--------------------------------------
9+
10+
var versionDropDiv = document.getElementById('versionDropdown');
11+
var btn = document.createElement('button');
12+
btn.className = "dropbtn";
13+
var btnText = document.createTextNode("Version");
14+
btn.appendChild(btnText);
15+
var innerDiv = document.createElement('div');
16+
innerDiv.className = "version-dropdown-content";
17+
versionDropDiv.appendChild(btn);
18+
versionDropDiv.appendChild(innerDiv);
19+
20+
// create default
21+
createEntry(innerDiv, defaultTitle, "/README.html");
22+
23+
// create version entries
24+
for (i = 0; i<versionArray.length; i++)
25+
{
26+
createEntry(innerDiv, versionArray[i], "/version/"+versionArray[i]+"/README.html");
27+
}
28+
}
29+
30+
31+
32+
function createEntry(attachTo, name, url)
33+
{
34+
var a = document.createElement('a');
35+
var linkText = document.createTextNode(name);
36+
a.appendChild(linkText);
37+
a.href = url;
38+
a.title = name;
39+
attachTo.appendChild(a);
40+
}
41+
42+
createDropdown();

0 commit comments

Comments
 (0)