rabbit-slide-unasuke-ruby30th-lt 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []