Collective PDF rendering environment (work-in-progress) https://cc.vvvvvvaria.org/wiki/Octomode
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.
 
 
 
 
decentral1se 63784f695b Merge pull request 'chore: upgrade deps' (#30) from deps-upgrade into master 1 year ago
snapshots oops double 3 years ago
static small interface tweak, to keep octomode on screens smaller than 1290px 2 years ago
templates chore: squash extra whitespace 1 year ago
.gitignore fix: ignore env files (secrets) 2 years ago
INSTALL.md chore: squash extra whitespace 1 year ago
LICENSE.txt adding a license 2 years ago
Makefile adding support for gunicorn, to allow url's with prefixes 2 years ago
README.md chore: squash extra whitespace 1 year ago
octomode.py chore: squash extra whitespace 1 year ago
requirements.txt chore: upgrade deps 1 year ago
settings.py chore: squash extra whitespace 1 year ago

README.md

octomode

work-in-progress

Octomode is a collective editing space for PDF making, using Etherpad, Paged.js and Flask.

Inspired by the multi-centered, tentacular cognition capabilities of the octopus, we imagined a space in which the artificial boundaries of writing and design can be crossed; where writing, editing and designing can be done in one environment simultaneously, allowing the format to influence the matter and vice-versa.

More expanded documentation can be found here: https://cc.vvvvvvaria.org/wiki/Octomode

An installation guide can be found below.

Install octomode

You can clone this repository to run octomode on your own computer or server.

git clone https://git.vvvvvvaria.org/varia/octomode.git

Install the dependencies.

All the python dependencies are listed in requirements.txt

To install them, you can run:

make setup

This creates a virtual environment at .venv/ and installs all the dependencies here.

Next to this, you also need to install pandoc.

sudo apt install pandoc

Now we need to configure octomode:

cd octomode

nano .env

Configure your environment, save the following configuration settings as to a file called .env:

OCTOMODE_APPLICATION_ROOT=XXX
OCTOMODE_PORTNUMBER=XXX
OCTOMODE_PAD_URL=XXX
OCTOMODE_PAD_API_URL=XXX
OCTOMODE_PAD_API_KEY=XXX
  • OCTOMODE_APPLICATION_ROOT: optional, default: /
  • OCTOMODE_PORTNUMBER: optional, default: 5001
  • OCTOMODE_PAD_URL: optional, default: https://pad.vvvvvvaria.org/
  • OCTOMODE_PAD_API_URL: optional, default: https://pad.vvvvvvaria.org/api/1.2.15/
  • OCTOMODE_PAD_API_KEY: required, no default

(Note: You must provide a value for OCTOMODE_PAD_API_KEY.)

make run (runs the Flask application)

Open the application at port 5001, for example: http://localhost:5001 or https://mydomainname.ext:5001.

Install octomode with an URL prefix

If you want to install octomode with an URL prefix, like https://mydomainname.ext/octomode/, then you can use the gunicorn WSGI.

If you have ran the make setup command already, then gunicorn is already installed.

Configure your application root URL in your .env file.

You can simply run octomode now with the following command to run it with gunicorn (and not the built-in Flask dev server):

make action

Dependencies

  • pandoc
  • python dependencies, see: requirements.txt

Use octomode locally

It's recommended to use Firefox when working with octomode locally. Chrome or Chromium do not load external etherpads in iframes.