Giter VIP home page Giter VIP logo

pave's Introduction

pave - Command line tools for Concrete5 websites

Authors: Jamon Holmgren (@jamonholmgren), Ryan Linton (@ryanlntn), and the rest at ClearSight Studio (@clrsightstudio).

Provides a set of command line tools for setting up and developing Concrete5 websites.

Requirements: Designed for Ruby 2.0+ running on OS X Mavericks.

Installation

$ gem install pave

Usage

Create a new Concrete5 website

$ pave new mywebsite

This:

  1. Downloads Concrete 5.6.2.1 (once) into ~/.pave
  2. Unzips it into mywebsite
  3. Removes extra folders and sets up folder permissions
  4. Adds a .gitignore and .keeps
  5. Attempts to create a virtual host mywebsite.site

Deployment

$ pave deploy:setup

This sets up a Git-based deployment script to the remote server and deploys an initial version. SSH access is required. You may run it multiple times and setup as many deployment endpoints as you want.

$ pave deploy

Deploys the site using git. Files and databases are not deployed (see below for how to do that).

$ pave deploy staging feature-branch

Deploys feature-branch to staging remote.

Database

$ pave db:create [mydatabase]

Creates a local MySQL database called mydatabase. Omitting the database name will create a database with the same name as the current directory.

$ pave db:push

Copies the local Concrete5 database to the remote database. Useful for deploying to staging sites.

$ pave db:pull

Copies the remote Concrete5 database into the local database. Useful for obtaining production data for testing.

$ pave db:dump

Creates a database dump file and places it in .db/YYYY-MM-DD_HH-MM-SS-<databasename>.sql.gz.

Files

$ pave files:push

WARNING: be careful with this command! Pushes your local files/* to the remote server, completely replacing the remote server's version.

$ pave files:pull

Pulls the remote files/* folder and replaces your local version.

$ pave files:sync

TODO: Pulls newer remote files and pushes newer local files. Ignores cache and tmp files.

Virtual Host

$ sudo pave vh:create [myhost.site]

Sets up an Apache virtual host in the current directory on myhost.site. Omitting the hostname argument will create a virtual host with the same name as the current directory (i.e. myapp.site if the current directory is myapp).

$ sudo pave vh:remove [myhost.site]

Removes myhost.site virtual host.

$ sudo pave vh:backup

Backs up your hosts file and vhost file.

$ sudo pave vh:restore

Restores your previously backed up virtual host file.

$ sudo pave vh:restart

Restarts Apache.

Themes

$ pave g:theme [mytheme]

Generates a theme in with the name mytheme in the theme directory. Omitting the theme name will create a theme with the same name as the current directory.

$ pave watch [browser] [mytheme]

Watches for changes in the mytheme directory. Compiles SASS and CoffeeScript files when they change and reloads the browser. The default the browser is Chrome but Safari and Firefox are also supported. A theme with the same name as the current directory is assumed unless a theme name is specified.

Help

$ pave help

Outputs common tasks that pave can do.

Updating

$ pave update

Contributing

  1. Create an issue explaining what you'd like to do and get feedback
  2. Fork it
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request

Copyright (c) 2013 Jamon Holmgren

Released under the MIT license.

pave's People

Contributors

ryanlntn avatar jamonholmgren avatar yulolimum avatar kevinvangelder avatar halbtuerke avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.