User:Youjung/paged.js: Difference between revisions

From XPUB & Lens-Based wiki
 
(17 intermediate revisions by the same user not shown)
Line 3: Line 3:
There are 2 reason for using paged.js instead of [https://weasyprint.org/ weasyprint]. First, [https://internetphonebook.net/ The Internet Phone Book] used paged.js and I'm a big fan of [https://elliott.computer/ Elliott Cost]. Second, paged.js supports nth-child unlike weasyprint. This page is the documentation of making a zine using paged.js.  
There are 2 reason for using paged.js instead of [https://weasyprint.org/ weasyprint]. First, [https://internetphonebook.net/ The Internet Phone Book] used paged.js and I'm a big fan of [https://elliott.computer/ Elliott Cost]. Second, paged.js supports nth-child unlike weasyprint. This page is the documentation of making a zine using paged.js.  


== Title: Tangled Thoughts(TBD) ==
== Title: Tangled Thoughts ==
During the winter break, I spent time drawing tangled threads. I've been weirdly obsessed with these shapes. I think it reflects how chaotic my mind is currently, but also it is quite satisfying to draw and fill them. With the gathered drawings, I compiled them together using paged.js instead of Indesign. It is a good practice to move away from Adobe, although I'm still using Photoshop to edit the drawings.
During the winter break, I spent time drawing tangled threads. I've been weirdly obsessed with these shapes. I think it reflects my chaotic mind. But they are satisfying to draw. With the gathered drawings, I compiled them together into a zine. It is a good practice to move away from Adobe, although I'm still using Photoshop to edit the drawings.


== Working Process ==
== Working Process ==
Line 12: Line 12:


[https://pagedjs.org/en/documentation/2-getting-started-with-paged.js/ Getting Started with Paged.js]
[https://pagedjs.org/en/documentation/2-getting-started-with-paged.js/ Getting Started with Paged.js]
1. Download <code>paged.polyfill.js</code> and <code>interface.css</code> link it from the head of your html file. Make a new <code>style.css</code>and also link it.
<script src="js/paged.polyfill.js"></script>
<link href="path/to/file/interface.css" rel="stylesheet" type="text/css" />
<link href='css/style.css' rel='stylesheet' />
├── css
│   ├── interface.css
│   └── style.css
├── index.html
└── js
     └── paged.polyfill.js
2. To preview the pdf Go Live on your code Editor.
3. You can also download <code>paged.js</code> through command line.
$ npm install -g pagedjs-cli pagedjs


==== Step 2. Design with CSS ====
==== Step 2. Design with CSS ====
Line 18: Line 37:
[https://pagedjs.org/en/documentation/5-web-design-for-print/ Web design for print]
[https://pagedjs.org/en/documentation/5-web-design-for-print/ Web design for print]


# Set the page size and margin
1. Set the page size and margin
# Set page order using pagebreak
 
# Aligning element
@page {
    size: A5;
    margin: 8mm 12mm;
    font-family: TT2020StyleD-Regular;
    p {
        font-size: 9pt;
        line-height: 14pt;
    }
}
 
2. Set page order using pagebreak
 
<code>break-before: page;</code> The element should start on a new page
<br><code>break-before: right;</code> The element starts on the next right/left page.


==== Step 3. Make PDF ====
==== Step 3. Make PDF ====
If you're ready to print, make it into a pdf. The total number of pages must be a '''multiple of 4'''.
If you're ready to print, make it into a pdf. The total number of pages must be a '''multiple of 4'''.


# cmd/ctrl + p to download the pdf.
1. cmd/ctrl + p to download the pdf.
# [https://manpages.debian.org/bookworm/texlive-extra-utils/pdfbook2.1.en.html pdfbook] for [[Imposition]]
 
2. [https://manpages.debian.org/bookworm/texlive-extra-utils/pdfbook2.1.en.html pdfbook] for [[Imposition]]
 
⚠️ If you are printing at the '''publication station you do not need imposition''', the printer will do it for you. (costed 42 euros to learn this) ⚠️
pdfbook2 --paper=a4paper -n -s output.pdf
 
-s, --short-edge
-n, --no-crop
 
Test Prints
 
<div style="display: flex; gap: 5px;">[[File:Test print2.jpg|frameless]][[File:Test print.jpg|frameless]][[File:Test print 3.jpg|frameless]]</div>


==== Step 4. Print and bind them together ====
====Step 4. Print and bind them together====
For my pencil drawings, printing from the free printer would not be an option. The image resolution is bad. I'll have to use the printers from the print station...<div style="display: flex; gap: 5px;">[[File:Test print2.jpg|frameless]][[File:Test print.jpg|frameless]][[File:Test print 3.jpg|frameless]]</div>
For better resolution for my pencil drawings, I used the laser printer at the publication studio.


== Final Output ==
==Final Output==


* Font: [https://copypaste.wtf/TT2020/docs/download.html TT2020 StyleD italic]
*Font: [https://copypaste.wtf/TT2020/docs/download.html TT2020 StyleD italic]
* Paper:
*Binding: Saddle stitch binding
* Binding:
*Print method: Laser print, grayscale
* Print method:
[[File:Tangled thoughts-ezgif.com-resize(1).gif|frameless|500x500px]]

Latest revision as of 02:24, 18 March 2026

For Extraterrestrial Zine Fair 2026, I'm using paged.js.

There are 2 reason for using paged.js instead of weasyprint. First, The Internet Phone Book used paged.js and I'm a big fan of Elliott Cost. Second, paged.js supports nth-child unlike weasyprint. This page is the documentation of making a zine using paged.js.

Title: Tangled Thoughts

During the winter break, I spent time drawing tangled threads. I've been weirdly obsessed with these shapes. I think it reflects my chaotic mind. But they are satisfying to draw. With the gathered drawings, I compiled them together into a zine. It is a good practice to move away from Adobe, although I'm still using Photoshop to edit the drawings.

Working Process

Step 1. File Setup

I used Paged.js as a polyfill in web browsers as it is easy to design looking at the results live through the browser.

Getting Started with Paged.js

1. Download paged.polyfill.js and interface.css link it from the head of your html file. Make a new style.cssand also link it.

<script src="js/paged.polyfill.js"></script>
<link href="path/to/file/interface.css" rel="stylesheet" type="text/css" />
<link href='css/style.css' rel='stylesheet' />
├── css
│   ├── interface.css
│   └── style.css
├── index.html
└── js
    └── paged.polyfill.js

2. To preview the pdf Go Live on your code Editor.

3. You can also download paged.js through command line.

$ npm install -g pagedjs-cli pagedjs

Step 2. Design with CSS

This is the fun part! Using html and css to designing the zine.

Web design for print

1. Set the page size and margin

@page {
   size: A5;
   margin: 8mm 12mm;
   font-family: TT2020StyleD-Regular;
   p {
       font-size: 9pt;
       line-height: 14pt;
   }
}

2. Set page order using pagebreak

break-before: page; The element should start on a new page
break-before: right; The element starts on the next right/left page.

Step 3. Make PDF

If you're ready to print, make it into a pdf. The total number of pages must be a multiple of 4.

1. cmd/ctrl + p to download the pdf.

2. pdfbook for Imposition

⚠️ If you are printing at the publication station you do not need imposition, the printer will do it for you. (costed 42 euros to learn this) ⚠️

pdfbook2 --paper=a4paper -n -s output.pdf
-s, --short-edge
-n, --no-crop

Test Prints

Test print2.jpgTest print.jpgTest print 3.jpg

Step 4. Print and bind them together

For better resolution for my pencil drawings, I used the laser printer at the publication studio.

Final Output

Tangled thoughts-ezgif.com-resize(1).gif