chili_pdf 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
data/History.txt CHANGED
@@ -1,3 +1,14 @@
1
+ === 0.4.1 / 2011-06-19
2
+
3
+ * New features:
4
+ * 'Logo' support. Admins can add the URL of an image on the plugin
5
+ configuration page. The logo will show up on the top-right corner
6
+ of the first page of all exported PDFs. [closes #15]
7
+ * Converted settings page to fully-support localization. [closes #14]
8
+
9
+ * Minor enhancements:
10
+ * Style updates for <pre> & <img> tags (thanks, @roykolak!)
11
+
1
12
  === 0.4.0 / 2011-06-18
2
13
 
3
14
  * New features:
data/Manifest.txt CHANGED
@@ -13,6 +13,7 @@ app/views/layouts/pdf.pdf.erb
13
13
  app/views/settings/_chili_pdf_advanced_settings.html.erb
14
14
  app/views/settings/_chili_pdf_settings.html.erb
15
15
  app/views/settings/_chili_pdf_typical_settings.html.erb
16
+ app/views/settings/_chili_pdf_watermark_settings.html.erb
16
17
  assets/javascripts/chili_pdf.js
17
18
  assets/stylesheets/chili_pdf_settings_tweaks.css
18
19
  assets/stylesheets/pdf.css
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ChiliPDF Plugin - Flexible PDF exporting for ChiliProject/Redmine
2
2
 
3
- * http://github.com/tomkersten/chili\_pdf
3
+ * http://github.com/tomkersten/chili_pdf
4
4
 
5
5
  ## DESCRIPTION:
6
6
 
@@ -30,10 +30,13 @@ ChiliProject (/Redmine) plugin which implements/enhances PDF-export functionalit
30
30
  plugin configuration page.
31
31
  1. Flexible/easy PDF styling. The styling can be customized by adding your
32
32
  own CSS and/or JavaScript on the plugin configuration page.
33
+ 1. Custom logo support. You can specify the URL of an image to place in the
34
+ top-right corner of the first page of all exported PDFs.
33
35
 
34
36
  ## SCREENSHOTS:
35
37
 
36
- You can find a few screenshots [here](http://www.flickr.com/photos/tomkersten/sets/72157626992576450).
38
+ You can find a few screenshots [here](http://www.flickr.com/photos/tomkersten/tags/chilipdf/).
39
+ (Release-specific screenshots are in [sets named 'chili_pdf,...'](http://www.flickr.com/photos/tomkersten/sets/)).
37
40
 
38
41
  ## PROBLEMS:
39
42
 
@@ -51,7 +54,7 @@ You can find a few screenshots [here](http://www.flickr.com/photos/tomkersten/se
51
54
  1. Cycle your application servers (Mongrel, unicorn, Passenger, etc)
52
55
  1. Visit any wiki page and manually add a '.pdf' extension to the URL
53
56
  1. **NOTE:** You must be on an individual wiki page. Manually adding
54
- the '.pdf' on the 'default wiki page' URL (/projects/:project_id/wiki)
57
+ the '.pdf' on the 'default wiki page' URL (http://yoursite.com/projects/:project_id/wiki)
55
58
  will not work correctly at this time. The manual step will be removed
56
59
  in a future release.
57
60
 
@@ -110,7 +113,7 @@ config.gem 'chili_pdf'
110
113
 
111
114
  Cycle your application server (mongrel, unicorn, whatevs)...
112
115
 
113
- Then, uninstall the chili_pdf gem:
116
+ Then, uninstall the gem:
114
117
 
115
118
  ```
116
119
  gem uninstall chili_pdf
@@ -94,6 +94,24 @@ module ChiliPdfHelper
94
94
  end
95
95
 
96
96
 
97
+ # Public: Generates an image tag with the appropriate mark-up for the ChiliPDF
98
+ # 'logo'.
99
+ #
100
+ # wants_html - specifies whether the 'src' attribute should be formatted
101
+ # for HTML or PDF requests (local vs. relative paths). Added to
102
+ # keep excessive boolean logic out of views.
103
+ #
104
+ # Returns an '<img>' tag for your view template with a properly formatted 'src'
105
+ # attribute, depending on whether the user is requesting an HTML or PDF
106
+ # format. If no logo is defined in the plugin configuration, nothing is
107
+ # rendered in the view tempalate.
108
+ def logo_img_tag(wants_html)
109
+ if ChiliPDF::Config.logo_url?
110
+ img_tag = image_tag(ChiliPDF::Config.logo_url, :id => "chili-pdf-logo")
111
+ update_img_src_tags_of(img_tag, wants_html)
112
+ end
113
+ end
114
+
97
115
  private
98
116
  # Updates the value of the specified attribute of any `tag_type` tags
99
117
  # contained in `content` to be compatible with the `wkhtmltopdf`
@@ -5,5 +5,7 @@
5
5
  <%= normalize_custom_js_src_tags_in(ChiliPDF::Config.custom_js, @requesting_html_version) %>
6
6
  <% end %>
7
7
 
8
+ <%= logo_img_tag(@requesting_html_version) %>
9
+
8
10
  <%- html_content = textilizable(@content.text, :attachments => @content.page.attachments) %>
9
11
  <%= update_img_src_tags_of(html_content, @requesting_html_version) %>
@@ -4,6 +4,7 @@
4
4
 
5
5
  <%= render_tabs([
6
6
  {:name => 'typical_settings', :partial => 'settings/chili_pdf_typical_settings', :label => :typical_plugin_settings},
7
- {:name => 'advanced_settings', :partial => 'settings/chili_pdf_advanced_settings', :label => :advanced_plugin_settings},
7
+ {:name => 'watermark_settings', :partial => 'settings/chili_pdf_watermark_settings', :label => :watermark_plugin_settings},
8
+ {:name => 'advanced_settings', :partial => 'settings/chili_pdf_advanced_settings', :label => :advanced_plugin_settings}
8
9
  ]) %>
9
10
 
@@ -1,35 +1,32 @@
1
1
  <p class="chili-pdf-instructions">
2
- <span class="tip-label">Pro Tip:</span>
3
- You can see what impact your settings have on exported items by appending a
4
- "<em>.pdf?as_html=true</em>" to the URL of any wiki page. This will give you an
5
- idea of what your style/behavior changes will look like (without headers, margins,
6
- et cetera).
2
+ <span class="tip-label"><%= l(:tip_label) %>:</span>
3
+ <%= l(:tip_view_as_html) %>
7
4
  </p>
8
5
 
9
6
  <p>
10
- <label for='settings_<%= ChiliPDF::Config::HEADER_ENABLED_KEYNAME %>'><%= l(:header_enabled_label) %></label>
7
+ <label for='settings_<%= ChiliPDF::Config::HEADER_ENABLED_KEYNAME %>'><%= l(:label_header_enabled) %></label>
11
8
  <%= check_box_tag "settings[#{ChiliPDF::Config::HEADER_ENABLED_KEYNAME}]", ChiliPDF::Config::ENABLED_VALUE, ChiliPDF::Config.header_enabled? %>
12
9
  </p>
13
10
 
14
11
  <p>
15
- <label for='settings_<%= ChiliPDF::Config::FOOTER_ENABLED_KEYNAME %>'><%= l(:footer_enabled_label) %></label>
12
+ <label for='settings_<%= ChiliPDF::Config::FOOTER_ENABLED_KEYNAME %>'><%= l(:label_footer_enabled) %></label>
16
13
  <%= check_box_tag "settings[#{ChiliPDF::Config::FOOTER_ENABLED_KEYNAME}]", ChiliPDF::Config::ENABLED_VALUE, ChiliPDF::Config.footer_enabled? %>
17
14
  </p>
18
15
 
19
- <h3>Custom Header/Footer Content</h3>
16
+ <h3><%= l(:section_heading_custom_header_footer_content) %></h3>
20
17
 
21
- <table>
18
+ <table id="header-footer-settings">
22
19
  <thead>
23
20
  <tr>
24
21
  <td></td>
25
- <td>Left</td>
26
- <td>Center</td>
27
- <td>Right</td>
22
+ <td><%= l(:table_header_footer_labels_left) %></td>
23
+ <td><%= l(:table_header_footer_labels_center) %></td>
24
+ <td><%= l(:table_header_footer_labels_right) %></td>
28
25
  </tr>
29
26
  </thead>
30
27
  <tbody>
31
28
  <tr>
32
- <td>Header</td>
29
+ <td><%= l(:table_header_footer_labels_header) %></td>
33
30
  <td>
34
31
  <%= text_field_tag "settings[#{ChiliPDF::Config::HEADER_LEFT_KEYNAME}]", ChiliPDF::Config.header_values[:left] %>
35
32
  </td>
@@ -41,7 +38,7 @@
41
38
  </td>
42
39
  </tr>
43
40
  <tr>
44
- <td>Footer</td>
41
+ <td><%= l(:table_header_footer_labels_footer) %></td>
45
42
  <td>
46
43
  <%= text_field_tag "settings[#{ChiliPDF::Config::FOOTER_LEFT_KEYNAME}]", ChiliPDF::Config.footer_values[:left] %>
47
44
  </td>
@@ -56,12 +53,12 @@
56
53
  </table>
57
54
 
58
55
  <div id="pdf-token-help">
59
- <h4>Dynamic text legend</h4>
56
+ <h4><%= l(:section_heading_dynamic_text_legend) %></h4>
60
57
  <table>
61
58
  <thead>
62
59
  <tr>
63
- <td>Enter this</td>
64
- <td>...to show this</td>
60
+ <td><%= l(:table_dyanmic_header_enter_this) %></td>
61
+ <td>...<%= l(:table_dyanmic_header_to_show_this) %></td>
65
62
  </tr>
66
63
  </thead>
67
64
  <tbody>
@@ -0,0 +1,13 @@
1
+ <p class="chili-pdf-instructions">
2
+ Enter the URL of an image you would like to appear on the first
3
+ page of all exported PDFs. You can enter a URL of a file you
4
+ have uploaded to this site, or any public URL.
5
+ <p>
6
+ <label for='settings_<%= ChiliPDF::Config::LOGO_KEYNAME%>'><%= l(:label_logo_url) %></label>
7
+ <%= text_field_tag "settings[#{ChiliPDF::Config::LOGO_KEYNAME}]", ChiliPDF::Config.logo_url, :class => 'url' %>
8
+ </p>
9
+
10
+ <%- if ChiliPDF::Config.logo_url? %>
11
+ <h4>Current logo</h4>
12
+ <%= image_tag ChiliPDF::Config.logo_url %>
13
+ <%- end %>
@@ -3,6 +3,11 @@ textarea {width: 600px; height: 200px;}
3
3
 
4
4
  p.chili-pdf-instructions {padding-left: 0;}
5
5
  .tip-label {font-weight: bold; text-decoration: underline;}
6
+ .url {width: 600px;}
7
+
8
+ #header-footer-settings input {
9
+ width: 300px;
10
+ }
6
11
 
7
12
  #pdf-token-help {margin-top: 20px;}
8
13
  #pdf-token-help table {width: 100%; border: 1px #AAA solid;}
@@ -34,3 +34,23 @@ ol li {list-style-type: decimal;}
34
34
  ul li {list-style-type: disc;}
35
35
  h1, h2 {font-weight: bold;}
36
36
  img {max-width: 100%;}
37
+ img {border:1px solid #888;}
38
+ #chili-pdf-logo {max-height:50px; float:right; border:none;}
39
+
40
+ pre {
41
+ // found at http://www.longren.org/wrapping-text-inside-pre-tags/
42
+ overflow: auto;
43
+ font-family: ?Consolas?,monospace;
44
+ font-size: 9pt;
45
+ text-align:left;
46
+ background-color: #FCF7EC;
47
+ overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, not
48
+ white-space: pre-wrap; /* css-3 */
49
+ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
50
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
51
+ margin: 0px 0px 0px 0px;
52
+ padding:5px 5px 3px 5px;
53
+ white-space : normal; /* crucial for IE 6, maybe 7? */
54
+ padding:10px; background:#DDD;
55
+ margin:5px 0;
56
+ }
@@ -1,9 +1,22 @@
1
1
  # English strings go here for Rails i18n
2
2
  en:
3
3
  chili_pdf_instructions: 'You can customize the behavior of the ChiliPDf plugin with the settings below'
4
- header_enabled_label: Display page header?
5
- footer_enabled_label: Display page footer?
6
- typical_plugin_settings: Typical Settings
7
- advanced_plugin_settings: Technical Settings
4
+ typical_plugin_settings: Typical
5
+ advanced_plugin_settings: Technical
6
+ watermark_plugin_settings: Logo
7
+ label_header_enabled: Display page header?
8
+ label_footer_enabled: Display page footer?
8
9
  label_custom_css: Custom CSS
9
10
  label_custom_js: Custom JavaScript
11
+ label_logo_url: Logo URL
12
+ section_heading_dynamic_text_legend: Dynamic text legend
13
+ section_heading_custom_header_footer_content: Custom Header/Footer Content
14
+ table_header_footer_labels_left: Left
15
+ table_header_footer_labels_center: Center
16
+ table_header_footer_labels_right: Right
17
+ table_header_footer_labels_header: Header
18
+ table_header_footer_labels_footer: Footer
19
+ table_dyanmic_header_enter_this: Enter this
20
+ table_dyanmic_header_to_show_this: to show this
21
+ tip_label: Pro Tip
22
+ tip_view_as_html: You can see what impact your settings have on exported items by appending a "<em>.pdf?as_html=true</em>" to the URL of any wiki page. This will give you an idea of what your style/behavior changes will look like (without headers, margins, et cetera).
data/lib/chili_pdf.rb CHANGED
@@ -5,5 +5,5 @@ require 'chili_pdf/string_token'
5
5
  require 'chili_pdf/tag_mangler'
6
6
 
7
7
  module ChiliPDF
8
- VERSION = '0.4.0'
8
+ VERSION = '0.4.1'
9
9
  end
@@ -16,6 +16,7 @@ module ChiliPDF
16
16
  FOOTER_LEFT_KEYNAME = :footer_content_left
17
17
  FOOTER_CENTER_KEYNAME = :footer_content_center
18
18
  FOOTER_RIGHT_KEYNAME = :footer_content_right
19
+ LOGO_KEYNAME = :watermarks_logo
19
20
 
20
21
  HEADER_LEFT_DEFAULT_VALUE = '{{page_title}}'
21
22
  HEADER_CENTER_DEFAULT_VALUE = ''
@@ -54,7 +55,8 @@ END_OF_JS_DEF
54
55
  FOOTER_CENTER_KEYNAME => FOOTER_CENTER_DEFAULT_VALUE,
55
56
  FOOTER_RIGHT_KEYNAME => FOOTER_RIGHT_DEFAULT_VALUE,
56
57
  CUSTOM_CSS_KEYNAME => CUSTOM_CSS_DEFAULT_VALUE,
57
- CUSTOM_JS_KEYNAME => CUSTOM_JS_DEFAULT_VALUE
58
+ CUSTOM_JS_KEYNAME => CUSTOM_JS_DEFAULT_VALUE,
59
+ LOGO_KEYNAME => ''
58
60
  }
59
61
  end
60
62
 
@@ -111,6 +113,14 @@ END_OF_JS_DEF
111
113
  end
112
114
  end
113
115
 
116
+ def logo_url
117
+ plugin_settings[LOGO_KEYNAME]
118
+ end
119
+
120
+ def logo_url?
121
+ !logo_url.blank?
122
+ end
123
+
114
124
  private
115
125
  def default_header_values
116
126
  {:left => HEADER_LEFT_DEFAULT_VALUE,
@@ -98,4 +98,26 @@ class ChiliPdfHelperTest < HelperTestCase
98
98
  end
99
99
  end
100
100
  end
101
+
102
+ context "#logo_img_tag" do
103
+ context "when no logo URL is defined for the plugin" do
104
+ setup do
105
+ ChiliPDF::Config.stubs(:logo_url).returns("")
106
+ end
107
+
108
+ should "return nil" do
109
+ assert_nil logo_img_tag(true)
110
+ end
111
+ end
112
+
113
+ context "when a logo URL is defined" do
114
+ setup do
115
+ ChiliPDF::Config.stubs(:logo_url).returns("/images/cancel.png")
116
+ end
117
+
118
+ should "return an '<img>' tag with an 'id' of 'chili-pdf-logo'" do
119
+ assert_match /id="chili-pdf-logo"/, logo_img_tag(true)
120
+ end
121
+ end
122
+ end
101
123
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chili_pdf
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
- - 0
10
- version: 0.4.0
9
+ - 1
10
+ version: 0.4.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tom Kersten
@@ -36,7 +36,7 @@ cert_chain:
36
36
  NVADJA==
37
37
  -----END CERTIFICATE-----
38
38
 
39
- date: 2011-06-18 00:00:00 -05:00
39
+ date: 2011-06-19 00:00:00 -05:00
40
40
  default_executable:
41
41
  dependencies:
42
42
  - !ruby/object:Gem::Dependency
@@ -113,6 +113,7 @@ files:
113
113
  - app/views/settings/_chili_pdf_advanced_settings.html.erb
114
114
  - app/views/settings/_chili_pdf_settings.html.erb
115
115
  - app/views/settings/_chili_pdf_typical_settings.html.erb
116
+ - app/views/settings/_chili_pdf_watermark_settings.html.erb
116
117
  - assets/javascripts/chili_pdf.js
117
118
  - assets/stylesheets/chili_pdf_settings_tweaks.css
118
119
  - assets/stylesheets/pdf.css
@@ -140,7 +141,7 @@ files:
140
141
  - test/test_helper.rb
141
142
  - test/unit/helpers/chili_pdf_helper_test.rb
142
143
  has_rdoc: true
143
- homepage: http://github.com/tomkersten/chili\_pdf
144
+ homepage: http://github.com/tomkersten/chili_pdf
144
145
  licenses: []
145
146
 
146
147
  post_install_message:
metadata.gz.sig CHANGED
Binary file