Skip to content

Instantly share code, notes, and snippets.

View gnanet's full-sized avatar

Gergely Nagy gnanet

  • Self-Employed Freelancer
  • Hungary
  • X @gnanet
View GitHub Profile
@gnanet
gnanet / jessie-acmetool-nginx-postfix-dovecot.md
Last active November 1, 2018 00:57
Let's Encrypt on debian jessie with nginx and SMTP POP3 IMAP with acmetool
@gnanet
gnanet / readme-xs73-postinst.md
Last active September 23, 2019 06:29
Install additional packages on Xenserver 7.3
@gnanet
gnanet / howto-rpi3-wifi-repeater.md
Created January 30, 2018 20:06
Configuring 1 AP + Many wireless connections on Raspberry Pi 3 with One wireless network card
@gnanet
gnanet / wpai-run-imports.sh
Created January 29, 2018 01:17 — forked from onnimonni/wpai-run-imports.sh
Helper bash script which you can use to run wp all import synchronously. This also outputs problems which you may have with wpai.
#!/bin/bash
##
# Script to run WP All Import scripts sychronously with cron
##
# This is default wp core directory for us
ABSPATH="/var/www/project/wp"
function usage()
{
@gnanet
gnanet / easyscp-db-b64pass-decrypt.php
Last active August 22, 2018 22:49
Decrypt a base64-encoded encrypted password used in EasySCP
#!/usr/bin/php
<?php
/*
* Decrypt a base64-encoded encrypted password used in EasySCP
* This version should also work on PHP7.1 where mcrypt is missing
*
* Code is originally taken from an older version of:
* https://github.com/EasySCP/EasySCP/blob/master/gui/include/DB.php
*
@gnanet
gnanet / jessie-acmetool-apache2-postfix-dovecot.md
Last active March 25, 2018 05:18
Let's Encrypt on debian jessie with apache2 and SMTP POP3 IMAP with acmetool
@gnanet
gnanet / gist:8c0781418fce05ba4632255e9d8c3b98
Created September 25, 2017 21:20 — forked from jchristopher/gist:676652d094264a3e8853
find out if there was an exact match of a SearchWP term
<?php
// find out if there was an exact match
global $wpdb;
if ( defined( 'SEARCHWP_DBPREFIX' ) && SEARCHWP_DBPREFIX ) {
$searchwp_terms_table = $wpdb->prefix . SEARCHWP_DBPREFIX . 'terms';
$search_query = sanitize_text_field( get_search_query() );
$search_sql = "SELECT id FROM {$searchwp_terms_table} WHERE term = %s";
$term_found = $wpdb->get_var( $wpdb->prepare( $search_sql, $search_query ) );
$exact_match = is_null( $term_found ) ? false : true;
@gnanet
gnanet / .htaccess
Created September 24, 2017 22:25 — forked from adamzr/.htaccess
Add Link headers to preload content
<IfModule mod_headers.c>
Header add Link "</service-worker.js>; rel=preload;"
Header add Link "</favicon-16x16.png>; rel=preload;"
Header add Link "</favicon-96x96.png>; rel=preload;"
Header add Link "</android-chrome-192x192.png>; rel=preload;"
Header add Link "<https://cdn.ampproject.org/v0.js>; rel=preload; crossorigin"
Header add Link "<https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700|Abril+Fatface>; rel=preload; crossorigin"
Header add Link "<https://cdn.ampproject.org/v0/amp-analytics-0.1.js>; rel=preload; crossorigin"
Header add Link "<https://cdn.ampproject.org/v0/amp-install-serviceworker-0.1.js>; rel=preload; crossorigin"
Header add Link "<https://fonts.gstatic.com/s/abrilfatface/v8/X1g_KwGeBV3ajZIXQ9VnDgYWpCd0FFfjqwFBDnEN0bM.woff2>; rel=preload; crossorigin"
@gnanet
gnanet / critical-css.js
Created September 1, 2017 05:56 — forked from kostasxyz/critical-css.js
Select all elements above the fold and append matched css rules in header
(function () {
document.addEventListener('DOMContentLoaded', function(){
var stylesheets = document.styleSheets;
var wHeight = window.innerHeight;
var criticalCSS = '';
var uniqueRules = [];
var criticalRules = [];
console.log(stylesheets);
@gnanet
gnanet / critical.js
Created September 1, 2017 05:52 — forked from zanonnicola/critical.js
Detecting Critical CSS For Above-the-Fold Content.
(function() {
var CSSCriticalPath = function(w, d, opts) {
var opt = opts || {};
var css = {};
var pushCSS = function(r) {
if(!!css[r.selectorText] === false) css[r.selectorText] = {};
var styles = r.style.cssText.split(/;(?![A-Za-z0-9])/);
for(var i = 0; i < styles.length; i++) {
if(!!styles[i] === false) continue;
var pair = styles[i].split(": ");