我们发现在浏览器中可以输入Python代码,而且支持语法高亮和自动缩进功能


那么,这究竟是怎么实现的呢? 这其实可以追溯到2012年时,一位叫Jose Aguinaga的国外开发者在  上分享的一个小贴士

将浏览器变成一个简易文本编辑器 一开始的功能非常简单,根本没有语法高亮,也没有自动缩进,仅仅是将浏览器变成一个文本编辑器而已

Jose分享的代码如下: 只需要将上面的代码复制粘贴到浏览器的地址栏,然后按回车,就可以让浏览器变成编辑器

是不是非常简单? 背后的原理并不高深,只是用到了Data URI格式而已

这行代码告诉浏览器渲染一个HTML页面,而这个页面具备一个H5属性:contenteditable

Dat URI是由RFC 2397定义的一种把小文件直接嵌入文档的方案

格式如下:data:[ ][;charset= ][;base64], 

其实整体可以视为三部分,即声明:参数+数据,逗号左边的是各种参数,右边的是数据

请想尝试的朋友注意,这行代码只适用于Chrome等现代浏览器

如果你还在使用IE8等过时浏览器的话,是没有效果的

各种样式衍生而出 由于上面这个小技巧的出现,激发了许多开发者的的激情,不断分享自己的版本

自动切换背景颜色 下面这段代码,可以让编辑器在你一边打字时,一遍切换背景颜色: 笔记本样式 下面这段代码可以将浏览器页面变成一个笔记本的样式,看上去很有感觉: 如何变身Python编辑器? 接下来,我们来看怎样将浏览器打造成Python编辑器

只需要在地址栏输入下面的代码即可: 这段代码是由  

事实上,我们只要简单修改一下上面的代码,就可以马上将浏览器变成其他语言的编辑器,包括Markdown、C/C++、Javscript、Java等几乎所有编程语言

你所要做的,只是将代码中的 ace/mode/python ,修改成 ace/mode/相应的语言(如java) 即可

除了支持多种语言,它还支持更改页面主题!Eclipse、Github、Textmate等众多经典主题,统统支持! 只需要将 ace/theme/textmate 中的textmate替换成你喜欢的主题即可,如monokai

渲染Markdown文本 如果你习惯于用Markdown语法写作,你或许会希望直接在页面中查看渲染后的效果

只需要输入下面这行代码即可: 输入Markdown代码之后,然后按Ctrl+M或Command+M,就可以将代码转换成HTML

背后的原理 看了这几个例子之后,大家可能已经明白了:这些示例都是通过Data URI格式让浏览器渲染一段HTML代码

而编辑器相关的样式已经写在了代码中
这与将相应的HTML代码放在单独文件中打开的效果是相同的

而在前两个例子中, 代码中实际用到了一个叫ace.js的文件 ,不知道大家注意到没有?据小编了解,Ace是一个用JavaScript编写的可嵌入式代码编辑器,据称和Sublime、Vim和TextMate等原生编辑的功能和性能相当

而且,它还可以非常容易滴嵌入到任意网页或JavaScript应用中

而Ace也是一个叫  的在线集成开发环境所使用的主要编辑器

具体效果请看下图: SlimText 程序员都是爱折腾的物种

有的开发者还是不满足于上面那种手动输入代码、将浏览器变成编辑器的方法,甚至是直接将真正的编辑器搬到了浏览器中运行




欢迎投稿 职场/创业方向. 邮箱wangfzcom(AT)163.com:王夫子社区 » 浏览器既摇身一变成为代码编辑器!pdf,txt教程

    标签:

点评 0

评论前必须登录!

登陆 注册