计算机编程 类目

学会编程我们能够和计算机沟通

博客侧栏显示文章目录

有些博客文章很长,像我又不喜欢给文章分页,这样一篇博客读下来鼠标要拖很久,读者比较难定位到关心的内容。解决这个问题有很多措施,一种是在文章拖到底部的时候显示一个返回顶部的按钮(做法参考博客添加回到顶部按钮),另外一种是做一个文章目录,这样就比较直观了。

TOC+插件

我之前用Table of Contents Plus插件来实现这个功能,这个插件设置还很多,我之所以选择它,是因为这个插件提供一个文章目录小工具,可以放到侧栏。其它同类的插件或者实现,都是把目录显示在文章内部,比如开头或者结尾,但是在阅读过程中,这其实还是跟没有一样。

查看全文

WordPress 使用 WP-Emmet 插件

WordPress自带的文章编辑框实在是弱爆了,曾经想换成MarkDown编辑器,但是换上它之后担心以后迁移比较麻烦,毕竟保存在数据库中的内容都是markdown文本,而不是渲染后的HTML文本。

前两天在网上无意间看到一篇讲ZenCoding的新闻,突然想起这个几年前折腾过的神器,想都不想就开始在Wordpress主页上搜索有没有相关的插件了。

ZenCoding现在貌似改成Emmet了,主页为这Emmet — the essential toolkit for web-developers。WP上搜索到一款插件,叫做WP-Emment,这款插件貌似下载的人不多。

查看全文

Shell 编码风格

Scripting with style 是少见的一篇介绍 Shell 编码风格 的文章,相信对大多数运维人员有用,现在将译文献上。

缩进准则

我一般使用2个空格来缩进(尽管大多人使用4个空格),原因是:

  • 输入简单快速;
  • 没有输入一个Tab键,避免不同环境下显示的差异问题;
  • 缩进的效果已经足够,并且没有浪费太多的空间;

译者注:本人也是使用4个空格,如果你也与本文作者的风格不一样,下面说到2个空格的地方请自觉替换成你实际使用的空格数。个人认为,缩进只是一个个人的风格,只要不影响可读性即可。

顺便说一句,尽量不要使用Tab键,它们容易带来麻烦,我只能想到一种情况下它是有用的:here document中的缩进。
查看全文

Chrome 扩展打包工具 buildcrx.sh

Chrome.exe本身就可以用来打包crx文件,但是用起来不是很方便,比如我将代码托管在Github上,在源代码目录下面会有许多目录不需要打包到crx文件中,例如.git目录,这个功能目前来说chrome.exe无法做到。幸运地是,网上有很多人写了各种版本的打包工具,有人还在一个网站上专门收集了这些打包脚本,传送门

从中我选择了crxmake.sh作为打包的基础脚本,然后再此基本上做了些定制改进,除了最基本的打包功能外,它能够做到:

  • 使用grep命令的扩展正则表达式ERE语法来排除文件;
  • 查找manifest.json文件中的update和version信息,自动生成更新后的updates.xml

下载地址:dangoakachan/buildcrx · GitHub

查看全文

CopyBetter: 增强复制扩展

CopyBetter 是我自己写的第一个Chrome扩展,可能有许多不足的地方,如果用到该扩展的同学遇到问题可以在此留言。

对Chrome的扩展开发一直比较感兴趣,春节前给自己定制了一个扩展开发的计划,扩展的主题是增强复制的功能,参考了Copy FixerAutocopy两个扩展。我把这个计划记录在为知笔记上,有段时间还一直在思考这个扩展怎么写。我觉得这个方法挺好的,写的过程中有目标

Google Chrome Web Store下载地址 | 源代码浏览

CopyBetter 描述

本扩展的目标是增强原生的扩展功能,目前有以下功能点:
查看全文

Shell 脚本避免多次重复 source

source语法的引入,使得shell的脚本也可以像其它语言一样,一份代码能够分成多个模块,基本的模块可以像库文件一样被多个脚本使用。例如/etc/init.d/functions,它被多个服务脚本使用。

source除了导入库代码的作用之外,它还可以用于导入配置文件,这个在Linux系统中使用的非常广泛,因为大多数配置文件都是文本格式的,而shell本身又没有解析过于复杂的配置文件的能力,例如xml、json等。典型的例子有,/etc/default/rcS或者/etc/sysconfig/network等等。

也正因为如此,一旦Shell脚本的代码量到达一定的规模,模块化的趋势是必然的,很多地方都会用到source,所以理解source是很有必要的。source的过程,其实就是将脚本导入到当前的执行环境下,并且依次执行其中的代码。因此对于被source的脚本来说,它的一切环境变量都是与当前环境保持一致的,被source脚本中对环境做的任何改动都会影响到当前的执行环境。

查看全文

实用 Shell 文档

Shell 文档

ChinaUnix上大神網中人总结的Shell十三问?强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点。每一问都写得非常精彩。

同样是ChinaUnix上,wingger大神整理的Shell基础二十篇。这份文档涉及的内容比较多,我没记错的话应该有很多命令的用法,而且配备实际使用的例子,对初学者帮助甚大。

Shell脚本专家指南也是一本不可多得的好书,我是之前在学校的时候买的这本书。上面都是作者实际工作中的经验总结,你可以从中学到很多其它书上学不到的实践知识。千万不要被专家两个字吓住了,书名的意思是专家给你总结的学习指南。

注:mingxinglai也在他的博客文章shell脚本学习材料种整理了很多实用的资料。

正则表达式

我个人学习正则表达式是从正则表达式30分钟入门教程开始的,这份文档让我了解了正则表达式的一些基础术语和基本的用法。

查看全文