Official Go implementation of the Ethereum protocol
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Paul Wackerow 01fd6e6f6b
[website] geth-website migration (#26412)
2 years ago
docs [website] geth-website migration (#26412) 2 years ago
public Add sitemap and robots.txt (#163) 2 years ago
src [website] geth-website migration (#26412) 2 years ago
.env.local.example [website] geth-website migration (#26412) 2 years ago
.eslintignore setup: init 2 years ago
.eslintrc.json setup: init 2 years ago
.gitignore Merge branch 'master' of github.com:ethereum/geth-website into fix-last-edit-timestamp 2 years ago
.prettierignore setup: init 2 years ago
.prettierrc setup: init 2 years ago
README.md update README and contributing page 2 years ago
netlify.toml [website] geth-website migration (#26412) 2 years ago
next-sitemap.config.js Add sitemap and robots.txt (#163) 2 years ago
next.config.js chore: remove MDX dependencies and Provider 2 years ago
package.json [website] geth-website migration (#26412) 2 years ago
redirects.js Add missing redirect (#197) 2 years ago
tsconfig.json setup: init 2 years ago
url-list.csv Merge pull request #171 from ethereum/fjl/content-fixes-1 2 years ago
yarn.lock [website] geth-website migration (#26412) 2 years ago

README.md

Welcome to the go-ethereum website!

This is the repository for the go-ethereum website. All the website code is held here in the website branch. If you are looking for go-ethereum source code you need to switch to the master branch.

The purpose of the go-ethereum website is to provide the necessary documentation and supporting information to help users to get up to speed with using go-ethereum (aka "Geth"). The website is maintained by a team of developers but community contributions are also very welcome.

Contributing

Contributions from the community are very welcome. Please contribute by cloning the go-ethereum repository, checking out the website branch and raising pull requests to be reviewed and merged by the repository maintainers. Issues can be raised in the main go-ethereum repository using the prefix [website]: in the title.

The geth.ethereum.org stack

geth.ethereum.org is a Next.js project bootstrapped with create-next-app. The following tools were used to build the site:

Repository structure

The website code is organized with a top-level docs folder that contains all the documentation pages as markdown files. Inside docs are subdirectories used to divide the docs by theme (e.g. getting-started,fundamentals, developers etc). Website code is in src, and assets including images are in public.

Adding a new documentation page

Documentation pages are located in the /docs folder in the root directory of the project. The docs pages are all markdown files. When you want to add a new page, add the new file in the appropriate folder in the /docs page. index.md files will be the default page for a directory, and {pagename}.md will define subpages for a directory.

After adding a page, you will also need to list it in /src/data/documentation-links.yaml. This file defines the documentation structure which you will see on the left sidebar in the documentation pages.

Building locally

To check a new page it is helpful to build the site locally and see how it behaves in the browser. First, run the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying pages/index.tsx. The page auto-updates as you edit the file.

API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.ts.

The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.

Review and merge

PRs will be reviewed by the website maintainers and merged if they improve the website. For substantial changes it is best to reach out to the team by raising a GH issue for discussion first.