Closed happypeter closed 9 years ago
视频的 shownote 放到 meteor 项目的 private 目录下,meteor 把 private 目录中的文件都看做是静态assets 文件,在 build 的时候直接拷贝到相应目录 。通过 server 端的 Assets.getText() 接口读取 private 目录中的文件内容。
Meteor.methods({
'getShowNote': function(episodeId) {
return Assets.getText('shownote/' + episodeId.toString() + '.md');
}
});
当访问视频展示页面的时候,在挂载 react 组件之前调用 getShowNote
方法
componentWillMount() {
let that = this;
Meteor.call('/episodes/getShowNote', episodeId, function(err, res){
if (err) {
console.log('Can not find the note file of this episode!');
return;
}
that.setState({showNote: res});
});
},
这样,视频笔记就可以单独编辑了,也不需要储存到数据库。另外,meteor 一个强大的功能是,若项目文件有改动,meteor 则自动重启。
1.md 2.md 3.md ... meteorjs 从文件系统中读取这些数据,用 marked/highlightjs 渲染一下,显示在页面上。
放到一个 gitrepo 里面,这样我可以方便的用 sublime 来编辑了。而且跟我自己用 gulp 搭建的写书环境,或者 blog 环境也是兼容的,太棒了