leanpub-workflow

0.7.2 • Public • Published

About

This utility helps with creating and publishing an e-book via Leanpub. It covers processing of images, syncing of images and text files with DropBox, and creating full or partial previews on Leanpub.

Install

npm install -g leanpub-workflow

Preparation

You'll need a Leanpub account and a Dropbox account. There's no need for a DropBox client on the PC (but it doesn't harm either).

{  
  "dropbox_api":"dont-tell-anybody",
  "leanpub_api": "keep-it-secret",
  "leanpub_slug": "mycoolbook",
  "dropbox_basedir": "/mycoolbook/manuscript",
  "local_basedir": "/home/myname/bookproject",
  "images_raw": "/home/myname/bookproject/img-raw",
  "images_dest": "/home/myname/bookproject/images",
  "images_width": 480
}

Usage

  • interactive mode: When called without parameters, leanpub-workflow will present a menu to chose from.

  • batch mode: When called with one or more parameters, leanpub will not show the menu, but instead execute the command given in the first parameter.

Configuration

By default, leanpub-workflow tries to load a file 'leanpub-config.json' from the current directory. You can chose a different file with the option --config or -c:

leanpub-workflow -c </path/to/other-config.json> [command]

Possible operations are:

Option 1: Process images - command: images

This will consider all images found in the folder denoted by images_raw in the config and copy them to the folder images_dest.

  • If the image width is above the images_width config, it will resize the image so that the width is images_width and the height is reduced accordingly to keep aspect ratio.

  • If the image width is less than images_width, does not change size.

  • If the Image is not in jpg-Format, converts to jpg

  • Original images are not modified.

Option 2: Sync images and texts - command: sync

This will consider all images in images_dest and all *.md files in local_basedir

  • If a file exists locally but not in the Dropbox -> send it to DropBox.

  • If a file exists in the DropBox, but not locally -> delete it in the DropBox.

  • If a file is newer locally than in the DropBox -> Send it to the DropBox.

  • If it is a file with *.md Extension, send it with a *.txt extension.

  • Files which are not in the images_dest folder and have not the extension .md are ignored.

Option 3: Create single file preview - command: single

Doesn't work. Currently gets always a "500" error from the server. Probably I didn't get the syntax right.

Option 4: Create subset preview - command: subset

Create a Preview from the files named in Subset.md/Subset.txt. The Preview is stored in the Dropbox previews-Folder.

Option 5: Create full preview - command: full

Create a Preview from the files named in Book.md/Book.txt. The preview will be stored in the Dropbox previews-Folder.

Option 6: Show job status - command: status

Leanpub jobs can take quite some time. The status command shows if a job is still running, and what is its state.

Option 7: Download preview - command: fetch

Downloads the last preview pdf from the Dropbox to the current folder. The Filename will be ${leanpub_slug}-preview.pdf

Option v: Show Version - command: version

Display the program version and exit

Tests

npm test

License

Apache 2.0

Dependents (0)

Package Sidebar

Install

npm i leanpub-workflow

Weekly Downloads

2

Version

0.7.2

License

Apache-2.0

Unpacked Size

65.8 kB

Total Files

20

Last publish

Collaborators

  • rgwch