Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gem5/gem5-resources-website
The gem5-resources website. A web portal for users to browse resources created for usage in gem5 simulations.
https://github.com/gem5/gem5-resources-website
gem5 jekyll resources website
Last synced: 3 days ago
JSON representation
The gem5-resources website. A web portal for users to browse resources created for usage in gem5 simulations.
- Host: GitHub
- URL: https://github.com/gem5/gem5-resources-website
- Owner: gem5
- License: bsd-3-clause
- Created: 2023-05-30T18:49:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-10T21:29:01.000Z (2 months ago)
- Last Synced: 2024-12-10T22:26:30.948Z (2 months ago)
- Topics: gem5, jekyll, resources, website
- Language: JavaScript
- Size: 3.37 MB
- Stars: 5
- Watchers: 9
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# gem5 Resources Website
This is the source code for the gem5 Resources website. It is built using [Next.js](https://nextjs.org/), a React framework for building static and server-side rendered websites.
# Table of Contents
- [gem5 Resources Website](#gem5-resources-website)
- [Table of Contents](#table-of-contents)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Development](#development)
- [Project Structure](#project-structure)
- [Maintaining the Website](#maintaining-the-website)
- [Deployment](#deployment)
- [Contributing](#contributing)
- [License](#license)
- [Acknowledgements](#acknowledgements)
- [Contributors](#contributors)# Getting Started
## Prerequisites
- [Node.js](https://nodejs.org/en/) (v14.15.4 or higher)
- [npm](https://www.npmjs.com/) (v6.14.10 or higher)
- [git](https://git-scm.com/)
- [VS Code](https://code.visualstudio.com/) (recommended)## Installation
1. Clone the repository
```bash
git clone
```
2. Install dependencies
```bash
npm install
```
3. Run the development server```bash
npm run dev
```
4. Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.# Development
## Project Structure
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.## Maintaining the Website
The instructions for maintaining the website are located in the [MAINTAINING.md](MAINTAINING.md) file.
# Deployment
The instruction for building and deploying the website are located in the [BUILDING.md](BUILDING.md) file.
# Contributing
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](https://www.gem5.org/contributing) file.
# License
The gem5 Resources website is licensed under the [LICENSE.md](LICENSE.md).
# Acknowledgements
The gem5 Resources website is built using the following open source projects:
- [Next.js](https://nextjs.org/)
- [React](https://reactjs.org/)
The gem5 Resources website is inspired by the following websites:- [gem5.org](https://gem5.org/)
- [pub.dev](https://pub.dev/)All logos and trademarks are property of their respective owners.
# Contributors
- [Parth Shah](https://github.com/helloparthshah)
- [Kunal Pai](https://github.com/kunpai)
- [Harshil Patel](https://github.com/harshil2107)
- [Arslan Ali](https://github.com/aarsli)Special thanks to [Jason Lowe-Power](https://github.com/powerjg) and [Bobby R. Bruce](https://github.com/BobbyRBruce) for their guidance and support.