Commit 7a88eb199c8ec7f15ff1be006add77b08fcd3ffd

re generated the chapter TOCs after adding a ul and fixing a bug
Rakefile
(6 / 20)
  
5858 page_content = File.open(page).read
5959 m_doc = Maruku::new(page_content)
6060
61 if m_doc.toc.immediate_children.size > 0
61 if m_doc.toc.section_level > 0
6262 page_name = page[/\/book-content\/#{language}\/.*-#{chapter_name}\/.*-(.*)\.markdown/,1]
6363 toc = m_doc.toc.create_toc.dup
6464
6565 # create a new entry for the file itself
66 top_ul = REXML::Element.new("ul")
67 top_ul.attributes["class"] = "toc"
6668 top_li = REXML::Element.new("li")
6769 top_li_a = REXML::Element.new("a")
6870 top_li_a.attributes["href"] = "/#{language}/#{chapter_name}/#{page_name}"
6971 top_li_a.text = m_doc.attributes[:title]
7072 top_li << top_li_a
71 #
72 if REXML::XPath.first( toc, "//ul/li" )
73 top_li << toc
74 top_li.to_s.to_s.gsub("href='#", "href='/#{language}/#{chapter_name}/#{page_name}#")
75 else
76 nil
77 end
78
73 top_ul << top_li
74 top_li << toc
75 top_ul.to_s.to_s.gsub("href='#", "href='/#{language}/#{chapter_name}/#{page_name}#")
7976 else
8077 nil
8178 end
8279 end.compact.join("\n\n")
83
84 # merged_files = files.map{|file| File.open(file).read}.join("\n")
85 # toc = "\n* This will become a table of contents (this text will be scraped).\n{:toc}\n"
86 #
87 # merged_files.gsub!(toc, "")
88 # merged_files = toc + merged_files
89 #
90 # mf = Maruku::new(merged_files)
91 # list = mf.to_html[/(<div class='maruku_toc'>.*<\/li><\/ul><\/div>)/, 1]
92 #
93 # list #? list.gsub("href='#", "href='") : nil
9480end
9581
9682def save_chapter_toc(chapter, language)
  
11# front-matter
22
3
3 <ul class='toc'><li><a href='/en/front-matter/preface'>Preface</a><ul style='list-style: none;'/></li></ul>
4
5<ul class='toc'><li><a href='/en/front-matter/contributors'>Contributors</a><ul style='list-style: none;'/></li></ul>
  
11# introduction
22
3
3 <ul class='toc'><li><a href='/en/introduction/ruby'>Ruby Language</a><ul style='list-style: none;'><li><a href='/en/introduction/ruby#origin'>Origin</a></li><li><a href='/en/introduction/ruby#adoption'>Adoption</a></li><li><a href='/en/introduction/ruby#key-elements'>Key Elements of the language</a></li><li><a href='/en/introduction/ruby#code-examples'>Code Examples</a></li><li><a href='/en/introduction/ruby#merb-and-ruby'>Merb and Ruby</a></li></ul></li></ul>
4
5<ul class='toc'><li><a href='/en/introduction/merb'>Merb</a><ul style='list-style: none;'/></li></ul>
6
7<ul class='toc'><li><a href='/en/introduction/datamapper'>DataMapper</a><ul style='list-style: none;'/></li></ul>
8
9<ul class='toc'><li><a href='/en/introduction/rspec'>RSpec testing framework</a><ul style='list-style: none;'><li><a href='/en/introduction/rspec#introduction'>Introduction</a></li><li><a href='/en/introduction/rspec#history'>History</a></li><li><a href='/en/introduction/rspec#behavior_driven_development'>Behavior Driven Development</a></li><li><a href='/en/introduction/rspec#implementation'>Implementation</a></li></ul></li></ul>
  
11# getting-started
22
3 <li><a href='/en/getting-started/instructions'>Install instruction</a><ul style='list-style: none;'><li><a href='/en/getting-started/instructions#os_x'>OS X</a><ul style='list-style: none;'><li><a href='/en/getting-started/instructions#prerequisites'>Prerequisites</a></li><li><a href='/en/getting-started/instructions#ruby__rubygems'>Ruby &amp; RubyGems</a></li><li><a href='/en/getting-started/instructions#merb'>Merb</a></li></ul></li><li><a href='/en/getting-started/instructions#linux'>Linux</a><ul style='list-style: none;'><li><a href='/en/getting-started/instructions#prerequisites'>Prerequisites</a></li><li><a href='/en/getting-started/instructions#ruby__rubygems'>Ruby &amp; RubyGems</a></li><li><a href='/en/getting-started/instructions#merb'>Merb</a></li></ul></li><li><a href='/en/getting-started/instructions#windows'>Windows</a></li></ul></li>
3 <ul class='toc'><li><a href='/en/getting-started/instructions'>Install instruction</a><ul style='list-style: none;'><li><a href='/en/getting-started/instructions#os_x'>OS X</a><ul style='list-style: none;'><li><a href='/en/getting-started/instructions#prerequisites'>Prerequisites</a></li><li><a href='/en/getting-started/instructions#ruby__rubygems'>Ruby &amp; RubyGems</a></li><li><a href='/en/getting-started/instructions#merb'>Merb</a></li></ul></li><li><a href='/en/getting-started/instructions#linux'>Linux</a><ul style='list-style: none;'><li><a href='/en/getting-started/instructions#prerequisites'>Prerequisites</a></li><li><a href='/en/getting-started/instructions#ruby__rubygems'>Ruby &amp; RubyGems</a></li><li><a href='/en/getting-started/instructions#merb'>Merb</a></li></ul></li><li><a href='/en/getting-started/instructions#windows'>Windows</a></li></ul></li></ul>
44
5<li><a href='/en/getting-started/application'>Generate an application</a><ul style='list-style: none;'><li><a href='/en/getting-started/application#types'>Types</a><ul style='list-style: none;'><li><a href='/en/getting-started/application#app'>App</a></li><li><a href='/en/getting-started/application#core'>Core</a></li><li><a href='/en/getting-started/application#flat'>Flat</a></li><li><a href='/en/getting-started/application#very_flat'>Very Flat</a></li></ul></li></ul></li>
5<ul class='toc'><li><a href='/en/getting-started/application'>Generate an application</a><ul style='list-style: none;'><li><a href='/en/getting-started/application#types'>Types</a><ul style='list-style: none;'><li><a href='/en/getting-started/application#app'>App</a></li><li><a href='/en/getting-started/application#core'>Core</a></li><li><a href='/en/getting-started/application#flat'>Flat</a></li><li><a href='/en/getting-started/application#very_flat'>Very Flat</a></li></ul></li></ul></li></ul>
66
7<li><a href='/en/getting-started/structure'>Project structure</a><ul style='list-style: none;'><li><a href='/en/getting-started/structure#app'>app</a><ul style='list-style: none;'><li><a href='/en/getting-started/structure#controllers'>controllers</a></li><li><a href='/en/getting-started/structure#models'>models</a></li><li><a href='/en/getting-started/structure#views'>views</a></li></ul></li><li><a href='/en/getting-started/structure#config'>config</a><ul style='list-style: none;'><li><a href='/en/getting-started/structure#environments'>environments</a></li></ul></li><li><a href='/en/getting-started/structure#gems'>gems</a></li><li><a href='/en/getting-started/structure#public'>public</a><ul style='list-style: none;'><li><a href='/en/getting-started/structure#images'>images</a></li><li><a href='/en/getting-started/structure#javascripts'>javascripts</a></li><li><a href='/en/getting-started/structure#stylesheets'>stylesheets</a></li></ul></li><li><a href='/en/getting-started/structure#spec'>spec</a></li><li><a href='/en/getting-started/structure#tasks'>tasks</a></li></ul></li>
7<ul class='toc'><li><a href='/en/getting-started/structure'>Project structure</a><ul style='list-style: none;'><li><a href='/en/getting-started/structure#app'>app</a><ul style='list-style: none;'><li><a href='/en/getting-started/structure#controllers'>controllers</a></li><li><a href='/en/getting-started/structure#models'>models</a></li><li><a href='/en/getting-started/structure#views'>views</a></li></ul></li><li><a href='/en/getting-started/structure#config'>config</a><ul style='list-style: none;'><li><a href='/en/getting-started/structure#environments'>environments</a></li></ul></li><li><a href='/en/getting-started/structure#gems'>gems</a></li><li><a href='/en/getting-started/structure#public'>public</a><ul style='list-style: none;'><li><a href='/en/getting-started/structure#images'>images</a></li><li><a href='/en/getting-started/structure#javascripts'>javascripts</a></li><li><a href='/en/getting-started/structure#stylesheets'>stylesheets</a></li></ul></li><li><a href='/en/getting-started/structure#spec'>spec</a></li><li><a href='/en/getting-started/structure#tasks'>tasks</a></li></ul></li></ul>
88
9<li><a href='/en/getting-started/controllers'>Controllers</a><ul style='list-style: none;'><li><a href='/en/getting-started/controllers#restful_controllers'>RESTful controllers</a><ul style='list-style: none;'><li><a href='/en/getting-started/controllers#the_default_routing_style'>The Default Routing Style</a></li><li><a href='/en/getting-started/controllers#the_restful_style'>The RESTful Style</a><ul style='list-style: none;'><li><a href='/en/getting-started/controllers#index'>Index</a></li><li><a href='/en/getting-started/controllers#new'>New</a></li><li><a href='/en/getting-started/controllers#create'>Create</a></li><li><a href='/en/getting-started/controllers#show'>Show</a></li><li><a href='/en/getting-started/controllers#edit'>Edit</a></li><li><a href='/en/getting-started/controllers#update'>Update</a></li><li><a href='/en/getting-started/controllers#delete'>Delete</a></li><li><a href='/en/getting-started/controllers#destroy'>Destroy</a></li></ul></li><li><a href='/en/getting-started/controllers#adding_and_removing_methods'>Adding and Removing Methods</a></li></ul></li><li><a href='/en/getting-started/controllers#using_merbgen_with_controllers'>Using merb-gen With Controllers</a></li><li><a href='/en/getting-started/controllers#controller_action_methods'>Controller Action Methods</a><ul style='list-style: none;'><li><a href='/en/getting-started/controllers#render_and_display'>Render and Display</a></li><li><a href='/en/getting-started/controllers#interaction_with_model'>Interaction with Model</a></li><li><a href='/en/getting-started/controllers#information_from_the_request_the_params_and_request_hashes'>Information From the Request: The &#8216;params&#8217; and &#8216;request&#8217; Hashes</a></li><li><a href='/en/getting-started/controllers#persistant_information_about_the_client_sessions_and_cookies'>Persistant Information About the Client: Sessions and Cookies</a></li><li><a href='/en/getting-started/controllers#redirecting'>Redirecting</a></li><li><a href='/en/getting-started/controllers#exceptions_and_status_codes'>Exceptions and Status Codes</a></li></ul></li><li><a href='/en/getting-started/controllers#extending_controllers'>Extending Controllers</a><ul style='list-style: none;'><li><a href='/en/getting-started/controllers#formats'>Formats</a></li><li><a href='/en/getting-started/controllers#before_and_after_filters'>Before and After Filters</a></li><li><a href='/en/getting-started/controllers#use_of_application'>Use of &#8216;Application&#8217;</a></li><li><a href='/en/getting-started/controllers#private_methods'>Private Methods</a></li></ul></li></ul></li>
9<ul class='toc'><li><a href='/en/getting-started/mvc'>MVC</a><ul style='list-style: none;'/></li></ul>
10
11<ul class='toc'><li><a href='/en/getting-started/controllers'>Controllers</a><ul style='list-style: none;'><li><a href='/en/getting-started/controllers#restful_controllers'>RESTful controllers</a><ul style='list-style: none;'><li><a href='/en/getting-started/controllers#the_default_routing_style'>The Default Routing Style</a></li><li><a href='/en/getting-started/controllers#the_restful_style'>The RESTful Style</a><ul style='list-style: none;'><li><a href='/en/getting-started/controllers#index'>Index</a></li><li><a href='/en/getting-started/controllers#new'>New</a></li><li><a href='/en/getting-started/controllers#create'>Create</a></li><li><a href='/en/getting-started/controllers#show'>Show</a></li><li><a href='/en/getting-started/controllers#edit'>Edit</a></li><li><a href='/en/getting-started/controllers#update'>Update</a></li><li><a href='/en/getting-started/controllers#delete'>Delete</a></li><li><a href='/en/getting-started/controllers#destroy'>Destroy</a></li></ul></li><li><a href='/en/getting-started/controllers#adding_and_removing_methods'>Adding and Removing Methods</a></li></ul></li><li><a href='/en/getting-started/controllers#using_merbgen_with_controllers'>Using merb-gen With Controllers</a></li><li><a href='/en/getting-started/controllers#controller_action_methods'>Controller Action Methods</a><ul style='list-style: none;'><li><a href='/en/getting-started/controllers#render_and_display'>Render and Display</a></li><li><a href='/en/getting-started/controllers#interaction_with_model'>Interaction with Model</a></li><li><a href='/en/getting-started/controllers#information_from_the_request_the_params_and_request_hashes'>Information From the Request: The &#8216;params&#8217; and &#8216;request&#8217; Hashes</a></li><li><a href='/en/getting-started/controllers#persistant_information_about_the_client_sessions_and_cookies'>Persistant Information About the Client: Sessions and Cookies</a></li><li><a href='/en/getting-started/controllers#redirecting'>Redirecting</a></li><li><a href='/en/getting-started/controllers#exceptions_and_status_codes'>Exceptions and Status Codes</a></li></ul></li><li><a href='/en/getting-started/controllers#extending_controllers'>Extending Controllers</a><ul style='list-style: none;'><li><a href='/en/getting-started/controllers#formats'>Formats</a></li><li><a href='/en/getting-started/controllers#before_and_after_filters'>Before and After Filters</a></li><li><a href='/en/getting-started/controllers#use_of_application'>Use of &#8216;Application&#8217;</a></li><li><a href='/en/getting-started/controllers#private_methods'>Private Methods</a></li></ul></li></ul></li></ul>
12
13<ul class='toc'><li><a href='/en/getting-started/views'>Views</a><ul style='list-style: none;'><li><a href='/en/getting-started/views#form_helpers'>Form Helpers</a></li><li><a href='/en/getting-started/views#date_and_time_helpers'>Date and Time Helpers</a></li></ul></li></ul>
14
15<ul class='toc'><li><a href='/en/getting-started/models'>Models</a><ul style='list-style: none;'><li><a href='/en/getting-started/models#attributes'>Attributes</a></li><li><a href='/en/getting-started/models#validations'>Validations</a></li><li><a href='/en/getting-started/models#associations'>Associations</a></li><li><a href='/en/getting-started/models#callbacks'>Callbacks</a></li></ul></li></ul>
16
17<ul class='toc'><li><a href='/en/getting-started/path'>Request Path</a><ul style='list-style: none;'><li><a href='/en/getting-started/path#from_the_client_to_our_doorstep'>From the Client to Our Doorstep</a></li><li><a href='/en/getting-started/path#reverse_proxy_optional'>Reverse Proxy (optional)</a></li><li><a href='/en/getting-started/path#web_server'>Web server</a></li><li><a href='/en/getting-started/path#rack_and_merb'>Rack and Merb</a></li><li><a href='/en/getting-started/path#router'>Router</a></li><li><a href='/en/getting-started/path#controller_action'>Controller Action</a></li><li><a href='/en/getting-started/path#out_the_door'>Out the Door</a></li><li><a href='/en/getting-started/path#caching'>Caching</a></li></ul></li></ul>
18
19<ul class='toc'><li><a href='/en/getting-started/router'>Router</a><ul style='list-style: none;'/></li></ul>
  
11# interacting-with-the-database
22
3
3 <ul class='toc'><li><a href='/en/interacting-with-the-database/up'>Setting Up DataMapper</a><ul style='list-style: none;'/></li></ul>
4
5<ul class='toc'><li><a href='/en/interacting-with-the-database/schema'>Database Schema</a><ul style='list-style: none;'/></li></ul>
6
7<ul class='toc'><li><a href='/en/interacting-with-the-database/queries'>Database Queries</a><ul style='list-style: none;'/></li></ul>
8
9<ul class='toc'><li><a href='/en/interacting-with-the-database/relationships'>Model Relationships</a><ul style='list-style: none;'/></li></ul>
10
11<ul class='toc'><li><a href='/en/interacting-with-the-database/migrations'>Database Migrations</a><ul style='list-style: none;'/></li></ul>
12
13<ul class='toc'><li><a href='/en/interacting-with-the-database/validations'>Model Validations</a><ul style='list-style: none;'/></li></ul>
  
11# testing-your-application
22
3 <li><a href='/en/testing-your-application/why'>Why test</a><ul style='list-style: none;'><li><a href='/en/testing-your-application/why#types_of_tests'>Types of Tests</a><ul style='list-style: none;'><li><a href='/en/testing-your-application/why#models'>Models</a></li><li><a href='/en/testing-your-application/why#requests'>Requests</a></li><li><a href='/en/testing-your-application/why#integration'>Integration</a></li></ul></li></ul></li>
3 <ul class='toc'><li><a href='/en/testing-your-application/why'>Why test</a><ul style='list-style: none;'><li><a href='/en/testing-your-application/why#types_of_tests'>Types of Tests</a><ul style='list-style: none;'><li><a href='/en/testing-your-application/why#models'>Models</a></li><li><a href='/en/testing-your-application/why#requests'>Requests</a></li><li><a href='/en/testing-your-application/why#integration'>Integration</a></li></ul></li></ul></li></ul>
4
5<ul class='toc'><li><a href='/en/testing-your-application/models'>Testing your models</a><ul style='list-style: none;'/></li></ul>
6
7<ul class='toc'><li><a href='/en/testing-your-application/requests'>Testing your requests</a><ul style='list-style: none;'/></li></ul>
8
9<ul class='toc'><li><a href='/en/testing-your-application/cucumber'>Integration testing with Cucumber</a><ul style='list-style: none;'><li><a href='/en/testing-your-application/cucumber#merb_and_cucumber'>Merb and Cucumber</a></li><li><a href='/en/testing-your-application/cucumber#creating_new_features'>Creating new features</a></li></ul></li></ul>
  
11# merb-more
22
3 <li><a href='/en/merb-more/authentication'>Authentication</a><ul style='list-style: none;'><li><a href='/en/merb-more/authentication#merbauth_gems'>Merb-auth gems</a><ul style='list-style: none;'><li><a href='/en/merb-more/authentication#merbauthcore'>merb-auth-core</a></li><li><a href='/en/merb-more/authentication#merbauthmore'>merb-auth-more</a></li><li><a href='/en/merb-more/authentication#merbauthslicepassword'>merb-auth-slice-password</a></li></ul></li><li><a href='/en/merb-more/authentication#authentication_in_merb_stack'>Authentication in Merb Stack</a></li><li><a href='/en/merb-more/authentication#authenticated_hello_world'>Authenticated Hello World</a><ul style='list-style: none;'><li><a href='/en/merb-more/authentication#generate_an_application'>Generate an application</a></li><li><a href='/en/merb-more/authentication#generate_something_to_protect'>Generate something to protect</a></li><li><a href='/en/merb-more/authentication#protect_the_route'>Protect the route</a></li><li><a href='/en/merb-more/authentication#protect_the_controller'>Protect the controller</a></li><li><a href='/en/merb-more/authentication#overwrite_the_default_views'>Overwrite the default views</a></li></ul></li><li><a href='/en/merb-more/authentication#testing_an_authenticated_request'>Testing an authenticated request</a></li></ul></li>
3 <ul class='toc'><li><a href='/en/merb-more/authentication'>Authentication</a><ul style='list-style: none;'><li><a href='/en/merb-more/authentication#merbauth_gems'>Merb-auth gems</a><ul style='list-style: none;'><li><a href='/en/merb-more/authentication#merbauthcore'>merb-auth-core</a></li><li><a href='/en/merb-more/authentication#merbauthmore'>merb-auth-more</a></li><li><a href='/en/merb-more/authentication#merbauthslicepassword'>merb-auth-slice-password</a></li></ul></li><li><a href='/en/merb-more/authentication#authentication_in_merb_stack'>Authentication in Merb Stack</a></li><li><a href='/en/merb-more/authentication#authenticated_hello_world'>Authenticated Hello World</a><ul style='list-style: none;'><li><a href='/en/merb-more/authentication#generate_an_application'>Generate an application</a></li><li><a href='/en/merb-more/authentication#generate_something_to_protect'>Generate something to protect</a></li><li><a href='/en/merb-more/authentication#protect_the_route'>Protect the route</a></li><li><a href='/en/merb-more/authentication#protect_the_controller'>Protect the controller</a></li><li><a href='/en/merb-more/authentication#overwrite_the_default_views'>Overwrite the default views</a></li></ul></li><li><a href='/en/merb-more/authentication#testing_an_authenticated_request'>Testing an authenticated request</a></li></ul></li></ul>
4
5<ul class='toc'><li><a href='/en/merb-more/mailer'>Mailer</a><ul style='list-style: none;'/></li></ul>
6
7<ul class='toc'><li><a href='/en/merb-more/caching'>Caching</a><ul style='list-style: none;'/></li></ul>
8
9<ul class='toc'><li><a href='/en/merb-more/exceptions'>Exceptions</a><ul style='list-style: none;'/></li></ul>
10
11<ul class='toc'><li><a href='/en/merb-more/slices'>Slices</a><ul style='list-style: none;'/></li></ul>
  
11# recipes
22
3
3 <ul class='toc'><li><a href='/en/recipes/blog'>Simple blog</a><ul style='list-style: none;'/></li></ul>
4
5<ul class='toc'><li><a href='/en/recipes/slice'>Blog Slice</a><ul style='list-style: none;'/></li></ul>
  
11# deployment
22
3 <li><a href='/en/deployment/passenger'>Passenger</a><ul style='list-style: none;'><li><a href='/en/deployment/passenger#installing_ruby_enterprise_edition_ree'>Installing Ruby Enterprise Edition (REE)</a><ul style='list-style: none;'><li><a href='/en/deployment/passenger#download_ree'>Download REE</a></li><li><a href='/en/deployment/passenger#install'>Install</a></li></ul></li><li><a href='/en/deployment/passenger#installing_passenger'>Installing Passenger</a></li><li><a href='/en/deployment/passenger#configuration'>Configuration</a><ul style='list-style: none;'><li><a href='/en/deployment/passenger#configru'>config.ru</a></li></ul></li><li><a href='/en/deployment/passenger#capistrano_task'>Capistrano Task</a></li></ul></li>
3 <ul class='toc'><li><a href='/en/deployment/passenger'>Passenger</a><ul style='list-style: none;'><li><a href='/en/deployment/passenger#installing_ruby_enterprise_edition_ree'>Installing Ruby Enterprise Edition (REE)</a><ul style='list-style: none;'><li><a href='/en/deployment/passenger#download_ree'>Download REE</a></li><li><a href='/en/deployment/passenger#install'>Install</a></li></ul></li><li><a href='/en/deployment/passenger#installing_passenger'>Installing Passenger</a></li><li><a href='/en/deployment/passenger#configuration'>Configuration</a><ul style='list-style: none;'><li><a href='/en/deployment/passenger#configru'>config.ru</a></li></ul></li><li><a href='/en/deployment/passenger#capistrano_task'>Capistrano Task</a></li></ul></li></ul>
44
5<li><a href='/en/deployment/nginx'>Nginx</a><ul style='list-style: none;'><li><a href='/en/deployment/nginx#installation'>Installation</a><ul style='list-style: none;'><li><a href='/en/deployment/nginx#mac_os_x_requires_macports'>Mac OS X (requires <a href='http://macports.org/'>MacPorts</a>)</a></li><li><a href='/en/deployment/nginx#debian__ubuntu_linux'>Debian / Ubuntu Linux</a></li><li><a href='/en/deployment/nginx#gentoo_linux'>Gentoo Linux</a></li></ul></li><li><a href='/en/deployment/nginx#configuration'>Configuration</a><ul style='list-style: none;'><li><a href='/en/deployment/nginx#etcnginxnginxconf'>/etc/nginx/nginx.conf</a></li></ul></li><li><a href='/en/deployment/nginx#capistrano_task'>Capistrano Task</a></li><li><a href='/en/deployment/nginx#monit'>Monit</a></li></ul></li>
5<ul class='toc'><li><a href='/en/deployment/nginx'>Nginx</a><ul style='list-style: none;'><li><a href='/en/deployment/nginx#installation'>Installation</a><ul style='list-style: none;'><li><a href='/en/deployment/nginx#mac_os_x_requires_macports'>Mac OS X (requires <a href='http://macports.org/'>MacPorts</a>)</a></li><li><a href='/en/deployment/nginx#debian__ubuntu_linux'>Debian / Ubuntu Linux</a></li><li><a href='/en/deployment/nginx#gentoo_linux'>Gentoo Linux</a></li></ul></li><li><a href='/en/deployment/nginx#configuration'>Configuration</a><ul style='list-style: none;'><li><a href='/en/deployment/nginx#etcnginxnginxconf'>/etc/nginx/nginx.conf</a></li></ul></li><li><a href='/en/deployment/nginx#capistrano_task'>Capistrano Task</a></li><li><a href='/en/deployment/nginx#monit'>Monit</a></li></ul></li></ul>
6
7<ul class='toc'><li><a href='/en/deployment/jruby'>JRuby and Glassfish</a><ul style='list-style: none;'/></li></ul>
8
9<ul class='toc'><li><a href='/en/deployment/bundle'>Bundling your Merb application</a><ul style='list-style: none;'/></li></ul>
  
11# appendix
22
3
3 <ul class='toc'><li><a href='/en/appendix/tips'>Hints and Tips</a><ul style='list-style: none;'/></li></ul>
4
5<ul class='toc'><li><a href='/en/appendix/slices'>Available Slices</a><ul style='list-style: none;'/></li></ul>
6
7<ul class='toc'><li><a href='/en/appendix/gems'>Useful Gems</a><ul style='list-style: none;'/></li></ul>