diff --git a/.babelrc b/.babelrc new file mode 100644 index 00000000..6826043c --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["es2015", "stage-0"] +} \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 6ea63d91..8945aecd 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -6,7 +6,10 @@ var imageMin = require('gulp-imagemin'); var uglify = require('gulp-uglify'); var minify = require('gulp-minify'); var concat = require('gulp-concat'); -var browserify = require('gulp-browserify'); +var webpack = require('webpack-stream'); +var rename = require("gulp-rename"); +var ngAnnotate = require('gulp-ng-annotate'); +var named = require('vinyl-named'); var is_production = process.env['NODE_ENV'] == 'production'; @@ -62,12 +65,18 @@ gulp.task('compile', function () { './src/client/data.js', './src/client/instagram.js' ]) - .pipe(browserify({ - transform: [ - require('browserify-ngannotate'), - require('babelify') - ] + .pipe(named()) + .pipe(webpack({ + output: { + filename : '[name].js' + }, + module: { + loaders: [ + { test: /\.js$/, loader: 'babel' } + ] + } })) + .pipe(ngAnnotate()) //.pipe(_if(is_production, minify())) .pipe(gulp.dest('./public')); }); diff --git a/package.json b/package.json index 6d7129f7..0a631399 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "main": "src/bin/www.js", "scripts": { "test": "mocha", - "bower": "bower" + "bower": "bower" }, "repository": { "type": "git", @@ -33,20 +33,26 @@ }, "devDependencies": { "autoprefixer": "^6.2.3", - "babelify": "^7.2.0", + "babel-core": "^6.5.2", + "babel-loader": "^6.2.2", + "babel-polyfill": "^6.5.0", + "babel-preset-es2015": "^6.5.0", + "babel-preset-stage-0": "^6.5.0", "bower": "^1.3.12", - "browserify-ngannotate": "^2.0.0", "cssnano": "^3.4.0", "gulp": "^3.8.10", - "gulp-browserify": "^0.5.0", "gulp-concat": "^2.4.1", "gulp-if": "^2.0.0", "gulp-imagemin": "~0.1.5", "gulp-minify": "0.0.5", + "gulp-ng-annotate": "^1.1.0", "gulp-postcss": "^6.0.1", + "gulp-rename": "^1.2.2", "gulp-sass": "^2.1.1", "gulp-uglify": "^1.5.0", "mocha": "~1.17.1", - "should": "~3.1.2" + "should": "~3.1.2", + "vinyl-named": "^1.1.0", + "webpack-stream": "^3.1.0" } } diff --git a/src/bin/www.js b/src/bin/www.js index 6ab1f61d..a3d232b7 100644 --- a/src/bin/www.js +++ b/src/bin/www.js @@ -2,6 +2,9 @@ * Created by tmshv on 22/11/14. */ +require('babel-core/register'); +require('babel-polyfill'); + var config = require("../config"); var db = require("../core/db"); var server = require("../server"); diff --git a/src/client/app.js b/src/client/app.js index 90ee333b..2ebfa581 100644 --- a/src/client/app.js +++ b/src/client/app.js @@ -4,10 +4,7 @@ var deps = [ require('./modules/schedule') -] - .map(function(m){ - return m.name; - }); +].map(m => m.name); var app = angular.module("hudozhka", deps.concat([ "hudozhka.data", diff --git a/src/client/ui/menu.js b/src/client/ui/menu.js index 2b95789a..1b3e6c72 100644 --- a/src/client/ui/menu.js +++ b/src/client/ui/menu.js @@ -2,10 +2,12 @@ * Created by tmshv on 05/11/14. */ +import menuItems from '../../models/menu'; + module.exports = function (app) { app.factory("menu", function ($route, $rootScope) { function Menu() { - this.items = require("../../models/menu.json"); + this.items = menuItems; this.current = null; } @@ -14,17 +16,17 @@ module.exports = function (app) { return i.url === path; }); - if(f.length) { + if (f.length) { this.current = f[0]; } }; var menu = new Menu(); $rootScope.$on('$routeChangeSuccess', function (event, current) { - try{ + try { var path = current['$$route'].originalPath; menu.activate(path); - }catch(e){ + } catch (e) { } }); diff --git a/src/config.js b/src/config.js index cd54ad3d..5a990063 100644 --- a/src/config.js +++ b/src/config.js @@ -1,6 +1,6 @@ var fs = require("fs"); var path = require("path"); -const MENU = require("./models/menu.json"); +const MENU = require("./models/menu"); const team = require("./models/team"); const course = require("./models/course"); diff --git a/src/models/course.js b/src/models/course.js index 169bc321..4d982f9d 100644 --- a/src/models/course.js +++ b/src/models/course.js @@ -1,4 +1,33 @@ -const COURSES = require("./courses.json"); +const COURSES = [ + { + "id": "painting", + "name": "Живопись" + }, + { + "id": "drawing", + "name": "Рисунок" + }, + { + "id": "sculpting", + "name": "Скульптура" + }, + { + "id": "ceramic", + "name": "Керамика" + }, + { + "id": "composition", + "name": "Композиция" + }, + { + "id": "history", + "name": "История искусства" + }, + { + "id": "cg", + "name": "Комп. графика" + } +]; exports.courses = COURSES; exports.course = getCourseByID; diff --git a/src/models/courses.json b/src/models/courses.json deleted file mode 100644 index 3e2b355d..00000000 --- a/src/models/courses.json +++ /dev/null @@ -1,30 +0,0 @@ -[ - { - "id": "painting", - "name": "Живопись" - }, - { - "id": "drawing", - "name": "Рисунок" - }, - { - "id": "sculpting", - "name": "Скульптура" - }, - { - "id": "ceramic", - "name": "Керамика" - }, - { - "id": "composition", - "name": "Композиция" - }, - { - "id": "history", - "name": "История искусства" - }, - { - "id": "cg", - "name": "Комп. графика" - } -] \ No newline at end of file diff --git a/src/models/document.js b/src/models/document.js index d3cf4c13..3ed73b77 100644 --- a/src/models/document.js +++ b/src/models/document.js @@ -1,4 +1,51 @@ -const DOCS = require("./documents.json"); +const DOCS = [ + { + "name": "statue-2013", + "title": "устав школы за 2013 год", + "url": "https://static.shburg.org/art/docs/hudozhka_statue-2013.pdf", + "preview": "https://static.shburg.org/art/graphics/statue-2013-preview.png", + "files": ["https://static.shburg.org/art/docs/hudozhka_statue-2013.pdf"] + }, + { + "name": "edu-license", + "title": "образовательная лицензия", + "url": "/document/edu-license", + "preview": "https://static.shburg.org/art/graphics/license_edu-preview.png", + "files": [ + "https://static.shburg.org/art/docs/hudozhka_license_edu.jpg", + "https://static.shburg.org/art/docs/hudozhka_license_edu_back.jpg", + "https://static.shburg.org/art/docs/hudozhka_license_edu_attachment.jpg" + ] + }, + { + "name": "gov-certificate", + "title": "свидетельство о государственной регистрации права", + "url": "/document/gov-certificate", + "preview": "https://static.shburg.org/art/graphics/certificate_gov-preview.png", + "files": ["https://static.shburg.org/art/docs/hudozhka_certificate_gov.jpg"] + }, + { + "name": "VAT", + "title": "ИНН", + "url": "/document/VAT", + "preview": "https://static.shburg.org/art/graphics/vatin-preview.png", + "files": ["https://static.shburg.org/art/docs/hudozhka_vatin.jpg"] + }, + { + "name": "EGRYL1", + "title": "свидетельство о внесении в «ЕГРЮЛ»", + "url": "/document/EGRYL1", + "preview": "https://static.shburg.org/art/graphics/certificate_egryl1-preview.png", + "files": ["https://static.shburg.org/art/docs/hudozhka_certificate_egryl1.jpg"] + }, + { + "name": "EGRYL2", + "title": "свидетельство о внесении в «ЕГРЮЛ»", + "url": "/document/EGRYL2", + "preview": "https://static.shburg.org/art/graphics/certificate_egryl2-preview.png", + "files": ["https://static.shburg.org/art/docs/hudozhka_certificate_egryl2.jpg"] + } +]; exports.docs = DOCS; exports.doc = getDocByName; diff --git a/src/models/documents.json b/src/models/documents.json deleted file mode 100644 index 8d719404..00000000 --- a/src/models/documents.json +++ /dev/null @@ -1,48 +0,0 @@ -[ - { - "name": "statue-2013", - "title": "устав школы за 2013 год", - "url": "https://static.shburg.org/art/docs/hudozhka_statue-2013.pdf", - "preview": "https://static.shburg.org/art/graphics/statue-2013-preview.png", - "files": ["https://static.shburg.org/art/docs/hudozhka_statue-2013.pdf"] - }, - { - "name": "edu-license", - "title": "образовательная лицензия", - "url": "/document/edu-license", - "preview": "https://static.shburg.org/art/graphics/license_edu-preview.png", - "files": [ - "https://static.shburg.org/art/docs/hudozhka_license_edu.jpg", - "https://static.shburg.org/art/docs/hudozhka_license_edu_back.jpg", - "https://static.shburg.org/art/docs/hudozhka_license_edu_attachment.jpg" - ] - }, - { - "name": "gov-certificate", - "title": "свидетельство о государственной регистрации права", - "url": "/document/gov-certificate", - "preview": "https://static.shburg.org/art/graphics/certificate_gov-preview.png", - "files": ["https://static.shburg.org/art/docs/hudozhka_certificate_gov.jpg"] - }, - { - "name": "VAT", - "title": "ИНН", - "url": "/document/VAT", - "preview": "https://static.shburg.org/art/graphics/vatin-preview.png", - "files": ["https://static.shburg.org/art/docs/hudozhka_vatin.jpg"] - }, - { - "name": "EGRYL1", - "title": "свидетельство о внесении в «ЕГРЮЛ»", - "url": "/document/EGRYL1", - "preview": "https://static.shburg.org/art/graphics/certificate_egryl1-preview.png", - "files": ["https://static.shburg.org/art/docs/hudozhka_certificate_egryl1.jpg"] - }, - { - "name": "EGRYL2", - "title": "свидетельство о внесении в «ЕГРЮЛ»", - "url": "/document/EGRYL2", - "preview": "https://static.shburg.org/art/graphics/certificate_egryl2-preview.png", - "files": ["https://static.shburg.org/art/docs/hudozhka_certificate_egryl2.jpg"] - } -] \ No newline at end of file diff --git a/src/models/menu.js b/src/models/menu.js new file mode 100644 index 00000000..6b2d4ef5 --- /dev/null +++ b/src/models/menu.js @@ -0,0 +1,34 @@ +export default [ + { + "text": "Школа", + "url": "/", + "color": "blue" + }, + { + "text": "События" + }, + { + "text": "Расписание", + "url": "/schedule", + "color": "green" + }, + { + "text": "Занятия", + "color": "" + }, + { + "text": "Коллектив", + "url": "/team", + "color": "pink" + }, + { + "text": "Галерея", + "url": "/gallery", + "color": "red" + }, + { + "text": "Документы", + "url": "/docs", + "color": "yellow" + } +] \ No newline at end of file diff --git a/src/models/menu.json b/src/models/menu.json deleted file mode 100644 index 45340eed..00000000 --- a/src/models/menu.json +++ /dev/null @@ -1,34 +0,0 @@ -[ - { - "text": "Школа", - "url": "/", - "color": "blue" - }, - { - "text": "События" - }, - { - "text": "Расписание", - "url": "/schedule", - "color": "green" - }, - { - "text": "Занятия", - "color": "" - }, - { - "text": "Коллектив", - "url": "/team", - "color": "pink" - }, - { - "text": "Галерея", - "url": "/gallery", - "color": "red" - }, - { - "text": "Документы", - "url": "/docs", - "color": "yellow" - } -] \ No newline at end of file diff --git a/src/models/team.js b/src/models/team.js index 0129e4f5..bd2ee65f 100644 --- a/src/models/team.js +++ b/src/models/team.js @@ -1,4 +1,117 @@ -const TEAM = require("./team.json"); +const TEAM = [ + { + "id": "mg-timasheva", + "name": "Марина Геннадьевна Тимашева", + "position": "Директор", + "edu": "Ленинградский инженерно-строительный институт", + "diploma": "НВ №222567", + "status": "", + "picture": "https://static.shburg.org/art/team/teacher5.jpg", + "anchor": "director" + }, + { + "id": "va-sarzhin", + "name": "Валерий Александрович Саржин", + "position": "Преподаватель живописи", + "edu": "Академия художеств имени И. Е. Репина", + "diploma": "B-I №259798", + "status": "Первая квалификационная категория по живописи и станковой композиции", + "picture": "https://static.shburg.org/art/team/teacher10.jpg" + }, + { + "id": "od-gogoleva", + "name": "Ольга Дмитриевна Гоголева", + "position": "Преподаватель живописи", + "edu": "Ленинградский инженерно-строительный институт", + "diploma": "B-I №222572", + "status": "Высшая квалификационная категория по живописи и станковой композиции", + "picture": "https://static.shburg.org/art/team/teacher11.jpg" + }, + { + "id": "nv-andreeva", + "name": "Наталья Викторовна Андреева", + "position": "Преподаватель композиции", + "edu": "Санкт-Петербургский государственный университет технологии и дизайна", + "diploma": "ИВС 0514253", + "status": "Вторая квалификационная категория по прикладной композиции", + "picture": "https://static.shburg.org/art/team/teacher2.jpg" + }, + { + "id": "vv-voronova", + "name": "Вера Викторовна Воронова", + "position": "Преподаватель композииции", + "edu": "Российский государственный университет имени А. И. Герцена", + "diploma": "ВСГ 0530340", + "status": "Вторая квалификационная категория по прикладной композиции", + "picture": "https://static.shburg.org/art/team/teacher1.jpg" + }, + { + "id": "in-vturina", + "name": "Ирина Николаевна Втюрина", + "position": "Преподаватель скульптуры", + "edu": "Кировский государственный педагогический институт имени В. И. Ленина", + "diploma": "ШВ №164501", + "status": "Первая квалификационная категория по скульптуре", + "picture": "https://static.shburg.org/art/team/teacher8.jpg" + }, + { + "id": "my-valkova", + "name": "Мария Юрьевна Валькова", + "position": "Преподаватель истории искусства", + "edu": "Педагогический институт имени А. И. Герцена", + "diploma": "ПП №224197", + "status": "Высшая квалификационная категория по истории искусства", + "picture": "https://static.shburg.org/art/team/teacher12.jpg" + }, + { + "id": "rk-timashev", + "name": "Руслан Камилевич Тимашев", + "position": "Преподаватель компьютерной графики", + "edu": "Санкт-Петербургский государственный архитектурно-строительный университет", + "diploma": "ВСГ 5344910", + "status": "", + "picture": "https://static.shburg.org/art/team/teacher4.jpg" + }, + { + "id": "as-timasheva", + "name": "Анна Сергеевна Тимашева", + "position": "Преподаватель рисунка", + "edu": "Московский архитектурный институт", + "diploma": "РН 70241", + "status": "", + "picture": "https://static.shburg.org/art/team/teacher3.jpg", + "contacts": { + "instagram": "annm101" + } + }, + { + "id": "sa-latipova", + "name": "Серафима Александровна Латыпова", + "position": "Преподаватель рисунка", + "edu": "Незаконченный Ленинградский государственный педагогический университет имени А. С. Пушкина", + "diploma": "", + "status": "", + "picture": "https://static.shburg.org/art/team/teacher9.jpg" + }, + { + "id": "ey-tarasova", + "name": "Евгения Юрьевна Тарасова", + "position": "Преподаватель гравюры", + "edu": "Санкт-Петербургский государственный архитектурно-строительный университет", + "diploma": "ВСВ 1321444", + "status": "", + "picture": "https://static.shburg.org/art/team/teacher.jpg" + }, + { + "id": "ea-burovtseva", + "name": "Елена Александровна Буровцева", + "position": "Преподаватель керамики", + "edu": "", + "diploma": "", + "status": "", + "picture": "https://static.shburg.org/art/team/ea-burovtseva.jpg" + } +]; module.exports = { team: TEAM, diff --git a/src/models/team.json b/src/models/team.json deleted file mode 100644 index 84b93de9..00000000 --- a/src/models/team.json +++ /dev/null @@ -1,114 +0,0 @@ -[ - { - "id": "mg-timasheva", - "name": "Марина Геннадьевна Тимашева", - "position": "Директор", - "edu": "Ленинградский инженерно-строительный институт", - "diploma": "НВ №222567", - "status": "", - "picture": "https://static.shburg.org/art/team/teacher5.jpg", - "anchor": "director" - }, - { - "id": "va-sarzhin", - "name": "Валерий Александрович Саржин", - "position": "Преподаватель живописи", - "edu": "Академия художеств имени И. Е. Репина", - "diploma": "B-I №259798", - "status": "Первая квалификационная категория по живописи и станковой композиции", - "picture": "https://static.shburg.org/art/team/teacher10.jpg" - }, - { - "id": "od-gogoleva", - "name": "Ольга Дмитриевна Гоголева", - "position": "Преподаватель живописи", - "edu": "Ленинградский инженерно-строительный институт", - "diploma": "B-I №222572", - "status": "Высшая квалификационная категория по живописи и станковой композиции", - "picture": "https://static.shburg.org/art/team/teacher11.jpg" - }, - { - "id": "nv-andreeva", - "name": "Наталья Викторовна Андреева", - "position": "Преподаватель композиции", - "edu": "Санкт-Петербургский государственный университет технологии и дизайна", - "diploma": "ИВС 0514253", - "status": "Вторая квалификационная категория по прикладной композиции", - "picture": "https://static.shburg.org/art/team/teacher2.jpg" - }, - { - "id": "vv-voronova", - "name": "Вера Викторовна Воронова", - "position": "Преподаватель композииции", - "edu": "Российский государственный университет имени А. И. Герцена", - "diploma": "ВСГ 0530340", - "status": "Вторая квалификационная категория по прикладной композиции", - "picture": "https://static.shburg.org/art/team/teacher1.jpg" - }, - { - "id": "in-vturina", - "name": "Ирина Николаевна Втюрина", - "position": "Преподаватель скульптуры", - "edu": "Кировский государственный педагогический институт имени В. И. Ленина", - "diploma": "ШВ №164501", - "status": "Первая квалификационная категория по скульптуре", - "picture": "https://static.shburg.org/art/team/teacher8.jpg" - }, - { - "id": "my-valkova", - "name": "Мария Юрьевна Валькова", - "position": "Преподаватель истории искусства", - "edu": "Педагогический институт имени А. И. Герцена", - "diploma": "ПП №224197", - "status": "Высшая квалификационная категория по истории искусства", - "picture": "https://static.shburg.org/art/team/teacher12.jpg" - }, - { - "id": "rk-timashev", - "name": "Руслан Камилевич Тимашев", - "position": "Преподаватель компьютерной графики", - "edu": "Санкт-Петербургский государственный архитектурно-строительный университет", - "diploma": "ВСГ 5344910", - "status": "", - "picture": "https://static.shburg.org/art/team/teacher4.jpg" - }, - { - "id": "as-timasheva", - "name": "Анна Сергеевна Тимашева", - "position": "Преподаватель рисунка", - "edu": "Московский архитектурный институт", - "diploma": "РН 70241", - "status": "", - "picture": "https://static.shburg.org/art/team/teacher3.jpg", - "contacts": { - "instagram": "annm101" - } - }, - { - "id": "sa-latipova", - "name": "Серафима Александровна Латыпова", - "position": "Преподаватель рисунка", - "edu": "Незаконченный Ленинградский государственный педагогический университет имени А. С. Пушкина", - "diploma": "", - "status": "", - "picture": "https://static.shburg.org/art/team/teacher9.jpg" - }, - { - "id": "ey-tarasova", - "name": "Евгения Юрьевна Тарасова", - "position": "Преподаватель гравюры", - "edu": "Санкт-Петербургский государственный архитектурно-строительный университет", - "diploma": "ВСВ 1321444", - "status": "", - "picture": "https://static.shburg.org/art/team/teacher.jpg" - }, - { - "id": "ea-burovtseva", - "name": "Елена Александровна Буровцева", - "position": "Преподаватель керамики", - "edu": "", - "diploma": "", - "status": "", - "picture": "https://static.shburg.org/art/team/ea-burovtseva.jpg" - } -] diff --git a/src/routes/sitemap.js b/src/routes/sitemap.js index a3f87a94..ad450f31 100644 --- a/src/routes/sitemap.js +++ b/src/routes/sitemap.js @@ -31,7 +31,7 @@ module.exports = function (app) { }; function *menu(){ - return require('../models/menu.json') + return require('../models/menu') .filter(function(item){ return 'url' in item })