Ready to hack on your site? Here's a quick overview.
After installing Go and Node.js, run the following commands to build, configure, and run the application.
go get -d github.com/writeas/writefreely/cmd/writefreely cd $GOPATH/src/github.com/writeas/writefreely make build # Compile the application make install # Config, generate keys, setup database, install LESS compiler make run # Run the application
Use the following steps to build WriteFreely without Make. First, get the code:
git clone https://github.com/writeas/writefreely.git cd writefreely
Next, install the bindata generator and create
bindata.go (needed for a successful build).
go get -u github.com/jteeuwen/go-bindata/go-bindata go-bindata -pkg writefreely -ignore=\\.gitignore schema.sql sqlite.sql
Finally, build the
writefreely binary with SQLite support. (Remove
-tags='sqlite' if you don't need SQLite support.)
go build -v -tags='sqlite' ./cmd/writefreely/
You can now run WriteFreely! But you'll need one more step to generate some assets and successfully run an instance.
You'll need Node.js and LESS installed to generate WriteFreely static assets. Install LESS:
npm install -g less
Next, compile all stylesheets from the
less directory, creating them in the
cd less export CSSDIR=../static/css/ lessc app.less --clean-css="--s1 --advanced" $(CSSDIR)write.css lessc fonts.less --clean-css="--s1 --advanced" $(CSSDIR)fonts.css lessc icons.less --clean-css="--s1 --advanced" $(CSSDIR)icons.css
Now you can run and distribute WriteFreely! 🎉
Beyond this, you'll initialize your individual instance.
With your build complete, create a configuration file, encryption keys, and initialize your database.
Most users will want the interactive configuration process. Run with:
writefreely config start
For other cases where you only need a blank configuration, you can non-interactively generate
config.ini with this command:
writefreely config generate
Generate encryption keys needed for storing user sessions and private data:
writefreely keys generate
With your instance configured for a database, run the following command to create the necessary tables:
writefreely db init