bootstrap_pagedown 1.0.1 → 1.0.2
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.
- checksums.yaml +4 -4
- data/README.md +41 -2
- data/lib/bootstrap_pagedown/form_builder.rb +26 -4
- data/lib/bootstrap_pagedown/version.rb +1 -1
- data/lib/generators/bootstrap_pagedown/sass_generator.rb +15 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 730e400d9cbbbe4553ca04e76ce3d3ba68a33e71
|
4
|
+
data.tar.gz: 881011d7ed015a771537f836b37252d2662b555b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06174743ff7dec8f7cdc19e997d9f024efdd89c147185937504e072af44b4ff7219b7a1cb1d007fbd6745b8bb50cf5c3ca5d04ba1f73afc44a8bf5378c83b0b8
|
7
|
+
data.tar.gz: f990c0c27882ab147901367eeeb9f1cfdf48d7e3bbfd82e34d23bddba3d7590ec18091fa8a16a823d8d95c4cc089d7fdb8bf379e8ea3418e92bb11963951b9c4
|
data/README.md
CHANGED
@@ -49,9 +49,48 @@ You may also add attributes to the generated text area as needed by simply addin
|
|
49
49
|
|
50
50
|
The previous example would add `data-name="editor"` to the editor textarea element.
|
51
51
|
|
52
|
-
###
|
52
|
+
### Custom options supported:
|
53
53
|
|
54
|
-
|
54
|
+
By default bootstrap_pagedown will create the needed HTML elements to render a functional editor with a button bar and a preview div.
|
55
|
+
However you can change the different element classes, ids and even skip the preview div by passing different options to the `pagedown_editor`
|
56
|
+
method, here's the hash with different options and it's default values:
|
57
|
+
|
58
|
+
```ruby
|
59
|
+
{
|
60
|
+
skip_preview: false, # Whether or not we should skip the preview div, skipping this will render an editor without HTML preview
|
61
|
+
panel_id: '', # HTML id of the editor panel div
|
62
|
+
panel_class: 'wmd-panel', # HTML class of the editor panel div
|
63
|
+
button_bar_id: 'wmd-button-bar', # HTML id of the editor's button bar div
|
64
|
+
button_bar_class: '', # HTML class of the editor's button bar div
|
65
|
+
editor_id: 'wmd-input', # HTML if of the editor textarea
|
66
|
+
editor_class: 'wmd-input', # HTML class of the editor textarea
|
67
|
+
preview_id: 'wmd-preview', # HTML id of the preview div
|
68
|
+
preview_class: '', # HTML class of the preview div
|
69
|
+
}
|
70
|
+
```
|
71
|
+
|
72
|
+
This is a the default generated HTML, note that name will change depending on your form builder and method name.
|
73
|
+
|
74
|
+
```html
|
75
|
+
<div class="wmd-panel">
|
76
|
+
<div id="wmd-button-bar"></div>
|
77
|
+
<textarea class="wmd-input" id="wmd-input" name="test[test]"></textarea>
|
78
|
+
<div id="wmd-preview"></div>
|
79
|
+
</div>
|
80
|
+
```
|
81
|
+
|
82
|
+
If you change the any of the default ids or classes on the HTML elements the `pagedown_editor` will render the correct HTML, but the editor won't render
|
83
|
+
that is because by default Pagedown looks for those element attribute values, however you can still get the editor to render and behave correctly through the
|
84
|
+
[Pagedown API](https://code.google.com/p/pagedown/wiki/PageDown). I other words in order to have more than one editor in the same page you'll obviously have to
|
85
|
+
change the element attributes and the use the Pagedown API to create every aditional editor.
|
86
|
+
|
87
|
+
## Stylesheets
|
88
|
+
|
89
|
+
If you need to change something on the stylesheets you don't need to start from scratch, you can simply generate the sass file with the sass generator as follows:
|
90
|
+
|
91
|
+
`rails g bootstrap_pagedown:sass`
|
92
|
+
|
93
|
+
This will generate a copy of bootstrap_pagedown styles into `app/assets/stylesheets`.
|
55
94
|
|
56
95
|
## Running the test suite
|
57
96
|
|
@@ -1,10 +1,32 @@
|
|
1
1
|
module BootstrapPagedown
|
2
2
|
module FormBuilder
|
3
|
-
def pagedown_editor(
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
def pagedown_editor(method, options={})
|
4
|
+
options = pagedown_default_values options
|
5
|
+
custom_options = pagedown_custom_attributes options
|
6
|
+
|
7
|
+
@template.content_tag( :div, id: options[:panel_id], class: options[:panel_class] ) do
|
8
|
+
@template.content_tag( :div, nil, id: options[:button_bar_id], class: options[:button_bar_class] ) +
|
9
|
+
@template.text_area( @object_name, method, objectify_options( custom_options ).merge( id: options[:editor_id], class: options[:editor_class] ) ) +
|
10
|
+
|
11
|
+
unless options[:skip_preview]
|
12
|
+
@template.content_tag :div, nil, id: options[:preview_id], class: options[:preview_class]
|
13
|
+
end
|
7
14
|
end
|
8
15
|
end
|
16
|
+
|
17
|
+
def pagedown_default_values( options )
|
18
|
+
options[:skip_preview] ||= false
|
19
|
+
options[:panel_class] ||= 'wmd-panel'
|
20
|
+
options[:button_bar_id] ||= 'wmd-button-bar'
|
21
|
+
options[:editor_id] ||= 'wmd-input'
|
22
|
+
options[:editor_class] ||= 'wmd-input'
|
23
|
+
options[:preview_id] ||= 'wmd-preview'
|
24
|
+
|
25
|
+
options
|
26
|
+
end
|
27
|
+
|
28
|
+
def pagedown_custom_attributes( options )
|
29
|
+
options.except :skip_preview, :panel_class, :panel_id, :button_bar_id, :button_bar_class, :editor_id, :editor_class, :preview_id, :preview_class
|
30
|
+
end
|
9
31
|
end
|
10
32
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module BootstrapPagedown
|
2
|
+
module Generators
|
3
|
+
class SassGenerator < ::Rails::Generators::Base
|
4
|
+
VENDOR_PATH = File.expand_path( '../../../../vendor/assets/stylesheets/', __FILE__ )
|
5
|
+
|
6
|
+
source_root VENDOR_PATH
|
7
|
+
|
8
|
+
desc "Generates the editor stylesheet"
|
9
|
+
|
10
|
+
def copy_sass
|
11
|
+
directory VENDOR_PATH, 'app/assets/stylesheets'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootstrap_pagedown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Enrique Vidal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -35,6 +35,7 @@ files:
|
|
35
35
|
- lib/bootstrap_pagedown/form_builder.rb
|
36
36
|
- lib/bootstrap_pagedown/version.rb
|
37
37
|
- lib/bootstrap_pagedown.rb
|
38
|
+
- lib/generators/bootstrap_pagedown/sass_generator.rb
|
38
39
|
- lib/tasks/bootstrap_pagedown_tasks.rake
|
39
40
|
- vendor/assets/images/Markdown.Editor.Icons.png
|
40
41
|
- vendor/assets/javascripts/bootstrap_pagedown/load_editor.coffee
|