{"_id":"tuzi","_rev":"26-bd2a7532bf3730c46c6efcf0c15ddf5d","name":"tuzi","time":{"modified":"2022-06-27T23:44:07.665Z","created":"2014-06-26T15:06:17.888Z","0.0.0":"2014-06-26T15:06:17.888Z","0.0.0-1":"2014-06-26T15:17:06.983Z","0.0.1":"2014-06-27T10:52:14.931Z","0.0.2":"2014-07-29T07:53:44.487Z","0.0.3":"2014-07-29T10:12:45.562Z","0.1.0":"2014-08-08T04:25:10.401Z","0.1.1":"2014-08-12T09:08:32.969Z","0.1.2":"2014-08-14T10:33:56.780Z","0.1.3":"2014-08-14T11:06:43.821Z","0.1.4":"2014-08-18T02:24:39.274Z","0.1.5":"2014-11-04T06:24:42.055Z"},"maintainers":[{"name":"crzidea","email":"micro-tech@foxmail.com"}],"dist-tags":{"latest":"0.1.5"},"description":"tuzi Framework","readme":"tuzi\n====\n\nA fast and lightweight non-MVC framework.\n\n[![NPM](https://nodei.co/npm/tuzi.png?downloads=true)](https://nodei.co/npm/tuzi/)\n\n## Install\n\nInstall this globally and you'll have access to the `tuzi` command anywhere on your system.\n\n```sh\nnpm install -g tuzi\n```\n\n## Initialize Application\n\n```sh\ncd your-app\ntuzi\n```\n\n## Enable Livereload\n\n1. Start watching task:\n\n   ```sh\n   grunt watch &\n   ```\n\n2. Start your app with `-l` or `--livereload` parameter. Example:\n\n   ```sh\n   ./server.js -l\n   ```\n\n### Tips\n\n1. You can also change port of livereload [here](./Gruntfile.js#L10).\n2. See also [`grunt-contrib-watch`](https://github.com/gruntjs/grunt-contrib-watch#optionslivereload).\n3. Remember **NOT** to delete [this](./public/partial/bundle.html#L3) in your app.\n4. `livereload.js` will be removed after running `grunt ejs` because of [this](./Gruntfile.js#L39).\n   Be free to use this feature.\n\n\n## Build your site\n\n1. Generate your pages and minimize static resources.\n\n   ```sh\n   grunt\n   ```\n\n2. Add `root` and `/lib/` to your HTTP server configuration. Nginx Example:\n\n   ```nginx\n   root /path/to/your-app/dist/;\n   location /lib/ {\n       alias /path/to/your-app/bower_components/;\n   }\n   ```\n\n## Q & A\n\n * Why is it so FAST and light than any other frameworks?\n\n   The most common use-case of `tuzi` is just writing/serving static\n   pages. Every thing on the server should be **LOGIC-LESS**. \n   Everything logic should be compiled to static files before uploading\n   to the production (nginx) **OR** after browser loading pages.\n\n * Why is it not MVC based?\n\n   Everybody likes RESTful development nowadays, right? So it's time to\n   drop MVC and start a new life. You can use angular or **something else**\n   (XHR/XDR/JSONP/*WebSocket*) to fetch data from other servers.\n\n * Is it really a FRAMEWORK?\n\n   `tuzi` is just like `express`. It is showing you a way to develop and\n   manage your code/logic. I'm not really sure whether it should be called\n   \"F-R-A-M-E-W-O-R-K\" but it should be helpful for our development.\n \n * Where is your/my test?\n\n   It should be in `test/` if there was.\n","versions":{"0.0.0-1":{"name":"tuzi","version":"0.0.0-1","description":"tuzi Framework","main":"server.js","scripts":{"test":"mocha","start":"node server.js"},"bin":{"tuzi":"bin/tuzi"},"repository":{"type":"git","url":"git://github.com/crzidea/tuzi.git"},"author":{"name":"Li Xin"},"license":"ISC","bugs":{"url":"https://github.com/crzidea/tuzi/issues"},"homepage":"https://github.com/crzidea/tuzi","devDependencies":{"express":"^4.4.4","grunt":"^0.4.5","grunt-bump":"0.0.14","grunt-contrib-cssmin":"^0.10.0","grunt-contrib-htmlmin":"^0.3.0","grunt-contrib-uglify":"^0.5.0","grunt-contrib-watch":"^0.6.1"},"_id":"tuzi@0.0.0-1","_shasum":"21318de121b06e25e2847bc43ed9f537e1c3cbed","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"crzidea","email":"micro-tech@foxmail.com"},"maintainers":[{"name":"crzidea","email":"micro-tech@foxmail.com"}],"dist":{"shasum":"21318de121b06e25e2847bc43ed9f537e1c3cbed","tarball":"https://registry.npmjs.org/tuzi/-/tuzi-0.0.0-1.tgz","integrity":"sha512-6J28mRFOCPpXlZ4afQbW0ItdBFbSK+hZxOas10jDpEBL6DFiZmM6I5RPVDEhasSNfjk2YGvZ+f0PpeCg+d4XTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGu2GlhGYBAVviRc855/muICq5kyRd6pqnZ3sTF1Iy0NAiEAnC/FPdu+KfMVHB25fCQdt95sR+XgeALFbDokOIzw8SU="}]}},"0.0.1":{"name":"tuzi","version":"0.0.1","description":"tuzi Framework","main":"server.js","scripts":{"test":"mocha","start":"node server.js"},"bin":{"tuzi":"bin/tuzi"},"repository":{"type":"git","url":"git://github.com/crzidea/tuzi.git"},"author":{"name":"Li Xin"},"license":"ISC","bugs":{"url":"https://github.com/crzidea/tuzi/issues"},"homepage":"https://github.com/crzidea/tuzi","devDependencies":{"ejs":"^1.0.0","express":"^4.4.5","grunt":"^0.4.5","grunt-bump":"0.0.14","grunt-contrib-cssmin":"^0.10.0","grunt-contrib-htmlmin":"^0.3.0","grunt-contrib-uglify":"^0.5.0","grunt-contrib-watch":"^0.6.1","grunt-ejs":"^0.1.0"},"_id":"tuzi@0.0.1","_shasum":"1a8659c82594fe1428216d76ec4ada95a513c716","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"crzidea","email":"micro-tech@foxmail.com"},"maintainers":[{"name":"crzidea","email":"micro-tech@foxmail.com"}],"dist":{"shasum":"1a8659c82594fe1428216d76ec4ada95a513c716","tarball":"https://registry.npmjs.org/tuzi/-/tuzi-0.0.1.tgz","integrity":"sha512-PZpoaN2zFoMk8CgHUKHsFrCbYQ3/YEplauu8GTgMF9IDXAhHEatTZk2eiI5YCWXNMubNbqRxBZOpVx9xgg8/ow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFDfwh9r7GTPKIYBoCuGaA7iYOJMohPnvpwwlNzgzUAwAiEAh7NEWuWtY2NFVhllUmWzsTO0nzcHQvvudy5LV5izV0k="}]}},"0.0.2":{"name":"tuzi","version":"0.0.2","description":"tuzi Framework","main":"server.js","scripts":{"test":"mocha","start":"node server.js"},"bin":{"tuzi":"bin/tuzi"},"repository":{"type":"git","url":"git://github.com/crzidea/tuzi.git"},"author":{"name":"Li Xin"},"license":"ISC","bugs":{"url":"https://github.com/crzidea/tuzi/issues"},"homepage":"https://github.com/crzidea/tuzi","devDependencies":{"ejs":"^1.0.0","express":"^4.7.2","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-contrib-cssmin":"^0.10.0","grunt-contrib-htmlmin":"^0.3.0","grunt-contrib-uglify":"^0.5.1","grunt-contrib-watch":"^0.6.1","grunt-ejs":"^0.2.0"},"_id":"tuzi@0.0.2","_shasum":"a00cb14b1b61f3593f0d593dace9fe864cb4c084","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"crzidea","email":"micro-tech@foxmail.com"},"maintainers":[{"name":"crzidea","email":"micro-tech@foxmail.com"}],"dist":{"shasum":"a00cb14b1b61f3593f0d593dace9fe864cb4c084","tarball":"https://registry.npmjs.org/tuzi/-/tuzi-0.0.2.tgz","integrity":"sha512-6fdpmcxwpZe6kTHpGYFfqOtmNtzaywstKgkxrXomnYJIDeUmKdwlPSiJauQUXQ/FKW3Y0JzZxTLTTwtm//HwOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAcP4n8GQELv81uIr4lMlFDHffEzFLDED19CvCFJmOEAIgQJ9Od2ehsdAZ1TbKDO01FgXbHWJr035FRneY5qv7h5Q="}]}},"0.0.3":{"name":"tuzi","version":"0.0.3","description":"tuzi Framework","main":"server.js","scripts":{"test":"mocha","start":"node server.js"},"bin":{"tuzi":"bin/tuzi"},"repository":{"type":"git","url":"git://github.com/crzidea/tuzi.git"},"author":{"name":"Li Xin"},"license":"ISC","bugs":{"url":"https://github.com/crzidea/tuzi/issues"},"homepage":"https://github.com/crzidea/tuzi","devDependencies":{"ejs":"^1.0.0","express":"^4.7.2","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-contrib-cssmin":"^0.10.0","grunt-contrib-htmlmin":"^0.3.0","grunt-contrib-uglify":"^0.5.1","grunt-contrib-watch":"^0.6.1","grunt-ejs":"^0.2.0"},"_id":"tuzi@0.0.3","_shasum":"8f9d7a44eb68e65b5061cb1cab58e8b4fb99de09","_from":".","_npmVersion":"1.4.10","_npmUser":{"name":"crzidea","email":"micro-tech@foxmail.com"},"maintainers":[{"name":"crzidea","email":"micro-tech@foxmail.com"}],"dist":{"shasum":"8f9d7a44eb68e65b5061cb1cab58e8b4fb99de09","tarball":"https://registry.npmjs.org/tuzi/-/tuzi-0.0.3.tgz","integrity":"sha512-kNN/hBijJsqB5hahYtxSNQ9j201OFJPM+3ix4mij6ojLl7GutZm7QuuSyRXciZBVGSLs8D3OiOxG6Dev3r8zGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+7uPBE4X0vlElnWLRQcLINlBdout/SK2ed/8/Fn7u9QIhALgVuj1+vl+Of2Km6Gl/lXmKu9fjqhp8yMJNA3RTPt1a"}]}},"0.1.0":{"name":"tuzi","version":"0.1.0","description":"tuzi Framework","main":"app.js","scripts":{"test":"mocha","start":"node server.js"},"bin":{"tuzi":"bin/tuzi"},"repository":{"type":"git","url":"git://github.com/crzidea/tuzi.git"},"author":{"name":"Li Xin"},"license":"ISC","bugs":{"url":"https://github.com/crzidea/tuzi/issues"},"homepage":"https://github.com/crzidea/tuzi","devDependencies":{"grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-contrib-cssmin":"^0.10.0","grunt-contrib-htmlmin":"^0.3.0","grunt-contrib-uglify":"^0.5.1","grunt-contrib-watch":"^0.6.1","grunt-ejs":"^0.2.0"},"dependencies":{"ejs":"^1.0.0","express":"^4.8.2"},"_id":"tuzi@0.1.0","_shasum":"7d57f224d84975ee6e729eeab7893a18d3080a3e","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"crzidea","email":"micro-tech@foxmail.com"},"maintainers":[{"name":"crzidea","email":"micro-tech@foxmail.com"}],"dist":{"shasum":"7d57f224d84975ee6e729eeab7893a18d3080a3e","tarball":"https://registry.npmjs.org/tuzi/-/tuzi-0.1.0.tgz","integrity":"sha512-Alo43anYbUc0xr9XUbwO2Xloo/PpDnWYqpDPZ6js7Y8W03mX2RHhV7Yan7Nd+aECwIHGvQ8iHfGiOno3mZR7Ug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHlbhkZvHC+k1p8VVXonthbEaPeRPR5Y1tg3V7NlG5DTAiAgBM+q4VxPf/M5rfaP93lrcin5aObOEm+0DSF3J8NM6A=="}]}},"0.1.1":{"name":"tuzi","version":"0.1.1","description":"tuzi Framework","main":"app.js","scripts":{"test":"mocha","start":"node server.js"},"bin":{"tuzi":"bin/tuzi"},"repository":{"type":"git","url":"git://github.com/crzidea/tuzi.git"},"author":{"name":"Li Xin"},"license":"ISC","bugs":{"url":"https://github.com/crzidea/tuzi/issues"},"homepage":"https://github.com/crzidea/tuzi","devDependencies":{"grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-contrib-cssmin":"^0.10.0","grunt-contrib-htmlmin":"^0.3.0","grunt-contrib-uglify":"^0.5.1","grunt-contrib-watch":"^0.6.1","grunt-ejs":"^0.2.0"},"dependencies":{"body-parser":"^1.6.3","ejs":"^1.0.0","express":"^4.8.2","tiny-lr":"^0.1.0"},"_id":"tuzi@0.1.1","_shasum":"26acc9a3938e28ccf0fb0e1bb9ce2abe9f34a7ae","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"crzidea","email":"micro-tech@foxmail.com"},"maintainers":[{"name":"crzidea","email":"micro-tech@foxmail.com"}],"dist":{"shasum":"26acc9a3938e28ccf0fb0e1bb9ce2abe9f34a7ae","tarball":"https://registry.npmjs.org/tuzi/-/tuzi-0.1.1.tgz","integrity":"sha512-Z4pZH7U5jABZedrIX8hojLyv0xywV7HUJiICjybHE+XAJowlQdFTF0v07zmWmLgEQNf5c1CoitulHRNf8O3fPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/D+POOIDI/zLJ2HOFBJ+JYSLam509WgP085euzqa3uQIgDD1UoV8dEo9b5Dy+JItCbqsAGs7AHGooBs9vdYF728Y="}]}},"0.1.2":{"name":"tuzi","version":"0.1.2","description":"tuzi Framework","main":"app.js","scripts":{"test":"mocha","start":"node server.js"},"bin":{"tuzi":"bin/tuzi"},"repository":{"type":"git","url":"git://github.com/crzidea/tuzi.git"},"author":{"name":"Li Xin"},"license":"ISC","bugs":{"url":"https://github.com/crzidea/tuzi/issues"},"homepage":"https://github.com/crzidea/tuzi","devDependencies":{"grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-contrib-cssmin":"^0.10.0","grunt-contrib-htmlmin":"^0.3.0","grunt-contrib-uglify":"^0.5.1","grunt-contrib-watch":"^0.6.1","grunt-ejs":"^0.2.0"},"dependencies":{"commander":"^2.3.0","ejs":"^1.0.0","express":"^4.8.2"},"_id":"tuzi@0.1.2","_shasum":"d36fd8c8204f278bc387a022d6e244b0298e55a6","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"crzidea","email":"micro-tech@foxmail.com"},"maintainers":[{"name":"crzidea","email":"micro-tech@foxmail.com"}],"dist":{"shasum":"d36fd8c8204f278bc387a022d6e244b0298e55a6","tarball":"https://registry.npmjs.org/tuzi/-/tuzi-0.1.2.tgz","integrity":"sha512-BqZa3J8XUUUR5wqCIs4tzPmMSuTb6IuR5Ov13IDCaADXkrupLkNGSNcAAafFXwN8yhF/qdgrfLzpoUfDoRsTHA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCM3bLVeHtrv1ghIW4BiHDpI87nU0u8VGnyrziweIdSxwIhAKWFl2yDLrdoBaar7OxORqgl4RVdMlWKp183Xd02OT/T"}]}},"0.1.3":{"name":"tuzi","version":"0.1.3","description":"tuzi Framework","main":"app.js","scripts":{"test":"mocha","start":"node server.js"},"bin":{"tuzi":"bin/tuzi"},"repository":{"type":"git","url":"git://github.com/crzidea/tuzi.git"},"author":{"name":"Li Xin"},"license":"ISC","bugs":{"url":"https://github.com/crzidea/tuzi/issues"},"homepage":"https://github.com/crzidea/tuzi","devDependencies":{"grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-contrib-cssmin":"^0.10.0","grunt-contrib-htmlmin":"^0.3.0","grunt-contrib-uglify":"^0.5.1","grunt-contrib-watch":"^0.6.1","grunt-ejs":"^0.2.0"},"dependencies":{"commander":"^2.3.0","ejs":"^1.0.0","express":"^4.8.2"},"_id":"tuzi@0.1.3","_shasum":"70cbbbc4bbd9afefdfc52ea15af7b29f3a66ab6e","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"crzidea","email":"micro-tech@foxmail.com"},"maintainers":[{"name":"crzidea","email":"micro-tech@foxmail.com"}],"dist":{"shasum":"70cbbbc4bbd9afefdfc52ea15af7b29f3a66ab6e","tarball":"https://registry.npmjs.org/tuzi/-/tuzi-0.1.3.tgz","integrity":"sha512-HUxYq6qvgZqnmWqH0bJiATdUxFJW9EipCSzdw/sjuMakmZ052GoyxGprEiLOMrnf5PltGZMql59Z1MZh7Qqoow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGAGgulmDrRdszHRFwSaC8beeLibXvhOHLuoM0eedTTTAiEA0AS4Ia1srtScPVtFAAYydf8m1mU6Kjbg7MLPpVMHUsM="}]}},"0.1.4":{"name":"tuzi","version":"0.1.4","description":"tuzi Framework","main":"app.js","scripts":{"test":"mocha","start":"node server.js"},"bin":{"tuzi":"bin/tuzi"},"repository":{"type":"git","url":"git://github.com/crzidea/tuzi.git"},"author":{"name":"Li Xin"},"license":"ISC","bugs":{"url":"https://github.com/crzidea/tuzi/issues"},"homepage":"https://github.com/crzidea/tuzi","devDependencies":{"grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-contrib-cssmin":"^0.10.0","grunt-contrib-htmlmin":"^0.3.0","grunt-contrib-uglify":"^0.5.1","grunt-contrib-watch":"^0.6.1","grunt-ejs":"^0.2.0"},"dependencies":{"commander":"^2.3.0","ejs":"^1.0.0","express":"^4.8.2"},"_id":"tuzi@0.1.4","_shasum":"76b6915ed85ef569a49dd48ada9709d58738729f","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"crzidea","email":"micro-tech@foxmail.com"},"maintainers":[{"name":"crzidea","email":"micro-tech@foxmail.com"}],"dist":{"shasum":"76b6915ed85ef569a49dd48ada9709d58738729f","tarball":"https://registry.npmjs.org/tuzi/-/tuzi-0.1.4.tgz","integrity":"sha512-4cXawGPh6uLbcQC3ERdjzA9xBGpPvUSg+jOlwC9gkOulMsbeqnMnW/xnI1C2aIcwndQWtfVHjvHoDtNPoiDSKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGWwKycMBZ1yhdrl2w7fU2Bwy95Q+Fx+OTbARlnqTxcHAiAngMpb5XOu3Qn7l356TYUkyKQMOe3FGtYO3ojJbncv+A=="}]}},"0.1.5":{"name":"tuzi","version":"0.1.5","description":"tuzi Framework","main":"app.js","scripts":{"test":"mocha","start":"node server.js"},"bin":{"tuzi":"bin/tuzi.sh"},"repository":{"type":"git","url":"git://github.com/crzidea/tuzi.git"},"author":{"name":"Li Xin"},"license":"ISC","bugs":{"url":"https://github.com/crzidea/tuzi/issues"},"homepage":"https://github.com/crzidea/tuzi","devDependencies":{"grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-contrib-cssmin":"^0.10.0","grunt-contrib-htmlmin":"^0.3.0","grunt-contrib-uglify":"^0.5.1","grunt-contrib-watch":"^0.6.1","grunt-ejs":"^0.2.0"},"dependencies":{"commander":"^2.3.0","ejs":"^1.0.0","express":"^4.8.2"},"_id":"tuzi@0.1.5","dist":{"shasum":"387f58fc37eb7d7bbcbc7d38e39cfed734d44a6c","tarball":"https://registry.npmjs.org/tuzi/-/tuzi-0.1.5.tgz","integrity":"sha512-8KXUl2lWKafvZJ5ju6TJ82+9LyY68lDV5BhU5FKXJ8oxX+xXWwQP8yIQRb/QTcoIN6PouHWvwST7zNgRyUZhNA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQ26ObXF7AaVgzN4+F6QCFFsgpqiHZnzi2ovxAhnS7ewIgWNZUnMb+HGJrW3wO5DqZmDsd4Wu1gfjmSKwKK2cviUQ="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"crzidea","email":"micro-tech@foxmail.com"},"maintainers":[{"name":"crzidea","email":"micro-tech@foxmail.com"}]}},"homepage":"https://github.com/crzidea/tuzi","repository":{"type":"git","url":"git://github.com/crzidea/tuzi.git"},"author":{"name":"Li Xin"},"bugs":{"url":"https://github.com/crzidea/tuzi/issues"},"license":"ISC","readmeFilename":"README.md","users":{"crzidea":true}}