grunt-concrete-package-uploader
v1.1.1
Published
Automatically deploy packages to concrete5.org
Downloads
23
Maintainers
Readme
grunt-concrete-package-uploader
Automatically deploy packages to concrete5.org
This grunt plug-in automatically deploys concrete5 themes + add-ons to the cocnrete5.org Marketplace. This plugin allows to upload complety new packages and also to update existing packages.
Getting Started
This plugin requires Grunt ~0.4.5
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-concrete-package-uploader --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-concrete-package-uploader');
The "concrete_package_uploader" task
Overview
In your project's Gruntfile, add a section named concrete_package_uploader
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
concrete_package_uploader: {
// Task-specific options go here.
},
});
Options
credentials.username
Type: String
Default value: ``
Required: Yes
Username of your concrete5.org user account.
credentials.password
Type: String
Default value: ``
Required: Yes
Password of your concrete5.org user account.
packageInformations.productType
Type: String
Default value: add_on
Required: Yes
You can use on of these values:
| Value | |--------| | add_on | | theme |
packageInformations.packageHandle
Type: String
Default value: (Empty)
Required: Yes
packageInformations.shortDescription
Type: String
Default value: (Empty)
Required: Yes
packageInformations.description
Type: String
Default value: (Empty)
Required: Yes
packageInformations.keywords
Type: String
Default value: (Empty)
Required: Yes
packageInformations.exampleUrl
Type: String
Default value: (Empty)
Required: No
packageInformations.screencast
Type: String
Default value: (Empty)
Required: No
packageInformations.dependencies
Type: Array
Default value: (Empty)
Required: No
Array with marketplace ids of required add-ons.
packageInformations.singlePrice
Type: Number
Default value: 0
Required: Yes
Leave this 0 for free or at least $15.
packageInformations.fivePrice
Type: Number
Default value: 0
Required: Yes
If you set a single price and leave this field empty this field will be the quadruple of the single price.
packageInformations.purchaseMessage
Type: String
Default value: Thank you for your purchase. If you take the time to submit a review, I'd love to give you a 10% discount on the next copy of this you purchase.
Required: Yes
packageInformations.requiredVersion
Type: String
Default value: 5.7.0.4
Required: Yes
You can use one of the following values:
| Value | |----------| | 5.7.0.4 | | 5.7.1 | | 5.7.2 | | 5.7.2.1 | | 5.7.3 | | 5.7.3.1 | | 5.7.4 | | 5.7.4.1 | | 5.7.4.2 | | 5.7.5 | | 5.7.5.1 | | 5.7.5.10 | | 5.7.5.11 | | 5.7.5.12 | | 5.7.5.13 | | 5.7.5.2 | | 5.7.5.3 | | 5.7.5.4 | | 5.7.5.5 | | 5.7.5.6 | | 5.7.5.7 | | 5.7.5.8 | | 5.7.5.9 | | 8.0.0 | | 8.0.1 | | 8.0.2 | | 8.0.3 | | 8.1.0 | | 8.2.0 | | 8.2.1 |
packageInformations.version
Type: String
Default value: 1.0
Required: No
Before submitting to marketplace version number should be 0.9.
packageInformations.packageFile
Type: String
Default value: (Empty)
Required: Yes
Expects a file path.
packageInformations.licenseType
Type: String
Default value: Standard
Required: Yes
You can use one of the following values:
| Value | |----------| | Standard | | MIT | | GPL | | Custom |
packageInformations.licenseText
Type: String
Default value: (Empty)
Required: No
This field is only required when you have setted the license type to "Custom".
packageInformations.supportPlan
Type: Number
Default value: 1
Required: Yes
You can use one of the following values:
| Name | Value | |----------------------------------------------|-------| | No | 1 | | Replies tickets once a week. | 8 | | Replies tickets every few days. | 12 | | Replies tickets every business day. | 16 | | Give me access and i will login to your site | 50 |
packageInformations.supportHostedOffsite
Type: Boolean
Default value: false
Required: Yes
packageInformations.supportHostedOffsiteUrl
Type: String
Default value: (Empty)
Required: No
packageInformations.offersPaidSupport
Type: String
Default value: (Empty)
Required: Yes
packageInformations.supportPrice
Type: Number
Default value: (Empty)
Required: No
packageInformations.pageTypes
Type: String
Default value: (Empty)
Required: No
Only required for themes.
packageInformations.customizableStyles
Type: Boolean
Default value: false
Required: No
Only required for themes.
packageInformations.skillLevel
Type: String
Default value: Beginner
Required: Yes
You can use one of the following values:
| Name | |---------------| | Beginner | | Intermediate | | Expert | | Bleeding Edge |
packageInformations.containsPageTypes
Type: String
Default value: (Empty)
Required: No
Only required for themes.
packageInformations.versionHistory
Type: String
Default value: (Empty)
Required: No
packageInformations.themeThumbnail
Type: String
Default value: (Empty)
Required: No
Only required for themes. Expects a file path.
packageInformations.notes
Type: String
Default value: (Empty)
Required: No
packageInformations.screenshots
Type: Array
Default value: (Empty)
Required: No
Expects an array of file pathes.
packageInformations.categories
Type: Array
Default value: (Empty)
Required: Yes
For add-ons you can use 1-3 values of the following table:
| Name | Value | |-------------------------|-------| | Applications | 16 | | Audience Contribution | 44 | | Custom Templates | 1404 | | Developer Tools | 1273 | | Digital Asset Managment | 15 | | eCommerce | 43 | | Image Galleries | 42 | | Image Sliders | 49 | | Interface Elements | 41 | | Multimedia | 50 | | SEO and Statistics | 49 | | Social Networking | 51 | | SPAM Captcha | 12590 | | System Utilities | 45 |
For themes you can use 1-3 values of the following table:
| Name | Value | |----------------------|-------| | Artistic | 18 | | Gritty | 19 | | Colorful | 20 | | Corporate | 52 | | eCommerce | 472 | | Real Estate | 1997 | | Clean | 2433 | | Portfolio and Design | 2536 | | Photographer | 2537 | | HTML5 and CSS3 | 2538 | | Photo Background | 7154 | | Blog | 7156 | | Magazine | 7157 | | Retail | 7158 | | Technology | 7159 | | Non Profit | 7160 | | Entertainment | 7161 | | Mobile | 7163 | | Framework | 7164 | | Bright | 7165 | | Dark | 7166 | | Elegant | 7167 | | Education | 7168 | | Responsive | 12489 |
Usage Example
grunt.config.init({
concrete_package_uploader: {
credentials: {
username: "your_username",
password: "your_password"
},
packageInformations: {
packageHandle: "your_package_handle",
packageFile: "build/your_package_file.zip",
title: "My package",
version: '0.9.0',
singlePrice: 15,
keywords: 'some, keywords',
shortDescription: 'This is a short description.',
description: 'This is a long description.',
categories: [16, 50],
screenshots: ["screenshots/1.png", "screenshots/2.png"]
}
}
});
grunt.registerTask('default', ['concrete_package_uploader']);