0%

一些前端JS CDN开源库的国内镜像及Hexo相关配置

由于国内外互联网的环境差异,许多开源的JS库均采用海外CDN托管的方式,致使无法保证大陆的访问体验。因此特此分享一下公益项目,托管了CDNJS的所有开源JS库以及反代了Google Fonts、Ajax和Gravatar,并且全部支持http和https。该公益库每天定时同步CDN,抑或是采用Nginx的反向代理配合关键词替换的方式实现。倘若觉得麻烦,可以通过jsdelivr配合GitHub来保证境内的网络响应速度,前者貌似是唯一一家在国内取得ICP执照的公共CDN,在国内合作伙伴为网宿科技。

CDNJS 开源JS库

1
2
3
4
5
6
7
8
//所有的JS/CSS库如下链接所示:
https://cdnjs.loli.net/ajax/libs/

//如果使用 cdnjs.com 只需要替换 cdnjs.cloudflare.com 为 cdnjs.loli.net 即可,如
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.loli.net/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

//CDNJS的API开发文档请详见 https://cdnjs.com/api

Google Fonts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//只需要替换 fonts.googleapis.com 为 fonts.loli.net 即可
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet'>
<link href='https://fonts.loli.net/css?family=Open+Sans' rel='stylesheet'>

//如果需要 Material icons ,可进行如下替换:
//https://material.io/icons/
<link href='https://fonts.googleapis.com/icon?family=Material+Icons' rel='stylesheet'>
<link href='https://fonts.loli.net/icon?family=Material+Icons' rel='stylesheet'>

//如果需要 Early Access,可进行如下替换:
//https://fonts.google.com/earlyaccess
@import url(https://fonts.googleapis.com/earlyaccess/notosanskannada.css);
@import url(https://fonts.loli.net/earlyaccess/notosanskannada.css);

//如果需要下载单个字体,只需要把 fonts.gstatic.com 替换成 gstatic.loli.net 或 themes.googleusercontent.com 替换成 themes.loli.net 即可
https://fonts.gstatic.com/s/opensans/v14/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2
https://gstatic.loli.net/s/opensans/v14/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2

https://themes.googleusercontent.com/static/fonts/anonymouspro/v3/Zhfjj_gat3waL4JSju74E-V_5zh5b-_HiooIRUBwn1A.ttf
https://themes.loli.net/static/fonts/anonymouspro/v3/Zhfjj_gat3waL4JSju74E-V_5zh5b-_HiooIRUBwn1A.ttf

//Google Fonts的API文档请详见: https://developers.google.com/fonts/docs/getting_started

Google前端公共库

1
2
3
4
5
//直接替换 ajax.googleapis.com 为 ajax.loli.net 即可,如
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>
<script type='text/javascript' src='https://ajax.loli.net/ajax/libs/jquery/3.2.1/jquery.min.js'></script>

//Google前端库API开发文档详见: https://developers.google.com/speed/libraries/

Gravatar 头像

1
2
3
//直接替换 *.gravatar.com 为 gravatar.loli.net 即可
https://secure.gravatar.com/avatar/233
https://gravatar.loli.net/avatar/233

鸣谢烧饼博客的无私分享和长久以来的维护工作,再次感谢~

Hexo修改字体

修改 _config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//文件路径:~/blog/themes/next/_config.yml,将下列代码中的部分替换即可。
font:
- enable: false
+ enable: true

# Uri of fonts host. E.g. //fonts.googleapis.com (Default).
+ host: https://fonts.loli.net

# Font options:
# `external: true` will load this font family from `host` above.
# `family: Times New Roman`. Without any quotes.
# `size: xx`. Use `px` as unit.

# Global font settings used for all elements in <body>.
global:
external: true
+ family: Noto Serif SC
size:
修改 base.styl
1
2
3
4
5
//文件路径:~/blog/themes/next/source/css/_variables/base.styl
-$font-family-monospace = consolas, Menlo, $font-family-chinese, monospace
+$font-family-monospace = consolas, Menlo, $font-family-base, monospace
-$font-family-monospace = get_font_family('codes'), consolas, Menlo, $font-family-chinese, monospace if get_font_family('codes')
+$font-family-monospace = get_font_family('codes'), consolas, Menlo, $font-family-base, monospace if get_font_family('codes')
设置文字大小
1
2
3
//文件路径:~/blog/themes/next/source/css/_variables/base.styl
//_config.yml中设置size属性为16px可能效果不理想
$font-size-base = 16px
更改字体颜色
1
2
3
4
5
6
//文件路径:~/blog/themes/next/source/css/_custom/custom.styl
//新版本NexT配置文件路径为: Hexo/MyBlog/source/_data/styles.styl,须在配置文件中启用。
//修改字体颜色
body {
color: #000;
}

GitHub代理设置

Global Proxy
1
2
git config --global http.proxy http://127.0.0.1:2080
git config --global https.proxy https://127.0.0.1:2080
GitHub Proxy
1
2
3
4
5
6
7
/*可以做到国内外仓库的Git分流
*注:无论是Git的全局代理还是GitHub分流代理,都是基于HTTPS协议的。
* 仅对 git clone https://github.com/[ID]/[repositories].git生效
* 对于SSH协议依旧无效,如: git clone [email protected]:[ID]/[repositories].git
**/
git config --global http.https://github.com.proxy https://127.0.0.1:2080
git config --global https.https://github.com.proxy https://127.0.0.1:2080
Sock5 Proxy
1
2
git config --global http.https://github.com.proxy socks5://127.0.0.1:2080
git config --global https.https://github.com.proxy socks5://127.0.0.1:2080
Cancel Proxy
1
2
git config --global --unset http.proxy
git config --global --unset https.proxy
Proxy Info
1
git config --global -l

GitHub SSH设置

新建~/.ssh/config文件,内容如下:

1
2
3
Host github.com
Hostname github.com
ProxyCommand connect -S 127.0.0.1:2080 %h %p

Hexo配置文件内容进行如下调整:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Deployment
## Docs: https://hexo.io/docs/deployment.html
# git clone [email protected]:[ID]/[repositories].git
# repository: https://github.com/KuiperSirius/KuiperSirius.github.io.git
deploy:
type: 'git'
repository: [email protected]:KuiperSirius/KuiperSirius.github.io.git
branch: master

# Extensions
## Plugins: http://hexo.io/plugins/
#RSS订阅
plugin:
- hexo-generator-feed
#Feed Atom
feed:
type: atom
path: atom.xml
limit: 20

GitHub GPG设置

首先,列出您拥有其公钥和私钥的GPG密钥,签名提交或标记需要私钥:

1
2
3
4
5
6
$ gpg --list-secret-keys --keyid-format LONG
/Users/hubot/.gnupg/secring.gpg
------------------------------------
sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
uid Hubot
ssb 4096R/42B317FD4BA89E7A 2016-03-10

其次,需要让Git知道签名所用的GPG密钥ID:

1
2
git config --global user.signingkey {key_id}
$ git config --global user.signingkey 3AA5C34371567BD2

然后,在每次commit的时候,加上-S参数,表示这次提交需要用GPG密钥进行签名:

1
git commit -S -m "..."

如果觉得每次都需要手动加上-S有些麻烦,可以设置Git为每次commit自动要求签名:

1
git config --global commit.gpgsign true

但不论是否需要手动加上-S,commit时皆会弹出对话框,需要输入该密钥的密码,以确保是密钥拥有者本人操作。

  • 本文作者: 夜阑听烟雨
  • 本文链接: https://blog.kixcs.com/archives/9e1/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!