更新日志 150827 - 橙须猿们,怒吼吧!

今天真的是一个非常值得大家期待的日子,因为,今天简书君为大家带来了一个很有腔调的升级哦!

那便是,橙须猿们期待已久的,<big><big>代码上色!</big></big>靐靐靐!!!(此处应有雷鸣般的掌声~~~)

先让我们来看一下效果吧~~~

```javascript
// This is javascript
function alohaKosmos (msg) {
    var words = ['Aloha', "Kosmos", ':']; 
    console.log(words.join(' '), msg);
}
alohaKosmos('Tartarus Chronos Riddle');
```

```java
// This is Java
void alohaKosmos (String msg) {
    String word1 = "Aloha ";
    String word2 = "Kosmos ";
    String word3 = ": ";
    Log.i("Call Me God", word1 + word2 + word3 + msg);
}
alohaKosmos("Tartarus Chronos Riddle");
```

下面是在白天模式和黑夜模式下的效果图:

白天模式下的代码块

黑夜模式下的代码块

程序员们是不是突然感觉好亲切,好激动?

下面就让我们一起来看看关于代码块的那些小技巧吧~~~


首先,代码块的Markdown语法,是这样的:

也就是说,用三个`或者~包围起来的一个段落,就构成了一个代码块,而代码块里的所有样式都会被原封不动地保留,比如回车和制表符。
代码块的这一标示符(`或者~)必须成对出现,用```开始代码块无法通过~~~来结束,同样的用~~~开始的代码块也无法用```来结束。

而在代码块开始标示符之后,可以跟上这个代码块所用的语言名,请注意要用小写。
比如说,你可以指定这块代码的语言是javascript,那么此后哪怕你使用VB来写代码,这块代码也会强制使用javascript的规则来上色,比如下面这样:

```javascript
Dim total as Integer = 10
Dim index as Integer = 1
Dim result as String = ""
For index = 1 to 10 step 1
    result += " 傻瓜"
End For
Print(result)
```

出来的效果就是这样的:

你看,完全不是VB语法的上色结果。

当然,你也可以不指定所用语言,这样简书君会自动识别代码块中的语言,然后上色,只不过,可能效果和你想要的完全不同,比如下面这个:

```
Dim total as Integer = 10
Dim index as Integer = 1
Dim result as String = ""
For index = 1 to 10 step 1
    result += " 傻瓜"
End For
Print(result)
```

上面这段VB被识别成了Mathematica了(不过,别说,效果还不错~~):

因此,如果想要上色尽可能地理想的话,请尽量为你的代码写上所用代码的语言名哟~~~

我们现在所支持的语言包括下面这些:

bash | c | cpp (C++) | cs (C#) | objectivec (Objective-C) | swift | java | css | xml (HTML, XML) | javascript | coffeescript | json | php | perl | python | ruby | sql | mathematica | matlab | r | scala | lisp | scheme | markdown | tex

相信已经可以满足大部分程序员的需求了吧~~~

当然,也因为不写代码语言一样可以识别,所以下面这种通过四个空格或者一个Tab来快速构造代码块的方法也一样可以用哟:

console.log('What Are You 弄撒来?');

而,为了可以更好地写代码,我们将Markdown编辑器进行了一定的小调整,现在你可以在Markdown编辑器中直接通过tab键来进行缩进了哟~~
默认情况下,一次tab是两个空格的缩进,应该可以满足大部分程序员的需求了吧?

什么?你说你要四个空格乃至一个制表符来作为默认缩进?
这个。。。这个。。。这个。。。简书君也是可以办到的!不过这属于不外传的秘术,这里就不公开了哟~~~
不过相信身为橙须猿攻城狮的你一定可以找到解决的办法的~~~

需要提醒的是,目前代码上色功能只在完整版网页上支持,手机上考虑到种种因素暂不支持代码上色,请大家见谅!

而目前我们所用的上色规则,是Solarize的Light/Dark风格,分别对应了白天模式与黑夜模式,应该也是挺护目的吧~


最后,祝广大程序员喜欢这次更新,如果有别的需求也请在下方留言,简书君一定会认真对待的哟!

再次感谢大家的惠顾!我们下次见~~~

推荐阅读更多精彩内容