Octomode

From creative crowd wiki
Revision as of 08:22, 23 March 2023 by Manetta (talk | contribs) (Created page with "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. ==Ongoing circulations== Octomode is strongly relying on (Ethe...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.

Ongoing circulations

Octomode is strongly relying on (Ether)pad and shared habits of collective note taking in such collaborative environments. In the end, octomode is just a combination of a few free software tools, and we like to think of octomode as a boilerplate, that can be re-configured and re-transformed into other possible environments. It is anyway strongly inspired by the beautiful work of others, including:

How to use octomode?

If you want to work collectively on making a PDF, you can make a new octomode environment here: https://cc.vvvvvvaria.org/octomode/. You can write any name of in the input field, this will create a new octomode environment.

Working in octomode includes:

  • pad: all materials for the PDF are collected here. (written in Markdown)
  • stylesheet: all CSS rules for the PDF are collected here (written in CSS)
  • html: render the lay out as a HTML (rendered with PyPandoc)
  • pdf: render the lay out as a PDF (rendered with Paged.js)

When creating a new environment, a few things happen:

  • a pad is created for collecting the materials of your PDF. The name of the octomode environment will become the name of this pad. For example: https://cc.vvvvvvaria.org/pad/p/NAME.md
  • another pad is created for writing the stylesheet of your PDF. The name of the octomode environment will become the name of this pad, followed by .css. For example: https://cc.vvvvvvaria.org/pad/p/NAME.css
  • If both pads were not created yet, a template is added to the pad. The main pad will get a Markdown template and the stylesheet pad a CSS template.

In case a pad was already made before, and the templates don't appear automagically, you can copy the templates below and paste them at the top of your pads.

The PDFs are rendered using Paged.js, a free and open source JavaScript library "that paginates content in the browser to create PDF output from any HTML content. This means you can design works for print (eg. books) using HTML and CSS!". The project is maintained by the [1](Coko Foundation). Paged.js adds not (yet) implemented CSS rules to the ones that browsers implemented already, expanding the possibilities to make lay outs for specific sections, place content in the margins of pages, and render indexes (amongst other things). The Paged.js documentation is very helpful and can be found here: https://pagedjs.org/documentation/.

Octomode on the server

Octomode is installed on the server at: /var/www/octomode/ and runs as a system user octomode. You can restart octomode with: sudo service octomode restart, or see its status with: sudo service octomode status. The code that is used for octomode can be found here: https://git.vvvvvvaria.org/varia/octomode.

Octomode Markdown template

--- title: hello! language: en ---

# Hello?

Octomode CSS template

@charset "utf-8";

@page{ size: A5; } @page:first{ background-color: pink; } body{ color: green; } section#cover{ page-break-after: always; }

---------------------------