smalruby-editor 0.1.4-x86-mingw32 → 0.1.5-x86-mingw32

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.

Potentially problematic release.


This version of smalruby-editor might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 620da19bf705036352f02d7ac364a9fd4400c9b9
4
- data.tar.gz: 7e06b803cd69c880934b9d94b57c45abd189182f
3
+ metadata.gz: 541270ea861d18cc79f609be0ab035b2509ae55a
4
+ data.tar.gz: 22ec8448c52b4c22b6d6cf1fa02d78a95da75a47
5
5
  SHA512:
6
- metadata.gz: 74a0ee283509e48ef8dd480286fa01bdf76d71f15bb0dfd9947124dad339ea63397516f901af1a73bc6e80c8a26b59d591c8832353a03857db44acf6ece147a8
7
- data.tar.gz: 0bbf8ca3563a700027f26378661bca480cd4eebe0154f4ac4880cbd10777bd482865ee0bfbcb1d2bd7d8a3e14d49afb4e8c5d021a1331eb3b3eb17ceef59e010
6
+ metadata.gz: f25ca7ea2a48da978c223198e7780471e6a06f1c48af12924d7105e0d63f7debdc521bd5232d16ac7ffeaaa623d90f8eff7987f349f9a8be9c55f29944332de6
7
+ data.tar.gz: ee108b11160c979eedede301dcf2c25ec8083ad8bf6e390c59c8f7ccb041bc141f59b85216f5dced272c891129b87280fa5ada955c9891b0fd64c955e89b29e7
@@ -32,7 +32,6 @@
32
32
  //= require_tree ./collections
33
33
  //= require_tree ./views
34
34
  //= require_tree ./routers
35
- //= require ./block_mode
36
35
  //= require_tree ./generators
37
36
  //= require ./blocks/field_character
38
37
  //= require_tree ./blocks
@@ -37,8 +37,11 @@ Blockly.Blocks['<%= n %>'] =
37
37
  @setTooltip('')
38
38
 
39
39
  Blockly.Ruby['<%= n %>'] = (block) ->
40
- branch = Blockly.Ruby.statementToCode(block, 'DO') || '\n'
41
- 'loop do\n' + branch + 'end\n'
40
+ if Blockly.Ruby.r_() == 'main'
41
+ ''
42
+ else
43
+ branch = Blockly.Ruby.statementToCode(block, 'DO') || '\n'
44
+ 'loop do\n' + branch + 'end\n'
42
45
 
43
46
  <%
