[
  {
    "path": "README.md",
    "content": "# A GOOD WORKFLOW SAVES YOUR TIMES & MONEY.\n\n## Development Process\n\nDevelop the entire website in localhost\nCommit changes to git and push to Bitbucket or github.\n### 1. Starter theme\n\nMake Your Own Starter theme based On [Underscores](http://underscores.me/) or Twenty Seventeen (New version of Wordpress default theme)  and Underscores (made by Automattic)\n\nAfter Complete your starter theme save this on [GitHub](https://github.com/) or [Bitbucket](https://bitbucket.org/).\n\n#### Theme Option Framework\nGreat way to include theme customization options that non-developers can manage and understand. Many users don’t have a clue what CSS is – but they can use tabs, toggles, drop -downs and color pickers.\n\nCreate own custom framework are time consuming. So we prefer readymade Option framework Like \n* [Unyson](http://unyson.io/)\n* [Redux](https://reduxframework.com/)\n* [Codestar](http://codestarframework.com/)\n* [WPOnion](http://wponion.com/)\n\n#### Customiser Framework\n\nProvides a simple and intuitive API for registering Customizer settings, including advanced control types. Automatically sanitizes settings based on the control type. \n* [Kirki](https://aristath.github.io/kirki/)\n\n#### Gutenberg Helper\n* [Creat Guten Block](https://github.com/ahmadawais/create-guten-block)\n* [Gutenberg Fields Middleware](https://github.com/rtCamp/gutenberg-fields-middleware)\n* [Gutenberg Boilerplate](https://github.com/ahmadawais/Gutenberg-Boilerplate)\n* [Gutenberg Examples](https://github.com/WordPress/gutenberg-examples)\n\n\n#### Page Builder\nPage builders allow you to create, edit, and customize your site layout without writing any code.\n\nMost Popular Page builders: \n\n* [Visual Composer](https://codecanyon.net/item/visual-composer-page-builder-for-wordpress/242431?ref=XpeedStudio)\n* [SiteOrigin](https://wordpress.org/plugins/siteorigin-panels/)\n* [Unyson](unyson.io)\n* [Elementor Frontend builder](https://wordpress.org/plugins/elementor/)\n* [Tailor Frontend builder](https://wordpress.org/plugins/tailor/)\n* [King Composer](https://wordpress.org/plugins/kingcomposer/)\n\n\n\n### 2.  Start Work For New Project\n\nCloning your starter theme (or a fork of it) into ```/wp-content/themes/``` folder\n\n### 3.  Use task runner Like Grunt or gulp\nFor What ?\n* Prefixes to use in CSS\n* Compressing my images\n* Linting and minifying JS files\n* Creating sprites\n* Constantly refreshing my browser\n* Create .pot file for translation\n\n\n#### GULP RESOURCES\n* [Getting started with gulp](http://markgoodyear.com/2014/01/getting-started-with-gulp/)\n* [An Introduction to Gulp.js](http://www.sitepoint.com/introduction-gulp-js/)\n* [Using Gulp for WordPress Theme Development](http://mattbanks.me/gulp-wordpress-development/)\n* [WordPress theme development with Gulp, Bower, and Sass](http://synapticism.com/wordpress-theme-development-with-gulp-bower-and-sass/)\n* [Youtube](https://www.youtube.com/results?search_query=how+to+use+Gulp)\n* [WPGulp](https://github.com/ahmadawais/WPGulp)\n\n#### GRUNT RESOURCES\n* [wordpress-grunt](https://github.com/dtbaker/wordpress-grunt)\n* [Automated WordPress Deployment with Grunt](https://timrourke.com/blog/tutorials/automated-wordpress-deployment-with-grunt/)\n\n### 4.  Use Preprocessor  Like Sass Or Less\n* [getting-started-with- sass](https://scotch.io/tutorials/getting-started-with-sass)\n* [Youtube](https://www.youtube.com/results?search_query=how+to+use+Sass)\n\n### 4. Use git\nWhy Use Git: \n* Never have to remember which files you changed\n* Super easy to keep all copies in sync\n\nGit Resource: \n* [Learn Version Control with Git](http://www.git-tower.com/learn/)\n* [git - the simple guide](http://rogerdudler.github.io/git-guide/)\n* [tryGit](https://try.github.io/levels/1/challenges/1)\n* [Youtube](https://www.youtube.com/results?search_query=how+to+use+git)\n\nDesktop Tools\n* For Github : [Github for desktop](https://desktop.github.com/).  \n* For bitbucket: [Sourcetree for bitbucket](https://www.sourcetreeapp.com/)\n\n#### WORDPRESS-SPECIFIC GIT RESOURCES\n* [Version Controlling WordPress](http://roybarber.com/version-controlling-wordpress/)\n* [A WordPress & Git Workflow](http://plausiblethought.net/wordpress-git-workflow/)\n* [WordPress Development and Deployment With MAMP, Git and Dropbox](http://code.tutsplus.com/tutorials/wordpress-development-and-deployment-with-mamp-git-and-dropbox--wp-25718)\n\n### 5. Use Trello\nTheme development is managed with [Trello](https://trello.com/).\nTrello is a task management app that gives you a visual overview of what is being worked on and who is working on it.\nThe team sets about beta testing the theme. A list of bugs, tweaks and solutions is compiled, a hackathon is scheduled, and everything is completed by the developer.\n\nhttp://lifehacker.com/how-to-use-trello-to-organize-your-entire-life-1683821040\n\n### 6. Clean Up Your Source Code \n* Messy source code is a developer’s nightmare. It makes finding things difficult, and it makes it extremely difficult for anyone else to work with it.\n* Indent nested lines.\n* Indent tabs always.\n* Be consistent with formatting.\n* Include concise, descriptive comments.\n* Mind your line breaks.\n* Strive for clean markup.\n\n### 7. Keep In Mind While Developing a theme:\n\nAdd this to wp-config.php ```define( 'WP_DEBUG', true );```\n\n##### Escape Everything\n```php \n// Use anytime HTML element encloses a section of data:\n\necho esc_html( $no_html );\n\n// Use on all URLs, including those in the 'sr####c' and 'href' attributes of an HTML element:\n\n<img src=\"<?php echo esc_url( $escaped_url ); ?>\" />\n\n// Use for inline Javascript:\n\n<a href=\"#\" onclick=\"<?php echo esc_js( $escaped_js ); ?>\"><?php esc_html__( 'Click Here', 'text-domain' ); ?></a> \n\n// Use for an HTML attribute:\n\n<div class=\"<?php echo esc_attr( $escaped_class ); ?>\">\n```\n\n##### **Prefix Everything**\n```php\n// Functions\n\nfunction prefix_setup()\n\n\nPrefix_Class {}\n\n// Global Variables\n\nglobal $prefix_passengers;\n\n// Action Hooks\n\ndo_action( ‘prefix_start_engine’ );\n\n// Filter Hooks\n\n$register = apply_filters( prefix_register );\n\n// Non Third-Pary Script Handles\n\nwp_enqueue_script( 'prefix-functions', get_theme_directory_uri() . 'js/custom/functions.js' );\n\n// Non Third-Pary Style Handles\n\nwp_enqueue_style( 'prefix-minified-style', get_theme_directory_uri() . 'style.min.css' );\n\n// Images\n\nadd_image_size( 'prefix-large', 800, 600 );\n```\n\n##### **Do Not Prefix Third Party Scripts**\n\n```php\n// Incorrect \nwp_enqueue_style( 'prefix-font-awesome', get_template_directory_uri() . '/css/font-awesome.css', array(), '4.2.0', 'all' );\n\n// Corrrect \n\nwp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/css/font-awesome.css', array(), '4.2.0', 'all' );\n\n// Incorrect \n\nwp_enqueue_script( 'prefix-fitvids', get_template_directory_uri() . '/js/jquery.fitvids.js', array( 'jquery' ), '1.1.1', true );\n\n// Corrrect \n\nwp_enqueue_script( 'jquery-fitvids', get_template_directory_uri() . '/js/jquery.fitvids.js', array( 'jquery' ), '1.1.1', true );\n```\n\n##### **Properly Include Plugins Using TGMPA**\n```php\n// Include a plugin from the WordPress Repository:\narray(\n  'name'      => esc_html__( 'WooCommerce', 'text-domain' ),\n  'slug'      => 'woocommerce',\n  'required'  => false,\n),\n// Include a plugin bundled within a WordPress theme:\narray(\n  'name'      => esc_html__( 'Example Plugin', 'text-domain' ),\n  'slug'      => 'example-plugin',\n  'source'    => get_template_directory() . '/inc/plugins/example-plugin.zip',\n  'required'  => false,\n),\n```\n##### **Provide Offline Documentation**\nOffline documentation ensures that your customers are not hanging when there is not an Internet connection available or when your files are inaccessible – for any reason. Additionally, you do not have to ensure the assets will be infinitely accessible.\n\n\n\n## Test theme\n\n### 8. Run Tests\n* Run [Envato Theme Check](https://github.com/envato/envato-theme-check). Must meet all [Theme Check requirements](https://make.wordpress.org/themes/handbook/review/required/theme-check-plugin/)\n* Run [Theme Mentor for themeforest](https://github.com/Ataurr/Theme-Mentor-For-Themeforest/) \n\n#### Check Plugins\n* [Theme Sniffer Plugin](https://github.com/WPTRT/theme-sniffer) - WordPress Coding Standard\n* [Developer Plugin](https://wordpress.org/plugins/developer/)\n* [Monster Widget Plugin](https://wordpress.org/plugins/monster-widget/).\n\n## Conclusion\nIf your theme complies with the following Workflow, you’ll probably have a much quicker time getting your WordPress theme approved on ThemeForest.\n\n\n\n### Credits: \nRich Tabor, Dara Skolnick\n\n\n\n#### Copyright Ataurr\n#### Licence GPL 2+\n"
  }
]