Skip to content

Instantly share code, notes, and snippets.


Thomas Schoffelen tschoffelen

View GitHub Profile
tschoffelen / export-roam-note.js
Created Mar 5, 2021
Little tool I built for myself to export roam notes.
View export-roam-note.js
window.exportRoamNote = async () => {
const noteId = Math.round(Math.random()*10000) + '';
const body = $('.roam-body .roam-app .roam-main .roam-article')[0].innerHTML;
const boxUrl = ''
+ 'production/box/get-url?filename='+noteId+'&'
+ 'contentType=text%2Fplain';
const res = await fetch(boxUrl, {method: 'GET' });
const {key, url} = await res.json();
await fetch(url, {
tschoffelen / frontend_uploader-utils.js
Last active Jul 25, 2020
Example of uploading files to S3 via signed URLs.
View frontend_uploader-utils.js
// Frontend uploader example
// URL for your lambda function
const backendUrl = ""
// Accepts a File object here, for example from
// a <input type="file"> or drag and drop action
const uploadFile = (file) => {
const filename = encodeURIComponent(
const type = encodeURIComponent(file.type)
tschoffelen /
Last active May 30, 2020
Some of my personal Git utility bash commands.

Git utilities

A set of personal bash commands that help me with day-to-day Git operations.


Checkout and pull the master branch from origin.

feat <my-new-feature>

Checkout a new feature branch in the form of feat/my-new-feature from master.

tschoffelen /
Last active Apr 9, 2018
Spec for dashboard files for the Dashbored app for Apple TV.

Dashbored file specification

Dashboard files for the Dashbored app for Apple TV and iPhone are JSON files with a certain structure.

A dashboard file should be a JSON object with at least the keys title and sections, and optionally the key theme.


The title key should always exist and contain a string value of the title you want displayed at the top of the dashboard.

tschoffelen / dashboard.json
Last active Apr 9, 2018
Example dashboard JSON for the Dashbored app for Apple TV.
View dashboard.json
"title": "Our chicken farm",
"theme": {
"dashboardBackgroundColor": "green",
"dashboardBackgroundImage": "",
"dashboardTitleColor": "#ffffff",
"headerColor": "#666",
"textColor": "#121212",
"backgroundColor": "#ffffff",
"borderRadius": 10,
View dribbble-shots.php
// Set username
$username = 'tschoffelen';
// Get page contents
$content = file_get_contents('' . $username . '?page=1&per_page=12');
// Parse page content into $shots array
$shots = [];
tschoffelen / webpack.config.js
Last active Sep 27, 2018
Tricking PHPStorm in supporting React Native path aliases.
View webpack.config.js
* Why is this here you ask? React Native doesn't use Webpack. True. This file is here to trick
* IDEA in recognizing module aliases (see the package.json files in some of the subdirs).
* Nice solution? No. Does it work? Sure.
* Tracker URL:
* - TS
const fs = require('fs')
tschoffelen / install.php
Last active Aug 3, 2022
A simple PHP script that automatically downloads and unzips the latest version of Wordpress in the current directory (./), so that I don't have to download it and upload it to my server through FTP manually.
View install.php
echo '<pre>';
echo '<span style="color:blue">DOWNLOADING...</span>'.PHP_EOL;
// Download file
file_put_contents('', file_get_contents(''));
$zip = new ZipArchive();
$res = $zip->open('');
if ($res === TRUE) {
View WSSoapClient.php
* This class can add WSSecurity authentication support to SOAP clients
* implemented with the PHP 5 SOAP extension.
* It extends the PHP 5 SOAP client support to add the necessary XML tags to
* the SOAP client requests in order to authenticate on behalf of a given
* user with a given password.