Skip to content

Commit 8418965

Browse files
committed
sublime配置+grunt构建检查
1 parent 37b7f47 commit 8418965

12 files changed

+507
-3
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
_site

_config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ name: Code Guide by @AlloyTeam
22
description: Standards for developing flexible, durable, and sustainable HTML and CSS, and maintainable JavaScript
33
url: https://github.com/AlloyTeam/CodeGuide
44

5+
include: [".editorconfig", ".jscsrc", ".jshintrc"]
6+
57
markdown: rdiscount
68
permalink: pretty
79
pygments: true

_includes/check.html

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
<div class="heading" id="check">
2+
<h2>编辑器配置和构建检查</h2>
3+
</div>
4+
5+
<div class="section" id="check-sublime3">
6+
<div class="col">
7+
<h3>sublime3插件</h3>
8+
<ol>
9+
<li>
10+
<p>安装node包</p>
11+
<ul>
12+
<li>jscs <code>npm install jscs -g</code></li>
13+
<li>jscs <code>npm install jshint -g</code></li>
14+
<li>jscs <code>npm install csscomb -g</code></li>
15+
</ul>
16+
</li>
17+
<li>
18+
<p>安装sublime3 <a href="https://packagecontrol.io/installation#st3">Package Control</a></p>
19+
<ul>
20+
<li>按下 <code>ctrl+`</code></li>
21+
<li>复制粘贴以下代码 <code>import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)</code></li>
22+
</ul>
23+
</li>
24+
<li>
25+
<p>安装sublime3插件</p>
26+
<ul>
27+
<li>按下 <code>ctrl+shift+p</code>,输入'ip'(Install Package)</li>
28+
<li>
29+
<p>输入以下插件的名字,按顺序逐个进行安装:</p>
30+
<ul style="list-style: circle;">
31+
<li><code>EditorConfig</code></li>
32+
<li><code>SublimeLinter</code></li>
33+
<li><code>SublimeLinter-jscs</code></li>
34+
<li><code>SublimeLinter-jshint</code></li>
35+
<li><code>JSFormat</code></li>
36+
<li><code>CSScomb</code></li>
37+
</ul>
38+
</li>
39+
</ul>
40+
</li>
41+
<li>
42+
<p>插件的配置文件</p>
43+
<p>将以下配置文件分别下载后放入项目根目录下:</p>
44+
<ul>
45+
<li><code>EditorConfig</code> <a href=".editorconfig" download=".editorconfig">配置文件</a></li>
46+
<li><code>JSCS</code> <a href=".jscsrc" download=".jscsrc">配置文件</a></li>
47+
<li><code>JSHint</code> <a href=".jshintrc" download=".jshintrc">配置文件</a></li>
48+
</ul>
49+
</li>
50+
<li>
51+
<p>编辑器及插件设置</p>
52+
<ul>
53+
<li>
54+
<p><code>sublime3</code> 自身</p>
55+
<p>Preferences->Setting-User,增加下面两个配置:</p>
56+
{% highlight json %}{% include check/sublime_setting_user.json %}{% endhighlight %}
57+
<p>点击右下角的Spaces->Convert Indentation to Spaces可以将文件中的所有tab转换成空格</p>
58+
</li>
59+
<li>
60+
<p><code>JSFormat</code></p>
61+
<p>Preferences->Package Settings->JSFormat->Setting-User,下载<a href="jsformat_setting_user.json" download="jsformat_setting_user.json">配置文件</a>覆盖</p>
62+
<p>配置好后格式化的默认快捷键是 <code>ctrl+alt+f</code></p>
63+
</li>
64+
<li>
65+
<p><code>SublimeLinter</code></p>
66+
<p>右键->SublimeLinter->Lint Mode,有4种检查模式,建议选择 <code>Load/save</code></p>
67+
<p>右键->SublimeLinter->Mark Style,建议选择 <code>Outline</code></p>
68+
<p>右键->SublimeLinter->Choose Gutter Theme,建议选择 <code>Blueberry-round</code></p>
69+
<p>右键->SublimeLinter->Show Errors on Save</p>
70+
<p>右键->SublimeLinter->Open User Settings,将linter里面jscs的args改成 <code>["--verbose"]</code></p>
71+
<p>当光标处于有错误的代码行时,详细的错误信息会显示在下面的状态栏中</p>
72+
<p>右键->SublimeLinter可以看到所有的快捷键,其中 <code>ctrl+k, a</code> 可以列出所有错误</p>
73+
</li>
74+
<li>
75+
<p><code>CSScomb</code></p>
76+
<p>Preferences->Package Settings->CSScomb->Setting-User,下载<a href="csscomb_setting_user.json" download="csscomb_setting_user.json">配置文件</a>覆盖</p>
77+
<p>配置好后格式化的默认快捷键是 <code>ctrl+alt+c</code></p>
78+
</li>
79+
</ul>
80+
</li>
81+
</ol>
82+
</div>
83+
</div>
84+
85+
<div class="section" id="check-grunt">
86+
<div class="col">
87+
<h3>grunt插件</h3>
88+
<ol>
89+
<li>
90+
<p>在项目中安装grunt插件</p>
91+
<ul>
92+
<li>jscs <code>npm install grunt-jscs --save-dev</code></li>
93+
<li>jshint <code>npm install grunt-contrib-jshint --save-dev</code></li>
94+
</ul>
95+
</li>
96+
<li>
97+
<p>插件的配置文件</p>
98+
<ul>
99+
<li>
100+
<code>JSCS</code>
101+
{% highlight javascript %}{% include check/grunt_jscs.js %}{% endhighlight %}
102+
</li>
103+
<li>
104+
<code>JSHint</code>
105+
{% highlight javascript %}{% include check/grunt_jshint.js %}{% endhighlight %}
106+
</li>
107+
</ul>
108+
</li>
109+
</ol>
110+
</div>
111+
</div>

_includes/check/grunt_jscs.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
options: {
3+
config: true,
4+
verbose: true
5+
},
6+
files: {
7+
src: [...]
8+
}
9+
}

_includes/check/grunt_jshint.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
options: {
3+
jshintrc: true
4+
},
5+
files: {
6+
src: [...]
7+
}
8+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"translate_tabs_to_spaces": true,
3+
"word_wrap": true
4+
}

_includes/directory.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,11 @@ <h4><a href="#javascript">JavaScript</a></h4>
7171
<li><a href="#js-miscellaneous">杂项</a></li>
7272
</ul>
7373
</div>
74+
<div class="col">
75+
<h4><a href="#check">编辑器配置和构建检查</a></h4>
76+
<ul>
77+
<li><a href="#check-sublime">sublime3插件</a></li>
78+
<li><a href="#check-grunt">grunt插件</a></li>
79+
</ul>
80+
</div>
7481
</div>

_includes/js_rules.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,9 +265,9 @@ <h3>jshint</h3>
265265
<p>用'===', '!=='代替'==', '!=';</p>
266266
<p>for-in里一定要有hasOwnProperty的判断;</p>
267267
<p>不要在内置对象的原型上添加方法,如Array, Date;</p>
268+
<p>不要在内层作用域的代码里声明了变量,之后却访问到了外层作用域的同名变量;</p>
268269
<p>变量不要先使用后声明;</p>
269270
<p>不要在一句代码中单单使用构造函数,记得将其赋值给某个变量;</p>
270-
<p>不要在内层作用域的代码里声明了变量,之后却访问到了外层作用域的同名变量;</p>
271271
<p>不要在同个作用域下声明同名变量;</p>
272272
<p>不要在一些不需要的地方加括号,例:delete(a.b);</p>
273273
<p>不要使用未声明的变量(全局变量需要加到.jshintrc文件的globals属性里面);</p>

0 commit comments

Comments
 (0)