Skip to content

Instantly share code, notes, and snippets.


Rati Wannapanop ratiw

  • Nonthaburi, Thailand
View GitHub Profile
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 / 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 /
Last active Aug 29, 2015
Updating and Separating the Homestead folder and Project folder

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 /
Last active Aug 29, 2015
Fresh Install of L5-dev
  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 /home/vagrant/Code/l5-view/public
ratiw /
Last active Aug 29, 2015
How to save your Facebook Lookback video

##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


  • Open another tab and go to your

  • 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 / Using Laravel Elixir on Windows
Created Apr 11, 2015
Using Laravel Elixir on Windows 7/8/8.1
View Using Laravel Elixir on Windows


  • 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! **


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

Instead of doing this

  $p = new PurchasePodcast;

This feels better

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
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 / MyVuetable.vue
Created Mar 14, 2017
MyVuetable -- using `__slot`
View MyVuetable.vue
<div class="ui container">
<div class="vuetable-pagination ui basic segment grid">
<vuetable-pagination-info ref="paginationInfoTop"
<vuetable-pagination ref="paginationTop"
<vuetable ref="vuetable"