tdiary 4.1.3 → 4.2.0

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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +24 -25
  3. data/js/amazon.js +5 -35
  4. data/js/amazon_bitly.js +43 -0
  5. data/lib/tdiary/admin.rb +0 -8
  6. data/lib/tdiary/configuration.rb +5 -5
  7. data/lib/tdiary/core_ext.rb +5 -3
  8. data/lib/tdiary/dispatcher/index_main.rb +10 -16
  9. data/lib/tdiary/dispatcher/update_main.rb +8 -18
  10. data/lib/tdiary/filter/spam.rb +2 -2
  11. data/lib/tdiary/plugin/00default.rb +13 -37
  12. data/lib/tdiary/plugin/en/00default.rb +30 -32
  13. data/lib/tdiary/plugin/en/05referer.rb +4 -4
  14. data/lib/tdiary/plugin/ja/00default.rb +28 -31
  15. data/lib/tdiary/plugin/ja/05referer.rb +4 -4
  16. data/lib/tdiary/version.rb +1 -1
  17. data/lib/tdiary/view.rb +0 -4
  18. data/misc/plugin/amazon.rb +4 -2
  19. data/misc/plugin/amazon/amazonimg.rb +1 -1
  20. data/misc/plugin/category.rb +12 -20
  21. data/misc/plugin/category_autocomplete.rb +1 -1
  22. data/misc/plugin/comment_emoji_autocomplete.rb +1 -2
  23. data/misc/plugin/edit_today.rb +5 -9
  24. data/misc/plugin/en/pb-show.rb +2 -2
  25. data/misc/plugin/en/tb-show.rb +4 -4
  26. data/misc/plugin/hide-mail-field.rb +2 -2
  27. data/misc/plugin/image.rb +1 -3
  28. data/misc/plugin/ja/pb-show.rb +2 -2
  29. data/misc/plugin/ja/tb-show.rb +4 -4
  30. data/misc/plugin/my-ex.rb +0 -4
  31. data/misc/plugin/my-sequel.rb +10 -10
  32. data/misc/plugin/pb-show.rb +0 -6
  33. data/misc/plugin/ping.rb +1 -1
  34. data/misc/plugin/random_google.rb +12 -12
  35. data/misc/plugin/recent_rss.rb +3 -2
  36. data/misc/plugin/speed_comment.rb +1 -1
  37. data/misc/plugin/tb-show.rb +0 -6
  38. data/misc/plugin/weather.rb +3 -7
  39. data/spec/acceptance/save_conf_dnsbl_spec.rb +2 -2
  40. data/spec/core/core_ext_spec.rb +7 -0
  41. data/spec/plugin/plugin_helper.rb +3 -9
  42. metadata +4 -14
  43. data/views/i.category.rhtml +0 -6
  44. data/views/i.conf.rhtml +0 -14
  45. data/views/i.day.rhtml +0 -28
  46. data/views/i.diary.rhtml +0 -17
  47. data/views/i.footer.rhtml +0 -2
  48. data/views/i.header.rhtml +0 -3
  49. data/views/i.latest.rhtml +0 -24
  50. data/views/i.month.rhtml +0 -39
  51. data/views/i.search.rhtml +0 -5
  52. data/views/i.update.rhtml +0 -40
  53. data/views/i.update.rhtml.en +0 -40
@@ -310,11 +310,11 @@ class Weather
310
310
  @error = nil
311
311
 
312
312
  begin
313
- timeout( WAITTIME ) do
313
+ Timeout::timeout( WAITTIME ) do
314
314
  d = @conf.to_native( fetch( url, MAXREDIRECT, header ) )
315
315
  parse_html( d, items )
316
316
  end
317
- rescue TimeoutError
317
+ rescue Timeout::Error
318
318
  @error = 'Timeout'
319
319
  rescue
320
320
  @error = @conf.to_native( $!.message.gsub( /[\t\n]/, ' ' ) )
@@ -454,11 +454,7 @@ def weather( date = nil, wrap = true )
454
454
  path = @options['weather.dir'] || Weather_default_path
455
455
  w = Weather::restore( path, date || @date )
456
456
  if w then
457
- unless @cgi.mobile_agent? then
458
- %Q|#{wrap ? '<div class="weather">' : ' '}#{w.to_html( @options['weather.show_error'] )}#{wrap ? "</div>\n" : ''}|
459
- else
460
- %Q|<P>#{w.to_i_html if @options['weather.show_mobile']}</P>\n|
461
- end
457
+ %Q|#{wrap ? '<div class="weather">' : ' '}#{w.to_html( @options['weather.show_error'] )}#{wrap ? "</div>\n" : ''}|
462
458
  else
