Sharing. Connecting. Empowering
Find all the information about our community and projects at https://open-life-science.github.io.
First and foremost, Welcome! 🎉 Willkommen! 🎊 Bienvenue! 🙏 सुस्वागत (Suswagat)🎈🎈🎈
This document (the README
file) is a hub to give you some information about the
project. Jump straight to one of the sections below, or just scroll down to find
out more.
We are working to create a mentoring program for individuals interested in becoming ambassadors for Open Science practice, training and education in their communities.
Our outcome is to support early stage researchers and young leaders by sharing Open Science skills, connecting them to others in the community, and empowering them to become ambassadors for Open Science practice, training and education in their communities.
We are currently a team of people who share a passion for Open Research and inclusiveness in Open Science. Please read me on our website.
You! In whatever way you can help.
We need expertise in open-science, training, mentoring, communication. We'd love your feedback along the way, and of course.
If you think you can help in any of the areas listed above (and we bet you can) or in any of the many areas that we haven't yet thought of (and here we're sure you can) then please check out our contributors' guidelines and our roadmap.
Please note that it's very important to us that we maintain a positive and supportive environment for everyone who wants to participate. When you join us we ask that you follow our code of conduct in all interactions both on and offline.
GitPod is an open-source developer platform for remote development. You can use it to generate the website without installing anything on your computer.
-
Setting up GitPod
-
Create a fork of the OLS GitHub repository (to do only 1 time)
- Go on the GitHub repository: github.com/open-life-science/open-life-science.github.io
- Click on th Fork button (top-right corner of the page)
-
Open your browser and navigate to gitpod.io
-
Log in with GitHub
-
Copy the link to your fork of the GTN, e.g. https://github.com/bebatut/open-life-science.github.io
Gitpod will now configure your environment. This may take some time.
Once the setup is finished, you should see a page with:
- On the Left: All the files in the OLS repository
- Top: The main window where you can view and edit files
- Bottom: Terminal window, where you can type commands (e.g. to build the website preview) and read output and error messages
-
-
Build and preview the OLS website
- Type the following command
make serve-gitpod
in the terminal window (bottom) - Click on the link in the terminal to see the OLS in full-screen:
Server address: http://127.0.0.1:4000
- Type the following command
-
Make and view changes
- Open and/or create files via the file browser on the left
- Make and save the changes in the files
- Reload the preview page to view the changes
-
Saving changes back to GitHub
- Option 1: via the terminal
- Create a new branch with
git checkout
- Commit your changes with
git add
andgit commit
- Push changes with
git push origin
- Create a new branch with
- Option 2: via the web interface
- Create a new branch
- Click on the bottom-left on the branch logo button on the bottom of the page with the current branch (probably "main")
- Give a new name for your new branch (at top of window)
- Choose "+ Create new branch..." from the dropdown
- Commit changes
-
Click on the "Source Control" tab button (branch) on the left menu to show changed files
-
Click on the "+" icon next to the edited files to stage changes stage changes button
-
Hit the checkmark icon at the top to commit the changes
-
Enter a commit message (top of window) - Publish changes
-
Click the cloud button at bottom left to publish your changes publish changes button.
Changes are now saved to your fork, and you can make a PR via the GitHub interface
-
- Create a new branch
- Option 1: via the terminal
You need a ruby
environment (version >= 2.4). Either you have it installed and
you know how to install Bundler and
Jekyll and then run Jekyll, or you use
(mini-)conda, a package management system
that can install all these tools for you. You can install it by following the
instructions on this page: https://conda.io/docs/user-guide/install/index.html
In the sequel, we assume you use miniconda.
-
Open a terminal
-
Clone this GitHub repository:
$ git clone https://github.com/open-life-science/open-life-science.github.io.git
-
Navigate to the
open-life-science.github.io/
folder withcd
-
Set up the conda environment:
$ make create-env
-
Install the project's dependencies:
$ make install
-
Start the website:
$ make serve
-
Open the website in your favorite browser at: http://127.0.0.1:4000/
To avoid dead or wrong links, run the link checkers:
$ make check-html
To create a new blog post:
-
Create a file in the folder
_posts
with a file named following the patternyyyy-mm-dd-name.md
-
Add some metadata on the top of the file
--- layout: post title: <title of the post> author: <github id of the author> image: images/yyyy-mm-dd-name.jpg ---
-
Add content of the post in the file in Markdown
-
Add images in
images/posts/
Add someone to the list of people:
- Open the
_data/people.yaml
file - Create a new entry there (using the GitHub id, or firstname-lastname if no GitHub id) following the alphabetical order
- Fill in information using the tags:
first-name
(mandatory)last-name
(mandatory)twitter
email
website
gitter
orcid
affiliation
city
country
(mandatory)pronouns
expertise
bio
Add the person to their corresponding list to be visible on the website:
- If they are a participant for a cohort, add their GitHub id with their project to
_data/ols-n-projects.yaml
- If they are a potential mentor for a cohort, add their GitHub id in the
_data/ols-n-metadata.yaml
- If they are an expert for a cohort, add their GitHub id in the
_data/ols-n-metadata.yaml
- If they are a speaker for a cohort, add their GitHub id with their talk details in
_data/ols-n-schedule.yaml
Add many people in a row to _data/people.yaml
:
-
Create a CSV file with at least the following columns (named this way):
First name
Last name
Email
Github username
Twitter username
Website
ORCID
Affiliation
City
Country
Pronouns
Areas of expertise (1 element per line)
Bio
A form like this one can be used to generate such csv
-
Get a copy of the CSV file at the root of this folder
-
Activate the conda environment
$ source activate open-life-science-website
Or alternatively, get locally:
- Python 3.*
- pyyaml
- pandas
-
Run the script which extract information from the CSV file and add them to
_data/people.yaml
$ python bin/prepare_website_data.py extractpeople \ -df <path to csv file with participants> OR -du <URL to csv file with participants>
-
Create a CSV file with at least the following columns (named this way):
First name
Last name
Email
Github username
Twitter username
Website
ORCID
Affiliation
City
Country
Pronouns
Areas of expertise (1 element per line)
Bio
A form like this one can be used to generate such csv
-
Activate the conda environment
$ source activate open-life-science-website
Or alternatively, get locally:
- Python 3.*
- pyyaml
- pandas
-
Run the script which extract information from the CSV file and add them to
_data/people.yaml
$ python bin/prepare_website_data.py addmentorsexperts \ -c <cohort id> \ -t <mentors or experts> \ -df <path to csv file with participants> OR -du <URL to csv file with participants>
- Open the
_data/organizations.yaml
file - Create a new entry there (using the name in lowercase, with spaces replaced by
-
) following an alphabetical order - Fill in information using the tags:
name
website
description
country
- Add a logo (if possible) named as the entry in
images/organizations
folder - Add the path to the logo in
_data/organizations.yaml
usinglogo
tag
- Make sure the organization is listed in the
_data/organizations.yaml
file and add it otherwise (see above) - Open the
_data/partners.yaml
file - Create a new entry there
- Fill in information using the tags:
partner
using its short name from the_data/organizations.yaml
filedetails
with details about the partnership
- Make sure the organization is listed in the
_data/organizations.yaml
file and add it otherwise (see above) - Open the
_data/funding.yaml
file - Create a new entry there
- Fill in information using the tags:
funder
using its short name from the_data/organizations.yaml
fileamount
of fundingcurrency
of fundingduration
date_award
purpose
proposal
with link to the proposal
The schedule displayed in a cohort page is automatically generated from a file _data/ols-n-schedule.yaml
.
In this file, for each week, it is listed the timeframe and the different calls planned. For each call, several information are given:
type
:Mentor-Mentee
,Cohort
,Mentors
orCoworking
duration
in mintitle
date
in the formatMonth Day, Year
time
in the format '14:00' and for Berlin timecalendar-event
: link to calendar eventagenda
: tldrnotes
: link to notesrecording
: link to recordingcontent
with details of the content written in Markdownbefore
with tasks to do before as a list written in Markdownafter
with tasks to do after as a list written in Markdownresources
: list of useful resources with for each of them:type
:slides
,document
, orexternal-link
title
speaker
: username in_data/people.yaml
, if slideslink
-
Create a spreadsheet or CSV with columns:
Week
Start Date
Start Time
End Date
Duration
Title
Type
Learning objectives
Slides
Confirmed speaker
Note link
Recording
Hosts
Facilitators
Before
After
-
Adapt the script in
bin/update_schedule.sh
with cohort id and link to CSV export of the spreadsheet
In metadata file for cohort, experts and possible mentors can be ordered by expertise area to be display in cohort page given these areas.
To order them:
-
Activate the conda environment
$ source activate open-life-science-website
Or alternatively, get locally:
- Python 3.*
- pyyaml
- pandas
-
Run the script which sort expertise and save information in metadata file
$ python bin/prepare_website_data.py sortexpertises -c <cohort id>
-
Create a CSV file with for each project the following information
Title
Mentor 1
Authors
Project-description
Comment regarding review
(withrejected
if needed)Keywords
-
Create a CSV file with participant information (similar as the one needed to add new people) with an extra column with project name
-
Activate the conda environment
$ source activate open-life-science-website
Or alternatively, get locally:
- Python 3.*
- pyyaml
- pandas
-
Run the script which extract project information from a CSV file and add them in project file
$ python bin/prepare_website_data.py addprojects \ -c <cohort id> \ -pf <path to csv file with projects> OR -pu <URL to csv file with projects> \ -df <path to csv file with participants> OR -du <URL to csv file with participants>
-
Create CSV file with
Week
Type
Optional
Subject
Start Date
Start Time
End Date
Duration
End Time
All Day Event
Note link
Description
-
Add events to Google calendar
-
Activate the conda environment
$ source activate open-life-science-website
Or alternatively, get locally:
- Python 3.*
- pyyaml
- pandas
-
Run the script which create new cohort files
$ python bin/prepare_website_data.py createcohort \ -c <cohort id> \
-
Update
_config.yml
file to add new cohort in collection