From 247b9563ac81f6e66bc3c5af8e280adad66258a4 Mon Sep 17 00:00:00 2001 From: Xavier Noria Date: Sun, 22 Feb 2009 00:29:11 +0100 Subject: let the indexer pass element IDs to the guides generator to avoid coupling, links to sections whose title has textile markup are fixed as well --- railties/guides/rails_guides/indexer.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'railties/guides/rails_guides/indexer.rb') diff --git a/railties/guides/rails_guides/indexer.rb b/railties/guides/rails_guides/indexer.rb index 52809829e2..7cb254d0b0 100644 --- a/railties/guides/rails_guides/indexer.rb +++ b/railties/guides/rails_guides/indexer.rb @@ -29,13 +29,17 @@ module RailsGuides return level_hash elsif level == current_level index = counters.join(".") - bookmark = '#' + title.gsub(/[^a-z0-9\-_\+]+/i, '').underscore.dasherize + bookmark = '#' + title.gsub(/[^a-z0-9\-_]+/i, '').underscore.dasherize raise "Parsing Fail" unless @result.sub!(matched, "h#{level}(#{bookmark}). #{index}#{title}") + key = { + :title => title, + :id => bookmark + } # Recurse counters << 1 - level_hash[title.strip] = process(s.post_match, current_level + 1, counters) + level_hash[key] = process(s.post_match, current_level + 1, counters) counters.pop # Increment the current level -- cgit v1.2.3