Octomode: Difference between revisions

From creative crowd wiki
Jump to navigation Jump to search
(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...")
 
No edit summary
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
https://git.vvvvvvaria.org/varia/octomode
Octomode is a collective editing space for PDF making, using Etherpad, Paged.js and Flask.
Octomode is a collective editing space for PDF making, using Etherpad, Paged.js and Flask.


Line 12: Line 14:
* [https://git.vvvvvvaria.org/varia/etherpump etherpump] by Varia
* [https://git.vvvvvvaria.org/varia/etherpump etherpump] by Varia
* [https://gitlab.com/Luuse/pad2print Pad2Print] by Luuse
* [https://gitlab.com/Luuse/pad2print Pad2Print] by Luuse
Octomode is published under [https://git.vvvvvvaria.org/varia/octomode/src/branch/master/LICENSE.txt CC4r]: please feel free to use, change, transform and republish into many directions, within the limits of the conditions formulated by the COLLECTIVE CONDITIONS FOR RE-USE (CC4r) license.


==How to use octomode?==
==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.  
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 be the name of the new octomode environment and pads that are used.
 
More documentation can be found here: https://git.vvvvvvaria.org/varia/octomode
 
==Octomode default templates==
 
===PAD.md===
 
<pre>
---
title: octomode
language: en
---
 
<!--
 
                                      |     
  __  __ _|_  __  _  _  _    __  __|  _ 
/  \_/    |  /  \_/ |/ |/ |  /  \_/  |  |/ 
\__/ \___/|_/\__/  |  |  |_/\__/ \_/|_/|__/
                                           
 
  This document is opened in octomode.
 
  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 structure of the lay out as a HTML (with PyPandoc)
                [note] this view does not render any styling!
  pdf          : render the lay out as a PDF (with Paged.js)
 
  https://git.vvvvvvaria.org/varia/octomode
 
-->
 
<!--
 
-----------------------------------------------------------------------------
This is a pad on *creative crowd*, a Varia server for publishing experiments.
This server is still pretty fresh and in progress!
 
How can this server be available AND unstable, public AND being paid for,
free to be used AND situated, a production environment AND in transformation?
 
While surfing the contradictions, we are working on the collective guidelines
for engaging with this server... Visit for updates: https://cc.vvvvvvaria.org
-----------------------------------------------------------------------------
 
-->
 
<section id="cover">
# *in octomode* { #title }
 
 
 
</section>
 
<section id="main">
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.
 
```
Edit this text in the PAD view.
Edit the styling in the STYLESHEET view.
Preview the page in the HTML view.
Render it on pages in the PDF view.
```
 
</section>
</pre>
 
===PAD.css===
 
<pre>
@charset "utf-8";
 
@page{
    size: A5;
    margin: 10mm 20mm 25mm 20mm;
 
    @bottom-center{
        content: counter(page);
        font-family: monospace;
    }
}
body{
    font-size: 12px;
    line-height: 1.5;
    color: #822b01;
}


Working in octomode includes:
/* ------------------------------------ cover */


* pad: all materials for the PDF are collected here. (written in Markdown)
@page:first{
* stylesheet: all CSS rules for the PDF are collected here (written in CSS)
    background-color: #f3c6ff;
* html: render the lay out as a HTML (rendered with PyPandoc)
    color: #822b01;
* pdf: render the lay out as a PDF (rendered with Paged.js)
}
section#cover{
    break-after: always;
}
section#cover h1#title{
    font-size: 300%;
}


When creating a new environment, a few things happen:
/* ------------------------------------ main */


* 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
section#main pre{
* 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
    color: magenta;
* 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.
}
</pre>


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.
==CSS Print==


The PDFs are rendered using [https://pagedjs.org/ 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 [https://coko.foundation/](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/.
Some CSS Print examples can be found at: [[CSS Print]]


==Octomode on the server==
==Octomode on the CC server==


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


Octomode Markdown template
You can restart octomode with: <code>$ sudo service octomode restart</code>


---
Or see its status with: <code>$ sudo service octomode status</code>.
title: hello!
language: en
---
# Hello?


Octomode CSS template
The code that is used for octomode can be found here: https://git.vvvvvvaria.org/varia/octomode.


@charset "utf-8";
== Error log ==
@page{
    size: A5;
}
@page:first{
    background-color: pink;
}
body{
    color: green;
}
section#cover{
    page-break-after: always;
}


---------------------------
For some adventures in Octomode, please see the [[Error log]]

Revision as of 14:25, 22 August 2023

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

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:

Octomode is published under CC4r: please feel free to use, change, transform and republish into many directions, within the limits of the conditions formulated by the COLLECTIVE CONDITIONS FOR RE-USE (CC4r) license.

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 be the name of the new octomode environment and pads that are used.

More documentation can be found here: https://git.vvvvvvaria.org/varia/octomode

Octomode default templates

PAD.md

---
title: octomode
language: en
---

<!-- 

                                      |      
  __   __ _|_  __   _  _  _    __   __|   _  
 /  \_/    |  /  \_/ |/ |/ |  /  \_/  |  |/  
 \__/ \___/|_/\__/   |  |  |_/\__/ \_/|_/|__/
                                             
  
  This document is opened in octomode.

  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 structure of the lay out as a HTML (with PyPandoc)
                 [note] this view does not render any styling!
  pdf          : render the lay out as a PDF (with Paged.js)

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

-->

<!--

-----------------------------------------------------------------------------
This is a pad on *creative crowd*, a Varia server for publishing experiments.
This server is still pretty fresh and in progress!

How can this server be available AND unstable, public AND being paid for,
free to be used AND situated, a production environment AND in transformation?

While surfing the contradictions, we are working on the collective guidelines
for engaging with this server... Visit for updates: https://cc.vvvvvvaria.org
-----------------------------------------------------------------------------

-->

<section id="cover">
# *in octomode* { #title }



</section>

<section id="main">
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. 

```
Edit this text in the PAD view.
Edit the styling in the STYLESHEET view. 
Preview the page in the HTML view.
Render it on pages in the PDF view.
```

</section>

PAD.css

@charset "utf-8"; 

@page{
    size: A5;
    margin: 10mm 20mm 25mm 20mm;

    @bottom-center{
        content: counter(page);
        font-family: monospace;
    }
}
body{
    font-size: 12px;
    line-height: 1.5;
    color: #822b01;
}

/* ------------------------------------ cover */

@page:first{
    background-color: #f3c6ff;
    color: #822b01;
}
section#cover{
    break-after: always;
}
section#cover h1#title{
    font-size: 300%;
}

/* ------------------------------------ main */

section#main pre{
    color: magenta;
}

CSS Print

Some CSS Print examples can be found at: CSS Print

Octomode on the CC 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.

Error log

For some adventures in Octomode, please see the Error log