{ "info": { "author": "dickloraine", "author_email": "dickloraine@gmx.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Topic :: Text Processing" ], "description": "# Panovel\n\n - [Introduction](#introduction)\n - [How does this work?](#how-does-this-work)\n - [Installation](#installation)\n - [Starting a new project](#starting-a-new-project)\n - [The command line interface](#the-command-line-interface)\n - [Formating](#formating)\n - [Configuration](#configuration)\n - [Building the books](#building-the-books)\n - [List of styles](#list-of-styles)\n - [Filter](#filter)\n\n## Introduction\n\nThe purpose of this little project is to make the process of producing a\nnovel targeting different formats easier and more streamlined.\n\nYou just write the book in markdown, a very basic and easy to use markup\nlanguage. You don\u2019t need a word processor for this, every editor will\ndo. Then you just edit the metadata.yaml file with the options you want\nto use and execute the script. Voila: You have produced your book as an\neBook and a pdf, ready to be printed\\! The main advantage of this method\nis, that you don\u2019t have to maintain different files for different\nformats.\n\n## How does this work?\n\nThis project is a wrapper around [pandoc](http://pandoc.org/index.html).\nIt automates many steps that would be needed to convert the files\nmanually and provides an example metadata.yaml file for easy\nconfiguration. In addition it provides many filters for pandoc to style\nsome special elements.\n\n## Installation\n\n### Prerequisites\n\nBefore you can use this template, you need some programs installed on\nyour computer:\n\n1. Python 3.6 or higher: You can get [python\n here](https://www.python.org/).\n\n2. Pandoc: You can download [pandoc\n here](http://pandoc.org/index.html).\n\n3. A latex distribution: If you want a pdf in addition to an epub, you\n need to install a latex engine. Depending on your operating system,\n this are some popular choices:\n\n - Windows: [MiKTeX](https://miktex.org/download). I recommend the\n full webinstall. It is very big and takes quite some time, but\n you don\u2019t need to install any packages yourself this way.\n\n - MacOS: [MacTeX](https://tug.org/mactex/)\n\n - Linux: [TeXLive](http://www.tug.org/texlive/) via the package\n manager\n\n **Additional packages for latex:** If you didn\u2019t choose a complete\n latex distribution, you may have to install some additional packages\n in them. All of these distributions have a package manager you can\n use to download the needed packages. This template needs these three\n packages:\n\n - koma-script\n - verse\n - titletoc\n\n Pandoc needs some packages too. You can find the list in pandocs\n documentation (depending on the distribution, most or all could be\n installed already).\n\n4. Kindlegen: If you want to convert your book for amazons kindle, you\n need this little tool from amazon. You can get it\n [here](https://www.amazon.com/gp/feature.html?docId=1000765211).\n\n### Installing this script\n\nNow you need to install this script itself. Open the console and enter:\n\n pip3 install panovel\n\n**How to open the command prompt on windows**: There are many ways to\nopen the console on windows. Instead of the command prompt, you can use\nPowershell, if you like. The ways to access Powershell are mostly the\nsame. Here are a few examples:\n\n - Press the windows key and x. Now the power menu pops open. Select\n the command prompt from it.\n - In the file explorer, enter `cmd` in the adressbar\n - In the file explorer shift - right click on a folder and select\n `Open command window here`\n - In the file explorer click on the `file` menu item and select `Open\n command prompt`. You can even add this command to the menu toolbar\n with the right click option menu for more convinient use.\n\n## Starting a new project\n\nPanovel can create a project folder for you, which includes anything you\nneed to get started with your new project. Open the console in the\nfolder you want to create your new project folder in. Then enter the\nfollowing into the console:\n\n panovel your_project_name\n\nPer default, this creates a basic metadata.yaml file. If you need all\navailable options, you can instead enter:\n\n panovel your_project_name -c\n\nOf course you can always create the full metadata file later, by opening\nthe console in the project folder and entering:\n\n panovel -c\n\n### Structure\n\nAll markdown files in the folder are used to create the book. You can\ntherefor either have your book in just one file or in different files.\nAll files are joined alphabetically or you can specify the exact\nsequence in the metadata file. In addition you can specify the files\ncontaining the front- and backmatter.\n\nThe image folder holds all images used, for example the cover for the\nepub/mobi file.\n\n## The command line interface\n\nPanovel has a small list of additional options available for more\nadvanced uses. Enter\n\n panovel -h\n\nin the console, to see all options available.\n\n## Formating\n\n### Usage\n\nMarkdown is used to format the book. You can use all functionality\nprovided by [pandocs\nmarkdown](http://pandoc.org/MANUAL.html#pandocs-markdown). But while\nmarkdown excels at light markup, sometimes you need special formatting.\nPoems, epigraphs etc. are good examples. To make formatting these\nelements easy, this template comes with an easy to use syntax for many\nsuch elements. Each of this styles comes with one or more filters, which\nformats these elements according to the output format.\n\nThe syntax is very easy:\n\n ~~~{.type .option key=value}\n The content that should be styled.\n ~~~\n\nTypes and simple options are preceded by a dot, attributes consist of a\nname and a value. These options are separated by a simple space. If the\nvalue of an attribute contains spaces, you need to surround it with\nquotation marks.\n\nFor example, this is how you would implement a poem:\n\n ~~~{.poem author=\"William Shakespeare\" title=\"Sonnet 18\"}\n Shall I compare thee to a summer's day?\n Thou art more lovely and more temperate:\n Rough winds do shake the darling buds of May,\n And summer's lease hath all too short a date:\n\n Sometime too hot the eye of heaven shines,\n And often is his gold complexion dimmed,\n And every fair from fair sometime declines,\n By chance, or nature's changing course untrimmed:\n\n But thy eternal summer shall not fade,\n Nor lose possession of that fair thou ow'st,\n Nor shall death brag thou wand'rest in his shade,\n When in eternal lines to time thou grow'st,\n\n | So long as men can breathe or eyes can see,\n | So long lives this, and this gives life to thee.\n ~~~\n\nYou can find a [description of all the provided styles](#list-of-styles)\nat the end of this documentation.\n\n### Some additional Tips\n\nYou can use html style comments in your source files. But not inside\nother style elements. Such a comment looks like this:\n\n \n\nYou can add a curly bracket with \u201c.unnumbered\u201d or \u201c-\u201d inside it at the\nend of a heading, to exclude it from the automatic numbering, if you\nchose to use that.\n\n # Example Heading{.unnumbered}\n # Example Heading{-}\n\n## Configuration\n\nYou configure how your novel is build through the \u201cmetadata.yaml\u201d file.\nIt consists of fields you enter your data into. Each field starts with\nits name and a colon. Your data comes behind the colon. Many fields have\nexample values - just overwrite them.\n\nSome fields are lists and can take multiple values. List items begin in\nthe next line, indented and preceded by a dash. Just orientate yourself\non the examples.\n\nLines beginning with a \u2018\\#\u2019 are comments. They mostly explain what the\nfield controls. Sometimes the actual field is commented out, which means\nit is ignored. That is an easy way to enable a feature. Just remove the\n\u2018\\#\u2019.\n\nThe metadata file should be rather self explanatory. There are only a\ncouple of things you have to add to make it work:\n\n - The title of the book\n - The author\n - The path to kindlegen, if you want to convert for kindle\n\nIf you have frontmatter and/or backmatter in seperate files, remember to\nadd the filenames to the corresponding field.\n\n## Building the books\n\nOn windows you can simply use the provided bat file. Just double click\nit and your book is build. Otherwise the script is invoked from the\ncommand line. Just enter:\n\n panovel\n\n### For advanced users\n\npanovel accepts command line arguments. These overwrite the\ncorresponding settings in the metadata.yaml. Just invoke it with the -h\nargument to see the options available.\n\n## List of styles\n\nBelow you find a description of each type provided with the template and\nwhich filter is used to render it. If no filter is given, it is named\nlike the style. Some styles have options how they should look in the\nrendered book. You can change these in the metadata.yaml file.\n\n### align\n\nNeeds a second qualifier, one of \u2018.center\u2019, \u2018.right\u2019 or \u2018.left\u2019.\n\nText gets aligned accordingly inside the block.\n\n### copyrights\n\nYou need your copyrights surrounded by this style to be recognized\nproperly.\n\n### dedication\n\nYou need your dedication surrounded by this style to be recognized\nproperly.\n\n### epigraph\n\nAdds an epigraph.\n\n**Attributes:**\n\n - author \n The author of the epigraph\n\n### new\\_scene\n\nThis style is an exception to all others. To make a new scene, just\nenter three \u2018\\*\u2019 on one line surrounded by blank lines. Please note,\nthat this overrides one default markdown command for a horizontal line.\nJust use `---` for horizontal lines.\n\n**Example:**\n\n The last paragraph in the old scene.\n\n * * *\n\n The first paragraph in the new scene.\n\n**Render Options:**\n\n - default \n A new scene is marked by blank space\n - text \n A new scene is marked by the text given, defaults to `* * *`\n - fleuron \n A new scene is marked by an image. You need to provide an image in\n the options\n\n### noindent\n\nThe paragraph is not indented.\n\n### poem\n\nStyles the content as a poem. There are three render options for this\nstyle, each just formatting the poem slightly different.\n\n**Render Options:**\n\n - bottom \n Title and author are positioned on the bottom right of the poem\n - one-line \n As above, but title and author appear on one line\n - top \n This filter inserts the title at the top of the poem\n\n**Options:**\n\n - altverse \n This option indents every other line in a stanza\n - top \n Positions the title on the top, regardless of the render option used\n - bottom \n Positions the title on the bottom, regardless of the render option\n used\n - one-line \n Positions author and title in one line on the bottom, regardless of\n the render option used\n - noversewidth \n Per default the filter calculates the best position for the poem. If\n you don\u2019t want this, use this option\n\n**Attributes:**\n\n - author \n The author of the poem\n - title \n The title of the poem\n - poemlines \n Needs a number. Adds a line number every number of lines\n - versewidth \n Needs a line of the poem, used to position the poem. Normally this\n is calculated automatically, use this, if you want to set it\n manually\n\n### quote\n\nStyles the content as a quote. Of course markdown has its own syntax for\nquotes. You only need this style, if you want to include an author\nand/or a title.\n\nThere are three render options for this style, each just formating the\nquote slightly different.\n\n**Render Options:**\n\n - bottom \n Title and author are positioned on the bottom right of the quote\n - one-line \n As above, but title and author appear on one line\n - top \n This filter inserts the title at the top of the quote\n\n**Options:**\n\n - top \n Positions the title on the top, regardless of the render option used\n - bottom \n Positions the title on the bottom, regardless of the render option\n used\n - one-line \n Positions author and title in one line on the bottom, regardless of\n the render option used\n\n**Attributes:**\n\n - author \n The author of the quote\n - title \n The title of the quote\n\n## Filter\n\nHere are some additional filters, not used for styling elements.\n\n### epub\\_remove\\_fm\\_head\n\nThis filter is used for a technical issue. Just keep it active.\n\n### header\\_fleuron\n\nAdds an image beneath each heading. You need to provide an image in the\noptions.\n\n### remove\\_comments\n\nYou can use html comments to annotate your text. This filter removes\nthis comments from the output.\n\n### remove\\_images\n\nRemoves all images from the output.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dickloraine/panovel", "keywords": "pandoc novel writing text conversion", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "panovel", "package_url": "https://pypi.org/project/panovel/", "platform": "", "project_url": "https://pypi.org/project/panovel/", "project_urls": { "Homepage": "https://github.com/dickloraine/panovel" }, "release_url": "https://pypi.org/project/panovel/0.51/", "requires_dist": [ "pyYaml", "panflute", "pyscss" ], "requires_python": ">=3.6", "summary": "A script to make a novel out of markdown files with the help of pandoc", "version": "0.51" }, "last_serial": 3941573, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "8be1258db6313319b20d6f654e6a4e2c", "sha256": "7feb4cd4740a6347b03fe468a18daaa0aef0d689f4228b4366839eef5b61dd14" }, "downloads": -1, "filename": "panovel-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "8be1258db6313319b20d6f654e6a4e2c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 39957, "upload_time": "2018-06-06T22:28:06", "url": "https://files.pythonhosted.org/packages/07/71/78f5b8bef2199bbd89dca9a841b2eeb146e223be9217599c6871bd924820/panovel-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f4c9b3e022a38d84191f8b85cc515c3", "sha256": "9e8caa9af68bd0adb5fc040c8aed176a1f846be5a224906f0d9e61cf133349da" }, "downloads": -1, "filename": "panovel-0.5.tar.gz", "has_sig": false, "md5_digest": "9f4c9b3e022a38d84191f8b85cc515c3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31985, "upload_time": "2018-06-06T22:28:07", "url": "https://files.pythonhosted.org/packages/17/f5/2c6047c5271204f21ac1e14b914c9f30578e0f52bed80b85ae0c125b98fb/panovel-0.5.tar.gz" } ], "0.51": [ { "comment_text": "", "digests": { "md5": "6cfeac33e3de2c049cfe3846e53431b0", "sha256": "775ae07b0f005c4e6a99deaef5c2e51f787a45a7cd4984ac42eeac98c29ac05c" }, "downloads": -1, "filename": "panovel-0.51-py3-none-any.whl", "has_sig": false, "md5_digest": "6cfeac33e3de2c049cfe3846e53431b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 39191, "upload_time": "2018-06-08T01:11:32", "url": "https://files.pythonhosted.org/packages/9e/9b/de6cb0bf9003caa5eff5e872c7ea25faea19991fae9c869300d7181c8314/panovel-0.51-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f869df81cfd8e190b39fdaf7812cb1ab", "sha256": "dc5121620a79a5972c957cc14f9099122bbc834668015bc9cc25bf094b65a14e" }, "downloads": -1, "filename": "panovel-0.51.tar.gz", "has_sig": false, "md5_digest": "f869df81cfd8e190b39fdaf7812cb1ab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31609, "upload_time": "2018-06-08T01:11:34", "url": "https://files.pythonhosted.org/packages/07/05/5cdd149bba98a8abde95941bc6c6152b4d8d876272fdc00dae83bf214c0e/panovel-0.51.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6cfeac33e3de2c049cfe3846e53431b0", "sha256": "775ae07b0f005c4e6a99deaef5c2e51f787a45a7cd4984ac42eeac98c29ac05c" }, "downloads": -1, "filename": "panovel-0.51-py3-none-any.whl", "has_sig": false, "md5_digest": "6cfeac33e3de2c049cfe3846e53431b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 39191, "upload_time": "2018-06-08T01:11:32", "url": "https://files.pythonhosted.org/packages/9e/9b/de6cb0bf9003caa5eff5e872c7ea25faea19991fae9c869300d7181c8314/panovel-0.51-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f869df81cfd8e190b39fdaf7812cb1ab", "sha256": "dc5121620a79a5972c957cc14f9099122bbc834668015bc9cc25bf094b65a14e" }, "downloads": -1, "filename": "panovel-0.51.tar.gz", "has_sig": false, "md5_digest": "f869df81cfd8e190b39fdaf7812cb1ab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31609, "upload_time": "2018-06-08T01:11:34", "url": "https://files.pythonhosted.org/packages/07/05/5cdd149bba98a8abde95941bc6c6152b4d8d876272fdc00dae83bf214c0e/panovel-0.51.tar.gz" } ] }