12 |
23 |
24 | <% if (theme.menu) { %>
25 |
39 | <% } %>
40 |
41 |
42 |
43 |
44 |
45 | <%-partial('_components/banner')%>
46 |
47 |
48 |
49 |
50 | <%- body %>
51 |
52 |
--------------------------------------------------------------------------------
/layout/_layout/footer.ejs:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/layout/_layout/header.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
<%-theme.site.title %>
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/layout/_partials/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/layout/_partials/.DS_Store
--------------------------------------------------------------------------------
/layout/_partials/post_per.ejs:
--------------------------------------------------------------------------------
1 |
2 | <% if (page.posts.length > 0) { %>
3 | <% page.posts.each(function(post) { %>
4 |
5 |
6 | <% if (post._preview) { %>
7 |

8 | <% } %>
9 |
10 |
<%-post.title%>
11 |
21 |
22 | <%-post_abstract(post) %>
23 |
24 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | <% }); %>
41 | <% } %>
--------------------------------------------------------------------------------
/layout/_partials/post_sidebar.ejs:
--------------------------------------------------------------------------------
1 |
123 |
124 |
125 |
142 |
143 |
144 |
145 |
--------------------------------------------------------------------------------
/layout/_partials/project_per.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 | <% if (site.projects.length > 0) { %>
4 | <% site.projects.sort('date', -1).limit(10).each(function(post) { %>
5 |
6 |
7 |
8 |
9 |
10 |
<%=post.title%>
11 | <%=post.description%>
12 |
13 |
14 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | <% }); %>
30 | <% } %>
31 |
--------------------------------------------------------------------------------
/layout/_partials/recent_posts.ejs:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
16 |
<%-theme.post.description %>
17 |
18 | <% recent_posts().forEach(function (item) { %>
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | <%- date(item.date, 'YYYY/MM/DD') %>
27 |
28 |
29 | <%-post_abstract(item) %>
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | <% }) %>
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/layout/_partials/recent_projects.ejs:
--------------------------------------------------------------------------------
1 |
47 |
48 |
49 |
50 |
51 | - 全部
52 | <% recent_project_tags().forEach(function (item) { %>
53 | - <%-item.name%>
54 | <% }); %>
55 |
56 |
57 |
58 |
59 | <% recent_projects().forEach(function (item) { %>
60 |
61 | -
62 |
63 |
64 |
65 |
70 |
71 |
72 |
73 |
<%-item.title%>
74 |
<%-item.tag_label%>
75 |
76 |
77 |
<%-item.title%>
78 |
79 |
80 |
81 |
82 | <% }) %>
83 |
84 | <% if (recent_projects().length < 12) { %>
85 |
86 | -
87 |
96 |
97 |
98 |
99 | <% } %>
100 |
101 |
102 |
103 |
104 |
105 |
106 |
--------------------------------------------------------------------------------
/layout/archive.ejs:
--------------------------------------------------------------------------------
1 |
2 | <%
3 | var categoriesList = list_categories({ show_count: false }),
4 | tagsList = list_tags({ show_count: false }),
5 | archivesList = list_archives({ show_count: false });
6 | %>
7 |
8 | <% if (!is_year()) { %>
9 |
10 |
11 |
Archives
12 |
13 | <% if (theme.atom) { %>
14 |
15 | The feed is available via
16 | atom.
17 |
18 |
19 | <% } %>
20 |
21 |
29 |
30 |
31 |
39 |
40 |
41 |
49 |
50 |
51 | <% } else { %>
52 |
53 |
<%=page.month + '/' + page.year%>
54 |
55 | <% page.posts.each(function(article) { %>
56 |
72 | <% }); %>
73 |
74 | <% } %>
75 |
76 | <%-partial('partials/pagination')%>
77 |
--------------------------------------------------------------------------------
/layout/category.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
<%=page.category%>
4 | <% page.posts.each(function(article) { %>
5 |
19 | <% }); %>
20 |
21 |
22 | <%-partial('partials/pagination')%>
23 |
--------------------------------------------------------------------------------
/layout/index.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | <%-partial('_partials/recent_projects')%>
7 |
8 |
9 |
10 | <%-partial('_partials/recent_posts')%>
11 |
12 |
13 |
--------------------------------------------------------------------------------
/layout/layout.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 | <%-partial('_layout/header')%>
4 | <%-partial('_layout/body')%>
5 | <%-partial('_layout/footer')%>
6 |
--------------------------------------------------------------------------------
/layout/page.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 | <%=page.title%>
4 | <%-page.content%>
5 |
6 |
7 | <%-partial('partials/pagination')%>
8 |
--------------------------------------------------------------------------------
/layout/post.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
40 |
41 |
42 | <%- partial('_partials/post_sidebar') %>
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/layout/post_index.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | <%-partial('_partials/post_per')%>
11 |
12 |
13 |
14 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | <%-partial('_components/pagination')%>
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/layout/project.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |

