From 14ccb101ae384ba4dfac840de9d64eaef9737aa4 Mon Sep 17 00:00:00 2001 From: tykayn Date: Sat, 11 Jun 2016 16:48:07 +0200 Subject: [PATCH] reinit project with dependencies to build a bingo board --- .bowerrc | 1 + .editorconfig | 25 + .gitignore | 36 +- .idea/copyright/profiles_settings.xml | 3 + .idea/fromage-js.iml | 8 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + .idea/workspace.xml | 633 ++++++++++++++++++++++++++ .jshintrc | 23 + .travis.yml | 9 + GulpFile.js | 142 ++++++ LICENSE | 339 -------------- README.md | 5 +- bower.json | 23 + editorconfig | 12 + karma-e2e.conf.js | 60 +++ karma.conf.js | 75 +++ package.json | 76 ++++ src/coffee/main.coffee | 26 ++ src/coffee/services/myService.coffee | 0 src/fromage.coffee | 9 - src/fromage.js | 26 -- src/html/index.html | 85 ++++ src/html/tpl/main.html | 4 + src/json/squares.json | 46 ++ src/sass/_extendables.scss | 133 ++++++ src/sass/_global.scss | 0 src/sass/_interactions.scss | 42 ++ src/sass/_nav.scss | 0 src/sass/_overrides.scss | 0 src/sass/_pages.scss | 0 src/sass/_vars.scss | 19 + src/sass/main.scss | 12 + src/scripts/app.js | 21 + src/scripts/scripts.js | 8 + src/tests/e2e/main.js | 3 + src/tests/spec/app.js | 39 ++ 37 files changed, 1547 insertions(+), 410 deletions(-) create mode 100644 .bowerrc create mode 100644 .editorconfig create mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 .idea/fromage-js.iml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 .jshintrc create mode 100644 .travis.yml create mode 100644 GulpFile.js delete mode 100644 LICENSE create mode 100644 bower.json create mode 100644 editorconfig create mode 100644 karma-e2e.conf.js create mode 100644 karma.conf.js create mode 100644 package.json create mode 100644 src/coffee/main.coffee create mode 100644 src/coffee/services/myService.coffee delete mode 100644 src/fromage.coffee delete mode 100644 src/fromage.js create mode 100644 src/html/index.html create mode 100644 src/html/tpl/main.html create mode 100644 src/json/squares.json create mode 100644 src/sass/_extendables.scss create mode 100644 src/sass/_global.scss create mode 100644 src/sass/_interactions.scss create mode 100644 src/sass/_nav.scss create mode 100644 src/sass/_overrides.scss create mode 100644 src/sass/_pages.scss create mode 100644 src/sass/_vars.scss create mode 100644 src/sass/main.scss create mode 100644 src/scripts/app.js create mode 100644 src/scripts/scripts.js create mode 100644 src/tests/e2e/main.js create mode 100644 src/tests/spec/app.js diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..75531d8 --- /dev/null +++ b/.bowerrc @@ -0,0 +1 @@ +{"directory": "dist/bower_components"} \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..4e31a94 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,25 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + + +[*] + +# change these settings to your own preference +indent_style = space +indent_size = 2 + +# we recommend you to keep these unchanged +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[{package,bower}.json] +indent_style = space +indent_size = 2 diff --git a/.gitignore b/.gitignore index e920c16..cb4c8e6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,33 +1,5 @@ -# Logs -logs -*.log -npm-debug.log* - -# Runtime data -pids -*.pid -*.seed - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directory node_modules - -# Optional npm cache directory -.npm - -# Optional REPL history -.node_repl_history +dist +.tmp +bower_components +test/bower_components diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/fromage-js.iml b/.idea/fromage-js.iml new file mode 100644 index 0000000..c956989 --- /dev/null +++ b/.idea/fromage-js.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..c451900 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..2b81722 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,633 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1465650457129 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.jshintrc b/.jshintrc new file mode 100644 index 0000000..0d5e1c7 --- /dev/null +++ b/.jshintrc @@ -0,0 +1,23 @@ +{ + "node": true, + "esnext": true, + "bitwise": true, + "camelcase": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "indent": 2, + "latedef": true, + "newcap": true, + "noarg": true, + "quotmark": "single", + "undef": true, + "unused": true, + "jquery": false, + "globals": { "$": false, + "jQuery": false, + "window": false, + "angular": false + }, + "strict": true +} \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a6d4aa7 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,9 @@ +language: node_js +node_js: + - "0.12" + - "0.11" + - "0.10" + - "0.8" + - "0.6" + - "iojs" + - "iojs-v1.0.4" \ No newline at end of file diff --git a/GulpFile.js b/GulpFile.js new file mode 100644 index 0000000..77104ae --- /dev/null +++ b/GulpFile.js @@ -0,0 +1,142 @@ +/** + * Created by tykayn on 14/05/15. + */ +var gulp = require("gulp"), + gutil = require("gulp-util"), + plumber = require("gulp-plumber"), + myth = require("gulp-myth"), + csso = require("gulp-csso"), + coffee = require("gulp-coffee"), + options = require("minimist")(process.argv.slice(2)), + sass = require('gulp-sass'), + browserSync = require('browser-sync'), + reload = browserSync.reload, + karma = require('karma').server, + documentation = require('documentation'); +var wiredep = require('wiredep').stream; +var jshint = require('gulp-jshint'); +var uglify = require('gulp-uglify'); +var istanbul = require('gulp-istanbul'); +var mocha = require('gulp-mocha'); +var testFiles = [ + 'dist/js/main.js' +]; + +var sources = { + tests : "src/tests/*.js", + sass : "src/sass/*.scss", + html : "src/html/*.html", + htmls : "src/html/**/*.html", + distIndex: "dist/index.html", + js : "src/scripts/*.js", + jsAll : "src/scripts/**/*.js", + coffee : "src/coffee/*.coffee" +}; +var destinations = { + sass : "dist/css/", + html : "dist/", + coffee: "dist/coffee/", + js : "dist/js/", + doc : "dist/doc/" +}; + +var imageminJpegoptim = require('imagemin-jpegoptim'); + +gulp.task('imagemin', function () { + return gulp.src('images/*.jpg') + .pipe(imageminJpegoptim({progressive: true})()) + .pipe(gulp.dest('dist/images')); +}); + +/** + * Run test once and exit + */ +gulp.task('test', function (done) { + karma.start({ + configFile: __dirname + '/karma.conf.js', + singleRun : true + }, done); +}); + +/** + * Watch for file changes and re-run tests on each change + */ +gulp.task('tdd', function (done) { + karma.start({ + configFile: __dirname + '/karma.conf.js' + }, done); +}); + +gulp.task("styles", function () { + gulp.src("./src/css/*.css") + .pipe(options.production ? plumber() : gutil.noop()) + .pipe(myth({sourcemap: !options.production})) + .pipe(options.production ? csso() : gutil.noop()) + .pipe(gulp.dest("./dist/css/")); +}); +gulp.task("hello", function () { + console.log("hello le monde!"); +}); +gulp.task('browser-sync', function () { + return browserSync.init(null, { + open : true, + server: { + baseDir: "./dist" + } + }); +}); +gulp.task("sass2css", function () { + console.log("style was changed"); + gulp.src("./src/sass/*.scss") + .pipe(sass({outputStyle: 'compressed', errLogToConsole: true})) + .pipe(gulp.dest("./dist/css/")) + .pipe(browserSync.stream()); +}); +gulp.task("coffee2js", function () { + console.log("coffee was changed"); + gulp.src("./src/coffee/**/*.coffee") + .pipe(coffee()) + .pipe(plumber()) + .pipe(gulp.dest("./dist/js/")) + .pipe(uglify()) + .pipe(browserSync.stream()); + console.log("coffee was served"); +}); +gulp.task('watch', function () { + gulp.watch('GulpFile.js', ['default']); + gulp.watch(sources.tests, ['test']); + gulp.watch(sources.sass, ['sass2css']); + gulp.watch('bower.json', ['wiredep']); + gulp.watch(sources.html, ['html_transform']); +// gulp.watch(sources.htmls, ['html','wiredep']); + gulp.watch(sources.coffee, ['coffee2js', 'test']); + +}); +gulp.task('lint', function () { + gulp.src(sources.js) + .pipe(jshint()) + .pipe(jshint.reporter('jshint-stylish')); +}); + + +gulp.task("html_transform", function () { + console.log("html was changed"); + gulp.src([sources.htmls, sources.html]) + .pipe(gulp.dest(destinations.html)) + .pipe(browserSync.stream()); + console.log("html regenerated"); +}); + +// link dependencies only on the main index +gulp.task('wiredep', ['html_transform'], function () { + console.log("wire dependencies from distant index"); + gulp.src(sources.distIndex) + .pipe(wiredep({ + directory: 'dist/bower_components' + })) + .pipe(gulp.dest(destinations.html)) + ; +}); +gulp.task("default", [ "wiredep","coffee2js", "sass2css", "lint", "browser-sync", "imagemin", "watch"], function () { + console.log("spartiiiii"); +}); diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 23cb790..0000000 --- a/LICENSE +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - {description} - Copyright (C) {year} {fullname} - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - {signature of Ty Coon}, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/README.md b/README.md index 2090705..1a70427 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,5 @@ # fromage-js -a lib to know when your code smells +a lib to know when your conversations smells. # usage -include the lib from the dist/ folder. -run Fromage.init() to test your code. -Bam! you get a report. brace yourself, usage is coming. diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..25d4840 --- /dev/null +++ b/bower.json @@ -0,0 +1,23 @@ +{ + "name": "templates", + "version": "0.0.0", + "homepage": "https://github.com/tykayn/generator-tk", + "authors": [ + "ty kayn tykayn@gmail.com" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "dist/bower_components", + "test", + "tests" + ], + "dependencies": { + "angularjs": "~1.3.15", + "bootstrap": "~3.3.4", + "font-awesome": "~4.3.0", + "angular-mocks": "~1.3.15" + } +} diff --git a/editorconfig b/editorconfig new file mode 100644 index 0000000..5760be5 --- /dev/null +++ b/editorconfig @@ -0,0 +1,12 @@ +# http://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/karma-e2e.conf.js b/karma-e2e.conf.js new file mode 100644 index 0000000..7280b48 --- /dev/null +++ b/karma-e2e.conf.js @@ -0,0 +1,60 @@ +// Karma configuration +// http://karma-runner.github.io/0.10/config/configuration-file.html + +module.exports = function(config) { + config.set({ + // base path, that will be used to resolve files and exclude + basePath: '', + + // testing framework to use (jasmine/mocha/qunit/...) + frameworks: ['ng-scenario'], + + // list of files / patterns to load in the browser + files: [ + 'dist/bower_components/jquery/dist/jquery.min.js', + 'dist/bower_components/angularjs/angular.js', + 'dist/bower_components/angular-mocks/angular-mocks.js', + 'dist/js/services/*.js', + 'dist/js/essai.js', + 'dist/js/main.js', + 'tests/e2e/**/*.js' + ], + + // list of files / patterns to exclude + exclude: [], + + // web server port + port: 8080, + + // level of logging + // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + + // Start these browsers, currently available: + // - Chrome + // - ChromeCanary + // - Firefox + // - Opera + // - Safari (only Mac) + // - PhantomJS + // - IE (only Windows) + browsers: ['PhantomJS'], + + + // Continuous Integration mode + // if true, it capture browsers, run tests and exit + singleRun: false + + // Uncomment the following lines if you are using grunt's server to run the tests + // proxies: { + // '/': 'http://localhost:9000/' + // }, + // URL root prevent conflicts with the site root + // urlRoot: '_karma_' + }); +}; \ No newline at end of file diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 0000000..ef38ae2 --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,75 @@ +/** + * Created by tykayn on 14/05/15. + */ +// Karma configuration +// http://karma-runner.github.io/0.10/config/configuration-file.html + +module.exports = function (config) { + config.set({ + // base path, that will be used to resolve files and exclude + basePath: '', + + // testing framework to use (jasmine/mocha/qunit/...) + frameworks: ['jasmine'], + + // list of files / patterns to load in the browser + files: [ + 'dist/bower_components/jquery/dist/jquery.min.js', + 'dist/bower_components/angularjs/angular.js', + 'dist/bower_components/angular-mocks/angular-mocks.js', + 'dist/js/services/*.js', + 'dist/js/essai.js', + 'dist/js/main.js', + // tests + 'src/tests/spec/*.js' + ], + + // list of files / patterns to exclude + exclude: [], + + // web server port + port: 8085, + + // level of logging + // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG + logLevel: config.LOG_INFO, + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: true, + + // Start these browsers, currently available: + // - Chrome + // - ChromeCanary + // - Firefox + // - Opera + // - Safari (only Mac) + // - PhantomJS + // - IE (only Windows) + // browsers: ['PhantomJS','/usr/bin/google-chrome','Firefox'], + browsers: ['PhantomJS'], + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + // source files, that you wanna generate coverage for + // do not include tests or libraries + // (these files will be instrumented by Istanbul) + 'dist/js/**/*.js': ['coverage'] + }, + + // optionally, configure the reporter + coverageReporter: { + type: 'html', + dir : 'dist/coverage/' + }, + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ['progress', 'coverage'], + + // Continuous Integration mode + // if true, it capture browsers, run tests and exit + singleRun: false + }); +}; \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..f728cac --- /dev/null +++ b/package.json @@ -0,0 +1,76 @@ +{ + "name": "fromage-js", + "version": "1.0.0", + "description": "bingo your conversation fallacies", + "main": "GulpFile.js", + "dependencies": { + "angular": "0.0.1", + "bootstrap": "^3.3.4", + "browser-sync": "^2.7.1", + "chai": "~1.9.0", + "chalk": "^1.0.0", + "coffee-script": "^1.9.2", + "coveralls": "~2.7.1", + "documentation": "^1.2.0", + "gulp": "^3.8.11", + "gulp-coffee": "~2.2.0", + "gulp-csso": "^1.0.0", + "gulp-documentation": "^1.0.1", + "gulp-jsdoc": "^0.1.4", + "gulp-jshint": "^1.10.0", + "gulp-jslint": "^0.2.2", + "gulp-jslint-simple": "^1.0.0", + "gulp-karma": "0.0.4", + "gulp-mocha": "^2.1.0", + "gulp-myth": "^1.0.2", + "gulp-plumber": "^1.0.0", + "gulp-sass": "^2.0.1", + "gulp-uglify": "^1.2.0", + "gulp-util": "^3.0.4", + "istanbul": "~0.2.4", + "jasmine": "^2.3.1", + "jasmine-core": "~2.1.3", + "jshint": "^2.7.0", + "jshint-stylish": "^1.0.2", + "karma": "~0.12.28", + "karma-chrome-launcher": "~0.1.7", + "karma-jasmine": "~0.3.2", + "karma-phantomjs-launcher": "~0.1.3", + "minimist": "^1.1.1", + "mocha": "~1.17.1", + "phantomjs": "~1.9.12", + "sinon": "~1.8.0", + "yeoman-generator": "~0.19.2", + "yosay": "^1.0.2" + }, + "devDependencies": { + "doop": "^0.9.3", + "gulp-coffee-istanbul": "^0.7.1", + "gulp-istanbul": "^0.10.0", + "gulp-load-plugins": "^1.0.0-rc.1", + "imagemin-jpegoptim": "^5.0.0", + "istanbul": "^0.2.16", + "jsdoc": "^3.4.0", + "uglify": "^0.1.5", + "wiredep": "^4.0.0" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/tykayn/fromage-js.git" + }, + "keywords": [ + "bingo", + "fallacy", + "discussion", + "game" + ], + "author": "ty kayn", + "license": "MIT", + "bugs": { + "url": "https://github.com/tykayn/fromage-js/issues" + }, + "homepage": "https://github.com/tykayn/fromage-js#readme" +} diff --git a/src/coffee/main.coffee b/src/coffee/main.coffee new file mode 100644 index 0000000..de7db2c --- /dev/null +++ b/src/coffee/main.coffee @@ -0,0 +1,26 @@ +### +# here we do stuff +### +angular.module "tkApp", [] +.controller("MainCtrl", ($scope)-> + + ### + # scoped variables + ### + $scope.demo = 'WOHOOO angular ça marche' + + ### + # scoped functions + ### + $scope.doStuff = -> + console.log('impressig!') + $scope.doStuffWithArg = (arg)-> + console.log('wow such function!', arg) + + ### + # initilise everything + ### + $scope.init = -> + console.log('mainCtrl initialised'); + $scope.init() +) diff --git a/src/coffee/services/myService.coffee b/src/coffee/services/myService.coffee new file mode 100644 index 0000000..e69de29 diff --git a/src/fromage.coffee b/src/fromage.coffee deleted file mode 100644 index cd59a26..0000000 --- a/src/fromage.coffee +++ /dev/null @@ -1,9 +0,0 @@ -###  - how about some coffee with your fromage? :D -### -class Fromage - examine : -> - console.log('whoa this js stinks!') - init : -> - console.log('fromage is coming.') - @examine(); diff --git a/src/fromage.js b/src/fromage.js deleted file mode 100644 index 461a12c..0000000 --- a/src/fromage.js +++ /dev/null @@ -1,26 +0,0 @@ -// Generated by CoffeeScript 1.10.0 - -/*  - how about some coffee with your fromage? :D - */ - -(function() { - var Fromage; - - Fromage = (function() { - function Fromage() {} - - Fromage.prototype.examine = function() { - return console.log('whoa this js stinks!'); - }; - - Fromage.prototype.init = function() { - console.log('fromage is coming.'); - return this.examine(); - }; - - return Fromage; - - })(); - -}).call(this); diff --git a/src/html/index.html b/src/html/index.html new file mode 100644 index 0000000..1371afb --- /dev/null +++ b/src/html/index.html @@ -0,0 +1,85 @@ + + + + + + + + + + Fallacy Bingo + + + + + + + + + + + + +
+

