abella icon indicating copy to clipboard operation
abella copied to clipboard

Improve web page generation

Open chaudhuri opened this issue 10 years ago • 9 comments

  • [ ] Abella should output XML or sexps or something that doesn't require guesswork
  • [ ] Need to remove the dependency on OMake.
  • [ ] Consider rewriting the web-page generation code in OCaml

chaudhuri avatar Jul 15 '13 13:07 chaudhuri

https://github.com/abella-prover/abella-prover.org/issues/4 just referencing.

amerikan avatar Jun 05 '18 00:06 amerikan

Is there any plan to revamp the generation of html versions of developments? I'm re-building my PFPL development in Abella 2.0.6 and would like to make the whole thing available to students. Ideally, users should be able to type abella --html devel.thm or abella2html devel.thm and get HTML output in devel.html and devel-details.html.

lambdacalculator avatar Feb 24 '19 00:02 lambdacalculator

One additional idea: when building the HTML, run abella with witnesses=on and use the information generated to enable display of search witnesses when hovering over the search tactic in a proof.

lambdacalculator avatar Feb 24 '19 01:02 lambdacalculator

There are always plans. I wish I had more time to spare to fix up all the weird corners of Abella. We are trying to hire a full time engineer to work on it.

For the time being you can make Abella-like web site output by putting your code in a subdirectory of abella/examples and running omake -j 1 upload-html. You will need to have omake (opam install omake) and Ruby with erb (apt-get install ruby erb). You will need to run this from the Abella source distribution, not the version installed with OPAM. The generated files for foo.thm will be called foo.html and foo-details.html, which you can freely move to any other location.

chaudhuri avatar Feb 26 '19 16:02 chaudhuri

OK, thanks. As an aside, I noticed that this process only works if I copy all of my files to a directory in abella/examples; it doesn't work if I simply add a symbolic link there to my own repository. Is there a reason that omake doesn't follow symbolic links or provide an option that requests that it does? I couldn't find anything in the documentation that answers this.

lambdacalculator avatar Feb 27 '19 22:02 lambdacalculator

I don't know why the $(subdirs) directive of omake doesn't chase symlinks, sorry.

chaudhuri avatar Mar 04 '19 09:03 chaudhuri

I have started building a simple version of this, however, it's in Python 3.5, is there a preference in ecosystem?

To start I am keeping it simple, for example, python abella2html.py path/to/thm/myproof.thm would generate a simple myproof.html file. A later iteration can include folder and generate all .thm files in it.

amerikan avatar May 22 '19 04:05 amerikan

Here's the implementation: https://github.com/amerikan/abella2html

Note: currently it generates the "details" html

amerikan avatar May 22 '19 07:05 amerikan

Example preview of generated html:

Screen Shot 2019-05-22 at 1 04 42 AM

Screen Shot 2019-05-22 at 1 48 27 AM

amerikan avatar May 22 '19 08:05 amerikan