You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Matt Baer 92504b6721
Merge pull request #553 from davralin/create-container-from-github-action
4 months ago
.github Switch target branch 4 months ago
appstats
author
cmd/writefreely
config
db Run gofmt on files that need it 1 year ago
key
keys
less Support Web Monetized split content 1 year ago
migrations Fix ineffectual assignments in migrations 1 year ago
oauth Run gofmt on files that need it 1 year ago
page
pages
parse Run gofmt on files that need it 1 year ago
prose Fix trailing backslash on lists in Classic editor 1 year ago
scripts
static Support Web Monetized split content 1 year ago
templates Truncate paid posts and show badge on Reader 1 year ago
testdata
.dockerignore
.gitignore
.travis.yml
AUTHORS.md
CONTRIBUTING.md
Dockerfile Revert build 4 months ago
LICENSE
Makefile
README.md Update README links and intro text 1 year ago
SECURITY.md Add security policy 9 months ago
account.go Fix "Collection.hostName is empty!" log on Stats page 1 year ago
account_import.go
activitypub.go
activitypub_test.go
admin.go
app.go Bump version to 0.13.1 1 year ago
auth.go
bindata-lib.go Run gofmt on files that need it 1 year ago
cache.go
collections.go Remove additional slash in /feed/ redirect 1 year ago
database-lib.go
database-no-sqlite.go
database-sqlite.go
database.go Fix "Collection.hostName is empty!" log on Stats page 1 year ago
database_test.go
docker-compose.yml
docker-setup.sh
errors.go
export.go
feed.go Don't include img alt text in post Summary() 1 year ago
go.mod Update go-gopher import path to new location 1 year ago
go.sum Update go-gopher import path to new location 1 year ago
gopher.go Update go-gopher import path to new location 1 year ago
handle.go Update go-gopher import path to new location 1 year ago
hostmeta.go
instance.go
invites.go
keys.go
main_test.go Run gofmt on files that need it 1 year ago
monetization.go Support Web Monetized split content 1 year ago
nodeinfo.go
oauth.go
oauth_generic.go Error when generic OAuth provider doesn't return a user ID 1 year ago
oauth_gitea.go
oauth_gitlab.go
oauth_signup.go
oauth_slack.go
oauth_test.go
oauth_writeas.go
pad.go
pages.go
postrender.go Merge pull request #471 from writefreely/fix-title-lists 1 year ago
postrender_test.go Prevent out of bounds error on title with only whitespace 1 year ago
posts.go Merge pull request #476 from writefreely/strip-image-alt-meta 1 year ago
posts_test.go
read.go Don't include img alt text in post Summary() 1 year ago
request.go
routes.go Support Web Monetized split content 1 year ago
routes_test.go
schema.sql
semver.go
session.go
sitemap.go
sqlite.sql
templates.go Truncate paid posts and show badge on Reader 1 year ago
unregisteredusers.go
updates.go
updates_test.go
users.go Support Web Monetized split content 1 year ago
webfinger.go

README.md

 

WriteFreely


Latest release Build status Go Report Card

 

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.

Try the writing experience

Find an instance

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.

Write.as

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

Learn more on Write.as.

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-2021 A Bunch Tell LLC and contributing authors. Licensed under the AGPL.