463
459
  ''
464
460
  end
@@ -42,7 +42,7 @@ BODY
42
42
  end
43
43
 
44
44
  scenario 'IPベースのブラックリストでセーフの場合' do
45
- allow(IPSocket).to receive(:getaddress) { raise TimeoutError }
45
+ allow(IPSocket).to receive(:getaddress) { raise Timeout::Error }
46
46
 
47
47
  append_default_diary
48
48
 
@@ -92,7 +92,7 @@ BODY
92
92
  end
93
93
 
94
94
  scenario 'ドメインベースのブラックリストでセーフの場合' do
95
- allow(Resolv).to receive(:getaddress) { raise TimeoutError }
95
+ allow(Resolv).to receive(:getaddress) { raise Timeout::Error }
96
96
 
97
97
  append_default_diary
98
98
 
@@ -47,6 +47,13 @@ describe "core extension library" do
47
47
  end
48
48
  end
49
49
 
50
+ context "thumbsupでもemojify" do
51
+ before { @result = "いいね!:thumbsup:".emojify }
52
+ it do
53
+ expect(@result).to eq "いいね!<img src='http://www.emoji-cheat-sheet.com/graphics/emojis/%2B1.png' width='20' height='20' title='%2B1' alt='%2B1' class='emoji' />"
54
+ end
55
+ end
56
+
50
57
  context "絵文字に変換しない" do
