About Matthew Miner's Amazing Attorney-y Academic Assortment

All of this was hand-written in PHP with some CSS and JS and Apache .htaccess files (which are sooooo annoying) and hosted on a server I set up on NearlyFreeSpeech.NET. No frameworks were used, and it's not super user-friendly on my end. I'm not opposed to sharing info about anything if you contact me, but be warned that I used it all for like a year before refactoring it to be object-oriented. Also, it's not very user-friendly on my end. There's no easy way to set this up for yourself or to add briefs. I just made up a process and memorized it.

For briefs, I type them as XML files with set tags for each section, and the site scans the folders of them and generates the lists of them by class accordingly. Then for individual briefs, the site reads the corresponding XML file, reads a set list of tags, and generates the brief based on that. It supports linking other things by using specific tags, rearranging sections by using attributes, and linking the reporter(even with pin cites) by including the citation. Finally, it supports a weird limited amount of Markdown powered entirely by...Regex! (why did i do that...) Also I added support for Spanish, but that has not been utilizado. It then caches the brief until the XML or PHP files change. It also tries to compile court names and some info for Lexis and WestLaw pin cites based on the reporter info, but I never quite got that working right.

For outlines, I type up each term as its own HTML file and use Mustache-esque double bracket tags to indicate where to import the files for other outlines. Then the site goes through the file, searches for case names and other terms in the text, automatically adds links to them through a very complicated process, replaces all the other terms' tags with their files, and then links them. Finally, its supposed to cache each individual term, including its included terms, so that it doesn't have to redo it all when you change something. However, the caching is very troublesome to get working right, especially when a term is missing, but the site's handling load pretty well so whatever.