Improves readme.

This commit is contained in:
Dominik Picheta 2018-05-24 15:27:48 +01:00
commit 256bb5815d

View file

@ -1,67 +1,60 @@
# nimforum
This is Nim's forum. Available at http://forum.nim-lang.org.
NimForum is a light-weight forum implementation
with many similarities to Discourse. It is implemented in
the [Nim](https://nim-lang.org) programming
language and uses SQLite for its database.
## Building
## Examples in the wild
You can use ``nimble`` (available [here](https://github.com/nim-lang/nimble))
to get all the necessary
[dependencies](https://github.com/nim-lang/nimforum/blob/master/nimforum.nimble#L11).
Clone this repo and execute ``nimble build`` in this repositories directory.
See also: <a href="#running-the-forum">Running the forum</a> for how to create the database.
[![forum.nim-lang.org](https://i.imgur.com/hdIF5Az.png)](https://forum.nim-lang.org)
## Dependencies
The code depends on the RST parser of the Nim compiler and on Jester.
The captchas for registration uses the [reCaptcha module](https://github.com/euantorano/recaptcha.nim).
The following lists the dependencies which you may need to install manually
in order to get NimForum running, compiled*, or tested†.
#### bcrypt
* libsass
* SQLite
* pcre
* Nim (and the Nimble package manager)*
* [geckodriver](https://github.com/mozilla/geckodriver)†
* Firefox†
On macosx you also need to make sure to use the bcrypt >= 0.2.1 module if that
is not yet updated you can install it with:
[*] Build time dependencies
[†] Test time dependencies
## Development
Check out the tasks defined by this project's ``nimforum.nimble`` file by
running ``nimble tasks``, as of writing they are:
```
nimble install https://github.com/oderwat/bcryptnim.git@#fix-osx
backend Compiles and runs the forum backend
runbackend Runs the forum backend
frontend Builds the necessary JS frontend (with CSS)
minify Minifies the JS using Google's closure compiler
testdb Creates a test DB (with admin account!)
devdb Creates a test DB (with admin account!)
blankdb Creates a blank DB
test Runs tester
fasttest Runs tester without recompiling backend
```
You may also need to change `nimforum.nimble` such that it uses 0.2.1 by
changing the dependencies slightly.
Development typically involves running `nimble backend` which compiles
and runs the forum's backend, and `nimble frontend` separately to build
the frontend. When making changes to the frontend it should be enough to
simply run `nimble frontend` again to rebuild. This command will also
build the SASS ``nimforum.scss`` file in the `public/css` directory.
```
[Deps]
Requires: "nim >= 0.14.0, jester#head, bcrypt >= 0.2.1, recaptcha >= 1.0.0"
```
# Running the forum
**Important: You need to compile and run `createdb` to generate the initial database
before you can run `forum` the first time**!
**Note: If you do not have a mail server set up locally, you can specify
``-d:dev`` during compilation to prevent nimforum from attempting to send
emails and to automatically activate user accounts**
This is as simple as:
```
nim c -r createdb
```
After that you can just run `forum` and if everything is ok you will get the info which URL you need to open in your browser (http://localhost:5000) to access it.
_There is an update helper `editdb` which you can safely ignore for now._
_The file `cache.nim` is included by `forum.nim` and do
not need to be compiled by you._
# Copyright
Copyright (c) 2012-2017 Andreas Rumpf, Dominik Picheta.
Copyright (c) 2012-2018 Andreas Rumpf, Dominik Picheta.
All rights reserved.
# License
Nimforum is licensed under the MIT license.
NimForum is licensed under the MIT license.