rails_csi 2.3.5.p6
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +2172 -0
- data/MIT-LICENSE +20 -0
- data/README +243 -0
- data/Rakefile +368 -0
- data/bin/about +4 -0
- data/bin/console +3 -0
- data/bin/dbconsole +3 -0
- data/bin/destroy +3 -0
- data/bin/generate +3 -0
- data/bin/performance/benchmarker +3 -0
- data/bin/performance/profiler +3 -0
- data/bin/plugin +3 -0
- data/bin/rails +20 -0
- data/bin/runner +3 -0
- data/bin/server +3 -0
- data/builtin/rails_info/rails/info.rb +131 -0
- data/builtin/rails_info/rails/info_controller.rb +9 -0
- data/builtin/rails_info/rails/info_helper.rb +2 -0
- data/builtin/rails_info/rails_info_controller.rb +2 -0
- data/configs/databases/frontbase.yml +28 -0
- data/configs/databases/ibm_db.yml +62 -0
- data/configs/databases/mysql.yml +60 -0
- data/configs/databases/oracle.yml +39 -0
- data/configs/databases/postgresql.yml +51 -0
- data/configs/databases/sqlite2.yml +19 -0
- data/configs/databases/sqlite3.yml +22 -0
- data/configs/empty.log +0 -0
- data/configs/initializers/backtrace_silencers.rb +7 -0
- data/configs/initializers/inflections.rb +10 -0
- data/configs/initializers/mime_types.rb +5 -0
- data/configs/initializers/new_rails_defaults.rb +21 -0
- data/configs/initializers/session_store.rb +15 -0
- data/configs/locales/en.yml +5 -0
- data/configs/routes.rb +43 -0
- data/configs/seeds.rb +7 -0
- data/dispatches/config.ru +7 -0
- data/dispatches/dispatch.fcgi +24 -0
- data/dispatches/dispatch.rb +10 -0
- data/dispatches/gateway.cgi +97 -0
- data/doc/README_FOR_APP +2 -0
- data/environments/boot.rb +110 -0
- data/environments/development.rb +17 -0
- data/environments/environment.rb +41 -0
- data/environments/production.rb +28 -0
- data/environments/test.rb +28 -0
- data/fresh_rakefile +10 -0
- data/guides/files/javascripts/code_highlighter.js +188 -0
- data/guides/files/javascripts/guides.js +8 -0
- data/guides/files/javascripts/highlighters.js +90 -0
- data/guides/files/stylesheets/main.css +441 -0
- data/guides/files/stylesheets/print.css +52 -0
- data/guides/files/stylesheets/reset.css +43 -0
- data/guides/files/stylesheets/style.css +13 -0
- data/guides/files/stylesheets/syntax.css +31 -0
- data/guides/images/belongs_to.png +0 -0
- data/guides/images/book_icon.gif +0 -0
- data/guides/images/bullet.gif +0 -0
- data/guides/images/chapters_icon.gif +0 -0
- data/guides/images/check_bullet.gif +0 -0
- data/guides/images/credits_pic_blank.gif +0 -0
- data/guides/images/csrf.png +0 -0
- data/guides/images/customized_error_messages.png +0 -0
- data/guides/images/error_messages.png +0 -0
- data/guides/images/feature_tile.gif +0 -0
- data/guides/images/footer_tile.gif +0 -0
- data/guides/images/fxn.jpg +0 -0
- data/guides/images/grey_bullet.gif +0 -0
- data/guides/images/habtm.png +0 -0
- data/guides/images/has_many.png +0 -0
- data/guides/images/has_many_through.png +0 -0
- data/guides/images/has_one.png +0 -0
- data/guides/images/has_one_through.png +0 -0
- data/guides/images/header_backdrop.png +0 -0
- data/guides/images/header_tile.gif +0 -0
- data/guides/images/i18n/demo_localized_pirate.png +0 -0
- data/guides/images/i18n/demo_translated_en.png +0 -0
- data/guides/images/i18n/demo_translated_pirate.png +0 -0
- data/guides/images/i18n/demo_translation_missing.png +0 -0
- data/guides/images/i18n/demo_untranslated.png +0 -0
- data/guides/images/icons/README +5 -0
- data/guides/images/icons/callouts/1.png +0 -0
- data/guides/images/icons/callouts/10.png +0 -0
- data/guides/images/icons/callouts/11.png +0 -0
- data/guides/images/icons/callouts/12.png +0 -0
- data/guides/images/icons/callouts/13.png +0 -0
- data/guides/images/icons/callouts/14.png +0 -0
- data/guides/images/icons/callouts/15.png +0 -0
- data/guides/images/icons/callouts/2.png +0 -0
- data/guides/images/icons/callouts/3.png +0 -0
- data/guides/images/icons/callouts/4.png +0 -0
- data/guides/images/icons/callouts/5.png +0 -0
- data/guides/images/icons/callouts/6.png +0 -0
- data/guides/images/icons/callouts/7.png +0 -0
- data/guides/images/icons/callouts/8.png +0 -0
- data/guides/images/icons/callouts/9.png +0 -0
- data/guides/images/icons/caution.png +0 -0
- data/guides/images/icons/example.png +0 -0
- data/guides/images/icons/home.png +0 -0
- data/guides/images/icons/important.png +0 -0
- data/guides/images/icons/next.png +0 -0
- data/guides/images/icons/note.png +0 -0
- data/guides/images/icons/prev.png +0 -0
- data/guides/images/icons/tip.png +0 -0
- data/guides/images/icons/up.png +0 -0
- data/guides/images/icons/warning.png +0 -0
- data/guides/images/nav_arrow.gif +0 -0
- data/guides/images/polymorphic.png +0 -0
- data/guides/images/posts_index.png +0 -0
- data/guides/images/rails_guides_logo.gif +0 -0
- data/guides/images/rails_logo_remix.gif +0 -0
- data/guides/images/rails_welcome.png +0 -0
- data/guides/images/session_fixation.png +0 -0
- data/guides/images/tab_grey.gif +0 -0
- data/guides/images/tab_info.gif +0 -0
- data/guides/images/tab_note.gif +0 -0
- data/guides/images/tab_red.gif +0 -0
- data/guides/images/tab_yellow.gif +0 -0
- data/guides/images/tab_yellow.png +0 -0
- data/guides/images/validation_error_messages.png +0 -0
- data/guides/rails_guides.rb +42 -0
- data/guides/rails_guides/generator.rb +138 -0
- data/guides/rails_guides/helpers.rb +34 -0
- data/guides/rails_guides/indexer.rb +55 -0
- data/guides/rails_guides/textile_extensions.rb +41 -0
- data/guides/source/2_2_release_notes.textile +422 -0
- data/guides/source/2_3_release_notes.textile +610 -0
- data/guides/source/action_controller_overview.textile +776 -0
- data/guides/source/action_mailer_basics.textile +424 -0
- data/guides/source/active_record_basics.textile +135 -0
- data/guides/source/active_record_querying.textile +969 -0
- data/guides/source/activerecord_validations_callbacks.textile +1086 -0
- data/guides/source/association_basics.textile +1781 -0
- data/guides/source/caching_with_rails.textile +524 -0
- data/guides/source/command_line.textile +589 -0
- data/guides/source/configuring.textile +234 -0
- data/guides/source/contribute.textile +71 -0
- data/guides/source/contributing_to_rails.textile +239 -0
- data/guides/source/credits.erb.textile +52 -0
- data/guides/source/debugging_rails_applications.textile +709 -0
- data/guides/source/form_helpers.textile +766 -0
- data/guides/source/getting_started.textile +1297 -0
- data/guides/source/i18n.textile +912 -0
- data/guides/source/index.erb.textile +124 -0
- data/guides/source/layout.html.erb +103 -0
- data/guides/source/layouts_and_rendering.textile +979 -0
- data/guides/source/migrations.textile +591 -0
- data/guides/source/nested_model_forms.textile +222 -0
- data/guides/source/performance_testing.textile +531 -0
- data/guides/source/plugins.textile +1512 -0
- data/guides/source/rails_on_rack.textile +309 -0
- data/guides/source/routing.textile +903 -0
- data/guides/source/security.textile +986 -0
- data/guides/source/testing.textile +951 -0
- data/helpers/application_controller.rb +10 -0
- data/helpers/application_helper.rb +3 -0
- data/helpers/performance_test.rb +9 -0
- data/helpers/test_helper.rb +38 -0
- data/html/404.html +30 -0
- data/html/422.html +30 -0
- data/html/500.html +30 -0
- data/html/favicon.ico +0 -0
- data/html/images/rails.png +0 -0
- data/html/index.html +275 -0
- data/html/javascripts/application.js +2 -0
- data/html/javascripts/controls.js +963 -0
- data/html/javascripts/dragdrop.js +973 -0
- data/html/javascripts/effects.js +1128 -0
- data/html/javascripts/prototype.js +4320 -0
- data/html/robots.txt +5 -0
- data/lib/code_statistics.rb +107 -0
- data/lib/commands.rb +17 -0
- data/lib/commands/about.rb +3 -0
- data/lib/commands/console.rb +45 -0
- data/lib/commands/dbconsole.rb +87 -0
- data/lib/commands/destroy.rb +6 -0
- data/lib/commands/generate.rb +6 -0
- data/lib/commands/ncgi/listener +86 -0
- data/lib/commands/ncgi/tracker +69 -0
- data/lib/commands/performance/benchmarker.rb +24 -0
- data/lib/commands/performance/profiler.rb +50 -0
- data/lib/commands/plugin.rb +968 -0
- data/lib/commands/runner.rb +54 -0
- data/lib/commands/server.rb +114 -0
- data/lib/commands/update.rb +4 -0
- data/lib/console_app.rb +30 -0
- data/lib/console_sandbox.rb +6 -0
- data/lib/console_with_helpers.rb +5 -0
- data/lib/dispatcher.rb +24 -0
- data/lib/fcgi_handler.rb +239 -0
- data/lib/initializer.rb +1128 -0
- data/lib/performance_test_help.rb +5 -0
- data/lib/rails/backtrace_cleaner.rb +54 -0
- data/lib/rails/gem_builder.rb +21 -0
- data/lib/rails/gem_dependency.rb +311 -0
- data/lib/rails/plugin.rb +179 -0
- data/lib/rails/plugin/loader.rb +198 -0
- data/lib/rails/plugin/locator.rb +100 -0
- data/lib/rails/rack.rb +8 -0
- data/lib/rails/rack/debugger.rb +23 -0
- data/lib/rails/rack/log_tailer.rb +35 -0
- data/lib/rails/rack/metal.rb +51 -0
- data/lib/rails/rack/static.rb +46 -0
- data/lib/rails/vendor_gem_source_index.rb +140 -0
- data/lib/rails/version.rb +9 -0
- data/lib/rails_generator.rb +43 -0
- data/lib/rails_generator/base.rb +266 -0
- data/lib/rails_generator/commands.rb +621 -0
- data/lib/rails_generator/generated_attribute.rb +46 -0
- data/lib/rails_generator/generators/applications/app/USAGE +9 -0
- data/lib/rails_generator/generators/applications/app/app_generator.rb +263 -0
- data/lib/rails_generator/generators/applications/app/scm/git.rb +18 -0
- data/lib/rails_generator/generators/applications/app/scm/scm.rb +8 -0
- data/lib/rails_generator/generators/applications/app/scm/svn.rb +7 -0
- data/lib/rails_generator/generators/applications/app/template_runner.rb +401 -0
- data/lib/rails_generator/generators/components/controller/USAGE +30 -0
- data/lib/rails_generator/generators/components/controller/controller_generator.rb +43 -0
- data/lib/rails_generator/generators/components/controller/templates/controller.rb +7 -0
- data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +8 -0
- data/lib/rails_generator/generators/components/controller/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/controller/templates/helper_test.rb +4 -0
- data/lib/rails_generator/generators/components/controller/templates/view.html.erb +2 -0
- data/lib/rails_generator/generators/components/helper/USAGE +24 -0
- data/lib/rails_generator/generators/components/helper/helper_generator.rb +25 -0
- data/lib/rails_generator/generators/components/helper/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/helper/templates/helper_test.rb +4 -0
- data/lib/rails_generator/generators/components/integration_test/USAGE +8 -0
- data/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +16 -0
- data/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +10 -0
- data/lib/rails_generator/generators/components/mailer/USAGE +16 -0
- data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +30 -0
- data/lib/rails_generator/generators/components/mailer/templates/fixture.erb +3 -0
- data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
- data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +15 -0
- data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +20 -0
- data/lib/rails_generator/generators/components/mailer/templates/view.erb +3 -0
- data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
- data/lib/rails_generator/generators/components/metal/USAGE +8 -0
- data/lib/rails_generator/generators/components/metal/metal_generator.rb +8 -0
- data/lib/rails_generator/generators/components/metal/templates/metal.rb +12 -0
- data/lib/rails_generator/generators/components/migration/USAGE +29 -0
- data/lib/rails_generator/generators/components/migration/migration_generator.rb +20 -0
- data/lib/rails_generator/generators/components/migration/templates/migration.rb +11 -0
- data/lib/rails_generator/generators/components/model/USAGE +27 -0
- data/lib/rails_generator/generators/components/model/model_generator.rb +52 -0
- data/lib/rails_generator/generators/components/model/templates/fixtures.yml +19 -0
- data/lib/rails_generator/generators/components/model/templates/migration.rb +16 -0
- data/lib/rails_generator/generators/components/model/templates/model.rb +5 -0
- data/lib/rails_generator/generators/components/model/templates/unit_test.rb +8 -0
- data/lib/rails_generator/generators/components/observer/USAGE +13 -0
- data/lib/rails_generator/generators/components/observer/observer_generator.rb +16 -0
- data/lib/rails_generator/generators/components/observer/templates/observer.rb +2 -0
- data/lib/rails_generator/generators/components/observer/templates/unit_test.rb +8 -0
- data/lib/rails_generator/generators/components/performance_test/USAGE +8 -0
- data/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb +16 -0
- data/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb +9 -0
- data/lib/rails_generator/generators/components/plugin/USAGE +25 -0
- data/lib/rails_generator/generators/components/plugin/plugin_generator.rb +39 -0
- data/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +20 -0
- data/lib/rails_generator/generators/components/plugin/templates/README +13 -0
- data/lib/rails_generator/generators/components/plugin/templates/Rakefile +23 -0
- data/lib/rails_generator/generators/components/plugin/templates/USAGE +8 -0
- data/lib/rails_generator/generators/components/plugin/templates/generator.rb +8 -0
- data/lib/rails_generator/generators/components/plugin/templates/init.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/install.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/plugin.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/tasks.rake +4 -0
- data/lib/rails_generator/generators/components/plugin/templates/test_helper.rb +3 -0
- data/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +8 -0
- data/lib/rails_generator/generators/components/resource/USAGE +23 -0
- data/lib/rails_generator/generators/components/resource/resource_generator.rb +76 -0
- data/lib/rails_generator/generators/components/resource/templates/controller.rb +2 -0
- data/lib/rails_generator/generators/components/resource/templates/functional_test.rb +8 -0
- data/lib/rails_generator/generators/components/resource/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/resource/templates/helper_test.rb +4 -0
- data/lib/rails_generator/generators/components/scaffold/USAGE +29 -0
- data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +103 -0
- data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +85 -0
- data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +45 -0
- data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb +4 -0
- data/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +17 -0
- data/lib/rails_generator/generators/components/scaffold/templates/style.css +54 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +18 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +24 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +17 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +10 -0
- data/lib/rails_generator/generators/components/session_migration/USAGE +10 -0
- data/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +18 -0
- data/lib/rails_generator/generators/components/session_migration/templates/migration.rb +16 -0
- data/lib/rails_generator/lookup.rb +249 -0
- data/lib/rails_generator/manifest.rb +53 -0
- data/lib/rails_generator/options.rb +150 -0
- data/lib/rails_generator/scripts.rb +89 -0
- data/lib/rails_generator/scripts/destroy.rb +29 -0
- data/lib/rails_generator/scripts/generate.rb +7 -0
- data/lib/rails_generator/scripts/update.rb +12 -0
- data/lib/rails_generator/secret_key_generator.rb +24 -0
- data/lib/rails_generator/simple_logger.rb +46 -0
- data/lib/rails_generator/spec.rb +44 -0
- data/lib/railties_path.rb +1 -0
- data/lib/ruby_version_check.rb +17 -0
- data/lib/rubyprof_ext.rb +35 -0
- data/lib/source_annotation_extractor.rb +102 -0
- data/lib/tasks/annotations.rake +20 -0
- data/lib/tasks/databases.rake +436 -0
- data/lib/tasks/documentation.rake +88 -0
- data/lib/tasks/framework.rake +143 -0
- data/lib/tasks/gems.rake +78 -0
- data/lib/tasks/log.rake +9 -0
- data/lib/tasks/middleware.rake +7 -0
- data/lib/tasks/misc.rake +63 -0
- data/lib/tasks/rails.rb +9 -0
- data/lib/tasks/routes.rake +18 -0
- data/lib/tasks/statistics.rake +17 -0
- data/lib/tasks/testing.rake +139 -0
- data/lib/tasks/tmp.rake +37 -0
- data/lib/test_help.rb +38 -0
- data/lib/webrick_server.rb +156 -0
- metadata +495 -0
@@ -0,0 +1,41 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file
|
2
|
+
|
3
|
+
# Specifies gem version of Rails to use when vendor/rails is not present
|
4
|
+
<%= '# ' if freeze %>RAILS_GEM_VERSION = '<%= Rails::VERSION::STRING %>' unless defined? RAILS_GEM_VERSION
|
5
|
+
|
6
|
+
# Bootstrap the Rails environment, frameworks, and default configuration
|
7
|
+
require File.join(File.dirname(__FILE__), 'boot')
|
8
|
+
|
9
|
+
Rails::Initializer.run do |config|
|
10
|
+
# Settings in config/environments/* take precedence over those specified here.
|
11
|
+
# Application configuration should go into files in config/initializers
|
12
|
+
# -- all .rb files in that directory are automatically loaded.
|
13
|
+
|
14
|
+
# Add additional load paths for your own custom dirs
|
15
|
+
# config.load_paths += %W( #{RAILS_ROOT}/extras )
|
16
|
+
|
17
|
+
# Specify gems that this application depends on and have them installed with rake gems:install
|
18
|
+
# config.gem "bj"
|
19
|
+
# config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
|
20
|
+
# config.gem "sqlite3-ruby", :lib => "sqlite3"
|
21
|
+
# config.gem "aws-s3", :lib => "aws/s3"
|
22
|
+
|
23
|
+
# Only load the plugins named here, in the order given (default is alphabetical).
|
24
|
+
# :all can be used as a placeholder for all plugins not explicitly named
|
25
|
+
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
26
|
+
|
27
|
+
# Skip frameworks you're not going to use. To use Rails without a database,
|
28
|
+
# you must remove the Active Record framework.
|
29
|
+
# config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
|
30
|
+
|
31
|
+
# Activate observers that should always be running
|
32
|
+
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
33
|
+
|
34
|
+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
35
|
+
# Run "rake -D time" for a list of tasks for finding time zone names.
|
36
|
+
config.time_zone = 'UTC'
|
37
|
+
|
38
|
+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
39
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
|
40
|
+
# config.i18n.default_locale = :de
|
41
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Settings specified here will take precedence over those in config/environment.rb
|
2
|
+
|
3
|
+
# The production environment is meant for finished, "live" apps.
|
4
|
+
# Code is not reloaded between requests
|
5
|
+
config.cache_classes = true
|
6
|
+
|
7
|
+
# Full error reports are disabled and caching is turned on
|
8
|
+
config.action_controller.consider_all_requests_local = false
|
9
|
+
config.action_controller.perform_caching = true
|
10
|
+
config.action_view.cache_template_loading = true
|
11
|
+
|
12
|
+
# See everything in the log (default is :info)
|
13
|
+
# config.log_level = :debug
|
14
|
+
|
15
|
+
# Use a different logger for distributed setups
|
16
|
+
# config.logger = SyslogLogger.new
|
17
|
+
|
18
|
+
# Use a different cache store in production
|
19
|
+
# config.cache_store = :mem_cache_store
|
20
|
+
|
21
|
+
# Enable serving of images, stylesheets, and javascripts from an asset server
|
22
|
+
# config.action_controller.asset_host = "http://assets.example.com"
|
23
|
+
|
24
|
+
# Disable delivery errors, bad email addresses will be ignored
|
25
|
+
# config.action_mailer.raise_delivery_errors = false
|
26
|
+
|
27
|
+
# Enable threaded mode
|
28
|
+
# config.threadsafe!
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Settings specified here will take precedence over those in config/environment.rb
|
2
|
+
|
3
|
+
# The test environment is used exclusively to run your application's
|
4
|
+
# test suite. You never need to work with it otherwise. Remember that
|
5
|
+
# your test database is "scratch space" for the test suite and is wiped
|
6
|
+
# and recreated between test runs. Don't rely on the data there!
|
7
|
+
config.cache_classes = true
|
8
|
+
|
9
|
+
# Log error messages when you accidentally call methods on nil.
|
10
|
+
config.whiny_nils = true
|
11
|
+
|
12
|
+
# Show full error reports and disable caching
|
13
|
+
config.action_controller.consider_all_requests_local = true
|
14
|
+
config.action_controller.perform_caching = false
|
15
|
+
config.action_view.cache_template_loading = true
|
16
|
+
|
17
|
+
# Disable request forgery protection in test environment
|
18
|
+
config.action_controller.allow_forgery_protection = false
|
19
|
+
|
20
|
+
# Tell Action Mailer not to deliver emails to the real world.
|
21
|
+
# The :test delivery method accumulates sent emails in the
|
22
|
+
# ActionMailer::Base.deliveries array.
|
23
|
+
config.action_mailer.delivery_method = :test
|
24
|
+
|
25
|
+
# Use SQL instead of Active Record's schema dumper when creating the test database.
|
26
|
+
# This is necessary if your schema can't be completely dumped by the schema dumper,
|
27
|
+
# like if you have constraints or database-specific column types
|
28
|
+
# config.active_record.schema_format = :sql
|
data/fresh_rakefile
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
2
|
+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
3
|
+
|
4
|
+
require(File.join(File.dirname(__FILE__), 'config', 'boot'))
|
5
|
+
|
6
|
+
require 'rake'
|
7
|
+
require 'rake/testtask'
|
8
|
+
require 'rake/rdoctask'
|
9
|
+
|
10
|
+
require 'tasks/rails'
|
@@ -0,0 +1,188 @@
|
|
1
|
+
/* Unobtrustive Code Highlighter By Dan Webb 11/2005
|
2
|
+
Version: 0.4
|
3
|
+
|
4
|
+
Usage:
|
5
|
+
Add a script tag for this script and any stylesets you need to use
|
6
|
+
to the page in question, add correct class names to CODE elements,
|
7
|
+
define CSS styles for elements. That's it!
|
8
|
+
|
9
|
+
Known to work on:
|
10
|
+
IE 5.5+ PC
|
11
|
+
Firefox/Mozilla PC/Mac
|
12
|
+
Opera 7.23 + PC
|
13
|
+
Safari 2
|
14
|
+
|
15
|
+
Known to degrade gracefully on:
|
16
|
+
IE5.0 PC
|
17
|
+
|
18
|
+
Note: IE5.0 fails due to the use of lookahead in some stylesets. To avoid script errors
|
19
|
+
in older browsers use expressions that use lookahead in string format when defining stylesets.
|
20
|
+
|
21
|
+
This script is inspired by star-light by entirely cunning Dean Edwards
|
22
|
+
http://dean.edwards.name/star-light/.
|
23
|
+
*/
|
24
|
+
|
25
|
+
// replace callback support for safari.
|
26
|
+
if ("a".replace(/a/, function() {return "b"}) != "b") (function(){
|
27
|
+
var default_replace = String.prototype.replace;
|
28
|
+
String.prototype.replace = function(search,replace){
|
29
|
+
// replace is not function
|
30
|
+
if(typeof replace != "function"){
|
31
|
+
return default_replace.apply(this,arguments)
|
32
|
+
}
|
33
|
+
var str = "" + this;
|
34
|
+
var callback = replace;
|
35
|
+
// search string is not RegExp
|
36
|
+
if(!(search instanceof RegExp)){
|
37
|
+
var idx = str.indexOf(search);
|
38
|
+
return (
|
39
|
+
idx == -1 ? str :
|
40
|
+
default_replace.apply(str,[search,callback(search, idx, str)])
|
41
|
+
)
|
42
|
+
}
|
43
|
+
var reg = search;
|
44
|
+
var result = [];
|
45
|
+
var lastidx = reg.lastIndex;
|
46
|
+
var re;
|
47
|
+
while((re = reg.exec(str)) != null){
|
48
|
+
var idx = re.index;
|
49
|
+
var args = re.concat(idx, str);
|
50
|
+
result.push(
|
51
|
+
str.slice(lastidx,idx),
|
52
|
+
callback.apply(null,args).toString()
|
53
|
+
);
|
54
|
+
if(!reg.global){
|
55
|
+
lastidx += RegExp.lastMatch.length;
|
56
|
+
break
|
57
|
+
}else{
|
58
|
+
lastidx = reg.lastIndex;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
result.push(str.slice(lastidx));
|
62
|
+
return result.join("")
|
63
|
+
}
|
64
|
+
})();
|
65
|
+
|
66
|
+
var CodeHighlighter = { styleSets : new Array };
|
67
|
+
|
68
|
+
CodeHighlighter.addStyle = function(name, rules) {
|
69
|
+
// using push test to disallow older browsers from adding styleSets
|
70
|
+
if ([].push) this.styleSets.push({
|
71
|
+
name : name,
|
72
|
+
rules : rules,
|
73
|
+
ignoreCase : arguments[2] || false
|
74
|
+
})
|
75
|
+
|
76
|
+
function setEvent() {
|
77
|
+
// set highlighter to run on load (use LowPro if present)
|
78
|
+
if (typeof Event != 'undefined' && typeof Event.onReady == 'function')
|
79
|
+
return Event.onReady(CodeHighlighter.init.bind(CodeHighlighter));
|
80
|
+
|
81
|
+
var old = window.onload;
|
82
|
+
|
83
|
+
if (typeof window.onload != 'function') {
|
84
|
+
window.onload = function() { CodeHighlighter.init() };
|
85
|
+
} else {
|
86
|
+
window.onload = function() {
|
87
|
+
old();
|
88
|
+
CodeHighlighter.init();
|
89
|
+
}
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
93
|
+
// only set the event when the first style is added
|
94
|
+
if (this.styleSets.length==1) setEvent();
|
95
|
+
}
|
96
|
+
|
97
|
+
CodeHighlighter.init = function() {
|
98
|
+
if (!document.getElementsByTagName) return;
|
99
|
+
if ("a".replace(/a/, function() {return "b"}) != "b") return; // throw out Safari versions that don't support replace function
|
100
|
+
// throw out older browsers
|
101
|
+
|
102
|
+
var codeEls = document.getElementsByTagName("CODE");
|
103
|
+
// collect array of all pre elements
|
104
|
+
codeEls.filter = function(f) {
|
105
|
+
var a = new Array;
|
106
|
+
for (var i = 0; i < this.length; i++) if (f(this[i])) a[a.length] = this[i];
|
107
|
+
return a;
|
108
|
+
}
|
109
|
+
|
110
|
+
var rules = new Array;
|
111
|
+
rules.toString = function() {
|
112
|
+
// joins regexes into one big parallel regex
|
113
|
+
var exps = new Array;
|
114
|
+
for (var i = 0; i < this.length; i++) exps.push(this[i].exp);
|
115
|
+
return exps.join("|");
|
116
|
+
}
|
117
|
+
|
118
|
+
function addRule(className, rule) {
|
119
|
+
// add a replace rule
|
120
|
+
var exp = (typeof rule.exp != "string")?String(rule.exp).substr(1, String(rule.exp).length-2):rule.exp;
|
121
|
+
// converts regex rules to strings and chops of the slashes
|
122
|
+
rules.push({
|
123
|
+
className : className,
|
124
|
+
exp : "(" + exp + ")",
|
125
|
+
length : (exp.match(/(^|[^\\])\([^?]/g) || "").length + 1, // number of subexps in rule
|
126
|
+
replacement : rule.replacement || null
|
127
|
+
});
|
128
|
+
}
|
129
|
+
|
130
|
+
function parse(text, ignoreCase) {
|
131
|
+
// main text parsing and replacement
|
132
|
+
return text.replace(new RegExp(rules, (ignoreCase)?"gi":"g"), function() {
|
133
|
+
var i = 0, j = 1, rule;
|
134
|
+
while (rule = rules[i++]) {
|
135
|
+
if (arguments[j]) {
|
136
|
+
// if no custom replacement defined do the simple replacement
|
137
|
+
if (!rule.replacement) return "<span class=\"" + rule.className + "\">" + arguments[0] + "</span>";
|
138
|
+
else {
|
139
|
+
// replace $0 with the className then do normal replaces
|
140
|
+
var str = rule.replacement.replace("$0", rule.className);
|
141
|
+
for (var k = 1; k <= rule.length - 1; k++) str = str.replace("$" + k, arguments[j + k]);
|
142
|
+
return str;
|
143
|
+
}
|
144
|
+
} else j+= rule.length;
|
145
|
+
}
|
146
|
+
});
|
147
|
+
}
|
148
|
+
|
149
|
+
function highlightCode(styleSet) {
|
150
|
+
// clear rules array
|
151
|
+
var parsed, clsRx = new RegExp("(\\s|^)" + styleSet.name + "(\\s|$)");
|
152
|
+
rules.length = 0;
|
153
|
+
|
154
|
+
// get stylable elements by filtering out all code elements without the correct className
|
155
|
+
var stylableEls = codeEls.filter(function(item) { return clsRx.test(item.className) });
|
156
|
+
|
157
|
+
// add style rules to parser
|
158
|
+
for (var className in styleSet.rules) addRule(className, styleSet.rules[className]);
|
159
|
+
|
160
|
+
|
161
|
+
// replace for all elements
|
162
|
+
for (var i = 0; i < stylableEls.length; i++) {
|
163
|
+
// EVIL hack to fix IE whitespace badness if it's inside a <pre>
|
164
|
+
if (/MSIE/.test(navigator.appVersion) && stylableEls[i].parentNode.nodeName == 'PRE') {
|
165
|
+
stylableEls[i] = stylableEls[i].parentNode;
|
166
|
+
|
167
|
+
parsed = stylableEls[i].innerHTML.replace(/(<code[^>]*>)([^<]*)<\/code>/i, function() {
|
168
|
+
return arguments[1] + parse(arguments[2], styleSet.ignoreCase) + "</code>"
|
169
|
+
});
|
170
|
+
parsed = parsed.replace(/\n( *)/g, function() {
|
171
|
+
var spaces = "";
|
172
|
+
for (var i = 0; i < arguments[1].length; i++) spaces+= " ";
|
173
|
+
return "\n" + spaces;
|
174
|
+
});
|
175
|
+
parsed = parsed.replace(/\t/g, " ");
|
176
|
+
parsed = parsed.replace(/\n(<\/\w+>)?/g, "<br />$1").replace(/<br \/>[\n\r\s]*<br \/>/g, "<p><br></p>");
|
177
|
+
|
178
|
+
} else parsed = parse(stylableEls[i].innerHTML, styleSet.ignoreCase);
|
179
|
+
|
180
|
+
stylableEls[i].innerHTML = parsed;
|
181
|
+
}
|
182
|
+
}
|
183
|
+
|
184
|
+
// run highlighter on all stylesets
|
185
|
+
for (var i=0; i < this.styleSets.length; i++) {
|
186
|
+
highlightCode(this.styleSets[i]);
|
187
|
+
}
|
188
|
+
}
|
@@ -0,0 +1,90 @@
|
|
1
|
+
CodeHighlighter.addStyle("css", {
|
2
|
+
comment : {
|
3
|
+
exp : /\/\*[^*]*\*+([^\/][^*]*\*+)*\//
|
4
|
+
},
|
5
|
+
keywords : {
|
6
|
+
exp : /@\w[\w\s]*/
|
7
|
+
},
|
8
|
+
selectors : {
|
9
|
+
exp : "([\\w-:\\[.#][^{};>]*)(?={)"
|
10
|
+
},
|
11
|
+
properties : {
|
12
|
+
exp : "([\\w-]+)(?=\\s*:)"
|
13
|
+
},
|
14
|
+
units : {
|
15
|
+
exp : /([0-9])(em|en|px|%|pt)\b/,
|
16
|
+
replacement : "$1<span class=\"$0\">$2</span>"
|
17
|
+
},
|
18
|
+
urls : {
|
19
|
+
exp : /url\([^\)]*\)/
|
20
|
+
}
|
21
|
+
});
|
22
|
+
|
23
|
+
CodeHighlighter.addStyle("ruby",{
|
24
|
+
comment : {
|
25
|
+
exp : /#[^\n]+/
|
26
|
+
},
|
27
|
+
brackets : {
|
28
|
+
exp : /\(|\)/
|
29
|
+
},
|
30
|
+
string : {
|
31
|
+
exp : /'[^']*'|"[^"]*"/
|
32
|
+
},
|
33
|
+
keywords : {
|
34
|
+
exp : /\b(do|end|self|class|def|if|module|yield|then|else|for|until|unless|while|elsif|case|when|break|retry|redo|rescue|require|raise)\b/
|
35
|
+
},
|
36
|
+
/* Added by Shelly Fisher (shelly@agileevolved.com) */
|
37
|
+
symbol : {
|
38
|
+
exp : /([^:])(:[A-Za-z0-9_!?]+)/
|
39
|
+
},
|
40
|
+
ivar : {
|
41
|
+
exp : /\@[A-Za-z0-9_!?]+/
|
42
|
+
}
|
43
|
+
});
|
44
|
+
|
45
|
+
CodeHighlighter.addStyle("html", {
|
46
|
+
comment : {
|
47
|
+
exp: /<!\s*(--([^-]|[\r\n]|-[^-])*--\s*)>/
|
48
|
+
},
|
49
|
+
tag : {
|
50
|
+
exp: /(<\/?)([a-zA-Z1-9]+\s?)/,
|
51
|
+
replacement: "$1<span class=\"$0\">$2</span>"
|
52
|
+
},
|
53
|
+
string : {
|
54
|
+
exp : /'[^']*'|"[^"]*"/
|
55
|
+
},
|
56
|
+
attribute : {
|
57
|
+
exp: /\b([a-zA-Z-:]+)(=)/,
|
58
|
+
replacement: "<span class=\"$0\">$1</span>$2"
|
59
|
+
},
|
60
|
+
doctype : {
|
61
|
+
exp: /<!DOCTYPE([^&]|&[^g]|&g[^t])*>/
|
62
|
+
}
|
63
|
+
});
|
64
|
+
|
65
|
+
CodeHighlighter.addStyle("javascript",{
|
66
|
+
comment : {
|
67
|
+
exp : /(\/\/[^\n]*(\n|$))|(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)/
|
68
|
+
},
|
69
|
+
brackets : {
|
70
|
+
exp : /\(|\)/
|
71
|
+
},
|
72
|
+
string : {
|
73
|
+
exp : /'[^']*'|"[^"]*"/
|
74
|
+
},
|
75
|
+
keywords : {
|
76
|
+
exp : /\b(arguments|break|case|continue|default|delete|do|else|false|for|function|if|in|instanceof|new|null|return|switch|this|true|typeof|var|void|while|with)\b/
|
77
|
+
},
|
78
|
+
global : {
|
79
|
+
exp : /\b(toString|valueOf|window|element|prototype|constructor|document|escape|unescape|parseInt|parseFloat|setTimeout|clearTimeout|setInterval|clearInterval|NaN|isNaN|Infinity)\b/
|
80
|
+
}
|
81
|
+
});
|
82
|
+
|
83
|
+
CodeHighlighter.addStyle("yaml", {
|
84
|
+
keyword : {
|
85
|
+
exp : /\/\*[^*]*\*+([^\/][^*]*\*+)*\//
|
86
|
+
},
|
87
|
+
value : {
|
88
|
+
exp : /@\w[\w\s]*/
|
89
|
+
},
|
90
|
+
});
|
@@ -0,0 +1,441 @@
|
|
1
|
+
/* Guides.rubyonrails.org */
|
2
|
+
/* Main.css */
|
3
|
+
/* Created January 30, 2009 */
|
4
|
+
/* Modified February 8, 2009
|
5
|
+
--------------------------------------- */
|
6
|
+
|
7
|
+
/* General
|
8
|
+
--------------------------------------- */
|
9
|
+
|
10
|
+
.left {float: left; margin-right: 1em;}
|
11
|
+
.right {float: right; margin-left: 1em;}
|
12
|
+
.small {font-size: smaller;}
|
13
|
+
.large {font-size: larger;}
|
14
|
+
.hide {display: none;}
|
15
|
+
|
16
|
+
li ul, li ol { margin:0 1.5em; }
|
17
|
+
ul, ol { margin: 0 1.5em 1.5em 1.5em; }
|
18
|
+
|
19
|
+
ul { list-style-type: disc; }
|
20
|
+
ol { list-style-type: decimal; }
|
21
|
+
|
22
|
+
dl { margin: 0 0 1.5em 0; }
|
23
|
+
dl dt { font-weight: bold; }
|
24
|
+
dd { margin-left: 1.5em;}
|
25
|
+
|
26
|
+
pre,code { margin: 1.5em 0; white-space: pre; overflow: auto; }
|
27
|
+
pre,code,tt { font: 1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }
|
28
|
+
|
29
|
+
abbr, acronym { border-bottom: 1px dotted #666; }
|
30
|
+
address { margin: 0 0 1.5em; font-style: italic; }
|
31
|
+
del { color:#666; }
|
32
|
+
|
33
|
+
blockquote { margin: 1.5em; color: #666; font-style: italic; }
|
34
|
+
strong { font-weight: bold; }
|
35
|
+
em, dfn { font-style: italic; }
|
36
|
+
dfn { font-weight: bold; }
|
37
|
+
sup, sub { line-height: 0; }
|
38
|
+
p {margin: 0 0 1.5em;}
|
39
|
+
|
40
|
+
label { font-weight: bold; }
|
41
|
+
fieldset { padding:1.4em; margin: 0 0 1.5em 0; border: 1px solid #ccc; }
|
42
|
+
legend { font-weight: bold; font-size:1.2em; }
|
43
|
+
|
44
|
+
input.text, input.title,
|
45
|
+
textarea, select {
|
46
|
+
margin:0.5em 0;
|
47
|
+
border:1px solid #bbb;
|
48
|
+
}
|
49
|
+
|
50
|
+
table {
|
51
|
+
margin: 0 0 1.5em;
|
52
|
+
border: 2px solid #CCC;
|
53
|
+
background: #FFF;
|
54
|
+
border-collapse: collapse;
|
55
|
+
}
|
56
|
+
|
57
|
+
table th, table td {
|
58
|
+
padding: 0.25em 1em;
|
59
|
+
border: 1px solid #CCC;
|
60
|
+
border-collapse: collapse;
|
61
|
+
}
|
62
|
+
|
63
|
+
table th {
|
64
|
+
border-bottom: 2px solid #CCC;
|
65
|
+
background: #EEE;
|
66
|
+
font-weight: bold;
|
67
|
+
padding: 0.5em 1em;
|
68
|
+
}
|
69
|
+
|
70
|
+
|
71
|
+
/* Structure and Layout
|
72
|
+
--------------------------------------- */
|
73
|
+
|
74
|
+
body {
|
75
|
+
text-align: center;
|
76
|
+
font-family: Helvetica, Arial, sans-serif;
|
77
|
+
font-size: 87.5%;
|
78
|
+
line-height: 1.5em;
|
79
|
+
background: #222;
|
80
|
+
color: #999;
|
81
|
+
}
|
82
|
+
|
83
|
+
.wrapper {
|
84
|
+
text-align: left;
|
85
|
+
margin: 0 auto;
|
86
|
+
width: 69em;
|
87
|
+
}
|
88
|
+
|
89
|
+
#topNav {
|
90
|
+
padding: 1em 0;
|
91
|
+
color: #565656;
|
92
|
+
}
|
93
|
+
|
94
|
+
#header {
|
95
|
+
background: #c52f24 url(../../images/header_tile.gif) repeat-x;
|
96
|
+
color: #FFF;
|
97
|
+
padding: 1.5em 0;
|
98
|
+
position: relative;
|
99
|
+
z-index: 99;
|
100
|
+
}
|
101
|
+
|
102
|
+
#feature {
|
103
|
+
background: #d5e9f6 url(../../images/feature_tile.gif) repeat-x;
|
104
|
+
color: #333;
|
105
|
+
padding: 0.5em 0 1.5em;
|
106
|
+
}
|
107
|
+
|
108
|
+
#container {
|
109
|
+
background: #FFF;
|
110
|
+
color: #333;
|
111
|
+
padding: 0.5em 0 1.5em 0;
|
112
|
+
}
|
113
|
+
|
114
|
+
#mainCol {
|
115
|
+
width: 45em;
|
116
|
+
margin-left: 2em;
|
117
|
+
}
|
118
|
+
|
119
|
+
#subCol {
|
120
|
+
position: absolute;
|
121
|
+
z-index: 0;
|
122
|
+
top: 0;
|
123
|
+
right: 0;
|
124
|
+
background: #FFF;
|
125
|
+
padding: 1em 1.5em 1em 1.25em;
|
126
|
+
width: 17em;
|
127
|
+
font-size: 0.9285em;
|
128
|
+
line-height: 1.3846em;
|
129
|
+
}
|
130
|
+
|
131
|
+
#extraCol {display: none;}
|
132
|
+
|
133
|
+
#footer {
|
134
|
+
padding: 2em 0;
|
135
|
+
background: url(../../images/footer_tile.gif) repeat-x;
|
136
|
+
}
|
137
|
+
#footer .wrapper {
|
138
|
+
padding-left: 2em;
|
139
|
+
width: 67em;
|
140
|
+
}
|
141
|
+
|
142
|
+
#header .wrapper, #topNav .wrapper, #feature .wrapper {padding-left: 1em; width: 68em;}
|
143
|
+
#feature .wrapper {width: 45em; padding-right: 23em; position: relative; z-index: 0;}
|
144
|
+
|
145
|
+
/* Links
|
146
|
+
--------------------------------------- */
|
147
|
+
|
148
|
+
a, a:link, a:visited {
|
149
|
+
color: #ee3f3f;
|
150
|
+
text-decoration: underline;
|
151
|
+
}
|
152
|
+
|
153
|
+
#mainCol a, #subCol a, #feature a {color: #980905;}
|
154
|
+
|
155
|
+
|
156
|
+
/* Navigation
|
157
|
+
--------------------------------------- */
|
158
|
+
|
159
|
+
.nav {margin: 0; padding: 0;}
|
160
|
+
.nav li {display: inline; list-style: none;}
|
161
|
+
|
162
|
+
#header .nav {
|
163
|
+
float: right;
|
164
|
+
margin-top: 1.5em;
|
165
|
+
font-size: 1.2857em;
|
166
|
+
}
|
167
|
+
|
168
|
+
#header .nav li {margin: 0 0 0 0.5em;}
|
169
|
+
#header .nav a {color: #FFF; text-decoration: none;}
|
170
|
+
#header .nav a:hover {text-decoration: underline;}
|
171
|
+
|
172
|
+
#header .nav .index {
|
173
|
+
padding: 0.5em 1.5em;
|
174
|
+
border-radius: 1em;
|
175
|
+
-webkit-border-radius: 1em;
|
176
|
+
-moz-border-radius: 1em;
|
177
|
+
background: #980905;
|
178
|
+
position: relative;
|
179
|
+
}
|
180
|
+
|
181
|
+
#header .nav .index a {
|
182
|
+
background: #980905 url(../../images/nav_arrow.gif) no-repeat right top;
|
183
|
+
padding-right: 1em;
|
184
|
+
position: relative;
|
185
|
+
z-index: 15;
|
186
|
+
padding-bottom: 0.125em;
|
187
|
+
}
|
188
|
+
#header .nav .index:hover a, #header .nav .index a:hover {background-position: right -81px;}
|
189
|
+
|
190
|
+
#guides {
|
191
|
+
width: 27em;
|
192
|
+
display: block;
|
193
|
+
background: #980905;
|
194
|
+
border-radius: 1em;
|
195
|
+
-webkit-border-radius: 1em;
|
196
|
+
-moz-border-radius: 1em;
|
197
|
+
-webkit-box-shadow: 0.25em 0.25em 1em rgba(0,0,0,0.25);
|
198
|
+
-moz-box-shadow: rgba(0,0,0,0.25) 0.25em 0.25em 1em;
|
199
|
+
color: #f1938c;
|
200
|
+
padding: 1.5em 2em;
|
201
|
+
position: absolute;
|
202
|
+
z-index: 10;
|
203
|
+
top: -0.25em;
|
204
|
+
right: 0;
|
205
|
+
padding-top: 2em;
|
206
|
+
}
|
207
|
+
|
208
|
+
#guides dt, #guides dd {
|
209
|
+
font-weight: normal;
|
210
|
+
font-size: 0.722em;
|
211
|
+
margin: 0;
|
212
|
+
padding: 0;
|
213
|
+
}
|
214
|
+
#guides dt {padding:0; margin: 0.5em 0 0;}
|
215
|
+
#guides a {color: #FFF; background: none !important;}
|
216
|
+
#guides .L, #guides .R {float: left; width: 50%; margin: 0; padding: 0;}
|
217
|
+
#guides .R {float: right;}
|
218
|
+
#guides hr {
|
219
|
+
display: block;
|
220
|
+
border: none;
|
221
|
+
height: 1px;
|
222
|
+
color: #f1938c;
|
223
|
+
background: #f1938c;
|
224
|
+
}
|
225
|
+
|
226
|
+
/* Headings
|
227
|
+
--------------------------------------- */
|
228
|
+
|
229
|
+
h1 {
|
230
|
+
font-size: 2.5em;
|
231
|
+
line-height: 1em;
|
232
|
+
margin: 0.6em 0 .2em;
|
233
|
+
font-weight: bold;
|
234
|
+
}
|
235
|
+
|
236
|
+
h2 {
|
237
|
+
font-size: 2.1428em;
|
238
|
+
line-height: 1em;
|
239
|
+
margin: 0.7em 0 .2333em;
|
240
|
+
font-weight: bold;
|
241
|
+
}
|
242
|
+
|
243
|
+
h3 {
|
244
|
+
font-size: 1.7142em;
|
245
|
+
line-height: 1.286em;
|
246
|
+
margin: 0.875em 0 0.2916em;
|
247
|
+
font-weight: bold;
|
248
|
+
}
|
249
|
+
|
250
|
+
h4 {
|
251
|
+
font-size: 1.2857em;
|
252
|
+
line-height: 1.2em;
|
253
|
+
margin: 1.6667em 0 .3887em;
|
254
|
+
font-weight: bold;
|
255
|
+
}
|
256
|
+
|
257
|
+
h5 {
|
258
|
+
font-size: 1em;
|
259
|
+
line-height: 1.5em;
|
260
|
+
margin: 1em 0 .5em;
|
261
|
+
font-weight: bold;
|
262
|
+
}
|
263
|
+
|
264
|
+
h6 {
|
265
|
+
font-size: 1em;
|
266
|
+
line-height: 1.5em;
|
267
|
+
margin: 1em 0 .5em;
|
268
|
+
font-weight: normal;
|
269
|
+
}
|
270
|
+
|
271
|
+
.section {
|
272
|
+
padding-bottom: 0.25em;
|
273
|
+
border-bottom: 1px solid #999;
|
274
|
+
}
|
275
|
+
|
276
|
+
/* Content
|
277
|
+
--------------------------------------- */
|
278
|
+
|
279
|
+
.pic {
|
280
|
+
margin: 0 2em 2em 0;
|
281
|
+
}
|
282
|
+
|
283
|
+
#topNav strong {color: #999; margin-right: 0.5em;}
|
284
|
+
#topNav strong a {color: #FFF;}
|
285
|
+
|
286
|
+
#header h1 {
|
287
|
+
float: left;
|
288
|
+
background: url(../../images/rails_guides_logo.gif) no-repeat;
|
289
|
+
width: 297px;
|
290
|
+
text-indent: -9999em;
|
291
|
+
margin: 0;
|
292
|
+
padding: 0;
|
293
|
+
}
|
294
|
+
|
295
|
+
#header h1 a {
|
296
|
+
text-decoration: none;
|
297
|
+
display: block;
|
298
|
+
height: 77px;
|
299
|
+
}
|
300
|
+
|
301
|
+
#feature p {
|
302
|
+
font-size: 1.2857em;
|
303
|
+
margin-bottom: 0.75em;
|
304
|
+
}
|
305
|
+
|
306
|
+
#feature ul {margin-left: 0;}
|
307
|
+
#feature ul li {
|
308
|
+
list-style: none;
|
309
|
+
background: url(../../images/check_bullet.gif) no-repeat left 0.5em;
|
310
|
+
padding: 0.5em 1.75em 0.5em 1.75em;
|
311
|
+
font-size: 1.1428em;
|
312
|
+
font-weight: bold;
|
313
|
+
}
|
314
|
+
|
315
|
+
#mainCol dd, #subCol dd {
|
316
|
+
padding: 0.25em 0 1em;
|
317
|
+
border-bottom: 1px solid #CCC;
|
318
|
+
margin-bottom: 1em;
|
319
|
+
margin-left: 0;
|
320
|
+
/*padding-left: 28px;*/
|
321
|
+
padding-left: 0;
|
322
|
+
}
|
323
|
+
|
324
|
+
#mainCol dt, #subCol dt {
|
325
|
+
font-size: 1.2857em;
|
326
|
+
padding: 0.125em 0 0.25em 0;
|
327
|
+
margin-bottom: 0;
|
328
|
+
/*background: url(../../images/book_icon.gif) no-repeat left top;
|
329
|
+
padding: 0.125em 0 0.25em 28px;*/
|
330
|
+
}
|
331
|
+
|
332
|
+
#mainCol dd.ticket, #subCol dd.ticket {
|
333
|
+
background: #fff9d8 url(../../images/tab_yellow.gif) no-repeat left top;
|
334
|
+
border: none;
|
335
|
+
padding: 1.25em 1em 1.25em 48px;
|
336
|
+
margin-left: 0;
|
337
|
+
margin-top: 0.25em;
|
338
|
+
}
|
339
|
+
|
340
|
+
#mainCol div.warning, #subCol dd.warning {
|
341
|
+
background: #f9d9d8 url(../../images/tab_red.gif) no-repeat left top;
|
342
|
+
border: none;
|
343
|
+
padding: 1.25em 1.25em 1.25em 48px;
|
344
|
+
margin-left: 0;
|
345
|
+
margin-top: 0.25em;
|
346
|
+
}
|
347
|
+
|
348
|
+
#subCol .chapters {color: #980905;}
|
349
|
+
#subCol .chapters a {font-weight: bold;}
|
350
|
+
#subCol .chapters ul a {font-weight: normal;}
|
351
|
+
#subCol .chapters li {margin-bottom: 0.75em;}
|
352
|
+
#subCol h3.chapter {margin-top: 0.25em;}
|
353
|
+
#subCol h3.chapter img {vertical-align: text-bottom;}
|
354
|
+
#subCol .chapters ul {margin-left: 0; margin-top: 0.5em;}
|
355
|
+
#subCol .chapters ul li {
|
356
|
+
list-style: none;
|
357
|
+
padding: 0 0 0 1em;
|
358
|
+
background: url(../../images/bullet.gif) no-repeat left 0.45em;
|
359
|
+
margin-left: 0;
|
360
|
+
font-size: 1em;
|
361
|
+
font-weight: normal;
|
362
|
+
}
|
363
|
+
|
364
|
+
tt {
|
365
|
+
font-family: monaco, "Bitstream Vera Sans Mono", "Courier New", courier, monospace;
|
366
|
+
}
|
367
|
+
|
368
|
+
div.code_container {
|
369
|
+
background: #EEE url(../../images/tab_grey.gif) no-repeat left top;
|
370
|
+
padding: 0.25em 1em 0.5em 48px;
|
371
|
+
}
|
372
|
+
|
373
|
+
code {
|
374
|
+
font-family: monaco, "Bitstream Vera Sans Mono", "Courier New", courier, monospace;
|
375
|
+
border: none;
|
376
|
+
margin: 0.25em 0 1.5em 0;
|
377
|
+
display: block;
|
378
|
+
}
|
379
|
+
|
380
|
+
.note {
|
381
|
+
background: #fff9d8 url(../../images/tab_note.gif) no-repeat left top;
|
382
|
+
border: none;
|
383
|
+
padding: 1em 1em 0.25em 48px;
|
384
|
+
margin: 0.25em 0 1.5em 0;
|
385
|
+
}
|
386
|
+
|
387
|
+
.info {
|
388
|
+
background: #d5e9f6 url(../../images/tab_info.gif) no-repeat left top;
|
389
|
+
border: none;
|
390
|
+
padding: 1em 1em 0.25em 48px;
|
391
|
+
margin: 0.25em 0 1.5em 0;
|
392
|
+
}
|
393
|
+
|
394
|
+
.note tt, .info tt {border:none; background: none; padding: 0;}
|
395
|
+
|
396
|
+
#mainCol ul li {
|
397
|
+
list-style:none;
|
398
|
+
background: url(../../images/grey_bullet.gif) no-repeat left 0.5em;
|
399
|
+
padding-left: 1em;
|
400
|
+
margin-left: 0;
|
401
|
+
}
|
402
|
+
|
403
|
+
#subCol .content {
|
404
|
+
font-size: 0.7857em;
|
405
|
+
line-height: 1.5em;
|
406
|
+
}
|
407
|
+
|
408
|
+
#subCol .content li {
|
409
|
+
font-weight: normal;
|
410
|
+
background: none;
|
411
|
+
padding: 0 0 1em;
|
412
|
+
font-size: 1.1667em;
|
413
|
+
}
|
414
|
+
|
415
|
+
/* Clearing
|
416
|
+
--------------------------------------- */
|
417
|
+
|
418
|
+
.clearfix:after {
|
419
|
+
content: ".";
|
420
|
+
display: block;
|
421
|
+
height: 0;
|
422
|
+
clear: both;
|
423
|
+
visibility: hidden;
|
424
|
+
}
|
425
|
+
|
426
|
+
.clearfix {display: inline-block;}
|
427
|
+
* html .clearfix {height: 1%;}
|
428
|
+
.clearfix {display: block;}
|
429
|
+
.clear { clear:both; }
|
430
|
+
|
431
|
+
/* Same bottom margin for special boxes than for regular paragraphs, this way
|
432
|
+
intermediate whitespace looks uniform. */
|
433
|
+
div.code_container, div.important, div.caution, div.warning, div.note, div.info {
|
434
|
+
margin-bottom: 1.5em;
|
435
|
+
}
|
436
|
+
|
437
|
+
/* Remove bottom margin of paragraphs in special boxes, otherwise they get a
|
438
|
+
spurious blank area below with the box background. */
|
439
|
+
div.important p, div.caution p, div.warning p, div.note p, div.info p {
|
440
|
+
margin-bottom: 0px;
|
441
|
+
}
|