rubydown 0.1.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.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +35 -0
  3. data/.gitignore +3 -0
  4. data/Dockerfile +9 -0
  5. data/Gemfile +8 -0
  6. data/Gemfile.lock +43 -0
  7. data/LICENSE +21 -0
  8. data/README.md +32 -0
  9. data/Rakefile +2 -0
  10. data/_config.yml +1 -0
  11. data/appveyor.yml +25 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/docs/_config.yml +1 -0
  15. data/docs/index.html +20 -0
  16. data/docs/sidebyside.md +1 -0
  17. data/examples/bio.html +129 -0
  18. data/examples/bio.md +73 -0
  19. data/examples/graph.html +160 -0
  20. data/examples/graph.md +11 -0
  21. data/examples/index.html +217 -0
  22. data/examples/index.md +58 -0
  23. data/examples/numo-gnuplot.ipynb +1515 -0
  24. data/examples/rbplotly-bar.html +146 -0
  25. data/examples/rbplotly-bar.md +54 -0
  26. data/examples/rbplotly-basic.html +134 -0
  27. data/examples/rbplotly-basic.md +43 -0
  28. data/examples/rbplotly-boxplot.html +136 -0
  29. data/examples/rbplotly-boxplot.md +60 -0
  30. data/examples/rbplotly-heatmap.html +95 -0
  31. data/examples/rbplotly-heatmap.md +35 -0
  32. data/examples/rbplotly-hist.html +52 -0
  33. data/examples/rbplotly-hist.md +9 -0
  34. data/examples/rbplotly-line.html +62 -0
  35. data/examples/rbplotly-line.md +19 -0
  36. data/examples/rbplotly-pie.html +100 -0
  37. data/examples/rbplotly-pie.md +40 -0
  38. data/examples/rbplotly-scatter.html +148 -0
  39. data/examples/rbplotly-scatter.md +71 -0
  40. data/examples/rumale-kmeans.html +75 -0
  41. data/examples/rumale-kmeans.md +33 -0
  42. data/examples/rumale.html +967 -0
  43. data/examples/rumale.md +31 -0
  44. data/examples/table.html +57 -0
  45. data/examples/table.md +7 -0
  46. data/exe/rubydown +114 -0
  47. data/lib/rubydown.rb +59 -0
  48. data/lib/rubydown/version.rb +3 -0
  49. data/rubydown.gemspec +47 -0
  50. data/templates/template.html.erb +26 -0
  51. metadata +207 -0
