Quark is a C-written framework to build universal apps using web technologies.
The goal of this project is to make desktop/console development accessible to anyone with (even little) knowledge in web development.
Right now it can be used to write ps vita and GNU/Linux apps using HTML/CSS and JavaScript.
Example apps are available in the examples directory.
Note : It is a very early version and some things will break and not be supported. Please write issues and pull requests if you encounter bugs or can help participate in the project!
- vita-sdk
- curl
- tar
- unzip
- make
- cmake
- lexbor (HTML Parsing)
- duktape (JavaScript Engine)
Those libraries are installed by setup.sh.
Run ./setup.sh which will setup source code dependencies.
Before building your VPK apps, you will also need to install the SDL_ttf lib to your vita-sdk :
And the SDL_Image lib for the vita using :
make -f Makefile.psp2; make -f Makefile.psp2 installThen, to work on a new project, you can either start anew or copy one of the examples.
Create a new projects directory, then create a new directory inside for your project with the name of your choice!
In the directory of your app, run :
./build.sh
And voilĂ ! You should have a working .vpk file that you can install on your console or run in an emulator.
To build a GNU/Linux version of your app (for debugging or to support desktop uses for instance), in the main quark directory, run :
make -f Makefile.Linux
Then, copy the quark binary to the location of your index.html and style.css files.
You will also need to have Sans.ttf and quark.js in the same directory as this binary!
- div
- p
- body
- head
- h1,h2,h3,h4
- img
- script (only direct scripts in the tags, the src attribute isn't supported at the moment)
- document.getElementById
- document.addEventListener
- element.style (not all style attributes)
- element.innerText
- element.innerHTML
- element.attributes (not all attributes)
- onclick
- setInterval
- setTimeout
- window.location (set)
- Keyboard, touchscreen, click and gamepad events
- display: inline and block
- font-size
- color
- background-color
- padding
- margin
- height
- width
- text-align
- vertical-align
- position:
- Add image cache (different from texture cache)
- Support external resources loading in HTML (such as JSON/JS/CSS files)
- Negative padding (and probably margin) crashes Quark
Enhance JS/HTML support to support projects like :
