Contribute
Contribute to git.nrw
We appreciate your interest in contributing to git.nrw! This platform is a collaborative project among universities in North Rhine-Westphalia, built using Hugo. It is designed to provide Open Educational Resources (OER) for the academic community. Your contributions are vital to expanding and improving this platform.
This guide outlines how to contribute, with a focus on course creation, and ensures your contributions are integrated smoothly into the project.
Code of Conduct
We are committed to creating an open and welcoming environment. Please treat everyone with respect and professionalism. Discrimination, harassment, or any form of inappropriate behavior will not be tolerated.
How to Contribute
Prerequisites
- Git proficiency: You should be comfortable with basic Git commands like cloning, branching, committing, and pushing.
- Hugo: Our website uses Hugo. Download and install it from the Hugo website .
- Docker Compose: You’ll need Docker Compose to run the project locally.
Quick Start for Experienced Developers
- Clone the repository: https://gitlab.git.nrw/web/git-nrw
- Start development server:
docker compose up - Create a branch and make your changes
- Create a merge request on GitLab
For detailed information on content guidelines, licensing, and more, please continue reading below.
Branching Strategy
We follow a clear branching strategy to manage contributions effectively:
mainbranch: The main branch holds the production-ready code.featurebranches: Used for developing new features.bugbranches: Used for fixing bugs.chorebranches: Used for routine tasks like updating dependencies or documentation.coursesbranches: Used specifically for creating or updating courses (as described above).
Examples of branch names: feature/add-search-functionality, bug/fix-login-error, courses/add-git-basics-course
Creating a Course
A detailed guide on creating courses is available directly on the platform . This guide provides comprehensive instructions on structuring your course, writing effective content, and leveraging available features. It also serves as a live example of a course.
Quick Overview
- Clone the repository:
git clone https://gitlab.git.nrw/web/git-nrw.git - Start development server:
docker compose up - Create a new course:
hugo new courses/<kebab-style-course-name>/_index.md - Add lessons: Create lesson files in section folders, e.g.,
hugo new courses/<kebab-style-course-name>/10-getting-started/10-introduction.md - Write your content in Markdown.
- Preview your course:
http://localhost:1313/en/courses/<kebab-style-course-name> - Commit your changes:
git add .,git commit -m "your message",git push - Create a merge request on GitLab.
Images and Media
- Store images in
static/images/courses/<course-name>/. - Upload videos to YouTube, Vimeo, or TIB AV-Portal and link them in your course frontmatter using the respective fields (
youtube,vimeo, ortibav). Example:youtube: dQw4w9WgXcQ - Ensure you have the rights or licenses to use all media.
Content Guidelines
- Language: Use clear and concise language, avoiding jargon or explaining it when necessary.
- Formatting: Maintain consistency in Markdown formatting.
- File names: Use English,
kebab-case, and organize lessons in section folders with numeric prefixes (e.g.,10-getting-started/10-introduction.md). - Metadata: Fill in all required fields in the frontmatter of your Markdown files.
Licensing
- Your content: License your contributions under CC BY.
- Third-party content: Use only content with appropriate licenses, clearly indicate the license, and adhere to its terms. Courses themselves must be licensed under CC BY.
Contributors
Support
If you have any questions or encounter any issues, please feel free to use our contact form .
Thank you for your contributions and for being part of the git.nrw community!