SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
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?

Contenu connexe

Similaire à 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 2014Tomasz Dziuda
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testowWiktor Ż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 developmentSharePoint Saturday Warsaw
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymDariusz 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 medaluecommerce 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ówMichal Lukaszewski
 

Similaire à 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
 

Plus de Tomasz Dziuda

Wtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaWtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaTomasz Dziuda
 
Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Tomasz Dziuda
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinTomasz Dziuda
 
Wtyczkowe kompendium
Wtyczkowe kompendiumWtyczkowe kompendium
Wtyczkowe kompendiumTomasz 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ówTomasz 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 kosztaTomasz 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ójmiastoTomasz 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 WarszawaTomasz 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ówTomasz 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 enduTomasz Dziuda
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławTomasz 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 KatowiceTomasz 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 WarszawaTomasz Dziuda
 
Motywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia PrawdziwaMotywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia PrawdziwaTomasz 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.0Tomasz 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
 

Plus de 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ć