@@ -0,0 +1,160 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1">
5
+ <link href='https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/2.10.0/github-markdown.min.css' rel='stylesheet' type='text/css' />
6
+ <style>
7
+ article.markdown-body {
8
+ box-sizing: border-box;
9
+ min-width: 200px;
10
+ max-width: 980px;
11
+ margin: 0 auto;
12
+ padding: 45px;
13
+ }
14
+
15
+ span.line-numbers {
16
+ display: none;
17
+ }
18
+ </style>
19
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
20
+ </head>
21
+ <body>
22
+ <article class='markdown-body'>
23
+ <h1 id="graph-generation-example">Graph generation example</h1>
24
+
25
+ <h2 id="with-numognuplothttpsgithubcomruby-numonumo-gnuplot">With <a href="https://github.com/ruby-numo/numo-gnuplot">Numo::Gnuplot</a></h2>
26
+
27
+ <p><code>Rubydown::RbMarkPlot</code> is extended class of <code>Numo::Gnuplot</code></p>
28
+
29
+ <pre><code class="language-ruby">rp = Rubydown::RbMarkPlot.new
30
+ rp.set title: "Example Plot"
31
+ rp.plot "sin(x)", w:"lines"
32
+ </code></pre>
33
+ <img src="data:image/png;base64,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
157
+ " />
158
+ </article>
159
+ </body>
160
+ </html>
data/examples/graph.md ADDED
@@ -0,0 +1,11 @@
1
+ # Graph generation example
2
+
3
+ ## With [Numo::Gnuplot](https://github.com/ruby-numo/numo-gnuplot)
4
+
5
+ `Rubydown::RbMarkPlot` is extended class of `Numo::Gnuplot`
6
+
7
+ ~~~ruby
8
+ rp = Rubydown::RbMarkPlot.new
9
+ rp.set title: "Example Plot"
10
+ rp.plot "sin(x)", w:"lines"
11
+ ~~~
@@ -0,0 +1,217 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1">
5
+ <link href='https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/2.10.0/github-markdown.min.css' rel='stylesheet' type='text/css' />
6
+ <style>
7
+ article.markdown-body {
8
+ box-sizing: border-box;
9
+ min-width: 200px;
10
+ max-width: 980px;
11
+ margin: 0 auto;
12
+ padding: 45px;
13
+ }
14
+
15
+ span.line-numbers {
16
+ display: none;
17
+ }
18
+ </style>
19
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
20
+ </head>
21
+ <body>
22
+ <article class='markdown-body'>
23
+ <h2 id="section">テスト</h2>
24
+
25
+ <h3 id="section-1">コードを書く</h3>
26
+
27
+ <p><em>~~~ruby</em> と <em>~~~</em> でコードを囲むと、そのブロックが評価される。</p>
28
+
29
+ <pre><code class="language-ruby">array = [1,2,3,4]
30
+ converted = array.map { |e| e * 100 }
31
+
32
+ converted # 最後の行が出力される
33
+ </code></pre>
34
+ <p> <pre><code>=&gt; [100, 200, 300, 400]
35
+ </code></pre>
36
+ </p>
37
+
38
+ <p>標準出力も表示される</p>
39
+
40
+ <pre><code class="language-ruby">puts :hoge
41
+
42
+ "fuga\npiyo".inspect
43
+ </code></pre>
44
+ <p> <pre><code>hoge
45
+
46
+ =&gt; "fuga\npiyo"
47
+ </code></pre>
48
+ </p>
49
+
50
+ <h3 id="section-2">ブロックは全部同じスコープ</h3>
51
+
52
+ <p>先程定義した変数<code>converted</code>が以下でも使える。</p>
53
+
54
+ <pre><code class="language-ruby">converted.map { |e| e / 100 }
55
+ </code></pre>
56
+ <p> <pre><code>=&gt; [1, 2, 3, 4]
57
+ </code></pre>
58
+ </p>
59
+
60
+ <h3 id="section-3">ライブラリを使う</h3>
61
+
62
+ <p>もちろん外部のライブラリをロードすることもできる。</p>
63
+
64
+ <pre><code class="language-ruby">require 'matrix'
65
+
66
+ Matrix.identity(10)
67
+ </code></pre>
68
+ <p> <pre><code>=&gt; Matrix[[1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]
69
+ </code></pre>
70
+ </p>
71
+
72
+ <h3 id="tohtml">to_htmlを実装する</h3>
73
+
74
+ <p><code>to_html</code> メソッドを実装すると、その結果が出力される。</p>
75
+
76
+ <pre><code class="language-ruby">class Matrix # オープンクラス
77
+ def to_html
78
+ rows = self.to_a.map do |row|
79
+ elems = row.map do |elem|
80
+ "&lt;td&gt;#{elem}&lt;/td&gt;"
81
+ end
82
+ "&lt;tr&gt;#{elems}&lt;/tr&gt;"
83
+ end
84
+ "&lt;table&gt;#{rows.join}&lt;/table&gt;"
85
+ end
86
+ end
87
+
88
+ Matrix.identity(10)
89
+ </code></pre>
90
+ <table>
91
+ <tbody>
92
+ <tr>
93
+ <td>1</td>
94
+ <td>0</td>
95
+ <td>0</td>
96
+ <td>0</td>
97
+ <td>0</td>
98
+ <td>0</td>
99
+ <td>0</td>
100
+ <td>0</td>
101
+ <td>0</td>
102
+ <td>0</td>
103
+ </tr>
104
+ <tr>
105
+ <td>0</td>
106
+ <td>1</td>
107
+ <td>0</td>
108
+ <td>0</td>
109
+ <td>0</td>
110
+ <td>0</td>
111
+ <td>0</td>
112
+ <td>0</td>
113
+ <td>0</td>
114
+ <td>0</td>
115
+ </tr>
116
+ <tr>
117
+ <td>0</td>
118
+ <td>0</td>
119
+ <td>1</td>
120
+ <td>0</td>
121
+ <td>0</td>
122
+ <td>0</td>
123
+ <td>0</td>
124
+ <td>0</td>
125
+ <td>0</td>
126
+ <td>0</td>
127
+ </tr>
128
+ <tr>
129
+ <td>0</td>
130
+ <td>0</td>
131
+ <td>0</td>
132
+ <td>1</td>
133
+ <td>0</td>
134
+ <td>0</td>
135
+ <td>0</td>
136
+ <td>0</td>
137
+ <td>0</td>
138
+ <td>0</td>
139
+ </tr>
140
+ <tr>
141
+ <td>0</td>
142
+ <td>0</td>
143
+ <td>0</td>
144
+ <td>0</td>
145
+ <td>1</td>
146
+ <td>0</td>
147
+ <td>0</td>
148
+ <td>0</td>
149
+ <td>0</td>
150
+ <td>0</td>
151
+ </tr>
152
+ <tr>
153
+ <td>0</td>
154
+ <td>0</td>
155
+ <td>0</td>
156
+ <td>0</td>
157
+ <td>0</td>
158
+ <td>1</td>
159
+ <td>0</td>
160
+ <td>0</td>
161
+ <td>0</td>
162
+ <td>0</td>
163
+ </tr>
164
+ <tr>
165
+ <td>0</td>
166
+ <td>0</td>
167
+ <td>0</td>
168
+ <td>0</td>
169
+ <td>0</td>
170
+ <td>0</td>
171
+ <td>1</td>
172
+ <td>0</td>
173
+ <td>0</td>
174
+ <td>0</td>
175
+ </tr>
176
+ <tr>
177
+ <td>0</td>
178
+ <td>0</td>
179
+ <td>0</td>
180
+ <td>0</td>
181
+ <td>0</td>
182
+ <td>0</td>
183
+ <td>0</td>
184
+ <td>1</td>
185
+ <td>0</td>
186
+ <td>0</td>
187
+ </tr>
188
+ <tr>
189
+ <td>0</td>
190
+ <td>0</td>
191
+ <td>0</td>
192
+ <td>0</td>
193
+ <td>0</td>
194
+ <td>0</td>
195
+ <td>0</td>
196
+ <td>0</td>
197
+ <td>1</td>
198
+ <td>0</td>
199
+ </tr>
200
+ <tr>
201
+ <td>0</td>
202
+ <td>0</td>
203
+ <td>0</td>
204
+ <td>0</td>
205
+ <td>0</td>
206
+ <td>0</td>
207
+ <td>0</td>
208
+ <td>0</td>
209
+ <td>0</td>
210
+ <td>1</td>
211
+ </tr>
212
+ </tbody>
213
+ </table>
214
+
215
+ </article>
216
+ </body>
217
+ </html>
data/examples/index.md ADDED
@@ -0,0 +1,58 @@
1
+ ## テスト
2
+
3
+ ### コードを書く
4
+
5
+ *~~~ruby* と *~~~* でコードを囲むと、そのブロックが評価される。
6
+
7
+ ~~~ruby
8
+ array = [1,2,3,4]
9
+ converted = array.map { |e| e * 100 }
10
+
11
+ converted # 最後の行が出力される
12
+ ~~~
13
+
14
+ 標準出力も表示される
15
+
16
+ ~~~ruby
17
+ puts :hoge
18
+
19
+ "fuga\npiyo".inspect
20
+ ~~~
21
+
22
+ ### ブロックは全部同じスコープ
23
+
24
+ 先程定義した変数`converted`が以下でも使える。
25
+
26
+ ~~~ruby
27
+ converted.map { |e| e / 100 }
28
+ ~~~
29
+
30
+ ### ライブラリを使う
31
+
32
+ もちろん外部のライブラリをロードすることもできる。
33
+
34
+ ~~~ruby
35
+ require 'matrix'
36
+
37
+ Matrix.identity(10)
38
+ ~~~
39
+
40
+ ### to_htmlを実装する
41
+
42
+ `to_html` メソッドを実装すると、その結果が出力される。
43
+
44
+ ~~~ruby
45
+ class Matrix # オープンクラス
46
+ def to_html
47
+ rows = self.to_a.map do |row|
48
+ elems = row.map do |elem|
49
+ "<td>#{elem}</td>"
50
+ end
51
+ "<tr>#{elems}</tr>"
52
+ end
53
+ "<table>#{rows.join}</table>"
54
+ end
55
+ end
56
+
57
+ Matrix.identity(10)
58
+ ~~~