Metadata-Version: 1.0
Name: arst
Version: 1.0.5
Summary: Poor man's yo generator.
Home-page: UNKNOWN
Author: Bogdan Mustiata
Author-email: bogdan.mustiata@gmail.com
License: BSD
Description: ars(onist)
        ==========
        
        Poor man's yo for quick project generation.
        
        Installation
        ------------
        
        .. code:: sh
        
            pip install arst
        
        Creating a new project
        ----------------------
        
        Two shortcuts are installed: ``ars``, and ``arst``
        
        .. code:: sh
        
            ars project-type
        
        or if a project is already created, and we want to reaply the templates,
        but with a tree diff for all the conflicting files. This will use the
        program specified in the ``ARS_DIFF_TOOL`` or in case the variable is
        not defined ``vimdiff``:
        
        .. code:: sh
        
            arst project-type
        
        This will copy all the resources from the ``~/.projects/project-type``
        into the current folder. Files that have the ``.hbs`` extension will be
        used as templates, and copied with the extension removed.
        
        The project type is sent as ``NAME`` into the handlebars templates.
        
        Thus if you have a structure such as:
        
        .. code:: text
        
            .projects/project-type
            ├── package.json.hbs
            └── static
                └── index.html
        
        After the ``ars project-type`` command you will have in your current
        folder:
        
        .. code:: text
        
            .
            ├── package.json
            └── static
                └── index.html
        
        The package.json file will be parsed as expected.
        
        If the file name from the project ends with ``.KEEP`` on subsequent
        calls from the same folder, it won't be overwritten.
        
        Parameters
        ----------
        
        Parameters can be also passed to the templates themselves. In case a
        parameter does not have a value, ``true`` will be set instead.
        
        ::
        
            ars package-type name1=value name2 name3=3
        
        This will generate a ``package-type`` project with the following
        parameters sent into the handlebars template:
        
        .. code:: json
        
            {
                "NAME" : "package-type",
                "name1" : "value",
                "name2" : true,
                "name3" : "3",
                "arg0": "name1",
                "arg1": "name2",
                "arg2": "name3"
            }
        
        Since the templating also happens to the file names themselves, so a
        file named ``{{name1}}.txt`` will be installed as ``value.txt``. This is
        particularily useful in conjunction with the positional argument names,
        making possible scenarios such as:
        
        .. code:: sh
        
            ars new-model User
        
        If in our project we have: ``{{arg0}}.html.hbs`` and
        ``{{arg0}}.js.hbs``, they will be expanded as: ``User.html`` and
        ``User.js``.
        
        Configuration
        -------------
        
        If you store your project files into a different folder, you can use the
        ``ARS_PROJECTS_FOLDER`` environment variable to point to the absolute
        path of it.
        
        Implicitly when creating a new project, an ``.ars`` file will be created
        with the current settings, so if the project is changed, you can reaplly
        your project template. If you want not to have this file created, just
        add a ``.noars`` file in the project template.
        
Platform: UNKNOWN
