Skip to content

Instantly share code, notes, and snippets.

View timmyomahony's full-sized avatar

Timmy O'Mahony timmyomahony

View GitHub Profile
@timmyomahony
timmyomahony / nginx.conf
Created June 26, 2011 13:29
Python, UWSGI, Supervisor & Nginx
upstream uwsgi {
ip_hash;
server 127.0.0.1:40000;
}
server {
listen 80;
server_name www.domain.com;
root /sites/mysite/;
access_log /sites/mysite/log/nginx/access.log;
@timmyomahony
timmyomahony / widget.py
Created January 20, 2020 12:02
Example MathJax with Django Pagedown
from pagedown.widget import PagedownWidget
from django import forms
from django.contrib.admin import widgets
class MathJaxAdminPagedownWidget(PagedownWidget, widgets.AdminTextareaWidget):
class Media:
css = {
'all': ('pagedown/demo/browser/demo.css',
@timmyomahony
timmyomahony / api.js
Last active January 19, 2020 18:26
An Ember Ajax service that works with Ember Simple Auth
// see https://timmyomahony.com/blog/ember-ajax-and-ember-simple-auth/
import AjaxService from 'ember-ajax/services/ajax';
import ENV from 'connected-insight/config/environment';
import {inject as service} from '@ember/service';
import {computed} from '@ember/object';
export default AjaxService.extend({
session: service(),
host: ENV.serverHost,
authorizer: 'authorizer:token',
import Ember from 'ember';
export default Ember.Component.extend({
tagName: "section",
page: 1,
paginateBy: 10,
paginatedItems: Ember.computed('amenities', 'page', function(){
var i = (parseInt(this.get('page')) - 1) * parseInt(this.get('paginateBy'));
var j = i + parseInt(this.get('paginateBy'));
return this.get('items').slice(i, j);
@timmyomahony
timmyomahony / extra_cms_tags.py
Last active March 5, 2019 12:33
A template tag for `django-cms` that allows a placeholder to be rendered and placed in a context variable so that the placeholder can be conditionally loaded. This code was originally submitted on the `django-cms` Google Group by Benoit Domingue: https://groups.google.com/forum/#!topic/django-cms/WDUjIpSc23c/discussion
from classytags.arguments import Argument, MultiValueArgument
from classytags.values import StringValue
from cms.templatetags.cms_tags import Placeholder, PlaceholderOptions
from cms.models.placeholdermodel import Placeholder as PlaceholderModel
from django import template
from django.utils.safestring import mark_safe
register = template.Library()
@timmyomahony
timmyomahony / readme.md
Last active November 23, 2018 17:49
Making Ember addons FastBoot 1.0 compatible

Converting addons to Fastboot v1.0

Fastboot is currently transitioning to version 1.0 which introduces some breaking changes. The most pressing issue is that the approach previously suggested for handling dependencies in addons has changed.

This post has a bit of background of how Ember CLI and addons work followed by some details on how to migrate addons to the new Fastboot v1.0 structure.

How dependencies are manager for Ember projects (not addons)

TODO: basic package.json, bower.json, ember install and ember-cli-build.js/app.import

@timmyomahony
timmyomahony / postprocess_sekizai.py
Created October 25, 2011 01:11
django-sekizai postprocessor for enabling django-compressor compatibility
"""
Get django-sekizai, django-compessor (and django-cms) playing nicely together
re: https://github.com/ojii/django-sekizai/issues/4
using: https://github.com/jezdez/django_compressor.git
and: https://github.com/ojii/django-sekizai.git@0.5
"""
from compressor.templatetags.compress import CompressorNode
from django.template.base import *
def compress(data, name):
@timmyomahony
timmyomahony / components.drag-box.js
Last active April 24, 2018 10:58
Draggable Ember Component
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['drag-box'],
attributeBindings: ['draggable'],
draggable: true,
x: 0,
y: 0,
positionChanged: Ember.observer('x', 'y', function(){
this.$().css({
@timmyomahony
timmyomahony / controller.js
Created February 26, 2018 20:20
Example Angular form
$scope.submitForm = function(isValid) {
if ($scope.userForm.$valid) {
alert('Thank you for registering');
location.reload();
} else {
alert('Error registering');
}
}
@timmyomahony
timmyomahony / app.py
Last active December 5, 2017 12:43
Getting Flask and MySQL set up
from flask import Flask, jsonify
from flask_mysqldb import MySQL
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'testtest1234'
app.config['MYSQL_DB'] = 'test_db'
mysql = MySQL(app)