From 10b09c760065387d115e166b0cafdfdab5374c5a Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de>
Date: Wed, 15 Mar 2023 15:43:12 +0100
Subject: [PATCH] split py (tutorial) and ref (reference)

---
 .../gtest/gtest-1.11.0/docs/advanced.md       |  46 +++++++++---------
 .../common/gtest/gtest-1.11.0/docs/faq.md     |   4 +-
 .../gtest-1.11.0/docs/gmock_cheat_sheet.md    |  18 +++----
 .../gtest-1.11.0/docs/gmock_cook_book.md      |   8 +--
 .../gtest-1.11.0/docs/gmock_for_dummies.md    |   2 +-
 .../common/gtest/gtest-1.11.0/docs/primer.md  |   4 +-
 .../installation/building/unix/third-party.md |   2 +-
 .../py/ex/gisas-no-dwba-terms/index.md        |   2 +-
 hugo/content/py/ex/gisas/_index.md            |   2 +-
 .../fitting/basic/minimizer-settings/index.md |   2 +-
 .../polarized-spinasymmetry-fit/index.md      |   6 +--
 .../extended/reflectometry-honeycomb/index.md |   4 +-
 .../extended/reflectometry-pt-layer/index.md  |   2 +-
 hugo/content/py/fitting/gisas-fit2d/index.md  |   4 +-
 .../fitting/instrument-description/index.md   |   6 +--
 hugo/content/py/fitting/minimizers/index.md   |   2 +-
 hugo/content/py/result/export/_index.md       |   4 +-
 .../export/axes-in-different-units/index.md   |   2 +-
 hugo/content/py/result/export/more.md         |   2 +-
 hugo/content/py/start/_index.md               |   4 +-
 hugo/content/py/start/find.md                 |   2 +-
 hugo/content/py/start/run.md                  |   4 +-
 hugo/content/py/start/syntax.md               |  12 ++---
 hugo/content/ref/_index.md                    |  12 +++++
 hugo/content/{py => ref}/instr/_index.md      |   0
 hugo/content/{py => ref}/instr/beam/_index.md |   0
 .../instr/beam/angular-divergence/index.md    |   2 +-
 .../beam/divergence/BeamDivergence_setup.jpg  | Bin
 .../instr/beam/divergence/index.md            |   0
 .../instr/beam/footprint/FootprintScheme.odg  | Bin
 .../instr/beam/footprint/FootprintScheme.png  | Bin
 .../{py => ref}/instr/beam/footprint/index.md |   2 +-
 .../instr/beam/full-divergence/index.md       |   4 +-
 hugo/content/{py => ref}/instr/det/_index.md  |   8 +--
 hugo/content/{py => ref}/instr/det/offspec.md |   0
 .../instr/det/rectangular-detector/index.md   |   0
 .../rectangular_detector.png                  | Bin
 .../rectangular_detector_directbeam.png       | Bin
 .../rectangular_detector_genpos.png           | Bin
 .../rectangular_detector_reflectedbeam.png    | Bin
 .../rectangular_detector_samplepos.png        | Bin
 .../xy_plane_with_labels.png                  | Bin
 .../{py => ref}/instr/det/resolution/index.md |   2 +-
 .../instr/det/spherical-detector/index.md     |   0
 .../spherical-detector/phi_alpha_plane.png    | Bin
 .../phi_alpha_plane_variable.png              | Bin
 .../spherical-detector/spherical_detector.png | Bin
 .../{py => ref}/instr/det/two_detectors.png   | Bin
 .../{py => ref}/instr/polarized/_index.md     |   0
 .../basic-polarized-reflectometry/index.md    |   2 +-
 .../instr/polarized/no-analyzer/index.md      |   2 +-
 .../polarized-non-perfect-ap/index.md         |   4 +-
 .../polarized/polarized-spin-flip/index.md    |   4 +-
 .../polarized-spinasymmetry/index.md          |   4 +-
 hugo/content/{py => ref}/instr/scan/_index.md |   6 +--
 .../{py => ref}/instr/scan/tof-resolution.md  |   2 +-
 hugo/content/{py => ref}/instr/scan/tof.md    |   0
 hugo/content/{py => ref}/other/_index.md      |   0
 .../{py => ref}/other/distributions.md        |   0
 hugo/content/{py => ref}/sample/_index.md     |   0
 .../content/{py => ref}/sample/avge/_index.md |   0
 .../avge/cylinders-in-average-layer/index.md  |   0
 .../index.md                                  |   0
 .../{py => ref}/sample/interference/_index.md |   0
 .../sample/interference/grating/_index.md     |   0
 .../CosineRipplesAtRectLattice_setup.jpg      | Bin
 .../cosine-ripples-at-rect-lattice/index.md   |   0
 .../lattice1d/Interference1DLattice_setup.jpg | Bin
 .../Interference1DLattice_sketch.jpg          | Bin
 .../interference/grating/lattice1d/index.md   |   2 +-
 .../grating/lattice1d/interference_1d_C.png   | Bin
 .../interference_1d_particles_orientA.png     | Bin
 .../interference_1d_particles_orientB.png     | Bin
 .../interference_1d_particles_orientC.png     | Bin
 .../lattice1d/lattice1d_decay_real.png        | Bin
 .../lattice1d/lattice1d_decay_reciprocal.png  | Bin
 .../lattice1d/particles_at_1d_latice.jpg      | Bin
 .../grating/rectangular-grating/index.md      |   2 +-
 .../grating/triangular-ripples/index.md       |   2 +-
 .../CylindersAndPrisms_setup.jpg              | Bin
 .../interference/incoherent-ex/index.md       |   0
 .../sample/interference/lattice2d/_index.md   |   8 +--
 .../HexagonalLatticesWithBasis_setup.jpg      | Bin
 .../hexagonal-lattice-with-basis/index.md     |   0
 .../index.md                                  |   2 +-
 ...terference2DRotatedSquareLattice_setup.jpg | Bin
 .../index.md                                  |   0
 .../index.md                                  |   2 +-
 .../lattice2d/particles_at_lattice.jpg        | Bin
 .../lattice2d/position-variance/index.md      |   0
 .../SpheresAtHexLattice_setup.jpg             | Bin
 .../lattice2d/spheres-at-hex-lattice/index.md |   0
 .../lattice2d/tutorial_interference_2d.png    | Bin
 .../tutorial_interference_decay_2d.png        | Bin
 ...erference2DCenteredSquareLattice_setup.jpg | Bin
 .../lattice2d/with-basis/index.md             |   0
 .../sample/interference/other/_index.md       |   0
 .../other/approximation-da/index.md           |   0
 .../other/approximation-lma/index.md          |   0
 .../other/approximation-ssca/index.md         |   2 +-
 .../sample/interference/para2d/index.md       |   0
 .../para2d/interference_para2d.png            | Bin
 .../para2d/interference_para2d_pdf_B.png      | Bin
 .../para2d/interference_para2d_simple.png     | Bin
 .../sample/interference/para_radial/index.md  |   0
 .../para_radial/interference_para1d_b.png     | Bin
 .../interference_para1d_simple.png            | Bin
 .../{py => ref}/sample/materials/index.md     |   0
 hugo/content/{py => ref}/sample/multilayer.md |   0
 .../{py => ref}/sample/particle/_index.md     |   2 +-
 .../sample/particle/composition/_index.md     |   0
 .../CoreShellNanoparticles_setup.jpg          | Bin
 .../particle/composition/core-shell/index.md  |   0
 .../particle/composition/example/index.md     |   0
 .../tutorial-composition-in-the-layer.png     | Bin
 .../tutorial_composition_examples.png         | Bin
 .../sample/particle/distribution/_index.md    |   0
 .../distribution/adding_irregularities.png    | Bin
 .../distribution/cylinder_geometry.png        | Bin
 .../distribution/different_distributions.png  | Bin
 .../CylindersWithSizeDistribution_setup.jpg   | Bin
 .../distribution/distribution-ex1/index.md    |   0
 .../distribution/distribution_from_GUI.png    | Bin
 .../{py => ref}/sample/particle/ff/_index.md  |   0
 .../ff/custom/CustomFormFactor_setup.jpg      | Bin
 .../sample/particle/ff/custom/index.md        |   0
 .../sample/particle/ff/hard/3d/Bipyramid4.png | Bin
 .../sample/particle/ff/hard/3d/Box.png        | Bin
 .../sample/particle/ff/hard/3d/Cone.png       | Bin
 .../particle/ff/hard/3d/CosineRipple.png      | Bin
 .../sample/particle/ff/hard/3d/Cylinder.png   | Bin
 .../particle/ff/hard/3d/Dodecahedron.png      | Bin
 .../ff/hard/3d/EllipsoidalCylinder.png        | Bin
 .../sample/particle/ff/hard/3d/FullSphere.png | Bin
 .../particle/ff/hard/3d/FullSpheroid.png      | Bin
 .../particle/ff/hard/3d/HemiEllipsoid.png     | Bin
 .../particle/ff/hard/3d/Icosahedron.png       | Bin
 .../sample/particle/ff/hard/3d/Prism3.png     | Bin
 .../sample/particle/ff/hard/3d/Prism6.png     | Bin
 .../sample/particle/ff/hard/3d/Pyramid2.png   | Bin
 .../sample/particle/ff/hard/3d/Pyramid3.png   | Bin
 .../sample/particle/ff/hard/3d/Pyramid4.png   | Bin
 .../sample/particle/ff/hard/3d/Pyramid6.png   | Bin
 .../particle/ff/hard/3d/SawtoothRipple.png    | Bin
 .../sample/particle/ff/hard/3d/Sphere.png     | Bin
 .../particle/ff/hard/3d/TruncatedCube.png     | Bin
 .../particle/ff/hard/3d/TruncatedSphere.png   | Bin
 .../particle/ff/hard/3d/TruncatedSpheroid.png | Bin
 .../sample/particle/ff/hard/_index.md         |   0
 .../sample/particle/ff/hard/bipyramid4.md     |   0
 .../sample/particle/ff/hard/box.md            |   0
 .../particle/ff/hard/cantellatedcube.md       |   0
 .../sample/particle/ff/hard/cone.md           |   0
 .../particle/ff/hard/cut/Bipyramid4_xy.pdf    | Bin
 .../particle/ff/hard/cut/Bipyramid4_xy.svg    |   0
 .../particle/ff/hard/cut/Bipyramid4_xz.pdf    | Bin
 .../particle/ff/hard/cut/Bipyramid4_xz.svg    |   0
 .../sample/particle/ff/hard/cut/Box_xy.pdf    | Bin
 .../sample/particle/ff/hard/cut/Box_xy.svg    |   0
 .../sample/particle/ff/hard/cut/Box_xz.pdf    | Bin
 .../sample/particle/ff/hard/cut/Box_xz.svg    |   0
 .../sample/particle/ff/hard/cut/CONVERT       |   0
 .../sample/particle/ff/hard/cut/Cone_xy.pdf   | Bin
 .../sample/particle/ff/hard/cut/Cone_xy.svg   |   0
 .../sample/particle/ff/hard/cut/Cone_xz.pdf   | Bin
 .../sample/particle/ff/hard/cut/Cone_xz.svg   |   0
 .../ff/hard/cut/CoreShellParallPyr_xy.pdf     | Bin
 .../ff/hard/cut/CoreShellParallPyr_xy.svg     |   0
 .../ff/hard/cut/CoreShellParallPyr_xz.pdf     | Bin
 .../ff/hard/cut/CoreShellParallPyr_xz.svg     |   0
 .../particle/ff/hard/cut/CosineRipple_xy.pdf  | Bin
 .../particle/ff/hard/cut/CosineRipple_xy.svg  |   0
 .../particle/ff/hard/cut/CosineRipple_yz.pdf  | Bin
 .../particle/ff/hard/cut/CosineRipple_yz.svg  |   0
 .../particle/ff/hard/cut/Cylinder_xy.pdf      | Bin
 .../particle/ff/hard/cut/Cylinder_xy.svg      |   0
 .../particle/ff/hard/cut/Cylinder_xz.pdf      | Bin
 .../particle/ff/hard/cut/Cylinder_xz.svg      |   0
 .../ff/hard/cut/EllipsoidalCylinder_xy.pdf    | Bin
 .../ff/hard/cut/EllipsoidalCylinder_xy.svg    |   0
 .../ff/hard/cut/EllipsoidalCylinder_xz.pdf    | Bin
 .../ff/hard/cut/EllipsoidalCylinder_xz.svg    |   0
 .../particle/ff/hard/cut/HemiEllipsoid_xy.pdf | Bin
 .../particle/ff/hard/cut/HemiEllipsoid_xy.svg |   0
 .../particle/ff/hard/cut/HemiEllipsoid_xz.pdf | Bin
 .../particle/ff/hard/cut/HemiEllipsoid_xz.svg |   0
 .../sample/particle/ff/hard/cut/Prism3_xy.ps  |   0
 .../sample/particle/ff/hard/cut/Prism3_xy.svg |   0
 .../sample/particle/ff/hard/cut/Prism3_xz.ps  |   0
 .../sample/particle/ff/hard/cut/Prism3_xz.svg |   0
 .../sample/particle/ff/hard/cut/Prism6_xy.pdf | Bin
 .../sample/particle/ff/hard/cut/Prism6_xy.svg |   0
 .../sample/particle/ff/hard/cut/Prism6_xz.pdf | Bin
 .../sample/particle/ff/hard/cut/Prism6_xz.svg |   0
 .../particle/ff/hard/cut/Pyramid2_xy.pdf      | Bin
 .../particle/ff/hard/cut/Pyramid2_xy.svg      |   0
 .../particle/ff/hard/cut/Pyramid2_xz.pdf      | Bin
 .../particle/ff/hard/cut/Pyramid2_xz.svg      |   0
 .../particle/ff/hard/cut/Pyramid3_xy.ps       |   0
 .../particle/ff/hard/cut/Pyramid3_xy.svg      |   0
 .../particle/ff/hard/cut/Pyramid3_xz.ps       |   0
 .../particle/ff/hard/cut/Pyramid3_xz.svg      |   0
 .../particle/ff/hard/cut/Pyramid4_xy.pdf      | Bin
 .../particle/ff/hard/cut/Pyramid4_xy.svg      |   0
 .../particle/ff/hard/cut/Pyramid4_xz.pdf      | Bin
 .../particle/ff/hard/cut/Pyramid4_xz.svg      |   0
 .../particle/ff/hard/cut/Pyramid6_xy.pdf      | Bin
 .../particle/ff/hard/cut/Pyramid6_xy.svg      |   0
 .../particle/ff/hard/cut/Pyramid6_xz.pdf      | Bin
 .../particle/ff/hard/cut/Pyramid6_xz.svg      |   0
 .../ff/hard/cut/SawtoothRipple_xy.pdf         | Bin
 .../ff/hard/cut/SawtoothRipple_xy.svg         |   0
 .../ff/hard/cut/SawtoothRipple_yz.pdf         | Bin
 .../ff/hard/cut/SawtoothRipple_yz.svg         |   0
 .../sample/particle/ff/hard/cut/Sphere_xy.pdf | Bin
 .../sample/particle/ff/hard/cut/Sphere_xy.svg |   0
 .../sample/particle/ff/hard/cut/Sphere_xz.pdf | Bin
 .../sample/particle/ff/hard/cut/Sphere_xz.svg |   0
 .../particle/ff/hard/cut/Spheroid_xy.pdf      | Bin
 .../particle/ff/hard/cut/Spheroid_xy.svg      |   0
 .../particle/ff/hard/cut/Spheroid_xz.pdf      | Bin
 .../particle/ff/hard/cut/Spheroid_xz.svg      |   0
 .../particle/ff/hard/cut/TruncatedCube_xy.pdf | Bin
 .../particle/ff/hard/cut/TruncatedCube_xy.svg |   0
 .../particle/ff/hard/cut/TruncatedCube_xz.pdf | Bin
 .../particle/ff/hard/cut/TruncatedCube_xz.svg |   0
 .../ff/hard/cut/TruncatedSphere_xy.pdf        | Bin
 .../ff/hard/cut/TruncatedSphere_xy.svg        |   0
 .../ff/hard/cut/TruncatedSphere_xz.pdf        | Bin
 .../ff/hard/cut/TruncatedSphere_xz.svg        |   0
 .../ff/hard/cut/TruncatedSpheroid_xy.pdf      | Bin
 .../ff/hard/cut/TruncatedSpheroid_xy.svg      |   0
 .../ff/hard/cut/TruncatedSpheroid_xz.pdf      | Bin
 .../ff/hard/cut/TruncatedSpheroid_xz.svg      |   0
 .../sample/particle/ff/hard/cylinder.md       |   0
 .../sample/particle/ff/hard/dodecahedron.md   |   0
 .../particle/ff/hard/ellipsoidalcylinder.md   |   0
 .../sample/particle/ff/hard/hemiellipsoid.md  |   0
 .../particle/ff/hard/horizontalcylinder.md    |   0
 .../sample/particle/ff/hard/icosahedron.md    |   0
 .../particle/ff/hard/platonicoctahedron.md    |   0
 .../particle/ff/hard/platonictetrahedron.md   |   0
 .../sample/particle/ff/hard/prism3.md         |   0
 .../sample/particle/ff/hard/prism6.md         |   0
 .../sample/particle/ff/hard/pyramid2.md       |   0
 .../sample/particle/ff/hard/pyramid3.md       |   0
 .../sample/particle/ff/hard/pyramid4.md       |   0
 .../sample/particle/ff/hard/pyramid6.md       |   0
 .../sample/particle/ff/hard/sphere.md         |   0
 .../sample/particle/ff/hard/spheroid.md       |   0
 .../sample/particle/ff/hard/truncatedcube.md  |   0
 .../particle/ff/hard/truncatedsphere.md       |   0
 .../particle/ff/hard/truncatedspheroid.md     |   0
 .../sample/particle/ff/ripples/index.md       |   0
 .../sample/particle/ff/soft/_index.md         |   0
 .../sample/particle/ff/soft/fuzzysphere.md    |   0
 .../sample/particle/ff/soft/gauss.md          |   0
 .../sample/particle/magnetic/_index.md        |   0
 .../sample/particle/positioning/_index.md     |   0
 .../positioning/interface-crossing/index.md   |   2 +-
 .../positioning-ex/BuriedParticles_setup.jpg  | Bin
 .../positioning/positioning-ex/index.md       |   0
 .../tutorial_positioning_fullsphere.png       | Bin
 .../tutorial_positioning_in_the_layer2.png    | Bin
 .../sample/particle/rotation/_index.md        |   0
 .../rotation-ex/RotatedPyramids_setup.jpg     | Bin
 .../particle/rotation/rotation-ex/index.md    |   0
 .../tutorial_rotations_box_crossing.png       | Bin
 .../tutorial_rotations_box_refframe.png       | Bin
 .../rotation/tutorial_rotations_box_xyz.png   | Bin
 .../roughness/CorrelatedRoughness_setup.jpg   | Bin
 .../{py => ref}/sample/roughness/_index.md    |   0
 .../sample/roughness/profiles/index.md        |   4 +-
 .../sample/roughness/scattering/index.md      |   0
 .../SpecularSimulationWithRoughnessSetup.jpg  | Bin
 .../sample/roughness/specular/index.md        |   6 +--
 hugo/content/{py => ref}/sim/_index.md        |   2 +-
 hugo/content/{py => ref}/sim/class/_index.md  |   0
 .../sim/class/depthprobe/DepthProbeSample.odg | Bin
 .../sim/class/depthprobe/DepthProbeSample.png | Bin
 .../{py => ref}/sim/class/depthprobe/index.md |   8 +--
 .../offspec/OffSpecularSimulation_setup.jpg   | Bin
 .../{py => ref}/sim/class/offspec/index.md    |   8 +--
 .../{py => ref}/sim/class/scattering/index.md |   8 +--
 .../{py => ref}/sim/class/specular/index.md   |  20 ++++----
 hugo/content/{py => ref}/sim/setup/_index.md  |   0
 .../content/{py => ref}/sim/setup/bg/index.md |   0
 .../{py => ref}/sim/setup/options/_index.md   |   0
 .../{py => ref}/sim/setup/options/avgmat.md   |   0
 .../mc/LargeParticlesFormFactor_setup.jpg     | Bin
 .../{py => ref}/sim/setup/options/mc/index.md |   0
 .../{py => ref}/sim/setup/options/specular.md |   0
 .../{py => ref}/sim/setup/options/threads.md  |   0
 .../content/{py => ref}/sim/setup/progress.md |   0
 .../sim}/simulation-result/index.md           |   2 +-
 295 files changed, 146 insertions(+), 134 deletions(-)
 create mode 100644 hugo/content/ref/_index.md
 rename hugo/content/{py => ref}/instr/_index.md (100%)
 rename hugo/content/{py => ref}/instr/beam/_index.md (100%)
 rename hugo/content/{py => ref}/instr/beam/angular-divergence/index.md (92%)
 rename hugo/content/{py => ref}/instr/beam/divergence/BeamDivergence_setup.jpg (100%)
 rename hugo/content/{py => ref}/instr/beam/divergence/index.md (100%)
 rename hugo/content/{py => ref}/instr/beam/footprint/FootprintScheme.odg (100%)
 rename hugo/content/{py => ref}/instr/beam/footprint/FootprintScheme.png (100%)
 rename hugo/content/{py => ref}/instr/beam/footprint/index.md (96%)
 rename hugo/content/{py => ref}/instr/beam/full-divergence/index.md (94%)
 rename hugo/content/{py => ref}/instr/det/_index.md (83%)
 rename hugo/content/{py => ref}/instr/det/offspec.md (100%)
 rename hugo/content/{py => ref}/instr/det/rectangular-detector/index.md (100%)
 rename hugo/content/{py => ref}/instr/det/rectangular-detector/rectangular_detector.png (100%)
 rename hugo/content/{py => ref}/instr/det/rectangular-detector/rectangular_detector_directbeam.png (100%)
 rename hugo/content/{py => ref}/instr/det/rectangular-detector/rectangular_detector_genpos.png (100%)
 rename hugo/content/{py => ref}/instr/det/rectangular-detector/rectangular_detector_reflectedbeam.png (100%)
 rename hugo/content/{py => ref}/instr/det/rectangular-detector/rectangular_detector_samplepos.png (100%)
 rename hugo/content/{py => ref}/instr/det/rectangular-detector/xy_plane_with_labels.png (100%)
 rename hugo/content/{py => ref}/instr/det/resolution/index.md (96%)
 rename hugo/content/{py => ref}/instr/det/spherical-detector/index.md (100%)
 rename hugo/content/{py => ref}/instr/det/spherical-detector/phi_alpha_plane.png (100%)
 rename hugo/content/{py => ref}/instr/det/spherical-detector/phi_alpha_plane_variable.png (100%)
 rename hugo/content/{py => ref}/instr/det/spherical-detector/spherical_detector.png (100%)
 rename hugo/content/{py => ref}/instr/det/two_detectors.png (100%)
 rename hugo/content/{py => ref}/instr/polarized/_index.md (100%)
 rename hugo/content/{py => ref}/instr/polarized/basic-polarized-reflectometry/index.md (97%)
 rename hugo/content/{py => ref}/instr/polarized/no-analyzer/index.md (96%)
 rename hugo/content/{py => ref}/instr/polarized/polarized-non-perfect-ap/index.md (96%)
 rename hugo/content/{py => ref}/instr/polarized/polarized-spin-flip/index.md (89%)
 rename hugo/content/{py => ref}/instr/polarized/polarized-spinasymmetry/index.md (94%)
 rename hugo/content/{py => ref}/instr/scan/_index.md (92%)
 rename hugo/content/{py => ref}/instr/scan/tof-resolution.md (95%)
 rename hugo/content/{py => ref}/instr/scan/tof.md (100%)
 rename hugo/content/{py => ref}/other/_index.md (100%)
 rename hugo/content/{py => ref}/other/distributions.md (100%)
 rename hugo/content/{py => ref}/sample/_index.md (100%)
 rename hugo/content/{py => ref}/sample/avge/_index.md (100%)
 rename hugo/content/{py => ref}/sample/avge/cylinders-in-average-layer/index.md (100%)
 rename hugo/content/{py => ref}/sample/avge/half-spheres-in-average-top-layer/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/_index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/_index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/cosine-ripples-at-rect-lattice/CosineRipplesAtRectLattice_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/cosine-ripples-at-rect-lattice/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/lattice1d/Interference1DLattice_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/lattice1d/Interference1DLattice_sketch.jpg (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/lattice1d/index.md (98%)
 rename hugo/content/{py => ref}/sample/interference/grating/lattice1d/interference_1d_C.png (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/lattice1d/interference_1d_particles_orientA.png (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/lattice1d/interference_1d_particles_orientB.png (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/lattice1d/interference_1d_particles_orientC.png (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/lattice1d/lattice1d_decay_real.png (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/lattice1d/lattice1d_decay_reciprocal.png (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/lattice1d/particles_at_1d_latice.jpg (100%)
 rename hugo/content/{py => ref}/sample/interference/grating/rectangular-grating/index.md (88%)
 rename hugo/content/{py => ref}/sample/interference/grating/triangular-ripples/index.md (87%)
 rename hugo/content/{py => ref}/sample/interference/incoherent-ex/CylindersAndPrisms_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/interference/incoherent-ex/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/_index.md (95%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/hexagonal-lattice-with-basis/HexagonalLatticesWithBasis_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/hexagonal-lattice-with-basis/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/interference-2d-lattice-sum-of-rotated/index.md (88%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/interference-2d-rotated-square-lattice/Interference2DRotatedSquareLattice_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/interference-2d-rotated-square-lattice/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/interference-2d-square-finite-lattice/index.md (87%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/particles_at_lattice.jpg (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/position-variance/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/spheres-at-hex-lattice/SpheresAtHexLattice_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/spheres-at-hex-lattice/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/tutorial_interference_2d.png (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/tutorial_interference_decay_2d.png (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/with-basis/Interference2DCenteredSquareLattice_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/interference/lattice2d/with-basis/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/other/_index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/other/approximation-da/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/other/approximation-lma/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/other/approximation-ssca/index.md (95%)
 rename hugo/content/{py => ref}/sample/interference/para2d/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/para2d/interference_para2d.png (100%)
 rename hugo/content/{py => ref}/sample/interference/para2d/interference_para2d_pdf_B.png (100%)
 rename hugo/content/{py => ref}/sample/interference/para2d/interference_para2d_simple.png (100%)
 rename hugo/content/{py => ref}/sample/interference/para_radial/index.md (100%)
 rename hugo/content/{py => ref}/sample/interference/para_radial/interference_para1d_b.png (100%)
 rename hugo/content/{py => ref}/sample/interference/para_radial/interference_para1d_simple.png (100%)
 rename hugo/content/{py => ref}/sample/materials/index.md (100%)
 rename hugo/content/{py => ref}/sample/multilayer.md (100%)
 rename hugo/content/{py => ref}/sample/particle/_index.md (72%)
 rename hugo/content/{py => ref}/sample/particle/composition/_index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/composition/core-shell/CoreShellNanoparticles_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/particle/composition/core-shell/index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/composition/example/index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/composition/tutorial-composition-in-the-layer.png (100%)
 rename hugo/content/{py => ref}/sample/particle/composition/tutorial_composition_examples.png (100%)
 rename hugo/content/{py => ref}/sample/particle/distribution/_index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/distribution/adding_irregularities.png (100%)
 rename hugo/content/{py => ref}/sample/particle/distribution/cylinder_geometry.png (100%)
 rename hugo/content/{py => ref}/sample/particle/distribution/different_distributions.png (100%)
 rename hugo/content/{py => ref}/sample/particle/distribution/distribution-ex1/CylindersWithSizeDistribution_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/particle/distribution/distribution-ex1/index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/distribution/distribution_from_GUI.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/_index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/custom/CustomFormFactor_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/custom/index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Bipyramid4.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Box.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Cone.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/CosineRipple.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Cylinder.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Dodecahedron.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/EllipsoidalCylinder.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/FullSphere.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/FullSpheroid.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/HemiEllipsoid.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Icosahedron.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Prism3.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Prism6.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Pyramid2.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Pyramid3.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Pyramid4.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Pyramid6.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/SawtoothRipple.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/Sphere.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/TruncatedCube.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/TruncatedSphere.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/3d/TruncatedSpheroid.png (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/_index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/bipyramid4.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/box.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cantellatedcube.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cone.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Bipyramid4_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Bipyramid4_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Bipyramid4_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Bipyramid4_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Box_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Box_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Box_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Box_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/CONVERT (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Cone_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Cone_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Cone_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Cone_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/CoreShellParallPyr_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/CoreShellParallPyr_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/CoreShellParallPyr_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/CoreShellParallPyr_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/CosineRipple_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/CosineRipple_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/CosineRipple_yz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/CosineRipple_yz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Cylinder_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Cylinder_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Cylinder_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Cylinder_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/EllipsoidalCylinder_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/EllipsoidalCylinder_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/EllipsoidalCylinder_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/EllipsoidalCylinder_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/HemiEllipsoid_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/HemiEllipsoid_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/HemiEllipsoid_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/HemiEllipsoid_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Prism3_xy.ps (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Prism3_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Prism3_xz.ps (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Prism3_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Prism6_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Prism6_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Prism6_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Prism6_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid2_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid2_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid2_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid2_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid3_xy.ps (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid3_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid3_xz.ps (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid3_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid4_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid4_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid4_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid4_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid6_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid6_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid6_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Pyramid6_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/SawtoothRipple_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/SawtoothRipple_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/SawtoothRipple_yz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/SawtoothRipple_yz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Sphere_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Sphere_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Sphere_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Sphere_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Spheroid_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Spheroid_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Spheroid_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/Spheroid_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedCube_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedCube_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedCube_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedCube_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedSphere_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedSphere_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedSphere_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedSphere_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedSpheroid_xy.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedSpheroid_xy.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedSpheroid_xz.pdf (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cut/TruncatedSpheroid_xz.svg (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/cylinder.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/dodecahedron.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/ellipsoidalcylinder.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/hemiellipsoid.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/horizontalcylinder.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/icosahedron.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/platonicoctahedron.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/platonictetrahedron.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/prism3.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/prism6.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/pyramid2.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/pyramid3.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/pyramid4.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/pyramid6.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/sphere.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/spheroid.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/truncatedcube.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/truncatedsphere.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/hard/truncatedspheroid.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/ripples/index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/soft/_index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/soft/fuzzysphere.md (100%)
 rename hugo/content/{py => ref}/sample/particle/ff/soft/gauss.md (100%)
 rename hugo/content/{py => ref}/sample/particle/magnetic/_index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/positioning/_index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/positioning/interface-crossing/index.md (73%)
 rename hugo/content/{py => ref}/sample/particle/positioning/positioning-ex/BuriedParticles_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/particle/positioning/positioning-ex/index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/positioning/tutorial_positioning_fullsphere.png (100%)
 rename hugo/content/{py => ref}/sample/particle/positioning/tutorial_positioning_in_the_layer2.png (100%)
 rename hugo/content/{py => ref}/sample/particle/rotation/_index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/rotation/rotation-ex/RotatedPyramids_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/particle/rotation/rotation-ex/index.md (100%)
 rename hugo/content/{py => ref}/sample/particle/rotation/tutorial_rotations_box_crossing.png (100%)
 rename hugo/content/{py => ref}/sample/particle/rotation/tutorial_rotations_box_refframe.png (100%)
 rename hugo/content/{py => ref}/sample/particle/rotation/tutorial_rotations_box_xyz.png (100%)
 rename hugo/content/{py => ref}/sample/roughness/CorrelatedRoughness_setup.jpg (100%)
 rename hugo/content/{py => ref}/sample/roughness/_index.md (100%)
 rename hugo/content/{py => ref}/sample/roughness/profiles/index.md (88%)
 rename hugo/content/{py => ref}/sample/roughness/scattering/index.md (100%)
 rename hugo/content/{py => ref}/sample/roughness/specular/SpecularSimulationWithRoughnessSetup.jpg (100%)
 rename hugo/content/{py => ref}/sample/roughness/specular/index.md (86%)
 rename hugo/content/{py => ref}/sim/_index.md (94%)
 rename hugo/content/{py => ref}/sim/class/_index.md (100%)
 rename hugo/content/{py => ref}/sim/class/depthprobe/DepthProbeSample.odg (100%)
 rename hugo/content/{py => ref}/sim/class/depthprobe/DepthProbeSample.png (100%)
 rename hugo/content/{py => ref}/sim/class/depthprobe/index.md (83%)
 rename hugo/content/{py => ref}/sim/class/offspec/OffSpecularSimulation_setup.jpg (100%)
 rename hugo/content/{py => ref}/sim/class/offspec/index.md (85%)
 rename hugo/content/{py => ref}/sim/class/scattering/index.md (80%)
 rename hugo/content/{py => ref}/sim/class/specular/index.md (62%)
 rename hugo/content/{py => ref}/sim/setup/_index.md (100%)
 rename hugo/content/{py => ref}/sim/setup/bg/index.md (100%)
 rename hugo/content/{py => ref}/sim/setup/options/_index.md (100%)
 rename hugo/content/{py => ref}/sim/setup/options/avgmat.md (100%)
 rename hugo/content/{py => ref}/sim/setup/options/mc/LargeParticlesFormFactor_setup.jpg (100%)
 rename hugo/content/{py => ref}/sim/setup/options/mc/index.md (100%)
 rename hugo/content/{py => ref}/sim/setup/options/specular.md (100%)
 rename hugo/content/{py => ref}/sim/setup/options/threads.md (100%)
 rename hugo/content/{py => ref}/sim/setup/progress.md (100%)
 rename hugo/content/{py/result => ref/sim}/simulation-result/index.md (99%)

diff --git a/3rdparty/common/gtest/gtest-1.11.0/docs/advanced.md b/3rdparty/common/gtest/gtest-1.11.0/docs/advanced.md
index 8dff5ba1508..3c42d023457 100644
--- a/3rdparty/common/gtest/gtest-1.11.0/docs/advanced.md
+++ b/3rdparty/common/gtest/gtest-1.11.0/docs/advanced.md
@@ -15,12 +15,12 @@ assertions.
 
 ### Explicit Success and Failure
 
-See [Explicit Success and Failure](reference/assertions.md#success-failure) in
+See [Explicit Success and Failure](/reference/assertions.md#success-failure) in
 the Assertions Reference.
 
 ### Exception Assertions
 
-See [Exception Assertions](reference/assertions.md#exceptions) in the Assertions
+See [Exception Assertions](/reference/assertions.md#exceptions) in the Assertions
 Reference.
 
 ### Predicate Assertions for Better Error Messages
@@ -42,7 +42,7 @@ googletest gives you three different options to solve this problem:
 If you already have a function or functor that returns `bool` (or a type that
 can be implicitly converted to `bool`), you can use it in a *predicate
 assertion* to get the function arguments printed for free. See
-[`EXPECT_PRED*`](reference/assertions.md#EXPECT_PRED) in the Assertions
+[`EXPECT_PRED*`](/reference/assertions.md#EXPECT_PRED) in the Assertions
 Reference for details.
 
 #### Using a Function That Returns an AssertionResult
@@ -135,17 +135,17 @@ Then the statement `EXPECT_FALSE(IsEven(Fib(6)))` will print
 #### Using a Predicate-Formatter
 
 If you find the default message generated by
-[`EXPECT_PRED*`](reference/assertions.md#EXPECT_PRED) and
-[`EXPECT_TRUE`](reference/assertions.md#EXPECT_TRUE) unsatisfactory, or some
+[`EXPECT_PRED*`](/reference/assertions.md#EXPECT_PRED) and
+[`EXPECT_TRUE`](/reference/assertions.md#EXPECT_TRUE) unsatisfactory, or some
 arguments to your predicate do not support streaming to `ostream`, you can
 instead use *predicate-formatter assertions* to *fully* customize how the
 message is formatted. See
-[`EXPECT_PRED_FORMAT*`](reference/assertions.md#EXPECT_PRED_FORMAT) in the
+[`EXPECT_PRED_FORMAT*`](/reference/assertions.md#EXPECT_PRED_FORMAT) in the
 Assertions Reference for details.
 
 ### Floating-Point Comparison
 
-See [Floating-Point Comparison](reference/assertions.md#floating-point) in the
+See [Floating-Point Comparison](/reference/assertions.md#floating-point) in the
 Assertions Reference.
 
 #### Floating-Point Predicate-Format Functions
@@ -153,7 +153,7 @@ Assertions Reference.
 Some floating-point operations are useful, but not that often used. In order to
 avoid an explosion of new macros, we provide them as predicate-format functions
 that can be used in the predicate assertion macro
-[`EXPECT_PRED_FORMAT2`](reference/assertions.md#EXPECT_PRED_FORMAT), for
+[`EXPECT_PRED_FORMAT2`](/reference/assertions.md#EXPECT_PRED_FORMAT), for
 example:
 
 ```c++
@@ -166,7 +166,7 @@ The above code verifies that `val1` is less than, or approximately equal to,
 
 ### Asserting Using gMock Matchers
 
-See [`EXPECT_THAT`](reference/assertions.md#EXPECT_THAT) in the Assertions
+See [`EXPECT_THAT`](/reference/assertions.md#EXPECT_THAT) in the Assertions
 Reference.
 
 ### More String Assertions
@@ -174,8 +174,8 @@ Reference.
 (Please read the [previous](#asserting-using-gmock-matchers) section first if
 you haven't.)
 
-You can use the gMock [string matchers](reference/matchers.md#string-matchers)
-with [`EXPECT_THAT`](reference/assertions.md#EXPECT_THAT) to do more string
+You can use the gMock [string matchers](/reference/matchers.md#string-matchers)
+with [`EXPECT_THAT`](/reference/assertions.md#EXPECT_THAT) to do more string
 comparison tricks (sub-string, prefix, suffix, regular expression, and etc). For
 example,
 
@@ -189,7 +189,7 @@ using ::testing::MatchesRegex;
 
 ### Windows HRESULT assertions
 
-See [Windows HRESULT Assertions](reference/assertions.md#HRESULT) in the
+See [Windows HRESULT Assertions](/reference/assertions.md#HRESULT) in the
 Assertions Reference.
 
 ### Type Assertions
@@ -405,7 +405,7 @@ If you want to test `EXPECT_*()/ASSERT_*()` failures in your test code, see
 ### How to Write a Death Test
 
 GoogleTest provides assertion macros to support death tests. See
-[Death Assertions](reference/assertions.md#death) in the Assertions Reference
+[Death Assertions](/reference/assertions.md#death) in the Assertions Reference
 for details.
 
 To write a death test, simply use one of the macros inside your test function.
@@ -523,7 +523,7 @@ limited syntax only.
 
 ### How It Works
 
-See [Death Assertions](reference/assertions.md#death) in the Assertions
+See [Death Assertions](/reference/assertions.md#death) in the Assertions
 Reference.
 
 ### Death Tests And Threads
@@ -1060,12 +1060,12 @@ TEST_P(FooTest, HasBlahBlah) {
 Finally, you can use the `INSTANTIATE_TEST_SUITE_P` macro to instantiate the
 test suite with any set of parameters you want. GoogleTest defines a number of
 functions for generating test parameters—see details at
-[`INSTANTIATE_TEST_SUITE_P`](reference/testing.md#INSTANTIATE_TEST_SUITE_P) in
+[`INSTANTIATE_TEST_SUITE_P`](/reference/testing.md#INSTANTIATE_TEST_SUITE_P) in
 the Testing Reference.
 
 For example, the following statement will instantiate tests from the `FooTest`
 test suite each with parameter values `"meeny"`, `"miny"`, and `"moe"` using the
-[`Values`](reference/testing.md#param-generators) parameter generator:
+[`Values`](/reference/testing.md#param-generators) parameter generator:
 
 ```c++
 INSTANTIATE_TEST_SUITE_P(MeenyMinyMoe,
@@ -1080,7 +1080,7 @@ function scope.
 The first argument to `INSTANTIATE_TEST_SUITE_P` is a unique name for the
 instantiation of the test suite. The next argument is the name of the test
 pattern, and the last is the
-[parameter generator](reference/testing.md#param-generators).
+[parameter generator](/reference/testing.md#param-generators).
 
 You can instantiate a test pattern more than once, so to distinguish different
 instances of the pattern, the instantiation name is added as a prefix to the
@@ -1098,7 +1098,7 @@ You can use these names in [`--gtest_filter`](#running-a-subset-of-the-tests).
 
 The following statement will instantiate all tests from `FooTest` again, each
 with parameter values `"cat"` and `"dog"` using the
-[`ValuesIn`](reference/testing.md#param-generators) parameter generator:
+[`ValuesIn`](/reference/testing.md#param-generators) parameter generator:
 
 ```c++
 const char* pets[] = {"cat", "dog"};
@@ -1597,10 +1597,10 @@ int main(int argc, char** argv) {
 Sometimes a function may need to know the name of the currently running test.
 For example, you may be using the `SetUp()` method of your test fixture to set
 the golden file name based on which test is running. The
-[`TestInfo`](reference/testing.md#TestInfo) class has this information.
+[`TestInfo`](/reference/testing.md#TestInfo) class has this information.
 
 To obtain a `TestInfo` object for the currently running test, call
-`current_test_info()` on the [`UnitTest`](reference/testing.md#UnitTest)
+`current_test_info()` on the [`UnitTest`](/reference/testing.md#UnitTest)
 singleton object:
 
 ```c++
@@ -1632,8 +1632,8 @@ checkpoints to implement a resource leak checker, for example.
 ### Defining Event Listeners
 
 To define a event listener, you subclass either
-[`testing::TestEventListener`](reference/testing.md#TestEventListener) or
-[`testing::EmptyTestEventListener`](reference/testing.md#EmptyTestEventListener)
+[`testing::TestEventListener`](/reference/testing.md#TestEventListener) or
+[`testing::EmptyTestEventListener`](/reference/testing.md#EmptyTestEventListener)
 The former is an (abstract) interface, where *each pure virtual method can be
 overridden to handle a test event* (For example, when a test starts, the
 `OnTestStart()` method will be called.). The latter provides an empty
@@ -1683,7 +1683,7 @@ Here's an example:
 
 To use the event listener you have defined, add an instance of it to the
 googletest event listener list (represented by class
-[`TestEventListeners`](reference/testing.md#TestEventListeners) - note the "s"
+[`TestEventListeners`](/reference/testing.md#TestEventListeners) - note the "s"
 at the end of the name) in your `main()` function, before calling
 `RUN_ALL_TESTS()`:
 
diff --git a/3rdparty/common/gtest/gtest-1.11.0/docs/faq.md b/3rdparty/common/gtest/gtest-1.11.0/docs/faq.md
index 9042da1efb4..df2a0000028 100644
--- a/3rdparty/common/gtest/gtest-1.11.0/docs/faq.md
+++ b/3rdparty/common/gtest/gtest-1.11.0/docs/faq.md
@@ -280,7 +280,7 @@ disabled by our build system. Please see more details
 
 In googletest, death tests are run in a child process and the way they work is
 delicate. To write death tests you really need to understand how they work—see
-the details at [Death Assertions](reference/assertions.md#death) in the
+the details at [Death Assertions](/reference/assertions.md#death) in the
 Assertions Reference.
 
 In particular, death tests don't like having multiple threads in the parent
@@ -354,7 +354,7 @@ You may still want to use `SetUp()/TearDown()` in the following cases:
 
 ## The compiler complains "no matching function to call" when I use ASSERT_PRED*. How do I fix it?
 
-See details for [`EXPECT_PRED*`](reference/assertions.md#EXPECT_PRED) in the
+See details for [`EXPECT_PRED*`](/reference/assertions.md#EXPECT_PRED) in the
 Assertions Reference.
 
 ## My compiler complains about "ignoring return value" when I call RUN_ALL_TESTS(). Why?
diff --git a/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_cheat_sheet.md b/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_cheat_sheet.md
index 17ed7a54d80..3c0d0e0269c 100644
--- a/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_cheat_sheet.md
+++ b/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_cheat_sheet.md
@@ -134,7 +134,7 @@ gMock has a **built-in default action** for any function that returns `void`,
 the default-constructed value, if one exists for the given type.
 
 To customize the default action for functions with return type `T`, use
-[`DefaultValue<T>`](reference/mocking.md#DefaultValue). For example:
+[`DefaultValue<T>`](/reference/mocking.md#DefaultValue). For example:
 
 ```cpp
   // Sets the default action for return type std::unique_ptr<Buzz> to
@@ -158,7 +158,7 @@ To customize the default action for functions with return type `T`, use
 ```
 
 To customize the default action for a particular method of a specific mock
-object, use [`ON_CALL`](reference/mocking.md#ON_CALL). `ON_CALL` has a similar
+object, use [`ON_CALL`](/reference/mocking.md#ON_CALL). `ON_CALL` has a similar
 syntax to `EXPECT_CALL`, but it is used for setting default behaviors when you
 do not require that the mock method is called. See
 [Knowing When to Expect](gmock_cook_book.md#UseOnCall) for a more detailed
@@ -166,28 +166,28 @@ discussion.
 
 ## Setting Expectations {#ExpectCall}
 
-See [`EXPECT_CALL`](reference/mocking.md#EXPECT_CALL) in the Mocking Reference.
+See [`EXPECT_CALL`](/reference/mocking.md#EXPECT_CALL) in the Mocking Reference.
 
 ## Matchers {#MatcherList}
 
-See the [Matchers Reference](reference/matchers.md).
+See the [Matchers Reference](/reference/matchers.md).
 
 ## Actions {#ActionList}
 
-See the [Actions Reference](reference/actions.md).
+See the [Actions Reference](/reference/actions.md).
 
 ## Cardinalities {#CardinalityList}
 
-See the [`Times` clause](reference/mocking.md#EXPECT_CALL.Times) of
+See the [`Times` clause](/reference/mocking.md#EXPECT_CALL.Times) of
 `EXPECT_CALL` in the Mocking Reference.
 
 ## Expectation Order
 
 By default, expectations can be matched in *any* order. If some or all
 expectations must be matched in a given order, you can use the
-[`After` clause](reference/mocking.md#EXPECT_CALL.After) or
-[`InSequence` clause](reference/mocking.md#EXPECT_CALL.InSequence) of
-`EXPECT_CALL`, or use an [`InSequence` object](reference/mocking.md#InSequence).
+[`After` clause](/reference/mocking.md#EXPECT_CALL.After) or
+[`InSequence` clause](/reference/mocking.md#EXPECT_CALL.InSequence) of
+`EXPECT_CALL`, or use an [`InSequence` object](/reference/mocking.md#InSequence).
 
 ## Verifying and Resetting a Mock
 
diff --git a/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_cook_book.md b/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_cook_book.md
index c08958eb16a..421b7f442eb 100644
--- a/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_cook_book.md
+++ b/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_cook_book.md
@@ -1089,7 +1089,7 @@ matchers.
 
 As a convenience and example, gMock provides some matchers for 2-tuples,
 including the `Lt()` matcher above. See
-[Multi-argument Matchers](reference/matchers.md#MultiArgMatchers) for the
+[Multi-argument Matchers](/reference/matchers.md#MultiArgMatchers) for the
 complete list.
 
 Note that if you want to pass the arguments to a predicate of your own (e.g.
@@ -1137,13 +1137,13 @@ Matches(AllOf(Ge(0), Le(100), Ne(50)))
 
 ### Using Matchers in googletest Assertions
 
-See [`EXPECT_THAT`](reference/assertions.md#EXPECT_THAT) in the Assertions
+See [`EXPECT_THAT`](/reference/assertions.md#EXPECT_THAT) in the Assertions
 Reference.
 
 ### Using Predicates as Matchers
 
 gMock provides a set of built-in matchers for matching arguments with expected
-values—see the [Matchers Reference](reference/matchers.md) for more information.
+values—see the [Matchers Reference](/reference/matchers.md) for more information.
 In case you find the built-in set lacking, you can use an arbitrary unary
 predicate function or functor as a matcher - as long as the predicate accepts a
 value of the type you want. You do this by wrapping the predicate inside the
@@ -1711,7 +1711,7 @@ the test should reflect our real intent, instead of being overly constraining.
 
 gMock allows you to impose an arbitrary DAG (directed acyclic graph) on the
 calls. One way to express the DAG is to use the
-[`After` clause](reference/mocking.md#EXPECT_CALL.After) of `EXPECT_CALL`.
+[`After` clause](/reference/mocking.md#EXPECT_CALL.After) of `EXPECT_CALL`.
 
 Another way is via the `InSequence()` clause (not the same as the `InSequence`
 class), which we borrowed from jMock 2. It's less flexible than `After()`, but
diff --git a/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_for_dummies.md b/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_for_dummies.md
index 1f4cc246c48..87940887675 100644
--- a/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_for_dummies.md
+++ b/3rdparty/common/gtest/gtest-1.11.0/docs/gmock_for_dummies.md
@@ -372,7 +372,7 @@ convenient way of saying "any value".
 In the above examples, `100` and `50` are also matchers; implicitly, they are
 the same as `Eq(100)` and `Eq(50)`, which specify that the argument must be
 equal (using `operator==`) to the matcher argument. There are many
-[built-in matchers](reference/matchers.md) for common types (as well as
+[built-in matchers](/reference/matchers.md) for common types (as well as
 [custom matchers](gmock_cook_book.md#NewMatchers)); for example:
 
 ```cpp
diff --git a/3rdparty/common/gtest/gtest-1.11.0/docs/primer.md b/3rdparty/common/gtest/gtest-1.11.0/docs/primer.md
index 6d8fdf44392..20643f575ae 100644
--- a/3rdparty/common/gtest/gtest-1.11.0/docs/primer.md
+++ b/3rdparty/common/gtest/gtest-1.11.0/docs/primer.md
@@ -119,7 +119,7 @@ this in mind if you get a heap checker error in addition to assertion errors.
 
 To provide a custom failure message, simply stream it into the macro using the
 `<<` operator or a sequence of such operators. See the following example, using
-the [`ASSERT_EQ` and `EXPECT_EQ`](reference/assertions.md#EXPECT_EQ) macros to
+the [`ASSERT_EQ` and `EXPECT_EQ`](/reference/assertions.md#EXPECT_EQ) macros to
 verify value equality:
 
 ```c++
@@ -140,7 +140,7 @@ your code in various ways. You can check Boolean conditions, compare values
 based on relational operators, verify string values, floating-point values, and
 much more. There are even assertions that enable you to verify more complex
 states by providing custom predicates. For the complete list of assertions
-provided by GoogleTest, see the [Assertions Reference](reference/assertions.md).
+provided by GoogleTest, see the [Assertions Reference](/reference/assertions.md).
 
 ## Simple Tests
 
diff --git a/hugo/content/installation/building/unix/third-party.md b/hugo/content/installation/building/unix/third-party.md
index 1212b0707fa..de6039b5720 100644
--- a/hugo/content/installation/building/unix/third-party.md
+++ b/hugo/content/installation/building/unix/third-party.md
@@ -30,7 +30,7 @@ Recommended software:
 
 * For generating a man page:
   * `perl`
-* For [Matplotlib usetex mode](py/result/matplotlib.md):
+* For [Matplotlib usetex mode](/py/result/matplotlib.md):
   * `texlive-latex-extra` (and dependencies)
   * `dvipng`
   * `cm-super-minimal`
diff --git a/hugo/content/py/ex/gisas-no-dwba-terms/index.md b/hugo/content/py/ex/gisas-no-dwba-terms/index.md
index ea2836a05d0..c7f8562e693 100644
--- a/hugo/content/py/ex/gisas-no-dwba-terms/index.md
+++ b/hugo/content/py/ex/gisas-no-dwba-terms/index.md
@@ -9,7 +9,7 @@ This example shows scattering
 from a monolayer that contains a dilute random assembly
 of monodisperse cylindrical disks.
 
-This is the same system as in our [basic GISAS example](py/ex/gisas)
+This is the same system as in our [basic GISAS example](/py/ex/gisas)
 except that there is no substrate.
 In consequence, there are no reflections,
 and therefore the DWBA boils down to the ordinary Born approximation.
diff --git a/hugo/content/py/ex/gisas/_index.md b/hugo/content/py/ex/gisas/_index.md
index 1f65cdd4128..42b13496d7e 100644
--- a/hugo/content/py/ex/gisas/_index.md
+++ b/hugo/content/py/ex/gisas/_index.md
@@ -52,6 +52,6 @@ a [SimulationResult](/py/result/simulation-result) object.
 
 ### Further reading
 
-* [GISAS with specular reflection](py/sim/setup/options/specular)
+* [GISAS with specular reflection](/ref/sim/setup/options/specular)
 * [GISAS without DWBA terms](no-dwba-terms),
   with a single sample layer so that the DWBA boils down to the ordinary Born approximation.
diff --git a/hugo/content/py/fitting/basic/minimizer-settings/index.md b/hugo/content/py/fitting/basic/minimizer-settings/index.md
index 2ca36be1c6a..c4305e477a7 100644
--- a/hugo/content/py/fitting/basic/minimizer-settings/index.md
+++ b/hugo/content/py/fitting/basic/minimizer-settings/index.md
@@ -22,6 +22,6 @@ print(ba.MinimizerFactory().catalogueDetailsToString())
 
 
 For more information, see the
-[minimizer settings tutorial](py/fitting/minimizers/index.md).
+[minimizer settings tutorial](/py/fitting/minimizers/index.md).
 
 {{< highlightfile file="Examples/fit/scatter2d/minimizer_settings.py" >}}
diff --git a/hugo/content/py/fitting/extended/polarized-spinasymmetry-fit/index.md b/hugo/content/py/fitting/extended/polarized-spinasymmetry-fit/index.md
index 54b9fba8ebb..0b17f2a481d 100644
--- a/hugo/content/py/fitting/extended/polarized-spinasymmetry-fit/index.md
+++ b/hugo/content/py/fitting/extended/polarized-spinasymmetry-fit/index.md
@@ -5,7 +5,7 @@ weight = 40
 
 ### Fitting the spin-asymmetry example from NIST
 
-This example shows how to fit the parameters in the [spin-asymmetry example](py/instr/polarized/polarized-spinasymmetry).
+This example shows how to fit the parameters in the [spin-asymmetry example](/ref/instr/polarized/polarized-spinasymmetry).
 
 For this demonstration, we choose initial parameters that are not too far from the fitting results.
 In particular, the magnetization is initially set to zero, such that the spin asymmetry identically vanishes.
@@ -41,7 +41,7 @@ If no uncertainties are available, using the relative difference `fit_objective.
 If the relative difference is selected and uncertainties are provided, BornAgain automatically falls back to the above $\chi^2$ metric.
 
 The fitting of polarized reflectometry data proceeds similar to the lines presented in
-[the tutorial on multiple datasets](py/fitting/advanced/multiple-datasets).
+[the tutorial on multiple datasets](/py/fitting/advanced/multiple-datasets).
 We need to add the reflectivity curves for the up-up and down-down channel
 to the fit objective:
 
@@ -87,7 +87,7 @@ we get the result
 {{< /galleryscg >}}
 
 
-This result was already presented in the [spin-asymmetry](py/instr/polarized/polarized-spinasymmetry) tutorial and
+This result was already presented in the [spin-asymmetry](/ref/instr/polarized/polarized-spinasymmetry) tutorial and
 can also be obtained by runnning the example without the fit option:
 
 {{< highlight python>}}
diff --git a/hugo/content/py/fitting/extended/reflectometry-honeycomb/index.md b/hugo/content/py/fitting/extended/reflectometry-honeycomb/index.md
index 6022a79b890..ef21b3a504e 100644
--- a/hugo/content/py/fitting/extended/reflectometry-honeycomb/index.md
+++ b/hugo/content/py/fitting/extended/reflectometry-honeycomb/index.md
@@ -33,7 +33,7 @@ magnetizations at 150K and 300K: $M_{s150} = M_{150K} / M_{300K}$.
 #### Magnetization model
 
 To model a magnetic material, one can assign a magnetization vector to any material, as is demonstrated
-in the [basic polarized reflectometry tutorial](py/instr/polarized/basic-polarized-reflectometry).
+in the [basic polarized reflectometry tutorial](/ref/instr/polarized/basic-polarized-reflectometry).
 When a non-vanishing magnetization vector is specified for at least one layer in a sample,
 BornAgain will automatically utilize the polarized computational engine.
 This leads to lower performance as the computations are more invovled.
@@ -62,7 +62,7 @@ the $M_{s150}$ parameter is fitted.
 
 
 All layers are modeled without absorption, i.e. no imaginary part of the SLD.
-Ferthermore, we apply a resolution correction as described in [this tutorial](py/instr/scan/tof-resolution)
+Ferthermore, we apply a resolution correction as described in [this tutorial](/ref/instr/scan/tof-resolution)
 with a fixed value for $\Delta Q / Q = 0.018$.
 The experimental data is normalized to unity, but we still fit the intensity, as is necessary due to the resolution correction.
 
diff --git a/hugo/content/py/fitting/extended/reflectometry-pt-layer/index.md b/hugo/content/py/fitting/extended/reflectometry-pt-layer/index.md
index f1ac50c4bc3..8f9fdbada20 100644
--- a/hugo/content/py/fitting/extended/reflectometry-pt-layer/index.md
+++ b/hugo/content/py/fitting/extended/reflectometry-pt-layer/index.md
@@ -35,7 +35,7 @@ and the following six parameters are utilized:
 
 * Thickness of the Pt layer: `t_pt/nm`
 
-* The relative $Q$-resolution: `q_res/q` ([c.f.](py/instr/scan/tof-resolution))
+* The relative $Q$-resolution: `q_res/q` ([c.f.](/ref/instr/scan/tof-resolution))
 
 * A $Q$-offset: `q_offset`
 
diff --git a/hugo/content/py/fitting/gisas-fit2d/index.md b/hugo/content/py/fitting/gisas-fit2d/index.md
index eccf42c9f66..3c226e3f1db 100644
--- a/hugo/content/py/fitting/gisas-fit2d/index.md
+++ b/hugo/content/py/fitting/gisas-fit2d/index.md
@@ -10,7 +10,7 @@ This example demonstrates fitting of 2D GISAS data.
 ## Faked experimental data
 
 The sample and instrument model is basically the same as
-in our [basic GISAS simulation example](py/ex/gisas),
+in our [basic GISAS simulation example](/py/ex/gisas),
 except that it depends on four external parameters:
 beam intensity, detector background, radius and height of the cylindrical nanoparticles.
 
@@ -44,7 +44,7 @@ and terminates with the following result:
 ### Explanation
 
 The function `get_sample` is basically the same as
-in our [basic GISAS simulation example](py/ex/gisas),
+in our [basic GISAS simulation example](/py/ex/gisas),
 except that radius and height of the cylindrical disks are now
 supplied as external parameters.
 These parameters are passed through the function argument `params`
diff --git a/hugo/content/py/fitting/instrument-description/index.md b/hugo/content/py/fitting/instrument-description/index.md
index 1aa3effc778..0546621481f 100644
--- a/hugo/content/py/fitting/instrument-description/index.md
+++ b/hugo/content/py/fitting/instrument-description/index.md
@@ -16,7 +16,7 @@ To successfully simulate and fit results of some real experiment it is important
 As an example we will use our own measurements performed  at the laboratory diffractometer [GALAXI](http://www.fz-juelich.de/jcns/jcns-2//DE/Leistungen/GALAXI/_node.html) in Forschungszentrum Jülich.
 
 A complete example, containing less explanations but more code, can be found in
-[Real life fit example: experiment at GALAXI](py/fitting/extended/experiment-at-galaxi).
+[Real life fit example: experiment at GALAXI](/py/fitting/extended/experiment-at-galaxi).
 
 Our sample represents a 3-layer system (substrate, teflon and air)
 with Ag nanoparticles sitting on top of the teflon layer.
@@ -69,7 +69,7 @@ detector.setPerpendicularToDirectBeam(detector_distance, u0, v0)
 
 {{< /highlight >}}
 
-See also the [Rectangular detector tutorial](py/instr/det/rectangular-detector/index.md).
+See also the [Rectangular detector tutorial](/ref/instr/det/rectangular-detector/index.md).
 
 ### Setting the region of interest
 
@@ -116,4 +116,4 @@ The main requirement is that the shape of the numpy array coincides with the num
 ### Running the fit
 
 To run the fit, the user assembles all components - simulation description and experimental data file - using `FitObjective.addSimulationAndData`.
-The complete example can be found in [Real life fit example: experiment at GALAXI](py/fitting/extended/experiment-at-galaxi).
+The complete example can be found in [Real life fit example: experiment at GALAXI](/py/fitting/extended/experiment-at-galaxi).
diff --git a/hugo/content/py/fitting/minimizers/index.md b/hugo/content/py/fitting/minimizers/index.md
index a2178ff9c3a..067d2445526 100644
--- a/hugo/content/py/fitting/minimizers/index.md
+++ b/hugo/content/py/fitting/minimizers/index.md
@@ -190,4 +190,4 @@ BornAgain fitting can also be done using other minimization packages. A short li
 + [lmfit](https://lmfit.github.io/lmfit-py/)
 + [bumps](https://bumps.readthedocs.io/en/latest/)
 
-In [this example](py/fitting/extended/external-minimizer) we demonstrate how to use the `lmfit` minimizer for a typical fit of GISAS data.
+In [this example](/py/fitting/extended/external-minimizer) we demonstrate how to use the `lmfit` minimizer for a typical fit of GISAS data.
diff --git a/hugo/content/py/result/export/_index.md b/hugo/content/py/result/export/_index.md
index 0fc24998dcc..a1a4186a548 100644
--- a/hugo/content/py/result/export/_index.md
+++ b/hugo/content/py/result/export/_index.md
@@ -81,8 +81,8 @@ hist.save("result.int.gz")
 
 Additional information can be found in the following pages:
 
-* [Accessing simulation results example](py/result/export/more.md)
-* [Plotting with axes in different units](py/result/export/axes-in-different-units)
+* [Accessing simulation results example](/py/result/export/more.md)
+* [Plotting with axes in different units](/py/result/export/axes-in-different-units)
 * [SimulationResult C++ class reference](http://apps.jcns.fz-juelich.de/doxy/BornAgain/classSimulationResult.html)
 * [Histogram1D C++ class reference](http://apps.jcns.fz-juelich.de/doxy/BornAgain/classHistogram1D.html)
 * [Histogram2D C++ class reference](http://apps.jcns.fz-juelich.de/doxy/BornAgain/classHistogram2D.html)
diff --git a/hugo/content/py/result/export/axes-in-different-units/index.md b/hugo/content/py/result/export/axes-in-different-units/index.md
index 38a37e1c117..d132c713ef9 100644
--- a/hugo/content/py/result/export/axes-in-different-units/index.md
+++ b/hugo/content/py/result/export/axes-in-different-units/index.md
@@ -6,7 +6,7 @@ weight = 20
 ### Plotting with axes in different units
 
 In this example we demonstrate how to plot intensity data with detector axes expressed in different units. It serves as a supporting example to the
-[Accessing simulation results](py/export/_index.md) tutorial.
+[Accessing simulation results](/py/export/_index.md) tutorial.
 
 * The standard [Cylinders in DWBA](ex/gisas)
 sample is used to setup the simulation.
diff --git a/hugo/content/py/result/export/more.md b/hugo/content/py/result/export/more.md
index 46f26c430d9..4a6291e63c6 100644
--- a/hugo/content/py/result/export/more.md
+++ b/hugo/content/py/result/export/more.md
@@ -6,7 +6,7 @@ weight = 10
 ### Accessing simulation results
 
 This is an extended example for the further treatment of simulation results: accessing the results, plotting, cropping, slicing and exporting. This serves as a supporting example to the [Accessing simulation results
-](py/export/_index.md) tutorial.
+](/py/export/_index.md) tutorial.
 
 * The standard [Cylinders in DWBA](ex/gisas) sample
 is used for running the simulation.
diff --git a/hugo/content/py/start/_index.md b/hugo/content/py/start/_index.md
index d84586530ee..7afee444f3b 100644
--- a/hugo/content/py/start/_index.md
+++ b/hugo/content/py/start/_index.md
@@ -8,10 +8,10 @@ weight = 1
 We assume that BornAgain and Python are installed as explained in the
 [installation instructions]({{% relref "installation" %}}).
 
-Verify that the Python interpreter can [find BornAgain](py/start/find.md).
+Verify that the Python interpreter can [find BornAgain](/py/start/find.md).
 
 The next step is to
-[run a first example script](py/start/run.md).
+[run a first example script](/py/start/run.md).
 
 Then [read on]({{% relref "py" %}})
 to understand some example scripts line by line,
diff --git a/hugo/content/py/start/find.md b/hugo/content/py/start/find.md
index 9d04d9e4e0f..42948d2dded 100644
--- a/hugo/content/py/start/find.md
+++ b/hugo/content/py/start/find.md
@@ -48,5 +48,5 @@ of BornAgain.
 
 ### Proceed
 
-From here, proceed to [running](py/start/run)
+From here, proceed to [running](/py/start/run)
 an example script.
diff --git a/hugo/content/py/start/run.md b/hugo/content/py/start/run.md
index 2256851fdb8..3eb335ef3ab 100644
--- a/hugo/content/py/start/run.md
+++ b/hugo/content/py/start/run.md
@@ -10,7 +10,7 @@ To get started with BornAgain scripting, run a first example.
 We assume that BornAgain and Python are
 [installed]({{% relref "installation" %}})
 and that you verified that the Python interpreter can
-[find](py/start/find.md) the module `bornagain`.
+[find](/py/start/find.md) the module `bornagain`.
 
 We shall now run a first example script.
 This and all other example scripts can also be found in the BornAgain distribution,
@@ -25,7 +25,7 @@ Save the script under the name `AlternatingLayers1.py`.
 <p>
 
 For a discussion of the content of this script,
-see [simulation/reflectometry](py/sim/class/specular/_index.md).
+see [simulation/reflectometry](/ref/sim/class/specular/_index.md).
 
 ### From the command line
 
diff --git a/hugo/content/py/start/syntax.md b/hugo/content/py/start/syntax.md
index 494af73c99a..f79248561a3 100644
--- a/hugo/content/py/start/syntax.md
+++ b/hugo/content/py/start/syntax.md
@@ -6,7 +6,7 @@ weight = 30
 ## Python syntax used in BornAgain scripts
 
 We shall employ the same reflectometry script
-as on the [preceding page](py/start/run.md)
+as on the [preceding page](/py/start/run.md)
 to explain some Python syntax used in BornAgain scripts.
 
 For easy reference, here again the full script:
@@ -21,7 +21,7 @@ The [shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)) line
 #!/usr/bin/env python3
 {{< /highlight >}}
 makes the script executable under Unix-like operating systems,
-see the chapter on [how to run](py/start/run.md) scripts
+see the chapter on [how to run](/py/start/run.md) scripts
 from the command line.
 
 Lines between triple quotes
@@ -38,7 +38,7 @@ def get_sample():
     ...
 {{< /highlight >}}
 constructs and returns a sample model.
-For more information, see the [sample](py/sample) section.
+For more information, see the [sample](/ref/sample) section.
 
 The function
 {{< highlight python >}}
@@ -46,8 +46,8 @@ def get_simulation(sample, scan_size=500):
     ...
 {{< /highlight >}}
 constructs and returns a simulation model.
-For more information, see the [simulation](py/sim) section,
-and specifically the [reflectometry](py/sim/class/specular) reference.
+For more information, see the [simulation](/ref/sim) section,
+and specifically the [reflectometry](/ref/sim/class/specular) reference.
 
 
 The clause
@@ -78,7 +78,7 @@ The function `simulate()` returns a
 
 The line
 {{< highlight python >}}
-    bp.plot_simulation_result(result)
+    bp.plot_simulation_result(/py/result)
 {{< /highlight >}}
 plots the simulated reflectivity as function of the incident glancing angle,
 using MatPlotLib.
diff --git a/hugo/content/ref/_index.md b/hugo/content/ref/_index.md
new file mode 100644
index 00000000000..44a5b0e8f03
--- /dev/null
+++ b/hugo/content/ref/_index.md
@@ -0,0 +1,12 @@
++++
+title = "Reference"
+weight = 50
++++
+
+## Reference
+
+This reference is work in progress.
+In the end, all class constructors and other functions from Python API
+shall be documented here
+
+{{% children %}}
diff --git a/hugo/content/py/instr/_index.md b/hugo/content/ref/instr/_index.md
similarity index 100%
rename from hugo/content/py/instr/_index.md
rename to hugo/content/ref/instr/_index.md
diff --git a/hugo/content/py/instr/beam/_index.md b/hugo/content/ref/instr/beam/_index.md
similarity index 100%
rename from hugo/content/py/instr/beam/_index.md
rename to hugo/content/ref/instr/beam/_index.md
diff --git a/hugo/content/py/instr/beam/angular-divergence/index.md b/hugo/content/ref/instr/beam/angular-divergence/index.md
similarity index 92%
rename from hugo/content/py/instr/beam/angular-divergence/index.md
rename to hugo/content/ref/instr/beam/angular-divergence/index.md
index 86b39f54bd4..6b66c9cf47f 100644
--- a/hugo/content/py/instr/beam/angular-divergence/index.md
+++ b/hugo/content/ref/instr/beam/angular-divergence/index.md
@@ -8,7 +8,7 @@ weight = 60
 This example demonstrates beam angular spread effects in reflectivity computations.
 It also offers a comparison with data generated using another well known code: GenX.
 Further information about reflectometry simulations can be found in the
-[Reflectometry Simulation Tutorial](py/sim/class/specular/_index.md).
+[Reflectometry Simulation Tutorial](/ref/sim/class/specular/_index.md).
 
 The observed reflectometry signal can be affected either by a spread in the beam wavelength or in the incident angle.
 
diff --git a/hugo/content/py/instr/beam/divergence/BeamDivergence_setup.jpg b/hugo/content/ref/instr/beam/divergence/BeamDivergence_setup.jpg
similarity index 100%
rename from hugo/content/py/instr/beam/divergence/BeamDivergence_setup.jpg
rename to hugo/content/ref/instr/beam/divergence/BeamDivergence_setup.jpg
diff --git a/hugo/content/py/instr/beam/divergence/index.md b/hugo/content/ref/instr/beam/divergence/index.md
similarity index 100%
rename from hugo/content/py/instr/beam/divergence/index.md
rename to hugo/content/ref/instr/beam/divergence/index.md
diff --git a/hugo/content/py/instr/beam/footprint/FootprintScheme.odg b/hugo/content/ref/instr/beam/footprint/FootprintScheme.odg
similarity index 100%
rename from hugo/content/py/instr/beam/footprint/FootprintScheme.odg
rename to hugo/content/ref/instr/beam/footprint/FootprintScheme.odg
diff --git a/hugo/content/py/instr/beam/footprint/FootprintScheme.png b/hugo/content/ref/instr/beam/footprint/FootprintScheme.png
similarity index 100%
rename from hugo/content/py/instr/beam/footprint/FootprintScheme.png
rename to hugo/content/ref/instr/beam/footprint/FootprintScheme.png
diff --git a/hugo/content/py/instr/beam/footprint/index.md b/hugo/content/ref/instr/beam/footprint/index.md
similarity index 96%
rename from hugo/content/py/instr/beam/footprint/index.md
rename to hugo/content/ref/instr/beam/footprint/index.md
index a7b997c0711..5e2a7ad3707 100644
--- a/hugo/content/py/instr/beam/footprint/index.md
+++ b/hugo/content/ref/instr/beam/footprint/index.md
@@ -47,7 +47,7 @@ The incident angle range was made rather small in this example
 (from $0.0$ to $0.6$ degrees) in order to emphasize
 the footprint impact at small incident angles.
 In other respects this example exactly matches the
-[reflectometry simulation tutorial](py/sim/class/specular/_index.md).
+[reflectometry simulation tutorial](/ref/sim/class/specular/_index.md).
 
 {{< galleryscg >}}
 {{< figscg src="/img/auto/specular/FootprintCorrection.png" width="450px">}}
diff --git a/hugo/content/py/instr/beam/full-divergence/index.md b/hugo/content/ref/instr/beam/full-divergence/index.md
similarity index 94%
rename from hugo/content/py/instr/beam/full-divergence/index.md
rename to hugo/content/ref/instr/beam/full-divergence/index.md
index 88bc96cec91..79a50710549 100644
--- a/hugo/content/py/instr/beam/full-divergence/index.md
+++ b/hugo/content/ref/instr/beam/full-divergence/index.md
@@ -8,7 +8,7 @@ weight = 65
 This example demonstrates beam wavelength spread effects in reflectivity computations.
 All simulation parameters (except for those related to beam spread itself)
 coincide with those defined in
-[reflectometry simulation tutorial](py/sim/class/specular/_index.md).
+[reflectometry simulation tutorial](/ref/sim/class/specular/_index.md).
 
 In real specular experiments the observed reflectivity is always affected
 by the beam spread in both wavelength and incident angle.
@@ -25,7 +25,7 @@ In this example the following parameters related to the spread of the beam were
 * Standard deviation in the incident angle $\sigma_{\alpha} = 0.01^{\circ}$
 
 As one can see from the Python script, the definitions of beam parameter distributions
-match ones described in [similar example for GISAS simulations](py/instr/beam/divergence).
+match ones described in [similar example for GISAS simulations](/ref/instr/beam/divergence).
 However, in the case of the incident angle one should always use a distribution with zero mean,
 since the actual mean value is substituted by `SpecularSimulation` in dependence on the
 defined inclination angle range.
diff --git a/hugo/content/py/instr/det/_index.md b/hugo/content/ref/instr/det/_index.md
similarity index 83%
rename from hugo/content/py/instr/det/_index.md
rename to hugo/content/ref/instr/det/_index.md
index 4f756806c49..21789f59ff2 100644
--- a/hugo/content/py/instr/det/_index.md
+++ b/hugo/content/ref/instr/det/_index.md
@@ -17,8 +17,8 @@ The `RectangularDetector` object represents a more realistic, rectangular 2D det
 
 Both detector types are explained in detail in the following sections of the tutorial.
 
-* [Spherical detector](py/instr/det/spherical-detector/index.md)
-* [Rectangular detector](py/instr/det/rectangular-detector/index.md)
+* [Spherical detector](/ref/instr/det/spherical-detector/index.md)
+* [Rectangular detector](/ref/instr/det/rectangular-detector/index.md)
 
 ### Masks
 
@@ -26,10 +26,10 @@ When fitting theoretical models to measured diffraction images,
 it can be helpful to mask part of the detector area.
 See
 
-* [Fit with masks](py/fitting/advanced/fit-with-masks)
+* [Fit with masks](/py/fitting/advanced/fit-with-masks)
 
 ### Resolution
 
 For modeling the detector resolution, see
 
-* [Detector resolution example](py/instr/det/resolution)
+* [Detector resolution example](/ref/instr/det/resolution)
diff --git a/hugo/content/py/instr/det/offspec.md b/hugo/content/ref/instr/det/offspec.md
similarity index 100%
rename from hugo/content/py/instr/det/offspec.md
rename to hugo/content/ref/instr/det/offspec.md
diff --git a/hugo/content/py/instr/det/rectangular-detector/index.md b/hugo/content/ref/instr/det/rectangular-detector/index.md
similarity index 100%
rename from hugo/content/py/instr/det/rectangular-detector/index.md
rename to hugo/content/ref/instr/det/rectangular-detector/index.md
diff --git a/hugo/content/py/instr/det/rectangular-detector/rectangular_detector.png b/hugo/content/ref/instr/det/rectangular-detector/rectangular_detector.png
similarity index 100%
rename from hugo/content/py/instr/det/rectangular-detector/rectangular_detector.png
rename to hugo/content/ref/instr/det/rectangular-detector/rectangular_detector.png
diff --git a/hugo/content/py/instr/det/rectangular-detector/rectangular_detector_directbeam.png b/hugo/content/ref/instr/det/rectangular-detector/rectangular_detector_directbeam.png
similarity index 100%
rename from hugo/content/py/instr/det/rectangular-detector/rectangular_detector_directbeam.png
rename to hugo/content/ref/instr/det/rectangular-detector/rectangular_detector_directbeam.png
diff --git a/hugo/content/py/instr/det/rectangular-detector/rectangular_detector_genpos.png b/hugo/content/ref/instr/det/rectangular-detector/rectangular_detector_genpos.png
similarity index 100%
rename from hugo/content/py/instr/det/rectangular-detector/rectangular_detector_genpos.png
rename to hugo/content/ref/instr/det/rectangular-detector/rectangular_detector_genpos.png
diff --git a/hugo/content/py/instr/det/rectangular-detector/rectangular_detector_reflectedbeam.png b/hugo/content/ref/instr/det/rectangular-detector/rectangular_detector_reflectedbeam.png
similarity index 100%
rename from hugo/content/py/instr/det/rectangular-detector/rectangular_detector_reflectedbeam.png
rename to hugo/content/ref/instr/det/rectangular-detector/rectangular_detector_reflectedbeam.png
diff --git a/hugo/content/py/instr/det/rectangular-detector/rectangular_detector_samplepos.png b/hugo/content/ref/instr/det/rectangular-detector/rectangular_detector_samplepos.png
similarity index 100%
rename from hugo/content/py/instr/det/rectangular-detector/rectangular_detector_samplepos.png
rename to hugo/content/ref/instr/det/rectangular-detector/rectangular_detector_samplepos.png
diff --git a/hugo/content/py/instr/det/rectangular-detector/xy_plane_with_labels.png b/hugo/content/ref/instr/det/rectangular-detector/xy_plane_with_labels.png
similarity index 100%
rename from hugo/content/py/instr/det/rectangular-detector/xy_plane_with_labels.png
rename to hugo/content/ref/instr/det/rectangular-detector/xy_plane_with_labels.png
diff --git a/hugo/content/py/instr/det/resolution/index.md b/hugo/content/ref/instr/det/resolution/index.md
similarity index 96%
rename from hugo/content/py/instr/det/resolution/index.md
rename to hugo/content/ref/instr/det/resolution/index.md
index 7c66b379434..6dfd03f4d53 100644
--- a/hugo/content/py/instr/det/resolution/index.md
+++ b/hugo/content/ref/instr/det/resolution/index.md
@@ -13,7 +13,7 @@ Here we show how to set a finite blur.
 * The incident angles are $\sigma_{\alpha\_i} = \sigma\_{\varphi\_i} = 0.1^{\circ}$.
 
 Besides this, the example is a DWBA simulation for our standard sample model,
- [Cylinders in DWBA](py/ex/gisas)
+ [Cylinders in DWBA](/py/ex/gisas)
 
 * The sample is composed of monodisperse cylinders deposited on a substrate.
 * The cylinders are dilute, and positioned at random,
diff --git a/hugo/content/py/instr/det/spherical-detector/index.md b/hugo/content/ref/instr/det/spherical-detector/index.md
similarity index 100%
rename from hugo/content/py/instr/det/spherical-detector/index.md
rename to hugo/content/ref/instr/det/spherical-detector/index.md
diff --git a/hugo/content/py/instr/det/spherical-detector/phi_alpha_plane.png b/hugo/content/ref/instr/det/spherical-detector/phi_alpha_plane.png
similarity index 100%
rename from hugo/content/py/instr/det/spherical-detector/phi_alpha_plane.png
rename to hugo/content/ref/instr/det/spherical-detector/phi_alpha_plane.png
diff --git a/hugo/content/py/instr/det/spherical-detector/phi_alpha_plane_variable.png b/hugo/content/ref/instr/det/spherical-detector/phi_alpha_plane_variable.png
similarity index 100%
rename from hugo/content/py/instr/det/spherical-detector/phi_alpha_plane_variable.png
rename to hugo/content/ref/instr/det/spherical-detector/phi_alpha_plane_variable.png
diff --git a/hugo/content/py/instr/det/spherical-detector/spherical_detector.png b/hugo/content/ref/instr/det/spherical-detector/spherical_detector.png
similarity index 100%
rename from hugo/content/py/instr/det/spherical-detector/spherical_detector.png
rename to hugo/content/ref/instr/det/spherical-detector/spherical_detector.png
diff --git a/hugo/content/py/instr/det/two_detectors.png b/hugo/content/ref/instr/det/two_detectors.png
similarity index 100%
rename from hugo/content/py/instr/det/two_detectors.png
rename to hugo/content/ref/instr/det/two_detectors.png
diff --git a/hugo/content/py/instr/polarized/_index.md b/hugo/content/ref/instr/polarized/_index.md
similarity index 100%
rename from hugo/content/py/instr/polarized/_index.md
rename to hugo/content/ref/instr/polarized/_index.md
diff --git a/hugo/content/py/instr/polarized/basic-polarized-reflectometry/index.md b/hugo/content/ref/instr/polarized/basic-polarized-reflectometry/index.md
similarity index 97%
rename from hugo/content/py/instr/polarized/basic-polarized-reflectometry/index.md
rename to hugo/content/ref/instr/polarized/basic-polarized-reflectometry/index.md
index 223a1121eaa..2a9de3f78b1 100644
--- a/hugo/content/py/instr/polarized/basic-polarized-reflectometry/index.md
+++ b/hugo/content/ref/instr/polarized/basic-polarized-reflectometry/index.md
@@ -10,7 +10,7 @@ We show this for a sample that contains only a single magnetic layer on top of a
 The magnetization and polarization are chosen to be (anti-)parallel, and hence, no
 spin-flip is observed.
 By rotation of either the magnetization or the polarization vector, one can generalize this example
-to observe also the [spin-flip channels](py/instr/polarized/polarized-spin-flip).
+to observe also the [spin-flip channels](/ref/instr/polarized/polarized-spin-flip).
 
 The construction of the sample is almost identical to the unpolarized cases, where the only difference is that the magnetization of a material can be specified:
 {{< highlight python>}}
diff --git a/hugo/content/py/instr/polarized/no-analyzer/index.md b/hugo/content/ref/instr/polarized/no-analyzer/index.md
similarity index 96%
rename from hugo/content/py/instr/polarized/no-analyzer/index.md
rename to hugo/content/ref/instr/polarized/no-analyzer/index.md
index 7a9b384671d..b54ea20a3fc 100644
--- a/hugo/content/py/instr/polarized/no-analyzer/index.md
+++ b/hugo/content/ref/instr/polarized/no-analyzer/index.md
@@ -5,7 +5,7 @@ weight = 30
 
 ### Polarized reflectometry without analyzer
 
-Starting from the [spin-flip tutorial](py/instr/polarized/polarized-spin-flip), we
+Starting from the [spin-flip tutorial](/ref/instr/polarized/polarized-spin-flip), we
 want to remove the analyzer and perform a reflectivity simulation with incident polarized neutrons and no
 polarization analysis of the reflected beam.
 All other parameters of the simulation remain unchanged.
diff --git a/hugo/content/py/instr/polarized/polarized-non-perfect-ap/index.md b/hugo/content/ref/instr/polarized/polarized-non-perfect-ap/index.md
similarity index 96%
rename from hugo/content/py/instr/polarized/polarized-non-perfect-ap/index.md
rename to hugo/content/ref/instr/polarized/polarized-non-perfect-ap/index.md
index 63362dd3675..5ed037884b1 100644
--- a/hugo/content/py/instr/polarized/polarized-non-perfect-ap/index.md
+++ b/hugo/content/ref/instr/polarized/polarized-non-perfect-ap/index.md
@@ -15,7 +15,7 @@ On top of the iron layer is a thin Pd cap layer.
 We don't explain the whole script in detail here, it combines all concepts that were introduced before
 in the polarized reflectometry section.
 Instrument resolution is simulated as explained in the
-[ToF - Resolution effects example](py/instr/scan/tof-resolution).
+[ToF - Resolution effects example](/ref/instr/scan/tof-resolution).
 Furthermore, a constant background is added:
 
 {{< highlight python>}}
@@ -23,7 +23,7 @@ simulation.setBackground( ba.ConstantBackground( 1e-7 ) )
 {{< /highlight >}}
 
 For a more detailed explanation we refer to the example on
-[adding a constant background](py/sim/setup/bg).
+[adding a constant background](/ref/sim/setup/bg).
 
 The values for the efficiency of the polarizer and analyzer are taken from the above mentioned paper by
 [Devishvili et al.](https://doi.org/10.1063/1.4790717):
diff --git a/hugo/content/py/instr/polarized/polarized-spin-flip/index.md b/hugo/content/ref/instr/polarized/polarized-spin-flip/index.md
similarity index 89%
rename from hugo/content/py/instr/polarized/polarized-spin-flip/index.md
rename to hugo/content/ref/instr/polarized/polarized-spin-flip/index.md
index ff9c40b17d8..63ff8864c37 100644
--- a/hugo/content/py/instr/polarized/polarized-spin-flip/index.md
+++ b/hugo/content/ref/instr/polarized/polarized-spin-flip/index.md
@@ -5,7 +5,7 @@ weight = 20
 
 ### Spin-flip reflectivity
 
-In this section, we want to extend the [basic polarized reflectometry tutorial](py/instr/polarized/basic-polarized-reflectometry) to simulate spin-flip reflectivity.
+In this section, we want to extend the [basic polarized reflectometry tutorial](/ref/instr/polarized/basic-polarized-reflectometry) to simulate spin-flip reflectivity.
 For this purpose, we want to parametrize the magnetization by the angle $\alpha$ between the magnetization and the spin of the incoming neutrons and its magnitude $\left| \mathbf{M} \right|$:
 $$\mathbf M =  \left| \mathbf{M} \right| \left( \sin \alpha, \cos \alpha, 0\right)^\mathrm{T}$$
 In practice, the construction of the magnetization vector in Python then proceeds as follows:
@@ -35,7 +35,7 @@ Running the full script, that is given below, we obtain the following simulation
 {{< /galleryscg >}}
 
 This plot shows the resulting reflectivity in all four channels.
-The non-spin-flip channels (up-up and down-down) are similar to the result [without spin flip](py/instr/polarized/basic-polarized-reflectometry).
+The non-spin-flip channels (up-up and down-down) are similar to the result [without spin flip](/ref/instr/polarized/basic-polarized-reflectometry).
 As expected, both spin-flip channels are identical.
 
 Here is the complete example:
diff --git a/hugo/content/py/instr/polarized/polarized-spinasymmetry/index.md b/hugo/content/ref/instr/polarized/polarized-spinasymmetry/index.md
similarity index 94%
rename from hugo/content/py/instr/polarized/polarized-spinasymmetry/index.md
rename to hugo/content/ref/instr/polarized/polarized-spinasymmetry/index.md
index 541d16eb893..3843c38e307 100644
--- a/hugo/content/py/instr/polarized/polarized-spinasymmetry/index.md
+++ b/hugo/content/ref/instr/polarized/polarized-spinasymmetry/index.md
@@ -15,7 +15,7 @@ During these tutorials, we neglect the magnetically dead layer that forms below
 
 In this first example, we utilize parameters that are deduced from a fit to the data provided on the NIST homepage.
 How to perform the fit is described in the
-[extended example](py/fitting/extended/polarized-spinasymmetry-fit).
+[extended example](/py/fitting/extended/polarized-spinasymmetry-fit).
 
 
 
@@ -41,7 +41,7 @@ This is performed in the function `plotSpinAsymmetry`.
 #### Further corrections
 
 We also apply a resolution correction, as described in the
- [ToF - Resolution effects](py/instr/scan/tof-resolution) example.
+ [ToF - Resolution effects](/ref/instr/scan/tof-resolution) example.
 
 Furthermore, we introduce an offest in the $Q$-axis, in order to accomodate for experimental uncertainties
 in the measurement of $\theta$.
diff --git a/hugo/content/py/instr/scan/_index.md b/hugo/content/ref/instr/scan/_index.md
similarity index 92%
rename from hugo/content/py/instr/scan/_index.md
rename to hugo/content/ref/instr/scan/_index.md
index f2b8a7e2843..54e53544cb8 100644
--- a/hugo/content/py/instr/scan/_index.md
+++ b/hugo/content/ref/instr/scan/_index.md
@@ -6,9 +6,9 @@ weight = 20
 ## Scan models
 
 Scans are needed to construct simulations of types
-[reflectometry](py/sim/class/specular),
-[off-specular scattering](py/sim/class/offspec),
-[depth probe](py/sim/class/depthprobe).
+[reflectometry](/ref/sim/class/specular),
+[off-specular scattering](/ref/sim/class/offspec),
+[depth probe](/ref/sim/class/depthprobe).
 
 There are two types of scan:
 - Alpha scans, for instruments that are mechanically scanning
diff --git a/hugo/content/py/instr/scan/tof-resolution.md b/hugo/content/ref/instr/scan/tof-resolution.md
similarity index 95%
rename from hugo/content/py/instr/scan/tof-resolution.md
rename to hugo/content/ref/instr/scan/tof-resolution.md
index 1ce1e6c40d8..fd6813cd255 100644
--- a/hugo/content/py/instr/scan/tof-resolution.md
+++ b/hugo/content/ref/instr/scan/tof-resolution.md
@@ -13,7 +13,7 @@ ba.DistributionGaussian(0., 1., 25, 2.)
 ```
 specifies a Gaussian distribution with mean 0, standard deviation 1,
 25 sampling points, and a cut-off at 2 sigma. For other distributions (besides Gaussian),
-see [distributions](py/other/distributions).
+see [distributions](/ref/other/distributions).
 
 The statements
 ```python
diff --git a/hugo/content/py/instr/scan/tof.md b/hugo/content/ref/instr/scan/tof.md
similarity index 100%
rename from hugo/content/py/instr/scan/tof.md
rename to hugo/content/ref/instr/scan/tof.md
diff --git a/hugo/content/py/other/_index.md b/hugo/content/ref/other/_index.md
similarity index 100%
rename from hugo/content/py/other/_index.md
rename to hugo/content/ref/other/_index.md
diff --git a/hugo/content/py/other/distributions.md b/hugo/content/ref/other/distributions.md
similarity index 100%
rename from hugo/content/py/other/distributions.md
rename to hugo/content/ref/other/distributions.md
diff --git a/hugo/content/py/sample/_index.md b/hugo/content/ref/sample/_index.md
similarity index 100%
rename from hugo/content/py/sample/_index.md
rename to hugo/content/ref/sample/_index.md
diff --git a/hugo/content/py/sample/avge/_index.md b/hugo/content/ref/sample/avge/_index.md
similarity index 100%
rename from hugo/content/py/sample/avge/_index.md
rename to hugo/content/ref/sample/avge/_index.md
diff --git a/hugo/content/py/sample/avge/cylinders-in-average-layer/index.md b/hugo/content/ref/sample/avge/cylinders-in-average-layer/index.md
similarity index 100%
rename from hugo/content/py/sample/avge/cylinders-in-average-layer/index.md
rename to hugo/content/ref/sample/avge/cylinders-in-average-layer/index.md
diff --git a/hugo/content/py/sample/avge/half-spheres-in-average-top-layer/index.md b/hugo/content/ref/sample/avge/half-spheres-in-average-top-layer/index.md
similarity index 100%
rename from hugo/content/py/sample/avge/half-spheres-in-average-top-layer/index.md
rename to hugo/content/ref/sample/avge/half-spheres-in-average-top-layer/index.md
diff --git a/hugo/content/py/sample/interference/_index.md b/hugo/content/ref/sample/interference/_index.md
similarity index 100%
rename from hugo/content/py/sample/interference/_index.md
rename to hugo/content/ref/sample/interference/_index.md
diff --git a/hugo/content/py/sample/interference/grating/_index.md b/hugo/content/ref/sample/interference/grating/_index.md
similarity index 100%
rename from hugo/content/py/sample/interference/grating/_index.md
rename to hugo/content/ref/sample/interference/grating/_index.md
diff --git a/hugo/content/py/sample/interference/grating/cosine-ripples-at-rect-lattice/CosineRipplesAtRectLattice_setup.jpg b/hugo/content/ref/sample/interference/grating/cosine-ripples-at-rect-lattice/CosineRipplesAtRectLattice_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/interference/grating/cosine-ripples-at-rect-lattice/CosineRipplesAtRectLattice_setup.jpg
rename to hugo/content/ref/sample/interference/grating/cosine-ripples-at-rect-lattice/CosineRipplesAtRectLattice_setup.jpg
diff --git a/hugo/content/py/sample/interference/grating/cosine-ripples-at-rect-lattice/index.md b/hugo/content/ref/sample/interference/grating/cosine-ripples-at-rect-lattice/index.md
similarity index 100%
rename from hugo/content/py/sample/interference/grating/cosine-ripples-at-rect-lattice/index.md
rename to hugo/content/ref/sample/interference/grating/cosine-ripples-at-rect-lattice/index.md
diff --git a/hugo/content/py/sample/interference/grating/lattice1d/Interference1DLattice_setup.jpg b/hugo/content/ref/sample/interference/grating/lattice1d/Interference1DLattice_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/interference/grating/lattice1d/Interference1DLattice_setup.jpg
rename to hugo/content/ref/sample/interference/grating/lattice1d/Interference1DLattice_setup.jpg
diff --git a/hugo/content/py/sample/interference/grating/lattice1d/Interference1DLattice_sketch.jpg b/hugo/content/ref/sample/interference/grating/lattice1d/Interference1DLattice_sketch.jpg
similarity index 100%
rename from hugo/content/py/sample/interference/grating/lattice1d/Interference1DLattice_sketch.jpg
rename to hugo/content/ref/sample/interference/grating/lattice1d/Interference1DLattice_sketch.jpg
diff --git a/hugo/content/py/sample/interference/grating/lattice1d/index.md b/hugo/content/ref/sample/interference/grating/lattice1d/index.md
similarity index 98%
rename from hugo/content/py/sample/interference/grating/lattice1d/index.md
rename to hugo/content/ref/sample/interference/grating/lattice1d/index.md
index 2be50342664..54c424b2eed 100644
--- a/hugo/content/py/sample/interference/grating/lattice1d/index.md
+++ b/hugo/content/ref/sample/interference/grating/lattice1d/index.md
@@ -12,7 +12,7 @@ In this example we simulate the scattering from infinite 1D repetition of rectan
 * The size of boxes is initially chosen to form a grating which is perpendicular to the beam (long side of the box is along $y$-axis).
 * Please keep in mind, that `length`, `width`, `height` in the `Box(length, width, height)` constructor correspond to the directions in the $x,y,z$ axes, in that order, so to achieve the desired setup we use the values: `length`= $10$ nm, `width`= $10000$ nm, `height`= $10$ nm.
 * The whole grating is rotated at the end by an angle of $45^{\circ}$ with respect to the beam axis. This is achieved by rotating _both_ the 1D lattice and the long boxes (see lines 25 and 34).
-* To avoid the problem of rapidly oscillating form factors of long boxes (see [this example](py/sim/setup/options/mc) for more details), the simulation is performed in monte carlo integration mode.
+* To avoid the problem of rapidly oscillating form factors of long boxes (see [this example](/ref/sim/setup/options/mc) for more details), the simulation is performed in monte carlo integration mode.
 
 {{< galleryscg >}}
 {{< figscg src="Interference1DLattice_setup.jpg" width="200px" caption="Real-space model">}}
diff --git a/hugo/content/py/sample/interference/grating/lattice1d/interference_1d_C.png b/hugo/content/ref/sample/interference/grating/lattice1d/interference_1d_C.png
similarity index 100%
rename from hugo/content/py/sample/interference/grating/lattice1d/interference_1d_C.png
rename to hugo/content/ref/sample/interference/grating/lattice1d/interference_1d_C.png
diff --git a/hugo/content/py/sample/interference/grating/lattice1d/interference_1d_particles_orientA.png b/hugo/content/ref/sample/interference/grating/lattice1d/interference_1d_particles_orientA.png
similarity index 100%
rename from hugo/content/py/sample/interference/grating/lattice1d/interference_1d_particles_orientA.png
rename to hugo/content/ref/sample/interference/grating/lattice1d/interference_1d_particles_orientA.png
diff --git a/hugo/content/py/sample/interference/grating/lattice1d/interference_1d_particles_orientB.png b/hugo/content/ref/sample/interference/grating/lattice1d/interference_1d_particles_orientB.png
similarity index 100%
rename from hugo/content/py/sample/interference/grating/lattice1d/interference_1d_particles_orientB.png
rename to hugo/content/ref/sample/interference/grating/lattice1d/interference_1d_particles_orientB.png
diff --git a/hugo/content/py/sample/interference/grating/lattice1d/interference_1d_particles_orientC.png b/hugo/content/ref/sample/interference/grating/lattice1d/interference_1d_particles_orientC.png
similarity index 100%
rename from hugo/content/py/sample/interference/grating/lattice1d/interference_1d_particles_orientC.png
rename to hugo/content/ref/sample/interference/grating/lattice1d/interference_1d_particles_orientC.png
diff --git a/hugo/content/py/sample/interference/grating/lattice1d/lattice1d_decay_real.png b/hugo/content/ref/sample/interference/grating/lattice1d/lattice1d_decay_real.png
similarity index 100%
rename from hugo/content/py/sample/interference/grating/lattice1d/lattice1d_decay_real.png
rename to hugo/content/ref/sample/interference/grating/lattice1d/lattice1d_decay_real.png
diff --git a/hugo/content/py/sample/interference/grating/lattice1d/lattice1d_decay_reciprocal.png b/hugo/content/ref/sample/interference/grating/lattice1d/lattice1d_decay_reciprocal.png
similarity index 100%
rename from hugo/content/py/sample/interference/grating/lattice1d/lattice1d_decay_reciprocal.png
rename to hugo/content/ref/sample/interference/grating/lattice1d/lattice1d_decay_reciprocal.png
diff --git a/hugo/content/py/sample/interference/grating/lattice1d/particles_at_1d_latice.jpg b/hugo/content/ref/sample/interference/grating/lattice1d/particles_at_1d_latice.jpg
similarity index 100%
rename from hugo/content/py/sample/interference/grating/lattice1d/particles_at_1d_latice.jpg
rename to hugo/content/ref/sample/interference/grating/lattice1d/particles_at_1d_latice.jpg
diff --git a/hugo/content/py/sample/interference/grating/rectangular-grating/index.md b/hugo/content/ref/sample/interference/grating/rectangular-grating/index.md
similarity index 88%
rename from hugo/content/py/sample/interference/grating/rectangular-grating/index.md
rename to hugo/content/ref/sample/interference/grating/rectangular-grating/index.md
index 83e9d91297f..b9fb4bc0670 100644
--- a/hugo/content/py/sample/interference/grating/rectangular-grating/index.md
+++ b/hugo/content/ref/sample/interference/grating/rectangular-grating/index.md
@@ -5,7 +5,7 @@ weight = 85
 
 ### Interference - Rectangular Grating
 
-This example demonstrates how to perform a simulation of a grating using very long boxes and a 1D lattice. [Interference of a 1D lattice](py/sample/interference/grating/lattice1d) may provide useful background information.
+This example demonstrates how to perform a simulation of a grating using very long boxes and a 1D lattice. [Interference of a 1D lattice](/ref/sample/interference/grating/lattice1d) may provide useful background information.
 
 {{< galleryscg >}}
 {{< figscg src="/img/auto/scatter2d/RectangularGrating.png" width="4500px" caption="Intensity image">}}
diff --git a/hugo/content/py/sample/interference/grating/triangular-ripples/index.md b/hugo/content/ref/sample/interference/grating/triangular-ripples/index.md
similarity index 87%
rename from hugo/content/py/sample/interference/grating/triangular-ripples/index.md
rename to hugo/content/ref/sample/interference/grating/triangular-ripples/index.md
index e016c06fe63..6dfa159565b 100644
--- a/hugo/content/py/sample/interference/grating/triangular-ripples/index.md
+++ b/hugo/content/ref/sample/interference/grating/triangular-ripples/index.md
@@ -14,7 +14,7 @@ Scattering from elongated particles positioned in a two-dimensional rectangular
 * The wavelength is equal to 0.16 nm.
 * The incident angles are $\alpha\_i = 0.3 ^{\circ}$ and $\varphi\_i = 0^{\circ}$.
 
-View the example on [Cosine Ripples on a Rectangular Lattice](py/sample/interference/grating/cosine-ripples-at-rect-lattice) for comparison.
+View the example on [Cosine Ripples on a Rectangular Lattice](/ref/sample/interference/grating/cosine-ripples-at-rect-lattice) for comparison.
 
 {{< galleryscg >}}
 {{< figscg src="/img/auto/scatter2d/TriangularRipple.png" width="4500px" caption="Intensity image">}}
diff --git a/hugo/content/py/sample/interference/incoherent-ex/CylindersAndPrisms_setup.jpg b/hugo/content/ref/sample/interference/incoherent-ex/CylindersAndPrisms_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/interference/incoherent-ex/CylindersAndPrisms_setup.jpg
rename to hugo/content/ref/sample/interference/incoherent-ex/CylindersAndPrisms_setup.jpg
diff --git a/hugo/content/py/sample/interference/incoherent-ex/index.md b/hugo/content/ref/sample/interference/incoherent-ex/index.md
similarity index 100%
rename from hugo/content/py/sample/interference/incoherent-ex/index.md
rename to hugo/content/ref/sample/interference/incoherent-ex/index.md
diff --git a/hugo/content/py/sample/interference/lattice2d/_index.md b/hugo/content/ref/sample/interference/lattice2d/_index.md
similarity index 95%
rename from hugo/content/py/sample/interference/lattice2d/_index.md
rename to hugo/content/ref/sample/interference/lattice2d/_index.md
index cb356707e32..1363649029b 100644
--- a/hugo/content/py/sample/interference/lattice2d/_index.md
+++ b/hugo/content/ref/sample/interference/lattice2d/_index.md
@@ -55,7 +55,7 @@ Here two lattices are created, one square and one hexagonal, rotated with respec
 To account for finite size effects of the lattice, a decay function should be assigned to the interference function. This function encodes the loss of coherent scattering from lattice points with increasing distance between them. The origin of this loss of coherence could be attributed to the coherence lengths of the beam or to the domain structure of the lattice. The two-dimensional decay function allows for an anisotropy of this effect.
 
 Decay functions for the one-dimensional case are explained
-in the [grating](py/sample/interference/grating) section.
+in the [grating](/ref/sample/interference/grating) section.
 Decay functions for two-dimensional lattices work similarly,
 but require two `decay_length` parameters and an orientation to be defined.
 
@@ -125,12 +125,12 @@ particle_layout.setInterference(interference)
 
 {{< /highlight >}}
 
-The complete example can be found [here](py/sample/interference/lattice2d/interference-2d-rotated-square-lattice).
+The complete example can be found [here](/ref/sample/interference/lattice2d/interference-2d-rotated-square-lattice).
 
 ### Model extensions
 
-* [Position variance](py/sample/interference/lattice2d/position-variance):
+* [Position variance](/ref/sample/interference/lattice2d/position-variance):
   fluctuations of particle position of around lattice points, resulting in
   a prefactor of Debye-Waller type.
-* [Unit cell with basis](py/sample/interference/lattice2d/with-basis),
+* [Unit cell with basis](/ref/sample/interference/lattice2d/with-basis),
   if there is more than one particle in the conventional unit cell.
diff --git a/hugo/content/py/sample/interference/lattice2d/hexagonal-lattice-with-basis/HexagonalLatticesWithBasis_setup.jpg b/hugo/content/ref/sample/interference/lattice2d/hexagonal-lattice-with-basis/HexagonalLatticesWithBasis_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/hexagonal-lattice-with-basis/HexagonalLatticesWithBasis_setup.jpg
rename to hugo/content/ref/sample/interference/lattice2d/hexagonal-lattice-with-basis/HexagonalLatticesWithBasis_setup.jpg
diff --git a/hugo/content/py/sample/interference/lattice2d/hexagonal-lattice-with-basis/index.md b/hugo/content/ref/sample/interference/lattice2d/hexagonal-lattice-with-basis/index.md
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/hexagonal-lattice-with-basis/index.md
rename to hugo/content/ref/sample/interference/lattice2d/hexagonal-lattice-with-basis/index.md
diff --git a/hugo/content/py/sample/interference/lattice2d/interference-2d-lattice-sum-of-rotated/index.md b/hugo/content/ref/sample/interference/lattice2d/interference-2d-lattice-sum-of-rotated/index.md
similarity index 88%
rename from hugo/content/py/sample/interference/lattice2d/interference-2d-lattice-sum-of-rotated/index.md
rename to hugo/content/ref/sample/interference/lattice2d/interference-2d-lattice-sum-of-rotated/index.md
index 3eb12f6a2df..4aaca532ec7 100644
--- a/hugo/content/py/sample/interference/lattice2d/interference-2d-lattice-sum-of-rotated/index.md
+++ b/hugo/content/ref/sample/interference/lattice2d/interference-2d-lattice-sum-of-rotated/index.md
@@ -8,7 +8,7 @@ weight = 30
 This example demonstrates how to perform a simulation of scattering from cylinders
 positioned in one out of a distribution of rotated square lattices.
 
-This example is similar to [Interference of a rotated square lattice](py/sample/interference/lattice2d/interference-2d-rotated-square-lattice).
+This example is similar to [Interference of a rotated square lattice](/ref/sample/interference/lattice2d/interference-2d-rotated-square-lattice).
 
 TEMPORARILY DISABLED after BornAgain 1.19.0 for ongoing refactoring of parameter distributions.
 
diff --git a/hugo/content/py/sample/interference/lattice2d/interference-2d-rotated-square-lattice/Interference2DRotatedSquareLattice_setup.jpg b/hugo/content/ref/sample/interference/lattice2d/interference-2d-rotated-square-lattice/Interference2DRotatedSquareLattice_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/interference-2d-rotated-square-lattice/Interference2DRotatedSquareLattice_setup.jpg
rename to hugo/content/ref/sample/interference/lattice2d/interference-2d-rotated-square-lattice/Interference2DRotatedSquareLattice_setup.jpg
diff --git a/hugo/content/py/sample/interference/lattice2d/interference-2d-rotated-square-lattice/index.md b/hugo/content/ref/sample/interference/lattice2d/interference-2d-rotated-square-lattice/index.md
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/interference-2d-rotated-square-lattice/index.md
rename to hugo/content/ref/sample/interference/lattice2d/interference-2d-rotated-square-lattice/index.md
diff --git a/hugo/content/py/sample/interference/lattice2d/interference-2d-square-finite-lattice/index.md b/hugo/content/ref/sample/interference/lattice2d/interference-2d-square-finite-lattice/index.md
similarity index 87%
rename from hugo/content/py/sample/interference/lattice2d/interference-2d-square-finite-lattice/index.md
rename to hugo/content/ref/sample/interference/lattice2d/interference-2d-square-finite-lattice/index.md
index 732694708eb..745b5398ab8 100644
--- a/hugo/content/py/sample/interference/lattice2d/interference-2d-square-finite-lattice/index.md
+++ b/hugo/content/ref/sample/interference/lattice2d/interference-2d-square-finite-lattice/index.md
@@ -8,7 +8,7 @@ weight = 30
 This example demonstrates how to perform a simulation of scattering from cylinders
 positioned in a finite square lattice (as opposed to the standard infinite lattice model).
 
-This example is similar to [Interference of a rotated square lattice](py/sample/interference/lattice2d/interference-2d-rotated-square-lattice).
+This example is similar to [Interference of a rotated square lattice](/ref/sample/interference/lattice2d/interference-2d-rotated-square-lattice).
 
 {{< galleryscg >}}
 {{< figscg src="/img/auto/scatter2d/Interference2DSquareFiniteLattice.png" width="4500px" caption="Intensity image">}}
diff --git a/hugo/content/py/sample/interference/lattice2d/particles_at_lattice.jpg b/hugo/content/ref/sample/interference/lattice2d/particles_at_lattice.jpg
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/particles_at_lattice.jpg
rename to hugo/content/ref/sample/interference/lattice2d/particles_at_lattice.jpg
diff --git a/hugo/content/py/sample/interference/lattice2d/position-variance/index.md b/hugo/content/ref/sample/interference/lattice2d/position-variance/index.md
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/position-variance/index.md
rename to hugo/content/ref/sample/interference/lattice2d/position-variance/index.md
diff --git a/hugo/content/py/sample/interference/lattice2d/spheres-at-hex-lattice/SpheresAtHexLattice_setup.jpg b/hugo/content/ref/sample/interference/lattice2d/spheres-at-hex-lattice/SpheresAtHexLattice_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/spheres-at-hex-lattice/SpheresAtHexLattice_setup.jpg
rename to hugo/content/ref/sample/interference/lattice2d/spheres-at-hex-lattice/SpheresAtHexLattice_setup.jpg
diff --git a/hugo/content/py/sample/interference/lattice2d/spheres-at-hex-lattice/index.md b/hugo/content/ref/sample/interference/lattice2d/spheres-at-hex-lattice/index.md
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/spheres-at-hex-lattice/index.md
rename to hugo/content/ref/sample/interference/lattice2d/spheres-at-hex-lattice/index.md
diff --git a/hugo/content/py/sample/interference/lattice2d/tutorial_interference_2d.png b/hugo/content/ref/sample/interference/lattice2d/tutorial_interference_2d.png
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/tutorial_interference_2d.png
rename to hugo/content/ref/sample/interference/lattice2d/tutorial_interference_2d.png
diff --git a/hugo/content/py/sample/interference/lattice2d/tutorial_interference_decay_2d.png b/hugo/content/ref/sample/interference/lattice2d/tutorial_interference_decay_2d.png
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/tutorial_interference_decay_2d.png
rename to hugo/content/ref/sample/interference/lattice2d/tutorial_interference_decay_2d.png
diff --git a/hugo/content/py/sample/interference/lattice2d/with-basis/Interference2DCenteredSquareLattice_setup.jpg b/hugo/content/ref/sample/interference/lattice2d/with-basis/Interference2DCenteredSquareLattice_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/with-basis/Interference2DCenteredSquareLattice_setup.jpg
rename to hugo/content/ref/sample/interference/lattice2d/with-basis/Interference2DCenteredSquareLattice_setup.jpg
diff --git a/hugo/content/py/sample/interference/lattice2d/with-basis/index.md b/hugo/content/ref/sample/interference/lattice2d/with-basis/index.md
similarity index 100%
rename from hugo/content/py/sample/interference/lattice2d/with-basis/index.md
rename to hugo/content/ref/sample/interference/lattice2d/with-basis/index.md
diff --git a/hugo/content/py/sample/interference/other/_index.md b/hugo/content/ref/sample/interference/other/_index.md
similarity index 100%
rename from hugo/content/py/sample/interference/other/_index.md
rename to hugo/content/ref/sample/interference/other/_index.md
diff --git a/hugo/content/py/sample/interference/other/approximation-da/index.md b/hugo/content/ref/sample/interference/other/approximation-da/index.md
similarity index 100%
rename from hugo/content/py/sample/interference/other/approximation-da/index.md
rename to hugo/content/ref/sample/interference/other/approximation-da/index.md
diff --git a/hugo/content/py/sample/interference/other/approximation-lma/index.md b/hugo/content/ref/sample/interference/other/approximation-lma/index.md
similarity index 100%
rename from hugo/content/py/sample/interference/other/approximation-lma/index.md
rename to hugo/content/ref/sample/interference/other/approximation-lma/index.md
diff --git a/hugo/content/py/sample/interference/other/approximation-ssca/index.md b/hugo/content/ref/sample/interference/other/approximation-ssca/index.md
similarity index 95%
rename from hugo/content/py/sample/interference/other/approximation-ssca/index.md
rename to hugo/content/ref/sample/interference/other/approximation-ssca/index.md
index 8cb8e222799..37d91b9c93b 100644
--- a/hugo/content/py/sample/interference/other/approximation-ssca/index.md
+++ b/hugo/content/ref/sample/interference/other/approximation-ssca/index.md
@@ -14,7 +14,7 @@ Scattering from cylinders of two different sizes using the Size-Spacing Coupling
 * The interference function is Radial Paracrystal with a peak distance of $18$ nm and a damping length of $1$ $\mu$m.
 * The wavelength is equal to 0.1 nm.
 * The incident angles are $\alpha\_i = 0.2 ^{\circ}$ and $\varphi\_i = 0^{\circ}$.
-* The Size-Spacing Coupling Approximation is implemented using the function setApproximation. By default the Decoupling Approximation is used (see [Size-distribution model: Decoupling Approximation](py/sample/interference/other/approximation-da)).
+* The Size-Spacing Coupling Approximation is implemented using the function setApproximation. By default the Decoupling Approximation is used (see [Size-distribution model: Decoupling Approximation](/ref/sample/interference/other/approximation-da)).
 * For this size-distribution model, an additional dimensionless parameter, the coupling parameter `Kappa`, has to be specified (see line 33). It defines how the distance between particles is linked with their sizes.
 
 {{< galleryscg >}}
diff --git a/hugo/content/py/sample/interference/para2d/index.md b/hugo/content/ref/sample/interference/para2d/index.md
similarity index 100%
rename from hugo/content/py/sample/interference/para2d/index.md
rename to hugo/content/ref/sample/interference/para2d/index.md
diff --git a/hugo/content/py/sample/interference/para2d/interference_para2d.png b/hugo/content/ref/sample/interference/para2d/interference_para2d.png
similarity index 100%
rename from hugo/content/py/sample/interference/para2d/interference_para2d.png
rename to hugo/content/ref/sample/interference/para2d/interference_para2d.png
diff --git a/hugo/content/py/sample/interference/para2d/interference_para2d_pdf_B.png b/hugo/content/ref/sample/interference/para2d/interference_para2d_pdf_B.png
similarity index 100%
rename from hugo/content/py/sample/interference/para2d/interference_para2d_pdf_B.png
rename to hugo/content/ref/sample/interference/para2d/interference_para2d_pdf_B.png
diff --git a/hugo/content/py/sample/interference/para2d/interference_para2d_simple.png b/hugo/content/ref/sample/interference/para2d/interference_para2d_simple.png
similarity index 100%
rename from hugo/content/py/sample/interference/para2d/interference_para2d_simple.png
rename to hugo/content/ref/sample/interference/para2d/interference_para2d_simple.png
diff --git a/hugo/content/py/sample/interference/para_radial/index.md b/hugo/content/ref/sample/interference/para_radial/index.md
similarity index 100%
rename from hugo/content/py/sample/interference/para_radial/index.md
rename to hugo/content/ref/sample/interference/para_radial/index.md
diff --git a/hugo/content/py/sample/interference/para_radial/interference_para1d_b.png b/hugo/content/ref/sample/interference/para_radial/interference_para1d_b.png
similarity index 100%
rename from hugo/content/py/sample/interference/para_radial/interference_para1d_b.png
rename to hugo/content/ref/sample/interference/para_radial/interference_para1d_b.png
diff --git a/hugo/content/py/sample/interference/para_radial/interference_para1d_simple.png b/hugo/content/ref/sample/interference/para_radial/interference_para1d_simple.png
similarity index 100%
rename from hugo/content/py/sample/interference/para_radial/interference_para1d_simple.png
rename to hugo/content/ref/sample/interference/para_radial/interference_para1d_simple.png
diff --git a/hugo/content/py/sample/materials/index.md b/hugo/content/ref/sample/materials/index.md
similarity index 100%
rename from hugo/content/py/sample/materials/index.md
rename to hugo/content/ref/sample/materials/index.md
diff --git a/hugo/content/py/sample/multilayer.md b/hugo/content/ref/sample/multilayer.md
similarity index 100%
rename from hugo/content/py/sample/multilayer.md
rename to hugo/content/ref/sample/multilayer.md
diff --git a/hugo/content/py/sample/particle/_index.md b/hugo/content/ref/sample/particle/_index.md
similarity index 72%
rename from hugo/content/py/sample/particle/_index.md
rename to hugo/content/ref/sample/particle/_index.md
index f3ff419dabf..1d01a7b39fa 100644
--- a/hugo/content/py/sample/particle/_index.md
+++ b/hugo/content/ref/sample/particle/_index.md
@@ -10,4 +10,4 @@ The following pages describe how to specify embedded particles:
 {{% children  %}}
 
 For structures formed by particle assemblies,
-see the section on [interference functions](py/sample/interference).
+see the section on [interference functions](/ref/sample/interference).
diff --git a/hugo/content/py/sample/particle/composition/_index.md b/hugo/content/ref/sample/particle/composition/_index.md
similarity index 100%
rename from hugo/content/py/sample/particle/composition/_index.md
rename to hugo/content/ref/sample/particle/composition/_index.md
diff --git a/hugo/content/py/sample/particle/composition/core-shell/CoreShellNanoparticles_setup.jpg b/hugo/content/ref/sample/particle/composition/core-shell/CoreShellNanoparticles_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/particle/composition/core-shell/CoreShellNanoparticles_setup.jpg
rename to hugo/content/ref/sample/particle/composition/core-shell/CoreShellNanoparticles_setup.jpg
diff --git a/hugo/content/py/sample/particle/composition/core-shell/index.md b/hugo/content/ref/sample/particle/composition/core-shell/index.md
similarity index 100%
rename from hugo/content/py/sample/particle/composition/core-shell/index.md
rename to hugo/content/ref/sample/particle/composition/core-shell/index.md
diff --git a/hugo/content/py/sample/particle/composition/example/index.md b/hugo/content/ref/sample/particle/composition/example/index.md
similarity index 100%
rename from hugo/content/py/sample/particle/composition/example/index.md
rename to hugo/content/ref/sample/particle/composition/example/index.md
diff --git a/hugo/content/py/sample/particle/composition/tutorial-composition-in-the-layer.png b/hugo/content/ref/sample/particle/composition/tutorial-composition-in-the-layer.png
similarity index 100%
rename from hugo/content/py/sample/particle/composition/tutorial-composition-in-the-layer.png
rename to hugo/content/ref/sample/particle/composition/tutorial-composition-in-the-layer.png
diff --git a/hugo/content/py/sample/particle/composition/tutorial_composition_examples.png b/hugo/content/ref/sample/particle/composition/tutorial_composition_examples.png
similarity index 100%
rename from hugo/content/py/sample/particle/composition/tutorial_composition_examples.png
rename to hugo/content/ref/sample/particle/composition/tutorial_composition_examples.png
diff --git a/hugo/content/py/sample/particle/distribution/_index.md b/hugo/content/ref/sample/particle/distribution/_index.md
similarity index 100%
rename from hugo/content/py/sample/particle/distribution/_index.md
rename to hugo/content/ref/sample/particle/distribution/_index.md
diff --git a/hugo/content/py/sample/particle/distribution/adding_irregularities.png b/hugo/content/ref/sample/particle/distribution/adding_irregularities.png
similarity index 100%
rename from hugo/content/py/sample/particle/distribution/adding_irregularities.png
rename to hugo/content/ref/sample/particle/distribution/adding_irregularities.png
diff --git a/hugo/content/py/sample/particle/distribution/cylinder_geometry.png b/hugo/content/ref/sample/particle/distribution/cylinder_geometry.png
similarity index 100%
rename from hugo/content/py/sample/particle/distribution/cylinder_geometry.png
rename to hugo/content/ref/sample/particle/distribution/cylinder_geometry.png
diff --git a/hugo/content/py/sample/particle/distribution/different_distributions.png b/hugo/content/ref/sample/particle/distribution/different_distributions.png
similarity index 100%
rename from hugo/content/py/sample/particle/distribution/different_distributions.png
rename to hugo/content/ref/sample/particle/distribution/different_distributions.png
diff --git a/hugo/content/py/sample/particle/distribution/distribution-ex1/CylindersWithSizeDistribution_setup.jpg b/hugo/content/ref/sample/particle/distribution/distribution-ex1/CylindersWithSizeDistribution_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/particle/distribution/distribution-ex1/CylindersWithSizeDistribution_setup.jpg
rename to hugo/content/ref/sample/particle/distribution/distribution-ex1/CylindersWithSizeDistribution_setup.jpg
diff --git a/hugo/content/py/sample/particle/distribution/distribution-ex1/index.md b/hugo/content/ref/sample/particle/distribution/distribution-ex1/index.md
similarity index 100%
rename from hugo/content/py/sample/particle/distribution/distribution-ex1/index.md
rename to hugo/content/ref/sample/particle/distribution/distribution-ex1/index.md
diff --git a/hugo/content/py/sample/particle/distribution/distribution_from_GUI.png b/hugo/content/ref/sample/particle/distribution/distribution_from_GUI.png
similarity index 100%
rename from hugo/content/py/sample/particle/distribution/distribution_from_GUI.png
rename to hugo/content/ref/sample/particle/distribution/distribution_from_GUI.png
diff --git a/hugo/content/py/sample/particle/ff/_index.md b/hugo/content/ref/sample/particle/ff/_index.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/_index.md
rename to hugo/content/ref/sample/particle/ff/_index.md
diff --git a/hugo/content/py/sample/particle/ff/custom/CustomFormFactor_setup.jpg b/hugo/content/ref/sample/particle/ff/custom/CustomFormFactor_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/custom/CustomFormFactor_setup.jpg
rename to hugo/content/ref/sample/particle/ff/custom/CustomFormFactor_setup.jpg
diff --git a/hugo/content/py/sample/particle/ff/custom/index.md b/hugo/content/ref/sample/particle/ff/custom/index.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/custom/index.md
rename to hugo/content/ref/sample/particle/ff/custom/index.md
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Bipyramid4.png b/hugo/content/ref/sample/particle/ff/hard/3d/Bipyramid4.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Bipyramid4.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Bipyramid4.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Box.png b/hugo/content/ref/sample/particle/ff/hard/3d/Box.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Box.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Box.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Cone.png b/hugo/content/ref/sample/particle/ff/hard/3d/Cone.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Cone.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Cone.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/CosineRipple.png b/hugo/content/ref/sample/particle/ff/hard/3d/CosineRipple.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/CosineRipple.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/CosineRipple.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Cylinder.png b/hugo/content/ref/sample/particle/ff/hard/3d/Cylinder.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Cylinder.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Cylinder.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Dodecahedron.png b/hugo/content/ref/sample/particle/ff/hard/3d/Dodecahedron.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Dodecahedron.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Dodecahedron.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/EllipsoidalCylinder.png b/hugo/content/ref/sample/particle/ff/hard/3d/EllipsoidalCylinder.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/EllipsoidalCylinder.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/EllipsoidalCylinder.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/FullSphere.png b/hugo/content/ref/sample/particle/ff/hard/3d/FullSphere.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/FullSphere.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/FullSphere.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/FullSpheroid.png b/hugo/content/ref/sample/particle/ff/hard/3d/FullSpheroid.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/FullSpheroid.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/FullSpheroid.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/HemiEllipsoid.png b/hugo/content/ref/sample/particle/ff/hard/3d/HemiEllipsoid.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/HemiEllipsoid.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/HemiEllipsoid.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Icosahedron.png b/hugo/content/ref/sample/particle/ff/hard/3d/Icosahedron.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Icosahedron.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Icosahedron.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Prism3.png b/hugo/content/ref/sample/particle/ff/hard/3d/Prism3.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Prism3.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Prism3.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Prism6.png b/hugo/content/ref/sample/particle/ff/hard/3d/Prism6.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Prism6.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Prism6.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Pyramid2.png b/hugo/content/ref/sample/particle/ff/hard/3d/Pyramid2.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Pyramid2.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Pyramid2.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Pyramid3.png b/hugo/content/ref/sample/particle/ff/hard/3d/Pyramid3.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Pyramid3.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Pyramid3.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Pyramid4.png b/hugo/content/ref/sample/particle/ff/hard/3d/Pyramid4.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Pyramid4.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Pyramid4.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Pyramid6.png b/hugo/content/ref/sample/particle/ff/hard/3d/Pyramid6.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Pyramid6.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Pyramid6.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/SawtoothRipple.png b/hugo/content/ref/sample/particle/ff/hard/3d/SawtoothRipple.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/SawtoothRipple.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/SawtoothRipple.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/Sphere.png b/hugo/content/ref/sample/particle/ff/hard/3d/Sphere.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/Sphere.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/Sphere.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/TruncatedCube.png b/hugo/content/ref/sample/particle/ff/hard/3d/TruncatedCube.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/TruncatedCube.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/TruncatedCube.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/TruncatedSphere.png b/hugo/content/ref/sample/particle/ff/hard/3d/TruncatedSphere.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/TruncatedSphere.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/TruncatedSphere.png
diff --git a/hugo/content/py/sample/particle/ff/hard/3d/TruncatedSpheroid.png b/hugo/content/ref/sample/particle/ff/hard/3d/TruncatedSpheroid.png
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/3d/TruncatedSpheroid.png
rename to hugo/content/ref/sample/particle/ff/hard/3d/TruncatedSpheroid.png
diff --git a/hugo/content/py/sample/particle/ff/hard/_index.md b/hugo/content/ref/sample/particle/ff/hard/_index.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/_index.md
rename to hugo/content/ref/sample/particle/ff/hard/_index.md
diff --git a/hugo/content/py/sample/particle/ff/hard/bipyramid4.md b/hugo/content/ref/sample/particle/ff/hard/bipyramid4.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/bipyramid4.md
rename to hugo/content/ref/sample/particle/ff/hard/bipyramid4.md
diff --git a/hugo/content/py/sample/particle/ff/hard/box.md b/hugo/content/ref/sample/particle/ff/hard/box.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/box.md
rename to hugo/content/ref/sample/particle/ff/hard/box.md
diff --git a/hugo/content/py/sample/particle/ff/hard/cantellatedcube.md b/hugo/content/ref/sample/particle/ff/hard/cantellatedcube.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cantellatedcube.md
rename to hugo/content/ref/sample/particle/ff/hard/cantellatedcube.md
diff --git a/hugo/content/py/sample/particle/ff/hard/cone.md b/hugo/content/ref/sample/particle/ff/hard/cone.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cone.md
rename to hugo/content/ref/sample/particle/ff/hard/cone.md
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Bipyramid4_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Bipyramid4_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Bipyramid4_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Bipyramid4_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Bipyramid4_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Bipyramid4_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Bipyramid4_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Bipyramid4_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Bipyramid4_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Bipyramid4_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Bipyramid4_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Bipyramid4_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Bipyramid4_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Bipyramid4_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Bipyramid4_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Bipyramid4_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Box_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Box_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Box_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Box_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Box_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Box_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Box_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Box_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Box_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Box_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Box_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Box_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Box_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Box_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Box_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Box_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/CONVERT b/hugo/content/ref/sample/particle/ff/hard/cut/CONVERT
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/CONVERT
rename to hugo/content/ref/sample/particle/ff/hard/cut/CONVERT
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Cone_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Cone_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Cone_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Cone_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Cone_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Cone_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Cone_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Cone_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Cone_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Cone_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Cone_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Cone_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Cone_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Cone_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Cone_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Cone_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/CoreShellParallPyr_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/CoreShellParallPyr_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/CoreShellParallPyr_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/CoreShellParallPyr_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/CoreShellParallPyr_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/CoreShellParallPyr_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/CoreShellParallPyr_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/CoreShellParallPyr_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/CoreShellParallPyr_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/CoreShellParallPyr_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/CoreShellParallPyr_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/CoreShellParallPyr_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/CoreShellParallPyr_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/CoreShellParallPyr_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/CoreShellParallPyr_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/CoreShellParallPyr_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/CosineRipple_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/CosineRipple_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/CosineRipple_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/CosineRipple_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/CosineRipple_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/CosineRipple_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/CosineRipple_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/CosineRipple_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/CosineRipple_yz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/CosineRipple_yz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/CosineRipple_yz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/CosineRipple_yz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/CosineRipple_yz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/CosineRipple_yz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/CosineRipple_yz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/CosineRipple_yz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Cylinder_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Cylinder_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Cylinder_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Cylinder_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Cylinder_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Cylinder_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Cylinder_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Cylinder_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Cylinder_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Cylinder_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Cylinder_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Cylinder_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Cylinder_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Cylinder_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Cylinder_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Cylinder_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/EllipsoidalCylinder_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/EllipsoidalCylinder_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/EllipsoidalCylinder_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/EllipsoidalCylinder_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/EllipsoidalCylinder_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/EllipsoidalCylinder_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/EllipsoidalCylinder_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/EllipsoidalCylinder_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/EllipsoidalCylinder_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/EllipsoidalCylinder_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/EllipsoidalCylinder_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/EllipsoidalCylinder_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/EllipsoidalCylinder_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/EllipsoidalCylinder_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/EllipsoidalCylinder_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/EllipsoidalCylinder_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/HemiEllipsoid_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/HemiEllipsoid_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/HemiEllipsoid_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/HemiEllipsoid_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/HemiEllipsoid_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/HemiEllipsoid_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/HemiEllipsoid_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/HemiEllipsoid_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/HemiEllipsoid_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/HemiEllipsoid_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/HemiEllipsoid_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/HemiEllipsoid_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/HemiEllipsoid_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/HemiEllipsoid_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/HemiEllipsoid_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/HemiEllipsoid_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Prism3_xy.ps b/hugo/content/ref/sample/particle/ff/hard/cut/Prism3_xy.ps
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Prism3_xy.ps
rename to hugo/content/ref/sample/particle/ff/hard/cut/Prism3_xy.ps
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Prism3_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Prism3_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Prism3_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Prism3_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Prism3_xz.ps b/hugo/content/ref/sample/particle/ff/hard/cut/Prism3_xz.ps
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Prism3_xz.ps
rename to hugo/content/ref/sample/particle/ff/hard/cut/Prism3_xz.ps
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Prism3_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Prism3_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Prism3_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Prism3_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Prism6_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Prism6_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Prism6_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Prism6_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Prism6_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Prism6_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Prism6_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Prism6_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Prism6_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Prism6_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Prism6_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Prism6_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Prism6_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Prism6_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Prism6_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Prism6_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid2_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid2_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid2_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid2_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid2_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid2_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid2_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid2_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid2_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid2_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid2_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid2_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid2_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid2_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid2_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid2_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid3_xy.ps b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid3_xy.ps
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid3_xy.ps
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid3_xy.ps
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid3_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid3_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid3_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid3_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid3_xz.ps b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid3_xz.ps
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid3_xz.ps
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid3_xz.ps
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid3_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid3_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid3_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid3_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid4_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid4_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid4_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid4_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid4_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid4_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid4_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid4_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid4_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid4_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid4_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid4_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid4_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid4_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid4_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid4_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid6_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid6_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid6_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid6_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid6_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid6_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid6_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid6_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid6_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid6_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid6_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid6_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Pyramid6_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Pyramid6_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Pyramid6_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Pyramid6_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/SawtoothRipple_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/SawtoothRipple_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/SawtoothRipple_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/SawtoothRipple_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/SawtoothRipple_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/SawtoothRipple_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/SawtoothRipple_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/SawtoothRipple_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/SawtoothRipple_yz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/SawtoothRipple_yz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/SawtoothRipple_yz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/SawtoothRipple_yz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/SawtoothRipple_yz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/SawtoothRipple_yz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/SawtoothRipple_yz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/SawtoothRipple_yz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Sphere_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Sphere_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Sphere_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Sphere_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Sphere_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Sphere_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Sphere_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Sphere_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Sphere_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Sphere_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Sphere_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Sphere_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Sphere_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Sphere_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Sphere_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Sphere_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Spheroid_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Spheroid_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Spheroid_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Spheroid_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Spheroid_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Spheroid_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Spheroid_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Spheroid_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Spheroid_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/Spheroid_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Spheroid_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/Spheroid_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/Spheroid_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/Spheroid_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/Spheroid_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/Spheroid_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedCube_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedCube_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedCube_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedCube_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedCube_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedCube_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedCube_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedCube_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedCube_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedCube_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedCube_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedCube_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedCube_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedCube_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedCube_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedCube_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedSphere_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSphere_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedSphere_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSphere_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedSphere_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSphere_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedSphere_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSphere_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedSphere_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSphere_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedSphere_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSphere_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedSphere_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSphere_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedSphere_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSphere_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedSpheroid_xy.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSpheroid_xy.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedSpheroid_xy.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSpheroid_xy.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedSpheroid_xy.svg b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSpheroid_xy.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedSpheroid_xy.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSpheroid_xy.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedSpheroid_xz.pdf b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSpheroid_xz.pdf
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedSpheroid_xz.pdf
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSpheroid_xz.pdf
diff --git a/hugo/content/py/sample/particle/ff/hard/cut/TruncatedSpheroid_xz.svg b/hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSpheroid_xz.svg
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cut/TruncatedSpheroid_xz.svg
rename to hugo/content/ref/sample/particle/ff/hard/cut/TruncatedSpheroid_xz.svg
diff --git a/hugo/content/py/sample/particle/ff/hard/cylinder.md b/hugo/content/ref/sample/particle/ff/hard/cylinder.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/cylinder.md
rename to hugo/content/ref/sample/particle/ff/hard/cylinder.md
diff --git a/hugo/content/py/sample/particle/ff/hard/dodecahedron.md b/hugo/content/ref/sample/particle/ff/hard/dodecahedron.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/dodecahedron.md
rename to hugo/content/ref/sample/particle/ff/hard/dodecahedron.md
diff --git a/hugo/content/py/sample/particle/ff/hard/ellipsoidalcylinder.md b/hugo/content/ref/sample/particle/ff/hard/ellipsoidalcylinder.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/ellipsoidalcylinder.md
rename to hugo/content/ref/sample/particle/ff/hard/ellipsoidalcylinder.md
diff --git a/hugo/content/py/sample/particle/ff/hard/hemiellipsoid.md b/hugo/content/ref/sample/particle/ff/hard/hemiellipsoid.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/hemiellipsoid.md
rename to hugo/content/ref/sample/particle/ff/hard/hemiellipsoid.md
diff --git a/hugo/content/py/sample/particle/ff/hard/horizontalcylinder.md b/hugo/content/ref/sample/particle/ff/hard/horizontalcylinder.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/horizontalcylinder.md
rename to hugo/content/ref/sample/particle/ff/hard/horizontalcylinder.md
diff --git a/hugo/content/py/sample/particle/ff/hard/icosahedron.md b/hugo/content/ref/sample/particle/ff/hard/icosahedron.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/icosahedron.md
rename to hugo/content/ref/sample/particle/ff/hard/icosahedron.md
diff --git a/hugo/content/py/sample/particle/ff/hard/platonicoctahedron.md b/hugo/content/ref/sample/particle/ff/hard/platonicoctahedron.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/platonicoctahedron.md
rename to hugo/content/ref/sample/particle/ff/hard/platonicoctahedron.md
diff --git a/hugo/content/py/sample/particle/ff/hard/platonictetrahedron.md b/hugo/content/ref/sample/particle/ff/hard/platonictetrahedron.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/platonictetrahedron.md
rename to hugo/content/ref/sample/particle/ff/hard/platonictetrahedron.md
diff --git a/hugo/content/py/sample/particle/ff/hard/prism3.md b/hugo/content/ref/sample/particle/ff/hard/prism3.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/prism3.md
rename to hugo/content/ref/sample/particle/ff/hard/prism3.md
diff --git a/hugo/content/py/sample/particle/ff/hard/prism6.md b/hugo/content/ref/sample/particle/ff/hard/prism6.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/prism6.md
rename to hugo/content/ref/sample/particle/ff/hard/prism6.md
diff --git a/hugo/content/py/sample/particle/ff/hard/pyramid2.md b/hugo/content/ref/sample/particle/ff/hard/pyramid2.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/pyramid2.md
rename to hugo/content/ref/sample/particle/ff/hard/pyramid2.md
diff --git a/hugo/content/py/sample/particle/ff/hard/pyramid3.md b/hugo/content/ref/sample/particle/ff/hard/pyramid3.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/pyramid3.md
rename to hugo/content/ref/sample/particle/ff/hard/pyramid3.md
diff --git a/hugo/content/py/sample/particle/ff/hard/pyramid4.md b/hugo/content/ref/sample/particle/ff/hard/pyramid4.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/pyramid4.md
rename to hugo/content/ref/sample/particle/ff/hard/pyramid4.md
diff --git a/hugo/content/py/sample/particle/ff/hard/pyramid6.md b/hugo/content/ref/sample/particle/ff/hard/pyramid6.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/pyramid6.md
rename to hugo/content/ref/sample/particle/ff/hard/pyramid6.md
diff --git a/hugo/content/py/sample/particle/ff/hard/sphere.md b/hugo/content/ref/sample/particle/ff/hard/sphere.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/sphere.md
rename to hugo/content/ref/sample/particle/ff/hard/sphere.md
diff --git a/hugo/content/py/sample/particle/ff/hard/spheroid.md b/hugo/content/ref/sample/particle/ff/hard/spheroid.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/spheroid.md
rename to hugo/content/ref/sample/particle/ff/hard/spheroid.md
diff --git a/hugo/content/py/sample/particle/ff/hard/truncatedcube.md b/hugo/content/ref/sample/particle/ff/hard/truncatedcube.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/truncatedcube.md
rename to hugo/content/ref/sample/particle/ff/hard/truncatedcube.md
diff --git a/hugo/content/py/sample/particle/ff/hard/truncatedsphere.md b/hugo/content/ref/sample/particle/ff/hard/truncatedsphere.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/truncatedsphere.md
rename to hugo/content/ref/sample/particle/ff/hard/truncatedsphere.md
diff --git a/hugo/content/py/sample/particle/ff/hard/truncatedspheroid.md b/hugo/content/ref/sample/particle/ff/hard/truncatedspheroid.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/hard/truncatedspheroid.md
rename to hugo/content/ref/sample/particle/ff/hard/truncatedspheroid.md
diff --git a/hugo/content/py/sample/particle/ff/ripples/index.md b/hugo/content/ref/sample/particle/ff/ripples/index.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/ripples/index.md
rename to hugo/content/ref/sample/particle/ff/ripples/index.md
diff --git a/hugo/content/py/sample/particle/ff/soft/_index.md b/hugo/content/ref/sample/particle/ff/soft/_index.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/soft/_index.md
rename to hugo/content/ref/sample/particle/ff/soft/_index.md
diff --git a/hugo/content/py/sample/particle/ff/soft/fuzzysphere.md b/hugo/content/ref/sample/particle/ff/soft/fuzzysphere.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/soft/fuzzysphere.md
rename to hugo/content/ref/sample/particle/ff/soft/fuzzysphere.md
diff --git a/hugo/content/py/sample/particle/ff/soft/gauss.md b/hugo/content/ref/sample/particle/ff/soft/gauss.md
similarity index 100%
rename from hugo/content/py/sample/particle/ff/soft/gauss.md
rename to hugo/content/ref/sample/particle/ff/soft/gauss.md
diff --git a/hugo/content/py/sample/particle/magnetic/_index.md b/hugo/content/ref/sample/particle/magnetic/_index.md
similarity index 100%
rename from hugo/content/py/sample/particle/magnetic/_index.md
rename to hugo/content/ref/sample/particle/magnetic/_index.md
diff --git a/hugo/content/py/sample/particle/positioning/_index.md b/hugo/content/ref/sample/particle/positioning/_index.md
similarity index 100%
rename from hugo/content/py/sample/particle/positioning/_index.md
rename to hugo/content/ref/sample/particle/positioning/_index.md
diff --git a/hugo/content/py/sample/particle/positioning/interface-crossing/index.md b/hugo/content/ref/sample/particle/positioning/interface-crossing/index.md
similarity index 73%
rename from hugo/content/py/sample/particle/positioning/interface-crossing/index.md
rename to hugo/content/ref/sample/particle/positioning/interface-crossing/index.md
index 23ee480aa89..a4570f86769 100644
--- a/hugo/content/py/sample/particle/positioning/interface-crossing/index.md
+++ b/hugo/content/ref/sample/particle/positioning/interface-crossing/index.md
@@ -5,7 +5,7 @@ weight = 10
 
 ### Particles crossing an interface
 
-In this example, very similar to the one on [Cylinders and Prisms](py/sample/interference/incoherent-ex), it is shown how to position particles in order to cross multilayer interfaces: the $z$ position of particles originally located within the air layer must be adjusted slightly downwards in order to cross the air-substrate interface.
+In this example, very similar to the one on [Cylinders and Prisms](/ref/sample/interference/incoherent-ex), it is shown how to position particles in order to cross multilayer interfaces: the $z$ position of particles originally located within the air layer must be adjusted slightly downwards in order to cross the air-substrate interface.
 
 The simulation kernel automatically detects particles crossing interfaces and adjusts the calculations accordingly, causing a drop on speed to complete each simulation.
 
diff --git a/hugo/content/py/sample/particle/positioning/positioning-ex/BuriedParticles_setup.jpg b/hugo/content/ref/sample/particle/positioning/positioning-ex/BuriedParticles_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/particle/positioning/positioning-ex/BuriedParticles_setup.jpg
rename to hugo/content/ref/sample/particle/positioning/positioning-ex/BuriedParticles_setup.jpg
diff --git a/hugo/content/py/sample/particle/positioning/positioning-ex/index.md b/hugo/content/ref/sample/particle/positioning/positioning-ex/index.md
similarity index 100%
rename from hugo/content/py/sample/particle/positioning/positioning-ex/index.md
rename to hugo/content/ref/sample/particle/positioning/positioning-ex/index.md
diff --git a/hugo/content/py/sample/particle/positioning/tutorial_positioning_fullsphere.png b/hugo/content/ref/sample/particle/positioning/tutorial_positioning_fullsphere.png
similarity index 100%
rename from hugo/content/py/sample/particle/positioning/tutorial_positioning_fullsphere.png
rename to hugo/content/ref/sample/particle/positioning/tutorial_positioning_fullsphere.png
diff --git a/hugo/content/py/sample/particle/positioning/tutorial_positioning_in_the_layer2.png b/hugo/content/ref/sample/particle/positioning/tutorial_positioning_in_the_layer2.png
similarity index 100%
rename from hugo/content/py/sample/particle/positioning/tutorial_positioning_in_the_layer2.png
rename to hugo/content/ref/sample/particle/positioning/tutorial_positioning_in_the_layer2.png
diff --git a/hugo/content/py/sample/particle/rotation/_index.md b/hugo/content/ref/sample/particle/rotation/_index.md
similarity index 100%
rename from hugo/content/py/sample/particle/rotation/_index.md
rename to hugo/content/ref/sample/particle/rotation/_index.md
diff --git a/hugo/content/py/sample/particle/rotation/rotation-ex/RotatedPyramids_setup.jpg b/hugo/content/ref/sample/particle/rotation/rotation-ex/RotatedPyramids_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/particle/rotation/rotation-ex/RotatedPyramids_setup.jpg
rename to hugo/content/ref/sample/particle/rotation/rotation-ex/RotatedPyramids_setup.jpg
diff --git a/hugo/content/py/sample/particle/rotation/rotation-ex/index.md b/hugo/content/ref/sample/particle/rotation/rotation-ex/index.md
similarity index 100%
rename from hugo/content/py/sample/particle/rotation/rotation-ex/index.md
rename to hugo/content/ref/sample/particle/rotation/rotation-ex/index.md
diff --git a/hugo/content/py/sample/particle/rotation/tutorial_rotations_box_crossing.png b/hugo/content/ref/sample/particle/rotation/tutorial_rotations_box_crossing.png
similarity index 100%
rename from hugo/content/py/sample/particle/rotation/tutorial_rotations_box_crossing.png
rename to hugo/content/ref/sample/particle/rotation/tutorial_rotations_box_crossing.png
diff --git a/hugo/content/py/sample/particle/rotation/tutorial_rotations_box_refframe.png b/hugo/content/ref/sample/particle/rotation/tutorial_rotations_box_refframe.png
similarity index 100%
rename from hugo/content/py/sample/particle/rotation/tutorial_rotations_box_refframe.png
rename to hugo/content/ref/sample/particle/rotation/tutorial_rotations_box_refframe.png
diff --git a/hugo/content/py/sample/particle/rotation/tutorial_rotations_box_xyz.png b/hugo/content/ref/sample/particle/rotation/tutorial_rotations_box_xyz.png
similarity index 100%
rename from hugo/content/py/sample/particle/rotation/tutorial_rotations_box_xyz.png
rename to hugo/content/ref/sample/particle/rotation/tutorial_rotations_box_xyz.png
diff --git a/hugo/content/py/sample/roughness/CorrelatedRoughness_setup.jpg b/hugo/content/ref/sample/roughness/CorrelatedRoughness_setup.jpg
similarity index 100%
rename from hugo/content/py/sample/roughness/CorrelatedRoughness_setup.jpg
rename to hugo/content/ref/sample/roughness/CorrelatedRoughness_setup.jpg
diff --git a/hugo/content/py/sample/roughness/_index.md b/hugo/content/ref/sample/roughness/_index.md
similarity index 100%
rename from hugo/content/py/sample/roughness/_index.md
rename to hugo/content/ref/sample/roughness/_index.md
diff --git a/hugo/content/py/sample/roughness/profiles/index.md b/hugo/content/ref/sample/roughness/profiles/index.md
similarity index 88%
rename from hugo/content/py/sample/roughness/profiles/index.md
rename to hugo/content/ref/sample/roughness/profiles/index.md
index a7bd6d10222..c61cd31b591 100644
--- a/hugo/content/py/sample/roughness/profiles/index.md
+++ b/hugo/content/ref/sample/roughness/profiles/index.md
@@ -8,8 +8,8 @@ weight = 15
 This example demonstrates how to apply different roughness models
 in a specular reflectivity calculation. The considered sample is
 exactly the same as the one described in the
-[reflectometry tutorial](py/sim/class/specular/_index.md),
-and the [basic roughness tutorial](py/sample/roughness/specular).
+[reflectometry tutorial](/ref/sim/class/specular/_index.md),
+and the [basic roughness tutorial](/ref/sample/roughness/specular).
 Hewever, now the computation is performed twice with the standard $tanh$ interface profile
 and the Névot-Croce roughness model that arises from a Gaussian distribution of the
 deviation from the mean-surface position.
diff --git a/hugo/content/py/sample/roughness/scattering/index.md b/hugo/content/ref/sample/roughness/scattering/index.md
similarity index 100%
rename from hugo/content/py/sample/roughness/scattering/index.md
rename to hugo/content/ref/sample/roughness/scattering/index.md
diff --git a/hugo/content/py/sample/roughness/specular/SpecularSimulationWithRoughnessSetup.jpg b/hugo/content/ref/sample/roughness/specular/SpecularSimulationWithRoughnessSetup.jpg
similarity index 100%
rename from hugo/content/py/sample/roughness/specular/SpecularSimulationWithRoughnessSetup.jpg
rename to hugo/content/ref/sample/roughness/specular/SpecularSimulationWithRoughnessSetup.jpg
diff --git a/hugo/content/py/sample/roughness/specular/index.md b/hugo/content/ref/sample/roughness/specular/index.md
similarity index 86%
rename from hugo/content/py/sample/roughness/specular/index.md
rename to hugo/content/ref/sample/roughness/specular/index.md
index 3637d09a122..fe2c811b5d7 100644
--- a/hugo/content/py/sample/roughness/specular/index.md
+++ b/hugo/content/ref/sample/roughness/specular/index.md
@@ -8,7 +8,7 @@ weight = 10
 This example demonstrates how to compute reflected signal from
 a multilayered sample with surface roughness. All the experiment
 layout is exactly the same as the one described in
-[reflectometry tutorial](py/sim/class/specular/_index.md),
+[reflectometry tutorial](/ref/sim/class/specular/_index.md),
 but now all the layers (except the ambient media) have roughness on the top surface. The
 roughness is characterized by root-mean-square deviation from the mean surface position
 $\sigma = 1$ nm.
@@ -19,13 +19,13 @@ $\sigma = 1$ nm.
 {{< /galleryscg >}}
 
 When comparing the result of the simulation to the result obtained in the
-[reflectometry tutorial](py/sim/class/specular/_index.md),
+[reflectometry tutorial](/ref/sim/class/specular/_index.md),
 one can notice up to two orders of magnitude attenuation of the reflected signal due to
 the roughness of the sample.
 
 {{< notice note >}}
 Please note that other roughness characteristics (like Hurst parameter or lateral and cross correlation lengths)
-previously described in [example on correlated roughness](py/sample/roughness)
+previously described in [example on correlated roughness](/ref/sample/roughness)
 do not affect the result of the simulation. The computation model takes into account only the
 rms-deviation from the mean surface position.
 {{< /notice >}}
diff --git a/hugo/content/py/sim/_index.md b/hugo/content/ref/sim/_index.md
similarity index 94%
rename from hugo/content/py/sim/_index.md
rename to hugo/content/ref/sim/_index.md
index 1fbcc7e8900..28b22f3a0d7 100644
--- a/hugo/content/py/sim/_index.md
+++ b/hugo/content/ref/sim/_index.md
@@ -30,4 +30,4 @@ Setters:
 
 Getter:
 * [simulate](simulate) - runs simulation and returns
-  [SimulationResult](py/result/simulation-result)
+  [SimulationResult](/ref/sim/simulation-result)
diff --git a/hugo/content/py/sim/class/_index.md b/hugo/content/ref/sim/class/_index.md
similarity index 100%
rename from hugo/content/py/sim/class/_index.md
rename to hugo/content/ref/sim/class/_index.md
diff --git a/hugo/content/py/sim/class/depthprobe/DepthProbeSample.odg b/hugo/content/ref/sim/class/depthprobe/DepthProbeSample.odg
similarity index 100%
rename from hugo/content/py/sim/class/depthprobe/DepthProbeSample.odg
rename to hugo/content/ref/sim/class/depthprobe/DepthProbeSample.odg
diff --git a/hugo/content/py/sim/class/depthprobe/DepthProbeSample.png b/hugo/content/ref/sim/class/depthprobe/DepthProbeSample.png
similarity index 100%
rename from hugo/content/py/sim/class/depthprobe/DepthProbeSample.png
rename to hugo/content/ref/sim/class/depthprobe/DepthProbeSample.png
diff --git a/hugo/content/py/sim/class/depthprobe/index.md b/hugo/content/ref/sim/class/depthprobe/index.md
similarity index 83%
rename from hugo/content/py/sim/class/depthprobe/index.md
rename to hugo/content/ref/sim/class/depthprobe/index.md
index 5d9516e8f93..9845b27c845 100644
--- a/hugo/content/py/sim/class/depthprobe/index.md
+++ b/hugo/content/ref/sim/class/depthprobe/index.md
@@ -20,13 +20,13 @@ simulation = ba.DepthprobeSimulation(scan, sample, z_axis)
 result = simulation.simulate()
 ```
 
-For the constructor arguments, see sections [scan](py/instr/scan),
-[sample](py/sample).
+For the constructor arguments, see sections [scan](/ref/instr/scan),
+[sample](/ref/sample).
 
-For optional settings, see [simulation options](py/sim/setup/options).
+For optional settings, see [simulation options](/ref/sim/setup/options).
 
 For the return type of function `simulate()`,
-see [SimulationResult](py/result/simulation-result).
+see [SimulationResult](/ref/sim/simulation-result).
 
 ### Example
 
diff --git a/hugo/content/py/sim/class/offspec/OffSpecularSimulation_setup.jpg b/hugo/content/ref/sim/class/offspec/OffSpecularSimulation_setup.jpg
similarity index 100%
rename from hugo/content/py/sim/class/offspec/OffSpecularSimulation_setup.jpg
rename to hugo/content/ref/sim/class/offspec/OffSpecularSimulation_setup.jpg
diff --git a/hugo/content/py/sim/class/offspec/index.md b/hugo/content/ref/sim/class/offspec/index.md
similarity index 85%
rename from hugo/content/py/sim/class/offspec/index.md
rename to hugo/content/ref/sim/class/offspec/index.md
index 44b0089d7e6..748a083f5ed 100644
--- a/hugo/content/py/sim/class/offspec/index.md
+++ b/hugo/content/ref/sim/class/offspec/index.md
@@ -16,13 +16,13 @@ simulation = ba.OffspecSimulation(scan, sample, detector)
 result = simulation.simulate()
 ```
 
-For the constructor arguments, see sections [scan](py/instr/scan),
-[sample](py/sample), and [OffspecDetector](py/instr/det/offspec).
+For the constructor arguments, see sections [scan](/ref/instr/scan),
+[sample](/ref/sample), and [OffspecDetector](/ref/instr/det/offspec).
 
-For optional settings, see [simulation options](py/sim/setup/options).
+For optional settings, see [simulation options](/ref/sim/setup/options).
 
 For the return type of function `simulate()`,
-see [SimulationResult](py/result/simulation-result).
+see [SimulationResult](/ref/sim/simulation-result).
 
 #### Example
 
diff --git a/hugo/content/py/sim/class/scattering/index.md b/hugo/content/ref/sim/class/scattering/index.md
similarity index 80%
rename from hugo/content/py/sim/class/scattering/index.md
rename to hugo/content/ref/sim/class/scattering/index.md
index d0646491065..dcb07ef3d0d 100644
--- a/hugo/content/py/sim/class/scattering/index.md
+++ b/hugo/content/ref/sim/class/scattering/index.md
@@ -16,13 +16,13 @@ simulation = ba.ScatteringSimulation(beam, sample, detector)
 result = simulation.simulate()
 ```
 
-For the constructor arguments, see sections [beam](py/instr/beam)
-[sample](py/sample), and [detector](/py/instr/det).
+For the constructor arguments, see sections [beam](/ref/instr/beam)
+[sample](/ref/sample), and [detector](/py/instr/det).
 
-For optional settings, see [simulation options](py/sim/setup/options).
+For optional settings, see [simulation options](/ref/sim/setup/options).
 
 For the return type of function `simulate()`,
-see [SimulationResult](py/result/simulation-result).
+see [SimulationResult](/ref/sim/simulation-result).
 
 ### SAS vs GISAS
 
diff --git a/hugo/content/py/sim/class/specular/index.md b/hugo/content/ref/sim/class/specular/index.md
similarity index 62%
rename from hugo/content/py/sim/class/specular/index.md
rename to hugo/content/ref/sim/class/specular/index.md
index 18015eac55e..18de23f21e6 100644
--- a/hugo/content/py/sim/class/specular/index.md
+++ b/hugo/content/ref/sim/class/specular/index.md
@@ -15,13 +15,13 @@ simulation = ba.SpecularSimulation(scan, sample)
 result = simulation.simulate()
 ```
 
-For the constructor arguments, see sections [scan](py/instr/scan)
-and [sample](py/sample).
+For the constructor arguments, see sections [scan](/ref/instr/scan)
+and [sample](/ref/sample).
 
-For optional settings, see [simulation options](py/sim/setup/options).
+For optional settings, see [simulation options](/ref/sim/setup/options).
 
 For the return type of function `simulate()`,
-see [SimulationResult](py/result/simulation-result).
+see [SimulationResult](/ref/sim/simulation-result).
 
 
 ### Example
@@ -30,8 +30,8 @@ As introductory example, we simulate specular reflectometry
 by a sample that consists of 10 Ti/Ni double layers on a Si substrate.
 
 The same script has been used in preceding pages
-to explain [usage](py/start/run.md)
-and [syntax](py/start/syntax.md)
+to explain [usage](/py/start/run.md)
+and [syntax](/py/start/syntax.md)
 of BornAgain Python code.
 
 {{< figscg src="/img/auto/specular/AlternatingLayers1.png" width="500" class="center">}}
@@ -49,7 +49,7 @@ so that the above script can be shortened as
 
 ### Further reading
 
-* [specular signal from a rough sample](py/sample/roughness/specular/index.md)
-* [beam footprint correction](py/instr/beam/footprint/index.md)
-* [beam divergence in specular simulations](py/instr/beam/full-divergence/index.md)
-* [fitting reflectometry data](py/fitting/extended/fit-specular-data/index.md)
+* [specular signal from a rough sample](/ref/sample/roughness/specular/index.md)
+* [beam footprint correction](/ref/instr/beam/footprint/index.md)
+* [beam divergence in specular simulations](/ref/instr/beam/full-divergence/index.md)
+* [fitting reflectometry data](/py/fitting/extended/fit-specular-data/index.md)
diff --git a/hugo/content/py/sim/setup/_index.md b/hugo/content/ref/sim/setup/_index.md
similarity index 100%
rename from hugo/content/py/sim/setup/_index.md
rename to hugo/content/ref/sim/setup/_index.md
diff --git a/hugo/content/py/sim/setup/bg/index.md b/hugo/content/ref/sim/setup/bg/index.md
similarity index 100%
rename from hugo/content/py/sim/setup/bg/index.md
rename to hugo/content/ref/sim/setup/bg/index.md
diff --git a/hugo/content/py/sim/setup/options/_index.md b/hugo/content/ref/sim/setup/options/_index.md
similarity index 100%
rename from hugo/content/py/sim/setup/options/_index.md
rename to hugo/content/ref/sim/setup/options/_index.md
diff --git a/hugo/content/py/sim/setup/options/avgmat.md b/hugo/content/ref/sim/setup/options/avgmat.md
similarity index 100%
rename from hugo/content/py/sim/setup/options/avgmat.md
rename to hugo/content/ref/sim/setup/options/avgmat.md
diff --git a/hugo/content/py/sim/setup/options/mc/LargeParticlesFormFactor_setup.jpg b/hugo/content/ref/sim/setup/options/mc/LargeParticlesFormFactor_setup.jpg
similarity index 100%
rename from hugo/content/py/sim/setup/options/mc/LargeParticlesFormFactor_setup.jpg
rename to hugo/content/ref/sim/setup/options/mc/LargeParticlesFormFactor_setup.jpg
diff --git a/hugo/content/py/sim/setup/options/mc/index.md b/hugo/content/ref/sim/setup/options/mc/index.md
similarity index 100%
rename from hugo/content/py/sim/setup/options/mc/index.md
rename to hugo/content/ref/sim/setup/options/mc/index.md
diff --git a/hugo/content/py/sim/setup/options/specular.md b/hugo/content/ref/sim/setup/options/specular.md
similarity index 100%
rename from hugo/content/py/sim/setup/options/specular.md
rename to hugo/content/ref/sim/setup/options/specular.md
diff --git a/hugo/content/py/sim/setup/options/threads.md b/hugo/content/ref/sim/setup/options/threads.md
similarity index 100%
rename from hugo/content/py/sim/setup/options/threads.md
rename to hugo/content/ref/sim/setup/options/threads.md
diff --git a/hugo/content/py/sim/setup/progress.md b/hugo/content/ref/sim/setup/progress.md
similarity index 100%
rename from hugo/content/py/sim/setup/progress.md
rename to hugo/content/ref/sim/setup/progress.md
diff --git a/hugo/content/py/result/simulation-result/index.md b/hugo/content/ref/sim/simulation-result/index.md
similarity index 99%
rename from hugo/content/py/result/simulation-result/index.md
rename to hugo/content/ref/sim/simulation-result/index.md
index 970f51f95b6..e39b60bdf68 100644
--- a/hugo/content/py/result/simulation-result/index.md
+++ b/hugo/content/ref/sim/simulation-result/index.md
@@ -1,6 +1,6 @@
 +++
 title = "Class SimulationResult"
-weight = 10
+weight = 80
 +++
 
 ## Class SimulationResult
-- 
GitLab