skip to navigation
skip to content

Not Logged In

dl-skel 0.1.2

DoubleLeft skeleton generator

# dl-skel

dl-skel.py provides skeleton generator for you to avoid creating a
project from zero everytime.

Its useful to bootstrap general projects, like HTMLBootstrap, PythonPackage,
and others. It will download a GIT repository available on the net, and
process some files to change names and so on.

In the end, you will have a new folder, with `dlbuild.py` that can be used
to `runserver`, or `build` the project.

![dl-skel](docs/dlskel.png)

---

## Installation

Install it via pip (`pip install dl-skel`), or manually:

```
$ git clone git@github.com:doubleleft/dl-skel.git
$ cd dl-skel
$ python setup.py install
```

This will create a `dl-skel.py` bin in your path (virtualenv or systemwide)

## CLI Usage

Usage via CLI app called `dl-skel.py`

```
Usage: dl-skel.py [options]

Options:
-h, --help show this help message and exit
--skeleton-config=SKELCONFIG
dlskel Config file. Default is ~/.dl-skel/config.json
--skeleton-path=SKELPATH
Use another Skeleton Search Path. Default is ~/.dl-skel/

-l, --list List skeletons

Import new Template:
-i <git_repo> <template_name>, --import=<git_repo> <template_name>
import a new template from the given GIT
repository.

Create a new project:
-c <template_name> , --create=<template_name>
Create a new <project> skeleton
```

## Default Skeletons

You can check all available skeletons using `-l`:

```
$ dl-skel.py -l
wordpress5 https://github.com/doubleleft/skeleton-wordpress Wordpress 5.0
```

Template | URL
--- | ---
wordpress5 | [skeleton-wordpress]https://github.com/doubleleft/skeleton-wordpress
HTMLRichApp | [skeleton-htmlrichapp]https://github.com/doubleleft/skeleton-htmlrichapp
HTMLSimleApp | [skeleton-wordpress]https://github.com/doubleleft/skeleton-wordpress

## Create a new project

To create a new project using a base skeleton, try option `-c`

```
$ dl-skel.py -c python ../my-shiny-project
Cloning pythonhttps://github.com/ionelmc/projectskel into ../my-shiny-project
```

## Importing your own skeletons

To import your own skeletons, use `-i`

```
$ dl-skel.py -i <repo_url> <skeleton_name>
```

This will import `<repo_url>` and save it as `<skeleton_name>`.
You can now create new projects using `<skeleton_name>`

```
$ dl-skel.py -c <skel_name> name-of-my-project
```

# Creating my own skeletons

Skeletons are simple **GIT** repositories, with a special recipe stored in the
file `dlbuild`. This recipe tells what to substitute, download, install,
pretty much by hand.

You MUST create the following functions in the `dlbuild.py` file:

setup (Download and replace files)
build (Build project)

while others functions, like `runserver` are optional.

To see a simple example of a skeleton, check [skeleton-wordpress]https://github.com/doubleleft/skeleton-wordpress/blob/master/dlbuild.py

# Using it inside python

You can use it direcly as an API in python

```
$ python

>>> from dlskel.skel import skeleton_create, make_password
>>> skeleton_create( 'git@github.com:doubleleft/skeleton-wordpress.git',
'my-wp-project',
skel_vars={
'DB_NAME': 'myproj',
'DB_USER': 'myuser',
'DB_PASSWORD': make_password(length=8) })
```

---
### TODO

- ✓ Add better file substituion via jinja2 template
- ✓ Add simple API for using it inside python
- ✓ Finish setup.py and make it pip installable

- ✓ Delete repository .git when creating a new project.
- Add dependencies check and installation (if necessary)

- ** Create Skeletons **
* ✓ Wordpress Skeleton
* Laravel Skeleton
* ✓ Python Package Skeleton
* Python Flask Skeleton
* HTML Bootstrap Skeleton
* HTML Static Skeleton
 
File Type Py Version Uploaded on Size
dl-skel-0.1.2.tar.gz (md5) Source 2014-02-05 108KB
  • Downloads (All Versions):
  • 69 downloads in the last day
  • 400 downloads in the last week
  • 1645 downloads in the last month