Skip to content

Instantly share code, notes, and snippets.

View khoipro's full-sized avatar
💭
#devops #wordpress #vuejs #docker

Nguyễn Minh Khôi khoipro

💭
#devops #wordpress #vuejs #docker
View GitHub Profile
@khoipro
khoipro / .lando-example.yml
Created February 4, 2023 03:29
Best practice with .lando config
# With php XDEBUG on or off
tooling:
xdebug-on: # run: lando xdebug-on
service: appserver
description: Enable xdebug for apache.
cmd: "docker-php-ext-enable xdebug && /etc/init.d/apache2 reload"
user: root
xdebug-off: # run: lando xdebug-off
service: appserver
description: Disable xdebug for apache.
@khoipro
khoipro / laravel-faq-beginners.md
Created December 27, 2022 23:44
Laravel FAQ for beginners (with Windows)
@khoipro
khoipro / .lando.yml
Created December 2, 2022 03:33
Example lando config for WordPress recipes (with redis, phpmyadmin, mailhog, nginx with domain .test)
name: codetot-vn
recipe: wordpress
proxy:
appserver_nginx:
- codetot.test
config:
webroot: .
database: mariadb
via: nginx
php: '7.4'
@khoipro
khoipro / slider.js
Last active September 14, 2024 00:09
Load swiper slides lazyload (with <noscript> tag) for each slide
import { select, selectAll, hasClass, removeClass, loadNoscriptContent } from 'lib/dom'
import Swiper, { Navigation } from 'swiper'
export default el => {
const sliderEl = select('.js-slider', el)
const slideEls = selectAll('.swiper-slide', el)
if (sliderEl) {
const swiper = new Swiper(sliderEl, {
freeMode: true,
@khoipro
khoipro / commands.sh
Last active December 24, 2023 17:41
Useful commands for interacting with Ubuntu/*nix OS
# import db .sql to site
# tutorial: https://fullstack-tutorials.com/mysql/mysql-import-database-from-sql-file-in-linux
gunzip < dump.sql.gz | mysql -u username -p database
# extract db to .sql.gz
# tutorial: https://fullstack-tutorials.com/mysql/mysql-export-database-to-gzip-file-in-linux
mysqldump -u username -p database_name | gzip > dump.sql.gz
@khoipro
khoipro / wp-config.php
Created July 25, 2022 14:37
wp-config.php - enable debug, disable fatal error handler
<?php
// Local Dev
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );
<?php
function codetot_is_localhost()
{
return !empty($_SERVER['HTTP_X_CODETOT_THEME_HEADER']) && $_SERVER['HTTP_X_CODETOT_THEME_HEADER'] === 'development';
}
function codetot_is_local_dev() {
$is_localhost = azpet_is_localhost();
$domain_name = $_SERVER['HTTP_HOST'] ?? '';
$is_test_domain = !empty($domain_name) && strpos($domain_name, '.test') !== false;
@khoipro
khoipro / helpers.php
Last active April 29, 2022 04:04
Video section like Youtube playlist (left large video, right video list)
<?php
function _get_youtube_video_thumbnail_url($video_id) {
return "https://i.ytimg.com/vi/$video_id/hqdefault.jpg";
}
@khoipro
khoipro / hanoi-streets.csv
Last active December 23, 2021 07:49
Example data for importing streets
Hà Nội Quận Ba Đình Phường Phúc Xá Đường An Xá
Hà Nội Quận Ba Đình Phường Trúc Bạch Đường Bắc Sơn
Hà Nội Quận Ba Đình Phường Vĩnh Phúc Đường Bưởi
@khoipro
khoipro / import-quan-huyen-vietnam.php
Created December 16, 2021 09:38
WordPress: Import quận huyện Việt Nam vào taxonomy 'location'.
<?php
/**
* Sử dụng để nhập danh sách quận huyện vào Tỉnh/Thành phố.
* Bạn cần tạo đủ danh sách Tỉnh Thành phố rồi mới chạy phần import này.
* Set trong wp-config.php WP_DEBUG = true và WP_DEBUG_LOG = TRUE, rồi mở file wp-content/debug.log để xem kết quả import từng dòng
*/
/**
* Import district
*