Sha256: fa3e6d3390910be6f8bbc05ac0572ee4a7e88ccebc6214bd0650d85a47f90b2b
Contents?: true
Size: 1.81 KB
Versions: 2
Compression:
Stored size: 1.81 KB
Contents
WWW\_App: --------- Create HTML pages using just Ruby: HTML/CSS/JS. It's not done yet. Ruby: -------------- To install: ```ruby gem install www_app ``` To Use: ```ruby div { border '1px solid #000' background_color 'grey' on('scary') { border '2px dotted red' background_color 'white' } p { 'Click the button to make me scared.' } button { parent 'div' add_class 'scary' 'Scary-ify' } } ``` It generates the CSS, JS, and HTML. Security: ----------- 1) Server-side: All data from user should be run through `:render` to ensure sanitization/escaping. 2) Server-side: All JS meant for :script tags should be escaped before encoded into JSON. 3) Client-side: No untrusted data presented to user: `:inner_html/:inner_text`: only uses content from the server after it has been sanitized/escaped. 4) Client-side: No client-side sanitization/escaping. Too many bugs and security issues because of browser incompability/implementations. Content to be used in client-size JS can only come from the server using "lockboxed vars". 5) Client-side: When using `:inner_html`, check for: `/<script/i` in String. 6) All forms require a CSRF token. Notes: ------- 1) Blockquotes no longer allow the :cite attribute. Instead use the `cite` tag. More info at: [http://html5doctor.com/cite-and-blockquote-reloaded/](http://html5doctor.com/cite-and-blockquote-reloaded/) 2) Originally, this was going to be programs written in 100% JSON. This has changed because it turns out people do not want to create programs, they just want to customize them: [https://www.youtube.com/watch?v=9nd9DwCdQR0#t=857](https://www.youtube.com/watch?v=9nd9DwCdQR0#t=857) Fun fact: ----- [JSON Applet](http://github.com/da99/json_applet) was changed to WWW\_Applet. WWW\_Applet was then changed to WWW\_App.
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
www_app-1.0.1 | README.md |
www_app-1.0.0 | README.md |