LispNYC’s Homebase Webapp
It’s not perfect, contains Unix-isims, is a growing work in progress and called home by many Lispnycs.
In order to compile and run the project, either stand-alone or within the Jetty webapp framework, it requires:
- Java - OpenJDK or the official Sun/Oracle
- Maven - version in Linux distros is fine
- lispnyc-appserver project
Some resources from the lispnyc-appserver project project are used directly here, they’re symlinked (or copied) over:
pebbleblog-articles -> lispnyc-appserver/pebbleblog-articles html -> src/html src/html/static -> lispnyc-appserver/homebase-static
The static directory is copied directly from the lispnyc-appserver project because Jetty won’t easily serve up symlinked directories. Just keep that in mind so that HTML modifications don’t get out of sync between the Standalone and WAR operation.
There are two ways to run this, standalone or via a WAR deployment along with the other webapps. Running standalone is quicker but you don’t get access to the wiki CMS or blog system, only the blog data.
It’s pretty easy, just run:
./make-symlinks.sh # only run this once lein deps ./start
Look at http://localhost:8080
WAR Deployed Execution
Because our homebase webapp (home.war) acts as the default application, it can’t just be dropped into webapps after Jetty is running. Therefore home.war sould be expanded into webapps/home when Jetty is initialized. The build-deploy.sh script is designed to make that process easier.
./make-symlinks.sh # run this only once lein deps ./build-deploy.sh