framework7rails 0.9.7 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +17 -0
- data/Framework7-0.9.6/.gitignore +5 -0
- data/Framework7-0.9.6/.jshintrc +33 -0
- data/Framework7-0.9.6/.travis.yml +5 -0
- data/Framework7-0.9.6/CHANGELOG.md +342 -0
- data/Framework7-0.9.6/Gruntfile.js +560 -0
- data/Framework7-0.9.6/LICENSE +20 -0
- data/Framework7-0.9.6/README.md +113 -0
- data/Framework7-0.9.6/apps/todo7/css/todo7.css +208 -0
- data/Framework7-0.9.6/apps/todo7/img/Icon-152.png +0 -0
- data/Framework7-0.9.6/apps/todo7/img/bg.jpg +0 -0
- data/Framework7-0.9.6/apps/todo7/img/icon-114.png +0 -0
- data/Framework7-0.9.6/apps/todo7/img/icon-120.png +0 -0
- data/Framework7-0.9.6/apps/todo7/img/icon-144.png +0 -0
- data/Framework7-0.9.6/apps/todo7/img/icon-57.png +0 -0
- data/Framework7-0.9.6/apps/todo7/img/icon-72.png +0 -0
- data/Framework7-0.9.6/apps/todo7/img/icon-76.png +0 -0
- data/Framework7-0.9.6/apps/todo7/index.html +112 -0
- data/Framework7-0.9.6/apps/todo7/jade/index.jade +99 -0
- data/Framework7-0.9.6/apps/todo7/js/todo7.js +102 -0
- data/Framework7-0.9.6/apps/todo7/less/todo7.less +221 -0
- data/Framework7-0.9.6/apps/todo7/manifest.php +27 -0
- data/Framework7-0.9.6/apps/weather7/css/weather7.css +291 -0
- data/Framework7-0.9.6/apps/weather7/img/bg.jpg +0 -0
- data/Framework7-0.9.6/apps/weather7/img/icon-114.png +0 -0
- data/Framework7-0.9.6/apps/weather7/img/icon-120.png +0 -0
- data/Framework7-0.9.6/apps/weather7/img/icon-144.png +0 -0
- data/Framework7-0.9.6/apps/weather7/img/icon-152.png +0 -0
- data/Framework7-0.9.6/apps/weather7/img/icon-57.png +0 -0
- data/Framework7-0.9.6/apps/weather7/img/icon-72.png +0 -0
- data/Framework7-0.9.6/apps/weather7/img/icon-76.png +0 -0
- data/Framework7-0.9.6/apps/weather7/img/logo.png +0 -0
- data/Framework7-0.9.6/apps/weather7/img/yahoo-logo.png +0 -0
- data/Framework7-0.9.6/apps/weather7/index.html +127 -0
- data/Framework7-0.9.6/apps/weather7/jade/index.jade +113 -0
- data/Framework7-0.9.6/apps/weather7/js/weather7.js +213 -0
- data/Framework7-0.9.6/apps/weather7/less/weather7.less +294 -0
- data/Framework7-0.9.6/apps/weather7/manifest.php +29 -0
- data/Framework7-0.9.6/bower.json +30 -0
- data/Framework7-0.9.6/dist/about.html +28 -0
- data/Framework7-0.9.6/dist/css/framework7.css +4922 -0
- data/Framework7-0.9.6/dist/css/framework7.min.css +15 -0
- data/Framework7-0.9.6/dist/css/framework7.rtl.css +427 -0
- data/Framework7-0.9.6/dist/css/framework7.rtl.min.css +1 -0
- data/Framework7-0.9.6/dist/css/framework7.themes.css +279 -0
- data/Framework7-0.9.6/dist/css/framework7.themes.min.css +1 -0
- data/Framework7-0.9.6/dist/css/my-app.css +0 -0
- data/Framework7-0.9.6/dist/form.html +229 -0
- data/Framework7-0.9.6/dist/img/i-f7.png +0 -0
- data/Framework7-0.9.6/dist/img/i-form-calendar.png +0 -0
- data/Framework7-0.9.6/dist/img/i-form-comment.png +0 -0
- data/Framework7-0.9.6/dist/img/i-form-email.png +0 -0
- data/Framework7-0.9.6/dist/img/i-form-gender.png +0 -0
- data/Framework7-0.9.6/dist/img/i-form-name.png +0 -0
- data/Framework7-0.9.6/dist/img/i-form-password.png +0 -0
- data/Framework7-0.9.6/dist/img/i-form-settings.png +0 -0
- data/Framework7-0.9.6/dist/img/i-form-tel.png +0 -0
- data/Framework7-0.9.6/dist/img/i-form-toggle.png +0 -0
- data/Framework7-0.9.6/dist/img/i-form-url.png +0 -0
- data/Framework7-0.9.6/dist/index.html +102 -0
- data/Framework7-0.9.6/dist/js/framework7.js +7479 -0
- data/Framework7-0.9.6/dist/js/framework7.min.js +18 -0
- data/Framework7-0.9.6/dist/js/my-app.js +48 -0
- data/Framework7-0.9.6/dist/services.html +28 -0
- data/Framework7-0.9.6/examples/split-view/about.html +19 -0
- data/Framework7-0.9.6/examples/split-view/css/my-app.css +23 -0
- data/Framework7-0.9.6/examples/split-view/index.html +135 -0
- data/Framework7-0.9.6/examples/split-view/jade/about.jade +15 -0
- data/Framework7-0.9.6/examples/split-view/jade/index.jade +107 -0
- data/Framework7-0.9.6/examples/split-view/jade/left-page-1.jade +15 -0
- data/Framework7-0.9.6/examples/split-view/jade/left-page-2.jade +15 -0
- data/Framework7-0.9.6/examples/split-view/jade/services.jade +15 -0
- data/Framework7-0.9.6/examples/split-view/js/my-app.js +15 -0
- data/Framework7-0.9.6/examples/split-view/left-page-1.html +19 -0
- data/Framework7-0.9.6/examples/split-view/left-page-2.html +19 -0
- data/Framework7-0.9.6/examples/split-view/less/my-app.less +23 -0
- data/Framework7-0.9.6/examples/split-view/services.html +19 -0
- data/Framework7-0.9.6/examples/split-view-panel/about.html +20 -0
- data/Framework7-0.9.6/examples/split-view-panel/css/my-app.css +56 -0
- data/Framework7-0.9.6/examples/split-view-panel/index.html +135 -0
- data/Framework7-0.9.6/examples/split-view-panel/jade/about.jade +18 -0
- data/Framework7-0.9.6/examples/split-view-panel/jade/index.jade +107 -0
- data/Framework7-0.9.6/examples/split-view-panel/jade/left-page-1.jade +15 -0
- data/Framework7-0.9.6/examples/split-view-panel/jade/left-page-2.jade +15 -0
- data/Framework7-0.9.6/examples/split-view-panel/jade/services.jade +18 -0
- data/Framework7-0.9.6/examples/split-view-panel/js/my-app.js +15 -0
- data/Framework7-0.9.6/examples/split-view-panel/left-page-1.html +19 -0
- data/Framework7-0.9.6/examples/split-view-panel/left-page-2.html +19 -0
- data/Framework7-0.9.6/examples/split-view-panel/less/my-app.less +62 -0
- data/Framework7-0.9.6/examples/split-view-panel/services.html +20 -0
- data/Framework7-0.9.6/examples/tab-bar/about.html +19 -0
- data/Framework7-0.9.6/examples/tab-bar/css/my-app.css +34 -0
- data/Framework7-0.9.6/examples/tab-bar/index.html +238 -0
- data/Framework7-0.9.6/examples/tab-bar/jade/about.jade +15 -0
- data/Framework7-0.9.6/examples/tab-bar/jade/index.jade +189 -0
- data/Framework7-0.9.6/examples/tab-bar/jade/services.jade +15 -0
- data/Framework7-0.9.6/examples/tab-bar/js/my-app.js +15 -0
- data/Framework7-0.9.6/examples/tab-bar/less/my-app.less +35 -0
- data/Framework7-0.9.6/examples/tab-bar/services.html +19 -0
- data/Framework7-0.9.6/kitchen-sink/about.html +22 -0
- data/Framework7-0.9.6/kitchen-sink/accordion.html +171 -0
- data/Framework7-0.9.6/kitchen-sink/color-themes.html +42 -0
- data/Framework7-0.9.6/kitchen-sink/contacts.html +190 -0
- data/Framework7-0.9.6/kitchen-sink/core-features.html +70 -0
- data/Framework7-0.9.6/kitchen-sink/css/kitchen-sink.css +233 -0
- data/Framework7-0.9.6/kitchen-sink/deep-2.html +22 -0
- data/Framework7-0.9.6/kitchen-sink/deep-navbar-2.html +19 -0
- data/Framework7-0.9.6/kitchen-sink/deep-navbar-3.html +19 -0
- data/Framework7-0.9.6/kitchen-sink/deep-navbar.html +18 -0
- data/Framework7-0.9.6/kitchen-sink/forms-buttons.html +64 -0
- data/Framework7-0.9.6/kitchen-sink/forms-checkboxes.html +200 -0
- data/Framework7-0.9.6/kitchen-sink/forms-elements.html +359 -0
- data/Framework7-0.9.6/kitchen-sink/forms-selects.html +72 -0
- data/Framework7-0.9.6/kitchen-sink/forms-storage.html +181 -0
- data/Framework7-0.9.6/kitchen-sink/forms.html +56 -0
- data/Framework7-0.9.6/kitchen-sink/grid.html +140 -0
- data/Framework7-0.9.6/kitchen-sink/hide-navbar-toolbar.html +42 -0
- data/Framework7-0.9.6/kitchen-sink/img/beach.jpg +0 -0
- data/Framework7-0.9.6/kitchen-sink/img/lock.jpg +0 -0
- data/Framework7-0.9.6/kitchen-sink/img/monkey.jpg +0 -0
- data/Framework7-0.9.6/kitchen-sink/img/mountains.jpg +0 -0
- data/Framework7-0.9.6/kitchen-sink/index.html +466 -0
- data/Framework7-0.9.6/kitchen-sink/infinite-scroll-load.php +19 -0
- data/Framework7-0.9.6/kitchen-sink/infinite-scroll.html +119 -0
- data/Framework7-0.9.6/kitchen-sink/jade/about.jade +19 -0
- data/Framework7-0.9.6/kitchen-sink/jade/accordion.jade +133 -0
- data/Framework7-0.9.6/kitchen-sink/jade/color-themes.jade +37 -0
- data/Framework7-0.9.6/kitchen-sink/jade/contacts.jade +115 -0
- data/Framework7-0.9.6/kitchen-sink/jade/core-features.jade +74 -0
- data/Framework7-0.9.6/kitchen-sink/jade/deep-navbar-2.jade +15 -0
- data/Framework7-0.9.6/kitchen-sink/jade/deep-navbar-3.jade +15 -0
- data/Framework7-0.9.6/kitchen-sink/jade/deep-navbar.jade +15 -0
- data/Framework7-0.9.6/kitchen-sink/jade/forms-buttons.jade +71 -0
- data/Framework7-0.9.6/kitchen-sink/jade/forms-checkboxes.jade +152 -0
- data/Framework7-0.9.6/kitchen-sink/jade/forms-elements.jade +239 -0
- data/Framework7-0.9.6/kitchen-sink/jade/forms-selects.jade +60 -0
- data/Framework7-0.9.6/kitchen-sink/jade/forms-storage.jade +134 -0
- data/Framework7-0.9.6/kitchen-sink/jade/forms.jade +52 -0
- data/Framework7-0.9.6/kitchen-sink/jade/grid.jade +110 -0
- data/Framework7-0.9.6/kitchen-sink/jade/hide-navbar-toolbar.jade +38 -0
- data/Framework7-0.9.6/kitchen-sink/jade/index.jade +427 -0
- data/Framework7-0.9.6/kitchen-sink/jade/infinite-scroll.jade +20 -0
- data/Framework7-0.9.6/kitchen-sink/jade/list-view.jade +266 -0
- data/Framework7-0.9.6/kitchen-sink/jade/login-screen-embedded.jade +22 -0
- data/Framework7-0.9.6/kitchen-sink/jade/login-screen.jade +20 -0
- data/Framework7-0.9.6/kitchen-sink/jade/media-lists.jade +170 -0
- data/Framework7-0.9.6/kitchen-sink/jade/messages.jade +71 -0
- data/Framework7-0.9.6/kitchen-sink/jade/modals.jade +36 -0
- data/Framework7-0.9.6/kitchen-sink/jade/navbars-toolbars.jade +43 -0
- data/Framework7-0.9.6/kitchen-sink/jade/no-navbar-toolbar.jade +7 -0
- data/Framework7-0.9.6/kitchen-sink/jade/no-navbar.jade +7 -0
- data/Framework7-0.9.6/kitchen-sink/jade/no-toolbar.jade +17 -0
- data/Framework7-0.9.6/kitchen-sink/jade/notifications.jade +23 -0
- data/Framework7-0.9.6/kitchen-sink/jade/panels.jade +21 -0
- data/Framework7-0.9.6/kitchen-sink/jade/photo-browser.jade +36 -0
- data/Framework7-0.9.6/kitchen-sink/jade/popover.jade +21 -0
- data/Framework7-0.9.6/kitchen-sink/jade/preloader.jade +31 -0
- data/Framework7-0.9.6/kitchen-sink/jade/pull-to-refresh.jade +44 -0
- data/Framework7-0.9.6/kitchen-sink/jade/searchbar.jade +146 -0
- data/Framework7-0.9.6/kitchen-sink/jade/slider-custom.jade +23 -0
- data/Framework7-0.9.6/kitchen-sink/jade/slider-horizontal.jade +18 -0
- data/Framework7-0.9.6/kitchen-sink/jade/slider-multiple.jade +48 -0
- data/Framework7-0.9.6/kitchen-sink/jade/slider-nested.jade +26 -0
- data/Framework7-0.9.6/kitchen-sink/jade/slider-space-between.jade +18 -0
- data/Framework7-0.9.6/kitchen-sink/jade/slider-vertical.jade +18 -0
- data/Framework7-0.9.6/kitchen-sink/jade/slider.jade +57 -0
- data/Framework7-0.9.6/kitchen-sink/jade/sortable-list.jade +107 -0
- data/Framework7-0.9.6/kitchen-sink/jade/swipe-delete.jade +195 -0
- data/Framework7-0.9.6/kitchen-sink/jade/tabbar-labels.jade +54 -0
- data/Framework7-0.9.6/kitchen-sink/jade/tabbar.jade +50 -0
- data/Framework7-0.9.6/kitchen-sink/jade/tabs.jade +34 -0
- data/Framework7-0.9.6/kitchen-sink/jade/transitions.jade +27 -0
- data/Framework7-0.9.6/kitchen-sink/js/kitchen-sink.js +442 -0
- data/Framework7-0.9.6/kitchen-sink/less/kitchen-sink.less +245 -0
- data/Framework7-0.9.6/kitchen-sink/list-view.html +318 -0
- data/Framework7-0.9.6/kitchen-sink/login-screen-embedded.html +36 -0
- data/Framework7-0.9.6/kitchen-sink/login-screen.html +21 -0
- data/Framework7-0.9.6/kitchen-sink/media-lists.html +173 -0
- data/Framework7-0.9.6/kitchen-sink/messages.html +84 -0
- data/Framework7-0.9.6/kitchen-sink/modals.html +33 -0
- data/Framework7-0.9.6/kitchen-sink/navbars-toolbars.html +46 -0
- data/Framework7-0.9.6/kitchen-sink/no-navbar-toolbar.html +11 -0
- data/Framework7-0.9.6/kitchen-sink/no-navbar.html +11 -0
- data/Framework7-0.9.6/kitchen-sink/no-toolbar.html +18 -0
- data/Framework7-0.9.6/kitchen-sink/notifications.html +21 -0
- data/Framework7-0.9.6/kitchen-sink/panel-right2.html +16 -0
- data/Framework7-0.9.6/kitchen-sink/panel-right3.html +16 -0
- data/Framework7-0.9.6/kitchen-sink/panels.html +23 -0
- data/Framework7-0.9.6/kitchen-sink/photo-browser.html +36 -0
- data/Framework7-0.9.6/kitchen-sink/popover.html +21 -0
- data/Framework7-0.9.6/kitchen-sink/preloader.html +28 -0
- data/Framework7-0.9.6/kitchen-sink/pull-to-refresh.html +52 -0
- data/Framework7-0.9.6/kitchen-sink/searchbar.html +233 -0
- data/Framework7-0.9.6/kitchen-sink/slider-custom.html +28 -0
- data/Framework7-0.9.6/kitchen-sink/slider-horizontal.html +29 -0
- data/Framework7-0.9.6/kitchen-sink/slider-multiple.html +89 -0
- data/Framework7-0.9.6/kitchen-sink/slider-nested.html +32 -0
- data/Framework7-0.9.6/kitchen-sink/slider-space-between.html +29 -0
- data/Framework7-0.9.6/kitchen-sink/slider-vertical.html +29 -0
- data/Framework7-0.9.6/kitchen-sink/slider.html +54 -0
- data/Framework7-0.9.6/kitchen-sink/sortable-list.html +137 -0
- data/Framework7-0.9.6/kitchen-sink/swipe-delete.html +216 -0
- data/Framework7-0.9.6/kitchen-sink/tabbar-labels.html +51 -0
- data/Framework7-0.9.6/kitchen-sink/tabbar.html +0 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +109 -0
- data/Rakefile +2 -0
- data/framework7rails.gemspec +23 -0
- data/install_local.sh +2 -0
- data/lib/framework7rails/version.rb +4 -0
- data/lib/framework7rails.rb +8 -0
- data/update_from_vendor.rb +40 -0
- data/vendor/assets/images/i-f7.png +0 -0
- data/vendor/assets/images/i-form-calendar.png +0 -0
- data/vendor/assets/images/i-form-comment.png +0 -0
- data/vendor/assets/images/i-form-email.png +0 -0
- data/vendor/assets/images/i-form-gender.png +0 -0
- data/vendor/assets/images/i-form-name.png +0 -0
- data/vendor/assets/images/i-form-password.png +0 -0
- data/vendor/assets/images/i-form-settings.png +0 -0
- data/vendor/assets/images/i-form-tel.png +0 -0
- data/vendor/assets/images/i-form-toggle.png +0 -0
- data/vendor/assets/images/i-form-url.png +0 -0
- data/vendor/assets/javascripts/framework7.js +8288 -0
- data/vendor/assets/javascripts/framework7.js.map +1 -0
- data/vendor/assets/stylesheets/framework7.css +5078 -0
- data/vendor/assets/stylesheets/framework7.themes.css +279 -0
- metadata +231 -3
|
@@ -0,0 +1,560 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
/*global require:true, module:false*/
|
|
3
|
+
module.exports = function (grunt) {
|
|
4
|
+
// show elapsed time at the end
|
|
5
|
+
require('time-grunt')(grunt);
|
|
6
|
+
// load all grunt tasks
|
|
7
|
+
require('load-grunt-tasks')(grunt);
|
|
8
|
+
|
|
9
|
+
var framework7 = {
|
|
10
|
+
filename: 'framework7'
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
var customModules = grunt.file.readJSON('modules.json');
|
|
15
|
+
var customBanner = '/*\n' +
|
|
16
|
+
' * <%= pkg.name %> <%= pkg.version %> - Custom Build\n' +
|
|
17
|
+
' *\n' +
|
|
18
|
+
' * Included modules: <%= modulesList %>\n' +
|
|
19
|
+
' *\n' +
|
|
20
|
+
' * Copyright <%= grunt.template.today("yyyy") %>, <%= pkg.author %>\n' +
|
|
21
|
+
' * The iDangero.us\n' +
|
|
22
|
+
' * http://www.idangero.us/\n' +
|
|
23
|
+
' *\n' +
|
|
24
|
+
' * Created on: <%= grunt.template.today("mmmm d, yyyy, HH:MM") %>\n' +
|
|
25
|
+
'*/\n';
|
|
26
|
+
|
|
27
|
+
// List of js files to concatenate
|
|
28
|
+
var jsFilesList = [
|
|
29
|
+
'src/js/wrap-start.js',
|
|
30
|
+
'src/js/f7-intro.js',
|
|
31
|
+
'src/js/global-events.js',
|
|
32
|
+
'src/js/views.js',
|
|
33
|
+
'src/js/navbars.js',
|
|
34
|
+
'src/js/searchbar.js',
|
|
35
|
+
'src/js/messagebar.js',
|
|
36
|
+
'src/js/xhr.js',
|
|
37
|
+
'src/js/pages.js',
|
|
38
|
+
'src/js/modals.js',
|
|
39
|
+
'src/js/panels.js',
|
|
40
|
+
'src/js/messages.js',
|
|
41
|
+
'src/js/swipeout.js',
|
|
42
|
+
'src/js/sortable.js',
|
|
43
|
+
'src/js/smart-select.js',
|
|
44
|
+
'src/js/pull-to-refresh.js',
|
|
45
|
+
'src/js/infinite-scroll.js',
|
|
46
|
+
'src/js/tabs.js',
|
|
47
|
+
'src/js/accordion.js',
|
|
48
|
+
'src/js/fast-clicks.js',
|
|
49
|
+
'src/js/clicks.js',
|
|
50
|
+
'src/js/resize.js',
|
|
51
|
+
'src/js/forms-handler.js',
|
|
52
|
+
'src/js/push-state.js',
|
|
53
|
+
'src/js/slider.js',
|
|
54
|
+
'src/js/photo-browser.js',
|
|
55
|
+
'src/js/notifications.js',
|
|
56
|
+
'src/js/plugins.js',
|
|
57
|
+
'src/js/init.js',
|
|
58
|
+
'src/js/f7-outro.js',
|
|
59
|
+
'src/js/dom7-intro.js',
|
|
60
|
+
'src/js/dom7-methods.js',
|
|
61
|
+
'src/js/dom7-ajax.js',
|
|
62
|
+
'src/js/dom7-utils.js',
|
|
63
|
+
'src/js/dom7-outro.js',
|
|
64
|
+
'src/js/proto-support.js',
|
|
65
|
+
'src/js/proto-device.js',
|
|
66
|
+
'src/js/proto-plugins.js',
|
|
67
|
+
'src/js/wrap-end.js',
|
|
68
|
+
'src/js/template7.js'
|
|
69
|
+
];
|
|
70
|
+
|
|
71
|
+
// Project configuration.
|
|
72
|
+
grunt.initConfig({
|
|
73
|
+
framework7: framework7,
|
|
74
|
+
// Metadata.
|
|
75
|
+
pkg: grunt.file.readJSON('bower.json'),
|
|
76
|
+
banner: '/*\n' +
|
|
77
|
+
' * <%= pkg.name %> <%= pkg.version %>\n' +
|
|
78
|
+
' * <%= pkg.description %>\n' +
|
|
79
|
+
' *\n' +
|
|
80
|
+
' * <%= pkg.homepage %>\n' +
|
|
81
|
+
' *\n' +
|
|
82
|
+
' * Copyright <%= grunt.template.today("yyyy") %>, <%= pkg.author %>\n' +
|
|
83
|
+
' * The iDangero.us\n' +
|
|
84
|
+
' * http://www.idangero.us/\n' +
|
|
85
|
+
' *\n' +
|
|
86
|
+
' * Licensed under <%= pkg.license.join(" & ") %>\n' +
|
|
87
|
+
' *\n' +
|
|
88
|
+
' * Released on: <%= grunt.template.today("mmmm d, yyyy") %>\n' +
|
|
89
|
+
'*/\n',
|
|
90
|
+
|
|
91
|
+
// Task configuration.
|
|
92
|
+
connect: {
|
|
93
|
+
server: {
|
|
94
|
+
options: {
|
|
95
|
+
port: 3000,
|
|
96
|
+
base: ''
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
open: {
|
|
101
|
+
kitchen: {
|
|
102
|
+
path: 'http://localhost:3000/kitchen-sink'
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
less: {
|
|
106
|
+
build: {
|
|
107
|
+
options: {
|
|
108
|
+
paths: ['less'],
|
|
109
|
+
cleancss: false
|
|
110
|
+
},
|
|
111
|
+
files: {
|
|
112
|
+
'build/css/<%= framework7.filename %>.css' : ['src/less/<%= framework7.filename %>.less'],
|
|
113
|
+
'build/css/<%= framework7.filename %>.rtl.css' : ['src/less/<%= framework7.filename %>.rtl.less'],
|
|
114
|
+
'build/css/<%= framework7.filename %>.themes.css' : ['src/less/<%= framework7.filename %>.themes.less']
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
dist: {
|
|
118
|
+
options: {
|
|
119
|
+
paths: ['less'],
|
|
120
|
+
cleancss: true
|
|
121
|
+
},
|
|
122
|
+
files: {
|
|
123
|
+
'dist/css/<%= framework7.filename %>.min.css' : ['src/less/<%= framework7.filename %>.less'],
|
|
124
|
+
'dist/css/<%= framework7.filename %>.rtl.min.css' : ['src/less/<%= framework7.filename %>.rtl.less'],
|
|
125
|
+
'dist/css/<%= framework7.filename %>.themes.min.css' : ['src/less/<%= framework7.filename %>.themes.less']
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
kitchen: {
|
|
129
|
+
options: {
|
|
130
|
+
paths: ['kitchen-sink/less/'],
|
|
131
|
+
cleancss: false
|
|
132
|
+
},
|
|
133
|
+
files: {
|
|
134
|
+
'kitchen-sink/css/kitchen-sink.css' : 'kitchen-sink/less/kitchen-sink.less'
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
examples: {
|
|
138
|
+
options: {
|
|
139
|
+
cleancss: false
|
|
140
|
+
},
|
|
141
|
+
files: [
|
|
142
|
+
{
|
|
143
|
+
expand: true,
|
|
144
|
+
cwd: 'examples/tab-bar/less/',
|
|
145
|
+
src: ['*.less'],
|
|
146
|
+
dest: 'examples/tab-bar/css/',
|
|
147
|
+
ext: '.css'
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
expand: true,
|
|
151
|
+
cwd: 'examples/split-view/less/',
|
|
152
|
+
src: ['*.less'],
|
|
153
|
+
dest: 'examples/split-view/css/',
|
|
154
|
+
ext: '.css'
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
expand: true,
|
|
158
|
+
cwd: 'examples/split-view-panel/less/',
|
|
159
|
+
src: ['*.less'],
|
|
160
|
+
dest: 'examples/split-view-panel/css/',
|
|
161
|
+
ext: '.css'
|
|
162
|
+
}
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
apps: {
|
|
166
|
+
options: {
|
|
167
|
+
cleancss: false
|
|
168
|
+
},
|
|
169
|
+
files: [
|
|
170
|
+
{
|
|
171
|
+
expand: true,
|
|
172
|
+
cwd: 'apps/weather7/less/',
|
|
173
|
+
src: ['*.less'],
|
|
174
|
+
dest: 'apps/weather7/css/',
|
|
175
|
+
ext: '.css'
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
expand: true,
|
|
179
|
+
cwd: 'apps/todo7/less/',
|
|
180
|
+
src: ['*.less'],
|
|
181
|
+
dest: 'apps/todo7/css/',
|
|
182
|
+
ext: '.css'
|
|
183
|
+
},
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
custom: {
|
|
187
|
+
options: {
|
|
188
|
+
paths: ['less'],
|
|
189
|
+
cleancss: false
|
|
190
|
+
},
|
|
191
|
+
files: {
|
|
192
|
+
'custom/css/<%= framework7.filename %>.custom.css' : ['custom/<%= framework7.filename %>.custom.less'],
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
custom_min: {
|
|
196
|
+
options: {
|
|
197
|
+
paths: ['less'],
|
|
198
|
+
cleancss: true
|
|
199
|
+
},
|
|
200
|
+
files: {
|
|
201
|
+
'custom/css/<%= framework7.filename %>.custom.min.css' : ['custom/<%= framework7.filename %>.custom.less'],
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
concat: {
|
|
206
|
+
options: {
|
|
207
|
+
banner: '<%= banner %>',
|
|
208
|
+
stripBanners: false,
|
|
209
|
+
process: function (src, filename) {
|
|
210
|
+
if (filename.indexOf('.js') >= 0) {
|
|
211
|
+
var addIndent = ' ';
|
|
212
|
+
filename = filename.replace('src/js/', '');
|
|
213
|
+
if (filename === 'wrap-start.js' || filename === 'wrap-end.js' || filename === 'template7.js') {
|
|
214
|
+
addIndent = '';
|
|
215
|
+
}
|
|
216
|
+
var add4spaces = ('f7-intro.js f7-outro.js proto-device.js proto-plugins.js proto-support.js dom7-intro.js dom7-outro.js').split(' ');
|
|
217
|
+
if (add4spaces.indexOf(filename) >= 0) {
|
|
218
|
+
addIndent = ' ';
|
|
219
|
+
}
|
|
220
|
+
var add8spaces = ('dom7-methods.js dom7-ajax.js dom7-utils.js').split(' ');
|
|
221
|
+
if (add8spaces.indexOf(filename) >= 0) {
|
|
222
|
+
addIndent = ' ';
|
|
223
|
+
}
|
|
224
|
+
src = grunt.util.normalizelf(src);
|
|
225
|
+
return src.split(grunt.util.linefeed).map(function (line) {
|
|
226
|
+
return addIndent + line;
|
|
227
|
+
}).join(grunt.util.linefeed);
|
|
228
|
+
}
|
|
229
|
+
else return src;
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
js: {
|
|
233
|
+
src: jsFilesList,
|
|
234
|
+
dest: 'build/js/<%= framework7.filename %>.js'
|
|
235
|
+
},
|
|
236
|
+
css_build: {
|
|
237
|
+
src: ['build/css/<%= framework7.filename %>.css'],
|
|
238
|
+
dest: 'build/css/<%= framework7.filename %>.css'
|
|
239
|
+
},
|
|
240
|
+
css_dist: {
|
|
241
|
+
src: ['dist/css/<%= framework7.filename %>.min.css'],
|
|
242
|
+
dest: 'dist/css/<%= framework7.filename %>.min.css'
|
|
243
|
+
},
|
|
244
|
+
js_custom: {
|
|
245
|
+
options: {
|
|
246
|
+
banner: customBanner
|
|
247
|
+
},
|
|
248
|
+
src: '<%= modulesJsList %>',
|
|
249
|
+
dest: 'custom/js/<%= framework7.filename %>.custom.js'
|
|
250
|
+
},
|
|
251
|
+
less_custom: {
|
|
252
|
+
options: {
|
|
253
|
+
banner: '',
|
|
254
|
+
},
|
|
255
|
+
src: '<%= modulesLessList %>',
|
|
256
|
+
dest: 'custom/<%= framework7.filename %>.custom.less'
|
|
257
|
+
},
|
|
258
|
+
css_custom: {
|
|
259
|
+
options: {
|
|
260
|
+
banner: customBanner
|
|
261
|
+
},
|
|
262
|
+
files: {
|
|
263
|
+
'custom/css/<%= framework7.filename %>.custom.css' : ['custom/css/<%= framework7.filename %>.custom.css'],
|
|
264
|
+
'custom/css/<%= framework7.filename %>.custom.min.css' : ['custom/css/<%= framework7.filename %>.custom.min.css'],
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
uglify: {
|
|
269
|
+
options: {
|
|
270
|
+
banner: '<%= banner %>'
|
|
271
|
+
},
|
|
272
|
+
dist: {
|
|
273
|
+
src: ['dist/js/<%= framework7.filename %>.js'],
|
|
274
|
+
dest: 'dist/js/<%= framework7.filename %>.min.js',
|
|
275
|
+
},
|
|
276
|
+
custom: {
|
|
277
|
+
options: {
|
|
278
|
+
banner: customBanner
|
|
279
|
+
},
|
|
280
|
+
src: ['custom/js/<%= framework7.filename %>.custom.js'],
|
|
281
|
+
dest: 'custom/js/<%= framework7.filename %>.custom.min.js',
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
jshint: {
|
|
285
|
+
options: {
|
|
286
|
+
jshintrc: '.jshintrc',
|
|
287
|
+
reporter: require('jshint-stylish')
|
|
288
|
+
},
|
|
289
|
+
build: {
|
|
290
|
+
src: ['Gruntfile.js', 'build/js/framework7.js']
|
|
291
|
+
},
|
|
292
|
+
custom: {
|
|
293
|
+
src: ['custom/js/<%= framework7.filename %>.custom.js']
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
|
|
297
|
+
watch: {
|
|
298
|
+
build: {
|
|
299
|
+
files: ['src/**'],
|
|
300
|
+
tasks: ['build'],
|
|
301
|
+
options: {
|
|
302
|
+
livereload: true
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
kitchen: {
|
|
306
|
+
files: ['kitchen-sink/jade/**', 'kitchen-sink/less/**'],
|
|
307
|
+
tasks: ['jade:kitchen', 'less:kitchen'],
|
|
308
|
+
options: {
|
|
309
|
+
livereload: true
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
examples: {
|
|
313
|
+
files: [
|
|
314
|
+
'examples/tab-bar/jade/**', 'examples/tab-bar/less/**',
|
|
315
|
+
'examples/split-view/jade/**', 'examples/split-view/less/**',
|
|
316
|
+
'examples/split-view-panel/jade/**', 'examples/split-view-panel/less/**'
|
|
317
|
+
],
|
|
318
|
+
tasks: ['jade:examples', 'less:examples'],
|
|
319
|
+
options: {
|
|
320
|
+
livereload: true
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
apps: {
|
|
324
|
+
files: [
|
|
325
|
+
'apps/weather7/jade/**', 'apps/weather7/less/**',
|
|
326
|
+
'apps/todo7/jade/**', 'apps/todo7/less/**',
|
|
327
|
+
],
|
|
328
|
+
tasks: ['jade:apps', 'less:apps'],
|
|
329
|
+
options: {
|
|
330
|
+
livereload: true
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
jade: {
|
|
335
|
+
build: {
|
|
336
|
+
options: {
|
|
337
|
+
pretty: true,
|
|
338
|
+
},
|
|
339
|
+
files: [{
|
|
340
|
+
expand: true,
|
|
341
|
+
cwd: 'src/templates/',
|
|
342
|
+
src: ['*.jade'],
|
|
343
|
+
dest: 'build/',
|
|
344
|
+
ext: '.html'
|
|
345
|
+
}]
|
|
346
|
+
},
|
|
347
|
+
kitchen: {
|
|
348
|
+
options: {
|
|
349
|
+
pretty: true
|
|
350
|
+
},
|
|
351
|
+
files: [{
|
|
352
|
+
expand: true,
|
|
353
|
+
cwd: 'kitchen-sink/jade/',
|
|
354
|
+
src: ['*.jade'],
|
|
355
|
+
dest: 'kitchen-sink/',
|
|
356
|
+
ext: '.html'
|
|
357
|
+
}]
|
|
358
|
+
},
|
|
359
|
+
examples: {
|
|
360
|
+
options: {
|
|
361
|
+
pretty: true
|
|
362
|
+
},
|
|
363
|
+
files: [
|
|
364
|
+
{
|
|
365
|
+
expand: true,
|
|
366
|
+
cwd: 'examples/tab-bar/jade/',
|
|
367
|
+
src: ['*.jade'],
|
|
368
|
+
dest: 'examples/tab-bar/',
|
|
369
|
+
ext: '.html'
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
expand: true,
|
|
373
|
+
cwd: 'examples/split-view/jade/',
|
|
374
|
+
src: ['*.jade'],
|
|
375
|
+
dest: 'examples/split-view/',
|
|
376
|
+
ext: '.html'
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
expand: true,
|
|
380
|
+
cwd: 'examples/split-view-panel/jade/',
|
|
381
|
+
src: ['*.jade'],
|
|
382
|
+
dest: 'examples/split-view-panel/',
|
|
383
|
+
ext: '.html'
|
|
384
|
+
},
|
|
385
|
+
|
|
386
|
+
]
|
|
387
|
+
},
|
|
388
|
+
apps: {
|
|
389
|
+
options: {
|
|
390
|
+
pretty: true
|
|
391
|
+
},
|
|
392
|
+
files: [
|
|
393
|
+
{
|
|
394
|
+
expand: true,
|
|
395
|
+
cwd: 'apps/weather7/jade/',
|
|
396
|
+
src: ['*.jade'],
|
|
397
|
+
dest: 'apps/weather7/',
|
|
398
|
+
ext: '.html'
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
expand: true,
|
|
402
|
+
cwd: 'apps/todo7/jade/',
|
|
403
|
+
src: ['*.jade'],
|
|
404
|
+
dest: 'apps/todo7/',
|
|
405
|
+
ext: '.html'
|
|
406
|
+
},
|
|
407
|
+
]
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
copy: {
|
|
411
|
+
build: {
|
|
412
|
+
files: [
|
|
413
|
+
{
|
|
414
|
+
expand: true,
|
|
415
|
+
cwd: 'src/',
|
|
416
|
+
src: ['img/**'],
|
|
417
|
+
dest: 'build/'
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
expand: true,
|
|
421
|
+
cwd: 'src/my-app/',
|
|
422
|
+
src: ['my-app.css'],
|
|
423
|
+
dest: 'build/css/'
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
expand: true,
|
|
427
|
+
cwd: 'src/my-app/',
|
|
428
|
+
src: ['my-app.js'],
|
|
429
|
+
dest: 'build/js/'
|
|
430
|
+
}
|
|
431
|
+
]
|
|
432
|
+
},
|
|
433
|
+
dist: {
|
|
434
|
+
files: [
|
|
435
|
+
{
|
|
436
|
+
expand: true,
|
|
437
|
+
cwd: 'build/',
|
|
438
|
+
src: ['**'],
|
|
439
|
+
dest: 'dist/'
|
|
440
|
+
}
|
|
441
|
+
]
|
|
442
|
+
},
|
|
443
|
+
},
|
|
444
|
+
});
|
|
445
|
+
|
|
446
|
+
// Default task.
|
|
447
|
+
this.registerTask('default', ['build']);
|
|
448
|
+
|
|
449
|
+
// Build a new version of the library
|
|
450
|
+
this.registerTask('test', 'Test of <%= pkg.name %>', [
|
|
451
|
+
'concat:js',
|
|
452
|
+
'less:build',
|
|
453
|
+
'concat:css_build',
|
|
454
|
+
'jshint:build',
|
|
455
|
+
]);
|
|
456
|
+
|
|
457
|
+
// Build a new version of the library
|
|
458
|
+
this.registerTask('build', 'Builds a development version of <%= pkg.name %>', [
|
|
459
|
+
'concat:js',
|
|
460
|
+
'less:build',
|
|
461
|
+
'concat:css_build',
|
|
462
|
+
'jshint:build',
|
|
463
|
+
'copy:build',
|
|
464
|
+
'jade:build',
|
|
465
|
+
]);
|
|
466
|
+
|
|
467
|
+
// Release
|
|
468
|
+
this.registerTask('dist', 'Builds a distributable version of <%= pkg.name %>', [
|
|
469
|
+
'concat:js',
|
|
470
|
+
'less:build',
|
|
471
|
+
'less:dist',
|
|
472
|
+
'concat:css_build',
|
|
473
|
+
'concat:css_dist',
|
|
474
|
+
'jshint:build',
|
|
475
|
+
'copy:build',
|
|
476
|
+
'jade:build',
|
|
477
|
+
'copy:dist',
|
|
478
|
+
'uglify:dist'
|
|
479
|
+
]);
|
|
480
|
+
|
|
481
|
+
|
|
482
|
+
// Kitchen Sink
|
|
483
|
+
this.registerTask('kitchen', 'Builds a kithcen sink', [
|
|
484
|
+
'build',
|
|
485
|
+
'jade:kitchen',
|
|
486
|
+
'less:kitchen'
|
|
487
|
+
]);
|
|
488
|
+
this.registerTask('examples', 'Compile examples less and jade files', [
|
|
489
|
+
'jade:examples',
|
|
490
|
+
'less:examples'
|
|
491
|
+
]);
|
|
492
|
+
this.registerTask('apps', 'Compile apps less and jade files', [
|
|
493
|
+
'jade:apps',
|
|
494
|
+
'less:apps'
|
|
495
|
+
]);
|
|
496
|
+
|
|
497
|
+
// Server
|
|
498
|
+
this.registerTask('server', 'Run server', [
|
|
499
|
+
'connect',
|
|
500
|
+
'open',
|
|
501
|
+
'watch'
|
|
502
|
+
]);
|
|
503
|
+
|
|
504
|
+
// Custom Build
|
|
505
|
+
this.registerTask('custom', 'Include modules in custom build', function (modules) {
|
|
506
|
+
if (modules) modules = modules.split(',');
|
|
507
|
+
modules = modules || [];
|
|
508
|
+
var modulesJsList = [], modulesLessList = [];
|
|
509
|
+
var i, module;
|
|
510
|
+
modulesJsList.push.apply(modulesJsList, customModules.core_intro.js);
|
|
511
|
+
modulesLessList.push.apply(modulesLessList, customModules.core_intro.less);
|
|
512
|
+
|
|
513
|
+
for (i = 0; i < modules.length; i++) {
|
|
514
|
+
module = customModules[modules[i]];
|
|
515
|
+
if (module.dependencies.length > 0) {
|
|
516
|
+
modules.push.apply(modules, module.dependencies);
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
for (i = 0; i < modules.length; i++) {
|
|
520
|
+
module = customModules[modules[i]];
|
|
521
|
+
if (!(module)) continue;
|
|
522
|
+
|
|
523
|
+
if (module.js.length > 0) {
|
|
524
|
+
modulesJsList.push.apply(modulesJsList, module.js);
|
|
525
|
+
}
|
|
526
|
+
if (module.less.length > 0) {
|
|
527
|
+
modulesLessList.push.apply(modulesLessList, module.less);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
modulesJsList.push.apply(modulesJsList, customModules.core_outro.js);
|
|
531
|
+
modulesLessList.push.apply(modulesLessList, customModules.core_outro.less);
|
|
532
|
+
|
|
533
|
+
// Unique
|
|
534
|
+
var uniqueJsList = [];
|
|
535
|
+
var uniqueLessList = [];
|
|
536
|
+
for (i = 0; i < modulesJsList.length; i++) {
|
|
537
|
+
if (uniqueJsList.indexOf(modulesJsList[i]) < 0) uniqueJsList.push(modulesJsList[i]);
|
|
538
|
+
}
|
|
539
|
+
for (i = 0; i < modulesLessList.length; i++) {
|
|
540
|
+
if (uniqueLessList.indexOf(modulesLessList[i]) < 0) uniqueLessList.push(modulesLessList[i]);
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
// Tasks vars
|
|
544
|
+
grunt.config.set('modulesJsList', uniqueJsList);
|
|
545
|
+
grunt.config.set('modulesLessList', uniqueLessList);
|
|
546
|
+
grunt.config.set('modulesList', modules.join(', '));
|
|
547
|
+
|
|
548
|
+
// Run tasks
|
|
549
|
+
grunt.task.run([
|
|
550
|
+
'concat:js_custom',
|
|
551
|
+
'jshint:custom',
|
|
552
|
+
'uglify:custom',
|
|
553
|
+
'concat:less_custom',
|
|
554
|
+
'less:custom',
|
|
555
|
+
'less:custom_min',
|
|
556
|
+
'concat:css_custom'
|
|
557
|
+
]);
|
|
558
|
+
});
|
|
559
|
+
|
|
560
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2014 Vladimir Kharlampidi
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
7
|
+
the Software without restriction, including without limitation the rights to
|
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
10
|
+
subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
17
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
18
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
19
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
20
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
[](https://waffle.io/nolimits4web/framework7)
|
|
2
|
+
[](https://travis-ci.org/nolimits4web/Framework7)
|
|
3
|
+
[](https://david-dm.org/nolimits4web/framework7#info=devDependencies)
|
|
4
|
+
[](https://flattr.com/submit/auto?user_id=nolimits4web&url=https://github.com/nolimits4web/framework7/&title=Framework7&language=JavaScript&tags=github&category=software)
|
|
5
|
+
|
|
6
|
+
Framework7
|
|
7
|
+
==========
|
|
8
|
+
|
|
9
|
+
Full Featured HTML Framework For Building iOS7 Apps
|
|
10
|
+
|
|
11
|
+
## Attention!
|
|
12
|
+
|
|
13
|
+
Framework7 is on early development stage, so many things may be changed and sorted in a short time.
|
|
14
|
+
|
|
15
|
+
## Getting Started
|
|
16
|
+
* Clone/download this repo
|
|
17
|
+
* Start building your App from changing Kitchen Sink, or from a clean template from `dist/` folder
|
|
18
|
+
|
|
19
|
+
## Server
|
|
20
|
+
|
|
21
|
+
Because Framework7 uses Ajax for navigation between pages you will need a server. So to make it work you should put dist folder (or Kitchen Sink) on a server. Or, as an option, you may use Grunt's server. Just run:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
$ grunt server
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
* Kitchen Sink will be available on `http://localhost:3000/kitchen-sink/`
|
|
28
|
+
* Dist - on `http://localhost:3000/dist/`
|
|
29
|
+
|
|
30
|
+
## Kitchen Sink
|
|
31
|
+
|
|
32
|
+
Framework7' JS and CSS files in Kitchen Sink are temporary linked to `build/` to make development process easier on this stage. So to make it work you need to build Framework7 (see Build section) or to re-link JS and CSS files to `dist/` folder.
|
|
33
|
+
|
|
34
|
+
## Dist vs Build versions
|
|
35
|
+
|
|
36
|
+
On production use files (JS and CSS) only from `dist/` folder, there will be the most stable versions, `build/` folder is only for development purpose
|
|
37
|
+
|
|
38
|
+
## Build
|
|
39
|
+
|
|
40
|
+
Framework7 uses `grunt` to build a development (build) and dist versions.
|
|
41
|
+
|
|
42
|
+
First you need to have `grunt-cli` which you should install globally.
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
$ npm install -g grunt-cli
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Then install all dependencies, in repo's root:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
$ npm install
|
|
52
|
+
$ grunt build
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The result is available in `build/` folder.
|
|
56
|
+
|
|
57
|
+
## Dist/Release
|
|
58
|
+
|
|
59
|
+
After you have made build:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
$ grunt dist
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Distributable version will available in `dist/` folder.
|
|
66
|
+
|
|
67
|
+
## Custom build
|
|
68
|
+
|
|
69
|
+
You can build custom version of Framework7 with only required components/modules. For example, if we need to include only Accordion, Modals and Tabs modules in addition to Framework 7 core:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
$ grunt custom:accordion,modals,tabs
|
|
73
|
+
```
|
|
74
|
+
After that you will find created `custom/` folder with generated JS and CSS files. Here is the list of available additional modules:
|
|
75
|
+
|
|
76
|
+
* accordion
|
|
77
|
+
* searchbar
|
|
78
|
+
* messages
|
|
79
|
+
* modals
|
|
80
|
+
* swipeout
|
|
81
|
+
* sortable
|
|
82
|
+
* smart-select
|
|
83
|
+
* pull-to-refresh
|
|
84
|
+
* infinite-scroll
|
|
85
|
+
* tabs
|
|
86
|
+
* fast-clicks
|
|
87
|
+
* forms (means Ajax forms and forms storage)
|
|
88
|
+
* push-state
|
|
89
|
+
* slider
|
|
90
|
+
* photo-browser
|
|
91
|
+
* notifications
|
|
92
|
+
|
|
93
|
+
## Contributing
|
|
94
|
+
|
|
95
|
+
All changes should be commited to `src/` files. Framework7 uses LESS for CSS compliations, and concatenated JS files (look at Gruntfile.js for concat files order)
|
|
96
|
+
|
|
97
|
+
If you want to help in Framework7 development and make it event better visit this page: http://www.idangero.us/framework7/contribute/
|
|
98
|
+
|
|
99
|
+
## Forum
|
|
100
|
+
|
|
101
|
+
If you have questions about Framework7 or want to help others you are welcome to special forum at http://www.idangero.us/framework7/forum/
|
|
102
|
+
|
|
103
|
+
## Docs
|
|
104
|
+
|
|
105
|
+
Documentation available at http://idangero.us/framework7/docs/
|
|
106
|
+
|
|
107
|
+
## Tutorials
|
|
108
|
+
|
|
109
|
+
Tutorials available at http://idangero.us/framework7/tutorials/
|
|
110
|
+
|
|
111
|
+
## Showcase
|
|
112
|
+
|
|
113
|
+
Appstore apps made with Framework7: http://idangero.us/framework7/showcase/
|