|
1 | | -# JS Project Skeleton |
2 | | -This project tries to provide a nice starting point for your JavaScript projects whether it is browser-oriented library, full-fledged client app or node.js module. |
| 1 | +# Canvas Text Editor |
3 | 2 |
|
4 | | -Code is organized in [CommonJS](http://en.wikipedia.org/wiki/CommonJS) modules that can be [stitched](https://github.com/sstephenson/stitch) together for browser usage. All development dependencies are handled with [npm](http://npmjs.org/) and Makefile is provided to avoid typing in complex commands to run tests or build project. |
5 | | - |
6 | | -Testing is handled with [mocha](http://visionmedia.github.com/mocha/) allowing for either TDD or BDD style tests. Since both **mocha** and **stitch** support [CoffeeScript](http://coffeescript.org/) you can choose to use it for your project if you like. |
7 | | - |
8 | | -## Installation |
9 | | - |
10 | | -Skeleton requires working installation of **node.js** and **npm** on a Linux or OS X. |
11 | | - |
12 | | -Grab the [latest version](https://github.com/grassator/js-project-skeleton/zipball/master) of this repository and unpack it to the folder of your choosing. Then adjust name, description of the project and your personal info inside `package.json` file: |
13 | | - |
14 | | - "author": "You <you@domain.com>", |
15 | | - "name": "sample_project", |
16 | | - "description": "Some amazing project", |
17 | | - |
18 | | -You should keep in mind that project name should be web friendly (i.e. alphanumeric characters and `_` or `-`). After that `cd` to your project folder in console and run: |
19 | | - |
20 | | - npm install |
21 | | - |
22 | | -It will install all project dependencies into `node_modules` folder and you are good to go. To make sure that everything is working try running following command in your terminal: |
23 | | - |
24 | | - make build |
25 | | - |
26 | | -It should create `build` folder with regular and minified versions of sample code. |
27 | | - |
28 | | -## Development |
29 | | - |
30 | | -Let's talk about how to use this skeleton. |
31 | | - |
32 | | -### Project structure |
33 | | - |
34 | | -First of all lets take a look at directory structure for your |
35 | | - |
36 | | -* `build/` – contains stitched version of your code + minified file; |
37 | | -* `demo/` – for demonstration of browser-oriented projects; |
38 | | -* `lib/` – holds all of your app/lib code; |
39 | | -* `scripts/` – support folder for skeleton build and server scripts; |
40 | | -* `test/` – contains all the test cases; |
41 | | -* `vendor/` – for scripts that don't conform to CommonJS. |
42 | | - |
43 | | -### Building |
44 | | - |
45 | | -As described earlier in installation chapter: |
46 | | - |
47 | | - make build |
48 | | - |
49 | | -creates stitched version of your project from `lib/` and `vendor/` folders. Filenames are the same as your project name specified in `package.json`. |
50 | | - |
51 | | -### Testing |
52 | | - |
53 | | - make test |
54 | | - |
55 | | -or |
56 | | - |
57 | | - npm test |
58 | | - |
59 | | -runs all tests inside `test/` folder. By default tests use BDD style that can be changed by editing `test` target inside `Makefile`. You can learn more about **mocha** options in [official documentation](http://visionmedia.github.com/mocha/). |
60 | | - |
61 | | -### Browser Demo |
62 | | - |
63 | | -To be able to run default demo located in `demo/index.html` you first need to start **express** server by running: |
64 | | - |
65 | | - make serve |
66 | | - |
67 | | -After that you can always get latest stitched version of your project on [localhost:4000/lib.js](http://localhost:4000/lib.js). If open demo page now you should see that *“The answer is 42”*. |
| 3 | +A simple text editor using html5 canvas that is being written as a result of [set of tutorials](http://kubyshkin.ru/tag/text-editor/) on text editor inner workings. |
0 commit comments