This repository contains the source files that generates the Research Software Alliance website. The repository is monitored by Netlify, which generates and hosts the live website. All content files are written in Markdown and are processed into HTML by Netlify.
- You can clone a local copy of this repository using:
git clone https://github.com/researchsoft/website.git- Change to the 'website' directory:
cd website- Create a branch OR switch to an existing branch that you want to work on:
git checkout -b new_branch_name # if you want to create a new branch
git checkout existing_branch_name # if you want to switch to an existing branch- Make the necessary changes and stage them using:
git add --all # if you want to stage all the modified files
git add path_to_file # if you want to stage any specific modified file.
# To find the path to files that are modified use `git status`- Commit the staged changes using:
git commit -m ":tada: an informative commit message"- Finally push your committed changes:
git push --set-upstream origin new_branch_name # if pushing for the first time
# to a new branch
git push # if pushing to an existing branch- Create a Pull Request (PR) on GitHub repo and direct it to the
devbranch from your branch. Tag any relevant issue(s), add relevant label(s), and request reviews where required.
The only files that should be edited as a matter of course are in content. Images generally go into static/images.
When editing existing content, it is possible to use the GitHub text editor interface to make changes. When viewing the file you would like to edit, click the Edit button to make your changes. If you do not have permissions for the repository directly, you will need to submit a pull request for an administrator to adopt the changes.
In order to add SASS or CSS rules, add them into assets/scss/custom.scss. This is compiled into wowchemy.css in the head.
Events are managed using a simple status field. Events marked as current appear on the main Events page, while all others appear on Past Events.
Via GitHub Web Interface:
-
Go to
content/events/in the repository -
Click Add file → Create new file
-
Name your file:
YYYY-MM-event-name/index.md(e.g.,2026-09-conference/index.md)- The folder name should include the date and be descriptive
- Always end with
/index.md
-
Copy this template into the file:
--- title: "Your Event Title" subtitle: "" date: "2026-09-15" status: current authors: - "" categories: - Event - Ongoing summary: "Brief one-line description that appears on the events list." image: preview_only: true filename: "event-logo.png" draft: false --- Full event description goes here. Include all details, links, and information about the event.
-
Customize the frontmatter (the section between
---):title: Your event namedate: Event date inYYYY-MM-DDformatstatus: currentmeans it appears on the main Events pagesummary: One sentence that shows up in the list viewimage.filename: Optional - name of logo/image file (see below)
-
If you have an event logo or image:
- After creating the index.md, go back to your event folder
- Click Add file → Upload files
- Upload your image (PNG, JPG recommended)
- Make sure the filename matches what you put in
image.filename
-
Commit your changes with a message like "Add [Event Name] event"
When an event has concluded:
- Navigate to the event's
index.mdfile in GitHub (e.g.,content/events/2026-09-conference/index.md) - Click the pencil icon (Edit this file)
- Find the line that says
status: current - Change it to
status: pastOR delete the entire line - Optionally, change the category from
OngoingtoPast - Scroll down and commit: "Move [Event Name] to past events"
The event will now appear on the Past Events page instead of the main Events page. No files need to be moved - events stay in the same folder.
- Current events: Have
status: currentin frontmatter → show on/events/ - Past events: Have
status: pastor no status field → show on/past-events/ - Event images: Optional, placed in same folder as index.md, displayed on the right side of event cards
- All events live in
content/events/regardless of status
Due to limitations in the version of Hugo that Netlify runs, changing the style of the website will require pulling this entire repo to a computer and building the site with hugo-extended. The resulting files generated in resources/_gen/assets/scss/styles then need to be committed back to the repository.
The Atom feed supports ORCID identifiers for authors. ORCIDs are rendered as <uri> elements in the feed, which is the standard for Rogue Scholar and other scholarly aggregators.
authors:
- Michelle Barker
- Daniel S. KatzRenders as:
<author>
<name>Michelle Barker</name>
</author>
<author>
<name>Daniel S. Katz</name>
</author>authors:
- name: Michelle Barker
orcid: https://orcid.org/0000-0002-3623-172X
- name: Daniel S. Katz
orcid: https://orcid.org/0000-0001-5934-7525
- name: Kim Hartley
# No ORCID - still worksRenders as:
<author>
<name>Michelle Barker</name>
<uri>https://orcid.org/0000-0002-3623-172X</uri>
</author>
<author>
<name>Daniel S. Katz</name>
<uri>https://orcid.org/0000-0001-5934-7525</uri>
</author>
<author>
<name>Kim Hartley</name>
</author>To find ORCIDs for authors:
- Visit https://orcid.org/
- Search for the author's name
- Copy the full ORCID URL (e.g.,
https://orcid.org/0000-0001-2345-6789)
You can update posts gradually:
- Keep existing posts with simple string authors
- Add ORCID data to new posts using the object format
- Gradually update older posts as needed
The template supports both formats simultaneously.
After updating a post with ORCIDs:
- Rebuild:
hugo - Check feed:
grep -A10 "PostTitle" public/index.xml | grep -E "<author>|<name>|<uri>" - Validate at: https://validator.w3.org/feed/