Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file init.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101(*********************************************************************************)(* Stog *)(* *)(* Copyright (C) 2012-2015 INRIA All rights reserved. *)(* Author: Maxence Guesdon, INRIA Saclay *)(* *)(* This program is free software; you can redistribute it and/or modify *)(* it under the terms of the GNU General Public License as *)(* published by the Free Software Foundation, version 3 of the License. *)(* *)(* This program 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 General Public License for more details. *)(* *)(* You should have received a copy of the GNU General Public *)(* License along with this program; if not, write to the Free Software *)(* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *)(* 02111-1307 USA *)(* *)(* As a special exception, you have permission to link this program *)(* with the OCaml compiler and distribute executables, as long as you *)(* follow the requirements of the GNU GPL in regard to all of the *)(* software in the executable aside from the OCaml compiler. *)(* *)(* Contact: Maxence.Guesdon@inria.fr *)(* *)(*********************************************************************************)(** *)openTypesmoduleXR=Xtmpl.Rewriteletinit_modulesstog=letmodules=Engine.modules()inList.map(fun(name,f)->Log.info(funm->m"Initializing module %s"name);fstog)modulesletinit_common?(set_fields=funstog->stog)stogs=letstog=Types.merge_stogsstogsinletstog=set_fieldsstoginletstog=Info.remove_not_publishedstoginletstog=Info.computestoginstogletfrom_dirs?set_fieldsdirs=letstogs=List.mapIo.read_stogdirsinletstog=init_common?set_fieldsstogsinletdef_style=(("",Tags.default_style),XR.atts_empty,XR.from_string"<link href=\"<site-url/>/style.css\" rel=\"stylesheet\" type=\"text/css\"/>")inletstog={stogwithstog_defs=stog.stog_defs@[def_style]}instogletfrom_files?set_fieldsfiles=letdir=Sys.getcwd()inletload_docfile=letfile=ifFilename.is_relativefilethenFilename.concatdirfileelsefileinletdir=Filename.dirnamefileinletstog=Types.create_stog~source:`Filedirinletstog={stogwithstog_tmpl_dirs=[dir]}inletdoc=Io.doc_of_filestogfileinTypes.add_docstogdocinletstogs=List.mapload_docfilesinletremove_add_docsstog=(* remove add-docs levels from base module *){stogwithstog_levels=Types.Str_map.addHtml.module_name["add-docs",[]]stog.stog_levels;}inletset_fields=matchset_fieldswithNone->remove_add_docs|Somef->funstog->remove_add_docs(fstog)inletstog=init_common~set_fieldsstogsinletstog=Io.read_modulesstoginletdef_style=(("",Tags.default_style),XR.atts_empty,XR.from_string"<style><include file=\"<doc-type/>-style.css\" raw=\"true\"/></style>")inletstog={stogwithstog_defs=stog.stog_defs@[def_style]}instog