Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 1101047

Browse filesBrowse files
committed
添加文章
1 parent 29308ed commit 1101047
Copy full SHA for 1101047

File tree

Expand file treeCollapse file tree

3 files changed

+372
-0
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

3 files changed

+372
-0
lines changed
Open diff view settings
Collapse file
+178Lines changed: 178 additions & 0 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
---
2+
layout: post
3+
title: "HEXO搭建个人博客"
4+
date: 2015-08-25 21:15:06
5+
description: "HEXO配置,HEXO+Github,搭建自己的博客"
6+
category: 博客
7+
tag: [博客]
8+
---
9+
10+
# HEXO
11+
12+
经过各种找资料,踩过何种坑,终于搭建好了hexo,域名目前用得时github的,我的hexo是3.1.1版本,hexo不同的版本,很多配置都不一样。好吧,废话不多说了,开始吧。
13+
14+
<!--break-->
15+
16+
## 正文:
17+
这边教程是针对与Mac的,[参考链接](http://ibruce.info/2013/11/22/hexo-your-blog/?utm_source=tuicool),由于原文讲到的hexo是以前的老版本,所以现在的版本配置的时候会有些改动。
18+
19+
之前是想着写博客,一方面是给自己做笔记,可以提升自己的写作、总结能力,一个技术点我们会使用,并不难,但是要做到让让别人也能听懂我们讲得,还是需要一定的技巧和经验的。很多类似于CSDN、博客园也都可以写文章,但是页面的样式我,不是太喜欢,简书还算好点得。最近看到一些大神们的博客(在我的友情链接里有),貌似都是用hexo写得,我也依葫芦画瓢的搭建了一个。不罗嗦了,直接上搭建步骤。
20+
21+
## 配置环境
22+
### 安装Node(必须)
23+
作用:用来生成静态页面的
24+
到Node.js[官网](https://nodejs.org/)下载相应平台的最新版本,一路安装即可。
25+
26+
### 安装Git(必须)
27+
作用:把本地的hexo内容提交到github上去.
28+
安装Xcode就自带有Git,我就不多说了。
29+
30+
### 申请GitHub(必须)
31+
作用:是用来做博客的远程创库、域名、服务器之类的,怎么与本地hexo建立连接等下讲。
32+
[github](https://github.com/)账号我也不再啰嗦了,没有的话直接申请就行了,跟一般的注册账号差不多,SSH Keys,看你自己了,可以不配制,不配置的话以后每次对自己的博客有改动提交的时候就要手动输入账号密码,配置了就不需要了,怎么配置我就不多说了,网上有很多教程。
33+
34+
### 正式安装HEXO
35+
Node和Git都安装好后,可执行如下命令安装hexo:
36+
``` bash
37+
sudo npm install -g hexo
38+
```
39+
### 初始化
40+
然后,执行init命令初始化hexo到你指定的目录,我是直接cd到目标目录执行hexo init的。命令:
41+
``` bash
42+
hexo init
43+
```
44+
好啦,至此,全部安装工作已经完成!
45+
46+
### 生成静态页面
47+
cd 到你的init目录,执行如下命令,生成静态页面至hexo\public\目录。
48+
``` bash
49+
hexo generate (hexo g 也可以)
50+
```
51+
52+
### 本地启动
53+
启动本地服务,进行文章预览调试,命令:
54+
``` bash
55+
hexo server
56+
```
57+
浏览器输入[http://localhost:4000](就可以看到最原始的效果了)
58+
我不知道你们能不能,反正我不能,因为我还有环境没配置好
59+
60+
我把我报的一些错,和解决方式列出来:
61+
##
62+
``` bash
63+
ERROR Plugin load failed: hexo-server
64+
```
65+
原因:
66+
``` bash
67+
Besides, utilities are separated into a standalone module. hexo.util is not reachable anymore.
68+
```
69+
### 解决方法,执行命令:
70+
``` bash
71+
sudo npm install hexo-server
72+
```
73+
74+
##
75+
执行命令hexo server,有如下提示:
76+
Usage: hexo<Command>
77+
....
78+
原因:
79+
我认为是没有生成本地服务
80+
解决方法,执行命令:
81+
``` bash
82+
npm install hexo-server --save
83+
```
84+
提示:hexo-server@0.1.2 node_modules/hexo-server
85+
....
86+
表示成功了[参考](https://hexo.io/zh-cn/docs/server.html)
87+
88+
这个时候再执行:
89+
``` bash
90+
hexo-server
91+
```
92+
得到:
93+
``` bash
94+
INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
95+
```
96+
这个时候再点击[http://0.0.0.0:4000](http://0.0.0.0:4000),正常情况下应该是最原始的画面,但是我看到的是:
97+
白板和Cannot GET / 几个字
98+
原因:
99+
由于2.6以后就更新了,我们需要手动配置些东西,我们需要输入下面三行命令:
100+
``` bash
101+
npm install hexo-renderer-ejs --save
102+
```
103+
``` bash
104+
npm install hexo-renderer-stylus --save
105+
```
106+
``` bash
107+
npm install hexo-renderer-marked --save
108+
```
109+
这个时候再重新生成静态文件,命令:
110+
``` bash
111+
hexo generate (或hexo g)
112+
```
113+
启动本地服务器:
114+
``` bash
115+
hexo server (或hexo s)
116+
```
117+
再,点击网址[http://0.0.0.0:4000](http://0.0.0.0:4000) OK终于可以看到属于你自己的blog啦,?,虽然很简陋,但好歹有了一个属于自己的小窝了。[参考链接](https://disqus.com/home/discussion/bsspirit/hexogithubweb/),本地已经简单的设置好了,但是现在域名和服务器都是基于自己的电脑,接下来需要跟github进行关联。
118+
119+
## 配置Github
120+
### 建立Repository
121+
建立与你用户名对应的仓库,仓库名必须为【your_user_name.github.io】,固定写法
122+
然后建立关联,我的blog在本地/Users/leopard/blog,blog是我之前建的东西也全在这里面,有:
123+
``` bash
124+
_config.yml node_modules public source
125+
db.json package.json scaffolds themes
126+
```
127+
现在我们需要_config.yml文件,来建立关联,命令:
128+
``` bash
129+
vim _config.yml
130+
```
131+
翻到最下面,改成我这样子的
132+
``` bash
133+
deploy:
134+
type: git
135+
repository: https://github.com/leopardpan/leopardpan.github.io.git
136+
branch: master
137+
```
138+
网上会有很多说法,有的type是github, 还有repository 最后面的后缀也不一样,是github.com.git,我也踩了很多坑,我现在的版本是hexo: 3.1.1,执行命令hexo -vsersion就出来了,貌似3.0后全部改成我上面这种格式了。
139+
忘了说了,我没用SSH Keys如果你用了SSH Keys的话直接在github里复制SSH的就行了,总共就两种协议,相信你懂的。
140+
然后,执行配置命令:
141+
``` bash
142+
hexo deploy
143+
```
144+
然后再浏览器中输入[http://leopardpan.github.io/](http://leopardpan.github.io/)就行了,我的github的账户叫leopardpan,把这个改成你github的账户名就行了
145+
### 部署步骤
146+
每次部署的步骤,可按以下三步来进行。
147+
``` bash
148+
hexo clean
149+
hexo generate
150+
hexo deploy
151+
```
152+
一些常用命令:
153+
``` bash
154+
hexo new "postName" #新建文章
155+
hexo new page "pageName" #新建页面
156+
hexo generate #生成静态页面至public目录
157+
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
158+
hexo deploy #将.deploy目录部署到GitHub
159+
hexo help # 查看帮助
160+
hexo version #查看Hexo的版本
161+
```
162+
这里有大量的[主题列表](https://github.com/hexojs/hexo/wiki/Themes)使用方法里面
163+
都有详细的介绍,我就不多说了。
164+
我这里有几款个人认为不错的主题,免去你们,一个一个的选了,欢迎吐槽我的审美,?
165+
[Cover](https://github.com/daisygao/hexo-themes-cover) - A chic theme with facebook-like cover photo
166+
[Oishi](https://github.com/henryhuang/oishi) - A white theme based on Landscape plus and Writing.
167+
[Sidebar](https://github.com/hardywu/hexo-theme-sidebar) - Another theme based on Light with a simple sidebar
168+
[TKL](https://github.com/SuperKieran/TKL) - A responsive design theme for Hexo. 一个设计优雅的响应式主题
169+
[Tinnypp](https://github.com/levonlin/Tinnypp) - A clean, simple theme based on Tinny
170+
[Writing](https://github.com/yunlzheng/hexo-themes-writing) - A small and simple hexo theme based on Light
171+
[Yilia](https://github.com/litten/hexo-theme-yilia) - Responsive and simple style 优雅简洁响应式主题,我用得就是这个。
172+
[Pacman voidy](https://github.com/Voidly/pacman) - A theme with dynamic tagcloud and dynamic snow
173+
## 一些基本路径
174+
文章在source/_posts,如果你不怕麻烦的话可以跟我一样直接用vim去编辑,支持markdown语法,你有好的编辑软件,给我也推荐下,感激不尽?。如果想修改头像可以直接在主题的_config.yml文件里面修改,友情链接,之类的都在这里,修改名字在public/index.html里修改,开始打理你的博客吧,有什么问题或者建议,都可以提出来,我会继续完善的。
175+
176+
## Markdown语法参考链接
177+
[很实用的例子](https://www.zybuluo.com/mdeditor)
178+
转载请注明原地址,潘柏信的博客:[http://leopardpan.github.io](http://leopardpan.github.io) 谢谢!
Collapse file
+98Lines changed: 98 additions & 0 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
layout: post
3+
title: "iOS 9 变化笔记"
4+
date: 2015-09-26 18:15:06
5+
description: "iOS9 变化笔记, 以及工作中常遇到的问题"
6+
category: 个人笔记
7+
tag: [iOS]
8+
---
9+
10+
# iOS 9 变化笔记
11+
这里将介绍下我们日常开发一些从iOS8过度到iOS9给我们带来的一些变化,及解决方法。
12+
<!--break-->
13+
## App Transport Security
14+
15+
iOS9和OS X El Capitan的一个新特性,App Transport Security 的目地是提高Apple 操作系统的安全性以及在此操作系统上运行的任何应用的安全性。ATS是苹果针对与 NSURL这一层做的封装,iOS9后ATS默认是开启的,即网络传输需要使用HTTPS。如果想在iOS9后继续使用HTTP的话,有两条路可以走:
16+
17+
1. 在Info.plist中添加 `NSAppTransportSecurity`类型Dictionary,在`NSAppTransportSecurity`下添加`NSAllowsArbitraryLoads`,Boolean 为 YES。
18+
2. 直接使用CFNetwork做网络请求,ASIHTTPRequest就是基于CFNetwotk做的封装,如果有需求的同学可以看看ASI里面的源码,如果某个时间段你又想要使用HTTPS的话,ASI对SSL/TSL的证书验证有点问题,证书验证还得自己封装一下才行。刚才我说道,ATS是苹果针对与NSURL这一层做的封装,所以我们使用CFNetwork或者更底层做网络请求的话是不受ATS限制的。
19+
20+
21+
###移除了discoveryd DNS解析服务
22+
iPhone升级到iOS8后WiFi有时候会有问题,特别是Mac升级到OS X Yosemite后,时而电脑休眠唤醒唬就连不上WiFi,有时候还突然掉线,经常要手动去关闭WiFi在重新连接,这是因为苹果到了OS X Yosemite系统后,把之前的mDNSResponder换成了discoveryd DNS。iOS9和OS X Yosemite10.4后mDNSResponder又回来了。
23+
24+
mDNSResponder: 苹果以前一直使用控制DNS和Bonjour服务的一种进程。
25+
discoveryd:OS X Yosemite后苹果新出的一种进程。
26+
27+
## App Thinning
28+
App Thinning是一个关于节省iOS设备存储空间的功能,它可以让iOS设备在安装、更新及运行App等场景中仅下载所需的资源,减少App的占用空间,从而节省设备的存储空间。
29+
30+
### App Thinning主要有三个机制:
31+
32+
1. Slicing: 开发者把App安装包上传到AppStore后,Apple服务会自动对安装包切割为不同的应用变体(App variant), 当用户下载安装包时,系统会根据设备型号下载安装对应的单个应用变体。
33+
2. On-Demand Resources: ORD(随需资源)是指开发者对资源添加标签上传后,系统会根据App运行的情况,动态下载并加载所需资源,而在存储空间不足时,自动删除这类资源。
34+
3. Bitcode:开启Bitcode编译后,可以使得开发者上传App时只需上传Intermediate Representation(中间件),而非最终的可执行二进制文件。 在用户下载App之前,AppStore会自动编译中间件,产生设备所需的执行文件供用户下载安装。
35+
36+
其中,Bitcode的机制可以支持动态的进行App Slicing,而对于Apple未来进行硬件升级的措施,此机制可以保证在开发者不重新发布版本的情况下而兼容新的设备。Xcode7默认是开始了Bitcode,如果不想使用可以手动关闭Bitcode:
37+
38+
``` bash
39+
选择项目——>点击Target——>点击Build Setttings——>搜索栏里搜bitcode——>把Enable Bitcode对应的Yes改成No。
40+
```
41+
42+
启用Bitcode编译机制,需要注意以下几点:
43+
44+
1. 如果应用开启Bitcode,那么其集成的其他第三方库也需要是Bitcode编译的包才能真正进行Bitcode编译
45+
2. 开启Bitcode编译后,编译产生的.app体积会变大(中间代码,不是用户下载的包),且.dSYM文件不能用来崩溃日志的符号化(用户下载的包是Apple服务重新编译产生的,有产生新的符号文件),使用dSYM来收集Crash日志的同学得注意了。
46+
3. 通过Archive方式上传AppStore的包,可以在Xcode的Organizer工具中下载对应安装包的新的符号文件
47+
48+
49+
## 后台定位
50+
iOS9后苹果为了对保障用户的地理位置的隐私对App请求后台定位有了权限设置,则需要多加一些代码。如果不适配iOS9,就不能偷偷在后台定位,如果没有后台定位的权限也是可以在后台定位的,只是会出现蓝条。
51+
52+
开启后台定位功能:`locationManager.allowsBackgroundLocationUpdates = YES;`
53+
locationManager是CLLocationManager的对象,用来管理整个定位的。
54+
55+
重点:
56+
57+
> 配置info.plist,添加一个Required background modes,Array类型的,然后在Required background modes里面Item 0对应的Value设置为App registers for location updates,这样就解决了iOS9后台定位出现蓝条的问题了。
58+
59+
60+
## UI Testing
61+
Xcode7中苹果引入了一种新的方式在应用中进行测试——UI Testting,UI Testting允许我们找到UI元素与之交互,还能检查属性和状态。UI Testting已经完全集成进了Xcode7的测试报告,可以和单元测试一起执行。使用起来跟之前Xcode5出来的XCTest差不多,Xcode bots提供对此的支持,而且command line支持当UI测试失败时会立即发出通知。
62+
63+
可以参考Github上的Demo,步骤:
64+
65+
1. 在DemoTests.m里创建一个test开头的方法
66+
2. 在setUp()里启动应用 `XCUIApplication().launch()`
67+
3. 新建一个方法test开头的,在里面获取应用`let app = XCUIApplication()`
68+
4. 的到`let app = XCUIApplication()`,a`pp.buttons[“View Detail”].tap()?`。buttons是当前这个界面的所有按钮的集合,[]里面写按钮的名字,tap()就是执行这个按钮所对应的方法,可以是网络请求、界面跳转等等。
69+
70+
71+
## URL scheme
72+
73+
在iOS9中,如果使用URL scheme必须在"Info.plist"中将你要在外部调用的URL scheme列为白名单,否则不能使用。
74+
75+
配置info.plist,添加一个`LSApplicationQueriesSchemes`,Array类型的,然后在`LSApplicationQueriesSchemes`的Item里面添加urlscheme就行了,urlscheme是任意一个字符串,就是你自己需要使用的urlscheme,iOS9 URL scheme白名单适配就完成了。
76+
77+
## 出现大量的警告
78+
79+
Xcode7后运行以前的项目后出现大量的警告如:
80+
81+
```
82+
(null): warning: /var/folders/p4/z7zy68r92hd3p5ry5g2v3k_8rlwzzr/C/org.llvm.clang.dalmo/ModuleCache/1TXZDLI9N2EMV/Foundation-3DFYNEBRQSXST.pcm: No such file or directory。
83+
```
84+
85+
作为一个有洁癖的我反正是不能忍,出现警告的大致原因跟我上面提到的开启Bitcode,.dSYM文件不能用来符号化有关,Xcode试图去创建dSYM文件,但是你又不需要。
86+
87+
### 解决方法
88+
89+
1. Build Settings ——>Build Options——>Debug Information Format
90+
2. Debug下的DWARF with dsYM File改成DWARF
91+
3. Release下的还是之前默认的DWARF with dsYM File不变
92+
93+
94+
参考资料:
95+
96+
- [iOS9AdaptationTips](https://github.com/ChenYilong/iOS9AdaptationTips)
97+
- [iOS9学习系列](http://www.cocoachina.com/ios/20150821/13140.html)
98+
- [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day)

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.