2018-10-15 19:28:58 +00:00
< p align = "center" >
2018-11-11 23:37:13 +00:00
< a href = "https://writefreely.org" > < img src = "https://writefreely.org/img/writefreely.svg" width = "350px" alt = "Write Freely" / > < / a >
2018-10-15 19:28:58 +00:00
< / p >
< hr / >
< p align = "center" >
2018-10-17 02:51:42 +00:00
< a href = "https://github.com/writeas/writefreely/releases/" >
< img src = "https://img.shields.io/github/release/writeas/writefreely.svg" alt = "Latest release" / >
2018-10-15 19:28:58 +00:00
< / a >
2018-11-08 06:55:50 +00:00
< a href = "https://goreportcard.com/report/github.com/writeas/writefreely" >
< img src = "https://goreportcard.com/badge/github.com/writeas/writefreely" alt = "Go Report Card" / >
< / a >
2018-10-17 02:51:42 +00:00
< a href = "https://travis-ci.org/writeas/writefreely" >
2018-11-08 18:00:52 +00:00
< img src = "https://travis-ci.org/writeas/writefreely.svg" alt = "Build status" / >
2018-10-15 19:28:58 +00:00
< / a >
2018-11-11 23:37:13 +00:00
< a href = "http://webchat.freenode.net/?channels=writefreely" >
2018-11-12 18:40:38 +00:00
< img alt = "#writefreely on freenode" src = "https://img.shields.io/badge/freenode-%23writefreely-blue.svg" / >
2018-11-11 23:37:13 +00:00
< / a >
2018-10-15 19:28:58 +00:00
< / p >
2018-10-17 02:39:46 +00:00
2018-01-25 00:52:16 +00:00
2018-10-17 02:39:46 +00:00
WriteFreely is a beautifully pared-down blogging platform that's simple on the surface, yet powerful underneath.
2018-01-25 00:52:16 +00:00
2018-11-21 16:54:01 +00:00
It's designed to be flexible and share your writing widely, so it's built around plain text and can publish to the _fediverse_ via ActivityPub. It's easy to install and light enough to run on a Raspberry Pi.
2018-01-25 00:52:16 +00:00
2018-11-10 21:19:05 +00:00
**[Start a blog on our instance](https://write.as/new/blog/federated)**
[Try the editor ](https://write.as/new )
[Find another instance ](https://writefreely.org/instances )
2018-11-08 06:55:50 +00:00
2018-01-25 00:52:16 +00:00
## Features
* Start a blog for yourself, or host a community of writers
* Form larger federated networks, and interact over modern protocols like ActivityPub
2018-12-15 03:40:34 +00:00
* Write on a fast, dead-simple, and distraction-free editor
* Format text with Markdown, and organize posts with hashtags
2018-11-08 06:55:50 +00:00
* Publish drafts and let others proofread them by sharing a private link
2018-12-15 03:40:34 +00:00
* Create multiple lightweight blogs under a single account
* Export all data in plain text files
* Read a stream of other posts in your writing community
2018-10-17 02:39:46 +00:00
* Build more advanced apps and extensions with the [well-documented API ](https://developers.write.as/docs/api/ )
2018-12-15 03:40:34 +00:00
* Designed around user privacy and consent
2018-01-25 00:52:16 +00:00
2018-11-08 06:34:23 +00:00
## Quick start
2018-12-15 03:40:34 +00:00
WriteFreely has minimal requirements to get up and running — you only need to be able to run an executable.
2018-11-10 21:19:05 +00:00
> **Note** this is currently alpha software. We're quickly moving out of this v0.x stage, but while we're in it, there are no guarantees that this is ready for production use.
2018-11-08 06:34:23 +00:00
First, download the [latest release ](https://github.com/writeas/writefreely/releases/latest ) for your OS. It includes everything you need to start your blog.
Now extract the files from the archive, change into the directory, and do the following steps:
```bash
2018-12-08 20:26:33 +00:00
# 1) Configure your blog
2018-11-08 06:34:23 +00:00
./writefreely --config
2018-12-08 20:26:33 +00:00
# 2) (if you chose MySQL in the previous step) Log into MySQL and run:
# CREATE DATABASE writefreely;
2018-11-13 18:04:52 +00:00
# 3) Import the schema with:
./writefreely --init-db
2018-11-11 22:52:24 +00:00
# 4) Generate data encryption keys
./writefreely --gen-keys
2018-11-08 06:34:23 +00:00
# 5) Run
./writefreely
# 6) Check out your site at the URL you specified in the setup process
# 7) There is no Step 7, you're done!
```
2018-11-10 21:33:56 +00:00
For running in production, [see our guide ](https://writefreely.org/start#production ).
2018-12-01 15:13:45 +00:00
## Packages
WriteFreely is available in these package repositories:
* [Arch User Repository ](https://aur.archlinux.org/packages/writefreely/ )
2018-11-08 06:34:23 +00:00
## Development
Ready to hack on your site? Here's a quick overview.
### Prerequisites
* [Go 1.10+ ](https://golang.org/dl/ )
* [Node.js ](https://nodejs.org/en/download/ )
### Setting up
```bash
go get github.com/writeas/writefreely/cmd/writefreely
```
2018-11-13 18:04:52 +00:00
Configure your site, create your database, and import the schema [as shown above ](#quick-start ). Then generate the remaining files you'll need:
2018-11-08 06:34:23 +00:00
```bash
2018-11-08 17:45:59 +00:00
make install # Generates encryption keys; installs LESS compiler
make ui # Generates CSS (run this whenever you update your styles)
make run # Runs the application
2018-11-08 06:34:23 +00:00
```
2018-11-16 20:53:42 +00:00
## Docker
2018-11-14 04:24:06 +00:00
2018-11-16 20:53:42 +00:00
### Using Docker for Development
2018-11-14 04:24:06 +00:00
2018-11-16 20:53:42 +00:00
If you'd like to use Docker as a base for working on a site's styles and such,
you can run the following from a Bash shell.
2018-11-14 04:24:06 +00:00
2018-11-16 20:53:42 +00:00
*Note: This process is intended only for working on site styling. If you'd
like to run Write Freely in production as a Docker service, it'll require a
little more work.*
2018-11-14 04:24:06 +00:00
2018-11-16 20:53:42 +00:00
The `docker-setup.sh` script will present you with a few questions to set up
your dev instance. You can hit enter for most of them, except for "Admin username"
and "Admin password." You'll probably have to wait a few seconds after running
`docker-compose up -d` for the Docker services to come up before running the
bash script.
2018-11-14 04:24:06 +00:00
2018-11-16 20:53:42 +00:00
```
2018-11-14 04:24:06 +00:00
docker-compose up -d
2018-11-16 20:53:42 +00:00
./docker-setup.sh
```
2018-11-14 04:24:06 +00:00
2018-11-16 20:53:42 +00:00
Now you should be able to navigate to http://localhost:8080 and start working!
2018-11-14 04:24:06 +00:00
2018-11-16 20:53:42 +00:00
When you're completely done working, you can run `docker-compose down` to destroy
your virtual environment, including your database data. Otherwise, `docker-compose stop`
will shut down your environment without destroying your data.
2018-11-14 04:24:06 +00:00
2018-11-16 20:53:42 +00:00
### Using Docker for Production
2018-11-14 04:24:06 +00:00
2018-11-16 20:53:42 +00:00
Write Freely doesn't yet provide an official Docker pathway to production. We're
working on it, though!
2018-11-14 04:24:06 +00:00
2018-11-21 16:54:01 +00:00
## 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.
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.
2018-01-25 00:52:16 +00:00
## License
2018-10-29 14:06:45 +00:00
Licensed under the AGPL.