Skip to content

Instantly share code, notes, and snippets.

View alxarch's full-sized avatar

Alexandros Sigalas alxarch

View GitHub Profile
@alxarch
alxarch / transliterate-greek.php
Created November 16, 2011 20:32
Greek transliteration
<?php
/**
* Hackish transliteration rules for greek text.
* @author Alexandros Sigalas <alxarch@gmail.com>
* @license Apache License 2.0
*/
class TransliterateGreek
{
@alxarch
alxarch / cc-proof.php
Created November 16, 2011 20:35
Cascading content proof of concept
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
define('BASE', str_replace('index.php', '', $_SERVER['SCRIPT_NAME']));
define('DS', DIRECTORY_SEPARATOR);
define('WEBDIR', dirname(__FILE__));
function cache($path, $output=null){
@alxarch
alxarch / vector-render.md
Created February 20, 2012 21:18
Vector Render for blender

Vector Render

Current status

Features implemented

Features wishlist

Priorities

@alxarch
alxarch / basex-daemon.sh
Created October 22, 2012 22:04
BaseX startup service script for Debian
#! /bin/sh
### BEGIN INIT INFO
# Provides: skeleton
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: BaseX Server
# Description: Manage BaseX XML Database Server.
### END INIT INFO
var Events = function(){};
Events.prototype = {
events: {},
on: function(eventName, callback, context){
if(!this.events[eventName]){
this.events[eventName] = [];
}
this.events[eventName].push([callback, context || this]);
},
// Improved unset for multiple values.
unset: function(attr, options){
var unset = {}, i, max;
if(typeof attr === 'string'){
return Backbone.Model.prototype.unset.call(this, arguments);
}
if(attr instanceof Array){
for(i = 0, max = attr.length; i < max; i++){
@alxarch
alxarch / numerals.xqm
Last active December 22, 2015 12:59
XQuery numerals module
module namespace num = "http://thinking.gr/modules/numerals";
declare variable $num:valid-greek := "^[ρστυφχψωϠϡͲͳ]?[ικλμνξοπϞϟ]?[αβγδεζηθςϜϝ]$";
declare function num:to-greek($i as xs:integer) as xs:string
{
if($i gt 0 and $i lt 1000) then
let $x100 := op:numeric-integer-divide($i, 100)
let $x10 := op:numeric-integer-divide($i mod 100, 10)
let $x1 := $i mod 10
@alxarch
alxarch / .gitignore
Last active August 29, 2015 14:05
PhantomJS scripts to interact with service.eudoxus.gr
node_modules/
@alxarch
alxarch / tex2mathml.js
Created September 25, 2014 11:42
Hack MathJax to use as a TeX to MathML converter.
MathJax.Hub.Register.MessageHook("End PreProcess", function () {
[].slice.apply(document.querySelectorAll("script[type^=math]")).forEach(function (s) {
var mml = MathJax.InputJax.TeX.Parse(s.innerHTML).mml();
var math = document.createElementNS("http://www.w3.org/1998/Math/MathML", "math");
math.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML");
// tricks toMathML extension
mml.parent = {};
var mathml = mml.toMathML()
math.innerHTML = mathml
@alxarch
alxarch / url.coffee
Created October 8, 2014 11:02
url filters for angular
urlModule = angularModule "url", ["ngRoute"]
class Url
constructor: (@baseUrl) ->
absoluteUrl: (url) ->
unless url.match /^(\w+:)?\/\//
url = "/#{url}" unless url[0] is '/'
url = "#{@baseUrl}#{url}"
url