rabbit-slide-hasumikin-RubyConfAfrica2024 2024.07.27.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/.rabbit +2 -0
  3. data/ABeginnersCompleteGuideToMicrocontrollerProgrammingWithRuby.md +659 -0
  4. data/README.rd +24 -0
  5. data/Rakefile +17 -0
  6. data/config.yaml +24 -0
  7. data/images/QR_github-com-peripheral-interface-guide.png +0 -0
  8. data/images/QR_github-com-picoruby.png +0 -0
  9. data/images/QR_picoruby.png +0 -0
  10. data/images/R2D2_mosaic.png +0 -0
  11. data/images/Terminal-dec-vt100.jpg +0 -0
  12. data/images/assets/background-slide.png +0 -0
  13. data/images/assets/background-title.png +0 -0
  14. data/images/assets/background.svg +70 -0
  15. data/images/assets/bullet-point-24.png +0 -0
  16. data/images/assets/bullet-point-36.png +0 -0
  17. data/images/assets/bullet-point-48.png +0 -0
  18. data/images/assets/bullet-point.png +0 -0
  19. data/images/assets/ruby_conf_logo.png +0 -0
  20. data/images/boot_button_1.png +0 -0
  21. data/images/crkbd_2.jpg +0 -0
  22. data/images/download-r2p2.png +0 -0
  23. data/images/drag-and-drop.png +0 -0
  24. data/images/hasumi.jpg +0 -0
  25. data/images/hello_nairobi.jpg +0 -0
  26. data/images/install-uf2.png +0 -0
  27. data/images/itoyanagi.jpg +0 -0
  28. data/images/lcd-and-thermo.jpg +0 -0
  29. data/images/lcd_and_thermo.png +0 -0
  30. data/images/meishi2.jpg +0 -0
  31. data/images/rp2-resistor-led_bb.png +0 -0
  32. data/images/rp2-resistor-led_schem.png +0 -0
  33. data/images/rp2-resistor-thermistor_bb.png +0 -0
  34. data/images/rp2-resistor-thermistor_schem.png +0 -0
  35. data/images/rp2040-peripheral-demo_bb-trim.png +0 -0
  36. data/images/rpi_pico.jpg +0 -0
  37. data/images/teraterm-0.png +0 -0
  38. data/images/teraterm.png +0 -0
  39. data/pdf/RubyConfAfrica2024-ABeginnersCompleteGuideToMicrocontrollerProgrammingWithRuby.rab.pdf +0 -0
  40. data/theme.rb +207 -0
  41. metadata +96 -0
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/images/hasumi.jpg ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/theme.rb ADDED
@@ -0,0 +1,207 @@
1
+ # puts font_families.sort
2
+ @xxx_large_font_size = screen_size(8 * Pango::SCALE)
3
+ @xx_large_font_size = screen_size(7 * Pango::SCALE)
4
+ @x_large_font_size = screen_size(6.5 * Pango::SCALE)
5
+ @large_font_size = screen_size(5.5 * Pango::SCALE)
6
+ @normal_font_size = screen_size(5 * Pango::SCALE)
7
+ @small_font_size = screen_size(4 * Pango::SCALE)
8
+ @x_small_font_size = screen_size(3.5 * Pango::SCALE)
9
+ @xx_small_font_size = screen_size(2.5 * Pango::SCALE)
10
+
11
+ @font_family = find_font_family('Ubuntu')
12
+ @monospace_font_family = 'Ubuntu Mono'
13
+ @title_font_family = find_font_family('Ubuntu')
14
+
15
+ # colors
16
+ foreground = "#111111"
17
+ red = "#99171f"
18
+ green = "#006937"
19
+ black = "#000000"
20
+ dark_gray = "#333333"
21
+ light_gray = "#a9a7ad"
22
+ preformatted_foreground = "#00ffc2"
23
+
24
+ @default_headline_line_color = light_gray
25
+ @default_headline_line_width = 2
26
+ @default_headline_line_expand = true
27
+
28
+ @default_emphasis_color = red
29
+ @default_emphasis_level2_color = "#ffffff"
30
+
31
+ set_graffiti_color red
32
+ set_graffiti_line_width 5
33
+
34
+ #@table_frame_color = "#ffffff"
35
+ #@table_fill_color = "#0f0428"
36
+ #@table_body_frame_color = "#ffffff"
37
+ #@table_body_fill_color = "#3f3468"
38
+ #@table_head_frame_color = "#ffffff"
39
+ #@table_head_fill_color = "#rf0428"
40
+
41
+ @preformatted_fill_color = black
42
+ @preformatted_frame_color = red
43
+ @preformatted_frame_width = 5
44
+ # @preformatted_centering = true
45
+
46
+ @space = screen_y(1)
47
+
48
+ @image_slide_number_start_flag_color = green
49
+ @image_slide_number_goal_flag_color = red
50
+
51
+ #@slide_headline_hide = true
52
+
53
+ @slide_background_image = 'images/assets/background-slide.png'
54
+ include_theme("slide-background-image")
55
+
56
+ @title_slide_background_image = 'images/assets/background-title.png'
57
+ include_theme("title-slide-background-image")
58
+
59
+ include_theme('default')
60
+
61
+ match(Slide, HeadLine) do |heads|
62
+ heads.margin_top = -10
63
+ heads.prop_set("weight", "normal")
64
+ heads.prop_set "size", @large_font_size
65
+ set_font_family(heads)
66
+ end
67
+ match(Slide) do |slides|
68
+ slides.margin_left = 100
69
+ slides.margin_right = 100
70
+ slides.prop_set("foreground", foreground)
71
+
72
+ # if slide.match?(/chapter/)
73
+ # slides.prop_set "hide-title", true
74
+ # end
75
+ end
76
+
77
+ match TitleSlide do |slides|
78
+ slides.margin_left = 600
79
+ slides.prop_set("foreground", foreground)
80
+ slides.prop_set "style", "normal"
81
+ end
82
+ match TitleSlide, Title do |title|
83
+ title.margin_top = 10
84
+ title.prop_set "size", @x_large_font_size
85
+ title.prop_set "font-family", @title_font_family
86
+ title.prop_set "weight", "bold"
87
+ end
88
+ match TitleSlide, Subtitle do |subtitle|
89
+ subtitle.prop_set "size", @x_large_font_size
90
+ subtitle.prop_set "font-family", @title_font_family
91
+ subtitle.prop_set "weight", "bold"
92
+ end
93
+ match TitleSlide, Author do |authors|
94
+ authors.margin_top = 70
95
+ authors.prop_set "size", @large_font_size
96
+ end
97
+ match TitleSlide, ContentSource do |cs|
98
+ cs.margin_top = 20
99
+ cs.prop_set "size", @small_font_size
100
+ cs.prop_set "weight", "bold"
101
+ cs.prop_set "foreground", red
102
+ end
103
+ match TitleSlide, Place do |cs|
104
+ cs.margin_top = 20
105
+ cs.prop_set "size", @x_small_font_size
106
+ end
107
+ match TitleSlide, Date do |date|
108
+ date.prop_set "size", @x_small_font_size
109
+ end
110
+ match TitleSlide, Institution do |i|
111
+ i.prop_set "size", @x_small_font_size
112
+ end
113
+
114
+ #@slide_logo_image = 'images/mark_g.png'
115
+ #include_theme('slide-logo')
116
+
117
+ @item_image_1 = 'images/assets/bullet-point-36.png'
118
+ @item_image_2 = 'images/assets/bullet-point-36.png'
119
+ @item_image_3 = 'images/assets/bullet-point-24.png'
120
+
121
+ include_theme("default-item-mark")
122
+
123
+ add_image_path("rabbit-images")
124
+
125
+ slide_body = [Slide, Body]
126
+ item_list_item = [ItemList, ItemListItem]
127
+
128
+ indent = 50
129
+
130
+ match(*(slide_body + (item_list_item * 1))) do |items|
131
+ name = "item1"
132
+ items.delete_pre_draw_proc_by_name(name)
133
+ items.delete_post_draw_proc_by_name(name)
134
+ draw_image_mark(items, @item_image_1, name, indent: indent)
135
+ end
136
+
137
+ match(*(slide_body + (item_list_item * 2))) do |items|
138
+ name = "item2"
139
+ items.delete_pre_draw_proc_by_name(name)
140
+ items.delete_post_draw_proc_by_name(name)
141
+ draw_image_mark(items, @item_image_2, name, indent: indent)
142
+ end
143
+
144
+ match(*(slide_body + (item_list_item * 3))) do |items|
145
+ name = "item3"
146
+ items.delete_pre_draw_proc_by_name(name)
147
+ items.delete_post_draw_proc_by_name(name)
148
+ draw_image_mark(items, @item_image_3, name, indent: indent)
149
+ end
150
+
151
+ enum_list_item = [EnumList, EnumListItem]
152
+
153
+ match(*(slide_body + enum_list_item + item_list_item)) do |items|
154
+ name = "enum-item1"
155
+ items.delete_pre_draw_proc_by_name(name)
156
+ items.delete_post_draw_proc_by_name(name)
157
+ draw_image_mark(items, @item_image_1, name, indent: indent)
158
+ end
159
+
160
+ match(*(slide_body + enum_list_item + (item_list_item * 2))) do |items|
161
+ name = "enum-item2"
162
+ items.delete_pre_draw_proc_by_name(name)
163
+ items.delete_post_draw_proc_by_name(name)
164
+ draw_image_mark(items, @item_image_2, name, indent: indent)
165
+ end
166
+
167
+ # table
168
+ all_table = ["**", Table]
169
+ match(*(all_table + [TableBody, TableRow, TableCell])) do |cells|
170
+ set_font_family(cells, @monospace_font_family)
171
+ end
172
+ match(*(all_table + [TableHead, TableRow, TableHeader])) do |headers|
173
+ set_font_family(headers, @monospace_font_family)
174
+ end
175
+
176
+ match("**", Emphasis) do |texts|
177
+ texts.prop_set("foreground", "#ff0000")
178
+ texts.prop_set("weight", "normal")
179
+ end
180
+
181
+ # Chapter
182
+ match Slide do |slides|
183
+ slides.each do |slide|
184
+ if slide.match?(/sub_chapter/)
185
+ slide.horizontal_centering = true
186
+ elsif slide.match?(/chapter/)
187
+ slide.margin_top = -10
188
+ set_font_family slide, @title_font_family
189
+ slide.horizontal_centering = true
190
+ elsif slide.match?(/cite/)
191
+ slide.prop_set "foreground", foreground
192
+ slide.horizontal_centering = true
193
+ end
194
+ end
195
+ end
196
+
197
+ match("**", PreformattedBlock) do |block|
198
+ # assume console
199
+ block.prop_set("foreground", preformatted_foreground)
200
+ # block.prop_set("background", dark_gray)
201
+ end
202
+ # ↑↓ the order matters
203
+ match("**", SyntaxHighlightingBlock) do |block|
204
+ # assume ruby
205
+ block.prop_set("foreground", black)
206
+ end
207
+
metadata ADDED
@@ -0,0 +1,96 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-hasumikin-RubyConfAfrica2024
3
+ version: !ruby/object:Gem::Version
4
+ version: 2024.07.27.0
5
+ platform: ruby
6
+ authors:
7
+ - HASUMI Hitoshi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-07-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: Presentation slide for Euruko 2023
28
+ email:
29
+ - hasumikin@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".rabbit"
35
+ - ABeginnersCompleteGuideToMicrocontrollerProgrammingWithRuby.md
36
+ - README.rd
37
+ - Rakefile
38
+ - config.yaml
39
+ - images/QR_github-com-peripheral-interface-guide.png
40
+ - images/QR_github-com-picoruby.png
41
+ - images/QR_picoruby.png
42
+ - images/R2D2_mosaic.png
43
+ - images/Terminal-dec-vt100.jpg
44
+ - images/assets/background-slide.png
45
+ - images/assets/background-title.png
46
+ - images/assets/background.svg
47
+ - images/assets/bullet-point-24.png
48
+ - images/assets/bullet-point-36.png
49
+ - images/assets/bullet-point-48.png
50
+ - images/assets/bullet-point.png
51
+ - images/assets/ruby_conf_logo.png
52
+ - images/boot_button_1.png
53
+ - images/crkbd_2.jpg
54
+ - images/download-r2p2.png
55
+ - images/drag-and-drop.png
56
+ - images/hasumi.jpg
57
+ - images/hello_nairobi.jpg
58
+ - images/install-uf2.png
59
+ - images/itoyanagi.jpg
60
+ - images/lcd-and-thermo.jpg
61
+ - images/lcd_and_thermo.png
62
+ - images/meishi2.jpg
63
+ - images/rp2-resistor-led_bb.png
64
+ - images/rp2-resistor-led_schem.png
65
+ - images/rp2-resistor-thermistor_bb.png
66
+ - images/rp2-resistor-thermistor_schem.png
67
+ - images/rp2040-peripheral-demo_bb-trim.png
68
+ - images/rpi_pico.jpg
69
+ - images/teraterm-0.png
70
+ - images/teraterm.png
71
+ - pdf/RubyConfAfrica2024-ABeginnersCompleteGuideToMicrocontrollerProgrammingWithRuby.rab.pdf
72
+ - theme.rb
73
+ homepage: https://slide.rabbit-shocker.org/authors/hasumikin/RubyConfAfrica2024/
74
+ licenses:
75
+ - MIT License
76
+ metadata: {}
77
+ post_install_message:
78
+ rdoc_options: []
79
+ require_paths:
80
+ - lib
81
+ required_ruby_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ requirements: []
92
+ rubygems_version: 3.5.11
93
+ signing_key:
94
+ specification_version: 4
95
+ summary: A Beginner's Complete Guide to Microcontroller Programming with Ruby
96
+ test_files: []