npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

courseware

v0.7.0

Published

CourseWare is a tool for generating interactive materials for your lectures.

Downloads

21

Readme

CourseWare - specialized content generator for Javascript courses

CourseWare is a tool for generating interactive materials for your lectures.

Build Status Dependency Status devDependency Status

Short presentation

Check the video on youtube for brief information (9 min) - link

Courseware - efficient materials for your workshop

You can see readonly DEMO materials here: https://angular-cz-courseware-examples.herokuapp.com

Motivation

When you start creating materials you ussualy starts with nothing, then you go through the text files and html pages and there you come to the documentation generators. There you strugle with just text descriptions or invest your time and try to enhance the generator.

There comes the CourseWare, its documentation specialized generator for programming courses and lectures.

CourseWare is product of materials evolution end we use it regularly in our Javascript and AngularJS lectures - http://www.angular.cz.

Features

  • single file documentation
  • jade markup
  • responsive layout
  • components for hints and solutions
  • source highlighter
  • interactive integration of test results

Will CourseWare be useful for me ?

You will get most benefits from CourseWare when you use it on some kind of javascript lectures. But it can serve also as platform independent documentation tool, because it produces single index.html file.

Brief info about usage

There we will describe typical use-case when you have already your exercises in separate folders, where students are supposed to edit source code and check the results in their browser.

First install the npm package:

npm install courseware

Then create courseware configuration file courseware.json in the root of your package. You can create default configuration file with command

courseware init

Then add your exercise names to the todos array in the configuration file

{
  "introFile": "courseware-intro.jade",
  "header": "CourseWare usage DEMO",
  "todoFilePath": "complete/todo.jade",
  "todos": [
    "01-simple-generator",
    "02-generator-with-tests",
    "03-sandbox"
  ]
}

This tell CourseWare to use courseware-intro.jade as homepage and finds exercise instructions file todo.jade in folder complete of each item in exercises list.

It exactly reffers to our case, when each exercise folder lookd like the above. Source files to edit are in its root and materials are in folder with finished exercise

  |- 01-generator-with-tests
     |- complete
     |  |- app.js
     |  |- index.html
     |  |- todo.jade   <--- instructions for jade
     |
     |- app.js
     |- index.html

Then you can use CourseWare to build your materials into single index.html file using command

courseware build

You can use it both as package which compiles your documentation when the host package is being installed. Or globally just to generate single file documentation which is then included in repository.

Develop mode

When you develop your materials, livereload can help you a lot. You can run this mode with command

courseware devel

Development server will run on http://localhost:8080, adds livereload server to the index.html, and reload browser when some of todo.jade or courseware-intro.jade is changed.

Examples repository as a full documentation

Definitely check the example repository where you can see typical javascript course structure. It will help you to understand how to use CouseWare in your course. It contains not only DEMO course but also style galery and documentation. https://github.com/Angular-cz/courseware-examples

CourseWare is there integrated as package dependency and index.html is build when host package installed.

You can see examples and read documentation here: https://angular-cz-courseware-examples.herokuapp.com

Contribution

We would be glad if you like this tool so much that you will help us to test this it, fix issues or create new features. Also if you write some article or use it in public course, let us know we will list it here.

Technologies

Courseware is based on well known and documented technologies: Npm, Gulp, Jade, Bootstrap, Socket.io, Highlight.js, AngularJS, Karma, Jasmine

... so you can also learn a lot about wide range of nice tools.

How to develop CourseWare

Clone this package and link the cloned copy to the npm via

npm link

Then use examples as host package and run development server inside the examples package with command

courseware courseware-devel

Then checks and livereload are also provided for CourseWare internals.

Licence

CourseWare is free for non-commercial and internal courses, and we would like to hear about your progress.

If you want to use CourseWare on commercial course, or get comercial support do not hasitate to contact us.

Contact information

| Web: http://www.angular.cz | Twitter: @angular_cz |