├── .gitignore
├── app.js
├── baidu_verify_33t7940NhB.html
├── bin
└── www.js
├── config.js
├── controllers
└── index.js
├── gulpfile.js
├── package.json
├── public
├── css
│ ├── _footer.css
│ ├── _footer.styl
│ ├── _main.css
│ ├── _main.styl
│ ├── _normalize.css
│ ├── _normalize.styl
│ ├── _sidebar.css
│ ├── _sidebar.styl
│ ├── _style.css
│ ├── _style.styl
│ ├── _variables.css
│ ├── _variables.styl
│ ├── index.css
│ ├── index.styl
│ ├── materialize.min.css
│ └── prism.css
├── font
│ ├── Material-Design-Icons.eot
│ ├── Material-Design-Icons.ttf
│ ├── Material-Design-Icons.woff
│ └── Material-Design-Icons.woff2
├── img
│ ├── materialize.svg
│ ├── menu.gif
│ ├── office.jpg
│ ├── parallax1.jpg
│ ├── parallax2.jpg
│ ├── responsive.png
│ ├── sample-1.jpg
│ ├── style_typography_roboto1.png
│ ├── toast.gif
│ └── yuna.jpg
└── js
│ ├── app.js
│ ├── jquery.min.js
│ ├── materialize.min.js
│ └── prism.js
├── routers.js
├── service
└── hbshelpers.js
├── sitemap.xml
└── views
├── components
├── badges.hbs
├── buttons.hbs
├── cards.hbs
├── collections.hbs
├── footer.hbs
├── forms.hbs
├── icons.hbs
├── navbar.hbs
├── pagination.hbs
└── preloader.hbs
├── css
├── color.hbs
├── grid.hbs
├── helpers.hbs
├── mediacss.hbs
├── shadow.hbs
├── table.hbs
└── typography.hbs
├── err.hbs
├── index.hbs
├── javascript
├── collapsible.hbs
├── dialogs.hbs
├── dropdown.hbs
├── fullscreen-slider-demo.hbs
├── media.hbs
├── modals.hbs
├── parallax-demo.hbs
├── parallax.hbs
├── pushpin.hbs
├── scrollfire.hbs
├── scrollspy.hbs
├── side-nav.hbs
├── tabs.hbs
├── transitions.hbs
└── waves.hbs
├── layouts
└── layout.hbs
├── mobile.hbs
├── showcase.hbs
└── start.hbs
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | node_modules/
3 | bower_components/
4 | *.log
5 |
--------------------------------------------------------------------------------
/app.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by panew on 15-6-14.
3 | */
4 | var config = require('./config');
5 | var env = process.env.NODE_ENV;
6 | var express = require('express');
7 | var path = require('path');
8 | var logger = require('morgan');
9 | var cookieParser = require('cookie-parser');
10 | var bodyParser = require('body-parser');
11 | var exhbs = require('express-handlebars');
12 | var hbshelper = require('./service/hbshelpers');
13 | var routers = require('./routers');
14 | var app = express();
15 |
16 | // view engine setup
17 | app.engine('hbs', exhbs(hbshelper));
18 | app.set('views', path.join(__dirname, 'views'));
19 | app.set('view engine', 'hbs');
20 | app.use(bodyParser.json());
21 | app.use(bodyParser.urlencoded({'extended': true}));
22 | app.use(cookieParser());
23 |
24 | if (env === "development") {
25 | app.use(logger('dev'));
26 | }
27 |
28 |
29 | app.use(function (req, res, next) {
30 | res.locals.production = env === "production";
31 | next();
32 | });
33 |
34 | app.use('/', routers);
35 |
36 | /// catch 404 and forward to error handler
37 | app.use(function (req, res, next) {
38 | var err = new Error('Not Found');
39 | err.status = 404;
40 | res.status(err.status);
41 | next(err);
42 | });
43 |
44 | /// error handlers
45 |
46 |
47 | // production error handler
48 | // no stacktraces leaked to user
49 | app.use(function (err, req, res, next) {
50 | var data = {layout: false};
51 | if (env === 'development') {
52 | data.message = err.message;
53 | data.error = err;
54 | }
55 | else {
56 | data.title = {
57 | 404: '木有这个页面,orz',
58 | 500: '伍佰来了,次奥'
59 | }[res.statusCode];
60 | }
61 | res.render('err', data);
62 | });
63 |
64 |
65 | module.exports = app;
--------------------------------------------------------------------------------
/baidu_verify_33t7940NhB.html:
--------------------------------------------------------------------------------
1 | 33t7940NhB
--------------------------------------------------------------------------------
/bin/www.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by panew on 15-6-12.
3 | */
4 | var app = require('../app');
5 |
6 | app.set('port', process.env.PORT || 3001);
7 |
8 | var server = app.listen(app.get('port'), function () {
9 | console.log('Express server listening on port ' + server.address().port);
10 | });
11 |
--------------------------------------------------------------------------------
/config.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by panew on 15-6-12.
3 | */
4 |
--------------------------------------------------------------------------------
/controllers/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by panew on 15-6-12.
3 | */
4 | exports.index = function (req, res) {
5 | return res.render('index');
6 | };
7 |
8 | exports.start = function (req, res) {
9 | return res.render('start');
10 | };
11 |
12 | exports.color = function (req, res) {
13 | return res.render('css/color');
14 | };
15 |
16 | exports.grid = function (req, res) {
17 | return res.render('css/grid');
18 | };
19 |
20 | exports.helpers = function (req, res) {
21 | return res.render('css/helpers');
22 | };
23 |
24 | exports.mediacss = function (req, res) {
25 | return res.render('css/mediacss');
26 | };
27 |
28 | exports.sass = function (req, res) {
29 | return res.render('css/sass');
30 | };
31 |
32 | exports.shadow = function (req, res) {
33 | return res.render('css/shadow');
34 | };
35 |
36 | exports.table = function (req, res) {
37 | return res.render('css/table');
38 | };
39 |
40 | exports.typography = function (req, res) {
41 | return res.render('css/typography');
42 | };
43 |
44 | exports.badges = function (req, res) {
45 | return res.render('components/badges');
46 | };
47 |
48 | exports.buttons = function (req, res) {
49 | return res.render('components/buttons');
50 | };
51 |
52 | exports.cards = function (req, res) {
53 | return res.render('components/cards');
54 | };
55 | exports.collections = function (req, res) {
56 | return res.render('components/collections');
57 | };
58 | exports.footer = function (req, res) {
59 | return res.render('components/footer');
60 | };
61 | exports.forms = function (req, res) {
62 | return res.render('components/forms');
63 | };
64 | exports.icons = function (req, res) {
65 | return res.render('components/icons');
66 | };
67 | exports.navbar = function (req, res) {
68 | return res.render('components/navbar');
69 | };
70 | exports.pagination = function (req, res) {
71 | return res.render('components/pagination');
72 | };
73 | exports.preloader = function (req, res) {
74 | return res.render('components/preloader');
75 | };
76 |
77 | //javascript
78 |
79 | exports.collapsible = function (req, res) {
80 | return res.render('javascript/collapsible');
81 | };
82 | exports.dialogs = function (req, res) {
83 | return res.render('javascript/dialogs');
84 | };
85 | exports.dropdown = function (req, res) {
86 | return res.render('javascript/dropdown');
87 | };
88 | exports.media = function (req, res) {
89 | return res.render('javascript/media');
90 | };
91 | exports.modals = function (req, res) {
92 | return res.render('javascript/modals');
93 | };
94 | exports.parallax = function (req, res) {
95 | return res.render('javascript/parallax');
96 | };
97 | exports.parallaxdemo = function (req, res) {
98 | return res.render('javascript/parallax-demo',{layout:false});
99 | };
100 |
101 | exports.pushpin = function (req, res) {
102 | return res.render('javascript/pushpin');
103 | };
104 | exports.scrollfire = function (req, res) {
105 | return res.render('javascript/scrollfire');
106 | };
107 | exports.scrollspy = function (req, res) {
108 | return res.render('javascript/scrollspy');
109 | };
110 | exports.sidenav = function (req, res) {
111 | return res.render('javascript/side-nav');
112 | };
113 | exports.tabs = function (req, res) {
114 | return res.render('javascript/tabs');
115 | };
116 | exports.transitions = function (req, res) {
117 | return res.render('javascript/transitions');
118 | };
119 | exports.waves = function (req, res) {
120 | return res.render('javascript/waves');
121 | };
122 | exports.mobile = function (req, res) {
123 | return res.render('mobile');
124 | };
125 | exports.showcase = function (req, res) {
126 | return res.render('showcase');
127 | };
128 | exports.fsd = function (req, res) {
129 | return res.render('javascript/fullscreen-slider-demo');
130 | };
131 |
132 | exports.sitemap=function(req,res){
133 |
134 | }
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp'),
2 | inject = require('gulp-inject'),
3 | uglify = require('gulp-uglify'),
4 | concat = require('gulp-concat'),
5 | minifyCSS = require('gulp-minify-css'),
6 | clean = require('gulp-rimraf'),
7 | git = require('gulp-git'),
8 | runSequence = require('run-sequence'),
9 | browserSync = require('browser-sync').create(),
10 | shortId = require('shortid'),
11 | randomId = '',
12 | stylus = require('gulp-stylus');
13 |
14 | var resources = {
15 | css: ['public/css/app.css'],
16 | js : ['public/js/jquery.min.js', 'public/js/pop.js', 'public/js/app.js']
17 | };
18 |
19 | gulp.task('browser-sync', function () {
20 | browserSync.init({
21 | proxy: "127.0.0.1:8081"
22 | });
23 | gulp.watch(["views/**/*", 'public/**/*.js', 'public/css/index.css']).on("change", browserSync.reload);
24 | });
25 |
26 | gulp.task('compileStylus',function(){
27 | gulp.src('public/css/*.styl')
28 | .pipe(stylus())
29 | .pipe(gulp.dest('public/css/'));
30 |
31 | });
32 |
33 | gulp.task('watch',function(){
34 | gulp.watch('public/css/*.styl',['compileStylus']);
35 | });
36 |
37 | gulp.task('default',['watch','browser-sync']);
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Materialscss",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "gulpfile.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "",
10 | "license": "ISC",
11 | "devDependencies": {
12 | "browser-sync": "^2.7.9",
13 | "gulp": "^3.9.0",
14 | "gulp-concat": "^2.5.2",
15 | "gulp-git": "^1.2.4",
16 | "gulp-inject": "^1.3.1",
17 | "gulp-minify-css": "^1.1.6",
18 | "gulp-nodemon": "^2.0.3",
19 | "gulp-rimraf": "^0.1.1",
20 | "gulp-stylus": "^2.0.3",
21 | "gulp-uglify": "^1.2.0",
22 | "run-sequence": "^1.1.0",
23 | "shortid": "^2.2.2"
24 | },
25 | "dependencies": {
26 | "body-parser": "^1.12.4",
27 | "bootstrap-styl": "^4.0.4",
28 | "cookie-parser": "^1.3.5",
29 | "express": "^4.12.4",
30 | "express-handlebars": "^2.0.1",
31 | "moment": "^2.10.3",
32 | "morgan": "^1.5.3"
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/public/css/_footer.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/css/_footer.css
--------------------------------------------------------------------------------
/public/css/_footer.styl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/css/_footer.styl
--------------------------------------------------------------------------------
/public/css/_main.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/css/_main.css
--------------------------------------------------------------------------------
/public/css/_main.styl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/css/_main.styl
--------------------------------------------------------------------------------
/public/css/_normalize.css:
--------------------------------------------------------------------------------
1 | html {
2 | font-family: 'Open Sans', Helvetica, Tahoma, Arial, "Microsoft YaHei", "微软雅黑", STXihei, "华文细黑", SimSun, "宋体", Heiti, "黑体", sans-serif;
3 | }
4 |
--------------------------------------------------------------------------------
/public/css/_normalize.styl:
--------------------------------------------------------------------------------
1 | html
2 | font-family 'Open Sans', Helvetica, Tahoma, Arial, "Microsoft YaHei", "微软雅黑",STXihei, "华文细黑", SimSun, "宋体", Heiti, "黑体", sans-serif
--------------------------------------------------------------------------------
/public/css/_sidebar.css:
--------------------------------------------------------------------------------
1 | .sidebar {
2 | width: 240px;
3 | position: fixed;
4 | box-shadow: 2px 2px 2px #ddd;
5 | height: 100%;
6 | background-color: #fff;
7 | z-index: 998;
8 | }
9 | .sidebar:hover {
10 | overflow-y: auto;
11 | }
12 | .sidebar li:hover {
13 | background-color: rgba(0,0,0,0.05);
14 | }
15 | @media screen and (max-width: 992px) {
16 | .sidebar {
17 | left: -245px;
18 | }
19 | }
20 | .sidebar .logo {
21 | width: 100%;
22 | text-align: center;
23 | height: 90px;
24 | border-bottom: 1px solid #ddd;
25 | margin-top: 30px;
26 | }
27 | .sidebar a {
28 | line-height: 44px;
29 | height: 44px;
30 | font-weight: bolder;
31 | display: block;
32 | color: #444;
33 | padding: 0 25px;
34 | }
35 | .sidebar .collapsible {
36 | border: none;
37 | box-shadow: none;
38 | margin: 0;
39 | }
40 | .sidebar .collapsible-accordion > li.active {
41 | background-color: rgba(0,0,0,0.05);
42 | }
43 | .sidebar .collapsible-header {
44 | border: none;
45 | background-color: transparent;
46 | }
47 | .sidebar .collapsible-body {
48 | background-color: #fff;
49 | border: none;
50 | }
51 | .sidebar .collapsible-body ul {
52 | font-weight: 300;
53 | }
54 | .sidebar .collapsible-body a {
55 | padding-left: 40px;
56 | }
57 | .sidebar-collapsible:hover {
58 | background-color: #fff !important;
59 | }
60 | .sidebar .collapsible-body li.active,
61 | .side-nav.fixed .collapsible-body li.active {
62 | background-color: #ee6e73;
63 | }
64 | .sidebar .collapsible-body li.active a,
65 | .side-nav.fixed .collapsible-body li.active a {
66 | color: #fff;
67 | }
68 | .sidebar.in {
69 | overflow: auto;
70 | left: 0;
71 | box-shadow: none;
72 | transition: left 0.5s ease;
73 | }
74 |
--------------------------------------------------------------------------------
/public/css/_sidebar.styl:
--------------------------------------------------------------------------------
1 | .sidebar
2 | width 240px
3 | position fixed
4 | box-shadow 2px 2px 2px #ddd
5 | height 100%
6 | background-color #FFFFFF
7 | z-index 998
8 | &:hover
9 | overflow-y auto
10 | li
11 | &:hover
12 | background-color rgba(0, 0, 0, 0.05)
13 |
14 | @media screen and (max-width: 992px)
15 | .sidebar
16 | left -245px
17 |
18 |
19 | .sidebar .logo
20 | width 100%
21 | text-align center
22 | height 90px
23 | border-bottom 1px solid #ddd
24 | margin-top 30px
25 |
26 |
27 | .sidebar a
28 | line-height 44px
29 | height 44px
30 | font-weight bolder
31 | display block
32 | color #444
33 | padding 0 25px
34 |
35 | .sidebar .collapsible
36 | border none
37 | box-shadow none
38 | margin 0
39 |
40 | .sidebar .collapsible-accordion > li.active
41 | background-color rgba(0, 0, 0, 0.05)
42 |
43 | .sidebar .collapsible-header
44 | border none
45 | background-color transparent
46 |
47 | .sidebar .collapsible-body
48 | background-color #FFFFFF
49 | border none
50 | ul
51 | font-weight 300
52 |
53 | .sidebar .collapsible-body a
54 | padding-left 40px
55 |
56 | .sidebar-collapsible
57 | &:hover
58 | background-color #FFFFFF !important
59 |
60 | .sidebar .collapsible-body li.active, .side-nav.fixed .collapsible-body li.active {
61 | background-color: #ee6e73;
62 | }
63 | .sidebar .collapsible-body li.active a, .side-nav.fixed .collapsible-body li.active a {
64 | color: #fff;
65 | }
66 | .sidebar.in{
67 | overflow auto
68 | left 0
69 | box-shadow none
70 | transition left .5s ease
71 | }
--------------------------------------------------------------------------------
/public/css/_style.css:
--------------------------------------------------------------------------------
1 | html {
2 | background-color: #fcfcfc;
3 | }
4 | .header {
5 | color: #ee6e73;
6 | }
7 | .promo {
8 | width: 100%;
9 | }
10 | main,
11 | footer {
12 | padding-left: 240px;
13 | }
14 | @media only screen and (max-width: 992px) {
15 | main,
16 | footer {
17 | padding-left: 0;
18 | }
19 | .promo {
20 | width: 60%;
21 | margin: 0 auto;
22 | display: block;
23 | }
24 | }
25 | .promo i {
26 | color: #ee6e73;
27 | font-size: 7rem;
28 | display: block;
29 | }
30 | .promo-caption {
31 | font-size: 1.7rem;
32 | font-weight: 500;
33 | margin-top: 5px;
34 | margin-bottom: 0;
35 | }
36 | .col.grid-example {
37 | border: 1px solid #eee;
38 | margin: 7px 0;
39 | text-align: center;
40 | line-height: 50px;
41 | font-size: 28px;
42 | background-color: #ff6347;
43 | color: #fff;
44 | padding: 0;
45 | }
46 | .col.grid-example span {
47 | font-weight: 200;
48 | line-height: 50px;
49 | }
50 | .promo-example {
51 | overflow: hidden;
52 | }
53 | .dynamic-color .red,
54 | .dynamic-color .pink,
55 | .dynamic-color .purple,
56 | .dynamic-color .deep-purple,
57 | .dynamic-color .indigo,
58 | .dynamic-color .blue,
59 | .dynamic-color .light-blue,
60 | .dynamic-color .cyan,
61 | .dynamic-color .teal,
62 | .dynamic-color .green,
63 | .dynamic-color .light-green,
64 | .dynamic-color .lime,
65 | .dynamic-color .yellow,
66 | .dynamic-color .amber,
67 | .dynamic-color .orange,
68 | .dynamic-color .deep-orange,
69 | .dynamic-color .brown,
70 | .dynamic-color .grey,
71 | .dynamic-color .blue-grey,
72 | .dynamic-color .black,
73 | .dynamic-color .white,
74 | .dynamic-color .transparent {
75 | height: 55px;
76 | width: 100%;
77 | padding: 0 15px;
78 | line-height: 55px;
79 | font-weight: 500;
80 | font-size: 12px;
81 | display: block;
82 | -webkit-box-sizing: border-box;
83 | -moz-box-sizing: border-box;
84 | box-sizing: border-box;
85 | }
86 | .dynamic-color .col {
87 | margin-bottom: 55px;
88 | }
89 | p {
90 | color: rgba(0,0,0,0.71);
91 | padding: 0;
92 | -webkit-font-smoothing: antialiased;
93 | }
94 | #download-button {
95 | font-size: 20px;
96 | }
97 | code,
98 | pre {
99 | position: relative;
100 | font-size: 1.1rem;
101 | }
102 | pre[class*="language-"] {
103 | padding: 25px 12px 7px 12px;
104 | border: solid 1px rgba(51,51,51,0.12);
105 | }
106 | pre[class*="language-"]:before {
107 | position: absolute;
108 | padding: 1px 5px;
109 | background: #e8e6e3;
110 | top: 0;
111 | left: 0;
112 | font-family: sans-serif;
113 | -webkit-font-smoothing: antialiased;
114 | color: #555;
115 | content: attr(class);
116 | font-size: 0.9rem;
117 | border: solid 1px rgba(51,51,51,0.12);
118 | border-top: none;
119 | border-left: none;
120 | }
121 | /*******************
122 | Flat Site Mockup
123 | *******************/
124 | #site-layout-example-left {
125 | background-color: #90a4ae;
126 | height: 300px;
127 | }
128 | #site-layout-example-right {
129 | background-color: #26a69a;
130 | height: 300px;
131 | }
132 | #site-layout-example-top {
133 | background-color: #e57373;
134 | height: 42px;
135 | }
136 | .flat-text-header {
137 | height: 35px;
138 | width: 80%;
139 | background-color: rgba(255,255,255,0.15);
140 | display: block;
141 | margin: 27px auto;
142 | }
143 | .flat-text {
144 | height: 25px;
145 | width: 80%;
146 | background-color: rgba(0,0,0,0.15);
147 | display: block;
148 | margin: 27px auto;
149 | }
150 | .flat-text.small {
151 | width: 25%;
152 | height: 25px;
153 | background-color: rgba(0,0,0,0.15);
154 | }
155 | .flat-text.full-width {
156 | width: 100%;
157 | }
158 | /**********************
159 | **********************/
160 | /*****************
161 | Chrome Browser
162 | *****************/
163 | .browser-window {
164 | text-align: left;
165 | width: 100%;
166 | height: auto;
167 | display: inline-block;
168 | border-radius: 5px 5px 2px 2px;
169 | background-color: #fff;
170 | margin: 20px 0px;
171 | overflow: hidden;
172 | }
173 | .browser-window .top-bar {
174 | height: 30px;
175 | border-radius: 5px 5px 0 0;
176 | border-top: thin solid #eaeae9;
177 | border-bottom: thin solid #dfdfde;
178 | background: linear-gradient(#e7e7e6, #e2e2e1);
179 | }
180 | .browser-window .circle {
181 | height: 10px;
182 | width: 10px;
183 | display: inline-block;
184 | border-radius: 50%;
185 | background-color: #fff;
186 | margin-right: 1px;
187 | }
188 | #close-circle {
189 | background-color: #ff5c5a;
190 | }
191 | #minimize-circle {
192 | background-color: #ffbb50;
193 | }
194 | #maximize-circle {
195 | background-color: #1bc656;
196 | }
197 | .browser-window .circles {
198 | margin: 5px 12px;
199 | }
200 | .browser-window .content {
201 | margin: 0;
202 | width: 100%;
203 | display: inline-block;
204 | border-radius: 0 0 5px 5px;
205 | background-color: #fafafa;
206 | }
207 | .browser-window .row {
208 | margin: 0;
209 | }
210 | .clear {
211 | clear: both;
212 | }
213 | .valign-demo {
214 | height: 400px;
215 | background-color: #ddd;
216 | }
217 | .talign-demo {
218 | height: 100px;
219 | background-color: #ddd;
220 | }
221 | .shadow-demo {
222 | background-color: #26a69a;
223 | width: 125px;
224 | height: 125px;
225 | margin: 20px auto;
226 | }
227 | @media only screen and (max-width: 1200px) {
228 | .shadow-demo {
229 | width: 100px;
230 | height: 100px;
231 | }
232 | }
233 | @media only screen and (max-width: 600px) {
234 | .shadow-demo {
235 | width: 150px;
236 | height: 150px;
237 | }
238 | }
239 | .caption {
240 | font-size: 1.25rem;
241 | font-weight: 300;
242 | margin-bottom: 30px;
243 | }
244 | footer.example {
245 | padding-left: 0;
246 | }
247 | .icon-demo {
248 | line-height: 50px;
249 | }
250 | .icon-container i {
251 | font-size: 3em;
252 | display: block;
253 | margin-bottom: 10px;
254 | }
255 | .icon-container .icon-preview {
256 | height: 120px;
257 | text-align: center;
258 | }
259 | .icon-holder {
260 | display: block;
261 | text-align: center;
262 | width: 150px;
263 | height: 115px;
264 | float: left;
265 | margin: 0 0px 15px 0px;
266 | }
267 | .icon-holder p {
268 | margin: 0 0;
269 | }
270 | #staggered-test li,
271 | #image-test {
272 | opacity: 0;
273 | }
274 | @media only screen and (min-width: 993px) {
275 | .container {
276 | width: 85%;
277 | }
278 | }
279 | a.button-collapse.top-nav {
280 | position: absolute;
281 | text-align: center;
282 | height: 48px;
283 | width: 48px;
284 | left: 7.5%;
285 | top: 0;
286 | float: none;
287 | margin-left: 1.5rem;
288 | color: #fff;
289 | font-size: 32px;
290 | z-index: 2;
291 | }
292 | a.button-collapse.top-nav.full {
293 | line-height: 122px;
294 | }
295 | @media only screen and (max-width: 600px) {
296 | a.button-collapse.top-nav {
297 | left: 5%;
298 | }
299 | }
300 | @media only screen and (max-width: 730px) {
301 | .mobile-image {
302 | max-width: 100%;
303 | }
304 | }
305 |
--------------------------------------------------------------------------------
/public/css/_style.styl:
--------------------------------------------------------------------------------
1 | html
2 | background-color #fcfcfc
3 |
4 | .header
5 | color: #ee6e73;
6 |
7 | .promo {
8 | width: 100%;
9 | }
10 |
11 | main,footer
12 | padding-left 240px
13 |
14 | @media only screen and (max-width: 992px) {
15 | main,footer {
16 | padding-left :0
17 | }
18 | .promo {
19 | width: 60%;
20 | margin: 0 auto;
21 | display: block;
22 | }
23 | }
24 |
25 | .promo i {
26 | color: #ee6e73;
27 | font-size: 7rem;
28 | display: block;
29 | }
30 |
31 | .promo-caption {
32 | font-size: 1.7rem;
33 | font-weight: 500;
34 | margin-top: 5px;
35 | margin-bottom: 0;
36 | }
37 |
38 | .col.grid-example {
39 | border: 1px solid #eee;
40 | margin: 7px 0;
41 | text-align: center;
42 | line-height: 50px;
43 | font-size: 28px;
44 | background-color: tomato;
45 | color: white;
46 | padding: 0; }
47 | .col.grid-example span {
48 | font-weight: 200;
49 | line-height: 50px; }
50 |
51 | .promo-example {
52 | overflow: hidden; }
53 |
54 |
55 | .dynamic-color .red, .dynamic-color .pink, .dynamic-color .purple, .dynamic-color .deep-purple, .dynamic-color .indigo, .dynamic-color .blue, .dynamic-color .light-blue, .dynamic-color .cyan, .dynamic-color .teal, .dynamic-color .green, .dynamic-color .light-green, .dynamic-color .lime, .dynamic-color .yellow, .dynamic-color .amber, .dynamic-color .orange, .dynamic-color .deep-orange, .dynamic-color .brown, .dynamic-color .grey, .dynamic-color .blue-grey, .dynamic-color .black, .dynamic-color .white, .dynamic-color .transparent {
56 | height: 55px;
57 | width: 100%;
58 | padding: 0 15px;
59 | line-height: 55px;
60 | font-weight: 500;
61 | font-size: 12px;
62 | display: block;
63 | -webkit-box-sizing: border-box;
64 | -moz-box-sizing: border-box;
65 | box-sizing: border-box; }
66 | .dynamic-color .col {
67 | margin-bottom: 55px; }
68 |
69 |
70 | p {
71 | color: rgba(0, 0, 0, 0.71);
72 | padding: 0;
73 | -webkit-font-smoothing: antialiased;
74 | }
75 |
76 | #download-button
77 | font-size 20px
78 | code, pre {
79 | position: relative;
80 | font-size: 1.1rem; }
81 |
82 | pre[class*="language-"] {
83 | padding: 25px 12px 7px 12px;
84 | border: solid 1px rgba(51, 51, 51, 0.12); }
85 | pre[class*="language-"]:before {
86 | position: absolute;
87 | padding: 1px 5px;
88 | background: #e8e6e3;
89 | top: 0;
90 | left: 0;
91 | font-family: sans-serif;
92 | -webkit-font-smoothing: antialiased;
93 | color: #555;
94 | content: attr(class);
95 | font-size: .9rem;
96 | border: solid 1px rgba(51, 51, 51, 0.12);
97 | border-top: none;
98 | border-left: none; }
99 |
100 |
101 |
102 | /*******************
103 | Flat Site Mockup
104 | *******************/
105 | #site-layout-example-left {
106 | background-color: #90a4ae;
107 | height: 300px; }
108 |
109 | #site-layout-example-right {
110 | background-color: #26a69a;
111 | height: 300px; }
112 |
113 | #site-layout-example-top {
114 | background-color: #E57373;
115 | height: 42px; }
116 |
117 | .flat-text-header {
118 | height: 35px;
119 | width: 80%;
120 | background-color: rgba(255, 255, 255, 0.15);
121 | display: block;
122 | margin: 27px auto; }
123 |
124 | .flat-text {
125 | height: 25px;
126 | width: 80%;
127 | background-color: rgba(0, 0, 0, 0.15);
128 | display: block;
129 | margin: 27px auto; }
130 | .flat-text.small {
131 | width: 25%;
132 | height: 25px;
133 | background-color: rgba(0, 0, 0, 0.15); }
134 | .flat-text.full-width {
135 | width: 100%; }
136 |
137 | /**********************
138 | **********************/
139 | /*****************
140 | Chrome Browser
141 | *****************/
142 | .browser-window {
143 | text-align: left;
144 | width: 100%;
145 | height: auto;
146 | display: inline-block;
147 | border-radius: 5px 5px 2px 2px;
148 | background-color: #fff;
149 | margin: 20px 0px;
150 | overflow: hidden; }
151 | .browser-window .top-bar {
152 | height: 30px;
153 | border-radius: 5px 5px 0 0;
154 | border-top: thin solid #eaeae9;
155 | border-bottom: thin solid #dfdfde;
156 | background: linear-gradient(#e7e7e6, #E2E2E1); }
157 |
158 | .browser-window .circle {
159 | height: 10px;
160 | width: 10px;
161 | display: inline-block;
162 | border-radius: 50%;
163 | background-color: white;
164 | margin-right: 1px; }
165 |
166 | #close-circle {
167 | background-color: #FF5C5A; }
168 |
169 | #minimize-circle {
170 | background-color: #FFBB50; }
171 |
172 | #maximize-circle {
173 | background-color: #1BC656; }
174 |
175 | .browser-window .circles {
176 | margin: 5px 12px; }
177 |
178 | .browser-window .content {
179 | margin: 0;
180 | width: 100%;
181 | display: inline-block;
182 | border-radius: 0 0 5px 5px;
183 | background-color: #fafafa; }
184 |
185 | .browser-window .row {
186 | margin: 0; }
187 |
188 | .clear {
189 | clear: both; }
190 |
191 |
192 |
193 | .valign-demo {
194 | height: 400px;
195 | background-color: #ddd; }
196 |
197 | .talign-demo {
198 | height: 100px;
199 | background-color: #ddd; }
200 |
201 | .shadow-demo {
202 | background-color: #26a69a;
203 | width: 125px;
204 | height: 125px;
205 | margin: 20px auto; }
206 | @media only screen and (max-width: 1200px) {
207 | .shadow-demo {
208 | width: 100px;
209 | height: 100px; } }
210 | @media only screen and (max-width: 600px) {
211 | .shadow-demo {
212 | width: 150px;
213 | height: 150px; } }
214 |
215 |
216 | .caption{
217 | font-size: 1.25rem;
218 | font-weight: 300;
219 | margin-bottom: 30px;
220 | }
221 |
222 |
223 |
224 | footer.example {
225 | padding-left: 0; }
226 |
227 | .icon-demo {
228 | line-height: 50px; }
229 |
230 | .icon-container i {
231 | font-size: 3em;
232 | display: block;
233 | margin-bottom: 10px; }
234 |
235 | .icon-container .icon-preview {
236 | height: 120px;
237 | text-align: center; }
238 |
239 | .icon-holder {
240 | display: block;
241 | text-align: center;
242 | width: 150px;
243 | height: 115px;
244 | float: left;
245 | margin: 0 0px 15px 0px; }
246 | .icon-holder p {
247 | margin: 0 0; }
248 |
249 | #staggered-test li, #image-test {
250 | opacity: 0; }
251 |
252 | @media only screen and (min-width : 993px) {
253 | .container {
254 | width: 85%; } }
255 |
256 |
257 | a.button-collapse.top-nav {
258 | position: absolute;
259 | text-align: center;
260 | height: 48px;
261 | width: 48px;
262 | left: 7.5%;
263 | top: 0;
264 | float: none;
265 | margin-left: 1.5rem;
266 | color: #fff;
267 | font-size: 32px;
268 | z-index: 2; }
269 | a.button-collapse.top-nav.full {
270 | line-height: 122px; }
271 |
272 | @media only screen and (max-width : 600px) {
273 | a.button-collapse.top-nav {
274 | left: 5%; } }
275 |
276 |
277 | @media only screen and (max-width : 730px) {
278 | .mobile-image {
279 | max-width: 100%; } }
280 |
281 |
--------------------------------------------------------------------------------
/public/css/_variables.css:
--------------------------------------------------------------------------------
1 | .primary-bg {
2 | background-color: #ee6e73;
3 | }
4 | .text-light {
5 | color: #fff;
6 | }
7 | .text-pink {
8 | color: #ee6e73;
9 | }
10 | .text-xs {
11 | font-size: 10px;
12 | }
13 | .text-sm {
14 | font-size: 12px;
15 | }
16 | .text-medium {
17 | font-size: 14px;
18 | }
19 | .text-lg {
20 | font-size: 16px;
21 | }
22 | .text-xl {
23 | font-size: 18px;
24 | }
25 | .text-xxl {
26 | font-size: 20px;
27 | }
28 | .btn-primary-bg {
29 | background-color: #f3989b;
30 | }
31 | .btn-primary-bg:hover {
32 | background-color: #f5a5a8;
33 | }
34 |
--------------------------------------------------------------------------------
/public/css/_variables.styl:
--------------------------------------------------------------------------------
1 | //about background
2 |
3 | $primary-bg=#ee6e73
4 | .primary-bg
5 | background-color $primary-bg
6 |
7 |
8 | //about text color
9 | $text-light=#ffffff
10 | .text-light
11 | color $text-light
12 |
13 |
14 | $text-pink=#ee6e73
15 | .text-pink
16 | color $text-pink
17 |
18 | //text size
19 | $text-size=xs sm medium lg xl xxl
20 |
21 | for size,i in $text-size
22 | .text-{size}{
23 | font-size (i+5)*2px
24 | }
25 |
26 |
27 |
28 |
29 | //about button color
30 | $btn-primary-bg=#f3989b;
31 | .btn-primary-bg
32 | background-color $btn-primary-bg;
33 | &:hover
34 | background-color #f5a5a8;
--------------------------------------------------------------------------------
/public/css/index.css:
--------------------------------------------------------------------------------
1 | html {
2 | font-family: 'Open Sans', Helvetica, Tahoma, Arial, "Microsoft YaHei", "微软雅黑", STXihei, "华文细黑", SimSun, "宋体", Heiti, "黑体", sans-serif;
3 | }
4 | .primary-bg {
5 | background-color: #ee6e73;
6 | }
7 | .text-light {
8 | color: #fff;
9 | }
10 | .text-pink {
11 | color: #ee6e73;
12 | }
13 | .text-xs {
14 | font-size: 10px;
15 | }
16 | .text-sm {
17 | font-size: 12px;
18 | }
19 | .text-medium {
20 | font-size: 14px;
21 | }
22 | .text-lg {
23 | font-size: 16px;
24 | }
25 | .text-xl {
26 | font-size: 18px;
27 | }
28 | .text-xxl {
29 | font-size: 20px;
30 | }
31 | .btn-primary-bg {
32 | background-color: #f3989b;
33 | }
34 | .btn-primary-bg:hover {
35 | background-color: #f5a5a8;
36 | }
37 | .sidebar {
38 | width: 240px;
39 | position: fixed;
40 | box-shadow: 2px 2px 2px #ddd;
41 | height: 100%;
42 | background-color: #fff;
43 | z-index: 998;
44 | }
45 | .sidebar:hover {
46 | overflow-y: auto;
47 | }
48 | .sidebar li:hover {
49 | background-color: rgba(0,0,0,0.05);
50 | }
51 | @media screen and (max-width: 992px) {
52 | .sidebar {
53 | left: -245px;
54 | }
55 | }
56 | .sidebar .logo {
57 | width: 100%;
58 | text-align: center;
59 | height: 90px;
60 | border-bottom: 1px solid #ddd;
61 | margin-top: 30px;
62 | }
63 | .sidebar a {
64 | line-height: 44px;
65 | height: 44px;
66 | font-weight: bolder;
67 | display: block;
68 | color: #444;
69 | padding: 0 25px;
70 | }
71 | .sidebar .collapsible {
72 | border: none;
73 | box-shadow: none;
74 | margin: 0;
75 | }
76 | .sidebar .collapsible-accordion > li.active {
77 | background-color: rgba(0,0,0,0.05);
78 | }
79 | .sidebar .collapsible-header {
80 | border: none;
81 | background-color: transparent;
82 | }
83 | .sidebar .collapsible-body {
84 | background-color: #fff;
85 | border: none;
86 | }
87 | .sidebar .collapsible-body ul {
88 | font-weight: 300;
89 | }
90 | .sidebar .collapsible-body a {
91 | padding-left: 40px;
92 | }
93 | .sidebar-collapsible:hover {
94 | background-color: #fff !important;
95 | }
96 | .sidebar .collapsible-body li.active,
97 | .side-nav.fixed .collapsible-body li.active {
98 | background-color: #ee6e73;
99 | }
100 | .sidebar .collapsible-body li.active a,
101 | .side-nav.fixed .collapsible-body li.active a {
102 | color: #fff;
103 | }
104 | .sidebar.in {
105 | overflow: auto;
106 | left: 0;
107 | box-shadow: none;
108 | transition: left 0.5s ease;
109 | }
110 | html {
111 | background-color: #fcfcfc;
112 | }
113 | .header {
114 | color: #ee6e73;
115 | }
116 | .promo {
117 | width: 100%;
118 | }
119 | main,
120 | footer {
121 | padding-left: 240px;
122 | }
123 | @media only screen and (max-width: 992px) {
124 | main,
125 | footer {
126 | padding-left: 0;
127 | }
128 | .promo {
129 | width: 60%;
130 | margin: 0 auto;
131 | display: block;
132 | }
133 | }
134 | .promo i {
135 | color: #ee6e73;
136 | font-size: 7rem;
137 | display: block;
138 | }
139 | .promo-caption {
140 | font-size: 1.7rem;
141 | font-weight: 500;
142 | margin-top: 5px;
143 | margin-bottom: 0;
144 | }
145 | .col.grid-example {
146 | border: 1px solid #eee;
147 | margin: 7px 0;
148 | text-align: center;
149 | line-height: 50px;
150 | font-size: 28px;
151 | background-color: #ff6347;
152 | color: #fff;
153 | padding: 0;
154 | }
155 | .col.grid-example span {
156 | font-weight: 200;
157 | line-height: 50px;
158 | }
159 | .promo-example {
160 | overflow: hidden;
161 | }
162 | .dynamic-color .red,
163 | .dynamic-color .pink,
164 | .dynamic-color .purple,
165 | .dynamic-color .deep-purple,
166 | .dynamic-color .indigo,
167 | .dynamic-color .blue,
168 | .dynamic-color .light-blue,
169 | .dynamic-color .cyan,
170 | .dynamic-color .teal,
171 | .dynamic-color .green,
172 | .dynamic-color .light-green,
173 | .dynamic-color .lime,
174 | .dynamic-color .yellow,
175 | .dynamic-color .amber,
176 | .dynamic-color .orange,
177 | .dynamic-color .deep-orange,
178 | .dynamic-color .brown,
179 | .dynamic-color .grey,
180 | .dynamic-color .blue-grey,
181 | .dynamic-color .black,
182 | .dynamic-color .white,
183 | .dynamic-color .transparent {
184 | height: 55px;
185 | width: 100%;
186 | padding: 0 15px;
187 | line-height: 55px;
188 | font-weight: 500;
189 | font-size: 12px;
190 | display: block;
191 | -webkit-box-sizing: border-box;
192 | -moz-box-sizing: border-box;
193 | box-sizing: border-box;
194 | }
195 | .dynamic-color .col {
196 | margin-bottom: 55px;
197 | }
198 | p {
199 | color: rgba(0,0,0,0.71);
200 | padding: 0;
201 | -webkit-font-smoothing: antialiased;
202 | }
203 | #download-button {
204 | font-size: 20px;
205 | }
206 | code,
207 | pre {
208 | position: relative;
209 | font-size: 1.1rem;
210 | }
211 | pre[class*="language-"] {
212 | padding: 25px 12px 7px 12px;
213 | border: solid 1px rgba(51,51,51,0.12);
214 | }
215 | pre[class*="language-"]:before {
216 | position: absolute;
217 | padding: 1px 5px;
218 | background: #e8e6e3;
219 | top: 0;
220 | left: 0;
221 | font-family: sans-serif;
222 | -webkit-font-smoothing: antialiased;
223 | color: #555;
224 | content: attr(class);
225 | font-size: 0.9rem;
226 | border: solid 1px rgba(51,51,51,0.12);
227 | border-top: none;
228 | border-left: none;
229 | }
230 | #site-layout-example-left {
231 | background-color: #90a4ae;
232 | height: 300px;
233 | }
234 | #site-layout-example-right {
235 | background-color: #26a69a;
236 | height: 300px;
237 | }
238 | #site-layout-example-top {
239 | background-color: #e57373;
240 | height: 42px;
241 | }
242 | .flat-text-header {
243 | height: 35px;
244 | width: 80%;
245 | background-color: rgba(255,255,255,0.15);
246 | display: block;
247 | margin: 27px auto;
248 | }
249 | .flat-text {
250 | height: 25px;
251 | width: 80%;
252 | background-color: rgba(0,0,0,0.15);
253 | display: block;
254 | margin: 27px auto;
255 | }
256 | .flat-text.small {
257 | width: 25%;
258 | height: 25px;
259 | background-color: rgba(0,0,0,0.15);
260 | }
261 | .flat-text.full-width {
262 | width: 100%;
263 | }
264 | .browser-window {
265 | text-align: left;
266 | width: 100%;
267 | height: auto;
268 | display: inline-block;
269 | border-radius: 5px 5px 2px 2px;
270 | background-color: #fff;
271 | margin: 20px 0px;
272 | overflow: hidden;
273 | }
274 | .browser-window .top-bar {
275 | height: 30px;
276 | border-radius: 5px 5px 0 0;
277 | border-top: thin solid #eaeae9;
278 | border-bottom: thin solid #dfdfde;
279 | background: linear-gradient(#e7e7e6, #e2e2e1);
280 | }
281 | .browser-window .circle {
282 | height: 10px;
283 | width: 10px;
284 | display: inline-block;
285 | border-radius: 50%;
286 | background-color: #fff;
287 | margin-right: 1px;
288 | }
289 | #close-circle {
290 | background-color: #ff5c5a;
291 | }
292 | #minimize-circle {
293 | background-color: #ffbb50;
294 | }
295 | #maximize-circle {
296 | background-color: #1bc656;
297 | }
298 | .browser-window .circles {
299 | margin: 5px 12px;
300 | }
301 | .browser-window .content {
302 | margin: 0;
303 | width: 100%;
304 | display: inline-block;
305 | border-radius: 0 0 5px 5px;
306 | background-color: #fafafa;
307 | }
308 | .browser-window .row {
309 | margin: 0;
310 | }
311 | .clear {
312 | clear: both;
313 | }
314 | .valign-demo {
315 | height: 400px;
316 | background-color: #ddd;
317 | }
318 | .talign-demo {
319 | height: 100px;
320 | background-color: #ddd;
321 | }
322 | .shadow-demo {
323 | background-color: #26a69a;
324 | width: 125px;
325 | height: 125px;
326 | margin: 20px auto;
327 | }
328 | @media only screen and (max-width: 1200px) {
329 | .shadow-demo {
330 | width: 100px;
331 | height: 100px;
332 | }
333 | }
334 | @media only screen and (max-width: 600px) {
335 | .shadow-demo {
336 | width: 150px;
337 | height: 150px;
338 | }
339 | }
340 | .caption {
341 | font-size: 1.25rem;
342 | font-weight: 300;
343 | margin-bottom: 30px;
344 | }
345 | footer.example {
346 | padding-left: 0;
347 | }
348 | .icon-demo {
349 | line-height: 50px;
350 | }
351 | .icon-container i {
352 | font-size: 3em;
353 | display: block;
354 | margin-bottom: 10px;
355 | }
356 | .icon-container .icon-preview {
357 | height: 120px;
358 | text-align: center;
359 | }
360 | .icon-holder {
361 | display: block;
362 | text-align: center;
363 | width: 150px;
364 | height: 115px;
365 | float: left;
366 | margin: 0 0px 15px 0px;
367 | }
368 | .icon-holder p {
369 | margin: 0 0;
370 | }
371 | #staggered-test li,
372 | #image-test {
373 | opacity: 0;
374 | }
375 | @media only screen and (min-width: 993px) {
376 | .container {
377 | width: 85%;
378 | }
379 | }
380 | a.button-collapse.top-nav {
381 | position: absolute;
382 | text-align: center;
383 | height: 48px;
384 | width: 48px;
385 | left: 7.5%;
386 | top: 0;
387 | float: none;
388 | margin-left: 1.5rem;
389 | color: #fff;
390 | font-size: 32px;
391 | z-index: 2;
392 | }
393 | a.button-collapse.top-nav.full {
394 | line-height: 122px;
395 | }
396 | @media only screen and (max-width: 600px) {
397 | a.button-collapse.top-nav {
398 | left: 5%;
399 | }
400 | }
401 | @media only screen and (max-width: 730px) {
402 | .mobile-image {
403 | max-width: 100%;
404 | }
405 | }
406 | #download-button {
407 | width: 260px;
408 | height: 70px;
409 | line-height: 70px;
410 | }
411 |
--------------------------------------------------------------------------------
/public/css/index.styl:
--------------------------------------------------------------------------------
1 |
2 | @import '_normalize'
3 | @import '_variables'
4 | @import '_main'
5 | @import '_sidebar'
6 | @import '_footer'
7 |
8 | @import '_style'
9 |
10 | #download-button
11 | width 260px
12 | height 70px
13 | line-height 70px
--------------------------------------------------------------------------------
/public/css/prism.css:
--------------------------------------------------------------------------------
1 | /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+scss+bash */
2 | /**
3 | * prism.js default theme for JavaScript, CSS and HTML
4 | * Based on dabblet (http://dabblet.com)
5 | * @author Lea Verou
6 | */
7 |
8 | code[class*="language-"],
9 | pre[class*="language-"] {
10 | color: black;
11 | /* text-shadow: 0 1px white;*/
12 | font-family: 'Inconsolata', Monaco, Consolas, 'Andale Mono', monospace;
13 | direction: ltr;
14 | text-align: left;
15 | white-space: pre;
16 | word-spacing: normal;
17 | word-break: normal;
18 | line-height: 1.4;
19 |
20 | -moz-tab-size: 4;
21 | -o-tab-size: 4;
22 | tab-size: 4;
23 |
24 | -webkit-hyphens: none;
25 | -moz-hyphens: none;
26 | -ms-hyphens: none;
27 | hyphens: none;
28 | }
29 |
30 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
31 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
32 | text-shadow: none;
33 | background: #b3d4fc;
34 | }
35 |
36 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
37 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
38 | text-shadow: none;
39 | background: #b3d4fc;
40 | }
41 |
42 | @media print {
43 | code[class*="language-"],
44 | pre[class*="language-"] {
45 | text-shadow: none;
46 | }
47 | }
48 |
49 | /* Code blocks */
50 | pre[class*="language-"] {
51 | padding: 1em;
52 | margin: .5em 0;
53 | overflow: auto;
54 | }
55 |
56 | :not(pre) > code[class*="language-"],
57 | pre[class*="language-"] {
58 | background: #f5f2f0;
59 | }
60 |
61 | /* Inline code */
62 | :not(pre) > code[class*="language-"] {
63 | padding: .1em;
64 | border-radius: .3em;
65 | }
66 |
67 | .token.comment,
68 | .token.prolog,
69 | .token.doctype,
70 | .token.cdata {
71 | color: slategray;
72 | }
73 |
74 | .token.punctuation {
75 | color: #999;
76 | }
77 |
78 | .namespace {
79 | opacity: .7;
80 | }
81 |
82 | .token.property,
83 | .token.tag,
84 | .token.boolean,
85 | .token.number,
86 | .token.constant,
87 | .token.symbol,
88 | .token.deleted {
89 | color: #905;
90 | }
91 |
92 | .token.selector,
93 | .token.attr-name,
94 | .token.string,
95 | .token.char,
96 | .token.builtin,
97 | .token.inserted {
98 | color: #690;
99 | }
100 |
101 | .token.operator,
102 | .token.entity,
103 | .token.url,
104 | .language-css .token.string,
105 | .style .token.string {
106 | color: #a67f59;
107 | background: hsla(0, 0%, 100%, .5);
108 | }
109 |
110 | .token.atrule,
111 | .token.attr-value,
112 | .token.keyword {
113 | color: #07a;
114 | }
115 |
116 | .token.function {
117 | color: #DD4A68;
118 | }
119 |
120 | .token.regex,
121 | .token.important,
122 | .token.variable {
123 | color: #e90;
124 | }
125 |
126 | .token.important {
127 | font-weight: bold;
128 | }
129 |
130 | .token.entity {
131 | cursor: help;
132 | }
133 |
134 |
--------------------------------------------------------------------------------
/public/font/Material-Design-Icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/font/Material-Design-Icons.eot
--------------------------------------------------------------------------------
/public/font/Material-Design-Icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/font/Material-Design-Icons.ttf
--------------------------------------------------------------------------------
/public/font/Material-Design-Icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/font/Material-Design-Icons.woff
--------------------------------------------------------------------------------
/public/font/Material-Design-Icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/font/Material-Design-Icons.woff2
--------------------------------------------------------------------------------
/public/img/materialize.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
165 |
--------------------------------------------------------------------------------
/public/img/menu.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/img/menu.gif
--------------------------------------------------------------------------------
/public/img/office.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/img/office.jpg
--------------------------------------------------------------------------------
/public/img/parallax1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/img/parallax1.jpg
--------------------------------------------------------------------------------
/public/img/parallax2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/img/parallax2.jpg
--------------------------------------------------------------------------------
/public/img/responsive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/img/responsive.png
--------------------------------------------------------------------------------
/public/img/sample-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/img/sample-1.jpg
--------------------------------------------------------------------------------
/public/img/style_typography_roboto1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/img/style_typography_roboto1.png
--------------------------------------------------------------------------------
/public/img/toast.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/img/toast.gif
--------------------------------------------------------------------------------
/public/img/yuna.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/omnip620/material/aee05d2f19a579aa9e85517aacd06812c75e8577/public/img/yuna.jpg
--------------------------------------------------------------------------------
/public/js/app.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by panew on 15-6-16.
3 | */
4 | $(function () {
5 |
6 |
7 |
8 | // Floating-Fixed table of contents
9 | if ($('nav').length) {
10 | $('.toc-wrapper').pushpin({top: $('nav').height()});
11 | }
12 | else if ($('#index-banner').length) {
13 | $('.toc-wrapper').pushpin({top: $('#index-banner').height()});
14 | }
15 | else {
16 | $('.toc-wrapper').pushpin({top: 0});
17 | }
18 | function activeSidebar() {
19 | var pathname = window.location.pathname.substring(1);
20 | var pathList = $('aside li a');
21 | for (var i = 0, l = pathList.length; i < l; i++) {
22 | var tempa = pathList.eq(i);
23 |
24 | if (tempa.attr('href') === pathname) {
25 | tempa.parent().addClass('active');
26 | tempa.parents('.collapsible-body').show().parent().addClass('active').children('a').addClass('active');
27 | }
28 | }
29 | }
30 |
31 | activeSidebar();
32 |
33 | function rgb2hex(rgb) {
34 | if (/^#[0-9A-F]{6}$/i.test(rgb)) {
35 | return rgb;
36 | }
37 |
38 | rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
39 |
40 | if (rgb === null) {
41 | return "N/A";
42 | }
43 |
44 | function hex(x) {
45 | return ("0" + parseInt(x).toString(16)).slice(-2);
46 | }
47 |
48 | return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
49 | }
50 |
51 | $('.dynamic-color .col').each(function () {
52 | $(this).children().each(function () {
53 | var color = $(this).css('background-color'),
54 | classes = $(this).attr('class');
55 | $(this).html(rgb2hex(color) + " " + classes);
56 | if (classes.indexOf("darken") >= 0 || $(this).hasClass('black')) {
57 | $(this).css('color', 'rgba(255,255,255,.9');
58 | }
59 | });
60 | });
61 |
62 | var toggleContainersButton = $('#container-toggle-button');
63 | toggleContainersButton.click(function () {
64 | $('body .browser-window .container, .had-container').each(function () {
65 | $(this).toggleClass('had-container');
66 | $(this).toggleClass('container');
67 | if ($(this).hasClass('container')) {
68 | toggleContainersButton.text("不用Containers");
69 | }
70 | else {
71 | toggleContainersButton.text("用Containers");
72 | }
73 | });
74 | });
75 |
76 |
77 | // Toggle Flow Text
78 | var toggleFlowTextButton = $('#flow-toggle');
79 | toggleFlowTextButton.click(function () {
80 | $('#flow-text-demo').children('p').each(function () {
81 | $(this).toggleClass('flow-text');
82 | })
83 | });
84 | $('.datepicker').pickadate({
85 | selectMonths: true, // Creates a dropdown to control month
86 | selectYears : 15,// Creates a dropdown of 15 years to control year
87 | format : 'yyyy-mm-dd '
88 | });
89 | $('.scrollspy').scrollSpy();
90 | $('select').not('.disabled').material_select();
91 | $('.slider').slider({full_width: true});
92 | $('.modal-trigger').leanModal();
93 | $('.parallax').parallax();
94 |
95 | $('#nav-button').on('click', function () {
96 | var $navMobile=$('#nav-mobile');
97 | var $body=$('body');
98 | $navMobile.addClass('in');
99 | $body.css('overflow','hidden');
100 | var overlay=$('
');
101 | overlay.on('click',function(){
102 | $navMobile.removeClass('in');
103 | overlay.remove();
104 | $body.css('overflow','auto');
105 | });
106 | $body.append(overlay);
107 | })
108 |
109 | });
110 |
111 |
--------------------------------------------------------------------------------
/public/js/prism.js:
--------------------------------------------------------------------------------
1 | /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+scss+bash */
2 | self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{};var Prism=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{encode:function(e){return e instanceof n?new n(e.type,t.util.encode(e.content),e.alias):"Array"===t.util.type(e)?e.map(t.util.encode):e.replace(/&/g,"&").replace(/e.length)break e;if(!(d instanceof a)){g.lastIndex=0;var m=g.exec(d);if(m){c&&(f=m[1].length);var y=m.index-1+f,m=m[0].slice(f),v=m.length,k=y+v,b=d.slice(0,y+1),w=d.slice(k+1),O=[p,1];b&&O.push(b);var N=new a(l,u?t.tokenize(m,u):m,h);O.push(N),w&&O.push(w),Array.prototype.splice.apply(r,O)}}}}}return r},hooks:{all:{},add:function(e,n){var a=t.hooks.all;a[e]=a[e]||[],a[e].push(n)},run:function(e,n){var a=t.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(n)}}},n=t.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(n.stringify=function(e,a,r){if("string"==typeof e)return e;if("[object Array]"==Object.prototype.toString.call(e))return e.map(function(t){return n.stringify(t,a,e)}).join("");var i={type:e.type,content:n.stringify(e.content,a,r),tag:"span",classes:["token",e.type],attributes:{},language:a,parent:r};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var l="Array"===t.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,l)}t.hooks.run("wrap",i);var s="";for(var o in i.attributes)s+=o+'="'+(i.attributes[o]||"")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'" '+s+">"+i.content+""+i.tag+">"},!self.document)return self.addEventListener?(self.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,r=n.code;self.postMessage(JSON.stringify(t.util.encode(t.tokenize(r,t.languages[a])))),self.close()},!1),self.Prism):self.Prism;var a=document.getElementsByTagName("script");return a=a[a.length-1],a&&(t.filename=a.src,document.addEventListener&&!a.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)),self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism);;
3 | Prism.languages.markup={comment://g,prolog:/<\?.+?\?>/,doctype://,cdata://i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/\?[\da-z]{1,8};/gi},Prism.hooks.add("wrap",function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&/,"&"))});;
4 | Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*{))/gi,inside:{punctuation:/[;:]/g}},url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/g,property:/(\b|\B)[\w-]+(?=\s*:)/gi,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,punctuation:/[\{\};:]/g,"function":/[-a-z0-9]+(?=\()/gi},Prism.languages.markup&&(Prism.languages.insertBefore("markup","tag",{style:{pattern:/
29 |
30 |
31 |
32 |
45 |
46 |
47 |
48 |
51 |
52 |
53 |
54 |
55 |
56 |
HTML结构
57 |
58 | <div class="parallax-container">
59 | <div class="parallax"><img src="images/parallax1.jpg"></div>
60 | </div>
61 | <div class="section white">
62 | <div class="row container">
63 | <h2 class="header">Parallax</h2>
64 | <p class="grey-text text-darken-3 lighten-3">Parallax is an effect where the background content or image in this case, is moved at a different speed than the foreground content while scrolling.</p>
65 | </div>
66 | </div>
67 | <div class="parallax-container">
68 | <div class="parallax"><img src="images/parallax2.jpg"></div>
69 | </div>
70 |
71 |
72 |
73 |
76 |
77 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |