rabbit-slide-aycabta-rubyconf-2019 2019.11.20.0

Sign up to get free protection for your applications and to get access to all the features.
Binary file
@@ -0,0 +1,196 @@
1
+ include_theme('lightning-rabbit')
2
+ include_theme('body-background-image')
3
+
4
+ @headline_logo_image = "usa1.png"
5
+ include_theme("headline-logo")
6
+
7
+ def Kernel.log(msg)
8
+ open('log', 'w') { |f| f.puts msg.to_s }
9
+ end
10
+
11
+ match(TitleSlide) do |elements|
12
+ elements.prop_set('size', screen_size(8) * Pango::SCALE)
13
+ end
14
+
15
+ match('**', Text) do |elements|
16
+ elements.each do |text|
17
+ case text.text
18
+ when /4gamer/
19
+ text.prop_set('size', screen_size(2.5) * Pango::SCALE)
20
+ when /bugs\.ruby-lang\.org/
21
+ text.prop_set('size', screen_size(4) * Pango::SCALE)
22
+ when /Feature #/, /Show documents when completion/
23
+ text.prop_set('size', screen_size(4) * Pango::SCALE)
24
+ when /How is/
25
+ text.prop_set('size', screen_size(5) * Pango::SCALE)
26
+ when /https?:\/\//
27
+ text.prop_set('size', screen_size(4) * Pango::SCALE)
28
+ end
29
+ end
30
+ end
31
+
32
+ match('**', BlockQuote) do |elements|
33
+ elements.each do |text|
34
+ case text.text
35
+ when /https?:\/\//
36
+ text.prop_set('size', screen_size(4) * Pango::SCALE)
37
+ when /ANSI/
38
+ text.prop_set('size', screen_size(4) * Pango::SCALE)
39
+ else
40
+ text.prop_set('size', screen_size(2.8) * Pango::SCALE)
41
+ end
42
+ end
43
+ end
44
+
45
+ match('*', HeadLine) do |elements|
46
+ elements.each do |headline|
47
+ if headline.text.match?(/GNU/)
48
+ headline.prop_set('size', screen_size(4.5) * Pango::SCALE)
49
+ else
50
+ headline.prop_set('size', screen_size(5.2) * Pango::SCALE)
51
+ end
52
+ end
53
+ end
54
+
55
+ match('**', ItemListItem) do |elements|
56
+ elements.prop_set('size', screen_size(5.0) * Pango::SCALE)
57
+ elements.padding_top = 0
58
+ elements.padding_bottom = 0
59
+ elements.margin_top = 0
60
+ elements.margin_bottom = 0
61
+ end
62
+
63
+ match('**', ItemListItem, '**', ItemListItem) do |elements|
64
+ elements.prop_set('size', screen_size(4.0) * Pango::SCALE)
65
+ elements.padding_top = 0
66
+ elements.padding_bottom = 0
67
+ elements.margin_top = 0
68
+ elements.margin_bottom = 0
69
+ end
70
+
71
+ match('**', ItemListItem, '**', ItemListItem, '**', ItemListItem) do |elements|
72
+ elements.prop_set('size', screen_size(3.3) * Pango::SCALE)
73
+ elements.padding_top = 0
74
+ elements.padding_bottom = 0
75
+ elements.margin_top = 0
76
+ elements.margin_bottom = 0
77
+ end
78
+
79
+ match('**', ItemListItem, '**', ItemListItem, '**', ItemListItem, '**', ItemListItem) do |elements|
80
+ elements.prop_set('size', screen_size(3) * Pango::SCALE)
81
+ elements.padding_top = 0
82
+ elements.padding_bottom = 0
83
+ elements.margin_top = 0
84
+ elements.margin_bottom = 0
85
+ elements.margin_left = screen_size(4)
86
+ end
87
+
88
+ match('**', ItemListItem) do |elements|
89
+ elements.select{ |e| e.text.match?(/codepoint/) }.each do |e|
90
+ e.prop_set('size', screen_size(4) * Pango::SCALE)
91
+ end
92
+ end
93
+
94
+ match('**', Image) do |images|
95
+ images.each do |image|
96
+ if image.caption&.match?(/http/) or image.caption&.match?(/facial expression/)
97
+ image.add_pre_draw_proc(:save_url) do |canvas, x, y, w, h, simulation|
98
+ unless @image_caption_font_size_backup
99
+ @image_caption_font_size_backup = @image_caption_font_size
100
+ @image_caption_font_size = screen_size(3) * Pango::SCALE
101
+ end
102
+ [x, y, w, h]
103
+ end
104
+ elsif image.caption&.match?(/Desk Set/)
105
+ image.add_pre_draw_proc(:save_url) do |canvas, x, y, w, h, simulation|
106
+ unless @image_caption_font_size_backup
107
+ @image_caption_font_size_backup = @image_caption_font_size
108
+ @image_caption_font_size = screen_size(4.5) * Pango::SCALE
109
+ end
110
+ [x, y, w, h]
111
+ end
112
+ elsif image.caption&.match?(/Kobayashi/)
113
+ image.add_pre_draw_proc(:save_url) do |canvas, x, y, w, h, simulation|
114
+ unless @image_caption_font_size_backup
115
+ @image_caption_font_size_backup = @image_caption_font_size
116
+ @image_caption_font_size = screen_size(3) * Pango::SCALE
117
+ end
118
+ [x, y, w, h]
119
+ end
120
+ elsif image.caption&.match?(/fuses/)
121
+ image.add_pre_draw_proc(:save_url) do |canvas, x, y, w, h, simulation|
122
+ unless @image_caption_font_size_backup
123
+ @image_caption_font_size_backup = @image_caption_font_size
124
+ @image_caption_font_size = screen_size(4) * Pango::SCALE
125
+ end
126
+ [x, y, w, h]
127
+ end
128
+ elsif image.caption&.match?(/the hell/)
129
+ image.add_pre_draw_proc(:save_url) do |canvas, x, y, w, h, simulation|
130
+ unless @image_caption_font_size_backup
131
+ @image_caption_font_size_backup = @image_caption_font_size
132
+ @image_caption_font_size = screen_size(4.5) * Pango::SCALE
133
+ end
134
+ [x, y, w, h]
135
+ end
136
+ elsif image.caption&.match?(/Asakusa.rb/)
137
+ image.add_pre_draw_proc(:save_url) do |canvas, x, y, w, h, simulation|
138
+ unless @image_caption_font_size_backup
139
+ @image_caption_font_size_backup = @image_caption_font_size
140
+ @image_caption_font_size = screen_size(4.3) * Pango::SCALE
141
+ end
142
+ [x, y, w, h]
143
+ end
144
+ else
145
+ image.add_pre_draw_proc(:restore_url) do |canvas, x, y, w, h, simulation|
146
+ if @image_caption_font_size_backup
147
+ @image_caption_font_size = @image_caption_font_size_backup
148
+ @image_caption_font_size_backup = nil
149
+ end
150
+ [x, y, w, h]
151
+ end
152
+ end
153
+ end
154
+ end
155
+
156
+ match('*') do |elements|
157
+ elements.each do |slide|
158
+ if slide.title.match?(/fullimage/)
159
+ slide.each do |e|
160
+ if e.instance_of?(Body)
161
+ image = e.first
162
+ image.add_pre_draw_proc(:bbbb) do |canvas, x, y, w, h, simulation|
163
+ image.resize(canvas.width, canvas.height)
164
+ [0.0, 0.0, w, h]
165
+ end
166
+ end
167
+ end
168
+ elsif slide.title.match?(/notitle/)
169
+ slide.each do |e|
170
+ if e.instance_of?(HeadLine)
171
+ e.prop_set('size', screen_size(0) * Pango::SCALE)
172
+ end
173
+ end
174
+ elsif slide.title.match?(/Asakusa\.rb/)
175
+ if (slide.any?{ |e| e.text.match?(/One other/) })
176
+ slide.each do |e|
177
+ e.each do |inside|
178
+ if inside.instance_of?(BlockQuote)
179
+ inside.prop_set('size', screen_size(4) * Pango::SCALE)
180
+ end
181
+ end
182
+ end
183
+ end
184
+ elsif slide.title.match?(/The History of Terminal/)
185
+ if (slide.any?{ |e| e.text.match?(/reset/) })
186
+ slide.each do |e|
187
+ e.each do |inside|
188
+ if inside.instance_of?(PreformattedBlock)
189
+ inside.prop_set('size', screen_size(2.8) * Pango::SCALE)
190
+ end
191
+ end
192
+ end
193
+ end
194
+ end
195
+ end
196
+ end
Binary file
Binary file
Binary file
Binary file
Binary file
metadata ADDED
@@ -0,0 +1,82 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-aycabta-rubyconf-2019
3
+ version: !ruby/object:Gem::Version
4
+ version: 2019.11.20.0
5
+ platform: ruby
6
+ authors:
7
+ - ITOYANAGI Sakura
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-11-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ description: ''
28
+ email:
29
+ - aycabta@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".rabbit"
35
+ - Ernest_Hemingway_typewriter.jpg
36
+ - README.rd
37
+ - Rakefile
38
+ - Ruby_logo.svg
39
+ - Ruby_logo_fullhd.png
40
+ - asakusarb.jpg
41
+ - cfp.md
42
+ - char_deco.png
43
+ - config.yaml
44
+ - deskset.jpg
45
+ - electric_telegraph.jpg
46
+ - eyes.png
47
+ - norosi_off.png
48
+ - norosi_on.png
49
+ - pdf/rubyconf-2019-technical_background_of_interactive_cli_of_ruby_2.7.pdf
50
+ - space-pirates-logo.svg
51
+ - technical_background_of_interactive_cli_of_ruby_2.7.rab
52
+ - telephone.png
53
+ - theme.rb
54
+ - usa1.png
55
+ - worldmap.png
56
+ - worldmap_japan.png
57
+ - worldmap_nashville.png
58
+ - worldmap_puertorico.png
59
+ homepage: https://slide.rabbit-shocker.org/authors/aycabta/rubyconf-2019/
60
+ licenses:
61
+ - CC-BY-SA-4.0
62
+ metadata: {}
63
+ post_install_message:
64
+ rdoc_options: []
65
+ require_paths:
66
+ - lib
67
+ required_ruby_version: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ required_rubygems_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ requirements: []
78
+ rubygems_version: 3.0.6
79
+ signing_key:
80
+ specification_version: 4
81
+ summary: 'IRB Reboot: Modernize Implementation and Features'
82
+ test_files: []