2014年9月

要在 Chrome Extension 中使用 Closure library, 需要将 Closure library 按照需求打包。 假设扩展的开发目录如下:

-root
|-css
|-js
|-closure-library
|-menifest.json
|-..
  1. 首先请到 Closure 官方 下载打包工具 compiler.jar
  2. 将 compiler.jar 放到 root 目录下。
  3. 在本目录下任意位置新建 source.js (命名随意),将所有对 Closure library 的依赖请求写入里面。
    goog.require('goog.dom');
    goog.require('goog.events');
    goog.require('goog.asserts');
  4. 运行如下命令
    closure-library/closure/bin/build/closurebuilder.py // 定位到 Closure library 中的 buider.py 脚本
    --root=closure-library/ // 这一项指定 Closure library 的目录位置
    --root=myproject/ // 指定开发项目的位置
    --namespace="myproject.start" // 指定使用的主命名空间
    --output_mode=compiled // output_mode 输出模式使用 cimpiled
    --compiler_jar=compiler.jar // 指定 compiler.jar 的位置
    --compiler_flags="--compilation_level=ADVANCED_OPTIMIZATIONS" // 指定 compiler.jar 的参数,双引号内直接使用 compiler.jar 的参数
    > compiled.lib.js // 指定输出的文件
  5. 直接在 Chrome extension 中引入输出的 compiled.lib.js 就可以正常使用 Closure library 了。builder.py 脚本会自动检测你所依赖的 Closure library 类,并将其打包。你还可以将命令直接写成 Makefile 脚本,下次直接运行脚本即可。
    development:
      closure-library/closure/bin/build/closurebuilder.py --root=closure-library/ --root=js/ --namespace="YourRootNameSpace" --output_mode=compiled --compiler_jar=compiler.jar > compiled.js
    production:
      closure-library/closure/bin/build/closurebuilder.py --root=closure-library/ --root=js/ --namespace="YourRootNameSpace" --output_mode=compiled --compiler_jar=compiler.jar --compiler_flags="--compilation_level=ADVANCED_OPTIMIZATIONS" > compiled.js
    all:
      development

Never forget to look up the online HTML CheatSheet when you forget how to write an image, a table or an iframe or any other tag in HTML!

最近想把博客转到 jekyll ,原本的程序是 typecho 的,手动迁移有些麻烦(虽然 typecho 0.9 已经是默认 markdown 写作的了)。
于是想要找一个转换程序,在 github 上搜了一圈,只有一个 typecho 转 hexo 的,虽然都是 markdown 文件,格式也相近,但是还是有一些区别。
于是 fork 了这个 repo , 针对 jkeyll 2.x 版本进行了一些修改,使得可以较完美地转换成符合 jekyll 标准的 markdown 文件。

修改后的版本: typecho to jekyll

只修改了转换文章的部分,会自动对代码段作处理,转换成 jekyll 标准格式的高亮代码段。在这里需要注意一个问题:
务必标明代码段高亮类型,比如 js、python ,以确保它可以被正确地检测。
另外,标题不能以 [ 符号开始,会导致检测错误。有时间再作修改。