e0c165ff1e
Previously, it would only INSERT. |
||
---|---|---|
.github | ||
appstats | ||
author | ||
cmd/writefreely | ||
config | ||
db | ||
key | ||
keys | ||
less | ||
migrations | ||
oauth | ||
page | ||
pages | ||
parse | ||
prose | ||
scripts | ||
static | ||
templates | ||
testdata | ||
.dockerignore | ||
.gitignore | ||
.travis.yml | ||
AUTHORS.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
SECURITY.md | ||
account.go | ||
account_import.go | ||
activitypub.go | ||
activitypub_test.go | ||
admin.go | ||
app.go | ||
auth.go | ||
cache.go | ||
collections.go | ||
database-lib.go | ||
database-no-sqlite.go | ||
database-sqlite.go | ||
database.go | ||
database_test.go | ||
docker-compose.yml | ||
docker-setup.sh | ||
errors.go | ||
export.go | ||
feed.go | ||
go.mod | ||
go.sum | ||
gopher.go | ||
handle.go | ||
hostmeta.go | ||
instance.go | ||
invites.go | ||
keys.go | ||
main_test.go | ||
monetization.go | ||
nodeinfo.go | ||
oauth.go | ||
oauth_generic.go | ||
oauth_gitea.go | ||
oauth_gitlab.go | ||
oauth_signup.go | ||
oauth_slack.go | ||
oauth_test.go | ||
oauth_writeas.go | ||
ossl_legacy.cnf | ||
pad.go | ||
pages.go | ||
postrender.go | ||
postrender_test.go | ||
posts.go | ||
posts_test.go | ||
read.go | ||
request.go | ||
routes.go | ||
routes_test.go | ||
schema.sql | ||
semver.go | ||
session.go | ||
sitemap.go | ||
sqlite.sql | ||
templates.go | ||
unregisteredusers.go | ||
updates.go | ||
updates_test.go | ||
users.go | ||
webfinger.go |
README.md
WriteFreely is a clean, minimalist publishing platform made for writers. Start a blog, share knowledge within your organization, or build a community around the shared act of writing.
Features
Made for writing
Built on a plain, auto-saving editor, WriteFreely gives you a distraction-free writing environment. Once published, your words are front and center, and easy to read.
A connected community
Start writing together, publicly or privately. Connect with other communities, whether running WriteFreely, Plume, or other ActivityPub-powered software. And bring members on board from your existing platforms, thanks to our OAuth 2.0 support.
Intuitive organization
Categorize articles with hashtags, and create static pages from normal posts by pinning them to your blog. Create draft posts and publish to multiple blogs from one account.
International
Blog elements are localized in 20+ languages, and WriteFreely includes first-class support for non-Latin and right-to-left (RTL) script languages.
Private by default
WriteFreely collects minimal data, and never publicizes more than a writer consents to. Writers can seamlessly create multiple blogs from a single account for different pen names or purposes without publicly revealing their association.
The quickest way to deploy WriteFreely is with Write.as, a hosted service from the team behind WriteFreely. You'll get fully-managed installation, backup, upgrades, and maintenance — and directly fund our free software work ❤️
Quick start
WriteFreely deploys as a static binary on any platform and architecture that Go supports. Just use our built-in SQLite support, or add a MySQL database, and you'll be up and running!
For common platforms, start with our pre-built binaries and head over to our installation guide to get started.
Packages
You can also find WriteFreely in these package repositories, thanks to our wonderful community!
Documentation
Read our full documentation on WriteFreely.org —️ and help us improve by contributing to the writefreely/documentation repo.
Development
Start hacking on WriteFreely with our developer setup guide. For Docker support, see our Docker guide.
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
Copyright © 2018-2022 Musing Studio LLC and contributing authors. Licensed under the AGPL.