s2p 0.0.3 → 0.0.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b73d542564f034b0306408ed0990c44b3e69e3a6579b5b3e7dcff27f87dd7794
4
- data.tar.gz: 96b2d912b2a9ef96d3da9493f59fffe45cf6a4c20f0cf5e05a4feb6a75382fc1
3
+ metadata.gz: fdcd6755739bf7072a6271b5a28608c3c8c1261ad4dee98988219d7685ceba4a
4
+ data.tar.gz: 2c7a496e4dddd121faa9bc27910fa88c51219aa0eb785b589a58aed13d04347f
5
5
  SHA512:
6
- metadata.gz: da5df6baf58e444e4493105ee9f6331c256f7c0806514047d8d21c8fc38d97825bf41974a08e6694697e0267d6bb867444ade10bfb47b5659581a29bd13ee331
7
- data.tar.gz: af12cb3b1dd4ca1359b82b703532440e00191a26e2f80206a937b08c7a223eebad2e85f312f742e5d08a316bda5a87034366f3f20fa1036823a004a9073c8eb9
6
+ metadata.gz: ad04853d770053e71d51bb97cb9d170ce9e25c270954d5bb7b91b85bfe3df8675e5760bc9f9d28eded3257aa588487fff81be465921057accdc2c216de09e8c7
7
+ data.tar.gz: f3c3de8c4be91fe9ba28a2ae70cafdfbaeabc0f434021e5b2033989335fbbfb816e2c544eeddef320ec7f5ab701895dadc3fe577fceb2a1721df021b0a6a6c65
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require "redcarpet"
5
+ rescue LoadError
6
+ fail "The S2P::Notebook feature needs the redcarpet gem installed to run"
7
+ end
8
+
9
+ module S2P
10
+ class Notebook
11
+ def self.run_file(source, runner_class=NotebookRunner)
12
+ run(File.read(source), runner_class)
13
+ end
14
+
15
+ def self.run(source, runner_class=NotebookRunner)
16
+ Redcarpet::Markdown.new(runner_class, :fenced_code_blocks => true).render(source)
17
+
18
+ :ok
19
+ end
20
+ end
21
+
22
+ class Notebook
23
+ class Component
24
+ def self.[](*a, **o)
25
+ new(*a, **o)
26
+ end
27
+ end
28
+ end
29
+
30
+ class NotebookRunner < Redcarpet::Render::HTML
31
+ def codespan(code)
32
+ case code
33
+ when /^~ /
34
+ eval(code[/^~ (.*)/, 1], MAIN_BINDING)
35
+ else
36
+ eval("puts(#{code})", MAIN_BINDING)
37
+ end
38
+
39
+ ""
40
+ end
41
+
42
+ def block_code(text, operation)
43
+ case operation
44
+ when nil, "ruby"
45
+ eval(text, MAIN_BINDING) # See end of file for this hack.
46
+ when "text"
47
+ puts(text)
48
+ end
49
+
50
+ ""
51
+ end
52
+ end
53
+ end
54
+
55
+ S2P::NotebookRunner::MAIN_BINDING = binding
data/lib/s2p/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module S2P
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s2p
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregory Brown
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-02-01 00:00:00.000000000 Z
10
+ date: 2025-02-02 00:00:00.000000000 Z
11
11
  dependencies: []
12
12
  description: Experimental dev utilies from skillstopractice.com. Will eventually find
13
13
  homes in their own gems if they pan out.
@@ -18,6 +18,7 @@ extra_rdoc_files: []
18
18
  files:
19
19
  - lib/s2p/component.rb
20
20
  - lib/s2p/contractor.rb
21
+ - lib/s2p/notebook.rb
21
22
  - lib/s2p/version.rb
22
23
  licenses:
23
24
  - MIT