diff --git a/README.md b/README.md
index 72bda90f3a17b87ed3a1571887687a551322ac3c..09ab326f7b985409d01affda9a519943038dd1ea 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,28 @@
-# User guide
+## NEMO User guide
+
 This project contains the source files (rst format) allowing to build the [html files for NEMO User's guide](https://sites.nemo-ocean.io/user-guide/)
 
 If you want to make some changes and updates, you can edit the rst source files in this directory.
 
 The User guide is web-based and is automatically generated from rst files, [namelists and gallery](https://forge.nemo-ocean.eu/nemo/doc). 
 
-Once the changes committed in these 3 projects, one needs to update their links into the project at the top of it [https://forge.nemo-ocean.eu/sites/user-guide](https://forge.nemo-ocean.eu/sites/user-guide), which in turn will trigger the Continuous Integration rebuilding the html files. 
+
+## Cloning with submodules
+
+This repository uses the `namelists` and `gallery` documentation projects as git `submodules`.
+
+So when cloning this repository it is necessary to clone also the related submodules, using the following command
+
+`git clone --recurse-submodules <reponame>`
+
+If the repository was cloned in a standard way, it is possible to checkout submodules using
+
+`git submodule update --init `
+
+
+## Update the online documentation
+
+Once that requested changes are committed to one or all these 3 projects, it is necessary to update their links into this project which in turn will trigger the Continuous Integration rebuilding the html files. 
+
 [This project at the top](https://forge.nemo-ocean.eu/sites/user-guide) is for now available to NEMO Officers only, so that you need to contact your NEMO  Officer to [finalise the update and rebuild the html files](https://forge.nemo-ocean.eu/sites/user-guide/-/blob/main/README.md)
 
diff --git a/environment.yml b/environment.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6a3936cba310c28412f1ce4aa0381eb3199daa58
--- /dev/null
+++ b/environment.yml
@@ -0,0 +1,15 @@
+---
+name: nemo-user-guide
+channels:
+  - conda-forge
+
+dependencies:
+  # Multi language support:
+  - python>=3.8
+  - sphinx
+  - sphinxcontrib-bibtex 
+  - sphinx_rtd_theme
+  - pip
+  # regular pip packages
+  - pip:
+    - sphinxext-remoteliteralinclude
diff --git a/source/Makefile b/source/Makefile
deleted file mode 100644
index 06258694b7c3790cb7e20d7520acb22b974ca3aa..0000000000000000000000000000000000000000
--- a/source/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# Minimal makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line.
-SPHINXOPTS    =
-SPHINXBUILD   = sphinx-build
-SPHINXPROJ    = NEMO
-SOURCEDIR     = ./
-BUILDDIR      = build
-
-# Put it first so that "make" without argument is like "make help".
-help:
-	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
-
-.PHONY: help Makefile
-
-# Catch-all target: route all unknown targets to Sphinx using the new
-# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
-%: Makefile
-	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
-
-# Watch source directory and rebuild the documentation when a change is detected
-# Browse to 127.0.0.1:8000/NEMO_guide.html
-htmllive:
-	sphinx-autobuild $(SPHINXOPTS) $(SOURCEDIR) $(BUILDDIR)/html
diff --git a/source/_static/style.css b/source/_static/style.css
index bc8c6e7962e7b0806e06823de67434c55ff467ea..f7652b1810f0c91b3d3915688eb5d30e48328282 100644
--- a/source/_static/style.css
+++ b/source/_static/style.css
@@ -1,5 +1,6 @@
 .blue            { color: blue    ; }
 .grey , .greysup { color: grey    ; }
 .green           { color: seagreen; }
+.pisces          { color: coral   ; }
 
 .logo { filter: invert(1) !important; }
diff --git a/source/cfgs.rst b/source/cfgs.rst
index 744046a29ac9682bf4fb9e0d75f47587cac5e896..57cbc0a41ac7b14b613a4fa27e649b7592c7a195 100644
--- a/source/cfgs.rst
+++ b/source/cfgs.rst
@@ -159,7 +159,7 @@ Analytical forcing for heat, freshwater and wind-stress fields are applied.
 
 This configuration acts also as demonstrator of the **user defined setup**
 (``ln_read_cfg = .false.``) and grid setting are handled through
-the ``&namusr_def`` controls in :file:`namelist.cfg, lines 35-41 : <https://forge.nemo-ocean.eu/nemo/nemo/-/tree/4.2.0/cfgs/GYRE_PISCES/EXPREF/namelist_cfg>`_
+the ``&namusr_def`` controls in :coderepo:`namelist.cfg, lines 35-41 : </cfgs/GYRE_PISCES/EXPREF/namelist_cfg>`
 
 
 Note that, the default grid size is 30x20 grid points (with ``nn_GYRE = 1``) and
@@ -206,7 +206,7 @@ This configuration uses the three components
 
 - |OCE|, the ocean dynamical core
 - |ICE|, the thermodynamic-dynamic sea ice model.
-- |MBG|, passive tracer transport module and PISCES BGC model :cite:`aumont.ethé.ea_GMD15`
+- |TOP|, passive tracer transport module and PISCES BGC model :cite:`aumont.ethé.ea_GMD15`
 
 All components share the same grid.
 The model is forced with CORE-II normal year atmospheric forcing and
@@ -246,7 +246,7 @@ ORCA2_OFF_PISCES
 | This enables for an offline coupling of TOP components.
 
 Pre-calculated dynamical fields are provided to NEMO using
-the namelist ``&namdta_dyn``  in :file:`namelist_cfg <https://forge.nemo-ocean.eu/nemo/nemo/-/blob/4.2.0/cfgs/ORCA2_OFF_PISCES/EXPREF/namelist_cfg>`_,
+the namelist ``&namdta_dyn``  in :coderepo:`namelist_cfg </cfgs/ORCA2_OFF_PISCES/EXPREF/namelist_cfg>`,
 in this case with a 5 days frequency (120 hours):
 
 
diff --git a/source/cite.rst b/source/cite.rst
index 136a96d6940d75494887145197a5524292971234..bfc1c71020bd04377026eb85e13695c366a70bd3 100644
--- a/source/cite.rst
+++ b/source/cite.rst
@@ -49,6 +49,6 @@ How to cite: Reference manuals
 	      
 |NEMO-PISCES|
    :title:`Biogeochemical model`,	   
-   :doc:`Documentation <https://www.pisces-community.org/index.php/model-description/>`_
+   `Pisces community documentation page <https://www.pisces-community.org/index.php/model-description/>`_
 
    
diff --git a/source/conf.py b/source/conf.py
index b2214f9a790fbccf9334866563515c78b6544e61..cf69be20d7828ab6f130426cf60cef991a19bd7d 100644
--- a/source/conf.py
+++ b/source/conf.py
@@ -12,9 +12,11 @@ project = 'NEMO'
 author = 'NEMO System Team'
 
 # The short X.Y version
-version = '4.2'
+version = '4.2.0'
 # The full version, including alpha/beta/rc tags
-release = 'release-4.2.0'
+release = 'release-' + version
+# NEMO gitlab repository
+nemo_repo='https://forge.nemo-ocean.eu/nemo/nemo/-/'
 
 
 # -- General configuration ---------------------------------------------------
@@ -23,6 +25,9 @@ release = 'release-4.2.0'
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 # ones.
 extensions = ['sphinx.ext.extlinks', 'sphinx.ext.todo', 'sphinxcontrib.bibtex']
+# add pip extensions
+extensions += ['sphinxext.remoteliteralinclude']
+
 bibtex_bibfiles = ['refs.bib', 'cfgs.bib', 'tests.bib']
 
 # Add any paths that contain templates here, relative to this directory.
@@ -98,14 +103,17 @@ copyright = '2008-' + str( year ) + ', NEMO Consortium'
 
 # Link aliases
 extlinks = {
-	'doi'    : ('https://doi.org/%s'                       , None),
-	'forge'  : ('https://forge.ipsl.jussieu.fr/nemo/%s'    , None),
-	'github' : ('https://github.com/NEMO-ocean/%s'         , None),
-	'xios'   : ('https://forge.ipsl.jussieu.fr/ioserver/%s', None),
-	'website': ('https://www.nemo-ocean.eu/%s'             , None),
-	'gitlab' : ('https://forge.nemo-ocean.eu/nemo/core'    , None),
-	'zenodo' : ('https://zenodo.org/publication/%s'        , None)
+	'doi'     : ('https://doi.org/%s'                       , None),
+	'forge'   : ('https://forge.ipsl.jussieu.fr/nemo/%s'    , None),
+	'github'  : ('https://github.com/NEMO-ocean/%s'         , None),
+	'xios'    : ('https://forge.ipsl.jussieu.fr/ioserver/%s', None),
+	'website' : ('https://www.nemo-ocean.eu/%s'             , None),
+	'zenodo'  : ('https://zenodo.org/publication/%s'        , None),
+	'gitlab'  : (nemo_repo                                  , None),
+        'coderepo': (nemo_repo + '/tree/'+ version + '%s'       , None),
+        'tarrepo' : (nemo_repo + '/releases/'+ version + '%s'   , None),
 }
 
 # Include common directives for every rst file
 rst_epilog = open('global.rst', 'r').read()
+
diff --git a/source/contrib.rst b/source/contrib.rst
index 72f6c5acaccca4cc192b078ded0574a18fafa956..2e2cc175fe3187a693ef79f130daaf658b76293c 100644
--- a/source/contrib.rst
+++ b/source/contrib.rst
@@ -12,11 +12,11 @@ Contributing
 Sending feedbacks and getting answers
 =====================================
 
-  Sending feedbacks is a useful way to contribute to NEMO efficency and reliability. Before doing so,please check
+Sending feedbacks is a useful way to contribute to NEMO efficency and reliability. Before doing so,please check
 on NEMO develoment platform in wiki, tickets, forum and online documentation so as 
 on :NEMO Discourse group:`https://nemo-ocean.discourse.group` if the subject has already been discussed. 
 You can either contribute to an existing discussion, or
-  Create an entry for the discussion online in Discourse, according to your needs
+Create an entry for the discussion online in Discourse, according to your needs
 
 Please follow the guidelines and try to be as specific as possible in the description.
 
diff --git a/source/cplg.rst b/source/cplg.rst
index 51108819c6529cd77d2f859c37c9ced6b5cd2db7..b9119149865010c74b8dbadb0dd6085b17ea5106 100644
--- a/source/cplg.rst
+++ b/source/cplg.rst
@@ -7,13 +7,13 @@ Coupling
    The ‘Coupling’ chapter needs to be enriched
 
 NEMO currently exploits OASIS-3-MCT (versions 1 to 4) to implement a generalised coupled interface
-(:manhtml:`Coupled Formulation <node50.html>`).
+(:website:`Coupled Formulation </doc/node50.html>`).
 It can be used to interface with most of the European atmospheric GCM
 (ARPEGE, ECHAM, ECMWF, Ha- dAM, HadGAM, LMDz), as well as to regional atmospheric models
 (WRF, COSMO, Meso-NH, AROME).
 To implement the coupling of two independent NEMO components,
 ocean on one hand and sea-ice plus other surface processes on the other hand
-(:manhtml:`Standalone Surface Module - SAS <node46.html>`).
+(:website:`Standalone Surface Module - SAS </doc/node46.html>`).
 
 To enable the OASIS interface the required compilation key is ``key_oasis3``.
 You must also add ``key_oasis3_v1v2`` if you use OASIS-3-MCT version 1 and 2.
diff --git a/source/da.rst b/source/da.rst
index 7883e01280e9c67522199a7e3bd5c680f5e46116..ee3d6d44237e3bcfda94182d5c794a05e09128c6 100644
--- a/source/da.rst
+++ b/source/da.rst
@@ -16,7 +16,7 @@ The assimilation interface to NEMO is split into three modules.
   (based on the assimilation increments).
 - ``TAM`` the tangent linear and adjoint model.
 
-Please see :doc:`NEMO reference manual <cite.html>` for more details including
+Please see :doc:`NEMO reference manual <cite>` for more details including
 information about the input file formats and the namelist settings.
 
 Observation and model comparison (``OBS``)
@@ -32,7 +32,7 @@ can be used for validation or verification of model or any other data assimilati
 This is all controlled by the namelist.
 To build with the OBS code active ``key_diaobs`` must be set.
 
-More details in :manhtml:`"Observation and Model Comparison (OBS)" chapter <node83.html>`.
+More details in :website:`"Observation and Model Comparison (OBS)" chapter </doc/node83.html>`.
 
 Standalone observation operator (``SAO``)
 -----------------------------------------
@@ -47,7 +47,7 @@ Then include ``SAO`` at the end of the relevant line in :file:`cfg.txt` file.
 Then recompile with the replacement main program in :file:`./src/SAO`.
 This is a special version of :file:`nemogcm.F90` (which doesn't run the model,
 but reads in the model fields, and observations and runs the OBS code.
-See :manhtml:`"Standalone observation operator (SAO)" section <node88.html>`.
+See :website:`"Standalone observation operator (SAO)" section </doc/node88.html>`.
 
 Apply assimilation increments (``ASM``)
 =======================================
@@ -60,7 +60,7 @@ The code can also output model background fields which are used as an input to d
 This is all controlled by the namelist ``&nam_asminc``.
 To build the ASM code ``key asminc`` must be set.
 
-More details in :manhtml:`"Apply Assimilation Increments (ASM)" chapter <node89.html>`.
+More details in :website:`"Apply Assimilation Increments (ASM)" chapter </doc/node89.html>`.
 
 Tangent linear and adjoint (``TAM``)
 ====================================
diff --git a/source/global.rst b/source/global.rst
index cda51291a8143d5e901c0cc8809c7e525e7a5ef5..4d18683291af36ccf22d5c30e154d41e04b34c77 100644
--- a/source/global.rst
+++ b/source/global.rst
@@ -6,6 +6,7 @@
 .. role:: green
 .. role:: grey
 .. role:: greysup(sup)
+.. role:: pisces
 
 .. inline code snippets
 
@@ -27,8 +28,9 @@
 .. |OCE|      replace::  :blue:`NEMO-OCE`
 .. |NEMO-ICE| replace::  :grey:`NEMO-SI`\ :greysup:`3`  :grey:`(Sea Ice)`
 .. |ICE|      replace::  :grey:`NEMO-SI`\ :greysup:`3`
-.. |NEMO-MBG| replace:: :green:`NEMO-TOP/PISCES (Tracers)`
-.. |MBG|      replace:: :green:`NEMO-TOP/PISCES`
+.. |NEMO-TOP| replace:: :green:`NEMO-TOP (Oceanic Tracers)`
+.. |TOP|      replace:: :green:`NEMO-TOP`
+.. |NEMO-PISCES| replace:: :pisces:`NEMO-PISCES`
 
 .. External links
 
@@ -55,7 +57,7 @@
 
 .. _EGU: http://www.egu.eu
 .. _Special Issue: https://www.geosci-model-dev.net/special_issue40.html
-.. _BFM man: https://cmcc-foundation.github.io/www.bfm-community.eu/files/bfm-nemo-manual_r1.0_201508.pdf
+.. _BFM man: https://bfm-community.github.io/www.bfm-community.eu/files/bfm-nemo-manual_r1.1_202006.pdf
 .. _RST man: https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html
 .. _PAPA station: http://www.pmel.noaa.gov/OCS/Papa/index-Papa.shtml
 .. _sette inputs: https://gws-access.jasmin.ac.uk/public/nemo/sette_inputs
diff --git a/source/index.rst b/source/index.rst
index 6c2166162a962772d8879ba6c150eb5063d9e817..af0b09551234c185b14d4d44ab5dc1dbeb7e5b29 100644
--- a/source/index.rst
+++ b/source/index.rst
@@ -26,7 +26,7 @@ NEMO User Guide
    :glob:
    :titlesonly:
 
-   unpub/*
+#   unpub/*
 
 .. Only displayed with 'make drafthtml'
 
diff --git a/source/install.rst b/source/install.rst
index 793a66073bb2c69442eb0b83dd41f5fd54d62cf4..f357584586d8558a24e407ae18c038e874eab04f 100644
--- a/source/install.rst
+++ b/source/install.rst
@@ -1,6 +1,6 @@
-*******************
+********************
 Essential components
-*******************
+********************
 
 .. todo::
 
@@ -119,13 +119,11 @@ Instructions on how to install XIOS can be found on its :xios:`wiki<>`.
 Download and install the NEMO code
 **********************************
 
-Checkout the 4.2.0 NEMO source
-------------------------------
+Checkout the NEMO source
+------------------------
 
-  .. _`4.2.0 release site`: https://forge.nemo-ocean.eu/nemo/nemo/-/releases/4.2.0
-  
 There are several ways to obtain the NEMO source code. Users who are not familiar with ``git``
-and simply want a fixed code to compile and run, can download a tarball from the `4.2.0 release site`_
+and simply want a fixed code to compile and run, can download a tarball from the :tarrepo:`4.2.0 release site<>`
 
 Users who are familiar with ``git`` and likely to use it to manage their own local branches and 
 modifications, can clone the repository at the release tag:
@@ -153,14 +151,12 @@ Description of 1\ :sup:`st` level tree structure
 +---------------+-------------------------------------------------+
 | :file:`cfgs`  | :doc:`Reference configurations <cfgs>`          |
 +---------------+-------------------------------------------------+
-| :file:`doc`   | :doc:`Documentation <doc>`                      |
-+---------------+-------------------------------------------------+
 | :file:`ext`   | Dependencies included                           |
 |               | (``AGRIF``, ``FCM``, ``PPR`` & ``IOIPSL``)      |
 +---------------+-------------------------------------------------+
 | :file:`mk`    | Compilation scripts                             |
 +---------------+-------------------------------------------------+
-| :file:`src`   | :doc:`NEMO codebase <src>`                      |
+| :file:`src`   | NEMO codebase                                   |
 +---------------+-------------------------------------------------+
 | :file:`tests` | :doc:`Test cases <tests>`                       |
 |               | (unsupported)                                   |
@@ -245,9 +241,9 @@ More :file:`makenemo` options
 ``makenemo`` has several other options that can control which source files are selected and
 the operation of the build process itself.
 
-.. literalinclude:: ../../../makenemo
+.. rli:: https://forge.nemo-ocean.eu/nemo/nemo/-/raw/4.2.0/makenemo
    :language: text
-   :lines: 119-143
+   :lines: 119-151
    :caption: Output of ``makenemo -h``
 
 These options can be useful for maintaining several code versions with only minor differences but
diff --git a/source/migration.rst b/source/migration.rst
index 9c12ec85bffe6582c74dbdad14bbfb7a6c884ce9..6bae247ec8827da06f46492735911d4a7be02a15 100644
--- a/source/migration.rst
+++ b/source/migration.rst
@@ -5,7 +5,7 @@ Migrating from 4.0.x to 4.2.x
 .. |nbsp| unicode:: 0xA0 .. non-breaking space
 
 Modification of input and output files
-=====
+======================================
 
 Up to NEMO version 4.0.x (inclusive), if the domain configuration includes one of the
 possible periodicity conditions (East-West (EW), North-South (SN) or North-Pole (NP)
@@ -28,8 +28,8 @@ the periodicity, see Figure 1.:
    chosen periodicity. Thick black rows delimit the part of the domain included in all
    input/outputs files.
 
-**From NEMO 4.2.0, s the columns and rows that are duplicated because of periodicity (EW, SN
-and NP)  are excluded from all input and output files.**  In practise, when preparing old
+**From NEMO 4.2.0, the columns and rows that are duplicated because of periodicity (EW, SN
+and NP)  are excluded from all input and output files.**  In practice, when preparing old
 configurations for use with 4.2.0, this means:
 
 .. list-table::
@@ -148,7 +148,7 @@ Here is an example on how to create global attributes with the command ncatted:
 
 
 Speed up associated with reduced memory requirements
-=====
+====================================================
  
 In order to reduce the memory footprint in NEMO 4.2, an additional way of dealing with vertical scale factors has been implemented using cpp keys (``key_linssh``, ``key_qco``). These keys allow a reduction of the memory footprint by removing 26 x 3D arrays at the cost of 10 x 2D arrays. In tests without I/O, this implementation allows a speed up of 7 to 15% depending on the average memory load among processors.
 
@@ -197,7 +197,7 @@ For ice-shelf simulations, a ``key_isf`` cpp key is needed in addition to ``key_
 
 
 Shallow Water 
-=====
+=============
 
 The SWE (Shallow Water Equation) module (./src/SWE) is a demonstrator for shallow water equations newly included in NEMO v4.2. This module is an early demonstrator for the changes to the time-stepping scheme that are planned for the next release. It contains suitable shallow water time stepping routines for both Modified Leap Frog (stpmlf.F90) and Runge Kutta 3rd order (stprk3.F90) time schemes. Note that in the MLF case, the ``key_qco`` compilation pre-processing key is needed. RK3 requires both ``key_qco`` and either ``key_RK3`` or ``key_RK3all`` compilation pre-processing keys. RK3 time-stepping is a 3 stage algorithm: 1st and 2nd stages build estimates of intermediate fields, the 3rd stage integrates the model from n to n+1 using the intermediate estimates. With ``key_RK3all``, all the stages are integrated with the full suite of ocean dynamics including advection, vorticity, lateral diffusion, pressure gradient, and forcing. Instead, with ``key_RK3``, lateral diffusion and forcing are removed from stages 1 and 2. 
 
diff --git a/source/sette.rst b/source/sette.rst
index 5e4cb767965e2286cf92f56a5f84423de6f6e28e..5a1ad001fc9ebeac33a3f014272abe0eeeb0107d 100644
--- a/source/sette.rst
+++ b/source/sette.rst
@@ -322,7 +322,7 @@ Any such solutions should be fed back to the system team for incorporation into
 .. _Component scripts:
 
 Component scripts
-================
+=================
 
 ``SETTE`` consists of a suite of scripts and settings files. A complete list is given here but basic
 use of ``SETTE`` only requires familiarisation with the first two listed:
diff --git a/source/setup.rst b/source/setup.rst
index 6b98a75683b2c8ac70aee9714d844cefe27ac3a9..38770569c4bd5e16b9cc00f651c4251d3f907a15 100644
--- a/source/setup.rst
+++ b/source/setup.rst
@@ -60,7 +60,7 @@ run a NEMO regional configuration.
 
 Option 4: Use the nesting tools to create embedded zooms or regional configurations from an existing grid
 ---------------------------------------------------------------------------------------------------------
-(see :download:`NESTING README <../../../tools/NESTING/README>`).
+(see :coderepo:`NESTING README </tools/NESTING/README>`).
 
 
 Creating a completely new configuration
@@ -148,7 +148,7 @@ There are two options for creating a :file:`domain_cfg.nc` file:
 - Users can adapt and apply the supplied tool available in :file:`./tools/DOMAINcfg`.
   This tool is based on code extracted from NEMO version 3.6 and will allow similar choices for
   the horizontal and vertical grids that were available internally to that version.
-  See :ref:`tools <DOMAINcfg>` for details.
+  See :doc:`DOMAINcfg tool <tools>` for details.
 
 Option 2: Adapt the usr_def configuration module of NEMO for you own purposes
 -----------------------------------------------------------------------------
diff --git a/source/sphinx.rst b/source/sphinx.rst
deleted file mode 100644
index e6a213f8728571f4fb31f0dbf4ca3285f455fbdd..0000000000000000000000000000000000000000
--- a/source/sphinx.rst
+++ /dev/null
@@ -1,56 +0,0 @@
-**********************
-NEMO Quick Start Guide
-**********************
-
-| The NEMO guide is made up of several files written in
-  `ReStructuredText <http://docutils.sourceforge.net/rst.html>`_ (`.rst` extension),
-  a WYSIWYG markup language used in the Python community, and scattered all over the NEMO sources.
-| You can view them one by one in plain text from `./source` folder, or export all to a user-friendly guide under `./build` (only HTML format at the moment, PDF expected later).
-
-Build and export the guide in HTML
-==================================
-
-1.  Install Sphinx documentation generator, its BibTeX extension and "Read The Docs" theme thanks to `pip` packages tool
-
-    .. code-block:: console
-
-        $ pip install sphinx sphinxcontrib.bibtex sphinx_rtd_theme
-
-2.  Build the HTML export with `make` in `./build/html`
-
-    .. code-block:: console
-
-        $ make html
-
-3.  Finally browse the guide by opening `./build/html/NEMO_guide.html`
-
-
-Edit the sources and check the output in real time
-==================================================
-
-| To facilitate the update of the guide, editors can install a useful package that will automatically trigger a new build and the reload of the HTML page for every recorded change in the sources.
-| So the reviewer saves time by controlling on-line their modifications almost as it types and also by avoiding repeated interactive rebuilds.
-
-Install `sphinx-autobuild` package
-
-.. code-block:: console
-
-	$ pip install sphinx-autobuild
-
-Launch a local web server hosting a draft export of the guide (build this time in `./build/livehtml`)
-
-.. code-block:: console
-
-    $ make livehtml
-
-| Open in the same time the 2 formats of the content to review: the source file and the web page by browsing from the new guide hosted by your local server on `<http://127.0.0.1:8000/NEMO_guide.html>`_.
-| Start the update, save your changes and verify instantly the HTML export in your browser.
-
-.. warning::
-
-    | Your modifications are not taken into account?
-    | For symlink file, you will have to close it to update the HTML export. Otherwise look at the log of the Sphinx build, you probably made a typo!
-
-.. hint::
-
-    Are there broken links? Fix "Page not found" errors by running `make linkcheck`
diff --git a/source/tests.rst b/source/tests.rst
index 6606d5bbbc8f20e33a56e62871500dae25cb38df..91f77cacaaa3cd80231d242a4b9e65d2c8ba921c 100644
--- a/source/tests.rst
+++ b/source/tests.rst
@@ -2,9 +2,6 @@
 Explore the test cases
 **********************
 
-.. todo::
-
-
 .. contents::
    :local:
    :depth: 1
@@ -173,7 +170,7 @@ Benchmark configuration. Allow to run any configuration (including ORCA type or
 CPL_OASIS
 ---------
 
-This test case checks the OASIS interface in OCE/SBC, allowing to set up  a coupled configuration through OASIS. See ``CPL_OASIS/README.md` for more information.
+This test case checks the OASIS interface in OCE/SBC, allowing to set up  a coupled configuration through OASIS. See `CPL_OASIS/README.md` for more information.
 
 DIA_GPU
 -------
diff --git a/source/todos.rst b/source/todos.rst
deleted file mode 100644
index 1ac494828ae0d431fbabb103b4e805ad3689d22d..0000000000000000000000000000000000000000
--- a/source/todos.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-*********************
-List of editing tasks
-*********************
-
-.. todolist::
diff --git a/source/tools.rst b/source/tools.rst
index 703a0d688306381c8ee22287f4f2e705924589a2..dccda3a1d58bdd4ef0fda2b68ff9a18a45072829 100644
--- a/source/tools.rst
+++ b/source/tools.rst
@@ -37,18 +37,18 @@ DMP_TOOLS
 
 Used to create a netcdf file called :file:`resto.nc` containing
 restoration coefficients for use with the :file:`tra_dmp` module in NEMO
-(see :download:`DMP_TOOLS README <../../../tools/DMP_TOOLS/README>`).
+(see :coderepo:`DMP_TOOLS README </tools/DMP_TOOLS/README>`).
 
 DOMAINcfg
 ---------
 A toolbox allowing the creation of regional configurations from curvilinear grid
-(see :download:`DOMAINcfg README <../../../tools/DOMAINcfg/README.rst>`).
+(see :coderepo:`DOMAINcfg README </tools/DOMAINcfg/README>`).
 
 GRIDGEN
 -------
 This tool allows the creation of a domain configuration file (``domain_cfg.nc``) containing
 the ocean domain information required to define an ocean configuration from scratch.
-(see :download:`GRIDGEN documentation <../../../tools/GRIDGEN/doc_cfg_tools.pdf>`).
+(see :coderepo:`GRIDGEN documentation </tools/GRIDGEN/doc_cfg_tools.pdf>`).
 
 MISCELLANEOUS
 -------------
@@ -62,8 +62,8 @@ MPP_PREP
 This tool provides the user with information to choose the best domain decomposition.
 The tool computes the number of water processors for all possible decompositions,
 up to a maximum number of processors
-(see :download:`MPP_PREP documentation <../../../tools/MPP_PREP/mpp_nc.pdf>` and
-:download:`MPP_PREP archive <../../../tools/MPP_PREP/mpp_prep-1.0.tar.gz>`).
+(see :coderepo:`MPP_PREP documentation </tools/MPP_PREP/mpp_nc.pdf>` and 
+:coderepo:`MPP_PREP archive </tools/MPP_PREP/mpp_prep-1.0.tar.gz>`).
 
 NESTING
 -------
@@ -72,7 +72,7 @@ AGRIF nesting tool allows for the seamless two-way coupling of nested sub-models
 the NEMO framework as long as these are defined on subsets of the original root grid.
 It allows to create the grid coordinates, the surface forcing and the initial conditions required by
 each sub-model when running a NEMO/AGRIF embedded mode
-(see :download:`NESTING README <../../../tools/NESTING/README>`).
+(see :coderepo:`NESTING README </tools/NESTING/README>`).
 
 OBSTOOLS
 --------
@@ -86,7 +86,7 @@ REBUILD_NEMO
 
 REBUILD_NEMO is a tool to rebuild NEMO output files from multiple processors
 (mesh_mask, restart or XIOS output files) into one file
-(see :download:`REBUILD_NEMO README <../../../tools/REBUILD_NEMO/README.rst>`).
+(see :coderepo:`REBUILD_NEMO README </tools/REBUILD_NEMO/README.rst>`).
 
 REBUILD
 -------
@@ -115,21 +115,21 @@ SIREN
 -----
 
 SIREN is a configuration management tool to set up regional configurations with NEMO
-(see :download:`SIREN README <../../../tools/SIREN/README>`).
+(see :coderepo:`SIREN README </tools/SIREN/README>`).
 
 WEIGHTS
 -------
 
 This directory contains software for generating and manipulating interpolation weights for use with
 the Interpolation On the Fly (IOF) option in NEMO v3 onwards
-(see :download:`WEIGHTS README <../../../tools/WEIGHTS/README>`).
+(see :coderepo:`WEIGHTS README </tools/WEIGHTS/README>`).
 
 TOYATM
 ------
 
 This directory contains a simplified model that send/receive atmospheric fields to/from NEMO, for use in the CPL_OASIS sed to test case of the NEMO-OASIS coupling interface.
 This toy requires OASIS3-MCT to be installed and properly defined in the arch file.
-(see :download:`CPL_OASIS README <../../../tests/CPL_OASIS/README.md>`).
+(see :coderepo:`CPL_OASIS README </tests/CPL_OASIS/README.md>`).
 
 ABL_TOOLS
 ---------
diff --git a/source/tracers.rst b/source/tracers.rst
index 79fe32423859c8ec038c183f5410a22aa55b7c6b..975c46a26eb6db110f1c30c3603035b5b343f2c8 100644
--- a/source/tracers.rst
+++ b/source/tracers.rst
@@ -2,10 +2,6 @@
 Oceanic tracers
 ***************
 
-.. todo::
-
-
-
 .. contents::
    :local:
 
@@ -24,7 +20,7 @@ marine biogeochemical cycles.
 Structure
 =========
 
-TOP interface has the following location in the source code `./src/TOP <https://forge.nemo-ocean.eu/nemo/nemo/-/tree/4.2.0/src/TOP>`_ and
+TOP interface has the following location in the source code :coderepo:`./src/TOP </src/TOP>` and
 the following modules are available:
 
 :file:`TRP`
@@ -83,10 +79,9 @@ Model initialization (:file:`./src/OCE/nemogcm.F90`)
 
 Call to ``trc_init`` subroutine (:file:`./src/TOP/trcini.F90`) to initialize TOP.
 
-.. literalinclude:: ../../../src/TOP/trcini.F90
+.. rli:: https://forge.nemo-ocean.eu/nemo/nemo/-/raw/4.2.0/src/TOP/trcini.F90
    :language:        fortran
-   :lines:           41-86
-   :emphasize-lines: 21,30-32,38-40
+   :lines:           43-87
    :caption:         ``trc_init`` subroutine
 
 Time marching procedure (:file:`./src/OCE/step.F90`)
@@ -94,27 +89,25 @@ Time marching procedure (:file:`./src/OCE/step.F90`)
 
 Call to ``trc_stp`` subroutine (:file:`./src/TOP/trcstp.F90`) to compute/update passive tracers.
 
-.. literalinclude:: ../../../src/TOP/trcstp.F90
+.. rli:: https://forge.nemo-ocean.eu/nemo/nemo/-/raw/4.2.0/src/TOP/trcstp.F90
    :language:        fortran
-   :lines:           46-125
-   :emphasize-lines: 42,55-57
+   :lines:           48-139
    :caption:         ``trc_stp`` subroutine
 
 BGC trends computation for each submodule (:file:`./src/TOP/trcsms.F90`)
 ------------------------------------------------------------------------
 
-.. literalinclude:: ../../../src/TOP/trcsms.F90
+.. rli:: https://forge.nemo-ocean.eu/nemo/nemo/-/raw/4.2.0/src/TOP/trcsms.F90
    :language:        fortran
-   :lines:           21
-   :caption:         :file:`trcsms` snippet
+   :lines:           36-66
+   :caption:         :file:`trcsms` subroutine
 
 Physical trends computation (:file:`./src/TOP/TRP/trctrp.F90`)
 --------------------------------------------------------------
 
-.. literalinclude:: ../../../src/TOP/TRP/trctrp.F90
+.. rli:: https://forge.nemo-ocean.eu/nemo/nemo/-/raw/4.2.0/src/TOP/TRP/trctrp.F90
    :language:        fortran
-   :lines:           46-95
-   :emphasize-lines: 17,21,29,33-35
+   :lines:           50-111
    :caption:         ``trc_trp`` subroutine
 
 Namelists walkthrough
@@ -241,7 +234,7 @@ the segments defined for the physical core of NEMO
 Here below the description of :file:`namelist_trc_ref` used to handle Carbon tracers modules,
 namely CFC and C14.
 
-.. literalinclude:: ../../../cfgs/SHARED/namelist_trc_ref
+.. rli:: https://forge.nemo-ocean.eu/nemo/nemo/-/raw/4.2.0/cfgs/SHARED/namelist_trc_ref
    :language: fortran
    :lines: 7,17,26,34
    :caption: :file:`../namelist_trc_ref` snippet
diff --git a/source/zooms.rst b/source/zooms.rst
index f4077ea5a6ad919df95a150c02fd024b53732f4f..8a26f1d189a4428840b9d04e99af91ba9cefd82a 100644
--- a/source/zooms.rst
+++ b/source/zooms.rst
@@ -2,10 +2,6 @@
 Embedded zooms
 **************
 
-.. todo::
-
-
-
 .. contents::
    :local: