Contributing to the Wiki

1/ Create an account

The wiki is based on GitLab pages, and we are using the GitLab's instance of the Pasteur Institute. To contribute, users need to be part of the project.

On every page, there is a button at the bottom proposing to "Edit on GitLab". It will allow anyone registered to edit a given page seamlessly. But on the first try, the following dialog will be prompted. If you have a Pasteur account, choose 1, otherwise choose 2. In an External account, you can connect with a third-party account such as Github, bitbucket or Google. If you have neither, register on Github first (it's always useful).

Once your account is created, you need to request access to the project, on the gitlab page of the wiki of the repo, there is a link to request access.

Click, and wait for an admin approval.

2/ Edit a page

Once you have access to the project (the previous step is done once), you can edit easily each page of the wiki, and post issues (if you have questions about something or remarks with anything from content to design).

To edit a page, just click on the Edit on GitLab button at the bottom of every page of the wiki, and it will lead you to the corresponding page of the wiki.

From this page, you can :

  1. Edit the text you'd like
  2. Preview the change you've done (the final modification might be a bit different, especially if you use plugins to view citations or PDB structures)
  3. Once you've finished your edits, you can specify what you did (e.g. "Re-wrote history of defense systems")
  4. This field is for the branch name, you can leave it with the default value, or specify a more meaningful name (note that it's good to have your user name in the branch name so we can)

Then it asks you to create a merge request. In other words, the modifications you made will not be reflected on the website until a few automatic checks passed (which should be ok since you modified only some text) and another person reviewed the change, and accepted the merge request.

To do so, just fill in the description (1) of what you did, or anything that you would like the person who will accept the merge request to know, and just hit (2) "Create a merge request".

3/ Tips to write Markdown

As general advice, check an already written file to see how other pages are written.

The files you edit are in markdown, which is a pretty basic language that can let you do many things, such as tables, links and such with a particular syntax. You can check more about this syntax here: https://docs.gitlab.com/ee/user/markdown.html

To add images, you need to upload the image in the /content/public folder (and possibly in the corresponding folder of the defense system) and you can specify its path in the markdown file as follows :

![Alt-text, get printed if image is not found](/path/within/public)

where /path/within/public is the relative path to the public folder (the absolute path would be /content/public/path/within/public)

In addition to this, there are some specificities to this wiki :

1. Each system's page has frontmatter, which is a piece of code that will be used to populate the table of the list of systems. It has the following syntax :

---
title: Viperin
tableColumns:
    article:
    doi: 10.1038/s41586-020-2762-2
    abstract: |
        <the abstract>
    Sensor: Unknown
    Activator: Direct
    Effector: Nucleotide modifying
    PFAM: PF04055, PF13353
RelevantAbstracts:
    - doi: 10.1038/s41586-020-2762-2
    - doi: 10.1126/science.aba0372    
contributors : 
    - Florian Tesson
    - Aude Bernheim
---

Any new item in the tableColumns object will create a new column in the list of defense system's table.

2. To display a protein structure, you can call the plugin as follows :

::molstar-pdbe-plugin
---
height: 700
dataUrls: 
    - /avs/AVAST_I,AVAST_I__Avs1B,0,V-plddts_80.96481.pdb
---
::

3. To edit the Experimental validation section

This part is a bit tricky to edit. Your first option is to create an issue or send us an email and we'll do it on our side. You need to provide the reference, in which bug it was discovered, in which bug it was expressed and against which phages it was effective.

The second option is that you can try within this live editor : https://mermaid.live/

You can copy paste everything that is within <mermaid></mermaid> tags in the editor field of the live editor, it should reproduce what you site on the website. From there you can try to modify it until you get what you want. Here is the documentation about Mermaid (the software behind this syntax): https://mermaid.js.org/intro/

Custom containers:

Custom containers can be defined by their types, titles, and contents.

Default title:

::info
This is an info box
::
::tip
This is a tip box
::
::warning
This is a warning box
::
::danger
This is a danger box
::
::expansion-details
There is some details
::

The output:

Custom title:

::info
---
title: my title info
---
This is an info box
::

4/ Review a Merge Request

You can review other people's merge requests by going to the merge request's pages](https://gitlab.pasteur.fr/mdm-lab/wiki/-/merge_requests).

On a given page, you can see what modifications were made for this merge request (1), and then you can comment if you have anything to say (2 and 3). And finally, you can approve (4) the MR if you find it worth publishing on the website.

If you want to modify further the file or other file within the same merge request, go to "Changes (1)", and then click on the 3 little dots (see arrow on image) and then "Edit in single-file editor", or "Open in Web IDE".

The Web IDE editor allows you to edit multiple files at once for a given commit. This editor is also accessible from the merge request's page under the "Code" button in the upper right corner of the page.

Contribute to the code

Contribution to the code and design is open. Please read the README on how to deploy the website locally (and see the modification you're doing live).