The Wayback Machine - https://web.archive.org/web/20190528052625/https://github.com/writeas/writefreely
Skip to content
A simple, federated blogging platform.
Branch: develop
Clone or download
thebaer Merge pull request #107 from writeas/go-bindata-as-dep
Add go-bindata as a module dependency
Latest commit b6da5d9 May 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Automatically assign "bug?" label to bug reports Mar 14, 2019
author Fix IsValidUsername check when PagesParentDir isn't current dir Mar 6, 2019
cmd/writefreely Fix spacing around copyright notices Dec 31, 2018
config Make WriteFreely spacing consistent Apr 12, 2019
keys Move key generation to app from keys.sh Nov 11, 2018
less Modified less/Makefile: added /bin/lessc path which is returned by wh… May 2, 2019
migrations Run migrations on db initialization Apr 15, 2019
page Link to version-specific writer's guide Apr 11, 2019
pages Make WriteFreely spacing consistent Apr 12, 2019
parse Describe package parse Jan 18, 2019
static Move MathJax to git submodule May 14, 2019
templates Fix draft post metadata Apr 12, 2019
.dockerignore added .git to make builds cache more effectively and run faster Nov 22, 2018
.gitignore Fix go-bindata error in Travis build Apr 6, 2019
.gitmodules Use HTTP for MathJax submodule May 14, 2019
.travis.yml Fix go-bindata error in Travis build Apr 6, 2019
AUTHORS.md Add @nkoehring to AUTHORS Jan 24, 2019
CONTRIBUTING.md Explain where to post questions, feedback, bugs Nov 11, 2018
Dockerfile Install the writefreely cmd properly Apr 19, 2019
LICENSE Use AGPL Oct 29, 2018
Makefile go-bindata url updated May 17, 2019
README.md Include -config and -init-db steps in make install Apr 16, 2019
account.go Support user invites Jan 18, 2019
activitypub.go Fix AP follower INSERT with SQLite Jan 7, 2019
admin.go Support changing instance page titles Apr 11, 2019
app.go Run migrations on db initialization Apr 15, 2019
auth.go Fix spacing around copyright notices Dec 31, 2018
cache.go Fix spacing around copyright notices Dec 31, 2018
collections.go Add numeric avatars Jan 7, 2019
config.ini.example Make WriteFreely spacing consistent Apr 12, 2019
database-no-sqlite.go Support building without SQLite support Jan 3, 2019
database-sqlite.go Fix tagged posts SQLite query Jan 7, 2019
database.go Support changing instance page titles Apr 11, 2019
docker-compose.yml Improved the Docker dev workflow slightly. Nov 16, 2018
docker-setup.sh Improved the Docker dev workflow slightly. Nov 16, 2018
errors.go Fix spacing around copyright notices Dec 31, 2018
export.go Fix spacing around copyright notices Dec 31, 2018
feed.go Fix hashes in code blocks rendered as hashtags Feb 4, 2019
go.mod Add go-bindata as a module dependency May 17, 2019
go.sum Add go-bindata as a module dependency May 17, 2019
handle.go Send correct status on 410/500 in handleHTTPError Jan 3, 2019
hostmeta.go Fix spacing around copyright notices Dec 31, 2018
instance.go Fix spacing around copyright notices Dec 31, 2018
invites.go Support user invites Jan 18, 2019
keys.go Generate encryption keys in configured directory Jan 20, 2019
nodeinfo.go Add `invites` flag in NodeInfo Apr 12, 2019
pad.go Fix spacing around copyright notices Dec 31, 2018
pages.go Make WriteFreely spacing consistent Apr 12, 2019
postrender.go Make WriteFreely spacing consistent Apr 12, 2019
posts.go Revert "Support new commentsEnabled property" Apr 12, 2019
read.go Fix hashes in code blocks rendered as hashtags Feb 4, 2019
request.go Fix spacing around copyright notices Dec 31, 2018
routes.go Move instance page editing to dedicated section Apr 6, 2019
schema.sql Set up migrations table on initial setup Jan 24, 2019
session.go Fix spacing around copyright notices Dec 31, 2018
sitemap.go Fix spacing around copyright notices Dec 31, 2018
sqlite.sql Set up migrations table on initial setup Jan 24, 2019
templates.go Make WriteFreely spacing consistent Apr 12, 2019
unregisteredusers.go Support user invites Jan 18, 2019
users.go Support user invites Jan 18, 2019
webfinger.go Fix spacing around copyright notices Dec 31, 2018

README.md

 

WriteFreely


Latest release Go Report Card Build status

 

WriteFreely is a beautifully pared-down blogging platform that's simple on the surface, yet powerful underneath.

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.

Try the editor

Find an instance

Features

  • Start a blog for yourself, or host a community of writers
  • Form larger federated networks, and interact over modern protocols like ActivityPub
  • Write on a fast, dead-simple, and distraction-free editor
  • Format text with Markdown
  • Organize posts with hashtags
  • Create static pages
  • 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
  • Read a stream of other posts in your writing community
  • Build more advanced apps and extensions with the well-documented API
  • Designed around user privacy and consent

Hosting

We offer two kinds of hosting services that make WriteFreely deployment painless: Write.as for individuals, and WriteFreely.host for communities. Besides saving you time, as a customer you directly help fund WriteFreely development.

Write.as

Start a personal blog on Write.as, our flagship instance. Built to eliminate setup friction and preserve your privacy, Write.as helps you start a blog in seconds. It supports custom domains (with SSL) and multiple blogs / pen names per account. Read more here.

WriteFreely.host

WriteFreely.host makes it easy to start a close-knit community — to share knowledge, complement your Mastodon instance, or publish updates in your organization. We take care of the hosting, upgrades, backups, and maintenance so you can focus on writing.

Quick start

WriteFreely has minimal requirements to get up and running — you only need to be able to run an executable.

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.

First, download the latest release 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:

# 1) Configure your blog
./writefreely --config

# 2) (if you chose MySQL in the previous step) Log into MySQL and run:
# CREATE DATABASE writefreely;

# 3) (if you chose Multi-user setup) Import the schema with:
./writefreely --init-db

# 4) Generate data encryption keys
./writefreely --gen-keys

# 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!

For running in production, see our guide.

Packages

WriteFreely is available in these package repositories:

Development

Ready to hack on your site? Get started with our developer guide.

Docker

Read about using Docker in the documentation.

Contributing

We gladly welcome contributions to WriteFreely, whether in the form of code, bug reports, feature requests, translations, or documentation improvements.

Before contributing anything, please read our Contributing Guide. It describes the correct channels for submitting contributions and any potential requirements.

License

Licensed under the AGPL.

You can’t perform that action at this time.