Coder Social home page Coder Social logo

carlinmack / afp Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 252.53 MB

Home Page: https://afp.theoremproving.org

TeX 0.53% HTML 86.36% Python 0.01% JavaScript 0.01% Shell 0.01% Smarty 0.01% Isabelle 12.30% Standard ML 0.71% OCaml 0.02% Makefile 0.01% Lex 0.01% Haskell 0.06% Prolog 0.01% Yacc 0.01% C 0.01% C++ 0.01% Java 0.01% Gnuplot 0.01% Roff 0.01% Awk 0.01%
isabelle isabelle-hol

afp's Introduction

Archive of Formal Proofs Redesign

Masters Project at the University of Edinburgh


This project is a reimplementation of the Archive of Formal Proofs using Hugo. The resulting website has many advantages over the previous version.

๐Ÿ‘‰ View website - afp.theoremproving.com

๐Ÿ‘‰ View project report - Developing a New Web Application for the Archive of Formal Proofs: Part One

If there is a feature you'd like, or a roadblock to you using this, please create an issue!

Contents

Current Status

This project is a redesign which feature complete with the AFP, plus the following features:

  • Client-side search:
    • Responsive to user input plus autocomplete suggestions. The search was then
    • Integration with FindFacts which provides additional results from the code of the AFP.
  • Improved navigation:
    • Addition of author, topic and dependency pages which allow navigation to all entries by an author, in a topic, or depend on the same entry.
    • Related entries are generated and added to entries where appropriate.
  • Script browsing:
    • All scripts from an entry are visible on one page.
    • Links to lemmas similar to SideKick
  • Machine Readable Format:
    • A JSON release of the metadata.

Performance

Version Time (sec) # Pages Pages/sec Size (MB) MB/sec
Current AFP 48โ€“79 602 8โ€“13 4 0.05โ€“0.09
Redesigned AFP 44โ€“53 2,506 47โ€“57 951 17.9โ€“26.1
without theories 20โ€“22 1,913 80โ€“96 26 1.2โ€“1.3

Requirements and installation

For development, you will need the ability to run bash scripts. So if you are on Windows you will need to install WSL.

You will also need Python >= v3.3 and pip. Once these are installed, please change directory to src/afp-devel/admin and run python -m pip install -r requirements.txt.

Additionally, you need to download hugo_extended >= v0.81. Personally I download hugo_extended_0.81.0_Linux-64bit.deb from the releases and install it with sudo dpkg -i hugo_extended_0.81.0_Linux-64bit.deb.

If the site is only to be locally hosted, only installation of Hugo is needed.

Locally hosting the site

  1. Clone the repository (note the depth flag to save space)
git clone --depth 1 https://github.com/carlinmack/afp.git
  1. Change directory
cd afp/src/afp-devel/admin/hugo/
  1. Start the Hugo server
hugo server

The site should now be available at localhost:1313/

Updating the site

  1. Ensure you are in the afp/src/afp-devel/admin/ directory.

  2. Update the site

python exportMetadata.py
  1. Regenerate the site by changing to the afp/src/afp-devel/admin/hugo/ directory
hugo --minify

๐Ÿ‘‰ Documentation of all available modules

Contributions

I gladly accept contributions via GitHub pull requests! Please create an issue first so I can advise you on the best approach :)


afp's People

Contributors

carlinmack avatar dacit avatar github-actions[bot] avatar

Stargazers

 avatar

Watchers

 avatar  avatar

afp's Issues

bad encoding in newer entries' theory files

So I just stumbled over this redesign, and I have to say, I like it a lot!

Unfortunately, newer entries appear to have broken encoding/templating in their theory files (e.g. this one):

image

There's a lone ead> under the header, and non-ascii characters in the theory seem to get "chunked" apart:

image

Some cursory poking around in the history of entries seems to show that this first happened for Regular Tree Relations & for every entry since, but not for any before. That entry got added in 0ca12c2, and there's a bunch of non-automatic commits just before it (aafb704 through 1774166) so I guess the bug got introduced somewhere in there, probably in this diff?

โ€ฆ anyways, since I didn't get a python environment working to try and test this out further I'm just leaving this here as a bug report

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.