Leafpub / leafpub

Simple, beautiful, open source publishing.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Simple, beautiful publishing.

Website   Documentation  

Gitter   Twitter Follow

Created by Cory LaViska

Maintained by Marc Apfelbaum



  • PHP 7.1+ with curl, gd lib, mbstring, openssl & pdo
  • MySQL 5.5.3+


This is the development repo! You'll need to build Leafpub using the instructions below before running it.

Download the latest ready-to-use version from: https://leafpub.org/download


Leafpub uses Composer and NPM to manage dependencies and Gulp as its task runner. To contribute to this project, you'll need to clone the repository and install the required development tools listed below.

Please read through our contributing guidelines.

Something is wrong with a translation? Your language isn't available? Please read through the language section


Once you have the necessary development tools installed:

  1. Open a terminal
  2. Navigate to the root directory of your cloned repo
  3. Run the following command:
composer install

Composer will install its own dependencies and then run npm install. This may take a few minutes as packages are downloaded. Once complete, Composer will trigger gulp build which will generate all the assets you need to run Leafpub.

Important: You'll also need to add the default theme to content/themes/range/ manually. This will happen automatically once Leafpub is out of beta.

Using Gulp

From the root directory, you can use gulp help to see all available tasks:

    gulp [TASK] [OPTIONS...]

Available tasks
    build          Run all build tasks. [build:fonts, build:images, build:prune, build:scripts, build:styles]
    build:fonts    Build font assets. [clean:fonts]
    build:images   Optimize images. [clean:images]
    build:prune    Prune unused files from vendor packages.
    build:scripts  Build scripts. [jshint, clean:scripts]
    build:styles   Build styles. [clean:styles]
    clean          Clean up generated files. [clean:fonts, clean:images, clean:scripts, clean:styles]
    clean:fonts    Delete generated fonts.
    clean:images   Delete generated images.
    clean:scripts  Delete generated scripts.
    clean:styles   Delete generated styles.
    default        Run the default task. [watch]
    help           Display this help text.
    jshint         Lint source scripts with JSHint.
    release:clean  Delete all generated releases.
    release:make   Generate a release.
    watch          Watch for script and style changes.

For development, use gulp watch to automatically compile Sass/JavaScript as you work.


You can run Leafpub on PHP's built in web server using the following command:

php -S localhost:8080 -t app

Then open http://localhost:8080 in your browser.

Note: You might need to use instead of localhost in your database config!


Leafpub is maintained under the Semantic Versioning guidelines and we adhere to them as closely as possible.


Marc Apfelbaum


©2018 Marc

This software is copyrighted. You may use it under the terms of the GNU GPLv3 or later. See LICENSE.md for licensing details.

All code is copyright 2016-2018 by Marc except where noted. Third-party libraries are copyrighted and licensed by their respective owners.

Theme & Plugin Policy

We do not consider Leafpub themes and plugins to be derivative works, as they are used to extend and enhance the software's functionality strictly through its API and they do not in any way modify Leafpub's core codebase. Therefore, in our opinion, themes and plugins may be licensed completely at the author's discretion.


Please visit leafpub.org/support for support.

“The starting point of all achievement is desire.” — Napoleon Hill

ezoic increase your site revenue


Simple, beautiful, open source publishing.

License:GNU General Public License v3.0


Language:PHP 56.3%Language:JavaScript 22.4%Language:HTML 14.2%Language:CSS 7.1%