Unify documentation for webpage build
authorMark Abraham <mark.j.abraham@gmail.com>
Mon, 7 Jul 2014 07:43:13 +0000 (09:43 +0200)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Sat, 23 Aug 2014 14:05:57 +0000 (16:05 +0200)
The new webpage build can be run either from a code repo (for
development), or from the unpacked source tarball (for actual
deployment). The latter is useful to ensure the documentation reflects
the tarball, and because the tarballs and their md5sum values must be
available for building the webpage. A Jenkins flow job can build the
tarballs and then construct the webpage for automated delivery. The
machinery is active only if GMX_BUILD_WEBPAGE is set (and other pieces
in place), so will be transparent to normal users.

Created configurable top-level index.md inside the new docs top-level
directory. Various components have moved into this directory, but each
can still be built independently.

Imported some basic (but pandoc-specific) CSS from
https://gist.github.com/ryangray/1882525

Made a new top-level index.md, and made it build HTML with Pandoc and
use the CSS. Later, we can consider making the whole static site build
work with some generator, e.g. to make links automatically.

Established CMake variables for configuring the webpage build with
the names of tarballs and their md5sum values. Builds from the repo
don't include this part of the webpage.

Moved the install guide into the new docs directory. Minor fixes to
header levels. Generated PDF install guide also. Used
PANDOC_EXECUTABLE instead of hard-coded "pandoc."  Made it use the
CSS.

Moved reference manual build into the new docs directory, and linked
its default setting to GMX_BUILD_WEBPAGE.

Moved old html guide content into the new docs directory. This still
installs in the old way. Fixed broken links for xpm2ps and grompp.
Added rudimentary hdb.html to fix missing link target. Removed text
that linked to ancient material that no longer semes to exist.

Moved doxygen generation into the new docs directory. The useful
output now goes directly to build/docs/html, and logs to
build/docs/doxygen.

Bumped copyright years to keep uncrustify script happy.

Bumped top-level CMakeLists.txt and CPackInit.cmake to check for the
new correct paths when building tarballs.

Added config file for linkchecker to help automate checking
the links all work.

Refs #1242

Change-Id: I8e5cf98b2997b76f56b24f45262c9c9eebf9900e

