Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://amasad.github.io/DOMQL/
Web development for DBAs
https://amasad.github.io/DOMQL/
Last synced: about 1 month ago
JSON representation
Web development for DBAs
- Host: GitHub
- URL: https://amasad.github.io/DOMQL/
- Owner: amasad
- Created: 2011-12-12T06:34:30.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2020-06-23T20:32:50.000Z (over 4 years ago)
- Last Synced: 2024-07-03T05:22:47.291Z (5 months ago)
- Language: JavaScript
- Homepage: https://amasad.github.io/DOMQL/
- Size: 610 KB
- Stars: 48
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-jordan - DOMQL - "jQuery" for DBAs! (Frontend)
README
#About
An SQL-like language for querying the DOM. More info [here](http://amasad.github.com/DOMQL/).#Development
DOMQL is an interpereted language powered by the [Sizzle](http://sizzlejs.com/) selector engine.
Most SELECT queries can be directly compiled to a Sizzle query (see src/test.coffee).DOMQL is written using the [Jison](http://zaach.github.com/jison/) parser generator.
##Source Files Overview
* dql.coffee is the main file. Responsible for initiating the parser and contains some utils (domReady, templates etc).
* grammer.coffee is the language grammer file written in CoffeeScript's Jison DSL.
* lexer.coffee is the language lexer.
* nodes.coffee contains all the nodes for the syntax tree also responsible for compiling to sizzle / evaluating the code.
* test.coffee the test suite ran by index.html.##Getting the Code
git clone [email protected]:amasad/DOMQL.git
##Dependencies
* NodeJS for the development environment.
* Browserify for Node requires to work in the browser.
* express for development server.
* uglify-js for minifying build file.
* Jison for creating the parser.You only need to install NodeJS. All the modules are checked in.
Note that browserify has been altered to work around a bug.##Running
Using CoffeeScript's Cakefile you could do the following:
* `cake buildParser` : Builds the parser.
* `cake dev` : Starts the development server at localhost:8080 and watches the grammer file for changes to rebuild the parser.
* `cake build` : Builds and minifies to domql.min.js.##Tests
Run `cake dev` and navigate your browser to http://localhost:8080 then open your JavaScript console to see the test results.#License
The MIT License
Copyright 2012 Amjad Masad