A clean, Markdown-based publishing platform made for writers. Write together and build a community.
Automatic SSL certificates from Let's Encrypt (T542)
It's now even easier to start up a WriteFreely instance with free, automatic certificates from Let's Encrypt. With the application facing the public internet (i.e. not behind a reverse proxy), you can set a few configuration values to have WriteFreely generate the certificate for you.
For new instances, choose Production, standalone > Secure (port 443), auto certificate during the interactive setup process.
For existing instances, set autocert = true
and tls_cert_path = certs
(see config documentation for more information).
WriteFreely Command-Line Interface
We've released our first official WriteFreely client along with this version: wf-cli
! This is a simple command-line-based tool for publishing to one or many WriteFreely instances. It's perfect for tech-savvy users who don't want to leave their terminal window or anyone looking to build WriteFreely publishing into their desktop writing workflow -- and it's available for Windows, Mac, and Linux.
<audio>
HTML element (#147)title
attribute getting stripped on <abbr>
elements (#184)make build-arm7
Accept: application/json
headers (not only Content-Type
) (#178)User Silencing (T661)
Now instance admins can silence problematic users to make their writing inaccessible to the world and prevent further publishing. This strikes a balance between preventing further abuse and making reversible moderation decisions, as users will still be able to log in to their account and access their data.
This is still experimental, as it needs more extensive testing. Please report any bugs you find and give us any feedback you have on this feature!
Reader-centric instances (T681, #157)
As part of our new Write.as for Teams service, we're experimenting with an alternative configuration for admins that want their site to be more focused on the collective work of its writers, rather than on individuals. It's meant for businesses, organizations, and institutions that want to create more of a shared blog than provide individual blog hosting. It sets the Reader view as the home page, uses blog templates with global navigation, and has hashtags search across all public blogs.
This functionality is not at all finalized, and subject to change drastically without notice. We don't recommend enabling this in your configuration unless you're merely curious or want to provide feedback (which we highly encourage!).
Download the latest release for your operating system. Stop running your writefreely
service, replace all files in your installation with the ones in the archive, and then start your writefreely
service again.
Now make sure your database is backed up, and update it with writefreely --migrate
.
No additional steps are needed to upgrade from v0.10.0. Follow the instructions in each previous #release if you're upgrading from an earlier version.
If you are running a custom build, note that there were style changes in this release. Run make ui
to generate the latest stylesheets.
Thanks for contributing to this release!
@robjloranger @OddBloke
Communities looking for more privacy can now start up WriteFreely instances meant only for internal use. Just enable the private
config value to make all blogs and content accessible only to authenticated users in your instance.
NOTE: this is a breaking change! This changes behavior for existing instances with the private
config value already set to true
. If you have it set, you should verify that the new behavior is what you want.
Now admins have two new ways to customize their multi-user instance:
Editing your landing page. Now you can change the content of your landing page from the Admin dashboard, including the banner text to the left of the signup form and the optional text below.
Changing the landing URL. For anyone who doesn't want to use their normal landing page -- such as with closed or invite-only instances -- this lets you set the URL that unauthenticated users go to when they first come to your site. For example, you might send them to your About page (/about
) or your public Reader (/read
).
background-color
not set (#132)private
config option now makes an instance readable only by registered, authenticated users (T576)--config
command now automatically initializes the database, removing the need for --init-db
during setup--sections
flag, e.g. writefreely --config --section="app db server"
writefreely.Serve()
func has been split out into multiple functionswritefreely
pkg to cmd/writefreely/main.go
Download the latest release for your operating system. Stop running your writefreely
service, replace all files in your installation with the ones in the archive, and then start your writefreely
service again.
No additional steps are needed to upgrade from v0.9.x. Follow the instructions in each previous #release if you're upgrading from an earlier version.
If you are running a custom build, note that there were style changes in this release. Run make ui
to generate the latest stylesheets.
Thanks to everyone who contributed to this release!
@dariusk @gytisrepecka @robjloranger @joyeusenoelle @sandrockcstm @qwazix @mrvdb
#WriteFreely
This isn't a required upgrade; it's only needed to fix new installations.
Download the latest release for your operating system. Stop running your writefreely
service, replace all files in your installation with the ones in the archive, and then start your writefreely
service again.
No additional steps are needed to upgrade from v0.9.0. Follow the instructions in each previous #release if you're upgrading from an earlier version.
Thanks for contributing to this release!
@kaiyou
#WriteFreely
files.writeas.org
resourcesDownload the latest release for your operating system. Stop running your writefreely
service, replace all files in your installation with the ones in the archive, and then start your writefreely
service again.
Now make sure your database is backed up, and update it with writefreely --migrate
.
No additional steps are needed to upgrade from v0.8.x. Follow the instructions in each previous #release if you're upgrading from an earlier version.
If you are running a custom build, note that there were style changes in this release. Run make ui
to generate the latest stylesheets.
Thanks for contributing to this release!
@mrvdb
#WriteFreely
go get
command in documentationDownload the latest release for your operating system. Stop running your writefreely
service, replace all files in your installation with the ones in the archive, and then start your writefreely
service again.
No additional steps are needed to upgrade from v0.8.0. Follow the instructions in each previous #release if you're upgrading from an earlier version.
Thanks for contributing to this release!
@mrvdb @SamWhited
User Invites (T556)
Now it's even easier to run a private / invite-only community, with user invites. Admins have a new user_invites
setting that can enable invite link generation for all users, admins only, or no users at all (the default). If enabled, users can create invite links to let others sign up for your WriteFreely instance, even if public registration is closed. Invite links can each be set to expire, or optionally have a maximum number of uses.
writefreely --migrate
(T509)Download the latest release for your operating system. Stop running your writefreely
service, replace all files in your installation with the ones in the archive, and then start your writefreely
service again.
Now make sure your database is backed up, and update it with writefreely --migrate
.
No additional steps are needed to upgrade from v0.7.x. Follow the instructions in each previous #release if you're upgrading from an earlier version.
If you are running a custom build, note that there were style changes in this release. Run make ui
to generate the latest stylesheets.
Thanks to everyone who contributed to this release!
@kaiyou @nkoehring
#WriteFreely
Download the latest release for your operating system. Stop running your writefreely
service, replace all files in your installation with the ones in the archive, and then start your writefreely
service again.
No additional steps are needed to upgrade from v0.7.0. Follow the instructions in each previous #release if you're upgrading from an earlier version.
User Management
writefreely --create-user username:password
writefreely
without SQLite support. To include support, compile with the sqlite
build tag (this is the default with all make
commands)Download the latest release for your operating system. Stop running your writefreely
service, replace all files in your installation with the ones in the archive, and then start your writefreely
service again.
No additional steps are needed to upgrade from v0.6.0. Follow the instructions in each previous #release if you're upgrading from an earlier version.
Some style changes were made in this version. If you are running a custom build / fork, run make ui
to generate the latest stylesheets.
Thanks for contributing to this release!
@geekgonecrazy
SQLite support (T529)
You no longer need MySQL / MariaDB to store data for your instance! Just select SQLite during the configuration process to use it instead of the MySQL driver.
Reader / local timeline (T554)
Take a break from writing to see what others on your instance have written! Admins can now turn on the Local timeline option in the Admin panel ([app] local_timeline
in config.ini) to enable this for both writers on your instance and the wider public. The local timeline functions just like Read Write.as -- it includes an RSS feed, and is opt-in. Writers can start publishing their work on the feed by going into their blog settings and choosing the Public visibility option.
--create-admin username:password
(T544)-c [filename]
flagDownload the latest release for your operating system. Stop running your writefreely
service, replace all files in your installation with the ones in the archive, and then start your writefreely
service again.
No additional steps are needed to upgrade from v0.5.x. Follow the instructions in each previous #release if you're upgrading from an earlier version.
Thanks to everyone who contributed to this release!
@BenOvermyer @kaiyou
bind
configuration value (#38, #5)site_description
config valuepublic_stats
enabledDownload the latest release for your operating system. Stop running your writefreely
service, replace all files in your installation with the ones in the archive, and then start your writefreely
service again.
No additional steps are needed to upgrade from v0.4.x. See previous releases if you're upgrading from an earlier version.
Thanks for contributing!
@mrvdb