This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
# For Bundler.with_clean_env | |
require 'bundler/setup' | |
require 'rake' | |
PACKAGE_NAME = 'pathos_gui' | |
VERSION = '1.0.0' | |
TRAVELING_RUBY_RELEASE = '20241122' | |
RUBY_VERSION = '3.2.6' unless ENV['RUBY_VERSION'] | |
TRAVELING_RUBY_VERSION = "#{TRAVELING_RUBY_RELEASE}-#{RUBY_VERSION}" | |
# TRAVELING_RUBY_VERSION = "20150210-2.1.5" |
require 'fileutils' | |
class Ruby2Pack | |
attr_reader :source_path, :ruby_version, :platform, :rel, :output_path | |
def initialize(source_path:, ruby_version:, platform:, rel:) | |
@source_path = source_path | |
@ruby_version = ruby_version | |
@platform = platform | |
@rel = rel |
#lang racket/base | |
; One way to define a logger | |
(define lg (make-logger 'my-logger)) | |
; Define a receiver for this logger, along with a log level | |
(define rc (make-log-receiver lg 'error)) ; also try with 'debug | |
; Another way to define a logger, with additional forms | |
(define-logger lg2) | |
(define rc2 (make-log-receiver lg2-logger 'debug)) |
#lang racket | |
(provide solve) | |
(define (solve puzzle) | |
(define words (regexp-split #rx"==|[+]" (string-replace puzzle " " ""))) | |
(define number-set (range 10)) | |
(define individual-letters |
{ | |
"diagnostics.globals": [ | |
"vim", | |
"describe", | |
"it", | |
"pending", | |
"before_each", | |
"after_each" | |
] | |
} |
<template> | |
<div id="app"> | |
<router-view></router-view> | |
<div class="refresh-container" v-if="hashChanged && $root.env !== 'development'"> | |
<div class="notification-header"> | |
<button type="button" class="close-refresh-modal" @click="closeModal" aria-label="Close"> | |
<span aria-hidden="true"><i class="fal fa-times fa-sm"></i></span> | |
</button> | |
</div> | |
<div class="notification-body"> |
import axios from 'axios'; | |
export const refreshPageMixin = { | |
data() { | |
return { | |
currentHash: '{{POST_BUILD_ENTERS_HASH_HERE}}', | |
token: localStorage.getItem('user-token'), | |
hashChanged: false, | |
newHash: '' | |
} |
{ | |
"scripts": { | |
"build": "node build/build.js && npm run post:build", | |
"post:build": "node build/post-build.js" | |
}, | |
} |
const path = require('path'); | |
const fs = require('fs'); | |
const util = require('util'); | |
// get application version from package.json | |
const appVersion = require('../package.json').version; | |
// promisify core APIs | |
const readDir = util.promisify(fs.readdir); | |
const writeFile = util.promisify(fs.writeFile); |