280 files changed:
.gitattributes
CMakeLists.txt
CPackInit.cmake
docs/CMakeLists.txt [new file with mode: 0644]
docs/buttondown.css [new file with mode: 0644]
docs/configure-html.cmake.in [new file with mode: 0644]
docs/doxygen/.gitignore [moved from doxygen/.gitignore with 100% similarity]
docs/doxygen/CMakeLists.txt [moved from doxygen/CMakeLists.txt with 99% similarity]
docs/doxygen/Doxyfile-common.cmakein [moved from doxygen/Doxyfile-common.cmakein with 96% similarity]
docs/doxygen/Doxyfile-compact [moved from doxygen/Doxyfile-compact with 100% similarity]
docs/doxygen/Doxyfile-full.cmakein [moved from doxygen/Doxyfile-full.cmakein with 100% similarity]
docs/doxygen/Doxyfile-lib.cmakein [moved from doxygen/Doxyfile-lib.cmakein with 100% similarity]
docs/doxygen/Doxyfile-user.cmakein [moved from doxygen/Doxyfile-user.cmakein with 65% similarity]
docs/doxygen/Doxyfile-version.cmakein [moved from doxygen/Doxyfile-version.cmakein with 100% similarity]
docs/doxygen/Doxyfile-xml.cmakein [moved from doxygen/Doxyfile-xml.cmakein with 100% similarity]
docs/doxygen/DoxygenLayout.xml [moved from doxygen/DoxygenLayout.xml with 100% similarity]
docs/doxygen/RunDoxygen.cmake.cmakein [moved from doxygen/RunDoxygen.cmake.cmakein with 97% similarity]
docs/doxygen/analysisdata.md [moved from doxygen/analysisdata.md with 100% similarity]
docs/doxygen/analysisframework.md [moved from doxygen/analysisframework.md with 100% similarity]
docs/doxygen/analysistemplate.md [moved from doxygen/analysistemplate.md with 100% similarity]
docs/doxygen/codelayout.md [moved from doxygen/codelayout.md with 100% similarity]
docs/doxygen/directories.cpp [moved from doxygen/directories.cpp with 100% similarity]
docs/doxygen/doxygen-check.py [moved from doxygen/doxygen-check.py with 100% similarity]
docs/doxygen/doxygen.md [moved from doxygen/doxygen.md with 97% similarity]
docs/doxygen/doxygenxml.py [moved from doxygen/doxygenxml.py with 100% similarity]
docs/doxygen/examples/doxygen-example-issues.cpp [moved from doxygen/examples/doxygen-example-issues.cpp with 100% similarity]
docs/doxygen/examples/doxygen-example-module.cpp [moved from doxygen/examples/doxygen-example-module.cpp with 100% similarity]
docs/doxygen/examples/doxygen-example-scoping.cpp [moved from doxygen/examples/doxygen-example-scoping.cpp with 100% similarity]
docs/doxygen/examples/doxygen-example.c [moved from doxygen/examples/doxygen-example.c with 100% similarity]
docs/doxygen/examples/doxygen-example.cpp [moved from doxygen/examples/doxygen-example.cpp with 100% similarity]
docs/doxygen/generateGraphs.cmake [moved from doxygen/generateGraphs.cmake with 100% similarity]
docs/doxygen/getInstalledHeaders.cmake [moved from doxygen/getInstalledHeaders.cmake with 100% similarity]
docs/doxygen/gmxtree.py [moved from doxygen/gmxtree.py with 99% similarity]
docs/doxygen/graphbuilder.py [moved from doxygen/graphbuilder.py with 100% similarity]
docs/doxygen/mainpage.md [moved from doxygen/mainpage.md with 100% similarity]
docs/doxygen/misc.cpp [moved from doxygen/misc.cpp with 100% similarity]
docs/doxygen/reporter.py [moved from doxygen/reporter.py with 100% similarity]
docs/doxygen/selections.md [moved from doxygen/selections.md with 100% similarity]
docs/doxygen/simd.md [moved from doxygen/simd.md with 100% similarity]
docs/doxygen/suppressions.txt [moved from doxygen/suppressions.txt with 100% similarity]
docs/doxygen/unittesting.md [moved from doxygen/unittesting.md with 100% similarity]
docs/doxygen/usinglibrary.md [moved from doxygen/usinglibrary.md with 100% similarity]
docs/doxygen/wrapperbinary.md [moved from doxygen/wrapperbinary.md with 100% similarity]
docs/index.md [new file with mode: 0644]
docs/install-guide/CMakeLists.txt [moved from install-guide/CMakeLists.txt with 59% similarity]
docs/install-guide/configure-install-guide.cmake.in [moved from install-guide/configure-install-guide.cmake.in with 100% similarity]
docs/install-guide/install-guide.md [moved from install-guide/install-guide.md with 99% similarity]
docs/linkcheckerrc [new file with mode: 0644]
docs/man/.gitignore [moved from share/man/.gitignore with 100% similarity]
docs/man/CMakeLists.txt [moved from share/man/CMakeLists.txt with 97% similarity]
docs/man/man7/gromacs.7.in [moved from share/man/man7/gromacs.7.in with 100% similarity]
docs/manual/CMakeLists.txt [moved from manual/CMakeLists.txt with 94% similarity]
docs/manual/README [moved from manual/README with 100% similarity]
docs/manual/UseLATEX.cmake [moved from manual/UseLATEX.cmake with 100% similarity]
docs/manual/algorithms.tex [moved from manual/algorithms.tex with 100% similarity]
docs/manual/analyse.tex [moved from manual/analyse.tex with 100% similarity]
docs/manual/averages.tex [moved from manual/averages.tex with 99% similarity]
docs/manual/defunits.tex [moved from manual/defunits.tex with 99% similarity]
docs/manual/fancy.sty [moved from manual/fancy.sty with 100% similarity]
docs/manual/files.tex [moved from manual/files.tex with 100% similarity]
docs/manual/forcefield.tex [moved from manual/forcefield.tex with 100% similarity]
docs/manual/gmxmanual.cls [moved from manual/gmxmanual.cls with 100% similarity]
docs/manual/gromacs.tex [moved from manual/gromacs.tex with 99% similarity]
docs/manual/here.sty [moved from manual/here.sty with 100% similarity]
docs/manual/hfill.ist [moved from manual/hfill.ist with 100% similarity]
docs/manual/implement.tex [moved from manual/implement.tex with 100% similarity]
docs/manual/index.gmx [moved from manual/index.gmx with 100% similarity]
docs/manual/install.tex [moved from manual/install.tex with 100% similarity]
docs/manual/intro.tex [moved from manual/intro.tex with 99% similarity]
docs/manual/macros.tex [moved from manual/macros.tex with 98% similarity]
docs/manual/mkmdp [moved from manual/mkmdp with 100% similarity]
docs/manual/monster.bib [moved from manual/monster.bib with 100% similarity]
docs/manual/picins.sty [moved from manual/picins.sty with 100% similarity]
docs/manual/plots/adress.png [moved from manual/plots/adress.png with 100% similarity]
docs/manual/plots/angle.eps [moved from manual/plots/angle.eps with 100% similarity]
docs/manual/plots/angle.fig [moved from manual/plots/angle.fig with 100% similarity]
docs/manual/plots/bstretch.eps [moved from manual/plots/bstretch.eps with 100% similarity]
docs/manual/plots/bstretch.fig [moved from manual/plots/bstretch.fig with 100% similarity]
docs/manual/plots/chain.eps [moved from manual/plots/chain.eps with 100% similarity]
docs/manual/plots/chain.fig [moved from manual/plots/chain.fig with 100% similarity]
docs/manual/plots/compelsetup.pdf [moved from manual/plots/compelsetup.pdf with 100% similarity]
docs/manual/plots/dd-cells.eps [moved from manual/plots/dd-cells.eps with 100% similarity]
docs/manual/plots/dd-cells.fig [moved from manual/plots/dd-cells.fig with 100% similarity]
docs/manual/plots/dd-tric.eps [moved from manual/plots/dd-tric.eps with 100% similarity]
docs/manual/plots/dd-tric.fig [moved from manual/plots/dd-tric.fig with 100% similarity]
docs/manual/plots/decomp.eps [moved from manual/plots/decomp.eps with 100% similarity]
docs/manual/plots/decomp.fig [moved from manual/plots/decomp.fig with 100% similarity]
docs/manual/plots/dih-def.eps [moved from manual/plots/dih-def.eps with 100% similarity]
docs/manual/plots/dih-def.fig [moved from manual/plots/dih-def.fig with 100% similarity]
docs/manual/plots/dih.eps [moved from manual/plots/dih.eps with 100% similarity]
docs/manual/plots/dih.fig [moved from manual/plots/dih.fig with 100% similarity]
docs/manual/plots/distm.eps [moved from manual/plots/distm.eps with 100% similarity]
docs/manual/plots/drift-all.eps [moved from manual/plots/drift-all.eps with 100% similarity]
docs/manual/plots/drift-all.xvg [moved from manual/plots/drift-all.xvg with 100% similarity]
docs/manual/plots/dssp.eps [moved from manual/plots/dssp.eps with 100% similarity]
docs/manual/plots/dumaro.eps [moved from manual/plots/dumaro.eps with 100% similarity]
docs/manual/plots/dumaro.fig [moved from manual/plots/dumaro.fig with 100% similarity]
docs/manual/plots/dummies.eps [moved from manual/plots/dummies.eps with 100% similarity]
docs/manual/plots/dummies.fig [moved from manual/plots/dummies.fig with 100% similarity]
docs/manual/plots/dumtypes.eps [moved from manual/plots/dumtypes.eps with 100% similarity]
docs/manual/plots/dumtypes.fig [moved from manual/plots/dumtypes.fig with 100% similarity]
docs/manual/plots/equipotential.pdf [moved from manual/plots/equipotential.pdf with 100% similarity]
docs/manual/plots/f-angle.eps [moved from manual/plots/f-angle.eps with 100% similarity]
docs/manual/plots/f-angle.xvg [moved from manual/plots/f-angle.xvg with 100% similarity]
docs/manual/plots/f-bham.eps [moved from manual/plots/f-bham.eps with 100% similarity]
docs/manual/plots/f-bham.xvg [moved from manual/plots/f-bham.xvg with 100% similarity]
docs/manual/plots/f-bond.eps [moved from manual/plots/f-bond.eps with 100% similarity]
docs/manual/plots/f-bond.xvg [moved from manual/plots/f-bond.xvg with 100% similarity]
docs/manual/plots/f-dih.eps [moved from manual/plots/f-dih.eps with 100% similarity]
docs/manual/plots/f-dih.xvg [moved from manual/plots/f-dih.xvg with 100% similarity]
docs/manual/plots/f-dr.eps [moved from manual/plots/f-dr.eps with 100% similarity]
docs/manual/plots/f-dr.xvg [moved from manual/plots/f-dr.xvg with 100% similarity]
docs/manual/plots/f-imps.eps [moved from manual/plots/f-imps.eps with 100% similarity]
docs/manual/plots/f-imps.xvg [moved from manual/plots/f-imps.xvg with 100% similarity]
docs/manual/plots/f-lj.eps [moved from manual/plots/f-lj.eps with 100% similarity]
docs/manual/plots/f-lj.xvg [moved from manual/plots/f-lj.xvg with 100% similarity]
docs/manual/plots/f-morse.eps [moved from manual/plots/f-morse.eps with 100% similarity]
docs/manual/plots/f-morse.xvg [moved from manual/plots/f-morse.xvg with 100% similarity]
docs/manual/plots/f-pr.eps [moved from manual/plots/f-pr.eps with 100% similarity]
docs/manual/plots/f-pr.xvg [moved from manual/plots/f-pr.xvg with 100% similarity]
docs/manual/plots/f-rbs.eps [moved from manual/plots/f-rbs.eps with 100% similarity]
docs/manual/plots/f-rbs.xvg [moved from manual/plots/f-rbs.xvg with 100% similarity]
docs/manual/plots/fbposres.eps [moved from manual/plots/fbposres.eps with 100% similarity]
docs/manual/plots/fbposres.xvg [moved from manual/plots/fbposres.xvg with 100% similarity]
docs/manual/plots/fig-02.eps [moved from manual/plots/fig-02.eps with 100% similarity]
docs/manual/plots/fig-04.eps [moved from manual/plots/fig-04.eps with 100% similarity]
docs/manual/plots/flowchart.eps [moved from manual/plots/flowchart.eps with 100% similarity]
docs/manual/plots/fp-highres.eps [moved from manual/plots/fp-highres.eps with 100% similarity]
docs/manual/plots/fp-highres.jpg [moved from manual/plots/fp-highres.jpg with 100% similarity]
docs/manual/plots/free1.eps [moved from manual/plots/free1.eps with 100% similarity]
docs/manual/plots/free1.fig [moved from manual/plots/free1.fig with 100% similarity]
docs/manual/plots/free2.eps [moved from manual/plots/free2.eps with 100% similarity]
docs/manual/plots/free2.fig [moved from manual/plots/free2.fig with 100% similarity]
docs/manual/plots/gaussians.pdf [moved from manual/plots/gaussians.pdf with 100% similarity]
docs/manual/plots/hbond-insert.eps [moved from manual/plots/hbond-insert.eps with 100% similarity]
docs/manual/plots/hbond-insert.fig [moved from manual/plots/hbond-insert.fig with 100% similarity]
docs/manual/plots/hbond.eps [moved from manual/plots/hbond.eps with 100% similarity]
docs/manual/plots/hbond.fig [moved from manual/plots/hbond.fig with 100% similarity]
docs/manual/plots/hpr-wheel.eps [moved from manual/plots/hpr-wheel.eps with 100% similarity]
docs/manual/plots/int-mat.eps [moved from manual/plots/int-mat.eps with 100% similarity]
docs/manual/plots/leapfrog.eps [moved from manual/plots/leapfrog.eps with 100% similarity]
docs/manual/plots/lincs.eps [moved from manual/plots/lincs.eps with 100% similarity]
docs/manual/plots/maxwell.eps [moved from manual/plots/maxwell.eps with 100% similarity]
docs/manual/plots/maxwell.xvg [moved from manual/plots/maxwell.xvg with 100% similarity]
docs/manual/plots/mdpar.eps [moved from manual/plots/mdpar.eps with 100% similarity]
docs/manual/plots/mpmd-pme.eps [moved from manual/plots/mpmd-pme.eps with 100% similarity]
docs/manual/plots/mpmd-pme.fig [moved from manual/plots/mpmd-pme.fig with 100% similarity]
docs/manual/plots/msdwater.eps [moved from manual/plots/msdwater.eps with 100% similarity]
docs/manual/plots/msdwater.xvg [moved from manual/plots/msdwater.xvg with 100% similarity]
docs/manual/plots/myvi [moved from manual/plots/myvi with 100% similarity]
docs/manual/plots/ngmxdump.eps [moved from manual/plots/ngmxdump.eps with 100% similarity]
docs/manual/plots/nstric.eps [moved from manual/plots/nstric.eps with 100% similarity]
docs/manual/plots/nstric.fig [moved from manual/plots/nstric.fig with 100% similarity]
docs/manual/plots/par-lincs2.eps [moved from manual/plots/par-lincs2.eps with 100% similarity]
docs/manual/plots/par-lincs2.fig [moved from manual/plots/par-lincs2.fig with 100% similarity]
docs/manual/plots/parsort.eps [moved from manual/plots/parsort.eps with 100% similarity]
docs/manual/plots/parsort.fig [moved from manual/plots/parsort.fig with 100% similarity]
docs/manual/plots/pbctric.eps [moved from manual/plots/pbctric.eps with 100% similarity]
docs/manual/plots/pbctric.fig [moved from manual/plots/pbctric.fig with 100% similarity]
docs/manual/plots/peregrine.jpg [moved from manual/plots/peregrine.jpg with 100% similarity]
docs/manual/plots/phipsi.eps [moved from manual/plots/phipsi.eps with 100% similarity]
docs/manual/plots/phipsi.fig [moved from manual/plots/phipsi.fig with 100% similarity]
docs/manual/plots/pull.eps [moved from manual/plots/pull.eps with 100% similarity]
docs/manual/plots/pullref.eps [moved from manual/plots/pullref.eps with 100% similarity]
docs/manual/plots/rama.eps [moved from manual/plots/rama.eps with 100% similarity]
docs/manual/plots/rama.xvg [moved from manual/plots/rama.xvg with 100% similarity]
docs/manual/plots/rdf.eps [moved from manual/plots/rdf.eps with 100% similarity]
docs/manual/plots/rdf.fig [moved from manual/plots/rdf.fig with 100% similarity]
docs/manual/plots/rdfO-O.eps [moved from manual/plots/rdfO-O.eps with 100% similarity]
docs/manual/plots/rdfO-O.xvg [moved from manual/plots/rdfO-O.xvg with 100% similarity]
docs/manual/plots/rhododec.eps [moved from manual/plots/rhododec.eps with 100% similarity]
docs/manual/plots/rhododec.ogl [moved from manual/plots/rhododec.ogl with 100% similarity]
docs/manual/plots/ring-imp.eps [moved from manual/plots/ring-imp.eps with 100% similarity]
docs/manual/plots/ring-imp.fig [moved from manual/plots/ring-imp.fig with 100% similarity]
docs/manual/plots/ring.eps [moved from manual/plots/ring.eps with 100% similarity]
docs/manual/plots/rotation.pdf [moved from manual/plots/rotation.pdf with 100% similarity]
docs/manual/plots/sgangle.pdf [moved from manual/plots/sgangle.pdf with 100% similarity]
docs/manual/plots/sgangle.svg [moved from manual/plots/sgangle.svg with 100% similarity]
docs/manual/plots/shiftf.eps [moved from manual/plots/shiftf.eps with 100% similarity]
docs/manual/plots/softcore.eps [moved from manual/plots/softcore.eps with 100% similarity]
docs/manual/plots/softcore.xvg [moved from manual/plots/softcore.xvg with 100% similarity]
docs/manual/plots/subst-im.eps [moved from manual/plots/subst-im.eps with 100% similarity]
docs/manual/plots/subst-im.fig [moved from manual/plots/subst-im.fig with 100% similarity]
docs/manual/plots/tetra-im.eps [moved from manual/plots/tetra-im.eps with 100% similarity]
docs/manual/plots/tetra-im.fig [moved from manual/plots/tetra-im.fig with 100% similarity]
docs/manual/plots/truncoct.eps [moved from manual/plots/truncoct.eps with 100% similarity]
docs/manual/plots/truncoct.ogl [moved from manual/plots/truncoct.ogl with 100% similarity]
docs/manual/plots/vcrf.eps [moved from manual/plots/vcrf.eps with 100% similarity]
docs/manual/plots/vcrf.xvg [moved from manual/plots/vcrf.xvg with 100% similarity]
docs/manual/plots/verlet-drift.eps [moved from manual/plots/verlet-drift.eps with 100% similarity]
docs/manual/plots/verlet-drift.xvg [moved from manual/plots/verlet-drift.xvg with 100% similarity]
docs/manual/plots/vsite-4fdn.eps [moved from manual/plots/vsite-4fdn.eps with 100% similarity]
docs/manual/programs.tex [moved from manual/programs.tex with 98% similarity]
docs/manual/proteins.bst [moved from manual/proteins.bst with 100% similarity]
docs/manual/special.tex [moved from manual/special.tex with 100% similarity]
docs/manual/subindex [moved from manual/subindex with 100% similarity]
docs/manual/topology.tex [moved from manual/topology.tex with 100% similarity]
docs/manual/underscore.sty [moved from manual/underscore.sty with 100% similarity]
docs/manual/unpubl.bib [moved from manual/unpubl.bib with 100% similarity]
docs/old-html/BuildHtmlHelp.cmake [moved from share/html/BuildHtmlHelp.cmake with 100% similarity]
docs/old-html/CMakeLists.txt [moved from share/html/CMakeLists.txt with 100% similarity]
docs/old-html/footer.html [moved from share/html/footer.html with 100% similarity]
docs/old-html/header.html.in [moved from share/html/header.html.in with 100% similarity]
docs/old-html/images/1ctf-0.2.jpg [moved from share/html/images/1ctf-0.2.jpg with 100% similarity]
docs/old-html/images/1ctf-0.5.jpg [moved from share/html/images/1ctf-0.5.jpg with 100% similarity]
docs/old-html/images/1ctf-0.jpg [moved from share/html/images/1ctf-0.jpg with 100% similarity]
docs/old-html/images/1ctf-1.jpg [moved from share/html/images/1ctf-1.jpg with 100% similarity]
docs/old-html/images/1ctf-10.jpg [moved from share/html/images/1ctf-10.jpg with 100% similarity]
docs/old-html/images/1ctf-4.jpg [moved from share/html/images/1ctf-4.jpg with 100% similarity]
docs/old-html/images/articles.gif [moved from share/html/images/articles.gif with 100% similarity]
docs/old-html/images/bench.gif [moved from share/html/images/bench.gif with 100% similarity]
docs/old-html/images/charts_down.gif [moved from share/html/images/charts_down.gif with 100% similarity]
docs/old-html/images/charts_up.gif [moved from share/html/images/charts_up.gif with 100% similarity]
docs/old-html/images/faq.gif [moved from share/html/images/faq.gif with 100% similarity]
docs/old-html/images/features.gif [moved from share/html/images/features.gif with 100% similarity]
docs/old-html/images/flow_down.gif [moved from share/html/images/flow_down.gif with 100% similarity]
docs/old-html/images/flow_downleft.gif [moved from share/html/images/flow_downleft.gif with 100% similarity]
docs/old-html/images/flow_hline.gif [moved from share/html/images/flow_hline.gif with 100% similarity]
docs/old-html/images/flow_left.gif [moved from share/html/images/flow_left.gif with 100% similarity]
docs/old-html/images/flow_leftright.gif [moved from share/html/images/flow_leftright.gif with 100% similarity]
docs/old-html/images/flow_leftrightdown.gif [moved from share/html/images/flow_leftrightdown.gif with 100% similarity]
docs/old-html/images/flow_leftrightup.gif [moved from share/html/images/flow_leftrightup.gif with 100% similarity]
docs/old-html/images/flow_leftup.gif [moved from share/html/images/flow_leftup.gif with 100% similarity]
docs/old-html/images/flow_right+left.gif [moved from share/html/images/flow_right+left.gif with 100% similarity]
docs/old-html/images/flow_right.gif [moved from share/html/images/flow_right.gif with 100% similarity]
docs/old-html/images/flow_rightleftdown.gif [moved from share/html/images/flow_rightleftdown.gif with 100% similarity]
docs/old-html/images/flow_uprightleft.gif [moved from share/html/images/flow_uprightleft.gif with 100% similarity]
docs/old-html/images/flow_vline.gif [moved from share/html/images/flow_vline.gif with 100% similarity]
docs/old-html/images/flow_vrule.gif [moved from share/html/images/flow_vrule.gif with 100% similarity]
docs/old-html/images/gmxlogo_small.jpg [moved from share/html/images/gmxlogo_small.jpg with 100% similarity]
docs/old-html/images/links.gif [moved from share/html/images/links.gif with 100% similarity]
docs/old-html/images/mail.gif [moved from share/html/images/mail.gif with 100% similarity]
docs/old-html/images/manual.gif [moved from share/html/images/manual.gif with 100% similarity]
docs/old-html/images/plotje.gif [moved from share/html/images/plotje.gif with 100% similarity]
docs/old-html/images/rainbow.gif [moved from share/html/images/rainbow.gif with 100% similarity]
docs/old-html/images/software.gif [moved from share/html/images/software.gif with 100% similarity]
docs/old-html/images/topologies.gif [moved from share/html/images/topologies.gif with 100% similarity]
docs/old-html/images/xvgr.gif [moved from share/html/images/xvgr.gif with 100% similarity]
docs/old-html/links.dat [moved from share/html/links.dat with 100% similarity]
docs/old-html/online.html [moved from share/html/online.html with 100% similarity]
docs/old-html/online/cpt.html [moved from share/html/online/cpt.html with 100% similarity]
docs/old-html/online/dat.html [moved from share/html/online/dat.html with 100% similarity]
docs/old-html/online/dlg.html [moved from share/html/online/dlg.html with 100% similarity]
docs/old-html/online/edi.html [moved from share/html/online/edi.html with 68% similarity]
docs/old-html/online/edo.html [moved from share/html/online/edo.html with 100% similarity]
docs/old-html/online/edr.html [moved from share/html/online/edr.html with 100% similarity]
docs/old-html/online/ene.html [moved from share/html/online/ene.html with 100% similarity]
docs/old-html/online/eps.html [moved from share/html/online/eps.html with 100% similarity]
docs/old-html/online/files.html [moved from share/html/online/files.html with 98% similarity]
docs/old-html/online/flow.html [moved from share/html/online/flow.html with 100% similarity]
docs/old-html/online/g96.html [moved from share/html/online/g96.html with 100% similarity]
docs/old-html/online/getting_started.html [moved from share/html/online/getting_started.html with 100% similarity]
docs/old-html/online/gro.html [moved from share/html/online/gro.html with 100% similarity]
docs/old-html/online/hdb.html [new file with mode: 0644]
docs/old-html/online/itp.html [moved from share/html/online/itp.html with 100% similarity]
docs/old-html/online/log.html [moved from share/html/online/log.html with 100% similarity]
docs/old-html/online/m2p.html [moved from share/html/online/m2p.html with 100% similarity]
docs/old-html/online/map.html [moved from share/html/online/map.html with 100% similarity]
docs/old-html/online/mdp.html [moved from share/html/online/mdp.html with 98% similarity]
docs/old-html/online/mdp_opt.html [moved from share/html/online/mdp_opt.html with 100% similarity]
docs/old-html/online/mtx.html [moved from share/html/online/mtx.html with 100% similarity]
docs/old-html/online/ndx.html [moved from share/html/online/ndx.html with 100% similarity]
docs/old-html/online/options.html [moved from share/html/online/options.html with 100% similarity]
docs/old-html/online/out.html [moved from share/html/online/out.html with 100% similarity]
docs/old-html/online/pdb.html [moved from share/html/online/pdb.html with 100% similarity]
docs/old-html/online/rtp.html [moved from share/html/online/rtp.html with 100% similarity]
docs/old-html/online/style.css [moved from share/html/online/style.css with 100% similarity]
docs/old-html/online/tex.html [moved from share/html/online/tex.html with 100% similarity]
docs/old-html/online/tng.html [moved from share/html/online/tng.html with 100% similarity]
docs/old-html/online/top.html [moved from share/html/online/top.html with 100% similarity]
docs/old-html/online/tpa.html [moved from share/html/online/tpa.html with 100% similarity]
docs/old-html/online/tpb.html [moved from share/html/online/tpb.html with 100% similarity]
docs/old-html/online/tpr.html [moved from share/html/online/tpr.html with 100% similarity]
docs/old-html/online/trj.html [moved from share/html/online/trj.html with 100% similarity]
docs/old-html/online/trr.html [moved from share/html/online/trr.html with 100% similarity]
docs/old-html/online/xpm.html [moved from share/html/online/xpm.html with 100% similarity]
docs/old-html/online/xtc.html [moved from share/html/online/xtc.html with 95% similarity]
docs/old-html/online/xvg.html [moved from share/html/online/xvg.html with 100% similarity]
doxygen/index.html [deleted file]
share/CMakeLists.txt

