This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
lyndon /
| name | age | message | |
|---|---|---|---|
| |
LICENSE | Thu Jun 18 21:00:44 -0700 2009 | |
| |
README.markdown | Wed Aug 26 03:08:32 -0700 2009 | |
| |
Rakefile | Thu Sep 10 15:27:39 -0700 2009 | |
| |
bin/ | Sat Sep 12 09:54:35 -0700 2009 | |
| |
examples/ | Wed Aug 26 03:08:32 -0700 2009 | |
| |
lib/ | Thu Sep 10 15:27:31 -0700 2009 |
README.markdown
Lyndon
Lyndon is like Johnson. But for MacRuby. And with JavaScriptCore.
Here It Goes
$ rip install git://github.com/defunkt/lyndon.git
Successfully installed lyndon (41548d2)
$ lyndon
js> 1 + 1
=> 2
js> function name() { return "lyndon!" }
=> undefined
js> name
=> function name() { return "lyndon!" }
js> name()
=> "lyndon!"
js> Ruby.puts('Ruby, I presume.')
Ruby, I presume.
=> undefined
js> Ruby.File_read('hi.js')
=> "// this is hi.js\n"
Stuff like that.
Oh, the DOM
$ lyndon test.html
js> Lyndon.require('jquery.min.js')
=> true
js> jQuery('#hi').html()
=> "Hello."
js> jQuery('#hi').html('Hi.')
=> [object Object]
js> jQuery('#hi').html()
=> "Hi."
=> "[object HTMLBodyElement]"
js> document.body.innerHTML
=> "\n <h1 id=\"hi\">Hi.</h1>\n \n\n"
HTML with JavaScript
$ cat examples/index.html | lyndon
<html><head>
<title>It worked!</title>
</head><body>
<div id="content">
<div id="hi">Hello world!</div></div>
</body></html>
Note that the <div id="hi">Hello world!</div></div> does not exist
in examples/index.html - it's added at runtime by
JavaScript. JavaScript that strips itself out and changes the
<title>.
Seriously.
With Ruby
If you want:
$ macirb
>> require 'lyndon'
=> true
>> Lyndon.eval('1 + 1')
=> 2
>> r = Lyndon::Runtime.new
=> ##-<Lyndon::Runtime:...>
>> r.eval('var name = "chris"')
=> undefined
>> r.eval('name')
=> "chris"
That's basically it.
Chris Wanstrath // chris@ozmm.org







