Coq website
This repository contains the static pages of the Coq website
make
make run
Pre-html sources are in pages/
and news/
, while final html files
will be assembled in dest/
.
Prerequisites
The html files are pre-processed by Yamlpp. A copy of
yamlpp is included in this repository, we simply need an OCaml
toplevel to run it as a script. If you further modify the source
file yamlpp.mll
to customize the pre-processing, you will also need
ocamllex
to regenerate yamlpp.ml
.
How to edit an existing page?
- Edit the source file containing the webpage (legacy and secondary URL aliases
can be found in the
LEGACYINDEX
andSECONDARYINDEX
files) - Run
make
and check that the produced file is ok (e.g.dest/node/3.html
) If that may help,make run
launches a small local webserver - Commit your change and push it to the main repository The update of coq.inria.fr should then be automatic (TODO)
How to create a new page?
-
Add your new file in
pages/
. File name is up to you, but please avoid strange ones. Files inpages/
will be pre-processed by Yamlpp (seeyamlpp-*/README
for me details). Basically, to be uniform with the other pages of the site, your file should look like:<#def TITLE> your page title </#def> <#include "incl/header.html">
with your HTML code corresponding roughly to the inner of the HTML body:
<#include "incl/footer.html">
In addition, you could add just after the TITLE two other macro definitions:
- HEAD : anything in it will be added at the end of the
<head>
section - PATH : some code displayed before the title of your page, usually
a sequence of links to your page ancestors. See Drupal's breadcrumb.
By default:
<a href="/">Home</a>
.
- HEAD : anything in it will be added at the end of the
-
Ensure that your page is built and installed. Normally, this amounts to adding a new line to the PAGES file, with the shape
localname:nicename
. You could add multiple lines to have multiple aliases for the same page.Nota: for pages converted from Drupal, the relevant part of the url is now a directory, in with we place an index.html. This approach is also recommended for new pages, but not mandatory.
-
make, verify, commit, push as for the edition of an existing page below.
And for news?
-
Add a new file in
news/
with an increased number as filename. You can for instance copynews/template
and adapt it, or any existing news files. Seenews/template
for details about the expected syntax. -
In the file NEWS, add your news number, with an optional url alias. In the Makefile, update the
$(RECENTNEWS)
variable. -
make, verify, commit, push as usual