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 more 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, 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 the 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-gitpodin 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 addandgit 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 your new branch a name (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 with thecdcommand -
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
_postswith 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 to the file in Markdown
-
Add images in
images/posts/directory
Add someone to the list of people:
- Open the
_data/people.yamlfile - 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)twitteremailwebsitegitterorcidaffiliationcitycountry(mandatory)pronounsexpertisebio
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 nameLast nameEmailGithub usernameTwitter usernameWebsiteORCIDAffiliationCityCountryPronounsAreas 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-websiteOr 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 nameLast nameEmailGithub usernameTwitter usernameWebsiteORCIDAffiliationCityCountryPronounsAreas 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-websiteOr 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.yamlfile. - Create a new entry there (using the name in lowercase, with spaces replaced by
-) following an alphabetical order. - Fill in information using the tags:
namewebsitedescriptioncountry
- Add a logo (if possible) named as the entry in
images/organizationsfolder. - Add the path to the logo in
_data/organizations.yamlusinglogotag.
- Make sure the organization is listed in the
_data/organizations.yamlfile and add it otherwise (see above). - Open the
_data/partners.yamlfile. - Create a new entry there.
- Fill in information using the tags:
partnerusing its short name from the_data/organizations.yamlfile.detailswith details about the partnership.
- Make sure the organization is listed in the
_data/organizations.yamlfile and add it otherwise (see above). - Open the
_data/funding.yamlfile. - Create a new entry there.
- Fill in information using the tags:
funderusing its short name from the_data/organizations.yamlfileamountof fundingcurrencyof fundingdurationdate_awardpurposeproposalwith 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,MentorsorCoworkingdurationin mintitledatein the formatMonth Day, Yeartimein the format '14:00' and for Berlin timecalendar-event: link to calendar eventagenda: tldrnotes: link to notesrecording: link to recordingcontentwith details of the content written in Markdownbeforewith tasks to do before as a list written in Markdownafterwith tasks to do after as a list written in Markdownresources: list of useful resources with for each of them:type:slides,document, orexternal-linktitlespeaker: username in_data/people.yaml, if slideslink
-
Create a spreadsheet or CSV with columns:
WeekStart DateStart TimeEnd DateDurationTitleTypeLearning objectivesSlidesConfirmed speakerNote linkRecordingHostsFacilitatorsBeforeAfter
-
Adapt the script in
bin/update_schedule.shwith cohort id and link to CSV export of the spreadsheet
In metadata file for cohort, experts and possible mentors can be ordered by areas of expertise, to be display in the cohort page given these areas.
To order them:
-
Activate the conda environment:
$ source activate open-life-science-websiteOr 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
TitleMentor 1AuthorsProject-descriptionComment regarding review(withrejectedif needed)Keywords
-
Create a CSV file with participant information (similar to the one needed to add new people) and an extra column with project name
-
Activate the conda environment:
$ source activate open-life-science-websiteOr alternatively, get locally:
- Python 3.*
- pyyaml
- pandas
-
Run the script which extracts 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
WeekTypeOptionalSubjectStart DateStart TimeEnd DateDurationEnd TimeAll Day EventNote linkDescription
-
Add events to Google calendar.
-
Activate the conda environment:
$ source activate open-life-science-websiteOr 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.ymlfile to add new cohort in collection