+ + Fallacy Bingoooooo +

+
+

+ {{demo || ' angular ne marche pas ici '}} +

+ + {{demo}} +
+
+
+ +
+
+ +

+ + This app includes : +

+ Gulp, Angular, coffeescript, jquery, bootstrap, font awesome, commitement to open source. +
+ + karma, jasmine, jslint, uglify, coverall and more. +
+

+ + Getting started: +

+ +
+
+ +
+ +
+ Code disponible sur + mon github tykayn +
+ +
+ +
+ + + + + + diff --git a/src/html/tpl/main.html b/src/html/tpl/main.html new file mode 100644 index 0000000..a24daff --- /dev/null +++ b/src/html/tpl/main.html @@ -0,0 +1,4 @@ +
+ Board + +
diff --git a/src/json/squares.json b/src/json/squares.json new file mode 100644 index 0000000..a6301d0 --- /dev/null +++ b/src/json/squares.json @@ -0,0 +1,46 @@ +{ + "rows": 5, + "cols": 5, + "squares": [ + { + "text":"point godwin", + "details":"point godwin" + }, + { + "text":"pente glissante", + "details":"" + }, + { + "text":"pente glissante", + "details":"" + }, + { + "text":"pente glissante", + "details":"" + }, + { + "text":"pente glissante", + "details":"" + }, + { + "text":"pente glissante", + "details":"" + }, + { + "text":"pente glissante", + "details":"" + }, + { + "text":"pente glissante", + "details":"" + }, + { + "text":"pente glissante", + "details":"" + }, + { + "text":"pente glissante", + "details":"" + } + ] +} diff --git a/src/sass/_extendables.scss b/src/sass/_extendables.scss new file mode 100644 index 0000000..60c6379 --- /dev/null +++ b/src/sass/_extendables.scss @@ -0,0 +1,133 @@ +/** + use with @extend + percentage sign % are maks of sass's placeholder selectors. + they are rendered only if extended. + for example : + .my-container { + @extend %clearfix; + } +**/ +%clearfix { + *zoom: 1; + &:before, &:after { + content: " "; + display: table; + } + &:after { + clear: both; + } +} +/** + hide elements in an evil way +**/ +%visuallyhidden { + margin: -1px; + padding: 0; + width: 1px; + height: 1px; + overflow: hidden; + clip: rect(0 0 0 0); + clip: rect(0, 0, 0, 0); + position: absolute; +} +.visually-hidden { + @extend %visuallyhidden; +} + +/** + to use with @include + media query mixin +**/ +$size-lg : '60em'; +$size-md : '40em'; +$size-sm : '30em'; + +// defaults are defined +@mixin mq($min : '40em',$max : '60em') { + @media only screen and (min-width: #{$max}) and (max-width: #{$max}) { + @content; + } +} +@mixin mq-large { + @media only screen and (max-width: $size-lg) { + @content; + } +} + +@mixin mq-medium { + @media only screen and (max-width: $size-md) { + @content; + } +} + +@mixin mq-small { + @media only screen and (max-width: $size-sm) { + @content; + } +} + +/** + set color and background color in one time +**/ +@mixin color-and-bg($text, $background) { + color: $text; + background-color: $background; +} +// helpers + +.padded { + padding: 1em; +} + +.padded-sm { + padding: 0.5em; +} + +// vertical padding only +.padded-v { + padding: 1em 0; +} + +.padded-h { + padding: 0 1em; +} +.absolutely { + position: absolute; +} +.block { + display: block; +} + +.centered { + margin: 0 auto; +} + +.columned { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; +} + +// transitions +.slow-ease { + -webkit-transition: all ease 1s; + -moz-transition: all ease 1s; + -ms-transition: all ease 1s; + -o-transition: all ease 1s; + transition: all ease 1s; +} +.fast-ease { + -webkit-transition: all ease 0.4s; + -moz-transition: all ease 0.4s; + -ms-transition: all ease 0.4s; + -o-transition: all ease 0.4s; + transition: all ease 0.4s; +} + +.fastest-ease { + -webkit-transition: all ease 0s; + -moz-transition: all ease 0s; + -ms-transition: all ease 0s; + -o-transition: all ease 0s; + transition: all ease 0s; +} \ No newline at end of file diff --git a/src/sass/_global.scss b/src/sass/_global.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/sass/_interactions.scss b/src/sass/_interactions.scss new file mode 100644 index 0000000..3e7f0f6 --- /dev/null +++ b/src/sass/_interactions.scss @@ -0,0 +1,42 @@ + + +// quand on survole hoverable, +// on montre hover-show +.hoverable { + .hover-show { + opacity: 0; + @extend .fast-ease; + } + &:hover .hover-show { + opacity: 1; + @extend .fast-ease; + } +} + +.revealable { + opacity: 0; + @extend .fast-ease; + &:hover { + opacity: 1; + @extend .fast-ease; + } +} + +.active { + .revealable { + opacity: 1; + color: $white; + @extend .fast-ease; + } +} + +.clickable { + cursor: pointer; +} + +.hover-hl { + &:hover { + background: mix($dark, $white); + color: $white; + } +} \ No newline at end of file diff --git a/src/sass/_nav.scss b/src/sass/_nav.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/sass/_overrides.scss b/src/sass/_overrides.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/sass/_pages.scss b/src/sass/_pages.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/sass/_vars.scss b/src/sass/_vars.scss new file mode 100644 index 0000000..d40ff69 --- /dev/null +++ b/src/sass/_vars.scss @@ -0,0 +1,19 @@ +/** + maps are arrays, use it ! remember the @each directive. +**/ +$my-map: (key1: value1, key2: value2, key3: value3); +// déclarer les variables ici +$blue: #337ab7; +$main-color: rgb(46, 109, 164); +$grey: #ccc; +$white: #fff; +$black: #111; +$dark: darken(mix($main-color, $grey), 70%); +$light-main: mix($main-color, $white); + +// overrides of libraries vars +$default: mix($white, $grey); +$info: mix($main-color, $white); +$success: mix(#B7FF80,#79bb92); +$warning: #FFBA10; +$danger: #CB2738; \ No newline at end of file diff --git a/src/sass/main.scss b/src/sass/main.scss new file mode 100644 index 0000000..3d8fa14 --- /dev/null +++ b/src/sass/main.scss @@ -0,0 +1,12 @@ +.container { + background: black; + color: white; +} + +@import 'vars'; +@import 'extendables'; +@import 'overrides'; +@import 'nav'; +@import 'global'; +@import 'interactions'; +@import 'pages'; diff --git a/src/scripts/app.js b/src/scripts/app.js new file mode 100644 index 0000000..263f205 --- /dev/null +++ b/src/scripts/app.js @@ -0,0 +1,21 @@ +/** + * Created by tykayn on 14/05/15. + */ +'use strict'; +/** This is a description of the foo function. **/ +angular.module('crossedWordsApp', [ + 'ngCookies', + 'ngResource', + 'ngSanitize', + 'ngRoute' +]) +.config(function ($routeProvider) { + $routeProvider + .when('/', { + templateUrl: 'html/tpl/main.html', + controller: 'MainCtrl' + }) + .otherwise({ + redirectTo: '/' + }); + }); \ No newline at end of file diff --git a/src/scripts/scripts.js b/src/scripts/scripts.js new file mode 100644 index 0000000..96d066f --- /dev/null +++ b/src/scripts/scripts.js @@ -0,0 +1,8 @@ +/** + * Created by tykayn on 14/05/15. + */ +'use strict'; +// made for jquery only +$(window.document).ready(function () { + console.log('scripts loaded'); +}); \ No newline at end of file diff --git a/src/tests/e2e/main.js b/src/tests/e2e/main.js new file mode 100644 index 0000000..36fe6c5 --- /dev/null +++ b/src/tests/e2e/main.js @@ -0,0 +1,3 @@ +/** + * Created by tykayn on 14/05/15. + */ diff --git a/src/tests/spec/app.js b/src/tests/spec/app.js new file mode 100644 index 0000000..98699aa --- /dev/null +++ b/src/tests/spec/app.js @@ -0,0 +1,39 @@ +'use strict'; +/** + * Created by tykayn on 14/05/15. + */ +console.log('test for app.js'); +describe("A suite", function () { + it("contains spec with an expectation", function () { + expect(true).toBe(true); + }); +}); + + + +describe('Controller: MainCtrl', function () { + + // load the controller's module + beforeEach(module('myApp')); + + var MainCtrl, scope; + scope = 1; + // Initialize the controller and a mock scope + beforeEach(inject(function ($controller, $rootScope) { + scope = $rootScope.$new(); + MainCtrl = $controller('MainCtrl', { + $scope: scope + }); + })); + + it('should have modules working', function () { + expect(module).toBeDefined(); + }); + it('should have a main controller existing', function () { + expect(MainCtrl).toBeDefined(); + }); + it('should have a scope existing', function () { + expect(scope).toBeDefined(); + }); + +}); \ No newline at end of file