SlideShare a Scribd company logo
DAJ SIĘ WYRĘCZYĆ
Tomasz Dziuda
WordUp Kraków Wiosna@2014
–Typowy Klient po odkryciu gotowców w projekcie
“Dlaczego chce Pan za to zlecenie X złotych
skoro korzysta Pan z gotowego motywu?”
NIE O TYM JEST TA
PREZENTACJA ;-)
Źródło: (https://twitter.com/iamdevloper/status/458263644628078592)
ZŁOŻONOŚĆ PROJEKTÓW WWW ROŚNIE
A CZAS TRWANIA DOBY SIĘ NIE
ZMIENIA
AUTOMATYZACJA?
AUTOMATYZACJA?
AUTOMATYZACJA?
AUTOMATYZACJA?
CO WARTO
ZAUTOMATYZOWAĆ?
• Powtarzalne czynności
• Powtarzalne czynności
• Zadania w których łatwo można
zaprogramować kolejne etapy
• Powtarzalne czynności
• Zadania w których łatwo można
zaprogramować kolejne etapy
• Warto zwracać uwagę na złożoność i
zasobożerność rozwiązania
automatycznego
JAK ŻYĆ AUTOMATYZOWAĆ?
WYGODNY EDYTOR
SUBLIME TEXT
EMMET
ul>li*3>a
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=“"></a></li>
</ul>
-webkit-box-sizing: ;
-moz-box-sizing: ;
box-sizing: ;
-box-sizing: ;
AUTOPREFIXER
LINTER
EMMET LIVESTYLE
LESS PARSER
[brak screena]
On po prostu działa ;-)
PRZYDATNE WTYCZKI
Emmet
(http://emmet.io/)
!
Emmet Live Style
(http://livestyle.emmet.io/)
!
AutoPrefixer 
(https://github.com/sindresorhus/sublime-autoprefixer)
!
Linter
(https://github.com/SublimeLinter/SublimeLinter)
!
LESS Parser
(https://github.com/timdouglas/sublime-less2css)
ALTERNATYWY
Codekit
(https://incident57.com/codekit/)
!
Grunt.js
(http://gruntjs.com/)
!
Atom
(https://atom.io/)
!
Wypasione IDE ;-)
SCAFFOLDING
$ npm install -g yo generator-wordpress
!
$ yo wordpress
PRZYDATNE GENERATORY
YeoPress
(https://github.com/wesleytodd/YeoPress)
!
generator-wp-theme
(https://github.com/danielauener/generator-wp-grunted-theme)
!
generator-wp-plugin-boilerplate
(https://github.com/thiagolcks/generator-wp-plugin-boilerplate)
ALTERNATYWY
Brunch
(http://brunch.io/)
!
!
Loom
(https://github.com/rpflorence/loom)
UNIKANIE NUDNYCH
ZADAŃ
JAK TO DZIAŁA?
• Tworzymy package.json	

• Tworzymy Gruntfile.js	

• Wchodzimy do katalogu z projektem	

• Aktualizujemy wszystkie zależności z package.json
poprzez npm install	

• Uruchamiamy zadania komendą grunt lub grunt
<nazwa_zadania>
GRUNTFILE.JS
• Funkcja otaczająca	

• Konfiguracja grunta i zadań	

• Załadowanie wtyczek i zadań	

• Definicje własnych zadań (domyślne zadanie ma
nazwę “default”)
module.exports = function(grunt) {	

grunt.initConfig({	

pkg: grunt.file.readJSON('package.json'),	

uglify: {	

options: {	

banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-
mm-dd") %> */n'	

},	

build: {	

src: 'src/<%= pkg.name %>.js',	

dest: 'build/<%= pkg.name %>.min.js'	

}	

}	

});	

!
grunt.loadNpmTasks('grunt-contrib-uglify');	

grunt.registerTask('default', ['uglify']);	

};
PRZYDATNE TASKI
• grunt-csscss	

• grunt-jsbeautifier	

• grunt-cssbeautifier	

• grunt-contrib-jshint	

• grunt-contrib-less	

• Więcej na: http://gruntjs.com/plugins
ALTERNATYWY
Gulp.js
!
(http://gulpjs.com/)
AUTOMATYCZNE
WYKLIKIWANIE
CASPER.JS
var casper = require('casper').create({	

	

 verbose: true,	

logLevel:“debug",	

	

	

 onError: function(self, m) { 	

console.log('FATAL:' + m);	

self.exit();	

},	

	

	

 viewportSize: {	

	

 'width': 1280,	

	

 'height': 1024	

}	

});
casper.start();	

!
casper.setHttpAuth('admin',‘demo');	

!
casper.thenOpen('http://domain.com/administrator/index.php',
function() {	

this.echo('Logged to HTACCESS', 'INFO');	

});
casper.then(function() {	

	

 this.fill('#form-login', {	

	

 	

 'username': 'admin',	

	

 	

 'passwd': 'demo'	

	

 }, true);	

!
	

 this.captureSelector(‘admin.png', '#main');	

});	

!
casper.run();
ALTERNATYWY
Phantom.js
(http://phantomjs.org/)
!
Slimer.js
(http://slimerjs.org/)
!
Nightwatch.js
(http://nightwatchjs.org/)
I WIELE INNYCH SPOSOBÓW
DLA MIŁOŚNIKÓW KONSOLI
WP-CLI
(HTTP://WP-CLI.ORG/)
!
DICTATOR
(HTTPS://GITHUB.COM/DANIELBACHHUBER/DICTATOR)
!
(HTTP://TORQUEMAG.IO/DIVING-INTO-DICTATOR-A-PROVISIONING-TOOL-FOR-WORDPRESS/)
TESTY JEDNOSTKOWE
Jak pisać testy jednostkowe dla wtyczek
(https://speakerdeck.com/tierra/unit-testing-wordpress-plugins)
!
Travis CI
(https://travis-ci.org/)
!
QUnit
(http://qunitjs.com/)
KONTAKT
Lead Developer @ www.gavick.com
!
@dziudek
!
http://wp.dziudek.pl
!
http://zebymniezapomnial.tumblr.com
!
PYTANIA?

More Related Content

Similar to Daj się wyręczyć

Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014
Tomasz Dziuda
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
Wiktor Żołnowski
 
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side developmentTomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
SharePoint Saturday Warsaw
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
Paweł Tekliński
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
Dariusz Jagieło
 
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalu
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalushopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalu
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalu
ecommerce poland expo
 
Dwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędówDwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędów
Michal Lukaszewski
 
Od zera do Automattica
Od zera do AutomatticaOd zera do Automattica
Od zera do Automattica
WordCamp Polska
 

Similar to Daj się wyręczyć (8)

Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
 
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side developmentTomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalu
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalushopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalu
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalu
 
Dwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędówDwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędów
 
Od zera do Automattica
Od zera do AutomatticaOd zera do Automattica
Od zera do Automattica
 

More from Tomasz Dziuda

Wtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaWtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp Warszawa
Tomasz Dziuda
 
Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12
Tomasz Dziuda
 
Trello w praktyce
Trello w praktyceTrello w praktyce
Trello w praktyce
Tomasz Dziuda
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp Lublin
Tomasz Dziuda
 
Wtyczkowe kompendium
Wtyczkowe kompendiumWtyczkowe kompendium
Wtyczkowe kompendium
Tomasz Dziuda
 
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp KrakówJak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Tomasz Dziuda
 
Jak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane kosztaJak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane koszta
Tomasz Dziuda
 
REST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp TrójmiastoREST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp Trójmiasto
Tomasz Dziuda
 
REST API - teoria i praktyka - WordUp Warszawa
REST API - teoria i praktyka - WordUp WarszawaREST API - teoria i praktyka - WordUp Warszawa
REST API - teoria i praktyka - WordUp Warszawa
Tomasz Dziuda
 
Contributor Day - WordCamp Lublin 2017 - przegląd motywów
Contributor Day - WordCamp Lublin 2017 - przegląd motywówContributor Day - WordCamp Lublin 2017 - przegląd motywów
Contributor Day - WordCamp Lublin 2017 - przegląd motywów
Tomasz Dziuda
 
Electron + WordPress = ❤
Electron + WordPress = ❤Electron + WordPress = ❤
Electron + WordPress = ❤
Tomasz Dziuda
 
Jak nadążyć za światem front endu
Jak nadążyć za światem front enduJak nadążyć za światem front endu
Jak nadążyć za światem front endu
Tomasz Dziuda
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET Wrocław
Tomasz Dziuda
 
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp KatowiceMotywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
Tomasz Dziuda
 
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp WarszawaMotywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Tomasz Dziuda
 
Motywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia PrawdziwaMotywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia Prawdziwa
Tomasz Dziuda
 
Dokąd zmierza WordPress?
Dokąd zmierza WordPress?Dokąd zmierza WordPress?
Dokąd zmierza WordPress?
Tomasz Dziuda
 
Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0
Tomasz Dziuda
 
Statycznie czy dynamicznie?
Statycznie czy dynamicznie?Statycznie czy dynamicznie?
Statycznie czy dynamicznie?
Tomasz Dziuda
 
Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?
Tomasz Dziuda
 

More from Tomasz Dziuda (20)

Wtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaWtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp Warszawa
 
Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12
 
Trello w praktyce
Trello w praktyceTrello w praktyce
Trello w praktyce
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp Lublin
 
Wtyczkowe kompendium
Wtyczkowe kompendiumWtyczkowe kompendium
Wtyczkowe kompendium
 
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp KrakówJak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
 
Jak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane kosztaJak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane koszta
 
REST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp TrójmiastoREST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp Trójmiasto
 
REST API - teoria i praktyka - WordUp Warszawa
REST API - teoria i praktyka - WordUp WarszawaREST API - teoria i praktyka - WordUp Warszawa
REST API - teoria i praktyka - WordUp Warszawa
 
Contributor Day - WordCamp Lublin 2017 - przegląd motywów
Contributor Day - WordCamp Lublin 2017 - przegląd motywówContributor Day - WordCamp Lublin 2017 - przegląd motywów
Contributor Day - WordCamp Lublin 2017 - przegląd motywów
 
Electron + WordPress = ❤
Electron + WordPress = ❤Electron + WordPress = ❤
Electron + WordPress = ❤
 
Jak nadążyć za światem front endu
Jak nadążyć za światem front enduJak nadążyć za światem front endu
Jak nadążyć za światem front endu
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET Wrocław
 
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp KatowiceMotywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
 
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp WarszawaMotywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
 
Motywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia PrawdziwaMotywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia Prawdziwa
 
Dokąd zmierza WordPress?
Dokąd zmierza WordPress?Dokąd zmierza WordPress?
Dokąd zmierza WordPress?
 
Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0
 
Statycznie czy dynamicznie?
Statycznie czy dynamicznie?Statycznie czy dynamicznie?
Statycznie czy dynamicznie?
 
Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?
 

Daj się wyręczyć