Moved `source` page generation function to a new function module. Added option to function to create plain text download with a sanitized filename and made it accessible from a new page: `download`.
Added the `download` item to the BrewItem so it appears on each brew on the User page.
Added `sanitize-filename` dependency to `package.json`.
* Update server.js
Eliminate requirement to CD into project directory prior to running `npm start` or `node server.js`.
* Add rc.d daemon script
Adds a RC.d daemon script to control the HomeBrewery status. Based on Andrew Pearson's Node-RED script for the same purpose.
* Create install.sh
* Update install.sh
* Update install.sh
Switch to latest version of MongoDB
* Add config items
Add config items and default values:
- web_port (8001)
- environment (local)
* Remove environment variables from rc.d
Remove environment variables from rc.d as they are now in config/default.json.
* Update server.js
Change to setting NODE_ENV; default to 'local' if not set via environment variable or in the config file.
* Remove --force option
Remove --force option from `npm audit fix`. While this has not caused any issues to date, there is no guarantee that it will continue to be the case.
* Create README.FREEBSD.md
Initial write up of install instructions. Includes instruction to `wget` from the `naturalcrit/homebrewery` project rather than the FreeBSD fork, on the assumption that the PR will be merged at some point.
* Update install.sh
Change to main project repo, on assumption that the PR will be merged at some point
* Change install directory
Change of install directory to `/usr/local/homebrewery`
* Update homebrewery
Add `dev_mode` to the HomeBrewery service, which starts the HomeBrewery project in live rebuild mode.
* Update server.js
Eliminating unnecessary debugging code, reducing line count and making lint happy :)
* Update server.js
Lint is happy, now attempting to pacify CircleCI
* Move NODE_ENV to service file; remove from server.js and config/default.json
* Remove hanging comma in config.json
Change default port assignment from 8000 to 8001 in config.json and FreeBSD service config
* Add link to FreeBSD install documenation in the main README.md file
* Fix for MongoDB package update breaking install script
Change to enable use of rcvars for NODE_ENV and PORT
Fix for page numbers, footers, and footnotes being on the wrong side of the page after a cover page has been inserted - as per Reddit post: https://redd.it/kncoe7
Added circleci build badge.
Added contribution section.
Refactored the source to fit (mostly) into
80-column limit so it can be nicely read in
terminal applications
1) Rendering is fast enough on the client we don't need to provide SSR for the brew contents.
2) This leaves our server open to REDOS attacks if users create ridiculously long single lines of text. The Markdown parser slows down with exponential time which becomes noticeable at 10,000+ characters in one line, and at 200,000+ characters will stall the server and eventually crash.
3) This now shows a nice loading circle for the half-second that a page takes to render. If a user tries to load a huge line of text the loading circle will be there instead of a blank white page.
Initial write up of install instructions. Includes instruction to `wget` from the `naturalcrit/homebrewery` project rather than the FreeBSD fork, on the assumption that the PR will be merged at some point.