Home

Awesome

slate

Slate is a free and open online foundation for schools. It is designed to empower students, teachers, and administrators to craft the digital commons of their learning environment from the ground up.

Inspired by Science Leadership Academy founding principal Chris Lehmann's belief that technology [in schools] needs to be like oxygen: ubiquitous, necessary, and invisible, the first version of Slate was launched there in 2010. Since then, dozens of schools and networks of schools have contributed to and built on top of Slate.

Slate isn't a hot new startup or the next tool that does everything. It's an online home base that anchors the shared experience and evolves in place while your learners and educators explore new tools and practices. It's the glue that frees you to plug in and unplug new things others have built, and even build things yourself when you are ready. It's the operating system for your school that belongs to your school and serves no interest but your community's.

Getting started

There are three ways to get started with Slate:

Dependencies

Slate's uses Habitat to provide its development, build, and runtime environments and is the only dependency you need to worry about. Habitat in-turn requires Docker on Mac and Windows workstations to do its thing, and can optionally make use of it on Linux.

Ubuntu Linux

Mac

Windows 10 Pro

Set up Source Code Repository

Cloning Slate

To play with or work on Slate's core:

# clone and change into the slate repository
git clone https://github.com/SlateFoundation/slate
cd slate

Extending Slate

To start building your own environment that sits on top of Slate:

# clone and change into the slate repository
git clone https://github.com/SlateFoundation/slate-starter jawnsburghigh
cd jawnsburghigh

TODO: set up slate-starter repository

Launch Developer Studio

The developer studio is a disposable command-line environment for working on the project. Habitat puts it together for you and provides all the packages within it, giving you a lightweight development experience that works consistently across machines and platforms.

Linux / Mac

# expose port 7080 from any Docker container started by Habitat
# - this must be run once in each terminal session
export HAB_DOCKER_OPTS="-p 7080:80"

# launch and enter a Habitat studio
hab studio enter

Windows

# expose port 7080 from any Docker container started by Habitat
# - this must be run once in each terminal session
$env:HAB_DOCKER_OPTS="-p 7080:80"

# launch and enter a Habitat studio, forcing it to be a Docker studio instead a Windows native studio
hab studio -D enter

Run and Edit Slate

# once the studio has finished loading, start all services with a local database
start-all-local

# build and load the site, then wait for file changes
watch-site

At that point you should be able to see an instance at http://localhost:7080 and any edits should be reflected live

Note for Windows users: a workaround is currently required for file watching to work under Docker for Windows

Support

Features

TODO: list features

Supporters

These organizations have contributed the resources to make Slate possible:

Science Leadership Academy

<img alt="Science Leadership Academy" src="http://scienceleadership.org/img/logo.png" width="100">

Building21

<img alt="Building21" src="http://building21.org/wp-content/uploads/2017/04/logo_retina.png" width="250">

Matchbook Learning

<img alt="Matchbook Learning" src="http://www.matchbooklearning.com/images/static/logo.png">

Jarvus Innovations

<img alt="Jarvus Innovations" src="http://jarv.us/img/jarvus-logo.svg" width="250">

TrackJS

<img src="https://trackjs.com/assets/external/badge.gif" height="40px" alt="Protected by TrackJS JavaScript Error Monitoring" style="border-radius:2px;">