News Site

Admins

You can have multiple admins. Add them all to www/admins, separated by whitespace.

Starting the server

Warning: If you are already running a News site, migrating to this fork
might mess up your site's data. Come talk to us
first, and be sure to make a backup before the migration.

Now bring up the server,

$ ./run-news

There'll be a pause while the server loads up, with some messages, then you'll
see the arc> prompt.

Go to http://localhost:8080. Click on login, and
create the account for your username. You should now be logged in as an admin.

(Don't worry about user break or error writing messages.)

Customization

To customize News, change the variables at the top of apps/news/news.arc. To change the port your server runs at, modify apps/news/run-news.arc.

Any interactive changes to the prompt will be reflected immediately in the server, without needing to restart it. Hence if you make any changes to apps/news/news.arc, you can load them, by typing (load "apps/news/news.arc") in the repl. If you stop the server or it dies for some reason, previously entered commands are available in the command history (at least if you have Readline installed).

HTTPS

You may want to serve News securely over HTTPS. An example configuration for running Nginx with SSL as a reverse proxy for News can be found in anarki/extras/news.nginx.conf.

Resetting passwords

For password reset mails to be sent out, your must set up an email account to send these from,

Development

Tests

Anarki is explicitly not constrained to maintain compatibility with upstream
releases, and compatibility status may swing wildly from commit to commit
depending on who takes an interest. To see a list of what's different, type
(incompatibilities) at the repl. If you make an incompatible change, please
update this list.

Racket interop

Racket expressions can be evaluated with the ($ ...) syntax. For instance, (($ crypto-random-bytes) 16) obtains the crypto-random-bytes function from Racket and makes a call to it.

If you write lots of Racket code and you just want to use Anarki for part of a bigger project, you can raco pkg install anarki and use Anarki to write Racket modules: