Welcome to the DSAI-NLP GitHub repository! This guide will walk you through the steps to contribute to our GitHub Page. Whether you're fixing a bug, adding content, or updating existing information, your contributions are invaluable to the success of our project.
When creating pull requests, please ensure you are submitting them to the correct base repository, which is dsai-nlp/dsai-nlp.github.io, not the original alshedivat/al-folio repo from which this project was forked. You can select the base repository when you open a pull request on GitHub. For more details, please refer to our contribution guidelines.
For ease of setup and to avoid compatibility issues with Ruby and Jekyll versions, we recommend using Docker for local development. This method isolates the environment and works consistently across different operating systems.
Before you begin, ensure you have Docker installed on your system. If you haven't already, you can download and install Docker from the following links:
After installing Docker and Docker Compose, follow these steps to run the website on your local machine:
-
Open a terminal and navigate to the root directory of your cloned version of the
dsai-nlp/dsai-nlp.github.iorepository. -
Run the following command to pull the latest pre-built Jekyll image from DockerHub:
docker compose up --build
This command will start a local web server running the website.
- Open your web browser and go to
http://localhost:8080. You should see the local version of the website running.
Now that you have the site running locally, you can begin customizing the theme to suit your needs.
We follow GitHub Flow for continuous integration and deployment.
Never commit directly to master. All updates go through Pull Requests (PRs).
git checkout master
git pull origin masterEach task or feature gets its own branch.
git checkout -b feature/add-content
# Make and commit changes
git add .
git commit -m "Add new content"
git push origin feature/add-contentUse GitHub's web interface:
- Go to the repository page.
- Click "Compare & pull request".
- Add a title and short description.
- Assign reviewers or labels if needed.
- Click "Create pull request."
Wait for automated checks (if configured) to pass, then request reviews.
- Reviewers may comment or approve.
- Once approved, click "Merge pull request."
- Use Squash and merge to keep a clean commit history.
After merging, delete the feature branch:
# In GitHub UI
Click "Delete branch"
# Locally
git branch -d feature/add-content
git fetch -pThe master branch always represents what is live in production.
-
Clone or fork the repo
git clone [email protected]:dsai-nlp/dsai-nlp.github.io.git cd dsai-nlp.github.io
Fork first if you do not have push access.
-
Create a feature branch
git checkout master git pull origin master git checkout -b feature/add-content
-
Run locally (optional but recommended)
docker compose pull docker compose up
Visit
http://localhost:8080. -
Make changes, commit, and push
git add . git commit -m "Describe your change" git push origin feature/add-content
-
Open a pull request targeting
master, add a short summary, and request a review.
Once your pull request is submitted, it will be reviewed by the maintainers. If everything looks good, your changes will be merged into the master branch. If there are additional changes needed, feedback will be provided directly on the PR.
- Keep changes focused and follow the repository coding/content conventions.
- Test locally before opening a PR.
- Never push directly to
master; always work on a branch.
The following sections provide more detailed instructions for specific content types. Refer to these when you need to add or update structured data on the site.
To add your profile to the NLP@DSAI team page:
- Navigate to the
_membersdirectory. - Create a new Markdown file (
.md) with a suitable name, e.g.,john_doe.md. - Use the following template as a guide for your content. Fill in your personal details where applicable:
---
name: Your Name
image: path_to_your_image
position: Your Position
state: current # Options: current, master, alumni
start-date: YYYY-MM-DD
end-date: YYYY-MM-DD # If applicable
pronouns: your pronouns
email: [email protected]
# Add any of the following that apply to you:
scholar_userid:
publons_id:
research_gate_profile:
github_username:
linkedin_username:
twitter_username:
medium_username:
quora_username:
blogger_url:
work_url:
wikidata_id:
strava_userid:
keybase_username:
gitlab_username:
dblp_url:
description: "A short personal bio or description."
---The events will be fetched from our public Github Discussion, so there's no need to set each event anymore.
To add an announcement:
- Navigate to the
_newsdirectory. - Create a new Markdown file (
.md) with a suitable name, e.g.,conference_announcement.md. - Follow the predefined template in the
_newsfolder for the announcement, filling in the relevant details.
To add or update information about a course:
- Navigate to the
_pagesdirectory. - Locate the
courses.mdfile. - Update the file with the new course information or make changes to the existing content. You can find those files inside the directories in
_pages.
To add or update publications:
- Navigate to the
_bibliographydirectory. - Locate the
papers.bibfile. - Add your new publication details in BibTeX format or update existing entries as necessary.
After making any of the above changes, follow the standard contribution workflow:
- Commit your changes with a clear message.
- Push the changes to your feature branch.
- Create a pull request to the main repository:
dsai-nlp/dsai-nlp.github.iotargetingmaster.
The repository maintainers will review your pull request and merge it upon approval. Make sure to provide detailed information in your pull request to expedite the review process.