* Publish drafts and let others proofread them by sharing a private link
* Create multiple lightweight blogs under a single account
* Export all data in plain text files
@ -102,7 +104,7 @@ Ready to hack on your site? Here's a quick overview.
### Setting up
```bash
go get github.com/writeas/writefreely/cmd/writefreely
go get -d github.com/writeas/writefreely/cmd/writefreely
```
Configure your site, create your database, and import the schema [as shown above](#quick-start). Then generate the remaining files you'll need:
@ -148,7 +150,7 @@ working on it, though!
## Contributing
We gladly welcome contributions to WriteFreely, whether in the form of [code](https://github.com/writeas/writefreely/blob/master/CONTRIBUTING.md#contributing-to-writefreely), [bug reports](https://github.com/writeas/writefreely/issues/new?template=bug_report.md), [feature requests](https://discuss.write.as/c/feedback/feature-requests), [translations](https://poeditor.com/join/project/TIZ6HFRFdE), or documentation improvements.
We gladly welcome contributions to WriteFreely, whether in the form of [code](https://github.com/writeas/writefreely/blob/master/CONTRIBUTING.md#contributing-to-writefreely), [bug reports](https://github.com/writeas/writefreely/issues/new?template=bug_report.md), [feature requests](https://discuss.write.as/c/feedback/feature-requests), [translations](https://poeditor.com/join/project/TIZ6HFRFdE), or [documentation](https://github.com/writefreely/documentation) improvements.
Before contributing anything, please read our [Contributing Guide](https://github.com/writeas/writefreely/blob/master/CONTRIBUTING.md#contributing-to-writefreely). It describes the correct channels for submitting contributions and any potential requirements.
log.Error("Username %s is invalid, reserved, or shorter than configured minimum length (%d characters).",usernameDesc,app.cfg.App.MinUsernameLen)
os.Exit(1)
returnfmt.Errorf("Username %s is invalid, reserved, or shorter than configured minimum length (%d characters).",usernameDesc,app.cfg.App.MinUsernameLen)
}
// Hash the password
hashedPass,err:=auth.HashPass([]byte(password))
iferr!=nil{
log.Error("Unable to hash password: %v",err)
os.Exit(1)
returnfmt.Errorf("Unable to hash password: %v",err)