Give developers more knowledge about how the classes behave in a non-relative sense: BEM + ITCSS = BEMIT
BEM:
| #!/usr/bin/php | |
| <?php | |
| $files = shell_exec('git diff-index --name-only --cached --diff-filter=ACMR HEAD | grep "\.php$"'); | |
| $files = explode("\n", trim($files)); | |
| $exitCode = 0; | |
| foreach ($files as $file) { | |
| if (empty($file)) { |
| /** | |
| * Convert Excel file to Sheets | |
| * @param {Blob} excelFile The Excel file blob data; Required | |
| * @param {String} filename File name on uploading drive; Required | |
| * @param {Array} arrParents Array of folder ids to put converted file in; Optional, will default to Drive root folder | |
| * @return {Spreadsheet} Converted Google Spreadsheet instance | |
| **/ | |
| function convertExcel2Sheets(excelFile, filename, arrParents) { | |
| var parents = arrParents || []; // check if optional arrParents argument was provided, default to empty array if not |
Give developers more knowledge about how the classes behave in a non-relative sense: BEM + ITCSS = BEMIT
BEM:
| # | |
| # REQUIRES: | |
| # - server (the forge server instance) | |
| # - site_name (the name of the site folder) | |
| # - sudo_password (random password for sudo) | |
| # - db_password (random password for database user) | |
| # - event_id (the provisioning event name) | |
| # - callback (the callback URL) | |
| # |
| .board { | |
| width: 100%; | |
| height: 100%; | |
| /* background-color: #0079bf; */ | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .board, | |
| .board textarea { |
| var parser = document.createElement('a'); | |
| parser.href = "http://example.com:3000/pathname/?search=test#hash"; | |
| parser.protocol; // => "http:" | |
| parser.hostname; // => "example.com" | |
| parser.port; // => "3000" | |
| parser.pathname; // => "/pathname/" | |
| parser.search; // => "?search=test" | |
| parser.hash; // => "#hash" | |
| parser.host; // => "example.com:3000" |
| var parser = document.createElement('a'); | |
| parser.href = "http://example.com:3000/pathname/?search=test#hash"; | |
| parser.protocol; // => "http:" | |
| parser.hostname; // => "example.com" | |
| parser.port; // => "3000" | |
| parser.pathname; // => "/pathname/" | |
| parser.search; // => "?search=test" | |
| parser.hash; // => "#hash" | |
| parser.host; // => "example.com:3000" |
| <form action="/cart/add" method="post"> | |
| {% if product.variants.size > 1 %} | |
| {% if product.options[0] %} | |
| {% assign used = '' %} | |
| <label for="select-one">{{ product.options[0] }}</label> | |
| <select id='select-one' onchange="letsDoThis()"> | |
| {% for variant in product.variants %} | |
| {% unless used contains variant.option1 %} | |
| <option value="{{ variant.option1 }}">{{ variant.option1 }}</option> | |
| {% capture used %}{{ used }} {{ variant.option1 }}{% endcapture %} |
| <form action="/cart/add" method="post"> | |
| {% if product.variants.size > 1 %} | |
| {% if product.options[0] %} | |
| {% assign used = '' %} | |
| <label for="select-one">{{ product.options[0] }}</label> | |
| <select id='select-one' onchange="letsDoThis()"> | |
| {% for variant in product.variants %} | |
| {% unless used contains variant.option1 %} | |
| <option value="{{ variant.option1 }}">{{ variant.option1 }}</option> | |
| {% capture used %}{{ used }} {{ variant.option1 }}{% endcapture %} |
| // config -> settings.html | |
| // Make sure you have the same number of quantity breaks as product variants | |
| <fieldset> | |
| <legend>Quantity Breaks</legend> | |
| <table class="standard-table"> | |
| <tr><td>Enter quantity breaks in ascending order separated by a comma (e.g. 5, 10, 20, 50)</td><td><input type="text" name="breaks" size="50" /></td></tr> | |
| </table> | |
| </fieldset> | |