Simple tool for scaffolding

Overview

quick-skeleton

Build Status Crates.io status

tldr; Lightweight replacement for yeoman or slush. Powered by handlebars.

This is a scaffolding tool to save you hours of writing boilerplate code for your new project. Many langugages have tools that help you create a project skeleton in a matter of seconds (e.g. in Rust you can use cargo for that), but this tool isn't tied to any particular language or ecosystem. Just like Yeoman, you can use it for anything. Unlike Yeoman, it tries to be totally simple and does only one thing: replaces Handlebars expressions with values that you provide.

Template structure

Template is essentially a zip archive that must contain a file called parameters.json. That file contains a JSON array with all the expressions that will be replaced with user-provided values. The format is as follows:

[{
  "name" : "example", //This is the name of expression
  "value": "", //Default value (currently always overwritten by user's input)
  "desc": "Provide example value" //Text that will be shown to user when asking for value
  }
]

Example from simple_page template:

{
	"name" : "title",
	"value": "My sample title",
	"desc": "Input title"
}

All the other files in archive will be extracted and expressions inside them will be processed by Handlebars engine.

Installation

You can install it from crates.io by invoking cargo install quickskeleton.

Or you can check out the code and run cargo install.

Usage

quick-skeleton -c [path to template] You can use simple_page.zip in project's root to create, well, simple web page. quick-skeleton -c simple_page.zip

quick-skeleton -n [forder path] -file [default project folder name] - create template from folder. Creates template without variables.

There is a repo with various templates.

You might also like...
A lite tool to make systemd work in any container(Windows Subsystem for Linux 2, Docker, Podman, etc.)

Angea Naming from hydrangea(アジサイ) A lite tool to make systemd work in any container(Windows Subsystem for Linux 2, Docker, Podman, etc.) WSL1 is not s

A tool to run web applications on AWS Lambda without changing code.
A tool to run web applications on AWS Lambda without changing code.

AWS Lambda Adapter A tool to run web applications on AWS Lambda without changing code. How does it work? AWS Lambda Adapter supports AWS Lambda functi

tar analysis tool

alquitran Inspects tar archives and tries to spot portability issues in regard to POSIX 2017 pax specification and common tar implementations. Usage R

Incremental, multi-version remote backup tool for block devices.

bsync Incremental, multi-version remote backup tool for block devices. The on-disk backup format is a SQLite database and I've been dogfooding this on

Keyscope is a key and secret workflow (validation, invalidation, etc.) tool built in Rust
Keyscope is a key and secret workflow (validation, invalidation, etc.) tool built in Rust

✅ Automate your key and secret validation workflows 🤠 Over 30 different providers 🤖 Export to JSON, audit via CSV 🔑 Keyscope Keyscope is a key and

A tool to subscribe to Twitch channels and store them efficiently on disk

twitch-messages A tool to subscribe to Twitch channels and store them efficiently on disk Build the Tools You can start by building the binaries that

The tool like Browserslist, but written in Rust.

browserslist-rs The tool like Browserslist, but written in Rust. Try it out Before trying this crate, you're required to get Rust installed. Then, clo

Experimental Rust tool for generating FFI definitions allowing many other languages to call Rust code

Diplomat is an experimental Rust tool for generating FFI definitions allowing many other languages to call Rust code. With Diplomat, you can simply define Rust APIs to be exposed over FFI and get high-level C, C++, and JavaScript bindings automatically!

A code coverage tool for Rust projects

Tarpaulin Tarpaulin is a code coverage reporting tool for the Cargo build system, named for a waterproof cloth used to cover cargo on a ship. Currentl

Comments
  • Update to Rust 2018 Edition

    Update to Rust 2018 Edition

    This PR updates the code to Rust 2018 edition and fixes most of the reported linting errors by Clippy.

    It's up to you whether you merge this or not, but I figured I'd file it to save you some time as my editor was flagging a lot when working on another PR. Most changes are just formatting and best practices, so they don't change much functionally.

    The allow at the top is because the read! macro from text_io has a lint issue which is reflected here as well, seeing as the macro injects it into your code.

    opened by whitfin 3
  • Add basic CI builds for Windows

    Add basic CI builds for Windows

    This fixes #1 by updating CI builds to also include Windows. The build is the same, but deployment currently only happens on the Linux build because I'm not sure what the intent is :)

    opened by whitfin 0
Releases(v0.4.7)
Owner
Arthur
Software developer
Arthur
A dead-simple AI-powered CLI tool for effortlessly crafting meaningful Git commit messages

AI Commit Message acm A dead-simple AI-powered CLI tool for effortlessly crafting meaningful Git commit messages. Features Effortlessly create meaning

syeijs 3 Nov 5, 2024
A tool of generating and viewing dice roll success distributions.

AZDice A GUI tool for generating and visualising dice roll probability distributions. Aims Intended to help people trying to get game balance just rig

null 13 Mar 2, 2021
A nifty commandline tool to manage your workstation.

workstation It's a nifty commandline rust tool to make you sit slightly away from your screen by blacking out the screen if you come too close and loc

Amar Lakshya (desi_tux) 16 May 6, 2022
A command-line tool collection to assist development written in RUST

dtool dtool is a command-line tool collection to assist development Table of Contents Description Usage Tips Installation Description Now dtool suppor

GB 314 Dec 18, 2022
A low-ish level tool for easily writing and hosting WASM based plugins.

A low-ish level tool for easily writing and hosting WASM based plugins. The goal of wasm_plugin is to make communicating across the host-plugin bounda

Alec Deason 62 Sep 20, 2022
A cross platform tool which instantly notifies about COVID vaccine availability.

?? CoWIN Notifier ?? A cross-platform tool written in rust, which instantly notifies users about COVID-19 vaccine availability at their regions. Curre

Sanskar Jaiswal 20 May 20, 2021
A small tool to clone git repositories to a standard location, organised by domain name and path.

A small tool to clone git repositories to a standard location, organised by domain name and path. Runs on BSD, Linux, macOS, Windows, and more.

Wesley Moore 68 Dec 19, 2022
Rusty Armor Builds - Monster Hunter Rise Armor Set Creation Tool

RAB Rusty Armor Builds - Monster Hunter Rise Armor Set Creation Tool Armor files used by RAB

null 28 Oct 3, 2022
BSP 19&20&21 Review tool

BSP review tool Limitations PAKFILE&ENTITIES lumps can't be bigger than the original ToDo WASM - needs file action interops Proper serialisation - rig

Александр Герман 2 Sep 25, 2021
Minimal viable ZFS autosnapshot tool

zfs-autosnap Minimal viable ZFS snapshot utility. Add zfs-autosnap snap to your cron.hourly, and zfs-autosnap gc to cron.daily; then set at.rollc.at:s

Kamil 17 Dec 19, 2022