summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo Chatzimichos <tampakrap@gentoo.org>2013-10-06 12:52:32 +0200
committerTheo Chatzimichos <tampakrap@gentoo.org>2013-10-06 12:52:32 +0200
commit820815f96fafa934ae85786f75ab8b600ac3af1f (patch)
treeb201649cc39a6e46bf29ae4f4902366235a28b17 /plugins/table-of-contents-plus
parentAdd mantra theme, requested by hwoarang (diff)
downloadblogs-gentoo-820815f96fafa934ae85786f75ab8b600ac3af1f.tar.gz
blogs-gentoo-820815f96fafa934ae85786f75ab8b600ac3af1f.tar.bz2
blogs-gentoo-820815f96fafa934ae85786f75ab8b600ac3af1f.zip
Add table-of-contents-plus plugin, requested by hwoarang
Diffstat (limited to 'plugins/table-of-contents-plus')
-rw-r--r--plugins/table-of-contents-plus/admin.css145
-rw-r--r--plugins/table-of-contents-plus/admin.js86
-rw-r--r--plugins/table-of-contents-plus/front.js26
-rw-r--r--plugins/table-of-contents-plus/images/black.pngbin0 -> 7375 bytes
-rw-r--r--plugins/table-of-contents-plus/images/blue.pngbin0 -> 10102 bytes
-rw-r--r--plugins/table-of-contents-plus/images/colour-wheel.pngbin0 -> 844 bytes
-rw-r--r--plugins/table-of-contents-plus/images/custom.pngbin0 -> 10090 bytes
-rw-r--r--plugins/table-of-contents-plus/images/grey.pngbin0 -> 10144 bytes
-rw-r--r--plugins/table-of-contents-plus/images/transparent.pngbin0 -> 22037 bytes
-rw-r--r--plugins/table-of-contents-plus/images/white.pngbin0 -> 9692 bytes
-rwxr-xr-xplugins/table-of-contents-plus/languages/toc+-pl_PL.mobin0 -> 24818 bytes
-rwxr-xr-xplugins/table-of-contents-plus/languages/toc+-pl_PL.po902
-rw-r--r--plugins/table-of-contents-plus/languages/toc+-sk_SK.mobin0 -> 24881 bytes
-rw-r--r--plugins/table-of-contents-plus/languages/toc+-sk_SK.po914
-rw-r--r--plugins/table-of-contents-plus/languages/toc+-zh_CN.mobin0 -> 16447 bytes
-rw-r--r--plugins/table-of-contents-plus/languages/toc+-zh_CN.po584
-rw-r--r--plugins/table-of-contents-plus/languages/toc+.pot686
-rw-r--r--plugins/table-of-contents-plus/readme.txt253
-rw-r--r--plugins/table-of-contents-plus/screen.css1
-rw-r--r--plugins/table-of-contents-plus/screenshot-1.pngbin0 -> 130626 bytes
-rw-r--r--plugins/table-of-contents-plus/screenshot-2.pngbin0 -> 27960 bytes
-rw-r--r--plugins/table-of-contents-plus/screenshot-3.pngbin0 -> 76351 bytes
-rwxr-xr-xplugins/table-of-contents-plus/screenshot-4.pngbin0 -> 152634 bytes
-rwxr-xr-xplugins/table-of-contents-plus/screenshot-5.pngbin0 -> 137255 bytes
-rwxr-xr-xplugins/table-of-contents-plus/screenshot-6.pngbin0 -> 19825 bytes
-rw-r--r--plugins/table-of-contents-plus/toc.php1775
26 files changed, 5372 insertions, 0 deletions
diff --git a/plugins/table-of-contents-plus/admin.css b/plugins/table-of-contents-plus/admin.css
new file mode 100644
index 00000000..2450deed
--- /dev/null
+++ b/plugins/table-of-contents-plus/admin.css
@@ -0,0 +1,145 @@
+div.tab_content table {
+ margin-bottom: 1em;
+}
+table.more_toc_options_table th, table.more_toc_options_table td {
+ padding: 0;
+ margin: 0;
+}
+table.more_toc_options_table th {
+ width: auto;
+ padding-right: 4px;
+ padding-top: 2px;
+}
+div.tab_content ul li {
+ margin-left: 2em;
+ list-style-type: disc;
+}
+div.tab_content ol li {
+ list-style: inherit;
+}
+div.tab_content pre {
+ margin-left: 2em;
+}
+ul#tabbed-nav {
+ margin-top: 1em;
+}
+#tabbed-nav {
+ margin: 0;
+ padding: 0;
+ float: left;
+ list-style: none;
+ height: 32px;
+ border-bottom: 1px solid #DFDFDF;
+ border-left: 1px solid #DFDFDF;
+ width: 100%;
+}
+#tabbed-nav li {
+ float: left;
+ margin: 0;
+ padding: 0;
+ height: 31px;
+ line-height: 31px;
+ border: 1px solid #DFDFDF;
+ border-left: none;
+ margin-bottom: -1px;
+ overflow: hidden;
+ position: relative;
+ background: #F5F5F5;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#F5F5F5));
+ background-image: -webkit-linear-gradient(center top, #fff, #F5F5F5);
+ background-image: -moz-linear-gradient(center top, #fff, #F5F5F5);
+ background-image: -ms-linear-gradient(center top, #fff, #F5F5F5);
+ background-image: -o-linear-gradient(center top, #fff, #F5F5F5);
+ background-image: linear-gradient(center top, #fff, #F5F5F5);
+}
+#tabbed-nav li a {
+ text-decoration: none;
+ color: #000;
+ display: block;
+ font-size: 1.2em;
+ padding: 0 20px;
+ border: 1px solid #fff;
+ outline: none;
+}
+#tabbed-nav li a:hover {
+ background: #ECECEC;
+}
+html #tabbed-nav li.active, html #tabbed-nav li.active a:hover {
+ background: #fff;
+ border-bottom: 1px solid #fff;
+}
+div.tab_container {
+ border: 1px solid #DFDFDF;
+ border-top: none;
+ overflow: hidden;
+ clear: both;
+ float: left; width: 100%;
+ background: #fff;
+ margin-bottom: 2em;
+ padding-bottom: 2em;
+}
+div.tab_content {
+ padding: 10px;
+ padding-bottom: 0;
+ font-size: 1em;
+}
+h3 span.show_hide {
+ font-size: 0.85em;
+ font-weight: normal;
+}
+div.more_toc_options {
+ margin-top: 4px;
+ margin-left: 2em;
+}
+div.toc_theme_option {
+ width: 200px;
+ float: left;
+ margin-right: 5px;
+}
+#wpcontent select optgroup option {
+ padding-left: 15px;
+}
+input#width_custom,
+input#font_size,
+input#smooth_scroll_offset {
+ width: 50px;
+ text-align: center;
+}
+input.custom_colour_option {
+ width: 75px;
+}
+table#theme_custom, div#farbtastic_colour_wheel {
+ float: left;
+}
+table#theme_custom {
+ margin-top: 30px;
+}
+table#theme_custom img {
+ vertical-align: middle;
+ opacity: 0.4;
+}
+table#theme_custom img:hover {
+ cursor: pointer;
+ opacity: 1;
+}
+div#farbtastic_colour_wheel {
+ margin-left: 20px;
+}
+#tab3 h3:not(:first-child) {
+ margin-top: 2em;
+}
+#shortcode_table th:first-child {
+ width: 150px;
+}
+#shortcode_table th {
+ background: #f5f5f5;
+ padding: 0.5em;
+}
+#shortcode_table td {
+ vertical-align: top;
+ border-bottom: #f5f5f5 1px solid;
+ padding: 1em 0 1em 0;
+}
+#shortcode_table ul {
+ margin: 0;
+} \ No newline at end of file
diff --git a/plugins/table-of-contents-plus/admin.js b/plugins/table-of-contents-plus/admin.js
new file mode 100644
index 00000000..672d00c6
--- /dev/null
+++ b/plugins/table-of-contents-plus/admin.js
@@ -0,0 +1,86 @@
+jQuery(document).ready(function($) {
+ $('.tab_content, #toc_advanced_usage, #sitemap_advanced_usage, #toc_for_developers, div.more_toc_options.disabled, tr.disabled').hide();
+ $('ul#tabbed-nav li:first').addClass('active').show(); // show first tab
+ $('.tab_content:first').show(); // show first tab content
+
+ $('ul#tabbed-nav li').click(function(event) {
+ event.preventDefault();
+ $('ul#tabbed-nav li').removeClass('active');
+ $(this).addClass('active');
+ $('.tab_content').hide();
+
+ var activeTab = $(this).find('a').attr('href');
+ $(activeTab).fadeIn();
+ });
+
+ $('h3 span.show_hide a').click(function(event) {
+ event.preventDefault();
+ $( $(this).attr('href') ).toggle('fast');
+ if ( $(this).text() == 'show' )
+ $(this).text('hide');
+ else
+ $(this).text('show');
+ });
+
+ $('input#show_heading_text, input#visibility').click(function() {
+ $(this).siblings('div.more_toc_options').toggle('fast');
+ });
+
+ $('input#smooth_scroll').click(function() {
+ $('#smooth_scroll_offset_tr').toggle('fast');
+ });
+
+ $('input[name="theme"]').click(function() {
+ // check custom theme selection
+ if ( $(this).val() == 100 ) {
+ $(this).parent().siblings('div.more_toc_options').show('fast');
+ }
+ else
+ $(this).parent().siblings('div.more_toc_options').hide('fast');
+ });
+
+ /* width drop down */
+ $('select#width').change(function() {
+ if ( $(this).find('option:selected').val() == 'User defined' ) {
+ $(this).siblings('div.more_toc_options').show('fast');
+ $('input#width_custom').focus();
+ }
+ else
+ $(this).siblings('div.more_toc_options').hide('fast');
+ });
+ $('input#width_custom, input#font_size, input#smooth_scroll_offset').keyup(function() {
+ var value = $(this).val();
+ $(this).val( value.replace(/[^0-9\.]/, '') );
+ });
+ $('input#fragment_prefix').keyup(function() {
+ var fragment = $(this).val();
+ $(this).val( fragment.replace(/[^a-zA-Z0-9_\-]/g, '') );
+ });
+
+ if ( $.farbtastic ) {
+ var f = $.farbtastic('#farbtastic_colour_wheel');
+ var selected;
+ $('#farbtastic_colour_wheel').css('opacity', 0.5).hide();
+ $('input.custom_colour_option')
+ .each(function() { f.linkTo(this); $(this).css('opacity', 0.5); })
+ .keyup(function() {
+ var hex = $(this).val();
+ hex = hex.replace(/[^a-fA-F0-9]/g, '');
+ if ( hex.length > 6 ) hex = hex.substr(0, 6);
+ $(this).val( '#' + hex );
+ })
+ .focus(function() {
+ if (selected) {
+ $(selected).css('opacity', 0.5);
+ $(selected).siblings('img').css('opacity', 0.4);
+ }
+ f.linkTo(this);
+ $('#farbtastic_colour_wheel').css('opacity', 1).show('fast');
+ $(this).siblings('img').css('opacity', 1);
+ $(selected = this).css('opacity', 1);
+ });
+ $('table#theme_custom img').click(function() {
+ $(this).siblings('input.custom_colour_option').focus();
+ });
+ }
+}); \ No newline at end of file
diff --git a/plugins/table-of-contents-plus/front.js b/plugins/table-of-contents-plus/front.js
new file mode 100644
index 00000000..aacedc21
--- /dev/null
+++ b/plugins/table-of-contents-plus/front.js
@@ -0,0 +1,26 @@
+
+(function(l){function t(l){return l.replace(/(:|\.)/g,"\\$1")}var e="1.4.10",o={exclude:[],excludeWithin:[],offset:0,direction:"top",scrollElement:null,scrollTarget:null,beforeScroll:function(){},afterScroll:function(){},easing:"swing",speed:400,autoCoefficent:2},r=function(t){var e=[],o=!1,r=t.dir&&"left"==t.dir?"scrollLeft":"scrollTop";return this.each(function(){if(this!=document&&this!=window){var t=l(this);t[r]()>0?e.push(this):(t[r](1),o=t[r]()>0,o&&e.push(this),t[r](0))}}),e.length||this.each(function(){"BODY"===this.nodeName&&(e=[this])}),"first"===t.el&&e.length>1&&(e=[e[0]]),e};l.fn.extend({scrollable:function(l){var t=r.call(this,{dir:l});return this.pushStack(t)},firstScrollable:function(l){var t=r.call(this,{el:"first",dir:l});return this.pushStack(t)},smoothScroll:function(e){e=e||{};var o=l.extend({},l.fn.smoothScroll.defaults,e),r=l.smoothScroll.filterPath(location.pathname);return this.unbind("click.smoothscroll").bind("click.smoothscroll",function(e){var n=this,s=l(this),c=o.exclude,i=o.excludeWithin,a=0,f=0,h=!0,u={},d=location.hostname===n.hostname||!n.hostname,m=o.scrollTarget||(l.smoothScroll.filterPath(n.pathname)||r)===r,p=t(n.hash);if(o.scrollTarget||d&&m&&p){for(;h&&c.length>a;)s.is(t(c[a++]))&&(h=!1);for(;h&&i.length>f;)s.closest(i[f++]).length&&(h=!1)}else h=!1;h&&(e.preventDefault(),l.extend(u,o,{scrollTarget:o.scrollTarget||p,link:n}),l.smoothScroll(u))}),this}}),l.smoothScroll=function(t,e){var o,r,n,s,c=0,i="offset",a="scrollTop",f={},h={};"number"==typeof t?(o=l.fn.smoothScroll.defaults,n=t):(o=l.extend({},l.fn.smoothScroll.defaults,t||{}),o.scrollElement&&(i="position","static"==o.scrollElement.css("position")&&o.scrollElement.css("position","relative"))),o=l.extend({link:null},o),a="left"==o.direction?"scrollLeft":a,o.scrollElement?(r=o.scrollElement,c=r[a]()):r=l("html, body").firstScrollable(),o.beforeScroll.call(r,o),n="number"==typeof t?t:e||l(o.scrollTarget)[i]()&&l(o.scrollTarget)[i]()[o.direction]||0,f[a]=n+c+o.offset,s=o.speed,"auto"===s&&(s=f[a]||r.scrollTop(),s/=o.autoCoefficent),h={duration:s,easing:o.easing,complete:function(){o.afterScroll.call(o.link,o)}},o.step&&(h.step=o.step),r.length?r.stop().animate(f,h):o.afterScroll.call(o.link,o)},l.smoothScroll.version=e,l.smoothScroll.filterPath=function(l){return l.replace(/^\//,"").replace(/(index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")},l.fn.smoothScroll.defaults=o})(jQuery);jQuery.cookie=function(a,b,c){if(arguments.length>1&&String(b)!=="[object Object]"){c=jQuery.extend({},c);if(b===null||b===undefined){c.expires=-1}if(typeof c.expires==="number"){var d=c.expires,e=c.expires=new Date;e.setDate(e.getDate()+d)}b=String(b);return document.cookie=[encodeURIComponent(a),"=",c.raw?b:encodeURIComponent(b),c.expires?"; expires="+c.expires.toUTCString():"",c.path?"; path="+c.path:"",c.domain?"; domain="+c.domain:"",c.secure?"; secure":""].join("")}c=b||{};var f,g=c.raw?function(a){return a}:decodeURIComponent;return(f=(new RegExp("(?:^|; )"+encodeURIComponent(a)+"=([^;]*)")).exec(document.cookie))?g(f[1]):null}
+jQuery(document).ready(function($){if(typeof tocplus!='undefined'){$.fn.shrinkTOCWidth=function(){$(this).css({width:'auto',display:'table'});if($.browser.msie&&parseInt($.browser.version)==7)
+$(this).css('width','');}
+if(tocplus.smooth_scroll==1){var target=hostname=pathname=qs=hash=null;$('body a').click(function(event){hostname=$(this).prop('hostname');pathname=$(this).prop('pathname');qs=$(this).prop('search');hash=$(this).prop('hash');if(pathname.length>0){if(pathname.charAt(0)!='/'){pathname='/'+pathname;}}
+if((window.location.hostname==hostname)&&(window.location.pathname==pathname)&&(window.location.search==qs)&&(hash!=='')){var hash_selector=hash.replace(/([ !"$%&'()*+,.\/:;<=>?@[\]^`{|}~])/g,'\\$1');if($(hash_selector).length>0)
+target=hash;else{anchor=hash;anchor=anchor.replace('#','');target='a[name="'+anchor+'"]';if($(target).length==0)
+target='';}
+if(typeof tocplus.smooth_scroll_offset!='undefined'){offset=-1*tocplus.smooth_scroll_offset;}
+else{if($('#wpadminbar').length>0){if($('#wpadminbar').is(':visible'))
+offset=-30;else
+offset=0;}
+else
+offset=0;}
+if(target){$.smoothScroll({scrollTarget:target,offset:offset});}}});}
+if(typeof tocplus.visibility_show!='undefined'){var invert=(typeof tocplus.visibility_hide_by_default!='undefined')?true:false;if($.cookie)
+var visibility_text=($.cookie('tocplus_hidetoc'))?tocplus.visibility_show:tocplus.visibility_hide;else
+var visibility_text=tocplus.visibility_hide;if(invert)
+visibility_text=(visibility_text==tocplus.visibility_hide)?tocplus.visibility_show:tocplus.visibility_hide;$('#toc_container p.toc_title').append(' <span class="toc_toggle">[<a href="#">'+visibility_text+'</a>]</span>');if(visibility_text==tocplus.visibility_show){$('ul.toc_list').hide();$('#toc_container').addClass('contracted').shrinkTOCWidth();}
+$('span.toc_toggle a').click(function(event){event.preventDefault();switch($(this).html()){case $('<div/>').html(tocplus.visibility_hide).text():$(this).html(tocplus.visibility_show);if($.cookie){if(invert)
+$.cookie('tocplus_hidetoc',null,{path:'/'});else
+$.cookie('tocplus_hidetoc','1',{expires:30,path:'/'});}
+$('ul.toc_list').hide('fast');$('#toc_container').addClass('contracted').shrinkTOCWidth();break;case $('<div/>').html(tocplus.visibility_show).text():default:$(this).html(tocplus.visibility_hide);if($.cookie){if(invert)
+$.cookie('tocplus_hidetoc','1',{expires:30,path:'/'});else
+$.cookie('tocplus_hidetoc',null,{path:'/'});}
+$('#toc_container').css('width',tocplus.width).removeClass('contracted');$('ul.toc_list').show('fast');}});}}}); \ No newline at end of file
diff --git a/plugins/table-of-contents-plus/images/black.png b/plugins/table-of-contents-plus/images/black.png
new file mode 100644
index 00000000..54a3e885
--- /dev/null
+++ b/plugins/table-of-contents-plus/images/black.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/images/blue.png b/plugins/table-of-contents-plus/images/blue.png
new file mode 100644
index 00000000..9bdf71e7
--- /dev/null
+++ b/plugins/table-of-contents-plus/images/blue.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/images/colour-wheel.png b/plugins/table-of-contents-plus/images/colour-wheel.png
new file mode 100644
index 00000000..d5318589
--- /dev/null
+++ b/plugins/table-of-contents-plus/images/colour-wheel.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/images/custom.png b/plugins/table-of-contents-plus/images/custom.png
new file mode 100644
index 00000000..d1ae1254
--- /dev/null
+++ b/plugins/table-of-contents-plus/images/custom.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/images/grey.png b/plugins/table-of-contents-plus/images/grey.png
new file mode 100644
index 00000000..e1fe5e81
--- /dev/null
+++ b/plugins/table-of-contents-plus/images/grey.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/images/transparent.png b/plugins/table-of-contents-plus/images/transparent.png
new file mode 100644
index 00000000..3b51d5a4
--- /dev/null
+++ b/plugins/table-of-contents-plus/images/transparent.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/images/white.png b/plugins/table-of-contents-plus/images/white.png
new file mode 100644
index 00000000..11cafeaa
--- /dev/null
+++ b/plugins/table-of-contents-plus/images/white.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/languages/toc+-pl_PL.mo b/plugins/table-of-contents-plus/languages/toc+-pl_PL.mo
new file mode 100755
index 00000000..e8bc2e69
--- /dev/null
+++ b/plugins/table-of-contents-plus/languages/toc+-pl_PL.mo
Binary files differ
diff --git a/plugins/table-of-contents-plus/languages/toc+-pl_PL.po b/plugins/table-of-contents-plus/languages/toc+-pl_PL.po
new file mode 100755
index 00000000..0a8de279
--- /dev/null
+++ b/plugins/table-of-contents-plus/languages/toc+-pl_PL.po
@@ -0,0 +1,902 @@
+# Copyright (C) 2013
+# This file is distributed under the same license as the package.
+msgid ""
+msgstr ""
+"Project-Id-Version: toc+-pl_PL\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/table-of-contents-plus\n"
+"POT-Creation-Date: 2013-03-21 21:24+0100\n"
+"PO-Revision-Date: 2013-03-21 21:24+0100\n"
+"Last-Translator: Jakub Strawa <jakub.strawa@gmail.com>\n"
+"Language-Team: Jakub Strawa <jakub.strawa@gmail.com>\n"
+"Language: PL\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+"X-Generator: Poedit 1.5.5\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-KeywordsList: __;_e;_n:1,2;_n_noop:1,2;_nx_noop:1,2;_nx:1,2\n"
+"X-Poedit-Basepath: .\n"
+"X-Poedit-SearchPath-0: ..\n"
+
+#: ../toc.php:175
+msgid "Settings"
+msgstr "Ustawienia"
+
+#: ../toc.php:424 ../toc.php:425
+msgid "TOC"
+msgstr "TOC"
+
+#: ../toc.php:575
+msgid "Options saved."
+msgstr "Opcje zapisane."
+
+#: ../toc.php:577
+msgid "Save failed."
+msgstr "Zapisywanie nie powiodło się."
+
+#: ../toc.php:589
+msgid "Main Options"
+msgstr "Główne opcje"
+
+#: ../toc.php:590
+msgid "Sitemap"
+msgstr "Mapa strony"
+
+#: ../toc.php:591
+msgid "Help"
+msgstr "Pomoc"
+
+#: ../toc.php:599
+msgid "Position"
+msgstr "Pozycja"
+
+#: ../toc.php:602
+msgid "Before first heading (default)"
+msgstr "Przed pierwszym nagłówkiem(domyślnie)"
+
+#: ../toc.php:603
+msgid "After first heading"
+msgstr "Po pierwszym nagłówku"
+
+#: ../toc.php:604
+msgid "Top"
+msgstr "Górny"
+
+#: ../toc.php:605
+msgid "Bottom"
+msgstr "Dolny"
+
+#: ../toc.php:610
+msgid "Show when"
+msgstr "Pokaż po"
+
+#: ../toc.php:622
+msgid "or more headings are present"
+msgstr "lub występuje więcej nagłówków"
+
+#: ../toc.php:626
+msgid "Auto insert for the following content types"
+msgstr "Automatyczne wstawianie dla następujących rodzajów treści"
+
+#: ../toc.php:641
+msgid "Heading text"
+msgstr "Nagłówek tekstowy"
+
+#: ../toc.php:643
+msgid "Show title on top of the table of contents"
+msgstr "Pokaż tytuł nad tabelą z zawartością"
+
+#: ../toc.php:646
+msgid "Eg: Contents, Table of Contents, Page Contents"
+msgstr "Np.: treści, spisu treści, zawartości strony"
+
+#: ../toc.php:648
+msgid "Allow the user to toggle the visibility of the table of contents"
+msgstr "Pozwalają użytkownikowi przełączać widoczność tabeli ze spisem treści"
+
+#: ../toc.php:653
+msgid "Show text"
+msgstr "Pokaż tekst"
+
+#: ../toc.php:657
+msgid "Eg: show"
+msgstr "Np.: pokaż"
+
+#: ../toc.php:660
+msgid "Hide text"
+msgstr "Schowaj tekst"
+
+#: ../toc.php:664
+msgid "Eg: hide"
+msgstr "Np.: schowaj"
+
+#: ../toc.php:668
+msgid "Hide the table of contents initially"
+msgstr "Na początku ukryj spis treści"
+
+#: ../toc.php:674
+msgid "Show hierarchy"
+msgstr "Pokaż hierarchię"
+
+#: ../toc.php:678
+msgid "Number list items"
+msgstr "Liczba elementów listy"
+
+#: ../toc.php:682
+msgid "Enable smooth scroll effect"
+msgstr "Włącz efekt płynnego przewijania"
+
+#: ../toc.php:683
+msgid "Scroll rather than jump to the anchor link"
+msgstr "Raczej przewijać niż przejść do linku odnośnika"
+
+#: ../toc.php:688
+msgid "Appearance"
+msgstr "Wygląd"
+
+#: ../toc.php:692
+msgid "Width"
+msgstr "Szerokość"
+
+#: ../toc.php:695
+msgid "Fixed width"
+msgstr "Stałą szerokość"
+
+#: ../toc.php:706
+msgid "Relative"
+msgstr "Względny"
+
+#: ../toc.php:707
+msgid "Auto (default)"
+msgstr "Automatyczny(domyślny)"
+
+#: ../toc.php:717
+msgid "Other"
+msgstr "Inne"
+
+#: ../toc.php:718
+msgid "User defined"
+msgstr "Zdefiniowane przez użytkownika"
+
+#: ../toc.php:724
+#, php-format
+msgid "Please enter a number and %s select its units, eg: 100px, 10em"
+msgstr "Proszę wpisać numer i %s wybierz swoje jednostki, np.: 100px, 10em"
+
+#: ../toc.php:735
+msgid "Wrapping"
+msgstr "Zawijanie"
+
+#: ../toc.php:738
+msgid "None (default)"
+msgstr "Brak (ustawienie domyślne)"
+
+#: ../toc.php:739
+msgid "Left"
+msgstr "Lewa"
+
+#: ../toc.php:740
+msgid "Right"
+msgstr "Prawa"
+
+#: ../toc.php:745
+msgid "Font size"
+msgstr "Rozmiar czcionki"
+
+#: ../toc.php:758
+msgid "Presentation"
+msgstr "Przedstawienie"
+
+#: ../toc.php:761
+msgid "Grey (default)"
+msgstr "Szary (domyśnie)"
+
+#: ../toc.php:766
+msgid "Light blue"
+msgstr "Jasno niebieski"
+
+#: ../toc.php:771
+msgid "White"
+msgstr "Biały"
+
+#: ../toc.php:776
+msgid "Black"
+msgstr "Czarny"
+
+#: ../toc.php:781
+msgid "Transparent"
+msgstr "Przejrzysty"
+
+#: ../toc.php:786
+msgid "Custom"
+msgstr "Zwykły"
+
+#: ../toc.php:796
+msgid "Background"
+msgstr "Tło"
+
+#: ../toc.php:800
+msgid "Border"
+msgstr "Obramowanie"
+
+#: ../toc.php:804 ../toc.php:1702
+msgid "Title"
+msgstr "tytuł"
+
+#: ../toc.php:808
+msgid "Links"
+msgstr "Linki"
+
+#: ../toc.php:812
+msgid "Links (hover)"
+msgstr "Linki (aktywowane)"
+
+#: ../toc.php:816
+msgid "Links (visited)"
+msgstr "Linki (odwiedzone)"
+
+#: ../toc.php:823
+#, php-format
+msgid "Leaving the value as %s will inherit your theme's styles"
+msgstr "Pozostawienie wartość jako %s dziedziczą swój temat w stylu"
+
+#: ../toc.php:830
+msgid "Advanced"
+msgstr "Zaawansowane"
+
+#: ../toc.php:830 ../toc.php:967 ../toc.php:1083
+msgid "show"
+msgstr "Pokaż"
+
+#: ../toc.php:832
+msgid "Power options"
+msgstr "Opcje wydajności"
+
+#: ../toc.php:836
+msgid "Lowercase"
+msgstr "Małe litery"
+
+#: ../toc.php:837
+msgid "Ensure anchors are in lowercase"
+msgstr "Zapewnić małymi literami odniesienia"
+
+#: ../toc.php:840
+msgid "Hyphenate"
+msgstr "Dzielenie wyrazów"
+
+#: ../toc.php:841
+msgid "Use - rather than _ in anchors"
+msgstr "Użyj - zamiast _ w zakotwiczeniach"
+
+#: ../toc.php:844
+msgid "Include homepage"
+msgstr "Uwzględnij stronę główną"
+
+#: ../toc.php:845
+msgid "Show the table of contents for qualifying items on the homepage"
+msgstr "Pokaż spis treści do zakwalifikowania elementów na stronie głównej"
+
+#: ../toc.php:848
+msgid "Exclude CSS file"
+msgstr "Wyklucz plik CSS"
+
+#: ../toc.php:849
+msgid ""
+"Prevent the loading of this plugin's CSS styles. When selected, the "
+"appearance options from above will also be ignored."
+msgstr ""
+"Zapobiegaj ładowaniu stylów CSS tej wtyczki. Po wybraniu opcji wygląd od "
+"góry będą również ignorowane."
+
+#: ../toc.php:852
+msgid "Preserve theme bullets"
+msgstr "Zachowaj przyciski motywu"
+
+#: ../toc.php:853
+msgid ""
+"If your theme includes background images for unordered list elements, enable "
+"this to support them"
+msgstr ""
+"Jeśli Twój motywu zawiera obrazy tła dla nieuporządkowanych elementów listy, "
+"umożliwia to ich wsparcie."
+
+#: ../toc.php:856
+msgid "Heading levels"
+msgstr "Poziomu nagłówków"
+
+#: ../toc.php:858
+msgid ""
+"Include the following heading levels. Deselecting a heading will exclude it."
+msgstr ""
+"Obejmuje następujące poziomy nagłówków. Odznaczenie nagłówka będzie go "
+"wykluczać."
+
+#: ../toc.php:864
+msgid "heading "
+msgstr "nagłówek"
+
+#: ../toc.php:870
+msgid "Exclude headings"
+msgstr "Wyklucz nagłówki"
+
+#: ../toc.php:873
+msgid ""
+"Specify headings to be excluded from appearing in the table of contents. "
+"Separate multiple headings with a pipe <code>|</code>. Use an asterisk "
+"<code>*</code> as a wildcard to match other text. Note that this is not "
+"case sensitive. Some examples:"
+msgstr ""
+"Określone pozycje mają być wyłączone z pojawiających się w spisie treści. "
+"Poszczególne pozycje przedziel kreską <code> | </ code>. Użyj gwiazdki "
+"<code> * </ code> jako wieloznaczny pasujące do innego tekstu. Zauważ, że to "
+"nie rozróżniana wielkości liter. Oto kilka przykładów:"
+
+#: ../toc.php:875
+msgid "<code>Fruit*</code> ignore headings starting with \"Fruit\""
+msgstr "<code> Owoc * </code> ignoruj nagłówki zaczynające się od \"Owoce\""
+
+#: ../toc.php:876
+msgid ""
+"<code>*Fruit Diet*</code> ignore headings with \"Fruit Diet\" somewhere in "
+"the heading"
+msgstr ""
+"<code>*Dieta owocowa*</code> ignoruj nagłówki z \"Fruit Diet\" gdzieś w ich "
+"treści"
+
+#: ../toc.php:877
+msgid ""
+"<code>Apple Tree|Oranges|Yellow Bananas</code> ignore headings that are "
+"exactly \"Apple Tree\", \"Oranges\" or \"Yellow Bananas\""
+msgstr ""
+"<code> Jabłoń | Pomarańcze | Żółte banany </code> ignoruj nagłówki, które "
+"przmią dokładnie \"Jabłoń\", \"Pomarańcze\" lub \"Żółte banany\""
+
+#: ../toc.php:882
+msgid "Smooth scroll top offset"
+msgstr "Gładkie przewijania najwyższej punktu"
+
+#: ../toc.php:885
+msgid ""
+"If you have a consistent menu across the top of your site, you can adjust "
+"the top offset to stop the headings from appearing underneath the top menu. "
+"A setting of 30 accommodates the WordPress admin bar. This setting appears "
+"after you have enabled smooth scrolling from above."
+msgstr ""
+"Jeśli masz stałe menu w górnej części witryny, można wyregulować górne "
+"punkty zatrzymując wyświetlanie nagłówków pod górnym menu.Ustawienie 30 "
+"miejsce na paseku administratora WordPress. To ustawienie pojawia się po "
+"włączeniu płynnego przewijania z góry."
+
+#: ../toc.php:889
+msgid "Restrict path"
+msgstr "Ogranicz ścieżkę"
+
+#: ../toc.php:892
+msgid ""
+"Restrict generation of the table of contents to pages that match the "
+"required path. This path is from the root of your site and always begins "
+"with a forward slash."
+msgstr ""
+"Ograniczyć generowanie spisu treści do stron z pasującą wymaganą ścieżką. Ta "
+"ścieżka jest zakorzeniona z witryny i zawsze rozpoczyna się ukośnikiem."
+
+#: ../toc.php:895
+msgid "Eg: /wiki/, /corporate/annual-reports/"
+msgstr "Np: /wiki/, /zespołowy/roczny-raport/"
+
+#: ../toc.php:899
+msgid "Default anchor prefix"
+msgstr "Domyślny prefix zakotwiczenia"
+
+#: ../toc.php:902
+msgid ""
+"Anchor targets are restricted to alphanumeric characters as per HTML "
+"specification (see readme for more detail). The default anchor prefix will "
+"be used when no characters qualify. When left blank, a number will be used "
+"instead."
+msgstr ""
+"Cele zakotwiczenia są ograniczone do znaków alfanumerycznych zgodnie ze "
+"specyfikacją HTML (patrz README dla uzyskania szczegółów). Prefix kotwicy "
+"domyślnie zostanie użyta, gdy nie ma żadnych zakwalifikowanych znaków. Gdy "
+"puste pole, numer zostanie również użyty."
+
+#: ../toc.php:903
+msgid ""
+"This option normally applies to content written in character sets other than "
+"ASCII."
+msgstr ""
+"Opcję tą stosuje się zwykle do treści napisanych w zestawie znaków innych "
+"niż ASCII."
+
+#: ../toc.php:906
+msgid "Eg: i, toc_index, index, _"
+msgstr "Np: i, toc_index, index, _"
+
+#: ../toc.php:914
+msgid "Usage"
+msgstr "Postępuj"
+
+#: ../toc.php:915
+#, php-format
+msgid ""
+"If you would like to fully customise the position of the table of contents, "
+"you can use the %s shortcode by placing it at the desired position of your "
+"post, page or custom post type. This method allows you to generate the table "
+"of contents despite having auto insertion disabled for its content type. "
+"Please visit the help tab for further information about this shortcode."
+msgstr ""
+"Jeśli chcesz, aby w pełni dostosować pozycję spisu treści, można użyć %s "
+"shortcode poprzez umieszczenie go w żądanym położeniu wpisu, na stronie lub "
+"niestandardowego typie wpisu. Metoda ta pozwala na generowanie spisu treści "
+"mimo iż wprowadzenie jej auto wstawianie jest wyłączone dla typu zawartości. "
+"Zapraszamy do odwiedzenia zakładki pomocy dla dalszych informacji na temat "
+"shortcode."
+
+#: ../toc.php:923
+#, php-format
+msgid ""
+"At its simplest, placing %s into a page will automatically create a sitemap "
+"of all pages and categories. This also works in a text widget."
+msgstr ""
+"Najprostszej, wprowadzanie %s na stronę automatycznie tworzy mapę strony "
+"wszystkich stron i kategorii. Działa to również w widgecie tekstowym."
+
+#: ../toc.php:927
+msgid "Show page listing"
+msgstr "v"
+
+#: ../toc.php:931
+msgid "Show category listing"
+msgstr "Pokaż listę kategorii"
+
+#: ../toc.php:935
+msgid "Heading type"
+msgstr "Typ nagłówka"
+
+#: ../toc.php:938
+msgid "Use"
+msgstr "Użyj"
+
+#: ../toc.php:949
+msgid "to print out the titles"
+msgstr "do wywołania tytułów"
+
+#: ../toc.php:953
+msgid "Pages label"
+msgstr "Etykieta stron"
+
+#: ../toc.php:955
+msgid "Eg: Pages, Page List"
+msgstr "Np.: Strony, Lista stron"
+
+#: ../toc.php:959
+msgid "Categories label"
+msgstr "Etykieta kategorii"
+
+#: ../toc.php:961
+msgid "Eg: Categories, Category List"
+msgstr "Np.: Kategoria, lista kategorii"
+
+#: ../toc.php:967
+msgid "Advanced usage"
+msgstr "Opcje zaawansowane"
+
+#: ../toc.php:969
+#, php-format
+msgid ""
+"lets you print out a listing of only pages. Similarly %s can be used to "
+"print out a category listing. They both can accept a number of attributes so "
+"visit the help tab for more information."
+msgstr ""
+"pozwala prezentować tylko listę stron. Podobnie %s można prezentować listę "
+"kategorii. Mogą przyjąć różne atrybuty więc odwiedź zakładkę pomocy, aby "
+"uzyskać więcej informacji."
+
+#: ../toc.php:970
+msgid "Examples"
+msgstr "Przykłady"
+
+#: ../toc.php:972
+msgid "hides the heading from a category listing"
+msgstr "ukrywa nagłówki z listy kategorii"
+
+#: ../toc.php:973
+#, php-format
+msgid ""
+"Uses h6 to display %s on a page listing excluding pages with IDs 1 and 15"
+msgstr "Używaj h6 do wyświetlania %s na liście stron z ID 1 i 15"
+
+#: ../toc.php:981
+msgid "Where's my table of contents?"
+msgstr "Gdzie jest mój spis treści?"
+
+#: ../toc.php:982
+msgid ""
+"If you're reading this, then chances are you have successfully installed and "
+"enabled the plugin and you're just wondering why the index isn't appearing "
+"right? Try the following:"
+msgstr ""
+"Jeśli to czytasz, to są szanse że pomyślnie zainstalowana i włączona została "
+"wtyczka i jesteś po prostu zastanawiasz się, dlaczego indeks nie jest "
+"wyświetlana w porządku? Spróbuj wykonać następujące czynności:"
+
+#: ../toc.php:984
+msgid ""
+"In most cases, the post, page or custom post type has less than the minimum "
+"number of headings. By default, this is set to four so make sure you have at "
+"least four headings within your content. If you want to change this value, "
+"you can find it under 'Main Options' &gt; 'Show when'."
+msgstr ""
+"W większości przypadków, po typu post, stron lub niestandardowych ma mniej "
+"niż minimalnej liczby pozycji. Domyślnie ustawiony jest na cztery, więc "
+"upewnij się, że co najmniej cztery pozycje w obrębie treści. Jeśli chcesz "
+"zmienić tę wartość, można je znaleźć w \"Głównych Opcje\"> \"Pokaż kiedy\"."
+
+#: ../toc.php:985
+msgid ""
+"Is auto insertion enabled for your content type? By default, only pages are "
+"enabled."
+msgstr ""
+"Czy automatyczne wstawianie jest włączone dla danego typu zawartości? "
+"Domyślnie tylko dla stron są aktywne."
+
+#: ../toc.php:986
+msgid ""
+"Have you got <code>[no_toc]</code> somewhere within the content? This will "
+"disable the index for the current post, page or custom post type."
+msgstr ""
+"Masz <code> [no_toc] </ code> gdzieś w treści? Spowoduje to wyłączenie "
+"indeksu w bieżącym wątku, stronie lub niestandardowym typie wpisu."
+
+#: ../toc.php:987
+msgid ""
+"If you are using the TOC+ widget, check if you have the <em>\"Show the table "
+"of contents only in the sidebar\"</em> enabled as this will limit its "
+"display to only the sidebar. You can check by going into Appearance &gt; "
+"Widgets."
+msgstr ""
+"Jeśli używasz TOC + widget, sprawdź, czy <em> \"Pokaż spis treści tylko na "
+"pasku bocznym \" </em>masz włączone tylko do wyświetlania na pasku bocznym. "
+"Można sprawdzić, przechodząc do widżetów> Wygląd &gt; Widgety."
+
+#: ../toc.php:988
+msgid ""
+"You may have restricted generation to a URL path match. The setting can be "
+"found in the advanced section under Main Options."
+msgstr ""
+"Może być ograniczony generowanie ścieżki URL. Ustawienia można znaleźć w "
+"sekcji Zaawansowane pod Główne opcje."
+
+#: ../toc.php:991
+msgid "How do I stop the table of contents from appearing on a single page?"
+msgstr "Jak zatrzymać pojawianie się spisu treścisię na jednej stronie?"
+
+#: ../toc.php:992
+msgid ""
+"Place the following <code>[no_toc]</code> anywhere on the page to suppress "
+"the table of contents. This is known as a shortcode and works for posts, "
+"pages and custom post types that make use of the_content()"
+msgstr ""
+"Umieścić <code>[no_toc]</ code> w dowolnym miejscu na stronie. Jest to znane "
+"jako shortcode i pracuje dla postów, stron oraz niestandardowych typów "
+"wpisów wykorzystujących the_content ()"
+
+#: ../toc.php:994
+msgid ""
+"I've set wrapping to left or right but the headings don't wrap around the "
+"table of contents"
+msgstr ""
+"Jeśli ustawione jest owijanie w lewo lub w prawo, ale nagłówki nie otaczają "
+"spisu treści"
+
+#: ../toc.php:995
+msgid ""
+"This normally occurs when there is a CSS clear directive in or around the "
+"heading originating from the theme (Twenty Eleven and Twenty Twelve are two "
+"themes which do this). This directive tells the user agent to reset the "
+"previous wrapping specifications."
+msgstr ""
+"Zwykle występują w przypadku CSS jasne dyrektywy wokół pozycji pochodzącej z "
+"tematu (Twenty Eleven i Twenty Twelve to dwa tematy, które to zrobią). Ta "
+"dyrektywa mówi, aby przywrócić poprzednie specyfikacje owijania."
+
+#: ../toc.php:996
+#, php-format
+msgid ""
+"You can adjust your theme's CSS or try moving the table of contents position "
+"to the top of the page. If you didn't build your theme, I'd highly suggest "
+"you try the %s if you wish to make CSS changes."
+msgstr ""
+"Można dostosować do motywu przy użyciu CSS lub spróbuj przenieść spis treści "
+"na górę strony. Jeśli nie budowałeś swójego motywu, proponuję wypróbować %s, "
+"jeśli chcesz dokonać zmian CSS."
+
+#: ../toc.php:999
+msgid ""
+"Try adding the following CSS to allow the wrapping to occur around the table "
+"of contents:"
+msgstr ""
+"Spróbuj dodać następujący kod CSS, aby umożliwić owijanie występuje wokół "
+"spisu treści:"
+
+#: ../toc.php:1004
+msgid "How do I include the name of the page in the table of contents title?"
+msgstr "Jak dołączyć nazwę stron w spisie treści tytuł?"
+
+#: ../toc.php:1005
+msgid ""
+"As the title of the page changes depending on the page you're viewing, you "
+"can use the following special variable to automatically insert the title of "
+"the page into the table of contents heading:"
+msgstr ""
+"Zmiana tytułu strony, w zależności od strony, którą przeglądasz, możesz użyć "
+"następującej specjalnej zmiennej, aby automatycznie wstawić tytuł strony w "
+"spisie treści w pozycji:"
+
+#: ../toc.php:1007
+msgid "You can use it as is or place text either side of the variable."
+msgstr "Można używać go jaki jest lub umieścić tekstw miejsce zmiennej."
+
+#: ../toc.php:1008
+msgid ""
+"As an example: if your page is named <em>Great Expectations</em> and your "
+"table of contents title is set to <em>Contents for %PAGE_NAME%</em>, the "
+"final title would read <em>Contents for Great Expectations</em>"
+msgstr ""
+"Na przykład: jeśli strona jest nazwana <em>Great Expectations</em>, a spis "
+"treści tytuł jest ustawiony <em>Contents for %PAGE_NAME%</em>, ostateczny "
+"tytuł brzmiałby <em>Contents for Great Expectations</em>"
+
+#: ../toc.php:1010
+msgid "The sitemap uses a strange font dissimilar to the rest of the site"
+msgstr "Mapa wykorzystuje dziwne czcionki niepodobne do reszty strony"
+
+#: ../toc.php:1011
+msgid ""
+"No extra styles are created for the sitemap, instead it inherits any styles "
+"you used when adding the shortcode. If you copy and pasted, you probably "
+"also copied the 'code' tags surrounding it so remove them if this is the "
+"case."
+msgstr ""
+"Nie są tworzone dodatkowe style dla sitemap, zamiast tego dziedziczy "
+"wszelkie style używane podczas dodawania shortcode. W przypadku kopiowania i "
+"wklejania, prawdopodobnie również skopiowane \"CODE\" znaczniki otaczające "
+"go zostały usunięte w tym przypadku."
+
+#: ../toc.php:1012
+msgid ""
+"In most cases, try to have the shortcode on its own line with nothing before "
+"or after the square brackets."
+msgstr ""
+"W większości przypadków, spróbuj mieć shortcode we własnej linii z niczym "
+"przed lub po nawiasach kwadratowych."
+
+#: ../toc.php:1014
+msgid "What were those shortcodes and attributes again?"
+msgstr "Gdzie są te shortcodes i atrybuty?"
+
+#: ../toc.php:1015
+msgid ""
+"When attributes are left out for the shortcodes below, they will fallback to "
+"the settings you defined under Settings &gt; TOC+."
+msgstr ""
+"Jeśli atrybuty są opuszczone poniżej shortcode, będą wyświetlane z "
+"ustawieniami określonymi w Ustawienia &gt; TOC+."
+
+#: ../toc.php:1019
+msgid "Shortcode"
+msgstr "Shortcode"
+
+#: ../toc.php:1020
+msgid "Description"
+msgstr "Opis"
+
+#: ../toc.php:1021
+msgid "Attributes"
+msgstr "Atrybuty"
+
+#: ../toc.php:1027
+msgid ""
+"Lets you generate the table of contents at the preferred position. Also "
+"useful for sites that only require a TOC on a small handful of pages."
+msgstr ""
+"Umożliwia generowanie spisu treści w preferowanej pozycji. Przydatna także "
+"do miejsc, które wymagają tylko spis treści na garstce stron."
+
+#: ../toc.php:1030
+msgid "text, title of the table of contents"
+msgstr "tekst, tytuł spisu treści"
+
+#: ../toc.php:1031
+msgid "true/false, shows or hides the title"
+msgstr "prawda/fałsz, pokaż lub ukryj tytuł"
+
+#: ../toc.php:1032
+msgid "text, either \"left\" or \"right\""
+msgstr "tekst, albo \"left\" lub \"prawo\""
+
+#: ../toc.php:1033
+msgid ""
+"numbers, this lets you select the heading levels you want included in the "
+"table of contents. Separate multiple levels with a comma. Example: include "
+"headings 3, 4 and 5 but exclude the others with"
+msgstr ""
+"numery, to pozwala wybrać poziomy nagłówków, które chcesz uwzględnić w "
+"spisie treści. Poszczególne poziomy oddzielaj przecinkami. Przykład: m.in. "
+"dołącz nagłówki 3, 4 i 5, ale wykluczyć innych z"
+
+#: ../toc.php:1034
+msgid ""
+"text, enter headings to be excluded. Separate multiple headings with a pipe "
+"<code>|</code>. Use an asterisk <code>*</code> as a wildcard to match other "
+"text. You could also use regular expressions for more advanced matching."
+msgstr ""
+"tekst, wprowadzone nagłówki mają być wyłączone. Poszczególne pozycje oddziel "
+"kreską <code> | </ code>. Użyj gwiazdki <code> * </ code> jako symbol "
+"wieloznaczny pasujące do innego tekstu. Można także używać wyrażeń "
+"regularnych do zaawansowanego dopasowywania."
+
+#: ../toc.php:1040
+msgid ""
+"Allows you to disable the table of contents for the current post, page, or "
+"custom post type."
+msgstr ""
+"Umożliwia wyłączenie spis treści na obecnym wpisie, stronie lub "
+"niestandardowego typie wpisu."
+
+#: ../toc.php:1045
+msgid ""
+"Produces a listing of all pages and categories for your site. You can use "
+"this on any post, page or even in a text widget."
+msgstr ""
+"Tworzy listę wszystkich stron i kategorii dla Twojej witryny. Można to "
+"wykorzystać na dowolnej stron lub wpisu, nawet w widgecie tekstowym."
+
+#: ../toc.php:1050
+msgid "Lets you print out a listing of only pages."
+msgstr "Pozwala prezentować tylko listę stron"
+
+#: ../toc.php:1053
+msgid "number between 1 and 6, defines which html heading to use"
+msgstr "numery pomiędzy 1 a 6, definiują jaki nagłówke html będzie użyty"
+
+#: ../toc.php:1054
+msgid "text, title of the list"
+msgstr "tekst, tytuł listy"
+
+#: ../toc.php:1055
+msgid "true/false, shows or hides the list heading"
+msgstr "prawda/fałsz, pokaż lub ukryj tytuł"
+
+#: ../toc.php:1056
+msgid "IDs of the pages or categories you wish to exclude"
+msgstr "ID stron i kategorii, które wykluczasz"
+
+#: ../toc.php:1057
+msgid ""
+"ID of the page or category you wish to exclude including its all descendants"
+msgstr ""
+"ID strony lub kategorii, które chcesz wykluczyć w tym jej wszystkich potomków"
+
+#: ../toc.php:1063
+msgid "Similar to [sitemap_pages] but for categories."
+msgstr "Podobne do [sitemap_pages] ale dla kategorii."
+
+#: ../toc.php:1068
+msgid ""
+"This lets you print out an index of all published posts on your site. By "
+"default, posts are listed in alphabetical order grouped by their first "
+"letters. There are CSS classes for each section, letter and list allowing "
+"you to customise the appearance."
+msgstr ""
+"To pozwala prezentować indeks wszystkich publikowanych postów na swojej "
+"stronie. Domyślnie wiadomości są wyświetlane w kolejności alfabetycznej "
+"zgrupowane według ich pierwszych liter. Istnieją klasy CSS dla każdej "
+"sekcji, pisma i listy, co pozwala na dostosowanie wyglądu."
+
+#: ../toc.php:1071
+msgid "text, either ASC or DESC"
+msgstr "tekst, albo ASC lub DESC"
+
+#: ../toc.php:1072
+#, php-format
+msgid ""
+"text, popular options include \"title\", \"date\", \"ID\", and \"rand\". See "
+"%1$sWP_Query%2$s for a list."
+msgstr ""
+"tekst, dołączone popularne opcje \"title\", \"date\", \"ID\" i \"rand\". "
+"Zobacz %1$sWP_Query%2$s dla listy."
+
+#: ../toc.php:1080
+msgid "I have another question..."
+msgstr "Mam inne pytanie..."
+
+#: ../toc.php:1081
+#, php-format
+msgid ""
+"Visit the %1$splugin homepage%2$s to ask your question - who knows, maybe "
+"your question has already been answered. I'd really like to hear your "
+"suggestions if you have any."
+msgstr ""
+"Odwiedź %1$splugin homepage%2$s aby zadać pytanie - kto wie, możena twoje "
+"pytanie już odpowiedziałem. Naprawdę chciałbym usłyszeć wasze propozycje, "
+"jeśli masz jakiekolwiek."
+
+#: ../toc.php:1083
+msgid "For developers"
+msgstr "Dla programistów"
+
+#: ../toc.php:1085
+msgid "How do I customise my anchors?"
+msgstr "Jak dostosować moje zakotwiczenie?"
+
+#: ../toc.php:1086
+msgid ""
+"If you're still not happy with the anchors, you can modify them to suit your "
+"needs through a custom function hooked into the <code>toc_url_anchor_target</"
+"code> filter. As an example, place the below code snippet into your "
+"functions.php file to convert all anchors to uppercase."
+msgstr ""
+"Jeśli nadal nie jesteś zadowolony z kotwic, można je modyfikować w "
+"zależności od potrzeb za pomocą niestandardowej funkcji podpięty do <code> "
+"toc_url_anchor_target </ code> filtra. Jako przykład, umieścić fragment kodu "
+"poniżej do pliku functions.php aby przekonwertować wszystkie zakotwicza na "
+"wielkie litery."
+
+#: ../toc.php:1096
+msgid ""
+"Returns a HTML formatted string of the table of contents without the "
+"surrounding UL or OL tags to allow the theme editor to supply their own ID "
+"and/or classes to the outer list."
+msgstr ""
+"Zwraca ciąg w formacie HTML spisu treści bez otaczających tagów UL lub OL, "
+"aby redaktor motywu dostarczył własny identyfikator i/lub klasy, do "
+"zewnętrznej listy."
+
+#: ../toc.php:1097
+msgid "Both parameters are optional:"
+msgstr "Oba parametry są opcjonalne:"
+
+#: ../toc.php:1101
+msgid ""
+"is the entire content with headings. If blank, will default to the current "
+"content found in $post (eg within \"the loop\")."
+msgstr ""
+"jest cała zawartość z nagłówkami. Jeśli pusta, domyślnie bieżąca treść "
+"zostanie znaleziona w $ post (np. w \"pętla \")."
+
+#: ../toc.php:1104
+msgid ""
+"is the URL to prefix the anchor with. If a string was provided, it will be "
+"used as is. If set to \"true\" then will try to obtain the permalink from "
+"the $post object."
+msgstr ""
+"jest URL z prefixem zakotwiczenia. Jeżeli ciąg będzie dostarczony, będzie "
+"stosowany bez zmian. Jeśli jest ustawiony na \"true \", a następnie spróbuje "
+"uzyskać odnośnika z $post obiektu."
+
+#: ../toc.php:1106
+msgid "These examples assume you are within \"the loop\":"
+msgstr "Te przykłady zakładają, że znajdują się w \"pętla \":"
+
+#: ../toc.php:1108
+msgid "Obtain the index for the current page"
+msgstr "uzyskaj wskaźnik dla bieżącej strony"
+
+#: ../toc.php:1111
+msgid "Create a listing of all children and their headings"
+msgstr "Utwórz listę wszystkich spokrewnionych i ich nagłówki"
+
+#: ../toc.php:1136
+msgid "Update Options"
+msgstr "Opcje uaktualnione"
+
+#: ../toc.php:1616
+msgid "Display the table of contents in the sidebar with this widget"
+msgstr "Wyświetlaj spis treści w pasku bocznym z tego widgetu"
+
+#: ../toc.php:1708
+msgid "Show the table of contents only in the sidebar"
+msgstr "Pokaż spis treści tylko na pasku bocznym"
diff --git a/plugins/table-of-contents-plus/languages/toc+-sk_SK.mo b/plugins/table-of-contents-plus/languages/toc+-sk_SK.mo
new file mode 100644
index 00000000..b0e57ca3
--- /dev/null
+++ b/plugins/table-of-contents-plus/languages/toc+-sk_SK.mo
Binary files differ
diff --git a/plugins/table-of-contents-plus/languages/toc+-sk_SK.po b/plugins/table-of-contents-plus/languages/toc+-sk_SK.po
new file mode 100644
index 00000000..c5a1a67a
--- /dev/null
+++ b/plugins/table-of-contents-plus/languages/toc+-sk_SK.po
@@ -0,0 +1,914 @@
+# Copyright (C) 2013
+# This file is distributed under the same license as the package.
+msgid ""
+msgstr ""
+"Project-Id-Version: 1303.1\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/table-of-contents-plus\n"
+"POT-Creation-Date: 2013-04-03 18:38:36+01:00\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"PO-Revision-Date: 2013-08-05 20:53+1000\n"
+"Last-Translator: \n"
+"Language-Team: Boris Gereg <qwerty@elusion.sk>\n"
+"Language: SK\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: toc.php:175
+msgid "Settings"
+msgstr "Nastavenia"
+
+#: toc.php:424 toc.php:425
+msgid "TOC"
+msgstr "TOC"
+
+#: toc.php:575
+msgid "Options saved."
+msgstr "Nastavenia sa uložili."
+
+#: toc.php:577
+msgid "Save failed."
+msgstr "Ukladanie zlyhalo."
+
+#: toc.php:589
+msgid "Main Options"
+msgstr "Hlavné nastavenia"
+
+#: toc.php:590
+msgid "Sitemap"
+msgstr "Mapa lokality"
+
+#: toc.php:591
+msgid "Help"
+msgstr "Pomoc"
+
+#: toc.php:599
+msgid "Position"
+msgstr "Umiestnenie"
+
+#: toc.php:602
+msgid "Before first heading (default)"
+msgstr "Pred prvou hlavičkou (predvolené)"
+
+#: toc.php:603
+msgid "After first heading"
+msgstr "Za prvou hlavičkou"
+
+#: toc.php:604
+msgid "Top"
+msgstr "Navrchu"
+
+#: toc.php:605
+msgid "Bottom"
+msgstr "Naspodku"
+
+#: toc.php:610
+msgid "Show when"
+msgstr "Zobraziť pre"
+
+#. translators: text follows drop down list of numbers
+#: toc.php:622
+msgid "or more headings are present"
+msgstr "alebo viac prítomných nadpisov"
+
+#: toc.php:626
+msgid "Auto insert for the following content types"
+msgstr "Automaticky vkladať pre nasledujúce typy obsahu"
+
+#. translators: this is the title of the table of contents
+#: toc.php:641
+msgid "Heading text"
+msgstr "Text nadpisu"
+
+#: toc.php:643
+msgid "Show title on top of the table of contents"
+msgstr "Zobraziť nadpis navrchu obsahu"
+
+#: toc.php:646
+msgid "Eg: Contents, Table of Contents, Page Contents"
+msgstr "Príklad: Obsah, Index alebo Obsah stránky"
+
+#: toc.php:648
+msgid "Allow the user to toggle the visibility of the table of contents"
+msgstr "Povoliť používateľovi prepínať viditeľnosť obsahu"
+
+#: toc.php:653
+msgid "Show text"
+msgstr "Text pre akciu zobraziť"
+
+#. translators: example text to display when you want to expand the table of contents
+#: toc.php:657
+msgid "Eg: show"
+msgstr "Príklad: zobraziť"
+
+#: toc.php:660
+msgid "Hide text"
+msgstr "Text pre akciu skryť"
+
+#. translators: example text to display when you want to collapse the table of contents
+#: toc.php:664
+msgid "Eg: hide"
+msgstr "Príklad: skryť"
+
+#: toc.php:668
+msgid "Hide the table of contents initially"
+msgstr "Počiatočne skryť obsah"
+
+#: toc.php:674
+msgid "Show hierarchy"
+msgstr "Zobraziť hierarchiu"
+
+#: toc.php:678
+msgid "Number list items"
+msgstr "Číslovať položky zoznamu"
+
+#: toc.php:682
+msgid "Enable smooth scroll effect"
+msgstr "Povoliť efekt plynulého rolovania"
+
+#: toc.php:683
+msgid "Scroll rather than jump to the anchor link"
+msgstr "Rolovať na odkaz s kotvou, neskákať"
+
+#: toc.php:688
+msgid "Appearance"
+msgstr "Vzhľad"
+
+#: toc.php:692
+msgid "Width"
+msgstr "Šírka"
+
+#: toc.php:695
+msgid "Fixed width"
+msgstr "Pevná šírka"
+
+#: toc.php:706
+msgid "Relative"
+msgstr "Relatívna"
+
+#: toc.php:707
+msgid "Auto (default)"
+msgstr "Automatická (predvolené)"
+
+#. translators: other width
+#: toc.php:717
+msgid "Other"
+msgstr "Iná"
+
+#: toc.php:718
+msgid "User defined"
+msgstr "Definovaná používateľom"
+
+#. translators: ignore %s as it's some HTML label tags
+#: toc.php:724
+#, php-format
+msgid "Please enter a number and %s select its units, eg: 100px, 10em"
+msgstr "Zadajte číslo a %s vyberte jednotku, napríklad 100px alebo 10em"
+
+#: toc.php:735
+msgid "Wrapping"
+msgstr "Zalamovanie"
+
+#: toc.php:738
+msgid "None (default)"
+msgstr "Žiadne (predvolené)"
+
+#: toc.php:739
+msgid "Left"
+msgstr "Vľavo"
+
+#: toc.php:740
+msgid "Right"
+msgstr "Vpravo"
+
+#: toc.php:745
+msgid "Font size"
+msgstr "Veľkosť písma"
+
+#. translators: appearance / colour / look and feel options
+#: toc.php:758
+msgid "Presentation"
+msgstr "Prezentácia"
+
+#: toc.php:761
+msgid "Grey (default)"
+msgstr "Sivá (predvolené)"
+
+#: toc.php:766
+msgid "Light blue"
+msgstr "Svetlá modrá"
+
+#: toc.php:771
+msgid "White"
+msgstr "Biela"
+
+#: toc.php:776
+msgid "Black"
+msgstr "Čierna"
+
+#: toc.php:781
+msgid "Transparent"
+msgstr "Transparentná"
+
+#: toc.php:786
+msgid "Custom"
+msgstr "Vlastná"
+
+#: toc.php:796
+msgid "Background"
+msgstr "Pozadie"
+
+#: toc.php:800
+msgid "Border"
+msgstr "Rámik"
+
+#: toc.php:804 toc.php:1704
+msgid "Title"
+msgstr "Nadpis"
+
+#: toc.php:808
+msgid "Links"
+msgstr "Odkazy"
+
+#: toc.php:812
+msgid "Links (hover)"
+msgstr "Odkazy (pri umiestnení kurzora)"
+
+#: toc.php:816
+msgid "Links (visited)"
+msgstr "Odkazy (navštívené)"
+
+#: toc.php:823
+#, php-format
+msgid "Leaving the value as %s will inherit your theme's styles"
+msgstr "Ak ponecháte hodnotu %s, použijú sa štýly vašej témy"
+
+#: toc.php:830
+msgid "Advanced"
+msgstr "Rozšírené"
+
+#: toc.php:830 toc.php:967 toc.php:1083
+msgid "show"
+msgstr "zobraziť"
+
+#: toc.php:832
+msgid "Power options"
+msgstr "Nastavenia fungovania"
+
+#: toc.php:836
+msgid "Lowercase"
+msgstr "Malé písmená"
+
+#: toc.php:837
+msgid "Ensure anchors are in lowercase"
+msgstr "Zaručiť, aby kotvy používali malé písmená"
+
+#: toc.php:840
+msgid "Hyphenate"
+msgstr "Spojiť spojovníkom"
+
+#: toc.php:841
+msgid "Use - rather than _ in anchors"
+msgstr "V kotvách používať znak - namiesto znaku _"
+
+#: toc.php:844
+msgid "Include homepage"
+msgstr "Zahrnúť domovskú stránku"
+
+#: toc.php:845
+msgid "Show the table of contents for qualifying items on the homepage"
+msgstr "Zobraziť obsah pre vyhovujúce položky na domovskej stránke"
+
+#: toc.php:848
+msgid "Exclude CSS file"
+msgstr "Vylúčiť súbor CSS"
+
+#: toc.php:849
+msgid ""
+"Prevent the loading of this plugin's CSS styles. When selected, the "
+"appearance options from above will also be ignored."
+msgstr ""
+"Zabrániť načítaniu štýlov CSS tohto modulu. Ak to začiarknete, budú sa tiež "
+"ignorovať všetky nastavenia vzhľadu hore."
+
+#: toc.php:852
+msgid "Preserve theme bullets"
+msgstr "Zachovať odrážky témy"
+
+#: toc.php:853
+msgid ""
+"If your theme includes background images for unordered list elements, enable "
+"this to support them"
+msgstr ""
+"Ak vaša téma zahŕňa obrázky pozadia pre elementy neusporiadaného zoznamu, "
+"začiarknutím povolíte ich podporu"
+
+#: toc.php:856
+msgid "Heading levels"
+msgstr "Úrovne nadpisu"
+
+#: toc.php:858
+msgid ""
+"Include the following heading levels. Deselecting a heading will exclude it."
+msgstr ""
+"Zahrnúť nasledujúce úrovne nadpisu. Ak zrušíte výber nadpisu, vylúčite ho."
+
+#: toc.php:864
+msgid "heading "
+msgstr "nadpis "
+
+#: toc.php:870
+msgid "Exclude headings"
+msgstr "Vylúčiť nadpisy"
+
+#: toc.php:873
+msgid ""
+"Specify headings to be excluded from appearing in the table of contents. "
+"Separate multiple headings with a pipe <code>|</code>. Use an asterisk "
+"<code>*</code> as a wildcard to match other text. Note that this is not "
+"case sensitive. Some examples:"
+msgstr ""
+"Zadajte nadpisy, ktoré sa nezobrazia v obsahu. Viacero nadpisov oddeľte "
+"znakom rúry (<code>|</code>). Môžete použiť hviezdičku (<code>*</code>) ako "
+"zástupný znak na označenie iného textu. Upozorňujeme, že sa nerozlišuje "
+"veľkosť písmen. Niekoľko príkladov:"
+
+#: toc.php:875
+msgid "<code>Fruit*</code> ignore headings starting with \"Fruit\""
+msgstr "<code>Ovoc*</code> ignoruje nadpisy, ktoré začínajú reťazcom \"ovoc\""
+
+#: toc.php:876
+msgid ""
+"<code>*Fruit Diet*</code> ignore headings with \"Fruit Diet\" somewhere in "
+"the heading"
+msgstr ""
+"<code>*Ovocná diét*</code> ignoruje nadpisy, ktoré v nadpise obsahujú "
+"reťazec \"ovocná diét\""
+
+#: toc.php:877
+msgid ""
+"<code>Apple Tree|Oranges|Yellow Bananas</code> ignore headings that are "
+"exactly \"Apple Tree\", \"Oranges\" or \"Yellow Bananas\""
+msgstr ""
+"<code>Jabloň|Pomaranče|Žlté banány</code> ignoruje nadpisy, ktoré sa presne "
+"zhodujú s reťazcami \"jabloň\", \"pomaranče\" alebo \"žlté banány\""
+
+#: toc.php:882
+msgid "Smooth scroll top offset"
+msgstr "Posunutie plynulého rolovania zhora"
+
+#: toc.php:885
+msgid ""
+"If you have a consistent menu across the top of your site, you can adjust "
+"the top offset to stop the headings from appearing underneath the top menu. "
+"A setting of 30 accommodates the WordPress admin bar. This setting appears "
+"after you have enabled smooth scrolling from above."
+msgstr ""
+"Ak máte v hornej časti vašej lokality konzistentnú ponuku, môžete upraviť "
+"posunutie zhora, aby sa nadpisy nezobrazovali pod hornou ponukou. Nastavenie "
+"hodnoty 30 vyhovuje administrátorskému panelu WordPress. Toto nastavenie sa "
+"zobrazí, keď povolíte plynulé rolovanie hore."
+
+#: toc.php:889
+msgid "Restrict path"
+msgstr "Obmedziť cestu"
+
+#: toc.php:892
+msgid ""
+"Restrict generation of the table of contents to pages that match the "
+"required path. This path is from the root of your site and always begins "
+"with a forward slash."
+msgstr ""
+"Obmedzte generovanie obsahu na stránky, ktoré vyhovujú vyžadovanej ceste. "
+"Toto je cesta od koreňového adresára vašej lokality a vždy začína znakom "
+"lomka."
+
+#. translators: example URL path restriction
+#: toc.php:895
+msgid "Eg: /wiki/, /corporate/annual-reports/"
+msgstr "Príklad: /wiki/, /corporate/annual-reports/"
+
+#: toc.php:899
+msgid "Default anchor prefix"
+msgstr "Predvolená predpona kotvy"
+
+#: toc.php:902
+msgid ""
+"Anchor targets are restricted to alphanumeric characters as per HTML "
+"specification (see readme for more detail). The default anchor prefix will "
+"be used when no characters qualify. When left blank, a number will be used "
+"instead."
+msgstr ""
+"Ciele kotvy sú špecifikáciou HTML obmedzené na alfanumerické znaky (pozrite "
+"si súbor readme, kde nájdete viac podrobností). Ak nevyhovujú žiadne znaky, "
+"použije sa predvolená predpona kotvy. Ak necháte hodnotu prázdnu, použije sa "
+"číslo."
+
+#: toc.php:903
+msgid ""
+"This option normally applies to content written in character sets other than "
+"ASCII."
+msgstr ""
+"Toto nastavenie sa zvyčajne používa pre obsah napísaný v sadách znakov iných "
+"ako ASCII."
+
+#. translators: example anchor prefixes when no ascii characters match
+#: toc.php:906
+msgid "Eg: i, toc_index, index, _"
+msgstr "Príklad: i, toc_index, index, _"
+
+#. translators: advanced usage
+#: toc.php:914
+msgid "Usage"
+msgstr "Použitie"
+
+#: toc.php:915
+#, php-format
+msgid ""
+"If you would like to fully customise the position of the table of contents, "
+"you can use the %s shortcode by placing it at the desired position of your "
+"post, page or custom post type. This method allows you to generate the table "
+"of contents despite having auto insertion disabled for its content type. "
+"Please visit the help tab for further information about this shortcode."
+msgstr ""
+"Ak chcete úplne prispôsobiť umiestnenie obsahu, môžete použiť krátky kód %s "
+"a umiestniť ho na požadované miesto vo vašom článku, na stránke alebo vo "
+"vlastnom type článku. Táto metóda vám umožňuje vygenerovať obsah aj v "
+"prípade, keď je zakázané automatické vkladanie pre daný typ obsahu. Pozrite "
+"si záložku s pomocou, kde nájdete viac informácií o tomto krátkom kóde."
+
+#: toc.php:923
+#, php-format
+msgid ""
+"At its simplest, placing %s into a page will automatically create a sitemap "
+"of all pages and categories. This also works in a text widget."
+msgstr ""
+"Ak umiestnite krátky kód %s na stránku, automaticky sa vytvorí mapa lokality "
+"so všetkými stránkami a kategóriami. Funguje to aj vo widgete Text."
+
+#: toc.php:927
+msgid "Show page listing"
+msgstr "Zobraziť zoznam stránok"
+
+#: toc.php:931
+msgid "Show category listing"
+msgstr "Zobraziť zoznam kategórií"
+
+#: toc.php:935
+msgid "Heading type"
+msgstr "Typ nadpisu"
+
+#. translators: the full line is supposed to read - Use [1-6 drop down list] to print out the titles
+#: toc.php:938
+msgid "Use"
+msgstr "Použiť"
+
+#. translators: the full line is supposed to read - Use [h1-h6 drop down list] to print out the titles
+#: toc.php:949
+msgid "to print out the titles"
+msgstr "na vypísanie nadpisov"
+
+#: toc.php:953
+msgid "Pages label"
+msgstr "Označenie stránok"
+
+#: toc.php:955
+msgid "Eg: Pages, Page List"
+msgstr "Príklad: Stránky, Zoznam stránok"
+
+#: toc.php:959
+msgid "Categories label"
+msgstr "Označenie kategórií"
+
+#: toc.php:961
+msgid "Eg: Categories, Category List"
+msgstr "Príklad: Kategórie, Zoznam kategórií"
+
+#: toc.php:967
+msgid "Advanced usage"
+msgstr "Rozšírené použitie"
+
+#: toc.php:969
+#, php-format
+msgid ""
+"lets you print out a listing of only pages. Similarly %s can be used to "
+"print out a category listing. They both can accept a number of attributes so "
+"visit the help tab for more information."
+msgstr ""
+"vám umožňuje vypísať iba zoznam stránok. Podobne, %s sa dá použiť na "
+"vypísanie zoznamu kategórií. Oba krátke kódy akceptujú istý počet atribútov. "
+"Pozrite si záložku s pomocou, kde nájdete viac informácií."
+
+#: toc.php:970
+msgid "Examples"
+msgstr "Príklady"
+
+#: toc.php:972
+msgid "hides the heading from a category listing"
+msgstr "skryje názov v zozname kategórií"
+
+#: toc.php:973
+#, php-format
+msgid ""
+"Uses h6 to display %s on a page listing excluding pages with IDs 1 and 15"
+msgstr ""
+"použije h6 na zobrazenie textu %s v zozname stránok s výnimkou stránok s ID "
+"1 a 15"
+
+#: toc.php:981
+msgid "Where's my table of contents?"
+msgstr "Kde je môj obsah?"
+
+#: toc.php:982
+msgid ""
+"If you're reading this, then chances are you have successfully installed and "
+"enabled the plugin and you're just wondering why the index isn't appearing "
+"right? Try the following:"
+msgstr ""
+"Ak čítate tento text, zrejme ste úspešne nainštalovali a povolili modul a "
+"rozmýšľate, prečo sa nezobrazuje obsah. Skúste nasledujúce tipy."
+
+#: toc.php:984
+msgid ""
+"In most cases, the post, page or custom post type has less than the minimum "
+"number of headings. By default, this is set to four so make sure you have at "
+"least four headings within your content. If you want to change this value, "
+"you can find it under 'Main Options' &gt; 'Show when'."
+msgstr ""
+"Vo väčšine prípadov má článok, stránka alebo vlastný typ článku menej ako "
+"minimálny počet nadpisov. Počet nadpisov je predvolene nastavený na 4, preto "
+"skontrolujte, či máte v texte aspoň štyri nadpisy. Ak chcete zmeniť túto "
+"hodnotu, nájdete ju v časti <em>\"Hlavné nastavenia &gt; Zobraziť pre</em>\"."
+
+#: toc.php:985
+msgid ""
+"Is auto insertion enabled for your content type? By default, only pages are "
+"enabled."
+msgstr ""
+"Je pre váš typ obsahu povolené automatické vkladanie? Predvolene je povolené "
+"iba pre stránky."
+
+#: toc.php:986
+msgid ""
+"Have you got <code>[no_toc]</code> somewhere within the content? This will "
+"disable the index for the current post, page or custom post type."
+msgstr ""
+"Použili ste niekde v texte značku <code>[no_toc]</code>? Táto značka "
+"zakazuje zobrazenie obsahu pre aktuálny článok, stránku alebo vlastný typ "
+"článku."
+
+#: toc.php:987
+msgid ""
+"If you are using the TOC+ widget, check if you have the <em>\"Show the table "
+"of contents only in the sidebar\"</em> enabled as this will limit its "
+"display to only the sidebar. You can check by going into Appearance &gt; "
+"Widgets."
+msgstr ""
+"Ak používate widget TOC+, skontrolujte, či je povolená voľba <em>\"Zobraziť "
+"obsah iba na bočnom paneli\"</em>, pretože obmedzuje zobrazenie obsahu iba "
+"na bočný panel. Môžete to skontrolovať v časti <em>\"Vzhľad &gt; Widgety</em>"
+"\"."
+
+#: toc.php:988
+msgid ""
+"You may have restricted generation to a URL path match. The setting can be "
+"found in the advanced section under Main Options."
+msgstr ""
+"Možno ste generovanie obmedzili na zhodu cesty v adrese URL. Toto nastavenie "
+"nájdete v rozšírenej sekcii na záložke <em>\"Hlavné nastavenia</em>\"."
+
+#: toc.php:991
+msgid "How do I stop the table of contents from appearing on a single page?"
+msgstr "Ako zabránim zobrazeniu obsahu na stránke?"
+
+#: toc.php:992
+msgid ""
+"Place the following <code>[no_toc]</code> anywhere on the page to suppress "
+"the table of contents. This is known as a shortcode and works for posts, "
+"pages and custom post types that make use of the_content()"
+msgstr ""
+"Ak nechcete zobraziť obsah, umiestnite značku <code>[no_toc]</code> "
+"kdekoľvek v texte stránky. Táto značka je známa ako krátky kód a funguje pre "
+"články, stránky a vlastné typy článkov, ktoré používajú funkciu the_content"
+"()."
+
+#: toc.php:994
+msgid ""
+"I've set wrapping to left or right but the headings don't wrap around the "
+"table of contents"
+msgstr ""
+"Nastavil som zalamovanie vľavo alebo vpravo, ale nadpisy sa nezalamujú okolo "
+"obsahu"
+
+#: toc.php:995
+msgid ""
+"This normally occurs when there is a CSS clear directive in or around the "
+"heading originating from the theme (Twenty Eleven and Twenty Twelve are two "
+"themes which do this). This directive tells the user agent to reset the "
+"previous wrapping specifications."
+msgstr ""
+"Stáva sa to, ak existuje direktíva CSS clear v nadpise alebo okolo nadpisu, "
+"ktorá pochádza z témy (platí to napríklad v prípade tém Twenty Eleven a "
+"Twenty Twelve). Táto direktíva hovorí agentovi používateľa, aby zrušil "
+"staršie špecifikácie zalamovania."
+
+#: toc.php:996
+#, php-format
+msgid ""
+"You can adjust your theme's CSS or try moving the table of contents position "
+"to the top of the page. If you didn't build your theme, I'd highly suggest "
+"you try the %s if you wish to make CSS changes."
+msgstr ""
+"Môžete upraviť štýl CSS vašej témy alebo skúsiť presunúť umiestnenie obsahu "
+"na začiatok stránky. Ak ste vašu tému nevytvorili a chcete spraviť zmeny v "
+"štýle CSS, odporúčam vám vyskúšať %s."
+
+#. translators: CSS code follows after this line
+#: toc.php:999
+msgid ""
+"Try adding the following CSS to allow the wrapping to occur around the table "
+"of contents:"
+msgstr ""
+"Skúste pridať nasledujúci štýl CSS, ktorý povolí zalamovanie okolo obsahu:"
+
+#: toc.php:1004
+msgid "How do I include the name of the page in the table of contents title?"
+msgstr "Ako zahrniem názov stránky do názvu obsahu?"
+
+#: toc.php:1005
+msgid ""
+"As the title of the page changes depending on the page you're viewing, you "
+"can use the following special variable to automatically insert the title of "
+"the page into the table of contents heading:"
+msgstr ""
+"Nadpis stránky sa mení v závislosti od zobrazenej stránky, preto môžete "
+"použiť nasledujúcu špeciálnu premennú na automatické vloženie nadpisu "
+"stránky do nadpisu obsahu:"
+
+#: toc.php:1007
+msgid "You can use it as is or place text either side of the variable."
+msgstr "Môžete ju použiť bez zmeny alebo pridať text pred alebo za premennú."
+
+#: toc.php:1008
+msgid ""
+"As an example: if your page is named <em>Great Expectations</em> and your "
+"table of contents title is set to <em>Contents for %PAGE_NAME%</em>, the "
+"final title would read <em>Contents for Great Expectations</em>"
+msgstr ""
+"Príklad: Ak má vaša stránka názov <em>Veľké očakávania</em> a nadpis vášho "
+"obsahu je nastavený na <em>Obsah pre %PAGE_NAME%</em>, výsledný nadpis bude "
+"<em>Obsah pre Veľké očakávania</em>"
+
+#: toc.php:1010
+msgid "The sitemap uses a strange font dissimilar to the rest of the site"
+msgstr ""
+"Mapa lokality používa zvláštne písmo, ktoré sa nepodobá písmu vo zvyšku "
+"lokality"
+
+#: toc.php:1011
+msgid ""
+"No extra styles are created for the sitemap, instead it inherits any styles "
+"you used when adding the shortcode. If you copy and pasted, you probably "
+"also copied the 'code' tags surrounding it so remove them if this is the "
+"case."
+msgstr ""
+"Pre mapu lokality nie sú vytvorené žiadne extra štýly. Mapa lokality dedí "
+"štýly, ktoré ste použili pri pridávaní krátkeho kódu. Ak ste použili "
+"kopírovanie a prilepenie, pravdepodobne ste tiež skopírovali značky 'code' "
+"okolo, preto by ste ich v tomto prípade mali odstrániť."
+
+#: toc.php:1012
+msgid ""
+"In most cases, try to have the shortcode on its own line with nothing before "
+"or after the square brackets."
+msgstr ""
+"Vo väčšine prípadov skúste umiestniť krátky kód na samostatný riadok - "
+"žiadny text pred ani za hranatými zátvorkami."
+
+#: toc.php:1014
+msgid "What were those shortcodes and attributes again?"
+msgstr "Ešte raz, aké to boli krátke kódy a atribúty?"
+
+#: toc.php:1015
+msgid ""
+"When attributes are left out for the shortcodes below, they will fallback to "
+"the settings you defined under Settings &gt; TOC+."
+msgstr ""
+"Ak pre krátke kódy dole nepoužijete atribúty, použijú sa pre ne nastavenia, "
+"ktoré ste definovali v časti <em>\"Nastavenia &gt; TOC+</em>\"."
+
+#: toc.php:1019
+msgid "Shortcode"
+msgstr "Krátky kód"
+
+#: toc.php:1020
+msgid "Description"
+msgstr "Opis"
+
+#: toc.php:1021
+msgid "Attributes"
+msgstr "Atribúty"
+
+#: toc.php:1027
+msgid ""
+"Lets you generate the table of contents at the preferred position. Also "
+"useful for sites that only require a TOC on a small handful of pages."
+msgstr ""
+"Umožňuje vám vygenerovať obsah na vopred určenom mieste. Je to tiež užitočné "
+"pre lokality, ktoré vyžadujú obsah iba na malom počte stránok."
+
+#: toc.php:1030
+msgid "text, title of the table of contents"
+msgstr "text; nadpis obsahu"
+
+#: toc.php:1031
+msgid "true/false, shows or hides the title"
+msgstr "true/false; zobrazí alebo skryje nadpis"
+
+#: toc.php:1032
+msgid "text, either \"left\" or \"right\""
+msgstr "text; buď \"left\", alebo \"right\""
+
+#: toc.php:1033
+msgid ""
+"numbers, this lets you select the heading levels you want included in the "
+"table of contents. Separate multiple levels with a comma. Example: include "
+"headings 3, 4 and 5 but exclude the others with"
+msgstr ""
+"čísla; toto vám umožňuje vybrať úrovne nadpisu, ktoré chcete zahrnúť do "
+"obsahu. Viacero úrovní oddeľte čiarkou. Príklad: zahrnúť nadpisy úrovne 3, 4 "
+"a 5, ale vylúčiť ostatné:"
+
+#: toc.php:1034
+msgid ""
+"text, enter headings to be excluded. Separate multiple headings with a pipe "
+"<code>|</code>. Use an asterisk <code>*</code> as a wildcard to match other "
+"text. You could also use regular expressions for more advanced matching."
+msgstr ""
+"text; zadajte nadpisy na vylúčenie. Viacero nadpisov oddeľte znakom rúry "
+"(<code>|</code>). Môžete použiť hviezdičku (<code>*</code>) ako zástupný "
+"znak na označenie iného textu. Pre určenie viac rozšírenej zhody tiež môžete "
+"použiť regulárne výrazy."
+
+#: toc.php:1040
+msgid ""
+"Allows you to disable the table of contents for the current post, page, or "
+"custom post type."
+msgstr ""
+"Umožňuje vám zakázať obsah pre aktuálny článok, stránku alebo vlastný typ "
+"článku."
+
+#: toc.php:1045
+msgid ""
+"Produces a listing of all pages and categories for your site. You can use "
+"this on any post, page or even in a text widget."
+msgstr ""
+"Vytvorí zoznam všetkých stránok a kategórií pre vašu lokalitu. Môžete to "
+"použiť v ľubovoľnom článku, na stránke a dokonca aj vo widgete Text."
+
+#: toc.php:1050
+msgid "Lets you print out a listing of only pages."
+msgstr "Umožňuje vám vypísať iba zoznam stránok."
+
+#: toc.php:1053
+msgid "number between 1 and 6, defines which html heading to use"
+msgstr "číslo medzi 1 a 6; definuje, ktorý nadpis HTML sa použije"
+
+#: toc.php:1054
+msgid "text, title of the list"
+msgstr "text; nadpis zoznamu"
+
+#: toc.php:1055
+msgid "true/false, shows or hides the list heading"
+msgstr "true/false; zobrazí alebo skryje nadpis zoznamu"
+
+#: toc.php:1056
+msgid "IDs of the pages or categories you wish to exclude"
+msgstr "Identifikátory stránok alebo kategórií na vylúčenie"
+
+#: toc.php:1057
+msgid ""
+"ID of the page or category you wish to exclude including its all descendants"
+msgstr "ID stránky alebo kategórie na vylúčenie vrátane všetkých jej potomkov"
+
+#: toc.php:1063
+msgid "Similar to [sitemap_pages] but for categories."
+msgstr "Podobné krátkemu kódu [sitemap_pages], ale pre kategórie."
+
+#: toc.php:1068
+msgid ""
+"This lets you print out an index of all published posts on your site. By "
+"default, posts are listed in alphabetical order grouped by their first "
+"letters. There are CSS classes for each section, letter and list allowing "
+"you to customise the appearance."
+msgstr ""
+"Toto vám umožňuje vypísať zoznam všetkých zverejnených článkov vo vašej "
+"lokalite. Články sú predvolene zoradené v abecednom poradí a zoskupené podľa "
+"ich prvých písmen. Existujú triedy CSS pre každú sekciu, písmeno a zoznam, "
+"preto môžete prispôsobiť vzhľad."
+
+#: toc.php:1071
+msgid "text, either ASC or DESC"
+msgstr "text; buď ASC, alebo DESC"
+
+#: toc.php:1072
+#, php-format
+msgid ""
+"text, popular options include \"title\", \"date\", \"ID\", and \"rand\". See "
+"%1$sWP_Query%2$s for a list."
+msgstr ""
+"text; k obľúbeným voľbám patria \"title\", \"date\", \"ID\" a \"rand\". "
+"Zoznam nájdete v dokumente %1$sWP_Query%2$s."
+
+#: toc.php:1080
+msgid "I have another question..."
+msgstr "Mám inú otázku..."
+
+#: toc.php:1081
+#, php-format
+msgid ""
+"Visit the %1$splugin homepage%2$s to ask your question - who knows, maybe "
+"your question has already been answered. I'd really like to hear your "
+"suggestions if you have any."
+msgstr ""
+"Ak máte otázku, navštívte %1$sdomovskú stránku modulu%2$s - na vašu otázku "
+"už možno niekto odpovedal. Ak máte návrhy, veľmi rád by som sa ich dozvedel."
+
+#: toc.php:1083
+msgid "For developers"
+msgstr "Pre vývojárov"
+
+#: toc.php:1085
+msgid "How do I customise my anchors?"
+msgstr "Ako sa dajú prispôsobiť moje kotvy?"
+
+#: toc.php:1086
+msgid ""
+"If you're still not happy with the anchors, you can modify them to suit your "
+"needs through a custom function hooked into the <code>toc_url_anchor_target</"
+"code> filter. As an example, place the below code snippet into your "
+"functions.php file to convert all anchors to uppercase."
+msgstr ""
+"Ak stále nie ste spokojný s kotvami, môžete ich upraviť, aby vyhovovali "
+"vašim potrebám. Dosiahnete to vlastnou funkciou pripojenou na filter "
+"<code>toc_url_anchor_target</code>. Ak chcete napríklad konvertovať všetky "
+"kotvy na veľké písmená, umiestnite nasledujúci kúsok kódu do vášho súboru "
+"functions.php."
+
+#: toc.php:1096
+msgid ""
+"Returns a HTML formatted string of the table of contents without the "
+"surrounding UL or OL tags to allow the theme editor to supply their own ID "
+"and/or classes to the outer list."
+msgstr ""
+"Vráti reťazec naformátovaný ako HTML, ktorý reprezentuje obsah bez okolitých "
+"značiek UL alebo OL, aby mohol editor tém poskytnúť vlastné ID alebo triedy "
+"pre vonkajší zoznam."
+
+#: toc.php:1097
+msgid "Both parameters are optional:"
+msgstr "Oba parametre sú voliteľné:"
+
+#. translators: this explains the $content parameter
+#: toc.php:1101
+msgid ""
+"is the entire content with headings. If blank, will default to the current "
+"content found in $post (eg within \"the loop\")."
+msgstr ""
+"je celý obsah s nadpismi. Ak je prázdny, použije sa aktuálny obsah v objekte "
+"$post (napríklad v \"slučke\" (loop))."
+
+#. translators: this explains the $prefix_url parameter
+#: toc.php:1104
+msgid ""
+"is the URL to prefix the anchor with. If a string was provided, it will be "
+"used as is. If set to \"true\" then will try to obtain the permalink from "
+"the $post object."
+msgstr ""
+"je adresa URL, ktorá sa použije ako predpona pre kotvu. Ak je zadaný "
+"reťazec, použije sa bez zmeny. Ak je nastavená hodnota \"true\", spraví sa "
+"pokus o získanie trvalého odkazu z objektu $post."
+
+#: toc.php:1106
+msgid "These examples assume you are within \"the loop\":"
+msgstr "Tieto príklady predpokladajú, že ste v \"slučke\" (loop):"
+
+#: toc.php:1108
+msgid "Obtain the index for the current page"
+msgstr "Získať index pre aktuálnu stránku"
+
+#: toc.php:1111
+msgid "Create a listing of all children and their headings"
+msgstr "Vytvoriť zoznam všetkých potomkov a ich nadpisov"
+
+#: toc.php:1136
+msgid "Update Options"
+msgstr "Aktualizovať nastavenia"
+
+#: toc.php:1618
+msgid "Display the table of contents in the sidebar with this widget"
+msgstr "Tento widget zobrazí obsah na bočnom paneli"
+
+#: toc.php:1710
+msgid "Show the table of contents only in the sidebar"
+msgstr "Zobraziť obsah iba na bočnom paneli"
diff --git a/plugins/table-of-contents-plus/languages/toc+-zh_CN.mo b/plugins/table-of-contents-plus/languages/toc+-zh_CN.mo
new file mode 100644
index 00000000..18ae5c17
--- /dev/null
+++ b/plugins/table-of-contents-plus/languages/toc+-zh_CN.mo
Binary files differ
diff --git a/plugins/table-of-contents-plus/languages/toc+-zh_CN.po b/plugins/table-of-contents-plus/languages/toc+-zh_CN.po
new file mode 100644
index 00000000..7080a492
--- /dev/null
+++ b/plugins/table-of-contents-plus/languages/toc+-zh_CN.po
@@ -0,0 +1,584 @@
+# Copyright (C) 2012
+# This file is distributed under the same license as the package.
+msgid ""
+msgstr ""
+"Project-Id-Version: table of contents plus 1207\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/tag/table-of-contents-plus\n"
+"POT-Creation-Date: 2012-08-01 13:02:20+00:00\n"
+"PO-Revision-Date: 2012-08-02 11:59+0800\n"
+"Last-Translator: icedream <icedream@tesfans.org>\n"
+"Language-Team: Chinese (Simplified) <icedream@tesfans.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Chinese\n"
+"X-Poedit-Country: CHINA\n"
+
+#: toc.php:169
+msgid "Settings"
+msgstr "设置"
+
+#: toc.php:339
+#: toc.php:340
+msgid "TOC"
+msgstr "TOC"
+
+#: toc.php:474
+msgid "Options saved."
+msgstr "选项已保存。"
+
+#: toc.php:476
+msgid "Save failed."
+msgstr "保存失败。"
+
+#: toc.php:488
+msgid "Main Options"
+msgstr "主要选项"
+
+#: toc.php:489
+msgid "Sitemap"
+msgstr "站点地图"
+
+#: toc.php:490
+msgid "Help"
+msgstr "帮助"
+
+#: toc.php:498
+msgid "Position"
+msgstr "位置"
+
+#: toc.php:501
+msgid "Before first heading (default)"
+msgstr "第一个标题前面(默认)"
+
+#: toc.php:502
+msgid "Top"
+msgstr "顶部"
+
+#: toc.php:503
+msgid "Bottom"
+msgstr "底部"
+
+#: toc.php:508
+msgid "Show when"
+msgstr "当……显示"
+
+#: toc.php:518
+msgid "or more headings are present"
+msgstr "或者更多标题存在时"
+
+#: toc.php:522
+msgid "Auto insert for the following content types"
+msgstr "自动插入以下类别的内容中"
+
+#: toc.php:535
+msgid "Heading text"
+msgstr "标题"
+
+#: toc.php:537
+msgid "Show title on top of the table of contents"
+msgstr "在目录顶部显示标题"
+
+#: toc.php:540
+msgid "Eg: Contents, Table of Contents, Page Contents"
+msgstr "例:目录、Contents、Table of Contents、Page Contents"
+
+#: toc.php:542
+msgid "Allow the user to toggle the visibility of the table of contents"
+msgstr "允许用户显示/隐藏目录"
+
+#: toc.php:547
+msgid "Show text"
+msgstr "显示文本"
+
+#: toc.php:549
+msgid "Eg: show"
+msgstr "例:显示"
+
+#: toc.php:552
+msgid "Hide text"
+msgstr "隐藏文本"
+
+#: toc.php:554
+msgid "Eg: hide"
+msgstr "例:隐藏"
+
+#: toc.php:563
+msgid "Show hierarchy"
+msgstr "显示层次化"
+
+#: toc.php:567
+msgid "Number list items"
+msgstr "显示编号"
+
+#: toc.php:571
+msgid "Enable smooth scroll effect"
+msgstr "开启平滑滚动效果"
+
+#: toc.php:572
+msgid "Scroll rather than jump to the anchor link"
+msgstr "平滑滚动到相应锚位置而不是跳转"
+
+#: toc.php:577
+msgid "Appearance"
+msgstr "外观"
+
+#: toc.php:581
+msgid "Width"
+msgstr "宽度"
+
+#: toc.php:584
+msgid "Fixed width"
+msgstr "固定宽度"
+
+#: toc.php:588
+msgid "(default)"
+msgstr "(默认)"
+
+#: toc.php:595
+msgid "Relative"
+msgstr "相关宽度"
+
+#: toc.php:596
+msgid "Auto"
+msgstr "自动调整"
+
+#: toc.php:604
+msgid "Other"
+msgstr "其他"
+
+#: toc.php:605
+msgid "User defined"
+msgstr "用户自定义"
+
+#: toc.php:609
+msgid "Please enter a number and"
+msgstr "请输入数字并"
+
+#: toc.php:609
+msgid "select its units, eg: 100px, 10em"
+msgstr "选择相应的单位,如:100px, 10em"
+
+#: toc.php:620
+msgid "Wrapping"
+msgstr "自动换行"
+
+#: toc.php:623
+msgid "None (default)"
+msgstr "无(默认)"
+
+#: toc.php:624
+msgid "Left"
+msgstr "向左"
+
+#: toc.php:625
+msgid "Right"
+msgstr "向右"
+
+#: toc.php:630
+msgid "Font size"
+msgstr "字体大小"
+
+#: toc.php:641
+msgid "Presentation"
+msgstr "风格"
+
+#: toc.php:644
+msgid "Grey (default)"
+msgstr "灰色(默认)"
+
+#: toc.php:649
+msgid "Light blue"
+msgstr "淡蓝色"
+
+#: toc.php:654
+msgid "White"
+msgstr "白色"
+
+#: toc.php:659
+msgid "Black"
+msgstr "黑色"
+
+#: toc.php:664
+msgid "Transparent"
+msgstr "透明"
+
+#: toc.php:669
+msgid "Custom"
+msgstr "自定义"
+
+#: toc.php:679
+msgid "Background"
+msgstr "背景"
+
+#: toc.php:683
+msgid "Border"
+msgstr "边框"
+
+#: toc.php:687
+#: toc.php:1498
+msgid "Title"
+msgstr "标题"
+
+#: toc.php:691
+msgid "Links"
+msgstr "链接"
+
+#: toc.php:695
+msgid "Links (hover)"
+msgstr "链接(鼠标经过)"
+
+#: toc.php:710
+msgid "Leaving the value as"
+msgstr "数值设定为"
+
+#: toc.php:710
+msgid "will inherit your theme's styles"
+msgstr "将使用主题的风格"
+
+#: toc.php:715
+msgid "Preserve theme bullets"
+msgstr "主题兼容"
+
+#: toc.php:716
+msgid "If your theme includes background images for unordered list elements, enable this to support them"
+msgstr "如果您的主题有修改无序列表的背景图片时,您可以开启此功能添加主题兼容。"
+
+#: toc.php:721
+msgid "Advanced"
+msgstr "高级"
+
+#: toc.php:721
+#: toc.php:816
+msgid "show"
+msgstr "显示"
+
+#: toc.php:723
+msgid "Power options"
+msgstr "驱动选项"
+
+#: toc.php:727
+msgid "Include homepage"
+msgstr "包含首页"
+
+#: toc.php:728
+msgid "Show the table of contents for qualifying items on the homepage"
+msgstr "对首页中排序的列表也添加目录内容支持"
+
+#: toc.php:731
+msgid "Exclude CSS file"
+msgstr "不加载CSS"
+
+#: toc.php:732
+msgid "Prevent the loading of this plugin's CSS styles. When selected, the presentation options from above will also be ignored."
+msgstr "不加载插件内置的CSS。勾选此项后,上面的选项也将失效。"
+
+#: toc.php:735
+msgid "Heading levels"
+msgstr "标题等级"
+
+#: toc.php:737
+msgid "Include (or exclude) the following heading levels"
+msgstr "包含(或者排除)以下标题级别"
+
+#: toc.php:743
+msgid "heading "
+msgstr "标题 "
+
+#: toc.php:749
+msgid "Smooth scroll top offset"
+msgstr "顶部偏移"
+
+#: toc.php:752
+msgid "If you have a consistent menu across the top of your site, you can adjust the top offset to stop the headings from appearing underneath the top menu. A setting of 30 accommodates the WordPress admin bar. This setting appears after you have enabled smooth scrolling from above."
+msgstr "如果您的站点顶部有固定的菜单栏,您可以调整顶部偏移让标题显示在该菜单栏下面。推荐使用的数值30是为Wordpress管理菜单栏设计的。修改以上数值后此设置生效。"
+
+#: toc.php:756
+msgid "Default anchor prefix"
+msgstr "默认锚前缀"
+
+#: toc.php:759
+msgid "Anchor targets are restricted to alphanumeric characters as per HTML specification (see readme for more detail). The default anchor prefix will be used when no characters qualify. When left blank, a number will be used instead."
+msgstr "因为HTML规范化的要求,锚目标只能使用数字或者字幕。(详情可以查看说明文档)。如果您编辑内容时未定义锚前缀,toc+将使用这边的默认值。放空,则使用数字。"
+
+#: toc.php:760
+msgid "This option normally applies to content written in character sets other than ASCII."
+msgstr "此选项只能输入字符集而不是ASCII。"
+
+#: toc.php:761
+msgid "Eg: i, toc_index, index, _"
+msgstr "例:i, toc_index, index, _"
+
+#: toc.php:767
+msgid "Usage"
+msgstr "使用"
+
+#: toc.php:768
+msgid "If you would like to fully customise the position of the table of contents, you can use the"
+msgstr "如果您想要完全自定义目录的显示位置,您可以使用短代码"
+
+#: toc.php:768
+msgid "shortcode by placing it at the desired position of your post, page or custom post type. This method allows you to generate the table of contents despite having auto insertion disabled for its content type. Please visit the help tab for further information about this shortcode."
+msgstr ",并把它放在您想要的位置中,可以是文章、页面或者是自定义的文章类型。此方法方便您在任何情况下生成目录,即使您关闭了该内容类型的自动插入。详细内容可以查看帮助标签中个关于短代码的说明。"
+
+#: toc.php:776
+msgid "At its simplest, placing"
+msgstr "简单点说,输入"
+
+#: toc.php:776
+msgid "into a page will automatically create a sitemap of all pages and categories. This also works in a text widget."
+msgstr "在页面中将显示所有页面、分类的站点地图。您也可以在文本小工具使用此工具。"
+
+#: toc.php:780
+msgid "Show page listing"
+msgstr "显示页面列表"
+
+#: toc.php:784
+msgid "Show category listing"
+msgstr "显示分类列表"
+
+#: toc.php:788
+msgid "Heading type"
+msgstr "标题类型"
+
+#: toc.php:789
+msgid "Use"
+msgstr "使用"
+
+#: toc.php:798
+msgid "to print out the titles"
+msgstr "输出标题"
+
+#: toc.php:802
+msgid "Pages label"
+msgstr "页面标签"
+
+#: toc.php:804
+msgid "Eg: Pages, Page List"
+msgstr "例:页面、页面列表"
+
+#: toc.php:808
+msgid "Categories label"
+msgstr "分类标签"
+
+#: toc.php:810
+msgid "Eg: Categories, Category List"
+msgstr "例:分类、分类列表"
+
+#: toc.php:816
+msgid "Advanced usage"
+msgstr "高级功能"
+
+#: toc.php:818
+msgid "lets you print out a listing of only pages. Similarly"
+msgstr " 用来输出纯页面列表。同样地,"
+
+#: toc.php:818
+msgid "can be used to print out a category listing. They both can accept a number of attributes so visit the help tab for more information."
+msgstr " 用来输出纯分类列表。两者都有其他的参数设定,具体查看帮助标签的内容。"
+
+#: toc.php:819
+msgid "Examples"
+msgstr "例"
+
+#: toc.php:821
+msgid "hides the heading from a category listing"
+msgstr " 将标题从分类列表中移除"
+
+#: toc.php:822
+msgid "Uses h6 to display"
+msgstr " 在一个含页面ID为1和15的页面列表中,用 h6 显示 "
+
+#: toc.php:822
+msgid "on a page listing excluding pages with IDs 1 and 15."
+msgstr "。"
+
+#: toc.php:830
+msgid "Where's my table of contents?"
+msgstr "目录内容显示在哪里?"
+
+#: toc.php:831
+msgid "If you're reading this, then chances are you have successfully installed and enabled the plugin and you're just wondering why the index isn't appearing right? Try the following:"
+msgstr "如果您正在阅读此内容的话,则表示您可以成功安装并开启了此插件。而您现在所困惑的便是为什么目录内容没有正常显示?您可以尝试:"
+
+#: toc.php:833
+msgid "In most cases, the post, page or custom post type has less than the minimum number of headings. By default, this is set to four so make sure you have at least four headings within your content. If you want to change this value, you can find it under 'Main Options' &gt; 'Show when'."
+msgstr "在大部分情况下,您的文章、页面或者自定义文章类别中所含有的标题数量少于要求的最小值。默认下,最小值为4,这表示说如果您想要显示目录,您的内容中至少得有4个标题。如果您需要修改此数值的话,可以再“主要选项” &gt; “当……显示”中调整。"
+
+#: toc.php:834
+msgid "Is auto insertion enabled for your content type? By default, only pages are enabled."
+msgstr "您的内容类别中支持自动插入?默认情况下,仅支持页面类型。"
+
+#: toc.php:835
+msgid "Have you got"
+msgstr "内容中是否使用了 "
+
+#: toc.php:835
+msgid "somewhere within the content? This will disable the index for the current post, page or custom post type."
+msgstr " 短代码?这将阻止当前文章、页面或者自定义页面显示目录。"
+
+#: toc.php:836
+msgid "If you are using the TOC+ widget, check if you have the"
+msgstr "如果您正在使用 TOC+ 小工具,检查以下是否开启了 "
+
+#: toc.php:836
+#: toc.php:1504
+msgid "Show the table of contents only in the sidebar"
+msgstr "仅在侧边栏中显示目录"
+
+#: toc.php:836
+msgid "enabled as this will limit its display to only the sidebar. You can check by going into Appearance &gt; Widgets."
+msgstr "。如果不了解的么可以到外观 &gt; 小工具中查看。"
+
+#: toc.php:839
+msgid "How do I stop the table of contents from appearing on a single page?"
+msgstr "如果避免在单独页面中显示目录?"
+
+#: toc.php:840
+msgid "Place the following"
+msgstr "在内容任意位置中输入短代码 "
+
+#: toc.php:840
+msgid "anywhere on the page to suppress the table of contents. This is known as a shortcode and works for posts, pages and custom post types that make use of the_content()"
+msgstr "可以避免目录内容的显示。此短代码对任何帖子、页面以及其他使用the_content()的自定义文章类型都有效。"
+
+#: toc.php:842
+msgid "I've set wrapping to left or right but the headings don't wrap around the table of contents"
+msgstr "我已经设置自动换行为左或者右,但是标题并没有环绕在目录附近"
+
+#: toc.php:843
+msgid "This normally occurs when there is a CSS clear directive in or around the heading specified by the theme author. This directive tells the user agent to reset the previous wrapping specifications."
+msgstr "一般是因为您使用的主题中CSS移除了标题的指令。该指令让用户代理重置了前一个自动换行规则。"
+
+#: toc.php:844
+msgid "You can adjust your theme's CSS or try moving the table of contents position to the top of the page. If you didn't build your theme, I'd highly suggest you try the"
+msgstr "您可以调整您的主题CSS或者尝试移动目录内容的位置到页面顶部。如果您对主题并不了解,强烈建议尝试用 "
+
+#: toc.php:844
+msgid "if you wish to make CSS changes."
+msgstr " 修改CSS。"
+
+#: toc.php:846
+msgid "Why are some headings not included in the table of contents?"
+msgstr "为什么部分标题没有显示在目录中?"
+
+#: toc.php:847
+msgid "First, make sure the title text that isn't appearing in the table of contents is actually marked up as a heading (eg heading 1 through to 6). After verifying that it really is a heading, make sure that there are no linebreaks or enters from the start to the end of the heading HTML tags. Eg, it should not be like the following:"
+msgstr "首先,请确认标题中未显示的标题文本确实标记为标题(例:标题1到标题6)。如果已确认是标题的话,请检查一下h标签内的文本是否有跳行。例:不要出现以下形式:"
+
+#: toc.php:853
+msgid "Rather, it should be something like:"
+msgstr "正确地,应该是:"
+
+#: toc.php:858
+msgid "The sitemap uses a strange font disimilar to the rest of the site"
+msgstr "站点地图与站点使用的字体不一样"
+
+#: toc.php:859
+msgid "No extra styles are created for the sitemap, instead it inherits any styles you used when adding the shortcode. If you copy and pasted, you probably also copied the 'code' tags surrounding it so remove them if this is the case."
+msgstr "这边并没有定义站点地图的风格,相反的,它支持继承前一个内容的风格。如果您纯粹的复制粘贴,您可以不小心把风格也给复制进去了。"
+
+#: toc.php:860
+msgid "In most cases, try to have the shortcode on its own line with nothing before or after the square brackets."
+msgstr "大部分情况下,建议重启一行添加短代码,避免受到其他风格的影响。"
+
+#: toc.php:862
+msgid "What were those shortcodes and attributes again?"
+msgstr "什么是短代码?什么又是短代码参数?"
+
+#: toc.php:863
+msgid "When attributes are left out for the shortcodes below, they will fallback to the settings you defined under Settings &gt; TOC+."
+msgstr "如果短代码输入时未输入参数,插件将使用 设置 &gt; TOC+ 的设置。"
+
+#: toc.php:867
+msgid "Shortcode"
+msgstr "短代码"
+
+#: toc.php:868
+msgid "Description"
+msgstr "介绍"
+
+#: toc.php:869
+msgid "Attributes"
+msgstr "参数"
+
+#: toc.php:875
+msgid "Lets you generate the table of contents at the preferred position. Also useful for sites that only require a TOC on a small handful of pages."
+msgstr "在您想要的位置生成目录内容。同时方便那些只有一点儿内容但是需要生成目录的站点。"
+
+#: toc.php:878
+msgid "text, title of the table of contents"
+msgstr ":数值为文本,表示目录的标题"
+
+#: toc.php:879
+msgid "true/false, shows or hides the title"
+msgstr ":数值为true/false,表示显示或者隐藏标题"
+
+#: toc.php:880
+msgid "text, either \"left\" or \"right\""
+msgstr ":数值为文本,可为 \"left\" 或者 \"right\" (分别表示“向左”或者“向右”)"
+
+#: toc.php:881
+msgid "numbers, this lets you select the heading levels you want included in the table of contents. Separate multiple levels with a comma. Example: include headings 3, 4 and 5 but exclude the others with"
+msgstr ":数值为数字,用来选择要再目录中显示的标题级别,可以“,”隔开不同的级别。例:下面代码表示仅显示第三/四/五级标题..."
+
+#: toc.php:887
+msgid "Allows you to disable the table of contents for the current post, page, or custom post type."
+msgstr "用来禁止当前内容中目录的显示。"
+
+#: toc.php:892
+msgid "Produces a listing of all pages and categories for your site. You can use this on any post, page or even in a text widget."
+msgstr "生成站点地图。您可以在文章、页面甚至文本小工具中使用此代码。"
+
+#: toc.php:897
+msgid "Lets you print out a listing of only pages."
+msgstr "仅输出页面的列表。"
+
+#: toc.php:900
+msgid "number between 1 and 6, defines which html heading to use"
+msgstr ":数值为 1 到 6 之间的数字,用来定义html使用的标题"
+
+#: toc.php:901
+msgid "text, title of the list"
+msgstr ":数值为文本,用来定义列表的标题"
+
+#: toc.php:902
+msgid "true/false, shows or hides the list heading"
+msgstr ":数值为true/false,显示/隐藏列表标题"
+
+#: toc.php:903
+msgid "IDs of the pages or categories you wish to exclude"
+msgstr ":数值为数字,表示您移除的页面或者分类的ID"
+
+#: toc.php:909
+msgid "Similar to"
+msgstr "类 "
+
+#: toc.php:909
+msgid "but for categories."
+msgstr " 但仅输出分类。"
+
+#: toc.php:915
+msgid "I have another question..."
+msgstr "还有其他不明白的地方..."
+
+#: toc.php:916
+msgid "Visit the"
+msgstr "可以访问 "
+
+#: toc.php:916
+msgid "plugin homepage"
+msgstr "插件主页"
+
+#: toc.php:916
+msgid "to ask your question - who knows, maybe your question has already been answered. I'd really like to hear your suggestions if you have any."
+msgstr " 求助 - 谁知道呢,也许您的问题已经解答过了。如果您有建议的话,我会更乐意。"
+
+#: toc.php:922
+msgid "Update Options"
+msgstr "更新设置"
+
+#: toc.php:1413
+msgid "Display the table of contents in the sidebar with this widget"
+msgstr "在小工具中显示目录"
+
diff --git a/plugins/table-of-contents-plus/languages/toc+.pot b/plugins/table-of-contents-plus/languages/toc+.pot
new file mode 100644
index 00000000..539084fa
--- /dev/null
+++ b/plugins/table-of-contents-plus/languages/toc+.pot
@@ -0,0 +1,686 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-08-05 23:58+1000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: toc.php:175
+msgid "Settings"
+msgstr ""
+
+#: toc.php:435 toc.php:436
+msgid "TOC"
+msgstr ""
+
+#: toc.php:586
+msgid "Options saved."
+msgstr ""
+
+#: toc.php:588
+msgid "Save failed."
+msgstr ""
+
+#: toc.php:600
+msgid "Main Options"
+msgstr ""
+
+#: toc.php:601
+msgid "Sitemap"
+msgstr ""
+
+#: toc.php:602
+msgid "Help"
+msgstr ""
+
+#: toc.php:610
+msgid "Position"
+msgstr ""
+
+#: toc.php:613
+msgid "Before first heading (default)"
+msgstr ""
+
+#: toc.php:614
+msgid "After first heading"
+msgstr ""
+
+#: toc.php:615
+msgid "Top"
+msgstr ""
+
+#: toc.php:616
+msgid "Bottom"
+msgstr ""
+
+#: toc.php:621
+msgid "Show when"
+msgstr ""
+
+#. translators: text follows drop down list of numbers
+#: toc.php:633
+msgid "or more headings are present"
+msgstr ""
+
+#: toc.php:637
+msgid "Auto insert for the following content types"
+msgstr ""
+
+#. translators: this is the title of the table of contents
+#: toc.php:652
+msgid "Heading text"
+msgstr ""
+
+#: toc.php:654
+msgid "Show title on top of the table of contents"
+msgstr ""
+
+#: toc.php:657
+msgid "Eg: Contents, Table of Contents, Page Contents"
+msgstr ""
+
+#: toc.php:659
+msgid "Allow the user to toggle the visibility of the table of contents"
+msgstr ""
+
+#: toc.php:664
+msgid "Show text"
+msgstr ""
+
+#. translators: example text to display when you want to expand the table of contents
+#: toc.php:668
+msgid "Eg: show"
+msgstr ""
+
+#: toc.php:671
+msgid "Hide text"
+msgstr ""
+
+#. translators: example text to display when you want to collapse the table of contents
+#: toc.php:675
+msgid "Eg: hide"
+msgstr ""
+
+#: toc.php:679
+msgid "Hide the table of contents initially"
+msgstr ""
+
+#: toc.php:685
+msgid "Show hierarchy"
+msgstr ""
+
+#: toc.php:689
+msgid "Number list items"
+msgstr ""
+
+#: toc.php:693
+msgid "Enable smooth scroll effect"
+msgstr ""
+
+#: toc.php:694
+msgid "Scroll rather than jump to the anchor link"
+msgstr ""
+
+#: toc.php:699
+msgid "Appearance"
+msgstr ""
+
+#: toc.php:703
+msgid "Width"
+msgstr ""
+
+#: toc.php:706
+msgid "Fixed width"
+msgstr ""
+
+#: toc.php:717
+msgid "Relative"
+msgstr ""
+
+#: toc.php:718
+msgid "Auto (default)"
+msgstr ""
+
+#. translators: other width
+#: toc.php:728
+msgid "Other"
+msgstr ""
+
+#: toc.php:729
+msgid "User defined"
+msgstr ""
+
+#. translators: ignore %s as it's some HTML label tags
+#: toc.php:735
+#, php-format
+msgid "Please enter a number and %s select its units, eg: 100px, 10em"
+msgstr ""
+
+#: toc.php:746
+msgid "Wrapping"
+msgstr ""
+
+#: toc.php:749
+msgid "None (default)"
+msgstr ""
+
+#: toc.php:750
+msgid "Left"
+msgstr ""
+
+#: toc.php:751
+msgid "Right"
+msgstr ""
+
+#: toc.php:756
+msgid "Font size"
+msgstr ""
+
+#. translators: appearance / colour / look and feel options
+#: toc.php:769
+msgid "Presentation"
+msgstr ""
+
+#: toc.php:772
+msgid "Grey (default)"
+msgstr ""
+
+#: toc.php:777
+msgid "Light blue"
+msgstr ""
+
+#: toc.php:782
+msgid "White"
+msgstr ""
+
+#: toc.php:787
+msgid "Black"
+msgstr ""
+
+#: toc.php:792
+msgid "Transparent"
+msgstr ""
+
+#: toc.php:797
+msgid "Custom"
+msgstr ""
+
+#: toc.php:807
+msgid "Background"
+msgstr ""
+
+#: toc.php:811
+msgid "Border"
+msgstr ""
+
+#: toc.php:815 toc.php:1720
+msgid "Title"
+msgstr ""
+
+#: toc.php:819
+msgid "Links"
+msgstr ""
+
+#: toc.php:823
+msgid "Links (hover)"
+msgstr ""
+
+#: toc.php:827
+msgid "Links (visited)"
+msgstr ""
+
+#: toc.php:834
+#, php-format
+msgid "Leaving the value as %s will inherit your theme's styles"
+msgstr ""
+
+#: toc.php:841
+msgid "Advanced"
+msgstr ""
+
+#: toc.php:841 toc.php:978 toc.php:1095
+msgid "show"
+msgstr ""
+
+#: toc.php:843
+msgid "Power options"
+msgstr ""
+
+#: toc.php:847
+msgid "Lowercase"
+msgstr ""
+
+#: toc.php:848
+msgid "Ensure anchors are in lowercase"
+msgstr ""
+
+#: toc.php:851
+msgid "Hyphenate"
+msgstr ""
+
+#: toc.php:852
+msgid "Use - rather than _ in anchors"
+msgstr ""
+
+#: toc.php:855
+msgid "Include homepage"
+msgstr ""
+
+#: toc.php:856
+msgid "Show the table of contents for qualifying items on the homepage"
+msgstr ""
+
+#: toc.php:859
+msgid "Exclude CSS file"
+msgstr ""
+
+#: toc.php:860
+msgid "Prevent the loading of this plugin's CSS styles. When selected, the appearance options from above will also be ignored."
+msgstr ""
+
+#: toc.php:863
+msgid "Preserve theme bullets"
+msgstr ""
+
+#: toc.php:864
+msgid "If your theme includes background images for unordered list elements, enable this to support them"
+msgstr ""
+
+#: toc.php:867
+msgid "Heading levels"
+msgstr ""
+
+#: toc.php:869
+msgid "Include the following heading levels. Deselecting a heading will exclude it."
+msgstr ""
+
+#: toc.php:875
+msgid "heading "
+msgstr ""
+
+#: toc.php:881
+msgid "Exclude headings"
+msgstr ""
+
+#: toc.php:884
+msgid "Specify headings to be excluded from appearing in the table of contents. Separate multiple headings with a pipe <code>|</code>. Use an asterisk <code>*</code> as a wildcard to match other text. Note that this is not case sensitive. Some examples:"
+msgstr ""
+
+#: toc.php:886
+msgid "<code>Fruit*</code> ignore headings starting with \"Fruit\""
+msgstr ""
+
+#: toc.php:887
+msgid "<code>*Fruit Diet*</code> ignore headings with \"Fruit Diet\" somewhere in the heading"
+msgstr ""
+
+#: toc.php:888
+msgid "<code>Apple Tree|Oranges|Yellow Bananas</code> ignore headings that are exactly \"Apple Tree\", \"Oranges\" or \"Yellow Bananas\""
+msgstr ""
+
+#: toc.php:893
+msgid "Smooth scroll top offset"
+msgstr ""
+
+#: toc.php:896
+msgid "If you have a consistent menu across the top of your site, you can adjust the top offset to stop the headings from appearing underneath the top menu. A setting of 30 accommodates the WordPress admin bar. This setting appears after you have enabled smooth scrolling from above."
+msgstr ""
+
+#: toc.php:900
+msgid "Restrict path"
+msgstr ""
+
+#: toc.php:903
+msgid "Restrict generation of the table of contents to pages that match the required path. This path is from the root of your site and always begins with a forward slash."
+msgstr ""
+
+#. translators: example URL path restriction
+#: toc.php:906
+msgid "Eg: /wiki/, /corporate/annual-reports/"
+msgstr ""
+
+#: toc.php:910
+msgid "Default anchor prefix"
+msgstr ""
+
+#: toc.php:913
+msgid "Anchor targets are restricted to alphanumeric characters as per HTML specification (see readme for more detail). The default anchor prefix will be used when no characters qualify. When left blank, a number will be used instead."
+msgstr ""
+
+#: toc.php:914
+msgid "This option normally applies to content written in character sets other than ASCII."
+msgstr ""
+
+#. translators: example anchor prefixes when no ascii characters match
+#: toc.php:917
+msgid "Eg: i, toc_index, index, _"
+msgstr ""
+
+#. translators: advanced usage
+#: toc.php:925
+msgid "Usage"
+msgstr ""
+
+#: toc.php:926
+#, php-format
+msgid "If you would like to fully customise the position of the table of contents, you can use the %s shortcode by placing it at the desired position of your post, page or custom post type. This method allows you to generate the table of contents despite having auto insertion disabled for its content type. Please visit the help tab for further information about this shortcode."
+msgstr ""
+
+#: toc.php:934
+#, php-format
+msgid "At its simplest, placing %s into a page will automatically create a sitemap of all pages and categories. This also works in a text widget."
+msgstr ""
+
+#: toc.php:938
+msgid "Show page listing"
+msgstr ""
+
+#: toc.php:942
+msgid "Show category listing"
+msgstr ""
+
+#: toc.php:946
+msgid "Heading type"
+msgstr ""
+
+#. translators: the full line is supposed to read - Use [1-6 drop down list] to print out the titles
+#: toc.php:949
+msgid "Use"
+msgstr ""
+
+#. translators: the full line is supposed to read - Use [h1-h6 drop down list] to print out the titles
+#: toc.php:960
+msgid "to print out the titles"
+msgstr ""
+
+#: toc.php:964
+msgid "Pages label"
+msgstr ""
+
+#: toc.php:966
+msgid "Eg: Pages, Page List"
+msgstr ""
+
+#: toc.php:970
+msgid "Categories label"
+msgstr ""
+
+#: toc.php:972
+msgid "Eg: Categories, Category List"
+msgstr ""
+
+#: toc.php:978
+msgid "Advanced usage"
+msgstr ""
+
+#: toc.php:980
+#, php-format
+msgid "lets you print out a listing of only pages. Similarly %s can be used to print out a category listing. They both can accept a number of attributes so visit the help tab for more information."
+msgstr ""
+
+#: toc.php:981
+msgid "Examples"
+msgstr ""
+
+#: toc.php:983
+msgid "hides the heading from a category listing"
+msgstr ""
+
+#: toc.php:984
+#, php-format
+msgid "Uses h6 to display %s on a page listing excluding pages with IDs 1 and 15"
+msgstr ""
+
+#: toc.php:992
+msgid "Where's my table of contents?"
+msgstr ""
+
+#: toc.php:993
+msgid "If you're reading this, then chances are you have successfully installed and enabled the plugin and you're just wondering why the index isn't appearing right? Try the following:"
+msgstr ""
+
+#: toc.php:995
+msgid "In most cases, the post, page or custom post type has less than the minimum number of headings. By default, this is set to four so make sure you have at least four headings within your content. If you want to change this value, you can find it under 'Main Options' &gt; 'Show when'."
+msgstr ""
+
+#: toc.php:996
+msgid "Is auto insertion enabled for your content type? By default, only pages are enabled."
+msgstr ""
+
+#: toc.php:997
+msgid "Have you got <code>[no_toc]</code> somewhere within the content? This will disable the index for the current post, page or custom post type."
+msgstr ""
+
+#: toc.php:998
+msgid "If you are using the TOC+ widget, check if you have the <em>\"Show the table of contents only in the sidebar\"</em> enabled as this will limit its display to only the sidebar. You can check by going into Appearance &gt; Widgets."
+msgstr ""
+
+#: toc.php:999
+msgid "You may have restricted generation to a URL path match. The setting can be found in the advanced section under Main Options."
+msgstr ""
+
+#: toc.php:1002
+msgid "How do I stop the table of contents from appearing on a single page?"
+msgstr ""
+
+#: toc.php:1003
+msgid "Place the following <code>[no_toc]</code> anywhere on the page to suppress the table of contents. This is known as a shortcode and works for posts, pages and custom post types that make use of the_content()"
+msgstr ""
+
+#: toc.php:1005
+msgid "I've set wrapping to left or right but the headings don't wrap around the table of contents"
+msgstr ""
+
+#: toc.php:1006
+msgid "This normally occurs when there is a CSS clear directive in or around the heading originating from the theme (Twenty Eleven and Twenty Twelve are two themes which do this). This directive tells the user agent to reset the previous wrapping specifications."
+msgstr ""
+
+#: toc.php:1007
+#, php-format
+msgid "You can adjust your theme's CSS or try moving the table of contents position to the top of the page. If you didn't build your theme, I'd highly suggest you try the %s if you wish to make CSS changes."
+msgstr ""
+
+#. translators: CSS code follows after this line
+#: toc.php:1010
+msgid "Try adding the following CSS to allow the wrapping to occur around the table of contents:"
+msgstr ""
+
+#: toc.php:1015
+msgid "How do I include the name of the page in the table of contents title?"
+msgstr ""
+
+#: toc.php:1016
+msgid "As the title of the page changes depending on the page you're viewing, you can use the following special variable to automatically insert the title of the page into the table of contents heading:"
+msgstr ""
+
+#: toc.php:1018
+msgid "You can use it as is or place text either side of the variable."
+msgstr ""
+
+#: toc.php:1019
+msgid "As an example: if your page is named <em>Great Expectations</em> and your table of contents title is set to <em>Contents for %PAGE_NAME%</em>, the final title would read <em>Contents for Great Expectations</em>"
+msgstr ""
+
+#: toc.php:1021
+msgid "The sitemap uses a strange font dissimilar to the rest of the site"
+msgstr ""
+
+#: toc.php:1022
+msgid "No extra styles are created for the sitemap, instead it inherits any styles you used when adding the shortcode. If you copy and pasted, you probably also copied the 'code' tags surrounding it so remove them if this is the case."
+msgstr ""
+
+#: toc.php:1023
+msgid "In most cases, try to have the shortcode on its own line with nothing before or after the square brackets."
+msgstr ""
+
+#: toc.php:1025
+msgid "What were those shortcodes and attributes again?"
+msgstr ""
+
+#: toc.php:1026
+msgid "When attributes are left out for the shortcodes below, they will fallback to the settings you defined under Settings &gt; TOC+."
+msgstr ""
+
+#: toc.php:1030
+msgid "Shortcode"
+msgstr ""
+
+#: toc.php:1031
+msgid "Description"
+msgstr ""
+
+#: toc.php:1032
+msgid "Attributes"
+msgstr ""
+
+#: toc.php:1038
+msgid "Lets you generate the table of contents at the preferred position. Also useful for sites that only require a TOC on a small handful of pages."
+msgstr ""
+
+#: toc.php:1041
+msgid "text, title of the table of contents"
+msgstr ""
+
+#: toc.php:1042
+msgid "true/false, shows or hides the title"
+msgstr ""
+
+#: toc.php:1043
+msgid "text, either \"left\" or \"right\""
+msgstr ""
+
+#: toc.php:1044
+msgid "numbers, this lets you select the heading levels you want included in the table of contents. Separate multiple levels with a comma. Example: include headings 3, 4 and 5 but exclude the others with"
+msgstr ""
+
+#: toc.php:1045
+msgid "text, enter headings to be excluded. Separate multiple headings with a pipe <code>|</code>. Use an asterisk <code>*</code> as a wildcard to match other text. You could also use regular expressions for more advanced matching."
+msgstr ""
+
+#: toc.php:1051
+msgid "Allows you to disable the table of contents for the current post, page, or custom post type."
+msgstr ""
+
+#: toc.php:1056
+msgid "Produces a listing of all pages and categories for your site. You can use this on any post, page or even in a text widget."
+msgstr ""
+
+#: toc.php:1061
+msgid "Lets you print out a listing of only pages."
+msgstr ""
+
+#: toc.php:1064
+msgid "number between 1 and 6, defines which html heading to use"
+msgstr ""
+
+#: toc.php:1065
+msgid "text, title of the list"
+msgstr ""
+
+#: toc.php:1066
+msgid "true/false, shows or hides the list heading"
+msgstr ""
+
+#: toc.php:1067
+msgid "IDs of the pages or categories you wish to exclude"
+msgstr ""
+
+#: toc.php:1068
+msgid "ID of the page or category you wish to exclude including its all descendants"
+msgstr ""
+
+#: toc.php:1074
+msgid "Similar to [sitemap_pages] but for categories."
+msgstr ""
+
+#: toc.php:1079
+msgid "This lets you print out an index of all published posts on your site. By default, posts are listed in alphabetical order grouped by their first letters. There are CSS classes for each section, letter and list allowing you to customise the appearance."
+msgstr ""
+
+#: toc.php:1082
+msgid "text, either ASC or DESC"
+msgstr ""
+
+#: toc.php:1083
+#, php-format
+msgid "text, popular options include \"title\", \"date\", \"ID\", and \"rand\". See %1$sWP_Query%2$s for a list."
+msgstr ""
+
+#: toc.php:1084
+msgid "true/false (defaults to true), does not separate the lists by first letter when set to false."
+msgstr ""
+
+#: toc.php:1092
+msgid "I have another question..."
+msgstr ""
+
+#: toc.php:1093
+#, php-format
+msgid "Visit the %1$splugin homepage%2$s to ask your question - who knows, maybe your question has already been answered. I'd really like to hear your suggestions if you have any."
+msgstr ""
+
+#: toc.php:1095
+msgid "For developers"
+msgstr ""
+
+#: toc.php:1097
+msgid "How do I customise my anchors?"
+msgstr ""
+
+#: toc.php:1098
+msgid "If you're still not happy with the anchors, you can modify them to suit your needs through a custom function hooked into the <code>toc_url_anchor_target</code> filter. As an example, place the below code snippet into your functions.php file to convert all anchors to uppercase."
+msgstr ""
+
+#: toc.php:1108
+msgid "Returns a HTML formatted string of the table of contents without the surrounding UL or OL tags to allow the theme editor to supply their own ID and/or classes to the outer list."
+msgstr ""
+
+#: toc.php:1109
+msgid "Both parameters are optional:"
+msgstr ""
+
+#. translators: this explains the $content parameter
+#: toc.php:1113
+msgid "is the entire content with headings. If blank, will default to the current content found in $post (eg within \"the loop\")."
+msgstr ""
+
+#. translators: this explains the $prefix_url parameter
+#: toc.php:1116
+msgid "is the URL to prefix the anchor with. If a string was provided, it will be used as is. If set to \"true\" then will try to obtain the permalink from the $post object."
+msgstr ""
+
+#: toc.php:1118
+msgid "These examples assume you are within \"the loop\":"
+msgstr ""
+
+#: toc.php:1120
+msgid "Obtain the index for the current page"
+msgstr ""
+
+#: toc.php:1123
+msgid "Create a listing of all children and their headings"
+msgstr ""
+
+#: toc.php:1148
+msgid "Update Options"
+msgstr ""
+
+#: toc.php:1634
+msgid "Display the table of contents in the sidebar with this widget"
+msgstr ""
+
+#: toc.php:1726
+msgid "Show the table of contents only in the sidebar"
+msgstr ""
diff --git a/plugins/table-of-contents-plus/readme.txt b/plugins/table-of-contents-plus/readme.txt
new file mode 100644
index 00000000..4582d527
--- /dev/null
+++ b/plugins/table-of-contents-plus/readme.txt
@@ -0,0 +1,253 @@
+=== Table of Contents Plus ===
+Contributors: conjur3r
+Donate link:
+Tags: table of contents, indexes, toc, sitemap, cms, options, list, page listing, category listing
+Requires at least: 3.2
+Tested up to: 3.6
+Stable tag: 1308
+License: GPLv2 or later
+License URI: http://www.gnu.org/licenses/gpl-2.0.html
+
+A powerful yet user friendly plugin that automatically creates a table of contents. Can also output a sitemap listing all pages and categories.
+
+
+== Description ==
+
+A powerful yet user friendly plugin that automatically creates a context specific index or table of contents (TOC) for long pages (and custom post types). More than just a table of contents plugin, this plugin can also output a sitemap listing pages and/or categories across your entire site.
+
+Built from the ground up and with Wikipedia in mind, the table of contents by default appears before the first heading on a page. This allows the author to insert lead-in content that may summarise or introduce the rest of the page. It also uses a unique numbering scheme that doesn't get lost through CSS differences across themes.
+
+This plugin is a great companion for content rich sites such as content management system oriented configurations. That said, bloggers also have the same benefits when writing long structured articles. [Discover how Google](http://dublue.com/2012/05/12/another-benefit-to-structure-your-web-pages/) uses this index to provide 'Jump To' links to your content.
+
+Includes an administration options panel where you can customise settings like display position, define the minimum number of headings before an index is displayed, other appearance, and more. For power users, expand the advanced options to further tweak its behaviour - eg: exclude undesired heading levels like h5 and h6 from being included; disable the output of the included CSS file; adjust the top offset and more. Using shortcodes, you can override default behaviour such as special exclusions on a specific page or even to hide the table of contents altogether.
+
+Prefer to include the index in the sidebar? Go to Appearance > Widgets and drag the TOC+ to your desired sidebar and position.
+
+Custom post types are supported, however, auto insertion works only when the_content() has been used by the custom post type. Each post type will appear in the options panel, so enable the ones you want.
+
+= Available Languages =
+* Australian English (default)
+* Polish - [Jakub](http://notatki.4use.pl/)
+* Simplified Chinese - [icedream](http://www.tesfans.org/)
+* Slovak - Boris Gereg
+
+Translations are more than welcome. If you have any advice in making it easier to translate, please let me know.
+
+If you have questions or suggestions, please place them at [http://dublue.com/plugins/toc/](http://dublue.com/plugins/toc/)
+
+
+== Screenshots ==
+
+1. An example of the table of contents, positioned at the top, right aligned, and a width of 275px
+2. An example of the sitemap_pages shortcode
+3. An example of the sitemap_posts shortcode
+4. The options panel found in Settings > TOC+
+5. Some advanced options
+6. The sitemap tab
+
+
+== Installation ==
+
+The normal plugin install process applies, that is search for `table of contents plus` from your plugin screen or via the manual method:
+
+1. Upload the `table-of-contents-plus` folder into your `/wp-content/plugins/` directory
+1. Activate the plugin through the 'Plugins' menu in WordPress
+
+That's it! The table of contents will appear on pages with at least four or more headings.
+
+You can change the default settings and more under Settings > TOC+
+
+This plugin requires PHP 5.
+
+
+== Shortcodes ==
+
+When attributes are left out for the shortcodes below, they will fallback to the settings you defined under Settings > TOC+. The following are detailed in the help tab.
+
+= [toc] =
+Lets you generate the table of contents at the preferred position. Useful for sites that only require a TOC on a small handful of pages. Supports the following attributes:
+* "label": text, title of the table of contents
+* "no_label": true/false, shows or hides the title
+* "wrapping": text, either "left" or "right"
+* "heading_levels": numbers, this lets you select the heading levels you want included in the table of contents. Separate multiple levels with a comma. Example: include headings 3, 4 and 5 but exclude the others with `heading_levels="3,4,5"`
+
+= [no_toc] =
+Allows you to disable the table of contents for the current post, page, or custom post type.
+
+= [sitemap] =
+Produces a listing of all pages and categories for your site. You can use this on any post, page or even in a text widget. Note that this will not include an index of posts so use sitemap_posts if you need this listing.
+
+= [sitemap_pages] =
+Lets you print out a listing of only pages. The following attributes are accepted:
+* "heading": number between 1 and 6, defines which html heading to use
+* "label": text, title of the list
+* "no_label": true/false, shows or hides the list heading
+* "exclude": IDs of the pages or categories you wish to exclude
+* "exclude_tree": ID of the page or category you wish to exclude including its all descendants
+
+= [sitemap_categories] =
+Same as `[sitemap_pages]` but for categories.
+
+= [sitemap_posts] =
+This lets you print out an index of all published posts on your site. By default, posts are listed in alphabetical order grouped by their first letters. The following attributes are accepted:
+* "order": text, either ASC or DESC
+* "orderby": text, popular options include "title", "date", "ID", and "rand". See [WP_Query](https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters) for a list.
+* "separate": true/false (defaults to true), does not separate the lists by first letter when set to false.
+Use the following CSS classes to customise the appearance of your listing:
+* toc_sitemap_posts_section
+* toc_sitemap_posts_letter
+* toc_sitemap_posts_list
+
+
+== Changelog ==
+
+= 1308 =
+* Released: 5 August 2013
+* Fix javascript issue with minimum jQuery version check (broke smooth scrolling using WordPress 3.6).
+* Replaced Slovak translation with a human translated version courtesy Boris Gereg.
+* Remove <!--TOC--> signature from source when using the shortcode but not allowed to print (eg on homepage).
+* Add "separate" attribute for sitemap_posts shortcode to not split by letter, thanks [DavidMjps](http://wordpress.org/support/topic/exclude-alphabetical-headings-on-sitemap) for the suggestion.
+
+= 1303.1 =
+* Released: 22 March 2013
+* New: added Polish translation, curtesy [Jakub](http://notatki.4use.pl/).
+* Fixed: an issue in 1303 that ignored headings with the opening tag on the first line and the heading text on a new line. Thanks to [richardsng](http://wordpress.org/support/topic/unable-to-display-the-full-toc) for the quick discovery.
+
+= 1303 =
+* Released: 21 March 2013
+* New: option auto insert after the first heading. Thanks to [@thelawnetwork](http://dublue.com/plugins/toc/comment-page-4/#comment-1782) for requesting it.
+* New: allow headings to be excluded from the table of contents. This is available both globally under the advanced section of Settings > TOC+ and individually with the TOC shortcode. Check out the help material for examples. Thanks to the many of you that requested it.
+* New: advanced option to lowercase all anchors. The default is off.
+* New: advanced option to use hyphens rather than underscores in anchors. The default is off.
+* New: shortcode to list all posts in alphabetical order grouped by first letter.
+* New: added Slovak translation, curtesy [Branco Radenovich](http://webhostinggeeks.com/user-reviews/).
+* Add version numbers to CSS/JS files to better support setups that cache these files heavily for timely invalidation. Thanks to [boxcarpress](http://wordpress.org/support/topic/some-changes-we-made-that-you-might-consider) for the amendments.
+* Add CSS class 'contracted' to #toc_container when the table of contents is hidden. Thanks to [Sam](http://wordpress.org/support/topic/hide-link-not-working?replies=6#post-3968019) for suggesting it.
+* With smooth scroll enabled, do not use an offset if no admin bar is present and the offset value is default. This means that public users do not have the offset space at the top.
+* New help material for developers under the help tab.
+* Added API function: toc_get_index() lets you retrieve a table of contents to be placed within PHP. Check out the new developer help material for examples.
+* Allow anchors to be filterable using toc_url_anchor_target to customise further through code. Check the new developer help material for an example. Thanks to [Russell Heimlich](http://dublue.com/plugins/toc/comment-page-4/#comment-1713) for the tip.
+* Adjust CSS and JS registration.
+* Updated jQuery Smooth Scroll to 1.4.10.
+* Fixed: When using the widget, addressed an issue where the index with special characters (such as ' and ") would not link to the correct spot within the content. Thanks to [esandman](http://wordpress.org/support/topic/problems-with-apostrophes-and-quotation-marks) for raising it.
+* Fixed: Saving at Settings > TOC+ resets TOC+ widget options. Thanks to [Chris](http://dublue.com/plugins/toc/comment-page-4/#comment-1808) for reporting it.
+
+= 1211 =
+* Released: 17 November 2012
+* New: allow %PAGE_TITLE% to be used in the TOC title. Note that this also works in the widget title too. When used, this variable will be replaced with the current page's title. Thanks to [Peter](http://dublue.com/plugins/toc/comment-page-3/#comment-4782) for the request.
+* New: new option to hide the TOC initially. Thanks to [Jonas](http://dublue.com/plugins/toc/comment-page-2/#comment-852), [Jonathan](http://dublue.com/plugins/toc/comment-page-2/#comment-2161), and [Doc Germanicus](http://dublue.com/plugins/toc/comment-page-4/#comment-5048) for requesting it.
+* New: added ability to customise visited TOC link colour.
+* New: option to restrict generation to a URL path match. For example, you can restrict to wiki pages that fall under http://domain/wiki/ by entering /wiki/ into the field. The setting can be found in the advanced options. Thanks to [Tux](http://dublue.com/plugins/toc/comment-page-3/#comment-4466) and [Justine Smithies](http://dublue.com/plugins/toc/comment-page-3/#comment-5000) for suggesting it.
+* Make regular expressions less greedy. That means you can have multiple headings on a single line whereas before you needed to ensure each heading was on their own line. Thanks to [drdamour](http://wordpress.org/support/topic/widget-isnt-showing-up) for raising and providing a fix.
+* Also make regular expressions match across multiple lines. This means you can have your single heading split across many lines.
+* Better accessibility: when using smooth scrolling, allow for focus to follow the target, eg tabbing through will continue from the content block you clicked through to.
+* Better performance: as requested by a few, javascript files have been consolidated into one and both javascript and CSS files are now minified.
+* 'Auto' is now the default width which means it'll take up the needed amount of space up to 100%. The previous default was a fixed width of 275px.
+* Added the ability to exclude entire branches when using [sitemap_pages] and [sitemap_categories] using the exclude_tree attribute. Thanks to [Benny Powers](http://dublue.com/plugins/toc/comment-page-3/#comment-3607) for requesting it.
+* Wrap index numbers around span tags to enable easier CSS customisation. The spans are have two classes: toc_number and toc_depth_X where X is between 1 and 6. Thanks to [Matthias Krok](http://dublue.com/plugins/toc/comment-page-3/#comment-3922) for requesting it.
+* Moved the 'preserve theme bullets' option into the advanced section.
+* Updated and simplified the translation file.
+* Fixed: [sitemap_categories] using the wrong label when none was specified. Thanks to [brandt-net](http://wordpress.org/support/topic/plugin-table-of-contents-plus-sitemap-setting-categories-label-of-sitemap_categories-not-shown) for raising it. The labels for both [sitemap_pages] and [sitemap_categories] may be removed in a future update as you can insert the title within your content.
+
+= 1208 =
+* Released: 2 August 2012
+* New: advanced option to prevent the output of this plugin's CSS. This option allows the site owner to incorporate styles in one of their existing style sheets. Thanks to [Ivan](http://dublue.com/plugins/toc/comment-page-1/#comment-226) and [Swashata](http://dublue.com/plugins/toc/comment-page-3/#comment-3312) for suggesting it.
+* Added Simplified Chinese translation thanks to [icedream](http://www.tesfans.org/)
+* Make more translatable by adding a translation POT file in the languages folder. Translations welcome!
+* Adjust multibyte string detection as reported by [johnnyvaughan](http://wordpress.org/support/topic/plugin-table-of-contents-plus-multibyte-string-detetction)
+* Support PHP 5.4.x installations. Thanks to [Josh](http://dublue.com/plugins/toc/comment-page-3/#comment-3477) for raising it.
+* Fixed: -2 appearing in links when using the TOC+ widget. Thanks to [Arturo](http://dublue.com/plugins/toc/comment-page-3/#comment-3337) for raising it.
+
+= 1207 =
+* Released: 23 July 2012
+* New: when smooth scrolling is enabled, allow the top offset to be specified to support more than the WordPress admin bar (such as Twitter Bootstrap). The offset is displayed in the advanced section after you have enabled smooth scrolling. Thanks to [Nicolaus](http://dublue.com/2012/05/12/another-benefit-to-structure-your-web-pages/#comment-2611) for the suggestion.
+* Allow 2 headings to be set as the minimum (used to be 3). Thanks to [Fran](http://dublue.com/plugins/toc/comment-page-2/#comment-779) for justifying it.
+* Run later in the process so other plugins don't alter the anchor links (eg Google Analytics for WordPress).
+* Do not show a TOC in RSS feeds. Thanks to [Swashata](http://dublue.com/plugins/toc/comment-page-3/#comment-2875) for raising it.
+* Bump tested version to WordPress 3.5-alpha.
+* Added help material about why some headings may not be appearing.
+* Added banner image for WordPress repository listing.
+* Updated readme.txt with GPLv2 licensing.
+
+= 1112.1 =
+* Released: 9 December 2011
+* Forgot to update version number.
+
+= 1112 =
+* Released: 9 December 2011
+* New: auto width option added which takes up only the needed amount of horizontal space up to 100%.
+* Removed trailing - or _ characters from the anchor to make it more pretty.
+* This plugin's long name has changed from "Table of Contents+" to "Table of Contents Plus". The short name remains as "TOC+".
+* Fixed: when using the TOC shortcode within your content, your post or article would display the TOC on the homepage despite having the exclude from homepage option enabled. If you also used the "more tag", then you may have resulted with an empty TOC box. These are now addressed.
+* Fixed: all anchors ending with "-2" when no headings were repeated. This was caused by plugins and themes that trigger `the_content` filter. The counters are now reset everytime `the_content` is run rather than only on initialisation.
+
+= 1111 =
+* Released: 11 November 2011
+* New: option to adjust the font size. Thanks to [DJ](http://dublue.com/plugins/toc/comment-page-1/#comment-323) for the suggestion. The default remains at 95%.
+* New: advanced option to select the heading levels (1 to 6) to be included. Thanks to those that hinted about wanting to achieve this.
+* New: you can now have the TOC appear in the sidebar via the TOC+ widget. Thanks to [Nick Daugherty](http://dublue.com/plugins/toc/comment-page-1/#comment-172) and [DJ](http://dublue.com/plugins/toc/comment-page-1/#comment-323) for the suggestion.
+* The TOC shortcode now supports the *heading_levels* attribute to allow you to limit the headings you want to appear in the table of contents on a per instance basis. Separate multiple headings with a comma. For example: include headings 3, 4 and 5 but exclude the others with `[toc heading_levels="3,4,5"]`
+* The TOC shortcode also supports the *wrapping* attribute with possible values: "left" or "right". This lets you wrap text next to the table of contents on a per instance basis. Thanks to [Phil](http://dublue.com/plugins/toc/comment-page-1/#comment-331) for the suggestion.
+* Better internal numbering system to avoid repeated headings. This means that for non-repeated headings, there is no trailing number in the anchor.
+* Consolidated information about shortcodes and their attributes into the help tab.
+* Fixed: repeated headings on the same level are no longer broken. For users with international character sets, please report any strange garbage characters in your headings (eg a character ends up being a question mark, square symbol, or diamond). Thanks to [Juozas](http://dublue.com/plugins/toc/comment-page-2/#comment-441) for the assistance.
+* Fixed: removed PHP notices on a verbosely configured PHP setup.
+* Fixed: suppress TOC frame output when heading count was less than the minimum required.
+* Note: when removing the last TOC+ widget, please make sure you disable the "Show the table of contents only in the sidebar" option otherwise your table of contents won't appear where you'd expect. I will look to address this in the future.
+
+= 1109 =
+* Released: 12 September 2011
+* Adjusted hide action for a smoother transition.
+* Apply custom link and hover colours (when selected) to show/hide link in the title.
+* Renamed jquery.cookie.min.js to jquery.c.min.js to overcome false positive with [mod_security](https://www.modsecurity.org/tracker/browse/CORERULES-29). Mod_security would block requests to this file which would break the ability to save a user's show/hide preference. In some cases, it has also broken other javascript functionality. Additionally, a better graceful non disruptive fallback is now in place to prevent possible repeat. Thanks goes to Shonie for helping debug the issue.
+* Moved 'visibility option' into 'heading text'.
+* Fixed: restored smooth scroll effect for Internet Explorer since 1108.2 introduced 'pathname' checks.
+
+= 1108.2 =
+* Released: 26 August 2011
+* New: visibility option to show/hide the table of contents. This option is enabled by default so if you don't want it, turn it off in the options. Thanks to [Wafflecone](http://dublue.com/plugins/toc/#comment-123) and [Mike](http://dublue.com/plugins/toc/comment-page-1/#comment-160) for the suggestion.
+* New: transparent presentation option added.
+* New: custom presentation option with colour wheel for you to select your own background, border, title and link colours.
+* TOC display on homepage has been disabled by default as most configurations would not require it there. If you want to enable it, you can do so under a new advanced admin option "Include homepage".
+* Make smooth scrolling less zealous with anchors and be more compatible with other plugins that may use # to initiate custom javascript actions.
+* Minor admin cross browser CSS enhancements like background gradients and indents.
+
+= 1108.1 =
+* Released: 3 August 2011
+* Anchor targets (eg anything after #) are now limited to ASCII characters as some mobile user agents do not accept internationalised characters. This is also a recommendation in the [HTML spec](http://www.w3.org/TR/html4/struct/links.html#h-12.2.1). A new advanced admin option has been added to specify the default prefix when no characters qualify.
+* Make TOC, Pages and Category labels compatible with UTF-8 characters.
+* Support ' " \ characters in labels as it was being escaped by WordPress before saving.
+
+= 1108 =
+* Released: 1 August 2011
+* New: option to hide the title on top of the table of contents. Thanks to [Andrew](http://dublue.com/plugins/toc/#comment-82) for the suggestion.
+* New: option to preserve existing theme specified bullet images for unordered list elements.
+* New: option to set the width of the table of contents. You can select from a number of common widths, or define your own.
+* Allow 3 to be set as the minimum number of headings for auto insertion. The default stays at 4.
+* Now accepts heading 1s (h1) within the body of a post, page or custom post type.
+* Now creates new span tags for the target rather than the id of the heading.
+* Now uses the heading as the anchor target rather than toc_index.
+* Adjusted CSS styles for lists to be a little more consistent across themes (eg list-style, margins & paddings).
+* Fixed: typo 'heirarchy' should be 'hierarchy'. Also thanks to Andrew.
+* Fixed: addressed an issue while saving on networked installs using sub directories. Thanks to [Aubrey](http://dublue.com/plugins/toc/#comment-79).
+* Fixed: closing of the last list item when deeply nested.
+
+= 1107.1 =
+* Released: 10 July 2011
+* New: added `[toc]` shortcode to generate the table of contents at the preferred position. Also useful for sites that only require a TOC on a small handful of pages.
+* New: smooth scroll effect added to animate to anchor rather than jump. It's off by default.
+* New: appearance options to match your theme a little bit more.
+
+= 1107 =
+* Released: 1 July 2011
+* First world release (functional & feature packed)
+
+
+== Frequently Asked Questions ==
+
+Check out the FAQs / Scenarios at [http://dublue.com/plugins/toc/#Scenarios_FAQs](http://dublue.com/plugins/toc/#Scenarios_FAQs)
+
+
+== Upgrade Notice ==
+
+Update folder with the latest files. All previous options will be saved. \ No newline at end of file
diff --git a/plugins/table-of-contents-plus/screen.css b/plugins/table-of-contents-plus/screen.css
new file mode 100644
index 00000000..4fbac26b
--- /dev/null
+++ b/plugins/table-of-contents-plus/screen.css
@@ -0,0 +1 @@
+#toc_container ul,#toc_container li{margin:0;padding:0}#toc_container.no_bullets ul,#toc_container.no_bullets li,#toc_container.no_bullets ul li,.toc_widget_list,.toc_widget_list li{background:none;list-style-type:none;list-style:none}#toc_container.have_bullets li{padding-left:12px}#toc_container ul ul{margin-left:1.5em}#toc_container{background:#f9f9f9;border:1px solid #aaa;padding:10px;margin-bottom:1em;width:auto;display:table;font-size:95%}#toc_container.toc_light_blue{background:#edf6ff}#toc_container.toc_white{background:#fff}#toc_container.toc_black{background:#000}#toc_container.toc_transparent{background:none transparent}#toc_container p.toc_title{text-align:center;font-weight:bold;margin:0;padding:0}#toc_container.toc_black p.toc_title{color:#aaa}#toc_container span.toc_toggle{font-weight:normal;font-size:90%}#toc_container p.toc_title + ul.toc_list{margin-top:1em}.toc_wrap_left{float:left;margin-right:10px}.toc_wrap_right{float:right;margin-left:10px}#toc_container a{text-decoration:none}#toc_container a:hover{text-decoration:underline}.toc_sitemap_posts_letter{font-size:1.5em;font-style:italic} \ No newline at end of file
diff --git a/plugins/table-of-contents-plus/screenshot-1.png b/plugins/table-of-contents-plus/screenshot-1.png
new file mode 100644
index 00000000..385f1e08
--- /dev/null
+++ b/plugins/table-of-contents-plus/screenshot-1.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/screenshot-2.png b/plugins/table-of-contents-plus/screenshot-2.png
new file mode 100644
index 00000000..a282d673
--- /dev/null
+++ b/plugins/table-of-contents-plus/screenshot-2.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/screenshot-3.png b/plugins/table-of-contents-plus/screenshot-3.png
new file mode 100644
index 00000000..ea076a3f
--- /dev/null
+++ b/plugins/table-of-contents-plus/screenshot-3.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/screenshot-4.png b/plugins/table-of-contents-plus/screenshot-4.png
new file mode 100755
index 00000000..00312037
--- /dev/null
+++ b/plugins/table-of-contents-plus/screenshot-4.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/screenshot-5.png b/plugins/table-of-contents-plus/screenshot-5.png
new file mode 100755
index 00000000..3558bcd7
--- /dev/null
+++ b/plugins/table-of-contents-plus/screenshot-5.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/screenshot-6.png b/plugins/table-of-contents-plus/screenshot-6.png
new file mode 100755
index 00000000..9b06202d
--- /dev/null
+++ b/plugins/table-of-contents-plus/screenshot-6.png
Binary files differ
diff --git a/plugins/table-of-contents-plus/toc.php b/plugins/table-of-contents-plus/toc.php
new file mode 100644
index 00000000..4de34cb7
--- /dev/null
+++ b/plugins/table-of-contents-plus/toc.php
@@ -0,0 +1,1775 @@
+<?php
+/*
+Plugin Name: Table of Contents Plus
+Plugin URI: http://dublue.com/plugins/toc/
+Description: A powerful yet user friendly plugin that automatically creates a table of contents. Can also output a sitemap listing all pages and categories.
+Author: Michael Tran
+Author URI: http://dublue.com/
+Version: 1308
+License: GPL2
+*/
+
+/* Copyright 2012 Michael Tran (michael@dublue.com)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License, version 2, as
+ published by the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+/*
+GPL licenced Oxygen icon used for the colour wheel - http://www.iconfinder.com/search/?q=iconset%3Aoxygen
+*/
+
+/**
+FOR CONSIDERATION:
+- back to top links
+- sitemap
+ - easier exclude pages/categories
+ - support other taxonomies
+- advanced options
+ - highlight target css
+*/
+
+define( 'TOC_VERSION', '1308' );
+define( 'TOC_POSITION_BEFORE_FIRST_HEADING', 1 );
+define( 'TOC_POSITION_TOP', 2 );
+define( 'TOC_POSITION_BOTTOM', 3 );
+define( 'TOC_POSITION_AFTER_FIRST_HEADING', 4 );
+define( 'TOC_MIN_START', 2 );
+define( 'TOC_MAX_START', 10 );
+define( 'TOC_SMOOTH_SCROLL_OFFSET', 30 );
+define( 'TOC_WRAPPING_NONE', 0 );
+define( 'TOC_WRAPPING_LEFT', 1 );
+define( 'TOC_WRAPPING_RIGHT', 2 );
+define( 'TOC_THEME_GREY', 1 );
+define( 'TOC_THEME_LIGHT_BLUE', 2 );
+define( 'TOC_THEME_WHITE', 3 );
+define( 'TOC_THEME_BLACK', 4 );
+define( 'TOC_THEME_TRANSPARENT', 99 );
+define( 'TOC_THEME_CUSTOM', 100 );
+define( 'TOC_DEFAULT_BACKGROUND_COLOUR', '#f9f9f9' );
+define( 'TOC_DEFAULT_BORDER_COLOUR', '#aaaaaa' );
+define( 'TOC_DEFAULT_TITLE_COLOUR', '#' );
+define( 'TOC_DEFAULT_LINKS_COLOUR', '#' );
+define( 'TOC_DEFAULT_LINKS_HOVER_COLOUR', '#' );
+define( 'TOC_DEFAULT_LINKS_VISITED_COLOUR', '#' );
+
+
+if ( !class_exists( 'toc' ) ) :
+ class toc {
+
+ private $path; // eg /wp-content/plugins/toc
+ private $options;
+ private $show_toc; // allows to override the display (eg through [no_toc] shortcode)
+ private $exclude_post_types;
+ private $collision_collector; // keeps a track of used anchors for collision detecting
+
+ function __construct()
+ {
+ $this->path = plugins_url( '', __FILE__ );
+ $this->show_toc = true;
+ $this->exclude_post_types = array( 'attachment', 'revision', 'nav_menu_item', 'safecss' );
+ $this->collision_collector = array();
+
+ // get options
+ $defaults = array( // default options
+ 'fragment_prefix' => 'i',
+ 'position' => TOC_POSITION_BEFORE_FIRST_HEADING,
+ 'start' => 4,
+ 'show_heading_text' => true,
+ 'heading_text' => 'Contents',
+ 'auto_insert_post_types' => array('page'),
+ 'show_heirarchy' => true,
+ 'ordered_list' => true,
+ 'smooth_scroll' => false,
+ 'smooth_scroll_offset' => TOC_SMOOTH_SCROLL_OFFSET,
+ 'visibility' => true,
+ 'visibility_show' => 'show',
+ 'visibility_hide' => 'hide',
+ 'visibility_hide_by_default' => false,
+ 'width' => 'Auto',
+ 'width_custom' => '275',
+ 'width_custom_units' => 'px',
+ 'wrapping' => TOC_WRAPPING_NONE,
+ 'font_size' => '95',
+ 'font_size_units' => '%',
+ 'theme' => TOC_THEME_GREY,
+ 'custom_background_colour' => TOC_DEFAULT_BACKGROUND_COLOUR,
+ 'custom_border_colour' => TOC_DEFAULT_BORDER_COLOUR,
+ 'custom_title_colour' => TOC_DEFAULT_TITLE_COLOUR,
+ 'custom_links_colour' => TOC_DEFAULT_LINKS_COLOUR,
+ 'custom_links_hover_colour' => TOC_DEFAULT_LINKS_HOVER_COLOUR,
+ 'custom_links_visited_colour' => TOC_DEFAULT_LINKS_VISITED_COLOUR,
+ 'lowercase' => false,
+ 'hyphenate' => false,
+ 'bullet_spacing' => false,
+ 'include_homepage' => false,
+ 'exclude_css' => false,
+ 'exclude' => '',
+ 'heading_levels' => array('1', '2', '3', '4', '5', '6'),
+ 'restrict_path' => '',
+ 'sitemap_show_page_listing' => true,
+ 'sitemap_show_category_listing' => true,
+ 'sitemap_heading_type' => 3,
+ 'sitemap_pages' => 'Pages',
+ 'sitemap_categories' => 'Categories',
+ 'show_toc_in_widget_only' => false
+ );
+ $options = get_option( 'toc-options', $defaults );
+ $this->options = wp_parse_args( $options, $defaults );
+
+ add_action( 'plugins_loaded', array(&$this, 'plugins_loaded') );
+ add_action( 'wp_enqueue_scripts', array(&$this, 'wp_enqueue_scripts') );
+ add_action( 'wp_head', array(&$this, 'wp_head') );
+ add_action( 'admin_init', array(&$this, 'admin_init') );
+ add_action( 'admin_menu', array(&$this, 'admin_menu') );
+ add_action( 'widgets_init', array(&$this, 'widgets_init') );
+
+ add_filter( 'the_content', array(&$this, 'the_content'), 100 ); // run after shortcodes are interpretted (level 10)
+ add_filter( 'plugin_action_links', array(&$this, 'plugin_action_links'), 10, 2 );
+ add_filter( 'widget_text', 'do_shortcode' );
+
+ add_shortcode( 'toc', array(&$this, 'shortcode_toc') );
+ add_shortcode( 'no_toc', array(&$this, 'shortcode_no_toc') );
+ add_shortcode( 'sitemap', array(&$this, 'shortcode_sitemap') );
+ add_shortcode( 'sitemap_pages', array(&$this, 'shortcode_sitemap_pages') );
+ add_shortcode( 'sitemap_categories', array(&$this, 'shortcode_sitemap_categories') );
+ add_shortcode( 'sitemap_posts', array(&$this, 'shortcode_sitemap_posts') );
+ }
+
+
+ function __destruct()
+ {
+ }
+
+
+ public function get_options()
+ {
+ return $this->options;
+ }
+
+
+ public function set_show_toc_in_widget_only( $value = false )
+ {
+ if ( $value )
+ $this->options['show_toc_in_widget_only'] = true;
+ else
+ $this->options['show_toc_in_widget_only'] = false;
+
+ update_option( 'toc-options', $this->options );
+ }
+
+
+ function plugin_action_links( $links, $file )
+ {
+ if ( $file == 'table-of-contents-plus/' . basename(__FILE__) ) {
+ $settings_link = '<a href="options-general.php?page=toc">' . __('Settings', 'toc+') . '</a>';
+ $links = array_merge( array( $settings_link ), $links );
+ }
+ return $links;
+ }
+
+
+ function shortcode_toc( $atts )
+ {
+ extract( shortcode_atts( array(
+ 'label' => $this->options['heading_text'],
+ 'label_show' => $this->options['visibility_show'],
+ 'label_hide' => $this->options['visibility_hide'],
+ 'no_label' => false,
+ 'wrapping' => $this->options['wrapping'],
+ 'heading_levels' => $this->options['heading_levels'],
+ 'exclude' => $this->options['exclude']
+ ), $atts )
+ );
+
+ if ( $no_label ) $this->options['show_heading_text'] = false;
+ if ( $label ) $this->options['heading_text'] = html_entity_decode( $label );
+ if ( $label_show ) $this->options['visibility_show'] = html_entity_decode( $label_show );
+ if ( $label_hide ) $this->options['visibility_hide'] = html_entity_decode( $label_hide );
+ if ( $wrapping ) {
+ switch ( strtolower(trim($wrapping)) ) {
+ case 'left':
+ $this->options['wrapping'] = TOC_WRAPPING_LEFT;
+ break;
+
+ case 'right':
+ $this->options['wrapping'] = TOC_WRAPPING_RIGHT;
+ break;
+
+ default:
+ // do nothing
+ }
+ }
+
+ if ( $exclude ) $this->options['exclude'] = $exclude;
+
+ // if $heading_levels is an array, then it came from the global options
+ // and wasn't provided by per instance
+ if ( $heading_levels && !is_array($heading_levels) ) {
+ // make sure they are numbers between 1 and 6 and put into
+ // the $clean_heading_levels array if not already
+ $clean_heading_levels = array();
+ foreach (explode(',', $heading_levels) as $heading_level) {
+ if ( is_numeric($heading_level) ) {
+ if ( 1 <= $heading_level && $heading_level <= 6 ) {
+ if ( !in_array($heading_level, $clean_heading_levels) ) {
+ $clean_heading_levels[] = $heading_level;
+ }
+ }
+ }
+ }
+
+ if ( count($clean_heading_levels) > 0 )
+ $this->options['heading_levels'] = $clean_heading_levels;
+ }
+
+ if ( !is_search() && !is_archive() && !is_feed() )
+ return '<!--TOC-->';
+ else
+ return;
+ }
+
+
+ function shortcode_no_toc( $atts )
+ {
+ $this->show_toc = false;
+
+ return;
+ }
+
+
+ function shortcode_sitemap( $atts )
+ {
+ $html = '';
+
+ // only do the following if enabled
+ if ( $this->options['sitemap_show_page_listing'] || $this->options['sitemap_show_category_listing'] ) {
+ $html = '<div class="toc_sitemap">';
+ if ( $this->options['sitemap_show_page_listing'] )
+ $html .=
+ '<h' . $this->options['sitemap_heading_type'] . ' class="toc_sitemap_pages">' . htmlentities( $this->options['sitemap_pages'], ENT_COMPAT, 'UTF-8' ) . '</h' . $this->options['sitemap_heading_type'] . '>' .
+ '<ul class="toc_sitemap_pages_list">' .
+ wp_list_pages( array('title_li' => '', 'echo' => false ) ) .
+ '</ul>'
+ ;
+ if ( $this->options['sitemap_show_category_listing'] )
+ $html .=
+ '<h' . $this->options['sitemap_heading_type'] . ' class="toc_sitemap_categories">' . htmlentities( $this->options['sitemap_categories'], ENT_COMPAT, 'UTF-8' ) . '</h' . $this->options['sitemap_heading_type'] . '>' .
+ '<ul class="toc_sitemap_categories_list">' .
+ wp_list_categories( array( 'title_li' => '', 'echo' => false ) ) .
+ '</ul>'
+ ;
+ $html .= '</div>';
+ }
+
+ return $html;
+ }
+
+
+ function shortcode_sitemap_pages( $atts )
+ {
+ extract( shortcode_atts( array(
+ 'heading' => $this->options['sitemap_heading_type'],
+ 'label' => htmlentities( $this->options['sitemap_pages'], ENT_COMPAT, 'UTF-8' ),
+ 'no_label' => false,
+ 'exclude' => '',
+ 'exclude_tree' => ''
+ ), $atts )
+ );
+
+ if ( $heading < 1 || $heading > 6 ) // h1 to h6 are valid
+ $heading = $this->options['sitemap_heading_type'];
+
+ $html = '<div class="toc_sitemap">';
+ if ( !$no_label ) $html .= '<h' . $heading . ' class="toc_sitemap_pages">' . $label . '</h' . $heading . '>';
+ $html .=
+ '<ul class="toc_sitemap_pages_list">' .
+ wp_list_pages( array('title_li' => '', 'echo' => false, 'exclude' => $exclude, 'exclude_tree' => $exclude_tree ) ) .
+ '</ul>' .
+ '</div>'
+ ;
+
+ return $html;
+ }
+
+
+ function shortcode_sitemap_categories( $atts )
+ {
+ extract( shortcode_atts( array(
+ 'heading' => $this->options['sitemap_heading_type'],
+ 'label' => htmlentities( $this->options['sitemap_categories'], ENT_COMPAT, 'UTF-8' ),
+ 'no_label' => false,
+ 'exclude' => '',
+ 'exclude_tree' => ''
+ ), $atts )
+ );
+
+ if ( $heading < 1 || $heading > 6 ) // h1 to h6 are valid
+ $heading = $this->options['sitemap_heading_type'];
+
+ $html = '<div class="toc_sitemap">';
+ if ( !$no_label ) $html .= '<h' . $heading . ' class="toc_sitemap_categories">' . $label . '</h' . $heading . '>';
+ $html .=
+ '<ul class="toc_sitemap_categories_list">' .
+ wp_list_categories( array('title_li' => '', 'echo' => false, 'exclude' => $exclude, 'exclude_tree' => $exclude_tree ) ) .
+ '</ul>' .
+ '</div>'
+ ;
+
+ return $html;
+ }
+
+
+ function shortcode_sitemap_posts( $atts )
+ {
+ extract( shortcode_atts( array(
+ 'order' => 'ASC',
+ 'orderby' => 'title',
+ 'separate' => true
+ ), $atts )
+ );
+
+ $articles = new WP_Query(array(
+ 'post_type' => 'post',
+ 'post_status' => 'publish',
+ 'order' => $order,
+ 'orderby' => $orderby,
+ 'posts_per_page' => -1
+ ));
+
+ $html = $letter = '';
+
+ $separate = strtolower($separate);
+ if ( $separate == 'false' || $separate == 'no') $separate = false;
+
+ while ( $articles->have_posts() ) {
+ $articles->the_post();
+ $title = get_the_title();
+
+ if ( $separate ) {
+ if ( $letter != strtolower($title[0]) ) {
+ if ( $letter ) $html .= '</ul></div>';
+
+ $html .= '<div class="toc_sitemap_posts_section"><p class="toc_sitemap_posts_letter">' . strtolower($title[0]) . '</p><ul class="toc_sitemap_posts_list">';
+ $letter = strtolower($title[0]);
+ }
+ }
+
+ $html .= '<li><a href="' . get_permalink($articles->post->ID) . '">' . $title . '</a></li>';
+ }
+
+ if ( $html ) {
+ if ( $separate )
+ $html .= '</div>';
+ else
+ $html = '<div class="toc_sitemap_posts_section"><ul class="toc_sitemap_posts_list">' . $html . '</ul></div>';
+ }
+
+ wp_reset_postdata();
+
+ return $html;
+ }
+
+
+ /**
+ * Register and load CSS and javascript files for frontend.
+ */
+ function wp_enqueue_scripts()
+ {
+ $js_vars = array();
+
+
+ // register our CSS and scripts
+ wp_register_style( 'toc-screen', $this->path . '/screen.css', array(), TOC_VERSION );
+ wp_register_script( 'toc-front', $this->path . '/front.js', array('jquery'), TOC_VERSION, true );
+
+
+ // enqueue them!
+ if ( !$this->options['exclude_css'] ) wp_enqueue_style("toc-screen");
+
+ if ( $this->options['smooth_scroll'] ) $js_vars['smooth_scroll'] = true;
+ wp_enqueue_script( 'toc-front' );
+ if ( $this->options['show_heading_text'] && $this->options['visibility'] ) {
+ $width = ( $this->options['width'] != 'User defined' ) ? $this->options['width'] : $this->options['width_custom'] . $this->options['width_custom_units'];
+ $js_vars['visibility_show'] = esc_js($this->options['visibility_show']);
+ $js_vars['visibility_hide'] = esc_js($this->options['visibility_hide']);
+ if ( $this->options['visibility_hide_by_default'] ) $js_vars['visibility_hide_by_default'] = true;
+ $js_vars['width'] = esc_js($width);
+ }
+ if ( $this->options['smooth_scroll_offset'] != TOC_SMOOTH_SCROLL_OFFSET )
+ $js_vars['smooth_scroll_offset'] = esc_js($this->options['smooth_scroll_offset']);
+
+ if ( count($js_vars) > 0 ) {
+ wp_localize_script(
+ 'toc-front',
+ 'tocplus',
+ $js_vars
+ );
+ }
+ }
+
+
+ function plugins_loaded()
+ {
+ load_plugin_textdomain( 'toc+', false, dirname(plugin_basename(__FILE__)) . '/languages/' );
+ }
+
+
+ function admin_init()
+ {
+ wp_register_script( 'toc_admin_script', $this->path . '/admin.js' );
+ wp_register_style( 'toc_admin_style', $this->path . '/admin.css' );
+ }
+
+
+ function admin_menu()
+ {
+ $page = add_submenu_page(
+ 'options-general.php',
+ __('TOC', 'toc+') . '+',
+ __('TOC', 'toc+') . '+',
+ 'manage_options',
+ 'toc',
+ array(&$this, 'admin_options')
+ );
+
+ add_action( 'admin_print_styles-' . $page, array(&$this, 'admin_options_head') );
+ }
+
+
+ function widgets_init()
+ {
+ register_widget('toc_widget');
+ }
+
+
+ /**
+ * Load needed scripts and styles only on the toc administration interface.
+ */
+ function admin_options_head()
+ {
+ wp_enqueue_style( 'farbtastic' );
+ wp_enqueue_script( 'farbtastic' );
+ wp_enqueue_script( 'jquery' );
+ wp_enqueue_script( 'toc_admin_script' );
+ wp_enqueue_style( 'toc_admin_style' );
+ }
+
+
+ /**
+ * Tries to convert $string into a valid hex colour.
+ * Returns $default if $string is not a hex value, otherwise returns verified hex.
+ */
+ private function hex_value( $string = '', $default = '#' )
+ {
+ $return = $default;
+
+ if ( $string ) {
+ // strip out non hex chars
+ $return = preg_replace( '/[^a-fA-F0-9]*/', '', $string );
+
+ switch ( strlen($return) ) {
+ case 3: // do next
+ case 6:
+ $return = '#' . $return;
+ break;
+
+ default:
+ if ( strlen($return) > 6 )
+ $return = '#' . substr($return, 0, 6); // if > 6 chars, then take the first 6
+ elseif ( strlen($return) > 3 && strlen($return) < 6 )
+ $return = '#' . substr($return, 0, 3); // if between 3 and 6, then take first 3
+ else
+ $return = $default; // not valid, return $default
+ }
+ }
+
+ return $return;
+ }
+
+
+ private function save_admin_options()
+ {
+ global $post_id;
+
+ // security check
+ if ( !wp_verify_nonce( @$_POST['toc-admin-options'], plugin_basename(__FILE__) ) )
+ return false;
+
+ // require an administrator level to save
+ if ( !current_user_can( 'manage_options', $post_id ) )
+ return false;
+
+ // use stripslashes on free text fields that can have ' " \
+ // WordPress automatically slashes these characters as part of
+ // wp-includes/load.php::wp_magic_quotes()
+
+ $custom_background_colour = $this->hex_value( trim($_POST['custom_background_colour']), TOC_DEFAULT_BACKGROUND_COLOUR );
+ $custom_border_colour = $this->hex_value( trim($_POST['custom_border_colour']), TOC_DEFAULT_BORDER_COLOUR );
+ $custom_title_colour = $this->hex_value( trim($_POST['custom_title_colour']), TOC_DEFAULT_TITLE_COLOUR );
+ $custom_links_colour = $this->hex_value( trim($_POST['custom_links_colour']), TOC_DEFAULT_LINKS_COLOUR );
+ $custom_links_hover_colour = $this->hex_value( trim($_POST['custom_links_hover_colour']), TOC_DEFAULT_LINKS_HOVER_COLOUR );
+ $custom_links_visited_colour = $this->hex_value( trim($_POST['custom_links_visited_colour']), TOC_DEFAULT_LINKS_VISITED_COLOUR );
+
+ if ( $restrict_path = trim($_POST['restrict_path']) ) {
+ if ( strpos($restrict_path, '/') !== 0 ) {
+ // restrict path did not start with a / so unset it
+ $restrict_path = '';
+ }
+ }
+
+ $this->options = array_merge(
+ $this->options,
+ array(
+ 'fragment_prefix' => trim($_POST['fragment_prefix']),
+ 'position' => intval($_POST['position']),
+ 'start' => intval($_POST['start']),
+ 'show_heading_text' => (isset($_POST['show_heading_text']) && $_POST['show_heading_text']) ? true : false,
+ 'heading_text' => stripslashes( trim($_POST['heading_text']) ),
+ 'auto_insert_post_types' => @(array)$_POST['auto_insert_post_types'],
+ 'show_heirarchy' => (isset($_POST['show_heirarchy']) && $_POST['show_heirarchy']) ? true : false,
+ 'ordered_list' => (isset($_POST['ordered_list']) && $_POST['ordered_list']) ? true : false,
+ 'smooth_scroll' => (isset($_POST['smooth_scroll']) && $_POST['smooth_scroll']) ? true : false,
+ 'smooth_scroll_offset' => intval($_POST['smooth_scroll_offset']),
+ 'visibility' => (isset($_POST['visibility']) && $_POST['visibility']) ? true : false,
+ 'visibility_show' => stripslashes( trim($_POST['visibility_show']) ),
+ 'visibility_hide' => stripslashes( trim($_POST['visibility_hide']) ),
+ 'visibility_hide_by_default' => (isset($_POST['visibility_hide_by_default']) && $_POST['visibility_hide_by_default']) ? true : false,
+ 'width' => trim($_POST['width']),
+ 'width_custom' => floatval($_POST['width_custom']),
+ 'width_custom_units' => trim($_POST['width_custom_units']),
+ 'wrapping' => intval($_POST['wrapping']),
+ 'font_size' => floatval($_POST['font_size']),
+ 'font_size_units' => trim($_POST['font_size_units']),
+ 'theme' => intval($_POST['theme']),
+ 'custom_background_colour' => $custom_background_colour,
+ 'custom_border_colour' => $custom_border_colour,
+ 'custom_title_colour' => $custom_title_colour,
+ 'custom_links_colour' => $custom_links_colour,
+ 'custom_links_hover_colour' => $custom_links_hover_colour,
+ 'custom_links_visited_colour' => $custom_links_visited_colour,
+ 'lowercase' => (isset($_POST['lowercase']) && $_POST['lowercase']) ? true : false,
+ 'hyphenate' => (isset($_POST['hyphenate']) && $_POST['hyphenate']) ? true : false,
+ 'bullet_spacing' => (isset($_POST['bullet_spacing']) && $_POST['bullet_spacing']) ? true : false,
+ 'include_homepage' => (isset($_POST['include_homepage']) && $_POST['include_homepage']) ? true : false,
+ 'exclude_css' => (isset($_POST['exclude_css']) && $_POST['exclude_css']) ? true : false,
+ 'heading_levels' => @(array)$_POST['heading_levels'],
+ 'exclude' => stripslashes( trim($_POST['exclude']) ),
+ 'restrict_path' => $restrict_path,
+ 'sitemap_show_page_listing' => (isset($_POST['sitemap_show_page_listing']) && $_POST['sitemap_show_page_listing']) ? true : false,
+ 'sitemap_show_category_listing' => (isset($_POST['sitemap_show_category_listing']) && $_POST['sitemap_show_category_listing']) ? true : false,
+ 'sitemap_heading_type' => intval($_POST['sitemap_heading_type']),
+ 'sitemap_pages' => stripslashes( trim($_POST['sitemap_pages']) ),
+ 'sitemap_categories' => stripslashes( trim($_POST['sitemap_categories']) )
+ )
+ );
+
+ // update_option will return false if no changes were made
+ update_option( 'toc-options', $this->options );
+
+ return true;
+ }
+
+
+ function admin_options()
+ {
+ $msg = '';
+
+ if ( isset( $_GET['update'] ) ) {
+ if ( $this->save_admin_options() )
+ $msg = '<div id="message" class="updated fade"><p>' . __('Options saved.', 'toc+') . '</p></div>';
+ else
+ $msg = '<div id="message" class="error fade"><p>' . __('Save failed.', 'toc+') . '</p></div>';
+ }
+
+?>
+<div id='toc' class='wrap'>
+<div id="icon-options-general" class="icon32"><br /></div>
+<h2>Table of Contents Plus</h2>
+<?php echo $msg; ?>
+<form method="post" action="<?php echo htmlentities('?page=' . $_GET['page'] . '&update'); ?>">
+<?php wp_nonce_field( plugin_basename(__FILE__), 'toc-admin-options' ); ?>
+
+<ul id="tabbed-nav">
+ <li><a href="#tab1"><?php _e('Main Options', 'toc+'); ?></a></li>
+ <li><a href="#tab2"><?php _e('Sitemap', 'toc+'); ?></a></li>
+ <li><a href="#tab3"><?php _e('Help', 'toc+'); ?></a></li>
+</ul>
+<div class="tab_container">
+ <div id="tab1" class="tab_content">
+
+<table class="form-table">
+<tbody>
+<tr>
+ <th><label for="position"><?php _e('Position', 'toc+'); ?></label></th>
+ <td>
+ <select name="position" id="position">
+ <option value="<?php echo TOC_POSITION_BEFORE_FIRST_HEADING; ?>"<?php if ( TOC_POSITION_BEFORE_FIRST_HEADING == $this->options['position'] ) echo ' selected="selected"'; ?>><?php _e('Before first heading (default)', 'toc+'); ?></option>
+ <option value="<?php echo TOC_POSITION_AFTER_FIRST_HEADING; ?>"<?php if ( TOC_POSITION_AFTER_FIRST_HEADING == $this->options['position'] ) echo ' selected="selected"'; ?>><?php _e('After first heading', 'toc+'); ?></option>
+ <option value="<?php echo TOC_POSITION_TOP; ?>"<?php if ( TOC_POSITION_TOP == $this->options['position'] ) echo ' selected="selected"'; ?>><?php _e('Top', 'toc+'); ?></option>
+ <option value="<?php echo TOC_POSITION_BOTTOM; ?>"<?php if ( TOC_POSITION_BOTTOM == $this->options['position'] ) echo ' selected="selected"'; ?>><?php _e('Bottom', 'toc+'); ?></option>
+ </select>
+ </td>
+</tr>
+<tr>
+ <th><label for="start"><?php _e('Show when', 'toc+'); ?></label></th>
+ <td>
+ <select name="start" id="start">
+<?php
+ for ($i = TOC_MIN_START; $i <= TOC_MAX_START; $i++) {
+ echo '<option value="' . $i . '"';
+ if ( $i == $this->options['start'] ) echo ' selected="selected"';
+ echo '>' . $i . '</option>' . "\n";
+ }
+?>
+ </select> <?php
+ /* translators: text follows drop down list of numbers */
+ _e('or more headings are present', 'toc+'); ?>
+ </td>
+</tr>
+<tr>
+ <th><?php _e('Auto insert for the following content types', 'toc+'); ?></th>
+ <td><?php
+ foreach (get_post_types() as $post_type) {
+ // make sure the post type isn't on the exclusion list
+ if ( !in_array($post_type, $this->exclude_post_types) ) {
+ echo '<input type="checkbox" value="' . $post_type . '" id="auto_insert_post_types_' . $post_type .'" name="auto_insert_post_types[]"';
+ if ( in_array($post_type, $this->options['auto_insert_post_types']) ) echo ' checked="checked"';
+ echo ' /><label for="auto_insert_post_types_' . $post_type .'"> ' . $post_type . '</label><br />';
+ }
+ }
+?>
+</tr>
+<tr>
+ <th><label for="show_heading_text"><?php
+ /* translators: this is the title of the table of contents */
+ _e('Heading text', 'toc+'); ?></label></th>
+ <td>
+ <input type="checkbox" value="1" id="show_heading_text" name="show_heading_text"<?php if ( $this->options['show_heading_text'] ) echo ' checked="checked"'; ?> /><label for="show_heading_text"> <?php _e('Show title on top of the table of contents', 'toc+'); ?></label><br />
+ <div class="more_toc_options<?php if ( !$this->options['show_heading_text'] ) echo ' disabled'; ?>">
+ <input type="text" class="regular-text" value="<?php echo htmlentities( $this->options['heading_text'], ENT_COMPAT, 'UTF-8' ); ?>" id="heading_text" name="heading_text" />
+ <span class="description"><label for="heading_text"><?php _e('Eg: Contents, Table of Contents, Page Contents', 'toc+'); ?></label></span><br /><br />
+
+ <input type="checkbox" value="1" id="visibility" name="visibility"<?php if ( $this->options['visibility'] ) echo ' checked="checked"'; ?> /><label for="visibility"> <?php _e( 'Allow the user to toggle the visibility of the table of contents', 'toc+'); ?></label><br />
+ <div class="more_toc_options<?php if ( !$this->options['visibility'] ) echo ' disabled'; ?>">
+ <table class="more_toc_options_table">
+ <tbody>
+ <tr>
+ <th><label for="visibility_show"><?php _e('Show text', 'toc+'); ?></label></th>
+ <td><input type="text" class="" value="<?php echo htmlentities( $this->options['visibility_show'], ENT_COMPAT, 'UTF-8' ); ?>" id="visibility_show" name="visibility_show" />
+ <span class="description"><label for="visibility_show"><?php
+ /* translators: example text to display when you want to expand the table of contents */
+ _e('Eg: show', 'toc+'); ?></label></span></td>
+ </tr>
+ <tr>
+ <th><label for="visibility_hide"><?php _e('Hide text', 'toc+'); ?></label></th>
+ <td><input type="text" class="" value="<?php echo htmlentities( $this->options['visibility_hide'], ENT_COMPAT, 'UTF-8' ); ?>" id="visibility_hide" name="visibility_hide" />
+ <span class="description"><label for="visibility_hide"><?php
+ /* translators: example text to display when you want to collapse the table of contents */
+ _e('Eg: hide', 'toc+'); ?></label></span></td>
+ </tr>
+ </tbody>
+ </table>
+ <input type="checkbox" value="1" id="visibility_hide_by_default" name="visibility_hide_by_default"<?php if ( $this->options['visibility_hide_by_default'] ) echo ' checked="checked"'; ?> /><label for="visibility_hide_by_default"> <?php _e( 'Hide the table of contents initially', 'toc+'); ?></label>
+ </div>
+ </div>
+ </td>
+</tr>
+<tr>
+ <th><label for="show_heirarchy"><?php _e('Show hierarchy', 'toc+'); ?></label></th>
+ <td><input type="checkbox" value="1" id="show_heirarchy" name="show_heirarchy"<?php if ( $this->options['show_heirarchy'] ) echo ' checked="checked"'; ?> /></td>
+</tr>
+<tr>
+ <th><label for="ordered_list"><?php _e('Number list items', 'toc+'); ?></label></th>
+ <td><input type="checkbox" value="1" id="ordered_list" name="ordered_list"<?php if ( $this->options['ordered_list'] ) echo ' checked="checked"'; ?> /></td>
+</tr>
+<tr>
+ <th><label for="smooth_scroll"><?php _e('Enable smooth scroll effect', 'toc+'); ?></label></th>
+ <td><input type="checkbox" value="1" id="smooth_scroll" name="smooth_scroll"<?php if ( $this->options['smooth_scroll'] ) echo ' checked="checked"'; ?> /><label for="smooth_scroll"> <?php _e( 'Scroll rather than jump to the anchor link', 'toc+'); ?></label></td>
+</tr>
+</tbody>
+</table>
+
+<h3><?php _e('Appearance', 'toc+'); ?></h3>
+<table class="form-table">
+<tbody>
+<tr>
+ <th><label for="width"><?php _e('Width', 'toc+'); ?></label></td>
+ <td>
+ <select name="width" id="width">
+ <optgroup label="<?php _e('Fixed width', 'toc+'); ?>">
+ <option value="200px"<?php if ( '200px' == $this->options['width'] ) echo ' selected="selected"'; ?>>200px</option>
+ <option value="225px"<?php if ( '225px' == $this->options['width'] ) echo ' selected="selected"'; ?>>225px</option>
+ <option value="250px"<?php if ( '250px' == $this->options['width'] ) echo ' selected="selected"'; ?>>250px</option>
+ <option value="275px"<?php if ( '275px' == $this->options['width'] ) echo ' selected="selected"'; ?>>275px</option>
+ <option value="300px"<?php if ( '300px' == $this->options['width'] ) echo ' selected="selected"'; ?>>300px</option>
+ <option value="325px"<?php if ( '325px' == $this->options['width'] ) echo ' selected="selected"'; ?>>325px</option>
+ <option value="350px"<?php if ( '350px' == $this->options['width'] ) echo ' selected="selected"'; ?>>350px</option>
+ <option value="375px"<?php if ( '375px' == $this->options['width'] ) echo ' selected="selected"'; ?>>375px</option>
+ <option value="400px"<?php if ( '400px' == $this->options['width'] ) echo ' selected="selected"'; ?>>400px</option>
+ </optgroup>
+ <optgroup label="<?php _e('Relative', 'toc+'); ?>">
+ <option value="Auto"<?php if ( 'Auto' == $this->options['width'] ) echo ' selected="selected"'; ?>><?php _e('Auto (default)', 'toc+'); ?></option>
+ <option value="25%"<?php if ( '25%' == $this->options['width'] ) echo ' selected="selected"'; ?>>25%</option>
+ <option value="33%"<?php if ( '33%' == $this->options['width'] ) echo ' selected="selected"'; ?>>33%</option>
+ <option value="50%"<?php if ( '50%' == $this->options['width'] ) echo ' selected="selected"'; ?>>50%</option>
+ <option value="66%"<?php if ( '66%' == $this->options['width'] ) echo ' selected="selected"'; ?>>66%</option>
+ <option value="75%"<?php if ( '75%' == $this->options['width'] ) echo ' selected="selected"'; ?>>75%</option>
+ <option value="100%"<?php if ( '100%' == $this->options['width'] ) echo ' selected="selected"'; ?>>100%</option>
+ </optgroup>
+ <optgroup label="<?php
+ /* translators: other width */
+ _e('Other', 'toc+'); ?>">
+ <option value="User defined"<?php if ( 'User defined' == $this->options['width'] ) echo ' selected="selected"'; ?>><?php _e('User defined', 'toc+'); ?></option>
+ </optgroup>
+ </select>
+ <div class="more_toc_options<?php if ( 'User defined' != $this->options['width'] ) echo ' disabled'; ?>">
+ <label for="width_custom"><?php
+ /* translators: ignore %s as it's some HTML label tags */
+ printf( __('Please enter a number and %s select its units, eg: 100px, 10em', 'toc+'), '</label><label for="width_custom_units">' ); ?></label><br />
+ <input type="text" class="regular-text" value="<?php echo floatval($this->options['width_custom']); ?>" id="width_custom" name="width_custom" />
+ <select name="width_custom_units" id="width_custom_units">
+ <option value="px"<?php if ( 'px' == $this->options['width_custom_units'] ) echo ' selected="selected"'; ?>>px</option>
+ <option value="%"<?php if ( '%' == $this->options['width_custom_units'] ) echo ' selected="selected"'; ?>>%</option>
+ <option value="em"<?php if ( 'em' == $this->options['width_custom_units'] ) echo ' selected="selected"'; ?>>em</option>
+ </select>
+ </div>
+ </td>
+</tr>
+<tr>
+ <th><label for="wrapping"><?php _e('Wrapping', 'toc+'); ?></label></td>
+ <td>
+ <select name="wrapping" id="wrapping">
+ <option value="<?php echo TOC_WRAPPING_NONE; ?>"<?php if ( TOC_WRAPPING_NONE == $this->options['wrapping'] ) echo ' selected="selected"'; ?>><?php _e('None (default)', 'toc+'); ?></option>
+ <option value="<?php echo TOC_WRAPPING_LEFT; ?>"<?php if ( TOC_WRAPPING_LEFT == $this->options['wrapping'] ) echo ' selected="selected"'; ?>><?php _e('Left', 'toc+'); ?></option>
+ <option value="<?php echo TOC_WRAPPING_RIGHT; ?>"<?php if ( TOC_WRAPPING_RIGHT == $this->options['wrapping'] ) echo ' selected="selected"'; ?>><?php _e('Right', 'toc+'); ?></option>
+ </select>
+ </td>
+</tr>
+<tr>
+ <th><label for="font_size"><?php _e('Font size', 'toc+'); ?></label></th>
+ <td>
+ <input type="text" class="regular-text" value="<?php echo floatval($this->options['font_size']); ?>" id="font_size" name="font_size" />
+ <select name="font_size_units" id="font_size_units">
+ <option value="px"<?php if ( 'pt' == $this->options['font_size_units'] ) echo ' selected="selected"'; ?>>pt</option>
+ <option value="%"<?php if ( '%' == $this->options['font_size_units'] ) echo ' selected="selected"'; ?>>%</option>
+ <option value="em"<?php if ( 'em' == $this->options['font_size_units'] ) echo ' selected="selected"'; ?>>em</option>
+ </select>
+ </td>
+</tr>
+<tr>
+ <th><?php
+ /* translators: appearance / colour / look and feel options */
+ _e('Presentation', 'toc+'); ?></th>
+ <td>
+ <div class="toc_theme_option">
+ <input type="radio" name="theme" id="theme_<?php echo TOC_THEME_GREY; ?>" value="<?php echo TOC_THEME_GREY; ?>"<?php if ( $this->options['theme'] == TOC_THEME_GREY ) echo ' checked="checked"'; ?> /><label for="theme_<?php echo TOC_THEME_GREY; ?>"> <?php _e('Grey (default)', 'toc+'); ?><br />
+ <img src="<?php echo $this->path; ?>/images/grey.png" alt="" />
+ </label>
+ </div>
+ <div class="toc_theme_option">
+ <input type="radio" name="theme" id="theme_<?php echo TOC_THEME_LIGHT_BLUE; ?>" value="<?php echo TOC_THEME_LIGHT_BLUE; ?>"<?php if ( $this->options['theme'] == TOC_THEME_LIGHT_BLUE ) echo ' checked="checked"'; ?> /><label for="theme_<?php echo TOC_THEME_LIGHT_BLUE; ?>"> <?php _e('Light blue', 'toc+'); ?><br />
+ <img src="<?php echo $this->path; ?>/images/blue.png" alt="" />
+ </label>
+ </div>
+ <div class="toc_theme_option">
+ <input type="radio" name="theme" id="theme_<?php echo TOC_THEME_WHITE; ?>" value="<?php echo TOC_THEME_WHITE; ?>"<?php if ( $this->options['theme'] == TOC_THEME_WHITE ) echo ' checked="checked"'; ?> /><label for="theme_<?php echo TOC_THEME_WHITE; ?>"> <?php _e('White', 'toc+'); ?><br />
+ <img src="<?php echo $this->path; ?>/images/white.png" alt="" />
+ </label>
+ </div>
+ <div class="toc_theme_option">
+ <input type="radio" name="theme" id="theme_<?php echo TOC_THEME_BLACK; ?>" value="<?php echo TOC_THEME_BLACK; ?>"<?php if ( $this->options['theme'] == TOC_THEME_BLACK ) echo ' checked="checked"'; ?> /><label for="theme_<?php echo TOC_THEME_BLACK; ?>"> <?php _e('Black', 'toc+'); ?><br />
+ <img src="<?php echo $this->path; ?>/images/black.png" alt="" />
+ </label>
+ </div>
+ <div class="toc_theme_option">
+ <input type="radio" name="theme" id="theme_<?php echo TOC_THEME_TRANSPARENT; ?>" value="<?php echo TOC_THEME_TRANSPARENT; ?>"<?php if ( $this->options['theme'] == TOC_THEME_TRANSPARENT ) echo ' checked="checked"'; ?> /><label for="theme_<?php echo TOC_THEME_TRANSPARENT; ?>"> <?php _e('Transparent', 'toc+'); ?><br />
+ <img src="<?php echo $this->path; ?>/images/transparent.png" alt="" />
+ </label>
+ </div>
+ <div class="toc_theme_option">
+ <input type="radio" name="theme" id="theme_<?php echo TOC_THEME_CUSTOM; ?>" value="<?php echo TOC_THEME_CUSTOM; ?>"<?php if ( $this->options['theme'] == TOC_THEME_CUSTOM ) echo ' checked="checked"'; ?> /><label for="theme_<?php echo TOC_THEME_CUSTOM; ?>"> <?php _e('Custom', 'toc+'); ?><br />
+ <img src="<?php echo $this->path; ?>/images/custom.png" alt="" />
+ </label>
+ </div>
+ <div class="clear"></div>
+
+ <div class="more_toc_options<?php if ( TOC_THEME_CUSTOM != $this->options['theme'] ) echo ' disabled'; ?>">
+ <table id="theme_custom" class="more_toc_options_table">
+ <tbody>
+ <tr>
+ <th><label for="custom_background_colour"><?php _e('Background', 'toc+'); ?></label></th>
+ <td><input type="text" class="custom_colour_option" value="<?php echo htmlentities( $this->options['custom_background_colour'] ); ?>" id="custom_background_colour" name="custom_background_colour" /> <img src="<?php echo $this->path; ?>/images/colour-wheel.png" alt="" /></td>
+ </tr>
+ <tr>
+ <th><label for="custom_border_colour"><?php _e('Border', 'toc+'); ?></label></th>
+ <td><input type="text" class="custom_colour_option" value="<?php echo htmlentities( $this->options['custom_border_colour'] ); ?>" id="custom_border_colour" name="custom_border_colour" /> <img src="<?php echo $this->path; ?>/images/colour-wheel.png" alt="" /></td>
+ </tr>
+ <tr>
+ <th><label for="custom_title_colour"><?php _e('Title', 'toc+'); ?></label></th>
+ <td><input type="text" class="custom_colour_option" value="<?php echo htmlentities( $this->options['custom_title_colour'] ); ?>" id="custom_title_colour" name="custom_title_colour" /> <img src="<?php echo $this->path; ?>/images/colour-wheel.png" alt="" /></td>
+ </tr>
+ <tr>
+ <th><label for="custom_links_colour"><?php _e('Links', 'toc+'); ?></label></th>
+ <td><input type="text" class="custom_colour_option" value="<?php echo htmlentities( $this->options['custom_links_colour'] ); ?>" id="custom_links_colour" name="custom_links_colour" /> <img src="<?php echo $this->path; ?>/images/colour-wheel.png" alt="" /></td>
+ </tr>
+ <tr>
+ <th><label for="custom_links_hover_colour"><?php _e('Links (hover)', 'toc+'); ?></label></th>
+ <td><input type="text" class="custom_colour_option" value="<?php echo htmlentities( $this->options['custom_links_hover_colour'] ); ?>" id="custom_links_hover_colour" name="custom_links_hover_colour" /> <img src="<?php echo $this->path; ?>/images/colour-wheel.png" alt="" /></td>
+ </tr>
+ <tr>
+ <th><label for="custom_links_visited_colour"><?php _e('Links (visited)', 'toc+'); ?></label></th>
+ <td><input type="text" class="custom_colour_option" value="<?php echo htmlentities( $this->options['custom_links_visited_colour'] ); ?>" id="custom_links_visited_colour" name="custom_links_visited_colour" /> <img src="<?php echo $this->path; ?>/images/colour-wheel.png" alt="" /></td>
+ </tr>
+ </tbody>
+ </table>
+ <div id="farbtastic_colour_wheel"></div>
+ <div class="clear"></div>
+ <p><?php printf(__("Leaving the value as %s will inherit your theme's styles", 'toc+'), '<code>#</code>'); ?></p>
+ </div>
+ </td>
+</tr>
+</tbody>
+</table>
+
+<h3><?php _e('Advanced', 'toc+'); ?> <span class="show_hide">(<a href="#toc_advanced_usage"><?php _e('show', 'toc+'); ?></a>)</span></h3>
+<div id="toc_advanced_usage">
+ <h4><?php _e('Power options', 'toc+'); ?></h4>
+ <table class="form-table">
+ <tbody>
+ <tr>
+ <th><label for="lowercase"><?php _e('Lowercase', 'toc+'); ?></label></th>
+ <td><input type="checkbox" value="1" id="lowercase" name="lowercase"<?php if ( $this->options['lowercase'] ) echo ' checked="checked"'; ?> /><label for="lowercase"> <?php _e('Ensure anchors are in lowercase', 'toc+'); ?></label></td>
+ </tr>
+ <tr>
+ <th><label for="hyphenate"><?php _e('Hyphenate', 'toc+'); ?></label></th>
+ <td><input type="checkbox" value="1" id="hyphenate" name="hyphenate"<?php if ( $this->options['hyphenate'] ) echo ' checked="checked"'; ?> /><label for="hyphenate"> <?php _e('Use - rather than _ in anchors', 'toc+'); ?></label></td>
+ </tr>
+ <tr>
+ <th><label for="include_homepage"><?php _e('Include homepage', 'toc+'); ?></label></th>
+ <td><input type="checkbox" value="1" id="include_homepage" name="include_homepage"<?php if ( $this->options['include_homepage'] ) echo ' checked="checked"'; ?> /><label for="include_homepage"> <?php _e('Show the table of contents for qualifying items on the homepage', 'toc+'); ?></label></td>
+ </tr>
+ <tr>
+ <th><label for="exclude_css"><?php _e('Exclude CSS file', 'toc+'); ?></label></th>
+ <td><input type="checkbox" value="1" id="exclude_css" name="exclude_css"<?php if ( $this->options['exclude_css'] ) echo ' checked="checked"'; ?> /><label for="exclude_css"> <?php _e("Prevent the loading of this plugin's CSS styles. When selected, the appearance options from above will also be ignored.", 'toc+'); ?></label></td>
+ </tr>
+ <tr>
+ <th><label for="bullet_spacing"><?php _e('Preserve theme bullets', 'toc+'); ?></label></th>
+ <td><input type="checkbox" value="1" id="bullet_spacing" name="bullet_spacing"<?php if ( $this->options['bullet_spacing'] ) echo ' checked="checked"'; ?> /><label for="bullet_spacing"> <?php _e('If your theme includes background images for unordered list elements, enable this to support them', 'toc+'); ?></label></td>
+ </tr>
+ <tr>
+ <th><?php _e('Heading levels', 'toc+'); ?></th>
+ <td>
+ <p><?php _e('Include the following heading levels. Deselecting a heading will exclude it.', 'toc+'); ?></p>
+<?php
+ // show heading 1 to 6 options
+ for ($i = 1; $i <= 6; $i++) {
+ echo '<input type="checkbox" value="' . $i . '" id="heading_levels' . $i .'" name="heading_levels[]"';
+ if ( in_array($i, $this->options['heading_levels']) ) echo ' checked="checked"';
+ echo ' /><label for="heading_levels' . $i .'"> ' . __('heading ') . $i . ' - h' . $i . '</label><br />';
+ }
+?>
+ </td>
+ </tr>
+ <tr>
+ <th><label for="exclude"><?php _e('Exclude headings', 'toc+'); ?></label></th>
+ <td>
+ <input type="text" class="regular-text" value="<?php echo htmlentities( $this->options['exclude'] ); ?>" id="exclude" name="exclude" style="width: 100%;" /><br />
+ <label for="exclude"><?php _e('Specify headings to be excluded from appearing in the table of contents. Separate multiple headings with a pipe <code>|</code>. Use an asterisk <code>*</code> as a wildcard to match other text. Note that this is not case sensitive. Some examples:', 'toc+'); ?></label><br/>
+ <ul>
+ <li><?php _e('<code>Fruit*</code> ignore headings starting with "Fruit"', 'toc+'); ?></li>
+ <li><?php _e('<code>*Fruit Diet*</code> ignore headings with "Fruit Diet" somewhere in the heading', 'toc+'); ?></li>
+ <li><?php _e('<code>Apple Tree|Oranges|Yellow Bananas</code> ignore headings that are exactly "Apple Tree", "Oranges" or "Yellow Bananas"', 'toc+'); ?></li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="smooth_scroll_offset_tr" class="<?php if ( !$this->options['smooth_scroll'] ) echo 'disabled'; ?>">
+ <th><label for="smooth_scroll_offset"><?php _e('Smooth scroll top offset', 'toc+'); ?></label></th>
+ <td>
+ <input type="text" class="regular-text" value="<?php echo intval($this->options['smooth_scroll_offset']); ?>" id="smooth_scroll_offset" name="smooth_scroll_offset" /> px<br />
+ <label for="smooth_scroll_offset"><?php _e('If you have a consistent menu across the top of your site, you can adjust the top offset to stop the headings from appearing underneath the top menu. A setting of 30 accommodates the WordPress admin bar. This setting appears after you have enabled smooth scrolling from above.', 'toc+'); ?></label>
+ </td>
+ </tr>
+ <tr>
+ <th><label for="restrict_path"><?php _e('Restrict path', 'toc+'); ?></label></th>
+ <td>
+ <input type="text" class="regular-text" value="<?php echo htmlentities( $this->options['restrict_path'] ); ?>" id="restrict_path" name="restrict_path" /><br />
+ <label for="restrict_path"><?php _e('Restrict generation of the table of contents to pages that match the required path. This path is from the root of your site and always begins with a forward slash.', 'toc+'); ?><br />
+ <span class="description"><?php
+ /* translators: example URL path restriction */
+ _e('Eg: /wiki/, /corporate/annual-reports/', 'toc+'); ?></span></label>
+ </td>
+ </tr>
+ <tr>
+ <th><label for="fragment_prefix"><?php _e('Default anchor prefix', 'toc+'); ?></label></th>
+ <td>
+ <input type="text" class="regular-text" value="<?php echo htmlentities( $this->options['fragment_prefix'] ); ?>" id="fragment_prefix" name="fragment_prefix" /><br />
+ <label for="fragment_prefix"><?php _e('Anchor targets are restricted to alphanumeric characters as per HTML specification (see readme for more detail). The default anchor prefix will be used when no characters qualify. When left blank, a number will be used instead.', 'toc+'); ?><br />
+ <?php _e('This option normally applies to content written in character sets other than ASCII.', 'toc+'); ?><br />
+ <span class="description"><?php
+ /* translators: example anchor prefixes when no ascii characters match */
+ _e('Eg: i, toc_index, index, _', 'toc+'); ?></span></label>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h4><?php
+ /* translators: advanced usage */
+ _e('Usage', 'toc+'); ?></h4>
+ <p><?php printf(__('If you would like to fully customise the position of the table of contents, you can use the %s shortcode by placing it at the desired position of your post, page or custom post type. This method allows you to generate the table of contents despite having auto insertion disabled for its content type. Please visit the help tab for further information about this shortcode.', 'toc+'), '<code>[toc]</code>'); ?></p>
+</div>
+
+
+ </div>
+ <div id="tab2" class="tab_content">
+
+
+<p><?php printf(__('At its simplest, placing %s into a page will automatically create a sitemap of all pages and categories. This also works in a text widget.', 'toc+'), '<code>[sitemap]</code>'); ?></p>
+<table class="form-table">
+<tbody>
+<tr>
+ <th><label for="sitemap_show_page_listing"><?php _e('Show page listing', 'toc+'); ?></label></th>
+ <td><input type="checkbox" value="1" id="sitemap_show_page_listing" name="sitemap_show_page_listing"<?php if ( $this->options['sitemap_show_page_listing'] ) echo ' checked="checked"'; ?> /></td>
+</tr>
+<tr>
+ <th><label for="sitemap_show_category_listing"><?php _e('Show category listing', 'toc+'); ?></label></th>
+ <td><input type="checkbox" value="1" id="sitemap_show_category_listing" name="sitemap_show_category_listing"<?php if ( $this->options['sitemap_show_category_listing'] ) echo ' checked="checked"'; ?> /></td>
+</tr>
+<tr>
+ <th><label for="sitemap_heading_type"><?php _e('Heading type', 'toc+'); ?></label></th>
+ <td><label for="sitemap_heading_type"><?php
+ /* translators: the full line is supposed to read - Use [1-6 drop down list] to print out the titles */
+ _e('Use', 'toc+'); ?> h</label><select name="sitemap_heading_type" id="sitemap_heading_type">
+<?php
+ // h1 to h6
+ for ($i = 1; $i <= 6; $i++) {
+ echo '<option value="' . $i . '"';
+ if ( $i == $this->options['sitemap_heading_type'] ) echo ' selected="selected"';
+ echo '>' . $i . '</option>' . "\n";
+ }
+?>
+ </select> <?php
+ /* translators: the full line is supposed to read - Use [h1-h6 drop down list] to print out the titles */
+ _e('to print out the titles', 'toc+'); ?>
+ </td>
+</tr>
+<tr>
+ <th><label for="sitemap_pages"><?php _e('Pages label', 'toc+'); ?></label></th>
+ <td><input type="text" class="regular-text" value="<?php echo htmlentities( $this->options['sitemap_pages'], ENT_COMPAT, 'UTF-8' ); ?>" id="sitemap_pages" name="sitemap_pages" />
+ <span class="description"><?php _e('Eg: Pages, Page List', 'toc+'); ?></span>
+ </td>
+</tr>
+<tr>
+ <th><label for="sitemap_categories"><?php _e('Categories label', 'toc+'); ?></label></th>
+ <td><input type="text" class="regular-text" value="<?php echo htmlentities( $this->options['sitemap_categories'], ENT_COMPAT, 'UTF-8' ); ?>" id="sitemap_categories" name="sitemap_categories" />
+ <span class="description"><?php _e('Eg: Categories, Category List', 'toc+'); ?></span>
+ </td>
+</tr>
+</tbody>
+</table>
+
+<h3><?php _e('Advanced usage', 'toc+'); ?> <span class="show_hide">(<a href="#sitemap_advanced_usage"><?php _e('show', 'toc+'); ?></a>)</span></h3>
+<div id="sitemap_advanced_usage">
+ <p><code>[sitemap_pages]</code> <?php printf(__('lets you print out a listing of only pages. Similarly %s can be used to print out a category listing. They both can accept a number of attributes so visit the help tab for more information.', 'toc+'), '<code>[sitemap_categories]</code>'); ?></p>
+ <p><?php _e('Examples', 'toc+'); ?></p>
+ <ol>
+ <li><code>[sitemap_categories no_label="true"]</code> <?php _e('hides the heading from a category listing', 'toc+'); ?></li>
+ <li><code>[sitemap_pages heading="6" label="This is an awesome listing" exclude="1,15"]</code> <?php printf(__('Uses h6 to display %s on a page listing excluding pages with IDs 1 and 15', 'toc+'), '<em>This is an awesome listing</em>'); ?></li>
+ </ol>
+</div>
+
+
+ </div>
+ <div id="tab3" class="tab_content">
+
+<h3><?php _e("Where's my table of contents?", 'toc+'); ?></h3>
+<p><?php _e("If you're reading this, then chances are you have successfully installed and enabled the plugin and you're just wondering why the index isn't appearing right? Try the following:", 'toc+'); ?></p>
+<ol>
+ <li><?php _e("In most cases, the post, page or custom post type has less than the minimum number of headings. By default, this is set to four so make sure you have at least four headings within your content. If you want to change this value, you can find it under 'Main Options' &gt; 'Show when'.", 'toc+'); ?></li>
+ <li><?php _e('Is auto insertion enabled for your content type? By default, only pages are enabled.', 'toc+'); ?></li>
+ <li><?php _e('Have you got <code>[no_toc]</code> somewhere within the content? This will disable the index for the current post, page or custom post type.', 'toc+'); ?></li>
+ <li><?php _e('If you are using the TOC+ widget, check if you have the <em>"Show the table of contents only in the sidebar"</em> enabled as this will limit its display to only the sidebar. You can check by going into Appearance &gt; Widgets.', 'toc+'); ?></li>
+ <li><?php _e('You may have restricted generation to a URL path match. The setting can be found in the advanced section under Main Options.', 'toc+'); ?></li>
+</ol>
+
+<h3><?php _e('How do I stop the table of contents from appearing on a single page?', 'toc+'); ?></h3>
+<p><?php _e('Place the following <code>[no_toc]</code> anywhere on the page to suppress the table of contents. This is known as a shortcode and works for posts, pages and custom post types that make use of the_content()', 'toc+'); ?></p>
+
+<h3><?php _e("I've set wrapping to left or right but the headings don't wrap around the table of contents", 'toc+'); ?></h3>
+<p><?php _e('This normally occurs when there is a CSS clear directive in or around the heading originating from the theme (Twenty Eleven and Twenty Twelve are two themes which do this). This directive tells the user agent to reset the previous wrapping specifications.', 'toc+'); ?></p>
+<p><?php printf(__("You can adjust your theme's CSS or try moving the table of contents position to the top of the page. If you didn't build your theme, I'd highly suggest you try the %s if you wish to make CSS changes.", 'toc+'), '<a href="http://wordpress.org/extend/plugins/safecss/">Custom CSS plugin</a>'); ?></p>
+<p><?php
+/* translators: CSS code follows after this line */
+_e('Try adding the following CSS to allow the wrapping to occur around the table of contents:', 'toc+'); ?></p>
+<code>
+h1, h2, h3, h4, h5, h6 { clear: none; }
+</code>
+
+<h3><?php _e('How do I include the name of the page in the table of contents title?', 'toc+'); ?></h3>
+<p><?php _e("As the title of the page changes depending on the page you're viewing, you can use the following special variable to automatically insert the title of the page into the table of contents heading:", 'toc+'); ?></p>
+<code>%PAGE_NAME%</code>
+<p><?php _e('You can use it as is or place text either side of the variable.', 'toc+'); ?></p>
+<p><?php _e('As an example: if your page is named <em>Great Expectations</em> and your table of contents title is set to <em>Contents for %PAGE_NAME%</em>, the final title would read <em>Contents for Great Expectations</em>', 'toc+'); ?></p>
+
+<h3><?php _e('The sitemap uses a strange font dissimilar to the rest of the site', 'toc+'); ?></h3>
+<p><?php _e("No extra styles are created for the sitemap, instead it inherits any styles you used when adding the shortcode. If you copy and pasted, you probably also copied the 'code' tags surrounding it so remove them if this is the case.", 'toc+'); ?></p>
+<p><?php _e('In most cases, try to have the shortcode on its own line with nothing before or after the square brackets.', 'toc+'); ?></p>
+
+<h3><?php _e('What were those shortcodes and attributes again?', 'toc+'); ?></h3>
+<p><?php _e('When attributes are left out for the shortcodes below, they will fallback to the settings you defined under Settings &gt; TOC+.', 'toc+'); ?></p>
+<table id="shortcode_table">
+<thead>
+<tr>
+ <th><?php _e('Shortcode', 'toc+'); ?></th>
+ <th><?php _e('Description', 'toc+'); ?></th>
+ <th><?php _e('Attributes', 'toc+'); ?></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+ <td>[toc]</td>
+ <td><?php _e('Lets you generate the table of contents at the preferred position. Also useful for sites that only require a TOC on a small handful of pages.', 'toc+'); ?></td>
+ <td>
+ <ul>
+ <li><strong>label</strong>: <?php _e('text, title of the table of contents', 'toc+'); ?></li>
+ <li><strong>no_label</strong>: <?php _e('true/false, shows or hides the title', 'toc+'); ?></li>
+ <li><strong>wrapping</strong>: <?php _e('text, either "left" or "right"', 'toc+'); ?></li>
+ <li><strong>heading_levels</strong>: <?php _e('numbers, this lets you select the heading levels you want included in the table of contents. Separate multiple levels with a comma. Example: include headings 3, 4 and 5 but exclude the others with', 'toc+'); ?> <code>heading_levels="3,4,5"</code></li>
+ <li><strong>exclude</strong>: <?php _e('text, enter headings to be excluded. Separate multiple headings with a pipe <code>|</code>. Use an asterisk <code>*</code> as a wildcard to match other text. You could also use regular expressions for more advanced matching.', 'toc+'); ?></li>
+ </ul>
+ </td>
+</tr>
+<tr>
+ <td>[no_toc]</td>
+ <td><?php _e('Allows you to disable the table of contents for the current post, page, or custom post type.', 'toc+'); ?></td>
+ <td>&nbsp;</td>
+</tr>
+<tr>
+ <td>[sitemap]</td>
+ <td><?php _e('Produces a listing of all pages and categories for your site. You can use this on any post, page or even in a text widget.', 'toc+'); ?></td>
+ <td>&nbsp;</td>
+</tr>
+<tr>
+ <td>[sitemap_pages]</td>
+ <td><?php _e('Lets you print out a listing of only pages.', 'toc+'); ?></td>
+ <td>
+ <ul>
+ <li><strong>heading</strong>: <?php _e('number between 1 and 6, defines which html heading to use', 'toc+'); ?></li>
+ <li><strong>label</strong>: <?php _e('text, title of the list', 'toc+'); ?></li>
+ <li><strong>no_label</strong>: <?php _e('true/false, shows or hides the list heading', 'toc+'); ?></li>
+ <li><strong>exclude</strong>: <?php _e('IDs of the pages or categories you wish to exclude', 'toc+'); ?></li>
+ <li><strong>exclude_tree</strong>: <?php _e('ID of the page or category you wish to exclude including its all descendants', 'toc+'); ?></li>
+ </ul>
+ </td>
+</tr>
+<tr>
+ <td>[sitemap_categories]</td>
+ <td><?php _e('Similar to [sitemap_pages] but for categories.', 'toc+'); ?></td>
+ <td>&nbsp;</td>
+</tr>
+<tr>
+ <td>[sitemap_posts]</td>
+ <td><?php _e('This lets you print out an index of all published posts on your site. By default, posts are listed in alphabetical order grouped by their first letters. There are CSS classes for each section, letter and list allowing you to customise the appearance.', 'toc+'); ?></td>
+ <td>
+ <ul>
+ <li><strong>order</strong>: <?php _e('text, either ASC or DESC', 'toc+'); ?></li>
+ <li><strong>orderby</strong>: <?php printf(__('text, popular options include "title", "date", "ID", and "rand". See %1$sWP_Query%2$s for a list.', 'toc+'), '<a href="https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters">', '</a>'); ?></li>
+ <li><strong>separate</strong>: <?php _e('true/false (defaults to true), does not separate the lists by first letter when set to false.', 'toc+'); ?></li>
+ </ul>
+ </td>
+</tr>
+
+</tbody>
+</table>
+
+<h3><?php _e('I have another question...', 'toc+'); ?></h3>
+<p><?php printf(__('Visit the %1$splugin homepage%2$s to ask your question - who knows, maybe your question has already been answered. I\'d really like to hear your suggestions if you have any.', 'toc+'), '<a href="http://dublue.com/plugins/toc/">', '</a>'); ?></p>
+
+<h3><?php _e('For developers', 'toc+'); ?> <span class="show_hide">(<a href="#toc_for_developers"><?php _e('show', 'toc+'); ?></a>)</span></h3>
+<div id="toc_for_developers">
+ <h4><?php _e('How do I customise my anchors?', 'toc+'); ?></h4>
+ <p><?php _e("If you're still not happy with the anchors, you can modify them to suit your needs through a custom function hooked into the <code>toc_url_anchor_target</code> filter. As an example, place the below code snippet into your functions.php file to convert all anchors to uppercase.", 'toc+'); ?></p>
+ <pre>
+function my_custom_anchor( $anchor )
+{
+ return strtoupper( $anchor );
+}
+add_filter( 'toc_url_anchor_target', 'my_custom_anchor' );
+ </pre>
+
+ <h4>toc_get_index( $content = '', $prefix_url = '' )</h4>
+ <p><?php _e('Returns a HTML formatted string of the table of contents without the surrounding UL or OL tags to allow the theme editor to supply their own ID and/or classes to the outer list.', 'toc+'); ?></p>
+ <p><?php _e('Both parameters are optional:', 'toc+'); ?></p>
+ <ul>
+ <li><code>$content</code> <?php
+ /* translators: this explains the $content parameter */
+ _e('is the entire content with headings. If blank, will default to the current content found in $post (eg within "the loop").', 'toc+'); ?></li>
+ <li><code>$prefix_url</code> <?php
+ /* translators: this explains the $prefix_url parameter */
+ _e('is the URL to prefix the anchor with. If a string was provided, it will be used as is. If set to "true" then will try to obtain the permalink from the $post object.', 'toc+'); ?></li>
+ </ul>
+ <p><?php _e('These examples assume you are within "the loop":', 'toc+'); ?></p>
+ <ol>
+ <li><?php _e('Obtain the index for the current page', 'toc+'); ?>
+ <pre>echo '&lt;ul id="my_toc"&gt;' . toc_get_index() . '&lt;/ul&gt;';</pre>
+ </li>
+ <li><?php _e('Create a listing of all children and their headings', 'toc+'); ?>
+ <pre>
+$children = new WP_Query(array(
+ 'post_parent' => get_the_ID(),
+ 'posts_per_page' => -1 // get all children
+));
+while ( $children->have_posts() ) {
+ $children->the_post();
+ echo
+ '&lt;h3&gt;' . get_the_title() . '&lt;/h3&gt;' .
+ '&lt;ul&gt;' . toc_get_index( get_the_content(), get_permalink( $children->post->ID ) ) . '&lt;/ul&gt;'
+ ;
+}
+wp_reset_postdata();
+ </pre>
+ </li>
+ </ol>
+
+</div>
+
+
+ </div>
+</div>
+
+
+<p class="submit"><input type="submit" name="submit" class="button-primary" value="<?php _e('Update Options', 'toc+'); ?>" /></p>
+</form>
+</div>
+<?php
+ }
+
+
+ function wp_head()
+ {
+ $css = '';
+
+ if ( !$this->options['exclude_css'] ) {
+ if ( $this->options['theme'] == TOC_THEME_CUSTOM || $this->options['width'] != 'Auto' ) {
+ $css .= 'div#toc_container {';
+ if ( $this->options['theme'] == TOC_THEME_CUSTOM )
+ $css .= 'background: ' . $this->options['custom_background_colour'] . ';border: 1px solid ' . $this->options['custom_border_colour'] . ';';
+ if ( $this->options['width'] != 'Auto' ) {
+ $css .= 'width: ';
+ if ( $this->options['width'] != 'User defined' )
+ $css .= $this->options['width'];
+ else
+ $css .= $this->options['width_custom'] . $this->options['width_custom_units'];
+ $css .= ';';
+ }
+ $css .= '}';
+ }
+
+ if ( '95%' != $this->options['font_size'] . $this->options['font_size_units'] )
+ $css .= 'div#toc_container ul li {font-size: ' . $this->options['font_size'] . $this->options['font_size_units'] . ';}';
+
+ if ( $this->options['theme'] == TOC_THEME_CUSTOM ) {
+ if ( $this->options['custom_title_colour'] != TOC_DEFAULT_TITLE_COLOUR )
+ $css .= 'div#toc_container p.toc_title {color: ' . $this->options['custom_title_colour'] . ';}';
+ if ( $this->options['custom_links_colour'] != TOC_DEFAULT_LINKS_COLOUR )
+ $css .= 'div#toc_container p.toc_title a,div#toc_container ul.toc_list a {color: ' . $this->options['custom_links_colour'] . ';}';
+ if ( $this->options['custom_links_hover_colour'] != TOC_DEFAULT_LINKS_HOVER_COLOUR )
+ $css .= 'div#toc_container p.toc_title a:hover,div#toc_container ul.toc_list a:hover {color: ' . $this->options['custom_links_hover_colour'] . ';}';
+ if ( $this->options['custom_links_hover_colour'] != TOC_DEFAULT_LINKS_HOVER_COLOUR )
+ $css .= 'div#toc_container p.toc_title a:hover,div#toc_container ul.toc_list a:hover {color: ' . $this->options['custom_links_hover_colour'] . ';}';
+ if ( $this->options['custom_links_visited_colour'] != TOC_DEFAULT_LINKS_VISITED_COLOUR )
+ $css .= 'div#toc_container p.toc_title a:visited,div#toc_container ul.toc_list a:visited {color: ' . $this->options['custom_links_visited_colour'] . ';}';
+ }
+ }
+
+ if ( $css )
+ echo '<style type="text/css">' . $css . '</style>';
+ }
+
+
+ /**
+ * Returns a clean url to be used as the destination anchor target
+ */
+ private function url_anchor_target( $title )
+ {
+ $return = false;
+
+ if ( $title ) {
+ $return = trim( strip_tags($title) );
+
+ // replace newlines with spaces (eg when headings are split over multiple lines)
+ $return = str_replace( array("\r", "\n", "\n\r", "\r\n"), ' ', $return );
+
+ // remove &amp;
+ $return = str_replace( '&amp;', '', $return );
+
+ // remove non alphanumeric chars
+ $return = preg_replace( '/[^a-zA-Z0-9 \-_]*/', '', $return );
+
+ // convert spaces to _
+ $return = str_replace(
+ array(' ', ' '),
+ '_',
+ $return
+ );
+
+ // remove trailing - and _
+ $return = rtrim( $return, '-_' );
+
+ // lowercase everything?
+ if ( $this->options['lowercase'] ) $return = strtolower($return);
+
+ // if blank, then prepend with the fragment prefix
+ // blank anchors normally appear on sites that don't use the latin charset
+ if ( !$return ) {
+ $return = ( $this->options['fragment_prefix'] ) ? $this->options['fragment_prefix'] : '_';
+ }
+
+ // hyphenate?
+ if ( $this->options['hyphenate'] ) {
+ $return = str_replace('_', '-', $return);
+ $return = str_replace('--', '-', $return);
+ }
+ }
+
+ if ( array_key_exists($return, $this->collision_collector) ) {
+ $this->collision_collector[$return]++;
+ $return .= '-' . $this->collision_collector[$return];
+ }
+ else
+ $this->collision_collector[$return] = 1;
+
+ return apply_filters( 'toc_url_anchor_target', $return );
+ }
+
+
+ private function build_hierarchy( &$matches )
+ {
+ $current_depth = 100; // headings can't be larger than h6 but 100 as a default to be sure
+ $html = '';
+ $numbered_items = array();
+ $numbered_items_min = null;
+
+ // reset the internal collision collection
+ $this->collision_collector = array();
+
+ // find the minimum heading to establish our baseline
+ for ($i = 0; $i < count($matches); $i++) {
+ if ( $current_depth > $matches[$i][2] )
+ $current_depth = (int)$matches[$i][2];
+ }
+
+ $numbered_items[$current_depth] = 0;
+ $numbered_items_min = $current_depth;
+
+ for ($i = 0; $i < count($matches); $i++) {
+
+ if ( $current_depth == (int)$matches[$i][2] )
+ $html .= '<li>';
+
+ // start lists
+ if ( $current_depth != (int)$matches[$i][2] ) {
+ for ($current_depth; $current_depth < (int)$matches[$i][2]; $current_depth++) {
+ $numbered_items[$current_depth + 1] = 0;
+ $html .= '<ul><li>';
+ }
+ }
+
+ // list item
+ if ( in_array($matches[$i][2], $this->options['heading_levels']) ) {
+ $html .= '<a href="#' . $this->url_anchor_target( $matches[$i][0] ) . '">';
+ if ( $this->options['ordered_list'] ) {
+ // attach leading numbers when lower in hierarchy
+ $html .= '<span class="toc_number toc_depth_' . ($current_depth - $numbered_items_min + 1) . '">';
+ for ($j = $numbered_items_min; $j < $current_depth; $j++) {
+ $number = ($numbered_items[$j]) ? $numbered_items[$j] : 0;
+ $html .= $number . '.';
+ }
+
+ $html .= ($numbered_items[$current_depth] + 1) . '</span> ';
+ $numbered_items[$current_depth]++;
+ }
+ $html .= strip_tags($matches[$i][0]) . '</a>';
+ }
+
+
+ // end lists
+ if ( $i != count($matches) - 1 ) {
+ if ( $current_depth > (int)$matches[$i + 1][2] ) {
+ for ($current_depth; $current_depth > (int)$matches[$i + 1][2]; $current_depth--) {
+ $html .= '</li></ul>';
+ $numbered_items[$current_depth] = 0;
+ }
+ }
+
+ if ( $current_depth == (int)@$matches[$i + 1][2] )
+ $html .= '</li>';
+ }
+ else {
+ // this is the last item, make sure we close off all tags
+ for ($current_depth; $current_depth >= $numbered_items_min; $current_depth--) {
+ $html .= '</li>';
+ if ( $current_depth != $numbered_items_min ) $html .= '</ul>';
+ }
+ }
+ }
+
+ return $html;
+ }
+
+
+ /**
+ * Returns a string with all items from the $find array replaced with their matching
+ * items in the $replace array. This does a one to one replacement (rather than
+ * globally).
+ *
+ * This function is multibyte safe.
+ *
+ * $find and $replace are arrays, $string is the haystack. All variables are
+ * passed by reference.
+ */
+ private function mb_find_replace( &$find = false, &$replace = false, &$string = '' )
+ {
+ if ( is_array($find) && is_array($replace) && $string ) {
+ // check if multibyte strings are supported
+ if ( function_exists( 'mb_strpos' ) ) {
+ for ($i = 0; $i < count($find); $i++) {
+ $string =
+ mb_substr( $string, 0, mb_strpos($string, $find[$i]) ) . // everything befor $find
+ $replace[$i] . // its replacement
+ mb_substr( $string, mb_strpos($string, $find[$i]) + mb_strlen($find[$i]) ) // everything after $find
+ ;
+ }
+ }
+ else {
+ for ($i = 0; $i < count($find); $i++) {
+ $string = substr_replace(
+ $string,
+ $replace[$i],
+ strpos($string, $find[$i]),
+ strlen($find[$i])
+ );
+ }
+ }
+ }
+
+ return $string;
+ }
+
+
+ /**
+ * This function extracts headings from the html formatted $content. It will pull out
+ * only the required headings as specified in the options. For all qualifying headings,
+ * this function populates the $find and $replace arrays (both passed by reference)
+ * with what to search and replace with.
+ *
+ * Returns a html formatted string of list items for each qualifying heading. This
+ * is everything between and NOT including <ul> and </ul>
+ */
+ public function extract_headings( &$find, &$replace, $content = '' )
+ {
+ $matches = array();
+ $anchor = '';
+ $items = false;
+
+ // reset the internal collision collection as the_content may have been triggered elsewhere
+ // eg by themes or other plugins that need to read in content such as metadata fields in
+ // the head html tag, or to provide descriptions to twitter/facebook
+ $this->collision_collector = array();
+
+ if ( is_array($find) && is_array($replace) && $content ) {
+ // get all headings
+ // the html spec allows for a maximum of 6 heading depths
+ if ( preg_match_all('/(<h([1-6]{1})[^>]*>).*<\/h\2>/msuU', $content, $matches, PREG_SET_ORDER) >= $this->options['start'] ) {
+
+ // remove undesired headings (if any) as defined by heading_levels
+ if ( count($this->options['heading_levels']) != 6 ) {
+ $new_matches = array();
+ for ($i = 0; $i < count($matches); $i++) {
+ if ( in_array($matches[$i][2], $this->options['heading_levels']) )
+ $new_matches[] = $matches[$i];
+ }
+ $matches = $new_matches;
+ }
+
+ // remove specific headings if provided via the 'exclude' property
+ if ( $this->options['exclude'] ) {
+ $excluded_headings = explode('|', $this->options['exclude']);
+ if ( count($excluded_headings) > 0 ) {
+ for ($j = 0; $j < count($excluded_headings); $j++) {
+ // escape some regular expression characters
+ // others: http://www.php.net/manual/en/regexp.reference.meta.php
+ $excluded_headings[$j] = str_replace(
+ array('*'),
+ array('.*'),
+ trim($excluded_headings[$j])
+ );
+ }
+
+ $new_matches = array();
+ for ($i = 0; $i < count($matches); $i++) {
+ $found = false;
+ for ($j = 0; $j < count($excluded_headings); $j++) {
+ if ( @preg_match('/^' . $excluded_headings[$j] . '$/imU', strip_tags($matches[$i][0])) ) {
+ $found = true;
+ break;
+ }
+ }
+ if (!$found) $new_matches[] = $matches[$i];
+ }
+ if ( count($matches) != count($new_matches) )
+ $matches = $new_matches;
+ }
+ }
+
+ for ($i = 0; $i < count($matches); $i++) {
+ // get anchor and add to find and replace arrays
+ $anchor = $this->url_anchor_target( $matches[$i][0] );
+ $find[] = $matches[$i][0];
+ $replace[] = str_replace(
+ array(
+ $matches[$i][1], // start of heading
+ '</h' . $matches[$i][2] . '>' // end of heading
+ ),
+ array(
+ $matches[$i][1] . '<span id="' . $anchor . '">',
+ '</span></h' . $matches[$i][2] . '>'
+ ),
+ $matches[$i][0]
+ );
+
+ // assemble flat list
+ if ( !$this->options['show_heirarchy'] ) {
+ $items .= '<li><a href="#' . $anchor . '">';
+ if ( $this->options['ordered_list'] ) $items .= count($replace) . ' ';
+ $items .= strip_tags($matches[$i][0]) . '</a></li>';
+ }
+ }
+
+ // build a hierarchical toc?
+ // we could have tested for $items but that var can be quite large in some cases
+ if ( $this->options['show_heirarchy'] ) $items = $this->build_hierarchy( $matches );
+ }
+ }
+
+ return $items;
+ }
+
+
+ /**
+ * Returns true if the table of contents is eligible to be printed, false otherwise.
+ */
+ public function is_eligible( $shortcode_used = false )
+ {
+ global $post;
+
+ // do not trigger the TOC when displaying an XML/RSS feed
+ if ( is_feed() ) return false;
+
+ // if the shortcode was used, this bypasses many of the global options
+ if ( $shortcode_used !== false ) {
+ // shortcode is used, make sure it adheres to the exclude from
+ // homepage option if we're on the homepage
+ if ( !$this->options['include_homepage'] && is_front_page() )
+ return false;
+ else
+ return true;
+ }
+ else {
+ if (
+ ( in_array(get_post_type($post), $this->options['auto_insert_post_types']) && $this->show_toc && !is_search() && !is_archive() && !is_front_page() ) ||
+ ( $this->options['include_homepage'] && is_front_page() )
+ ) {
+ if ( $this->options['restrict_path'] ) {
+ if ( strpos($_SERVER['REQUEST_URI'], $this->options['restrict_path']) === 0 )
+ return true;
+ else
+ return false;
+ }
+ else
+ return true;
+ }
+ else
+ return false;
+ }
+ }
+
+
+ function the_content( $content )
+ {
+ global $post;
+ $items = $css_classes = $anchor = '';
+ $custom_toc_position = strpos($content, '<!--TOC-->');
+ $find = $replace = array();
+
+ if ( $this->is_eligible($custom_toc_position) ) {
+
+ $items = $this->extract_headings($find, $replace, $content);
+
+ if ( $items ) {
+ // do we display the toc within the content or has the user opted
+ // to only show it in the widget? if so, then we still need to
+ // make the find/replace call to insert the anchors
+ if ( $this->options['show_toc_in_widget_only'] ) {
+ $content = $this->mb_find_replace($find, $replace, $content);
+ }
+ else {
+
+ // wrapping css classes
+ switch( $this->options['wrapping'] ) {
+ case TOC_WRAPPING_LEFT:
+ $css_classes .= ' toc_wrap_left';
+ break;
+
+ case TOC_WRAPPING_RIGHT:
+ $css_classes .= ' toc_wrap_right';
+ break;
+
+ case TOC_WRAPPING_NONE:
+ default:
+ // do nothing
+ }
+
+ // colour themes
+ switch ( $this->options['theme'] ) {
+ case TOC_THEME_LIGHT_BLUE:
+ $css_classes .= ' toc_light_blue';
+ break;
+
+ case TOC_THEME_WHITE:
+ $css_classes .= ' toc_white';
+ break;
+
+ case TOC_THEME_BLACK:
+ $css_classes .= ' toc_black';
+ break;
+
+ case TOC_THEME_TRANSPARENT:
+ $css_classes .= ' toc_transparent';
+ break;
+
+ case TOC_THEME_GREY:
+ default:
+ // do nothing
+ }
+
+ // bullets?
+ if ( $this->options['bullet_spacing'] )
+ $css_classes .= ' have_bullets';
+ else
+ $css_classes .= ' no_bullets';
+
+ $css_classes = trim($css_classes);
+
+ // an empty class="" is invalid markup!
+ if ( !$css_classes ) $css_classes = ' ';
+
+ // add container, toc title and list items
+ $html = '<div id="toc_container" class="' . $css_classes . '">';
+ if ( $this->options['show_heading_text'] ) {
+ $toc_title = $this->options['heading_text'];
+ if ( strpos($toc_title, '%PAGE_TITLE%') !== false ) $toc_title = str_replace( '%PAGE_TITLE%', get_the_title(), $toc_title );
+ $html .= '<p class="toc_title">' . htmlentities( $toc_title, ENT_COMPAT, 'UTF-8' ) . '</p>';
+ }
+ $html .= '<ul class="toc_list">' . $items . '</ul></div>' . "\n";
+
+ if ( $custom_toc_position !== false ) {
+ $find[] = '<!--TOC-->';
+ $replace[] = $html;
+ $content = $this->mb_find_replace($find, $replace, $content);
+ }
+ else {
+ if ( count($find) > 0 ) {
+ switch ( $this->options['position'] ) {
+ case TOC_POSITION_TOP:
+ $content = $html . $this->mb_find_replace($find, $replace, $content);
+ break;
+
+ case TOC_POSITION_BOTTOM:
+ $content = $this->mb_find_replace($find, $replace, $content) . $html;
+ break;
+
+ case TOC_POSITION_AFTER_FIRST_HEADING:
+ $replace[0] = $replace[0] . $html;
+ $content = $this->mb_find_replace($find, $replace, $content);
+ break;
+
+ case TOC_POSITION_BEFORE_FIRST_HEADING:
+ default:
+ $replace[0] = $html . $replace[0];
+ $content = $this->mb_find_replace($find, $replace, $content);
+ }
+ }
+ }
+ }
+ }
+ }
+ else {
+ // remove <!--TOC--> (inserted from shortcode) from content
+ $content = str_replace('<!--TOC-->', '', $content);
+ }
+
+ return $content;
+ }
+
+ } // end class
+endif;
+
+
+
+if ( !class_exists( 'toc_widget' ) ) :
+ class toc_widget extends WP_Widget {
+
+ function __construct()
+ {
+ $widget_options = array(
+ 'classname' => 'toc_widget',
+ 'description' => __('Display the table of contents in the sidebar with this widget', 'toc+')
+ );
+ $control_options = array(
+ 'width' => 250,
+ 'height' => 350,
+ 'id_base' => 'toc-widget'
+ );
+ $this->WP_Widget( 'toc-widget', 'TOC+', $widget_options, $control_options );
+ }
+
+
+ /**
+ * Widget output to the public
+ */
+ function widget( $args, $instance )
+ {
+ global $tic, $wp_query;
+ $items = $custom_toc_position = '';
+ $find = $replace = array();
+
+ $toc_options = $tic->get_options();
+ $post = get_post( $wp_query->post->ID );
+ $custom_toc_position = strpos( $post->post_content, '[toc]' ); // at this point, shortcodes haven't run yet so we can't search for <!--TOC-->
+
+ if ( $tic->is_eligible($custom_toc_position) ) {
+
+ extract( $args );
+
+ $items = $tic->extract_headings( $find, $replace, wptexturize($post->post_content) );
+ $title = apply_filters('widget_title', $instance['title'] );
+ if ( strpos($title, '%PAGE_TITLE%') !== false ) $title = str_replace( '%PAGE_TITLE%', get_the_title(), $title );
+ $hide_inline = $toc_options['show_toc_in_widget_only'];
+
+ if ( $items ) {
+ // before widget (defined by themes)
+ echo $before_widget;
+
+ // display the widget title if one was input (before and after defined by themes)
+ if ( !$title ) $title = $toc_options['heading_text'];
+ echo
+ $before_title . $title . $after_title .
+ '<ul class="toc_widget_list">' . $items . '</ul>'
+ ;
+
+ // after widget (defined by themes)
+ echo $after_widget;
+ }
+ }
+ }
+
+
+ /**
+ * Update the widget settings
+ */
+ function update( $new_instance, $old_instance )
+ {
+ global $tic;
+
+ $instance = $old_instance;
+
+ // strip tags for title to remove HTML (important for text inputs)
+ $instance['title'] = strip_tags( $new_instance['title'] );
+
+ // no need to strip tags for the following
+ //$instance['hide_inline'] = $new_instance['hide_inline'];
+ $tic->set_show_toc_in_widget_only( $new_instance['hide_inline'] );
+
+ return $instance;
+ }
+
+
+ /**
+ * Displays the widget settings on the widget panel.
+ */
+ function form( $instance )
+ {
+ global $tic;
+ $toc_options = $tic->get_options();
+
+ $defaults = array(
+ 'title' => ''
+ );
+ $instance = wp_parse_args( (array)$instance, $defaults );
+
+?>
+ <p>
+ <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e('Title', 'toc+'); ?>:</label>
+ <input type="text" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="width:100%;" />
+ </p>
+
+ <p>
+ <input class="checkbox" type="checkbox" <?php checked( $toc_options['show_toc_in_widget_only'], 1 ); ?> id="<?php echo $this->get_field_id( 'hide_inline' ); ?>" name="<?php echo $this->get_field_name( 'hide_inline' ); ?>" value="1" />
+ <label for="<?php echo $this->get_field_id( 'hide_inline' ); ?>"> <?php _e('Show the table of contents only in the sidebar', 'toc+'); ?></label>
+ </p>
+<?php
+ }
+
+ } // end class
+endif;
+
+
+/**
+ * Returns a HTML formatted string of the table of contents without the surrounding UL or OL
+ * tags to enable the theme editor to supply their own ID and/or classes to the outer list.
+ *
+ * There are two optional parameters you can feed this function with:
+ *
+ * - $content is the entire content with headings. If blank, will default to the current $post
+ *
+ * - $link is the URL to prefix the anchor with. If provided a string, will use it as the prefix.
+ * If set to true then will try to obtain the permalink from the $post object.
+ */
+function toc_get_index( $content = '', $prefix_url = '' )
+{
+ global $wp_query, $tic;
+
+ $return = '';
+ $find = $replace = array();
+
+ if ( !$content ) {
+ $post = get_post( $wp_query->post->ID );
+ $content = wptexturize($post->post_content);
+ }
+
+ if ( $tic->is_eligible() ) {
+ $return = $tic->extract_headings( $find, $replace, $content );
+ if ( $prefix_url ) $return = str_replace('href="#', 'href="' . $prefix_url . '#', $return);
+ }
+
+ return $return;
+}
+
+
+
+// do the magic
+$tic = new toc();
+
+?> \ No newline at end of file