Skip to content

Instantly share code, notes, and snippets.

Avatar
🍓
Foraging Berries

Ryan Soury rsoury

🍓
Foraging Berries
View GitHub Profile
@rsoury
rsoury / env-plugin-manager.php
Created Nov 12, 2020
Environment based Plugin Activation for Wordpress Bedrock. Use as a mu-plugin.
View env-plugin-manager.php
<?php
/**
* @package env-plugin-manager
* @version 1.0
*
* Plugin Name: Environment Plugin Manager
* Description: This plugin manages the activation of other plugins based on the website's environment
* Version: 1.0
* Author: Ryan Soury | Web Doodle
@rsoury
rsoury / functions.php
Last active Nov 12, 2020 — forked from jchristopher/functions.php
Integrate Flatsome's live search with SearchWP
View functions.php
<?php
/**
* Standalone function used by Flatesome Search Filter
*
* @param string $search_query
* @param array $args
* @param array $defaults
* @return array
*/
View Wordpress Theme Webpack Boilerplate
const path = require("path");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const StyleLintPlugin = require("stylelint-webpack-plugin");
const FriendlyErrorsPlugin = require("friendly-errors-webpack-plugin");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
const ImageminPlugin = require("imagemin-webpack-plugin").default;
const TerserPlugin = require("terser-webpack-plugin");
const CopyPlugin = require("copy-webpack-plugin");
const { NODE_ENV: mode = "development" } = process.env;
@rsoury
rsoury / smart-react-frame-component.jsx
Last active Feb 7, 2020
React Frame Component + IFrame Resizer -- Resizing outside of React preventing re-rendering on resize. Good for wrapping providers (or wrapping an entire react app) in an IFrame to prevent style inheritance. Works with Create React App.
View smart-react-frame-component.jsx
import React, { useEffect } from "react";
import Frame, { FrameContextConsumer } from "react-frame-component";
import { iframeResize } from "iframe-resizer";
import iFrameResizeContentWindowScript from "!raw-loader!iframe-resizer/js/iframeResizer.contentWindow.min.js"; // eslint-disable-line
const SmartFrame = ({ children, ...props }) => {
const ref = React.createRef();
// Component did mount
useEffect(() => {
@rsoury
rsoury / wordpress-db-shortcode.php
Created Oct 24, 2018
Wordpress shortcode to Access DB Items
View wordpress-db-shortcode.php
function your_shortcode_function( $atts ){
// $atts in case you want to receive attributes
// This lets you set default results for attributes that aren't provided.
$attributes = shortcode_atts(array(
"text" => "some text",
"link" => "Some link"
), $atts);
View async-js-lib-load.js
(function(window, document){
var load = function(){
var script = document.createElement('script');
script.async = true;
script.type = 'text/javascript';
script.src = 'THE_SOURCE_OF_JS_LIB_HERE.js';
var firstScript = document.getElementsByTagName('script')[0];
firstScript.parentNode.insertBefore(script, firstScript);
};
if(document.readyState === "complete"){
View ryan-sublime-bindings.json
[
{ "keys": ["super+shift+o"], "command": "prompt_add_folder" },
{ "keys": ["/"], "command": "close_tag", "args": { "insert_slash": true }, "context":
[
{ "key": "selector", "operator": "equal", "operand": "(text.html, text.xml, meta.jsx.js) - string - comment", "match_all": true },
{ "key": "preceding_text", "operator": "regex_match", "operand": ".*<$", "match_all": true },
{ "key": "setting.auto_close_tags" }
]
},
{"keys": ["alt+shift+f"], "command": "reindent", "args": {"single_line": false}}
@rsoury
rsoury / getVideoId.js
Last active Apr 2, 2017
Get Video Id - Youtube, Vimeo, Vine, VideoPress
View getVideoId.js
/**
* Get the vimeo id.
* @param {string} str - the url from which you want to extract the id
* @returns {string|undefined}
*/
function vimeo(str) {
if (str.indexOf('#') > -1) {
str = str.split('#')[0];
}
var id;
@rsoury
rsoury / salesforce_sales_referral.html
Last active Nov 29, 2016
Referral Link For Sales Force Web To Lead
View salesforce_sales_referral.html
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.1.3/js.cookie.min.js"></script>
<script type="text/javascript">
(function($){
var getParameterByName = function(name, url) {
if (!url) {
url = window.location.href;
}
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
@rsoury
rsoury / htmlinjector.js
Last active Aug 10, 2016
Node Code Injection for HTML5/FTP website. Requires Backup of original for resets. Made for ZipMoney.
View htmlinjector.js
import fs from 'fs';
import finder from 'fs-finder';
import cheerio from 'cheerio';
import colors from 'colors';
import S from 'string';
//To refresh target folder, rm -rf target, mkdir target, cp -a backup/. target
// npm Script: "reset": "rm -rf target && mkdir target && cp -a backup/. target" -> npm run reset
console.log('Starting node Widgeter Script...'.green);