<?phpif (!defined('ABSPATH'))    exit; // Exit if accessed directlyadd_action("wp_ajax_sliding-captcha", "sliding_captcha_fn");add_action("wp_ajax_nopriv_sliding-captcha", "sliding_captcha_fn");function sliding_captcha_fn() {    $Response['error'] = false;    $action = sanitize_text_field($_POST["action"]);    $qaptcha_key = sanitize_text_field($_POST["qaptcha_key"]);    if (isset($_POST['action']) && isset($_POST['qaptcha_key'])) {        if (htmlentities($action, ENT_QUOTES, 'UTF-8') == 'sliding-captcha') {            echo json_encode($Response);        } else {            $Response['error'] = true;            echo json_encode($Response);            exit;        }    } else {        $Response['error'] = true;        echo json_encode($Response);        exit;    }    die;}{"id":92,"date":"2016-09-26T21:00:59","date_gmt":"2016-09-26T19:00:59","guid":{"rendered":"https:\/\/nylnook.art\/\/en\/?p=92"},"modified":"2019-03-14T15:55:08","modified_gmt":"2019-03-14T14:55:08","slug":"making-a-comic-from-a-to-z-with-free-software","status":"publish","type":"post","link":"https:\/\/nylnook.art\/en\/blog\/making-a-comic-from-a-to-z-with-free-software\/","title":{"rendered":"Making a comic from A to Z with free software"},"content":{"rendered":"<p>There are many ways to create comics, but as many authors, I found my own way with my tools of choice, free software. I can&#8217;t really work outside my office in my home, so I choose to work in a full digital process.<\/p>\n<p>It have many steps, but I need them as a careful craftsman, and I learned that spending time on the conception phase (scenario, cutting, model sheet, storyboard) make me win time on the production phase (final drawing and layout).<\/p>\n<p>I will describe my method here with the example of <a href=\"\/en\/comics\/mokatori-ep0-the-end\">Mokatori episode 0<\/a> I released a little more than two weeks ago.<br \/>\nHopefully you will be able to adapt my method to your own project \ud83d\ude09<\/p>\n<h2>Scenario<\/h2>\n<p>Some start by scribbling, but for me a comic start with a story idea, and with a text. And by reading books, because you can&#8217;t talk about climate change without some documentation!<\/p>\n<p>Here is the scenario for Episode 0, which is also a letter:<\/p>\n<hr \/>\n<section class=\"letter\">## Mokatori<br \/>\n#### Our possible futures[Legal Information]<br \/>\n[Dedication] You can&#8217;t predict the future, but you can achieve it<br \/>\n[Thanks]### Opening \u2013 an illustration<br \/>\nThe Earth, and inside it two fetuses : one of a baby dinosaur, one of a baby human.[Subtitle] &#8220;Last time there was as much carbon dioxide (CO2) in the atmosphere as there is today&#8230; was 3 million years ago*. Dinosaurs were not even born.&#8221; [source : Gilles Ramstein, Voyage \u00e0 travers les climats de la terre &#8211; Travel through the earth climates, p.282]<\/p>\n<p>### Ep. 0 &#8211; &#8220;The End&#8221; [Introduction, a mexican worker on a building site]<br \/>\n*Mexico City, Mexico, November 27, 2015*<\/p>\n<p>When I was 17, at the end of the twentieth century, my mother told me that I was part of the generation that could no longer believe in anything. Good or bad, the greatest ideologies of the twentieth century had collapsed or were in the process of collapsing: Nazism, communism, anarchisms, the religions of the Book\u2026 Walls had fallen, but capitalism remained, with an illusion of democracy. Not that it&#8217;s good, but no one came up with something better. The time for ideas was over, and politics were meaningless.<\/p>\n<p>Since I was born, we never had a period longer than 3 years without an economic crisis, in my country or anywhere else in the world.<\/p>\n<p>I didn&#8217;t know at that time I would experience at least two major revolutions in my life: the digital revolution and the climatic revolution\u2026 That I would have to fight just to be able to breathe without poisoning myself. And also to preserve the freedom I was given.<\/p>\n<p>I&#8217;m not sure at all, but I feel like it&#8217;s the end of a world. It&#8217;s time to change logic. And a lucky find will force me to make that change\u2026<br \/>\nAt the city dump I found a smartphone that still works, and from time to time, I receive letters from the future\u2026<\/p>\n<p>### Interlude \u2013 an illustration<br \/>\nFukushima, March 11, 2057<br \/>\nCeremony for celebrating the end of the nuclear power plant decommissioning<\/p>\n<\/section>\n<hr \/>\n<p>This look like it&#8217;s easy, but actually it was very long for me (for all the 6 episodes), considering also the time needed for proofreading and translating in English: I wrote in french, my native language.<\/p>\n<p>For this step I use a simple text editor, <a href=\"https:\/\/wiki.gnome.org\/Apps\/Gedit\">Gedit<\/a>, and <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/syntax\">the markdown syntax<\/a> for some simple formatting: no distractions. You can prefer more advanced and dedicated tools like <a href=\"http:\/\/www.trelby.org\/\">Trebly<\/a>.<\/p>\n<h2>Cutting<\/h2>\n<p>The next step is cutting my script into pages and panels in a mind mapping software, I choose <a href=\"http:\/\/www.xmind.net\/\">XMind (Free version)<\/a>.<br \/>\nAt this step, I&#8217;m already thinking about the final book or ebook : Is this sentence need a full illustration on a two page spread ? How to balance it ? What can I imagine to draw at this moment ? Can I make a full paragraph of the scenario fit in one page ? And so on\u2026<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-cutting.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-373\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-cutting.png\" alt=\"\" width=\"892\" height=\"866\" \/><\/a><br \/>\n<em>(Sorry, it&#8217;s in french, I&#8217;m making it in french ;p)<\/em><\/p>\n<p>I also know that it will be a digital or physical object: my paper format is an A5, so it&#8217;s readable both on paper and on a tablet (almost the same size, no need to resize the text or change the layout). That mean my number of pages must be a multiple of 4 to be printed with a central fold.<br \/>\nSo I&#8217;m thinking both at my story and my layout, preparing an object with a cover and adding technical things that I must add like the ISBN number. If needed, I can choose to add blank pages so the story start on a single right page, and I did that (pages 4 an 10).<\/p>\n<h2>Storyboard<\/h2>\n<p>The next step is storyboarding: I prepare the drawing with sketches to give life to my text, but not spending hours in fixing details yet. Storyboarding help to fix ideas, but also to change them before it&#8217;s too late.<\/p>\n<h3>1\/ Get a character<\/h3>\n<p>I need a drawing of a character first. I can do that before cutting, but I need to do it before the storyboard to have a good idea of what my character look like. So after some scribbling to fix my ideas, I do two things:<\/p>\n<p>an expression sheet:<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-expressions-hugo-thumb.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-374\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-expressions-hugo-thumb.jpg\" alt=\"\" width=\"700\" height=\"525\" \/><\/a><\/p>\n<p>and a model sheet:<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-model-sheet-hugo-thumb.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-377\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-model-sheet-hugo-thumb.jpg\" alt=\"\" width=\"700\" height=\"465\" \/><\/a><\/p>\n<p>Both help me to define my character and to draw it consistently.<\/p>\n<p>You can also write a character sheet to give him a name, a story, a family, a personality and so on: maybe it will help you to create a unique behavior for your character. I didn&#8217;t do that (except for choosing a first name &#8211; Hugo -) because I didn&#8217;t want to loose myself into details and because that&#8217;s not so important in this comic.<\/p>\n<h3>2\/ Draw panel per panel<\/h3>\n<p>By keeping a look at the cutting and the model sheets, I start to draw sketches of my story, panel per panel. One drawing by panel in a square canvas (2048&#215;2048 pixels) in <a href=\"https:\/\/krita.org\">Krita<\/a>, based on the cutting, not worrying about the layout yet.<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-panel-in-krita.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-378\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-panel-in-krita.jpg\" alt=\"\" width=\"700\" height=\"386\" \/><\/a><\/p>\n<p>It&#8217;s time for me to focus on what I want to represent. The parallel mute story on the R letter falling is born like that by focusing on what to draw.<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-thumb-c_005.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-381\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-thumb-c_005.jpg\" alt=\"\" width=\"700\" height=\"700\" \/><\/a><\/p>\n<p>I try not to draw a copy of what I wrote, to give more depth to the story.<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-thumb-c_006.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-382\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-thumb-c_006.jpg\" alt=\"\" width=\"700\" height=\"700\" \/><\/a><\/p>\n<p>It&#8217;s also at this time that I&#8217;m looking for references of what I am drawing (what a painting machine look like, views of Mexico, a city dump&#8230;).<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-thumb-c_007.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-383\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-thumb-c_007.jpg\" alt=\"\" width=\"700\" height=\"700\" \/><\/a><\/p>\n<p>If I get a better idea while drawing, I correct my cutting file.<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-thumb-c_008.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-384\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-thumb-c_008.jpg\" alt=\"\" width=\"700\" height=\"700\" \/><\/a><\/p>\n<h3>3\/ Storyboard Layout<\/h3>\n<p>When all the panel sketches are ready, I start a first layout, based again on the cutting file, and try to make my panels fit into pages in a readable way (rom top left to bottom right in a Z shape). I also add speech bubbles and text from the scenario with <a href=\"\/en\/blog\/comili-a-libre-comic-font\">my font<\/a>, plus text for &#8220;sounds&#8221;.<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-thumb-page-05.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-385\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-thumb-page-05.jpg\" alt=\"\" width=\"700\" height=\"993\" \/><\/a><\/p>\n<p>Most of the time I need to change scales, stretch, crop. Sometimes I figure out that panels are missing, or that some can be deleted.<br \/>\nSo I&#8217;m back to drawing more panels, and I redo some. I print my first layout on my home printer and read it as a comic and see if it work. And correct again, until I&#8217;m happy with it \ud83d\ude09<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-in-inkscape.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-380\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-storyboard-in-inkscape.jpg\" alt=\"\" width=\"700\" height=\"773\" \/><\/a><\/p>\n<p>Technically I do that with <a href=\"https:\/\/inkscape.org\">Inkscape<\/a>: I created templates files in Inkscape and Krita for my A5 comics, and you can get them <a href=\"https:\/\/framagit.org\/nylnook\/comic-templates\/repository\/archive.zip?ref=master\">here<\/a>. Th Krita file is prepared at 600 dpi to be able to print it in high quality or to be able to enlarge.<\/p>\n<p>When each page (one page = one Inkscape .svg file) including the cover have a finished layout, I export them with <a href=\"https:\/\/framagit.org\/nylnook\/mokatori\/blob\/master\/export-comic.sh\">my export script<\/a> (described later below) to PDF format to be able to print it easily and to share it with other proofreaders.<\/p>\n<pre><code class=\"bash\">.\/export-comic.sh --print storyboard\/layout\/storyboard-ep0\/\r\n<\/code><\/pre>\n<p>If I need to add a blank page, I just add an empty .svg template file with the correct page number.<\/p>\n<p>Doing a first layout at the storyboard step allow me to do a lot of corrections quickly, to choose when I have several options, and most importantly I can avoid big mistakes without wasting too much time.<\/p>\n<h2>Drawing, Inking, Coloring<\/h2>\n<p>Now I consider the storyboard ready, it&#8217;s time for the final drawing, page per page.<\/p>\n<h3>Folder setup<\/h3>\n<p>Things can start to go wild with a lot of files everywhere if you don&#8217;t set up your folders in a comprehensive way.<br \/>\nI set up my files as in the example below. SVG files are source files for Inkscape, KRA files are source files from Krita, and you know the PNG and JPG images \ud83d\ude09<\/p>\n<pre><code class=\"bash\">mokatori\/\r\n\u251c\u2500\u2500 cover\r\n\u251c\u2500\u2500 documentation\r\n\u251c\u2500\u2500 layout (final layout)\r\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 ep0 ebook-en (one folder by media and language couple)\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 export folders\u2026\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 01.svg (inkscape layout files)\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 02.svg\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 03.svg\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2026\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 metadata.sh (metadata variable file for export)\r\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 ep0 ebook-fr (one folder by media and language couple)\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 export folders\u2026\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 01.svg (inkscape layout files)\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 02.svg\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 03.svg\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2026\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 metadata.sh (metadata variable file for export)\r\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 ep0 print-en\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 export folders\u2026\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 01.svg (inkscape layout files)\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 02.svg\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 03.svg\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2026\r\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 metadata.sh\r\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 ep0 print-fr\r\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 ep1 ebook-en\r\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 ep1 ebook-fr \u2026 (one folder by media and language couple)\r\n\u2502\u00a0\u00a0 cover-ep0.png (exported artworks from krita files, this one is a double page spread)\r\n|   p03.png (exported page artworks from krita files)\r\n|   p05.png\r\n|   p06.png\r\n|   \u2026\r\n\u251c\u2500\u2500 model-sheet\r\n\u251c\u2500\u2500 pub\r\n\u251c\u2500\u2500 scenario\r\n\u2514\u2500\u2500 storyboard\r\n    \u2514\u2500\u2500 layout (storyboard layout)\r\n        \u2514\u2500\u2500 storyboard-ep0\r\n            \u2514\u2500\u2500 export folders\u2026\r\n            01.svg (inkscape layout files)\r\n            02.svg\r\n            03.svg\r\n            \u2026\r\n            metadata.sh (metadata variable file for export)\r\n        \u2514\u2500\u2500 storyboard-ep1\r\n        \u2514\u2500\u2500 \u2026\r\n        c_001.jpg (exported panel artworks from krita files)\r\n        c_002.jpg\r\n        c_003.jpg\r\n        \u2026\r\n    \u2514\u2500\u2500 ref (reference images)\r\n    c_001.kra (panel artworks in krita files)\r\n    c_002.kra\r\n    c_003.kra\r\n    \u2026\r\nexport-comic.sh (my export script)\r\np05.kra (final page artworks in krita files)\r\np06.kra\r\np07.kra\r\n\u2026\r\n\r\n<\/code><\/pre>\n<h3>Prepare final drawing pages with storyboard as a base<\/h3>\n<p>The first thing to do is to export the storyboard pages, but without any text, to images files which will serve as a base for the final artworks.<\/p>\n<p>Good news, Inkscape allow to export to .png one layer only from command line in the desired resolution, so I was able to automate the process in <a href=\"https:\/\/framagit.org\/nylnook\/mokatori\/blob\/master\/export-comic.sh\">a Bash script<\/a>!<\/p>\n<pre><code class=\"bash\">.\/export-comic.sh --artwork storyboard\/layout\/storyboard-ep0\/\r\n<\/code><\/pre>\n<p>The <em>&#8211;artwork<\/em> option allow to export only the artwork layer (the bottom layer in my Inkscape templates) to a bunch of png files. The files will be in the <em>storyboard\/layout\/storyboard-ep0\/artwork<\/em> folder.<\/p>\n<p>I will explain how to use this script in the &#8220;Exporting&#8221; section below.<\/p>\n<h3>Start drawing<\/h3>\n<p>Now I start drawing in Krita, creating a new .kra file from my comic A5 template and importing the storyboard:<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-start-drawing-in-krita.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-379\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-start-drawing-in-krita.jpg\" alt=\"\" width=\"700\" height=\"739\" \/><\/a><\/p>\n<h3>Inking<\/h3>\n<p>I usually start by inking the drawings, in black with <a href=\"krita-brushes-pack-v2\">my inking brushes<\/a>:<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-inking-example.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-375\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-inking-example.jpg\" alt=\"\" width=\"700\" height=\"985\" \/><\/a><\/p>\n<h3>Coloring and texturing<\/h3>\n<p>Then it&#8217;s time for colors and textures, again with <a href=\"krita-brushes-pack-v2\">my brushes<\/a> and textures (to be published) until the final artwork is ready:<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-artwork-example.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-372\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-artwork-example.jpg\" alt=\"\" width=\"700\" height=\"985\" \/><\/a><\/p>\n<p>And I continue until I&#8217;m able to finish all the pages artworks.<\/p>\n<h2>Final layout<\/h2>\n<p>When I reach the final layout step, almost everything is ready, and I&#8217;m usually pretty excited to see my comic assembled.<br \/>\nI export my .kra file to .png and I start by copying the .svg files from the storyboard layout in the layout directory (see the folder structure before).<br \/>\nThen I update the artworks in Inkscape, and do the final positioning for texts (with <a href=\"\/en\/blog\/comili-a-libre-comic-font\">my font<\/a> again):<\/p>\n<p><a href=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-layout-example.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-376\" src=\"https:\/\/nylnook.art\/\/fr\/wp-content\/uploads\/sites\/2\/making-a-comic-layout-example.jpg\" alt=\"\" width=\"700\" height=\"944\" \/><\/a><\/p>\n<p>It&#8217;s usually quick, but there are maybe some final corrections left in the drawing, so some polishing is left again.<\/p>\n<p>And if you watch well the folder setup, you get it: even if I decided to use an A5 format which can work both for books and ebooks read with a tablet, I need to do one layout per media. They share a lot of things, but the cover change (there is a price on the book, and not on the ebook, another ISBN\u2026), I may remove the blank pages for the ebook, and so on.<\/p>\n<p>Additionally, I&#8217;m translating from French to English: finally I do a layout <strong>for each media+language couple<\/strong> (ebook in french, ebook in english, book in french, book in english\u2026). But they all share the same artworks files, so copying the .svg files to a new directory to create a new layout and update the text is easy.<\/p>\n<h2>Exporting<\/h2>\n<p>Here I am, ready to share my comic to the world, it&#8217;s time to produce the final files that people will be able to see and use!<br \/>\nIt&#8217;s something that need to be done for each version (media+language couple), and done again if a last correction occur. It absolutely <strong>need it to be automated<\/strong> if I don&#8217;t want to become crazy spending my time clicking the same buttons again and again.<\/p>\n<p>Now I&#8217;m writing this tutorial, it&#8217;s easy: I use the script I created to export to every format I need. But it takes me a while to figure out how to do it and to code it (I&#8217;m not a programmer!). It&#8217;s &#8220;my precious&#8221;, but I&#8217;m sharing with you \ud83d\ude09<\/p>\n<p>Let&#8217;s see what it can do into details. You can <a href=\"https:\/\/framagit.org\/nylnook\/mokatori\/raw\/master\/export-comic.sh\">download it here<\/a>, then make sur it&#8217;s executable (<code>chmod +x export-comic.sh<\/code>), and place it at the root of your comic folder so it&#8217;s easy to start command line.<\/p>\n<p>To use all functions of <a href=\"https:\/\/framagit.org\/nylnook\/mokatori\/blob\/master\/export-comic.sh\">the script<\/a>, you will need to install Bash 4, Exiftools, Inkscape, ImageMagick, Gostscript, Sed, Calibre, Zip and Unzip.<br \/>\nFor my Arch based Linux distribution (<a href=\"https:\/\/antergos.com\/\">Antergos<\/a>), the command to install everything is this one:<\/p>\n<pre><code class=\"bash\">pacman -S bash perl-image-exiftool inkscape imagemagick ghostscript sed calibre zip unzip\r\n<\/code><\/pre>\n<p>On a Debian based distrib like Ubuntu:<\/p>\n<pre><code class=\"bash\">apt-get install bash ruby-mini-exiftool inkscape imagemagick ghostscript sed calibre zip unzip\r\n<\/code><\/pre>\n<p>So let&#8217;s start it, it ask for options flags:<\/p>\n<pre><code class=\"bash\">$ cd Mokatori\/\r\n$ .\/export-comic.sh\r\nPlease pass a --all, --images, --web-images, --hd-images, --ebook-images, --print-images, --print, --ebook, --artwork flag and a directory or a path to a filename.svg to this script.\r\nShortcodes -a, -i, -webi, -hdi, -ebi, -printi, -p, -e, -art\r\nExamples :\r\n.\/export-comic.sh ebook-en\/source-file.svg\r\n.\/export-comic.sh --all ebook-en\/\r\n<\/code><\/pre>\n<p>Before going further, I create a <em>metadata.sh<\/em> file at the root of each version (media+language couple) layout folder. This allow to give title, author, and so on to my comic files. Here is an example for Mokatori Episode 0 ebook in English:<\/p>\n<pre><code class=\"bash\">#!\/bin\/sh\r\n\r\n# Metadata\r\ncreator='Nylnook'\r\nurl=\"www.nylnook.com\"\r\nyear=`date +'%Y'`\r\ncopyright=\"Copyright (c) $creator $year\"\r\nlicence=\"This image is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.\"\r\npubDate=`date +%Y-%m`\r\nlanguage=en\r\ntitle=\"Mokatori - Ep. 0 - The End\"\r\nseries=\"Mokatori\"\r\nseriesindex=\"0\"\r\ntags=\"comics, graphic novel, climate, climate change, creative commons, libre, free\"\r\ndescription=\"And if the inhabitants of tomorrow sent us letters?\r\nFrom 2054 to 2084, from Iceland to Afghanistan, from cataclysms to utopias, five stories draw our possible futures during the \\\"Mokatori\\\", the word for climate change among Amazonian Indians\r\nEp. 0 - \\\"The End\\\" - Mexico City, Mexico, November 27, 2015\"\r\nebookIsbn=\"979-10-95663-04-1\"\r\n\r\n# Generated directories\r\ndirwebjpg=web-jpg\r\ndirHDjpg=hd-jpg\r\ndirverticalstrip=vertical\r\ndirebooks=ebooks\r\ndirHDebooks=ebooks-hd\r\ndirprintrgb=print-rgb\r\ndirprintcmyk=print-cmyk\r\ndirartwork=artwork\r\n<\/code><\/pre>\n<p>If you forget to create a <em>metadata.sh<\/em> file, the script will use test metadatas as placeholders, but it&#8217;s really recommended to have correct metadatas in your files.<\/p>\n<p>And again, you should have an ISBN per version. In France, as a self-publishing author, I asked my numbers to <a href=\"http:\/\/www.afnil.org\/\">AFNIL<\/a> and I waited two weeks to have 20 numbers. Where to get yours depends on your country, but they are international. Everything else is up to you, but get informed on publishing laws in your country, specially if you want to be able to sell your comic.<\/p>\n<p>Maybe we can start by exporting everything so you can see it all. This command will export my episode 0 ebook into every format I may use, including print (which I don&#8217;t need for an ebook, but let&#8217;s do it for the example):<\/p>\n<pre><code class=\"bash\">.\/export-comic.sh --all layout\/ep0\\ ebook-en\/\r\n<\/code><\/pre>\n<p>So we had that:<\/p>\n<pre><code class=\"bash\">ep0 ebook-en\/\r\n01.svg\r\n02.svg\r\n03.svg\r\n\u2026\r\nmetadata.sh\r\n<\/code><\/pre>\n<p>Waiting 6 minutes and 44 seconds on my computer, here what the export produced:<\/p>\n<pre><code class=\"bash\">ep0 ebook-en\/\r\n\u251c\u2500\u2500 ebooks\r\n|   Mokatori - Ep. 0 - The End - ebook.cbz\r\n|   Mokatori - Ep. 0 - The End - ebook.epub\r\n|   Mokatori - Ep. 0 - The End - ebook.pdf\r\n|   Mokatori - Ep. 0 - The End - HD ebook.cbz\r\n|   Mokatori - Ep. 0 - The End - HD ebook.epub\r\n|   Mokatori - Ep. 0 - The End - HD ebook.pdf\r\n|   Mokatori - Ep. 0 - The End - separate cover.jpg\r\n\u251c\u2500\u2500 hd-jpg\r\n|   page-HD-01.jpg\r\n|   page-HD-02.jpg\r\n|   page-HD-03.jpg\r\n|   \u2026\r\n\u251c\u2500\u2500 print-cmyk\r\n\u2502\u00a0\u00a0 Mokatori - Ep. 0 - The End - print cmyk.pdf\r\n\u2502\u00a0\u00a0 print-page-marks-01.jpg\r\n\u2502\u00a0\u00a0 print-page-marks-02.jpg\r\n\u2502\u00a0\u00a0 print-page-marks-03.jpg\r\n|   \u2026\r\n\u251c\u2500\u2500 print-rgb\r\n\u2502\u00a0\u00a0 Mokatori - Ep. 0 - The End - print.pdf\r\n\u2502\u00a0\u00a0 print-page-01.jpg\r\n\u2502\u00a0\u00a0 print-page-02.jpg\r\n\u2502\u00a0\u00a0 print-page-03.jpg\r\n|   \u2026\r\n\u251c\u2500\u2500 vertical\r\n|   Mokatori - Ep. 0 - The End.jpg\r\n\u2514\u2500\u2500 web-jpg\r\n    page-01.jpg\r\n    page-02.jpg\r\n    page-03.jpg\r\n    \u2026\r\n01.svg\r\n02.svg\r\n03.svg\r\n\u2026\r\nmetadata.sh\r\n\r\n<\/code><\/pre>\n<p>There are two jpg folders: here I can find my final pictures page per page. I use the simple resolution to publish on my website with <a href=\"https:\/\/github.com\/mhkeller\/pulp2\">the Pulp open source viewer<\/a>. HD pictures are needed for HD ebooks and can be occasionally useful individually.<\/p>\n<p>The ebook folder contain 6 variants of ebook files: HD or not, in CBZ, PDF and EPUB format. Depending on the online bookseller and the devices, you may need one or the other. CBZ is not used much today, but I use this format to generate others, and the EPUB is by far the more technical to produce (I did so many tests!).<br \/>\nHD ebooks are compliant with latest Amazon devices (Full HD).<br \/>\nThere is also a separate cover image, which is often asked in the best resolution when publishing, but must be below 4 millions pixels for Apple (yes, requirements are crazy).<\/p>\n<p>The print folders are separated in two folders too: an RGB version without bleed for printing on your home printer or with a copier, and a CMYK version with bleeds and printing marks for your professional printer.<\/p>\n<p>Finally, there is a &#8220;vertical&#8221; folder, to publish online on websites that doesn&#8217;t allow pages, like <a href=\"http:\/\/nylnook.deviantart.com\/art\/Mokatori-Ep-0-The-End-633051073\">DeviantArt<\/a>, where all the pages are placed end to end in one big image.<\/p>\n<p>And every file have correct metadatas, so I can spread them everywhere with proper credit.<\/p>\n<p>But obviously, I don&#8217;t need to generate print files for an ebook, or ebook files for a printing!<\/p>\n<p>So usually I use one of thoses commands:<\/p>\n<pre><code class=\"bash\">.\/export-comic.sh --ebook-images layout\/ep0\\ ebook-en\/\r\n<\/code><\/pre>\n<p>to (re)generate images for ebooks, and then<\/p>\n<pre><code class=\"bash\">.\/export-comic.sh --ebook layout\/ep0\\ ebook-en\/\r\n<\/code><\/pre>\n<p>to create the CBZ, PDF and EPUB files. This allow me to update ebooks without regenerating all the pictures if needed (for a text corrction).<\/p>\n<p>For a print version, it is:<\/p>\n<pre><code class=\"bash\">.\/export-comic.sh --print-images layout\/ep0\\ print-en\/\r\n<\/code><\/pre>\n<p>and then:<\/p>\n<pre><code class=\"bash\">.\/export-comic.sh --print layout\/ep0\\ print-en\/\r\n<\/code><\/pre>\n<p>This script is the result of weeks of work, but it can certainly be improved and made more generic (other formats), so don&#8217;t hesitate <a href=\"https:\/\/framagit.org\/nylnook\/mokatori\/\">to contribute here<\/a>.<\/p>\n<h2>Printing and Publishing<\/h2>\n<p>Now I have my files ready to publish for ebooks, and ready to print for books\u2026 Talking about publishing would deserve a lot more explanations, but you should not underestimate it: I you don&#8217;t publish, no one will read your comic, and that would be quite frustrating \ud83d\ude09<\/p>\n<h3>Books<\/h3>\n<p>Most people read books, not ebooks, so you should print, because here are most of the readers. But that&#8217;s a budget, so don&#8217;t print what you can&#8217;t sell!<br \/>\nI didn&#8217;t print much of my comics yet, just 150 copies on my <a href=\"\/en\/comics\/climate-frogs\">Climate Frogs<\/a> in french to distribute around me, but for Mokatori I plan to use on demand printing, with the <a href=\"http:\/\/www.bookelis.com\/\">Bookelis<\/a> service. Print On demand don&#8217;t ask you to pay for printing in advance, there is no stock and no waste, and no limited quantity. It seems the best solution for printing books in the twentieth century to me.<br \/>\nYou may also print a limited quantity after a successful crowdfunding campaign, that&#8217;s an alternative \ud83d\ude09<\/p>\n<h3>Web and ebooks<\/h3>\n<p>I publish my comics <a href=\"\/en\/comics\">on my website<\/a> with <a href=\"https:\/\/github.com\/mhkeller\/pulp2\">the Pulp open source viewer<\/a>, and as far as I can tell, most of my readers choose this way to read them. But I also offer the ebooks at a Pay What You Want price, to offer the choice to download to my readers, with an invitation to finance my work. For that, I use the <a href=\"https:\/\/gumroad.com\/\">Gumroad<\/a> services, which allow to sell at Pay What You Want prices.<\/p>\n<p>For distributing ebooks widely on online booksellers platforms, you can become quite crazy given there are a lot! But happily, <a href=\"http:\/\/www.bookelis.com\/\">Bookelis<\/a> offer to distribute ebooks from their platform to a lot of online booksellers, so I do that, for free or at a fixed price. Don&#8217;t limit yourself to Amazon KDP, the world is mush larger.<\/p>\n<p>On most online booksellers platforms, the format asked is EPUB, and it should be <a href=\"http:\/\/validator.idpf.org\/\">100% valid<\/a> with <a href=\"https:\/\/github.com\/IDPF\/epubcheck\">EpubCheck<\/a>\u2026 which is not so easy. By fine tuning the <a href=\"https:\/\/calibre-ebook.com\/\">Calibre<\/a> <em>ebook-convert<\/em> options in my script, I finally achieved that, so again, use <a href=\"https:\/\/framagit.org\/nylnook\/mokatori\/blob\/master\/export-comic.sh\">my export script<\/a>.<br \/>\nYou can also use <a href=\"https:\/\/sigil-ebook.com\/\">Sigil<\/a> to craft your ebooks, but as far as I can tell you can&#8217;t use it command line so there is no way to automate the export of your ebooks with it.<\/p>\n<p>Finally, to find more readers and some discussions, I publish freely to online communities like <a href=\"http:\/\/www.deviantart.com\/browse\/all\/cartoons\/\">DeviantArt<\/a>, <a href=\"http:\/\/www.amilova.com\">Amilova<\/a> and <a href=\"http:\/\/www.webtoons.com\">Webtoon<\/a> (but this last one ask yet another layout).<\/p>\n<h2>Final word<\/h2>\n<p>If you want to explore the files for Mokatori and dig into details, I published <a href=\"https:\/\/framagit.org\/nylnook\/mokatori\">my sources on Framagit<\/a>.<br \/>\nPlease leave a comment if you have questions, feedback, or if you want to share your own experience!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are many ways to create comics, but as many authors, I found my own way with my tools of choice, free software. I can&#8217;t really work outside my office in my home, so I choose to work in a full digital process. It have many steps, but I need them as a careful craftsman, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"godot_game_meta":[],"pulp_press_meta":[],"pulp_comic_meta":[],"inline_featured_image":false,"nylnook_wp_meta":[null],"footnotes":""},"categories":[1],"tags":[21,31,61,37,52],"class_list":["post-92","post","type-post","status-publish","format-standard","hentry","category-blog","tag-download","tag-geek","tag-graphic-novel","tag-making-of","tag-tutorials"],"_links":{"self":[{"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/posts\/92","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/comments?post=92"}],"version-history":[{"count":6,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/posts\/92\/revisions"}],"predecessor-version":[{"id":337,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/posts\/92\/revisions\/337"}],"wp:attachment":[{"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/media?parent=92"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/categories?post=92"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nylnook.art\/en\/wp-json\/wp\/v2\/tags?post=92"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}