index e9739ac87405f7cfc45b33b4ea60b6056c551363..46d10516dfcbe26f3a5ca7072c04d4dd65881f82 100644 (file)
@@ -25,11 +25,11 @@ cmake/ThreadMPI.cmake                   !filter
 cmake/Platform/BluegeneQ*.cmake         !filter
 cmake/*.c                               !filter
 cmake/*.c.cmakein                       !filter
-doxygen/Doxyfile-*.cmakein              !filter
-doxygen/*.cpp                           !filter
-doxygen/examples/*.cpp                  filter=uncrustify_only
-doxygen/examples/*.c                    filter=uncrustify_only
-manual/UseLATEX.cmake                   !filter
+docs/doxygen/Doxyfile-*.cmakein         !filter
+docs/doxygen/*.cpp                      !filter
+docs/doxygen/examples/*.cpp             filter=uncrustify_only
+docs/doxygen/examples/*.c               filter=uncrustify_only
+docs/manual/UseLATEX.cmake              !filter
 scripts/GMXRC.*                         !filter
 scripts/make_gromos_rtp.py              !filter
 src/contrib/*                           !filter
index f991ff0cb46bc52ff64026ae2c2b1d1b20d42cdb..ed24af96150276cb1bf39fd1106cd3212660f105 100644 (file)
@@ -148,7 +148,7 @@ set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_SOURCE_DIR}/CPackInit.cmake")
 # This variable is a list of pairs of names of source and destination
 # directories. Most of these are used for content GROMACS generates as
 # part of the configuration or build.
-set(CPACK_SOURCE_INSTALLED_DIRECTORIES "${CMAKE_SOURCE_DIR};/;${CMAKE_BINARY_DIR}/src/programs/completion;src/programs/completion;${CMAKE_BINARY_DIR}/share/man/man1;share/man/man1;${CMAKE_BINARY_DIR}/share/man/man7;share/man/man7;${CMAKE_BINARY_DIR}/share/html/final;share/html/final;${CMAKE_BINARY_DIR}/install-guide/final;/")
+set(CPACK_SOURCE_INSTALLED_DIRECTORIES "${CMAKE_SOURCE_DIR};/;${CMAKE_BINARY_DIR}/src/programs/completion;src/programs/completion;${CMAKE_BINARY_DIR}/docs/man/man1;docs/man/man1;${CMAKE_BINARY_DIR}/docs/man/man7;docs/man/man7;${CMAKE_BINARY_DIR}/docs/old-html/final;docs/old-html/final;${CMAKE_BINARY_DIR}/docs/install-guide/final;/")
 set(CPACK_PACKAGE_CONTACT "gmx-users@gromacs.org")
 set(CPACK_GMX_BUILD_HELP "${GMX_BUILD_HELP}") #Works even though GMX_BUILD_HELP is defined later because it is off by default.
 
@@ -922,8 +922,7 @@ if (BUILD_TESTING)
 endif()
 
 if (NOT GMX_BUILD_MDRUN_ONLY)
-    add_subdirectory(doxygen)
-    add_subdirectory(install-guide)
+    add_subdirectory(docs)
     add_subdirectory(share)
     add_subdirectory(scripts)
 endif()
@@ -953,15 +952,3 @@ ADD_CUSTOM_TARGET(uninstall
 ###########################
 set_directory_properties(PROPERTIES
             ADDITIONAL_MAKE_CLEAN_FILES "install_manifest.txt")
-
-########################################################################
-# Manual                                                               #
-########################################################################
-
-option(GMX_BUILD_MANUAL "Whether to try to configure to build the PDF manual" OFF)
-mark_as_advanced(GMX_BUILD_MANUAL)
-if(GMX_BUILD_MANUAL)
-    # Make sure we only do detection of manual-building dependencies
-    # when the user opted in for that.
-    add_subdirectory(manual)
-endif()
index 12be4fdeef022c0101b12ba1d22a144df623b8f6..498b034306f05bcd4f03dbda8f664ffd538e7e92 100644 (file)
 #TODO: add check that source doesn't contain any untracked files
 if(NOT CPACK_INSTALL_CMAKE_PROJECTS) #building source package
     get_filename_component(CMAKE_BINARY_DIR ${CPACK_OUTPUT_CONFIG_FILE} PATH)
-    if (NOT EXISTS "${CMAKE_BINARY_DIR}/share/man/man1/gmx-view.1" OR
-        NOT EXISTS "${CMAKE_BINARY_DIR}/install-guide/final/INSTALL" OR
-        NOT EXISTS "${CMAKE_BINARY_DIR}/share/html/final/online.html" OR
+    if (NOT EXISTS "${CMAKE_BINARY_DIR}/docs/man/man1/gmx-view.1" OR
+        NOT EXISTS "${CMAKE_BINARY_DIR}/docs/install-guide/final/INSTALL" OR
+        NOT EXISTS "${CMAKE_BINARY_DIR}/docs/old-html/final/online.html" OR
         NOT EXISTS "${CMAKE_BINARY_DIR}/src/programs/completion/gmx-completion.bash" OR
-        NOT EXISTS "${CMAKE_BINARY_DIR}/share/html/final/programs/gmx-view.html")
+        NOT EXISTS "${CMAKE_BINARY_DIR}/docs/old-html/final/programs/gmx-view.html")
         message(FATAL_ERROR
             "To create a complete source package, bash completions, "
             "man and HTML pages, and INSTALL need to be generated. "
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
new file mode 100644 (file)
index 0000000..4547586
--- /dev/null
@@ -0,0 +1,233 @@
+#
+# This file is part of the GROMACS molecular simulation package.
+#
+# Copyright (c) 2014, by the GROMACS development team, led by
+# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+# and including many others, as listed in the AUTHORS file in the
+# top-level source directory and at http://www.gromacs.org.
+#
+# GROMACS is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public License
+# as published by the Free Software Foundation; either version 2.1
+# of the License, or (at your option) any later version.
+#
+# GROMACS is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with GROMACS; if not, see
+# http://www.gnu.org/licenses, or write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
+#
+# If you want to redistribute modifications to GROMACS, please
+# consider that scientific software is very special. Version
+# control is crucial - bugs must be traceable. We will be happy to
+# consider code for inclusion in the official distribution, but
+# derived work must not be called official GROMACS. Details are found
+# in the README & COPYING files - if they are missing, get the
+# official version at http://www.gromacs.org.
+#
+# To help us fund GROMACS development, we humbly ask that you cite
+# the research papers on the package. Check out http://www.gromacs.org.
+
+# This directory provides a unified place for building all kinds of
+# GROMACS documentation. This includes some "static" content (Doxygen
+# code documentation, reference manual, install guide, old online HTML
+# pages), and content generated from the gmx program for the various
+# tools (man and HTML pages). It also provides the "webpage" target,
+# that combines all of the above (except man pages in man format) into
+# a form suitable for automated deployment to the GROMACS website.
+
+# Even if we aren't going to make the full webpage, set up to put all
+# the documentation output in the same place, for convenience
+set(HTML_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/html")
+file(MAKE_DIRECTORY ${HTML_OUTPUT_DIR})
+
+add_subdirectory(install-guide)
+add_subdirectory(man)
+add_subdirectory(old-html)
+add_subdirectory(doxygen)
+
+option(GMX_BUILD_WEBPAGE "Whether to try to configure to build the GROMACS static webpages" OFF)
+mark_as_advanced(GMX_BUILD_WEBPAGE)
+
+option(GMX_BUILD_MANUAL "Whether to try to configure to build the PDF manual" ${GMX_BUILD_WEBPAGE})
+mark_as_advanced(GMX_BUILD_MANUAL)
+if(GMX_BUILD_MANUAL)
+    # Make sure we only do detection of manual-building dependencies
+    # when the user opted in for that.
+    add_subdirectory(manual)
+endif()
+
+find_package(Pandoc)
+
+set(HTML_BUILD_IS_POSSIBLE OFF)
+# We can only configure to build the webpage if the user asked for it,
+# the build is outside of the source dir, and all the components can
+# be built. There's no need to be talkative if we fail - most people
+# never need to know.
+if(GMX_BUILD_WEBPAGE AND
+        GMX_BUILD_HELP AND
+        NOT ${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_SOURCE_DIR} AND
+        INSTALL_GUIDE_BUILD_IS_POSSIBLE AND
+        MANUAL_BUILD_IS_POSSIBLE AND
+        PANDOC_EXECUTABLE AND
+        DOXYGEN_EXECUTABLE AND
+        DOXYGEN_MSCGEN_EXECUTABLE)
+    set(HTML_BUILD_IS_POSSIBLE ON)
+endif()
+
+if(HTML_BUILD_IS_POSSIBLE)
+    # For a real build of the webpage, the md5sum of the tarballs must
+    # already be known, and so we may as well require that the real
+    # build of the webpage take place from cmake run from the unpacked
+    # tarball. Then, the *_MD5SUM and *_TARBALL variables will be able
+    # to be set on the cmake command line (e.g. by a Jenkins job
+    # configuration), and we can require that they are set. For local
+    # building of the webpages (e.g. for debugging), the *_MD5SUM
+    # variables need a fallback.
+    if(NOT SOURCE_IS_SOURCE_DISTRIBUTION)
+        if (SOURCE_TARBALL AND SOURCE_MD5SUM AND
+                REGRESSIONTESTS_TARBALL AND REGRESSIONTESTS_MD5SUM)
+            set(BUILD_DOWNLOAD_SECTION on)
+        else()
+            set(BUILD_DOWNLOAD_SECTION off)
+        endif()
+    else()
+        foreach(VAR SOURCE_MD5SUM REGRESSIONTESTS_MD5SUM SOURCE_TARBALL REGRESSIONTESTS_TARBALL)
+            if(NOT DEFINED ${VAR})
+                message(FATAL_ERROR "The build of the webpage requires that ${VAR} is set in the cmake cache, e.g. on the CMake command line")
+            endif()
+        endforeach()
+        set(BUILD_DOWNLOAD_SECTION on)
+    endif()
+
+    # If building from the repo, then tarballs may not exist, and if
+    # so, it would not make sense to build that part of the front
+    # page.
+    if(BUILD_DOWNLOAD_SECTION)
+        set(DOWNLOAD_SECTION
+"# Downloads
+
+*   Source code - [gromacs-${PROJECT_VERSION}.tar.gz](gromacs-${PROJECT_VERSION}.tar.gz)  
+    (md5sum ${SOURCE_MD5SUM})  
+    Other source code versions may be found at <ftp://ftp.gromacs.org/pub/gromacs/>
+
+*   Regression tests - [regressiontests-${PROJECT_VERSION}.tar.gz](regressiontests-${PROJECT_VERSION}.tar.gz)  
+    (md5sum ${REGRESSIONTESTS_MD5SUM})
+")
+
+        # Copy the source tarball to the webpage output
+        add_custom_command(
+            OUTPUT ${HTML_OUTPUT_DIR}/gromacs-${PROJECT_VERSION}.tar.gz
+            COMMAND ${CMAKE_COMMAND}
+               -E copy ${SOURCE_TARBALL} ${HTML_OUTPUT_DIR}/gromacs-${PROJECT_VERSION}.tar.gz
+            VERBATIM
+            )
+
+        # Copy the regressiontests tarball to the webpage output
+        add_custom_command(
+            OUTPUT ${HTML_OUTPUT_DIR}/regressiontests-${PROJECT_VERSION}.tar.gz
+            COMMAND ${CMAKE_COMMAND}
+               -E copy ${REGRESSIONTESTS_TARBALL} ${HTML_OUTPUT_DIR}/regressiontests-${PROJECT_VERSION}.tar.gz
+            VERBATIM
+            )
+    else()
+        set(DOWNLOAD_SECTION "")
+    endif()
+
+    # Do replacement of CMake variables for version strings, etc.
+    configure_file(configure-html.cmake.in
+        ${CMAKE_CURRENT_BINARY_DIR}/configure-html.cmake
+        @ONLY)
+
+    # This defers until build time the configuration of
+    # index.md, which could be faster
+    add_custom_command(
+        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/index.md
+        COMMAND ${CMAKE_COMMAND}
+            -P ${CMAKE_CURRENT_BINARY_DIR}/configure-html.cmake
+        DEPENDS
+            ${CMAKE_CURRENT_BINARY_DIR}/configure-html.cmake
+            ${CMAKE_CURRENT_SOURCE_DIR}/index.md
+        COMMENT "Configuring index.md"
+        VERBATIM
+        )
+
+    # Put the CSS in the HTML output directory
+    add_custom_command(
+        OUTPUT ${HTML_OUTPUT_DIR}/buttondown.css
+        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/buttondown.css ${HTML_OUTPUT_DIR}/buttondown.css
+        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/buttondown.css
+        VERBATIM
+        )
+    list(APPEND extra_webpage_dependencies ${HTML_OUTPUT_DIR}/buttondown.css)
+
+    # Make the top-level index.html
+    add_custom_command(
+        OUTPUT ${HTML_OUTPUT_DIR}/index.html
+        COMMAND ${PANDOC_EXECUTABLE} -o ${HTML_OUTPUT_DIR}/index.html index.md -s --css buttondown.css
+        DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/index.md ${HTML_OUTPUT_DIR}/buttondown.css
+        VERBATIM
+        )
+
+    # Make the PDF reference guide
+    # TODO Try to make the PDF arrive directly in ${HTML_OUTPUT_DIR}
+    add_custom_command(
+        OUTPUT ${HTML_OUTPUT_DIR}/manual-${PROJECT_VERSION}.pdf
+        COMMAND ${CMAKE_COMMAND}
+            -E remove -f ${HTML_OUTPUT_DIR}/manual-${PROJECT_VERSION}.pdf
+        COMMAND ${CMAKE_COMMAND}
+            -E copy ${CMAKE_CURRENT_BINARY_DIR}/manual/gromacs.pdf ${HTML_OUTPUT_DIR}/manual-${PROJECT_VERSION}.pdf
+        # UseLATEX.cmake makes a target called pdf, not ${CMAKE_CURRENT_BINARY_DIR}/manual/gromacs.pdf
+        DEPENDS pdf
+        VERBATIM
+        )
+
+    # TODO Move content from the "old" html output into the new user
+    # guide, or delete, as appropriate.
+    if(NOT SOURCE_IS_SOURCE_DISTRIBUTION)
+        # TODO If content remains here once the user guide is in
+        # decent shape, try to make the generated HTML arrive directly
+        # in ${HTML_OUTPUT_DIR}
+        add_custom_target(webpage-html
+            ${CMAKE_COMMAND} -E copy_directory old-html/final ${HTML_OUTPUT_DIR}
+            )
+        add_dependencies(webpage-html html)
+    else()
+        # In the source distribution, the html pages are already
+        # built, so we can avoid making gmx via the html target
+        add_custom_target(webpage-html
+            ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/old-html/final ${HTML_OUTPUT_DIR}
+            )
+    endif()
+
+    # The Doxygen configuration in doxygen/Doxyfile-common.cmakein
+    # makes all the Doxygen output directly in
+    # ${HTML_OUTPUT_DIR}/doxygen (and makes the directory if it needs
+    # to).
+
+    # Add other dependencies for doing the webpage build from the real
+    # tarball
+    if(BUILD_DOWNLOAD_SECTION)
+        list(APPEND extra_webpage_dependencies
+            ${HTML_OUTPUT_DIR}/gromacs-${PROJECT_VERSION}.tar.gz
+            ${HTML_OUTPUT_DIR}/regressiontests-${PROJECT_VERSION}.tar.gz
+            )
+    endif()
+
+    # Add a top-level target for the others to hook onto
+    add_custom_target(webpage
+        DEPENDS
+           ${HTML_OUTPUT_DIR}/index.html
+           install-guide
+           ${HTML_OUTPUT_DIR}/install-guide.html
+           ${HTML_OUTPUT_DIR}/install-guide.pdf
+           ${HTML_OUTPUT_DIR}/manual-${PROJECT_VERSION}.pdf
+           ${extra_webpage_dependencies}
+        VERBATIM
+        )
+    add_dependencies(webpage webpage-html doc-all)
+endif()
diff --git a/docs/buttondown.css b/docs/buttondown.css
new file mode 100644 (file)
index 0000000..89eaa11
--- /dev/null
@@ -0,0 +1,453 @@
+/*  CSS sourced for GROMACS from https://gist.github.com/ryangray/1882525
+    No usage restrictions are asserted there.
+*/
+/*
+    Buttondown
+    A Markdown/MultiMarkdown/Pandoc HTML output CSS stylesheet
+    Author: Ryan Gray
+    Date: 15 Feb 2011
+    Revised: 21 Feb 2012
+   
+    General style is clean, with minimal re-definition of the defaults or 
+    overrides of user font settings. The body text and header styles are 
+    left alone except title, author and date classes are centered. A Pandoc TOC 
+    is not printed, URLs are printed after hyperlinks in parentheses. 
+    Block quotes are italicized. Tables are lightly styled with lines above 
+    and below the table and below the header with a boldface header. Code 
+    blocks are line wrapped. 
+
+    All elements that Pandoc and MultiMarkdown use should be listed here, even 
+    if the style is empty so you can easily add styling to anything.
+    
+    There are some elements in here for HTML5 output of Pandoc, but I have not 
+    gotten around to testing that yet.
+*/
+
+/* NOTES:
+
+    Stuff tried and failed:
+    
+    It seems that specifying font-family:serif in Safari will always use 
+    Times New Roman rather than the user's preferences setting.
+    
+    Making the font size different or a fixed value for print in case the screen 
+    font size is making the print font too big: Making font-size different for 
+    print than for screen causes horizontal lines to disappear in math when using 
+    MathJax under Safari.
+*/
+
+/* ---- Front Matter ---- */
+
+/* Pandoc header DIV. Contains .title, .author and .date. Comes before div#TOC. 
+   Only appears if one of those three are in the document.
+*/
+
+div#header, header
+    {
+    /* Put border on bottom. Separates it from TOC or body that comes after it. */
+    border-bottom: 1px solid #aaa;
+    margin-bottom: 0.5em;
+    }
+
+.title /* Pandoc title header (h1.title) */
+    {
+    text-align: center;
+    }
+
+.author, .date /* Pandoc author(s) and date headers (h2.author and h3.date) */
+    {
+    text-align: center;
+    }
+
+/* Pandoc table of contents DIV when using the --toc option.
+   NOTE: this doesn't support Pandoc's --id-prefix option for #TOC and #header. 
+   Probably would need to use div[id$='TOC'] and div[id$='header'] as selectors.
+*/
+
+div#TOC, nav#TOC
+    {
+    /* Put border on bottom to separate it from body. */
+    border-bottom: 1px solid #aaa;
+    margin-bottom: 0.5em;
+    }
+
+@media print
+    {
+    div#TOC, nav#TOC
+        {
+        /* Don't display TOC in print */
+        display: none;
+        }
+    }
+
+/* ---- Headers and sections ---- */
+
+h1, h2, h3, h4, h5, h6
+{
+    font-family: "Helvetica Neue", Helvetica, "Liberation Sans", Calibri, Arial, sans-serif; /* Sans-serif headers */
+
+    /* font-family: "Liberation Serif", "Georgia", "Times New Roman", serif; /* Serif headers */
+
+    page-break-after: avoid; /* Firefox, Chrome, and Safari do not support the property value "avoid" */
+}
+
+/* Pandoc with --section-divs option */
+
+div div, section section /* Nested sections */
+    {
+    margin-left: 2em; /* This will increasingly indent nested header sections */
+    }
+
+p {}
+
+blockquote
+    { 
+    font-style: italic;
+    }
+
+li /* All list items */
+    {
+    }
+
+li > p /* Loosely spaced list item */
+    {
+    margin-top: 1em; /* IE: lack of space above a <li> when the item is inside a <p> */
+    }
+
+ul /* Whole unordered list */
+    {
+    }
+
+ul li /* Unordered list item */
+    {
+    }
+
+ol /* Whole ordered list */
+    {
+    }
+
+ol li /* Ordered list item */
+    {
+    }
+
+hr {}
+
+/* ---- Some span elements --- */
+
+sub /* Subscripts. Pandoc: H~2~O */
+    {
+    }
+
+sup /* Superscripts. Pandoc: The 2^nd^ try. */
+    {
+    }
+    
+em /* Emphasis. Markdown: *emphasis* or _emphasis_ */
+    {
+    }
+    
+em > em /* Emphasis within emphasis: *This is all *emphasized* except that* */
+    {
+    font-style: normal;
+    }
+
+strong /* Markdown **strong** or __strong__ */
+    {
+    }
+
+/* ---- Links (anchors) ---- */
+
+a /* All links */
+    {
+    /* Keep links clean. On screen, they are colored; in print, they do nothing anyway. */
+    text-decoration: none;
+    }
+
+@media screen
+    {
+    a:hover
+        {
+        /* On hover, we indicate a bit more that it is a link. */
+        text-decoration: underline;
+        }
+    }
+
+@media print
+    {
+    a   {
+        /* In print, a colored link is useless, so un-style it. */
+        color: black;
+        background: transparent;
+        }
+        
+    a[href^="http://"]:after, a[href^="https://"]:after
+        {
+        /* However, links that go somewhere else, might be useful to the reader,
+           so for http and https links, print the URL after what was the link 
+           text in parens
+        */
+        content: " (" attr(href) ") ";
+        font-size: 90%;
+        }
+    }
+
+/* ---- Images ---- */
+
+img
+    {
+    /* Let it be inline left/right where it wants to be, but verticality make 
+       it in the middle to look nicer, but opinions differ, and if in a multi-line 
+       paragraph, it might not be so great. 
+    */
+    vertical-align: middle;
+    }
+
+div.figure /* Pandoc figure-style image */
+    {
+    /* Center the image and caption */
+    margin-left: auto;
+    margin-right: auto;
+    text-align: center;
+    font-style: italic;
+    }
+
+p.caption /* Pandoc figure-style caption within div.figure */
+    {
+    /* Inherits div.figure props by default */
+    }
+
+/* ---- Code blocks and spans ---- */
+
+pre, code 
+    {
+    background-color: #fdf7ee;
+    /* BEGIN word wrap */
+    /* Need all the following to word wrap instead of scroll box */
+    /* This will override the overflow:auto if present */
+    white-space: pre-wrap; /* css-3 */
+    white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+    white-space: -pre-wrap; /* Opera 4-6 */
+    white-space: -o-pre-wrap; /* Opera 7 */
+    word-wrap: break-word; /* Internet Explorer 5.5+ */
+    /* END word wrap */
+    }
+
+pre /* Code blocks */
+    {
+    /* Distinguish pre blocks from other text by more than the font with a background tint. */
+    padding: 0.5em; /* Since we have a background color */
+    border-radius: 5px; /* Softens it */
+    /* Give it a some definition */
+    border: 1px solid #aaa;
+    /* Set it off left and right, seems to look a bit nicer when we have a background */
+    margin-left:  0.5em;
+    margin-right: 0.5em;
+    }
+
+@media screen
+    {
+    pre
+        {
+        /* On screen, use an auto scroll box for long lines, unless word-wrap is enabled */
+        white-space: pre;
+        overflow: auto;
+        /* Dotted looks better on screen and solid seems to print better. */
+        border: 1px dotted #777;
+        }
+    }
+
+code /* All inline code spans */
+    {
+    }
+
+p > code, li > code /* Code spans in paragraphs and tight lists */
+    {
+    /* Pad a little from adjacent text */
+    padding-left:  2px;
+    padding-right: 2px;
+    }
+    
+li > p code /* Code span in a loose list */
+    {
+    /* We have room for some more background color above and below */
+    padding: 2px;
+    }
+
+/* ---- Math ---- */
+
+span.math /* Pandoc inline math default and --jsmath inline math */
+    {
+    /* Tried font-style:italic here, and it messed up MathJax rendering in some browsers. Maybe don't mess with at all. */
+    }
+    
+div.math /* Pandoc --jsmath display math */
+    {
+    }
+    
+span.LaTeX /* Pandoc --latexmathml math */
+    {
+    } 
+
+eq /* Pandoc --gladtex math */
+    {
+    } 
+
+/* ---- Tables ---- */
+
+/*  A clean textbook-like style with horizontal lines above and below and under 
+    the header. Rows highlight on hover to help scanning the table on screen.
+*/
+
+table
+    {
+    border-collapse: collapse;
+    border-spacing: 0; /* IE 6 */
+
+    border-bottom: 2pt solid #000;
+    border-top: 2pt solid #000; /* The caption on top will not have a bottom-border */
+
+    /* Center */
+    margin-left: auto;
+    margin-right: auto;
+    }
+    
+thead /* Entire table header */
+    {
+    border-bottom: 1pt solid #000;
+    background-color: #eee; /* Does this BG print well? */
+    }
+
+tr.header /* Each header row */
+    {
+    } 
+
+tbody /* Entire table  body */
+    {
+    }
+
+/* Table body rows */
+
+tr  {
+    }
+tr.odd:hover, tr.even:hover /* Use .odd and .even classes to avoid styling rows in other tables */
+    {
+    background-color: #eee;
+    }
+    
+/* Odd and even rows */
+tr.odd {}
+tr.even {}
+
+td, th /* Table cells and table header cells */
+    { 
+    vertical-align: top; /* Word */
+    vertical-align: baseline; /* Others */
+    padding-left:   0.5em;
+    padding-right:  0.5em;
+    padding-top:    0.2em;
+    padding-bottom: 0.2em;
+    }
+    
+/* Removes padding on left and right of table for a tight look. Good if thead has no background color*/
+/*
+tr td:last-child, tr th:last-child
+    {
+    padding-right: 0;
+    }
+tr td:first-child, tr th:first-child 
+    {
+    padding-left: 0;
+    }
+*/
+
+th /* Table header cells */
+    {
+    font-weight: bold; 
+    }
+
+tfoot /* Table footer (what appears here if caption is on top?) */
+    {
+    }
+
+caption /* This is for a table caption tag, not the p.caption Pandoc uses in a div.figure */
+    {
+    caption-side: top;
+    border: none;
+    font-size: 0.9em;
+    font-style: italic;
+    text-align: center;
+    margin-bottom: 0.3em; /* Good for when on top */
+    padding-bottom: 0.2em;
+    }
+
+/* ---- Definition lists ---- */
+
+dl /* The whole list */
+    {
+    border-top: 2pt solid black;
+    padding-top: 0.5em;
+    border-bottom: 2pt solid black;
+    }
+
+dt /* Definition term */
+    {
+    font-weight: bold;
+    }
+
+dd+dt /* 2nd or greater term in the list */
+    {
+    border-top: 1pt solid black;
+    padding-top: 0.5em;
+    }
+    
+dd /* A definition */
+    {
+    margin-bottom: 0.5em;
+    }
+
+dd+dd /* 2nd or greater definition of a term */
+    {
+    border-top: 1px solid black; /* To separate multiple definitions */
+    }
+    
+/* ---- Footnotes ---- */
+
+a.footnote, a.footnoteRef { /* Pandoc, MultiMarkdown footnote links */
+    font-size: small; 
+    vertical-align: text-top;
+}
+
+a[href^="#fnref"], a.reversefootnote /* Pandoc, MultiMarkdown, ?? footnote back links */
+    {
+    }
+
+@media print
+    {
+    a[href^="#fnref"], a.reversefootnote /* Pandoc, MultiMarkdown */
+        {
+        /* Don't display these at all in print since the arrow is only something to click on */
+        display: none;
+        }
+    }
+    
+div.footnotes /* Pandoc footnotes div at end of the document */
+    {
+    }
+    
+div.footnotes li[id^="fn"] /* A footnote item within that div */
+    {
+    }
+
+/* You can class stuff as "noprint" to not print. 
+   Useful since you can't set this media conditional inside an HTML element's 
+   style attribute (I think), and you don't want to make another stylesheet that 
+   imports this one and adds a class just to do this.
+*/
+
+@media print
+    {
+    .noprint
+        {
+        display:none;
+        }
+    }
diff --git a/docs/configure-html.cmake.in b/docs/configure-html.cmake.in
new file mode 100644 (file)
index 0000000..07a2626
--- /dev/null
@@ -0,0 +1,12 @@
+# Helper script that defers configure_file until build time, so that
+# changes to the files configured for the html files don't trigger a
+# global reconfigure
+
+set(SRC_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
+set(BIN_DIR "@CMAKE_CURRENT_BINARY_DIR@")
+
+set(PROJECT_VERSION "@PROJECT_VERSION@")
+set(DOWNLOAD_SECTION "@DOWNLOAD_SECTION@")
+
+configure_file(${SRC_DIR}/index.md
+    ${BIN_DIR}/index.md @ONLY)
similarity index 100%
rename from doxygen/.gitignore
rename to docs/doxygen/.gitignore
similarity index 99%
rename from doxygen/CMakeLists.txt
rename to docs/doxygen/CMakeLists.txt
index 1d607e28f3100f595407d6434726f0fb37895c9f..1e334a4fa8dfeb02e6d44621e70ec7cf0e1cbbe4 100644 (file)
@@ -93,7 +93,6 @@ if (DOXYGEN_FOUND)
              "@INCLUDE   = ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile-compact\n")
     endif()
 
