Compare commits

...

No commits in common. 'master' and 'gh-pages' have entirely different histories.

  1. 37
      README.md
  2. 1
      actions.tin
  3. 58
      aliases.tin
  4. 7
      bin/aardwolf-session
  5. 14
      bin/release
  6. 28
      config.tin
  7. BIN
      images/bg_hr.png
  8. BIN
      images/blacktocat.png
  9. BIN
      images/icon_download.png
  10. BIN
      images/sprite_download.png
  11. 58
      index.html
  12. 1
      javascripts/main.js
  13. 17
      javascripts/scale.fix.js
  14. 0
      logs/active.log
  15. 0
      logs/channel.log
  16. 0
      logs/history.log
  17. 0
      logs/minimap.log
  18. 0
      logs/mobs.log
  19. 0
      logs/notes.log
  20. 1
      params.json
  21. 48
      src/char.tin
  22. 89
      src/gmcp.tin
  23. 40
      src/init.tin
  24. 61
      src/minimap.tin
  25. 39
      src/prompt.tin
  26. 72
      src/quest.tin
  27. 70
      stylesheets/pygment_trac.css
  28. 255
      stylesheets/styles.css
  29. 425
      stylesheets/stylesheet.css

37
README.md

@ -1,37 +0,0 @@
# TinTin++ Settings for Aardwolf MUD
## Setup:
* Clone the repository
* Edit username in config.tin
* Edit password in config.tin
* Edit bag in config.tin
* Edit paths in aardwolf-session
## Usage:
* Launch tmux (tmux -2)
* Run aardwolf-session (./aardwolf-session)
* In-game: tags channel on
* In-game: tags map on
* In-game: tags mapexits on
* In-game: tags mapnames on
* In-game: tags roomchars on
* In-game: tags roomobjs on
## Features
* GMCP powered 2-line prompt with colored percentage meters (prompt.tin)
* Quest time ticker and target tracking (quest.tin)
* Repop watch and announce (gmcp.tin)
* Minimap in seperate window (minimap.tin)
* Alias-driven note jotting system (aliases.tin)
* Channels logged to separate window (gmcp.tin)
* Room characters/mobiles and objects logged to file (minimap.tin)
## Commands
* debug on|off - toggles echoing GMCP data as it arrives
* repopwatch on|off - toggles announcing of repops in $repchan
* .note *message here* - adds *message* to notes.log (bottom right window)
* .newpage - clears the note screen, providing a fresh page
* cpcheck - print list of campaign targets to note window, sorted by area
The actions.tin and aliases.tin files are a place for your personal triggers and aliases.

1
actions.tin

@ -1 +0,0 @@
#ACTION {The quest will start in} {#bell};

58
aliases.tin

@ -1,58 +0,0 @@
#ALIAS {porthome}
{
get portal $bag;
wear portal;
enter;
remove portal;
put portal $bag;
wear all;
};
#ALIAS {^.note %*}
{
#line {log} {$dir/logs/notes.log} {%1};
};
#ALIAS {^.newpage$}
{
#5 #line {log} {$dir/logs/notes.log} {\n\n\n\n};
};
#ALIAS {^.colors$}
{
#forall {0;1;2;3;4;5;6;7;8;9}
{
#showme {<0&09>\<0&09\><099> <1&09>\<1&09\><099>};
};
};
#ALIAS {cpcheck}
{
.newpage;
#var {cplog} {1};
#line {log} {$dir/logs/notes.log} {<199>-==[<169>Campaign Targets<199>]==-<099>\n};
campaign check;
};
#ACTION {^You still have to kill %. %* (%*)$}
{
#if {$cplog}
{
#list {cpareas} {find} {%3} {exists};
#if {$exists == 0} { #list {cpareas} {sort} {%3}; };
#list {cplist[%3]} {sort} {%2};
};
};
#ACTION {left to finish this campaign.$}
{
#var {cplog} {0};
#foreach {$cpareas[%*]} {area}
{
#line {log} {$dir/logs/notes.log} {<199>$area:<099>};
#foreach {$cplist[$area][%*]} {target}
{
#line {log} {$dir/logs/notes.log} { * <029>$target<099>};
}
}
};

7
bin/aardwolf-session

