Das testen von Webseiten und Webapps ist die unrühmliche Bastard unserer Zeit. Nachdem wir dieses Biest namens 'Unit testing' gezähmt haben, ist es jetzt an der Zeit, unsere Frontlinien an eine andere Front zu verlagern. Dieses Mal geht es um euer UI. Und nein, wir penetrieren nicht unseren alten Alliierten Selenium und wir kämpfen auch nicht in den Ruby Steppen von Watir, nein meine Freunde, dieses mal ist es an JavaScript unsere Bugs ein für alle mal zu besiegen.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if(!Array.prototype.indexOf){Array.prototype.indexOf=function(b){var a=this.length>>>0;var c=Number(arguments[1])||0;c=(c<0)?Math.ceil(c):Math.floor(c);if(c<0){c+=a}for(;c<a;c++){if(c in this&&this[c]===b){return c}}return -1}}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php $article = $pages->find('blog')->children()->last() ?> | |
<div class="footer"> | |
<div class="container"> | |
<div class="grid full"> | |
// Displays the latest blog article | |
<h3><?php echo html($article->title()) ?></h3> | |
<small><?php echo html($article->Published()) ?></small> | |
<p><?php echo excerpt($article->text(), 250) ?>... <a href="<?php echo html($article->url()) ?>">Continue reading</a></p> | |
</div> | |
<div class="cf"></div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class kirbytextExtended extends kirbytext { | |
function __construct($text, $markdown=true) { | |
parent::__construct($text, $markdown); | |
/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
while : | |
do | |
clear | |
git --no-pager log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --all | |
sleep 1 | |
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var gulp = require('gulp'); | |
var gutil = require('gulp-util'); | |
var express = require('express'); | |
var path = require('path'); | |
var tinylr = require('tiny-lr'); | |
var createServers = function(port, lrport) { | |
var lr = tinylr(); | |
lr.listen(lrport, function() { | |
gutil.log('LR Listening on', lrport); |
- plugins should only do one thing and do them well. Your task shouldn't concat files that's why we have grunt-contrib-concat. Your task shouldn't minify CSS, that's what eg. grunt-csso is for.
- don't bloat with uneeded options. pick sane defaults.
- should be fully tested (this should be enforced! we really don't want people using untested plugins).
- search the plugin list before creating one. what you want to create is probably already created and all you're doing is making it harder for users to find one.
- don't use the prototyped colors properties like, ''.green. This will be deprecated in the future. Use a sane coloring lib like chalk instead.
- readme:
- should have a good intro
- travis badge
- have examples
- describe all options with types and defaults
One word: task automation. It's basically zero effort and you can use the ./task.js package manager to handle any repetitive tasks. You can use ./task.js
to automate everything with minimum effort.
./task.js
provides the structure, order, and authority that you as a developer so desperately crave.
./task.js
will also take responsibility for your actions if you need it to. It's what everybody is using now.
./task.js
is the new hotness. It's all about ./task.js
now, just like that.
This is compared to npm run/bash scripts, which are:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
{ | |
"installed_packages": | |
[ | |
"Alignment", | |
"Base16 Color Schemes", | |
"ColorPicker", | |
"GitGutter", | |
"HTML-CSS-JS Prettify", | |
"InactivePanes", | |
"MaxPane", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
Copyright (C) 2014 ADDY OSMANI <addyosmani.com> | |
Everyone is permitted to copy and distribute verbatim or modified | |
copies of this license document, and changing it is allowed as long | |
as the name is changed. | |
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |