[% # map of pages in the Demeter book
   # this file lives in the etc/ directory and is copied to the
   # config/ directory for each display medium when the configure
   # script is run

   map = {
       name = 'Demeter Progamming Guide'
       menu = [ 'index',
		'intro',
		'data',
		'mue',
		'xanes',
		'highlevel',
		'atoms',
		'feff',
		'paths'
		'gds',
                'fit',
                'perl',
		'lgcv',
		'pathlike'
		'su',
		'ui',
		'output',
		'examples'
	      ]
       page = {
	    index   = { name = 'Home' }
	    intro   = { name = 'Introduction'}
	    data    = {
		    name = 'Importing data'
		    menu = [ 'mue', 'chi', 'columns', 'athena', 'mc', 'special',
		    	     'other', 'plot' ]
		    page = {
			   mue     = { name = 'mu(E) data files' }
			   chi     = { name = 'chi(k) data files' }
			   columns = { name = 'Column data files' }
			   athena  = { name = 'Athena project files' }
			   mc      = { name = 'Multichannel data files' }
			   special = { name = 'Special data types' }
			   other   = { name = 'Handling arbitrary data' }
			   plot    = { name = 'Basic plotting and data processing' }
			   }
		    }
	    mue    = {
		      name = 'Processing mu(E) data'
		      menu = [ 'align',  'merge', 'deglitch', 'truncate', 'noise', 'smooth',
		      	       'convolve', 'deconvolve', 'rebin', 'dispersive']
		      page = {
			     align      = { name = 'Aligning data' }
			     merge      = { name = 'Merging data' } 
			     deglitch   = { name = 'Deglitching data' }
			     truncate   = { name = 'Truncating data' }
			     noise      = { name = 'Adding artificial noise to data' }
			     smooth     = { name = 'Smoothing data' }
			     convolve   = { name = 'Convolving data' }
			     deconvolve = { name = 'Deconvolving data' }
			     rebin      = { name = 'Rebinning data' }
			     dispersive = { name = 'Processing dispersive XAS data' }
                      }
		    }
            xanes = {
	    	  name = 'Analysis of XANES data'
		  menu = [ 'lcf', 'peak', 'pca', 'diff' ]
		  page = {
		       	 lcf  = { name = 'Linear Combination Fitting' }
		       	 peak = { name = 'Peak Fitting' }
		       	 pca  = { name = 'Principle Components Analysis' }
		       	 diff = { name = 'Difference Spectra' }
			 }
                     }
	    highlevel   = {
		       name = 'High level actions for Demeter objects'
		       menu = [ 'dispose', 'mode', 'plot', 'config', 'methods' ]
		       page = {
			      dispose = { name = 'Command disposal and command templates' }
			      mode    = { name = 'The Mode object' }
			      plot    = { name = 'The Plot object' }
			      config  = { name = 'The Config object' }
			      methods = { name = 'Other high level methods' }
			      }
		       }
	    atoms   = {
		       name = 'Atoms'
		       menu = [ 'input', 'methods', 'output' ]
		       page = {
			      input   = { name = 'Input crystal data' }
			      methods = { name = 'Atoms methods' }
			      output  = { name = 'Output Feff data' }
			      }
		       }
	    feff       = {
		       name = 'Feff'
		       menu = [ 'input', 'potph', 'pathfinder', 'intrp' ]
		       page = {
			      input      = { name = 'Feff input' }
			      potph      = { name = 'Calculating potentials' }
			      pathfinder = { name = 'Running the path finder' }
			      intrp      = { name = 'Path interpretation' }
			      }
		       }
	    paths   = {
		       name = 'Scattering paths'
		       menu = [ 'paths', 'semantic', 'pathparams', 'plot', 'existing' ]
		       page = {
			      paths      = { name = 'Calculating individual paths' }
			      semantic   = { name = 'Semantic path descriptions' }
			      pathparams = { name = 'Setting path parameters' }
			      plot       = { name = 'Plotting individual paths' }
			      existing   = { name = 'Using an existing Feff calculation' }
			      }
		       }
	    gds  = {
		       name = 'Guess/Def/Set parameters'
		       menu = [ 'types', 'reporting' ]
		       page = {
			      types      = { name = 'Parameter types' }
			      reporting  = { name = 'Reporting on GDS parameters' }
			      }
		       }
	    fit = {
		       name = 'Fitting EXAFS data'
		       menu = [ 'collection', 'sanity', 'after', 'happiness' ]
		       page = {
			      collection = { name = 'Setting up a fitting model' }
			      sanity     = { name = 'Sanity checking a fitting model' }
			      after      = { name = 'After a fit finishes' }
			      happiness  = { name = 'The non-statistical happiness parameter' }
			      }
		       }
	    perl   = {
                          name = 'Using perl to create a fitting model'
			  menu = ['control', 'clone']
			  page = {
				 control = { name = "Using perl's control structures" }
				 clone   = { name = 'Cloning Demeter objects' }
				 }
			 }
	    lgcv   = { name = 'Local guess parameters and the characteristic value'}
	    pathlike   = {
                          name = 'Path-like objects'
			  menu = ['vpath', 'fspath', 'fpath', 'sspath', 'mspath', 'threebody', 'forward']
			  page = {
				 vpath  = { name = "VPath" }
				 fspath = { name = 'FSPath' }
				 fpath  = { name = 'FPath' }
				 sspath = { name = 'SSPath' }
				 mspath = { name = 'MSPath' }
				 threebody = { name = 'ThreeBody' }
				 forward = { name = 'Forward' }
				 }
			 }
	    su   = { name = 'Structural Units'}
	    ui   = { name = 'User interfaces'}
	    output   = { name = 'Output formats'}

	    examples   = {
                          name = 'Full examples'
			  menu = ['methyltin', 'agau', 'uranyl', 'histo']
			  page = {	  
				 methyltin = { name = "Methyltin chloride" }
			         agau      = { name = "Silver/gold alloy" }
				 uranyl    = { name = "Uranyl complex in solution" }
				 histo     = { name = "Histogram" }
				 }
			 }
          }
      };
    # save map in site
    site.map = map;
-%]

[% SWITCH document_style %]
[% CASE 'html' %]
   [%# expand map recursively %]
   [% PROCESS config/expand %]
[% CASE 'latex' %]
   [%# do nothing %]
[% CASE 'pod' %]
   [%# expand map recursively %]
   [% PROCESS config/expand %]
[% END -%]
