Skip to content

Instantly share code, notes, and snippets.

View PascalAnimateur's full-sized avatar

Pascal Martineau PascalAnimateur

View GitHub Profile
@PascalAnimateur
PascalAnimateur / aegir_site_redirect.drush.inc
Created July 18, 2016 17:40
Redirect all public files to sites/$uri/files in Aegir 3.x
<?php
function site_redirect_provision_apache_vhost_config($uri, $data) {
$rval[] = '';
$rval[] = '# Redirect all files public path to sites/$uri/files';
$rval[] = 'RewriteEngine On';
$rval[] = "RewriteCond %{REQUEST_URI} !^/sites/$uri/files";
$rval[] = "RewriteRule ^/sites/[^\/]*/files/(.*)$ /sites/$uri/files/$1 [R=301,L]";
$rval[] = '';
@PascalAnimateur
PascalAnimateur / WebCache.js
Last active April 10, 2016 13:29
Sails WebCache service
/**
* WebCache service.
*/
const crypto = require('crypto');
const fs = require('fs');
const mkdirp = require('mkdirp');
const request = require('request');
const urlParser = require('url');
const zlib = require('zlib');
@PascalAnimateur
PascalAnimateur / bower.js
Created February 22, 2016 13:38
Configure grunt-bower-task with Sails.js (Bootstrap + jQuery as example)
/**
* Task to pull out specific files from bower packages.
*/
module.exports = function (grunt) {
grunt.config.set('bower', {
install: {
options: {
layout: function(type, component) {
return type;
},
@PascalAnimateur
PascalAnimateur / SomeService.js
Created February 1, 2016 00:55
Background process in Sails.js
module.exports = {
shouldRun: true,
startBackgroundProcess: function(){
if(this.shouldRun){
console.log('Doing stuff...');
setTimeout(this.startBackgroundProcess, 1000);
} else {
this.stopBackgroundProcess();
@PascalAnimateur
PascalAnimateur / Place.js
Last active February 22, 2021 20:19
Geospatial example in Sails.js using native MongoDB query
/* Place model */
module.exports = {
attributes: {
name: {
type: 'string',
required: true
},