Permalink
Browse files

Initial commit.

  • Loading branch information...
0 parents commit 9e5a74a5d450351d4994f759da0014840d4bbc78 @hiddentao committed Dec 18, 2011
Showing with 1,226 additions and 0 deletions.
  1. +3 −0 .gitignore
  2. +52 −0 Cakefile
  3. +33 −0 README.md
  4. +186 −0 docs/docco.css
  5. +46 −0 docs/index.html
  6. +187 −0 docs/ksql.html
  7. +70 −0 docs/resources/base.css
  8. +20 −0 docs/resources/index.css
  9. +24 −0 docs/resources/module.css
  10. +95 −0 docs/src/ksql.html
  11. +128 −0 ksql.js
  12. +21 −0 package.json
  13. +251 −0 src/ksql.coffee
  14. +110 −0 test/expression.coffee
@@ -0,0 +1,3 @@
+*.iml
+.idea/
+node_modules/
@@ -0,0 +1,52 @@
+fs = require 'fs'
+{print} = require 'sys'
+{spawn, exec} = require 'child_process'
+
+binpath = 'node_modules/.bin/'
+
+stream_data_handler = (data) -> print data.toString()
+
+
+build_js = (callback) ->
+ options = [
+ '-c'
+ '-j'
+ "ksql.js"
+ "src/"
+ ]
+ coffee = spawn "#{binpath}/coffee", options
+ coffee.stdout.on 'data', stream_data_handler
+ coffee.stderr.on 'data', stream_data_handler
+ coffee.on 'exit', (status) -> callback?() if status is 0
+
+
+build_docs = (callback) ->
+ options = [
+ 'src/ksql.coffee'
+ ]
+ docco = spawn "#{binpath}/docco", options
+ docco.stdout.on 'data', stream_data_handler
+ docco.stderr.on 'data', stream_data_handler
+ docco.on 'exit', (status) -> callback?() if status is 0
+
+
+run_tests = (callback) ->
+ options = [
+ 'test/expression.coffee'
+ '--spec'
+ ]
+ vows = spawn "#{binpath}/vows", options
+ vows.stdout.on 'data', stream_data_handler
+ vows.stderr.on 'data', stream_data_handler
+ vows.on 'exit', (status) -> callback?() if status is 0
+
+
+
+task 'docs', 'Build the documentation', ->
+ build_docs -> "All done"
+
+task 'tests', 'Run the tests', ->
+ build_js -> run_tests -> "All done"
+
+task 'build', 'Build the project', ->
+ build_coffee -> build_docs -> "All done"
@@ -0,0 +1,33 @@
+# kSQL - SQL query builder for Javascript
+
+A simple, well tested SQL query string builder for Javascript.
+
+## Features
+
+* Supports the construction of all standard DML queries: SELECT, INSERT and UPDATE queries.
+* Full documented.
+* Extensive suite of unit tests (written using vows).
+* Written in CoffeeScript for ease of maintainability.
+* Available as a node.js package.
+
+## How to use
+
+Install using [npm](http://npmjs.org/):
+
+ $ npm install ksql
+
+## Documentation
+
+Full documentation is available inside the `docs/` folder. To build the documentation yourself you will first need to
+have the latest dev version of [pygment](http://pygments.org/download/) installed in your Python environment. Then
+do the following inside the project folder:
+
+ $ npm install
+ $ node_modules/.bin/cake docs
+
+
+---
+
+Developed by [Ramesh Nair](http://www.hiddentao.com/).
+
+
@@ -0,0 +1,186 @@
+/*--------------------- Layout and Typography ----------------------------*/
+body {
+ font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
+ font-size: 15px;
+ line-height: 22px;
+ color: #252519;
+ margin: 0; padding: 0;
+}
+a {
+ color: #261a3b;
+}
+ a:visited {
+ color: #261a3b;
+ }
+p {
+ margin: 0 0 15px 0;
+}
+h1, h2, h3, h4, h5, h6 {
+ margin: 0px 0 15px 0;
+}
+ h1 {
+ margin-top: 40px;
+ }
+#container {
+ position: relative;
+}
+#background {
+ position: fixed;
+ top: 0; left: 525px; right: 0; bottom: 0;
+ background: #f5f5ff;
+ border-left: 1px solid #e5e5ee;
+ z-index: -1;
+}
+#jump_to, #jump_page {
+ background: white;
+ -webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777;
+ -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px;
+ font: 10px Arial;
+ text-transform: uppercase;
+ cursor: pointer;
+ text-align: right;
+}
+#jump_to, #jump_wrapper {
+ position: fixed;
+ right: 0; top: 0;
+ padding: 5px 10px;
+}
+ #jump_wrapper {
+ padding: 0;
+ display: none;
+ }
+ #jump_to:hover #jump_wrapper {
+ display: block;
+ }
+ #jump_page {
+ padding: 5px 0 3px;
+ margin: 0 0 25px 25px;
+ }
+ #jump_page .source {
+ display: block;
+ padding: 5px 10px;
+ text-decoration: none;
+ border-top: 1px solid #eee;
+ }
+ #jump_page .source:hover {
+ background: #f5f5ff;
+ }
+ #jump_page .source:first-child {
+ }
+table td {
+ border: 0;
+ outline: 0;
+}
+ td.docs, th.docs {
+ max-width: 450px;
+ min-width: 450px;
+ min-height: 5px;
+ padding: 10px 25px 1px 50px;
+ overflow-x: hidden;
+ vertical-align: top;
+ text-align: left;
+ }
+ .docs pre {
+ margin: 15px 0 15px;
+ padding-left: 15px;
+ }
+ .docs p tt, .docs p code {
+ background: #f8f8ff;
+ border: 1px solid #dedede;
+ font-size: 12px;
+ padding: 0 0.2em;
+ }
+ .pilwrap {
+ position: relative;
+ }
+ .pilcrow {
+ font: 12px Arial;
+ text-decoration: none;
+ color: #454545;
+ position: absolute;
+ top: 3px; left: -20px;
+ padding: 1px 2px;
+ opacity: 0;
+ -webkit-transition: opacity 0.2s linear;
+ }
+ td.docs:hover .pilcrow {
+ opacity: 1;
+ }
+ td.code, th.code {
+ padding: 14px 15px 16px 25px;
+ width: 100%;
+ vertical-align: top;
+ background: #f5f5ff;
+ border-left: 1px solid #e5e5ee;
+ }
+ pre, tt, code {
+ font-size: 12px; line-height: 18px;
+ font-family: Monaco, Consolas, "Lucida Console", monospace;
+ margin: 0; padding: 0;
+ }
+
+
+/*---------------------- Syntax Highlighting -----------------------------*/
+td.linenos { background-color: #f0f0f0; padding-right: 10px; }
+span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
+body .hll { background-color: #ffffcc }
+body .c { color: #408080; font-style: italic } /* Comment */
+body .err { border: 1px solid #FF0000 } /* Error */
+body .k { color: #954121 } /* Keyword */
+body .o { color: #666666 } /* Operator */
+body .cm { color: #408080; font-style: italic } /* Comment.Multiline */
+body .cp { color: #BC7A00 } /* Comment.Preproc */
+body .c1 { color: #408080; font-style: italic } /* Comment.Single */
+body .cs { color: #408080; font-style: italic } /* Comment.Special */
+body .gd { color: #A00000 } /* Generic.Deleted */
+body .ge { font-style: italic } /* Generic.Emph */
+body .gr { color: #FF0000 } /* Generic.Error */
+body .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+body .gi { color: #00A000 } /* Generic.Inserted */
+body .go { color: #808080 } /* Generic.Output */
+body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+body .gs { font-weight: bold } /* Generic.Strong */
+body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+body .gt { color: #0040D0 } /* Generic.Traceback */
+body .kc { color: #954121 } /* Keyword.Constant */
+body .kd { color: #954121; font-weight: bold } /* Keyword.Declaration */
+body .kn { color: #954121; font-weight: bold } /* Keyword.Namespace */
+body .kp { color: #954121 } /* Keyword.Pseudo */
+body .kr { color: #954121; font-weight: bold } /* Keyword.Reserved */
+body .kt { color: #B00040 } /* Keyword.Type */
+body .m { color: #666666 } /* Literal.Number */
+body .s { color: #219161 } /* Literal.String */
+body .na { color: #7D9029 } /* Name.Attribute */
+body .nb { color: #954121 } /* Name.Builtin */
+body .nc { color: #0000FF; font-weight: bold } /* Name.Class */
+body .no { color: #880000 } /* Name.Constant */
+body .nd { color: #AA22FF } /* Name.Decorator */
+body .ni { color: #999999; font-weight: bold } /* Name.Entity */
+body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
+body .nf { color: #0000FF } /* Name.Function */
+body .nl { color: #A0A000 } /* Name.Label */
+body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+body .nt { color: #954121; font-weight: bold } /* Name.Tag */
+body .nv { color: #19469D } /* Name.Variable */
+body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+body .w { color: #bbbbbb } /* Text.Whitespace */
+body .mf { color: #666666 } /* Literal.Number.Float */
+body .mh { color: #666666 } /* Literal.Number.Hex */
+body .mi { color: #666666 } /* Literal.Number.Integer */
+body .mo { color: #666666 } /* Literal.Number.Oct */
+body .sb { color: #219161 } /* Literal.String.Backtick */
+body .sc { color: #219161 } /* Literal.String.Char */
+body .sd { color: #219161; font-style: italic } /* Literal.String.Doc */
+body .s2 { color: #219161 } /* Literal.String.Double */
+body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
+body .sh { color: #219161 } /* Literal.String.Heredoc */
+body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
+body .sx { color: #954121 } /* Literal.String.Other */
+body .sr { color: #BB6688 } /* Literal.String.Regex */
+body .s1 { color: #219161 } /* Literal.String.Single */
+body .ss { color: #19469D } /* Literal.String.Symbol */
+body .bp { color: #954121 } /* Name.Builtin.Pseudo */
+body .vc { color: #19469D } /* Name.Variable.Class */
+body .vg { color: #19469D } /* Name.Variable.Global */
+body .vi { color: #19469D } /* Name.Variable.Instance */
+body .il { color: #666666 } /* Literal.Number.Integer.Long */
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+ <title>CoffeeDoc</title>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+ <link rel="stylesheet" media="all" href="resources/base.css" />
+ <link rel="stylesheet" media="all" href="resources/index.css" />
+</head>
+<body>
+ <header>
+ <h1>CoffeeDoc</h1>
+ </header>
+ <div id="content">
+ <div id="sidebar">
+ <ul id="modulelist">
+
+ <li><a href="src/ksql.html">src/ksql.coffee</a></li>
+
+ </ul>
+ </div>
+ <div id="main">
+ <h1>Module index</h1>
+
+ <div class="module">
+ <div class="header">
+ <a href="src/ksql.html"><h3>ksql.coffee</h3></a>
+ </div>
+ <div class="module_content">
+
+
+ <h4>Classes</h4>
+ <ul class="classlist">
+
+ <li><a href="src/ksql.html#kSqlExpression">kSqlExpression</a></li>
+
+ </ul>
+
+
+ </div>
+ </div>
+
+ </div>
+ </div>
+</body>
+</html>
Oops, something went wrong.

0 comments on commit 9e5a74a

Please sign in to comment.