Skip to content

Instantly share code, notes, and snippets.

Avatar

Rati Wannapanop ratiw

  • Nonthaburi, Thailand
View GitHub Profile
@ratiw
ratiw / makeAttributes.js
Last active Aug 29, 2015
Combine associative array into html attributes or query string
View makeAttributes.js
function makeAttributes(arr, connector, separator) {
var out = '';
if (!connector) connector = '=';
if (!separator) separator = ' ';
for (var k in arr) {
out += (out === '') ? '' : separator;
out += k + connector + arr[k];
}
@ratiw
ratiw / str_replace.js
Last active Aug 29, 2015
javascript str_replace
View str_replace.js
function str_replace(search, replace, subject) {
var result = subject;
for (var i = 0; i < search.length; i++) {
result = result.replace(search[i], replace[i]);
}
return result;
}
@ratiw
ratiw / update-homestead.md
Last active Aug 29, 2015
Updating and Separating the Homestead folder and Project folder
View update-homestead.md

My homestead VM used to be in D:\www\Homestead and all projects lived inside its folder. I want to update homestead to the updated version and separate my projects to a new folder (e.g. D:\www\projects), so that I do not acidentally delete them when I need to delete Homestead folder.

  1. Update Homestead box. From command prompt, run

    vagrant box update
    
  2. Create a new folder for Projects. (D:\www\projects)

@ratiw
ratiw / install-l5-dev.md
Last active Aug 29, 2015
Fresh Install of L5-dev
View install-l5-dev.md
  1. Create new project
composer create-project laravel/laravel l5-view dev-develop

l5-view is the project folder name.

  1. Add new project site to nginx
serve l5-view.app /home/vagrant/Code/l5-view/public
@ratiw
ratiw / save-facebook-lookback-video.md
Last active Aug 29, 2015
How to save your Facebook Lookback video
View save-facebook-lookback-video.md

##How to save your Facebook Lookback video #####ratiw (Jan. 1, 2015)

  • You need to use Google Chrome Browser
  • Open a new tab in Chrome and type the following in the address bar

chrome://cache

  • Open another tab and go to your www.facebook.com/lookback

  • Select HD quality by clicking at the HD icon on the lower-right of the video and let the video play for a few seconds, then switch back to previous tab (the chrome://cache)

View jquery-plugin-boilerplate.js
/*!
* jQuery lightweight plugin boilerplate
* Original author: @ajpiano
* Further changes, comments: @addyosmani
* Licensed under the MIT license
*/
// the semi-colon before the function invocation is a safety
// net against concatenated scripts and/or other plugins
// that are not closed properly.
@ratiw
ratiw / Using Laravel Elixir on Windows 7_8_8.1.md
Created Apr 11, 2015
Using Laravel Elixir on Windows 7/8/8.1
View Using Laravel Elixir on Windows 7_8_8.1.md

Setup

  • Windows 7/8/8.1
  • Git (git-scm with Git Bash)
  • Fresh install of Laravel 5.0

** Do not install Elixir from within Homestead. It will not work! **

Steps

  • Run Git Bash
  • cd to the project directory
@ratiw
ratiw / Use static function to call internal function.md
Last active Apr 13, 2016
Use static function to call internal function
View Use static function to call internal function.md

Instead of doing this

  $p = new PurchasePodcast;
  $p->handle();

This feels better

  PurchasePodcast::perform();
@ratiw
ratiw / RunningNumberGenerator.php
Last active Oct 21, 2016
Make new running number (e.g. doc no., invoice no.) based on the given pattern and the last number.
View RunningNumberGenerator.php
<?php
namespace App;
class InvalidPatternException extends \Exception {}
/**
* Pattern is enclosed in the open and close delimiter
* The default open delimter is {
* The default close delimiter is }
*
@ratiw
ratiw / MyVuetable.vue
Created Mar 14, 2017
MyVuetable -- using `__slot`
View MyVuetable.vue
<template>
<div class="ui container">
<div class="vuetable-pagination ui basic segment grid">
<vuetable-pagination-info ref="paginationInfoTop"
></vuetable-pagination-info>
<vuetable-pagination ref="paginationTop"
@vuetable-pagination:change-page="onChangePage"
></vuetable-pagination>
</div>
<vuetable ref="vuetable"