Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Increase Your Productivity - The Local WordPres...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Luminus Olumide Alabi
August 17, 2018
Technology
3.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Increase Your Productivity - The Local WordPress Development Toolset of Your Dreams
Luminus Olumide Alabi
August 17, 2018
More Decks by Luminus Olumide Alabi
See All by Luminus Olumide Alabi
Rocking Remote Work: Living Your Best Life & Maintaining Your Sanity
luminus
0
250
The Power Of Open Source: How WordPress Saved My Life
luminus
0
87
eCommerce in Nigeria for Fun and Profit
luminus
2
3.6k
Other Decks in Technology
See All in Technology
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
370
Building applications in the Gemini API family.
line_developers_tw
PRO
0
2.4k
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
800
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
870
ブロックチェーン / Blockchain
ks91
PRO
0
110
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
3
500
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.8k
中期計画、2回作ってみた ~業務委託と正社員、両方の視点から~
demaecan
1
490
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
1
1.1k
トークン数だけでは測れない — Claude Code 組織展開の効果検証から学んだこと
makikub
0
140
自律型AIエージェントは何を破壊するのか
kojira
0
130
MCP Appsを作ってみよう
iwamot
PRO
4
280
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
GraphQLとの向き合い方2022年版
quramy
50
15k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
390
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Being A Developer After 40
akosma
91
590k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
The Spectacular Lies of Maps
axbom
PRO
1
790
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Transcript
INCREASE YOUR PRODUCTIVITY THE LOCAL WORDPRESS DEVELOPMENT TOOLSET OF YOUR
DREAMS 1 — © Luminus Alabi | WordCamp Brighton 2018
LUMINUS ALABI HI > Happiness Engineer @ Automattic > 7th
degree Black Belt at Hanging Out > Equal Opportunities Hugs Dispenser Hi ! @luminus // " https://luminus.alabi.blog 2 — © Luminus Alabi | WordCamp Brighton 2018
WHY WE'RE HERE > Blazing Fast Local Development Setup >
Making magic with WP-CLI > Supercharging your Terminal experience 3 — © Luminus Alabi | WordCamp Brighton 2018
BLAZING FAST LOCAL DEVELOPMENT SETUP 4 — © Luminus Alabi
| WordCamp Brighton 2018
LARAVEL VALET 1 1 https://laravel.com/docs/5.6/valet 5 — © Luminus Alabi
| WordCamp Brighton 2018
LARAVEL VALET PHP Development environment for Mac minimalists. 6 —
© Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET > No Vagrant > No Docker > No
/etc/hosts file > No headache 7 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET Blazing fast and uses roughly 7 MB of
RAM. 8 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET Configures your Mac to always run Nginx in
the background when your machine starts 9 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET Uses DnsMasq to proxy all requests on the
*.test domain to point to sites installed on your local machine. 10 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET Perfect if you prefer extreme speed, or are
working on a machine with a limited amount of RAM 11 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET > Out of the box support for 20+
Frameworks/CMSes > Extensible to support more via custom drivers 12 — © Luminus Alabi | WordCamp Brighton 2018
LARAVEL VALET Linux & Windows users aren't left out 2
2 Valet Linux and Valet Windows 13 — © Luminus Alabi | WordCamp Brighton 2018
VALET+ 3 3 https://github.com/weprovide/valet-plus 14 — © Luminus Alabi |
WordCamp Brighton 2018
VALET+ > 3rd Party fork of Laravel Valet > Includes
additional functionality 15 — © Luminus Alabi | WordCamp Brighton 2018
VALET+ PHP version switching > valet use 5.6 > valet
use 7.1 > valet use 7.2 16 — © Luminus Alabi | WordCamp Brighton 2018
VALET+ Xdebug support 17 — © Luminus Alabi | WordCamp
Brighton 2018
VALET+ Mailhog 18 — © Luminus Alabi | WordCamp Brighton
2018
VALET+ Subdomains > valet subdomain list > valet subdomain add
<subdomain> 19 — © Luminus Alabi | WordCamp Brighton 2018
VALET+ WP-CLI 20 — © Luminus Alabi | WordCamp Brighton
2018
MIGRATING FROM VALET TO VALET+ 1. Install Valet+ globally with
Composer 2. Remove Laravel Valet to prevent conflicts 3. Optional but Recommended: Update Composer 4. Run the valet install command 21 — © Luminus Alabi | WordCamp Brighton 2018
MIGRATING FROM VALET TO VALET+ > composer global require weprovide/valet-plus
> composer global remove laravel/valet > composer global update > valet install 22 — © Luminus Alabi | WordCamp Brighton 2018
SERVING SITES 1. Create a Sites directory if you don’t
already have one: mkdir ~/Sites 2. Navigate to that directory: cd ~/Sites 3. Set that directory as your project root: valet park 23 — © Luminus Alabi | WordCamp Brighton 2018
MAKING MAGIC WITH WP-CLI 24 — © Luminus Alabi |
WordCamp Brighton 2018
SETTING UP A NEW WORDPRESS SITE WITH WP-CLI 25 —
© Luminus Alabi | WordCamp Brighton 2018
WP-CLI Demo Demo 1 Demo 1 Setting up a new
WordPress site with WP-CLI 26 — © Luminus Alabi | WordCamp Brighton 2018
SITE CREATION ON STEROIDS WITH THE WP-CLI VALET COMMAND 4
4 https://github.com/aaemnnosttv/wp-cli-valet-command 27 — © Luminus Alabi | WordCamp Brighton 2018
WP-CLI VALET COMMAND Custom WP-CLI command with 2 functions: >
Create a new WordPress install -- fast > Completely remove an installation. 28 — © Luminus Alabi | WordCamp Brighton 2018
WP-CLI Valet Command Demo Demo 2 Demo 2 WP-CLI Valet
Command Demo 29 — © Luminus Alabi | WordCamp Brighton 2018
BENDING WP-CLI SITE CREATION TO YOUR WILL THROUGH CONFIG FILES
30 — © Luminus Alabi | WordCamp Brighton 2018
Arguments are interpreted following an order of precedence, from highest
priority to lowest: 1. Command-line arguments. 2. wp-cli.local.yml file inside the current working directory (or upwards). 3. wp-cli.yml file inside the current working directory (or upwards). 4. ~/.wp-cli/config.yml file. 5. WP-CLI defaults. 31 — © Luminus Alabi | WordCamp Brighton 2018
MY ~/.wp-cli/config.yml FILE 5 Core config core config: dbuser: root
dbpass: root extra-php: | define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors',0); define( 'WCS_DEBUG', true ); 5 https://gist.github.com/Luminus/45e886809c81e325894a0825374065ec 32 — © Luminus Alabi | WordCamp Brighton 2018
MY ~/.wp-cli/config.yml FILE Core download core download: # locale: nl_NL
skip-content: true 33 — © Luminus Alabi | WordCamp Brighton 2018
MY ~/.wp-cli/config.yml FILE Core install core install: admin_user: luminus admin_password:
password admin_email:
[email protected]
34 — © Luminus Alabi | WordCamp Brighton 2018
MY ~/.wp-cli/config.yml FILE Valet new & Valet destroy valet new:
admin_user: luminus admin_password: password dbpass: root valet destroy: yes: true 35 — © Luminus Alabi | WordCamp Brighton 2018
KICKING IT UP A NOTCH WITH BASH SCRIPTING 36 —
© Luminus Alabi | WordCamp Brighton 2018
MY wc-site SCRIPT 6 A single command to create a
new WordPress site with: > WooCommerce plugin installed and activated > Storefront theme installed and activated > Default browser launched with my Admin user already logged in to WP-Admin 6 https://gist.github.com/Luminus/363f5c381b2ba279c747fc2c2913917c 37 — © Luminus Alabi | WordCamp Brighton 2018
MY wc-site SCRIPT #!/bin/bash # Function to display usage instructions
when the command is used incorrectly function usage { echo "usage: wc-site <name> [--master]" echo "e.g. wc-site gradient will create a site at https://gradient.test" echo "The \"--master\" switch will install the current WooCommerce master from Github" exit 1 } 38 — © Luminus Alabi | WordCamp Brighton 2018
MY wc-site SCRIPT # If the wc-site command is run
without the site name, display usage instructions if [[ -z "$1" ]]; then usage else # If only the site name is supplied, assume WordPress.org version of WooCommerce is wanted if [[ -z "$2" ]]; then woo="woocommerce" # If master switch is used then current WooCommerce master from Github is wanted elif [[ $2 = "--master" ]]; then woo="https://github.com/woocommerce/woocommerce/archive/master.zip" # If a second argument other than "--master" is supplied, teach the user how to do it else usage fi fi 39 — © Luminus Alabi | WordCamp Brighton 2018
MY wc-site SCRIPT # Change current directory to Sites cd
~/www/sites/ # Create WordPress site. Set the database name to be the same as the site name. # wp valet uses `wp_<name>` which I'm not keen on wp valet new $1 --dbname=$1 # Change current directory to the new site so you can work your WP-CLI magic cd ~/www/sites/$1 # Install & Activate WooCommerce based on whether the master switch is used or not. wp plugin install $woo --activate # Install & Activate Storefront wp theme install storefront --activate # Install & Activate the WP-CLI Login Companion Plugin wp login install --activate # Update permalink structure wp rewrite structure '/%year%/%monthnum%/%day%/%postname%/' # Launch the site in your default browser # valet open $1 # Launch the site's /wp-admin/ in your default browser # wp admin # Generate a Magic Link and Log in to the site in your default browser # Luminus is the default admin username for my local sites wp login as luminus --launch 40 — © Luminus Alabi | WordCamp Brighton 2018
WC-Site Demo Demo 3 Demo 3 WC-Site script in action
41 — © Luminus Alabi | WordCamp Brighton 2018
SUPER CHARGING YOUR TERMINAL EXPERIENCE 42 — © Luminus Alabi
| WordCamp Brighton 2018
ZSH AND OH-MY-ZSH 7 7 Installing ZSH and https://ohmyz.sh/ 43
— © Luminus Alabi | WordCamp Brighton 2018
ZSH > Extended Bourne shell with a large number of
improvements. > Oh-My-Zsh makes all the magic happen 44 — © Luminus Alabi | WordCamp Brighton 2018
OH-MY-ZSH > Community-driven framework for managing your ZSH configurations >
Bundled with loads of helpful functions, plugins & themes > Will make you shout… Oh My ZSH! > Windows 10 users can get in on it 8 8 https://www.maketecheasier.com/install-zsh-and-oh-my-zsh-windows10/ 45 — © Luminus Alabi | WordCamp Brighton 2018
OH-MY-ZSH Say goodbye to cd for changing directories. 46 —
© Luminus Alabi | WordCamp Brighton 2018
No cd Demo Demo 4 Demo 4 NO cd 47
— © Luminus Alabi | WordCamp Brighton 2018
OH-MY-ZSH Say hello to the take command: > Create a
new directory and change to it. > Will even create intermediate directories as required. 48 — © Luminus Alabi | WordCamp Brighton 2018
Take Command Demo Demo 5 Demo 5 Take Command Demo
49 — © Luminus Alabi | WordCamp Brighton 2018
OH-MY-ZSH Quick aliases for Git introduced by the git plugin
9 > gcl instead of git clone > gaa instead of git add --all > gcmsg instead of git commit -m > gp instead of git push > gcb instead of git checkout -b 9 GIT Plugin Cheat sheet 50 — © Luminus Alabi | WordCamp Brighton 2018
OH-MY-ZSH WP-CLI aliases for speeding up WordPress tasks 10 >
wppi woocommerce instead of wp plugin install woocommerce > wpta storefront instead of wp theme activate storefront 10 WP-CLI Plugin Cheat sheet 51 — © Luminus Alabi | WordCamp Brighton 2018
ITERM2, Z, HUB, GITUP 52 — © Luminus Alabi |
WordCamp Brighton 2018
ITERM2 11 > Replacement for the Mac OS terminal >
Brings features you never knew you always wanted: > Split Panes > Hotkey Window > Inline Images 11 iTerm2 Features 53 — © Luminus Alabi | WordCamp Brighton 2018
Z 12 > Jump around in the terminal > Tracks
most used directories based on 'frecency' > Frecency is a portmanteau of ‘recent’ and ‘frequency’ > Goes to most 'frecent' directory matching your request > z sites goes to your Sites directory > Quicker than using cd and memorising exact paths 12 https://github.com/rupa/z 54 — © Luminus Alabi | WordCamp Brighton 2018
HUB 13 > Command-line wrapper for git > Makes working
with GitHub easier > Useful for contributors as well as maintainers > git clone cool-stuff - clone your own project > git clone woocommerce/woocommerce vs git:// github.com/woocommerce/woocommerce.git 13 https://hub.github.com/ 55 — © Luminus Alabi | WordCamp Brighton 2018
GITUP 14 > For updating multiple git repositories at once
> Smart enough to handle several remotes > Works on OS X, Linux, and Windows > gitup . updates all repos in current directory 14 https://github.com/earwig/git-repo-updater 56 — © Luminus Alabi | WordCamp Brighton 2018
COMMAND LINE POWER USER 15 Online Video Course covering: >
CLI Basics > iTerm2 > ZSH & Z 15 Wes Bos's Free Command Line Power User course. 57 — © Luminus Alabi | WordCamp Brighton 2018
RECAP 58 — © Luminus Alabi | WordCamp Brighton 2018
RECAP > Blazing Fast Local Development Setup > Making magic
with WP-CLI > Supercharging your Terminal experience 59 — © Luminus Alabi | WordCamp Brighton 2018