Devlabs are interactive tutorials and self-serve demos written in markdown syntax. Devlabs provide a unique step-by-step reading experience and automatically saves tutorial progress for readers. These tutorials are published at developers.snowflake.com/devlabs
You can submit your own devlab to be published on Snowflake's website by submitting a pull request to this repo. This repository contains all the tools and documentation you’ll need for building, writing, and submitting your own devlabs!
- Powerful and flexible authoring flow in Markdown text
- Ability to produce interactive web or markdown tutorials without writing any code
- Easy interactive previewing
- Usage monitoring via Google Analytics
- Support for multiple target environments or events (conferences, kiosk, web, offline, etc.)
- Support for anonymous use - ideal for public computers at developer events
- Looks great, with a responsive web implementation
- Remembers where the student left off when returning to a codelab
- Mobile friendly user experience
- nodejs & npm (Install NodeJS & npm)
- install gulp-cli:
npm install --global gulp-cli- install Golang (Install Go)
- add
/usr/local/go/binto thePATHenvironment variable. You can do this by adding the following line to your profile (.bashrcor.zshrc):
export PATH=$PATH:/usr/local/go/binNote: Changes made to a profile file may not apply until the next time you log into your computer. To apply the changes immediately, just run the shell commands directly or execute them from the profile using a command such as source $HOME/.zshrc.
- install claat:
go get github.com/googlecodelabs/tools/claat- navigate to the site directory:
cd site/- install dependencies:
npm install- run the site locally
gulp serveCongratulations! You now have the DevLabs landing page running.
- Terminate the running gulp server with
ctrl Cand navigate to the devlab directory
cd site/devlabsThe devlabs directory is where to store all devlab content, written in markdown.
- Use the claat tool to convert the markdown file to HTML
claat export sample.mdYou should see ok sample as the response. This means claat has successfully converted your .md file to HTML and created a new directory named sample.
- Now lets run our server again, this time specifying our devlabs directory of content
gulp serve --codelabs-dir=devlabsYou can now navigate to the landing page in your browser to see your new codelab!
You can use the sample devlab as a template, just change the name of the file and the id listed in the header.
- Review the sample.md file to learn more about to to structure your devlab for the claat tool.
- You can also see more formating information in the claat documentation, and use the command
claat -h - You can see the supported devlab categories here. If you want to suggest a new category please create a github issue!
- Checkout how to use VS Code to write markdown files
- If you want to learn more about devlabs, check out this excellent tutorial
- You will need to sign Snowflake's CLA
- Fork this repository
- Clone it to your local system
- Make a new branch
- Make your changes
- Push it back to your repo
- Open this repository on GitHub.com
- Click the Pull Request button to open a new pull request
- Snowflake will review and approve the submission
To learn more how to submit a pull request on GitHub in general, checkout github's official documentation.
