All Projects → coq-community → coqdocjs

coq-community / coqdocjs

Licence: BSD-2-Clause license
Collection of scripts to improve the output of coqdoc [maintainers=@chdoc,@palmskog]

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to coqdocjs

Foundations
Voevodsky's original development of the univalent foundations of mathematics in Coq
Stars: ✭ 210 (+650%)
Mutual labels:  coq
coq-elpi
Coq plugin embedding elpi
Stars: ✭ 92 (+228.57%)
Mutual labels:  coq
koika
A core language for rule-based hardware design 🦑
Stars: ✭ 103 (+267.86%)
Mutual labels:  coq
corn
Coq Repository at Nijmegen [maintainers=@spitters,@VincentSe]
Stars: ✭ 106 (+278.57%)
Mutual labels:  coq
coq-to-ocaml-to-js
Proof of concept to generate safe and fast JavaScript
Stars: ✭ 25 (-10.71%)
Mutual labels:  coq
CoqCheatSheet
Reference sheet for the Coq language.
Stars: ✭ 15 (-46.43%)
Mutual labels:  coq
Coqgym
A Learning Environment for Theorem Proving with the Coq proof assistant
Stars: ✭ 201 (+617.86%)
Mutual labels:  coq
Actuary
Formalization of the basic actuarial mathematics using Coq
Stars: ✭ 17 (-39.29%)
Mutual labels:  coq
coq-100-theorems
Statements of famous theorems proven in Coq [maintainer=@jmadiot]
Stars: ✭ 41 (+46.43%)
Mutual labels:  coq
coqffi
Coq to OCaml FFI made easy [maintainer=@lthms]
Stars: ✭ 27 (-3.57%)
Mutual labels:  coq
goose
Goose converts a small subset of Go to Coq
Stars: ✭ 73 (+160.71%)
Mutual labels:  coq
iris-simp-lang
We define a simple programming language, simp_lang, then instantiate Iris to verify simple simp_lang programs with concurrent separation logic.
Stars: ✭ 40 (+42.86%)
Mutual labels:  coq
coq-ecosystem
No description or website provided.
Stars: ✭ 39 (+39.29%)
Mutual labels:  coq
Vellvm
The Vellvm (Verified LLVM) coq development.
Stars: ✭ 243 (+767.86%)
Mutual labels:  coq
coqeal
The Coq Effective Algebra Library [maintainers=@CohenCyril,@proux01]
Stars: ✭ 62 (+121.43%)
Mutual labels:  coq
Fscq
FSCQ is a certified file system written and proven in Coq
Stars: ✭ 208 (+642.86%)
Mutual labels:  coq
toychain
A minimalistic blockchain consensus implemented and verified in Coq
Stars: ✭ 103 (+267.86%)
Mutual labels:  coq
hydra-battles
Variations on Kirby & Paris' hydra battles and other entertaining math in Coq (collaborative, documented, includes exercises) [maintainer=@Casteran]
Stars: ✭ 38 (+35.71%)
Mutual labels:  coq
coq-tal
Formalization of Typed Assembly Language (TAL) in Coq
Stars: ✭ 15 (-46.43%)
Mutual labels:  coq
stablesort
Stable sort algorithms and their stability proofs in Coq
Stars: ✭ 19 (-32.14%)
Mutual labels:  coq

CoqdocJS

CoqdocJS is a little script to dynamically improve the coqdoc output. The result can be seen here:

https://www.ps.uni-saarland.de/autosubst/doc/Ssr.POPLmark.html

It offers the following features:

  • Customizable Unicode display: It only changes the display, copy-paste from the website produces pure ASCII. It only replaces complete identifiers or notation tokens, possibly terminated by numbers or apostrophes. It does not replace randomly, like in "omega." or "tauto." To add new symbols, edit config.js.
  • Proof hiding: All proofs longer than one line are hidden by default. They can be uncovered by clicking on "Proof...".

All of this works with the ordinary coqdoc, by asking coqdoc to use a header file including the javascript files and some custom CSS.

Usage

Set-up a new project

This repo is a complete setup with a generic Makefile. Just add your Coq files in the same folder as the Makefile. Execute make to build the Coqdoc website in the folder html. Specify the name of your package in the file _CoqProject. Optionally, you can list your source files in _CoqProject. Then the makefile will only build these files and the documentation will list them in the specified order.

Integrate into existing project

Make sure that your Makefile passes header.html and footer.html as command-line arguments to coqdoc and copies the content of extra/resources to the folder containing the built website. Confer the supplied Makefile for details.

Files

  • Makefile and _CoqProject: a generic Makefile setup that calls coqc and coqdoc with the right parameters
  • config.js: contains the unicode replacement table
  • coqdoc.css: a replacement for the default Coqdoc CSS style. Can be removed to use the default style
  • coqdocjs.js and coqdocjs.css: the script rewriting the DOM and adding the dynamic features with a corresponding CSS style
  • header.html and footer.html: custom header and footer files used in every generated html file
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].