This is the source code for the gem5 Resources website. It is built using Next.js, a React framework for building static and server-side rendered websites.
Clone the repository
git clone
Install dependencies
npm install
Run the development server
npm run dev
Open http://localhost:3000 with your browser to see the result.
The project is structured as follows:
gem5.config.js
: Contains the configuration for the gem5 Resources website including the databases and the tabs. This is config that you would use to make changes to the JSON or MongoDB source information and the location of rendering of resource information for a particular category.components
: Contains React components used throughout the website.components/tabs
: Contains the tabs used in the Resource page.pages
: Contains the pages of the website. Each page is a React component.pages/api
: Contains the API routes of the website.pages/category
: Contains the .md documentation of what every category under gem5 Resources is.public
: Contains static assets such as images, fonts, and favicons. Also contains the gem5 Resources Schema and other JSON files of previous versions of gem5.styles
: Contains global stylesheets and CSS modules.__tests__
: Contains the jest unit tests for the website.__mocks__
: Contains the jest mocks for the website.cypress
: Contains the cypress integration tests for the website.next.config.js
: Contains the configuration for the Next.js server. Includes information on build directories, environment variables and the domain of the website.docs
: Contains the documentation files for the website.jest.config.js
: Contains the setup configuration for Jest.js, a unit test framework for JavaScript.jest.setup.js
: Additional setup for mocking libraries like react-markdown in Jest.js.cypress.config.js
: Contains the setup configuration for Cypress, an E2E test framework for JavaScript. Tests how various components of the website interact with each other.The instructions for maintaining the website are located in the MAINTAINING.md file.
The instruction for building and deploying the website are located in the BUILDING.md file.
If you find any bugs or have any suggestions, please open an issue or a pull request. For more information, please read the gem5 Contributions page file.
The gem5 Resources website is licensed under the LICENSE.md.
The gem5 Resources website is built using the following open source projects:
The gem5 Resources website is inspired by the following websites:
All logos and trademarks are property of their respective owners.
Special thanks to Jason Lowe-Power and Bobby R. Bruce for their guidance and support.