Added themes directory, improved javascript load and minification.

This commit is contained in:
Brandon Mathis
2011-06-07 16:12:46 -04:00
parent 6cba214513
commit aa23061624
62 changed files with 3729 additions and 1 deletions

View File

@ -0,0 +1,397 @@
---
layout: default
layout: page
nometa: true
title: Syntax Highlighting Debug
---
<h3 class="filename">gist_syntax_test.rb</h3>
{% gist 996818 test.rb %}
<h3 class="filename">syntax_test.diff</h3>
{% highlight diff %}
@@ -590,7 +590,7 @@ class SpritesTest < Test::Unit::TestCase
it "should generate a sprite from nested folders" do
css = render <<-SCSS
- @import "nested/*.png";
+ @import "nested/**/*.png";
@include all-nested-sprites;
SCSS
assert_correct css, <<-CSS
{% endhighlight %}
<h3 class="filename">syntax_test.html</h3>
{% highlight html %}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>A Tiny Page</title>
<style type="text/css">
<!--
p { font-size:15pt; color:#000 }
-->
</style></head><!-- real comment -->
<body bgcolor="#FFFFFF" text="#000000" link="#0000CC">
<script language="javascript" type="text/javascript">
function changeHeight(h) {
var tds = document.getElementsByTagName("td");
for(var i = 0; i < tds.length; i++) {
tds[i].setAttribute("height", h + "px");
}}
</script>
<h1>abc</h1>
<h2>def</h2>
<p>Testing page</p>
</body></html>
{% endhighlight %}
<h3 class="filename">syntax_test.js</h3>
{% highlight js %}
/**
sample javascript from xui
*/
var undefined,
xui,
window = this,
string = new String('string'),
document = window.document,
simpleExpr = /^#?([\w-]+)$/,
idExpr = /^#/,
tagExpr = /<([\w:]+)/,
slice = function (e) { return [].slice.call(e, 0); };
try { var a = slice(document.documentElement.childNodes)[0].nodeType; }
catch(e){ slice = function (e) { var ret=[]; for (var i=0; e[i]; i++)
ret.push(e[i]); return ret; }; }
window.x$ = window.xui = xui = function(q, context) {
return new xui.fn.find(q, context);
};
{% endhighlight %}
<h3 class="filename">syntax_test.rb</h3>
{% highlight ruby %}
include Enumerable
def initialize(rbconfig)
@rbconfig = rbconfig
@no_harm = false
end
def load_savefile
begin
File.foreach(savefile()) do |line|
k, v = *line.split(/=/, 2)
self[k] = v.strip
end
rescue Errno::ENOENT
setup_rb_error $!.message + "\n#{File.basename($0)} config first"
end
end
if c['rubylibdir']
# V > 1.6.3
libruby = "#{c['prefix']}/lib/ruby"
siterubyverarch = c['sitearchdir']
end
parameterize = lambda {|path|
path.sub(/\A#{Regexp.quote(c['prefix'])}/, '$prefix')
}
if arg = c['configure_args'].split.detect {|arg| /--with-make-prog=/ =~ arg }
makeprog = arg.sub(/'/, '').split(/=/, 2)[1]
else
makeprog = 'make'
end
def setup_rb_error(msg)
raise SetupError, msg
end
if $0 == __FILE__
begin
ToplevelInstaller.invoke
rescue SetupError
raise if $DEBUG
$stderr.puts $!.message
$stderr.puts "Try 'ruby #{$0} --help' for detailed usage."
exit 1
end
end
{% endhighlight %}
<h3 class="filename">syntax_test.php</h3>
{% highlight php %}
<?php
require_once($GLOBALS['g_campsiteDir']. "/$ADMIN_DIR/country/common.php");
require_once($GLOBALS['g_campsiteDir']. "/classes/SimplePager.php");
camp_load_translation_strings("api");
$f_country_language_selected = camp_session_get('f_language_selected', '');
$f_country_offset = camp_session_get('f_country_offset', 0);
if (empty($f_country_language_selected)) {
$f_country_language_selected = null;
}
$ItemsPerPage = 20;
$languages = Language::GetLanguages(null, null, null, array(), array(), true);
$numCountries = Country::GetNumCountries($f_country_language_selected);
$pager = new SimplePager($numCountries, $ItemsPerPage, "index.php?");
$crumbs = array();
$crumbs[] = array(getGS("Configure"), "");
$crumbs[] = array(getGS("Countries"), "");
echo camp_html_breadcrumbs($crumbs);
?>
<?php if ($g_user->hasPermission("ManageCountries")) { ?>
<table BORDER="0" CELLSPACING="0" CELLPADDING="1">
<tr>
<td><a href="add.php"><?php putGS("Add new"); ?></a></td>
</tr>
</table>
{% endhighlight %}
<h3 class="filename">syntax_test.hs</h3>
{% highlight hs %}
{-# LANGUAGE OverloadedStrings #-}
module Main where
--import Prelude hiding (id)
--import Control.Category (id)
import Control.Arrow ((>>>), (***), arr)
import Control.Monad (forM_)
-- import Data.Monoid (mempty, mconcat)
-- import System.FilePath
import Hakyll
main :: IO ()
main = hakyll $ do
route "css/*" $ setExtension "css"
compile "css/*" $ byExtension (error "Not a (S)CSS file")
[ (".css", compressCssCompiler)
, (".scss", sass)
]
route "js/**" idRoute
compile "js/**" copyFileCompiler
route "img/*" idRoute
compile "img/*" copyFileCompiler
compile "templates/*" templateCompiler
forM_ ["test.md", "index.md"] $ \page -> do
route page $ setExtension "html"
compile page $ pageCompiler
>>> applyTemplateCompiler "templates/default.html"
>>> relativizeUrlsCompiler
sass :: Compiler Resource String
sass = getResourceString >>> unixFilter "sass" ["-s", "--scss"]
>>> arr compressCss
{% endhighlight %}
<h3 class="filename">syntax_test.sh</h3>
{% highlight sh %}
#!/bin/bash
cd $ROOT_DIR
DOT_FILES="lastpass weechat ssh Xauthority"
for dotfile in $DOT_FILES; do conform_link "$DATA_DIR/$dotfile" ".$dotfile"; done
# TODO: refactor with suffix variables (or common cron values)
case "$PLATFORM" in
linux)
#conform_link "$CONF_DIR/shell/zshenv" ".zshenv"
crontab -l > $ROOT_DIR/tmp/crontab-conflict-arch
cd $ROOT_DIR/$CONF_DIR/cron
if [[ "$(diff ~/tmp/crontab-conflict-arch crontab-current-arch)" == ""
]];
then # no difference with current backup
logger "$LOG_PREFIX: crontab live settings match stored "\
"settings; no restore required"
rm ~/tmp/crontab-conflict-arch
else # current crontab settings in file do not match live settings
crontab $ROOT_DIR/$CONF_DIR/cron/crontab-current-arch
logger "$LOG_PREFIX: crontab stored settings conflict with "\
"live settings; stored settings restored. "\
"Previous settings recorded in ~/tmp/crontab-conflict-arch."
fi
;;
{% endhighlight %}
<h3 class="filename">syntax_test.py</h3>
{% highlight py %}
# test python (sample from offlineimap)
class ExitNotifyThread(Thread):
"""This class is designed to alert a "monitor" to the fact that a thread has
exited and to provide for the ability for it to find out why."""
def run(self):
global exitthreads, profiledir
self.threadid = thread.get_ident()
try:
if not profiledir: # normal case
Thread.run(self)
else:
try:
import cProfile as profile
except ImportError:
import profile
prof = profile.Profile()
try:
prof = prof.runctx("Thread.run(self)", globals(), locals())
except SystemExit:
pass
prof.dump_stats( \
profiledir + "/" + str(self.threadid) + "_" + \
self.getName() + ".prof")
except:
self.setExitCause('EXCEPTION')
if sys:
self.setExitException(sys.exc_info()[1])
tb = traceback.format_exc()
self.setExitStackTrace(tb)
else:
self.setExitCause('NORMAL')
if not hasattr(self, 'exitmessage'):
self.setExitMessage(None)
if exitthreads:
exitthreads.put(self, True)
def setExitCause(self, cause):
self.exitcause = cause
def getExitCause(self):
"""Returns the cause of the exit, one of:
'EXCEPTION' -- the thread aborted because of an exception
'NORMAL' -- normal termination."""
return self.exitcause
def setExitException(self, exc):
self.exitexception = exc
def getExitException(self):
"""If getExitCause() is 'EXCEPTION', holds the value from
sys.exc_info()[1] for this exception."""
return self.exitexception
def setExitStackTrace(self, st):
self.exitstacktrace = st
def getExitStackTrace(self):
"""If getExitCause() is 'EXCEPTION', returns a string representing
the stack trace for this exception."""
return self.exitstacktrace
def setExitMessage(self, msg):
"""Sets the exit message to be fetched by a subsequent call to
getExitMessage. This message may be any object or type except
None."""
self.exitmessage = msg
def getExitMessage(self):
"""For any exit cause, returns the message previously set by
a call to setExitMessage(), or None if there was no such message
set."""
return self.exitmessage
{% endhighlight %}
<h3 class="filename">syntax_test.pl</h3>
{% highlight perl %}
#!perl -w
# Time-stamp: <2002/04/06, 13:12:13 (EST), maverick, csvformat.pl>
# Two pass CSV file to table formatter
$delim = $#ARGV >= 1 ? $ARGV[1] : ',';
print STDERR "Split pattern: $delim\n";
# first pass
open F, "<$ARGV[0]" or die;
while(<F>)
{
chomp;
$i = 0;
map { $max[$_->[1]] = $_->[0] if $_->[0] > ($max[$_->[1]] || 0) }
(map {[length $_, $i++]} split($delim));
}
close F;
print STDERR 'Field width: ', join(', ', @max), "\n";
print STDERR join(' ', map {'-' x $_} @max);
# second pass
open F, "<$ARGV[0]" or die;
while(<F>)
{
chomp;
$i = 0;
map { printf("%-$max[$_->[1]]s ", $_->[0]) }
(map {[$_, $i++]} split($delim));
print "\n";
}
close F;
{% endhighlight %}
<h3 class="filename">syntax_test.java</h3>
{% highlight java %}
import java.util.Map;
import java.util.TreeSet;
public class GetEnv {
/**
* let's test generics
* @param args the command line arguments
*/
public static void main(String[] args) {
// get a map of environment variables
Map<String, String> env = System.getenv();
// build a sorted set out of the keys and iterate
for(String k: new TreeSet<String>(env.keySet())) {
System.out.printf("%s = %s\n", k, env.get(k));
}
} }
{% endhighlight %}
<h3 class="filename">syntax_test.c</h3>
{% highlight c %}
#define UNICODE
#include <windows.h>
int main(int argc, char **argv) {
int speed = 0, speed1 = 0, speed2 = 0; // 1-20
printf("Set Mouse Speed by Maverick\n");
SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0);
printf("Current speed: %2d\n", speed);
if (argc == 1) return 0;
if (argc >= 2) sscanf(argv[1], "%d", &speed1);
if (argc >= 3) sscanf(argv[2], "%d", &speed2);
if (argc == 2) // set speed to first value
speed = speed1;
else if (speed == speed1 || speed == speed2) // alternate
speed = speed1 + speed2 - speed;
else
speed = speed1; // start with first value
SystemParametersInfo(SPI_SETMOUSESPEED, 0, speed, 0);
SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0);
printf("New speed: %2d\n", speed);
return 0;
}
{% endhighlight %}

View File

@ -0,0 +1,114 @@
---
layout: page
title: Typography Testing
sidebar: none
---
%h1 Level 01 Heading
%h2 Level 02 Heading
%h3 Level 03 Heading
%h4 Level 04 Heading
%h5 Level 05 Heading
%h6 Level 06 Heading
%p
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce sodales ligula sed urna. Aliquam posuere arcu
viverra erat. Pellentesque et enim dapibus ante facilisis bibendum. Nam congue dapibus urna. Vestibulum consequat
arcu at magna. Nunc faucibus mollis lacus. Nulla tempor luctus tellus. Donec blandit lobortis pede. Vestibulum
vel pede ut urna eleifend lacinia.
%h2 Level 02 Heading
%p
Maecenas ligula nibh, imperdiet at, interdum eget, sagittis eu, enim. Vivamus vel urna. Donec fringilla
ullamcorper sem. In risus arcu, pellentesque cursus, faucibus cursus, consequat quis, est. Aliquam id erat.
Aliquam arcu. Phasellus vulputate. Integer sem diam, mattis vel, viverra ullamcorper, ultricies quis, nisl. Sed
sollicitudin quam ut nisi. Vivamus velit sapien, volutpat eu, faucibus id, nonummy id, urna.
%h3 Level 03 Heading
%p
Take it<sub>2</sub> to the power of<sup>3</sup>
Praesent iaculis pellentesque est. Nulla facilisi. Etiam fringilla vehicula orci. Aliquam fermentum ipsum id
nulla. Aliquam interdum laoreet leo. Cras accumsan. Nam pharetra diam id nunc. Integer blandit tellus vulputate
felis. Cras aliquam, eros in euismod aliquam, enim nisl mollis metus, quis fringilla ipsum diam ut pede. Mauris a
libero ac velit interdum pulvinar. Nunc ipsum mauris, semper rhoncus, feugiat ut, egestas id, diam. Nullam
porttitor condimentum risus. Vivamus nec enim eget nisi commodo euismod. Ut turpis. Nullam malesuada rutrum
neque. Nam sodales porta elit. Mauris mollis nisl vel augue.
%p
And we were like <q>Woah</q>, and he was like <q>Woah</q>, and they were like <q>WOAH!</q> <code><\reference></code>
%p
%abbr(title="For The Win!") FTW!
%p
%h3 Unordered lists
%ul
%li Lorem ipsum dolor sit amet
%li Consectetur adipisicing elit
%li Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
%li Ut enim ad minim veniam
%h3 Ordered lists
%ol
%li Consectetur adipisicing elit
%li Sed do eiusmod tempor incididunt ut labore
%li Et dolore magna aliqua
%h3 Blockquotes
%blockquote
%p
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
%h3 Tables
%table
%caption
Jimi Hendrix - albums
%thead
%tr
%th Album
%th Year
%th Price
%tfoot
%tr
%td Album
%td Year
%td Price
%tbody
%tr
%td Are You Experienced
%td 1967
%td $10.00
%tr
%td Axis: Bold as Love
%td 1967
%td $12.00
%tr
%td Electric Ladyland
%td 1968
%td $10.00
%tr
%td Band of Gypsys
%td 1970
%td $12.00
%p
%a(href="#")Link
%br/
%strong &lt;strong&gt;
%br/
%del &lt;del&gt; deleted
%br/
%dfn &lt;dfn&gt; dfn
%br/
%em &lt;em&gt; emphasis
%br/
%tt
&lt;tt&gt;
Pellentesque tempor, dui ut ultrices viverra, neque urna blandit nisi, id accumsan dolor est vitae risus.
%hr