rabbit-slide-hasumikin-Euruko2024 2024.09.12.0

Sign up to get free protection for your applications and to get access to all the features.
Binary file
@@ -0,0 +1,13 @@
1
+ <svg width="121" height="121" viewBox="0 0 121 121" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g id="Layer_1" clip-path="url(#clip0_499_1670)">
3
+ <g id="Group 237877">
4
+ <path id="Vector" d="M75.6405 120.76C66.2505 121.28 56.8605 120.82 47.4705 121.01C45.5405 121.05 45.2205 120.11 45.2605 118.5C45.3305 115.23 45.3105 111.96 45.2705 108.7C45.2405 105.55 45.2105 105.49 42.1505 105.48C34.9305 105.44 27.7105 105.47 20.4905 105.47C19.6705 105.47 18.8605 105.49 18.0405 105.47C15.1105 105.4 15.0805 105.4 15.0405 102.59C15.0005 99.6 15.0405 96.6 15.0405 93.6C15.0405 88.56 15.0605 83.52 15.0405 78.49C15.0205 75.7 14.9805 75.67 12.0705 75.64C8.94053 75.61 5.80053 75.55 2.67053 75.66C0.830532 75.73 -0.0194679 75.32 0.0105321 73.22C0.110532 64.64 0.100532 56.06 0.0105321 47.49C-0.00946787 45.48 0.750532 44.88 2.65053 44.95C5.78053 45.06 8.91053 45.02 12.0505 44.97C14.9505 44.92 15.0105 44.88 15.0305 42.02C15.0705 34.94 15.0405 27.86 15.0405 20.78C15.0405 19.96 15.0405 19.15 15.0405 18.33C15.0805 15.23 15.0905 15.19 18.0805 15.18C25.1605 15.16 32.2405 15.18 39.3305 15.18C40.2805 15.18 41.2405 15.18 42.1905 15.18C45.1805 15.21 45.3405 15.38 45.3005 12.03C45.2605 8.76 45.3405 5.49 45.2705 2.23C45.2405 0.66 45.7505 0 47.3705 0C56.2205 0.05 65.0805 0.03 73.9305 0.01C75.3305 0.01 75.8405 0.62 75.8205 1.98C75.7705 5.38 75.7805 8.79 75.8205 12.19C75.8505 15.06 75.8805 15.12 78.7005 15.13C85.9205 15.16 93.1405 15.14 100.361 15.14C101.181 15.14 101.991 15.13 102.811 15.14C105.711 15.2 105.761 15.2 105.781 18C105.811 23.58 105.781 29.17 105.781 34.75C105.781 37.34 105.911 39.93 105.741 42.51C105.601 44.6 106.521 45.04 108.371 44.98C111.641 44.87 114.911 45.04 118.171 44.92C120.081 44.85 120.821 45.43 120.791 47.44C120.661 56.83 120.651 66.22 120.601 75.61C116.671 75.61 112.731 75.6 108.801 75.63C105.571 75.66 105.521 75.68 105.511 79.07C105.481 86.53 105.521 93.99 105.491 101.44C105.481 105.22 105.431 105.26 101.631 105.27C94.1705 105.3 86.7105 105.26 79.2505 105.29C75.7605 105.3 75.7505 105.35 75.7205 108.95C75.6805 112.88 75.6705 116.81 75.6405 120.74V120.76ZM75.8005 60.09C75.8005 55.88 75.7705 51.67 75.8205 47.46C75.8405 45.89 75.6305 44.94 73.6405 44.96C64.9405 45.05 56.2505 45.04 47.5505 44.96C45.7405 44.95 45.2505 45.65 45.2605 47.34C45.3205 56.03 45.3005 64.73 45.2705 73.42C45.2705 74.83 45.4705 75.66 47.2405 75.64C56.0705 75.56 64.9105 75.57 73.7405 75.64C75.3705 75.65 75.8505 75.09 75.8205 73.52C75.7505 69.04 75.7905 64.55 75.7905 60.07L75.8005 60.09Z" fill="#DB2026"/>
5
+ <rect id="Rectangle 6427" x="36" y="36" width="48" height="51" fill="#DB2026"/>
6
+ </g>
7
+ </g>
8
+ <defs>
9
+ <clipPath id="clip0_499_1670">
10
+ <rect width="120.8" height="121.01" fill="white"/>
11
+ </clipPath>
12
+ </defs>
13
+ </svg>
Binary file
Binary file
Binary file
Binary file
Binary file
data/images/hasumi.jpg ADDED
Binary file
Binary file
Binary file
data/images/setup.png ADDED
Binary file
Binary file
Binary file
Binary file
data/theme.rb ADDED
@@ -0,0 +1,203 @@
1
+ # puts font_families.sort
2
+ @xxx_large_font_size = screen_size(9 * Pango::SCALE)
3
+ @xx_large_font_size = screen_size(7.5 * Pango::SCALE)
4
+ @x_large_font_size = screen_size(6 * Pango::SCALE)
5
+ @large_font_size = screen_size(5.5 * Pango::SCALE)
6
+ @normal_font_size = screen_size(4.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 * Pango::SCALE)
10
+
11
+ @title_font_family = find_font_family('Kanit')
12
+ @font_family = find_font_family('Kanit')
13
+ @monospace_font_family = 'Courier Prime'
14
+
15
+ # colors
16
+ foreground = "#ffffff"
17
+ red = "#d62f24"
18
+ blue = "#00a2ff"
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 7
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 = blue
49
+ @image_slide_number_goal_flag_color = red
50
+
51
+ #@slide_headline_hide = true
52
+
53
+ @slide_background_image = 'images/assets/bg_slide.png'
54
+ include_theme("slide-background-image")
55
+
56
+ @title_slide_background_image = 'images/assets/bg_title.png'
57
+ include_theme("title-slide-background-image")
58
+
59
+ include_theme('default')
60
+
61
+ #match(Slide, HeadLine) do |heads|
62
+ # heads.hide
63
+ # heads.margin_top = -120
64
+ #end
65
+ match(Slide) do |slides|
66
+ # slides.horizontal_centering = true
67
+ # slides.margin_left = 100
68
+ # slides.margin_right = 100
69
+ slides.prop_set("foreground", foreground)
70
+ end
71
+
72
+ match TitleSlide do |slides|
73
+ slides.margin_right = 550
74
+ slides.prop_set("foreground", foreground)
75
+ slides.prop_set "style", "normal"
76
+ end
77
+ match TitleSlide, Title do |title|
78
+ title.margin_top = 10
79
+ title.prop_set "size", @x_large_font_size
80
+ title.prop_set "font-family", @title_font_family
81
+ title.prop_set "weight", "bold"
82
+ end
83
+ match TitleSlide, Subtitle do |subtitle|
84
+ subtitle.margin_top = 0
85
+ subtitle.prop_set "size", @xx_large_font_size
86
+ subtitle.prop_set "font-family", @title_font_family
87
+ subtitle.prop_set "weight", "bold"
88
+ end
89
+ match TitleSlide, Author do |authors|
90
+ authors.margin_top = 70
91
+ authors.prop_set "size", @large_font_size
92
+ authors.prop_set "foreground", red
93
+ end
94
+ match TitleSlide, ContentSource do |cs|
95
+ cs.margin_top = 20
96
+ cs.prop_set "size", @small_font_size
97
+ end
98
+ match TitleSlide, Place do |cs|
99
+ cs.margin_top = 20
100
+ cs.prop_set "size", @x_small_font_size
101
+ end
102
+ match TitleSlide, Date do |date|
103
+ date.margin_top = 10
104
+ date.prop_set "size", @x_small_font_size
105
+ end
106
+ match TitleSlide, Institution do |i|
107
+ i.prop_set "size", @x_small_font_size
108
+ end
109
+
110
+ #@slide_logo_image = 'images/mark_g.png'
111
+ #include_theme('slide-logo')
112
+
113
+ @item_image_1 = 'images/assets/title_dot_36.png'
114
+ @item_image_2 = 'images/assets/title_dot_30.png'
115
+ @item_image_3 = 'images/assets/title_dot_24.png'
116
+
117
+ include_theme("default-item-mark")
118
+
119
+ add_image_path("rabbit-images")
120
+
121
+ slide_body = [Slide, Body]
122
+ item_list_item = [ItemList, ItemListItem]
123
+
124
+ indent = 50
125
+
126
+ match(*(slide_body + (item_list_item * 1))) do |items|
127
+ name = "item1"
128
+ items.delete_pre_draw_proc_by_name(name)
129
+ items.delete_post_draw_proc_by_name(name)
130
+ draw_image_mark(items, @item_image_1, name, indent: indent)
131
+ end
132
+
133
+ match(*(slide_body + (item_list_item * 2))) do |items|
134
+ name = "item2"
135
+ items.delete_pre_draw_proc_by_name(name)
136
+ items.delete_post_draw_proc_by_name(name)
137
+ draw_image_mark(items, @item_image_2, name, indent: indent)
138
+ end
139
+
140
+ match(*(slide_body + (item_list_item * 3))) do |items|
141
+ name = "item3"
142
+ items.delete_pre_draw_proc_by_name(name)
143
+ items.delete_post_draw_proc_by_name(name)
144
+ draw_image_mark(items, @item_image_3, name, indent: indent)
145
+ end
146
+
147
+ enum_list_item = [EnumList, EnumListItem]
148
+
149
+ match(*(slide_body + enum_list_item + item_list_item)) do |items|
150
+ name = "enum-item1"
151
+ items.delete_pre_draw_proc_by_name(name)
152
+ items.delete_post_draw_proc_by_name(name)
153
+ draw_image_mark(items, @item_image_1, name, indent: indent)
154
+ end
155
+
156
+ match(*(slide_body + enum_list_item + (item_list_item * 2))) do |items|
157
+ name = "enum-item2"
158
+ items.delete_pre_draw_proc_by_name(name)
159
+ items.delete_post_draw_proc_by_name(name)
160
+ draw_image_mark(items, @item_image_2, name, indent: indent)
161
+ end
162
+
163
+ # table
164
+ all_table = ["**", Table]
165
+ match(*(all_table + [TableBody, TableRow, TableCell])) do |cells|
166
+ set_font_family(cells, @monospace_font_family)
167
+ end
168
+ match(*(all_table + [TableHead, TableRow, TableHeader])) do |headers|
169
+ set_font_family(headers, @monospace_font_family)
170
+ end
171
+
172
+ match("**", Emphasis) do |texts|
173
+ texts.prop_set("foreground", "#ff0000")
174
+ texts.prop_set("weight", "normal")
175
+ end
176
+
177
+ # Chapter
178
+ match Slide do |slides|
179
+ slides.each do |slide|
180
+ if slide.match?(/sub_chapter/)
181
+ slide.horizontal_centering = true
182
+ elsif slide.match?(/chapter/)
183
+ slide.margin_top = -10
184
+ set_font_family slide, @title_font_family
185
+ slide.horizontal_centering = true
186
+ elsif slide.match?(/cite/)
187
+ slide.prop_set "foreground", foreground
188
+ slide.horizontal_centering = true
189
+ end
190
+ end
191
+ end
192
+
193
+ match("**", PreformattedBlock) do |block|
194
+ # assume console
195
+ block.prop_set("foreground", preformatted_foreground)
196
+ # block.prop_set("background", dark_gray)
197
+ end
198
+ # ↑↓ the order matters
199
+ match("**", SyntaxHighlightingBlock) do |block|
200
+ # assume ruby
201
+ block.prop_set("foreground", black)
202
+ end
203
+
metadata ADDED
@@ -0,0 +1,84 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-hasumikin-Euruko2024
3
+ version: !ruby/object:Gem::Version
4
+ version: 2024.09.12.0
5
+ platform: ruby
6
+ authors:
7
+ - HASUMI Hitoshi
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 2024-10-29 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rabbit
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 2.0.2
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 2.0.2
26
+ description: Presentation slide for Euruko 2024
27
+ email:
28
+ - hasumikin@gmail.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - ".rabbit"
34
+ - PicoRubyHandsOn.md
35
+ - README.md
36
+ - Rakefile
37
+ - config.yaml
38
+ - gist/1_led/rgb_led.jpg
39
+ - gist/1_led/rgbled.png
40
+ - gist/1_led/single_led.jpg
41
+ - gist/4_lcd/lcd.png
42
+ - images/QR_picoruby.png
43
+ - images/Terminal-dec-vt100.jpg
44
+ - images/assets/bg_pattern.png
45
+ - images/assets/bg_slide.png
46
+ - images/assets/bg_title.png
47
+ - images/assets/bg_title.svg
48
+ - images/assets/hero_image.png
49
+ - images/assets/title_dot.svg
50
+ - images/assets/title_dot_24.png
51
+ - images/assets/title_dot_30.png
52
+ - images/assets/title_dot_36.png
53
+ - images/boot_button_1.png
54
+ - images/download-r2p2.png
55
+ - images/hasumi.jpg
56
+ - images/install-uf2.png
57
+ - images/rpi_pico.jpg
58
+ - images/setup.png
59
+ - images/teraterm-0.png
60
+ - images/teraterm.png
61
+ - pdf/Euruko2024-PicoRubyHandsOn.pdf
62
+ - theme.rb
63
+ homepage: https://slide.rabbit-shocker.org/authors/hasumikin/Euruko2024/
64
+ licenses:
65
+ - MIT
66
+ metadata: {}
67
+ rdoc_options: []
68
+ require_paths:
69
+ - lib
70
+ required_ruby_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ requirements: []
81
+ rubygems_version: 3.6.0.dev
82
+ specification_version: 4
83
+ summary: 'Embedded Ruby Revolution: A Hands-On Workshop with PicoRuby'
84
+ test_files: []