All Projects → GDQuest → product-packager

GDQuest / product-packager

Licence: MIT license
A portable shell program to package and prepare courses, tutorial series, and other products to release on e-commerce platforms like Gumroad and Mavenseed.

Programming Languages

python
139335 projects - #7 most used programming language
nim
578 projects
shell
77523 projects
CSS
56736 projects
perl
6916 projects

Projects that are alternatives of or similar to product-packager

Supply
🛍 Supply is a free e-commerce Jekyll theme with Gumroad integration.
Stars: ✭ 24 (-42.86%)
Mutual labels:  e-commerce, gumroad
poetry-setup
Generate setup.py (setuptools) from pyproject.toml (poetry)
Stars: ✭ 44 (+4.76%)
Mutual labels:  packaging
UnityBuildManager
Utility for running builds sequence & pushing them to markets & keeping changelog
Stars: ✭ 53 (+26.19%)
Mutual labels:  itchio
node-amazon
E-commerce website done in Node, and Angular 11 (SSR)
Stars: ✭ 48 (+14.29%)
Mutual labels:  e-commerce
alpine
🐧 **Deprecated** PHP.earth Alpine Linux repository
Stars: ✭ 15 (-64.29%)
Mutual labels:  packaging
product
Public feedback and ideation discussions for Meilisearch product 🔮
Stars: ✭ 26 (-38.1%)
Mutual labels:  product
drip-nodejs
The complete Nodejs wrapper for the Drip REST API
Stars: ✭ 18 (-57.14%)
Mutual labels:  e-commerce
netlify-stripe-subscriptions
An example of managing subscriptions with the Stripe Customer Portal and Netlify Identity.
Stars: ✭ 96 (+128.57%)
Mutual labels:  e-commerce
pola-ios
Pola pomoże Ci odnaleźć polskie wyroby. Zabierając Polę na zakupy odnajdujesz produkty “z duszą” i wspierasz polską gospodarkę.
Stars: ✭ 17 (-59.52%)
Mutual labels:  product
DigitalProducts
Sell digital products with Craft Commerce
Stars: ✭ 48 (+14.29%)
Mutual labels:  e-commerce
laravel-basket
A stable basket for an Laravel e-commerce website
Stars: ✭ 18 (-57.14%)
Mutual labels:  e-commerce
ship
A toolkit for makers to ship better products faster 🚀
Stars: ✭ 68 (+61.9%)
Mutual labels:  product
alpine-prestashop
Prestashop running on Alpine Linux [Docker]
Stars: ✭ 13 (-69.05%)
Mutual labels:  e-commerce
distribution
Siddhi streaming runtime and tooling distribution
Stars: ✭ 22 (-47.62%)
Mutual labels:  packaging
python-deb-pkg-tools
Debian packaging tools
Stars: ✭ 36 (-14.29%)
Mutual labels:  packaging
poetry-version-plugin
Poetry plugin for dynamically extracting the package version from a __version__ variable or a Git tag.
Stars: ✭ 253 (+502.38%)
Mutual labels:  packaging
publishing-python-packages
Examples and exercises for Publishing Python Packages from Manning Books 🐍 📦 ⬆️
Stars: ✭ 25 (-40.48%)
Mutual labels:  packaging
oc-mall-theme
Demo theme for the oc-mall-plugin
Stars: ✭ 19 (-54.76%)
Mutual labels:  e-commerce
golmarket
Gol Market is a simple e-commerce website built in Laravel 5.4
Stars: ✭ 35 (-16.67%)
Mutual labels:  e-commerce
winepak-sdk
Platform and SDK runtimes for winepak based applications
Stars: ✭ 46 (+9.52%)
Mutual labels:  packaging

GDQuest Product Packager

Plugin banner image

Product Packager is a tool to help creators package and publish their tutorial series, courses, tools, and other products to platforms like Gumroad, Itch.io, or Mavenseed.

It is currently early in development and not suitable for production use.

To get notified when the first stable release is out, click the GitHub Watch button and select "Releases only".

Features

This repository contains our complete build system to create courses.

It takes markdown, images, video files, and Godot projects and turns them into standalone HTML files or EPUB ebooks (you can also output PDF files).

You can find the build system inside programs/scons/. There, you'll find another README file with requirements and instructions to use it.

It does things such as:

  • Process and package Godot projects to distribute their source code.
  • Render source documents to self-contained HTML or PDF with Pandoc.
    • You can use templates in markdown to link to other documents {% link %}, include content from code files {% include Filename.gd anchor_name %}, or generate a table of contents with {% contents %}.
    • It uses the css files you'll find in programs/scons/css/ for styling.
    • It appends Godot icon images before detected class names.
  • Render your whole project as an EPUB ebook, to use with screen readers.
  • Highlight GDScript code blocks in markdown documents with Chroma and pandoc's highlighter.

In the programs/ directory, we included some other utilities to:

  • Automate formatting for Godot tutorials (format_tutorials.py).
  • Auto checkout git repositories to master.
  • Compress and resize png and jpg images using imagemagick.
  • Compress and resize videos with FFMpeg.
  • Strip documents to translate from code, to count words to translate.

How to use

Product packager is a modular set of tools to help process files and package products. You can find them in the programs/ directory.

To package complete products, we use scons, a program to create incremental builds and process files based on sets of rules. For more information, see the scons documentation.

You can use these tools individually. For example, here are some example commands I would use to compress pictures and videos in a directory using my favorite shell, fish:

optimize_pictures.sh --output output_directory --resize 1280:-1\> -- pictures/*.{jpg,png}
optimize_videos.sh --output output_directory videos/*.mp4

Other commands help you with git repositories and projects made with the Godot game engine:

git_checkout_repositories.sh (find godot -type d -name .git)
package_godot_projects.sh ./godot/ ./dist/

We also have a program to render markdown documents to PDF or standalone HTML using pandoc:

convert_markdown.sh --css pandoc.css --output-path dist content/**.md

I also use the tools above to compress files before uploading them, or to share documents online.

Run any program with the --help option to learn to use it. Also, if you find a bug, you can run tools with the -d or --dry-run option to output debug information. Please copy and paste that output to any bug you report in the issues tab.

Contributing

If you encounter a bug or you have an idea to improve the tool, please open an issue.

If you want to contribute to the project, for instance, by fixing a bug or adding a feature, check out our Contributor's guidelines.

Also, please use ShellCheck to lint your code and ensure it's POSIX-compliant.

Pull requests and code reviews are much welcome. You can share your feedback and POSIX shell programming tips in the issues tab, or by sending me a message (see below).

Support us

Our work on Free Software is sponsored by our Godot game creation courses. Consider getting one to support us!

If you like our work, please star the repository! This helps more people find it.

Join the community

  • You can join the GDQuest community and come chat with us on Discord
  • For quick news, follow us on Twitter
  • We release video tutorials and major updates on YouTube
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].