A clean, Markdown-based publishing platform made for writers. Write together, and build a community. https://writefreely.org
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 37ccf69d81 Increase App Settings checkbox and select sizes 4 年之前
.github Automatically assign "bug?" label to bug reports 5 年之前
appstats move tool from gogs into appstats pkg 4 年之前
author Add and update copyright notices 4 年之前
cmd/writefreely return clear error 4 年之前
config Merge pull request #274 from writeas/private-instance-improvements 4 年之前
db Add copyright notices to fixed files 4 年之前
key Add TODO for multierror 4 年之前
keys Move key generation to app from keys.sh 5 年之前
less Fix text contrast ratio in blockquote 4 年之前
migrations Update versions in migrations.go 4 年之前
oauth Added oauth handlers and tests with mocks. Part of T705. 4 年之前
page Add site-wide navigation on colls when chorus = true 4 年之前
pages Merge pull request #284 from writeas/high-load-error-page 4 年之前
parse Describe package parse 5 年之前
scripts Add CSS cache busting to templates in release 4 年之前
static Restyle OAuth account management section 4 年之前
templates Increase App Settings checkbox and select sizes 4 年之前
.dockerignore added .git to make builds cache more effectively and run faster 5 年之前
.gitignore Fix go-bindata error in Travis build 5 年之前
.gitmodules Use HTTP for MathJax submodule 5 年之前
.travis.yml Bump Travis build to Go 1.13 4 年之前
AUTHORS.md Add @nkoehring to AUTHORS 5 年之前
CONTRIBUTING.md Add details and update CONTRIBUTING guide 4 年之前
Dockerfile Update Dockerfile 4 年之前
LICENSE Use AGPL 5 年之前
Makefile Add CSS cache busting to templates in release 4 年之前
README.md Update hosting options in README 4 年之前
account.go Show configured GitLab name on Account page 4 年之前
account_import.go Revert "Fix unix timestamp in file upload" 4 年之前
activitypub.go Make `handle` column in remoteusers NULL 4 年之前
activitypub_test.go fixes issue #100 - can't follow from pubgate 5 年之前
admin.go Fix admin nav rendering on user viewing 4 年之前
app.go Bump version to 0.12.0 4 年之前
auth.go Fix spacing around copyright notices 5 年之前
bindata-lib.go Include schema.sql when built with wflib tag 5 年之前
cache.go Fix spacing around copyright notices 5 年之前
collections.go Update calls and vars for Invites and elsewhere 4 年之前
config.ini.example add update checks 4 年之前
database-lib.go Add new err func to wflib and sqlite builds 4 年之前
database-no-sqlite.go Show 503 page on collections under high load 4 年之前
database-sqlite.go Add new err func to wflib and sqlite builds 4 年之前
database.go Merge pull request #284 from writeas/high-load-error-page 4 年之前
database_test.go Implemented oauth attach functionality, oauth detach functionality, and required data migration. T713 4 年之前
docker-compose.yml Improved the Docker dev workflow slightly. 5 年之前
docker-setup.sh Improved the Docker dev workflow slightly. 5 年之前
errors.go Show 503 page on collections under high load 4 年之前
export.go Fix URLs in CSV exports 4 年之前
feed.go Rename Suspend status to Silence 4 年之前
go.mod Use latest writeas/activityserve library 4 年之前
go.sum Use latest writeas/activityserve library 4 年之前
handle.go Show 503 page on collections under high load 4 年之前
hostmeta.go Make App struct public 5 年之前
instance.go Fix spacing around copyright notices 5 年之前
invites.go Add 'X-Robots-Tag: noindex' header to invite URLs 4 年之前
keys.go Break functionality out of Serve() func 5 年之前
main_test.go Unit tests, integration testing, and code cleanup for oauth support. Part of T705. 4 年之前
nodeinfo.go Add `invites` flag in NodeInfo 5 年之前
oauth.go Tweak "account already attached" verbiage 4 年之前
oauth_gitlab.go Run go fmt on modified GitLab files 4 年之前
oauth_signup.go Add and update copyright notices 4 年之前
oauth_slack.go Fix copyright years in oauth_slack.go 4 年之前
oauth_test.go Implemented oauth attach functionality, oauth detach functionality, and required data migration. T713 4 年之前
oauth_writeas.go Added state location register hook. T712. 4 年之前
pad.go Merge branch 'develop' into rename-account-suspend 4 年之前
pages.go Enable customizing Reader page 4 年之前
postrender.go Add u-url class and span in mention link 4 年之前
posts.go Log handle on GetProfilePageFromHandle err 4 年之前
read.go Limit Reader posts by count, not publish date 4 年之前
request.go update IsJSON to check for Accept header 4 年之前
routes.go Move /me/oauth/remove endpoint to /api/me/oauth/remove 4 年之前
schema.sql Set up migrations table on initial setup 5 年之前
semver.go add update checks 4 年之前
session.go Break functionality out of Serve() func 5 年之前
sitemap.go Link hashtags to Reader when Chorus mode enabled 4 年之前
sqlite.sql Set up migrations table on initial setup 5 年之前
templates.go Merge branch 'develop' into T713-oauth-account-management 4 年之前
unregisteredusers.go update IsJSON to check for Accept header 4 年之前
updates.go Prevent update check from slowing app init 4 年之前
updates_test.go Rename ReleaseURL() to ReleaseNotesURL() 4 年之前
users.go Rename UserSuspended to UserSilenced 4 年之前
webfinger.go Fix error / info logging around AP mentions 4 年之前

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 Pro for individuals, and Write.as for Teams for businesses. Besides saving you time and effort, both services directly fund WriteFreely development and ensure the long-term sustainability of our open source work.

Write.as Pro

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.

Write.as for Teams

Write.as for Teams gives your organization, business, or open source project a clutter-free space to share updates or proposals and build your collective knowledge. We take care of hosting, upgrades, backups, and maintenance so your team 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.

To get started, head over to our Getting Started guide. For production use, jump to the Running in Production section.

Packages

WriteFreely is available in these package repositories:

Documentation

Read our full documentation on WriteFreely.org. Help us improve by contributing to the writefreely/documentation repo.

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.