Snowflake Guides
What are Snowflake Guides?
Snowflake Guides(SFGuides) are interactive tutorials and self-serve demos written in markdown syntax. SFGuides provide a unique step-by-step reading experience and automatically saves tutorial progress for readers. These tutorials are published at guides.snowflake.com
You can submit your own SFGuide 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 SFGuide!
What's special about the SFGuide format?
- 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
How to get started
- nodejs & npm (Install NodeJS & npm)
- install gulp-cli:
npm install --global gulp-cli
- install Golang (Install Go)
- add
/usr/local/go/bin
to thePATH
environment variable. You can do this by adding the following line to your profile (.bashrc
or.zshrc
):
#adding Golang to path
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$HOME/go/bin
Note: 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 serve
Congratulations! You now have the Snowflake Guides landing page running.
Now lets add our first SFGuide:
- Terminate the running gulp server with
ctrl C
and navigate to the devlab directory
cd site/devlabs
The devlabs directory is where to store all SFGuide content, written in markdown.
- Use the claat tool to convert the markdown file to HTML
claat export sample.md
You 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=devlabs
You can now navigate to the landing page in your browser to see your new codelab!
You can use the sample SFGuide as a template, just change the name of the file and the id listed in the header.
Tips
- Review the sample.md file to learn more about to to structure your SFGuide 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 SFGuide 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 SFGuides, check out this excellent tutorial
guides.snowflake.com?
How do I publish my Snowflake Guide to- 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.