diff --git a/.gitignore b/.gitignore
index 287f88d..492a39b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,4 @@ vendor
.Rproj.user
.env-secret
.fake
+*_files/
diff --git a/README.md b/README.md
index 55475a2..bdc7e7f 100644
--- a/README.md
+++ b/README.md
@@ -4,27 +4,31 @@
This repository stores the source of Computorg.
-## How to contribute to the website:
+## How to contribute to the website
-- install quarto
-- install dotnet-sdk-8.0
+- Install [quarto](https://quarto.org/docs/get-started/)
+- Install DotNet SDK 8.0
+
+ - Linux:
```bash
sudo apt-get install dotnet-sdk-8.0
```
+ - macOS:
+ ```bash
+ brew install dotnet
+ ```
-- create an API key on github
+- Create an API key on github (personal access token)
- - go to your settings
+ - Go to your settings
- Then developer settings
- Then create a github token
-- Put the token in .env-secret in the root of this repository
+- Put the token in a file named `.env-secret` in the root of this repository
```bash
GITHUB_TOKEN=your_github_token
```
-- Now, you can compile the website with
-
- quarto-render
+- Now, you can compile the website with `quarto render .`
diff --git a/assets/images/2025-03-20-revised-github-process/depoy-github.png b/assets/images/2025-03-20-revised-github-process/depoy-github.png
new file mode 100644
index 0000000..f2854f1
Binary files /dev/null and b/assets/images/2025-03-20-revised-github-process/depoy-github.png differ
diff --git a/assets/images/2025-03-20-revised-github-process/workflow.svg b/assets/images/2025-03-20-revised-github-process/workflow.svg
new file mode 100644
index 0000000..e286a82
--- /dev/null
+++ b/assets/images/2025-03-20-revised-github-process/workflow.svg
@@ -0,0 +1,210 @@
+
+
+
\ No newline at end of file
diff --git a/assets/images/2025-03-20-revised-github-process/workflow.tex b/assets/images/2025-03-20-revised-github-process/workflow.tex
new file mode 100644
index 0000000..a0d7b3b
--- /dev/null
+++ b/assets/images/2025-03-20-revised-github-process/workflow.tex
@@ -0,0 +1,92 @@
+\documentclass[tikz,dvisvgm,border=10pt]{standalone}
+\usetikzlibrary{shapes.geometric,shapes.symbols,shapes.callouts,shapes.multipart,shapes.misc,arrows,positioning,fit,backgrounds,shadows}
+
+\begin{document}
+\begin{tikzpicture}[
+ % Define styles for nodes with enhanced colors
+ doc/.style={draw, minimum width=5cm, minimum height=2cm, align=center, fill=blue!20, text=blue!80!black, font=\bfseries, rounded corners=3mm, drop shadow},
+ container/.style={draw=blue!50!black, fill=blue!10, fill opacity=0.15, inner sep=10mm, rounded corners=8mm, thick, dashed},
+ package/.style={draw, fill=blue!5, fill opacity=0.7, inner sep=3mm, rounded corners, text=blue!60!black, thick},
+ process/.style={draw, minimum width=2cm, minimum height=1cm, align=center, fill=blue!10, text=blue!60!black, font=\small\sffamily, rounded corners=2mm},
+ cylnode/.style={draw, cylinder, shape border rotate=90, aspect=0.3, minimum height=1cm, minimum width=2cm, align=center, fill=cyan!30, text=cyan!60!black, font=\small\sffamily},
+ dashboard/.style={circle, draw, minimum size=1cm, fill=green!20, text=green!60!black, font=\small\sffamily\bfseries},
+ document/.style={draw, shape=tape, tape bend top=none, minimum width=2cm, minimum height=1cm, align=center, dashed, fill=purple!10, text=purple!70!black, font=\small\sffamily\itshape},
+ thick_arrow/.style={->, line width=1mm, draw=blue!70!black},
+ arrow/.style={->, >=stealth, draw=gray!70!black},
+ title/.style={font=\bfseries\sffamily, align=center, text width=4cm, text=blue!70!black},
+ label/.style={font=\small\sffamily\itshape, inner sep=2pt, text=purple!80!black},
+ filename/.style={font=\small\sffamily\itshape, text=orange!70!brown}
+]
+
+% Add a background for the entire diagram
+\begin{scope}[on background layer]
+ \fill[rounded corners=10mm, gray!5] (-2,-8) rectangle (16,4.5);
+\end{scope}
+
+% Create environment steps first
+\node[dashboard] (checkout) at (5,0) {Git};
+\node[process, below=0.8cm of checkout] (detect) {Detect\\Dependencies};
+\node[process, below=0.8cm of detect] (setup) {Setup Environment\\(Python/R)};
+\node[cylnode, below=0.8cm of setup] (cache) {Cache\\Environment};
+
+% Environment connections
+\draw[arrow] (checkout) -- (detect);
+\draw[arrow] (detect) -- (setup);
+\draw[arrow] (setup) -- (cache);
+
+% Custom environment script - with label higher
+\node[document] (customenv) at ([xshift=-3cm]setup.west) {setup-env-ci.sh};
+\draw[arrow, draw=purple!50!black] (customenv) -- (setup) node[pos=0.35, above=12pt, label] {Customize};
+
+% Environment setup container with title above
+\node[title] at (checkout.north) [above=5mm] {Environment Setup \\\textcolor{orange!70!brown}{(global-env.yml)}};
+
+% Use layers to put containers in the background - adjusted fit
+\begin{scope}[on background layer]
+ \node[package, fill=blue!5] (env) [fit=(checkout) (detect) (setup) (cache) (customenv)] {};
+\end{scope}
+
+% Create render steps first - explicitly aligned with env.east anchor
+\path (env.east) ++(3cm,0) coordinate (render_start);
+\node[process, fill=blue!20] (restore) at ([yshift=3cm]render_start) {Restore\\Environment};
+\node[process] (quarto) at ([yshift=-0.8cm]restore.south) {Setup Quarto};
+\node[process] (compile) at ([yshift=-0.8cm]quarto.south) {Render\\Documents};
+\node[process] (artifact) at ([yshift=-0.8cm]compile.south) {Upload as\\Artifact};
+\node[process, fill=green!30, text=green!60!black, font=\small\sffamily\bfseries] (deploy) at ([yshift=-0.8cm]artifact.south) {Deploy to\\GitHub Pages};
+
+% Render connections
+\draw[arrow] (restore) -- (quarto);
+\draw[arrow] (quarto) -- (compile);
+\draw[arrow] (compile) -- (artifact);
+\draw[arrow] (artifact) -- (deploy);
+
+% Custom render script - with label higher and inverted direction
+\node[document] (customrender) at ([xshift=2.5cm]compile.east) {setup-render-ci.sh};
+\draw[arrow, draw=purple!50!black] (customrender) -- (compile) node[pos=0.35, above=12pt, label] {Customize};
+
+% Render and deploy container with title above
+\node[title] at (restore.north) [above=5mm] {Render \& Deploy \\\textcolor{orange!70!brown}{(publish-render.yml)}};
+
+% Use layers to put containers in the background - adjusted fit
+\begin{scope}[on background layer]
+ \node[package, fill=blue!10] (render) [fit=(restore) (quarto) (compile) (artifact) (deploy) (customrender)] {};
+\end{scope}
+
+% Main flow connections
+\draw[thick_arrow] (env.east) -- (render.west |- env.east);
+
+% Finally create the main workflow container around everything
+\begin{scope}[on background layer]
+ % Create invisible nodes to capture the title areas
+ \node[opacity=0] (env_title_anchor) at ([yshift=10mm]checkout.north) {};
+ \node[opacity=0] (render_title_anchor) at ([yshift=10mm]restore.north) {};
+
+ % Make container fit these invisible nodes too, ensuring it goes high enough
+ \node[container, fit=(env_title_anchor) (render_title_anchor) (env) (render)] (workflow_container) {};
+
+ % Place the title well above the container with colored filename
+ \node[font=\bfseries\Large, text=blue!70!black, align=center] at ([yshift=10mm]workflow_container.north) {Main Workflow \\\textcolor{orange!70!brown}{(build.yml)}};
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
\ No newline at end of file
diff --git a/assets/img/computo-template-julia.png b/assets/img/computo-template-julia.png
new file mode 100644
index 0000000..62367bf
Binary files /dev/null and b/assets/img/computo-template-julia.png differ
diff --git a/assets/img/computo-template-python.png b/assets/img/computo-template-python.png
new file mode 100644
index 0000000..6704813
Binary files /dev/null and b/assets/img/computo-template-python.png differ
diff --git a/assets/img/computo-template-r-source-display.png b/assets/img/computo-template-r-source-display.png
new file mode 100644
index 0000000..b292353
Binary files /dev/null and b/assets/img/computo-template-r-source-display.png differ
diff --git a/assets/img/computo-template-r-source.png b/assets/img/computo-template-r-source.png
new file mode 100644
index 0000000..c91320e
Binary files /dev/null and b/assets/img/computo-template-r-source.png differ
diff --git a/assets/img/computo-template-r.png b/assets/img/computo-template-r.png
new file mode 100644
index 0000000..7b50e44
Binary files /dev/null and b/assets/img/computo-template-r.png differ
diff --git a/assets/img/computo-template-screenshot.png b/assets/img/computo-template-screenshot.png
new file mode 100644
index 0000000..be5fa69
Binary files /dev/null and b/assets/img/computo-template-screenshot.png differ
diff --git a/site/guidelines-authors.qmd b/site/guidelines-authors.qmd
index 2aa2960..98a3711 100644
--- a/site/guidelines-authors.qmd
+++ b/site/guidelines-authors.qmd
@@ -1,8 +1,257 @@
---
title: Guidelines for authors
-description: This are the guidelines
+description: |
+ This page provides a step-by-step guide for authors to accompany them for formatting and submitting their paper to Computo.
format:
- html: {}
+ html:
+ toc: true
+ number-sections: true
+ fig-align: "center"
page-layout: article
+bibliography: ../publications/published.bib
---
+## Submitting a paper to Computo
+
+Submissions to [Computo](https://computorg.github.io) require both scientific content (typically equations, codes and figures, data) and a proof that this content is reproducible. This is achieved by means of i) a notebook system, ii) a virtual environment freezing the dependencies and iii) continuous integration (plus, if needed, an external website to store large data files such a [Zenodo](https://zenodo.org/) or [OSF](https://osf.io/) ).
+
+A Computo submission is thus a git(hub) repository containing:
+
+- the source files of the notebook (a quarto `.qmd` file + a BibTeX `.bib` file + some statics files, _e.g._ figures or small `.csv` data tables);
+- configuration files to set up the dependencies in a virtual environment;
+- configuration files to set up the continuous integration rendering the final documents.
+
+The [Computo](https://github.com/computorg) organization provides template repositories for [R](https://github.com/computorg/template-computo-R), [Python](https://github.com/computorg/template-computo-python) and [Julia](https://github.com/computorg/template-computo-julia) contributors. In the following sections, we detail step-by-step what authors have to do in order to format their paper for submission to Computo.
+
+### Setup a git repository
+
+Setup a new github repository by going on the URL of either the R or Python or Julia template repository and clicking on the **"use this template"** button on the top of the page, as illustrated in @fig-template.
+
+{#fig-template width="100%"}
+
+::: {.callout-note title="Using Gitlab"}
+You can use Gitlab for submitting to Computo. We will be giving more detailed support for this in the future.
+:::
+
+### Setup Quarto and Computo extension on your system
+
+You need [quarto](https://quarto.org/) installed on your computer, as well as the [Computo extension](https://github.com/computorg/computo-quarto-extension) to prepare your document. The latter can be installed from a terminal window with the following command line:
+
+```bash
+# Install computo quarto extension
+quarto add computorg/computo-quarto-extension
+```
+
+### Write your contribution
+
+Write your paper in the `template-computo-LANG.qmd` following the formatting suggestions therein.
+
+::: {.callout-note title="Local compilation"}
+Make sure that you are able to build your manuscript as a standard notebook on your system before proceeding to the next step.
+:::
+
+To build your document (both in PDF and HTML by default), you can run the command `quarto render`, e.g. for the template:
+
+```bash
+# will render both to html and PDF
+quarto render template-computo-{R,python,julia}.qmd
+```
+
+### Setup dependencies
+
+The next step is to inform Computo of the other packages or tools that your paper might depend upon. It is important to freeze their versions to ensure reproducibility. This step is inherently handled differently whether you are an R, Python or Julia user.
+
+#### R users
+
+For the R community, Computo relies on the [**renv**](https://rstudio.github.io/renv/articles/renv.html) package manager to setup a reproducible environment that handles `R` dependencies. Setting up **renv** for use within your repository requires the following steps. First,
+
+```r
+# Initialize your repo to work with renv
+renv::init()
+```
+
+will set up your repository for using **renv**. Then, install the required dependencies as usual (via `install.packages()` or via the RStudio IDE) or using **renv** built-in `install()` function:
+
+```r
+# Install packages you need
+renv::install("ggplot2") # or equivalently install.packages("ggplot2")
+```
+
+Non-CRAN packages (*e.g.* Github packages) can be used. To install such packages, you need to first install the **remotes** package. Then, if you want to install the development version of *e.g.* the **gt** package hosted by `rstudio` GitHub account (useful for nicely and easily formatting tables btw), you would do:
+
+```r
+install.packages("remotes")
+remotes::install_github("rstudio/gt")
+```
+
+Once you are done, you need to freeze the environment and package versions that are going to be used to run the calculations within your paper. This is achieved via:
+
+```r
+# Register environment and package versions
+renv::snapshot()
+```
+
+::: {.callout-warning title="The `renv.lock` file"}
+The `renv::snapshot()` command produces a file named `renv.lock` which registered the version of R, quarto and R packages that must be used to compile the publication. This file should be versioned with git. Other files that `snapshot()` might produce should be listed under `.gitignore` and therefore not put under versioning.
+:::
+
+More details for using **renv** can be found:
+
+- either on the [**renv**](https://rstudio.github.io/renv/articles/renv.html) package website,
+- or on the Quarto website at this [dedicated page](https://quarto.org/docs/projects/virtual-environments.html#using-renv).
+
+#### Python users
+
+More to come.
+
+#### Julia users
+
+More to come.
+
+### Ensure reproducibility
+
+Now that you have written your contribution in the correct template and set up its dependencies, you need to set up continuous integration via GitHub Actions in order to ensure reproducibility of your work and its publication as a webpage.
+
+#### Use Computo's built-in GitHub Action workflow
+
+Computo has a built-in workflow for just that purpose which comes in the form of a YAML file describing a GitHub Action. It should have been automatically added to your repository when you cloned one of our templates. It is located under `.github/workflows/build.yml` and its content should exactly match the following:
+
+```yaml
+name: Main Workflows
+
+on:
+ push:
+ branches: ["main","master"]
+ repository_dispatch:
+ types: [custom-event]
+ workflow_dispatch:
+ pull_request:
+ branches: ["main","master"]
+
+jobs:
+ call_env_workflow:
+ uses: computorg/workflows/.github/workflows/global-env.yml@main
+ call_quartopublish_workflow:
+ uses: computorg/workflows/.github/workflows/publish-render.yml@main
+ needs: call_env_workflow
+```
+
+::: {.callout-important title="Content of `build.yml`"}
+Authors should **under no circumstances** modify this file. If you encounter a problem (such as the CI not completing successfully), please get in touch with us at .
+:::
+
+Next, as illustrated in @fig-deploy, under `Settings > Pages` on the webpage of your repository, select **GitHub Actions** as the source for building and deploying your website.
+
+{#fig-deploy width="100%"}
+
+Authors can find more detailed about Computo's workflow in @sec-workflow.
+
+::: {.callout-note title="Compatibility with old reproducibility system"}
+You can safely delete the `gh-pages` branch if you have one, as we don't need anymore to push the HTML files to the site.
+:::
+
+#### Handle external *system* dependencies
+
+While you should have by now handled R, Python or Julia package dependencies using appropriate tools that register environments and version numbers, some of the packages your work depend upon might require external system dependencies that must be installed either when setting up the environment in the github runner or when taking care of the paper rendering or in both cases. To take care of that, you can add and customize two scripts at the root of your repository. Specifically:
+
+- `setup-env-ci.sh` is for setting up the environment and typically adding system dependencies. The virtual machine on github (runner) may need to install some packages with `apt-get` for R or Python packages. Here is an example of such a file taken from @giorgi2024:
+
+```bash
+# The CI runs on Linux Ubuntu, here goes system dependencies
+# needed at environment setup step
+sudo apt-get install -y libcurl4-openssl-dev
+```
+
+- `setup-render-ci.sh` is for taking care of specific dependencies outside of quarto, related to rendering, like plotting software or running a script to generate data. Here is an example of such a file taken from @giorgi2024:
+
+```bash
+# The CI runs on Linux Ubuntu, here goes system dependencies
+# needed at rendering step
+sudo apt-get install -y libblas-dev liblapack-dev
+```
+
+### Submit your manuscript
+
+Once step 4 is successful, you should end up with an HTML version published online, as well as a PDF version (see "Other format" at the end of the table of content of the rendered HTML). This PDF version can be submitted to the [OpenReview](https://openreview.net/group?id=Computo) platform.
+
+## Example papers
+
+Authors can find example papers for each language that illustrate the expected content and some key features for formatting contributions as well as reminding some of the guidelines:
+
+| [R](https://computo.sfds.asso.fr/template-computo-R/) | [Python](https://computo.sfds.asso.fr/template-computo-python/) | [Julia](https://computo.sfds.asso.fr/template-computo-julia/) |
+|:-:|:------:|:-----:|
+| [](https://computo.sfds.asso.fr/template-computo-R/) | [](https://computo.sfds.asso.fr/template-computo-python/) | [](https://computo.sfds.asso.fr/template-computo-julia/) |
+
+: {tbl-colwidths="[33,33,33]"}
+
+You can click above either on the name of the language or the screenshot to access the rendered version of each example paper. At any time you can then access the source code by clicking on the `> Source` button in the upper-right corner of the page as illustrated in @fig-template-source.
+
+{#fig-template-source width="100%"}
+
+The source code of the page then displays as shown in @fig-template-source-display and the user can click on the icon in the upper-right corner to copy the source code for practicing locally.
+
+{#fig-template-source-display width="100%"}
+
+## Computo's publication workflow {#sec-workflow}
+
+The Computo workflows provide a streamlined publishing pipeline for authors to submit and render Quarto articles directly on GitHub Pages without requiring technical expertise.
+
+### Workflow Summary
+
+{#fig-workflow width="100%"}
+
+As illustrated in @fig-workflow, the publication process consists of two main phases:
+
+1. **Environment Setup and Caching** (`global-env.yml`)
+ - Detects and installs required dependencies (Python, R)
+ - Caches the environment for faster subsequent runs
+ - Customizable via `setup-env-ci.sh`
+2. **Rendering and Deployment** (`publish-render.yml`)
+ - Renders Quarto documents to HTML
+ - Publish the output to GitHub Pages
+ - Customizable via `setup-render-ci.sh`
+
+Authors only need to reference the main workflow file (`build.yml`) in their repository, which orchestrates these processes.
+
+### Key Benefits
+
+- **Simplified Process**: Authors need minimal GitHub Actions knowledge
+- **Optimized Performance**: Environment caching for faster builds
+- **Customization Points**: Two script entry points for custom configurations
+- **Automated Deployment**: Direct publishing to GitHub Pages
+
+Authors simply use the `build.yml` workflow in their repository to trigger the complete process from environment setup to final publication.
+
+## Computo's code of ethics
+
+Originality
+
+: - Authors guarantee that their proposed article is original, and that it infringes no moral intellectual property right of any other person or entity.
+- Authors guarantee that their proposed article has not been published previously, and that they have not submitted the proposed article simultaneously to any other journal.
+
+Conflicts of interest
+
+: - Authors shall disclose any potential conflict of interest, whether it is professional, financial or other, to the journal’s Editor, if this conflict could be interpreted as having influenced their work.
+- Authors shall declare all sources of funding for the research presented in the article.
+
+Impartiality
+
+: All articles are examined impartially, and their merits are assessed regardless of the sex, religion, sexual orientation, nationality, ethnic origin, length of service or institutional affiliation of the author(s).
+
+Funding
+
+: All funding received by the author(s) shall be clearly stated in the article(s).
+
+Defamatory statements
+
+: Authors guarantee that their proposed article contains no matter of a defamatory, hateful, fraudulent or knowingly inexact character.
+
+References
+
+: Authors guarantee that all the publications used in their work have been cited appropriately.
+
+Copyright/author's right/license compliance
+
+: Authors guarantee that they comply with the usage license of any third party contents/works (code, software, data, figures/images, documents, etc.) that were used to produce their work.
+
+## References
\ No newline at end of file