A clean, Markdown-based publishing platform made for writers. Write together, and build a community. https://writefreely.org
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 
Nick Gerakines b5f716135b Changed oauth table names per PR feedback. T705 4 lat temu
.github Automatically assign "bug?" label to bug reports 5 lat temu
appstats move tool from gogs into appstats pkg 4 lat temu
author Fix IsValidUsername check when PagesParentDir isn't current dir 5 lat temu
cmd/writefreely Emit the server software and version to the log on startup 4 lat temu
config Added oauth handlers and tests with mocks. Part of T705. 4 lat temu
db Unit tests, integration testing, and code cleanup for oauth support. Part of T705. 4 lat temu
key Add TODO for multierror 4 lat temu
keys Move key generation to app from keys.sh 5 lat temu
less Fix "silenced" alert styles on more pages 4 lat temu
migrations Changed oauth table names per PR feedback. T705 4 lat temu
oauth Added oauth handlers and tests with mocks. Part of T705. 4 lat temu
page Add site-wide navigation on colls when chorus = true 4 lat temu
pages Fix false login state on failed login 4 lat temu
parse Describe package parse 5 lat temu
scripts fix: update script: non-standard version numbers 4 lat temu
static Move MathJax to git submodule 5 lat temu
templates Remove "silenced" warning on password-collection.tmpl 4 lat temu
.dockerignore added .git to make builds cache more effectively and run faster 5 lat temu
.gitignore Fix go-bindata error in Travis build 5 lat temu
.gitmodules Use HTTP for MathJax submodule 5 lat temu
.travis.yml Fix go-bindata error in Travis build 5 lat temu
AUTHORS.md Add @nkoehring to AUTHORS 5 lat temu
CONTRIBUTING.md Explain where to post questions, feedback, bugs 5 lat temu
Dockerfile Install the writefreely cmd properly 5 lat temu
LICENSE Use AGPL 5 lat temu
Makefile fix typo in Makefile GITREV release target 4 lat temu
README.md Update hosting options in README 4 lat temu
account.go Merge branch 'develop' into T661-disable-accounts 4 lat temu
activitypub.go Merge branch 'develop' into T661-disable-accounts 4 lat temu
activitypub_test.go fixes issue #100 - can't follow from pubgate 5 lat temu
admin.go Added oauth handlers and tests with mocks. Part of T705. 4 lat temu
app.go Added oauth handlers and tests with mocks. Part of T705. 4 lat temu
auth.go Fix spacing around copyright notices 5 lat temu
bindata-lib.go Include schema.sql when built with wflib tag 5 lat temu
cache.go Fix spacing around copyright notices 5 lat temu
collections.go Return 404 for suspended pass-protected colls 4 lat temu
config.ini.example Make WriteFreely spacing consistent 5 lat temu
database-lib.go Allow compiling without go-sql-driver/mysql pkg 5 lat temu
database-no-sqlite.go Allow compiling without go-sql-driver/mysql pkg 5 lat temu
database-sqlite.go Allow compiling without go-sql-driver/mysql pkg 5 lat temu
database.go Changed oauth table names per PR feedback. T705 4 lat temu
database_test.go Changed oauth table names per PR feedback. T705 4 lat temu
docker-compose.yml Improved the Docker dev workflow slightly. 5 lat temu
docker-setup.sh Improved the Docker dev workflow slightly. 5 lat temu
errors.go Change "suspend" to "silence" where user-facing 4 lat temu
export.go Fix URLs in CSV exports 4 lat temu
feed.go Merge branch 'develop' into T661-disable-accounts 4 lat temu
go.mod Unit tests, integration testing, and code cleanup for oauth support. Part of T705. 4 lat temu
go.sum Unit tests, integration testing, and code cleanup for oauth support. Part of T705. 4 lat temu
handle.go Added oauth handlers and tests with mocks. Part of T705. 4 lat temu
hostmeta.go Make App struct public 5 lat temu
instance.go Fix spacing around copyright notices 5 lat temu
invites.go Rename UserSuspended to UserSilenced 4 lat temu
keys.go Break functionality out of Serve() func 5 lat temu
main_test.go Unit tests, integration testing, and code cleanup for oauth support. Part of T705. 4 lat temu
nodeinfo.go Add `invites` flag in NodeInfo 5 lat temu
oauth.go Check for error response in code exchange 4 lat temu
oauth_test.go Code cleanup from PR 255 feedback. T705 4 lat temu
pad.go Suppress log when editing post or its metadata 4 lat temu
pages.go Enable customizing Reader page 4 lat temu
postrender.go allow titles for abbreviation elements 4 lat temu
posts.go Merge pull request #215 from writeas/prevent-fail-on-suspend-check 4 lat temu
read.go Merge branch 'develop' into T661-disable-accounts 4 lat temu
request.go update IsJSON to check for Accept header 4 lat temu
routes.go Unit tests, integration testing, and code cleanup for oauth support. Part of T705. 4 lat temu
schema.sql Set up migrations table on initial setup 5 lat temu
session.go Break functionality out of Serve() func 5 lat temu
sitemap.go Link hashtags to Reader when Chorus mode enabled 4 lat temu
sqlite.sql Set up migrations table on initial setup 5 lat temu
templates.go address PR comments 4 lat temu
unregisteredusers.go update IsJSON to check for Accept header 4 lat temu
users.go Rename UserSuspended to UserSilenced 4 lat temu
webfinger.go Add account suspension features 4 lat temu

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.