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> <OUTPUT>, --create=<TEMPLATE_NAME> <OUTPUT>
                        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 python(https://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):
  • 18 downloads in the last day
  • 127 downloads in the last week
  • 422 downloads in the last month