/leafpub

Simple, beautiful, open source publishing.

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

Leafpub

Simple, beautiful publishing.

Gitter   Twitter Follow

Created by Cory LaViska

Maintained by Marc Apfelbaum

Screenshots

Requirements

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

Download

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

Contributing

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

Building

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:

Usage
    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.

Testing

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 127.0.0.1 instead of localhost in your database config!

Versioning

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

Developers

Marc Apfelbaum

License

©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.

Support

Please visit leafpub.org/support for support.


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