nydp-html 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- 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
|