tendersync 1.0.9 → 1.0.10.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/History.txt CHANGED
@@ -1,3 +1,7 @@
1
+ == 1.0.10 2010-03-24
2
+
3
+ * Fix tests
4
+
1
5
  == 1.0.9 2010-03-03
2
6
 
3
7
  * Links to sections changed so the all_sections was not working.
@@ -119,6 +119,9 @@ class Tendersync::Document
119
119
  end
120
120
  }
121
121
  new(values)
122
+ rescue => e
123
+ puts e.backtrace.join("\n ")
124
+ raise
122
125
  end
123
126
  def to_form(form)
124
127
  form.fields.each { |tf|
@@ -1,6 +1,5 @@
1
1
  require 'rubygems'
2
2
  require 'optparse'
3
- require 'mechanize'
4
3
  require 'yaml'
5
4
 
6
5
  class Tendersync::Runner
data/lib/tendersync.rb CHANGED
@@ -6,5 +6,5 @@ module Tendersync
6
6
  autoload :Runner, 'tendersync/runner'
7
7
  autoload :Session, 'tendersync/session'
8
8
 
9
- VERSION = '1.0.9'
9
+ VERSION = '1.0.10.pre'
10
10
  end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,12 @@
1
1
  begin
2
2
  require 'spec'
3
+ require 'mechanize'
3
4
  rescue LoadError
4
5
  require 'rubygems' unless ENV['NO_RUBYGEMS']
5
6
  gem 'rspec'
6
7
  require 'spec'
8
+ gem 'mechanize'
9
+ require 'mechanize'
7
10
  end
8
11
 
9
12
  $:.unshift(File.dirname(__FILE__) + '/../lib')
@@ -12,8 +12,8 @@ describe Tendersync::Document do
12
12
  doc = Tendersync::Document.load("doc", StringIO.new(@doc_source))
13
13
  Tendersync::Document.stubs(:each).yields(doc)
14
14
  index.refresh_index
15
- puts index.to_s
16
- index.body.should =~ /baba/
15
+ index.body.should =~ /\* How to Fix it/
16
+ index.body.should =~ /###/
17
17
  end
18
18
 
19
19
  it "should load from a file" do
@@ -35,9 +35,11 @@ describe Tendersync::Document do
35
35
 
36
36
  it "should load from a form" do
37
37
  fields = { 'faq[title]' => 'title!', 'faq[body]' => "body by\nbill"}.collect do | key, value |
38
- WWW::Mechanize::Form::Field.new(key, value)
38
+ f = Mechanize::Form::Field.new(key, value)
39
+ f.name = key
40
+ f
39
41
  end
40
- form = stub(:action => '/faqs/123/edit', :fields => fields)
42
+ form = stub(:action => '/faqs/123/edit', :fields => fields)
41
43
  doc = Tendersync::Document.from_form("doc", form)
42
44
  doc.title.should == "title!"
43
45
  doc.document_id.should == '123'
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tendersync
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ prerelease: true
5
5
  segments:
6
6
  - 1
7
7
  - 0
8
- - 9
9
- version: 1.0.9
8
+ - 10
9
+ - pre
10
+ version: 1.0.10.pre
10
11
  platform: ruby
11
12
  authors:
12
13
  - Bill Kayser
@@ -14,8 +15,8 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-03-03 00:00:00 -08:00
18
- default_executable:
18
+ date: 2010-03-25 00:00:00 -07:00
19
+ default_executable: tendersync
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: mechanize
@@ -31,20 +32,6 @@ dependencies:
31
32
  version: 0.9.3
32
33
  type: :runtime
33
34
  version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: newgem
36
- prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- segments:
42
- - 1
43
- - 5
44
- - 2
45
- version: 1.5.2
46
- type: :development
47
- version_requirements: *id002
48
35
  description: |
49
36
  Tendersync is a utility for syncing files from ENTP's Tender site for managing customer facing documentation. It can be used to pull and push documents to a local repository as well as create indexes for each documentation section.
50
37
 
@@ -54,26 +41,15 @@ executables:
54
41
  extensions: []
55
42
 
56
43
  extra_rdoc_files:
57
- - bin/tendersync
58
- - lib/tendersync/document.rb
59
- - lib/tendersync/runner.rb
60
- - lib/tendersync/session.rb
61
- - lib/tendersync/tendersync.rb
62
- - lib/tendersync.rb
63
44
  - README.md
64
- - tasks/rspec.rake
65
45
  files:
66
- - bin/tendersync
67
- - config/website.yml.sample
68
46
  - History.txt
47
+ - README.md
48
+ - bin/tendersync
49
+ - lib/tendersync.rb
69
50
  - lib/tendersync/document.rb
70
51
  - lib/tendersync/runner.rb
71
52
  - lib/tendersync/session.rb
72
- - lib/tendersync/tendersync.rb
73
- - lib/tendersync.rb
74
- - Manifest
75
- - Rakefile
76
- - README.md
77
53
  - script/console
78
54
  - script/destroy
79
55
  - script/generate
@@ -85,24 +61,13 @@ files:
85
61
  - spec/tendersync_session_spec.rb
86
62
  - spec/tendersync_spec.rb
87
63
  - tasks/rspec.rake
88
- - tendersync.gemspec
89
- - website/index.html
90
- - website/index.txt
91
- - website/javascripts/rounded_corners_lite.inc.js
92
- - website/stylesheets/screen.css
93
- - website/template.html.erb
94
64
  has_rdoc: true
95
65
  homepage: http://www.github.com/newrelic/tendersync
96
66
  licenses: []
97
67
 
98
68
  post_install_message:
99
69
  rdoc_options:
100
- - --line-numbers
101
- - --inline-source
102
- - --title
103
- - Tendersync
104
- - --main
105
- - README.md
70
+ - --charset=UTF-8
106
71
  require_paths:
107
72
  - lib
108
73
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -114,18 +79,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
79
  version: "0"
115
80
  required_rubygems_version: !ruby/object:Gem::Requirement
116
81
  requirements:
117
- - - ">="
82
+ - - ">"
118
83
  - !ruby/object:Gem::Version
119
84
  segments:
120
85
  - 1
121
- - 2
122
- version: "1.2"
86
+ - 3
87
+ - 1
88
+ version: 1.3.1
123
89
  requirements: []
124
90
 
125
- rubyforge_project: newrelic
91
+ rubyforge_project:
126
92
  rubygems_version: 1.3.6
127
93
  signing_key:
128
94
  specification_version: 3
129
95
  summary: Utility for syncing and indexing files from ENTP's Tender site.
130
- test_files: []
131
-
96
+ test_files:
97
+ - spec/spec_helper.rb
98
+ - spec/tendersync_document_spec.rb
99
+ - spec/tendersync_session_spec.rb
100
+ - spec/tendersync_spec.rb
data/Manifest DELETED
@@ -1,28 +0,0 @@
1
- bin/tendersync
2
- config/website.yml.sample
3
- History.txt
4
- lib/tendersync/document.rb
5
- lib/tendersync/runner.rb
6
- lib/tendersync/session.rb
7
- lib/tendersync/tendersync.rb
8
- lib/tendersync.rb
9
- Manifest
10
- Rakefile
11
- README.md
12
- script/console
13
- script/destroy
14
- script/generate
15
- script/txt2html
16
- spec/fixtures/passenger_restart_issues
17
- spec/spec.opts
18
- spec/spec_helper.rb
19
- spec/tendersync_document_spec.rb
20
- spec/tendersync_session_spec.rb
21
- spec/tendersync_spec.rb
22
- tasks/rspec.rake
23
- tendersync.gemspec
24
- website/index.html
25
- website/index.txt
26
- website/javascripts/rounded_corners_lite.inc.js
27
- website/stylesheets/screen.css
28
- website/template.html.erb
data/Rakefile DELETED
@@ -1,40 +0,0 @@
1
- require 'rubygems'
2
- require 'echoe'
3
- %w[rake rake/clean fileutils newgem rubigen].each { |f| require f }
4
- require File.dirname(__FILE__) + '/lib/tendersync'
5
-
6
- GEM_NAME = "tendersync"
7
- GEM_VERSION = Tendersync::VERSION
8
- AUTHOR = "Bill Kayser"
9
- EMAIL = "bkayser@newrelic.com"
10
- HOMEPAGE = "http://www.github.com/newrelic/tendersync"
11
- SUMMARY = "Utility for syncing and indexing files from ENTP's Tender site."
12
- DESCRIPTION = <<-EOF
13
- Tendersync is a utility for syncing files from ENTP's Tender site for managing customer facing documentation. It can be used to pull and push documents to a local repository as well as create indexes for each documentation section.
14
- EOF
15
-
16
- # Generate all the Rake tasks
17
- # Run 'rake -T' to see list of generated tasks (from gem root directory)
18
- Echoe.new(GEM_NAME, Tendersync::VERSION) do |p|
19
- p.author = AUTHOR
20
- p.email = EMAIL
21
- p.summary = SUMMARY
22
- p.url = HOMEPAGE
23
- p.project = 'newrelic'
24
- p.description = DESCRIPTION
25
- p.version = Tendersync::VERSION
26
- p.need_tar_gz = false
27
- p.need_gem = true
28
- p.bin_files = 'bin/tendersync'
29
- p.runtime_dependencies = [
30
- ['mechanize','>= 0.9.3'],
31
- ]
32
- p.development_dependencies = [
33
- ['newgem', ">= #{::Newgem::VERSION}"]
34
- ]
35
- p.ignore_pattern = %w[docs/** general/** troubleshooting/**]
36
- p.clean_pattern |= %w[**/.DS_Store tmp *.log]
37
- end
38
-
39
- Dir['tasks/**/*.rake'].each { |t| load t }
40
-
@@ -1,2 +0,0 @@
1
- host: unknown@rubyforge.org
2
- remote_dir: /var/www/gforge-projects/tendersync
@@ -1,7 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__)) unless
2
- $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
-
4
- module Tendersync
5
- VERSION = '1.0.1'
6
- end
7
- require 'tendersync/runner'
data/tendersync.gemspec DELETED
@@ -1,39 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = %q{tendersync}
5
- s.version = "1.0.9"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Bill Kayser"]
9
- s.date = %q{2010-03-03}
10
- s.default_executable = %q{tendersync}
11
- s.description = %q{Tendersync is a utility for syncing files from ENTP's Tender site for managing customer facing documentation. It can be used to pull and push documents to a local repository as well as create indexes for each documentation section.
12
- }
13
- s.email = %q{bkayser@newrelic.com}
14
- s.executables = ["tendersync"]
15
- s.extra_rdoc_files = ["bin/tendersync", "lib/tendersync/document.rb", "lib/tendersync/runner.rb", "lib/tendersync/session.rb", "lib/tendersync/tendersync.rb", "lib/tendersync.rb", "README.md", "tasks/rspec.rake"]
16
- s.files = ["bin/tendersync", "config/website.yml.sample", "History.txt", "lib/tendersync/document.rb", "lib/tendersync/runner.rb", "lib/tendersync/session.rb", "lib/tendersync/tendersync.rb", "lib/tendersync.rb", "Manifest", "Rakefile", "README.md", "script/console", "script/destroy", "script/generate", "script/txt2html", "spec/fixtures/passenger_restart_issues", "spec/spec.opts", "spec/spec_helper.rb", "spec/tendersync_document_spec.rb", "spec/tendersync_session_spec.rb", "spec/tendersync_spec.rb", "tasks/rspec.rake", "tendersync.gemspec", "website/index.html", "website/index.txt", "website/javascripts/rounded_corners_lite.inc.js", "website/stylesheets/screen.css", "website/template.html.erb"]
17
- s.homepage = %q{http://www.github.com/newrelic/tendersync}
18
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Tendersync", "--main", "README.md"]
19
- s.require_paths = ["lib"]
20
- s.rubyforge_project = %q{newrelic}
21
- s.rubygems_version = %q{1.3.6}
22
- s.summary = %q{Utility for syncing and indexing files from ENTP's Tender site.}
23
-
24
- if s.respond_to? :specification_version then
25
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
26
- s.specification_version = 3
27
-
28
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
29
- s.add_runtime_dependency(%q<mechanize>, [">= 0.9.3"])
30
- s.add_development_dependency(%q<newgem>, [">= 1.5.2"])
31
- else
32
- s.add_dependency(%q<mechanize>, [">= 0.9.3"])
33
- s.add_dependency(%q<newgem>, [">= 1.5.2"])
34
- end
35
- else
36
- s.add_dependency(%q<mechanize>, [">= 0.9.3"])
37
- s.add_dependency(%q<newgem>, [">= 1.5.2"])
38
- end
39
- end
data/website/index.html DELETED
@@ -1,11 +0,0 @@
1
- <html>
2
- <head>
3
- <meta http-equiv="Content-type" content="text/html; charset=utf-8">
4
- <title>tendersync</title>
5
-
6
- </head>
7
- <body id="body">
8
- <p>This page has not yet been created for RubyGem <code>tendersync</code></p>
9
- <p>To the developer: To generate it, update website/index.txt and run the rake task <code>website</code> to generate this <code>index.html</code> file.</p>
10
- </body>
11
- </html>
data/website/index.txt DELETED
@@ -1,81 +0,0 @@
1
- h1. tendersync
2
-
3
-
4
- h2. What
5
-
6
-
7
- h2. Installing
8
-
9
- <pre syntax="ruby">sudo gem install tendersync</pre>
10
-
11
- h2. The basics
12
-
13
-
14
- h2. Demonstration of usage
15
-
16
-
17
-
18
- h2. Forum
19
-
20
- "http://groups.google.com/group/tendersync":http://groups.google.com/group/tendersync
21
-
22
- TODO - create Google Group - tendersync
23
-
24
- h2. How to submit patches
25
-
26
- Read the "8 steps for fixing other people's code":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/ and for section "8b: Submit patch to Google Groups":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups, use the Google Group above.
27
-
28
- TODO - pick SVN or Git instructions
29
-
30
- The trunk repository is <code>svn://rubyforge.org/var/svn/tendersync/trunk</code> for anonymous access.
31
-
32
- OOOORRRR
33
-
34
- You can fetch the source from either:
35
-
36
- <% if rubyforge_project_id %>
37
-
38
- * rubyforge: "http://rubyforge.org/scm/?group_id=<%= rubyforge_project_id %>":http://rubyforge.org/scm/?group_id=<%= rubyforge_project_id %>
39
-
40
- <pre>git clone git://rubyforge.org/tendersync.git</pre>
41
-
42
- <% else %>
43
-
44
- * rubyforge: MISSING IN ACTION
45
-
46
- TODO - You can not created a RubyForge project, OR have not run <code>rubyforge config</code>
47
- yet to refresh your local rubyforge data with this projects' id information.
48
-
49
- When you do this, this message will magically disappear!
50
-
51
- Or you can hack website/index.txt and make it all go away!!
52
-
53
- <% end %>
54
-
55
- * github: "http://github.com/GITHUB_USERNAME/tendersync/tree/master":http://github.com/GITHUB_USERNAME/tendersync/tree/master
56
-
57
- <pre>git clone git://github.com/GITHUB_USERNAME/tendersync.git</pre>
58
-
59
-
60
- TODO - add "github_username: username" to ~/.rubyforge/user-config.yml and newgem will reuse it for future projects.
61
-
62
-
63
- * gitorious: "git://gitorious.org/tendersync/mainline.git":git://gitorious.org/tendersync/mainline.git
64
-
65
- <pre>git clone git://gitorious.org/tendersync/mainline.git</pre>
66
-
67
- h3. Build and test instructions
68
-
69
- <pre>cd tendersync
70
- rake test
71
- rake install_gem</pre>
72
-
73
-
74
- h2. License
75
-
76
- This code is free to use under the terms of the MIT license.
77
-
78
- h2. Contact
79
-
80
- Comments are welcome. Send an email to "FIXME full name":mailto:bkayser@newrelic.com via the "forum":http://groups.google.com/group/tendersync
81
-
@@ -1,285 +0,0 @@
1
-
2
- /****************************************************************
3
- * *
4
- * curvyCorners *
5
- * ------------ *
6
- * *
7
- * This script generates rounded corners for your divs. *
8
- * *
9
- * Version 1.2.9 *
10
- * Copyright (c) 2006 Cameron Cooke *
11
- * By: Cameron Cooke and Tim Hutchison. *
12
- * *
13
- * *
14
- * Website: http://www.curvycorners.net *
15
- * Email: info@totalinfinity.com *
16
- * Forum: http://www.curvycorners.net/forum/ *
17
- * *
18
- * *
19
- * This library is free software; you can redistribute *
20
- * it and/or modify it under the terms of the GNU *
21
- * Lesser General Public License as published by the *
22
- * Free Software Foundation; either version 2.1 of the *
23
- * License, or (at your option) any later version. *
24
- * *
25
- * This library is distributed in the hope that it will *
26
- * be useful, but WITHOUT ANY WARRANTY; without even the *
27
- * implied warranty of MERCHANTABILITY or FITNESS FOR A *
28
- * PARTICULAR PURPOSE. See the GNU Lesser General Public *
29
- * License for more details. *
30
- * *
31
- * You should have received a copy of the GNU Lesser *
32
- * General Public License along with this library; *
33
- * Inc., 59 Temple Place, Suite 330, Boston, *
34
- * MA 02111-1307 USA *
35
- * *
36
- ****************************************************************/
37
-
38
- var isIE = navigator.userAgent.toLowerCase().indexOf("msie") > -1; var isMoz = document.implementation && document.implementation.createDocument; var isSafari = ((navigator.userAgent.toLowerCase().indexOf('safari')!=-1)&&(navigator.userAgent.toLowerCase().indexOf('mac')!=-1))?true:false; function curvyCorners()
39
- { if(typeof(arguments[0]) != "object") throw newCurvyError("First parameter of curvyCorners() must be an object."); if(typeof(arguments[1]) != "object" && typeof(arguments[1]) != "string") throw newCurvyError("Second parameter of curvyCorners() must be an object or a class name."); if(typeof(arguments[1]) == "string")
40
- { var startIndex = 0; var boxCol = getElementsByClass(arguments[1]);}
41
- else
42
- { var startIndex = 1; var boxCol = arguments;}
43
- var curvyCornersCol = new Array(); if(arguments[0].validTags)
44
- var validElements = arguments[0].validTags; else
45
- var validElements = ["div"]; for(var i = startIndex, j = boxCol.length; i < j; i++)
46
- { var currentTag = boxCol[i].tagName.toLowerCase(); if(inArray(validElements, currentTag) !== false)
47
- { curvyCornersCol[curvyCornersCol.length] = new curvyObject(arguments[0], boxCol[i]);}
48
- }
49
- this.objects = curvyCornersCol; this.applyCornersToAll = function()
50
- { for(var x = 0, k = this.objects.length; x < k; x++)
51
- { this.objects[x].applyCorners();}
52
- }
53
- }
54
- function curvyObject()
55
- { this.box = arguments[1]; this.settings = arguments[0]; this.topContainer = null; this.bottomContainer = null; this.masterCorners = new Array(); this.contentDIV = null; var boxHeight = get_style(this.box, "height", "height"); var boxWidth = get_style(this.box, "width", "width"); var borderWidth = get_style(this.box, "borderTopWidth", "border-top-width"); var borderColour = get_style(this.box, "borderTopColor", "border-top-color"); var boxColour = get_style(this.box, "backgroundColor", "background-color"); var backgroundImage = get_style(this.box, "backgroundImage", "background-image"); var boxPosition = get_style(this.box, "position", "position"); var boxPadding = get_style(this.box, "paddingTop", "padding-top"); this.boxHeight = parseInt(((boxHeight != "" && boxHeight != "auto" && boxHeight.indexOf("%") == -1)? boxHeight.substring(0, boxHeight.indexOf("px")) : this.box.scrollHeight)); this.boxWidth = parseInt(((boxWidth != "" && boxWidth != "auto" && boxWidth.indexOf("%") == -1)? boxWidth.substring(0, boxWidth.indexOf("px")) : this.box.scrollWidth)); this.borderWidth = parseInt(((borderWidth != "" && borderWidth.indexOf("px") !== -1)? borderWidth.slice(0, borderWidth.indexOf("px")) : 0)); this.boxColour = format_colour(boxColour); this.boxPadding = parseInt(((boxPadding != "" && boxPadding.indexOf("px") !== -1)? boxPadding.slice(0, boxPadding.indexOf("px")) : 0)); this.borderColour = format_colour(borderColour); this.borderString = this.borderWidth + "px" + " solid " + this.borderColour; this.backgroundImage = ((backgroundImage != "none")? backgroundImage : ""); this.boxContent = this.box.innerHTML; if(boxPosition != "absolute") this.box.style.position = "relative"; this.box.style.padding = "0px"; if(isIE && boxWidth == "auto" && boxHeight == "auto") this.box.style.width = "100%"; if(this.settings.autoPad == true && this.boxPadding > 0)
56
- this.box.innerHTML = ""; this.applyCorners = function()
57
- { for(var t = 0; t < 2; t++)
58
- { switch(t)
59
- { case 0:
60
- if(this.settings.tl || this.settings.tr)
61
- { var newMainContainer = document.createElement("DIV"); newMainContainer.style.width = "100%"; newMainContainer.style.fontSize = "1px"; newMainContainer.style.overflow = "hidden"; newMainContainer.style.position = "absolute"; newMainContainer.style.paddingLeft = this.borderWidth + "px"; newMainContainer.style.paddingRight = this.borderWidth + "px"; var topMaxRadius = Math.max(this.settings.tl ? this.settings.tl.radius : 0, this.settings.tr ? this.settings.tr.radius : 0); newMainContainer.style.height = topMaxRadius + "px"; newMainContainer.style.top = 0 - topMaxRadius + "px"; newMainContainer.style.left = 0 - this.borderWidth + "px"; this.topContainer = this.box.appendChild(newMainContainer);}
62
- break; case 1:
63
- if(this.settings.bl || this.settings.br)
64
- { var newMainContainer = document.createElement("DIV"); newMainContainer.style.width = "100%"; newMainContainer.style.fontSize = "1px"; newMainContainer.style.overflow = "hidden"; newMainContainer.style.position = "absolute"; newMainContainer.style.paddingLeft = this.borderWidth + "px"; newMainContainer.style.paddingRight = this.borderWidth + "px"; var botMaxRadius = Math.max(this.settings.bl ? this.settings.bl.radius : 0, this.settings.br ? this.settings.br.radius : 0); newMainContainer.style.height = botMaxRadius + "px"; newMainContainer.style.bottom = 0 - botMaxRadius + "px"; newMainContainer.style.left = 0 - this.borderWidth + "px"; this.bottomContainer = this.box.appendChild(newMainContainer);}
65
- break;}
66
- }
67
- if(this.topContainer) this.box.style.borderTopWidth = "0px"; if(this.bottomContainer) this.box.style.borderBottomWidth = "0px"; var corners = ["tr", "tl", "br", "bl"]; for(var i in corners)
68
- { if(i > -1 < 4)
69
- { var cc = corners[i]; if(!this.settings[cc])
70
- { if(((cc == "tr" || cc == "tl") && this.topContainer != null) || ((cc == "br" || cc == "bl") && this.bottomContainer != null))
71
- { var newCorner = document.createElement("DIV"); newCorner.style.position = "relative"; newCorner.style.fontSize = "1px"; newCorner.style.overflow = "hidden"; if(this.backgroundImage == "")
72
- newCorner.style.backgroundColor = this.boxColour; else
73
- newCorner.style.backgroundImage = this.backgroundImage; switch(cc)
74
- { case "tl":
75
- newCorner.style.height = topMaxRadius - this.borderWidth + "px"; newCorner.style.marginRight = this.settings.tr.radius - (this.borderWidth*2) + "px"; newCorner.style.borderLeft = this.borderString; newCorner.style.borderTop = this.borderString; newCorner.style.left = -this.borderWidth + "px"; break; case "tr":
76
- newCorner.style.height = topMaxRadius - this.borderWidth + "px"; newCorner.style.marginLeft = this.settings.tl.radius - (this.borderWidth*2) + "px"; newCorner.style.borderRight = this.borderString; newCorner.style.borderTop = this.borderString; newCorner.style.backgroundPosition = "-" + (topMaxRadius + this.borderWidth) + "px 0px"; newCorner.style.left = this.borderWidth + "px"; break; case "bl":
77
- newCorner.style.height = botMaxRadius - this.borderWidth + "px"; newCorner.style.marginRight = this.settings.br.radius - (this.borderWidth*2) + "px"; newCorner.style.borderLeft = this.borderString; newCorner.style.borderBottom = this.borderString; newCorner.style.left = -this.borderWidth + "px"; newCorner.style.backgroundPosition = "-" + (this.borderWidth) + "px -" + (this.boxHeight + (botMaxRadius + this.borderWidth)) + "px"; break; case "br":
78
- newCorner.style.height = botMaxRadius - this.borderWidth + "px"; newCorner.style.marginLeft = this.settings.bl.radius - (this.borderWidth*2) + "px"; newCorner.style.borderRight = this.borderString; newCorner.style.borderBottom = this.borderString; newCorner.style.left = this.borderWidth + "px"
79
- newCorner.style.backgroundPosition = "-" + (botMaxRadius + this.borderWidth) + "px -" + (this.boxHeight + (botMaxRadius + this.borderWidth)) + "px"; break;}
80
- }
81
- }
82
- else
83
- { if(this.masterCorners[this.settings[cc].radius])
84
- { var newCorner = this.masterCorners[this.settings[cc].radius].cloneNode(true);}
85
- else
86
- { var newCorner = document.createElement("DIV"); newCorner.style.height = this.settings[cc].radius + "px"; newCorner.style.width = this.settings[cc].radius + "px"; newCorner.style.position = "absolute"; newCorner.style.fontSize = "1px"; newCorner.style.overflow = "hidden"; var borderRadius = parseInt(this.settings[cc].radius - this.borderWidth); for(var intx = 0, j = this.settings[cc].radius; intx < j; intx++)
87
- { if((intx +1) >= borderRadius)
88
- var y1 = -1; else
89
- var y1 = (Math.floor(Math.sqrt(Math.pow(borderRadius, 2) - Math.pow((intx+1), 2))) - 1); if(borderRadius != j)
90
- { if((intx) >= borderRadius)
91
- var y2 = -1; else
92
- var y2 = Math.ceil(Math.sqrt(Math.pow(borderRadius,2) - Math.pow(intx, 2))); if((intx+1) >= j)
93
- var y3 = -1; else
94
- var y3 = (Math.floor(Math.sqrt(Math.pow(j ,2) - Math.pow((intx+1), 2))) - 1);}
95
- if((intx) >= j)
96
- var y4 = -1; else
97
- var y4 = Math.ceil(Math.sqrt(Math.pow(j ,2) - Math.pow(intx, 2))); if(y1 > -1) this.drawPixel(intx, 0, this.boxColour, 100, (y1+1), newCorner, -1, this.settings[cc].radius); if(borderRadius != j)
98
- { for(var inty = (y1 + 1); inty < y2; inty++)
99
- { if(this.settings.antiAlias)
100
- { if(this.backgroundImage != "")
101
- { var borderFract = (pixelFraction(intx, inty, borderRadius) * 100); if(borderFract < 30)
102
- { this.drawPixel(intx, inty, this.borderColour, 100, 1, newCorner, 0, this.settings[cc].radius);}
103
- else
104
- { this.drawPixel(intx, inty, this.borderColour, 100, 1, newCorner, -1, this.settings[cc].radius);}
105
- }
106
- else
107
- { var pixelcolour = BlendColour(this.boxColour, this.borderColour, pixelFraction(intx, inty, borderRadius)); this.drawPixel(intx, inty, pixelcolour, 100, 1, newCorner, 0, this.settings[cc].radius, cc);}
108
- }
109
- }
110
- if(this.settings.antiAlias)
111
- { if(y3 >= y2)
112
- { if (y2 == -1) y2 = 0; this.drawPixel(intx, y2, this.borderColour, 100, (y3 - y2 + 1), newCorner, 0, 0);}
113
- }
114
- else
115
- { if(y3 >= y1)
116
- { this.drawPixel(intx, (y1 + 1), this.borderColour, 100, (y3 - y1), newCorner, 0, 0);}
117
- }
118
- var outsideColour = this.borderColour;}
119
- else
120
- { var outsideColour = this.boxColour; var y3 = y1;}
121
- if(this.settings.antiAlias)
122
- { for(var inty = (y3 + 1); inty < y4; inty++)
123
- { this.drawPixel(intx, inty, outsideColour, (pixelFraction(intx, inty , j) * 100), 1, newCorner, ((this.borderWidth > 0)? 0 : -1), this.settings[cc].radius);}
124
- }
125
- }
126
- this.masterCorners[this.settings[cc].radius] = newCorner.cloneNode(true);}
127
- if(cc != "br")
128
- { for(var t = 0, k = newCorner.childNodes.length; t < k; t++)
129
- { var pixelBar = newCorner.childNodes[t]; var pixelBarTop = parseInt(pixelBar.style.top.substring(0, pixelBar.style.top.indexOf("px"))); var pixelBarLeft = parseInt(pixelBar.style.left.substring(0, pixelBar.style.left.indexOf("px"))); var pixelBarHeight = parseInt(pixelBar.style.height.substring(0, pixelBar.style.height.indexOf("px"))); if(cc == "tl" || cc == "bl"){ pixelBar.style.left = this.settings[cc].radius -pixelBarLeft -1 + "px";}
130
- if(cc == "tr" || cc == "tl"){ pixelBar.style.top = this.settings[cc].radius -pixelBarHeight -pixelBarTop + "px";}
131
- switch(cc)
132
- { case "tr":
133
- pixelBar.style.backgroundPosition = "-" + Math.abs((this.boxWidth - this.settings[cc].radius + this.borderWidth) + pixelBarLeft) + "px -" + Math.abs(this.settings[cc].radius -pixelBarHeight -pixelBarTop - this.borderWidth) + "px"; break; case "tl":
134
- pixelBar.style.backgroundPosition = "-" + Math.abs((this.settings[cc].radius -pixelBarLeft -1) - this.borderWidth) + "px -" + Math.abs(this.settings[cc].radius -pixelBarHeight -pixelBarTop - this.borderWidth) + "px"; break; case "bl":
135
- pixelBar.style.backgroundPosition = "-" + Math.abs((this.settings[cc].radius -pixelBarLeft -1) - this.borderWidth) + "px -" + Math.abs((this.boxHeight + this.settings[cc].radius + pixelBarTop) -this.borderWidth) + "px"; break;}
136
- }
137
- }
138
- }
139
- if(newCorner)
140
- { switch(cc)
141
- { case "tl":
142
- if(newCorner.style.position == "absolute") newCorner.style.top = "0px"; if(newCorner.style.position == "absolute") newCorner.style.left = "0px"; if(this.topContainer) this.topContainer.appendChild(newCorner); break; case "tr":
143
- if(newCorner.style.position == "absolute") newCorner.style.top = "0px"; if(newCorner.style.position == "absolute") newCorner.style.right = "0px"; if(this.topContainer) this.topContainer.appendChild(newCorner); break; case "bl":
144
- if(newCorner.style.position == "absolute") newCorner.style.bottom = "0px"; if(newCorner.style.position == "absolute") newCorner.style.left = "0px"; if(this.bottomContainer) this.bottomContainer.appendChild(newCorner); break; case "br":
145
- if(newCorner.style.position == "absolute") newCorner.style.bottom = "0px"; if(newCorner.style.position == "absolute") newCorner.style.right = "0px"; if(this.bottomContainer) this.bottomContainer.appendChild(newCorner); break;}
146
- }
147
- }
148
- }
149
- var radiusDiff = new Array(); radiusDiff["t"] = Math.abs(this.settings.tl.radius - this.settings.tr.radius)
150
- radiusDiff["b"] = Math.abs(this.settings.bl.radius - this.settings.br.radius); for(z in radiusDiff)
151
- { if(z == "t" || z == "b")
152
- { if(radiusDiff[z])
153
- { var smallerCornerType = ((this.settings[z + "l"].radius < this.settings[z + "r"].radius)? z +"l" : z +"r"); var newFiller = document.createElement("DIV"); newFiller.style.height = radiusDiff[z] + "px"; newFiller.style.width = this.settings[smallerCornerType].radius+ "px"
154
- newFiller.style.position = "absolute"; newFiller.style.fontSize = "1px"; newFiller.style.overflow = "hidden"; newFiller.style.backgroundColor = this.boxColour; switch(smallerCornerType)
155
- { case "tl":
156
- newFiller.style.bottom = "0px"; newFiller.style.left = "0px"; newFiller.style.borderLeft = this.borderString; this.topContainer.appendChild(newFiller); break; case "tr":
157
- newFiller.style.bottom = "0px"; newFiller.style.right = "0px"; newFiller.style.borderRight = this.borderString; this.topContainer.appendChild(newFiller); break; case "bl":
158
- newFiller.style.top = "0px"; newFiller.style.left = "0px"; newFiller.style.borderLeft = this.borderString; this.bottomContainer.appendChild(newFiller); break; case "br":
159
- newFiller.style.top = "0px"; newFiller.style.right = "0px"; newFiller.style.borderRight = this.borderString; this.bottomContainer.appendChild(newFiller); break;}
160
- }
161
- var newFillerBar = document.createElement("DIV"); newFillerBar.style.position = "relative"; newFillerBar.style.fontSize = "1px"; newFillerBar.style.overflow = "hidden"; newFillerBar.style.backgroundColor = this.boxColour; newFillerBar.style.backgroundImage = this.backgroundImage; switch(z)
162
- { case "t":
163
- if(this.topContainer)
164
- { if(this.settings.tl.radius && this.settings.tr.radius)
165
- { newFillerBar.style.height = topMaxRadius - this.borderWidth + "px"; newFillerBar.style.marginLeft = this.settings.tl.radius - this.borderWidth + "px"; newFillerBar.style.marginRight = this.settings.tr.radius - this.borderWidth + "px"; newFillerBar.style.borderTop = this.borderString; if(this.backgroundImage != "")
166
- newFillerBar.style.backgroundPosition = "-" + (topMaxRadius + this.borderWidth) + "px 0px"; this.topContainer.appendChild(newFillerBar);}
167
- this.box.style.backgroundPosition = "0px -" + (topMaxRadius - this.borderWidth) + "px";}
168
- break; case "b":
169
- if(this.bottomContainer)
170
- { if(this.settings.bl.radius && this.settings.br.radius)
171
- { newFillerBar.style.height = botMaxRadius - this.borderWidth + "px"; newFillerBar.style.marginLeft = this.settings.bl.radius - this.borderWidth + "px"; newFillerBar.style.marginRight = this.settings.br.radius - this.borderWidth + "px"; newFillerBar.style.borderBottom = this.borderString; if(this.backgroundImage != "")
172
- newFillerBar.style.backgroundPosition = "-" + (botMaxRadius + this.borderWidth) + "px -" + (this.boxHeight + (topMaxRadius + this.borderWidth)) + "px"; this.bottomContainer.appendChild(newFillerBar);}
173
- }
174
- break;}
175
- }
176
- }
177
- if(this.settings.autoPad == true && this.boxPadding > 0)
178
- { var contentContainer = document.createElement("DIV"); contentContainer.style.position = "relative"; contentContainer.innerHTML = this.boxContent; contentContainer.className = "autoPadDiv"; var topPadding = Math.abs(topMaxRadius - this.boxPadding); var botPadding = Math.abs(botMaxRadius - this.boxPadding); if(topMaxRadius < this.boxPadding)
179
- contentContainer.style.paddingTop = topPadding + "px"; if(botMaxRadius < this.boxPadding)
180
- contentContainer.style.paddingBottom = botMaxRadius + "px"; contentContainer.style.paddingLeft = this.boxPadding + "px"; contentContainer.style.paddingRight = this.boxPadding + "px"; this.contentDIV = this.box.appendChild(contentContainer);}
181
- }
182
- this.drawPixel = function(intx, inty, colour, transAmount, height, newCorner, image, cornerRadius)
183
- { var pixel = document.createElement("DIV"); pixel.style.height = height + "px"; pixel.style.width = "1px"; pixel.style.position = "absolute"; pixel.style.fontSize = "1px"; pixel.style.overflow = "hidden"; var topMaxRadius = Math.max(this.settings["tr"].radius, this.settings["tl"].radius); if(image == -1 && this.backgroundImage != "")
184
- { pixel.style.backgroundImage = this.backgroundImage; pixel.style.backgroundPosition = "-" + (this.boxWidth - (cornerRadius - intx) + this.borderWidth) + "px -" + ((this.boxHeight + topMaxRadius + inty) -this.borderWidth) + "px";}
185
- else
186
- { pixel.style.backgroundColor = colour;}
187
- if (transAmount != 100)
188
- setOpacity(pixel, transAmount); pixel.style.top = inty + "px"; pixel.style.left = intx + "px"; newCorner.appendChild(pixel);}
189
- }
190
- function insertAfter(parent, node, referenceNode)
191
- { parent.insertBefore(node, referenceNode.nextSibling);}
192
- function BlendColour(Col1, Col2, Col1Fraction)
193
- { var red1 = parseInt(Col1.substr(1,2),16); var green1 = parseInt(Col1.substr(3,2),16); var blue1 = parseInt(Col1.substr(5,2),16); var red2 = parseInt(Col2.substr(1,2),16); var green2 = parseInt(Col2.substr(3,2),16); var blue2 = parseInt(Col2.substr(5,2),16); if(Col1Fraction > 1 || Col1Fraction < 0) Col1Fraction = 1; var endRed = Math.round((red1 * Col1Fraction) + (red2 * (1 - Col1Fraction))); if(endRed > 255) endRed = 255; if(endRed < 0) endRed = 0; var endGreen = Math.round((green1 * Col1Fraction) + (green2 * (1 - Col1Fraction))); if(endGreen > 255) endGreen = 255; if(endGreen < 0) endGreen = 0; var endBlue = Math.round((blue1 * Col1Fraction) + (blue2 * (1 - Col1Fraction))); if(endBlue > 255) endBlue = 255; if(endBlue < 0) endBlue = 0; return "#" + IntToHex(endRed)+ IntToHex(endGreen)+ IntToHex(endBlue);}
194
- function IntToHex(strNum)
195
- { base = strNum / 16; rem = strNum % 16; base = base - (rem / 16); baseS = MakeHex(base); remS = MakeHex(rem); return baseS + '' + remS;}
196
- function MakeHex(x)
197
- { if((x >= 0) && (x <= 9))
198
- { return x;}
199
- else
200
- { switch(x)
201
- { case 10: return "A"; case 11: return "B"; case 12: return "C"; case 13: return "D"; case 14: return "E"; case 15: return "F";}
202
- }
203
- }
204
- function pixelFraction(x, y, r)
205
- { var pixelfraction = 0; var xvalues = new Array(1); var yvalues = new Array(1); var point = 0; var whatsides = ""; var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(x,2))); if ((intersect >= y) && (intersect < (y+1)))
206
- { whatsides = "Left"; xvalues[point] = 0; yvalues[point] = intersect - y; point = point + 1;}
207
- var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(y+1,2))); if ((intersect >= x) && (intersect < (x+1)))
208
- { whatsides = whatsides + "Top"; xvalues[point] = intersect - x; yvalues[point] = 1; point = point + 1;}
209
- var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(x+1,2))); if ((intersect >= y) && (intersect < (y+1)))
210
- { whatsides = whatsides + "Right"; xvalues[point] = 1; yvalues[point] = intersect - y; point = point + 1;}
211
- var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(y,2))); if ((intersect >= x) && (intersect < (x+1)))
212
- { whatsides = whatsides + "Bottom"; xvalues[point] = intersect - x; yvalues[point] = 0;}
213
- switch (whatsides)
214
- { case "LeftRight":
215
- pixelfraction = Math.min(yvalues[0],yvalues[1]) + ((Math.max(yvalues[0],yvalues[1]) - Math.min(yvalues[0],yvalues[1]))/2); break; case "TopRight":
216
- pixelfraction = 1-(((1-xvalues[0])*(1-yvalues[1]))/2); break; case "TopBottom":
217
- pixelfraction = Math.min(xvalues[0],xvalues[1]) + ((Math.max(xvalues[0],xvalues[1]) - Math.min(xvalues[0],xvalues[1]))/2); break; case "LeftBottom":
218
- pixelfraction = (yvalues[0]*xvalues[1])/2; break; default:
219
- pixelfraction = 1;}
220
- return pixelfraction;}
221
- function rgb2Hex(rgbColour)
222
- { try{ var rgbArray = rgb2Array(rgbColour); var red = parseInt(rgbArray[0]); var green = parseInt(rgbArray[1]); var blue = parseInt(rgbArray[2]); var hexColour = "#" + IntToHex(red) + IntToHex(green) + IntToHex(blue);}
223
- catch(e){ alert("There was an error converting the RGB value to Hexadecimal in function rgb2Hex");}
224
- return hexColour;}
225
- function rgb2Array(rgbColour)
226
- { var rgbValues = rgbColour.substring(4, rgbColour.indexOf(")")); var rgbArray = rgbValues.split(", "); return rgbArray;}
227
- function setOpacity(obj, opacity)
228
- { opacity = (opacity == 100)?99.999:opacity; if(isSafari && obj.tagName != "IFRAME")
229
- { var rgbArray = rgb2Array(obj.style.backgroundColor); var red = parseInt(rgbArray[0]); var green = parseInt(rgbArray[1]); var blue = parseInt(rgbArray[2]); obj.style.backgroundColor = "rgba(" + red + ", " + green + ", " + blue + ", " + opacity/100 + ")";}
230
- else if(typeof(obj.style.opacity) != "undefined")
231
- { obj.style.opacity = opacity/100;}
232
- else if(typeof(obj.style.MozOpacity) != "undefined")
233
- { obj.style.MozOpacity = opacity/100;}
234
- else if(typeof(obj.style.filter) != "undefined")
235
- { obj.style.filter = "alpha(opacity:" + opacity + ")";}
236
- else if(typeof(obj.style.KHTMLOpacity) != "undefined")
237
- { obj.style.KHTMLOpacity = opacity/100;}
238
- }
239
- function inArray(array, value)
240
- { for(var i = 0; i < array.length; i++){ if (array[i] === value) return i;}
241
- return false;}
242
- function inArrayKey(array, value)
243
- { for(key in array){ if(key === value) return true;}
244
- return false;}
245
- function addEvent(elm, evType, fn, useCapture) { if (elm.addEventListener) { elm.addEventListener(evType, fn, useCapture); return true;}
246
- else if (elm.attachEvent) { var r = elm.attachEvent('on' + evType, fn); return r;}
247
- else { elm['on' + evType] = fn;}
248
- }
249
- function removeEvent(obj, evType, fn, useCapture){ if (obj.removeEventListener){ obj.removeEventListener(evType, fn, useCapture); return true;} else if (obj.detachEvent){ var r = obj.detachEvent("on"+evType, fn); return r;} else { alert("Handler could not be removed");}
250
- }
251
- function format_colour(colour)
252
- { var returnColour = "#ffffff"; if(colour != "" && colour != "transparent")
253
- { if(colour.substr(0, 3) == "rgb")
254
- { returnColour = rgb2Hex(colour);}
255
- else if(colour.length == 4)
256
- { returnColour = "#" + colour.substring(1, 2) + colour.substring(1, 2) + colour.substring(2, 3) + colour.substring(2, 3) + colour.substring(3, 4) + colour.substring(3, 4);}
257
- else
258
- { returnColour = colour;}
259
- }
260
- return returnColour;}
261
- function get_style(obj, property, propertyNS)
262
- { try
263
- { if(obj.currentStyle)
264
- { var returnVal = eval("obj.currentStyle." + property);}
265
- else
266
- { if(isSafari && obj.style.display == "none")
267
- { obj.style.display = ""; var wasHidden = true;}
268
- var returnVal = document.defaultView.getComputedStyle(obj, '').getPropertyValue(propertyNS); if(isSafari && wasHidden)
269
- { obj.style.display = "none";}
270
- }
271
- }
272
- catch(e)
273
- { }
274
- return returnVal;}
275
- function getElementsByClass(searchClass, node, tag)
276
- { var classElements = new Array(); if(node == null)
277
- node = document; if(tag == null)
278
- tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp("(^|\s)"+searchClass+"(\s|$)"); for (i = 0, j = 0; i < elsLen; i++)
279
- { if(pattern.test(els[i].className))
280
- { classElements[j] = els[i]; j++;}
281
- }
282
- return classElements;}
283
- function newCurvyError(errorMessage)
284
- { return new Error("curvyCorners Error:\n" + errorMessage)
285
- }
@@ -1,159 +0,0 @@
1
- body {
2
- background-color: #8DBD82;
3
- font-family: "Georgia", sans-serif;
4
- font-size: 16px;
5
- line-height: 1.6em;
6
- padding: 1.6em 0 0 0;
7
- color: #333;
8
- }
9
- h1, h2, h3, h4, h5, h6 {
10
- color: #444;
11
- }
12
- h1 {
13
- font-family: sans-serif;
14
- font-weight: normal;
15
- font-size: 4em;
16
- line-height: 0.8em;
17
- letter-spacing: -0.1ex;
18
- margin: 5px;
19
- }
20
- li {
21
- padding: 0;
22
- margin: 0;
23
- list-style-type: square;
24
- }
25
- a {
26
- color: #5E5AFF;
27
- background-color: #A1DDB1;
28
- font-weight: normal;
29
- text-decoration: underline;
30
- }
31
- blockquote {
32
- font-size: 90%;
33
- font-style: italic;
34
- border-left: 1px solid #111;
35
- padding-left: 1em;
36
- }
37
- .caps {
38
- font-size: 80%;
39
- }
40
-
41
- #main {
42
- width: 55em;
43
- padding: 0;
44
- margin: 0 auto;
45
- }
46
- .coda {
47
- text-align: right;
48
- color: #77f;
49
- font-size: smaller;
50
- }
51
-
52
- table {
53
- font-size: 90%;
54
- line-height: 1.4em;
55
- color: #ff8;
56
- background-color: #111;
57
- padding: 2px 10px 2px 10px;
58
- border-style: dashed;
59
- }
60
-
61
- th {
62
- color: #fff;
63
- }
64
-
65
- td {
66
- padding: 2px 10px 2px 10px;
67
- }
68
-
69
- .success {
70
- color: #0CC52B;
71
- }
72
-
73
- .failed {
74
- color: #E90A1B;
75
- }
76
-
77
- .unknown {
78
- color: #995000;
79
- }
80
- pre, code {
81
- font-family: monospace;
82
- font-size: 90%;
83
- line-height: 1.4em;
84
- color: #ff8;
85
- background-color: #111;
86
- width: 40em;
87
- padding: 2px 10px 2px 10px;
88
- }
89
- .comment { color: #aaa; font-style: italic; }
90
- .keyword { color: #eff; font-weight: bold; }
91
- .punct { color: #eee; font-weight: bold; }
92
- .symbol { color: #0bb; }
93
- .string { color: #6b4; }
94
- .ident { color: #ff8; }
95
- .constant { color: #66f; }
96
- .regex { color: #ec6; }
97
- .number { color: #F99; }
98
- .expr { color: #227; }
99
-
100
- .sidebar {
101
- float: right;
102
- }
103
-
104
- #version {
105
- width: 217px;
106
- text-align: right;
107
- font-family: sans-serif;
108
- font-weight: normal;
109
- color: #141331;
110
- padding: 15px 20px 10px 20px;
111
- margin: 0 auto;
112
- margin-top: 15px;
113
- background-color: #9A5535;
114
- border: 3px solid #7E393E;
115
- }
116
-
117
- #version .numbers {
118
- display: block;
119
- font-size: 4em;
120
- line-height: 0.8em;
121
- letter-spacing: -0.1ex;
122
- margin-bottom: 15px;
123
- }
124
-
125
- #version p {
126
- text-decoration: none;
127
- color: #F1F4FF;
128
- background-color: #9A5535;
129
- margin: 0;
130
- padding: 0;
131
- }
132
-
133
- #version a {
134
- text-decoration: none;
135
- color: #F1F4FF;
136
- background-color: #9A5535;
137
- }
138
-
139
- .clickable {
140
- cursor: pointer;
141
- cursor: hand;
142
- }
143
-
144
- #twitter_search {
145
- margin: 40px 0 10px 15px;
146
- color: #F1F4FF;
147
- background-color: #9A5535;
148
- border: 3px solid #7E393E;
149
- }
150
-
151
- #twitter_search h3 {
152
- color: #F1F4FF;
153
- margin-bottom: 0px;
154
- }
155
-
156
- #twitter_search center b {
157
- display: none;
158
- }
159
-
@@ -1,50 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
- <title>
8
- <%= title %>
9
- </title>
10
- <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
- <style>
12
-
13
- </style>
14
- <script type="text/javascript">
15
- window.onload = function() {
16
- settings = {
17
- tl: { radius: 10 },
18
- tr: { radius: 10 },
19
- bl: { radius: 10 },
20
- br: { radius: 10 },
21
- antiAlias: true,
22
- autoPad: true,
23
- validTags: ["div"]
24
- }
25
- var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
- versionBox.applyCornersToAll();
27
- }
28
- </script>
29
- </head>
30
- <body>
31
- <div id="main">
32
-
33
- <h1><%= title %></h1>
34
- <div class="sidebar">
35
- <div id="version" class="clickable" onclick='document.location = "<%= download %>"; return false'>
36
- <p>Get Version</p>
37
- <a href="<%= download %>" class="numbers"><%= version %></a>
38
- </div>
39
- </div>
40
- <%= body %>
41
- <p class="coda">
42
- <a href="bkayser@newrelic.com">FIXME full name</a>, <%= modified.pretty %><br>
43
- Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
44
- </p>
45
- </div>
46
-
47
- <!-- insert site tracking codes here, like Google Urchin -->
48
-
49
- </body>
50
- </html>