-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
- Loading branch information
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,214 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
|
||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> | ||
<meta http-equiv="X-UA-Compatible" content="ie=edge"> | ||
<title>404 - 前端不是终点</title> | ||
<style> | ||
body { | ||
font-family: 'Nova Flat', cursive; | ||
background-color: #DFDFF7; | ||
color: #666; | ||
} | ||
|
||
.pad-top { | ||
padding-top: 60px; | ||
} | ||
|
||
.text-center { | ||
text-align: center; | ||
} | ||
|
||
#error-link { | ||
font-size: 150px; | ||
padding: 10px; | ||
} | ||
|
||
.goback a { | ||
display: inline-block; | ||
padding: 5px; | ||
color: #fff; | ||
background: #8D8DE3; | ||
} | ||
</style> | ||
</head> | ||
|
||
<body> | ||
<div class="container"> | ||
<div class="pad-top text-center"> | ||
<div class="text-center"> | ||
<h1> What have you done? </h1> | ||
<h5> Now Go Back Using Below LInk</h5> | ||
<span id="error-link"></span> | ||
<h2>! ERROR DECETED !</h2> | ||
</div> | ||
</div> | ||
<div class="text-center goback"> | ||
<a href="/">GO TO HOME PAGE</a> | ||
</div> | ||
</div> | ||
<!--Core JavaScript file --> | ||
<!-- <script src="js/jquery-1.10.2.js"></script> --> | ||
<script type="text/javascript" src="/lib/jquery/index.js"></script> | ||
<script> | ||
"use strict"; | ||
function countUp(target, startVal, endVal, decimals, duration, options) { | ||
|
||
// default options | ||
this.options = options || { | ||
useEasing: true, // toggle easing | ||
useGrouping: true, // 1,000,000 vs 1000000 | ||
separator: ',', // character to use as a separator | ||
decimal: '.' // character to use as a decimal | ||
} | ||
var lastTime = 0; | ||
var vendors = ['webkit', 'moz', 'ms']; | ||
for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { | ||
window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame']; | ||
window.cancelAnimationFrame = | ||
window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame']; | ||
} | ||
if (!window.requestAnimationFrame) { | ||
window.requestAnimationFrame = function (callback, element) { | ||
var currTime = new Date().getTime(); | ||
var timeToCall = Math.max(0, 16 - (currTime - lastTime)); | ||
var id = window.setTimeout(function () { callback(currTime + timeToCall); }, | ||
timeToCall); | ||
lastTime = currTime + timeToCall; | ||
return id; | ||
} | ||
} | ||
if (!window.cancelAnimationFrame) { | ||
window.cancelAnimationFrame = function (id) { | ||
clearTimeout(id); | ||
} | ||
} | ||
|
||
var self = this; | ||
|
||
this.d = (typeof target === 'string') ? document.getElementById(target) : target; | ||
this.startVal = Number(startVal); | ||
this.endVal = Number(endVal); | ||
this.countDown = (this.startVal > this.endVal) ? true : false; | ||
this.startTime = null; | ||
this.timestamp = null; | ||
this.remaining = null; | ||
this.frameVal = this.startVal; | ||
this.rAF = null; | ||
this.decimals = Math.max(0, decimals || 0); | ||
this.dec = Math.pow(10, this.decimals); | ||
this.duration = duration * 1000 || 2000; | ||
|
||
// Robert Penner's easeOutExpo | ||
this.easeOutExpo = function (t, b, c, d) { | ||
return c * (-Math.pow(2, -10 * t / d) + 1) * 1024 / 1023 + b; | ||
} | ||
this.count = function (timestamp) { | ||
|
||
if (self.startTime === null) self.startTime = timestamp; | ||
|
||
self.timestamp = timestamp; | ||
|
||
var progress = timestamp - self.startTime; | ||
self.remaining = self.duration - progress; | ||
|
||
// to ease or not to ease | ||
if (self.options.useEasing) { | ||
if (self.countDown) { | ||
var i = self.easeOutExpo(progress, 0, self.startVal - self.endVal, self.duration); | ||
self.frameVal = self.startVal - i; | ||
} else { | ||
self.frameVal = self.easeOutExpo(progress, self.startVal, self.endVal - self.startVal, self.duration); | ||
} | ||
} else { | ||
if (self.countDown) { | ||
var i = (self.startVal - self.endVal) * (progress / self.duration); | ||
self.frameVal = self.startVal - i; | ||
} else { | ||
self.frameVal = self.startVal + (self.endVal - self.startVal) * (progress / self.duration); | ||
} | ||
} | ||
|
||
// decimal | ||
self.frameVal = Math.round(self.frameVal * self.dec) / self.dec; | ||
|
||
// don't go past endVal since progress can exceed duration in the last frame | ||
if (self.countDown) { | ||
self.frameVal = (self.frameVal < self.endVal) ? self.endVal : self.frameVal; | ||
} else { | ||
self.frameVal = (self.frameVal > self.endVal) ? self.endVal : self.frameVal; | ||
} | ||
|
||
// format and print value | ||
self.d.innerHTML = self.formatNumber(self.frameVal.toFixed(self.decimals)); | ||
|
||
// whether to continue | ||
if (progress < self.duration) { | ||
self.rAF = requestAnimationFrame(self.count); | ||
} else { | ||
if (self.callback != null) self.callback(); | ||
} | ||
} | ||
this.start = function (callback) { | ||
self.callback = callback; | ||
// make sure values are valid | ||
if (!isNaN(self.endVal) && !isNaN(self.startVal)) { | ||
self.rAF = requestAnimationFrame(self.count); | ||
} else { | ||
console.log('countUp error: startVal or endVal is not a number'); | ||
self.d.innerHTML = '--'; | ||
} | ||
return false; | ||
} | ||
this.stop = function () { | ||
cancelAnimationFrame(self.rAF); | ||
} | ||
this.reset = function () { | ||
self.startTime = null; | ||
cancelAnimationFrame(self.rAF); | ||
self.d.innerHTML = self.formatNumber(self.startVal.toFixed(self.decimals)); | ||
} | ||
this.resume = function () { | ||
self.startTime = null; | ||
self.duration = self.remaining; | ||
self.startVal = self.frameVal; | ||
requestAnimationFrame(self.count); | ||
} | ||
this.formatNumber = function (nStr) { | ||
nStr += ''; | ||
var x, x1, x2, rgx; | ||
x = nStr.split('.'); | ||
x1 = x[0]; | ||
x2 = x.length > 1 ? self.options.decimal + x[1] : ''; | ||
rgx = /(\d+)(\d{3})/; | ||
if (self.options.useGrouping) { | ||
while (rgx.test(x1)) { | ||
x1 = x1.replace(rgx, '$1' + self.options.separator + '$2'); | ||
} | ||
} | ||
return x1 + x2; | ||
} | ||
self.d.innerHTML = self.formatNumber(self.startVal.toFixed(self.decimals)); | ||
}; | ||
(function ($) { | ||
var mainApp = { | ||
main_fun: function () { | ||
var count = new countUp("error-link", 10, 404, 0, 5); //CHANGE 404 TO THE ERROR VALUE AS YOU WANT | ||
window.onload = function () { | ||
count.start(); | ||
} | ||
}, | ||
initialization: function () { | ||
mainApp.main_fun(); | ||
} | ||
} | ||
$(document).ready(function () { | ||
mainApp.main_fun(); | ||
}); | ||
}(jQuery)); | ||
</script> | ||
</body> | ||
|
||
</html> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# [My Blog](https://2ue.github.io) | ||
|
||
# 构建说明 | ||
|
||
基于github的github-page | ||
使用开源项目[hexo](https://hexo.io)构建托管于`github`上的静态博客 | ||
主题采用的是@iissnan贡献的[hexo-theme-next](https://github.com/iissnan/hexo-theme-next) | ||
本人在有些地方做了一些修改,具体修改请见下列条目 | ||
|
||
|
||
# 主题改动 | ||
|
||
- 文章摘要显示的方式,见[首页](https://2ue.github.io/)和文章详情页 | ||
- 增加文章版权信息(没有用官方的版权样式) | ||
- 增加文章结尾标记 | ||
- 页面footer增加访客统计 | ||
- 页面footer增加字数统计 | ||
- 修改内容宽度 | ||
- 修改首页文章分割线 | ||
- 开启了背景canvas | ||
- ... | ||
|
||
# 文章列表 | ||
|
||
- [[2024-04-23 14:05:00 - Oh My Zsh 自动化:轻松管理多个 Git 用户身份信息](https://blog.imx0.com/post/05m1i396.html)] | ||
- [[2024-04-20 16:32:00 - 使用Github Action自动化发布npm包](https://blog.imx0.com/post/i9knerk1.html)] | ||
- [[2024-04-19 22:01:02 - 如何使用Github Actions实现自动化部署Hexo博客](https://blog.imx0.com/post/275cl921.html)] | ||
- [[2024-03-07 21:15:10 - 使用conda快速初始化项目python](https://blog.imx0.com/post/5vm1lh7e.html)] | ||
- [[2021-09-15 03:50:48 - Mac提示”xxx.app已损坏,无法打开,你应该将它移到废纸篓”的解决方法](https://blog.imx0.com/post/56i1jh21.html)] | ||
- [[2019-10-12 22:01:24 - 使用Npm Token免登陆发包](https://blog.imx0.com/post/lsu9244c.html)] | ||
- [[2018-07-22 03:47:23 - Node.js版本神器之nvm](https://blog.imx0.com/post/619on06z.html)] | ||
- [[2018-01-20 19:52:00 - Git系列常用命令之放弃修改](https://blog.imx0.com/post/8ah3s5p4.html)] | ||
- [[2017-11-30 06:53:37 - 风继续吹](https://blog.imx0.com/post/t6oopnba.html)] | ||
- [[2017-11-27 06:37:45 - 常用javascript代码片段](https://blog.imx0.com/post/g0b67ue4.html)] | ||
- [[2017-11-24 17:57:10 - 一道小小的题目引发对javascript支持正则表达式相关方法的探讨](https://blog.imx0.com/post/f358mgm5.html)] | ||
- [[2017-11-16 03:09:16 - vue中慎用style的scoped属性](https://blog.imx0.com/post/m824cy0u.html)] | ||
- [[2017-11-02 18:08:43 - 如何写一个日历组件](https://blog.imx0.com/post/wow943e6.html)] | ||
- [[2017-10-27 22:43:12 - 慎重用for...in与for...of](https://blog.imx0.com/post/2145i587.html)] | ||
- [[2017-10-16 18:16:37 - H5的Notification特性 - Web的桌面通知功能](https://blog.imx0.com/post/k0pgips8.html)] | ||
- [[2017-10-10 19:06:52 - mocha+chai使用记录](https://blog.imx0.com/post/5164uhjd.html)] | ||
- [[2017-10-10 18:06:30 - 前端测试探索](https://blog.imx0.com/post/6qn1yqkz.html)] | ||
- [[2017-08-21 22:02:36 - node和npm版本管理器nvm的安装和使用](https://blog.imx0.com/post/kqdkiqw2.html)] | ||
- [[2017-07-01 21:13:01 - Git系列之常用命令(一)](https://blog.imx0.com/post/130ppwo9.html)] | ||
- [[2017-06-16 03:11:24 - Babun导致本地SSH-KEY不可用](https://blog.imx0.com/post/447n9qgo.html)] | ||
- [[2017-04-01 01:05:06 - Javascript常用见问题之变量类型判断终极篇](https://blog.imx0.com/post/1mj936z8.html)] | ||
- [[2017-03-15 21:01:33 - windows平台下超强的cmd工具Babun使用笔记](https://blog.imx0.com/post/d9bqnro8.html)] | ||
- [[2017-01-06 07:03:29 - 使用vue框架造了一个日历控件](https://blog.imx0.com/post/2mb6p0h7.html)] | ||
- [[2017-01-01 07:33:08 - <2016/><2017>](https://blog.imx0.com/post/7ft694p3.html)] | ||
- [[2016-11-22 23:39:04 - 移动端适配方案](https://blog.imx0.com/post/5av4m4yi.html)] | ||
- [[2016-09-25 04:46:41 - 使用webpack + gulp构建项目](https://blog.imx0.com/post/3e4nf265.html)] | ||
- [[2016-09-05 20:12:24 - 常用正则整理(持续收集)](https://blog.imx0.com/post/794v5n58.html)] | ||
- [[2016-08-12 05:22:35 - Javascript系列 - Javascript数组方法](https://blog.imx0.com/post/40xchoai.html)] | ||
- [[2016-06-20 23:51:17 - Git系列之新手入门](https://blog.imx0.com/post/7rrj4k61.html)] | ||
- [[2016-06-16 04:54:14 - 利用javascrit获取url传递的参数](https://blog.imx0.com/post/12ie522i.html)] | ||
- [[2016-06-14 20:39:19 - 实现数字滚动变化以及延伸](https://blog.imx0.com/post/u5nm8s0b.html)] | ||
|
||
## 博客地址 | ||
|
||
[访问](https://2ue.github.io) |