rabbit-slide-unasuke-ruby30th-lt 1.0.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: ea6b3c6101f309f7565dbc4e8ce66c0da96a44067d81d3850736613c72c8c99a
4
+ data.tar.gz: 6dbdde28a6a63b66b1c67550c46ebe141ecd0932c130d7777d1ff63ece788bd1
5
+ SHA512:
6
+ metadata.gz: f5c5695e4c40d04d707eaf484b9a29083d2b8e23eb5072ee93d14cf875d3bd2a8ef9520e68bbfaec6bfa401351059644bff4ef7476a7498943a4dff4476b9604
7
+ data.tar.gz: ad61329d435ca61ebbe828007250255852e3d97909e23e2a729ab4ff03f5ae7331abcb492b9e398d1eb45777b1e075dab924f7d3aa7d8cb0d2e4cfd27d2d3ae3
data/.rabbit ADDED
@@ -0,0 +1,2 @@
1
+ --size 1200,675
2
+ slide.rab
data/README.rd ADDED
@@ -0,0 +1,25 @@
1
+ = ruby30th-lt
2
+
3
+ * https://30.ruby.or.jp
4
+ * https://www.youtube.com/watch?v=cmd5NdMjHkI
5
+
6
+ == 作者向け
7
+
8
+ === 表示
9
+
10
+ rake
11
+
12
+ === 公開
13
+
14
+ rake publish
15
+
16
+ == 閲覧者向け
17
+
18
+ === インストール
19
+
20
+ gem install rabbit-slide-unasuke-ruby30th-lt
21
+
22
+ === 表示
23
+
24
+ rabbit rabbit-slide-unasuke-ruby30th-lt.gem
25
+
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ # spec.files += Dir.glob("doc/**/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ # spec.add_runtime_dependency("rabbit-theme-YOUR-THEME")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
data/config.yaml ADDED
@@ -0,0 +1,23 @@
1
+ ---
2
+ id: ruby30th-lt
3
+ base_name: slide
4
+ tags: ["ruby", "python"]
5
+ presentation_date: "2023-02-25"
6
+ presentation_start_time:
7
+ presentation_end_time:
8
+ version: 1.0.0
9
+ licenses: ["MIT"]
10
+ slideshare_id:
11
+ speaker_deck_id:
12
+ vimeo_id:
13
+ youtube_id:
14
+ width: 1200
15
+ height: 675
16
+ author:
17
+ markup_language: :rd
18
+ name: unasuke
19
+ email: yusuke1994525@gmail.com
20
+ rubygems_user: unasuke
21
+ slideshare_user:
22
+ speaker_deck_user:
23
+ source_code_url: https://github.com/unasuke/ruby30th-lt
Binary file
Binary file
data/img/icon.jpg ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/img/ruby-enum.png ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
data/slide.rab ADDED
@@ -0,0 +1,179 @@
1
+ = Pythonのこの機能がRubyにも欲しい!
2
+
3
+ : author
4
+ unasuke
5
+ : content-source
6
+ Ruby30周年記念イベント
7
+ : date
8
+ 2023-02-25
9
+ : theme
10
+ theme
11
+
12
+ = 自己紹介
13
+
14
+ * Name: うなすけ
15
+ * Work: フリーランス
16
+ * Ruby歴: 8年くらい
17
+ * Kaigi on Rails オーガナイザー
18
+ * (('tag:x-small')) GitHub ((<URL:https://github.com/unasuke>))
19
+ * (('tag:x-small')) Mastodon ((<URL:https://mstdn.unasuke.com/@unasuke>))
20
+ * (('tag:x-small')) Twitter ((<URL:https://twitter.com/yu_suke1994>))
21
+
22
+ # image
23
+ # src = img/icon.jpg
24
+ # relative_width = 24
25
+ # align = right
26
+ # relative_margin_right = -8
27
+ # relative_margin_top = 20
28
+
29
+ = (('tag:xx-large'))Pythonのこの機能がRubyにも欲しい!
30
+
31
+ (('tag:center'))(('tag:xx-large'))とは?
32
+
33
+ = 自分が今やっていること
34
+ # image
35
+ # src = img/ruby-or-jp-grant-2022.png
36
+ # relative_width = 90
37
+ # align = center
38
+
39
+ (('tag:center'))(('tag:x-small'))((<URL:https://www.ruby.or.jp/ja/news/20220823>))
40
+
41
+ = 自分が今やっていること
42
+ # image
43
+ # src = img/ruby-or-jp-grant-2022-unasuke.png
44
+ # relative_width = 90
45
+ # align = center
46
+
47
+ (('tag:center'))(('tag:x-small'))((<URL:https://www.ruby.or.jp/ja/news/20221027>))
48
+
49
+ = 自分が今やっていること
50
+ # image
51
+ # src = img/aioquic-og.png
52
+ # relative_width = 90
53
+ # align = center
54
+
55
+ (('tag:center'))(('tag:x-small'))((<URL:https://github.com/aiortc/aioquic>))
56
+
57
+ = 自分が今やっていること
58
+ # image
59
+ # src = img/aioquic-loc.png
60
+ # relative_width = 90
61
+ # align = center
62
+
63
+ = まえおき
64
+
65
+ * Pythonはもっぱら読むがわ
66
+ * プロトコルの実装という分野においての意見
67
+ * Rubyにこの機能の輸入をしてほしいか、と言われると……
68
+
69
+ = Rubyにこの機能を入れてほしい (ではない!)
70
+
71
+ * 既存資産との兼ね合いとか
72
+ * 文法的に厳しいとか
73
+ * 「みんなちがって、みんないい。」的な気持ちで
74
+
75
+ = その1 Enum
76
+
77
+ # image
78
+ # src = img/python-enum.png
79
+ # relative_width = 80
80
+ # align = center
81
+
82
+ = EnumはRubyでも実現できるのでは?
83
+
84
+ # image
85
+ # src = img/ruby-enum.png
86
+ # relative_width = 70
87
+ # align = center
88
+
89
+ (('tag:center'))(('tag:xx-large'))ちゃうねん
90
+
91
+ = EnumはRubyでも実現できるのでは?
92
+
93
+ # image
94
+ # src = img/python-enum-print.png
95
+ # relative_width = 75
96
+ # align = center
97
+
98
+ (('tag:center'))Pythonだとこう
99
+
100
+ = EnumはRubyでも実現できるのでは?
101
+ # image
102
+ # src = img/ruby-enum-print.png
103
+ # relative_width = 80
104
+ # align = center
105
+
106
+ (('tag:center'))Rubyだとこう
107
+
108
+ = その2 bytes
109
+
110
+ # image
111
+ # src = img/python-bytes.png
112
+ # relative_width = 80
113
+ # align = center
114
+
115
+ = その2 bytes (Rubyの場合)
116
+
117
+ # image
118
+ # src = img/ruby-encoding.png
119
+ # relative_width = 80
120
+ # align = center
121
+
122
+ (('tag:center'))RubyだとStringになり、Encodingを持つ
123
+
124
+ = その2 bytes (RubyのIO::Bufferの場合)
125
+
126
+ # image
127
+ # src = img/ruby-io-buffer.png
128
+ # relative_width = 80
129
+ # align = center
130
+
131
+ (('tag:center'))IO::Bufferならバイト列になる
132
+
133
+ = その3 tuple
134
+
135
+ # image
136
+ # src = img/python-tuple.png
137
+ # relative_width = 80
138
+ # align = center
139
+
140
+ = その3 tuple (Rubyの場合)
141
+
142
+ # image
143
+ # src = img/ruby-array-as-tuple.png
144
+ # relative_width = 80
145
+ # align = center
146
+
147
+ (('tag:center'))配列にならざるをえない
148
+
149
+ = その4 @dataclass (というよりはdecorator)
150
+
151
+ # image
152
+ # src = img/python-dataclass.png
153
+ # relative_width = 80
154
+ # align = center
155
+
156
+ = その4 @dataclass (Rubyの場合)
157
+
158
+ # image
159
+ # src = img/ruby-struct-data.png
160
+ # relative_width = 80
161
+ # align = center
162
+
163
+ (('tag:center'))StructとかDataになる
164
+
165
+ = その4 @dataclass (というよりはdecorator)
166
+
167
+ # image
168
+ # src = img/python-decorator.png
169
+ # relative_width = 80
170
+ # align = center
171
+
172
+ (('tag:center'))Classや関数をwrapできる
173
+
174
+ = 逆にRubyのこの機能はうれしい
175
+ * 後置if/unless
176
+ * de facto standardなパッケージマネージャ(gem/bundler)
177
+ * debug.gem (色)
178
+
179
+ おしまい
data/theme.rb ADDED
@@ -0,0 +1,113 @@
1
+ @default_foreground ||= @foreground
2
+ @default_background ||= @background
3
+ @default_shadow_color ||= @shadow_color
4
+
5
+ # pp font_families
6
+ font_color = '#333'
7
+ @default_font = 'BIZ UDPGothic'
8
+ @font_family = find_font_family(@default_font)
9
+ @bold_font = @default_font
10
+ @bold_font_family = find_font_family(@bold_font)
11
+ @monospace_font = 'Cica'
12
+ @monospace_font_family = find_font_family(@monospace_font)
13
+
14
+ @xxxx_large_font_size = screen_size(10 * Pango::SCALE)
15
+ @xxx_large_font_size = screen_size(8 * Pango::SCALE)
16
+ @xx_large_font_size = screen_size(6 * Pango::SCALE)
17
+ @x_large_font_size = screen_size(4.5 * Pango::SCALE)
18
+ @large_font_size = screen_size(4 * Pango::SCALE)
19
+ @normal_font_size = screen_size(3.5 * Pango::SCALE)
20
+ @small_font_size = screen_size(3.2 * Pango::SCALE)
21
+ @x_small_font_size = screen_size(3 * Pango::SCALE)
22
+ @xx_small_font_size = screen_size(2.8 * Pango::SCALE)
23
+ @xxx_small_font_size = screen_size(2.5 * Pango::SCALE)
24
+ @script_font_size = @x_small_font_size
25
+ @large_script_font_size = @small_font_size
26
+ @x_large_script_font_size = @large_font_size
27
+ @title_slide_title_font_size = @xxx_large_font_size
28
+
29
+ @block_quote_fill_color = "#f8f8f8"
30
+ @preformatted_fill_color = "#f8f8f8"
31
+ @default_headline_line_color = font_color
32
+
33
+ # @title_slide_background_image = 'img/title_bg.png'
34
+ # @slide_background_image = 'img/bg.png'
35
+
36
+ # set_foreground(@default_foreground)
37
+ # set_background(@default_background)
38
+
39
+ add_image_path("ruby-images")
40
+ include_theme("default-icon")
41
+ # include_theme("default-title-text")
42
+ include_theme("default-text")
43
+ include_theme("default-title-slide")
44
+ include_theme("default-slide")
45
+ include_theme("default-item-mark")
46
+ include_theme("default-method-list")
47
+ include_theme("default-preformatted")
48
+ include_theme("default-block-quote")
49
+ include_theme("default-foot-text")
50
+ include_theme("default-description")
51
+ include_theme("image")
52
+ include_theme("table")
53
+ include_theme("newline-in-slides")
54
+ include_theme("per-slide-background-color")
55
+ include_theme("background-image-toolkit")
56
+ include_theme("per-slide-background-image")
57
+ include_theme("body-background-image")
58
+ include_theme("tag")
59
+ include_theme("syntax-highlighting")
60
+ include_theme("default-comment")
61
+
62
+ include_theme("title-slide-background-image")
63
+ include_theme("slide-background-image")
64
+
65
+ match(TitleSlide, "*") do |elems|
66
+ elems.horizontal_centering = true
67
+ elems.prop_set("size", @large_font_size)
68
+ set_font_family(elems)
69
+ end
70
+
71
+ match(TitleSlide, Title) do |titles|
72
+ titles.prop_set("size", @title_slide_title_font_size)
73
+ titles.padding_bottom = @space * 2
74
+ titles.prop_set("weight", "SemiBold")
75
+ end
76
+
77
+ match(Slide, HeadLine) do |heads|
78
+ heads.prop_set("size", @large_font_size)
79
+ heads.prop_set("weight", "bold")
80
+ end
81
+
82
+ match(TitleSlide) do |slides|
83
+ # slides.margin_left = 900
84
+ slides.vertical_centering = true
85
+ slides.prop_set "foreground", font_color
86
+ slides.prop_set("weight", "bold")
87
+ end
88
+ match(TitleSlide, Subtitle) do |subtitle|
89
+ subtitle.margin_top = -20
90
+ subtitle.prop_set("size", @large_font_size)
91
+ end
92
+ match(TitleSlide, Author) do |author|
93
+ author.margin_top = 50
94
+ author.prop_set("size", @large_font_size)
95
+ author.prop_set("weight", "normal")
96
+ end
97
+ match(TitleSlide, Place) do |place|
98
+ place.prop_set("size", @small_font_size)
99
+ end
100
+ match(TitleSlide, "*") do |elems|
101
+ elems.horizontal_centering = true
102
+ end
103
+
104
+ match(TitleSlide, Date) do |dates|
105
+ dates.prop_set("size", @small_font_size)
106
+ # dates.prop_set("style", "italic")
107
+ end
108
+
109
+ match(TitleSlide, ContentSource) do |sources|
110
+ sources.prop_set("size", @small_font_size)
111
+ sources.margin_bottom = @space
112
+ # sources.prop_set("style", "italic")
113
+ end
metadata ADDED
@@ -0,0 +1,83 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-unasuke-ruby30th-lt
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - unasuke
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-02-25 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
+ * https://30.ruby.or.jp
29
+ * https://www.youtube.com/watch?v=cmd5NdMjHkI
30
+ email:
31
+ - yusuke1994525@gmail.com
32
+ executables: []
33
+ extensions: []
34
+ extra_rdoc_files: []
35
+ files:
36
+ - ".rabbit"
37
+ - README.rd
38
+ - Rakefile
39
+ - config.yaml
40
+ - img/aioquic-loc.png
41
+ - img/aioquic-og.png
42
+ - img/icon.jpg
43
+ - img/python-bytes.png
44
+ - img/python-dataclass.png
45
+ - img/python-decorator.png
46
+ - img/python-enum-print.png
47
+ - img/python-enum.png
48
+ - img/python-tuple.png
49
+ - img/ruby-array-as-tuple.png
50
+ - img/ruby-encoding.png
51
+ - img/ruby-enum-print.png
52
+ - img/ruby-enum.png
53
+ - img/ruby-io-buffer.png
54
+ - img/ruby-or-jp-grant-2022-unasuke.png
55
+ - img/ruby-or-jp-grant-2022.png
56
+ - img/ruby-struct-data.png
57
+ - pdf/ruby30th-lt-slide.pdf
58
+ - slide.rab
59
+ - theme.rb
60
+ homepage: https://slide.rabbit-shocker.org/authors/unasuke/ruby30th-lt/
61
+ licenses:
62
+ - MIT
63
+ metadata: {}
64
+ post_install_message:
65
+ rdoc_options: []
66
+ require_paths:
67
+ - lib
68
+ required_ruby_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ requirements: []
79
+ rubygems_version: 3.4.6
80
+ signing_key:
81
+ specification_version: 4
82
+ summary: ruby30th-lt
83
+ test_files: []