-    FILE(COPY index.html DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
     configure_file(RunDoxygen.cmake.cmakein RunDoxygen.cmake @ONLY)
     add_custom_target(doc-full
         ${CMAKE_COMMAND} -DDOCTYPE=full -P RunDoxygen.cmake
similarity index 96%
rename from doxygen/Doxyfile-common.cmakein
rename to docs/doxygen/Doxyfile-common.cmakein
index 344173026f4fdf01f0bec29d7ffc6eeeacd7179f..1ae0a1c340242b81558aba616fa7f089698c7b4c 100644 (file)
@@ -10,7 +10,7 @@ FILE_PATTERNS          = *.c *.cpp *.h *.md
 # FILE_PATTERNS         += *.cu *.cuh
 EXAMPLE_PATH           = @CMAKE_SOURCE_DIR@
 RECURSIVE              = YES
-EXCLUDE                = @CMAKE_SOURCE_DIR@/doxygen/examples \
+EXCLUDE                = @CMAKE_CURRENT_SOURCE_DIR@/examples \
                          @CMAKE_SOURCE_DIR@/src/contrib \
                          @CMAKE_SOURCE_DIR@/src/external \
                          @CMAKE_SOURCE_DIR@/src/gromacs/selection/parser.cpp \
@@ -64,3 +64,5 @@ DOT_IMAGE_FORMAT       = svg
 DOT_MULTI_TARGETS      = YES
 # According to Doxygen docs, this is required for svg support on IE
 HTML_FILE_EXTENSION    = .xhtml
+
+OUTPUT_DIRECTORY       = @HTML_OUTPUT_DIR@/doxygen
similarity index 65%
rename from doxygen/Doxyfile-user.cmakein
rename to docs/doxygen/Doxyfile-user.cmakein
index ba03b00e09b8427040447bfba6c58243be8ba737..c3ad8ad9a85c6148d84f4af87d2a84128328b681 100644 (file)
@@ -2,10 +2,10 @@
 
 # These pages include documentation that does not belong to the public API
 # documentation; exclude them from the generated documentation
-EXCLUDE               += @CMAKE_SOURCE_DIR@/doxygen/doxygen.md
-EXCLUDE               += @CMAKE_SOURCE_DIR@/doxygen/unittesting.md
-EXCLUDE               += @CMAKE_SOURCE_DIR@/doxygen/wrapperbinary.md
-EXCLUDE               += @CMAKE_SOURCE_DIR@/doxygen/simd.md
+EXCLUDE               += @CMAKE_SOURCE_DIR@/docs/doxygen/doxygen.md
+EXCLUDE               += @CMAKE_SOURCE_DIR@/docs/doxygen/unittesting.md
+EXCLUDE               += @CMAKE_SOURCE_DIR@/docs/doxygen/wrapperbinary.md
+EXCLUDE               += @CMAKE_SOURCE_DIR@/docs/doxygen/simd.md
 
 INTERNAL_DOCS          = NO
 HIDE_UNDOC_CLASSES     = YES
similarity index 97%
rename from doxygen/RunDoxygen.cmake.cmakein
rename to docs/doxygen/RunDoxygen.cmake.cmakein
index 8b05522dec2c6bae2aa06623a570cb45e534b94e..4ac1f9bf619c070d7054e5461ee585953a42ee03 100644 (file)
@@ -53,7 +53,7 @@ execute_process(COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile-${DOCTYPE}
 if (result)
     message(FATAL_ERROR "Doxygen failed. "
             "Please run '${DOXYGEN_EXECUTABLE} Doxyfile-${DOCTYPE}' "
-            "in the doxygen/ subdirectory in the build tree to see the details.")
+            "in the docs/doxygen/ subdirectory in the build tree to see the details.")
 endif()
 
 file(READ doxygen-${DOCTYPE}.log DOXYGEN_WARNINGS)
similarity index 97%
rename from doxygen/doxygen.md
rename to docs/doxygen/doxygen.md
index a173ab76d0aa7c86faf5754c4e560499ba049ecb..854989caecc00c4e660cd447c8ee5ad767ab9d42 100644 (file)
@@ -61,9 +61,10 @@ Building the documentation
 ==========================
 
 If you simply want to see up-to-date documentation, you can go to
-http://jenkins.gromacs.org/job/Doxygen_Nightly_master/javadoc/html-lib/index.xhtml
+http://jenkins.gromacs.org/job/Documentation_Nightly_master/javadoc/html-lib/index.xhtml
 to see the documentation for the current development version.
-Jenkins also runs Doxygen for all changes pushed to Gerrit for master, and the
+Jenkins also runs Doxygen for all changes pushed to Gerrit for
+release-5-0 and master branches, and the
 resulting documentation can be viewed from the link posted by Jenkins.  The
 Doxygen build is marked as unstable if it introduces any Doxygen warnings.
 
@@ -76,7 +77,7 @@ For local work, it is generally a good idea to set `GMX_COMPACT_DOXYGEN=ON`
 CMake option, which removes some large generated graphs from the documentation
 and speeds up the process significantly.
 
-All files related to Doxygen reside in the `doxygen/` subdirectory in the source
+All files related to Doxygen reside in the `docs/doxygen/` subdirectory in the source
 and build trees.  In a freshly checked out source tree, this directory contains
 various `Doxyfile-*.cmakein` files.  When you run CMake, corresponding files
 `Doxyfile-user`, `Doxyfile-lib`, and `Doxyfile-full` are generated at the
@@ -89,14 +90,15 @@ You can run Doxygen directly with one of the generated files (all output will
 be produced under the current working directory), or build one of the
 `doc-user`, `doc-lib`, and `doc-full` targets.  The targets run Doxygen in a
 quieter mode and only show the warnings if there were any, and put the output
-under `doxygen/` in the build tree.  The `doc-all` target builds all three
+under `docs/html/doxygen/` in the build tree, so that the Doxygen build
+cooperates with the broader `webpage` target.  The `doc-all` target builds all three
 targets with less typing.
 
 The generated documentation is put under `html-user/`, `html-lib/`, and/or
-`html-full/` in the output directory.  Open `index.xhtml` file from one of
+`html-full/`.  Open `index.xhtml` file from one of
 these subdirectories to start browsing (for \Gromacs developers, the
 `html-lib/` is a reasonable starting point).  Log files with all Doxygen
-warnings are also produced as `doxygen-*.log`, so you can inspect them after
+warnings are also produced as `docs/doxygen/doxygen-*.log`, so you can inspect them after
 the run.
 
 You will need Doxygen 1.8.5 to build the current documentation.  Other versions
@@ -331,7 +333,7 @@ work even though the script reports absolute paths.
 Empty lines and lines starting with `#` are ignored.
 
 To add suppression for an issue, the line that reports the issue can be copied
-into `suppressios.txt`, and the line number (if any) removed.  If the
+into `suppressions.txt`, and the line number (if any) removed.  If the
 issue does not have a file name (or a pseudo-file) associated, a leading `:`
 must be added.  To cover many similar issues, parts of the line can then be
 replaced with wildcards.
@@ -343,7 +345,7 @@ the number of suppressions.
 As a side effect, the XML extraction makes Doxygen parse all comments in the
 code, even if they do not appear in the documentation.  This can reveal latent
 issues in the comments, like invalid Doxygen syntax.  The messages from the XML
-parsing are stored in `doxygen/doxygen-xml.log` in the build tree, similar to
+parsing are stored in `docs/doxygen/doxygen-xml.log` in the build tree, similar to
 other Doxygen runs.
 
 The `doc-check` target requires Python 2.7 (other versions may work, but have
@@ -440,7 +442,7 @@ Doxygen pages
 -------------
 
 The pages that are accessible through navigation from the front page are
-written using Markdown and are located under `doxygen/`.  Each page should be
+written using Markdown and are located under `docs/doxygen/`.  Each page should be
 placed in the page hierarchy by making it a subpage of another page, i.e., it
 should be referenced once using \c \\subpage.  `mainpage.md` is the root of the
 hierarchy.
@@ -463,7 +465,7 @@ module).  This header should contain the \c \\defgroup definition for the
 module.  The name of the group should be `module_`<em>name</em>, where _name_
 is the name of the subdirectory that hosts the module.
 
-The module should be added to an appropriate group (see `doxygen/misc.cpp` for
+The module should be added to an appropriate group (see `docs/doxygen/misc.cpp` for
 definitions) using \c \\ingroup to organize the "Modules" tab in the generated
 documentation.
 
@@ -559,7 +561,7 @@ the modules themselves are documented.  A brief description is still useful to
 provide a high-level overview of the source tree on the generated "Files" page.
 A reference to the module is typically sufficient as a brief description for a
 directory.  All directories are currently documented in
-`doxygen/directories.cpp`.
+`docs/doxygen/directories.cpp`.
 
 
 Examples
similarity index 99%
rename from doxygen/gmxtree.py
rename to docs/doxygen/gmxtree.py
index 6a8d602a244c3c1c17e5eb721978fed15f0ab5f8..c974d13a1454d3462cad74e9d46899b86a811270 100644 (file)
@@ -492,7 +492,7 @@ class GromacsTree(object):
         If only_files is True, XML data is not loaded for code constructs, but
         only for files, directories, and their potential parents.
         """
-        xmldir = os.path.join(self._build_root, 'doxygen', 'xml')
+        xmldir = os.path.join(self._build_root, 'docs', 'html', 'doxygen', 'xml')
         self._docset = xml.DocumentationSet(xmldir, self._reporter)
         if only_files:
             self._docset.load_file_details()
similarity index 100%
rename from doxygen/mainpage.md
rename to docs/doxygen/mainpage.md
similarity index 100%
rename from doxygen/misc.cpp
rename to docs/doxygen/misc.cpp
similarity index 100%
rename from doxygen/reporter.py
rename to docs/doxygen/reporter.py
similarity index 100%
rename from doxygen/simd.md
rename to docs/doxygen/simd.md
diff --git a/docs/index.md b/docs/index.md
new file mode 100644 (file)
index 0000000..4bdc118
--- /dev/null
@@ -0,0 +1,30 @@
+% GROMACS @PROJECT_VERSION@
+
+@DOWNLOAD_SECTION@
+
+[/a/]: # (TODO in release-5-0 branch: consolidate at least some of the material in the Documentation links below into the new user guide, along with all of http://www.gromacs.org/Documentation/Cut-off_schemes, http://www.gromacs.org/Documentation/Acceleration_and_parallelization and http://www.gromacs.org/Documentation/Performance_checklist)
+
+# Documentation
+
+* [Installation Guide](install-guide.html)  
+  As [PDF](install-guide.pdf)
+
+* User Guide - coming soon!
+
+* [Online Reference](online.html)
+
+* [Reference manual](manual-@PROJECT_VERSION@.pdf) (PDF format)
+
+* Answers to [Frequently Asked Questions](http://www.gromacs.org/Documentation/FAQs)
+
+* Coping with [GROMACS errors](http://www.gromacs.org/Documentation/Errors)
+
+* Links to [tutorial material](http://www.gromacs.org/Documentation/Tutorials)
+
+# Documentation for developers
+
+* [Doxygen code documentation](doxygen/html-lib/index.xhtml)
+
+* Developer Guide - coming soon (in master branch)!
+
+[/b/]: # (TODO in master branch: consolidate much of the wiki material into a proper developer guide, and link to it here)
similarity index 59%
rename from install-guide/CMakeLists.txt
rename to docs/install-guide/CMakeLists.txt
index fb5faaa7e0e3f6dd44c2dfa71fa86478f3da098c..770240d29a791db9eef6cb9a63a8a3fce564430b 100644 (file)
@@ -43,14 +43,17 @@ endif()
 
 if(INSTALL_GUIDE_BUILD_IS_POSSIBLE)
     # Do replacement of CMake variables for version strings, etc.
+    # This defers until build time the configuration of
+    # install-guide.md, which could be faster for all the
+    # configurations that don't make the install guide even though it
+    # was possible.
     configure_file(configure-install-guide.cmake.in
         ${CMAKE_CURRENT_BINARY_DIR}/configure-install-guide.cmake
         @ONLY)
 
-    # This defers until build time the configuration of
-    # install-guide.md, which could be faster
+    # Configure the install-guide.md at build time
     add_custom_command(
-        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/install-guide.md
+        OUTPUT ${CMAKE_BINARY_DIR}/install-guide.md
         COMMAND ${CMAKE_COMMAND}
             -P ${CMAKE_CURRENT_BINARY_DIR}/configure-install-guide.cmake
         DEPENDS
@@ -60,30 +63,65 @@ if(INSTALL_GUIDE_BUILD_IS_POSSIBLE)
         VERBATIM
         )
 
-    # Make the HTML install guide
-    add_custom_command(
-        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/install-guide.html
-        COMMAND pandoc -t html -o ${CMAKE_CURRENT_BINARY_DIR}/install-guide.html install-guide.md -s --toc
-        DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/install-guide.md
-        VERBATIM
-        )
-
     # Make the INSTALL file for CPack for the tarball. This gets put
     # into the tarball via the CPack rules in the top-level
     # CMakeLists.txt
     add_custom_command(
         OUTPUT final/INSTALL
         COMMAND ${CMAKE_COMMAND} -E make_directory final
-        COMMAND pandoc -t plain -o final/INSTALL install-guide.md
-        DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/install-guide.md
+        COMMAND ${PANDOC_EXECUTABLE} -t plain -o final/INSTALL install-guide.md
+        DEPENDS
+            ${CMAKE_BINARY_DIR}/install-guide.md
         VERBATIM
         )
 
-    # Add a top-level target for the others to hook onto
+    # Make the single-page HTML install guide
+    add_custom_command(
+        OUTPUT ${HTML_OUTPUT_DIR}/install-guide.html
+        COMMAND
+            ${PANDOC_EXECUTABLE} install-guide.md -o ${HTML_OUTPUT_DIR}/install-guide.html -s --toc --css buttondown.css
+        DEPENDS
+            ${CMAKE_BINARY_DIR}/install-guide.md
+        VERBATIM
+        )
+
+    # Make the PDF install guide
+    add_custom_command(
+        OUTPUT ${HTML_OUTPUT_DIR}/install-guide.pdf
+        COMMAND
+            ${PANDOC_EXECUTABLE} install-guide.md -o ${HTML_OUTPUT_DIR}/install-guide.pdf -s --toc
+        DEPENDS
+            ${CMAKE_BINARY_DIR}/install-guide.md
+        VERBATIM
+        )
+
+    # Make the multi-page HTML install guide
+    #
+    # TODO This is currently disabled, because the pandoc-specific
+    # buttondown.css doesn't work with the different kind of output
+    # makeinfo produces. When we understand better how we want to
+    # do generation, decide whether we want multi-page HTML output
+    # and how to make it work well.
+    #
+    # add_custom_command(
+    #     OUTPUT ${HTML_OUTPUT_DIR}/index.html
+    #     COMMAND
+    #         ${PANDOC_EXECUTABLE} install-guide.md -o install-guide.texi -s
+    #     COMMAND
+    #         ${MAKEINFO_EXECUTABLE} install-guide.texi --html -o ${HTML_OUTPUT_DIR}/install-guide --css-ref buttondown.css
+    #     DEPENDS
+    #         ${CMAKE_BINARY_DIR}/install-guide.md
+    #     VERBATIM
+    #     )
+
+    # Add a top-level target for the webpage build to hook onto
     add_custom_target(install-guide
         DEPENDS
-           ${CMAKE_CURRENT_BINARY_DIR}/install-guide.html
-           final/INSTALL
+            final/INSTALL
+            ${HTML_OUTPUT_DIR}/install-guide.html
+            ${HTML_OUTPUT_DIR}/install-guide.pdf
         VERBATIM
         )
 endif()
+
+set(INSTALL_GUIDE_BUILD_IS_POSSIBLE ${INSTALL_GUIDE_BUILD_IS_POSSIBLE} PARENT_SCOPE)
similarity index 99%
rename from install-guide/install-guide.md
rename to docs/install-guide/install-guide.md
index 67eb2c7d06146e9e1a2440901115f42c02f1838d..9ab4db6b1095967e2d01bbd77527c1496098659d 100644 (file)
@@ -1,12 +1,12 @@
 % Installation guide for GROMACS @PROJECT_VERSION@
 
-# Building GROMACS #
+# Introduction to building GROMACS #
 
 These instructions pertain to building GROMACS
 @PROJECT_VERSION@. Up-to-date installation instructions may be found
 at <http://www.gromacs.org/Documentation/Installation_Instructions>.
 
-# Quick and dirty installation #
+## Quick and dirty installation ##
 
 1. Get the latest version of your C and C++ compilers.
 2. Check that you have CMake version @GMX_CMAKE_MINIMUM_REQUIRED_VERSION@ or later.
@@ -36,7 +36,7 @@ GROMACS, you will have to read further. Sadly, the interactions of
 hardware, libraries, and compilers are only going to continue to get
 more complex.
 
-# Typical GROMACS installation #
+## Typical GROMACS installation ##
 
 As above, and with further details below, but you should consider
 using the following [CMake options](#using-cmake-command-line-options) with the
@@ -55,7 +55,7 @@ appropriate value instead of `xxx` :
 * `-DGMX_FFT_LIBRARY=xxx` to select whether to use `fftw`, `mkl` or `fftpack` libraries for [FFT support](#fast-fourier-transform-library)
 * `-DCMAKE_BUILD_TYPE=Debug` to build GROMACS in debug mode
 
-# Building older GROMACS versions #
+## Building older GROMACS versions ##
 
 For installation instructions for old GROMACS versions, see the
 documentation at
@@ -200,7 +200,7 @@ Many simulations in GROMACS make extensive use of fast Fourier
 transforms, and a software library to perform these is always
 required. We recommend [FFTW](http://www.fftw.org) (version 3 or
 higher only) or
-[Intel MKL](http://software.intel.com/en-us/intel-mkl). The choice of
+[Intel MKL](https://software.intel.com/en-us/intel-mkl). The choice of
 library can be set with `cmake -DGMX_FFT_LIBRARY=<name>`, where
 `<name>` is one of `fftw`, `mkl`, or `fftpack`. FFTPACK is bundled
 with GROMACS as a fallback, and is acceptable if mdrun performance is
@@ -660,11 +660,11 @@ CMakeLists.txt.
 `share/man/`
   : Installed man pages go here.
 
-## Building GROMACS ##
+## Compiling and linking ##
 
-Once you have configured with `cmake`, you can build GROMACS. It is
-expected that the `make` procedure will always complete successfully,
-and give few or no warnings. The tests GROMACS makes on the settings
+Once you have configured with `cmake`, you can build GROMACS with `make`.
+It is expected that this will always complete successfully, and
+give few or no warnings. The CMake-time tests GROMACS makes on the settings
 you choose are pretty extensive, but there are probably a few cases we
 have not thought of yet. Search the web first for solutions to
 problems, but if you need help, ask on gmx-users, being sure to
@@ -675,7 +675,9 @@ message!
 
 If you have a multi-core or multi-CPU machine with `N`
 processors, then using
+
     $ make -j N
+
 will generally speed things up by quite a bit. Other build generator systems
 supported by `cmake` (e.g. `ninja`) also work well.
 
diff --git a/docs/linkcheckerrc b/docs/linkcheckerrc
new file mode 100644 (file)
index 0000000..888d543
--- /dev/null
@@ -0,0 +1,8 @@
+# .ini-style config file for linkchecker. Recommended use
+# for testing the GROMACS webpage is
+#
+# linkchecker index.html --ignore-url html-full --ignore-url html-user --ignore-url html-lib -f linkcheckerrc
+[filtering]
+# This site gives warnings about changed URLs, and suggests
+# using... the same URLs. Well done, someone.
+ignore=www.ks.uiuc.edu
similarity index 100%
rename from share/man/.gitignore
rename to docs/man/.gitignore
similarity index 97%
rename from share/man/CMakeLists.txt
rename to docs/man/CMakeLists.txt
index f61222e25117587baf42f98ae785dcbfa95df0f5..ffcff945a74d5fc21ffbb1157f794befb4452cfd 100644 (file)
@@ -1,7 +1,7 @@
 #
 # This file is part of the GROMACS molecular simulation package.
 #
-# Copyright (c) 2012,2013, by the GROMACS development team, led by
+# Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
 # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
 # and including many others, as listed in the AUTHORS file in the
 # top-level source directory and at http://www.gromacs.org.
similarity index 94%
rename from manual/CMakeLists.txt
rename to docs/manual/CMakeLists.txt
index 3628b0133a41b0c22915c0eb11d8600036d63e6c..0a012e04ff9e5351bf8cfb4e6de4367933abb426 100644 (file)
@@ -77,8 +77,8 @@ if(MANUAL_BUILD_IS_POSSIBLE)
     # updates in that HTML file without copying files by hand.
 
     ADD_CUSTOM_COMMAND(OUTPUT ${output_dir}/mdp_opt.tex
-        COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mkmdp ARGS ${CMAKE_SOURCE_DIR}/share/html
-        DEPENDS mkmdp ${CMAKE_SOURCE_DIR}/share/html/online/mdp_opt.html
+        COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/mkmdp ARGS ${CMAKE_CURRENT_SOURCE_DIR}/../old-html
+        DEPENDS mkmdp ${CMAKE_CURRENT_SOURCE_DIR}/../old-html/online/mdp_opt.html
         )
 
     # Finally, the command to build the manual.
@@ -113,3 +113,5 @@ else()
     # TODO Arrange for the "make manual" target to explain that this can't
     # be done
 endif()
+
+set(MANUAL_BUILD_IS_POSSIBLE ${MANUAL_BUILD_IS_POSSIBLE} PARENT_SCOPE)
similarity index 100%
rename from manual/README
rename to docs/manual/README
similarity index 100%
rename from manual/analyse.tex
rename to docs/manual/analyse.tex
similarity index 99%
rename from manual/averages.tex
rename to docs/manual/averages.tex
index 36588c1ca210bd965bba98ed437ffc985c90ea7a..752cf5b4a61238b9b5b675ceaa027a805c5459fb 100644 (file)
@@ -1,7 +1,7 @@
 %
 % This file is part of the GROMACS molecular simulation package.
 %
-% Copyright (c) 2013, by the GROMACS development team, led by
+% Copyright (c) 2013,2014, by the GROMACS development team, led by
 % Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
 % and including many others, as listed in the AUTHORS file in the
 % top-level source directory and at http://www.gromacs.org.
similarity index 99%
rename from manual/defunits.tex
rename to docs/manual/defunits.tex
index ee8c0feec6680d66b5dc8b11645ff33fe401f3a4..41d546a859f047c20ec3a3862d5e28763c6f7078 100644 (file)
@@ -1,7 +1,7 @@
 %
 % This file is part of the GROMACS molecular simulation package.
 %
-% Copyright (c) 2013, by the GROMACS development team, led by
+% Copyright (c) 2013,2014, by the GROMACS development team, led by
 % Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
 % and including many others, as listed in the AUTHORS file in the
 % top-level source directory and at http://www.gromacs.org.
similarity index 100%
rename from manual/fancy.sty
rename to docs/manual/fancy.sty
similarity index 100%
rename from manual/files.tex
rename to docs/manual/files.tex
similarity index 99%
rename from manual/gromacs.tex
rename to docs/manual/gromacs.tex
index 342c181d86df3a0547e15e46d7d63e4166a1fe13..8a496e649783c01b8be54c17c80f0cf1bed21a61 100644 (file)
@@ -1,7 +1,7 @@
 %
 % This file is part of the GROMACS molecular simulation package.
 %
-% Copyright (c) 2013, by the GROMACS development team, led by
+% Copyright (c) 2013,2014, by the GROMACS development team, led by
 % Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
 % and including many others, as listed in the AUTHORS file in the
 % top-level source directory and at http://www.gromacs.org.
similarity index 100%
rename from manual/here.sty
rename to docs/manual/here.sty
similarity index 100%
rename from manual/hfill.ist
rename to docs/manual/hfill.ist
similarity index 100%
rename from manual/index.gmx
rename to docs/manual/index.gmx
similarity index 100%
rename from manual/install.tex
rename to docs/manual/install.tex
similarity index 99%
rename from manual/intro.tex
rename to docs/manual/intro.tex
index 8d431fc2d13a715ab0db247f79d99545f9f715a4..b5f53bb601403164ffb823c69513b3f7937f165f 100644 (file)
@@ -1,7 +1,7 @@
 %
 % This file is part of the GROMACS molecular simulation package.
 %
-% Copyright (c) 2013, by the GROMACS development team, led by
+% Copyright (c) 2013,2014, by the GROMACS development team, led by
 % Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
 % and including many others, as listed in the AUTHORS file in the
 % top-level source directory and at http://www.gromacs.org.
similarity index 98%
rename from manual/macros.tex
rename to docs/manual/macros.tex
index cd24695efbc86e8ea1655bf006ed4e5258f1f746..ed8442fbb3b586ac81a1d5005e2c4cddd750b920 100644 (file)
@@ -1,7 +1,7 @@
 %
 % This file is part of the GROMACS molecular simulation package.
 %
-% Copyright (c) 2013, by the GROMACS development team, led by
+% Copyright (c) 2013,2014, by the GROMACS development team, led by
 % Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
 % and including many others, as listed in the AUTHORS file in the
 % top-level source directory and at http://www.gromacs.org.
similarity index 100%
rename from manual/mkmdp
rename to docs/manual/mkmdp
similarity index 100%
rename from manual/monster.bib
rename to docs/manual/monster.bib
similarity index 100%
rename from manual/picins.sty
rename to docs/manual/picins.sty
similarity index 100%
rename from manual/plots/myvi
rename to docs/manual/plots/myvi
similarity index 98%
rename from manual/programs.tex
rename to docs/manual/programs.tex
index 782d6caa3e395d87e646d033eb111e0244880e46..d9f6cb3232801af863820f85c8e4b837bb434bba 100644 (file)
@@ -1,7 +1,7 @@
 %
 % This file is part of the GROMACS molecular simulation package.
 %
-% Copyright (c) 2013, by the GROMACS development team, led by
+% Copyright (c) 2013,2014, by the GROMACS development team, led by
 % Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
 % and including many others, as listed in the AUTHORS file in the
 % top-level source directory and at http://www.gromacs.org.
similarity index 100%
rename from manual/proteins.bst
rename to docs/manual/proteins.bst
similarity index 100%
rename from manual/special.tex
rename to docs/manual/special.tex
similarity index 100%
rename from manual/subindex
rename to docs/manual/subindex
similarity index 100%
rename from manual/topology.tex
rename to docs/manual/topology.tex
similarity index 100%
rename from manual/unpubl.bib
rename to docs/manual/unpubl.bib
similarity index 100%
rename from share/html/links.dat
rename to docs/old-html/links.dat
similarity index 68%
rename from share/html/online/edi.html
rename to docs/old-html/online/edi.html
index 1d5002e3bbf7f515f424d5e7eed974398fd42e4d..4d619535de1a6010dce73d5c6ccca477ae41f7a4 100644 (file)
@@ -3,6 +3,7 @@
 Files with the edi file extension contain information for
 <a href="../programs/gmx-mdrun.html">gmx mdrun</a>
 to run Molecular Dynamics with Essential Dynamics constraints.
-These files can be generated by the program <tt>WEDSAM</tt> which uses 
+<!-- WEDSAM and ESSDYN seem to have vanished from WhatIf and the web-->
+<!--These files can be generated by the program <tt>WEDSAM</tt> which uses
 output from the programs in the <tt>ESSDYN</tt> menu of the
-<A HREF="http://www.sander.embl-heidelberg.de/whatif/">WHAT IF</A> program.
+<A HREF="http://www.sander.embl-heidelberg.de/whatif/">WHAT IF</A> program.-->
similarity index 98%
rename from share/html/online/files.html
rename to docs/old-html/online/files.html
index b27ca53880a20c3df7b7c2ec9c40426ca33207b1..ee57c53221123e038d6e45c2f494062e6da11cd3 100644 (file)
@@ -7,7 +7,7 @@
 <a href="../programs/gmx-grompp.html">gmx grompp</a> and
 <a href="../programs/gmx-convert-tpr.html">gmx convert-tpr</a>
 <dt><a href="m2p.html">m2p</a>
-<dd>input for <a href="../programs/xpm2ps.html">gmx xpm2ps</a>
+<dd>input for <a href="../programs/gmx-xpm2ps.html">gmx xpm2ps</a>
 </dl>
 
 <br><dt><h3>Structure files</h3>
diff --git a/docs/old-html/online/hdb.html b/docs/old-html/online/hdb.html
new file mode 100644 (file)
index 0000000..8dfd3d8
--- /dev/null
@@ -0,0 +1,7 @@
+<title>hdb file format</title>
+<H3>Description</H3>
+The hdb file extension stands for hydrogen database
+Such a file is needed by <a href="../programs/gmx-pdb2gmx.html">gmx pdb2gmx</a>
+when building hydrogen atoms that were either originally missing, or that
+were removed with <tt>-ignh</tt>.
+</PRE>
similarity index 98%
rename from share/html/online/mdp.html
rename to docs/old-html/online/mdp.html
index d55efb5372540f9f9b8a51ae0089a7b999d2b7d0..423c928bbed7f4357b5a1a6d38dcf7623b58e7a4 100644 (file)
@@ -48,7 +48,7 @@ constraints              = all-bonds
 <hr>
 
 <p>
-With this input <a href="grompp.html"><tt>grompp</tt></a> will produce
+With this input <a href="../programs/gmx-grompp.html"><tt>grompp</tt></a> will produce
 an <tt>mdout.mdp</tt> with all the options and descriptions:
 </p>
 
similarity index 95%
rename from share/html/online/xtc.html
rename to docs/old-html/online/xtc.html
index 419bafa2d30155bf3c9e2bb454ccee82aaebf79e..acf2c52b1c693528de470e0f9a66acbf76f58555 100644 (file)
@@ -10,8 +10,8 @@ These are rounded to integer values. Then several other tricks are
 performed, for instance making use of the fact that atoms close
 in sequence are usually close in space too (e.g. a water molecule).
 To this end, the <i>xdr</i> library is extended with a special routine
-to write 3-D float coordinates. This routine was written by Frans van Hoesel
-as part of an Europort project, and can be obtained through <a href="http://hpcv100.rc.rug.nl/xdrf.html">this link</a>.
+to write 3-D float coordinates. <!-- link is broken--><!-- This routine was written by Frans van Hoesel
+as part of an Europort project, and can be obtained through <a href="http://hpcv100.rc.rug.nl/xdrf.html">this link</a>.-->
 <p>
 All the data is stored using calls to <i>xdr</i> routines.
 
diff --git a/doxygen/index.html b/doxygen/index.html
deleted file mode 100644 (file)
index 1b546ac..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<body>
-    <h1>Doxygen documentation for Gromacs</h1>
-    <p>
-        Each set of documentation below includes all the information from
-        the sets above it.
-    </p>
-    <ul>
-        <li><a href="html-user/index.xhtml">Public API documentation</a></li>
-        <li><a href="html-lib/index.xhtml">Library documentation, excluding intramodule documentation</a></li>
-        <li><a href="html-full/index.xhtml">Full documentation including internal functions</a></li>
-    </ul>
-</body>
-</html>
index e89e6ff9fe57319020c910b0604a384359d6f3a5..e82d2d5baa28ace039a4921e7d1fe824c7cd9dc0 100644 (file)
@@ -32,8 +32,6 @@
 # To help us fund GROMACS development, we humbly ask that you cite
 # the research papers on the package. Check out http://www.gromacs.org.
 
-add_subdirectory(html)
-add_subdirectory(man)
 add_subdirectory(template)
 
 install(FILES README.tutor README_FreeEnergyModifications.txt