12 | <%-get_content(page) %>
13 |
14 | <%- partial('_components/changyan') %>
15 |
16 |
17 |
18 |
19 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/layout/project_index.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | <%-partial('_partials/project_per')%>
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | <%-partial('_components/pagination')%>
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/layout/tag.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
<%=page.tag%>
4 | <% page.posts.each(function(article) { %>
5 |
19 | <% }); %>
20 |
21 |
22 | <%-partial('partials/pagination')%>
23 |
--------------------------------------------------------------------------------
/scripts/generatorBefore.js:
--------------------------------------------------------------------------------
1 | var stripIndent = require('strip-indent');
2 | var util = require('hexo-util');
3 | var highlight = util.highlight;
4 |
5 | var highlight_config = hexo.config.highlight;
6 | var highlight_options = {
7 | autoDetect: highlight_config.auto_detect,
8 | gutter: highlight_config.line_number,
9 | tab: highlight_config.tab_replace
10 | };
11 |
12 | hexo.on('generateBefore', function() {
13 | var Post = hexo.model('Post');
14 |
15 | var projects = Post.filter(function(item) {
16 | return item.is_project;
17 | });
18 | projects.forEach(function(item) {
19 | // 将project的默认布局设置为 project
20 | if (item.layout == 'post') item.layout = 'project';
21 |
22 | // 添加预览图获取方式 Front-matter 可以设置 preview , 其次从文章中获取首图 ,再次使用默认图
23 | if (item.preview) return item._preview = item.preview;
24 | item.__defineGetter__('preview', function() {
25 | if (item._preview) return item._preview;
26 | return '/images/project_preview_default.jpg';
27 | });
28 |
29 | item.content = hexo.render.renderSync({ text: item._content, engine: 'md' }, {
30 | highlight: function(code) {
31 | return highlight(stripIndent(code), highlight_options)
32 | .replace(/{/g, '{')
33 | .replace(/}/g, '}');
34 | }
35 | }).replace(/
/g, '').replace(/<\/code><\/pre>/g, '');
36 | });
37 |
38 | hexo.locals.set('projects', projects);
39 |
40 |
41 |
42 | var recent_projects = hexo.locals.get('projects').sort('date', -1).limit(12);
43 | var recent_project_tags = [];
44 | var recent_project_tag_temps = {};
45 | recent_projects.forEach(function(item) {
46 |
47 | item.tag_group = "[" + item.tags.map(function(tag) {
48 | return '"' + tag._id + '"';
49 | }).toString() + "]";
50 | item.tag_label = item.tags.map(function(tag) {
51 | return tag.name;
52 | }).toString();
53 |
54 | item.tags.forEach(function(tag) {
55 | if (recent_project_tag_temps[tag._id]) {
56 | recent_project_tag_temps[tag._id].count += 1;
57 | } else {
58 | recent_project_tag_temps[tag._id] = {
59 | id: tag._id,
60 | name: tag.name,
61 | count: 1
62 | };
63 | }
64 | });
65 | });
66 |
67 | for (i in recent_project_tag_temps) {
68 | recent_project_tags.push(recent_project_tag_temps[i]);
69 | }
70 | recent_project_tag_temps = null;
71 | recent_project_tags = recent_project_tags.sort(function(a, b) {
72 | return a.count < b.count;
73 | });
74 | hexo.locals.set('recent_projects', recent_projects);
75 | hexo.locals.set('recent_project_tags', recent_project_tags);
76 |
77 | });
78 |
--------------------------------------------------------------------------------
/scripts/generatorPost.js:
--------------------------------------------------------------------------------
1 |
2 | hexo.extend.generator.register('post', function(locals) {
3 | return locals.posts.map(function(post) {
4 | return {
5 | path: post.path,
6 | data: post,
7 | layout: 'post'
8 | };
9 | });
10 | });
11 |
--------------------------------------------------------------------------------
/scripts/generatorPostIndex.js:
--------------------------------------------------------------------------------
1 | var pagination = require('hexo-pagination');
2 |
3 | hexo.extend.generator.register('post_index', function(locals) {
4 | return pagination('/post', locals.posts.sort('date', -1), {
5 | format: 'page/%d/',
6 | layout: 'post_index'
7 | });
8 | });
9 |
--------------------------------------------------------------------------------
/scripts/generatorProject.js:
--------------------------------------------------------------------------------
1 |
2 | hexo.extend.generator.register('project', function(locals) {
3 | return locals.projects.map(function(project) {
4 | return {
5 | path: project.path,
6 | data: project,
7 | layout: 'project'
8 | };
9 | });
10 | });
11 |
--------------------------------------------------------------------------------
/scripts/generatorProjectIndex.js:
--------------------------------------------------------------------------------
1 | var pagination = require('hexo-pagination');
2 |
3 | hexo.extend.generator.register('project_index', function(locals) {
4 | return pagination('/project', locals.projects, {
5 | format: 'page/%d/',
6 | layout: 'project_index'
7 | });
8 | });
--------------------------------------------------------------------------------
/scripts/helper.js:
--------------------------------------------------------------------------------
1 | hexo.extend.helper.register('recent_posts', function() {
2 | return hexo.locals.get('posts').sort('date', -1).limit(3);
3 | });
4 |
5 | hexo.extend.helper.register('recent_projects', function() {
6 | return hexo.locals.get('recent_projects');
7 | });
8 |
9 | hexo.extend.helper.register('recent_project_tags', function() {
10 | return hexo.locals.get('recent_project_tags');
11 | });
12 |
13 | hexo.extend.helper.register('post_abstract', function(post) {
14 | if (post.excerpt) {
15 | return post.excerpt.replace(/<[^>]*>|/g, "");
16 | }
17 | return post.content.replace(/<[^>]*>|/g, "");
18 | });
19 |
20 | hexo.extend.helper.register('get_project', function(post) {
21 | return hexo.locals.get('projects').find({ _id: post._id });
22 | });
23 |
24 |
25 | hexo.extend.helper.register('get_content', function(post) {
26 | if (post.content) return post.content;
27 | var stripIndent = require('strip-indent');
28 | var util = require('hexo-util');
29 | var highlight = util.highlight;
30 | var config = hexo.config.highlight;
31 | var options = {
32 | autoDetect: config.auto_detect,
33 | gutter: config.line_number,
34 | tab: config.tab_replace
35 | };
36 |
37 | return post.content = hexo.render.renderSync({ text: post._content, engine: 'md' }, {
38 | highlight: function(code) {
39 | return highlight(stripIndent(code), options)
40 | .replace(/{/g, '{')
41 | .replace(/}/g, '}');
42 | }
43 | }).replace(//g, '').replace(/<\/code><\/pre>/g, '');
44 | });
--------------------------------------------------------------------------------
/scripts/processorProject.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var common = require('hexo/lib/plugins/processor/common');
4 | var yfm = require('hexo-front-matter');
5 | var Promise = require('bluebird');
6 | var pathFn = require('path');
7 | var util = require('hexo-util');
8 | var slugize = util.slugize;
9 | var Permalink = util.Permalink;
10 |
11 | var permalink;
12 |
13 | var preservedKeys = {
14 | title: true,
15 | year: true,
16 | month: true,
17 | day: true,
18 | i_month: true,
19 | i_day: true
20 | };
21 |
22 | // 浏览文件
23 | function scanAssetDir(post) {
24 | if (!hexo.config.post_asset_folder) return;
25 |
26 | var assetDir = post.asset_dir;
27 | var baseDir = hexo.base_dir;
28 | var baseDirLength = baseDir.length;
29 | var PostAsset = hexo.model('PostAsset');
30 |
31 | return fs.stat(assetDir).then(function(stats) {
32 | if (!stats.isDirectory()) return [];
33 |
34 | return fs.listDir(assetDir);
35 | }).catch(function(err) {
36 | if (err.cause && err.cause.code === 'ENOENT') return [];
37 | throw err;
38 | }).filter(function(item) {
39 | return !common.isTmpFile(item) && !common.isHiddenFile(item);
40 | }).map(function(item) {
41 | var id = pathFn.join(assetDir, item).substring(baseDirLength).replace(/\\/g, '/');
42 | var asset = PostAsset.findById(id);
43 | if (asset) return;
44 |
45 | return PostAsset.save({
46 | _id: id,
47 | post: post._id,
48 | slug: item,
49 | modified: true
50 | });
51 | });
52 | }
53 |
54 | // 给文件命名
55 | function parseFilename(config, path) {
56 | config = config.substring(0, config.length - pathFn.extname(config).length);
57 | path = path.substring(0, path.length - pathFn.extname(path).length);
58 |
59 | if (!permalink || permalink.rule !== config) {
60 | permalink = new Permalink(config, {
61 | segments: {
62 | year: /(\d{4})/,
63 | month: /(\d{2})/,
64 | day: /(\d{2})/,
65 | i_month: /(\d{1,2})/,
66 | i_day: /(\d{1,2})/
67 | }
68 | });
69 | }
70 |
71 | var data = permalink.parse(path);
72 |
73 | if (data) {
74 | return data;
75 | }
76 |
77 | return {
78 | title: slugize(path)
79 | };
80 | }
81 |
82 |
83 | function processPost(file) {
84 | if (file.params[0] != file.path) return;
85 | var Post = hexo.model('Post');
86 | var db_key = file.path;
87 | var path = db_key.replace('_projects/', '');
88 | var config = hexo.config;
89 | var timezone = config.timezone;
90 | var categories, tags;
91 |
92 | return Promise.all([
93 | file.stat(),
94 | file.read()
95 | ]).spread(function(stats, content) {
96 | var data = yfm(content);
97 | var info = parseFilename(config.new_post_name, path);
98 | var keys = Object.keys(info);
99 | var key;
100 |
101 | data.source = db_key;
102 | data.raw = content;
103 | data.slug = info.title;
104 | data.is_project = true;
105 |
106 | if (file.params.published) {
107 | if (!data.hasOwnProperty('published')) data.published = true;
108 | } else {
109 | data.published = false;
110 | }
111 |
112 | for (var i = 0, len = keys.length; i < len; i++) {
113 | key = keys[i];
114 | if (!preservedKeys[key]) data[key] = info[key];
115 | }
116 |
117 | if (data.date) {
118 | data.date = common.toDate(data.date);
119 | } else if (info && info.year && (info.month || info.i_month) && (info.day || info.i_day)) {
120 | data.date = new Date(
121 | info.year,
122 | parseInt(info.month || info.i_month, 10) - 1,
123 | parseInt(info.day || info.i_day, 10)
124 | );
125 | }
126 |
127 | if (data.date) {
128 | if (timezone) data.date = common.timezone(data.date, timezone);
129 | } else {
130 | data.date = stats.birthtime;
131 | }
132 |
133 | data.updated = common.toDate(data.updated);
134 |
135 | if (data.updated) {
136 | if (timezone) data.updated = common.timezone(data.updated, timezone);
137 | } else {
138 | data.updated = stats.mtime;
139 | }
140 |
141 | if (data.category && !data.categories) {
142 | data.categories = data.category;
143 | delete data.category;
144 | }
145 |
146 | if (data.tag && !data.tags) {
147 | data.tags = data.tag;
148 | delete data.tag;
149 | }
150 |
151 | categories = data.categories || [];
152 | tags = data.tags || [];
153 |
154 | if (!Array.isArray(categories)) categories = [categories];
155 | if (!Array.isArray(tags)) tags = [tags];
156 |
157 | if (data.photo && !data.photos) {
158 | data.photos = data.photo;
159 | delete data.photo;
160 | }
161 |
162 | if (data.photos && !Array.isArray(data.photos)) {
163 | data.photos = [data.photos];
164 | }
165 |
166 | if (data.link && !data.title) {
167 | data.title = data.link.replace(/^https?:\/\/|\/$/g, '');
168 | }
169 |
170 | if (data.permalink) {
171 | data.slug = data.permalink;
172 | delete data.permalink;
173 | }
174 |
175 | // FIXME: Data may be inserted when reading files. Load it again to prevent
176 | // race condition. We have to solve this in warehouse.
177 | var doc = Post.findOne({ source: db_key });
178 |
179 | if (doc) {
180 | return doc.replace(data);
181 | }
182 |
183 | return Post.insert(data);
184 | }).then(function(doc) {
185 | return Promise.all([
186 | doc.setCategories(categories),
187 | doc.setTags(tags),
188 | scanAssetDir(doc)
189 | ]);
190 | });
191 | }
192 |
193 | hexo.extend.processor.register('_projects/*.md', processPost);
194 |
--------------------------------------------------------------------------------
/scripts/renderBefore.js:
--------------------------------------------------------------------------------
1 |
2 | hexo.extend.filter.register('before_post_render', function(data) {
3 | var photos = data._content.match(/\!\[.*?\]\(.*?\)/g);
4 | if (photos) {
5 | data.photos = photos.map(function(item) {
6 | return item.replace(/\!\[.*?\]\(/g, '').replace(/\)/g, '');
7 | });
8 | } else {
9 | data.photos = [];
10 | }
11 |
12 | // 添加预览图获取方式 Front-matter 可以设置 preview , 其次从文章中获取首图 ,再次使用默认图
13 | if (data.preview) return data._preview = data.preview;
14 | data.__defineGetter__('preview', function() {
15 | if (this._preview && typeof this._preview == "string") return this._preview;
16 | if (this.photos.length > 0) return this.photos[0];
17 | return '/images/post_preview_default.jpg';
18 | });
19 |
20 |
21 |
22 | return data;
23 | });
--------------------------------------------------------------------------------
/source/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/.DS_Store
--------------------------------------------------------------------------------
/source/css/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/css/.DS_Store
--------------------------------------------------------------------------------
/source/css/i_post.css:
--------------------------------------------------------------------------------
1 | article.post-item .post-meta .post-date:before {
2 | content: '发表于:';
3 | display: inline-block;
4 | margin-right: 3px;
5 | color: #ccc;
6 | }
7 | article.post-item .post-meta .post-date {
8 | display: inline-block;
9 | font-size: 14px;
10 | line-height: 1.3;
11 | padding-bottom: 10px;
12 | border-bottom: 1px solid rgba(255, 255, 255, 0.2);
13 | }
14 |
15 | article.post-item .post-meta .post-author:before {
16 | content: '分类';
17 | margin-left: 10px;
18 | margin-right: 5px;
19 | display: inline-block;
20 | font-size: 11px;
21 | color: #ccc;
22 | text-decoration: none;
23 | padding-top: 10px;
24 | }
25 |
26 | article.post-item .post-meta .post-author {
27 | display: inline-block;
28 | font-size: 13px;
29 | color: #c39d6d;
30 | text-decoration: none;
31 | padding-top: 10px;
32 | }
33 |
34 | article.post-item .post-meta .post-author:hover {
35 | color: #c39d6d;
36 | }
37 |
38 | .post-tag {
39 | display: inline-block;
40 | font-size: 12px;
41 | font-weight: 900;
42 | color: #c39d6d;
43 | background-color: transparent;
44 | margin-left: 5px;
45 | margin-top: 10px;
46 | }
47 |
48 | .post-tag:before {
49 | content: '#';
50 | display: inline-block;
51 | margin-right: 2px;
52 | }
53 |
54 | .post-tag:hover {
55 | text-shadow: 0 3px 3px #c39d6d;
56 | }
57 |
58 | @media (min-width: 768px) {
59 | article.post-item {
60 | position: relative;
61 | padding-left: 126px;
62 | }
63 |
64 | article.post-item .post-meta {
65 | position: absolute;
66 | width: 100px;
67 | top: 0;
68 | left: 0;
69 | color: #fff;
70 | text-align: center;
71 | background-color: #333;
72 | padding: 18px 20px;
73 | cursor: pointer;
74 | }
75 | article.post-item .post-meta .post-date:before {
76 | display: none;
77 | content: '';
78 | margin: 0;
79 | }
80 | article.post-item .post-meta .post-date:before {
81 | display: block;
82 | color: #fff;
83 | }
84 | article.post-item .post-meta .post-author:before {
85 | display: block;
86 | margin: 0;
87 | }
88 | article.post-item .post-meta .post-author {
89 | display: block;
90 | color: #fff;
91 | }
92 | }
93 |
94 | .section-description {
95 | line-height: 24px;
96 | }
97 |
98 | pre,
99 | .highlight {
100 | overflow: auto;
101 | margin: 20px 0;
102 | padding: 0;
103 | font-size: 13px;
104 | color: #4d4d4c;
105 | background: #f7f7f7;
106 | line-height: 1.6;
107 | }
108 |
109 | pre,
110 | code {
111 | font-family: 'PT Mono', consolas, Menlo, "PingFang SC", "Microsoft YaHei", monospace;
112 | border: none;
113 | }
114 |
115 | code {
116 | padding: 2px 4px;
117 | word-wrap: break-word;
118 | color: #555;
119 | background: #eee;
120 | border-radius: 3px;
121 | font-size: 13px;
122 | }
123 |
124 | pre code {
125 | display: inline-block;
126 | padding: 10px 20px;
127 | color: #4d4d4c;
128 | background: none;
129 | text-shadow: none;
130 | }
131 |
132 | .highlight {
133 | border-radius: 1px;
134 | }
135 |
136 | .highlight pre {
137 | border: none;
138 | margin: 0;
139 | padding: 10px 0;
140 | }
141 |
142 | .highlight table {
143 | margin: 0;
144 | width: auto;
145 | border: none;
146 | }
147 |
148 | .highlight td {
149 | border: none;
150 | padding: 0;
151 | }
152 |
153 | .highlight figcaption {
154 | font-size: 1em;
155 | color: #4d4d4c;
156 | line-height: 1em;
157 | margin-bottom: 1em;
158 | }
159 |
160 | .highlight figcaption:before,
161 | .highlight figcaption:after {
162 | content: " ";
163 | display: table;
164 | }
165 |
166 | .highlight figcaption:after {
167 | clear: both;
168 | }
169 |
170 | .highlight figcaption a {
171 | float: right;
172 | color: #4d4d4c;
173 | }
174 |
175 | .highlight figcaption a:hover {
176 | border-bottom-color: #4d4d4c;
177 | }
178 |
179 | .highlight .gutter pre {
180 | padding-left: 10px;
181 | padding-right: 10px;
182 | color: #869194;
183 | text-align: right;
184 | background-color: #eff2f3;
185 | }
186 |
187 | .highlight .code pre {
188 | padding-left: 10px;
189 | padding-right: 10px;
190 | background-color: #f7f7f7;
191 | }
192 |
193 | .highlight .line {
194 | height: 20px;
195 | }
196 |
197 | .gutter {
198 | -webkit-user-select: none;
199 | -moz-user-select: none;
200 | -ms-user-select: none;
201 | user-select: none;
202 | }
203 |
204 | .gist table {
205 | width: auto;
206 | }
207 |
208 | .gist table td {
209 | border: none;
210 | }
211 |
212 | pre .deletion {
213 | background: #fdd;
214 | }
215 |
216 | pre .addition {
217 | background: #dfd;
218 | }
219 |
220 | pre .meta {
221 | color: #8959a8;
222 | }
223 |
224 | pre .comment {
225 | color: #8e908c;
226 | }
227 |
228 | pre .variable,
229 | pre .attribute,
230 | pre .tag,
231 | pre .regexp,
232 | pre .ruby .constant,
233 | pre .xml .tag .title,
234 | pre .xml .pi,
235 | pre .xml .doctype,
236 | pre .html .doctype,
237 | pre .css .id,
238 | pre .css .class,
239 | pre .css .pseudo {
240 | color: #c82829;
241 | }
242 |
243 | pre .number,
244 | pre .preprocessor,
245 | pre .built_in,
246 | pre .literal,
247 | pre .params,
248 | pre .constant,
249 | pre .command {
250 | color: #f5871f;
251 | }
252 |
253 | pre .ruby .class .title,
254 | pre .css .rules .attribute,
255 | pre .string,
256 | pre .value,
257 | pre .inheritance,
258 | pre .header,
259 | pre .ruby .symbol,
260 | pre .xml .cdata,
261 | pre .special,
262 | pre .number,
263 | pre .formula {
264 | color: #718c00;
265 | }
266 |
267 | pre .title,
268 | pre .css .hexcolor {
269 | color: #3e999f;
270 | }
271 |
272 | pre .function,
273 | pre .python .decorator,
274 | pre .python .title,
275 | pre .ruby .function .title,
276 | pre .ruby .title .keyword,
277 | pre .perl .sub,
278 | pre .javascript .title,
279 | pre .coffeescript .title {
280 | color: #4271ae;
281 | }
282 |
283 | pre .keyword,
284 | pre .javascript .function {
285 | color: #8959a8;
286 | }
--------------------------------------------------------------------------------
/source/css/i_slidebar.css:
--------------------------------------------------------------------------------
1 | .blog-sidebar .post-sidebar-widget .site-author-image {
2 | display: block;
3 | margin: 0 auto;
4 | padding: 2px;
5 | max-width: 120px;
6 | height: auto;
7 | border: 1px solid #eee;
8 | }
9 |
10 | .blog-sidebar .post-sidebar-widget .site-author-name {
11 | margin: 10px 0;
12 | text-align: center;
13 | color: #222;
14 | font-weight: 600;
15 | }
16 |
17 | .blog-sidebar .post-sidebar-widget .site-author-description {
18 | margin-top: 0;
19 | text-align: center;
20 | font-size: 13px;
21 | padding: 0 20px;
22 | color: #999;
23 | }
24 |
25 |
26 | /*文章-项目统计*/
27 |
28 | .blog-sidebar .post-sidebar-widget .site-state {
29 | overflow: hidden;
30 | line-height: 1.4;
31 | white-space: nowrap;
32 | text-align: center;
33 | margin: 20px auto;
34 | }
35 |
36 | .blog-sidebar .post-sidebar-widget .site-state-item {
37 | display: inline-block;
38 | padding: 0 15px;
39 | border-left: 1px solid #eee;
40 | }
41 |
42 | .blog-sidebar .post-sidebar-widget .site-state-item:first-child {
43 | border-left: none;
44 | }
45 |
46 | .blog-sidebar .post-sidebar-widget .site-state-item a {
47 | border-bottom: none;
48 | }
49 |
50 | .blog-sidebar .post-sidebar-widget .site-state-item-count {
51 | display: block;
52 | text-align: center;
53 | color: inherit;
54 | font-weight: 600;
55 | font-size: 16px;
56 | }
57 |
58 | .blog-sidebar .post-sidebar-widget .site-state-item-name {
59 | font-size: 13px;
60 | color: #999;
61 | }
62 |
63 |
64 | /*RSS订阅*/
65 |
66 | .blog-sidebar .post-sidebar-widget .feed-link {
67 | border-top: 1px dotted #ccc;
68 | border-bottom: 1px dotted #ccc;
69 | text-align: center;
70 | padding: 8px 0;
71 | width: 80%;
72 | margin: 0 auto 15px;
73 | }
74 |
75 | .blog-sidebar .post-sidebar-widget .feed-link a {
76 | display: block;
77 | color: #fc6423;
78 | border: none;
79 | }
80 |
81 | .blog-sidebar .post-sidebar-widget .feed-link a:hover {
82 | background: none;
83 | color: #e34603;
84 | }
85 |
86 | .blog-sidebar .post-sidebar-widget .feed-link a:hover i {
87 | color: #e34603;
88 | }
89 |
90 |
91 | /*个人页面链接*/
92 |
93 | .blog-sidebar .post-sidebar-widget .links-of-author:before,
94 | .blog-sidebar .post-sidebar-widget .links-of-author:after {
95 | content: " ";
96 | display: table;
97 | }
98 |
99 | .blog-sidebar .post-sidebar-widget .links-of-author:after {
100 | clear: both;
101 | }
102 |
103 | .blog-sidebar .post-sidebar-widget .links-of-author-item {
104 | float: left;
105 | margin: 5px 0 0;
106 | width: 50%;
107 | }
108 |
109 | .blog-sidebar .post-sidebar-widget .links-of-author-item a {
110 | box-sizing: border-box;
111 | display: inline-block;
112 | margin-right: 0;
113 | margin-bottom: 0;
114 | padding: 5px;
115 | overflow: hidden;
116 | white-space: nowrap;
117 | text-overflow: ellipsis;
118 | text-align: center;
119 | }
120 |
121 | .blog-sidebar .post-sidebar-widget .links-of-author-item a {
122 | display: block;
123 | text-decoration: none;
124 | }
125 |
126 | .blog-sidebar .post-sidebar-widget .links-of-author-item a:hover {
127 | border-radius: 4px;
128 | background: #eee;
129 | }
130 |
131 | .blog-sidebar .post-sidebar-widget .links-of-author-item .fa {
132 | margin-right: 2px;
133 | font-size: 16px;
134 | }
135 |
136 | .blog-sidebar .post-sidebar-widget .links-of-author-item .fa-globe {
137 | font-size: 15px;
138 | }
139 |
140 | /* 中等屏幕(桌面显示器,大于等于 992px) */
141 |
142 | @media (min-width: 992px) {
143 | .blog-sidebar.affix,
144 | .blog-sidebar.affix-bottom {
145 | width: 213px;
146 | }
147 | .blog-sidebar.affix {
148 | position: fixed;
149 | /* Undo the static from mobile first approach */
150 | top: 20px;
151 | }
152 | .blog-sidebar.affix-bottom {
153 | position: absolute;
154 | /* Undo the static from mobile first approach */
155 | }
156 | }
157 |
158 |
159 | /* 大屏幕(大桌面显示器,大于等于 1200px) */
160 |
161 | @media (min-width: 1200px) {
162 | .blog-sidebar.affix-bottom,
163 | .blog-sidebar.affix {
164 | width: 263px;
165 | }
166 | }
--------------------------------------------------------------------------------
/source/css/linear-icons.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'Linearicons-Free';
3 | src:url('../fonts/Linearicons-Free-w118d.eot');
4 | src:url('../fonts/Linearicons-Free-.eot#iefixw118d') format('embedded-opentype'),
5 | url('../fonts/Linearicons-Free-w118d.woff2') format('woff2'),
6 | url('../fonts/Linearicons-Free-w118d.woff') format('woff'),
7 | url('../fonts/Linearicons-Free-w118d.ttf') format('truetype'),
8 | url('../fonts/Linearicons-Free-w118d.svg#Linearicons-Free') format('svg');
9 | font-weight: normal;
10 | font-style: normal;
11 | }
12 |
13 | .lnr {
14 | font-family: 'Linearicons-Free';
15 | speak: none;
16 | font-style: normal;
17 | font-weight: normal;
18 | font-variant: normal;
19 | text-transform: none;
20 | line-height: 1;
21 |
22 | /* Better Font Rendering =========== */
23 | -webkit-font-smoothing: antialiased;
24 | -moz-osx-font-smoothing: grayscale;
25 | }
26 |
27 | .lnr-home:before {
28 | content: "\e800";
29 | }
30 | .lnr-apartment:before {
31 | content: "\e801";
32 | }
33 | .lnr-pencil:before {
34 | content: "\e802";
35 | }
36 | .lnr-magic-wand:before {
37 | content: "\e803";
38 | }
39 | .lnr-drop:before {
40 | content: "\e804";
41 | }
42 | .lnr-lighter:before {
43 | content: "\e805";
44 | }
45 | .lnr-poop:before {
46 | content: "\e806";
47 | }
48 | .lnr-sun:before {
49 | content: "\e807";
50 | }
51 | .lnr-moon:before {
52 | content: "\e808";
53 | }
54 | .lnr-cloud:before {
55 | content: "\e809";
56 | }
57 | .lnr-cloud-upload:before {
58 | content: "\e80a";
59 | }
60 | .lnr-cloud-download:before {
61 | content: "\e80b";
62 | }
63 | .lnr-cloud-sync:before {
64 | content: "\e80c";
65 | }
66 | .lnr-cloud-check:before {
67 | content: "\e80d";
68 | }
69 | .lnr-database:before {
70 | content: "\e80e";
71 | }
72 | .lnr-lock:before {
73 | content: "\e80f";
74 | }
75 | .lnr-cog:before {
76 | content: "\e810";
77 | }
78 | .lnr-trash:before {
79 | content: "\e811";
80 | }
81 | .lnr-dice:before {
82 | content: "\e812";
83 | }
84 | .lnr-heart:before {
85 | content: "\e813";
86 | }
87 | .lnr-star:before {
88 | content: "\e814";
89 | }
90 | .lnr-star-half:before {
91 | content: "\e815";
92 | }
93 | .lnr-star-empty:before {
94 | content: "\e816";
95 | }
96 | .lnr-flag:before {
97 | content: "\e817";
98 | }
99 | .lnr-envelope:before {
100 | content: "\e818";
101 | }
102 | .lnr-paperclip:before {
103 | content: "\e819";
104 | }
105 | .lnr-inbox:before {
106 | content: "\e81a";
107 | }
108 | .lnr-eye:before {
109 | content: "\e81b";
110 | }
111 | .lnr-printer:before {
112 | content: "\e81c";
113 | }
114 | .lnr-file-empty:before {
115 | content: "\e81d";
116 | }
117 | .lnr-file-add:before {
118 | content: "\e81e";
119 | }
120 | .lnr-enter:before {
121 | content: "\e81f";
122 | }
123 | .lnr-exit:before {
124 | content: "\e820";
125 | }
126 | .lnr-graduation-hat:before {
127 | content: "\e821";
128 | }
129 | .lnr-license:before {
130 | content: "\e822";
131 | }
132 | .lnr-music-note:before {
133 | content: "\e823";
134 | }
135 | .lnr-film-play:before {
136 | content: "\e824";
137 | }
138 | .lnr-camera-video:before {
139 | content: "\e825";
140 | }
141 | .lnr-camera:before {
142 | content: "\e826";
143 | }
144 | .lnr-picture:before {
145 | content: "\e827";
146 | }
147 | .lnr-book:before {
148 | content: "\e828";
149 | }
150 | .lnr-bookmark:before {
151 | content: "\e829";
152 | }
153 | .lnr-user:before {
154 | content: "\e82a";
155 | }
156 | .lnr-users:before {
157 | content: "\e82b";
158 | }
159 | .lnr-shirt:before {
160 | content: "\e82c";
161 | }
162 | .lnr-store:before {
163 | content: "\e82d";
164 | }
165 | .lnr-cart:before {
166 | content: "\e82e";
167 | }
168 | .lnr-tag:before {
169 | content: "\e82f";
170 | }
171 | .lnr-phone-handset:before {
172 | content: "\e830";
173 | }
174 | .lnr-phone:before {
175 | content: "\e831";
176 | }
177 | .lnr-pushpin:before {
178 | content: "\e832";
179 | }
180 | .lnr-map-marker:before {
181 | content: "\e833";
182 | }
183 | .lnr-map:before {
184 | content: "\e834";
185 | }
186 | .lnr-location:before {
187 | content: "\e835";
188 | }
189 | .lnr-calendar-full:before {
190 | content: "\e836";
191 | }
192 | .lnr-keyboard:before {
193 | content: "\e837";
194 | }
195 | .lnr-spell-check:before {
196 | content: "\e838";
197 | }
198 | .lnr-screen:before {
199 | content: "\e839";
200 | }
201 | .lnr-smartphone:before {
202 | content: "\e83a";
203 | }
204 | .lnr-tablet:before {
205 | content: "\e83b";
206 | }
207 | .lnr-laptop:before {
208 | content: "\e83c";
209 | }
210 | .lnr-laptop-phone:before {
211 | content: "\e83d";
212 | }
213 | .lnr-power-switch:before {
214 | content: "\e83e";
215 | }
216 | .lnr-bubble:before {
217 | content: "\e83f";
218 | }
219 | .lnr-heart-pulse:before {
220 | content: "\e840";
221 | }
222 | .lnr-construction:before {
223 | content: "\e841";
224 | }
225 | .lnr-pie-chart:before {
226 | content: "\e842";
227 | }
228 | .lnr-chart-bars:before {
229 | content: "\e843";
230 | }
231 | .lnr-gift:before {
232 | content: "\e844";
233 | }
234 | .lnr-diamond:before {
235 | content: "\e845";
236 | }
237 | .lnr-linearicons:before {
238 | content: "\e846";
239 | }
240 | .lnr-dinner:before {
241 | content: "\e847";
242 | }
243 | .lnr-coffee-cup:before {
244 | content: "\e848";
245 | }
246 | .lnr-leaf:before {
247 | content: "\e849";
248 | }
249 | .lnr-paw:before {
250 | content: "\e84a";
251 | }
252 | .lnr-rocket:before {
253 | content: "\e84b";
254 | }
255 | .lnr-briefcase:before {
256 | content: "\e84c";
257 | }
258 | .lnr-bus:before {
259 | content: "\e84d";
260 | }
261 | .lnr-car:before {
262 | content: "\e84e";
263 | }
264 | .lnr-train:before {
265 | content: "\e84f";
266 | }
267 | .lnr-bicycle:before {
268 | content: "\e850";
269 | }
270 | .lnr-wheelchair:before {
271 | content: "\e851";
272 | }
273 | .lnr-select:before {
274 | content: "\e852";
275 | }
276 | .lnr-earth:before {
277 | content: "\e853";
278 | }
279 | .lnr-smile:before {
280 | content: "\e854";
281 | }
282 | .lnr-sad:before {
283 | content: "\e855";
284 | }
285 | .lnr-neutral:before {
286 | content: "\e856";
287 | }
288 | .lnr-mustache:before {
289 | content: "\e857";
290 | }
291 | .lnr-alarm:before {
292 | content: "\e858";
293 | }
294 | .lnr-bullhorn:before {
295 | content: "\e859";
296 | }
297 | .lnr-volume-high:before {
298 | content: "\e85a";
299 | }
300 | .lnr-volume-medium:before {
301 | content: "\e85b";
302 | }
303 | .lnr-volume-low:before {
304 | content: "\e85c";
305 | }
306 | .lnr-volume:before {
307 | content: "\e85d";
308 | }
309 | .lnr-mic:before {
310 | content: "\e85e";
311 | }
312 | .lnr-hourglass:before {
313 | content: "\e85f";
314 | }
315 | .lnr-undo:before {
316 | content: "\e860";
317 | }
318 | .lnr-redo:before {
319 | content: "\e861";
320 | }
321 | .lnr-sync:before {
322 | content: "\e862";
323 | }
324 | .lnr-history:before {
325 | content: "\e863";
326 | }
327 | .lnr-clock:before {
328 | content: "\e864";
329 | }
330 | .lnr-download:before {
331 | content: "\e865";
332 | }
333 | .lnr-upload:before {
334 | content: "\e866";
335 | }
336 | .lnr-enter-down:before {
337 | content: "\e867";
338 | }
339 | .lnr-exit-up:before {
340 | content: "\e868";
341 | }
342 | .lnr-bug:before {
343 | content: "\e869";
344 | }
345 | .lnr-code:before {
346 | content: "\e86a";
347 | }
348 | .lnr-link:before {
349 | content: "\e86b";
350 | }
351 | .lnr-unlink:before {
352 | content: "\e86c";
353 | }
354 | .lnr-thumbs-up:before {
355 | content: "\e86d";
356 | }
357 | .lnr-thumbs-down:before {
358 | content: "\e86e";
359 | }
360 | .lnr-magnifier:before {
361 | content: "\e86f";
362 | }
363 | .lnr-cross:before {
364 | content: "\e870";
365 | }
366 | .lnr-menu:before {
367 | content: "\e871";
368 | }
369 | .lnr-list:before {
370 | content: "\e872";
371 | }
372 | .lnr-chevron-up:before {
373 | content: "\e873";
374 | }
375 | .lnr-chevron-down:before {
376 | content: "\e874";
377 | }
378 | .lnr-chevron-left:before {
379 | content: "\e875";
380 | }
381 | .lnr-chevron-right:before {
382 | content: "\e876";
383 | }
384 | .lnr-arrow-up:before {
385 | content: "\e877";
386 | }
387 | .lnr-arrow-down:before {
388 | content: "\e878";
389 | }
390 | .lnr-arrow-left:before {
391 | content: "\e879";
392 | }
393 | .lnr-arrow-right:before {
394 | content: "\e87a";
395 | }
396 | .lnr-move:before {
397 | content: "\e87b";
398 | }
399 | .lnr-warning:before {
400 | content: "\e87c";
401 | }
402 | .lnr-question-circle:before {
403 | content: "\e87d";
404 | }
405 | .lnr-menu-circle:before {
406 | content: "\e87e";
407 | }
408 | .lnr-checkmark-circle:before {
409 | content: "\e87f";
410 | }
411 | .lnr-cross-circle:before {
412 | content: "\e880";
413 | }
414 | .lnr-plus-circle:before {
415 | content: "\e881";
416 | }
417 | .lnr-circle-minus:before {
418 | content: "\e882";
419 | }
420 | .lnr-arrow-up-circle:before {
421 | content: "\e883";
422 | }
423 | .lnr-arrow-down-circle:before {
424 | content: "\e884";
425 | }
426 | .lnr-arrow-left-circle:before {
427 | content: "\e885";
428 | }
429 | .lnr-arrow-right-circle:before {
430 | content: "\e886";
431 | }
432 | .lnr-chevron-up-circle:before {
433 | content: "\e887";
434 | }
435 | .lnr-chevron-down-circle:before {
436 | content: "\e888";
437 | }
438 | .lnr-chevron-left-circle:before {
439 | content: "\e889";
440 | }
441 | .lnr-chevron-right-circle:before {
442 | content: "\e88a";
443 | }
444 | .lnr-crop:before {
445 | content: "\e88b";
446 | }
447 | .lnr-frame-expand:before {
448 | content: "\e88c";
449 | }
450 | .lnr-frame-contract:before {
451 | content: "\e88d";
452 | }
453 | .lnr-layers:before {
454 | content: "\e88e";
455 | }
456 | .lnr-funnel:before {
457 | content: "\e88f";
458 | }
459 | .lnr-text-format:before {
460 | content: "\e890";
461 | }
462 | .lnr-text-format-remove:before {
463 | content: "\e891";
464 | }
465 | .lnr-text-size:before {
466 | content: "\e892";
467 | }
468 | .lnr-bold:before {
469 | content: "\e893";
470 | }
471 | .lnr-italic:before {
472 | content: "\e894";
473 | }
474 | .lnr-underline:before {
475 | content: "\e895";
476 | }
477 | .lnr-strikethrough:before {
478 | content: "\e896";
479 | }
480 | .lnr-highlight:before {
481 | content: "\e897";
482 | }
483 | .lnr-text-align-left:before {
484 | content: "\e898";
485 | }
486 | .lnr-text-align-center:before {
487 | content: "\e899";
488 | }
489 | .lnr-text-align-right:before {
490 | content: "\e89a";
491 | }
492 | .lnr-text-align-justify:before {
493 | content: "\e89b";
494 | }
495 | .lnr-line-spacing:before {
496 | content: "\e89c";
497 | }
498 | .lnr-indent-increase:before {
499 | content: "\e89d";
500 | }
501 | .lnr-indent-decrease:before {
502 | content: "\e89e";
503 | }
504 | .lnr-pilcrow:before {
505 | content: "\e89f";
506 | }
507 | .lnr-direction-ltr:before {
508 | content: "\e8a0";
509 | }
510 | .lnr-direction-rtl:before {
511 | content: "\e8a1";
512 | }
513 | .lnr-page-break:before {
514 | content: "\e8a2";
515 | }
516 | .lnr-sort-alpha-asc:before {
517 | content: "\e8a3";
518 | }
519 | .lnr-sort-amount-asc:before {
520 | content: "\e8a4";
521 | }
522 | .lnr-hand:before {
523 | content: "\e8a5";
524 | }
525 | .lnr-pointer-up:before {
526 | content: "\e8a6";
527 | }
528 | .lnr-pointer-right:before {
529 | content: "\e8a7";
530 | }
531 | .lnr-pointer-down:before {
532 | content: "\e8a8";
533 | }
534 | .lnr-pointer-left:before {
535 | content: "\e8a9";
536 | }
537 |
--------------------------------------------------------------------------------
/source/css/magnific-popup.css:
--------------------------------------------------------------------------------
1 | /* Magnific Popup CSS */
2 | .mfp-bg {
3 | top: 0;
4 | left: 0;
5 | width: 100%;
6 | height: 100%;
7 | z-index: 1042;
8 | overflow: hidden;
9 | position: fixed;
10 | background: #0b0b0b;
11 | opacity: 0.8; }
12 |
13 | .mfp-wrap {
14 | top: 0;
15 | left: 0;
16 | width: 100%;
17 | height: 100%;
18 | z-index: 1043;
19 | position: fixed;
20 | outline: none !important;
21 | -webkit-backface-visibility: hidden; }
22 |
23 | .mfp-container {
24 | text-align: center;
25 | position: absolute;
26 | width: 100%;
27 | height: 100%;
28 | left: 0;
29 | top: 0;
30 | padding: 0 8px;
31 | box-sizing: border-box; }
32 |
33 | .mfp-container:before {
34 | content: '';
35 | display: inline-block;
36 | height: 100%;
37 | vertical-align: middle; }
38 |
39 | .mfp-align-top .mfp-container:before {
40 | display: none; }
41 |
42 | .mfp-content {
43 | position: relative;
44 | display: inline-block;
45 | vertical-align: middle;
46 | margin: 0 auto;
47 | text-align: left;
48 | z-index: 1045; }
49 |
50 | .mfp-inline-holder .mfp-content,
51 | .mfp-ajax-holder .mfp-content {
52 | width: 100%;
53 | cursor: auto; }
54 |
55 | .mfp-ajax-cur {
56 | cursor: progress; }
57 |
58 | .mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
59 | cursor: -moz-zoom-out;
60 | cursor: -webkit-zoom-out;
61 | cursor: zoom-out; }
62 |
63 | .mfp-zoom {
64 | cursor: pointer;
65 | cursor: -webkit-zoom-in;
66 | cursor: -moz-zoom-in;
67 | cursor: zoom-in; }
68 |
69 | .mfp-auto-cursor .mfp-content {
70 | cursor: auto; }
71 |
72 | .mfp-close,
73 | .mfp-arrow,
74 | .mfp-preloader,
75 | .mfp-counter {
76 | -webkit-user-select: none;
77 | -moz-user-select: none;
78 | user-select: none; }
79 |
80 | .mfp-loading.mfp-figure {
81 | display: none; }
82 |
83 | .mfp-hide {
84 | display: none !important; }
85 |
86 | .mfp-preloader {
87 | color: #CCC;
88 | position: absolute;
89 | top: 50%;
90 | width: auto;
91 | text-align: center;
92 | margin-top: -0.8em;
93 | left: 8px;
94 | right: 8px;
95 | z-index: 1044; }
96 | .mfp-preloader a {
97 | color: #CCC; }
98 | .mfp-preloader a:hover {
99 | color: #FFF; }
100 |
101 | .mfp-s-ready .mfp-preloader {
102 | display: none; }
103 |
104 | .mfp-s-error .mfp-content {
105 | display: none; }
106 |
107 | button.mfp-close,
108 | button.mfp-arrow {
109 | overflow: visible;
110 | cursor: pointer;
111 | background: transparent;
112 | border: 0;
113 | -webkit-appearance: none;
114 | display: block;
115 | outline: none;
116 | padding: 0;
117 | z-index: 1046;
118 | box-shadow: none;
119 | touch-action: manipulation; }
120 |
121 | button::-moz-focus-inner {
122 | padding: 0;
123 | border: 0; }
124 |
125 | .mfp-close {
126 | width: 44px;
127 | height: 44px;
128 | line-height: 44px;
129 | position: absolute;
130 | right: 0;
131 | top: 0;
132 | text-decoration: none;
133 | text-align: center;
134 | opacity: 0.65;
135 | padding: 0 0 18px 10px;
136 | color: #FFF;
137 | font-style: normal;
138 | font-size: 28px;
139 | font-family: Arial, Baskerville, monospace; }
140 | .mfp-close:hover,
141 | .mfp-close:focus {
142 | opacity: 1; }
143 | .mfp-close:active {
144 | top: 1px; }
145 |
146 | .mfp-close-btn-in .mfp-close {
147 | color: #333; }
148 |
149 | .mfp-image-holder .mfp-close,
150 | .mfp-iframe-holder .mfp-close {
151 | color: #FFF;
152 | right: -6px;
153 | text-align: right;
154 | padding-right: 6px;
155 | width: 100%; }
156 |
157 | .mfp-counter {
158 | position: absolute;
159 | top: 0;
160 | right: 0;
161 | color: #CCC;
162 | font-size: 12px;
163 | line-height: 18px;
164 | white-space: nowrap; }
165 |
166 | .mfp-arrow {
167 | position: absolute;
168 | opacity: 0.65;
169 | margin: 0;
170 | top: 50%;
171 | margin-top: -55px;
172 | padding: 0;
173 | width: 90px;
174 | height: 110px;
175 | -webkit-tap-highlight-color: transparent; }
176 | .mfp-arrow:active {
177 | margin-top: -54px; }
178 | .mfp-arrow:hover,
179 | .mfp-arrow:focus {
180 | opacity: 1; }
181 | .mfp-arrow:before,
182 | .mfp-arrow:after {
183 | content: '';
184 | display: block;
185 | width: 0;
186 | height: 0;
187 | position: absolute;
188 | left: 0;
189 | top: 0;
190 | margin-top: 35px;
191 | margin-left: 35px;
192 | border: medium inset transparent; }
193 | .mfp-arrow:after {
194 | border-top-width: 13px;
195 | border-bottom-width: 13px;
196 | top: 8px; }
197 | .mfp-arrow:before {
198 | border-top-width: 21px;
199 | border-bottom-width: 21px;
200 | opacity: 0.7; }
201 |
202 | .mfp-arrow-left {
203 | left: 0; }
204 | .mfp-arrow-left:after {
205 | border-right: 17px solid #FFF;
206 | margin-left: 31px; }
207 | .mfp-arrow-left:before {
208 | margin-left: 25px;
209 | border-right: 27px solid #3F3F3F; }
210 |
211 | .mfp-arrow-right {
212 | right: 0; }
213 | .mfp-arrow-right:after {
214 | border-left: 17px solid #FFF;
215 | margin-left: 39px; }
216 | .mfp-arrow-right:before {
217 | border-left: 27px solid #3F3F3F; }
218 |
219 | .mfp-iframe-holder {
220 | padding-top: 40px;
221 | padding-bottom: 40px; }
222 | .mfp-iframe-holder .mfp-content {
223 | line-height: 0;
224 | width: 100%;
225 | max-width: 900px; }
226 | .mfp-iframe-holder .mfp-close {
227 | top: -40px; }
228 |
229 | .mfp-iframe-scaler {
230 | width: 100%;
231 | height: 0;
232 | overflow: hidden;
233 | padding-top: 56.25%; }
234 | .mfp-iframe-scaler iframe {
235 | position: absolute;
236 | display: block;
237 | top: 0;
238 | left: 0;
239 | width: 100%;
240 | height: 100%;
241 | box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
242 | background: #000; }
243 |
244 | /* Main image in popup */
245 | img.mfp-img {
246 | width: auto;
247 | max-width: 100%;
248 | height: auto;
249 | display: block;
250 | line-height: 0;
251 | box-sizing: border-box;
252 | padding: 40px 0 40px;
253 | margin: 0 auto; }
254 |
255 | /* The shadow behind the image */
256 | .mfp-figure {
257 | line-height: 0; }
258 | .mfp-figure:after {
259 | content: '';
260 | position: absolute;
261 | left: 0;
262 | top: 40px;
263 | bottom: 40px;
264 | display: block;
265 | right: 0;
266 | width: auto;
267 | height: auto;
268 | z-index: -1;
269 | box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
270 | background: #444; }
271 | .mfp-figure small {
272 | color: #BDBDBD;
273 | display: block;
274 | font-size: 12px;
275 | line-height: 14px; }
276 | .mfp-figure figure {
277 | margin: 0; }
278 |
279 | .mfp-bottom-bar {
280 | margin-top: -36px;
281 | position: absolute;
282 | top: 100%;
283 | left: 0;
284 | width: 100%;
285 | cursor: auto; }
286 |
287 | .mfp-title {
288 | text-align: left;
289 | line-height: 18px;
290 | color: #F3F3F3;
291 | word-wrap: break-word;
292 | padding-right: 36px; }
293 |
294 | .mfp-image-holder .mfp-content {
295 | max-width: 100%; }
296 |
297 | .mfp-gallery .mfp-image-holder .mfp-figure {
298 | cursor: pointer; }
299 |
300 | @media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
301 | /**
302 | * Remove all paddings around the image on small screen
303 | */
304 | .mfp-img-mobile .mfp-image-holder {
305 | padding-left: 0;
306 | padding-right: 0; }
307 | .mfp-img-mobile img.mfp-img {
308 | padding: 0; }
309 | .mfp-img-mobile .mfp-figure:after {
310 | top: 0;
311 | bottom: 0; }
312 | .mfp-img-mobile .mfp-figure small {
313 | display: inline;
314 | margin-left: 5px; }
315 | .mfp-img-mobile .mfp-bottom-bar {
316 | background: rgba(0, 0, 0, 0.6);
317 | bottom: 0;
318 | margin: 0;
319 | top: auto;
320 | padding: 3px 5px;
321 | position: fixed;
322 | box-sizing: border-box; }
323 | .mfp-img-mobile .mfp-bottom-bar:empty {
324 | padding: 0; }
325 | .mfp-img-mobile .mfp-counter {
326 | right: 5px;
327 | top: 3px; }
328 | .mfp-img-mobile .mfp-close {
329 | top: 0;
330 | right: 0;
331 | width: 35px;
332 | height: 35px;
333 | line-height: 35px;
334 | background: rgba(0, 0, 0, 0.6);
335 | position: fixed;
336 | text-align: center;
337 | padding: 0; } }
338 |
339 | @media all and (max-width: 900px) {
340 | .mfp-arrow {
341 | -webkit-transform: scale(0.75);
342 | transform: scale(0.75); }
343 | .mfp-arrow-left {
344 | -webkit-transform-origin: 0;
345 | transform-origin: 0; }
346 | .mfp-arrow-right {
347 | -webkit-transform-origin: 100%;
348 | transform-origin: 100%; }
349 | .mfp-container {
350 | padding-left: 6px;
351 | padding-right: 6px; } }
352 |
--------------------------------------------------------------------------------
/source/css/share.min.css:
--------------------------------------------------------------------------------
1 | @font-face{font-family:"socialshare";src:url("../fonts/iconfont.eot");src:url("../fonts/iconfont.eot?#iefix") format("embedded-opentype"),url("../fonts/iconfont.woff") format("woff"),url("../fonts/iconfont.ttf") format("truetype"),url("../fonts/iconfont.svg#iconfont") format("svg")}.social-share{font-family:"socialshare" !important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:0.2px;-moz-osx-font-smoothing:grayscale}.social-share *{font-family:"socialshare" !important}.social-share .icon-tencent:before{content:"\f07a"}.social-share .icon-qq:before{content:"\f11a"}.social-share .icon-weibo:before{content:"\f12a"}.social-share .icon-wechat:before{content:"\f09a"}.social-share .icon-douban:before{content:"\f10a"}.social-share .icon-heart:before{content:"\f20a"}.social-share .icon-like:before{content:"\f00a"}.social-share .icon-qzone:before{content:"\f08a"}.social-share .icon-linkedin:before{content:"\f01a"}.social-share .icon-diandian:before{content:"\f05a"}.social-share .icon-facebook:before{content:"\f03a"}.social-share .icon-google:before{content:"\f04a"}.social-share .icon-twitter:before{content:"\f06a"}.social-share a{position:relative;text-decoration:none;margin:4px;display:inline-block;outline:none}.social-share .social-share-icon{position:relative;display:inline-block;width:32px;height:32px;font-size:20px;border-radius:50%;line-height:32px;border:1px solid #666;color:#666;text-align:center;vertical-align:middle;transition:background 0.6s ease-out 0s}.social-share .social-share-icon:hover{background:#666;color:#fff}.social-share .icon-weibo{color:#ff763b;border-color:#ff763b}.social-share .icon-weibo:hover{background:#ff763b}.social-share .icon-tencent{color:#56b6e7;border-color:#56b6e7}.social-share .icon-tencent:hover{background:#56b6e7}.social-share .icon-qq{color:#56b6e7;border-color:#56b6e7}.social-share .icon-qq:hover{background:#56b6e7}.social-share .icon-qzone{color:#FDBE3D;border-color:#FDBE3D}.social-share .icon-qzone:hover{background:#FDBE3D}.social-share .icon-douban{color:#33b045;border-color:#33b045}.social-share .icon-douban:hover{background:#33b045}.social-share .icon-linkedin{color:#0077B5;border-color:#0077B5}.social-share .icon-linkedin:hover{background:#0077B5}.social-share .icon-facebook{color:#44619D;border-color:#44619D}.social-share .icon-facebook:hover{background:#44619D}.social-share .icon-google{color:#db4437;border-color:#db4437}.social-share .icon-google:hover{background:#db4437}.social-share .icon-twitter{color:#55acee;border-color:#55acee}.social-share .icon-twitter:hover{background:#55acee}.social-share .icon-diandian{color:#307DCA;border-color:#307DCA}.social-share .icon-diandian:hover{background:#307DCA}.social-share .icon-wechat{position:relative;color:#7bc549;border-color:#7bc549}.social-share .icon-wechat:hover{background:#7bc549}.social-share .icon-wechat .wechat-qrcode{display:none;border:1px solid #eee;position:absolute;z-index:9;top:-205px;left:-84px;width:200px;height:192px;color:#666;font-size:12px;text-align:center;background-color:#fff;box-shadow:0 2px 10px #aaa;transition:all 200ms;-webkit-tansition:all 350ms;-moz-transition:all 350ms}.social-share .icon-wechat .wechat-qrcode.bottom{top:40px;left:-84px}.social-share .icon-wechat .wechat-qrcode.bottom:after{display:none}.social-share .icon-wechat .wechat-qrcode h4{font-weight:normal;height:26px;line-height:26px;font-size:12px;background-color:#f3f3f3;margin:0;padding:0;color:#777}.social-share .icon-wechat .wechat-qrcode .qrcode{width:105px;margin:10px auto}.social-share .icon-wechat .wechat-qrcode .qrcode table{margin:0 !important}.social-share .icon-wechat .wechat-qrcode .help p{font-weight:normal;line-height:16px;padding:0;margin:0}.social-share .icon-wechat .wechat-qrcode:after{content:'';position:absolute;left:50%;margin-left:-6px;bottom:-13px;width:0;height:0;border-width:8px 6px 6px 6px;border-style:solid;border-color:#fff transparent transparent transparent}.social-share .icon-wechat:hover .wechat-qrcode{display:block}
2 |
--------------------------------------------------------------------------------
/source/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/source/fonts/Linearicons-Free-.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/Linearicons-Free-.eot
--------------------------------------------------------------------------------
/source/fonts/Linearicons-Free-w118d.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/Linearicons-Free-w118d.eot
--------------------------------------------------------------------------------
/source/fonts/Linearicons-Free-w118d.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/Linearicons-Free-w118d.ttf
--------------------------------------------------------------------------------
/source/fonts/Linearicons-Free-w118d.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/Linearicons-Free-w118d.woff
--------------------------------------------------------------------------------
/source/fonts/Linearicons-Free-w118d.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/Linearicons-Free-w118d.woff2
--------------------------------------------------------------------------------
/source/fonts/fontawesome-webfont-.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/fontawesome-webfont-.eot
--------------------------------------------------------------------------------
/source/fonts/fontawesome-webfont-v=4.7.0.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/fontawesome-webfont-v=4.7.0.eot
--------------------------------------------------------------------------------
/source/fonts/fontawesome-webfont-v=4.7.0.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/fontawesome-webfont-v=4.7.0.ttf
--------------------------------------------------------------------------------
/source/fonts/fontawesome-webfont-v=4.7.0.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/fontawesome-webfont-v=4.7.0.woff
--------------------------------------------------------------------------------
/source/fonts/fontawesome-webfont-v=4.7.0.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/fontawesome-webfont-v=4.7.0.woff2
--------------------------------------------------------------------------------
/source/fonts/glyphicons-halflings-regular.eot-.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 404 Not Found
4 |
5 | Not Found
6 | The requested URL /demos/mp/fonts/glyphicons-halflings-regular.eot was not found on this server.
7 | Additionally, a 404 Not Found
8 | error was encountered while trying to use an ErrorDocument to handle the request.
9 |
10 |
--------------------------------------------------------------------------------
/source/fonts/glyphicons-halflings-regular.eot.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 404 Not Found
4 |
5 | Not Found
6 | The requested URL /demos/mp/fonts/glyphicons-halflings-regular.eot was not found on this server.
7 | Additionally, a 404 Not Found
8 | error was encountered while trying to use an ErrorDocument to handle the request.
9 |
10 |
--------------------------------------------------------------------------------
/source/fonts/glyphicons-halflings-regular.svg.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 404 Not Found
4 |
5 | Not Found
6 | The requested URL /demos/mp/fonts/glyphicons-halflings-regular.svg was not found on this server.
7 | Additionally, a 404 Not Found
8 | error was encountered while trying to use an ErrorDocument to handle the request.
9 |
10 |
--------------------------------------------------------------------------------
/source/fonts/glyphicons-halflings-regular.ttf.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 404 Not Found
4 |
5 | Not Found
6 | The requested URL /demos/mp/fonts/glyphicons-halflings-regular.ttf was not found on this server.
7 | Additionally, a 404 Not Found
8 | error was encountered while trying to use an ErrorDocument to handle the request.
9 |
10 |
--------------------------------------------------------------------------------
/source/fonts/glyphicons-halflings-regular.woff.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 404 Not Found
4 |
5 | Not Found
6 | The requested URL /demos/mp/fonts/glyphicons-halflings-regular.woff was not found on this server.
7 | Additionally, a 404 Not Found
8 | error was encountered while trying to use an ErrorDocument to handle the request.
9 |
10 |
--------------------------------------------------------------------------------
/source/fonts/glyphicons-halflings-regular.woff2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | 404 Not Found
4 |
5 | Not Found
6 | The requested URL /demos/mp/fonts/glyphicons-halflings-regular.woff2 was not found on this server.
7 | Additionally, a 404 Not Found
8 | error was encountered while trying to use an ErrorDocument to handle the request.
9 |
10 |
--------------------------------------------------------------------------------
/source/fonts/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/iconfont.eot
--------------------------------------------------------------------------------
/source/fonts/iconfont.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
89 |
--------------------------------------------------------------------------------
/source/fonts/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/iconfont.ttf
--------------------------------------------------------------------------------
/source/fonts/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/fonts/iconfont.woff
--------------------------------------------------------------------------------
/source/images/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/.DS_Store
--------------------------------------------------------------------------------
/source/images/about-img.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/about-img.jpg
--------------------------------------------------------------------------------
/source/images/about-me-img.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/about-me-img.jpg
--------------------------------------------------------------------------------
/source/images/author.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/author.jpg
--------------------------------------------------------------------------------
/source/images/banner-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/banner-bg.jpg
--------------------------------------------------------------------------------
/source/images/banner-bg2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/banner-bg2.jpg
--------------------------------------------------------------------------------
/source/images/banner-bg3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/banner-bg3.jpg
--------------------------------------------------------------------------------
/source/images/blog-post1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/blog-post1.jpg
--------------------------------------------------------------------------------
/source/images/blog-post2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/blog-post2.jpg
--------------------------------------------------------------------------------
/source/images/blog-post3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/blog-post3.jpg
--------------------------------------------------------------------------------
/source/images/blog-post4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/blog-post4.jpg
--------------------------------------------------------------------------------
/source/images/blog-post6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/blog-post6.jpg
--------------------------------------------------------------------------------
/source/images/contact-img.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/contact-img.jpg
--------------------------------------------------------------------------------
/source/images/content-img-small1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/content-img-small1.jpg
--------------------------------------------------------------------------------
/source/images/content-img-small2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/content-img-small2.jpg
--------------------------------------------------------------------------------
/source/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/favicon.png
--------------------------------------------------------------------------------
/source/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/logo.png
--------------------------------------------------------------------------------
/source/images/logo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/logo2.png
--------------------------------------------------------------------------------
/source/images/logo3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/logo3.png
--------------------------------------------------------------------------------
/source/images/logo4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/logo4.png
--------------------------------------------------------------------------------
/source/images/m-project1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/m-project1.jpg
--------------------------------------------------------------------------------
/source/images/m-project11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/m-project11.jpg
--------------------------------------------------------------------------------
/source/images/m-project3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/m-project3.jpg
--------------------------------------------------------------------------------
/source/images/m-project5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/m-project5.jpg
--------------------------------------------------------------------------------
/source/images/m-project7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/m-project7.jpg
--------------------------------------------------------------------------------
/source/images/m-project9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/m-project9.jpg
--------------------------------------------------------------------------------
/source/images/post-img1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/post-img1.jpg
--------------------------------------------------------------------------------
/source/images/post-img2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/post-img2.jpg
--------------------------------------------------------------------------------
/source/images/post-img3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/post-img3.jpg
--------------------------------------------------------------------------------
/source/images/post-img5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/post-img5.jpg
--------------------------------------------------------------------------------
/source/images/post-small1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/post-small1.jpg
--------------------------------------------------------------------------------
/source/images/post-small2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/post-small2.jpg
--------------------------------------------------------------------------------
/source/images/post_preview_default.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/post_preview_default.jpg
--------------------------------------------------------------------------------
/source/images/project-img1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project-img1.jpg
--------------------------------------------------------------------------------
/source/images/project-img2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project-img2.jpg
--------------------------------------------------------------------------------
/source/images/project-img3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project-img3.jpg
--------------------------------------------------------------------------------
/source/images/project1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project1.jpg
--------------------------------------------------------------------------------
/source/images/project10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project10.jpg
--------------------------------------------------------------------------------
/source/images/project11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project11.jpg
--------------------------------------------------------------------------------
/source/images/project12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project12.jpg
--------------------------------------------------------------------------------
/source/images/project2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project2.jpg
--------------------------------------------------------------------------------
/source/images/project3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project3.jpg
--------------------------------------------------------------------------------
/source/images/project4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project4.jpg
--------------------------------------------------------------------------------
/source/images/project5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project5.jpg
--------------------------------------------------------------------------------
/source/images/project6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project6.jpg
--------------------------------------------------------------------------------
/source/images/project7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project7.jpg
--------------------------------------------------------------------------------
/source/images/project8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project8.jpg
--------------------------------------------------------------------------------
/source/images/project9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project9.jpg
--------------------------------------------------------------------------------
/source/images/project_preview_default.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project_preview_default.jpg
--------------------------------------------------------------------------------
/source/images/project_preview_more.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/project_preview_more.jpg
--------------------------------------------------------------------------------
/source/images/team1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/team1.jpg
--------------------------------------------------------------------------------
/source/images/team2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/team2.jpg
--------------------------------------------------------------------------------
/source/images/team3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/team3.jpg
--------------------------------------------------------------------------------
/source/images/user-img1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/user-img1.jpg
--------------------------------------------------------------------------------
/source/images/user-img2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/user-img2.jpg
--------------------------------------------------------------------------------
/source/images/user-img3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/user-img3.jpg
--------------------------------------------------------------------------------
/source/images/user-img4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/images/user-img4.jpg
--------------------------------------------------------------------------------
/source/js/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/js/.DS_Store
--------------------------------------------------------------------------------
/source/js/custom.js:
--------------------------------------------------------------------------------
1 | var shuffleme = (function( $ ) {
2 | 'use strict';
3 | var $grid = $('#grid'), //locate what we want to sort
4 | $filterOptions = $('.portfolio-filter li'), //locate the filter categories
5 | $sizer = $grid.find('.shuffle_sizer'), //sizer stores the size of the items
6 |
7 | init = function() {
8 |
9 | // None of these need to be executed synchronously
10 | setTimeout(function() {
11 | listen();
12 | setupFilters();
13 | }, 100);
14 |
15 | // instantiate the plugin
16 | $grid.shuffle({
17 | itemSelector: '[class*="col-"]',
18 | sizer: $sizer
19 | });
20 | },
21 |
22 |
23 |
24 | // Set up button clicks
25 | setupFilters = function() {
26 | var $btns = $filterOptions.children();
27 | $btns.on('click', function(e) {
28 | e.preventDefault();
29 | var $this = $(this),
30 | isActive = $this.hasClass( 'active' ),
31 | group = isActive ? 'all' : $this.data('group');
32 |
33 | // Hide current label, show current label in title
34 | if ( !isActive ) {
35 | $('.portfolio-filter li a').removeClass('active');
36 | }
37 |
38 | $this.toggleClass('active');
39 |
40 | // Filter elements
41 | $grid.shuffle( 'shuffle', group );
42 | });
43 |
44 | $btns = null;
45 | },
46 |
47 | // Re layout shuffle when images load. This is only needed
48 | // below 768 pixels because the .picture-item height is auto and therefore
49 | // the height of the picture-item is dependent on the image
50 | // I recommend using imagesloaded to determine when an image is loaded
51 | // but that doesn't support IE7
52 | listen = function() {
53 | var debouncedLayout = $.throttle( 300, function() {
54 | $grid.shuffle('update');
55 | });
56 |
57 | // Get all images inside shuffle
58 | $grid.find('img').each(function() {
59 | var proxyImage;
60 |
61 | // Image already loaded
62 | if ( this.complete && this.naturalWidth !== undefined ) {
63 | return;
64 | }
65 |
66 | // If none of the checks above matched, simulate loading on detached element.
67 | proxyImage = new Image();
68 | $( proxyImage ).on('load', function() {
69 | $(this).off('load');
70 | debouncedLayout();
71 | });
72 |
73 | proxyImage.src = this.src;
74 | });
75 |
76 | // Because this method doesn't seem to be perfect.
77 | setTimeout(function() {
78 | debouncedLayout();
79 | }, 500);
80 | };
81 |
82 | return {
83 | init: init
84 | };
85 | }( jQuery ));
86 |
87 | $(document).ready(function()
88 | {
89 | shuffleme.init(); //filter portfolio
90 | });
--------------------------------------------------------------------------------
/source/js/form-scripts.js:
--------------------------------------------------------------------------------
1 | $("#contactForm").validator().on("submit", function (event) {
2 | if (event.isDefaultPrevented()) {
3 | // handle the invalid form...
4 | formError();
5 | submitMSG(false, "Please fill all required fields!");
6 | } else {
7 | // everything looks good!
8 | event.preventDefault();
9 | submitForm();
10 | }
11 | });
12 |
13 |
14 | function submitForm(){
15 | // Initiate Variables With Form Content
16 | var name = $("#name").val();
17 | var email = $("#email").val();
18 | var msg_subject = $("#msg_subject").val();
19 | var message = $("#message").val();
20 |
21 |
22 | $.ajax({
23 | type: "POST",
24 | url: "php/form-process.php",
25 | data: "name=" + name + "&email=" + email + "&msg_subject=" + msg_subject + "&message=" + message,
26 | success : function(text){
27 | if (text == "success"){
28 | formSuccess();
29 | } else {
30 | formError();
31 | submitMSG(false,text);
32 | }
33 | }
34 | });
35 | }
36 |
37 | function formSuccess(){
38 | $("#contactForm");
39 | submitMSG(true, "Message Sent!")
40 | }
41 |
42 | function formError(){
43 | $("#contactForm").removeClass().addClass('animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){
44 | $(this).removeClass();
45 | });
46 | }
47 |
48 | function submitMSG(valid, msg){
49 | if(valid){
50 | var msgClasses = "h3 text-center fadeIn animated text-success";
51 | } else {
52 | var msgClasses = "h3 text-center text-danger";
53 | }
54 | $("#msgSubmit").removeClass().addClass(msgClasses).text(msg);
55 | }
--------------------------------------------------------------------------------
/source/js/jquery.countTo.js:
--------------------------------------------------------------------------------
1 | (function (factory) {
2 | if (typeof define === 'function' && define.amd) {
3 | // AMD
4 | define(['jquery'], factory);
5 | } else if (typeof exports === 'object') {
6 | // CommonJS
7 | factory(require('jquery'));
8 | } else {
9 | // Browser globals
10 | factory(jQuery);
11 | }
12 | }(function ($) {
13 | var CountTo = function (element, options) {
14 | this.$element = $(element);
15 | this.options = $.extend({}, CountTo.DEFAULTS, this.dataOptions(), options);
16 | this.init();
17 | };
18 |
19 | CountTo.DEFAULTS = {
20 | from: 0, // the number the element should start at
21 | to: 0, // the number the element should end at
22 | speed: 1000, // how long it should take to count between the target numbers
23 | refreshInterval: 100, // how often the element should be updated
24 | decimals: 0, // the number of decimal places to show
25 | formatter: formatter, // handler for formatting the value before rendering
26 | onUpdate: null, // callback method for every time the element is updated
27 | onComplete: null // callback method for when the element finishes updating
28 | };
29 |
30 | CountTo.prototype.init = function () {
31 | this.value = this.options.from;
32 | this.loops = Math.ceil(this.options.speed / this.options.refreshInterval);
33 | this.loopCount = 0;
34 | this.increment = (this.options.to - this.options.from) / this.loops;
35 | };
36 |
37 | CountTo.prototype.dataOptions = function () {
38 | var options = {
39 | from: this.$element.data('from'),
40 | to: this.$element.data('to'),
41 | speed: this.$element.data('speed'),
42 | refreshInterval: this.$element.data('refresh-interval'),
43 | decimals: this.$element.data('decimals')
44 | };
45 |
46 | var keys = Object.keys(options);
47 |
48 | for (var i in keys) {
49 | var key = keys[i];
50 |
51 | if (typeof(options[key]) === 'undefined') {
52 | delete options[key];
53 | }
54 | }
55 |
56 | return options;
57 | };
58 |
59 | CountTo.prototype.update = function () {
60 | this.value += this.increment;
61 | this.loopCount++;
62 |
63 | this.render();
64 |
65 | if (typeof(this.options.onUpdate) == 'function') {
66 | this.options.onUpdate.call(this.$element, this.value);
67 | }
68 |
69 | if (this.loopCount >= this.loops) {
70 | clearInterval(this.interval);
71 | this.value = this.options.to;
72 |
73 | if (typeof(this.options.onComplete) == 'function') {
74 | this.options.onComplete.call(this.$element, this.value);
75 | }
76 | }
77 | };
78 |
79 | CountTo.prototype.render = function () {
80 | var formattedValue = this.options.formatter.call(this.$element, this.value, this.options);
81 | this.$element.text(formattedValue);
82 | };
83 |
84 | CountTo.prototype.restart = function () {
85 | this.stop();
86 | this.init();
87 | this.start();
88 | };
89 |
90 | CountTo.prototype.start = function () {
91 | this.stop();
92 | this.render();
93 | this.interval = setInterval(this.update.bind(this), this.options.refreshInterval);
94 | };
95 |
96 | CountTo.prototype.stop = function () {
97 | if (this.interval) {
98 | clearInterval(this.interval);
99 | }
100 | };
101 |
102 | CountTo.prototype.toggle = function () {
103 | if (this.interval) {
104 | this.stop();
105 | } else {
106 | this.start();
107 | }
108 | };
109 |
110 | function formatter(value, options) {
111 | return value.toFixed(options.decimals);
112 | }
113 |
114 | $.fn.countTo = function (option) {
115 | return this.each(function () {
116 | var $this = $(this);
117 | var data = $this.data('countTo');
118 | var init = !data || typeof(option) === 'object';
119 | var options = typeof(option) === 'object' ? option : {};
120 | var method = typeof(option) === 'string' ? option : 'start';
121 |
122 | if (init) {
123 | if (data) data.stop();
124 | $this.data('countTo', data = new CountTo(this, options));
125 | }
126 |
127 | data[method].call(data);
128 | });
129 | };
130 | }));
131 |
--------------------------------------------------------------------------------
/source/js/jquery.easing.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
3 | *
4 | * Uses the built in easing capabilities added In jQuery 1.1
5 | * to offer multiple easing options
6 | *
7 | * TERMS OF USE - EASING EQUATIONS
8 | *
9 | * Open source under the BSD License.
10 | *
11 | * Copyright © 2001 Robert Penner
12 | * All rights reserved.
13 | *
14 | * TERMS OF USE - jQuery Easing
15 | *
16 | * Open source under the BSD License.
17 | *
18 | * Copyright © 2008 George McGinley Smith
19 | * All rights reserved.
20 | *
21 | * Redistribution and use in source and binary forms, with or without modification,
22 | * are permitted provided that the following conditions are met:
23 | *
24 | * Redistributions of source code must retain the above copyright notice, this list of
25 | * conditions and the following disclaimer.
26 | * Redistributions in binary form must reproduce the above copyright notice, this list
27 | * of conditions and the following disclaimer in the documentation and/or other materials
28 | * provided with the distribution.
29 | *
30 | * Neither the name of the author nor the names of contributors may be used to endorse
31 | * or promote products derived from this software without specific prior written permission.
32 | *
33 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
34 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
35 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
36 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
37 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
38 | * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
39 | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
40 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
41 | * OF THE POSSIBILITY OF SUCH DAMAGE.
42 | *
43 | */
44 | jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){return -h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f+a}return -h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){return -h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+a}return -h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){return -h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){return -h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){return -h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){if((f/=g/2)<1){return -h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g'+item+''+after;
19 | });
20 | t.empty().append(inject);
21 | }
22 | }
23 |
24 | var methods = {
25 | init : function() {
26 |
27 | return this.each(function() {
28 | injector($(this), '', 'char', '');
29 | });
30 |
31 | },
32 |
33 | words : function() {
34 |
35 | return this.each(function() {
36 | injector($(this), ' ', 'word', ' ');
37 | });
38 |
39 | },
40 |
41 | lines : function() {
42 |
43 | return this.each(function() {
44 | var r = "eefec303079ad17405c889e092e105b0";
45 | // Because it's hard to split a
tag consistently across browsers,
46 | // (*ahem* IE *ahem*), we replaces all
instances with an md5 hash
47 | // (of the word "split"). If you're trying to use this plugin on that
48 | // md5 hash string, it will fail because you're being ridiculous.
49 | injector($(this).children("br").replaceWith(r).end(), r, 'line', '');
50 | });
51 |
52 | }
53 | };
54 |
55 | $.fn.lettering = function( method ) {
56 | // Method calling logic
57 | if ( method && methods[method] ) {
58 | return methods[ method ].apply( this, [].slice.call( arguments, 1 ));
59 | } else if ( method === 'letters' || ! method ) {
60 | return methods.init.apply( this, [].slice.call( arguments, 0 ) ); // always pass an array
61 | }
62 | $.error( 'Method ' + method + ' does not exist on jQuery.lettering' );
63 | return this;
64 | };
65 |
66 | })(jQuery);
--------------------------------------------------------------------------------
/source/js/jquery.magnific-popup.min.js:
--------------------------------------------------------------------------------
1 | /*! Magnific Popup - v1.1.0 - 2016-02-20
2 | * http://dimsemenov.com/plugins/magnific-popup/
3 | * Copyright (c) 2016 Dmitry Semenov; */
4 | !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h="Close",i="BeforeClose",j="AfterClose",k="BeforeAppend",l="MarkupParse",m="Open",n="Change",o="mfp",p="."+o,q="mfp-ready",r="mfp-removing",s="mfp-prevent-close",t=function(){},u=!!window.jQuery,v=a(window),w=function(a,c){b.ev.on(o+a+p,c)},x=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},y=function(c,d){b.ev.triggerHandler(o+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},z=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},A=function(){a.magnificPopup.instance||(b=new t,b.init(),a.magnificPopup.instance=b)},B=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};t.prototype={constructor:t,init:function(){var c=navigator.appVersion;b.isLowIE=b.isIE8=document.all&&!document.addEventListener,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=B(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(c.isObj===!1){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e(a||v.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).focus()},_onFocusIn:function(c){return c.target===b.wrap[0]||a.contains(b.wrap[0],c.target)?void 0:(b._setFocus(),!1)},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),y(l,[b,c,d]),a.each(c,function(c,d){if(void 0===d||d===!1)return!0;if(e=c.split("_"),e.length>1){var f=b.find(p+"-"+e[0]);if(f.length>0){var g=e[1];"replaceWith"===g?f[0]!==d[0]&&f.replaceWith(d):"img"===g?f.is("img")?f.attr("src",d):f.replaceWith(a("
").attr("src",d).attr("class",f.attr("class"))):f.attr(e[1],d)}}else b.find(p+"-"+c).html(d)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement("div");a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:t.prototype,modules:[],open:function(b,c){return A(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}},a.fn.magnificPopup=function(c){A();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=u?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),u?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var C,D,E,F="inline",G=function(){E&&(D.after(E.addClass(C)).detach(),E=null)};a.magnificPopup.registerModule(F,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push(F),w(h+"."+F,function(){G()})},getInline:function(c,d){if(G(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(D||(C=e.hiddenClass,D=x(C),C="mfp-"+C),E=f.after(D).detach().removeClass(C)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var H,I="ajax",J=function(){H&&a(document.body).removeClass(H)},K=function(){J(),b.req&&b.req.abort()};a.magnificPopup.registerModule(I,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'
The content could not be loaded.'},proto:{initAjax:function(){b.types.push(I),H=b.st.ajax.cursor,w(h+"."+I,K),w("BeforeChange."+I,K)},getAjax:function(c){H&&a(document.body).addClass(H),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};y("ParseAjax",g),b.appendContent(a(g.data),I),c.finished=!0,J(),b._setFocus(),setTimeout(function(){b.wrap.addClass(q)},16),b.updateStatus("ready"),y("AjaxContentAdded")},error:function(){J(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var L,M=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'
',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'
The image could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),w(m+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),w(h+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),v.off("resize"+p)}),w("Resize"+d,b.resizeImage),b.isLowIE&&w("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){L&&clearInterval(L),L=setInterval(function(){return d.naturalWidth>0?void b._onImageHasSize(a):(c>200&&clearInterval(L),c++,void(3===c?e(10):40===c?e(50):100===c&&e(500)))},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,y("ImageLoadComplete")):(e++,200>e?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:M(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(L&&clearInterval(L),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var N,O=function(){return void 0===N&&(N=void 0!==document.createElement("p").style.MozTransform),N};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,j=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},k=function(){b.content.css("visibility","visible")};w("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),a=b._getItemToZoom(),!a)return void k();f=j(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){k(),setTimeout(function(){f.remove(),a=f=null,y("ZoomAnimationEnded")},16)},g)},16)}}),w(i+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(a=b._getItemToZoom(),!a)return;f=j(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),w(h+d,function(){b._allowZoom()&&(k(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return b.currItem.hasSize?b.currItem.img:!1},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(u?d.innerHeight():d[0].offsetHeight)-g-f};return O()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var P="iframe",Q="//about:blank",R=function(a){if(b.currTemplate[P]){var c=b.currTemplate[P].find("iframe");c.length&&(a||(c[0].src=Q),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule(P,{options:{markup:'
',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'
',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery";return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s);e.click(function(){b.prev()}),f.click(function(){b.next()}),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('
![]()
').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),A()});
--------------------------------------------------------------------------------
/source/js/jquery.qrcode.min.js:
--------------------------------------------------------------------------------
1 | /* jQuery.qrcode 0.12.0 - http://larsjung.de/jquery-qrcode/ - uses //github.com/kazuhikoarase/qrcode-generator (MIT) */
2 | !function(r){"use strict";function t(t,e,n,o){function i(r,t){return r-=o,t-=o,0>r||r>=u||0>t||t>=u?!1:a.isDark(r,t)}var a=r(n,e);a.addData(t),a.make(),o=o||0;var u=a.getModuleCount(),f=a.getModuleCount()+2*o,c=function(r,t,e,n){var o=this.isDark,i=1/f;this.isDark=function(a,u){var f=u*i,c=a*i,l=f+i,g=c+i;return o(a,u)&&(r>l||f>e||t>g||c>n)}};this.text=t,this.level=e,this.version=n,this.moduleCount=f,this.isDark=i,this.addBlank=c}function e(r,e,n,o,i){n=Math.max(1,n||1),o=Math.min(40,o||40);for(var a=n;o>=a;a+=1)try{return new t(r,e,a,i)}catch(u){}}function n(r,t,e){var n=e.size,o="bold "+e.mSize*n+"px "+e.fontname,i=w("
")[0].getContext("2d");i.font=o;var a=i.measureText(e.label).width,u=e.mSize,f=a/n,c=(1-f)*e.mPosX,l=(1-u)*e.mPosY,g=c+f,s=l+u,h=.01;1===e.mode?r.addBlank(0,l-h,n,s+h):r.addBlank(c-h,l-h,g+h,s+h),t.fillStyle=e.fontcolor,t.font=o,t.fillText(e.label,c*n,l*n+.75*e.mSize*n)}function o(r,t,e){var n=e.size,o=e.image.naturalWidth||1,i=e.image.naturalHeight||1,a=e.mSize,u=a*o/i,f=(1-u)*e.mPosX,c=(1-a)*e.mPosY,l=f+u,g=c+a,s=.01;3===e.mode?r.addBlank(0,c-s,n,g+s):r.addBlank(f-s,c-s,l+s,g+s),t.drawImage(e.image,f*n,c*n,u*n,a*n)}function i(r,t,e){w(e.background).is("img")?t.drawImage(e.background,0,0,e.size,e.size):e.background&&(t.fillStyle=e.background,t.fillRect(e.left,e.top,e.size,e.size));var i=e.mode;1===i||2===i?n(r,t,e):(3===i||4===i)&&o(r,t,e)}function a(r,t,e,n,o,i,a,u){r.isDark(a,u)&&t.rect(n,o,i,i)}function u(r,t,e,n,o,i,a,u,f,c){a?r.moveTo(t+i,e):r.moveTo(t,e),u?(r.lineTo(n-i,e),r.arcTo(n,e,n,o,i)):r.lineTo(n,e),f?(r.lineTo(n,o-i),r.arcTo(n,o,t,o,i)):r.lineTo(n,o),c?(r.lineTo(t+i,o),r.arcTo(t,o,t,e,i)):r.lineTo(t,o),a?(r.lineTo(t,e+i),r.arcTo(t,e,n,e,i)):r.lineTo(t,e)}function f(r,t,e,n,o,i,a,u,f,c){a&&(r.moveTo(t+i,e),r.lineTo(t,e),r.lineTo(t,e+i),r.arcTo(t,e,t+i,e,i)),u&&(r.moveTo(n-i,e),r.lineTo(n,e),r.lineTo(n,e+i),r.arcTo(n,e,n-i,e,i)),f&&(r.moveTo(n-i,o),r.lineTo(n,o),r.lineTo(n,o-i),r.arcTo(n,o,n-i,o,i)),c&&(r.moveTo(t+i,o),r.lineTo(t,o),r.lineTo(t,o-i),r.arcTo(t,o,t+i,o,i))}function c(r,t,e,n,o,i,a,c){var l=r.isDark,g=n+i,s=o+i,h=e.radius*i,v=a-1,d=a+1,w=c-1,m=c+1,p=l(a,c),y=l(v,w),T=l(v,c),B=l(v,m),A=l(a,m),E=l(d,m),k=l(d,c),M=l(d,w),C=l(a,w);p?u(t,n,o,g,s,h,!T&&!C,!T&&!A,!k&&!A,!k&&!C):f(t,n,o,g,s,h,T&&C&&y,T&&A&&B,k&&A&&E,k&&C&&M)}function l(r,t,e){var n,o,i=r.moduleCount,u=e.size/i,f=a;for(p&&e.radius>0&&e.radius<=.5&&(f=c),t.beginPath(),n=0;i>n;n+=1)for(o=0;i>o;o+=1){var l=e.left+o*u,g=e.top+n*u,s=u;f(r,t,e,l,g,s,n,o)}if(w(e.fill).is("img")){t.strokeStyle="rgba(0,0,0,0.5)",t.lineWidth=2,t.stroke();var h=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",t.fill(),t.globalCompositeOperation=h,t.clip(),t.drawImage(e.fill,0,0,e.size,e.size),t.restore()}else t.fillStyle=e.fill,t.fill()}function g(r,t){var n=e(t.text,t.ecLevel,t.minVersion,t.maxVersion,t.quiet);if(!n)return null;var o=w(r).data("qrcode",n),a=o[0].getContext("2d");return i(n,a,t),l(n,a,t),o}function s(r){var t=w("
").attr("width",r.size).attr("height",r.size);return g(t,r)}function h(r){return w("
![]()
").attr("src",s(r)[0].toDataURL("image/png"))}function v(r){var t=e(r.text,r.ecLevel,r.minVersion,r.maxVersion,r.quiet);if(!t)return null;var n,o,i=r.size,a=r.background,u=Math.floor,f=t.moduleCount,c=u(i/f),l=u(.5*(i-c*f)),g={position:"relative",left:0,top:0,padding:0,margin:0,width:i,height:i},s={position:"absolute",padding:0,margin:0,width:c,height:c,"background-color":r.fill},h=w("
").data("qrcode",t).css(g);for(a&&h.css("background-color",a),n=0;f>n;n+=1)for(o=0;f>o;o+=1)t.isDark(n,o)&&w("
").css(s).css({left:l+o*c,top:l+n*c}).appendTo(h);return h}function d(r){return m&&"canvas"===r.render?s(r):m&&"image"===r.render?h(r):v(r)}var w=jQuery,m=function(){var r=document.createElement("canvas");return Boolean(r.getContext&&r.getContext("2d"))}(),p="[object Opera]"!==Object.prototype.toString.call(window.opera),y={render:"canvas",minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:0,quiet:0,mode:0,mSize:.1,mPosX:.5,mPosY:.5,label:"no label",fontname:"sans",fontcolor:"#000",image:null};w.fn.qrcode=function(r){var t=w.extend({},y,r);return this.each(function(){"canvas"===this.nodeName.toLowerCase()?g(this,t):w(this).append(d(t))})}}(function(){var r=function(){function r(t,e){if("undefined"==typeof t.length)throw new Error(t.length+"/"+e);var n=function(){for(var r=0;r
e;e+=1){t[e]=new Array(r);for(var n=0;r>n;n+=1)t[e][n]=null}return t}(h),y(0,0),y(h-7,0),y(0,h-7),A(),B(),k(r,t),l>=7&&E(r),null==d&&(d=D(l,g,w)),M(d,t)},y=function(r,t){for(var e=-1;7>=e;e+=1)if(!(-1>=r+e||r+e>=h))for(var n=-1;7>=n;n+=1)-1>=t+n||t+n>=h||(e>=0&&6>=e&&(0==n||6==n)||n>=0&&6>=n&&(0==e||6==e)||e>=2&&4>=e&&n>=2&&4>=n?s[r+e][t+n]=!0:s[r+e][t+n]=!1)},T=function(){for(var r=0,t=0,e=0;8>e;e+=1){p(!0,e);var n=i.getLostPoint(m);(0==e||r>n)&&(r=n,t=e)}return t},B=function(){for(var r=8;h-8>r;r+=1)null==s[r][6]&&(s[r][6]=r%2==0);for(var t=8;h-8>t;t+=1)null==s[6][t]&&(s[6][t]=t%2==0)},A=function(){for(var r=i.getPatternPosition(l),t=0;t=a;a+=1)for(var u=-2;2>=u;u+=1)-2==a||2==a||-2==u||2==u||0==a&&0==u?s[n+a][o+u]=!0:s[n+a][o+u]=!1}},E=function(r){for(var t=i.getBCHTypeNumber(l),e=0;18>e;e+=1){var n=!r&&1==(t>>e&1);s[Math.floor(e/3)][e%3+h-8-3]=n}for(var e=0;18>e;e+=1){var n=!r&&1==(t>>e&1);s[e%3+h-8-3][Math.floor(e/3)]=n}},k=function(r,t){for(var e=g<<3|t,n=i.getBCHTypeInfo(e),o=0;15>o;o+=1){var a=!r&&1==(n>>o&1);6>o?s[o][8]=a:8>o?s[o+1][8]=a:s[h-15+o][8]=a}for(var o=0;15>o;o+=1){var a=!r&&1==(n>>o&1);8>o?s[8][h-o-1]=a:9>o?s[8][15-o-1+1]=a:s[8][15-o-1]=a}s[h-8][8]=!r},M=function(r,t){for(var e=-1,n=h-1,o=7,a=0,u=i.getMaskFunction(t),f=h-1;f>0;f-=2)for(6==f&&(f-=1);;){for(var c=0;2>c;c+=1)if(null==s[n][f-c]){var l=!1;a>>o&1));var g=u(n,f-c);g&&(l=!l),s[n][f-c]=l,o-=1,-1==o&&(a+=1,o=7)}if(n+=e,0>n||n>=h){n-=e,e=-e;break}}},C=function(t,e){for(var n=0,o=0,a=0,u=new Array(e.length),f=new Array(e.length),c=0;c=0?d.getAt(w):0}}for(var m=0,s=0;ss;s+=1)for(var c=0;cs;s+=1)for(var c=0;c8*s)throw new Error("code length overflow. ("+c.getLengthInBits()+">"+8*s+")");for(c.getLengthInBits()+4<=8*s&&c.put(0,4);c.getLengthInBits()%8!=0;)c.putBit(!1);for(;;){if(c.getLengthInBits()>=8*s)break;if(c.put(o,8),c.getLengthInBits()>=8*s)break;c.put(a,8)}return C(c,n)};return m.addData=function(r){var t=c(r);w.push(t),d=null},m.isDark=function(r,t){if(0>r||r>=h||0>t||t>=h)throw new Error(r+","+t);return s[r][t]},m.getModuleCount=function(){return h},m.make=function(){p(!1,T())},m.createTableTag=function(r,t){r=r||2,t="undefined"==typeof t?4*r:t;var e="";e+='',e+="";for(var n=0;n";for(var o=0;o';e+=""}return e+="",e+="
"},m.createImgTag=function(r,t){r=r||2,t="undefined"==typeof t?4*r:t;var e=m.getModuleCount()*r+2*t,n=t,o=e-t;return v(e,e,function(t,e){if(t>=n&&o>t&&e>=n&&o>e){var i=Math.floor((t-n)/r),a=Math.floor((e-n)/r);return m.isDark(a,i)?0:1}return 1})},m};t.stringToBytes=function(r){for(var t=new Array,e=0;ei)t.push(i);else{var a=e[r.charAt(o)];"number"==typeof a?(255&a)==a?t.push(a):(t.push(a>>>8),t.push(255&a)):t.push(n)}}return t}};var e={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},n={L:1,M:0,Q:3,H:2},o={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},i=function(){var t=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],n=1335,i=7973,u=21522,f={},c=function(r){for(var t=0;0!=r;)t+=1,r>>>=1;return t};return f.getBCHTypeInfo=function(r){for(var t=r<<10;c(t)-c(n)>=0;)t^=n<=0;)t^=i<n;n+=1)e=e.multiply(r([1,a.gexp(n)],0));return e},f.getLengthInBits=function(r,t){if(t>=1&&10>t)switch(r){case e.MODE_NUMBER:return 10;case e.MODE_ALPHA_NUM:return 9;case e.MODE_8BIT_BYTE:return 8;case e.MODE_KANJI:return 8;default:throw new Error("mode:"+r)}else if(27>t)switch(r){case e.MODE_NUMBER:return 12;case e.MODE_ALPHA_NUM:return 11;case e.MODE_8BIT_BYTE:return 16;case e.MODE_KANJI:return 10;default:throw new Error("mode:"+r)}else{if(!(41>t))throw new Error("type:"+t);switch(r){case e.MODE_NUMBER:return 14;case e.MODE_ALPHA_NUM:return 13;case e.MODE_8BIT_BYTE:return 16;case e.MODE_KANJI:return 12;default:throw new Error("mode:"+r)}}},f.getLostPoint=function(r){for(var t=r.getModuleCount(),e=0,n=0;t>n;n+=1)for(var o=0;t>o;o+=1){for(var i=0,a=r.isDark(n,o),u=-1;1>=u;u+=1)if(!(0>n+u||n+u>=t))for(var f=-1;1>=f;f+=1)0>o+f||o+f>=t||(0!=u||0!=f)&&a==r.isDark(n+u,o+f)&&(i+=1);i>5&&(e+=3+i-5)}for(var n=0;t-1>n;n+=1)for(var o=0;t-1>o;o+=1){var c=0;r.isDark(n,o)&&(c+=1),r.isDark(n+1,o)&&(c+=1),r.isDark(n,o+1)&&(c+=1),r.isDark(n+1,o+1)&&(c+=1),(0==c||4==c)&&(e+=3)}for(var n=0;t>n;n+=1)for(var o=0;t-6>o;o+=1)r.isDark(n,o)&&!r.isDark(n,o+1)&&r.isDark(n,o+2)&&r.isDark(n,o+3)&&r.isDark(n,o+4)&&!r.isDark(n,o+5)&&r.isDark(n,o+6)&&(e+=40);for(var o=0;t>o;o+=1)for(var n=0;t-6>n;n+=1)r.isDark(n,o)&&!r.isDark(n+1,o)&&r.isDark(n+2,o)&&r.isDark(n+3,o)&&r.isDark(n+4,o)&&!r.isDark(n+5,o)&&r.isDark(n+6,o)&&(e+=40);for(var l=0,o=0;t>o;o+=1)for(var n=0;t>n;n+=1)r.isDark(n,o)&&(l+=1);var g=Math.abs(100*l/t/t-50)/5;return e+=10*g},f}(),a=function(){for(var r=new Array(256),t=new Array(256),e=0;8>e;e+=1)r[e]=1<e;e+=1)r[e]=r[e-4]^r[e-5]^r[e-6]^r[e-8];for(var e=0;255>e;e+=1)t[r[e]]=e;var n={};return n.glog=function(r){if(1>r)throw new Error("glog("+r+")");return t[r]},n.gexp=function(t){for(;0>t;)t+=255;for(;t>=256;)t-=255;return r[t]},n}(),u=function(){var r=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],t=function(r,t){var e={};return e.totalCount=r,e.dataCount=t,e},e={},o=function(t,e){switch(e){case n.L:return r[4*(t-1)+0];case n.M:return r[4*(t-1)+1];case n.Q:return r[4*(t-1)+2];case n.H:return r[4*(t-1)+3];default:return void 0}};return e.getRSBlocks=function(r,e){var n=o(r,e);if("undefined"==typeof n)throw new Error("bad rs block @ typeNumber:"+r+"/errorCorrectLevel:"+e);for(var i=n.length/3,a=new Array,u=0;i>u;u+=1)for(var f=n[3*u+0],c=n[3*u+1],l=n[3*u+2],g=0;f>g;g+=1)a.push(t(c,l));return a},e}(),f=function(){var r=new Array,t=0,e={};return e.getBuffer=function(){return r},e.getAt=function(t){var e=Math.floor(t/8);return 1==(r[e]>>>7-t%8&1)},e.put=function(r,t){for(var n=0;t>n;n+=1)e.putBit(1==(r>>>t-n-1&1))},e.getLengthInBits=function(){return t},e.putBit=function(e){var n=Math.floor(t/8);r.length<=n&&r.push(0),e&&(r[n]|=128>>>t%8),t+=1},e},c=function(r){var n=e.MODE_8BIT_BYTE,o=t.stringToBytes(r),i={};return i.getMode=function(){return n},i.getLength=function(r){return o.length},i.write=function(r){for(var t=0;t>>8)},t.writeBytes=function(r,e,n){e=e||0,n=n||r.length;for(var o=0;n>o;o+=1)t.writeByte(r[o+e])},t.writeString=function(r){for(var e=0;e0&&(t+=","),t+=r[e];return t+="]"},t},g=function(){var r=0,t=0,e=0,n="",o={},i=function(r){n+=String.fromCharCode(a(63&r))},a=function(r){if(0>r);else{if(26>r)return 65+r;if(52>r)return 97+(r-26);if(62>r)return 48+(r-52);if(62==r)return 43;if(63==r)return 47}throw new Error("n:"+r)};return o.writeByte=function(n){for(r=r<<8|255&n,t+=8,e+=1;t>=6;)i(r>>>t-6),t-=6},o.flush=function(){if(t>0&&(i(r<<6-t),r=0,t=0),e%3!=0)for(var o=3-e%3,a=0;o>a;a+=1)n+="="},o.toString=function(){return n},o},s=function(r){var t=r,e=0,n=0,o=0,i={};i.read=function(){for(;8>o;){if(e>=t.length){if(0==o)return-1;throw new Error("unexpected end of file./"+o)}var r=t.charAt(e);if(e+=1,"="==r)return o=0,-1;r.match(/^\s$/)||(n=n<<6|a(r.charCodeAt(0)),o+=6)}var i=n>>>o-8&255;return o-=8,i};var a=function(r){if(r>=65&&90>=r)return r-65;if(r>=97&&122>=r)return r-97+26;if(r>=48&&57>=r)return r-48+52;if(43==r)return 62;if(47==r)return 63;throw new Error("c:"+r)};return i},h=function(r,t){var e=r,n=t,o=new Array(r*t),i={};i.setPixel=function(r,t,n){o[t*e+r]=n},i.write=function(r){r.writeString("GIF87a"),r.writeShort(e),r.writeShort(n),r.writeByte(128),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(255),r.writeByte(255),r.writeByte(255),r.writeString(","),r.writeShort(0),r.writeShort(0),r.writeShort(e),r.writeShort(n),r.writeByte(0);var t=2,o=u(t);r.writeByte(t);for(var i=0;o.length-i>255;)r.writeByte(255),r.writeBytes(o,i,255),i+=255;r.writeByte(o.length-i),r.writeBytes(o,i,o.length-i),r.writeByte(0),r.writeString(";")};var a=function(r){var t=r,e=0,n=0,o={};return o.write=function(r,o){if(r>>>o!=0)throw new Error("length over");for(;e+o>=8;)t.writeByte(255&(r<>>=8-e,n=0,e=0;n=r<0&&t.writeByte(n)},o},u=function(r){for(var t=1<u;u+=1)i.add(String.fromCharCode(u));i.add(String.fromCharCode(t)),i.add(String.fromCharCode(e));var c=l(),g=a(c);g.write(t,n);var s=0,h=String.fromCharCode(o[s]);for(s+=1;si;i+=1)for(var a=0;r>a;a+=1)o.setPixel(a,i,e(a,i));var u=l();o.write(u);for(var f=g(),c=u.toByteArray(),s=0;s"};return t}();return function(r){"function"==typeof define&&define.amd?define([],r):"object"==typeof exports&&(module.exports=r())}(function(){return r}),!function(r){r.stringToBytes=function(r){function t(r){for(var t=[],e=0;en?t.push(n):2048>n?t.push(192|n>>6,128|63&n):55296>n||n>=57344?t.push(224|n>>12,128|n>>6&63,128|63&n):(e++,n=65536+((1023&n)<<10|1023&r.charCodeAt(e)),t.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n))}return t}return t(r)}}(r),r}());
--------------------------------------------------------------------------------
/source/js/jquery.share.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Share.js
3 | *
4 | * @author overtrue
5 | * @license MIT
6 | *
7 | * @example
8 | *
9 | * $('.share-components').share();
10 | *
11 | * // or
12 | *
13 | * $('.share-bar').share({
14 | * sites: ['qzone', 'qq', 'weibo','wechat'],
15 | * // ...
16 | * });
17 | *
18 | */
19 | ;(function($){
20 | /**
21 | * Initialize a share bar.
22 | *
23 | * @param {Object} $options globals (optional).
24 | *
25 | * @return {Void}
26 | */
27 | $.fn.share = function ($options) {
28 | var $head = $(document.head);
29 |
30 | var $defaults = {
31 | url: location.href,
32 | site_url: location.origin,
33 | source: $head.find('[name=site], [name=Site]').attr('content') || document.title,
34 | title: $head.find('[name=title], [name=Title]').attr('content') || document.title,
35 | description: $head.find('[name=description], [name=Description]').attr('content') || '',
36 | image: $('img:first').prop('src') || '',
37 | imageSelector: undefined,
38 |
39 | weiboKey: '',
40 |
41 | wechatQrcodeTitle: '微信扫一扫:分享',
42 | wechatQrcodeHelper: '微信里点“发现”,扫一下
二维码便可将本文分享至朋友圈。
',
43 | wechatQrcodeSize: 100,
44 |
45 | mobileSites: [],
46 | sites: ['weibo','qq','wechat','tencent','douban','qzone','linkedin','diandian','facebook','twitter','google'],
47 | disabled: [],
48 | initialized: false
49 | };
50 |
51 | var $globals = $.extend({}, $defaults, $options);
52 |
53 | var $templates = {
54 | qzone : 'http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={{URL}}&title={{TITLE}}&desc={{DESCRIPTION}}&summary={{SUMMARY}}&site={{SOURCE}}',
55 | qq : 'http://connect.qq.com/widget/shareqq/index.html?url={{URL}}&title={{TITLE}}&source={{SOURCE}}&desc={{DESCRIPTION}}&pics={{IMAGE}}',
56 | tencent : 'http://share.v.t.qq.com/index.php?c=share&a=index&title={{TITLE}}&url={{URL}}&pic={{IMAGE}}',
57 | weibo : 'http://service.weibo.com/share/share.php?url={{URL}}&title={{TITLE}}&pic={{IMAGE}}&appkey={{WEIBOKEY}}',
58 | wechat : 'javascript:;',
59 | douban : 'http://shuo.douban.com/!service/share?href={{URL}}&name={{TITLE}}&text={{DESCRIPTION}}&image={{IMAGE}}&starid=0&aid=0&style=11',
60 | diandian : 'http://www.diandian.com/share?lo={{URL}}&ti={{TITLE}}&type=link',
61 | linkedin : 'http://www.linkedin.com/shareArticle?mini=true&ro=true&title={{TITLE}}&url={{URL}}&summary={{SUMMARY}}&source={{SOURCE}}&armin=armin',
62 | facebook : 'https://www.facebook.com/sharer/sharer.php?u={{URL}}&title={{TITLE}}&description={{DESCRIPTION}}&caption={{SUBHEAD}}&link={{URL}}&picture={{IMAGE}}',
63 | twitter : 'https://twitter.com/intent/tweet?text={{TITLE}}&url={{URL}}&via={{SITE_URL}}',
64 | google : 'https://plus.google.com/share?url={{URL}}'
65 | };
66 |
67 | var $ariaLabels = {
68 | qzone: "QQ空间",
69 | qq: "QQ",
70 | tencent: "腾讯微博",
71 | weibo: "微博",
72 | wechat: "微信",
73 | douban: "豆瓣",
74 | diandian: "点点",
75 | linkedin: "LinkedIn",
76 | facebook: "Facebook",
77 | twitter: "Twitter",
78 | google: "Google"
79 | };
80 |
81 | this.each(function() {
82 | if ($(this).data('initialized')) {
83 | return true;
84 | }
85 |
86 | var $data = $.extend({}, $globals, $(this).data());
87 | if ($data.imageSelector) {
88 | $data.image = $($data.imageSelector).map(function() {
89 | return $(this).prop('src');
90 | }).get().join('||');
91 | }
92 | var $container = $(this).addClass('share-component social-share');
93 |
94 | createIcons($container, $data);
95 | createWechat($container, $data);
96 |
97 | $(this).data('initialized', true);
98 | });
99 |
100 | /**
101 | * Create site icons
102 | *
103 | * @param {Object|String} $container
104 | * @param {Object} $data
105 | */
106 | function createIcons ($container, $data) {
107 | var $sites = getSites($data);
108 |
109 | $data.mode == 'prepend' ? $sites.reverse() : $sites
110 |
111 | if (!$sites.length) {return;}
112 |
113 | $.each($sites, function (i, $name) {
114 | var $url = makeUrl($name, $data);
115 | var $link = $data.initialized ? $container.find('.icon-'+$name) : $('');
116 |
117 | if (!$link.length) {
118 | return true;
119 | }
120 | $link.prop('aria-label', "分享到 "+$ariaLabels[$name]);
121 |
122 | $link.prop('href', $url);
123 |
124 | if ($name === 'wechat') {
125 | $link.prop('tabindex', -1);
126 | } else {
127 | $link.prop('target', '_blank');
128 | }
129 |
130 | if (!$data.initialized) {
131 | $data.mode == 'prepend' ? $container.prepend($link) : $container.append($link);
132 | }
133 | });
134 | }
135 |
136 | /**
137 | * Create the wechat icon and QRCode.
138 | *
139 | * @param {Object|String} $container
140 | * @param {Object} $data
141 | */
142 | function createWechat ($container, $data) {
143 | var $wechat = $container.find('a.icon-wechat');
144 |
145 | if (!$wechat.length) {return;}
146 |
147 | $wechat.append(''+$data.wechatQrcodeTitle+'
'+$data.wechatQrcodeHelper+'
');
148 |
149 | $wechat.find('.qrcode').qrcode({render: 'image', size: $data.wechatQrcodeSize, text: $data.url});
150 |
151 | if ($wechat.offset().top < 100) {
152 | $wechat.find('.wechat-qrcode').addClass('bottom');
153 | }
154 | }
155 |
156 | /**
157 | * Get available site lists.
158 | *
159 | * @param {Array} $data
160 | *
161 | * @return {Array}
162 | */
163 | function getSites ($data) {
164 | if ($data['mobileSites'].length === 0 && $data['sites'].length) {
165 | $data['mobileSites'] = $data['sites'];
166 | };
167 |
168 | var $sites = (isMobileScreen() ? $data['mobileSites'] : ($data['sites'].length ? $data['sites']: [])).slice(0);
169 | var $disabled = $data['disabled'];
170 |
171 | if (typeof $sites == 'string') { $sites = $sites.split(/\s*,\s*/); }
172 | if (typeof $disabled == 'string') { $disabled = $disabled.split(/\s*,\s*/); }
173 |
174 | if (runningInWeChat()) {
175 | $disabled.push('wechat');
176 | }
177 | // Remove elements
178 | $disabled.length && $.each($disabled, function (i, el) {
179 | var removeItemIndex = $.inArray(el, $sites);
180 | if (removeItemIndex !== -1) {
181 | $sites.splice(removeItemIndex, 1);
182 | }
183 | });
184 |
185 | return $sites;
186 | }
187 |
188 | /**
189 | * Build the url of icon.
190 | *
191 | * @param {String} $name
192 | * @param {Object} $data
193 | *
194 | * @return {String}
195 | */
196 | function makeUrl ($name, $data) {
197 | var $template = $templates[$name];
198 | $data['summary'] = $data['description'];
199 |
200 | for (var $key in $data) {
201 | if ($data.hasOwnProperty($key)) {
202 | var $camelCaseKey = $name + $key.replace(/^[a-z]/, function($str){
203 | return $str.toUpperCase();
204 | });
205 |
206 | var $value = encodeURIComponent($data[$camelCaseKey] === undefined ? $data[$key] : $data[$camelCaseKey]);
207 | $template = $template.replace(new RegExp('{{'+$key.toUpperCase()+'}}', 'g'), $value);
208 | }
209 | }
210 |
211 | return $template;
212 | }
213 |
214 | /**
215 | * Detect wechat browser.
216 | *
217 | * @return {Boolean}
218 | */
219 | function runningInWeChat() {
220 | return /MicroMessenger/i.test(navigator.userAgent);
221 | }
222 |
223 | /**
224 | * Mobile screen width.
225 | *
226 | * @return {boolean}
227 | */
228 | function isMobileScreen () {
229 | return $(window).width() <= 768;
230 | }
231 | };
232 |
233 | // Domready after initialization
234 | $(function () {
235 | $('.share-component,.social-share').share();
236 | });
237 | })(jQuery);
238 |
--------------------------------------------------------------------------------
/source/js/jquery.shuffle.min.js:
--------------------------------------------------------------------------------
1 | // IMPORTANT!
2 | // If you're already using Modernizr, delete it from this file. If you don't know what Modernizr is, leave it :)
3 |
4 | /* Modernizr 2.6.2 (Custom Build) | MIT & BSD
5 | * Build: http://modernizr.com/download/#-csstransforms-csstransforms3d-csstransitions-cssclasses-prefixed-teststyles-testprop-testallprops-prefixes-domprefixes
6 | */
7 | ;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["",'"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.csstransforms=function(){return!!F("transform")},q.csstransforms3d=function(){var a=!!F("perspective");return a&&"webkitPerspective"in g.style&&w("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},q.csstransitions=function(){return F("transition")};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},z(""),i=k=null,e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,e.prefixed=function(a,b,c){return b?F(a,b,c):F(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document);
8 |
9 |
10 | /**
11 | * @author Glen Cheney
12 | */
13 | /*
14 | * jQuery throttle / debounce - v1.1 - 3/7/2010
15 | * http://benalman.com/projects/jquery-throttle-debounce-plugin/
16 | *
17 | * Copyright (c) 2010 "Cowboy" Ben Alman
18 | * Dual licensed under the MIT and GPL licenses.
19 | * http://benalman.com/about/license/
20 | */
21 | (function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this);
22 |
23 |
24 | /*!
25 | * Shuffle.js by @Vestride
26 | * Categorize, sort, and filter a responsive grid of items.
27 | * Dependencies: jQuery 1.9+, Modernizr 2.6.2+
28 | * @license MIT license
29 | * @version 3.1.1
30 | */
31 | !function(a){"function"==typeof define&&define.amd?define(["jquery","modernizr"],a):"object"==typeof exports?module.exports=a(require("jquery"),window.Modernizr):window.Shuffle=a(window.jQuery,window.Modernizr)}(function(a,b,c){"use strict";function d(a){return a?a.replace(/([A-Z])/g,function(a,b){return"-"+b.toLowerCase()}).replace(/^ms-/,"-ms-"):""}function e(b,c,d){var e,f,g,h=null,i=0;d=d||{};var j=function(){i=d.leading===!1?0:a.now(),h=null,g=b.apply(e,f),e=f=null};return function(){var k=a.now();i||d.leading!==!1||(i=k);var l=c-(k-i);return e=this,f=arguments,0>=l||l>c?(clearTimeout(h),h=null,i=k,g=b.apply(e,f),e=f=null):h||d.trailing===!1||(h=setTimeout(j,l)),g}}function f(a,b,c){for(var d=0,e=a.length;e>d;d++)if(b.call(c,a[d],d,a)==={})return}function g(b,c,d){return setTimeout(a.proxy(b,c),d)}function h(a){return Math.max.apply(Math,a)}function i(a){return Math.min.apply(Math,a)}function j(b){return a.isNumeric(b)?b:0}function k(a){var b,c,d=a.length;if(!d)return a;for(;--d;)c=Math.floor(Math.random()*(d+1)),b=a[c],a[c]=a[d],a[d]=b;return a}if("object"!=typeof b)throw new Error("Shuffle.js requires Modernizr.\nhttp://vestride.github.io/Shuffle/#dependencies");var l=b.prefixed("transition"),m=b.prefixed("transitionDelay"),n=b.prefixed("transitionDuration"),o={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[l],p=b.prefixed("transform"),q=d(p),r=b.csstransforms&&b.csstransitions,s=b.csstransforms3d,t=!!window.getComputedStyle,u="shuffle",v="all",w="groups",x=1,y=.001,z=window.getComputedStyle||function(){},A=function(a,b){this.x=j(a),this.y=j(b)};A.equals=function(a,b){return a.x===b.x&&a.y===b.y};var B=function(){if(!t)return!1;var a=document.body||document.documentElement,b=document.createElement("div");b.style.cssText="width:10px;padding:2px;-webkit-box-sizing:border-box;box-sizing:border-box;",a.appendChild(b);var c=z(b,null).width,d="10px"===c;return a.removeChild(b),d}(),C=0,D=a(window),E=function(b,c){c=c||{},a.extend(this,E.options,c,E.settings),this.$el=a(b),this.element=b,this.unique="shuffle_"+C++,this._fire(E.EventType.LOADING),this._init(),g(function(){this.initialized=!0,this._fire(E.EventType.DONE)},this,16)};return E.EventType={LOADING:"loading",DONE:"done",LAYOUT:"layout",REMOVED:"removed"},E.ClassName={BASE:u,SHUFFLE_ITEM:"shuffle-item",FILTERED:"filtered",CONCEALED:"concealed"},E.options={group:v,speed:250,easing:"ease-out",itemSelector:"",sizer:null,gutterWidth:0,columnWidth:0,delimeter:null,buffer:0,columnThreshold:t?.01:.1,initialSort:null,throttle:e,throttleTime:300,sequentialFadeDelay:150,supported:r},E.settings={useSizer:!1,itemCss:{position:"absolute",top:0,left:0,visibility:"visible"},revealAppendedDelay:300,lastSort:{},lastFilter:v,enabled:!0,destroyed:!1,initialized:!1,_animations:[],_transitions:[],_isMovementCanceled:!1,styleQueue:[]},E.Point=A,E._getItemTransformString=function(a,b){return s?"translate3d("+a.x+"px, "+a.y+"px, 0) scale3d("+b+", "+b+", 1)":"translate("+a.x+"px, "+a.y+"px) scale("+b+")"},E._getNumberStyle=function(b,c,d){if(t){d=d||z(b,null);var e=E._getFloat(d[c]);return B||"width"!==c?B||"height"!==c||(e+=E._getFloat(d.paddingTop)+E._getFloat(d.paddingBottom)+E._getFloat(d.borderTopWidth)+E._getFloat(d.borderBottomWidth)):e+=E._getFloat(d.paddingLeft)+E._getFloat(d.paddingRight)+E._getFloat(d.borderLeftWidth)+E._getFloat(d.borderRightWidth),e}return E._getFloat(a(b).css(c))},E._getFloat=function(a){return j(parseFloat(a))},E._getOuterWidth=function(a,b){var c=z(a,null),d=E._getNumberStyle(a,"width",c);if(b){var e=E._getNumberStyle(a,"marginLeft",c),f=E._getNumberStyle(a,"marginRight",c);d+=e+f}return d},E._getOuterHeight=function(a,b){var c=z(a,null),d=E._getNumberStyle(a,"height",c);if(b){var e=E._getNumberStyle(a,"marginTop",c),f=E._getNumberStyle(a,"marginBottom",c);d+=e+f}return d},E._skipTransition=function(a,b,c){var d=a.style[n];a.style[n]="0ms",b.call(c);var e=a.offsetWidth;e=null,a.style[n]=d},E.prototype._init=function(){this.$items=this._getItems(),this.sizer=this._getElementOption(this.sizer),this.sizer&&(this.useSizer=!0),this.$el.addClass(E.ClassName.BASE),this._initItems(),D.on("resize."+u+"."+this.unique,this._getResizeFunction());var a=this.$el.css(["position","overflow"]),b=E._getOuterWidth(this.element);this._validateStyles(a),this._setColumns(b),this.shuffle(this.group,this.initialSort),this.supported&&g(function(){this._setTransitions(),this.element.style[l]="height "+this.speed+"ms "+this.easing},this)},E.prototype._getResizeFunction=function(){var b=a.proxy(this._onResize,this);return this.throttle?this.throttle(b,this.throttleTime):b},E.prototype._getElementOption=function(a){return"string"==typeof a?this.$el.find(a)[0]||null:a&&a.nodeType&&1===a.nodeType?a:a&&a.jquery?a[0]:null},E.prototype._validateStyles=function(a){"static"===a.position&&(this.element.style.position="relative"),"hidden"!==a.overflow&&(this.element.style.overflow="hidden")},E.prototype._filter=function(a,b){a=a||this.lastFilter,b=b||this.$items;var c=this._getFilteredSets(a,b);return this._toggleFilterClasses(c.filtered,c.concealed),this.lastFilter=a,"string"==typeof a&&(this.group=a),c.filtered},E.prototype._getFilteredSets=function(b,c){var d=a(),e=a();return b===v?d=c:f(c,function(c){var f=a(c);this._doesPassFilter(b,f)?d=d.add(f):e=e.add(f)},this),{filtered:d,concealed:e}},E.prototype._doesPassFilter=function(b,c){if(a.isFunction(b))return b.call(c[0],c,this);var d=c.data(w),e=this.delimeter&&!a.isArray(d)?d.split(this.delimeter):d;return a.inArray(b,e)>-1},E.prototype._toggleFilterClasses=function(a,b){a.removeClass(E.ClassName.CONCEALED).addClass(E.ClassName.FILTERED),b.removeClass(E.ClassName.FILTERED).addClass(E.ClassName.CONCEALED)},E.prototype._initItems=function(a){a=a||this.$items,a.addClass([E.ClassName.SHUFFLE_ITEM,E.ClassName.FILTERED].join(" ")),a.css(this.itemCss).data("point",new A).data("scale",x)},E.prototype._updateItemCount=function(){this.visibleItems=this._getFilteredItems().length},E.prototype._setTransition=function(a){a.style[l]=q+" "+this.speed+"ms "+this.easing+", opacity "+this.speed+"ms "+this.easing},E.prototype._setTransitions=function(a){a=a||this.$items,f(a,function(a){this._setTransition(a)},this)},E.prototype._setSequentialDelay=function(a){this.supported&&f(a,function(a,b){a.style[m]="0ms,"+(b+1)*this.sequentialFadeDelay+"ms"},this)},E.prototype._getItems=function(){return this.$el.children(this.itemSelector)},E.prototype._getFilteredItems=function(){return this.$items.filter("."+E.ClassName.FILTERED)},E.prototype._getConcealedItems=function(){return this.$items.filter("."+E.ClassName.CONCEALED)},E.prototype._getColumnSize=function(b,c){var d;return d=a.isFunction(this.columnWidth)?this.columnWidth(b):this.useSizer?E._getOuterWidth(this.sizer):this.columnWidth?this.columnWidth:this.$items.length>0?E._getOuterWidth(this.$items[0],!0):b,0===d&&(d=b),d+c},E.prototype._getGutterSize=function(b){var c;return c=a.isFunction(this.gutterWidth)?this.gutterWidth(b):this.useSizer?E._getNumberStyle(this.sizer,"marginLeft"):this.gutterWidth},E.prototype._setColumns=function(a){var b=a||E._getOuterWidth(this.element),c=this._getGutterSize(b),d=this._getColumnSize(b,c),e=(b+c)/d;Math.abs(Math.round(e)-e)h;h++)this.positions[d+h]=f;return e},E.prototype._getColumnSpan=function(a,b,c){var d=a/b;return Math.abs(Math.round(d)-d)e;e++)d[e]=h(this.positions.slice(e,e+a));return d},E.prototype._getShortColumn=function(a,b){for(var c=i(a),d=0,e=a.length;e>d;d++)if(a[d]>=c-b&&a[d]<=c+b)return d;return 0},E.prototype._shrink=function(b){var c=b||this._getConcealedItems();f(c,function(b){var c=a(b),d=c.data();d.scale!==y&&(d.scale=y,this.styleQueue.push({$item:c,point:d.point,scale:y,opacity:0,callback:function(){c.css("visibility","hidden")}}))},this)},E.prototype._onResize=function(){if(this.enabled&&!this.destroyed){var a=E._getOuterWidth(this.element);a!==this.containerWidth&&this.update()}},E.prototype._getStylesForTransition=function(a){var b={opacity:a.opacity};return this.supported?b[p]=E._getItemTransformString(a.point,a.scale):(b.left=a.point.x,b.top=a.point.y),b},E.prototype._transition=function(b){var c=this._getStylesForTransition(b);this._startItemAnimation(b.$item,c,b.callfront||a.noop,b.callback||a.noop)},E.prototype._startItemAnimation=function(b,c,d,e){function f(b){b.target===b.currentTarget&&(a(b.target).off(o,f),g._removeTransitionReference(h),e())}var g=this,h={$element:b,handler:f};if(d(),!this.initialized)return b.css(c),void e();if(this.supported)b.css(c),b.on(o,f),this._transitions.push(h);else{var i=b.stop(!0).animate(c,this.speed,"swing",e);this._animations.push(i.promise())}},E.prototype._processStyleQueue=function(b){this.isTransitioning&&this._cancelMovement();var c=a();f(this.styleQueue,function(a){a.skipTransition?this._styleImmediately(a):(c=c.add(a.$item),this._transition(a))},this),c.length>0&&this.initialized&&this.speed>0?(this.isTransitioning=!0,this.supported?this._whenCollectionDone(c,o,this._movementFinished):this._whenAnimationsDone(this._movementFinished)):b||g(this._layoutEnd,this),this.styleQueue.length=0},E.prototype._cancelMovement=function(){this.supported?f(this._transitions,function(a){a.$element.off(o,a.handler)}):(this._isMovementCanceled=!0,this.$items.stop(!0),this._isMovementCanceled=!1),this._transitions.length=0,this.isTransitioning=!1},E.prototype._removeTransitionReference=function(b){var c=a.inArray(b,this._transitions);c>-1&&this._transitions.splice(c,1)},E.prototype._styleImmediately=function(a){E._skipTransition(a.$item[0],function(){a.$item.css(this._getStylesForTransition(a))},this)},E.prototype._movementFinished=function(){this.isTransitioning=!1,this._layoutEnd()},E.prototype._layoutEnd=function(){this._fire(E.EventType.LAYOUT)},E.prototype._addItems=function(a,b,c){this._initItems(a),this._setTransitions(a),this.$items=this._getItems(),this._shrink(a),f(this.styleQueue,function(a){a.skipTransition=!0}),this._processStyleQueue(!0),b?this._addItemsToEnd(a,c):this.shuffle(this.lastFilter)},E.prototype._addItemsToEnd=function(a,b){var c=this._filter(null,a),d=c.get();this._updateItemCount(),this._layout(d,!0),b&&this.supported&&this._setSequentialDelay(d),this._revealAppended(d)},E.prototype._revealAppended=function(b){g(function(){f(b,function(b){var c=a(b);this._transition({$item:c,opacity:1,point:c.data("point"),scale:x})},this),this._whenCollectionDone(a(b),o,function(){a(b).css(m,"0ms"),this._movementFinished()})},this,this.revealAppendedDelay)},E.prototype._whenCollectionDone=function(b,c,d){function e(b){b.target===b.currentTarget&&(a(b.target).off(c,e),f++,f===g&&(h._removeTransitionReference(i),d.call(h)))}var f=0,g=b.length,h=this,i={$element:b,handler:e};b.on(c,e),this._transitions.push(i)},E.prototype._whenAnimationsDone=function(b){a.when.apply(null,this._animations).always(a.proxy(function(){this._animations.length=0,this._isMovementCanceled||b.call(this)},this))},E.prototype.shuffle=function(a,b){this.enabled&&(a||(a=v),this._filter(a),this._updateItemCount(),this._shrink(),this.sort(b))},E.prototype.sort=function(a){if(this.enabled){this._resetCols();var b=a||this.lastSort,c=this._getFilteredItems().sorted(b);this._layout(c),this.lastSort=b}},E.prototype.update=function(a){this.enabled&&(a||this._setColumns(),this.sort())},E.prototype.layout=function(){this.update(!0)},E.prototype.appended=function(a,b,c){this._addItems(a,b===!0,c!==!1)},E.prototype.disable=function(){this.enabled=!1},E.prototype.enable=function(a){this.enabled=!0,a!==!1&&this.update()},E.prototype.remove=function(b){function c(){b.remove(),this.$items=this._getItems(),this._updateItemCount(),this._fire(E.EventType.REMOVED,[b,this]),b=null}b.length&&b.jquery&&(this._toggleFilterClasses(a(),b),this._shrink(b),this.sort(),this.$el.one(E.EventType.LAYOUT+"."+u,a.proxy(c,this)))},E.prototype.destroy=function(){D.off("."+this.unique),this.$el.removeClass(u).removeAttr("style").removeData(u),this.$items.removeAttr("style").removeData("point").removeData("scale").removeClass([E.ClassName.CONCEALED,E.ClassName.FILTERED,E.ClassName.SHUFFLE_ITEM].join(" ")),this.$items=null,this.$el=null,this.sizer=null,this.element=null,this._transitions=null,this.destroyed=!0},a.fn.shuffle=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),e=d.data(u);e?"string"==typeof b&&e[b]&&e[b].apply(e,c):(e=new E(this,b),d.data(u,e))})},a.fn.sorted=function(b){var d=a.extend({},a.fn.sorted.defaults,b),e=this.get(),f=!1;return e.length?d.randomize?k(e):(a.isFunction(d.by)&&e.sort(function(b,e){if(f)return 0;var g=d.by(a(b)),h=d.by(a(e));return g===c&&h===c?(f=!0,0):h>g||"sortFirst"===g||"sortLast"===h?-1:g>h||"sortLast"===g||"sortFirst"===h?1:0}),f?this.get():(d.reverse&&e.reverse(),e)):[]},a.fn.sorted.defaults={reverse:!1,by:null,randomize:!1},E});
--------------------------------------------------------------------------------
/source/js/jquery.textillate.js:
--------------------------------------------------------------------------------
1 | /*
2 | * textillate.js
3 | * http://jschr.github.com/textillate
4 | * MIT licensed
5 | *
6 | * Copyright (C) 2012-2013 Jordan Schroter
7 | */
8 |
9 | (function ($) {
10 | "use strict";
11 |
12 | function isInEffect (effect) {
13 | return /In/.test(effect) || $.inArray(effect, $.fn.textillate.defaults.inEffects) >= 0;
14 | };
15 |
16 | function isOutEffect (effect) {
17 | return /Out/.test(effect) || $.inArray(effect, $.fn.textillate.defaults.outEffects) >= 0;
18 | };
19 |
20 | // custom get data api method
21 | function getData (node) {
22 | var attrs = node.attributes || []
23 | , data = {};
24 |
25 | if (!attrs.length) return data;
26 |
27 | $.each(attrs, function (i, attr) {
28 | if (/^data-in-*/.test(attr.nodeName)) {
29 | data.in = data.in || {};
30 | data.in[attr.nodeName.replace(/data-in-/, '')] = attr.nodeValue;
31 | } else if (/^data-out-*/.test(attr.nodeName)) {
32 | data.out = data.out || {};
33 | data.out[attr.nodeName.replace(/data-out-/, '')] = attr.nodeValue;
34 | } else if (/^data-*/.test(attr.nodeName)) {
35 | data[attr.nodeName] = attr.nodeValue;
36 | }
37 | })
38 |
39 | return data;
40 | }
41 |
42 | function shuffle (o) {
43 | for (var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
44 | return o;
45 | }
46 |
47 | function animate ($c, effect, cb) {
48 | $c.addClass('animated ' + effect)
49 | .css('visibility', 'visible')
50 | .show();
51 |
52 | $c.one('animationend webkitAnimationEnd oAnimationEnd', function () {
53 | $c.removeClass('animated ' + effect);
54 | cb && cb();
55 | });
56 | }
57 |
58 | function animateChars ($chars, options, cb) {
59 | var that = this
60 | , count = $chars.length;
61 |
62 | if (!count) {
63 | cb && cb();
64 | return;
65 | }
66 |
67 | if (options.shuffle) $chars = shuffle($chars);
68 | if (options.reverse) $chars = $chars.toArray().reverse();
69 |
70 | $.each($chars, function (i, c) {
71 | var $char = $(c);
72 |
73 | function complete () {
74 | if (isInEffect(options.effect)) {
75 | $char.css('visibility', 'visible');
76 | } else if (isOutEffect(options.effect)) {
77 | $char.css('visibility', 'hidden');
78 | }
79 | count -= 1;
80 | if (!count && cb) cb();
81 | }
82 |
83 | var delay = options.sync ? options.delay : options.delay * i * options.delayScale;
84 |
85 | $char.text() ?
86 | setTimeout(function () { animate($char, options.effect, complete) }, delay) :
87 | complete();
88 | });
89 | };
90 |
91 | var Textillate = function (element, options) {
92 | var base = this
93 | , $element = $(element);
94 |
95 | base.init = function () {
96 | base.$texts = $element.find(options.selector);
97 |
98 | if (!base.$texts.length) {
99 | base.$texts = $('');
100 | $element.html(base.$texts);
101 | }
102 |
103 | base.$texts.hide();
104 |
105 | base.$current = $('')
106 | .text(base.$texts.find(':first-child').html())
107 | .prependTo($element);
108 |
109 | if (isInEffect(options.in.effect)) {
110 | base.$current.css('visibility', 'hidden');
111 | } else if (isOutEffect(options.out.effect)) {
112 | base.$current.css('visibility', 'visible');
113 | }
114 |
115 | base.setOptions(options);
116 |
117 | base.timeoutRun = null;
118 |
119 | setTimeout(function () {
120 | base.options.autoStart && base.start();
121 | }, base.options.initialDelay)
122 | };
123 |
124 | base.setOptions = function (options) {
125 | base.options = options;
126 | };
127 |
128 | base.triggerEvent = function (name) {
129 | var e = $.Event(name + '.tlt');
130 | $element.trigger(e, base);
131 | return e;
132 | };
133 |
134 | base.in = function (index, cb) {
135 | index = index || 0;
136 |
137 | var $elem = base.$texts.find(':nth-child(' + (index + 1) + ')')
138 | , options = $.extend({}, base.options, getData($elem))
139 | , $chars;
140 |
141 | $elem.addClass('current');
142 |
143 | base.triggerEvent('inAnimationBegin');
144 |
145 | base.$current
146 | .text($elem.html())
147 | .lettering('words');
148 |
149 | base.$current.find('[class^="word"]')
150 | .css({
151 | 'display': 'inline-block',
152 | // fix for poor ios performance
153 | '-webkit-transform': 'translate3d(0,0,0)',
154 | '-moz-transform': 'translate3d(0,0,0)',
155 | '-o-transform': 'translate3d(0,0,0)',
156 | 'transform': 'translate3d(0,0,0)'
157 | })
158 | .each(function () { $(this).lettering() });
159 |
160 | $chars = base.$current
161 | .find('[class^="char"]')
162 | .css('display', 'inline-block');
163 |
164 | if (isInEffect(options.in.effect)) {
165 | $chars.css('visibility', 'hidden');
166 | } else if (isOutEffect(options.in.effect)) {
167 | $chars.css('visibility', 'visible');
168 | }
169 |
170 | base.currentIndex = index;
171 |
172 | animateChars($chars, options.in, function () {
173 | base.triggerEvent('inAnimationEnd');
174 | if (options.in.callback) options.in.callback();
175 | if (cb) cb(base);
176 | });
177 | };
178 |
179 | base.out = function (cb) {
180 | var $elem = base.$texts.find(':nth-child(' + (base.currentIndex + 1) + ')')
181 | , $chars = base.$current.find('[class^="char"]')
182 | , options = $.extend({}, base.options, getData($elem));
183 |
184 | base.triggerEvent('outAnimationBegin');
185 |
186 | animateChars($chars, options.out, function () {
187 | $elem.removeClass('current');
188 | base.triggerEvent('outAnimationEnd');
189 | if (options.out.callback) options.out.callback();
190 | if (cb) cb(base);
191 | });
192 | };
193 |
194 | base.start = function (index) {
195 | base.triggerEvent('start');
196 |
197 | (function run (index) {
198 | base.in(index, function () {
199 | var length = base.$texts.children().length;
200 |
201 | index += 1;
202 |
203 | if (!base.options.loop && index >= length) {
204 | if (base.options.callback) base.options.callback();
205 | base.triggerEvent('end');
206 | } else {
207 | index = index % length;
208 |
209 | base.timeoutRun = setTimeout(function () {
210 | base.out(function () {
211 | run(index)
212 | });
213 | }, base.options.minDisplayTime);
214 | }
215 | });
216 | }(index || 0));
217 | };
218 |
219 | base.stop = function () {
220 | if (base.timeoutRun) {
221 | clearInterval(base.timeoutRun);
222 | base.timeoutRun = null;
223 | }
224 | };
225 |
226 | base.init();
227 | }
228 |
229 | $.fn.textillate = function (settings, args) {
230 | return this.each(function () {
231 | var $this = $(this)
232 | , data = $this.data('textillate')
233 | , options = $.extend(true, {}, $.fn.textillate.defaults, getData(this), typeof settings == 'object' && settings);
234 |
235 | if (!data) {
236 | $this.data('textillate', (data = new Textillate(this, options)));
237 | } else if (typeof settings == 'string') {
238 | data[settings].apply(data, [].concat(args));
239 | } else {
240 | data.setOptions.call(data, options);
241 | }
242 | })
243 | };
244 |
245 | $.fn.textillate.defaults = {
246 | selector: '.texts',
247 | loop: false,
248 | minDisplayTime: 2000,
249 | initialDelay: 0,
250 | in: {
251 | effect: 'fadeInLeftBig',
252 | delayScale: 1.5,
253 | delay: 50,
254 | sync: false,
255 | reverse: false,
256 | shuffle: false,
257 | callback: function () {}
258 | },
259 | out: {
260 | effect: 'hinge',
261 | delayScale: 1.5,
262 | delay: 50,
263 | sync: false,
264 | reverse: false,
265 | shuffle: false,
266 | callback: function () {}
267 | },
268 | autoStart: true,
269 | inEffects: [],
270 | outEffects: [ 'hinge' ],
271 | callback: function () {}
272 | };
273 |
274 | }(jQuery));
275 |
--------------------------------------------------------------------------------
/source/js/map.js:
--------------------------------------------------------------------------------
1 | $(function () {
2 |
3 | function initMap() {
4 |
5 | var location = new google.maps.LatLng(25.758935, -80.203165);
6 |
7 | var mapCanvas = document.getElementById('map');
8 | var mapOptions = {
9 | center: location,
10 | zoom: 16,
11 | panControl: false,
12 | scrollwheel: false,
13 | mapTypeId: google.maps.MapTypeId.ROADMAP
14 | }
15 | var map = new google.maps.Map(mapCanvas, mapOptions);
16 |
17 | var markerImage = 'images/marker.png';
18 |
19 | var marker = new google.maps.Marker({
20 | position: location,
21 | map: map,
22 | icon: markerImage
23 | });
24 |
25 | var contentString = '' +
26 | '
Info Window Content
' +
27 | '
' +
28 | '
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
' +
29 | '
' +
30 | '
';
31 |
32 | var infowindow = new google.maps.InfoWindow({
33 | content: contentString,
34 | maxWidth: 400
35 | });
36 |
37 | marker.addListener('click', function () {
38 | infowindow.open(map, marker);
39 | });
40 |
41 | var styles = [{"featureType": "landscape", "stylers": [{"saturation": -100}, {"lightness": 65}, {"visibility": "on"}]}, {"featureType": "poi", "stylers": [{"saturation": -100}, {"lightness": 51}, {"visibility": "simplified"}]}, {"featureType": "road.highway", "stylers": [{"saturation": -100}, {"visibility": "simplified"}]}, {"featureType": "road.arterial", "stylers": [{"saturation": -100}, {"lightness": 30}, {"visibility": "on"}]}, {"featureType": "road.local", "stylers": [{"saturation": -100}, {"lightness": 40}, {"visibility": "on"}]}, {"featureType": "transit", "stylers": [{"saturation": -100}, {"visibility": "simplified"}]}, {"featureType": "administrative.province", "stylers": [{"visibility": "off"}]}, {"featureType": "water", "elementType": "labels", "stylers": [{"visibility": "on"}, {"lightness": -25}, {"saturation": -100}]}, {"featureType": "water", "elementType": "geometry", "stylers": [{"hue": "#ffff00"}, {"lightness": -25}, {"saturation": -97}]}];
42 |
43 | map.set('styles', styles);
44 |
45 |
46 | }
47 |
48 | google.maps.event.addDomListener(window, 'load', initMap);
49 | });
--------------------------------------------------------------------------------
/source/js/preloader.js:
--------------------------------------------------------------------------------
1 | //
--------------------------------------------------------------------------------
/source/js/project_index.js:
--------------------------------------------------------------------------------
1 | $(function () {
2 | $('.project-item.project').on('touch click', function () {
3 | window.location.href = $(this).data('url');
4 | });
5 | });
--------------------------------------------------------------------------------
/source/js/scrolling-nav.js:
--------------------------------------------------------------------------------
1 | //jQuery for page scrolling feature - requires jQuery Easing plugin
2 | $(function() {
3 | $('a.page-scroll').bind('click', function(event) {
4 | var $anchor = $(this);
5 | $('html, body').stop().animate({
6 | scrollTop: $($anchor.attr('href')).offset().top
7 | }, 1500, 'easeInOutExpo');
8 | event.preventDefault();
9 | });
10 | });
11 |
--------------------------------------------------------------------------------
/source/js/stickUp.min.js:
--------------------------------------------------------------------------------
1 | jQuery(function($){$(document).ready(function(){var contentButton = [];var contentTop = [];var content = [];var lastScrollTop = 0;var scrollDir = '';var itemClass = '';var itemHover = '';var menuSize = null;var stickyHeight = 0;var stickyMarginB = 0;var currentMarginT = 0;var topMargin = 0;$(window).scroll(function(event){var st = $(this).scrollTop();if (st > lastScrollTop){scrollDir = 'down';} else {scrollDir = 'up';}lastScrollTop = st;});$.fn.stickUp = function( options ) {$(this).addClass('stuckMenu');var objn = 0;if(options != null) {for(var o in options.parts) {if (options.parts.hasOwnProperty(o)){content[objn] = options.parts[objn];objn++;}}if(objn == 0) {console.log('error:needs arguments');}itemClass = options.itemClass;itemHover = options.itemHover;if(options.topMargin != null) {if(options.topMargin == 'auto') {topMargin = parseInt($('.stuckMenu').css('margin-top'));} else {if(isNaN(options.topMargin) && options.topMargin.search("px") > 0){topMargin = parseInt(options.topMargin.replace("px",""));} else if(!isNaN(parseInt(options.topMargin))) {topMargin = parseInt(options.topMargin);} else {console.log("incorrect argument, ignored.");topMargin = 0;} }} else {topMargin = 0;}menuSize = $('.'+itemClass).size();}stickyHeight = parseInt($(this).height());stickyMarginB = parseInt($(this).css('margin-bottom'));currentMarginT = parseInt($(this).next().closest('div').css('margin-top'));vartop = parseInt($(this).offset().top);};$(document).on('scroll', function() {varscroll = parseInt($(document).scrollTop());if(menuSize != null){for(var i=0;i < menuSize;i++){contentTop[i] = $('#'+content[i]+'').offset().top;function bottomView(i) {contentView = $('#'+content[i]+'').height()*.4;testView = contentTop[i] - contentView;if(varscroll > testView){$('.'+itemClass).removeClass(itemHover);$('.'+itemClass+':eq('+i+')').addClass(itemHover);} else if(varscroll < 50){$('.'+itemClass).removeClass(itemHover);$('.'+itemClass+':eq(0)').addClass(itemHover);}}if(scrollDir == 'down' && varscroll > contentTop[i]-50 && varscroll < contentTop[i]+50) {$('.'+itemClass).removeClass(itemHover);$('.'+itemClass+':eq('+i+')').addClass(itemHover);}if(scrollDir == 'up') {bottomView(i);}}}if(vartop < varscroll + topMargin){$('.stuckMenu').addClass('isStuck');$('.stuckMenu').next().closest('div').css({'margin-top': stickyHeight + stickyMarginB + currentMarginT + 'px'}, 10);$('.stuckMenu').css("position","fixed");$('.isStuck').css({top: '0px'}, 10, function(){});};if(varscroll + topMargin < vartop){$('.stuckMenu').removeClass('isStuck');$('.stuckMenu').next().closest('div').css({'margin-top': currentMarginT + 'px'}, 10);$('.stuckMenu').css("position","relative");};});});});
--------------------------------------------------------------------------------
/source/js/test.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/O-Marshal/go-compiler/e92ca50b99308573a73fcb9f9e0bd66cd9bbefb5/source/js/test.js
--------------------------------------------------------------------------------
/source/js/validator.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Validator v0.10.2 for Bootstrap 3, by @1000hz
3 | * Copyright 2016 Cina Saffary
4 | * Licensed under http://opensource.org/licenses/MIT
5 | *
6 | * https://github.com/1000hz/bootstrap-validator
7 | */
8 |
9 | +function(a){"use strict";function b(b){return b.is('[type="checkbox"]')?b.prop("checked"):b.is('[type="radio"]')?!!a('[name="'+b.attr("name")+'"]:checked').length:a.trim(b.val())}function c(b){return this.each(function(){var c=a(this),e=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b),f=c.data("bs.validator");(f||"destroy"!=b)&&(f||c.data("bs.validator",f=new d(this,e)),"string"==typeof b&&f[b]())})}var d=function(c,e){this.options=e,this.$element=a(c),this.$inputs=this.$element.find(d.INPUT_SELECTOR),this.$btn=a('button[type="submit"], input[type="submit"]').filter('[form="'+this.$element.attr("id")+'"]').add(this.$element.find('input[type="submit"], button[type="submit"]')),e.errors=a.extend({},d.DEFAULTS.errors,e.errors);for(var f in e.custom)if(!e.errors[f])throw new Error("Missing default error message for custom validator: "+f);a.extend(d.VALIDATORS,e.custom),this.$element.attr("novalidate",!0),this.toggleSubmit(),this.$element.on("input.bs.validator change.bs.validator focusout.bs.validator",d.INPUT_SELECTOR,a.proxy(this.onInput,this)),this.$element.on("submit.bs.validator",a.proxy(this.onSubmit,this)),this.$element.find("[data-match]").each(function(){var c=a(this),d=c.data("match");a(d).on("input.bs.validator",function(){b(c)&&c.trigger("input.bs.validator")})})};d.INPUT_SELECTOR=':input:not([type="submit"], button):enabled:visible',d.FOCUS_OFFSET=20,d.DEFAULTS={delay:500,html:!1,disable:!0,focus:!0,custom:{},errors:{match:"Does not match",minlength:"Not long enough"},feedback:{success:"glyphicon-ok",error:"glyphicon-remove"}},d.VALIDATORS={"native":function(a){var b=a[0];return b.checkValidity?b.checkValidity():!0},match:function(b){var c=b.data("match");return!b.val()||b.val()===a(c).val()},minlength:function(a){var b=a.data("minlength");return!a.val()||a.val().length>=b}},d.prototype.onInput=function(b){var c=this,d=a(b.target),e="focusout"!==b.type;this.validateInput(d,e).done(function(){c.toggleSubmit()})},d.prototype.validateInput=function(c,d){var e=b(c),f=c.data("bs.validator.previous"),g=c.data("bs.validator.errors");if(f===e)return a.Deferred().resolve();c.data("bs.validator.previous",e),c.is('[type="radio"]')&&(c=this.$element.find('input[name="'+c.attr("name")+'"]'));var h=a.Event("validate.bs.validator",{relatedTarget:c[0]});if(this.$element.trigger(h),!h.isDefaultPrevented()){var i=this;return this.runValidators(c).done(function(b){c.data("bs.validator.errors",b),b.length?d?i.defer(c,i.showErrors):i.showErrors(c):i.clearErrors(c),g&&b.toString()===g.toString()||(h=b.length?a.Event("invalid.bs.validator",{relatedTarget:c[0],detail:b}):a.Event("valid.bs.validator",{relatedTarget:c[0],detail:g}),i.$element.trigger(h)),i.toggleSubmit(),i.$element.trigger(a.Event("validated.bs.validator",{relatedTarget:c[0]}))})}},d.prototype.runValidators=function(c){function e(a){return c.data(a+"-error")||c.data("error")||"native"==a&&c[0].validationMessage||h.errors[a]}var f=[],g=a.Deferred(),h=this.options;return c.data("bs.validator.deferred")&&c.data("bs.validator.deferred").reject(),c.data("bs.validator.deferred",g),a.each(d.VALIDATORS,a.proxy(function(a,d){if((b(c)||c.attr("required"))&&(c.data(a)||"native"==a)&&!d.call(this,c)){var g=e(a);!~f.indexOf(g)&&f.push(g)}},this)),!f.length&&b(c)&&c.data("remote")?this.defer(c,function(){var d={};d[c.attr("name")]=b(c),a.get(c.data("remote"),d).fail(function(a,b,c){f.push(e("remote")||c)}).always(function(){g.resolve(f)})}):g.resolve(f),g.promise()},d.prototype.validate=function(){var b=this;return a.when(this.$inputs.map(function(){return b.validateInput(a(this),!1)})).then(function(){b.toggleSubmit(),b.focusError()}),this},d.prototype.focusError=function(){if(this.options.focus){var b=a(".has-error:first :input");0!==b.length&&(a(document.body).animate({scrollTop:b.offset().top-d.FOCUS_OFFSET},250),b.focus())}},d.prototype.showErrors=function(b){var c=this.options.html?"html":"text",d=b.data("bs.validator.errors"),e=b.closest(".form-group"),f=e.find(".help-block.with-errors"),g=e.find(".form-control-feedback");d.length&&(d=a("").addClass("list-unstyled").append(a.map(d,function(b){return a("")[c](b)})),void 0===f.data("bs.validator.originalContent")&&f.data("bs.validator.originalContent",f.html()),f.empty().append(d),e.addClass("has-error has-danger"),e.hasClass("has-feedback")&&g.removeClass(this.options.feedback.success)&&g.addClass(this.options.feedback.error)&&e.removeClass("has-success"))},d.prototype.clearErrors=function(a){var c=a.closest(".form-group"),d=c.find(".help-block.with-errors"),e=c.find(".form-control-feedback");d.html(d.data("bs.validator.originalContent")),c.removeClass("has-error has-danger"),c.hasClass("has-feedback")&&e.removeClass(this.options.feedback.error)&&b(a)&&e.addClass(this.options.feedback.success)&&c.addClass("has-success")},d.prototype.hasErrors=function(){function b(){return!!(a(this).data("bs.validator.errors")||[]).length}return!!this.$inputs.filter(b).length},d.prototype.isIncomplete=function(){function c(){return!b(a(this))}return!!this.$inputs.filter("[required]").filter(c).length},d.prototype.onSubmit=function(a){this.validate(),(this.isIncomplete()||this.hasErrors())&&a.preventDefault()},d.prototype.toggleSubmit=function(){this.options.disable&&this.$btn.toggleClass("disabled",this.isIncomplete()||this.hasErrors())},d.prototype.defer=function(b,c){return c=a.proxy(c,this,b),this.options.delay?(window.clearTimeout(b.data("bs.validator.timeout")),void b.data("bs.validator.timeout",window.setTimeout(c,this.options.delay))):c()},d.prototype.destroy=function(){return this.$element.removeAttr("novalidate").removeData("bs.validator").off(".bs.validator").find(".form-control-feedback").removeClass([this.options.feedback.error,this.options.feedback.success].join(" ")),this.$inputs.off(".bs.validator").removeData(["bs.validator.errors","bs.validator.deferred","bs.validator.previous"]).each(function(){var b=a(this),c=b.data("bs.validator.timeout");window.clearTimeout(c)&&b.removeData("bs.validator.timeout")}),this.$element.find(".help-block.with-errors").each(function(){var b=a(this),c=b.data("bs.validator.originalContent");b.removeData("bs.validator.originalContent").html(c)}),this.$element.find('input[type="submit"], button[type="submit"]').removeClass("disabled"),this.$element.find(".has-error, .has-danger").removeClass("has-error has-danger"),this};var e=a.fn.validator;a.fn.validator=c,a.fn.validator.Constructor=d,a.fn.validator.noConflict=function(){return a.fn.validator=e,this},a(window).on("load",function(){a('form[data-toggle="validator"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery);
--------------------------------------------------------------------------------