User:Youjung/paged.js: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
 
(25 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 color them. With the gathered drawings, I'd like to compile 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 four.
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. [https://manpages.debian.org/bookworm/texlive-extra-utils/pdfbook2.1.en.html pdfbook] for [[Imposition]]


# cmd/ctrl + p to download the pdf.
⚠️ 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 for [[Imposition]]
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>
<div style="display: flex; gap: 5px;">[[File:Test print2.jpg|frameless]][[File:Test print.jpg|frameless]][[File:Test print 3.jpg|frameless]]</div>


== Output ==
====Step 4. Print and bind them together====
yay
For better resolution for my pencil drawings, I used the laser printer at the publication studio.
 
==Final Output==
 
*Font: [https://copypaste.wtf/TT2020/docs/download.html TT2020 StyleD italic]
*Binding: Saddle stitch binding
*Print method: Laser print, grayscale
[[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