历史blog转为md文件

先都更新到hexo

完成

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
blog.map((item, key) => {
var path = 'source/_posts/' + item.time + item.title + '.md'

var head = '---\ntitle: ' + item.title + '\ndate: ' + item.time + '\n---\n'


fs.open(path, 'w', function (err, fd) {
fs.writeFile(fd, head + item.content, function (err) {
if (err) {
return console.error(err);
}
console.log(item.title + " 写入成功!")
})
})
})

sentry 学习

http://sentry.snowballfinance.com/Xueqiu/snowman/

Stop hoping your users will report errors
Open-source error tracking that helps developers monitor and fix crashes in real time. Iterate continuously. Boost efficiency. Improve user experience.

1
2
3
4
5
6
script(src="https://cdn.ravenjs.com/3.22.4/raven.min.js",crossorigin="anonymous")
script.
Raven.config('https://c34b45334b27406baa5e8c2b72f7696c@sentry.io/295728').install()
script.
console.log('asdfa')
console.log(aaa)

console.log(aaa) 这个就会报错 记录在账户里

This is a quick getting started guide. For in-depth instructions on integrating Sentry with JavaScript, view our complete documentation.

Installation
The easiest way to load Raven.js is to load it directly from our CDN. This script tag should be included after other libraries are loaded, but before your main application code (e.g. app.js):

<script src="https://cdn.ravenjs.com/3.22.4/raven.min.js" crossorigin="anonymous"></script>

For installation using npm or other package managers, see Installation.

Configuring the Client
Next you need to configure Raven.js to use your Sentry DSN:

Raven.config('https://a03b135e792c4fb483971701326c1985@sentry.io/295735').install()

It is additionally recommended (but not required) to wrap your application start using Raven.context. This can help surface additional errors in some execution contexts.

Raven.context(function () {
initMyApp();

});
At this point, Raven is ready to capture any uncaught exception.

Once you have Raven up and running, it is highly recommended to check out Configuration and Usage.