Folke is an interactive proof editor for propositional and first-order logic. It is based on the course DAT060 Logic in computer science on Chalmers.
This is a web version of the original version of Folke.
https://thecoder5550.github.io/folke-online/
- React: to simplify state managment, supports components with JSX, update only parts of UI that changes state
- Typescript: add types to javascript
- Vite: Compile typescript and allows for hot reloading
- Haskell: Folke is built with haskell
- Docker: Automatically install needed programs and utilities
- Docker with WSL enabled
- VSCode with dev container extensions installed
- Clone the repo inside WSL (hot reloading doesn't work otherwise)
- Open the cloned repo in VSCode
- Re-open in dev container (to automatically install node, ghc, ghc-wasm and cabal packages)
- Install dependencies:
npm install
- Build haskell and generate components
make
- Start dev server with hot reloading enabled
npm run dev
Follow the instruction for the windows installation but clone the repo normally without WSL.
- Build everything
npm run build
- Run build
npm run preview
Run the following make script to convert Markdown files into .tsx components. This is a lot faster than rebuilding the whole project.
make generate-components