Skip to content

Commit df2122c

Browse files
author
Florian Kissling
committed
Add anchor.js for pages using the default layout.
* adds styles for anchor.js (similar to the official Bootstrap docs) * currently results some of the generated links to have a suffix (e. g. examples.html#templating-1) added due to sections having the same ID as the headline copy that we want to link to
1 parent c24293f commit df2122c

4 files changed

Lines changed: 110 additions & 0 deletions

File tree

docs/_includes/head.html

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,35 @@
1010
<script type="text/javascript" src="dist/js/select2.full.js"></script>
1111
<script type="text/javascript" src="vendor/js/bootstrap.min.js"></script>
1212
<script type="text/javascript" src="vendor/js/prettify.min.js"></script>
13+
<script type="text/javascript" src="vendor/js/anchor.min.js"></script>
1314

1415
<link href="vendor/css/bootstrap.min.css" type="text/css" rel="stylesheet" />
1516
<link href="dist/css/select2.min.css" type="text/css" rel="stylesheet" />
1617

1718
<link href="vendor/css/font-awesome.min.css" type="text/css" rel="stylesheet" />
1819
<link href="vendor/css/prettify.css" type="text/css" rel="stylesheet" />
20+
<link href="vendor/css/anchor.css" type="text/css" rel="stylesheet" />
1921

2022
<style type="text/css">
2123
body { font-size: 16px; }
2224
footer { background-color: #eee; margin-top: 1em; padding: 1em; text-align: center; }
2325
.navbar-inverse .navbar-brand { color: #fff; }
26+
.anchorjs-link {
27+
float: left;
28+
width: 1em;
29+
height: 1em;
30+
margin-left: -1.2em;
31+
opacity: 0;
32+
color: inherit;
33+
text-align: center;
34+
}
35+
.anchorjs-link:link,
36+
.anchorjs-link:visited {
37+
text-decoration: none;
38+
color: inherit;
39+
}
40+
.anchorjs-icon {
41+
font-size: 60%;
42+
vertical-align: .2em;
43+
}
2444
</style>

docs/_layouts/default.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@
99
{{ content }}
1010

1111
{% include footer.html %}
12+
<script>
13+
(function () {
14+
'use strict';
15+
addAnchors('.container h1, .container h2, .container h3, .container h4, .container h5');
16+
})();
17+
</script>
1218

1319
<script type="text/javascript">
1420
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

docs/vendor/css/anchor.css

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
/**
2+
* Store the link icon as a base64 embedded icon font.
3+
*/
4+
@font-face {
5+
font-family: 'anchorjs-icons';
6+
src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg6v8yoAAAC8AAAAYGNtYXDL8RqdAAABHAAAADxnYXNwAAAAEAAAAVgAAAAIZ2x5Zkm2oNUAAAFgAAABWGhlYWQAHd4cAAACuAAAADZoaGVhB3sECwAAAvAAAAAkaG10eAYAAEcAAAMUAAAADGxvY2EACgCsAAADIAAAAAhtYXhwAAYAcAAAAygAAAAgbmFtZUQXtNYAAANIAAABOXBvc3QAAwAAAAAEhAAAACAAAwQAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACDmAAPA/8D/wAPAAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEACgAAAAGAAQAAQACACDmAP//AAAAIOYA////4RoCAAEAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAIARwAHA7kDeQA2AG0AAAEnLgEiBg8BDgEUFh8BHgMXNy4DLwEuATQ2PwE+ATIWHwEeARQGDwEeAxU3PgE0JicBLgMnBx4DHwEeARQGDwEOASImLwEuATQ2PwEuAzUHDgEUFh8BHgEyNj8BPgE0Ji8BA7kEI1ldWiPaIyQkIwQDBgYGBFAEBwYHAwQTExMT2xMwMjETBBMTExNjBwkGA5gkIyMk/r4DBgYGBFAEBwYHAwQTExMT2xMwMjETBBMTExNjBwkGA5gkIyMkBCNZXVoj2iMkJCMEA3UEJCMjJNojWV1aIwQDBgUFA1ACBQUFAwQUMDIxE9oTExMTBBMxMjATYxAhISIRmSNaXVkj/sYDBgUFA1ACBQUFAwQUMDIxE9oTExMTBBMxMjATYxAhISIRmSNaXVkjBCQjIyTaI1ldWiMEAAEAAAABAABR/4xQXw889QALBAAAAAAAzqNM0wAAAADOo0zTAAAAAAO5A3kAAAAIAAIAAAAAAAAAAQAAA8D/wAAABAAAAABHA7kAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAgAAAAQAAEcAAAAAAAoArAABAAAAAwBuAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoAKABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoAKABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADAALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'),
7+
url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAATwAAsAAAAABKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDq/zKmNtYXAAAAFoAAAAPAAAADzL8RqdZ2FzcAAAAaQAAAAIAAAACAAAABBnbHlmAAABrAAAAVgAAAFYSbag1WhlYWQAAAMEAAAANgAAADYAHd4caGhlYQAAAzwAAAAkAAAAJAd7BAtobXR4AAADYAAAAAwAAAAMBgAAR2xvY2EAAANsAAAACAAAAAgACgCsbWF4cAAAA3QAAAAgAAAAIAAGAHBuYW1lAAADlAAAATkAAAE5RBe01nBvc3QAAATQAAAAIAAAACAAAwAAAAMEAAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAg5gADwP/A/8ADwABAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAAoAAAABgAEAAEAAgAg5gD//wAAACDmAP///+EaAgABAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAACAEcABwO5A3kANgBtAAABJy4BIgYPAQ4BFBYfAR4DFzcuAy8BLgE0Nj8BPgEyFh8BHgEUBg8BHgMVNz4BNCYnAS4DJwceAx8BHgEUBg8BDgEiJi8BLgE0Nj8BLgM1Bw4BFBYfAR4BMjY/AT4BNCYvAQO5BCNZXVoj2iMkJCMEAwYGBgRQBAcGBwMEExMTE9sTMDIxEwQTExMTYwcJBgOYJCMjJP6+AwYGBgRQBAcGBwMEExMTE9sTMDIxEwQTExMTYwcJBgOYJCMjJAQjWV1aI9ojJCQjBAN1BCQjIyTaI1ldWiMEAwYFBQNQAgUFBQMEFDAyMRPaExMTEwQTMTIwE2MQISEiEZkjWl1ZI/7GAwYFBQNQAgUFBQMEFDAyMRPaExMTEwQTMTIwE2MQISEiEZkjWl1ZIwQkIyMk2iNZXVojBAABAAAAAQAAUf+MUF8PPPUACwQAAAAAAM6jTNMAAAAAzqNM0wAAAAADuQN5AAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAARwO5AAEAAAAAAAAAAAAAAAAAAAADAAAAAAIAAAAEAABHAAAAAAAKAKwAAQAAAAMAbgACAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAA4AAAABAAAAAAACAA4ARwABAAAAAAADAA4AJAABAAAAAAAEAA4AVQABAAAAAAAFABYADgABAAAAAAAGAAcAMgABAAAAAAAKACgAYwADAAEECQABAA4AAAADAAEECQACAA4ARwADAAEECQADAA4AJAADAAEECQAEAA4AVQADAAEECQAFABYADgADAAEECQAGAA4AOQADAAEECQAKACgAYwBpAGMAbwBtAG8AbwBuAFYAZQByAHMAaQBvAG4AIAAwAC4AMABpAGMAbwBtAG8AbwBuaWNvbW9vbgBpAGMAbwBtAG8AbwBuAFIAZQBnAHUAbABhAHIAaQBjAG8AbQBvAG8AbgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4AAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff');
8+
font-style: normal;
9+
font-weight: normal;
10+
}
11+
.anchorjs-icon {
12+
font-family: 'anchorjs-icons';
13+
font-style: normal;
14+
font-variant: normal;
15+
font-weight: normal;
16+
line-height: 1;
17+
speak: none;
18+
text-transform: none;
19+
20+
/* Better Icon Rendering */
21+
-webkit-font-smoothing: antialiased;
22+
-moz-osx-font-smoothing: grayscale;
23+
}
24+
25+
/**
26+
* Link placement and hover behavior.
27+
*/
28+
.anchorjs-link {
29+
opacity: 0;
30+
text-decoration: none;
31+
}
32+
*:hover > .anchorjs-link,
33+
.anchorjs-link:focus {
34+
/* To fade links as they appear, change transition-property from 'color' to 'all' */
35+
opacity: 1;
36+
-webkit-transition: color .16s linear;
37+
-moz-transition: color .16s linear;
38+
-o-transition: color .16s linear;
39+
transition: color .16s linear;
40+
}
41+
/**
42+
* Make screen-reader friendly description text visually hidden.
43+
*/
44+
.anchorjs-description {
45+
border: 0;
46+
clip: rect(0 0 0 0);
47+
height: 1px;
48+
margin: -1px;
49+
overflow: hidden;
50+
padding: 0;
51+
position: absolute;
52+
width: 1px;
53+
}
54+
55+
/**
56+
* Reasonable default styles.
57+
* Feel free to override or replace these with your own.
58+
*/
59+
.anchorjs-link:link { color: #DFD487; }
60+
.anchorjs-link:visited { color: #DFD487; }
61+
.anchorjs-link:hover { color: #EC7963; }
62+
.anchorjs-link:active { color: #EC7963; }
63+
64+
.anchorjs-icon {
65+
font-size: 90%;
66+
padding-left: 6px;
67+
}
68+
69+
.anchorjs-icon:before {
70+
content: '\e600';
71+
/* alternative icons -- uncomment to use */
72+
/*
73+
content: '#';
74+
content: '¶';
75+
content: '❡';
76+
content: '§';
77+
*/
78+
}

docs/vendor/js/anchor.min.js

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)