Git Product home page Git Product logo

course-in-a-box's Introduction

An open-source project for creating online courses, built by P2PU

Course-in-a-Box is a free tool for building and publishing online courses โ€” no prior coding experience required.

To create your own course, simply fork this repository and delete the CNAME file. Detailed documentation is available at course-in-a-box.p2pu.org.

To make changes to the template itself, a good place to start is the _layouts, _includes and css directories. These directories contain all the layout and style files used.

Questions? Ask on P2PU's Community Forum.

Running locally

  • install docker
  • Run docker run -i -t --rm -u 1000:1000 -p 4000:4000 -v `pwd`:/opt/app -v `pwd`/.bundler/:/opt/bundler -e BUNDLE_PATH=~/opt/bundler -w /opt/app ruby:2.7 bash -c "bundle install && bundle exec jekyll serve --watch -H 0.0.0.0"

Course-in-a-Box is built by Peer 2 Peer University and shared under an MIT License.

Course content ("Modules") are shared under a CC BY-SA 4.0 license.

course-in-a-box's People

Contributors

19josehernandez86 avatar 1l2p avatar alvarmaciel avatar arvindcg avatar audreywatters avatar beckymargraf avatar bekkakahn avatar billymeinke avatar bkerensa avatar carl-r avatar clarissabezerra avatar cpjobling avatar davecormier avatar dependabot[bot] avatar dirkcuys avatar dreamingwombat avatar elipousson avatar elsatch avatar ercchy avatar geertha avatar grifp avatar jalbertbowden avatar jbarcelo avatar jlpopken avatar laurahilliger avatar lucytallents avatar matt5834 avatar mcmorgan53 avatar mozzadrella avatar valentinabertani84 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

course-in-a-box's Issues

Docker? Running the course-in-a-box on my (local) box

Hey Gang! I know that this hasn't been updated recently. But here is my issue.

I'd like to create a tutorial (that could become a course) using the course-in-a-box. I figure I'd like to get it running locally.

When following the instructions for Local from the readme,
I run this code:

nsl@LAPTOP: ~/ad-ipsum/p2pu-LMS-site$ docker run -i -t --rm -u 1000:1000 -p 4000:4000 -v `pwd`:/opt/app -v `pwd`/.bundler/:/opt/bundler -e BUNDLE_PATH=~/opt/bundler -w /opt/app ruby:2.7 bash -c "bundle install && bundle exec jekyll serve --watch -H 0.0.0.0"

I get this error:
/ is not writable.
Bundler will use /tmp/bundler20231120-7-lprlp17' as your home directory temporarily. There was an error while trying to write to /home/nsl/opt/bundler/ruby/2.7.0`. It is likely that you need to grant write
permissions for that path.

Any help would be great!

on [https://howto.p2pu.org/modules/tutorial/setup/]

On the p2pu tutorial session;

Who is the course for & what will they learn?

Will they be building something during the course. Put this basic information on the front page of the course to give a short overview of what to expect. To update the info on the front page, go to the file:

https://github.com/ebonsi/course-in-a-box/blob/gh-pages/index.markdown

It is leading to:

404: Page not found

I tried to change the url following the previous url semantics but that did not help either.
https://github.com/ebonsi/course-in-a-box/edit/gh-pages/index.markdown

Could anyone that is following this development chime on this issue?

Is this page has been deleted?

Thanks!

Add a page to the topnav would not correctly indicate the active page is the page is part of the course site

The instructions tells a user how to add a item to the top navigation menu, but if a user adds a page as part of the course (as apposed to the page being external) the topnav won't correctly display the styling for the page being active when a user visits the page.

A possible solution is to add a section for extra topnav items to _data/course.yml, eg.

topnav:
- url: /facilitate
  title: Facilitate

We would need to update both the instructions and the implementation for this.

Migrate to new subdomain

  • Review google advice on changing domains and moz guide to ensure all the needed steps are here
  • Drop TTL for howto.p2pu.org to 5 min and wait a day for DNS to propagate
  • Update CNAME
  • Create new DNS record for course-in-a-box.p2pu.org
  • Update DNS record for howto.p2pu.org
  • 301 redirect all pages on howto.p2pu.org/AAA to course-in-a-box.org/AAA - will need to host this on a server
  • Update google analytics
  • Submit a change of address in google search console
  • Restore TTL to default value
  • Verify site move success

Add support for bioschemas markup of training materials

The BioSchemas Training Material profile is an extension of Schema.Org markup to support annotating training material (in the life sciences). This enhances the FAIR-ness of training material by adding machine-readable markup to pages.

It is fairly straightforward to add this markup to Github pages sites. In my experiments adding

{% if page.bioschemas %}
<script type="application/ld+json">
     {{ page.bioschemas | jsonify }}
 </script>  
{% endif %}

to _layouts/course_page.html was enough. Before making a PR, I'd like to hear if this addition is on interested to the broader Course-In-A-Box community.

Connecting the forks... a drawer?

So... if i imagine people wanting to fork my course, before during or after the course, to control their own subcommunity of the same course... is there anyway to autogenerate a list of course-forks so that people could browse what other folks were doing with the course?

Decouple module slugs from topnav text

Currently modules are implied by the name of the folder they are in. That leads to problems with URLs or titles once the module name is more than a single word ie. "Getting Started".

To solve this, we can decouple the text used for display from the slug used for the URL for modules as done for the how to talk about race course. See the changeset for details.

Jumbotron configuration upgrades

  • Ability to set jumbotron_image behavior as cover/scale-to-fit or tile
  • Ability to manually customize fill with hex color input (rather than a tinted transparent image)

Update Gemfile.lock to use current versions of gems

I noticed that there are new versions of several of the gems listed in Gemfile.lock so I went through and updated the versions on a fork I created. If this is helpful (and I made the changes correctly), I'm happy to create a pull request.

I'm still pretty new to Jekyll and GitHub so I'm not sure the best way to do this โ€“ feel free to delete the issue if it isn't welcome or necessary.

Submodule navigation jumps around with screen width

A few issues related to submodule navigation at the bottom of each page:

  1. At certain screen widths, the names of the submodules appear as a single string of text

Screen Shot 2020-09-10 at 11 09 53 AM

  1. As screen size expands, navigation buttons jump between two lines and one lines. In the following example, the nav jumps to 1 line at 713 pixels wide, goes back to 2 lines at 768, back to 1 line at 952, back to 2 lines at 1105, and then back to 1 at 1406.

Screen Shot 2020-09-10 at 11 10 37 AM
Screen Shot 2020-09-10 at 11 10 48 AM
Screen Shot 2020-09-10 at 11 11 10 AM

  1. On mobile, the navigation should probably always be left justified (previous module above next module), rather than using this indentation.
    Screen Shot 2020-09-10 at 11 11 21 AM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.