Skip to content

Instantly share code, notes, and snippets.

View enyo's full-sized avatar
🙌
Primarily working on Pausly

Matias Meno enyo

🙌
Primarily working on Pausly
View GitHub Profile
@enyo
enyo / preloader.js
Last active March 15, 2024 13:42
Preloading images with jQuery
/**
* Preloads the image, and invokes the callback as soon
* as the image is loaded.
*/
var preload = function(src, callback) {
// Create a temporary image.
var img = new Image();
// Invoke the callback as soon as the image is loaded
// Has to be set **before** the .src attribute. Otherwise
@enyo
enyo / web-components.ts
Last active June 23, 2023 22:46
Svelte Web Components
import HeaderMenu from './lib/components/HeaderMenu.svelte'
import type { SvelteComponent } from 'svelte'
customElements.define(
// I recommend prefixing your custom elements, but for this example
// I'm keeping it simple.
'header-menu',
class extends HTMLElement {
_element: SvelteComponent;
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
@enyo
enyo / event-target.ts
Created October 8, 2022 15:45
TypeScript TypedEventTarget
/**
* Implements the EventTarget, but with type safety.
*
* Extend this class with an object that describes your events like this:
*
* type AccountEvents = {
* logout: null
* 'sign-in': { username: string; password: string }
* }
* class Account extends TypedEventTarget<AccountEvents> {
import commonjs from '@rollup/plugin-commonjs'
import resolve from '@rollup/plugin-node-resolve'
import typescript from '@rollup/plugin-typescript'
import svelte from 'rollup-plugin-svelte'
import { terser } from 'rollup-plugin-terser'
import sveltePreprocess from 'svelte-preprocess'
const production = !process.env.ROLLUP_WATCH
export default {
<!-- HTML heavily inspired by http://blueimp.github.io/jQuery-File-Upload/ -->
<div class="table table-striped" class="files" id="previews">
<div id="template" class="file-row">
<!-- This is used as the file preview template -->
<div>
<span class="preview"><img data-dz-thumbnail /></span>
</div>
<div>
<p class="name" data-dz-name></p>
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
@enyo
enyo / deploy.yaml
Last active October 14, 2021 17:21
jobs:
build:
# ...
test:
# ...
deploy:
# Only run if merged to main.
if: github.ref == 'refs/heads/main'
# Only deploy if all tests passed.
@enyo
enyo / build.yaml
Last active October 14, 2021 17:20
jobs:
build:
# We're running on ubuntu-latest, nothing special
runs-on: ubuntu-latest
steps:
# As usual, we simply checkout the project
- name: Checkout
uses: actions/checkout@v2
# This action is provided by Cypress. It installs node and the NPM
@enyo
enyo / test.yaml
Last active October 14, 2021 17:20
jobs:
build:
# Everything from the last section
test:
# We depend on the build step for this.
needs: build
timeout-minutes: 15
runs-on: ubuntu-latest
# We need to use the cypress container here, that includes chrome and