Portfolio
GW2API
Permalink to “GW2API”GW2API
is a nodeJS module designed to help facilitate communication with the excellent Guild Wars 2 API. It features several convenience methods that chain calls together in order to make more friendly results, as well as an internal storage mechanism to cache the results of calls without much effort.
Example
Permalink to “Example”import { GW2API, Memstore } from "@cthos/gw2-api";
const api = new GW2API();
// Set storage system to RAM if no access to localStorage
api.setStorage(new Memstore());
// Get daily pve achievement names:
const achievements = await api.getDailyAchievements(true); // the true is default, but this will translate the IDs to their objects directly
const achievementNames = achievements.map((a) => a.name);
// Get all character names associated with an account.
await api.setAPIKey("YOUR-TOKEN-GOES-HERE");
api.getCharacters().then(function (res) {
for (var i = 0, len = res.length; i < len; i++) {
// This API call just returns an array of string character names.
console.log(res[i]);
}
});
// Get Character Details
api.getCharacters("Zojja").then(function (res) {
console.log(res);
});
cthos@localhost:/Documents/Code/gw2-api$ node example.js
Getting Daily PVE Achivements:
Daily Kryta Vista Viewer
Daily Queensdale Event Completer
Daily Fractal
Daily Frozen Maw
Daily Maguuma Jungle Lumberer
Gitlab: https://gitlab.com/cthos/gw2-api
NPM: https://www.npmjs.com/package/@cthos/gw2-api
Atom-Gitbook
Permalink to “Atom-Gitbook”atom-gitbook
is an Atom.io package which helps work with Gitbook by providing a sidebar that parses and displays the table of contents, and allows you to manipulate it from the editor.
Github: https://github.com/cthos/atom-gitbook
odt-to-pdf
Permalink to “odt-to-pdf”Because I needed a way to convert odt files to pdf files on the fly (and whenever they were updated in Dropbox), I wrote a quick Dockerfile
to wrap up some common functionality in order to watch a mounted volume.
It uses fswatch to watch the filesystem (using the poll method since inotify generates around 12 calls per Dropbox file change) and a small shell script to invoke Libreoffice's command line.
Github: https://github.com/cthos/odt-to-pdf
Phantom Jetstream
Permalink to “Phantom Jetstream”Phantom Jetstream is a front-end performance testing tool written on top of phantomjs
which provides reporting and metric tracking of various performance statistics. It can be set up to fail with a non-zero exit code if the longest resource load time takes longer than some number of seconds, or if {X} header isn't present or set to a wrong value.
It features a basic event dispatching system that can be used to hook into the checks it is doing.
Github: https://github.com/cthos/phantom-jetstream
Volcano
Permalink to “Volcano”Volcano is an api first billing solution. I've been involved in helping create the SDKs as well as a few different enhancements to the dashboard.
Github: https://github.com/volcano/volcano
Pathfinder Player Toolkit
Permalink to “Pathfinder Player Toolkit”The Pathfinder Player Toolkit is a mobile tool for keeping track of your character in real time.
It is optimized for managing active effects so that you never forget to add the bonus for Bard Song ever again!
Github: https://github.com/cthos/pfpt