nydp-html 0.0.8 → 0.0.9
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 +4 -4
- data/lib/lisp/{to-html.nydp → html-010-tools.nydp} +21 -14
- data/lib/lisp/html-020-help.nydp +62 -0
- data/lib/lisp/tests/help-examples.nydp +40 -0
- data/lib/lisp/tests/html-tag-tests.nydp +20 -18
- data/lib/nydp/html.rb +1 -2
- data/lib/nydp/html/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9072543e9d73bf1cba1b4a1d3e8a948986afa2cb
|
4
|
+
data.tar.gz: 63bcce7beddc22b819218a1d09a66c7d15904c88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5afdc105df1bcb48d34e124a60ab930456df57fef490698d3f12c4265e04153b357a62e73c6d9d826d9d19c1f1ffea2dbe1b166873434e69331a54c0c06aea09
|
7
|
+
data.tar.gz: 227ad74bf6660d041e1b24e468c294d1222d817e52aeb93415912bbaa390c4b9fd45b335ee0af84f8fb81371d1e60239b331a59de818e443071aef1cdaad69df
|
@@ -1,17 +1,3 @@
|
|
1
|
-
;
|
2
|
-
; render-as-textile:
|
3
|
-
;
|
4
|
-
; (render-as-textile "hello world") ;=> "<p>hello world</p>"
|
5
|
-
; (render-as-textile (get-some-text-from 'somewhere)) ;=> (textile-to-html (get-some-text-from 'somewhere))
|
6
|
-
; (render-as-textile "hello ~name") ;=> (string-pieces "<p>hello" name "<p>")
|
7
|
-
;
|
8
|
-
; render-as-haml:
|
9
|
-
;
|
10
|
-
; (render-as-haml "%p hello world") ;=> "<p>hello world</p>"
|
11
|
-
; (render-as-haml (get-some-text-from 'somewhere)) ;=> (haml-to-html (get-some-text-from 'somewhere))
|
12
|
-
; (render-as-haml "%p hello ~name") ;=> (string-pieces "<p>hello" name "<p>")
|
13
|
-
;
|
14
|
-
|
15
1
|
(def interpolate (arg) arg)
|
16
2
|
|
17
3
|
(def html-process-parts (parts converter)
|
@@ -31,6 +17,12 @@
|
|
31
17
|
(map html-interpolatify-arg tuples))))))
|
32
18
|
|
33
19
|
(mac render-as-haml (arg)
|
20
|
+
; produce code to convert 'arg to html using a haml interpreter
|
21
|
+
; for example:
|
22
|
+
;
|
23
|
+
; (render-as-haml "%p hello world") ;=> "<p>hello world</p>"
|
24
|
+
; (render-as-haml (get-some-text-from 'somewhere)) ;=> (haml-to-html (get-some-text-from 'somewhere))
|
25
|
+
; (render-as-haml "%p hello ~name") ;=> (string-pieces "<p>hello" name "<p>")
|
34
26
|
(if (isa 'string arg)
|
35
27
|
(haml-to-html arg)
|
36
28
|
(and (pair? arg)
|
@@ -39,6 +31,12 @@
|
|
39
31
|
`(haml-to-html ,arg)))
|
40
32
|
|
41
33
|
(mac render-as-textile (arg)
|
34
|
+
; produces code to convert 'arg to html using a textile interpreter
|
35
|
+
; for example:
|
36
|
+
;
|
37
|
+
; (render-as-textile "hello world") ;=> "<p>hello world</p>"
|
38
|
+
; (render-as-textile (get-some-text-from 'somewhere)) ;=> (textile-to-html (get-some-text-from 'somewhere))
|
39
|
+
; (render-as-textile "hello ~name") ;=> (string-pieces "<p>hello" name "<p>")
|
42
40
|
(if (isa 'string arg)
|
43
41
|
(textile-to-html arg)
|
44
42
|
(and (pair? arg)
|
@@ -49,6 +47,15 @@
|
|
49
47
|
(def to-css-rule (prop val) (joinstr "" prop ":" val ";"))
|
50
48
|
|
51
49
|
(def to-css (hsh)
|
50
|
+
; convert given 'hsh to a CSS string. Keys of 'hsh are
|
51
|
+
; css properties; the corresponding values are css values.
|
52
|
+
;
|
53
|
+
; example:
|
54
|
+
; (to-css { background "black" font-size "12px" })
|
55
|
+
;
|
56
|
+
; produces
|
57
|
+
; "background:black;font-size:12px;"
|
58
|
+
;
|
52
59
|
(and hsh
|
53
60
|
(joinstr "" (map (fn (k) (to-css-rule k hsh.,k))
|
54
61
|
(hash-keys hsh)))))
|
@@ -0,0 +1,62 @@
|
|
1
|
+
(def helpful/type (thing)
|
2
|
+
(if (no thing)
|
3
|
+
"nil"
|
4
|
+
(let type (type-of thing)
|
5
|
+
(if (string-match type "ruby/Hash")
|
6
|
+
'ruby-hash
|
7
|
+
(string-match type "ruby/")
|
8
|
+
'object
|
9
|
+
type))))
|
10
|
+
|
11
|
+
(def helpful/info (thing)
|
12
|
+
; tries to say something useful about the 'thing
|
13
|
+
(if (no thing)
|
14
|
+
"nil"
|
15
|
+
(pair? thing)
|
16
|
+
"list with ~(len thing) elements, first is a ~(helpful/type:car thing)"
|
17
|
+
(let mytype (helpful/type thing)
|
18
|
+
(if (or (eq? mytype 'hash)
|
19
|
+
(eq? mytype 'ruby-hash)
|
20
|
+
(eq? mytype 'object))
|
21
|
+
(joinstr "\n"
|
22
|
+
(map λk(joinstr " -> " k (helpful/type thing.,k))
|
23
|
+
(hash-keys thing)))
|
24
|
+
"~(inspect thing) is a ~(helpful/type thing)"))))
|
25
|
+
|
26
|
+
(def helpful/index ()
|
27
|
+
; return the names and types of all the things that are documented
|
28
|
+
(joinstr "\n"
|
29
|
+
(map (curry inspect:firstn 2)
|
30
|
+
(collect dox-with-documentation (dox-all-items)))))
|
31
|
+
|
32
|
+
(mac helpful/dox (name)
|
33
|
+
; finds documentation for the named thing
|
34
|
+
`(let infos (dox-lookup ',name)
|
35
|
+
(if (no infos)
|
36
|
+
(joinstr " : " ,(pp name) (helpful/info ,name))
|
37
|
+
(joinstr "\n\n"
|
38
|
+
(map λi(apply dox-show-info i)
|
39
|
+
infos)))))
|
40
|
+
|
41
|
+
(def helpful/examples (name)
|
42
|
+
; finds examples that have been defined for the given 'name
|
43
|
+
(let examples (dox-examples name)
|
44
|
+
(if examples
|
45
|
+
(joinstr "\n"
|
46
|
+
(map (curry dox-show-examples name)
|
47
|
+
examples)))))
|
48
|
+
|
49
|
+
(mac help (thing)
|
50
|
+
; returns helpful information about the thing
|
51
|
+
; if thing is nil, show what help is available for
|
52
|
+
`(%pre.helpful ,(if (no thing)
|
53
|
+
`(helpful/index)
|
54
|
+
`(joinstr "\n\n"
|
55
|
+
(helpful/dox ,thing)
|
56
|
+
(helpful/examples ',thing)))))
|
57
|
+
|
58
|
+
(def-colon-syntax help names
|
59
|
+
(let target (cadr names)
|
60
|
+
`(help ,(if (eq? target '||)
|
61
|
+
nil
|
62
|
+
target))))
|
@@ -0,0 +1,40 @@
|
|
1
|
+
;; this function and the following example are used as test-cases in examples-for help
|
2
|
+
(def test-example-f (foo)
|
3
|
+
; more than just foo
|
4
|
+
(+ 2 foo))
|
5
|
+
|
6
|
+
(examples-for test-example-f
|
7
|
+
("adds two"
|
8
|
+
(test-example-f 99)
|
9
|
+
101))
|
10
|
+
|
11
|
+
(examples-for help
|
12
|
+
("returns dox and examples for the given name"
|
13
|
+
help:test-example-f
|
14
|
+
"<pre class='helpful'>Function : test-example-f
|
15
|
+
|
16
|
+
args : (foo)
|
17
|
+
|
18
|
+
more than just foo
|
19
|
+
|
20
|
+
source
|
21
|
+
======
|
22
|
+
(def test-example-f (foo)
|
23
|
+
(+ 2 foo))
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
Examples for test-example-f
|
28
|
+
==================
|
29
|
+
|
30
|
+
test-example-f adds two
|
31
|
+
|
32
|
+
running :
|
33
|
+
(test-example-f 99)
|
34
|
+
|
35
|
+
produces : 101
|
36
|
+
|
37
|
+
--------------------------------
|
38
|
+
|
39
|
+
|
40
|
+
</pre>"))
|
@@ -1,21 +1,19 @@
|
|
1
|
-
(
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
(link-to "click here!" "/other-page.html" { class "turbo" })
|
18
|
-
"<a href='/other-page.html' class='turbo'>click here!</a>"))))
|
1
|
+
(examples-for html-tag
|
2
|
+
("returns a html string"
|
3
|
+
(html-tag "div" { class 'yellow style (to-css { border "1px solid blue" font-size "3em" }) }
|
4
|
+
(html-tag "h1" nil "Welcome")
|
5
|
+
(html-tag "p" { class "yadda" } "blah blah"))
|
6
|
+
"<div class='yellow' style='border:1px solid blue;font-size:3em;'><h1>Welcome</h1><p class='yadda'>blah blah</p></div>"))
|
7
|
+
|
8
|
+
(examples-for img
|
9
|
+
("returns an img tag"
|
10
|
+
(img "/assets/face.png")
|
11
|
+
"<img src='/assets/face.png'/>"))
|
12
|
+
|
13
|
+
(examples-for a
|
14
|
+
("returns an anchor tag"
|
15
|
+
(link-to "click here!" "/other-page.html" { class "turbo" })
|
16
|
+
"<a href='/other-page.html' class='turbo'>click here!</a>"))
|
19
17
|
|
20
18
|
(examples-for percent-syntax
|
21
19
|
("generates a simple html tag"
|
@@ -30,6 +28,10 @@
|
|
30
28
|
(%p "hello " (%b.thick "you") " over " (%i "there"))
|
31
29
|
"<p>hello <b class='thick'>you</b> over <i>there</i></p>")
|
32
30
|
|
31
|
+
("concatenates content"
|
32
|
+
(%p (map λx(%span.hello x) '(a b c)))
|
33
|
+
"<p><span class='hello'>a</span><span class='hello'>b</span><span class='hello'>c</span></p>")
|
34
|
+
|
33
35
|
("generates html tags with multiple classnames"
|
34
36
|
(%p "hello " (%b.thick.dense "you") " over " (%i "there"))
|
35
37
|
"<p>hello <b class='thick dense'>you</b> over <i>there</i></p>")
|
data/lib/nydp/html.rb
CHANGED
data/lib/nydp/html/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nydp-html
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Conan Dalton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -122,10 +122,12 @@ files:
|
|
122
122
|
- README.md
|
123
123
|
- Rakefile
|
124
124
|
- bin/nydp-tests
|
125
|
+
- lib/lisp/html-010-tools.nydp
|
126
|
+
- lib/lisp/html-020-help.nydp
|
125
127
|
- lib/lisp/tests/haml-tests.nydp
|
128
|
+
- lib/lisp/tests/help-examples.nydp
|
126
129
|
- lib/lisp/tests/html-tag-tests.nydp
|
127
130
|
- lib/lisp/tests/textile-tests.nydp
|
128
|
-
- lib/lisp/to-html.nydp
|
129
131
|
- lib/nydp/html.rb
|
130
132
|
- lib/nydp/html/version.rb
|
131
133
|
- nydp-html.gemspec
|