Skip to content

Instantly share code, notes, and snippets.


Thomas Schoffelen tschoffelen

View GitHub Profile
tschoffelen / export-roam-note.js
Created March 5, 2021 09:52
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 July 25, 2020 20:54
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 22:55
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 April 9, 2018 12:38
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 April 9, 2018 12:32
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 September 27, 2018 09:21
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 March 23, 2023 12:18
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.