2

一方面是英文写不好, 一方面受不了 GitHub 的写法, 一方面是文档站点没能制作,
现在这里的博客记录下 Cirru 项目的一些规划.

站点和仓库命名

首页是 http://cirru.org 以后将继续优化, 一直会维护和更新
文档站点将在 docs.cirru.org , 目前后端没有开始制作

计划增加 repo.cirru.org 子域名, 托管相关静态的站点
比如 cirru-writer 项目, 本地存为 cirru/writer, 站点通过 repo.cirru.org/writer 访问
这样在 Nginx 下, Cirru 相关项目将会在同一个目录下, 方便管理

仓库的命令一般是 cirru-<name> 本地用 cirru/<name> 存放在目录
也有一些是作为扩展存在的项目, 使用 <host>-cirru 的方式作为项目名称
Cirru 的代码主要会通过 CoffeeScript 实现, 这些类库不适用后缀
以后会增加一些其他语言实现, GitHub 上会用 cirru-<name>.<lang> 来命名
本地存放位置比如 Go 会存放在 $GOPATH 下, 一般还是在这边

部分仓库的名字会和 Cirru 一点都不像, 但目前主要是 Scirpus 一个

模块化方案

之前尝试 RequireJS, 放弃了, 觉得小模块用 RequireJS 做不到 npm 那样的灵活
转化回到 Browserify 类似的方式了, 倾向使用 cjsify 管理 CoffeeScript

主要的目录结构是下面这样的:

build/
coffee/
css/
src/
index.html
package.json
.npmignore
.gitignore

build/ 是编译后在模块里运行的 JS 代码, 尽量用 SourceMap 映射
coffee/ 存放 CommonJS 规范写的源码, 一般有模块和调试运行的文件
css/ 是可选的, 如果需要样式就在这里, 给出 index.css 来方便外部索引
src/ 是直接从 CoffeeScript 直接编译过来的代码, 一般不参与调试
index.html 将当前模块代码载入到一个浏览器环境中进行测试
剩下的文件就是各个仓库用的, 尽量保持每个方向保存的代码是精简的

Component 也许未来能替代, 可目前想想这个方案维持至少一年
Bower 和 RequireJS 是场景不合适, SeaJS 目前更不合适..
Polymer 之类的方式, 感觉对 JS 复用没有很大改善, 先不深入了

Web 方向

我不是冲着程序语言设计的方向去思考 Cirru 做什么功能的, 而是偏向 Web
Cirru 很多的项目, 就是怎样操作 HTML, 怎样在网页上运行之类的
我最近就是想做模版语言, 方便我在后边的项目当中使用
作为前端, 自己发明一遍模板语言是必须的, 也是 Cirru 目前唯一可用的地方.
另外能用上的还有 Cirru 到 JSON 的数据转化, 也可能在未来用到


返回博客首页: http://blog.tiye.me


题叶
17.3k 声望2.6k 粉丝

Calcit 语言作者


引用和评论

0 条评论