Giter Site home page Giter Site logo

jiocus / markdown-themeable-pdf Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cakebake/markdown-themeable-pdf

0.0 1.0 0.0 43.05 MB

ARCHIVED. NOT MAINTAINED. Themeable Markdown Converter (Print to PDF, HTML, JPEG or PNG)

Home Page: https://atom.io/packages/markdown-themeable-pdf

CSS 0.82% JavaScript 4.66% HTML 94.50% Less 0.02%

markdown-themeable-pdf's Introduction

This project is archived because the owner no longer uses the Atom Editor.

It would be very good to find a new owner for this project, who will take care of updating and expanding the Atom package. A new version based on Chrome Headless has already been prepared in a feature branch.

markdown-themeable-pdf.png

Themeable markdown converter (Print to PDF, HTML, JPEG or PNG)

Version Total Downloads License Dependencies

This Atom package converts / prints / exports your markdown file simple and pretty to PDF, HTML, JPEG or PNG format.

The package was created at the beginning to help in the daily work with manuals for customers. Many people are not familiar with Markdown and they will now receive a well-formatted PDF from their developers. Important here is that the document looks good and professional. This Atom package tries to ask about this task.

Installation

Search in atom under Settings View -> Install -> Packages the package markdown-themeable-pdf and start the installation.

Usage

The PDF can be generated in various ways:

  • Right-click in the editor area when a file is opened and select Markdown to PDF or
  • Right-click on a markdown file in Tree-View and select Markdown to PDF or
  • Press ctrl-shift-E (E = Export) in the editor area when a file is opened

Page breaks

You can start any time a new PDF page with typing Snippet/Shortcode page-break in your markdown editor. So you can prevent such ugly breaks in lists or other contiguous areas.

Custom CSS

The package creates a CSS file ~/.atom/markdown-themeable-pdf/styles.css in your atom configuration directory. You can use this file to customize everything. If you want to change the path, you can change it in the package settings. Alternatively, you can define with project-path/markdown-themeable-pdf/styles.css for each project its own CSS.

Tip: Export your markdown as HTML to inspect it in your favorite browser. After CSS changes you must not restart atom.

Custom header & Custom footer

The pdf document can be decorated with your own header and footer. This can be flexibly adapted to JavaScript files. Each of these files represents a node.js module, which returns an object with two required properties height and contents. After you have made any changes you need to reload or restart atom.

To customize the document header, open ~/.atom/markdown-themeable-pdf/header.js (you can change this path in the package settings) and change it to your needs:

// EXAMPLE
module.exports = function () {
    return {
        height: '2cm',
        contents: '<div style="text-align: right;"><span>Created by</span> <img src="logo.png" alt="Logo" /> <span style="color: #EC4634; font-size: 120%; text-transform: uppercase;">markdown-themeable-pdf</span></div>'
    };
};

To customize the document footer, open ~/.atom/markdown-themeable-pdf/footer.js (you can change this path in the package settings) and change it to your needs:

// EXAMPLE
module.exports = function () {
    var dateFormat = function () {
        return (new Date()).toLocaleDateString('en-US', {
            weekday: 'long',
            year: 'numeric',
            month: 'short',
            day: 'numeric',
            hour: '2-digit',
            minute: '2-digit'
        });
    };
    return {
        height: '1cm',
        contents: '<div style="float:left;">Page {{page}}/{{pages}}</div><div style="float:right;">&copy; Copyright ' + dateFormat() + ' by COMPANYNAME</div>'
    };
};

Tip: Alternatively, you can define with project-path/markdown-themeable-pdf/header.js or project-path/markdown-themeable-pdf/footer.js for each project its own header and footer.

Example / Demo

See Demo.pdf - the PDF version of Demo.md.

DEMO

Todo

  • Fix: Open Markdown Preview with ctrl-shift-M, right-click in markdown-preview area and select Save As PDF
  • Better handling of long code lines
  • Font Awesome integration
  • Emojis
  • Inline Links (Anchors)

Known Issues

  • Table header glitches when a table starts directly on a new page

    When that happens, you can put in your markdown in front of the table an html code <div class="page-break" /> to prevent this.

Credits

Special thanks to ...

markdown-themeable-pdf's People

Contributors

cakebake avatar harmsk avatar tlhunter avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.