44
47
  [
@@ -83,8 +83,8 @@ Blockly.Ruby.c = Blockly.Ruby.character
83
83
  Blockly.Ruby.c_ = Blockly.Ruby.character
84
84
  Blockly.Ruby.rs = Blockly.Ruby.receiverStack
85
85
  Blockly.Ruby.rs_ = Blockly.Ruby.receiverStack
86
- Blockly.Ruby.r = Blockly.Ruby.r
87
- Blockly.Ruby.r_ = Blockly.Ruby.r
86
+ Blockly.Ruby.r = Blockly.Ruby.receiver
87
+ Blockly.Ruby.r_ = Blockly.Ruby.receiver
88
88
  Blockly.Ruby.rn = Blockly.Ruby.receiverName
89
89
  Blockly.Ruby.rn_ = Blockly.Ruby.receiverName
90
90
 
@@ -62,6 +62,33 @@ window.Smalruby =
62
62
  Smalruby.downloading = false
63
63
  return
64
64
 
65
+ Blockly.HSV_SATURATION = 1.0
66
+ Blockly.HSV_VALUE = 0.8
67
+
68
+ Blockly.inject document.getElementById('blockly-div'),
69
+ path: '/blockly/'
70
+ toolbox: document.getElementById('toolbox')
71
+ trashcan: true
72
+
73
+ Blockly.Toolbox.tree_.expandAll()
74
+
75
+ @blocklyFirst = true
76
+ @blocklyLoading = false
77
+ Blockly.addChangeListener =>
78
+ # HACK: Blocklyを初期化後に一回だけChangeListenerが呼び出させれ
79
+ # る。ここではそれを無視している。
80
+ if @blocklyFirst
81
+ @blocklyFirst = false
82
+ return
83
+
84
+ # HACK: XMLの読み込み後に一回だけChangeListenerが呼び出させれ
85
+ # る。ここではそれを無視している。
86
+ if @blocklyLoading
87
+ @blocklyLoading = false
88
+ return
89
+
90
+ window.changed = true
91
+
65
92
  loadXml: (data, workspace = Blockly.mainWorkspace) ->
66
93
  xml = Blockly.Xml.textToDom(data)
67
94
  workspace.clear()
@@ -67,6 +67,11 @@ Smalruby.CharacterSelectorView = Backbone.View.extend({
67
67
  @moveByNewBlock_(newBlock)
68
68
  newBlock.select()
69
69
 
70
+ onStartBlock = new Blockly.Block(Blockly.mainWorkspace, 'events_on_start')
71
+ onStartBlock.initSvg()
72
+ onStartBlock.render()
73
+ newBlock.getInput('DO').connection.connect(onStartBlock.previousConnection)
74
+
70
75
  moveByNewBlock_: (newBlock) ->
71
76
  metrics = Blockly.mainWorkspace.getMetrics()
72
77
  newXY =
@@ -26,14 +26,26 @@ Smalruby.MainMenuView = Backbone.View.extend
26
26
  if info.error
27
27
  window.errorMessage(info.filename + 'は' + info.error)
28
28
  else
29
- $('#filename').val(info.filename)
30
- if info.filename.match(/.xml$/)
29
+ filename = info.filename
30
+ if filename.match(/\.xml$/)
31
+ unless window.blockMode
32
+ $('#tabs a[href="#block-tab"]').tab('show')
33
+
34
+ filename = filename.replace(/(\.rb)?\.xml$/, '.rb')
35
+ Smalruby.blocklyLoading = true
31
36
  Smalruby.loadXml(info.data)
32
37
  info.data = Blockly.Ruby.workspaceToCode()
38
+ else
39
+ Smalruby.Collections.CharacterSet.reset()
40
+ Blockly.mainWorkspace.clear()
41
+
42
+ if window.blockMode
43
+ $('#tabs a[href="#ruby-tab"]').tab('show')
44
+ window.textEditor.focus()
45
+
46
+ $('#filename').val(filename)
33
47
  window.textEditor.getSession().getDocument().setValue(info.data)
34
48
  window.textEditor.moveCursorTo(0, 0)
35
- unless window.blockMode
36
- window.textEditor.focus()
37
49
  # TODO: window.changed -> Smalruby.Models.SourceCode.changed
38
50
  window.changed = false
39
51
  window.successMessage('ロードしました')
@@ -152,7 +164,11 @@ Smalruby.MainMenuView = Backbone.View.extend
152
164
  $('#filename').focus()
153
165
  return
154
166
 
155
- sourceCode = @getSourceCode()
167
+ if window.blockMode
168
+ filename += '.xml' unless filename.match(/\.xml$/)
169
+ sourceCode = new Smalruby.SourceCode({ filename: filename })
170
+ else
171
+ sourceCode = @getSourceCode()
156
172
 
157
173
  @blockUI
158
174
  title:
@@ -24,6 +24,7 @@
24
24
  end
25
25
 
26
26
  hues = %w(
27
+ 225
27
28
  225
28
29
  264
29
30
  296
@@ -34,18 +35,30 @@
34
35
  200
35
36
  93
36
37
  93
38
+ 93
37
39
  340
38
40
  208
41
+ 208
42
+ 208
43
+ 208
44
+ 208
39
45
  ).map(&:to_i)
40
46
 
47
+ ruby_genre_index = hues.index(340) + 1
48
+
41
49
  colors = hues.map { |h|
42
50
  [hsv_to_rgb(h, 100, 80), hsv_to_rgb(h, 100, 100)]
43
51
  }
44
52
 
53
+ ids = (0..9).to_a + ('a'..'z').to_a
45
54
  colors.each.with_index(1) do |(color, active_color), index|
46
55
  %>
47
56
 
48
- #\:<%= '%x' % index %> {
57
+ #\:<%= ids[index] %> {
58
+ <% if index == ruby_genre_index %>
59
+ display: none;
60
+
61
+ <% end %>
49
62
  .blocklyTreeRow {
50
63
  padding-top: 0.25em;
51
64
  padding-bottom: 0.25em;
@@ -1,28 +1,10 @@
1
1
  %xml{:id => 'toolbox', :style => 'display: none'}
2
2
  - category = 'motion'
3
- %category{:name => '動き'}
3
+ %category{:name => '移動'}
4
4
  -# ( )歩動かす
5
5
  %block{:type => "#{category}_move"}
6
6
  = toolbox_number_value('STEP', 10)
7
7
 
8
- -# 時計回りに( )度回す
9
- %block{:type => "#{category}_rotate_right"}
10
- = toolbox_number_value('ANGLE', 15)
11
-
12
- -# 半時計回りに( )度回す
13
- %block{:type => "#{category}_rotate_left"}
14
- = toolbox_number_value('ANGLE', 15)
15
-
16
- -# ( )度に向ける
17
- %block{:type => "#{category}_set_angle"}
18
- = toolbox_number_value('ANGLE', 90)
19
-
20
- -# マウスポインターへ向ける
21
- %block{:type => "#{category}_point_towards_mouse"}
22
-
23
- -# [▼]へ向ける
24
- %block{:type => "#{category}_point_towards_character"}
25
-
26
8
  -# x座標を( )、y座標を( )にする
27
9
  %block{:type => "#{category}_set_x_y"}
28
10
  = toolbox_number_value('X')
@@ -56,6 +38,13 @@
56
38
  %block{:type => "#{category}_set_y"}
57
39
  = toolbox_number_value('Y', 0)
58
40
 
41
+ -# 変数:x座標
42
+ %block{:type => "#{category}_self_x"}
43
+
44
+ -# 変数:y座標
45
+ %block{:type => "#{category}_self_y"}
46
+
47
+ %category{:name => '回転'}
59
48
  -# もし端に着いたら、跳ね返る
60
49
  %block{:type => "#{category}_turn_if_reach_wall"}
61
50
 
@@ -65,14 +54,26 @@
65
54
  -# 跳ね返る
66
55
  %block{:type => "#{category}_turn"}
67
56
 
68
- -# 回転方法を[▼]にする
69
- -#%block{:type => "#{category}_set_rotation_style"}
57
+ -# 時計回りに( )度回す
58
+ %block{:type => "#{category}_rotate_right"}
59
+ = toolbox_number_value('ANGLE', 15)
70
60
 
71
- -# 変数:x座標
72
- %block{:type => "#{category}_self_x"}
61
+ -# 半時計回りに( )度回す
62
+ %block{:type => "#{category}_rotate_left"}
63
+ = toolbox_number_value('ANGLE', 15)
73
64
 
74
- -# 変数:y座標
75
- %block{:type => "#{category}_self_y"}
65
+ -# ( )度に向ける
66
+ %block{:type => "#{category}_set_angle"}
67
+ = toolbox_number_value('ANGLE', 90)
68
+
69
+ -# マウスポインターへ向ける
70
+ %block{:type => "#{category}_point_towards_mouse"}
71
+
72
+ -# [▼]へ向ける
73
+ %block{:type => "#{category}_point_towards_character"}
74
+
75
+ -# 回転方法を[▼]にする
76
+ -#%block{:type => "#{category}_set_rotation_style"}
76
77
 
77
78
  -# 変数:向き
78
79
  %block{:type => "#{category}_self_angle"}
@@ -246,15 +247,6 @@
246
247
  = toolbox_number_value('A', 1)
247
248
  = toolbox_number_value('B', 10)
248
249
 
249
- -# 変数:( )の( )番目
250
- %block{:type => "#{category}_index_of"}
251
- = toolbox_text_value('A', 'あいうえお')
252
- = toolbox_number_value('INDEX', 1)
253
-
254
- -# 変数:( )の長さ
255
- %block{:type => "#{category}_length"}
256
- = toolbox_text_value('A', 'あいうえお')
257
-
258
250
  -# 変数:( )を( )で割った余り
259
251
  %block{:type => "#{category}_modulo"}
260
252
  = toolbox_number_value('A', 5)
@@ -270,16 +262,26 @@
270
262
  %field{:name => 'METHOD'}<
271
263
  Math.sqrt(%num%)
272
264
 
273
- -# テキスト
274
- %block{:type => 'text'}
275
- %field{:name => 'TEXT'}<
276
- 文章
277
-
278
265
  -# 数値
279
266
  %block{:type => 'math_number'}
280
267
  %field{:name => 'NUM'}<
281
268
  0
282
269
 
270
+ %category{:name => '文字'}
271
+ -# 変数:( )の( )番目
272
+ %block{:type => "#{category}_index_of"}
273
+ = toolbox_text_value('A', 'あいうえお')
274
+ = toolbox_number_value('INDEX', 1)
275
+
276
+ -# 変数:( )の長さ
277
+ %block{:type => "#{category}_length"}
278
+ = toolbox_text_value('A', 'あいうえお')
279
+
280
+ -# テキスト
281
+ %block{:type => 'text'}
282
+ %field{:name => 'TEXT'}<
283
+ 文章
284
+
283
285
  %category{:name => '条件'}
284
286
  -# 条件:( ) < ( )
285
287
  %block{:type => "#{category}_compare_gt"}
@@ -328,7 +330,7 @@
328
330
  %block{:type => "#{category}_p"}
329
331
 
330
332
  - category = 'hardware'
331
- %category{:name => 'ハードウェア'}
333
+ %category{:name => 'アクチュエータ'}
332
334
  %category{:name => '準備'}
333
335
  -# ハードウェアを準備する
334
336
  %block{:type => "#{category}_init_hardware"}
@@ -362,10 +364,10 @@
362
364
  -# -# LCDをクリアする
363
365
  -# %block{:type => "#{category}_lcd_clear"}
364
366
 
365
- %category{:name => 'サーボ'}
366
- -# サーボ[▼ピン]を( )度(5~180)にする
367
- %block{:type => "#{category}_servo_set_position"}
368
- = toolbox_number_value('POS', 90)
367
+ -#%category{:name => 'サーボ'}
368
+ -# -# サーボ[▼ピン]を( )度(5~180)にする
369
+ -# %block{:type => "#{category}_servo_set_position"}
370
+ -# = toolbox_number_value('POS', 90)
369
371
 
370
372
  -#%category{:name => 'ボタン'}
371
373
  -# -# 条件:ボタン[▼]を押している
@@ -380,9 +382,9 @@
380
382
  -# -# ボタン[▼]を離したとき
381
383
  -# %block{:type => "#{category}_on_button_up"}
382
384
 
383
- %category{:name => 'センサー'}
384
- -# センサー[▼PIN]
385
- %block{:type => "#{category}_sensor_value"}
385
+ %category{:name => 'センサー'}
386
+ -# センサー[▼PIN]
387
+ %block{:type => "#{category}_sensor_value"}
386
388
 
387
- -# センサー[▼PIN]が変化したとき
388
- %block{:type => "#{category}_on_sensor_change"}
389
+ -# センサー[▼PIN]が変化したとき
390
+ %block{:type => "#{category}_on_sensor_change"}
@@ -1,3 +1,3 @@
1
1
  module SmalrubyEditor
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
@@ -56,7 +56,7 @@ Gem::Specification.new do |spec|
56
56
 
57
57
  runtime_dependencies =
58
58
  [
59
- ['rails', '4.0.2'],
59
+ ['rails', '4.0.3'],
60
60
  ['sqlite3'],
61
61
  ['sass-rails', '~> 4.0.0'],
62
62
  ['uglifier', '>= 1.3.0'],
@@ -2,44 +2,92 @@
2
2
  # language: ja
3
3
  @javascript
4
4
  機能: control_loop - 「ずっと」ブロック
5
- シナリオ: ブロックのみ配置する
5
+ 背景:
6
6
  前提 "ブロック" タブを表示する
7
+ かつ 次のキャラクターを追加する:
8
+ | name | costumes | x | y | angle |
9
+ | car1 | car1.png | 0 | 0 | 0 |
7
10
 
11
+ シナリオ: ブロックのみ配置する
8
12
  もし 次のブロックを配置する:
9
- """
10
- %block{:type => "control_loop", :x => "0", :y => "0"}
11
- """
13
+ """
14
+ %block{:type => "control_loop", :x => "0", :y => "0"}
15
+ """
12
16
  かつ ブロックからソースコードを生成する
13
17
 
14
- ならば テキストエディタのプログラムは以下であること:
15
- """
16
- require "smalruby"
18
+ ならば テキストエディタのプログラムは "" であること
17
19
 
18
- loop do
19
-
20
- end
20
+ シナリオ: ブロックとその内側に文を配置する
21
+ もし 次のブロックを配置する:
22
+ """
23
+ %block{:type => "control_loop", :x => "0", :y => "0"}
24
+ %statement{:name => "DO"}
25
+ %block{:type => "ruby_statement", :x => "0", :y => "0"}
26
+ %field{:name => "STATEMENT"}<
27
+ p self
28
+ """
29
+ かつ ブロックからソースコードを生成する
21
30
 
22
- """
31
+ ならば テキストエディタのプログラムは "" であること
23
32
 
24
33
  シナリオ: ブロックとその内側に文を配置する
25
- 前提 "ブロック" タブを表示する
34
+ もし 次のブロックを配置する:
35
+ """
36
+ %block{:type => "control_loop", :x => "0", :y => "0"}
37
+ %statement{:name => "DO"}
38
+ %block{:type => "ruby_statement", :x => "0", :y => "0"}
39
+ %field{:name => "STATEMENT"}<
40
+ p self
41
+ """
42
+ かつ ブロックからソースコードを生成する
43
+
44
+ ならば テキストエディタのプログラムは "" であること
26
45
 
46
+ シナリオ: キャラクターと文とブロックを配置する
27
47
  もし 次のブロックを配置する:
28
- """
29
- %block{:type => "control_loop", :x => "0", :y => "0"}
30
- %statement{:name => "DO"}
31
- %block{:type => "ruby_statement", :x => "0", :y => "0"}
32
- %field{:name => "STATEMENT"}<
33
- p self
34
- """
48
+ """
49
+ %block{:type => "character_new", :x => "21", :y => "15"}
50
+ %field{:name => "NAME"}<
51
+ car1
52
+ %statement{:name => "DO"}
53
+ %block{:type => "control_loop", :x => "0", :y => "0"}
54
+ %statement{:name => "DO"}
55
+ %block{:type => "ruby_statement", :x => "0", :y => "0"}
56
+ %field{:name => "STATEMENT"}<
57
+ p self
58
+ """
35
59
  かつ ブロックからソースコードを生成する
36
60
 
37
- ならば テキストエディタのプログラムは以下であること:
38
- """
39
- require "smalruby"
61
+ ならば テキストエディタのプログラムは以下を含まないこと:
62
+ """
63
+ loop do
64
+ p self
65
+ end
66
+ """
67
+
68
+ シナリオ: キャラクターとイベントと文とブロックを配置する
69
+ もし 次のブロックを配置する:
70
+ """
71
+ %block{:type => "character_new", :x => "21", :y => "15"}
72
+ %field{:name => "NAME"}<
73
+ car1
74
+ %statement{:name => "DO"}
75
+ %block{:type => "events_on_start"}
76
+ %statement{:name => "DO"}
77
+ %block{:type => "control_loop", :x => "0", :y => "0"}
78
+ %statement{:name => "DO"}
79
+ %block{:type => "ruby_statement", :x => "0", :y => "0"}
80
+ %field{:name => "STATEMENT"}<
81
+ p self
82
+ """
83
+ かつ ブロックからソースコードを生成する
40
84
 
41
- loop do
42
- p self
43
- end
85
+ ならば テキストエディタのプログラムは以下を含むこと:
86
+ """
87
+ car1.on(:start) do
88
+ loop do
89
+ p self
90
+ end
91
+ end
44
92
 
45
- """
93
+ """
@@ -97,6 +97,9 @@ Spork.prefork do
97
97
  Capybara.javascript_driver = :selenium
98
98
  else
99
99
  Capybara.javascript_driver = :poltergeist
100
+ Capybara.register_driver(:poltergeist) { |app|
101
+ Capybara::Poltergeist::Driver.new(app, timeout: 120)
102
+ }
100
103
  end
101
104
 
102
105
  config.include JsonSpec::Helpers
@@ -58,6 +58,15 @@ step 'テキストエディタのプログラムは以下を含むこと:' do |p
58
58
  JS
59
59
  end
60
60
 
61
+ step 'テキストエディタのプログラムは以下を含まないこと:' do |program|
62
+ expect(page.evaluate_script(<<-JS)).not_to include(program)
63
+ ace.edit('#{NAME_INFO[text_editor][:id]}')
64
+ .getSession()
65
+ .getDocument()
66
+ .getValue()
67
+ JS
68
+ end
69
+
61
70
  step 'テキストエディタのプログラムは :program であること' do |program|
62
71
  expect(page.evaluate_script(<<-JS)).to eq(program)
63
72
  ace.edit('#{NAME_INFO[text_editor][:id]}')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smalruby-editor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Kouji Takao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-18 00:00:00.000000000 Z
11
+ date: 2014-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.2
19
+ version: 4.0.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.0.2
26
+ version: 4.0.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: sqlite3
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -332,7 +332,6 @@ files:
332
332
  - app/assets/images/.keep
333
333
  - app/assets/images/favicon.ico
334
334
  - app/assets/javascripts/application.js
335
- - app/assets/javascripts/block_mode.js.coffee.erb
336
335
  - app/assets/javascripts/blocks/blockly.js.coffee.erb
337
336
  - app/assets/javascripts/blocks/character.js.coffee.erb
338
337
  - app/assets/javascripts/blocks/control.js.coffee.erb
@@ -571,10 +570,10 @@ files:
571
570
  - vendor/assets/javascripts/blockly/msg/js/ja.js
572
571
  - vendor/assets/javascripts/jquery.blockUI.js
573
572
  - vendor/assets/stylesheets/.keep
574
- - public/assets/application-0e1a6c238c0cc501b29746e5db35b5a1.css
575
- - public/assets/application-0e1a6c238c0cc501b29746e5db35b5a1.css.gz
576
- - public/assets/application-735e172a0df828da16d22f5d3c26671f.js
577
- - public/assets/application-735e172a0df828da16d22f5d3c26671f.js.gz
573
+ - public/assets/application-0047adbc0fb7a529ef7a41b5e0e7d097.js
574
+ - public/assets/application-0047adbc0fb7a529ef7a41b5e0e7d097.js.gz
575
+ - public/assets/application-64a390efe879c386a5950515064f062d.css
576
+ - public/assets/application-64a390efe879c386a5950515064f062d.css.gz
578
577
  - public/assets/default-5d1886100d7c8961e9962bbc4bb0c714.xml
579
578
  - public/assets/favicon-a37c90b368fd8ed436cb8f9e9396465c.ico
580
579
  - public/assets/jquery-ui/animated-overlay-c48c87b7a95316f4698484e3b85ee4aa.gif
@@ -592,7 +591,7 @@ files:
592
591
  - public/assets/jquery-ui/ui-icons_888888_256x240-57c441f87c4289a5372823f506c1182d.png
593
592
  - public/assets/jquery-ui/ui-icons_cd0a0a_256x240-261647ac915575f3981ded254ae8d43e.png
594
593
  - public/assets/loading-e8e6dd7833131c92a6c3b9c8ccc6a6ac.gif
595
- - public/assets/manifest-1f254fa92a71ba4faad0f99136daeed8.json
594
+ - public/assets/manifest-332a5a1668194028b55103e0ea45c054.json
596
595
  - public/assets/progressbar-82023a146fba2a0f6d925629ed2b09c5.gif
597
596
  - public/assets/rgb_led_anode-91225bef2a8b97f1cefee862a0619b91.xml
598
597
  homepage: https://github.com/smalruby/smalruby-editor
@@ -1,10 +0,0 @@
1
- $ ->
2
- Blockly.HSV_SATURATION = 1.0
3
- Blockly.HSV_VALUE = 0.8
4
-
5
- Blockly.inject document.getElementById('blockly-div'),
6
- path: '/blockly/'
7
- toolbox: document.getElementById('toolbox')
8
- trashcan: true
9
-
10
- Blockly.Toolbox.tree_.expandAll()