Skip to content

Commit 38badd1

Browse files
committed
bump to v1.0.1
1 parent b597909 commit 38badd1

File tree

6 files changed

+56
-35
lines changed

6 files changed

+56
-35
lines changed

dist/bootstrap-toc.css

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
/*!
2-
* Bootstrap Table of Contents v1.0.0 (http://afeld.github.io/bootstrap-toc/)
2+
* Bootstrap Table of Contents v1.0.1 (http://afeld.github.io/bootstrap-toc/)
33
* Copyright 2015 Aidan Feldman
44
* Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */
55

66
/* modified from https://github.com/twbs/bootstrap/blob/94b4076dd2efba9af71f0b18d4ee4b163aa9e0dd/docs/assets/css/src/docs.css#L548-L601 */
77

88
/* All levels of nav */
9-
nav[data-toggle='toc'] .nav > li > a {
9+
nav[data-toggle="toc"] .nav > li > a {
1010
display: block;
1111
padding: 4px 20px;
1212
font-size: 13px;
1313
font-weight: 500;
1414
color: #767676;
1515
}
16-
nav[data-toggle='toc'] .nav > li > a:hover,
17-
nav[data-toggle='toc'] .nav > li > a:focus {
16+
nav[data-toggle="toc"] .nav > li > a:hover,
17+
nav[data-toggle="toc"] .nav > li > a:focus {
1818
padding-left: 19px;
1919
color: #563d7c;
2020
text-decoration: none;
2121
background-color: transparent;
2222
border-left: 1px solid #563d7c;
2323
}
24-
nav[data-toggle='toc'] .nav-link.active,
25-
nav[data-toggle='toc'] .nav-link.active:hover,
26-
nav[data-toggle='toc'] .nav-link.active:focus {
24+
nav[data-toggle="toc"] .nav-link.active,
25+
nav[data-toggle="toc"] .nav-link.active:hover,
26+
nav[data-toggle="toc"] .nav-link.active:focus {
2727
padding-left: 18px;
2828
font-weight: bold;
2929
color: #563d7c;
@@ -32,29 +32,29 @@ nav[data-toggle='toc'] .nav-link.active:focus {
3232
}
3333

3434
/* Nav: second level (shown on .active) */
35-
nav[data-toggle='toc'] .nav-link + ul {
35+
nav[data-toggle="toc"] .nav-link + ul {
3636
display: none; /* Hide by default, but at >768px, show it */
3737
padding-bottom: 10px;
3838
}
3939

40-
nav[data-toggle='toc'] .nav .nav > li > a {
40+
nav[data-toggle="toc"] .nav .nav > li > a {
4141
padding-top: 1px;
4242
padding-bottom: 1px;
4343
padding-left: 30px;
4444
font-size: 12px;
4545
font-weight: normal;
4646
}
47-
nav[data-toggle='toc'] .nav .nav > li > a:hover,
48-
nav[data-toggle='toc'] .nav .nav > li > a:focus {
47+
nav[data-toggle="toc"] .nav .nav > li > a:hover,
48+
nav[data-toggle="toc"] .nav .nav > li > a:focus {
4949
padding-left: 29px;
5050
}
51-
nav[data-toggle='toc'] .nav .nav > li > .active,
52-
nav[data-toggle='toc'] .nav .nav > li > .active:hover,
53-
nav[data-toggle='toc'] .nav .nav > li > .active:focus {
51+
nav[data-toggle="toc"] .nav .nav > li > .active,
52+
nav[data-toggle="toc"] .nav .nav > li > .active:hover,
53+
nav[data-toggle="toc"] .nav .nav > li > .active:focus {
5454
padding-left: 28px;
5555
font-weight: 500;
5656
}
5757

58-
nav[data-toggle='toc'] .nav-link.active + ul {
58+
nav[data-toggle="toc"] .nav-link.active + ul {
5959
display: block;
6060
}

dist/bootstrap-toc.js

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
/*!
2-
* Bootstrap Table of Contents v1.0.0 (http://afeld.github.io/bootstrap-toc/)
2+
* Bootstrap Table of Contents v1.0.1 (http://afeld.github.io/bootstrap-toc/)
33
* Copyright 2015 Aidan Feldman
44
* Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */
55
(function($) {
6-
'use strict';
6+
"use strict";
77

88
window.Toc = {
99
helpers: {
@@ -12,13 +12,34 @@
1212
// http://danielnouri.org/notes/2011/03/14/a-jquery-find-that-also-finds-the-root-element/
1313
// http://stackoverflow.com/a/12731439/358804
1414
var $descendants = $el.find(selector);
15-
return $el.filter(selector).add($descendants).filter(':not([data-toc-skip])');
15+
return $el
16+
.filter(selector)
17+
.add($descendants)
18+
.filter(":not([data-toc-skip])");
1619
},
1720

1821
generateUniqueIdBase: function(el) {
1922
var text = $(el).text();
20-
var anchor = text.trim().toLowerCase().replace(/[^A-Za-z0-9]+/g, '-');
21-
return anchor || el.tagName.toLowerCase();
23+
24+
// adapted from
25+
// https://github.com/bryanbraun/anchorjs/blob/65fede08d0e4a705f72f1e7e6284f643d5ad3cf3/anchor.js#L237-L257
26+
27+
// Regex for finding the non-safe URL characters (many need escaping): & +$,:;=?@"#{}|^~[`%!'<>]./()*\ (newlines, tabs, backspace, & vertical tabs)
28+
var nonsafeChars = /[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,
29+
urlText;
30+
31+
// Note: we trim hyphens after truncating because truncating can cause dangling hyphens.
32+
// Example string: // " ⚡⚡ Don't forget: URL fragments should be i18n-friendly, hyphenated, short, and clean."
33+
urlText = text
34+
.trim() // "⚡⚡ Don't forget: URL fragments should be i18n-friendly, hyphenated, short, and clean."
35+
.replace(/\'/gi, "") // "⚡⚡ Dont forget: URL fragments should be i18n-friendly, hyphenated, short, and clean."
36+
.replace(nonsafeChars, "-") // "⚡⚡-Dont-forget--URL-fragments-should-be-i18n-friendly--hyphenated--short--and-clean-"
37+
.replace(/-{2,}/g, "-") // "⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated-short-and-clean-"
38+
.substring(0, 64) // "⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated-"
39+
.replace(/^-+|-+$/gm, "") // "⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated"
40+
.toLowerCase(); // "⚡⚡-dont-forget-url-fragments-should-be-i18n-friendly-hyphenated"
41+
42+
return urlText || el.tagName.toLowerCase();
2243
},
2344

2445
generateUniqueId: function(el) {
@@ -27,7 +48,7 @@
2748
var anchor = anchorBase;
2849
if (i > 0) {
2950
// add suffix
30-
anchor += '-' + i;
51+
anchor += "-" + i;
3152
}
3253
// check if ID already exists
3354
if (!document.getElementById(anchor)) {
@@ -58,24 +79,24 @@
5879

5980
generateNavEl: function(anchor, text) {
6081
var $a = $('<a class="nav-link"></a>');
61-
$a.attr('href', '#' + anchor);
82+
$a.attr("href", "#" + anchor);
6283
$a.text(text);
63-
var $li = $('<li></li>');
84+
var $li = $("<li></li>");
6485
$li.append($a);
6586
return $li;
6687
},
6788

6889
generateNavItem: function(headingEl) {
6990
var anchor = this.generateAnchor(headingEl);
7091
var $heading = $(headingEl);
71-
var text = $heading.data('toc-text') || $heading.text();
92+
var text = $heading.data("toc-text") || $heading.text();
7293
return this.generateNavEl(anchor, text);
7394
},
7495

7596
// Find the first heading level (`<h1>`, then `<h2>`, etc.) that has more than one element. Defaults to 1 (for `<h1>`).
7697
getTopLevel: function($scope) {
7798
for (var i = 1; i <= 6; i++) {
78-
var $headings = this.findOrFilter($scope, 'h' + i);
99+
var $headings = this.findOrFilter($scope, "h" + i);
79100
if ($headings.length > 1) {
80101
return i;
81102
}
@@ -86,12 +107,12 @@
86107

87108
// returns the elements for the top level, and the next below it
88109
getHeadings: function($scope, topLevel) {
89-
var topSelector = 'h' + topLevel;
110+
var topSelector = "h" + topLevel;
90111

91112
var secondaryLevel = topLevel + 1;
92-
var secondarySelector = 'h' + secondaryLevel;
113+
var secondarySelector = "h" + secondaryLevel;
93114

94-
return this.findOrFilter($scope, topSelector + ',' + secondarySelector);
115+
return this.findOrFilter($scope, topSelector + "," + secondarySelector);
95116
},
96117

97118
getNavLevel: function(el) {
@@ -141,7 +162,7 @@
141162
opts = this.helpers.parseOps(opts);
142163

143164
// ensure that the data attribute is in place for styling
144-
opts.$nav.attr('data-toggle', 'toc');
165+
opts.$nav.attr("data-toggle", "toc");
145166

146167
var $topContext = this.helpers.createChildNavList(opts.$nav);
147168
var topLevel = this.helpers.getTopLevel(opts.$scope);

dist/bootstrap-toc.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/bootstrap-toc.min.js

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

index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ This page is an example of the plugin in action – the table of contents you se
2121
<!-- add after bootstrap.min.css -->
2222
<link
2323
rel="stylesheet"
24-
href="https://cdn.rawgit.com/afeld/bootstrap-toc/v1.0.0/dist/bootstrap-toc.min.css"
24+
href="https://cdn.rawgit.com/afeld/bootstrap-toc/v1.0.1/dist/bootstrap-toc.min.css"
2525
/>
2626
<!-- add after bootstrap.min.js -->
27-
<script src="https://cdn.rawgit.com/afeld/bootstrap-toc/v1.0.0/dist/bootstrap-toc.min.js"></script>
27+
<script src="https://cdn.rawgit.com/afeld/bootstrap-toc/v1.0.1/dist/bootstrap-toc.min.js"></script>
2828
```
2929

3030
1. Pick one of the two options below.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bootstrap-toc",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"private": true,
55
"scripts": {
66
"test": "gulp test"

0 commit comments

Comments
 (0)