From adf94ffbf6282153eb081b3f1e3730837893a01f Mon Sep 17 00:00:00 2001 From: Christopher Rogers Date: Wed, 9 Apr 2014 14:45:41 -0700 Subject: [PATCH] Simplifies layout language selection and js init logic Signed-off-by: Christopher Rogers --- source/javascripts/init.js | 24 +++++++++++++ source/layouts/layout.erb | 74 ++++++++++++-------------------------- 2 files changed, 46 insertions(+), 52 deletions(-) create mode 100644 source/javascripts/init.js diff --git a/source/javascripts/init.js b/source/javascripts/init.js new file mode 100644 index 0000000..3bf546d --- /dev/null +++ b/source/javascripts/init.js @@ -0,0 +1,24 @@ +$(function() { + var toc = $("#toc").tocify({ + selectors: "h1,h2", + extendPage: false, + theme: "none", + smoothScroll: false, + showEffectSpeed: 0, + hideEffectSpeed: 180, + ignoreSelector: ".toc-ignore", + hashGenerator: 'pretty', + highlightOffset: 60, + scrollTo: -2, + scrollHistory: true, + hashGenerator: function(text, element) { + return element[0].getAttribute('id'); + } + }).data("toc-tocify"); + + // Hack to make already open sections to start opened, + // instead of displaying an ugly animation + setTimeout(function() { + toc.setOption("showEffectSpeed", 180); + },50); +}); diff --git a/source/layouts/layout.erb b/source/layouts/layout.erb index bcceb15..23aa1f3 100644 --- a/source/layouts/layout.erb +++ b/source/layouts/layout.erb @@ -13,6 +13,7 @@ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. %> +<% language_tabs = current_page.data.language_tabs %> @@ -26,45 +27,16 @@ under the License. <%= stylesheet_link_tag "screen", media: 'screen' %> <%= stylesheet_link_tag "print", media: 'print' %> - + <%= javascript_include_tag "all" %> - + <% if language_tabs %> + + <% end %> @@ -73,35 +45,33 @@ under the License.
<% if current_page.data.toc_footers %> - + <% end %>
<%= yield %> - <% if current_page.data.includes %> - <% current_page.data.includes.each do |include| %> - <%= partial "includes/#{include}" %> - <% end %> + <% current_page.data.includes && current_page.data.includes.each do |include| %> + <%= partial "includes/#{include}" %> <% end %>
-
- <% if current_page.data.language_tabs %> - <% current_page.data.language_tabs.each do |lang| %> + <% if language_tabs %> +
+ <% language_tabs.each do |lang| %> <% if lang.is_a? Hash %> <%= lang.values[0] %> <% else %> <%= lang %> <% end %> <% end %> - <% end %> -
+
+ <% end %>
- \ No newline at end of file +