@ -1,7 +0,0 @@
#!/bin/bash
tmux split-window -h -p 22 'tail -fs .1 /home/br4n/documents/MUD/AardWolf/aardwolf-tintin/logs/minimap.log'
tmux split-window -v -p 58 'tail -fs .1 /home/br4n/documents/MUD/AardWolf/aardwolf-tintin/logs/notes.log'
tmux select-pane -L
tmux split-window -v -p 80 'tail -fs .1 /home/br4n/documents/MUD/AardWolf/aardwolf-tintin/logs/channel.log'
tmux swap-pane -Ud
tmux send-keys 'tt++ -G /home/br4n/documents/MUD/AardWolf/aardwolf-tintin/config.tin' Enter

14
bin/release

@ -1,14 +0,0 @@
#!/bin/bash
# Clear Username and Password
sed -i '1,2s/{\(.*\)} {\(.*\)}\;$/{\1} {}\;/' config.tin
echo "Clearing credentials..."
# Empty logs and history
for f in logs/*.log
do
rm $f
touch $f
echo "Clearing $f..."
done
echo "Done - ready to commit."

28
config.tin

@ -1,28 +0,0 @@
#VARIABLE {name} {};
#VARIABLE {password} {};
#VARIABLE {dir} {.};
#VARIABLE {repchan} {gt};
#VARIABLE {bag} {pentagram};
#CONFIG {LOG} {RAW}
#LOG APPEND {$dir/logs/active.log}
#READ {$dir/src/prompt.tin};
#READ {$dir/src/gmcp.tin};
#READ {$dir/src/char.tin};
#READ {$dir/src/quest.tin};
#READ {$dir/src/minimap.tin};
#READ {$dir/src/init.tin};
#READ {$dir/aliases.tin};
#READ {$dir/actions.tin};
#ACTION {{^\{chan ch={answer|question|wangrp|tech|gossip|barter|auction|nobletalk|sports|gclan|newbie|curse|market}\}%2$}} {#line gag};
#ACTION {{\{stats\}}} {#line gag};
#SESSION {aard} {aardmud.org} {4000};
#SPLIT {0} {3};
#SUB {\{chan ch=%*\}} {};

BIN
images/bg_hr.png

After

Width: 4  |  Height: 21  |  Size: 78 B

BIN
images/blacktocat.png

After

Width: 30  |  Height: 30  |  Size: 463 B

BIN
images/icon_download.png

After

Width: 30  |  Height: 30  |  Size: 216 B

BIN
images/sprite_download.png

After

Width: 180  |  Height: 140  |  Size: 14 KiB

58
index.html

@ -0,0 +1,58 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="description" content="Aardwolf-tintin : Advanced TInTin++ settings for Aardwolf mud">
<link rel="stylesheet" type="text/css" media="screen" href="stylesheets/stylesheet.css">
<title>Aardwolf-tintin</title>
</head>
<body>
<!-- HEADER -->
<div id="header_wrap" class="outer">
<header class="inner">
<a id="forkme_banner" href="https://github.com/theixle/aardwolf-tintin">View on GitHub</a>
<h1 id="project_title">Aardwolf-tintin</h1>
<h2 id="project_tagline">Advanced TInTin++ settings for Aardwolf mud</h2>
<section id="downloads">
<a class="zip_download_link" href="https://github.com/theixle/aardwolf-tintin/zipball/master">Download this project as a .zip file</a>
<a class="tar_download_link" href="https://github.com/theixle/aardwolf-tintin/tarball/master">Download this project as a tar.gz file</a>
</section>
</header>
</div>
<!-- MAIN CONTENT -->
<div id="main_content_wrap" class="outer">
<section id="main_content" class="inner">
<p><a href="http://i.imgur.com/HRWzdZo.png"><img src="https://lh3.googleusercontent.com/-4rqyXaYgCGw/UBnVVDdJghI/AAAAAAAAABA/BmiBKnPhkII/s800/aardwolf%252Btintin2.PNG" alt="Screenshot of the client"></a></p>
</section>
</div>
<!-- FOOTER -->
<div id="footer_wrap" class="outer">
<footer class="inner">
<p class="copyright">Aardwolf-tintin maintained by <a href="https://github.com/theixle">theixle</a></p>
<p>Published with <a href="https://pages.github.com">GitHub Pages</a></p>
</footer>
</div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-33883249-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>

1
javascripts/main.js

@ -0,0 +1 @@
console.log('This would be the main JS file.');

17
javascripts/scale.fix.js

@ -0,0 +1,17 @@
var metas = document.getElementsByTagName('meta');
var i;
if (navigator.userAgent.match(/iPhone/i)) {
for (i=0; i<metas.length; i++) {
if (metas[i].name == "viewport") {
metas[i].content = "width=device-width, minimum-scale=1.0, maximum-scale=1.0";
}
}
document.addEventListener("gesturestart", gestureStart, false);
}
function gestureStart() {
for (i=0; i<metas.length; i++) {
if (metas[i].name == "viewport") {
metas[i].content = "width=device-width, minimum-scale=0.25, maximum-scale=1.6";
}
}
}

0
logs/active.log

0
logs/channel.log

0
logs/history.log

0
logs/minimap.log

0
logs/mobs.log

0
logs/notes.log

1
params.json

@ -0,0 +1 @@
{"name":"Aardwolf-tintin","tagline":"Advanced TInTin++ settings for Aardwolf mud","body":"![Screenshot of the client](https://lh3.googleusercontent.com/-4rqyXaYgCGw/UBnVVDdJghI/AAAAAAAAABA/BmiBKnPhkII/s800/aardwolf%252Btintin2.PNG)","google":"UA-33883249-1","note":"Don't delete this file! It's used internally to help with page regeneration."}

48
src/char.tin

@ -1,48 +0,0 @@
#class char kill
#class char open
#event {IAC SB GMCP char.vitals IAC SE}
{
#if {$debug} { #showme %1 };
#var {GMCPDATA[CHAR][VITALS]} {%0};
#var {hp} {$GMCPDATA[CHAR][VITALS][hp]};
#var {mana} {$GMCPDATA[CHAR][VITALS][mana]};
#var {moves} {$GMCPDATA[CHAR][VITALS][moves]};
prompt_statmon;
}
#event {IAC SB GMCP char.maxstats IAC SE}
{
#if {$debug} { #showme %1 };
#var {GMCPDATA[CHAR][MAXSTATS]} {%0};
#var {maxhp} {$GMCPDATA[CHAR][MAXSTATS][maxhp]};
#var {maxmana} {$GMCPDATA[CHAR][MAXSTATS][maxmana]};
#var {maxmoves} {$GMCPDATA[CHAR][MAXSTATS][maxmoves]};
#nop Actual stats below are yet unusued.
#var {maxstr} {$GMCPDATA[CHAR][MAXSTATS][maxstr]};
#var {maxint} {$GMCPDATA[CHAR][MAXSTATS][maxint]};
#var {maxwis} {$GMCPDATA[CHAR][MAXSTATS][maxwis]};
#var {maxdex} {$GMCPDATA[CHAR][MAXSTATS][maxdex]};
#var {maxcon} {$GMCPDATA[CHAR][MAXSTATS][maxcon]};
#var {maxluck} {$GMCPDATA[CHAR][MAXSTATS][maxluck]};
prompt_statmon;
}
#event {IAC SB GMCP char.status IAC SE}
{
#variable {GMCPDATA[CHAR][STATUS]} {%0};
#if {$debug} {#showme %1};
#var {level} {$GMCPDATA[CHAR][STATUS][level]};
#var {tnl} {$GMCPDATA[CHAR][STATUS][tnl]};
#var {hunger} {$GMCPDATA[CHAR][STATUS][hunger]};
#var {thirst} {$GMCPDATA[CHAR][STATUS][thirst]};
#var {align} {$GMCPDATA[CHAR][STATUS][align]};
#var {state} {$GMCPDATA[CHAR][STATUS][state]};
#var {position} {$GMCPDATA[CHAR][STATUS][pos]};
#var {enemy} {$GMCPDATA[CHAR][STATUS][enemy]};
#var {enemy_health} {$GMCPDATA[CHAR][STATUS][enemypct]};
prompt_statmon;
}
#class char close

89
src/gmcp.tin

@ -1,89 +0,0 @@
#class gmcp kill
#class gmcp open
#format IAC %a 255
#format DONT %a 254
#format DO %a 253
#format WONT %a 252
#format WILL %a 251
#format SB %a 250
#format SE %a 240
#format GMCP %a 201
#alias {debug {on|off}}
{
#if {"%1" == "on"} { #variable debug 1 };
#else { #variable debug 0 };
#showme { Debug is <139>$debug<099> };
#nop;
}
#alias {repopwatch {on|off}}
{
#if {"%1" == "on"} { #variable repop 1 };
#else { #variable repop 0 };
#showme { Repopwatch is <139>$repop<099> };
#nop;
}
#alias {{^check repop$}}
{
#format {timestamp} {%T};
#math {repop_time} {($last_repop+606)-$timestamp};
#send {$repchan @CNext repop@w: @R$repop_time @Wseconds.@w};
}
#event {IAC SB GMCP comm.channel IAC SE}
{
#if {$debug} { #showme %1 };
#var {GMCPDATA[COMM][CHATLOGGER]} {%0};
#if {"$GMCPDATA[COMM][CHATLOGGER][chan]" != "mobsay"}
{
#line log {$dir/logs/channel.log} {$GMCPDATA[COMM][CHATLOGGER][msg]};
};
}
#event {IAC SB GMCP comm.repop IAC SE}
{
#if {$debug} { #showme %1 };
#var {GMCP[COMM][REPOP]} {%0};
#format {last_repop} {%T};
#format {time} {%t} {%H:%M:%S};
#send {$repchan @WRepop @w= @r$GMCP[COMM][REPOP][zone]@w @@ @r$time};
#var time {};
#nop;
}
#nop Start up GMCP connection with the server
#event {IAC WILL GMCP}
{
#send {$IAC$DO$GMCP\};
#send {$IAC$SB$GMCP Core.Hello { "client": "$CLIENT_NAME", "version": "$CLIENT_VERSION" } $IAC$SE\};
#send {$IAC$SB$GMCP Core.Supports.Set [ "Room 1", "Char 1", "Core 1", "Comm 1", "Debug 1", "Group 1" ] $IAC$SE\}
}
#event {PROGRAM START}
{
#variable CLIENT_NAME %0;
#variable CLIENT_VERSION %1;
}
#nop Write out command history and variable class on disconnect
#event {SESSION DISCONNECTED}
{
#history write {$dir/logs/history.log};
}
#event {SESSION CONNECTED}
{
$name;
$password;
#unvar name;
#unvar password;
#history read {$dir/logs/history.log};
}
#class gmcp close

40
src/init.tin

@ -1,40 +0,0 @@
#class init kill
#class init open
#ALIAS {do_on_connect}
{
map;
protocol gmcp sendchar;
quest time;
look;
};
#ACTION {^############# Reconnecting to Game #############$} {do_on_connect}
#ACTION {^Welcome to Aardwolf. May your adventures be mystical, challenging and rewarding.} {do_on_connect}
#ACTION {^You do not have to wait to go on another quest.$}
{
#var {quest[timer]} {<129>READY<099>};
prompt_statmon;
#class init kill
}
#ACTION {^There are %d minutes remaining until you can go on another quest.$}
{
start_quest_timer %1;
prompt_statmon;
#class init kill
}
#ACTION {^There is less than a minute remaining until you can go on another quest.$}
{
start_quest_timer 1;
prompt_statmon;
#class init kill
}
#ACTION {^Time left for current quest: %d$}
{
#var {quest[timer]} {<fca>ACTIVE<099>};
prompt_statmon;
#class init kill
}
#class init close

61
src/minimap.tin

@ -1,61 +0,0 @@
#class minimap kill
#class minimap open
#ALIAS {get_minimap}
{
#ACTION {~%0}
{
#line log {$dir/logs/minimap.log} {%0};
#line gag;
} {10}
}
#ALIAS {get_chars}
{
#ACTION {~%0}
{
#line log {$dir/logs/mobs.log} {%0};
} {10}
}
#ACTION {^<MAPEND>$}
{
#unaction {~%%0} {};
#line gag;
} {1}
#ACTION {^<MAPSTART>$}
{
#line log {$dir/logs/minimap.log} {\n\n\n\n\n\n};
get_minimap;
#line gag;
} {1}
#ACTION {{^\{roomchars\}}}
{
#line log {$dir/logs/mobs.log} {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n};
get_chars;
#line gag;
}
#ACTION {{^\{/roomchars\}$}}
{
#unaction {~%%0} {};
#line log {$dir/logs/mobs.log} {\n\r};
#line gag;
}
#ACTION {{^\{roomobjs\}}}
{
get_chars;
#line gag;
}
#ACTION {{^\{/roomobjs\}$}}
{
#unaction {~%%0} {};
#line log {$dir/logs/mobs.log} {\n\r};
#line gag;
}
#class minimap close

39
src/prompt.tin

@ -1,39 +0,0 @@
#FUNCTION {percent_color}
{
#var {percent_store} {};
#if {%1 > 80} { #format {percent_store} {%c%d<099>} {bold green} {%1} };
#if {%1 < 80 && %1 > 30} { #format {percent_store} {%c%d<099>} {bold yellow} {%1} };
#if {%1 < 30} { #format {percent_store} {%c%d<099>} {bold red} {%1} };
#return $percent_store;
}
#ALIAS {prompt_statmon}
{
#math hp_percent {((1.00*$hp) / $maxhp)*100};
#math mana_percent {((1.00*$mana) / $maxmana)*100};
#math moves_percent {((1.00*$moves) / $maxmoves)*100};
#var {c_hp_percent} {@percent_color{$hp_percent}};
#var {c_mana_percent} {@percent_color{$mana_percent}};
#var {c_moves_percent} {@percent_color{$moves_percent}};
#var {hp_prompt} {<039>$hp<099>/<139>$maxhp<099>hp ($c_hp_percent%)};
#var {mana_prompt} {<069>$mana<099>/<169>$maxmana<099>m ($c_mana_percent%)};
#var {moves_prompt} {<049>$moves<099>/<149>$maxmoves<099>mv ($c_moves_percent%)};
#var {prompt} {<$hp_prompt | $mana_prompt | $moves_prompt>};
#if {$state == 8}
{
#var {c_enemy_health} {@percent_color{$enemy_health}};
#var {battleprompt} {<119>$enemy<099>: $c_enemy_health%};
#var {prompt} {$prompt $battleprompt};
};
#elseif {$state == 9 || $state == 11} { #var {prompt} {$prompt <159>RESTING<099>}};
#showme {$prompt} {1};
#var {c_hunger} {@percent_color{$hunger}};
#var {c_thirst} {@percent_color{$thirst}};
#var {top_prompt} {[Quest: <169>$quest[timer]<099> | TNL: <059>$tnl<099> | Align: <149>$align<099> | Hunger/Thirst: $c_hunger%/$c_thirst%]};
#showme {$top_prompt} {2};
};

72
src/quest.tin

@ -1,72 +0,0 @@
#class quest kill
#class quest open
#ALIAS {start_quest_timer}
{
#var {quest[timer]} {%1};
#ticker {quest[timer]}
{
#math {quest[timer]} {$quest[timer] - 1};
#if {$quest[timer] == 0}
{
#untick {quest[timer]};
#var {quest[timer]} {<cfa>READY<099>};
};
prompt_statmon;
} {60}
};
#EVENT {IAC SB GMCP comm.quest IAC SE}
{
#if {$debug} { #showme {%1} };
#var {GMCPDATA[COMM][QUEST]} {%0};
#if {"$GMCPDATA[COMM][QUEST][action]" == "ready"}
{
#send {$repchan @W\{-=@RQuest Time@W=-\}@w};
#var {quest[timer]} {<129>READY<099>};
#bell;
};
#elseif {"$GMCPDATA[COMM][QUEST][action]" == "start"}
{
#format {quest[start]} {%T};
#var {quest[timer]} {<fca>ACTIVE<099>};
#var {quest[room]} {$GMCPDATA[COMM][QUEST][room]};
#var {quest[area]} {$GMCPDATA[COMM][QUEST][area]};
#var {quest[target]} {$GMCPDATA[COMM][QUEST][targ]};
#send {$repchan @Y[@RQuest Requested@Y]@w: @YTarget@w=@R$quest[target]@w. @YRoom@w=@R$quest[room]@w. @YArea@w=@R$quest[area]@w.};
};
#elseif {"$GMCPDATA[COMM][QUEST][action]" == "fail"}
{
#send {$repchan @W\{-=@RQuest Failed@W=-\}@w};
#var {quest} {};
start_quest_timer 30;
};
#elseif {"$GMCPDATA[COMM][QUEST][action]" == "comp"}
{
#format {quest[end]} {%T};
#math {quest[time]} {$quest[end] - $quest[start]};
#var {quest[trivia]} {$GMCPDATA[COMM][QUEST][tp]};
#var {quest[pracs]} {$GMCPDATA[COMM][QUEST][pracs]};
#var {quest[trains]} {$GMCPDATA[COMM][QUEST][trains]};
#var {quest[qp]} {$GMCPDATA[COMM][QUEST][totqp]};
#send {$repchan @R[@YQuest Completed@R] @Y[@WQp: @R$quest[qp]@Y] $quest[time] secs @Y[@WBonus: @R $quest[pracs] / $quest[train] / $quest[trivia]@Y]@w};
#var {quest} {};
start_quest_timer 30;
};
#elseif {"$GMCP[COMM][QUEST][target]" == "killed"}
{
#send {$repchan @W\{-=@RQuest Target Killed@W=-\}@w};
#var {quest[timer]} {<169>RETURN<099>};
};
prompt_statmon;
}
#class quest close

70
stylesheets/pygment_trac.css

@ -0,0 +1,70 @@
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f0f3f3; }
.highlight .c { color: #0099FF; font-style: italic } /* Comment */
.highlight .err { color: #AA0000; background-color: #FFAAAA } /* Error */
.highlight .k { color: #006699; font-weight: bold } /* Keyword */
.highlight .o { color: #555555 } /* Operator */
.highlight .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #009999 } /* Comment.Preproc */
.highlight .c1 { color: #0099FF; font-style: italic } /* Comment.Single */
.highlight .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #003300; font-weight: bold } /* Generic.Heading */
.highlight .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */
.highlight .go { color: #AAAAAA } /* Generic.Output */
.highlight .gp { color: #000099; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #003300; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #99CC66 } /* Generic.Traceback */
.highlight .kc { color: #006699; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #006699 } /* Keyword.Pseudo */
.highlight .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #007788; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #FF6600 } /* Literal.Number */
.highlight .s { color: #CC3300 } /* Literal.String */
.highlight .na { color: #330099 } /* Name.Attribute */
.highlight .nb { color: #336666 } /* Name.Builtin */
.highlight .nc { color: #00AA88; font-weight: bold } /* Name.Class */
.highlight .no { color: #336600 } /* Name.Constant */
.highlight .nd { color: #9999FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #CC0000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #CC00FF } /* Name.Function */
.highlight .nl { color: #9999FF } /* Name.Label */
.highlight .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #330099; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #003333 } /* Name.Variable */
.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #FF6600 } /* Literal.Number.Float */
.highlight .mh { color: #FF6600 } /* Literal.Number.Hex */
.highlight .mi { color: #FF6600 } /* Literal.Number.Integer */
.highlight .mo { color: #FF6600 } /* Literal.Number.Oct */
.highlight .sb { color: #CC3300 } /* Literal.String.Backtick */
.highlight .sc { color: #CC3300 } /* Literal.String.Char */
.highlight .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #CC3300 } /* Literal.String.Double */
.highlight .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #CC3300 } /* Literal.String.Heredoc */
.highlight .si { color: #AA0000 } /* Literal.String.Interpol */
.highlight .sx { color: #CC3300 } /* Literal.String.Other */
.highlight .sr { color: #33AAAA } /* Literal.String.Regex */
.highlight .s1 { color: #CC3300 } /* Literal.String.Single */
.highlight .ss { color: #FFCC33 } /* Literal.String.Symbol */
.highlight .bp { color: #336666 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #003333 } /* Name.Variable.Class */
.highlight .vg { color: #003333 } /* Name.Variable.Global */
.highlight .vi { color: #003333 } /* Name.Variable.Instance */
.highlight .il { color: #FF6600 } /* Literal.Number.Integer.Long */
.type-csharp .highlight .k { color: #0000FF }
.type-csharp .highlight .kt { color: #0000FF }
.type-csharp .highlight .nf { color: #000000; font-weight: normal }
.type-csharp .highlight .nc { color: #2B91AF }
.type-csharp .highlight .nn { color: #000000 }
.type-csharp .highlight .s { color: #A31515 }
.type-csharp .highlight .sc { color: #A31515 }

255
stylesheets/styles.css

@ -0,0 +1,255 @@
@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700);
body {
padding:50px;
font:14px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
color:#777;
font-weight:300;
}
h1, h2, h3, h4, h5, h6 {
color:#222;
margin:0 0 20px;
}
p, ul, ol, table, pre, dl {
margin:0 0 20px;
}
h1, h2, h3 {
line-height:1.1;
}
h1 {
font-size:28px;
}
h2 {
color:#393939;
}
h3, h4, h5, h6 {
color:#494949;
}
a {
color:#39c;
font-weight:400;
text-decoration:none;
}
a small {
font-size:11px;
color:#777;
margin-top:-0.6em;
display:block;
}
.wrapper {
width:860px;
margin:0 auto;
}
blockquote {
border-left:1px solid #e5e5e5;
margin:0;
padding:0 0 0 20px;
font-style:italic;
}
code, pre {
font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal;
color:#333;
font-size:12px;
}
pre {
padding:8px 15px;
background: #f8f8f8;
border-radius:5px;
border:1px solid #e5e5e5;
overflow-x: auto;
}
table {
width:100%;
border-collapse:collapse;
}
th, td {
text-align:left;
padding:5px 10px;
border-bottom:1px solid #e5e5e5;
}
dt {
color:#444;
font-weight:700;
}
th {
color:#444;
}
img {
max-width:100%;
}
header {
width:270px;
float:left;
position:fixed;
}
header ul {
list-style:none;
height:40px;
padding:0;
background: #eee;
background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd));
background: -webkit-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
background: -o-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
background: -ms-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
background: linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
border-radius:5px;
border:1px solid #d2d2d2;
box-shadow:inset #fff 0 1px 0, inset rgba(0,0,0,0.03) 0 -1px 0;
width:270px;
}
header li {
width:89px;
float:left;
border-right:1px solid #d2d2d2;
height:40px;
}
header ul a {
line-height:1;
font-size:11px;
color:#999;
display:block;
text-align:center;
padding-top:6px;
height:40px;
}
strong {
color:#222;
font-weight:700;
}
header ul li + li {
width:88px;
border-left:1px solid #fff;
}
header ul li + li + li {
border-right:none;
width:89px;
}
header ul a strong {
font-size:14px;
display:block;
color:#222;
}
section {
width:500px;
float:right;
padding-bottom:50px;
}
small {
font-size:11px;
}
hr {
border:0;
background:#e5e5e5;
height:1px;
margin:0 0 20px;
}
footer {
width:270px;
float:left;
position:fixed;
bottom:50px;
}
@media print, screen and (max-width: 960px) {
div.wrapper {
width:auto;
margin:0;
}
header, section, footer {
float:none;
position:static;
width:auto;
}
header {
padding-right:320px;
}
section {
border:1px solid #e5e5e5;
border-width:1px 0;
padding:20px 0;
margin:0 0 20px;
}
header a small {
display:inline;
}
header ul {
position:absolute;
right:50px;
top:52px;
}
}
@media print, screen and (max-width: 720px) {
body {
word-wrap:break-word;
}
header {
padding:0;
}
header ul, header p.view {
position:static;
}
pre, code {
word-wrap:normal;
}
}
@media print, screen and (max-width: 480px) {
body {
padding:15px;
}
header ul {
display:none;
}
}
@media print {
body {
padding:0.4in;
font-size:12pt;
color:#444;
}
}

425
stylesheets/stylesheet.css

@ -0,0 +1,425 @@
/*******************************************************************************
Slate Theme for GitHub Pages
by Jason Costello, @jsncostello
*******************************************************************************/
@import url(pygment_trac.css);
/*******************************************************************************
MeyerWeb Reset
*******************************************************************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
ol, ul {
list-style: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/*******************************************************************************
Theme Styles
*******************************************************************************/
body {
box-sizing: border-box;
color:#373737;
background: #212121;
font-size: 16px;
font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif;
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
margin: 10px 0;
font-weight: 700;
color:#222222;
font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif;
letter-spacing: -1px;
}
h1 {
font-size: 36px;
font-weight: 700;
}
h2 {
padding-bottom: 10px;
font-size: 32px;
background: url('../images/bg_hr.png') repeat-x bottom;
}
h3 {
font-size: 24px;
}
h4 {
font-size: 21px;
}
h5 {
font-size: 18px;
}
h6 {
font-size: 16px;
}
p {
margin: 10px 0 15px 0;
}
footer p {
color: #f2f2f2;
}
a {
text-decoration: none;
color: #007edf;
text-shadow: none;
transition: color 0.5s ease;
transition: text-shadow 0.5s ease;
-webkit-transition: color 0.5s ease;
-webkit-transition: text-shadow 0.5s ease;
-moz-transition: color 0.5s ease;
-moz-transition: text-shadow 0.5s ease;
-o-transition: color 0.5s ease;
-o-transition: text-shadow 0.5s ease;
-ms-transition: color 0.5s ease;
-ms-transition: text-shadow 0.5s ease;
}
a:hover, a:focus {text-decoration: underline;}
footer a {
color: #F2F2F2;
text-decoration: underline;
}
em {
font-style: italic;
}
strong {
font-weight: bold;
}
img {
position: relative;
margin: 0 auto;
max-width: 739px;
padding: 5px;
margin: 10px 0 10px 0;
border: 1px solid #ebebeb;
box-shadow: 0 0 5px #ebebeb;
-webkit-box-shadow: 0 0 5px #ebebeb;
-moz-box-shadow: 0 0 5px #ebebeb;
-o-box-shadow: 0 0 5px #ebebeb;
-ms-box-shadow: 0 0 5px #ebebeb;
}
p img {
display: inline;
margin: 0;
padding: 0;
vertical-align: middle;
text-align: center;
border: none;
}
pre, code {
width: 100%;
color: #222;
background-color: #fff;
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
font-size: 14px;
border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
}
pre {
width: 100%;
padding: 10px;
box-shadow: 0 0 10px rgba(0,0,0,.1);
overflow: auto;
}
code {
padding: 3px;
margin: 0 3px;
box-shadow: 0 0 10px rgba(0,0,0,.1);
}
pre code {
display: block;
box-shadow: none;
}
blockquote {
color: #666;
margin-bottom: 20px;
padding: 0 0 0 20px;
border-left: 3px solid #bbb;
}
ul, ol, dl {
margin-bottom: 15px
}
ul {
list-style-position: inside;
list-style: disc;
padding-left: 20px;
}
ol {
list-style-position: inside;
list-style: decimal;
padding-left: 20px;
}
dl dt {
font-weight: bold;
}
dl dd {
padding-left: 20px;
font-style: italic;
}
dl p {
padding-left: 20px;
font-style: italic;
}
hr {
height: 1px;
margin-bottom: 5px;
border: none;
background: url('../images/bg_hr.png') repeat-x center;
}
table {
border: 1px solid #373737;
margin-bottom: 20px;
text-align: left;
}
th {
font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif;
padding: 10px;
background: #373737;
color: #fff;
}
td {
padding: 10px;
border: 1px solid #373737;
}
form {
background: #f2f2f2;
padding: 20px;
}
/*******************************************************************************
Full-Width Styles
*******************************************************************************/
.outer {
width: 100%;
}
.inner {
position: relative;
max-width: 640px;
padding: 20px 10px;
margin: 0 auto;
}
#forkme_banner {
display: block;
position: absolute;
top:0;
right: 10px;
z-index: 10;
padding: 10px 50px 10px 10px;
color: #fff;
background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%;
font-weight: 700;
box-shadow: 0 0 10px rgba(0,0,0,.5);
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
}
#header_wrap {
background: #212121;
background: -moz-linear-gradient(top, #373737, #212121);
background: -webkit-linear-gradient(top, #373737, #212121);
background: -ms-linear-gradient(top, #373737, #212121);
background: -o-linear-gradient(top, #373737, #212121);
background: linear-gradient(top, #373737, #212121);
}
#header_wrap .inner {
padding: 50px 10px 30px 10px;
}
#project_title {
margin: 0;
color: #fff;
font-size: 42px;
font-weight: 700;
text-shadow: #111 0px 0px 10px;
}
#project_tagline {
color: #fff;
font-size: 24px;
font-weight: 300;
background: none;
text-shadow: #111 0px 0px 10px;
}
#downloads {
position: absolute;
width: 210px;
z-index: 10;
bottom: -40px;
right: 0;
height: 70px;
background: url('../images/icon_download.png') no-repeat 0% 90%;
}
.zip_download_link {
display: block;
float: right;
width: 90px;
height:70px;
text-indent: -5000px;
overflow: hidden;
background: url(../images/sprite_download.png) no-repeat bottom left;
}
.tar_download_link {
display: block;
float: right;
width: 90px;
height:70px;
text-indent: -5000px;
overflow: hidden;
background: url(../images/sprite_download.png) no-repeat bottom right;
margin-left: 10px;
}
.zip_download_link:hover {
background: url(../images/sprite_download.png) no-repeat top left;
}
.tar_download_link:hover {
background: url(../images/sprite_download.png) no-repeat top right;
}
#main_content_wrap {
background: #f2f2f2;
border-top: 1px solid #111;
border-bottom: 1px solid #111;
}
#main_content {
padding-top: 40px;
}
#footer_wrap {
background: #212121;
}
/*******************************************************************************
Small Device Styles
*******************************************************************************/
@media screen and (max-width: 480px) {
body {
font-size:14px;
}
#downloads {
display: none;
}
.inner {
min-width: 320px;
max-width: 480px;
}
#project_title {
font-size: 32px;
}
h1 {
font-size: 28px;
}
h2 {
font-size: 24px;
}
h3 {
font-size: 21px;
}
h4 {
font-size: 18px;
}
h5 {
font-size: 14px;
}
h6 {
font-size: 12px;
}
code, pre {
min-width: 320px;
max-width: 480px;
font-size: 11px;
}
}
Loading…
Cancel
Save