1 jquery.tocify.js - jQuery Table of Contents
2 -------------------------------------------
4 A jQuery plugin that dynamically generates a table of contents. Tocify can be optionally styled with **Twitter Bootstrap** or **jQueryUI Themeroller**, and optionally animated with jQuery show/hide effects. Tocify also optionally provides support for **smooth scrolling**, **scroll highlighting**, **scroll page extending**, and **forward and back button support**.
6 [Homepage](http://gregfranko.com/jquery.tocify.js/)
8 [Annotated Source Code](http://gregfranko.com/jquery.tocify.js/docs/jquery.tocify.html)
12 - Themeable with **Twitter Bootstrap** or **jQueryUI Themeroller**
14 - Supports dynamic scroll and click **jQuery show/hide effects**
16 - Supports forward and back button support
18 - Supports **smooth scrolling** animations
20 - Supports dynamic **scroll highlighting**
22 - Supports a **page extender** option to make sure a page is big enough to scroll to all table of content items
24 - Passes **jsHint** with no errors
29 jQueryUI Widget Factory 1.8.21+
32 IE7+, Firefox 4+, Chrome, Safari 4+, and Opera 11+
35 All unit tests are written using the Jasmine Framework (Work in Progress)
38 Take care to maintain the existing coding style. Add Jasmine unit tests for any new or changed functionality. Lint and test your code using [grunt](https://github.com/cowboy/grunt).
40 If you plan to contribute to `Tocify` in the future, keep in mind that you should make sure your code passes the Grunt checks. If you are on Windows (like me) remember you need to run the grunt command using `grunt.cmd`. Also, if you have trouble getting the Jasmine Unit Tests to work with PhantomJS 1.5 (the current release), install PhantomJS 1.3.
42 After you have verified your code, send a pull request to the `Tocify` dev branch. After you send a pull request, you will hear back from me shortly after I review your code.
44 You'll find source code in the "src" subdirectory!
47 If you find that you need a feature that Tocify does not currently support, either let me know via the Tocify issue tracker, or fork Tocify on Github and easily extend it to create your own widget!
51 * [Greg Franko](https://github.com/gfranko)
53 * [Mat Ryer, Stretchr](https://github.com/matryer)
57 `1.9.0` - October 1, 2013
59 - Fixed hash/history bug that threw a JavaScript error when the hash did not match an element on the page
60 - Fixed bug that affected TOC items which contained special characters [#45](https://github.com/gfranko/jquery.tocify.js/issues/45)
61 - Only register scroll event handlers if necessary [#44](https://github.com/gfranko/jquery.tocify.js/issues/44)
62 - Improved the **scrollHistory** option [#42](https://github.com/gfranko/jquery.tocify.js/issues/42)
64 `1.8.0` - September 16, 2013
66 - Added the **scrollHistory** option [#41](https://github.com/gfranko/jquery.tocify.js/issues/41)
67 - Fixed a non-linear nesting bug [#40](https://github.com/gfranko/jquery.tocify.js/issues/40)
69 `1.7.0` - August 13, 2013
71 - Improved the CSS class naming convention and implementation
72 - Improved the CSS handling if no TOC items are found
74 `1.6.0` - July 24, 2013
76 - Updated the **scrollTo** option to accept a function [#33](https://github.com/gfranko/jquery.tocify.js/issues/33)
77 - Improved scroll highlighting accuracy [#33](https://github.com/gfranko/jquery.tocify.js/issues/33) [#34](https://github.com/gfranko/jquery.tocify.js/issues/34) Special thanks to [Andre Kampert](https://github.com/andrekampert) for this improvement
79 `1.5.0` - July 5, 2013
81 - Added **ignoreSelector** option[#27](https://github.com/gfranko/jquery.tocify.js/issues/27)
82 - Removed the bootstrap docs.css class names [#30](https://github.com/gfranko/jquery.tocify.js/issues/30)
83 - Fixed a bug when there is only one selector [#31](https://github.com/gfranko/jquery.tocify.js/issues/31)
85 `1.4.0` - April 6, 2013
87 **Special thanks to [Joaquin Casares](https://github.com/joaquincasares) for helping with this release
89 - Fixed colon-spaced hashes [#22](https://github.com/gfranko/jquery.tocify.js/pull/22)
90 - Created solution for long menu's on smaller screens [#19](https://github.com/gfranko/jquery.tocify.js/issues/19)
91 - Fixed scroll jump bug with **extendPage** option [#20](https://github.com/gfranko/jquery.tocify.js/issues/20)
92 - Added the **highlightDefault** option [#21](https://github.com/gfranko/jquery.tocify.js/issues/21)
93 - Fixed a TOC item nesting bug [#23](https://github.com/gfranko/jquery.tocify.js/issues/23)
95 `1.3.0` - February 23, 2013
97 **Special thanks to [Mat Ryer](https://github.com/matryer) for helping with this release
99 - Added the **hashGenerator** option
100 - Fixed the pageload scroll bug [#15](https://github.com/gfranko/jquery.tocify.js/issues/15)
102 `1.2.0` - December 31, 2012
104 - Multiple bug fixes: [#8](https://github.com/gfranko/jquery.tocify.js/issues/8), [#9](https://github.com/gfranko/jquery.tocify.js/issues/9), [#11](https://github.com/gfranko/jquery.tocify.js/issues/11), [#12](https://github.com/gfranko/jquery.tocify.js/issues/12)
106 `1.1.0` - November 19, 2012
108 - **BREAKING CHANGE** : Removed the History.js logic. All history logic is now using a hash bang instead of the HTML5 pushstate API.
110 - Added the **history** option
112 `1.0.0` - October 7, 2012
114 - Fixed scrolling show/hide bug with this [page structure](https://github.com/gfranko/jquery.tocify.js/issues/6)
116 `0.9.0` - October 3, 2012
118 - Fixed another nested element show/hide bug
120 `0.8.0` - September 26, 2012
122 - Numerous bug fixes ([nested page structure bug](https://github.com/gfranko/jquery.tocify.js/issues/4), unique naming bug, show/hide bugs)
124 `0.7.0` - September 24, 2012
126 - Fixed a nested element show/hide bug
128 `0.6.0` - August 22, 2012
130 - Nested subheader element bug fixes
132 - Greatly improved showing/hiding deeply nested subheader elements
134 `0.5.0` - August 21, 2012
136 - Added support for Twitter Bootstrap Theming
137 - Added the **theme** and **extendPageOffset** options.
138 - Removed the **jqueryUI** option *BREAKING CHANGE*
139 - Updated demo page to show off new Twitter Bootstrap theming
141 `0.4.0` - August 19, 2012
143 - Added the **setOption** and **setOptions** methods
144 - Upgraded the CSS file
147 `0.3.0` - August 15, 2012
149 - Added the **showAndHide** option.
150 - Bug fixes for when the jQuery history.js plugin is not used
151 - Upgraded the CSS file (removed unneccessary styles, etc.)
152 - Upgraded to jQueryUI 1.8.23.
153 - Upgraded to jQuery 1.8.0.
156 `0.2.0` - July 16, 2012
158 - Added the **scrollTo** option. Upgraded to jQueryUI 1.8.21.
159 - Multiple bug fixes.
160 - Upgraded the project page (included in the demos folder) to use Twitter Bootstrap.
161 * I will soon move the demo page into it's own separate project to create a boilerplate for documenting open source projects.
163 `0.1.0` - July 12, 2012
165 - Initial Tocify release. Added annotated source code and documentation
169 Copyright (c) 2012 Greg Franko
170 Licensed under the MIT license.