webLurch Developer Docs
A Development Platform
Rewriting the Lurch desktop app for the web involves building many supporting tools that we call the Lurch Web Platform. Other developers can build math-enabled web apps on the same platform, which improves the platform and grows the community.
We've made the architecture simple and the learning curve small. See the demo applications and tutorial to start developing. We are currently using the platform to build the web rewrite of desktop Lurch.
Architecture
The following table illustrates the software architecture. Read it from the bottom up.
Applications: | Lurch Proof Checker | Demo apps | Your app |
Platform: | Lurch Web Platform | ||
Foundation: | TinyMCE editor |
Getting involved
If you're interested in helping out with development of this project (e.g., upstream commits if you use the platform), contact Nathan Carter.
Repository details
All source code is in literate CoffeeScript. This makes it highly readable, especially on GitHub, which renders it as MarkDown. I have tried to be verbose in my comments, to help new readers.
Repository overview:
/
(root folder)package.json
- used by node.js to install dependencies (The app runs in a browser, not node.js. This is just for dev tools.)cake.litcoffee
andbuildutils.litcoffee
define the build process.
app/
folder- Demo apps and the plugins that create them reside here. You can try them out live on the web; see the demo apps and tutorials page.
- The Lurch Proof Checker is being rewritten for the web and many of its files live in this folder.
src/
folder- Source code files used for building the platform.
- The build process compiles these into files in the
app
folder.
test/
folder- Unit tests.
- To run them, execute
cake test
in the main folder, after you've set it up as per the Getting Started page. - Test reports go to a
reports/
folder that the test suite creates
doc-src/
folder- All source files (Markdown) for documentation, generated by mkdocs.
docs/
folder- Exists only in
gh-pages
branch - Compiled version of
doc-src/
folder, for hosting on GitHub Pages
- Exists only in
jsfs/
folder