This guide is unmaintained and was created for a specific workshop in 2017. It remains as a legacy reference. Use at your own risk.
Workshop Instructor:
- Lilly Ryan @attacus_au
This workshop is distributed under a CC BY-SA 4.0 license.
<?php | |
function clearjunk($file) { | |
$content = file_get_contents($file); | |
$content = preg_replace('/\s*eval\(base64_decode\("[^"]+"\)\);\s*/i', ' ', $content); | |
file_put_contents($file, $content); | |
} | |
function readfolder($dir) | |
{ | |
if (is_dir($dir)) { |
# Facade to work with "Gimite web socket" library | |
# | |
# Copyright (coffee) 2009-2012 [Vyacheslav Voronchuk](mailto:[email protected]), [Web management software](http://wm-software.com) | |
# License: see project's LICENSE file | |
# Date: 08.08.12 | |
Ext.define 'SSP.view.mixin.Websockets' | |
# Websocket thread object | |
# * __var__ - WebSocket | |
ws: null | |
# Storage for Websocket listeners |
<?php | |
/** | |
* WordCount validator for strings. | |
* | |
* @link http://github.com/zendframework/zf2 for the canonical source repository | |
* @copyright Copyright (c) 2009-2013 Vyacheslav Voronchuk (http://www.wm-software.com) | |
* @license http://framework.zend.com/license/new-bsd New BSD License | |
*/ | |
namespace Application\Validator; |
# Previewer for image uploading | |
handleFileSelect = (evt) -> | |
files = evt.target.files | |
# Loop through the FileList and render image files as thumbnails. | |
for f in files | |
if !f.type.match 'image.*' then continue | |
output = $(evt.target).parent().siblings('output').find('.js-image-preview') | |
reader = new FileReader() |
description "Meteor.js (NodeJS) application" | |
author "Viacheslav Voronchuk <[email protected]>" | |
# When to start the service | |
start on started mongodb and runlevel [2345] | |
# When to stop the service | |
stop on shutdown | |
# Automatically restart process if crashed (we use forever for that) |
# This file can be used manually to start Meteor Node.js server, but it's also used by /etc/init/starbuildr.com daemon | |
export METEOR_PROJECT=starbuildr.com | |
export METEOR_DB_NAME=starbuildr_com | |
export METEOR_PROJECT_DIR=/home/web/starbuildr | |
export PORT=8090 | |
export PATH=/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | |
export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript | |
# set to home directory of the user Meteor will be running as |
#! /bin/sh | |
# First argument is the name of .json file with settings for this site | |
export PROJECT_DIR=~/Dropbox/Projects/starbuildr | |
export PROJECT_NAME=starbuildr | |
export SERVER_DIR=/home/web/starbuildr | |
export SSH_HOST=$1 | |
export SSH_USER=web | |
export SERVICE_NAME=$1 |
FROM erlang:18 | |
MAINTAINER Vyacheslav Voronchuk <[email protected]> | |
# elixir expects utf8. | |
ENV ELIXIR_VERSION="v1.2.5" \ | |
LANG=C.UTF-8 | |
RUN set -xe \ | |
&& ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/releases/download/${ELIXIR_VERSION}/Precompiled.zip" \ |
This guide is unmaintained and was created for a specific workshop in 2017. It remains as a legacy reference. Use at your own risk.
Workshop Instructor:
This workshop is distributed under a CC BY-SA 4.0 license.
const webpack = require('webpack'); | |
const path = require('path'); | |
const glob = require('glob'); | |
const merge = require('webpack-merge'); | |
const ClosurePlugin = require('closure-webpack-plugin'); | |
const MiniCssExtractPlugin = require('mini-css-extract-plugin'); | |
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin'); | |
const CopyWebpackPlugin = require('copy-webpack-plugin'); | |
const MergeIntoSingleFilePlugin = require('webpack-merge-and-include-globally'); |