51
58
  [
52
59
  ":<script type='text/javascript'></script>: は美味しい",
@@ -138,7 +138,7 @@ class PluginFake
138
138
  end
139
139
 
140
140
  def smartphone?
141
- @conf.cgi.smartphone?
141
+ false
142
142
  end
143
143
  alias iphone? smartphone?
144
144
  end
@@ -151,17 +151,11 @@ class CGIFake
151
151
  end
152
152
 
153
153
  def mobile_agent?
154
- self.user_agent =~ %r[
155
- ^DoCoMo|
156
- ^(?:KDDI|UP\.Browser)|
157
- ^(?:J-(?:PHONE|EMULATOR)|Vodafone|SoftBank|MOT-|[VS]emulator)|
158
- WILLCOM|DDIPOCKET|
159
- PDXGW|ASTEL|Palmscape|Xiino|sharp\ pda\ browser|Windows\ CE|L-mode
160
- ]x
154
+ false
161
155
  end
162
156
 
163
157
  def smartphone?
164
- self.user_agent =~ /iP(?:hone|od)/
158
+ false
165
159
  end
166
160
  end
167
161
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tdiary
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.3
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - TADA Tadashi
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-06-29 00:00:00.000000000 Z
13
+ date: 2015-09-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: thor
@@ -87,6 +87,7 @@ files:
87
87
  - js/02edit.coffee
88
88
  - js/02edit.js
89
89
  - js/amazon.js
90
+ - js/amazon_bitly.js
90
91
  - js/calendar3.js
91
92
  - js/caretposition.js
92
93
  - js/category.js
@@ -413,17 +414,6 @@ files:
413
414
  - views/diary.rhtml
414
415
  - views/footer.rhtml
415
416
  - views/header.rhtml
416
- - views/i.category.rhtml
417
- - views/i.conf.rhtml
418
- - views/i.day.rhtml
419
- - views/i.diary.rhtml
420
- - views/i.footer.rhtml
421
- - views/i.header.rhtml
422
- - views/i.latest.rhtml
423
- - views/i.month.rhtml
424
- - views/i.search.rhtml
425
- - views/i.update.rhtml
426
- - views/i.update.rhtml.en
427
417
  - views/latest.rhtml
428
418
  - views/mail.rtxt
429
419
  - views/mail.rtxt.en
@@ -456,7 +446,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
456
446
  version: '0'
457
447
  requirements: []
458
448
  rubyforge_project:
459
- rubygems_version: 2.4.5
449
+ rubygems_version: 2.5.0
460
450
  signing_key:
461
451
  specification_version: 4
462
452
  summary: a TSUKKOMI-able Web-log
@@ -1,6 +0,0 @@
1
- <%%= mobile_navi %><%%= category_navi %>
2
- <H1><%=h @conf.html_title %> <%%=h category_title %></H1>
3
- <%%= category_list_sections_mobile %>
4
- <%%= category_form %>
5
- <%%= mobile_navi %><%%= category_navi %>
6
- <%%= category_dropdown_list %>
data/views/i.conf.rhtml DELETED
@@ -1,14 +0,0 @@
1
- <h1><%=h @conf.html_title %> [<%%=h navi_preference %>]</h1>
2
- <P>
3
- <%%= mobile_navi %>
4
- </P>
5
- <P>|<%% each_conf_genre do |genre|%><%% each_conf_key( genre ) do |key|%><A HREF="<%%=h @conf.update%>?conf=<%%=key%>"><%%=h conf_label( key )%></A>|<%% end %>|<%% end %></P>
6
-
7
- <FORM METHOD="POST" ACTION="<%=h @conf.update %>">
8
- <INPUT TYPE="HIDDEN" NAME="conf" VALUE="<%=h @key%>">
9
- <H2><%%=conf_label( <%=@key.dump%> )%></H2>
10
- <%%=conf_proc( <%=@key.dump%> )%>
11
- <INPUT TYPE="SUBMIT" NAME="saveconf" VALUE="OK">
12
- </FORM>
13
-
14
- <HR>
data/views/i.day.rhtml DELETED
@@ -1,28 +0,0 @@
1
- <H1><%=h @conf.html_title %></H1>
2
- <P>
3
- <%%= mobile_navi %>
4
- </P>
5
- <%
6
- if @diary then
7
- param = {
8
- 'prefix' => 'i.',
9
- 'index' => @conf.index,
10
- 'date_format' => @conf.date_format,
11
- 'section_anchor' => @conf.section_anchor,
12
- 'comment_anchor' => @conf.comment_anchor,
13
- 'long_mode' => false,
14
- 'show_referer' => false,
15
- 'referer_limit' => 0,
16
- 'show_comment' => @conf.show_comment,
17
- 'comment_limit' => -1,
18
- 'multi_user' => @conf.multi_user,
19
- 'anchor' => true,
20
- 'hide_comment_form' => @conf.hide_comment_form,
21
- 'show_nyear' => false,
22
- } %>
23
- <%= @diary.eval_rhtml( param ) %>
24
- <%%=comment_form_mobile%>
25
- <% else %>
26
- <p><%%=no_diary%></P><%
27
- end %>
28
- <%%= mobile_navi %>
data/views/i.diary.rhtml DELETED
@@ -1,17 +0,0 @@
1
- <H2><%%= title_proc( Time::at( <%=@date.to_i%> ), <%= title.dump.gsub( /%/, '\\\\045' ) %> ) %></H2>
2
- <%%= body_enter_proc( Time::at( <%=@date.to_i%> ) ) %>
3
- <%= to_html( opt, :CHTML ) %>
4
- <%%= body_leave_proc( Time::at( <%=@date.to_i%> ) ) %><%
5
- if opt['show_comment'] and count_comments > 0 then
6
- idx = 0 %>
7
- <P><%%=comment_today%><%%=comment_total( <%=count_comments%> )%>:<BR><%
8
- each_comment(opt['comment_limit'] ) do |comment|
9
- if comment.visible? %>
10
- <A NAME="c<%= '%02d' % idx += 1 %>">#</A>
11
- <%=h comment.name %>&nbsp;[<%= comment.shorten( 200 ).make_link %>]<BR><%
12
- else
13
- idx += 1
14
- end
15
- end %></P>
16
- <%
17
- end %>
data/views/i.footer.rhtml DELETED
@@ -1,2 +0,0 @@
1
- </BODY>
2
- </HTML>
data/views/i.header.rhtml DELETED
@@ -1,3 +0,0 @@
1
- <HTML>
2
- <HEAD><%%header_proc%><%%=title_tag%></HEAD>
3
- <BODY>
data/views/i.latest.rhtml DELETED
@@ -1,24 +0,0 @@
1
- <H1><%=h @conf.html_title %></H1>
2
- <%
3
- param = {
4
- 'prefix' => 'i.',
5
- 'index' => @conf.index,
6
- 'date_format' => @conf.date_format,
7
- 'section_anchor' => @conf.section_anchor,
8
- 'comment_anchor' => @conf.comment_anchor,
9
- 'long_mode' => false,
10
- 'show_referer' => false,
11
- 'referer_limit' => 0,
12
- 'show_comment' => @conf.show_comment,
13
- 'comment_limit' => -1,
14
- 'multi_user' => @conf.multi_user,
15
- 'show_nyear' => false,
16
- }
17
- latest( 1 ) do |diary| %>
18
- <P>
19
- <%%= mobile_navi %>
20
- </P>
21
- <%= diary.eval_rhtml( param ) %>
22
- <%%=comment_form_mobile%>
23
- <%%= mobile_navi %>
24
- <% end %>
data/views/i.month.rhtml DELETED
@@ -1,39 +0,0 @@
1
- <H1><%=h @conf.html_title %></H1>
2
- <%
3
- diary = @diaries[@diaries.keys.sort[0]]
4
- if diary then
5
- param = {
6
- 'prefix' => 'i.',
7
- 'index' => @conf.index,
8
- 'date_format' => @conf.date_format,
9
- 'section_anchor' => @conf.section_anchor,
10
- 'comment_anchor' => @conf.comment_anchor,
11
- 'long_mode' => false,
12
- 'show_referer' => false,
13
- 'referer_limit' => 0,
14
- 'show_comment' => @conf.show_comment,
15
- 'comment_limit' => -1,
16
- 'multi_user' => @conf.multi_user,
17
- 'show_nyear' => false,
18
- }
19
- %><P>
20
- <%%= mobile_navi %>
21
- </P>
22
- <%= diary.eval_rhtml( param ) %>
23
- <% unless @conf.hide_comment_form %>
24
- <HR>
25
- <FORM METHOD="POST" ACTION="<%=h @conf.index %>">
26
- <INPUT TYPE="HIDDEN" NAME="date" VALUE="<%= diary.date.strftime( '%Y%m%d' ) %>">
27
- <P><%%=comment_description_short%><BR>
28
- <%%=comment_name_label_short%>: <INPUT NAME="name"><BR>
29
- <%%=comment_mail_label_short%>: <INPUT NAME="mail"><BR>
30
- <%%=comment_body_label_short%>:<BR>
31
- <TEXTAREA NAME="body"></TEXTAREA><BR>
32
- <INPUT TYPE="SUBMIT" NAME="comment" value="<%%=comment_submit_label_short%>"></P>
33
- </FORM><%
34
- end
35
- else %>
36
- <A HREF="<%=h @conf.index %>" ACCESSKEY="1">[1]<%= mobile_navi_latest %></A>
37
- <P><%= no_diary %></P><%
38
- end %>
39
- <%%= mobile_navi %>
data/views/i.search.rhtml DELETED
@@ -1,5 +0,0 @@
1
- <%# i.search.rhtml %>
2
- <H1><%=h @conf.html_title %></H1>
3
- <%%= mobile_navi %>
4
- <H2><%%= search_title %></H2>
5
- <%%= search_result %>
data/views/i.update.rhtml DELETED
@@ -1,40 +0,0 @@
1
- <H1><%=h @conf.html_title %> [<%%= submit_label %>]</H1>
2
-
3
- <P>
4
- <%%= mobile_navi %>
5
- </P>
6
-
7
- <FORM METHOD="POST" ACTION="<%=h @conf.update %>">
8
- <INPUT TYPE="HIDDEN" NAME="old" VALUE="<%= @date.strftime( '%Y%m%d' ) %>">
9
- <P>
10
- <%=@csrf_protection%>
11
- <INPUT NAME="year" TABINDEX="1" ACCESSKEY="Y" SIZE="4" VALUE="<%= @date.year %>">年
12
- <INPUT NAME="month" TABINDEX="2" ACCESSKEY="M" SIZE="2" VALUE="<%= @date.mon %>">月
13
- <INPUT NAME="day" TABINDEX="3" ACCESSKEY="D" SIZE="2" VALUE="<%= @date.day %>">日
14
- <INPUT TYPE="SUBMIT" TABINDEX="4" ACCESSKEY="e" NAME="edit" VALUE="この日付の日記を編集">
15
- </P>
16
- <P>タイトル: <INPUT NAME="title" TABINDEX="5" ACCESSKEY="T" SIZE="40" VALUE="<%=h @diary.title %>"></P>
17
- <P>本文(<%=h @conf.style %>スタイル):<BR>
18
- <TEXTAREA NAME="body" TABINDEX="6" ACCESSKEY="C" COLS="100%" ROWS="5"><%=h @diary.to_src %></TEXTAREA></P>
19
- <P><INPUT TYPE="SUBMIT" TABINDEX="7" ACCESSKEY="A" NAME="<%%= submit_command %>" VALUE=" <%%= submit_label %> "></P>
20
- <P><INPUT TYPE="CHECKBOX" NAME="hide" VALUE="true" <% unless @diary.visible? then %>checked <% end %>TABINDEX="8" ACCESSKEY="H">隠す</P>
21
- </FORM>
22
-
23
- <FORM METHOD="POST" ACTION="<%=h @conf.update %>">
24
- <%=@csrf_protection%>
25
- <INPUT TYPE="HIDDEN" NAME="year" VALUE="<%= @date.year %>">
26
- <INPUT TYPE="HIDDEN" NAME="month" VALUE="<%= @date.month %>">
27
- <INPUT TYPE="HIDDEN" NAME="day" VALUE="<%= @date.day %>">
28
- <P><%%=comment_today%></P><%
29
- idx = 0
30
- @diary.each_comment do |comment| %>
31
- <P>
32
- <INPUT TYPE="CHECKBOX" NAME="<%= idx += 1 %>" VALUE="true"<% if comment.visible? then %> checked<% end %>>
33
- <%=h comment.name %>
34
- (<%= comment.date.strftime( '%m-%d %H:%M' ) %>)
35
- </P>
36
- <P><%= comment.shorten( 200 ).make_link %></P><%
37
- end %>
38
- <% if idx > 0 then %><P><INPUT TYPE="SUBMIT" NAME="comment" VALUE="ツッコミ表示状態変更"></P><% end %>
39
- </FORM>
40
- <HR>
@@ -1,40 +0,0 @@
1
- <H1><%=h @conf.html_title %> [<%%= submit_label %>]</H1>
2
-
3
- <P>
4
- <%%= mobile_navi %>
5
- </P>
6
-
7
- <FORM METHOD="POST" ACTION="<%=h @conf.update %>">
8
- <INPUT TYPE="HIDDEN" NAME="old" VALUE="<%= @date.strftime( '%Y%m%d' ) %>">
9
- <P>
10
- <%=@csrf_protection%>
11
- <INPUT NAME="year" TABINDEX="1" ACCESSKEY="Y" SIZE="4" VALUE="<%= @date.year %>">-
12
- <INPUT NAME="month" TABINDEX="2" ACCESSKEY="M" SIZE="2" VALUE="<%= @date.mon %>">-
13
- <INPUT NAME="day" TABINDEX="3" ACCESSKEY="D" SIZE="2" VALUE="<%= @date.day %>">
14
- <INPUT TYPE="SUBMIT" TABINDEX="4" ACCESSKEY="e" NAME="edit" VALUE="Edit this day">
15
- </P>
16
- <P>Title: <INPUT NAME="title" TABINDEX="5" ACCESSKEY="T" SIZE="40" VALUE="<%=h @diary.title %>"></P>
17
- <P>Article(<%=h @conf.style %> style):<BR>
18
- <TEXTAREA NAME="body" TABINDEX="6" ACCESSKEY="C" COLS="100%" ROWS="5"><%=h @diary.to_src %></TEXTAREA></P>
19
- <P><INPUT TYPE="SUBMIT" TABINDEX="7" ACCESSKEY="A" NAME="<%%= submit_command %>" VALUE=" <%%= submit_label %> "></P>
20
- <P><INPUT TYPE="CHECKBOX" NAME="hide" VALUE="true" <% unless @diary.visible? then %>checked <% end %>TABINDEX="8" ACCESSKEY="H">Hidden</P>
21
- </FORM>
22
-
23
- <FORM METHOD="POST" ACTION="<%= @conf.update %>">
24
- <%=@csrf_protection%>
25
- <INPUT TYPE="HIDDEN" NAME="year" VALUE="<%= @date.year %>">
26
- <INPUT TYPE="HIDDEN" NAME="month" VALUE="<%= @date.month %>">
27
- <INPUT TYPE="HIDDEN" NAME="day" VALUE="<%= @date.day %>">
28
- <P><%%=comment_today%></P><%
29
- idx = 0
30
- @diary.each_comment do |comment| %>
31
- <P>
32
- <INPUT TYPE="CHECKBOX" NAME="<%= idx += 1 %>" VALUE="true"<% if comment.visible? then %> checked<% end %>>
33
- <%=h comment.name %>
34
- (<%= comment.date.strftime( '%m-%d %H:%M' ) %>)
35
- </P>
36
- <P><%= comment.shorten( 200 ).make_link %></P><%
37
- end %>
38
- <% if idx > 0 then %><P><INPUT TYPE="SUBMIT" NAME="comment" VALUE="Change status of TSUKKOMI"></P><% end %>
39
- </FORM>
40
- <HR>