Skip to content
The Blockstack website
JavaScript CSS Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
assets
common
components
config
pages
static
.babelrc
.dockerignore
.eslintrc
.gitignore
.nvmrc
.prettierignore
.prettierrc
Dockerfile
ISSUE_TEMPLATE.md
README.md
build-sitemap.js
next.config.js
nginx-default.conf
package.json
routes.js
webpack.config.js
yarn.lock

README.md


Blockstack.org

The official website for the latest information on Blockstack
blockstack.org

Contribute · Explore


Blockstack.org

Slack PRs Welcome

A live version of this site can be found online at https://blockstack.org.

Technology

This is a react application built using next.js. It is statically exported to markup + javascript. It is using redux-bundler (an abstraction on top of redux + reselect) for state management. Most of the content is written in Markdown, parsed using MDX.

Contributing

Be sure to have node + npm/yarn installed before getting started.

Fork the repo and pull it down to your machine, and then in the directory run:

npm install
npm run dev

OR

yarn install
yarn dev

Running the dev task will launch a local instance of the site with all the modern advantages of front end work (hot module reloading, etc).

Adding pages / routes

Next.js is first and foremost a directory/file based framework. If you look in the pages directory, you should get a pretty good idea of the routes contained within this project. To add a new route, simply create a file or folder with the route you want to add, and start coding! Files can be *.js or *.mdx

The blog gets its data from an external source (Ghost) and is parsed via /blog and /blog/single. Even though the data is external, you can still get some insight into how the routes work via the directory structure.

Exporting new pages

Because we are exporting the react application to run in places only static sites can, we have to pass our routes to the next.config.js file. We have a routes.js file that contains our static and dynamic routes. When adding a new page, make sure to add the path to this file.

Next.js has a function called exportPathMap in the next.config.js which allows the export to know what to export! You can also fetch data at this point to generate dynamic pages. Take a look at next.config.js to see an example.

Sitemap

You can’t perform that action at this time.