Skip to content
This repository
Newer
Older
100644 359 lines (255 sloc) 14.865 kb
9f6829e8 »
2009-04-02 bumping up the gem version
1 h1. Formtastic 0.1.3
dcf8bebb » Justin French
2008-04-07 Initial Commit
2
3 Formtastic is a Rails FormBuilder DSL (with some other goodies) to make it far easier to create beautiful, semantically rich, syntactically awesome, readily stylable and wonderfully accessible HTML forms in your Rails applications.
4
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
5 h2. The Story
dcf8bebb » Justin French
2008-04-07 Initial Commit
6
2d4a72b4 »
2009-02-16 big update to the README
7 One day, I finally had enough, so I opened up my text editor, and wrote a DSL for how I'd like to author forms:
dcf8bebb » Justin French
2008-04-07 Initial Commit
8
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
9 <pre>
7e3874a1 »
2008-08-13 trying to fix README formatting of <'s at the start of lines
10 <% semantic_form_for @article do |form| %>
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
11
0b370bae »
2009-01-06 Renamed input_field_set() to just inputs() and added a shorthand vers…
12 <% form.inputs :name => "Basic" do %>
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
13 <%= form.input :title %>
14 <%= form.input :body %>
1db292f7 » sprsquish
2009-02-28 update README to reflect association attribute changes
15 <%= form.input :section %>
16 <%= form.input :publication_state, :as => :radio %>
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
17 <%= form.input :category %>
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
18 <%= form.input :allow_comments, :label => "Allow commenting on this article" %>
19 <% end %>
20
0b370bae »
2009-01-06 Renamed input_field_set() to just inputs() and added a shorthand vers…
21 <% form.inputs :name => "Advanced" do %>
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
22 <%= form.input :keywords, :required => false, :hint => "Example: ruby, rails, forms" %>
7e3874a1 »
2008-08-13 trying to fix README formatting of <'s at the start of lines
23 <%= form.input :extract, :required => false %>
24 <%= form.input :description, :required => false %>
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
25 <%= form.input :url_title, :required => false %>
7e3874a1 »
2008-08-13 trying to fix README formatting of <'s at the start of lines
26 <% end %>
27
05ae54da » josevalim
2009-03-22 Fixed nested attributes example in README
28 <% form.inputs :name => "Author", :for => :author do |author_form| %>
29 <%= author_form.input :first_name %>
30 <%= author_form.input :last_name %>
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
31 <% end %>
32
353618ed » markmansour
2009-01-13 Extending Formtastic can be done by overriding the semantic_form_buil…
33 <% form.buttons do %>
34 <%= form.commit_button %>
7e3874a1 »
2008-08-13 trying to fix README formatting of <'s at the start of lines
35 <% end %>
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
36
dcf8bebb » Justin French
2008-04-07 Initial Commit
37 <% end %>
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
38 </pre>
39
6734cfd2 »
2008-07-21 sme typos and cleanups in the readme
40 I also wrote the accompanying HTML output I expected, favoring something very similar to the fieldsets, lists and other semantic elements Aaron Gustafson presented in "Learning to Love Forms":http://www.slideshare.net/AaronGustafson/learning-to-love-forms-web-directions-south-07, hacking together enough Ruby to prove it could be done.
dcf8bebb » Justin French
2008-04-07 Initial Commit
41
42
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
43 h2. It's better than _SomeOtherFormBuilder_ because...
44
f02b1367 »
2009-03-01 rearranged and beefed up the 'it's better than...' README section
45 * it can handle @belongs_to@ associations (like Post belongs_to :author), rendering a select or set of radio inputs with choices from the parent model
46 * it can handle @has_many@ and @has_and_belongs_to_many@ associations (like Post has_many :tags), rendering a multi-select with choices from the child models
47 * it's Rails 2.3-ready (including nested forms)
48 * it has internationalization (I18n)!
49 * it's _really_ quick to get started with a basic form in place (4 lines), then go back to add in more detail if you need it
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
50 * there's heaps of elements, id and class attributes for you to hook in your CSS and JS
f9b8879e »
2009-03-04 fix README typo
51 * it handles real world stuff like inline hints, inline error messages & help text
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
52 * it doesn't hijack or change any of the standard Rails form inputs, so you can still use them as expected (even mix and match)
f02b1367 »
2009-03-01 rearranged and beefed up the 'it's better than...' README section
53 * it's got absolutely awesome spec coverage
54 * there's a bunch of people using and working on it (it's not just one developer building half a solution)
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
55
56
15e0bd98 » Justin French
2008-05-30 updated the README a little to match last night's slides
57 h2. Why?
58
59 * web apps = lots of forms
60 * forms are so friggin' boring to code
61 * semantically rich & accessible forms really are possible
62 * the "V" is way behind the "M" and "C" in Rails' MVC – it's the ugly sibling
dcf8bebb » Justin French
2008-04-07 Initial Commit
63 * best practices and common patterns have to start somewhere
15e0bd98 » Justin French
2008-05-30 updated the README a little to match last night's slides
64 * i need a challenge
dcf8bebb » Justin French
2008-04-07 Initial Commit
65
66
15e0bd98 » Justin French
2008-05-30 updated the README a little to match last night's slides
67 h2. Opinions
68
69 * it should be easier to do things the right way than the wrong way
70 * sometimes _more mark-up_ is better
71 * elements and attribute hooks are _gold_ for stylesheet authors
72 * make the common things we do easy, yet still ensure uncommon things are still possible
73
dcf8bebb » Justin French
2008-04-07 Initial Commit
74
c89e9853 »
2009-03-08 updating README with gem/plugin installation instructions
75 h2. Installation
76
77 You can (and should) get it as a gem:
78
79 <pre>
80 gem install justinfrench-formtastic
81 </pre>
82
83 And then add it as a dependency in your environment.rb file:
84
85 <pre>
86 config.gem "justinfrench-formtastic",
87 :lib => 'formtastic',
88 :source => 'http://gems.github.com',
9f6829e8 »
2009-04-02 bumping up the gem version
89 :version => '0.1.3'
c89e9853 »
2009-03-08 updating README with gem/plugin installation instructions
90 </pre>
91
92 If you're a little more old school, install it as a plugin:
93
94 <pre>
95 ./script/install plugin git://github.com/justinfrench/formtastic.git
96 </pre>
97
98
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
99 h2. Usage
100
101 Forms are really boring to code... you want to get onto the good stuff as fast as possible.
102
103 This renders a set of inputs (one for _most_ columns in the database table, and one for each ActiveRecord belongs_to, has_many or has_and_belongs_to_many association) and a submit button:
104
105 <pre>
106 <% semantic_form_for @user do |form| %>
107 <%= form.inputs %>
108 <%= form.buttons %>
109 <% end %>
110 </pre>
111
112 If you want to specify the order of the fields, skip some of the fields or even add in fields that Formtastic couldn't detect, you can pass in a list of field names to @inputs@ and list of button names to @buttons@:
113
114 <pre>
115 <% semantic_form_for @user do |form| %>
116 <%= form.inputs :title, :body, :section, :categories, :created_at %>
117 <%= form.buttons :commit %>
118 <% end %>
119 </pre>
120
121 If you want control over the input type Formtastic uses for each field, you can expand the @inputs@ and @buttons@ blocks. This specifies the :section input should be a set of radio buttons (rather than the default select box), and that the :created_at field should be a string (rather than the default datetime selects):
122
123 <pre>
124 <% semantic_form_for @post do |form| %>
125 <% form.inputs do %>
126 <%= form.input :title %>
127 <%= form.input :body %>
128 <%= form.input :section, :as => :radio %>
129 <%= form.input :categories %>
130 <%= form.input :created_at, :as => :string %>
131 <% end %>
132 <% form.buttons do %>
133 <%= form.commit_button %>
134 <% end %>
135 <% end %>
136 </pre>
137
138 If you want to customize the label text, or render some hint text below the field, specify which fields are required/option, or break the form into two fieldsets, the DSL is pretty comprehensive:
139
140 <pre>
141 <% semantic_form_for @post do |form| %>
142 <% form.inputs :name => "Basic", :id => "basic" do %>
143 <%= form.input :title %>
144 <%= form.input :body %>
145 <% end %>
146 <% form.inputs :name => "Advanced Options", :id => "advanced" do %>
147 <%= form.input :slug, :label => "URL Title", :hint => "Created automatically if left blank", :required => false %>
148 <%= form.input :section, :as => :radio %>
149 <%= form.input :user, :label => "Author", :label_method => :full_name, %>
150 <%= form.input :categories, :required => false %>
151 <%= form.input :created_at, :as => :string, :label => "Publication Date", :required => false %>
152 <% end %>
153 <% form.buttons do %>
154 <%= form.commit_button %>
155 <% end %>
156 <% end %>
157 </pre>
158
f26ea50a » Greg Fitzgerald
2009-04-01 Add documenation for :input_html
159 If you want to customize html elements for any non button inputs you just need
160 to specify the :input_html options hash.
161
162 <pre>
163 <% semantic_form_for @post do |form| %>
164 <%= form.input :title, :input_html => {:size => 60} %>
165 <%= form.input :body %>
166 <%= form.input :created_at, :input_html => {:disabled => true} %>
167 <%= form.buttons %>
168 <% end %>
169 </pre>
170
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
171 Nested forms (Rails 2.3) are also supported. You can do it in the Rails way:
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
172
173 <pre>
05ae54da » josevalim
2009-03-22 Fixed nested attributes example in README
174 <% semantic_form_for @post do |form| %>
175 <%= form.inputs :title, :body, :created_at %>
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
176
41a67543 » josevalim
2009-03-24 Another README fix.
177 <% form.semantic_fields_for :author do |author| %>
05ae54da » josevalim
2009-03-22 Fixed nested attributes example in README
178 <%= author.inputs :first_name, :last_name, :name => 'Author' %>
41a67543 » josevalim
2009-03-24 Another README fix.
179 <% end %>
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
180
05ae54da » josevalim
2009-03-22 Fixed nested attributes example in README
181 <%= form.buttons %>
9997ce62 » josevalim
2009-03-07 Added more information about inputs :for in README.
182 <% end %>
183 </pre>
184
185 Or in the formtastic way:
186
187 <pre>
05ae54da » josevalim
2009-03-22 Fixed nested attributes example in README
188 <% semantic_form_for @post do |form| %>
189 <%= form.inputs :title, :body, :created_at %>
190
191 <%= form.inputs :first_name, :last_name, :for => :author, :name => "Author" %>
192
193 <%= form.buttons %>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
194 <% end %>
195 </pre>
196
d5e3b0a0 » josevalim
2009-03-24 Added nested child nindex support.
197 When working in has many association, you can even supply "%i" in your fieldset
198 name that it will be properly interpolated with the child index. For example:
199
200 <pre>
201 <% semantic_form_for @post do |form| %>
202 <%= form.inputs %>
203 <%= form.inputs :name => 'Category #%i', :for => :categories %>
204 <%= form.buttons %>
205 <% end %>
206 </pre>
207
208 Each category will be wrapped in a fieldset with legend "Category #1",
209 "Category #2" and so on. But please notice that this works only with Rails 2.3.
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
210
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
211 h2. The Available Inputs
212
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
213 * :select (a select menu) - default for ActiveRecord associations (belongs_to, has_many, has_and_belongs_to_many)
214 * :radio (a set of radio inputs) - alternative to :select for ActiveRecord belongs_to associations
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
215 * :password (a password input) - default for :string column types with 'password' in the method name
216 * :text (a textarea) - default for :text column types
217 * :date (a date select) - default for :date column types
218 * :datetime (a date and time select) - default for :datetime and :timestamp column types
219 * :time (a time select) - default for :time column types
220 * :boolean (a checkbox) - default for :boolean column types
2007904b »
2008-07-06 added a new boolean_select input, for boolean fields that work better…
221 * :boolean_select (a yes/no select box)
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
222 * :string (a text field) - default for :string column types
223 * :numeric (a text field, like string) - default for :integer, :float and :decimal column types
945b76cb » sprsquish
2009-02-16 Add detection for Paperclip and AttachmentFu attributes.
224 * :file (a file field) - default for paperclip or attachment_fu attributes
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
225
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
226 The documentation is pretty good for each of these (what it does, what the output is, what the options are, etc) so go check it out.
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
227
228
229 h2. Configuration
230
231 If you wish, put something like this in config/initializers/formtastic_config.rb:
232
233 <pre>
3a32b4a8 » josevalim
2009-03-04 Updated README with new configuration options.
234 # Set the default text field size when input is a string. Default is 50
235 Formtastic::SemanticFormBuilder.default_text_field_size = 30
236
2d4a72b4 »
2009-02-16 big update to the README
237 # Should all fields be considered "required" by default
238 # Defaults to true, see ValidationReflection notes below
ee26f189 » sprsquish
2009-02-16 Remove JustinFrench namespace and add deprecation message for anyone …
239 Formtastic::SemanticFormBuilder.all_fields_required_by_default = false
2d4a72b4 »
2009-02-16 big update to the README
240
241 # Set the string that will be appended to the labels/fieldsets which are required
3a32b4a8 » josevalim
2009-03-04 Updated README with new configuration options.
242 # It accepts string or procs and the default is a localized version of
243 # '<abbr title="required">*</abbr>'. In other words, if you configure formtastic.required
244 # in your locale, it will replace the abbr title properly. But if you don't want to use
245 # abbr tag, you can simply give a string as below
ee26f189 » sprsquish
2009-02-16 Remove JustinFrench namespace and add deprecation message for anyone …
246 Formtastic::SemanticFormBuilder.required_string = "(required)"
2d4a72b4 »
2009-02-16 big update to the README
247
248 # Set the string that will be appended to the labels/fieldsets which are optional
6a74bc7b » josevalim
2009-03-04 Updated README with inline_order customization.
249 # Defaults to an empty string ("") and also accepts procs (see required_string above)
ee26f189 » sprsquish
2009-02-16 Remove JustinFrench namespace and add deprecation message for anyone …
250 Formtastic::SemanticFormBuilder.optional_string = "(optional)"
5d072fa7 » andypearson
2009-01-24 Updating README to include a note about configuring inline errors
251
2d4a72b4 »
2009-02-16 big update to the README
252 # Set the way inline errors will be displayed.
d3d53d0a »
2009-02-17 typo fix in README
253 # Defaults to :sentence, valid options are :sentence, :list and :none
2d4a72b4 »
2009-02-16 big update to the README
254 Formtastic::SemanticFormBuilder.inline_errors = :list
282b28c2 » sprsquish
2009-02-16 Add I18n support
255
86e87da1 » josevalim
2009-03-24 Updated README with @@label_str_methods and new I18n.
256 # Set the method to call on label text to transform or format it for human-friendly
257 # reading when formtastic is user without object. Defaults to :humanize.
282b28c2 » sprsquish
2009-02-16 Add I18n support
258 Formtastic::SemanticFormBuilder.label_str_method = :titleize
30cfc862 » sprsquish
2009-02-16 Add Formtastic::SemanticFormBuilder.collection_label_methods to allow…
259
2d4a72b4 »
2009-02-16 big update to the README
260 # Set the array of methods to try calling on parent objects in :select and :radio inputs
261 # for the text inside each @<option>@ tag or alongside each radio @<input>@. The first method
262 # that is found on the object will be used.
263 # Defaults to ["to_label", "display_name", "full_name", "name", "title", "username", "login", "value", "to_s"]
264 Formtastic::SemanticFormBuilder.collection_label_methods = ["title_and_author", "display_name", "login", "to_s"]
6a74bc7b » josevalim
2009-03-04 Updated README with inline_order customization.
265
266 # Formtastic by default renders inside li tags the input, hints and then
267 # errors messages. Sometimes you want the hints to be rendered first than
268 # the input, in the following order: hints, input and errors. You can
269 # customize it doing just as below:
270 Formtastic::SemanticFormBuilder.inline_order = [:hints, :input, :errors]
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
271 </pre>
272
273
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
274 h2. Internationalization (I18n)
275
59365cf2 »
2009-04-03 no point duplicating the i18n strings in the README
276 Supports I18n! ActiveRecord object names and attributes are, by default, taken from calling @object.human_name and @object.human_attribute_name(attr) respectively. There are a few words specific to Formtastic that can be translated. See lib/locale/en.yml for more information.
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
277
278
2d4a72b4 »
2009-02-16 big update to the README
279 h2. ValidationReflection plugin
280
281 If you have the "ValidationReflection":http://github.com/redinger/validation_reflection plugin installed, you won't have to specify the :required option (it checks the validations on the model instead).
282
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
283
09d957d0 » Justin French
2008-04-29 textilized the README so that it looks pretty pretty on GitHub
284 h2. Status
dcf8bebb » Justin French
2008-04-07 Initial Commit
285
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
286 *THINGS ARE GOING TO CHANGE A BIT BEFORE WE HIT 1.0.*
dcf8bebb » Justin French
2008-04-07 Initial Commit
287
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
288 It's a work in progress and a bit rough around the edges still, but I hope you try it and offer some suggestions and improvements anyway.
2d4a72b4 »
2009-02-16 big update to the README
289
290 On the plus side, it has a comprehensive spec suite and contributions from at least ten independent developers.
dcf8bebb » Justin French
2008-04-07 Initial Commit
291
2d4a72b4 »
2009-02-16 big update to the README
292 "Wishlist":http://wiki.github.com/justinfrench/formtastic/wishlist on the wiki is serving as pretty good documentation for the roadmap to 1.0 and beyond right now, but I'll work on getting a real tracking system or something happening soon.
c5d02e69 »
2009-02-16 link to the wiki for the roadmap to 1.0 in README
293
dcf8bebb » Justin French
2008-04-07 Initial Commit
294
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
295 h2. Dependencies
dcf8bebb » Justin French
2008-04-07 Initial Commit
296
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
297 There are none, but...
dcf8bebb » Justin French
2008-04-07 Initial Commit
298
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
299 * if you have the "ValidationReflection":http://github.com/redinger/validation_reflection plugin is installed, you won't have to specify the :required option (it checks the validations on the model instead)
300 * rspec, rspec_hpricot_matchers and rcov gems (plus any of their own dependencies) are required for the test suite
dcf8bebb » Justin French
2008-04-07 Initial Commit
301
0b370bae »
2009-01-06 Renamed input_field_set() to just inputs() and added a shorthand vers…
302
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
303 h2. Compatibility
0b370bae »
2009-01-06 Renamed input_field_set() to just inputs() and added a shorthand vers…
304
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
305 I'm only testing Formtastic with the latest Rails 2.2.x stable release, and it should be fine under Rails 2.3 as well (including nested forms). Patches are welcome to allow backwards compatibility, but I don't have the energy!
0b370bae »
2009-01-06 Renamed input_field_set() to just inputs() and added a shorthand vers…
306
307
92e5fc3d »
2009-01-09 Updates to the README with better examples and output samples.
308
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
309 h2. What about Stylesheets?
2d4a72b4 »
2009-02-16 big update to the README
310
fcf66e43 »
2009-02-28 burned the 'extending Formtastic' from README... will write a simpler…
311 A proof-of-concept (very much a work-in-progress) stylesheet is provided which you can include in your layout. Customization is best achieved by overriding these styles in an additional stylesheet so that the Formtastic styles can be updated without clobbering your changes.
085e22f7 » sprsquish
2009-02-16 Add support for nested forms (http://ryandaigle.com/articles/2009/2/1…
312
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
313 1. Use the generator to copy the formtastic.css and formtastic_changes.css into your public directory
085e22f7 » sprsquish
2009-02-16 Add support for nested forms (http://ryandaigle.com/articles/2009/2/1…
314
315 <pre>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
316 ./script/generate formtastic_stylesheets
085e22f7 » sprsquish
2009-02-16 Add support for nested forms (http://ryandaigle.com/articles/2009/2/1…
317 </pre>
282b28c2 » sprsquish
2009-02-16 Add I18n support
318
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
319 2. Add both formtastic.css and formtastic_changes.css to your layout:
282b28c2 » sprsquish
2009-02-16 Add I18n support
320
321 <pre>
9af5cc8c »
2009-02-28 Big update and re-organization of the README:
322 <%= stylesheet_link_tag "formtastic" %>
323 <%= stylesheet_link_tag "formtastic_changes" %>
282b28c2 » sprsquish
2009-02-16 Add I18n support
324 </pre>
085e22f7 » sprsquish
2009-02-16 Add support for nested forms (http://ryandaigle.com/articles/2009/2/1…
325
2d4a72b4 »
2009-02-16 big update to the README
326
83b9eb17 »
2009-04-02 updated the contributors list
327 h2. Contributors
328
329 Formtastic wouldn't be as awesome as it is today if it weren't for the wonderful contributions of these fine, fine coders. An extra huge thanks goes out to "José Valim":http://github.com/josevalim for nearly 50 patches.
ba3ce055 »
2008-06-27 updated the README a little with contributors and some other busy work
330
5a394436 »
2008-06-28 bulking up the documentation and readme with the different inputs ava…
331 * "Justin French":http://justinfrench.com
332 * "Xavier Shay":http://rhnh.net
0c50ce3f »
2009-01-20 Updated contributors list in the README. Thanks Everyone\!
333 * "Bin Dong":http://github.com/dongbin
dc3ace93 »
2008-12-08 more on the README
334 * "Ben Hamill":http://blog.benhamill.com/
15ff964a »
2009-01-06 Added Pat and negonicrac to contributors.
335 * "Pat Allan":http://github.com/freelancing-god
336 * "negonicrac":http://github.com/negonicrac
0c50ce3f »
2009-01-20 Updated contributors list in the README. Thanks Everyone\!
337 * "Andy Pearson":http://github.com/andypearson
1587c561 »
2009-01-20 Vanity commit for Mark ;)
338 * "Mark Mansour":http://stateofflux.com
0c50ce3f »
2009-01-20 Updated contributors list in the README. Thanks Everyone\!
339 * "Tien Dung":http://github.com/tiendung
c8d721e8 »
2009-02-16 Updated the contributors list
340 * "Sascha Hoellger":http://github.com/mitnal
341 * "Jeff Smick":http://github.com/sprsquish
3a32b4a8 » josevalim
2009-03-04 Updated README with new configuration options.
342 * "José Valim":http://github.com/josevalim
83b9eb17 »
2009-04-02 updated the contributors list
343 * "Greg Fitzgerald":http://github.com/gregf/
344 * "Gareth Townsend":http://github.com/quamen
345 * "Jack Dempsey":http://github.com/jackdempsey/
346 * "Simon Chiu":http://github.com/tolatomeow
2d4a72b4 »
2009-02-16 big update to the README
347
5af03110 »
2009-04-02 updated the README to pimp the google group more
348
349 h2. Hey, join the Google group!
350
351 Please join the "Formtastic Google Group":http://groups.google.com.au/group/formtastic, especially if you'd like to talk about a new feature, or report a bug.
352
353
ba3ce055 »
2008-06-27 updated the README a little with contributors and some other busy work
354 h2. Project Info
355
dc3ace93 »
2008-12-08 more on the README
356 Formtastic is hosted on Github: http://github.com/justinfrench/formtastic/, where your contributions, forkings, comments and feedback are greatly welcomed.
ba3ce055 »
2008-06-27 updated the README a little with contributors and some other busy work
357
358
25d0c7aa »
2008-12-08 fleshed out a 'roadmap to 1.0' in the README
359 Copyright (c) 2007-2008 Justin French, released under the MIT license.
Something went wrong with that request. Please try again.