This site is 100% serverless! ๐
Built using react, redux and phenomic this site is statically built and hosted on the netlify CDN for ๐ฅblazingly fast performance and scale.
The site content, docs, and blog are hosted on github, so if you see a typo or error feel free to contribute back!
API calls are made with the serverless framework pinging AWS lambda functions. User Authentication is handled via Auth0. Site search handled by Algolia.
- See the site ๐ View the SRC Luke
- Check out the blog ๐ Contribute to the blog
- Read the docs ๐ Contribute to the docs
1. Clone down the site
git clone git@github.com:serverless/site.git
2. Install site dependencies
npm install
3. Run site on your local computer
npm start
Open your browser to http://localhost:3333
Run npm run syncProd
or npm run syncLocal
to pull in the blog and docs repos (if the postinstall command doesn't run for you). These 2 commands pull in the external content sources the site uses.
Fork the site and submit a pull request!
When you start the site with npm start
it will start watching for file changes and they will be automatically refreshed in the site on http://localhost:3333
To make edits to blog posts, edit the files in ./serverless-blog/posts
(this directory is added on npm i
)
To make edits to framework docs, edit the files in ./serverless/docs
(this directory is added on npm i
)
To make edits to other pages, edit the markdown in ./content
Some pages have custom designs/layouts and the html might need to be altered. That content can be found in ./src/layouts
or ./src/pages
1. Test the build command locally
npm run build
2. If build command succeeds, push up your changes to a new branch
We are using netlify to distribute the site.
When pushing up to a new branch, netlify will automatically publish that change to a unique subdomain, like: https://[lowercase-branch-name]--serverless.netlify.com
For example the branch updateDocsSetup
published to https://updatedocssetup--serverless.netlify.com
Successful deploys are published to the notifications slack channel
Note: The master
branch is the live site. Never push directly to the master branch!
3. Review your live site changes
If everything looks good on your unique netlify subdomain, you can go ahead and merge your branch to master on github.
Merging branches into master will trigger a site rebuild and serverless.com
will be updated.
If you want to work on phenomic src code while working on the site, change the transpile path in phenomic's package.json to point to the the sites node_module path. ../site/node_modules/phenomic/lib
Then inside of the phenomic src directory you can run npm run transpile -- --watch
to work on phenomic src code and see the live changes effect the serverless site.