Federated blogging application, thanks to ActivityPub
Find a file
Ana Gelez bce806ac63 Prototype for a WYSIWYG editor
We use pulldown-cmark in plume-front too now, but instead of using the provided
HTML renderer, we use a custom DOM renderer, which let us use contenteditable only where we want,
and which will allow us to add event listeners to provide a good contextual edition experience.

Also removed the character counter, as the API limits are almost unreachable.
2019-08-08 16:33:14 +02:00
.circleci Fix Crowdin upload (#576) 2019-05-12 20:14:59 +01:00
.github/ISSUE_TEMPLATE Update issue templates (#471) 2019-03-12 17:20:53 +01:00
migrations Rewrite article publication with the REST API 2019-08-03 23:04:25 +02:00
plume-api Rewrite article publication with the REST API 2019-08-03 23:04:25 +02:00
plume-cli don't ignore dotenv errors (#630) 2019-07-03 09:30:44 +02:00
plume-common Use futures and tokio to send activities (#620) 2019-06-27 17:46:05 +01:00
plume-front Prototype for a WYSIWYG editor 2019-08-08 16:33:14 +02:00
plume-macro update dependancies (#574) 2019-05-12 10:41:47 +02:00
plume-models Rewrite article publication with the REST API 2019-08-03 23:04:25 +02:00
po WIP - initial RTL support #575 (#577) 2019-07-11 09:34:27 +02:00
script Fix arm builds (#612) 2019-06-04 19:18:36 +01:00
src Update rocket_csrf and re-enable it 2019-08-04 12:37:38 +02:00
static Prototype for a WYSIWYG editor 2019-08-08 16:33:14 +02:00
templates Prototype for a WYSIWYG editor 2019-08-08 16:33:14 +02:00
.codecov.yml Make Plume compile on release (#365) 2018-12-22 18:27:21 +01:00
.dockerignore Sample compose file and Dockerfile for deployment 2018-09-04 00:32:47 +02:00
.editorconfig Slightly improve the media experience (#452) 2019-03-06 14:11:36 +01:00
.gitignore Add tests for plume webserver (#513) 2019-04-06 17:41:57 +02:00
build.rs Theme update (#553) 2019-05-18 13:09:51 +01:00
Cargo.lock Prototype for a WYSIWYG editor 2019-08-08 16:33:14 +02:00
Cargo.toml Update rocket_csrf and re-enable it 2019-08-04 12:37:38 +02:00
CODE_OF_CONDUCT.md Update some documents (#616) 2019-06-15 21:42:24 +01:00
crowdin.yml Fix Crowdin upload (#576) 2019-05-12 20:14:59 +01:00
diesel.toml add sqlite migrations 2018-09-30 14:13:52 +02:00
Dockerfile import migrations and don't require diesel_cli for admins (#555) 2019-04-29 16:30:20 +02:00
Dockerfile.dev Use multi step build to limit the docker image size (#416) 2019-01-09 17:48:18 +01:00
LICENSE Add a license (AGPLv3) 2018-05-01 13:01:38 +01:00
README.md Update some documents (#616) 2019-06-15 21:42:24 +01:00
rust-toolchain use circleci instead of travis (#511) 2019-04-01 20:28:23 +02:00

Plume's logo Plume

CircleCI Code coverage Docker Pulls Liberapay patrons

WebsiteDocumentationContributeInstances list

Plume is a federated blogging engine, based on ActivityPub. It is written in Rust, with the Rocket framework, and Diesel to interact with the database. The front-end uses Ructe templates, WASM and SCSS.

Features

A lot of features are still missing, but what is already here should be quite stable. Current and planned features include:

  • A blog-centric approach: you can create as much blogs as you want with your account, to keep your different publications separated.
  • Media management: you can upload pictures to illustrate your articles, but also audio files if you host a podcast, and manage them all from Plume.
  • Federation: Plume is part of a network of interconnected websites called the Fediverse. Each of these websites (often called instances) have their own rules and thematics, but they can all communicate with each other.
  • Collaborative writing: invite other people to your blogs, and write articles together.

Get involved

If you want to have regular news about the project, the best place is probably our blog, or our Matrix room: #plume:disroot.org.

If you want to contribute more, a good first step is to read our contribution guides. We accept all kind of contribution:

But this list is not exhaustive and if you want to contribute differently you are welcome too!

As we want the various spaces related to the project (GitHub, Matrix, Loomio, etc) to be as safe as possible for everyone, we adopted a code of conduct. Please read it and make sure you accept it before contributing.

Starting your own instance

We provide various way to install Plume: from source, with pre-built binaries, with Docker or with YunoHost. For detailed explanations, please refer to the documentation.