Skip to content

Instantly share code, notes, and snippets.

Working from home

Rian Ariona ariona

Working from home
View GitHub Profile
ariona / .gitlab-ci.yml
Last active August 8, 2022 01:52
Deploying Next.js App to GitLab pages
View .gitlab-ci.yml
image: node
- npm install --force
- node_modules/
- .next/cache/
ariona / package.json
Created October 21, 2020 12:02
Frontend Dev starter for non JS Framework
View package.json
"name": "mandiri-syariah",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"dev": "concurrently 'browser-sync start --server --watch' 'postcss ./source/tailwind.css -o ./assets/css/style.css -w'",
"build": "NODE_ENV=production postcss ./source/tailwind.css -o ./assets/css/style.css"
"devDependencies": {
ariona / function.php
Last active October 13, 2020 21:59
Fix CORS issue on WP REST API
View function.php
// ....
add_action('rest_api_init', function() {
remove_filter('rest_pre_serve_request', 'rest_send_cors_headers');
}, 15);
ariona / index.js
Created October 9, 2020 10:43
toBase64 from URL
View index.js
/* make sure the target URL CORS is allowed */
function toDataUrl(url, callback) {
var xhr = new XMLHttpRequest();
xhr.onload = function() {
var reader = new FileReader();
reader.onloadend = function() {
ariona / axios.js
Last active October 25, 2020 22:07
Authenticate WooCommerce RestAPI with oAuth 1.0a
View axios.js
import OAuth from 'oauth-1.0a';
import CryptoJS from 'crypto-js';
// Consumer Key
const ck = "ck_c7796f3a7c4eaedde188c78107cd907a41944ac6";
// Consumer Secret
const cs = "cs_d7a23c04e4c1939fb38fd966ea16be0dced185de";
const oauth = OAuth({
ariona / index.js
Created July 18, 2020 12:45
Async function inside loop
View index.js
(async () => {
await Promise.all(Array.from(
{ length: 5 },
(_, i) => new Promise(res => setTimeout(() => {
}, i * 1000))
console.log("loop/timeout is done executing");
View filter-keys.js
function isCharacterKeyPress(evt) {
if (typeof evt.which == "undefined") {
// This is IE, which only fires keypress events for printable keys
return true;
} else if (typeof evt.which == "number" && evt.which > 0) {
// In other browsers except old versions of WebKit, evt.which is
// only greater than zero if the keypress is a printable key.
// We need to filter out backspace and ctrl/alt/meta key combinations
return !evt.ctrlKey && !evt.metaKey && !evt.altKey && evt.which != 8;
ariona / Waktu Sholat Arah
Created June 28, 2018 04:39 — forked from siswadi/Waktu Sholat Arah
Waktu Sholat & Arah Kiblat w/ HTTP/JSON API
View Waktu Sholat Arah

Waktu Sholat & Arah Kiblat

Informasi Waktu
ariona /
Last active June 26, 2018 08:07 — forked from anchetaWern/
web scraping in php

Have you ever wanted to get a specific data from another website but there's no API available for it? That's where Web Scraping comes in, if the data is not made available by the website we can just scrape it from the website itself.

But before we dive in let us first define what web scraping is. According to Wikipedia:

Web scraping (web harvesting or web data extraction) is a computer software technique of extracting information from websites. Usually, such software programs simulate human exploration of the World Wide Web by either implementing low-level Hypertext Transfer Protocol (HTTP), or embedding a fully-fledged web browser, such as Internet Explorer or Mozilla Firefox.

So yes, web scraping lets us extract information from websites. But the thing is there are some legal issues regarding web scraping.

ariona / slideDown.js
Created January 24, 2018 14:40 — forked from ludder/slideDown.js
Vanilla JavaScript slideUp and slideDown functions
View slideDown.js
Element to slide gets the following CSS:
max-height: 0;
opacity: 0;
overflow: hidden;
transition: max-height 0.4s ease 0s;
* Like jQuery's slideDown function - uses CSS3 transitions