I am thinking a ocourse system like pip or npm, just a thought, might be useful someday.
Command
ocm stands for "open course manager".
ocm list / ls
ocm search
ocm install
ocm update
ocm open
ocm uninstall / remove
ocm init
ocm publish
ocm unpublish
meta.json
{
    version : "1.0",
    author : {
        name : "Bo",
        portrait: "http://url-to-your-portrait",
        email: "one@example.org"
    }
    language: "English",
    main: "index.md",
    lessons : [
        {
            name : "lesson 1",
            material : [
                {
                    file : "handout1.md",
                    type : "handout",
                },
                {
                    file : "handout1.pdf",
                    type : "pdf",
                }
            ]
        },
        {
        ...
        }
    ]
}
And then all files are packed in zip file and upload to ocourse website, or use ocm publish command to push all folders there.
Other thoughts:
- 
The lessons part is kinda redundant, maybe we could remove that part, and only use folder instead, like "lesson-1" or "lesson-01", all the materials are put in that folder, e.g. "handout.md", "slides.md" 
- 
course might be packed into a .nw format file, and opened by node-webkit app, this way can make it open in different OS. 
