Skip to content
/ putout Public template

PutOut is an open-source, self-hosted solution that turns your ebook chapters into beautiful, responsive websites.

License

Notifications You must be signed in to change notification settings

deepakness/putout

Repository files navigation

PutOut - Ebook-to-Website with 11ty

License: MIT Version Last Commit

Turn your ebook into a beautiful, easy-to-navigate website using the power of 11ty, a simpler static site generator. This project provides a solid starting point with a pre-configured template, streamlined chapter management, and customizable themes.

Table of Contents

Quick Deploy ⚡️

Quickly deploy your own copy of this project to Netlify with one click:

Deploy to Netlify

This will create a new repository in your GitHub account with this project's files, connect it to Netlify, and deploy it. You can later make changes to the GitHub repository.

Features ✨

  • Effortless Setup: Get up and running quickly with a well-structured template and clear installation instructions.
  • Chapter Organization: Manage your ebook's chapters easily in individual Markdown files.
  • Navigation Made Easy: Automatic generation of a chapter-based navigation menu (hamburger menu on non-homepage pages).
  • Customizable Themes: Choose from multiple built-in themes to style your ebook website.
  • Fast and Lightweight: 11ty ensures a blazing-fast website experience for your readers.
  • SEO-Friendly: Meta tags for better search engine optimization are included.
  • Social Links: Make it easy for readers to find you on social media sites as well.

Demo 🚀

Check out the live demo of this ebook template: Demo 1, Demo 2

Getting Started 🛠️

Check out PutOut documentation for more detailed information.

  1. Use This Template:

Click the "Use this template" button at the top of this repository to create your own copy.

  1. Clone Your Repository:
git clone https://github.com/<username>/<repository>.git
cd <repository>
  1. Install Dependencies:
npm install
  1. Configure Your Ebook:
  • Open src/_data/site.js and customize the settings (title, author, description, social links, etc.) to match your ebook.
  • Replace the sample chapters in src/chapters with your ebook's chapters (in Markdown format).
  1. Start Development Server:
npm run start

This will start a local development server at http://localhost:8080/. Open this URL in your web browser.

  1. Build for Production:
npm run build

This will generate your static website files in the dist/ directory, ready for deployment.

Deployment 🚀

The easiest way to deploy your ebook website is with Netlify:

  1. Push your project to your GitHub repository.
  2. Create a new site on Netlify and connect it to your GitHub repository.
  3. Configure build settings (if needed): Set the build command to npm run build and the publish directory to dist/.
  4. Deploy: Netlify will automatically build and deploy your site whenever you push changes to your repository.

Learn more about deployment

Updating the Template 🔄

To get the latest updates from the original template:

  1. Add the original repository as a remote (you only need to do this once):
git remote add template https://github.com/deepakness/putout.git
  1. Fetch the latest changes:
git fetch template
  1. Merge the changes into your main branch:
git merge template/main --allow-unrelated-histories
  1. Resolve any conflicts and commit the changes:
git add .
git commit -m "Merged updates from template"
  1. Push the changes to your repository:
git push origin main

Customization 🎨

  • Themes: Modify or add themes in src/_data/themes.js.
  • Layouts: Customize page layouts in src/_includes/.
  • Styles: Adjust styles by modifying tailwind.config.js and src/styles/tailwind.css.

Learn more about customization

Contributing 🤝

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Troubleshooting 🔧

  • Build Errors: Ensure all dependencies are installed (npm install) and you're using a compatible Node.js version.
  • Styling Issues: Check your tailwind.config.js and ensure you've rebuilt your CSS (npm run build:css).
  • Content Not Updating: Make sure your Markdown files are in the correct location and format.

For more help, please open an issue.

License 📄

This project is licensed under the MIT License. See the LICENSE file for details.

About

PutOut is an open-source, self-hosted solution that turns your ebook chapters into beautiful, responsive websites.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published