fortitude 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.travis.yml +28 -22
- data/CHANGES.md +50 -0
- data/CONTRIBUTORS.md +1 -0
- data/doc/.gitignore +18 -0
- data/doc/Gemfile +21 -0
- data/doc/config.rb +92 -0
- data/doc/source/images/background.png +0 -0
- data/doc/source/images/middleman.png +0 -0
- data/doc/source/images/why/icon_button.png +0 -0
- data/doc/source/images/why/icon_button@2x.png +0 -0
- data/doc/source/images/why/modal_dialog@2x.png +0 -0
- data/doc/source/index.html.pcss +96 -0
- data/doc/source/index.html.rb +66 -0
- data/doc/source/javascripts/all.js +1 -0
- data/doc/source/javascripts/highlight.pack.js +1 -0
- data/doc/source/layouts/layout.rb +55 -0
- data/doc/source/portable/fortitude-bootstrap.rb +53 -0
- data/doc/source/shared/base.pcss +62 -0
- data/doc/source/shared/base.rb +30 -0
- data/doc/source/shared/common.rb +55 -0
- data/doc/source/shared/standard_page.rb +40 -0
- data/doc/source/stylesheets/_shared_prefix.scss +25 -0
- data/doc/source/stylesheets/all.css.scss +7 -0
- data/doc/source/stylesheets/basics.css.scss +20 -0
- data/doc/source/stylesheets/bootstrap_importer.css.scss +1 -0
- data/doc/source/stylesheets/highlight/arta.css +140 -0
- data/doc/source/stylesheets/highlight/ascetic.css +52 -0
- data/doc/source/stylesheets/highlight/atelier-dune.dark.css +95 -0
- data/doc/source/stylesheets/highlight/atelier-dune.light.css +95 -0
- data/doc/source/stylesheets/highlight/atelier-forest.dark.css +95 -0
- data/doc/source/stylesheets/highlight/atelier-forest.light.css +95 -0
- data/doc/source/stylesheets/highlight/atelier-heath.dark.css +95 -0
- data/doc/source/stylesheets/highlight/atelier-heath.light.css +95 -0
- data/doc/source/stylesheets/highlight/atelier-lakeside.dark.css +95 -0
- data/doc/source/stylesheets/highlight/atelier-lakeside.light.css +95 -0
- data/doc/source/stylesheets/highlight/atelier-seaside.dark.css +95 -0
- data/doc/source/stylesheets/highlight/atelier-seaside.light.css +95 -0
- data/doc/source/stylesheets/highlight/brown_paper.css +104 -0
- data/doc/source/stylesheets/highlight/brown_papersq.png +0 -0
- data/doc/source/stylesheets/highlight/codepen-embed.css +108 -0
- data/doc/source/stylesheets/highlight/color-brewer.css +168 -0
- data/doc/source/stylesheets/highlight/dark.css +104 -0
- data/doc/source/stylesheets/highlight/default.css +152 -0
- data/doc/source/stylesheets/highlight/docco.css +135 -0
- data/doc/source/stylesheets/highlight/far.css +111 -0
- data/doc/source/stylesheets/highlight/foundation.css +136 -0
- data/doc/source/stylesheets/highlight/github.css +124 -0
- data/doc/source/stylesheets/highlight/googlecode.css +147 -0
- data/doc/source/stylesheets/highlight/hybrid.css +170 -0
- data/doc/source/stylesheets/highlight/idea.css +125 -0
- data/doc/source/stylesheets/highlight/ir_black.css +109 -0
- data/doc/source/stylesheets/highlight/kimbie.dark.css +96 -0
- data/doc/source/stylesheets/highlight/kimbie.light.css +96 -0
- data/doc/source/stylesheets/highlight/magula.css +121 -0
- data/doc/source/stylesheets/highlight/mono-blue.css +69 -0
- data/doc/source/stylesheets/highlight/monokai.css +127 -0
- data/doc/source/stylesheets/highlight/monokai_sublime.css +154 -0
- data/doc/source/stylesheets/highlight/obsidian.css +153 -0
- data/doc/source/stylesheets/highlight/paraiso.dark.css +95 -0
- data/doc/source/stylesheets/highlight/paraiso.light.css +95 -0
- data/doc/source/stylesheets/highlight/pojoaque.css +107 -0
- data/doc/source/stylesheets/highlight/pojoaque.jpg +0 -0
- data/doc/source/stylesheets/highlight/railscasts.css +187 -0
- data/doc/source/stylesheets/highlight/rainbow.css +108 -0
- data/doc/source/stylesheets/highlight/school_book.css +112 -0
- data/doc/source/stylesheets/highlight/school_book.png +0 -0
- data/doc/source/stylesheets/highlight/solarized_dark.css +108 -0
- data/doc/source/stylesheets/highlight/solarized_light.css +108 -0
- data/doc/source/stylesheets/highlight/sunburst.css +164 -0
- data/doc/source/stylesheets/highlight/tomorrow-night-blue.css +95 -0
- data/doc/source/stylesheets/highlight/tomorrow-night-bright.css +94 -0
- data/doc/source/stylesheets/highlight/tomorrow-night-eighties.css +94 -0
- data/doc/source/stylesheets/highlight/tomorrow-night.css +95 -0
- data/doc/source/stylesheets/highlight/tomorrow.css +92 -0
- data/doc/source/stylesheets/highlight/vs.css +93 -0
- data/doc/source/stylesheets/highlight/xcode.css +158 -0
- data/doc/source/stylesheets/highlight/zenburn.css +118 -0
- data/doc/source/why/a_larger_view.html.rb +774 -0
- data/doc/source/why/a_simple_helper.html.rb +332 -0
- data/doc/source/why/building_a_rich_modal_dialog.html.rb +156 -0
- data/doc/source/why/commonality_and_inheritance.html.rb +564 -0
- data/doc/source/why/example_list.rb +60 -0
- data/doc/source/why/example_page.rb +116 -0
- data/doc/source/why/index.html.rb +86 -0
- data/doc/source/why/other_benefits.html.rb +110 -0
- data/fortitude.gemspec +6 -1
- data/lib/fortitude/doctypes/html4_tags_strict.rb +1 -0
- data/lib/fortitude/doctypes/html5.rb +1 -0
- data/lib/fortitude/method_templates/tag_method_template.rb.smpl +27 -14
- data/lib/fortitude/rails/helpers.rb +2 -2
- data/lib/fortitude/rendering_context.rb +10 -1
- data/lib/fortitude/tags/tag.rb +3 -2
- data/lib/fortitude/tags/tag_support.rb +8 -3
- data/lib/fortitude/tilt/fortitude_template.rb +6 -2
- data/lib/fortitude/version.rb +1 -1
- data/lib/fortitude/widget.rb +2 -0
- data/lib/fortitude/widget/convenience.rb +30 -0
- data/lib/fortitude/widget/files.rb +22 -11
- data/lib/fortitude/widget/needs.rb +5 -3
- data/spec/helpers/system_helpers.rb +1 -0
- data/spec/rails/development_mode_system_spec.rb +0 -1
- data/spec/rails/rendering_system_spec.rb +20 -1
- data/spec/rails/templates/rendering_system_spec/app/controllers/rendering_system_spec_controller.rb +13 -0
- data/spec/rails/templates/rendering_system_spec/app/views/rendering_system_spec/render_hash_subclass.rb +18 -0
- data/spec/rails/templates/rendering_system_spec/lib/my_hash.rb +5 -0
- data/spec/system/convenience_methods_system_spec.rb +166 -0
- data/spec/system/formatting_system_spec.rb +25 -1
- data/spec/system/tag_rendering_system_spec.rb +73 -0
- data/spec/system/tilt_system_spec.rb +31 -0
- data/spec/system/widget_class_from_spec.rb +20 -4
- metadata +92 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 979ec914d2f256b806b70ad35fc10046423c6ebf
|
4
|
+
data.tar.gz: 6d12dd12a458019abce25cb3d6d1fa7b8cdbabde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c82032c67ec5e95e238b5914bc6b1fc8b6e14dc71aa90d81d47fd560e21e231059e097a0412e952acbc08142f5bdb05ae48655e6b3f8f8bc4223ce27ad5761e6
|
7
|
+
data.tar.gz: 4b1af326ecd906612c06e4fe528f14135e4a845d87dec9c72308d5a061a78dd3bbf41226cee8a10a5e55ac04d45f2bd08920c298de21c0f7d8c7cfcb1d2790fb
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,16 +1,18 @@
|
|
1
1
|
rvm:
|
2
2
|
- "1.8.7"
|
3
|
-
- "1.9.3"
|
4
|
-
- "2.0.0"
|
5
|
-
- "2.1.
|
6
|
-
- "
|
3
|
+
- "1.9.3-p551"
|
4
|
+
- "2.0.0-p598"
|
5
|
+
- "2.1.5"
|
6
|
+
- "2.2.0"
|
7
|
+
- "jruby-1.7.18"
|
7
8
|
env:
|
8
|
-
- FORTITUDE_SPECS_RAILS_VERSION=4.
|
9
|
-
- FORTITUDE_SPECS_RAILS_VERSION=4.
|
10
|
-
- FORTITUDE_SPECS_RAILS_VERSION=
|
9
|
+
- FORTITUDE_SPECS_RAILS_VERSION=4.2.0
|
10
|
+
- FORTITUDE_SPECS_RAILS_VERSION=4.1.9
|
11
|
+
- FORTITUDE_SPECS_RAILS_VERSION=4.0.13
|
12
|
+
- FORTITUDE_SPECS_RAILS_VERSION=3.2.21
|
11
13
|
- FORTITUDE_SPECS_RAILS_VERSION=3.1.12
|
12
14
|
- FORTITUDE_SPECS_RAILS_VERSION=3.0.20
|
13
|
-
- FORTITUDE_NATIVE_EXTENSIONS=false FORTITUDE_SPECS_RAILS_VERSION=4.
|
15
|
+
- FORTITUDE_NATIVE_EXTENSIONS=false FORTITUDE_SPECS_RAILS_VERSION=4.2.0
|
14
16
|
- FORTITUDE_NATIVE_EXTENSIONS=false FORTITUDE_SPECS_RAILS_VERSION=3.0.20
|
15
17
|
before_script:
|
16
18
|
- export JRUBY_OPTS="$JRUBY_OPTS -J-Xmx128m -J-Xms128m -J-Xss2048k"
|
@@ -18,11 +20,13 @@ matrix:
|
|
18
20
|
exclude:
|
19
21
|
# Rails 4.x doesn't support Ruby 1.8.7
|
20
22
|
- rvm: 1.8.7
|
21
|
-
env: FORTITUDE_SPECS_RAILS_VERSION=4.
|
23
|
+
env: FORTITUDE_SPECS_RAILS_VERSION=4.2.0
|
22
24
|
- rvm: 1.8.7
|
23
|
-
env:
|
25
|
+
env: FORTITUDE_SPECS_RAILS_VERSION=4.1.9
|
24
26
|
- rvm: 1.8.7
|
25
|
-
env: FORTITUDE_SPECS_RAILS_VERSION=4.0
|
27
|
+
env: FORTITUDE_NATIVE_EXTENSIONS=false FORTITUDE_SPECS_RAILS_VERSION=4.2.0
|
28
|
+
- rvm: 1.8.7
|
29
|
+
env: FORTITUDE_SPECS_RAILS_VERSION=4.0.13
|
26
30
|
# 2014-06-19 ageweke -- ARGH. After trying about seventeen different things, no matter what I do,
|
27
31
|
# Travis fails JRuby builds about 20% of the time with "Killed". Their documentation indicates that this
|
28
32
|
# is likely an out-of-memory issue (i.e., entire VM's memory is consumed). However, I'm running JRuby with
|
@@ -34,17 +38,19 @@ matrix:
|
|
34
38
|
# one manually to make sure there aren't other failures, too. This is very frustrating, but I can't seem to
|
35
39
|
# find a way around it. If there's a fix out there somewhere, I'm all ears!
|
36
40
|
allow_failures:
|
37
|
-
- rvm: jruby-1.7.
|
38
|
-
env: FORTITUDE_SPECS_RAILS_VERSION=4.
|
39
|
-
- rvm: jruby-1.7.
|
40
|
-
env: FORTITUDE_SPECS_RAILS_VERSION=4.
|
41
|
-
- rvm: jruby-1.7.
|
42
|
-
env: FORTITUDE_SPECS_RAILS_VERSION=
|
43
|
-
- rvm: jruby-1.7.
|
41
|
+
- rvm: jruby-1.7.18
|
42
|
+
env: FORTITUDE_SPECS_RAILS_VERSION=4.2.0
|
43
|
+
- rvm: jruby-1.7.18
|
44
|
+
env: FORTITUDE_SPECS_RAILS_VERSION=4.1.9
|
45
|
+
- rvm: jruby-1.7.18
|
46
|
+
env: FORTITUDE_SPECS_RAILS_VERSION=4.0.13
|
47
|
+
- rvm: jruby-1.7.18
|
48
|
+
env: FORTITUDE_SPECS_RAILS_VERSION=3.2.21
|
49
|
+
- rvm: jruby-1.7.18
|
44
50
|
env: FORTITUDE_SPECS_RAILS_VERSION=3.1.12
|
45
|
-
- rvm: jruby-1.7.
|
51
|
+
- rvm: jruby-1.7.18
|
46
52
|
env: FORTITUDE_SPECS_RAILS_VERSION=3.0.20
|
47
|
-
- rvm: jruby-1.7.
|
48
|
-
env: FORTITUDE_NATIVE_EXTENSIONS=false FORTITUDE_SPECS_RAILS_VERSION=4.
|
49
|
-
- rvm: jruby-1.7.
|
53
|
+
- rvm: jruby-1.7.18
|
54
|
+
env: FORTITUDE_NATIVE_EXTENSIONS=false FORTITUDE_SPECS_RAILS_VERSION=4.2.0
|
55
|
+
- rvm: jruby-1.7.18
|
50
56
|
env: FORTITUDE_NATIVE_EXTENSIONS=false FORTITUDE_SPECS_RAILS_VERSION=3.0.20
|
data/CHANGES.md
CHANGED
@@ -1,5 +1,55 @@
|
|
1
1
|
# Fortitude Releases
|
2
2
|
|
3
|
+
## 0.9.2, 22 January 2015
|
4
|
+
|
5
|
+
* Began writing lots of documentation for Fortitude, beginning with the reasons why you should use it.
|
6
|
+
* Fixed a single spec that caused failures under Rails 4.2.0 (which was an issue with the spec and something changed
|
7
|
+
in Rails 4.2, not Fortitude).
|
8
|
+
* Fixed a bug where if you call `return` from inside a block passed to a tag method, the closing tags would not be
|
9
|
+
output, resulting in invalid HTML. (Thanks to [Leaf](https://github.com/leafo) for the bug report!)
|
10
|
+
* Fixed a bug where if you raised an exception from inside a block passed to a tag method, the closing tags would not
|
11
|
+
be output, resulting in invalid HTML.
|
12
|
+
* Added a couple of missing `form_for` helper methods (`button`, `submit`) that somehow I missed. (Thanks to
|
13
|
+
[Leaf](https://github.com/leafo) for the bug report!)
|
14
|
+
* Fixed a bug where passing an object that was a `Hash`, or a subclass of `Hash`, to a view would cause that object to
|
15
|
+
become an object of class `ActiveSupport::HashWithIndifferentAccess` instead. (This was because we were, internally,
|
16
|
+
calling `#with_indifferent_access` on the `Hash` we had that contained all assignments to a widget, and
|
17
|
+
`#with_indifferent_access` is recursive.)
|
18
|
+
* `Fortitude::Widget.widget_class_from_file`, when it cannot find a class in the given file, now returns any constants
|
19
|
+
it _did_ find matching names it thinks that file might use in the resulting exception. This can be used to, for
|
20
|
+
example, determine if the file in question actually contains a module with the appropriate name, rather than a
|
21
|
+
widget class.
|
22
|
+
* When rendering using Tilt, Fortitude now properly supplies the file and line to the call to `eval` the source code of
|
23
|
+
the widget. This, in turn, means that `__FILE__`, `__LINE__`, and `caller` will work properly when used at class
|
24
|
+
level inside a widget rendered via Tilt.
|
25
|
+
* Fixed a bug where `Fortitude::Widget.widget_class_from_file` and `Fortitude::Widget.widget_class_from_source` would,
|
26
|
+
when scanning a file containing an ordinary class definition like
|
27
|
+
`module Foo; module Bar; class Baz < Fortitude::Widget`, instead return a class `Foo::Baz` if such existed and
|
28
|
+
was a descendant of `Fortitude::Widget` instead of the correct `Foo::Bar::Baz`.
|
29
|
+
* Fixed a bug where, if `format_output` was turned on, `<pre>` tags would still insert whitespace and newlines for
|
30
|
+
formatting like any other tag — which is incorrect, because, only inside `<pre>` tags, such whitespace is
|
31
|
+
significant. Now, `<pre>` tags correctly suppress all formatting within them.
|
32
|
+
* Added `Fortitude::Widget#content_and_attributes_from_tag_arguments`; this takes as input any style of arguments
|
33
|
+
permitted to a Fortitude tag method (_e.g._, `p`, `p 'hello'`, `p :id => :foo`, `p 'hello', :id => :foo`) and always
|
34
|
+
returns a two-element array — the first element is the text supplied to the method (if any), and the second
|
35
|
+
is the attributes supplied to the method (if any), or an empty `Hash` otherwise. This can help take a fair amount of
|
36
|
+
bookkeeping burden off of helper methods you might build on top of Fortitude.
|
37
|
+
* Added `Fortitude::Widget#add_css_classes` (_a.k.a._ `#add_css_class`). This takes as its first argument one or more
|
38
|
+
CSS classes to add (as a `String`, `Symbol`, or `Array` of such), and, as its remainder, any arguments valid for a
|
39
|
+
Fortitude tag method (_e.g._, textual content, a `Hash` of attributes, textual content and a `Hash`, or neither).
|
40
|
+
It then returns a two-argument array of textual content and attributes; the attributes will have a `class` or
|
41
|
+
`:class` key that contains any classes specified in the original, plus the additional classes to add. In other
|
42
|
+
words, you can use it as such:
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
def super_p(*args, &block)
|
46
|
+
p(*add_css_classes(:super, *args), &block)
|
47
|
+
end
|
48
|
+
```
|
49
|
+
|
50
|
+
...and now `super_p` acts just like `p`, except that it adds a class of `super` to its output. This is an extremely
|
51
|
+
common pattern in code built on top of Fortitude, and so now it is baked into the core.
|
52
|
+
|
3
53
|
## 0.9.1, 14 December 2014
|
4
54
|
|
5
55
|
* Fixed a bug where doing something like `div nil, :class => 'foo'` would simply output `<div></div>`, rather than the
|
data/CONTRIBUTORS.md
CHANGED
@@ -31,6 +31,7 @@ Fortitude is written by [Andrew Geweke](https://github.com/ageweke), with contri
|
|
31
31
|
properly.
|
32
32
|
* Reporting a bug where doing something like `div(nil, :class => 'foo')` would produce just `<div></div>` instead of
|
33
33
|
the desired `<div class="foo"></div>`.
|
34
|
+
* Reporting an issue where `return`ing from inside a block passed to a tag method would not render the closing tags.
|
34
35
|
* [Adam Becker](https://github.com/ajb) for:
|
35
36
|
* Discussion and details around exactly what `:attribute => true`, `:attribute => false`, and so on should render
|
36
37
|
from Fortitude.
|
data/doc/.gitignore
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
2
|
+
#
|
3
|
+
# If you find yourself ignoring temporary files generated by your text editor
|
4
|
+
# or operating system, you probably want to add a global ignore instead:
|
5
|
+
# git config --global core.excludesfile ~/.gitignore_global
|
6
|
+
|
7
|
+
# Ignore bundler config
|
8
|
+
/.bundle
|
9
|
+
|
10
|
+
# Ignore the build directory
|
11
|
+
/build
|
12
|
+
|
13
|
+
# Ignore cache
|
14
|
+
/.sass-cache
|
15
|
+
/.cache
|
16
|
+
|
17
|
+
# Ignore .DS_store file
|
18
|
+
.DS_Store
|
data/doc/Gemfile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# If you do not have OpenSSL installed, update
|
2
|
+
# the following line to use "http://" instead
|
3
|
+
source 'https://rubygems.org'
|
4
|
+
|
5
|
+
gem "middleman", "~>3.3.7"
|
6
|
+
|
7
|
+
# Live-reloading plugin
|
8
|
+
gem "middleman-livereload", "~> 3.1.0"
|
9
|
+
|
10
|
+
# For faster file watcher updates on Windows:
|
11
|
+
gem "wdm", "~> 0.1.0", :platforms => [:mswin, :mingw]
|
12
|
+
|
13
|
+
# Windows does not come with time zone data
|
14
|
+
gem "tzinfo-data", platforms: [:mswin, :mingw]
|
15
|
+
|
16
|
+
gem "fortitude", :path => "../"
|
17
|
+
gem "parcels", :path => '../../parcels'
|
18
|
+
gem "bootstrap-sass", :require => false
|
19
|
+
gem "retina_images", :path => '../../retina_images'
|
20
|
+
gem "humanize"
|
21
|
+
gem "awesome_print"
|
data/doc/config.rb
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
require 'fortitude'
|
2
|
+
require 'parcels'
|
3
|
+
require 'retina_images'
|
4
|
+
require 'source/shared/base'
|
5
|
+
require 'source/shared/standard_page'
|
6
|
+
|
7
|
+
###
|
8
|
+
# Compass
|
9
|
+
###
|
10
|
+
|
11
|
+
# Change Compass configuration
|
12
|
+
# compass_config do |config|
|
13
|
+
# config.output_style = :compact
|
14
|
+
# end
|
15
|
+
|
16
|
+
###
|
17
|
+
# Page options, layouts, aliases and proxies
|
18
|
+
###
|
19
|
+
|
20
|
+
# Per-page layout changes:
|
21
|
+
#
|
22
|
+
# With no layout
|
23
|
+
# page "/path/to/file.html", :layout => false
|
24
|
+
#
|
25
|
+
# With alternative layout
|
26
|
+
# page "/path/to/file.html", :layout => :otherlayout
|
27
|
+
#
|
28
|
+
# A path which all have the same layout
|
29
|
+
# with_layout :admin do
|
30
|
+
# page "/admin/*"
|
31
|
+
# end
|
32
|
+
|
33
|
+
# Proxy pages (http://middlemanapp.com/basics/dynamic-pages/)
|
34
|
+
# proxy "/this-page-has-no-template.html", "/template-file.html", :locals => {
|
35
|
+
# :which_fake_page => "Rendering a fake page with a local variable" }
|
36
|
+
|
37
|
+
###
|
38
|
+
# Helpers
|
39
|
+
###
|
40
|
+
|
41
|
+
# Automatic image dimensions on image_tag helper
|
42
|
+
# activate :automatic_image_sizes
|
43
|
+
|
44
|
+
# Reload the browser automatically whenever files change
|
45
|
+
# configure :development do
|
46
|
+
# activate :livereload
|
47
|
+
# end
|
48
|
+
|
49
|
+
# Methods defined in the helpers block are available in templates
|
50
|
+
# helpers do
|
51
|
+
# def some_helper
|
52
|
+
# "Helping"
|
53
|
+
# end
|
54
|
+
# end
|
55
|
+
|
56
|
+
set :css_dir, 'stylesheets'
|
57
|
+
|
58
|
+
set :js_dir, 'javascripts'
|
59
|
+
|
60
|
+
set :images_dir, 'images'
|
61
|
+
|
62
|
+
# Build-specific configuration
|
63
|
+
configure :build do
|
64
|
+
# For example, change the Compass output style for deployment
|
65
|
+
# activate :minify_css
|
66
|
+
|
67
|
+
# Minify Javascript on build
|
68
|
+
# activate :minify_javascript
|
69
|
+
|
70
|
+
# Enable cache buster
|
71
|
+
# activate :asset_hash
|
72
|
+
|
73
|
+
# Use relative URLs
|
74
|
+
# activate :relative_assets
|
75
|
+
|
76
|
+
# Or use a different image path
|
77
|
+
# set :http_prefix, "/Content/images/"
|
78
|
+
end
|
79
|
+
|
80
|
+
sprockets.import_asset 'bootstrap.js'
|
81
|
+
|
82
|
+
after_configuration do
|
83
|
+
doc_root = File.expand_path(File.dirname(__FILE__))
|
84
|
+
widgets_root = File.join(doc_root, 'source')
|
85
|
+
images_root = File.join(doc_root, 'source', 'images')
|
86
|
+
temp_dir_root = File.expand_path(File.join(File.dirname(doc_root), 'tmp', 'docs'))
|
87
|
+
|
88
|
+
sprockets.parcels.workaround_directories_root = temp_dir_root
|
89
|
+
sprockets.parcels.add_widget_tree!(widgets_root)
|
90
|
+
|
91
|
+
sprockets.retina_images.add_image_tree!(images_root)
|
92
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,96 @@
|
|
1
|
+
@at-root #{&} { padding-left: 0; padding-right: 0; }
|
2
|
+
|
3
|
+
.highlighted {
|
4
|
+
background-color: $background-color;
|
5
|
+
padding-bottom: 60px;
|
6
|
+
}
|
7
|
+
|
8
|
+
.jumbotron {
|
9
|
+
text-align: center;
|
10
|
+
padding-top: 60px;
|
11
|
+
padding-bottom: 20px;
|
12
|
+
}
|
13
|
+
|
14
|
+
h2 {
|
15
|
+
font-family: $body-font;
|
16
|
+
font-weight: $body-font-medium-weight;
|
17
|
+
color: $highlight-color;
|
18
|
+
margin-left: auto;
|
19
|
+
margin-right: auto;
|
20
|
+
margin-top: 60px;
|
21
|
+
}
|
22
|
+
|
23
|
+
h3 {
|
24
|
+
font-family: $body-font;
|
25
|
+
color: $highlight-color;
|
26
|
+
}
|
27
|
+
|
28
|
+
.what-is {
|
29
|
+
text-align: left;
|
30
|
+
margin-top: 30px;
|
31
|
+
h3 {
|
32
|
+
padding-left: 10px;
|
33
|
+
}
|
34
|
+
p {
|
35
|
+
color: $highlight-color;
|
36
|
+
font-size: 130%;
|
37
|
+
padding-left: 10%;
|
38
|
+
padding-right: 10%;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
.praise-quotes {
|
43
|
+
padding-left: 30px;
|
44
|
+
padding-right: 30px;
|
45
|
+
}
|
46
|
+
|
47
|
+
blockquote {
|
48
|
+
.attribution {
|
49
|
+
margin-top: 10px;
|
50
|
+
text-align: right;
|
51
|
+
}
|
52
|
+
|
53
|
+
border: none;
|
54
|
+
color: $highlight-color;
|
55
|
+
font-style: italic;
|
56
|
+
}
|
57
|
+
|
58
|
+
.nav-links {
|
59
|
+
margin-top: 30px;
|
60
|
+
padding-left: 15px;
|
61
|
+
padding-right: 15px;
|
62
|
+
}
|
63
|
+
|
64
|
+
.nav-link-button {
|
65
|
+
border: 1px solid $highlight-color;
|
66
|
+
background-color: $bold-translucent;
|
67
|
+
vertical-align: center;
|
68
|
+
|
69
|
+
h3 {
|
70
|
+
padding-top: 15px;
|
71
|
+
padding-bottom: 15px;
|
72
|
+
margin-top: 0;
|
73
|
+
margin-bottom: 0;
|
74
|
+
}
|
75
|
+
|
76
|
+
a {
|
77
|
+
h3 {
|
78
|
+
font-weight: $body-font-medium-weight;
|
79
|
+
text-align: center;
|
80
|
+
}
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
.offsite-links {
|
85
|
+
padding-left: 30px;
|
86
|
+
padding-right: 30px;
|
87
|
+
padding-top: 15px;
|
88
|
+
padding-bottom: 50px;
|
89
|
+
|
90
|
+
font-family: $heading-font;
|
91
|
+
font-weight: $heading-font-light-weight;
|
92
|
+
a { padding-bottom: 15px; color: black; }
|
93
|
+
color: black;
|
94
|
+
font-size: 16px;
|
95
|
+
text-align: center;
|
96
|
+
}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
class Views::Index < ::Views::Shared::Base
|
2
|
+
def content
|
3
|
+
fluid_container {
|
4
|
+
div(:class => :highlighted) {
|
5
|
+
jumbotron {
|
6
|
+
h1 "Fortitude"
|
7
|
+
h2 "Beautifully-factored HTML views for your Ruby or Rails application.", :class => :subhead
|
8
|
+
}
|
9
|
+
|
10
|
+
row(:class => 'praise-quotes') {
|
11
|
+
praise_quote "Quin H.", %{At first, I was skeptical. But after writing views in Fortitude for a couple of weeks,
|
12
|
+
I realized I could never go back to anything else. It makes that big a difference.}
|
13
|
+
praise_quote "Oleksiy K.", %{I’ve been doing Rails (95% backend) for 8 years now...and today, after hearing about Fortitude
|
14
|
+
and Parcels, was the first time ever that I wanted to actually try to do some user-facing feature development.}
|
15
|
+
}
|
16
|
+
|
17
|
+
row(:class => 'what-is') {
|
18
|
+
columns(:medium => 12) {
|
19
|
+
p %{Fortitude is a templating engine for Ruby, with or without Rails, that gives you all the power of
|
20
|
+
Ruby to factor your views. Using Fortitude, you'll build dramatically better-factored, more readable,
|
21
|
+
more maintainable views.}
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
row(:class => 'nav-links') {
|
26
|
+
big_nav_link "Why use Fortitude?", "/why"
|
27
|
+
big_nav_link "Getting Started", "/getting-started"
|
28
|
+
big_nav_link "Reference", "/reference"
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
row(:class => 'offsite-links') {
|
33
|
+
columns(:medium => 4) {
|
34
|
+
a("Fortitude on GitHub", :href => 'https://github.com/ageweke/fortitude')
|
35
|
+
}
|
36
|
+
columns(:medium => 4) {
|
37
|
+
a("Fortitude on Travis CI", :href => 'https://travis-ci.org/ageweke/fortitude')
|
38
|
+
}
|
39
|
+
columns(:medium => 4) {
|
40
|
+
a("Fortitude on Google Groups", :href => 'https://groups.google.com/forum/#!forum/fortitude-ruby')
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
end
|
45
|
+
|
46
|
+
def big_nav_link(text, to_where)
|
47
|
+
columns(:small => 4) {
|
48
|
+
div(:class => 'nav-link-button') {
|
49
|
+
a(:href => to_where) {
|
50
|
+
h3 text, :class => 'nav-link'
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
end
|
55
|
+
|
56
|
+
def praise_quote(attribution, quote)
|
57
|
+
columns(:medium => 6) {
|
58
|
+
blockquote {
|
59
|
+
span(:class => 'quote') {
|
60
|
+
text quote
|
61
|
+
}
|
62
|
+
div("— #{attribution}", :class => 'attribution')
|
63
|
+
}
|
64
|
+
}
|
65
|
+
end
|
66
|
+
end
|