From 40545fbe082ad19d225db7a40dfabb057e7faaf7 Mon Sep 17 00:00:00 2001 From: John Turner Date: Mon, 30 Aug 2010 20:49:09 -0400 Subject: [PATCH 1/4] Adding new Thinker theme --- themes/thinker/404.html | 18 + themes/thinker/admin/base.html | 6 + themes/thinker/admin/deleted.html | 5 + themes/thinker/admin/edit.html | 11 + themes/thinker/admin/index.html | 91 +++ themes/thinker/admin/published.html | 14 + themes/thinker/admin/regenerating.html | 6 + themes/thinker/atom.xml | 31 + themes/thinker/base.html | 184 ++++++ themes/thinker/cse.xml | 19 + themes/thinker/favicon.ico | Bin 0 -> 1150 bytes themes/thinker/listing.html | 56 ++ themes/thinker/post.html | 80 +++ themes/thinker/robots.txt | 6 + themes/thinker/search.html | 14 + themes/thinker/site_verification.html | 1 + themes/thinker/sitemap.xml | 8 + .../cupertino/images/ui-anim_basic_16x16.gif | Bin 0 -> 1553 bytes .../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 0 -> 181 bytes .../images/ui-bg_glass_100_e4f1fb_1x400.png | Bin 0 -> 119 bytes .../images/ui-bg_glass_50_3baae3_1x400.png | Bin 0 -> 131 bytes .../images/ui-bg_glass_80_d7ebf9_1x400.png | Bin 0 -> 124 bytes .../ui-bg_highlight-hard_100_f2f5f7_1x100.png | Bin 0 -> 103 bytes .../ui-bg_highlight-hard_70_000000_1x100.png | Bin 0 -> 118 bytes .../ui-bg_highlight-soft_100_deedf7_1x100.png | Bin 0 -> 143 bytes .../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 0 -> 119 bytes .../images/ui-icons_2694e8_256x240.png | Bin 0 -> 5355 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_3d80b3_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_72a7cf_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../css/cupertino/jquery-ui-1.8.2.custom.css | 286 +++++++++ themes/thinker/static/css/style.css | 454 ++++++++++++++ .../static/css/syntaxhighlighter/shCore.css | 226 +++++++ .../css/syntaxhighlighter/shCoreDefault.css | 328 ++++++++++ .../css/syntaxhighlighter/shCoreDjango.css | 331 ++++++++++ .../css/syntaxhighlighter/shCoreEclipse.css | 339 ++++++++++ .../css/syntaxhighlighter/shCoreEmacs.css | 324 ++++++++++ .../syntaxhighlighter/shCoreFadeToGrey.css | 328 ++++++++++ .../css/syntaxhighlighter/shCoreMDUltra.css | 324 ++++++++++ .../css/syntaxhighlighter/shCoreMidnight.css | 324 ++++++++++ .../css/syntaxhighlighter/shCoreRDark.css | 324 ++++++++++ .../css/syntaxhighlighter/shThemeDefault.css | 117 ++++ .../css/syntaxhighlighter/shThemeDjango.css | 120 ++++ .../css/syntaxhighlighter/shThemeEclipse.css | 128 ++++ .../css/syntaxhighlighter/shThemeEmacs.css | 113 ++++ .../syntaxhighlighter/shThemeFadeToGrey.css | 117 ++++ .../css/syntaxhighlighter/shThemeMDUltra.css | 113 ++++ .../css/syntaxhighlighter/shThemeMidnight.css | 113 ++++ .../css/syntaxhighlighter/shThemeRDark.css | 113 ++++ themes/thinker/static/images/btn-search.png | Bin 0 -> 633 bytes themes/thinker/static/images/delicious_16.png | Bin 0 -> 467 bytes themes/thinker/static/images/ico-comments.png | Bin 0 -> 357 bytes themes/thinker/static/images/ico-retweet.png | Bin 0 -> 325 bytes themes/thinker/static/images/ico-shorturl.png | Bin 0 -> 486 bytes .../thinker/static/images/ico-subscribe.png | Bin 0 -> 2307 bytes themes/thinker/static/images/ico-tag.png | Bin 0 -> 262 bytes themes/thinker/static/images/posterous_16.png | Bin 0 -> 714 bytes themes/thinker/static/images/quote.png | Bin 0 -> 399 bytes themes/thinker/static/images/reader_16.png | Bin 0 -> 883 bytes themes/thinker/static/images/rss_16.png | Bin 0 -> 711 bytes themes/thinker/static/images/rss_32.png | Bin 0 -> 1434 bytes themes/thinker/static/images/twitter_16.png | Bin 0 -> 608 bytes themes/thinker/static/js/dd_belatedpng.js | 328 ++++++++++ .../static/js/jquery.dataTables.min.js | 587 ++++++++++++++++++ .../thinker/static/js/jquery.embedly.min.js | 2 + themes/thinker/static/js/modernizr-1.5.min.js | 28 + themes/thinker/static/js/plugins.js | 37 ++ themes/thinker/static/js/script.js | 7 + .../js/syntaxhighlighter/shAutoloader.js | 17 + .../static/js/syntaxhighlighter/shBrushAS3.js | 59 ++ .../syntaxhighlighter/shBrushAppleScript.js | 75 +++ .../js/syntaxhighlighter/shBrushBash.js | 59 ++ .../js/syntaxhighlighter/shBrushCSharp.js | 65 ++ .../js/syntaxhighlighter/shBrushColdFusion.js | 100 +++ .../static/js/syntaxhighlighter/shBrushCpp.js | 97 +++ .../static/js/syntaxhighlighter/shBrushCss.js | 91 +++ .../js/syntaxhighlighter/shBrushDelphi.js | 55 ++ .../js/syntaxhighlighter/shBrushDiff.js | 41 ++ .../js/syntaxhighlighter/shBrushErlang.js | 52 ++ .../js/syntaxhighlighter/shBrushGroovy.js | 67 ++ .../js/syntaxhighlighter/shBrushJScript.js | 52 ++ .../js/syntaxhighlighter/shBrushJava.js | 57 ++ .../js/syntaxhighlighter/shBrushJavaFX.js | 58 ++ .../js/syntaxhighlighter/shBrushPerl.js | 72 +++ .../static/js/syntaxhighlighter/shBrushPhp.js | 88 +++ .../js/syntaxhighlighter/shBrushPlain.js | 33 + .../js/syntaxhighlighter/shBrushPowerShell.js | 74 +++ .../js/syntaxhighlighter/shBrushPython.js | 64 ++ .../js/syntaxhighlighter/shBrushRuby.js | 55 ++ .../js/syntaxhighlighter/shBrushSass.js | 94 +++ .../js/syntaxhighlighter/shBrushScala.js | 51 ++ .../static/js/syntaxhighlighter/shBrushSql.js | 66 ++ .../static/js/syntaxhighlighter/shBrushVb.js | 56 ++ .../static/js/syntaxhighlighter/shBrushXml.js | 69 ++ .../static/js/syntaxhighlighter/shCore.js | 17 + .../static/js/syntaxhighlighter/shLegacy.js | 17 + 98 files changed, 7762 insertions(+) create mode 100755 themes/thinker/404.html create mode 100755 themes/thinker/admin/base.html create mode 100755 themes/thinker/admin/deleted.html create mode 100755 themes/thinker/admin/edit.html create mode 100755 themes/thinker/admin/index.html create mode 100755 themes/thinker/admin/published.html create mode 100755 themes/thinker/admin/regenerating.html create mode 100755 themes/thinker/atom.xml create mode 100755 themes/thinker/base.html create mode 100755 themes/thinker/cse.xml create mode 100644 themes/thinker/favicon.ico create mode 100755 themes/thinker/listing.html create mode 100755 themes/thinker/post.html create mode 100755 themes/thinker/robots.txt create mode 100755 themes/thinker/search.html create mode 100755 themes/thinker/site_verification.html create mode 100755 themes/thinker/sitemap.xml create mode 100755 themes/thinker/static/css/cupertino/images/ui-anim_basic_16x16.gif create mode 100755 themes/thinker/static/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-icons_2694e8_256x240.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-icons_2e83ff_256x240.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-icons_3d80b3_256x240.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-icons_72a7cf_256x240.png create mode 100755 themes/thinker/static/css/cupertino/images/ui-icons_ffffff_256x240.png create mode 100755 themes/thinker/static/css/cupertino/jquery-ui-1.8.2.custom.css create mode 100755 themes/thinker/static/css/style.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shCore.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shCoreDefault.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shCoreDjango.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shCoreEclipse.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shCoreEmacs.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shCoreFadeToGrey.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shCoreMDUltra.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shCoreMidnight.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shCoreRDark.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shThemeDefault.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shThemeDjango.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shThemeEclipse.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shThemeEmacs.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shThemeFadeToGrey.css create mode 100755 themes/thinker/static/css/syntaxhighlighter/shThemeMDUltra.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shThemeMidnight.css create mode 100644 themes/thinker/static/css/syntaxhighlighter/shThemeRDark.css create mode 100644 themes/thinker/static/images/btn-search.png create mode 100755 themes/thinker/static/images/delicious_16.png create mode 100644 themes/thinker/static/images/ico-comments.png create mode 100644 themes/thinker/static/images/ico-retweet.png create mode 100644 themes/thinker/static/images/ico-shorturl.png create mode 100644 themes/thinker/static/images/ico-subscribe.png create mode 100644 themes/thinker/static/images/ico-tag.png create mode 100755 themes/thinker/static/images/posterous_16.png create mode 100644 themes/thinker/static/images/quote.png create mode 100644 themes/thinker/static/images/reader_16.png create mode 100755 themes/thinker/static/images/rss_16.png create mode 100755 themes/thinker/static/images/rss_32.png create mode 100755 themes/thinker/static/images/twitter_16.png create mode 100644 themes/thinker/static/js/dd_belatedpng.js create mode 100644 themes/thinker/static/js/jquery.dataTables.min.js create mode 100755 themes/thinker/static/js/jquery.embedly.min.js create mode 100644 themes/thinker/static/js/modernizr-1.5.min.js create mode 100644 themes/thinker/static/js/plugins.js create mode 100644 themes/thinker/static/js/script.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shAutoloader.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushAS3.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushAppleScript.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushBash.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushCSharp.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushColdFusion.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushCpp.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushCss.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushDelphi.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushDiff.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushErlang.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushGroovy.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushJScript.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushJava.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushJavaFX.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushPerl.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushPhp.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushPlain.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushPowerShell.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushPython.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushRuby.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushSass.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushScala.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushSql.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushVb.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shBrushXml.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shCore.js create mode 100644 themes/thinker/static/js/syntaxhighlighter/shLegacy.js diff --git a/themes/thinker/404.html b/themes/thinker/404.html new file mode 100755 index 0000000..8732636 --- /dev/null +++ b/themes/thinker/404.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} +{% block title %}Page Not Found{% endblock %} +{% block body %} +
+
+

This is somewhat embarrassing, isn’t it?

+
+ +
+

It seems we can’t find what you’re looking for. Perhaps searching, or one of the links below, can help.

+ + +
+
+{% endblock %} diff --git a/themes/thinker/admin/base.html b/themes/thinker/admin/base.html new file mode 100755 index 0000000..95266c0 --- /dev/null +++ b/themes/thinker/admin/base.html @@ -0,0 +1,6 @@ +{% extends "base.html" %} +{% block bodyclasses %}admin{% endblock %} +{% block menu %} + Posts + New Post +{% endblock %} diff --git a/themes/thinker/admin/deleted.html b/themes/thinker/admin/deleted.html new file mode 100755 index 0000000..34658ec --- /dev/null +++ b/themes/thinker/admin/deleted.html @@ -0,0 +1,5 @@ +{% extends "admin/base.html" %} +{% block title %}Post removed{% endblock %} +{% block body %} +

Your post has been removed.

+{% endblock %} diff --git a/themes/thinker/admin/edit.html b/themes/thinker/admin/edit.html new file mode 100755 index 0000000..15cf370 --- /dev/null +++ b/themes/thinker/admin/edit.html @@ -0,0 +1,11 @@ +{% extends "admin/base.html" %} +{% block title %}{% if form.instance %}Edit{% else %}New{% endif %} Post{% endblock %} +{% block body %} +

{% if form.instance %}Edit{% else %}New{% endif %} Post

+
+ + {{form}} +
+ +
+{% endblock %} diff --git a/themes/thinker/admin/index.html b/themes/thinker/admin/index.html new file mode 100755 index 0000000..4f00897 --- /dev/null +++ b/themes/thinker/admin/index.html @@ -0,0 +1,91 @@ +{% extends "admin/base.html" %} +{% block title %}All Posts{% endblock %} +{% block head %} + +{% endblock %} +{% block footer %} + + + +{% endblock %} +{% block body %} +

All Posts

+ {% ifnotequal last_post -1 %} +

Posts {{offset|add:1}} to {{last_post|add:1}}

+ + + + + {% for post in posts %} + + + + + + {% endfor %} +
TitlePublishedActions
{{post.title|escape}}{% if post.path %}{{post.published|date:"Y-m-d"}}{% else %}Draft{% endif %} + {% if post.path %} + View + {% else %} + Preview + {% endif %} + | + Edit + | +
+ Delete +
+
+ {% else %} +

+ No posts yet.
+ Write your first post. +

+ {% endifnotequal %} + {% ifnotequal offset 0 %} + <- Previous + {% endifnotequal %} + {% if posts|length_is:count %} + Next -> + {% endif %} + +

Admin Actions

+
+
+
+ +
+ +{% endblock %} diff --git a/themes/thinker/admin/published.html b/themes/thinker/admin/published.html new file mode 100755 index 0000000..196e287 --- /dev/null +++ b/themes/thinker/admin/published.html @@ -0,0 +1,14 @@ +{% extends "admin/base.html" %} +{% block title %}Post published{% endblock %} +{% block body %} + {% if post.published %} + {% if draft %} +

Your changes have been saved (but not published)

+ {% else %} +

Your post has been published!

+

View your post

+ {% endif %} + {% else %} +

Your draft post has been saved.

+ {% endif %} +{% endblock %} diff --git a/themes/thinker/admin/regenerating.html b/themes/thinker/admin/regenerating.html new file mode 100755 index 0000000..f6e99bd --- /dev/null +++ b/themes/thinker/admin/regenerating.html @@ -0,0 +1,6 @@ +{% extends "admin/base.html" %} +{% block title %}Regenerating posts{% endblock %} +{% block body %} +

All posts are now being regenerated. Check the admin console's Task Queue + page to determine when the process is complete.

+{% endblock %} diff --git a/themes/thinker/atom.xml b/themes/thinker/atom.xml new file mode 100755 index 0000000..3450067 --- /dev/null +++ b/themes/thinker/atom.xml @@ -0,0 +1,31 @@ + + + + {{config.blog_name}} + {{config.slogan}} + {{updated|date:"Y-m-d\TH:i:s\Z"}} + tag:{{config.host}},{{updated|date:"Y-m-d"}}:atom.xml + + + + Copyright (c) {{posts.0.updated|date:"Y"}} + + Thinker + + {% for post in posts %} + + {{post.title|escape}} + + tag:{{config.host}},{{post.updated|date:"Y-m-d"}}:post:{{post.key.id}} + {{post.updated|date:"Y-m-d\TH:i:s\Z"}} + {{post.published|date:"Y-m-d\TH:i:s\Z"}} + + {{config.author_name}} + http://{{config.host}}{{config.url_prefix}}/ + + + {{post.rendered|escape}} + + + {% endfor %} + diff --git a/themes/thinker/base.html b/themes/thinker/base.html new file mode 100755 index 0000000..cb3b0eb --- /dev/null +++ b/themes/thinker/base.html @@ -0,0 +1,184 @@ + + + + + {% block title %}{% endblock %} + + + {% block style %}{% endblock %} + + + + + + + + {% if config.rel_me %}{% endif %} + + {% block head %}{% endblock %} + + + + + + + +
+
+
+

{{config.blog_name}}

+

{{config.slogan}}

+
+
+ + + +
+
+
+ {% block body %}{% endblock %} +
+
+ +
+
    + {% for sidebar in config.sidebars %} +
  • +

    {{sidebar.0}}

    +
      + {% for entry in sidebar.1 %} +
    • {{entry}}
    • + {% endfor %} +
    +
  • + {% endfor %} + +
  • +

    Reading & Sharing

    +
      +
    +
  • +
+
+
+ +
+
+ © 2010 johndturner.com +
+
+ +
+ + + + + + + + + + + {% if config.analytics_id and not devel and not is_admin %} + + + {% endif %} + + + + + {% block footer %}{% endblock %} + + diff --git a/themes/thinker/cse.xml b/themes/thinker/cse.xml new file mode 100755 index 0000000..460787d --- /dev/null +++ b/themes/thinker/cse.xml @@ -0,0 +1,19 @@ + + + + {{config.blog_name}} + {{config.slogan}} + + + + + + + + + + + diff --git a/themes/thinker/favicon.ico b/themes/thinker/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d48338e9b607ea044e168a52032655eab5da24ca GIT binary patch literal 1150 zcmb7^-BVLX6u|Gj+$59_fe}#JFpWh}QD+bt=rCGoXo>RuT`JKEAp{DfhNx)4(wDXY zVpWLv!2>G81RTdV-+l4He}F%s3KdMJRUUsmH<1zOQ_r1qclYf6_MAO?W)(%1FEv$> zzfI}U6(v(ql>MS&5=+c3jiSihc0pwQ?LYke<`t2(6_!_4qxyO^!s=RtSId90yu896 zFJDT3g|*0EtiFlxZhhTAqjK~5H7bg21bruIX#JkLmTnqbyQyyKqO`mTZ)XeMbEo*C zq6TO8d3+K!~Bw)0E>NviCn z6doyNc6M$PA3)AULcE1z_Db5_!wg)UVZb+o+k1n?Gk&bQc9XFqiS!+bq$DJACp7sV zJ}D`Mrn495^-nSApC&Z*6j#qUuJcoTUeGFm6 zt~-eD(mkB+Anw6A>d%gno{^2Fm{Ap7_6}{~b8<^4uk4_~d6f%4J)+-#A7|%v+B{`8M{ydegMW`(^;>zQ%f1HaSgyuvPP zp7^$ini-RvZ%7~zz?yx4+(XCtx~_+sraqh0(;8)sJ&Zfs z5QA4$jrhbg@(apw)b@(s5r(eLbNT1TxcVnKQS0He{YA1aUiL5%7~9J0x|wX-J`NXE zQG0rn_TF2P_XoKB^L*nDQCiVST2>*tWp6D0v55`$5{q&FDkS6z+7Wbfj;uA}-<-c#{aBRAT7Lb~;CwewT zNfI_eR2M$D&A%pfp`&W1sA_s5R$C64SvHbWGKq`(NH|l}cZ}a2{|DYUizfLrNlvsl zsTa*6T- + var disqus_shortname = '{{config.disqus_forum}}'; + (function () { + var s = document.createElement('script'); s.async = true; + s.src = 'http://disqus.com/forums/{{config.disqus_forum}}/count.js'; + (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); + }()); + +{% endif %} +{% endblock %} +{% block body %} + {% for post in posts %} + + {% endfor %} + +{% endblock %} diff --git a/themes/thinker/post.html b/themes/thinker/post.html new file mode 100755 index 0000000..d4895d5 --- /dev/null +++ b/themes/thinker/post.html @@ -0,0 +1,80 @@ +{% extends "base.html" %} +{% block title %}{{post.title|escape}} - {{config.blog_name}}{% endblock %} +{% block bodyclasses %}{% if post.tags %}{% for tag in post.tag_pairs %}{{tag.1|escape}} {% endfor %}{% endif %}{% endblock %} +{% block footer %} + {% if devel %} + + {% endif %} + +{% endblock %} +{% block body %} + + + + + + {% if config.disqus_forum %} +
+

Comments

+
+ blog comments powered by Disqus +
+ {% endif %} + +{% endblock %} diff --git a/themes/thinker/robots.txt b/themes/thinker/robots.txt new file mode 100755 index 0000000..60539f1 --- /dev/null +++ b/themes/thinker/robots.txt @@ -0,0 +1,6 @@ +Sitemap: http://{{config.host}}{{config.url_prefix}}/sitemap.xml + +# http://www.robotstxt.org/ +# http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449 + +User-agent: * \ No newline at end of file diff --git a/themes/thinker/search.html b/themes/thinker/search.html new file mode 100755 index 0000000..74c601d --- /dev/null +++ b/themes/thinker/search.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} +{% block title %}Search results - {{config.blog_name}}{% endblock %} +{% block bodyclasses %}search{% endblock %} +{% block body %} +
+ + +{% endblock %} diff --git a/themes/thinker/site_verification.html b/themes/thinker/site_verification.html new file mode 100755 index 0000000..afc9968 --- /dev/null +++ b/themes/thinker/site_verification.html @@ -0,0 +1 @@ +google-site-verification: {{config.google_site_verification}} diff --git a/themes/thinker/sitemap.xml b/themes/thinker/sitemap.xml new file mode 100755 index 0000000..944d945 --- /dev/null +++ b/themes/thinker/sitemap.xml @@ -0,0 +1,8 @@ + + + {% for path in paths %} + + http://{{config.host}}{{config.url_prefix}}{{path}} + + {% endfor %} + diff --git a/themes/thinker/static/css/cupertino/images/ui-anim_basic_16x16.gif b/themes/thinker/static/css/cupertino/images/ui-anim_basic_16x16.gif new file mode 100755 index 0000000000000000000000000000000000000000..085ccaecaf5fa5c34bc14cd2c2ed5cbbd8e25dcb GIT binary patch literal 1553 zcma)+TTl~c6vwlh>nb99Af5rT)t{mCEg5urg=A(g z{C|6SPb~9Xage|wB`SrZk2FOMYM!buln2sX?5Y+T78iB(Zu9cS7|LZyZ++}u$^oi1 z_j@S}bW9OzU2R+RMy&~OT>X-oZ98$jq#ogNfJ!BM-42wHGZk*6s2KD}U*IA%epmxb zm}|6BK9YoIF;*xSL!+z@<64lB7->LTW2Vi4ostCA(z&2XniwNIv}fFo-`MbG;)u4G z^p@F!)|9HhZprHd_vXjDoxs6WkK-6P0@lfxnGT>*p(QHoUV=u1FAqb@b%*W=a3{`LsH5k^AvQNL>6fPpy#oU(&MuH(*aEX4b35*} zn4n7)`I2U%=+Z=?BVZQ?vjQFW4gD@~XSOO6b{qu81`4&LFuU2(ilxW+1|ZkNMnWe79C$gs zWT?Ele|HR{JGPe)5BTW>0Ey?-Ls6S#GoV0tbt6ku7B&*0 z;i9QM$W1Rj*rRIdceL)rAOSl+sDe3LkB87<%){;ZdHp6|SNlopDXRx< zxBDF9-lTo&v`8$humFygUij@qgT=Qzhj8{ym2-{Xciwqq_Xwk%=O3B-MNAL_6e`3U zyxwmXex4`g0^1RYw~Dth3av3Dl^AAlpO3mG!nLr#&ZZ7c_wUboI+deC+&%TFjK2Lm z!Y&f1h|T_On%RCV&=4bx`!>(YezqGVhl&QpED?N6GV)HmzJ9&rh$x*i?*@o9#6QI< z5ZI_MRX;0+pY8$`j)eF#TlUyG(eE%E7S!rj;mj^M5vhUicPm zVWQ2z+imFyg}SRABmOBY_@osR!>7Ov!ioK`NB6_Rv}7Ud?35ed5Sb@?yND?kv~RCa wqs^a3Sh>&&L4)!LKI?D2&k@))k(LESaga|C278ChSzn3NWVkcuNoY&{0f?~U_5c6? literal 0 HcmV?d00001 diff --git a/themes/thinker/static/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png b/themes/thinker/static/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png new file mode 100755 index 0000000000000000000000000000000000000000..6348115e6be09c044cd20ead0202c3ab5b2f9c19 GIT binary patch literal 251 zcmVaF75Mac}}vaR5#k2ZfJhrR<4^Z31`Wpz#J3a8LoN;Gh6h!a)X9!$AU6#K8$v z#Q`{F91Q%ZXUd*<*dgG~N1x91EQ4=6AkFgVs( zAAQ+GrQnN%`yz$&yRVt+nf>RR!x7drH9<9kle(1jzSB%AGQwhbfbL-MboFyt=akR{ E099={B>(^b literal 0 HcmV?d00001 diff --git a/themes/thinker/static/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png b/themes/thinker/static/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..705a32ea35d4d0012bfd3b6a3ffe17a2aaf21bb5 GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour0hIh978O6-<~(*Vo>05zNqru zes!`qYix+t4(>@$KQ4S5FeM|FA))8zv=y~toE^Ja);%%|y_LML;(w3fvtta7-CP_U Ta$7zCO=9qL^>bP0l+XkKumdMp literal 0 HcmV?d00001 diff --git a/themes/thinker/static/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png b/themes/thinker/static/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..baabca6baaff94ade4ecd5ddad28e35f52ea3af7 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq`W*`978O6-=1H{+u$H^^ufM+ zvdx>+CU0QuV-!dbkTBu=d3O3OBmLW&4uK;3Q}6PdBzSM&77W)>Ku`PSi#4qjXP8{lS YyPtFZh>C0s1RBTS>FVdQ&MBb@0KGXW`v3p{ literal 0 HcmV?d00001 diff --git a/themes/thinker/static/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png b/themes/thinker/static/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..28b566c2c29cc0f849995be62c10d7c292697803 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%A)HV~E7myQentGAQsIIS~9U zUP5CYm&Of+-c)b1XI_rZEUK1mr%ne<%>I8zSo#mI$dWz<>o-8144$rjF6*2UngI7o B9l-zq literal 0 HcmV?d00001 diff --git a/themes/thinker/static/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png b/themes/thinker/static/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..d58829780430e138704e956a850c2913039fd4d9 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l&z)bCBa S8D#`Ch{4m<&t;ucLK6U&At$5& literal 0 HcmV?d00001 diff --git a/themes/thinker/static/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png b/themes/thinker/static/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..6f898d5d34d518a25836a6ae71bdf2b0b92a30cf GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3Ja)XlH!`a>6`a9780gZtZjAYH;9TZvXdx z^Sqd?YV$&-aA`kEeWB>to){y;P`<|K;-w=~lww>MRIc~SGF#2(;hg6(iIV-sGZbkhsIkkPOWu2dS S1f&8@V(@hJb6Mw<&;$V9MX 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 X_Gc^EhHU=dFY}4IzFMt{L(KmG0@gx* literal 0 HcmV?d00001 diff --git a/themes/thinker/static/css/cupertino/images/ui-icons_2e83ff_256x240.png b/themes/thinker/static/css/cupertino/images/ui-icons_2e83ff_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..09d1cdc856c292c4ab6dd818c7543ac0828bd616 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/themes/thinker/static/css/cupertino/images/ui-icons_3d80b3_256x240.png b/themes/thinker/static/css/cupertino/images/ui-icons_3d80b3_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..52c3cc6b744776e9d66ea4e845f7a57c070aa851 GIT binary patch literal 4369 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 oBo%DI*Kv;w;*%(i9W@e^(7u_y7O^ literal 0 HcmV?d00001 diff --git a/themes/thinker/static/css/cupertino/images/ui-icons_72a7cf_256x240.png b/themes/thinker/static/css/cupertino/images/ui-icons_72a7cf_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..0d20b7308331069ee2950fa64cb15f4a29ca55f3 GIT binary patch literal 4369 zcmd^?`8O2)_s3^p#%>tku}Mhk*o=k zjAaH*q%n2|WBYo)Ki|(^@p+urx%YK{x#!$_?me&PE8ZG)k&{h?4FCXenwy#00sz3{ zD`1rcd~Av4mv)cclC`DX`GDg7|DBU+te<{dI4Zyvbp;>c^56h z`;7ykFJNMJN#e#ybz9{atvFoAgWkdJ)23prjp5}Vijv<}yq7<~%dD_LK&b_;FY~KB zrgJVBdPO|De}CBQ007{QF*h}~3x2)ilyJ2zm-o|r}hhtt9 zSt@Tw0?fy@$Va{qER(Mh0&%`pW^%{P!Vo00Y$(yL2YB(aucwCy=Ch{Vh{<^aAo@do z+E-!kpWw>?UI}TAR_A5{pZ}6#%SrwR>7YJZ~h+XnNnkuvK;eNry=O}4AFqntH zuBeK_UY<|XWyx=2%YrGSb12&DMQmE%A^+ku39jZ*NY}xM92*&=y@EDM&oC9EN!D>|biS8`jKxx_x2SkYCoNPRT)lt4#Pw zxFk0WY{FQ$StOH(MIh~FM%|mtM%8}Lx{eo}Vd$it$d7cOnE9ej&lh$p+719-VJkSH zX598C@Ur6*ycA%}8@-|RAFJ)lBePO())*AvI@`FroFhsL$YeAqjr6|(;U zo~q4_*i04KWR16Vg*J*I*BP5mMh;iL`zs9n|5`@x2|{h10x9Xk?kTjf(f^f zILd}5--N;Po4*25F|J3ywIv+R@rfcYNj}R-X*d^GR>;8G{jFR9>9#~NbTa?bAYbR2 z!`dI(9UO0w%6_b!`Mqz;OgG9Es_npQ;kj0?WB8DBY*r{0p3%&{gI-pqlI^1Bzn&f} zLDz43A!$TgU`u|c!zQ1(CpeLmC=ZPPFq?k?(T99tRI_TJPUg*H@d>nimZ5h~LS}dt zsWb2~dQ*@s+5!wki}W3U4TsvA5y<<9(So^sUJE$P9_z)!&)X^GQY=-T%DyWL^N12f zssbOy%c$X2uio1H3FEjZ2<R;IXOZUX*S~oiEK{g;kZQR;YE|!GA%9k2`dMSZ{f@d zAyEVO9yhkbl$_z03*`mCdmcld&gXJjMKf@02o8IhJv$8(hpjE(bD--Rm4t93B;v>2 zjZu?n2frD*tQ>N<(HP{|WL`Jhcu5%(i#0L1J-guuv1eQB^Gj|oDPXxTKkO7>-b1@p zCcMFukD2Q36!sn%EB5C2bVc(qtCU{B;5M``6V^og-tLN-;?0qou4aXCr;jUyxyn3i zEfxS4bxHoBTnvH*kv=8;Lv!-_tLYw)OWbR+s}y-vfxa?ghxEycx!`=qPX~7C(NJkA zXqL{^F6FsEu6TD@r5*34yFt}?F%*ogs*3(vtpge<(qrnO#i&({(bH&2FtnkCACtA? z7rH>TGgHI(;;q0W4cW9wD}IJu)aBZW1=Si%Bh#x@fQ_W)JPUOVTdyjLBEEe~1hP`y1F7ARf1qt}umq=Nft8 zn63kpJHMhI>@v6^BHUgm$%K4+FRi4}9c7-zc4N5WR;I(+FU5gwur@@f99n2NPO(mm zE4w%!Lv>-Vf2_$WF}ej~4x@XUJmE|{sn56h!ty42$rm!}wrXN#MMwRVyMabATs zAmiPlsy=YCeTy|O?Nl`{Uu^Oqun6;jU|_Ukz|2j31k=JfN%w$!t<&6uU9Daf2-uGR z$pvAXjWM&pGxLjW8=Oh)XaA))u1UvS}C zJn7&I+$TJAN6&;n=}zU>n{}-TtV;9)B^}^zgGw!M^>~JmRzMy^Qgkzv@JvHI_F{xs zUhUyD4>~0^mYCJC3#MAk^uohg`(GF`Gg>F}Ypbke2*jgR+C~J3t=`yMA)x?Nr0x?M z%GQbjh`B@R4l)3HBRpt5V^c!o_}>1M=V`CA?YHl8O&Iec{dJq#c~_Yw@EMkp)a|BJ z02v{6BM+jcs!C`sUBy!GpZ?)}$Xo4a1Qg_);OrDabyLnHt!bJp@D7VccsmoxKshvl z1@H?9_l}IlF8f%iWPIg33u=JcT@+a6V->cP)Z6UV6-n+UIiYD2l5kM9$#d)vS?t$r z!|G+lASS!I)@7f|VgUSG33YBW5=0bpGJvCa{p0e$EsZBX<*a-+{J?UAQ`Y6*^2>?^ zl)i+DDF>KelamX-Bj)wv@ZT{v=zf21ZQZut6P|GswO)T^H(=W$ESoVL?^#QlBc|Es z2JGqN_s$O2+D4)oKfdo}4b-EECoz+B6V|J9!a|wy>wfy1zCAem5WgX2KVwD3HWIN4 z1`fRk))_IC&aPo)PJflX@%_4WHoB6wyi_#%C~EMpKlV?51YABRbnmhU`A%DSU;|4( z-@Z+ogiDMfCRfQ0-_KbK#xl~HY$LmNmmJt{ODQShIZ#hMHu0!EKBoJ(+b#rf#p$Dz z^i(hl#3YA+@s~2#qK>>2)mcuvnf!?OjJ4%QkK)B21PtvRzGowvl?@^0{OdM5Ll*<@-gZCGOUCF8~ciCe)* zox1@o;nS|4_hCAxT_g)t_SO4(*tFKLZcda=W_Kev!;mnUesZRBS1^vjU*DGeLjx#F zw2_mGWS*vu8NK$H=oo8wsdTcyFYMq!1L_%krnb3~J8xcVUx8!dYX`a%1^knkgjH>2 zpPa6ElE;MD-Cyi3=sw!7e3?2m%axv1vPo0$Wvx3UfH&H%T|4k<(KN%l4vF^fpjR+3 zB4Rte;`5;@`jyby7DOD!NG+lH_+Ho8y907|-5dS761c6qdw53)^=-@f0$nh+o+M8- z#o56h?<;f7bdW8%Fknl|T)(|tPiyVOrtq2^p5TRqBB(~v?U=oUV1%i$Yu>-JB949n zExs%d6|AA^w$u%w&YP}8=s$8~l~vx{15IbC0b{c89X>l9+^gcYe|X4|5fHUogz>3f zkJcDbFCPkLPQPwIuV`v^m%0d-GaS;;TF#?B+AUJx0oMYvOC;kNJ&VqeBYOUVYbm!n zfA8gM1H})o0WKH^t(U)Y^b zw)G|lV`AB;3c2I6OiyK{(a?gSs5o2gbNu4KrZVAFW2Tl<{(%kcF)ppCfEf`M|LY-| z&3_CYxZLrMG+)%kN33sEsEXwK@IyR|A*AVn$8XrsyjD4b3N&CE>#Zuo+`-GCe_4m< zN?J@^!hd>A9Nbh>IxdGEetq=q$s+jEhmpb6`f}?rx5(4+aG!Ta`Z`9H#M49=>KPPv zpcuSGT^JQpZ3chRnMl^T2-wC-R?sfY-PmizQDQn3NF;c%)!*J;))RTV9-UW`{SQWX zhVH*#SOU-c`vYfCt6M&&C(v>%b=>N7HGOc`VOC**f5FPzY0MgnDi3%b*n_U-MAqc+_DmlcdFXk z;L@H@%@y*;*L}Y3->tDihTc{0(A$@T^_TKPis2d85AXd=$o?FbhCCyUdP zC!bPkAnQuSdC#2c?>7*yh$VZyUN6+xVSVsAPQnEL+`F{(ij07l$S!3@Iwyz!n`at; z1kT`N7`VTts<*>$_f4#n2qu$y4u^(G?q@pbm>=Gf<}u@3tfi#gN?(dyT$a;1;F_#z z2R)8OKK?5)X5J}u(s4C7mF@2Pak`X~clDTDAn(xc@((!y2@k^vkMxWe0pHGP{)`RE z#RiqyMoKzMZ`U|9bHg~u^1&tB!-;CXvh{G@h23kS4eX_doh;ei{i0L%eU`pFbT+30 z9TIlCZwQ(n#F{ho<3mLYfT6sSd&>MRrMB^B*M{jiq*n+ZZQTM_^>q1&UCjjXd zpx|1TH?=$;|1f*fjEqI)fsb|yt`0{eRS$SFTN32aaBsB}Uh7BD!fH=$hXkz3acO&i zl$>qg%}?xDgj;tI&Vb-W!T!7cd&xWgZb9O6k^K9iDL=ia@^kAF7^}*V6uyXx?;9Kx zhUW~BO)z_P#mM0*SxDO-wD0|f0JnS$ePKclj$f0q)nHZm0e5kMYx=iisd5qC{3B}|0ch(BQD4mYjOJ2Bl z_*(5u8>CV~C!=qk+IpAmc8n=TmLp;89+S+L&GN^Kxw>@k6s!V+s|f(iAH2$Osa|sR zX$CaITQn1_Y=va-s!xC7w~=33C;aBa!Sr%nw;JCGX9R7f%?v`B&T5abGEhlDwuHGu zls3_PogN}*@m1UiQ`-nRdnVp4Jz*C3o zNbU{erXPVv*2QH2znF;W=@|Nw+Xd{eqfMW-@8Pm1Ox-TP8a^6k9_%$^F4D1K)6l8y zX5>F=^jMD;+f3z}AsX3u%SHv81ZYR#B~7-MLxHTIo!w8D>E55g4Xq#hBB;PeAtoqJ#RmwV2==ic*rz7lOw=eaq=H~;_ux21)-Jpcgw zdj+hrf&W^f<%Qk9Zpqf#;q3n5{{POY;f!wmTR1An9(4&I0z1LNX50QSTV2M%4|y9c z#{ZQIVJKu~aY5?ZaZP*GIGqGs=e@q6o|EPhZB3CC?@LnORK8O@z{{<0KtSn5?#~OW zy=L;x8T&*%xqElS;s5~Pjk7d2bqIaA)xZbovnZd7eX17WNxx=w`p(8vulwUZ zl{so}MuRNJx5!8S5G;$o2?BApPHt+)!^#*Ww`?rcVE}mcyuY`X2o|uVUyI9o1t11O zemGWR?;aD#0$vJhiPhv~0iXS#iLq!>Qd$` zU{}<|Vb9Md>$4TMbL7C3GP#r;4Wc$}Z;^j;n}yc!E3d;`wry$!JkmJP0%(tIh!!TET8=+{rhUi^60G0t2HJSxXv-*DgC(HrJd8`|Dp3NvL5yg>xAvU zho|fEA~w^-HrW&H-JwkqNX2I-bEXBR&Uhp+y2^)1h1IIlNCzC!v-Mz@&z&VPz+cl1 z=f&f6Y*U~C`ixm4Sy1hl$hg(4%Dy;bq~k7d1<@K&%%NLT`L+A)-QXyKVswX?op90( zB#yeFEih@c{OXU8Oq~1CFI_38GXmns3(`;W(i+bslovCx4u7gvK>DrGOug*?G|1nz z_OR}|ZYS3pq-p?rS7G0qa`TM}r5XqDT4cV>%Qyk#9ES}`jc+Ww|DcbZrF6UG>CeXp zOVIV}K1e#z9@tu#?X)Ri=?zXMB`X3G-_I7FL-Zq`nbfWtX_EO1*!+U6pJW-_k&+vk zMd}THh}{(Ch_wPk(PI4vVB_KT76kGxVytLxpWg}&bHw`a3G#QzxV@ICNax&@hk3<_ zBh`Tq66G{-tCw$V{(y0v7l!tp20~@gdFXjzFbF#bJE7i>T4ux zQdrF3org^wFcnw$#bQMv@SfN3$Fuo7HnB_`2ZGB{ZqGr>%xP;2_!Q{=N-ZhU1c~^5 zdt=OO#wmcpkXJyCG?{{&n=R{Sn=Ytg;<09CH)l7TA&wkt{Q;>RrA2Ia6-QixEPLrU z%0)N$3Nh0?U825&v($Sz}0G_(!v&xSSAzje4{rup+^W@^}ByqOb95$E0sbwK*%#GP}!6`%*Z@L;&C z3^dE&>5%bWAXmP*X1 z_m}Pivs*u7@9i>qA!58fDCwj^M<1P(u^m;urVdlM@>aIf+E3-d9ZW>fc4cS7w5O3sCmKKn z+94A?VyfSBb9{}rEbCIYtXORJBCv__fnZ>?a}edaA%bP$jI?J^q0UKO!mduA8U!3b z0CJ_Js}NWQZoebapVUHP%pPOUm?1<)zd%`hzUM-Y6g1z|@@3G_kio?S0bcbjQuxJd>vU$Uyz(4*peEDSVc-G;O;% z9Y97%Tq}TRsH+oN%2u(oyC=W<9`e@&m;i;jC%L;sP(9RBDQnth3;ZMEQNFH3GEf0c zU<3RF!hNG-vCDooYFS^nPlFnv4(ElI1=vNcr42TF^uq67f{MoN>{f&>xA91r4pz5Zc&@P^i-9||`98v$Si!U@}ouZ88W zg;YL=OQ;4}UQtkpyd~lD{qWy0H|lwJXKmenz#E=*9kt$YX*X!wDk7ITlIUGWnj>a7 z<_GQR752@J)Y(U)ncu(dIit7P}oBq8x$FP85)&Nsw<#rOW z8U_x(1J)Zgm(8tZXU%+(yYcO+Z7#ZszPwa2`ygiMPayX9KondtFMRK!7x`9uWN;(f zfWW?8yOdj;GA3We0YAW92gWipn(d>zcbA+vZ_21BxF?-pfcW` zbqY??6ie(6M)p@6@WQ?Tl7 zoKrKEj|x~2yZehhMLkFRRnOC>XL&L+N;m0B{_OQ9gzzTYb!!Jct=bk?_hIpY9rOwY zMnr69R(?8EN52qR+k!~qnCYc-KmV&*d$&NY?t5cjR)V+ncMor=puTRoo?{5dH;@!* z<~RrV!+ljAN+;Qx2LraY&JWnz^|sYbZjP+Y;|pC#DuHUH+>F~x3PqTkx)=OAE0X9( z(AO6gp~AH^{nq+n)LHYDD8mQN?DDFcd!U&d4PaajzSD1~lXq3p{x=^vItrq3gD^4O z=hYS`?&C-0&KuAV>Jv}T?ba0IafL$~+bZ}p$9lwyyx=-uPN`Hpvv<)Ia>OWHa4+N4 z6zscrW$^XA32EJw^7hYtkRJr{Q8 zQ|*1pp_q6Mno|D6EX!kgSv0h0I3~ef_l%$DTFjL`0y16n%^dGNQn;2V82mqoIi9i{15vu zLq&(BTl9CInUjZlTIa>^!!HlMK3W8Sd_Ow0+E8IT?h$=55$^Z)$WYIuig=O;Lp_1Q z4wOT;XbWQ!>Mh`pdXuSo=KBba;wT!wK`Hf1Ueh04*%D7Kfj*#b~BNfvz zsbf?uiMm5-xhaQ|7Om2OrYbU>ngUM9%F5nU<65IFyu(`yZ;Vb1)=wCd!L2K?c$ezE z4IbS|^?Z>)eEp}ZfjwF)Waw?pPJ?{~*g%;efxO~Nx7dQGLWZ)cPQ*T!((W- zGm2?tM)K}7oG<0Xz<`ltWjxvE<$AH!4*R{A2~uYGr@m!vm*j+e#CE9^*}Oc#uihB| z5;#kMY2^8mrr80%*+02bDx6B{Jsch(d7kQGV7~iGTgFZBu$Pf`tNf`B2{|t7fGhIq zos0xF#l$bfxOtcGDd*MDbdKBaCKxgCEbr8JTNd_1bjWC{Ubgk z9~)9;A1&=FyIt$l!VBXfD~6VCk0fjO%QwLJ7k00RH*%I8cCqF542VzP^;`OU-_?=< zbV}OoQE)HqV`|)X5+WbgSxGWH>t+7-O;(l~Z+FJJ)sygu^+eF01#Suj+pnAcw!s>p z$-xF}c>7t9X6H$^V9hvT5H{jKv+=zzWHA0pgw8e5fZpm9vIphVq3%S4*N3%&jsY^Q zK%sSPuj=?d{ATs0o0y6#0w3%YT^@-_sTuTUwI(Q{;l3KjeAbVk#Wmi%PDxm`zoqQ~ z((<-}*FSP%5gt7uI3t1&75ne{@1^bpdW1;MMGNkSr~UAuDbB4+VQi|x(gdO^zin_) zncfs2hj8xdiiy)@vVkfkItLKvsGtJhrTb0T~tFl4Q3J!flauS==b& z6Bm!g%dDvlCf(St$kVofvH90|9yl-gmvRvcKS&Ye9DdoTK@2m}iSvC{3m%4E0 z@TJD7c1V?!URM7+t?f3)%{X(6JXg~A9TvGQyX6n(^Yt0NX;>vDPcr~mICPooLWA_` z<1A>FuXr|C)dtDr*PQt%Xs5WePWUB&gBj$zZ#BIY%?jDdpbSA-PV0`dGf^oa_Jp}Z zlrGV7oe`#B^+nPIQ`ZDJeJas=ru#=*YL#+n?Go}f33>1GsZ{TTy2bdBihj}mz*mp! zOzn%{WgLM=*CpiuKUs*GnHa{B$2siJqfNi|Z;|rH%stM*8b26kAMCYY&NHwPGtlYn z7UVx_^sgR$Z8x27foS63FCPt|gtcG_ zy#@C|!VQV~TY}G5e57qp?F4jRxqq~@h6^?-cvD>ySwVLl2m7=gERtEn>Fw_@ND%pO oiVC*mbz<%I+0K1Z`+LWvZ$3~$+A!Gm?^hpSc@||}WrmLVKLvuzv;Y7A literal 0 HcmV?d00001 diff --git a/themes/thinker/static/css/cupertino/jquery-ui-1.8.2.custom.css b/themes/thinker/static/css/cupertino/jquery-ui-1.8.2.custom.css new file mode 100755 index 0000000..3690207 --- /dev/null +++ b/themes/thinker/static/css/cupertino/jquery-ui-1.8.2.custom.css @@ -0,0 +1,286 @@ +/* +* jQuery UI CSS Framework +* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +*/ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute; left: -99999999px; } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* +* jQuery UI CSS Framework +* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) +* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=deedf7&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=100&borderColorHeader=aed0ea&fcHeader=222222&iconColorHeader=72a7cf&bgColorContent=f2f5f7&bgTextureContent=04_highlight_hard.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=362b36&iconColorContent=72a7cf&bgColorDefault=d7ebf9&bgTextureDefault=02_glass.png&bgImgOpacityDefault=80&borderColorDefault=aed0ea&fcDefault=2779aa&iconColorDefault=3d80b3&bgColorHover=e4f1fb&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=74b2e2&fcHover=0070a3&iconColorHover=2694e8&bgColorActive=3baae3&bgTextureActive=02_glass.png&bgImgOpacityActive=50&borderColorActive=2694e8&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=ffef8f&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=25&borderColorHighlight=f9dd34&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=cd0a0a&bgTextureError=01_flat.png&bgImgOpacityError=15&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffffff&bgColorOverlay=eeeeee&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=90&opacityOverlay=80&bgColorShadow=000000&bgTextureShadow=04_highlight_hard.png&bgImgOpacityShadow=70&opacityShadow=30&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px +*/ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #dddddd; background: #f2f5f7 url(images/ui-bg_highlight-hard_100_f2f5f7_1x100.png) 50% top repeat-x; color: #362b36; } +.ui-widget-content a { color: #362b36; } +.ui-widget-header { border: 1px solid #aed0ea; background: #deedf7 url(images/ui-bg_highlight-soft_100_deedf7_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; } +.ui-widget-header a { color: #222222; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #aed0ea; background: #d7ebf9 url(images/ui-bg_glass_80_d7ebf9_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2779aa; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2779aa; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #74b2e2; background: #e4f1fb url(images/ui-bg_glass_100_e4f1fb_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #0070a3; } +.ui-state-hover a, .ui-state-hover a:hover { color: #0070a3; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #2694e8; background: #3baae3 url(images/ui-bg_glass_50_3baae3_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #ffffff; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #ffffff; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #f9dd34; background: #ffef8f url(images/ui-bg_highlight-soft_25_ffef8f_1x100.png) 50% top repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #cd0a0a url(images/ui-bg_flat_15_cd0a0a_40x100.png) 50% 50% repeat-x; color: #ffffff; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_72a7cf_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_72a7cf_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_72a7cf_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_3d80b3_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_2694e8_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; border-top-left-radius: 6px; } +.ui-corner-tr { -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; border-top-right-radius: 6px; } +.ui-corner-bl { -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; border-bottom-left-radius: 6px; } +.ui-corner-br { -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; border-bottom-right-radius: 6px; } +.ui-corner-top { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; border-top-left-radius: 6px; -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; border-top-right-radius: 6px; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; border-bottom-left-radius: 6px; -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; border-bottom-right-radius: 6px; } +.ui-corner-right { -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; border-top-right-radius: 6px; -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; border-bottom-right-radius: 6px; } +.ui-corner-left { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; border-top-left-radius: 6px; -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; border-bottom-left-radius: 6px; } +.ui-corner-all { -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; } + +/* Overlays */ +.ui-widget-overlay { background: #eeeeee url(images/ui-bg_diagonals-thick_90_eeeeee_40x40.png) 50% 50% repeat; opacity: .80;filter:Alpha(Opacity=80); } +.ui-widget-shadow { margin: -7px 0 0 -7px; padding: 7px; background: #000000 url(images/ui-bg_highlight-hard_70_000000_1x100.png) 50% top repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; } \ No newline at end of file diff --git a/themes/thinker/static/css/style.css b/themes/thinker/static/css/style.css new file mode 100755 index 0000000..2a6c581 --- /dev/null +++ b/themes/thinker/static/css/style.css @@ -0,0 +1,454 @@ +/* +Theme Name: Thinker +Description: HTML5 theme based off of Paul Irish's Boiler Plate http://html5boilerplate.com/. +Author: John Turner +Author URI: http://johndturner.com +Version: 0.1 + + +*/ + +/*------------------------------------------------------------------------------------------- + +INDEX: +0. RESETS +-0.1 reset +-0.2 fonts + +1. SETUP +-1.1 Defaults +-1.2 Hyperlinks + +2. SITE STRUCTURE & APPEARANCE +-2.1 Layout +-2.2 Navigation +-2.2.1 Drop-down menus +-2.3 Header +-2.4 Content +-2.5 Sidebar +-2.6 Footer + +3. POSTS +-3.1 Post +-3.2 Images +-3.3 Pagination + +4. WIDGETS +-4.1 Homepage widgets +-4.2 Generic sidebar Widgets +-4.3 Specific Widgets + +5. COMMENTS +-5.1 Comments +-5.2 Pingbacks / Trackbacks +-5.3 Comments Form + +6. MISC +-6.1 Buttons +-6.2 Info Boxes +-6.3 Screen Readers +-6.4 Conatct Form +-6.5 SyntaxHighlighter + +7. ADMIN +-7.1 Datatable + +8. MOBILE +-8.1 Layout + +9. PRINT +-9.1 Layout + +FONT TABLE +10 77 +11 85 +12 93 +13 100 +14 108 +15 116 +16 123.1 +17 131 +18 138.5 +19 146.5 +20 153.9 +21 161.6 +22 167 +23 174 +24 182 +25 189 +26 197 + +-------------------------------------------------------------------------------------------*/ + +/*-------------------------------------------------------------------------------------------*/ +/* 1. RESETS */ +/*-------------------------------------------------------------------------------------------*/ +/* Use YUI http://yui.yahooapis.com/combo?2.8.1/build/reset-fonts/reset-fonts.css&2.8.1/build/base/base-min.css */ + +/* 0.1 html5 */ +html, body, div, span, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +abbr, address, cite, code, +del, dfn, em, img, ins, kbd, q, samp, +small, strong, sub, sup, var, +b, i, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, figure, footer, header, +hgroup, menu, nav, section, menu, +time, mark, audio, video { + margin:0; + padding:0; + border:0; + outline:0; + font-size:100%; + vertical-align:baseline; + background:transparent; +} +article, aside, figure, footer, header, +hgroup, nav, section { display:block; } +nav ul { list-style:none; } +blockquote, q { quotes:none; } +blockquote:before, blockquote:after, +q:before, q:after { content:''; content:none; } +a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; } +ins { background-color:#ff9; color:#000; text-decoration:none; } +mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; } +del { text-decoration: line-through; } +abbr[title], dfn[title] { border-bottom:1px dotted #000; cursor:help; } +/* tables still need cellspacing="0" in the markup */ +table { border-collapse:collapse; border-spacing:0; } +hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; } +input, select { vertical-align:middle; } + +/* 0.1 fonts */ +body {font:13px/1.231 "Helvetica Neue", Helvetica, Arial, sans-serif;}; + *font-size:small; /* for IE */ + *font:x-small; /* for IE in quirks mode */ + line-height:1.22; +} +select,input,button,textarea {font:99% arial,helvetica,clean,sans-serif;} +table {font-size:inherit;font:100%;} +pre,code,kbd,samp,tt {font-family:monospace;*font-size:108%;line-height:100%;} + +/*-------------------------------------------------------------------------------------------*/ +/* 1. SETUP */ +/*-------------------------------------------------------------------------------------------*/ + +/* 1.1 Defaults */ +html { -webkit-font-smoothing: antialiased; } +body{background:#fff;} +body, select, input, textarea { color:#444; } +h1,h2,h3,h4,h5,h6 { text-rendering: optimizeLegibility; } +h1,h2,h3{font-family: 'Cardo', arial, serif;} +h1{font-size:197%;} +h2{font-size:167%;} +h3{font-size:108%;} +h1,h2,h3{margin:0 0 1em 0;} +h1,h2,h3,h4,h5,h6,strong{font-weight:bold;} +abbr,acronym{border-bottom:1px dotted #000;cursor:help;} +em{font-style:italic;} +blockquote,ul,ol,dl{margin:1em;} +ol,ul,dl{margin-left:2em;} +ol li{list-style:decimal outside;} +ul li{list-style:disc outside;} +dl dd{margin-left:1em;} +small { font-size:85%; } +th { font-weight: bold; } +td, td img { vertical-align:top; } +sub { vertical-align: sub; font-size: smaller; } +sup { vertical-align: super; font-size: smaller; } +/*th,td{border:1px solid #000;padding:.5em;} +th{font-weight:bold;text-align:center;}caption{margin-bottom:.5em;text-align:center;} +p,fieldset,table{margin-bottom:1em;}*/ +p,fieldset{margin-bottom:1em;} +input, textarea {} +/* align checkboxes, radios, text inputs with their label + by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css */ +input[type="radio"] { vertical-align: text-bottom; } +input[type="checkbox"] { vertical-align: bottom; *vertical-align: baseline; } +.ie6 input { vertical-align: text-bottom; } +/* hand cursor on clickable input elements */ +label, input[type=button], input[type=submit], button { cursor: pointer; } +/* These selection declarations have to be separate.No text-shadow: twitter.com/miketaylr/status/12228805301 Also: hot pink. */ +::-moz-selection{ background: #FF5E99; color:#fff; text-shadow: none; } +::selection { background:#FF5E99; color:#fff; text-shadow: none; } +/* always force a scrollbar in non-IE */ +html { overflow-y: scroll; } +/* make buttons play nice in IE: www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */ +button { width: auto; overflow: visible; } +/* bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { -ms-interpolation-mode: bicubic; } + +/* Non-semantic helper classes */ +/* for image replacement */ +.ir { display:block; text-indent:-999em; overflow:hidden; background-repeat: no-repeat; } +/* Hide for both screenreaders and browserscss-discuss.incutio.com/wiki/Screenreader_Visibility */ +.hidden { display:none; visibility:hidden; } +/* Hide only visually, but have it available for screenreaders www.webaim.org/techniques/css/invisiblecontent/ Solution from: j.mp/visuallyhidden - Thanks Jonathan Neal! */ +.visuallyhidden { position:absolute !important; + clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); } +/* Hide visually and from screenreaders, but maintain layout */ +.invisible { visibility: hidden; } +/* >> The Magnificent CLEARFIX << j.mp/phayesclearfix */ +.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.clearfix { zoom: 1; } + +/* 1.2 Hyperlinks */ +a, a:visited,a:active { color: #444; text-decoration:none; } +#site-title a,#site-title a:visited,a:active{color: #444;} +.entry-content a,.entry-content a:visited,a:active { color: #3cb4cd; } +.entry-summary a,.entry-summary a:visited,a:active { color: #3cb4cd; } +a:hover { text-decoration:underline; } +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, a:active { outline: none; } +/* j.mp/webkit-tap-highlight-color */ +a:link { -webkit-tap-highlight-color: #FF5E99; } + + +h1 a, h1 a:visited, h2 a, h2 a:visited, h3 a, h3 a:visited, +h4 a, h4 a:visited, h5 a, h5 a:visited, h6 a, h6 a:visited { text-decoration: none; } +h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {text-decoration: underline;} + +/*-------------------------------------------------------------------------------------------*/ +/* 2. SITE STRUCTURE & APPEARANCE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 2.1 Layout */ +#wrapper{width:960px;margin:0 auto;font-size:108%;line-height:1.6em;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:0 20px} +#primary{float: right;margin: 0 0 0 -250px;width: 100%;} +#content {margin: 0 0 0 250px;} +#secondary {float: left;overflow: hidden;width: 200px;} +#colophon {clear: both;width: 100%;} + +/* 2.2 Navigation */ +#access{display:none;} + +/* 2.2.1 Drop-down menus */ + +/* 2.3 Header */ +#branding{padding:0 0 0 250px;} +#site-title{font-size:300%;margin:1em 0 0;} +#site-description{font:italic 108% Georgia,serif;color:#666;margin:0 0 40px 165px;} + +/* 2.4 Content */ +#content{padding:0 0 40px;} + +/* 2.5 Sidebar */ +#sidebar{overflow:hidden;margin:80px 0 0;} + +/* 2.6 Footer */ +#site-generator {position: absolute;left: -9000em;} + +/*-------------------------------------------------------------------------------------------*/ +/* 3. POSTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 3.1 Post */ +.post{margin: 0px 0px 4em;} +.entry-meta {margin:1em 0;color:#999;} +.entry-meta,.readmore{font-size:85%;} +.entry-meta a time{display:inline;} +.share{margin:20px 0;} +#tweet-btn{display:inline;} +.page .entry-meta, .page #comments{display:none;} +.listing .page{display:none;} +blockquote{background:url('../images/quote.png') no-repeat left top;padding:0 0 0 35px;} + +/* 3.2 Images */ +.thumbnail {max-width:150px;} +.tag-links{background:url('../images/ico-tag.png') no-repeat right;padding:0 15px 0 0;margin:0 7px 0 0;} +.comments-link{background:url('../images/ico-comments.png') no-repeat right;padding:7px 25px 0 0;margin:0 7px 0 0;} + +/* 3.3 Pagination */ + +/*-------------------------------------------------------------------------------------------*/ +/* 4. WIDGETS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 4.1 Homepage Widgets */ + +/* 4.2 Generic Sidebar Widgets */ +.widget-area ul{margin:0 0 25px 0;} +.widget-container, .widget-container ul li{list-style-type:none;} +.widget-title {display:none;} + +/* 4.3 Specific Widgets */ +/* NAVIGATION */ +#widget-navigation{text-align:right;} + +/* SEARCH */ +#search label{display:none;} +#quick-search p{border:1px solid #f2f2f2;} +.tbox{width:83%;font-size:114%;height:25px;border:none;} +.btn{float:right;margin:5px 4px 0;} + +/* REALTIME */ +#widget-realtime{font-size:77%;} +#widget-realtime{margin:20px 0 0;} +#widget-realtime li{margin:0 0 5px 0;} +.update-posterous{background:url('../images/posterous_16.png') no-repeat left 3px;padding:0 0 0 20px;} +.update-reader{background:url('../images/reader_16.png') no-repeat left 3px;padding:0 0 0 20px;} +.update-delicious{background:url('../images/delicious_16.png') no-repeat left 3px;padding:0 0 0 20px;} + +/*-------------------------------------------------------------------------------------------*/ +/* 5. COMMENTS */ +/*-------------------------------------------------------------------------------------------*/ + +/* 5.1 Comments */ + +/* 5.2 Comments Form */ + +/* 5.3 Pingbacks / Trackbacks */ + +/*-------------------------------------------------------------------------------------------*/ +/* 6. MISC */ +/*-------------------------------------------------------------------------------------------*/ + +/* 6.1 Buttons */ +input[type="button"],input[type="submit"] { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#f5f5f5), to(#999)); + background-image: -moz-linear-gradient(top, #f5f5f5, #999); + border: 1px solid #999; + margin: 5px; + padding: 5px; + color: #333; +} +/* 6.2 Info Boxes */ + +/* 6.3 Screen Readers */ +.screen-reader-text {position: absolute;left: -9000em;} + +/* 6.4 Contact Form */ + +/* 6.4 SyntaxHighlighter */ +.syntaxhighlighter { + padding: 10px 0px; +} + +/*-------------------------------------------------------------------------------------------*/ +/* 6. ADMIN */ +/*-------------------------------------------------------------------------------------------*/ + +/* 6.1 General */ +.admin #access {width:500px;display:block;position:fixed; top:20px;left: 50%;margin-left: -250px; + -moz-border-radius: 10px; /* FF1+ */ + -webkit-border-radius: 10px; /* Saf3+, Chrome */ + border-radius: 10px; /* Opera 10.5, IE 9 */ + background-color: #000; + background-color: rgba(0, 0, 0, 0.9); /* FF3+, Saf3+, Opera 10.10+, Chrome */ + color:#fff; + -moz-box-shadow: 0px 0px 10px #333; /* FF3.5+ */ + -webkit-box-shadow: 0px 0px 10px #333; /* Saf3.0+, Chrome */ + box-shadow: 0px 0px 10px #333; /* Opera 10.5, IE 9.0 */ + z-index:999; + + } +.admin #access ul li{display: inline;list-style-type: none;padding:0 20px 0 0;} + +.admin #access ul li a{color:#fff;} + +/* 6.2 Datatable */ +/* Use jQueryUI */ +#edit-post{ + width:100%; +} + +.dataTables_wrapper{ + margin:20px 0; +} + +.dataTables_wrapper table tr th{ + padding:3px; +} + +#post-listing,#post-listing thead, #post-listing tbody{ + width:100%; +} + +.fg-toolbar{ + padding:5px; +} + +.dataTables_length,.dataTables_info{ + float:left; + width:40%; +} + +.dataTables_paginate,.dataTables_filter{ + float:right; + width:40%; +} + +.css_right { + float:right; +} + +.dataTables_wrapper .odd{ + padding:3px; + background:#f2f2f2; +} + +.dataTables_wrapper .even{ + padding:3px; + background:#f9f9f9; +} + +.dataTables_wrapper .odd td,.dataTables_wrapper .even td{ + padding:3px; +} + +/*-------------------------------------------------------------------------------------------*/ +/* 8. MOBILE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 8.1 Layout */ +/*layouts smaller than 600px, iPhone and mobiles*/ +@media handheld and (max-width: 480px), screen and (max-device-width: 480px), screen and (max-width: 600px) { + html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } + h1,h2,h3,h4,h5,h6 { text-rendering: auto; } + #wrapper{width:97%;padding:0;} + h1,h2,h3{line-height: 1.1em;} + #content{margin:0;padding:0;} + #branding{padding:20px 0;} + #primary{margin:0;float:none;} + #secondary{display:none;} + .post img{max-width:300px;} + #facebook-like iframe{width:100% !important;} +} + +/*layouts larger than 920px*/ +@media screen and (min-width: 920px) { +} +/*layouts larger than 1350px*/ +@media screen and (min-width: 1350px) { +} +/*Just iPhone*/ +@media only screen and (max-device-width: 480px) { +} +/*iPad styles*/ +@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { +} + +/*-------------------------------------------------------------------------------------------*/ +/* 9. MOBILE */ +/*-------------------------------------------------------------------------------------------*/ + +/* 9.1 Layout */ +@media print { + * { background: transparent !important; color: #444 !important; text-shadow: none; } + a, a:visited { color: #444 !important; text-decoration: underline; } + a:after { content: " (" attr(href) ")"; } + abbr:after { content: " (" attr(title) ")"; } + .ir a:after { content: ""; } /* Don't show links for images */ + pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } + img { page-break-inside: avoid; } + @page { margin: 0.5cm; } + p, h2, h3 { orphans: 3; widows: 3; } + h2, h3{ page-break-after: avoid; } +} \ No newline at end of file diff --git a/themes/thinker/static/css/syntaxhighlighter/shCore.css b/themes/thinker/static/css/syntaxhighlighter/shCore.css new file mode 100644 index 0000000..34f6864 --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shCore.css @@ -0,0 +1,226 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1em !important; + min-height: inherit !important; + min-height: auto !important; +} + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; +} +.syntaxhighlighter.source { + overflow: hidden !important; +} +.syntaxhighlighter .bold { + font-weight: bold !important; +} +.syntaxhighlighter .italic { + font-style: italic !important; +} +.syntaxhighlighter .line { + white-space: pre !important; +} +.syntaxhighlighter table { + width: 100% !important; +} +.syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; +} +.syntaxhighlighter table td.code { + width: 100% !important; +} +.syntaxhighlighter table td.code .container { + position: relative !important; +} +.syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; +} +.syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0 0.5em 0 1em !important; +} +.syntaxhighlighter table td.code .line { + padding: 0 1em !important; +} +.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; +} +.syntaxhighlighter.show { + display: block !important; +} +.syntaxhighlighter.collapsed table { + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; +} +.syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; +} +.syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; +} +.syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; +} +.syntaxhighlighter .toolbar span.title { + display: inline !important; +} +.syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; +} +.syntaxhighlighter .toolbar a.expandSource { + display: none !important; +} +.syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; +} +.syntaxhighlighter.ie .toolbar { + line-height: 8px !important; +} +.syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; +} +.syntaxhighlighter.printing .line.alt1 .content, +.syntaxhighlighter.printing .line.alt2 .content, +.syntaxhighlighter.printing .line.highlighted .number, +.syntaxhighlighter.printing .line.highlighted.alt1 .content, +.syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; +} +.syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; +} +.syntaxhighlighter.printing .line .content { + color: black !important; +} +.syntaxhighlighter.printing .toolbar { + display: none !important; +} +.syntaxhighlighter.printing a { + text-decoration: none !important; +} +.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; +} +.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; +} +.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; +} +.syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; +} +.syntaxhighlighter.printing .preprocessor { + color: gray !important; +} +.syntaxhighlighter.printing .variable { + color: #aa7700 !important; +} +.syntaxhighlighter.printing .value { + color: #009900 !important; +} +.syntaxhighlighter.printing .functions { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .constants { + color: #0066cc !important; +} +.syntaxhighlighter.printing .script { + font-weight: bold !important; +} +.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; +} +.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; +} +.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shCoreDefault.css b/themes/thinker/static/css/syntaxhighlighter/shCoreDefault.css new file mode 100644 index 0000000..08f9e10 --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shCoreDefault.css @@ -0,0 +1,328 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1em !important; + min-height: inherit !important; + min-height: auto !important; +} + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; +} +.syntaxhighlighter.source { + overflow: hidden !important; +} +.syntaxhighlighter .bold { + font-weight: bold !important; +} +.syntaxhighlighter .italic { + font-style: italic !important; +} +.syntaxhighlighter .line { + white-space: pre !important; +} +.syntaxhighlighter table { + width: 100% !important; +} +.syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; +} +.syntaxhighlighter table td.code { + width: 100% !important; +} +.syntaxhighlighter table td.code .container { + position: relative !important; +} +.syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; +} +.syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0 0.5em 0 1em !important; +} +.syntaxhighlighter table td.code .line { + padding: 0 1em !important; +} +.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; +} +.syntaxhighlighter.show { + display: block !important; +} +.syntaxhighlighter.collapsed table { + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; +} +.syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; +} +.syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; +} +.syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; +} +.syntaxhighlighter .toolbar span.title { + display: inline !important; +} +.syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; +} +.syntaxhighlighter .toolbar a.expandSource { + display: none !important; +} +.syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; +} +.syntaxhighlighter.ie .toolbar { + line-height: 8px !important; +} +.syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; +} +.syntaxhighlighter.printing .line.alt1 .content, +.syntaxhighlighter.printing .line.alt2 .content, +.syntaxhighlighter.printing .line.highlighted .number, +.syntaxhighlighter.printing .line.highlighted.alt1 .content, +.syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; +} +.syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; +} +.syntaxhighlighter.printing .line .content { + color: black !important; +} +.syntaxhighlighter.printing .toolbar { + display: none !important; +} +.syntaxhighlighter.printing a { + text-decoration: none !important; +} +.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; +} +.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; +} +.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; +} +.syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; +} +.syntaxhighlighter.printing .preprocessor { + color: gray !important; +} +.syntaxhighlighter.printing .variable { + color: #aa7700 !important; +} +.syntaxhighlighter.printing .value { + color: #009900 !important; +} +.syntaxhighlighter.printing .functions { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .constants { + color: #0066cc !important; +} +.syntaxhighlighter.printing .script { + font-weight: bold !important; +} +.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; +} +.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; +} +.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; +} + +.syntaxhighlighter { + background-color: white !important; +} +.syntaxhighlighter .line.alt1 { + background-color: white !important; +} +.syntaxhighlighter .line.alt2 { + background-color: white !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #e0e0e0 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: black !important; +} +.syntaxhighlighter table caption { + color: black !important; +} +.syntaxhighlighter .gutter { + color: #afafaf !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #6ce26c !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #6ce26c !important; + color: white !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: blue !important; + background: white !important; + border: 1px solid #6ce26c !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: blue !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: red !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #6ce26c !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: black !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: black !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #008200 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: blue !important; +} +.syntaxhighlighter .keyword { + color: #006699 !important; +} +.syntaxhighlighter .preprocessor { + color: gray !important; +} +.syntaxhighlighter .variable { + color: #aa7700 !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #ff1493 !important; +} +.syntaxhighlighter .constants { + color: #0066cc !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #006699 !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: gray !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: red !important; +} + +.syntaxhighlighter .keyword { + font-weight: bold !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shCoreDjango.css b/themes/thinker/static/css/syntaxhighlighter/shCoreDjango.css new file mode 100644 index 0000000..1db1f70 --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shCoreDjango.css @@ -0,0 +1,331 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1em !important; + min-height: inherit !important; + min-height: auto !important; +} + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; +} +.syntaxhighlighter.source { + overflow: hidden !important; +} +.syntaxhighlighter .bold { + font-weight: bold !important; +} +.syntaxhighlighter .italic { + font-style: italic !important; +} +.syntaxhighlighter .line { + white-space: pre !important; +} +.syntaxhighlighter table { + width: 100% !important; +} +.syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; +} +.syntaxhighlighter table td.code { + width: 100% !important; +} +.syntaxhighlighter table td.code .container { + position: relative !important; +} +.syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; +} +.syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0 0.5em 0 1em !important; +} +.syntaxhighlighter table td.code .line { + padding: 0 1em !important; +} +.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; +} +.syntaxhighlighter.show { + display: block !important; +} +.syntaxhighlighter.collapsed table { + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; +} +.syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; +} +.syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; +} +.syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; +} +.syntaxhighlighter .toolbar span.title { + display: inline !important; +} +.syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; +} +.syntaxhighlighter .toolbar a.expandSource { + display: none !important; +} +.syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; +} +.syntaxhighlighter.ie .toolbar { + line-height: 8px !important; +} +.syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; +} +.syntaxhighlighter.printing .line.alt1 .content, +.syntaxhighlighter.printing .line.alt2 .content, +.syntaxhighlighter.printing .line.highlighted .number, +.syntaxhighlighter.printing .line.highlighted.alt1 .content, +.syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; +} +.syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; +} +.syntaxhighlighter.printing .line .content { + color: black !important; +} +.syntaxhighlighter.printing .toolbar { + display: none !important; +} +.syntaxhighlighter.printing a { + text-decoration: none !important; +} +.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; +} +.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; +} +.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; +} +.syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; +} +.syntaxhighlighter.printing .preprocessor { + color: gray !important; +} +.syntaxhighlighter.printing .variable { + color: #aa7700 !important; +} +.syntaxhighlighter.printing .value { + color: #009900 !important; +} +.syntaxhighlighter.printing .functions { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .constants { + color: #0066cc !important; +} +.syntaxhighlighter.printing .script { + font-weight: bold !important; +} +.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; +} +.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; +} +.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; +} + +.syntaxhighlighter { + background-color: #0a2b1d !important; +} +.syntaxhighlighter .line.alt1 { + background-color: #0a2b1d !important; +} +.syntaxhighlighter .line.alt2 { + background-color: #0a2b1d !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #233729 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: white !important; +} +.syntaxhighlighter table caption { + color: #f8f8f8 !important; +} +.syntaxhighlighter .gutter { + color: #497958 !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #41a83e !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #41a83e !important; + color: #0a2b1d !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #96dd3b !important; + background: black !important; + border: 1px solid #41a83e !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #96dd3b !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: white !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #41a83e !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #ffe862 !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: #f8f8f8 !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #336442 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #9df39f !important; +} +.syntaxhighlighter .keyword { + color: #96dd3b !important; +} +.syntaxhighlighter .preprocessor { + color: #91bb9e !important; +} +.syntaxhighlighter .variable { + color: #ffaa3e !important; +} +.syntaxhighlighter .value { + color: #f7e741 !important; +} +.syntaxhighlighter .functions { + color: #ffaa3e !important; +} +.syntaxhighlighter .constants { + color: #e0e8ff !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #96dd3b !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: #eb939a !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #91bb9e !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #edef7d !important; +} + +.syntaxhighlighter .comments { + font-style: italic !important; +} +.syntaxhighlighter .keyword { + font-weight: bold !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shCoreEclipse.css b/themes/thinker/static/css/syntaxhighlighter/shCoreEclipse.css new file mode 100644 index 0000000..a45de9f --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shCoreEclipse.css @@ -0,0 +1,339 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1em !important; + min-height: inherit !important; + min-height: auto !important; +} + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; +} +.syntaxhighlighter.source { + overflow: hidden !important; +} +.syntaxhighlighter .bold { + font-weight: bold !important; +} +.syntaxhighlighter .italic { + font-style: italic !important; +} +.syntaxhighlighter .line { + white-space: pre !important; +} +.syntaxhighlighter table { + width: 100% !important; +} +.syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; +} +.syntaxhighlighter table td.code { + width: 100% !important; +} +.syntaxhighlighter table td.code .container { + position: relative !important; +} +.syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; +} +.syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0 0.5em 0 1em !important; +} +.syntaxhighlighter table td.code .line { + padding: 0 1em !important; +} +.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; +} +.syntaxhighlighter.show { + display: block !important; +} +.syntaxhighlighter.collapsed table { + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; +} +.syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; +} +.syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; +} +.syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; +} +.syntaxhighlighter .toolbar span.title { + display: inline !important; +} +.syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; +} +.syntaxhighlighter .toolbar a.expandSource { + display: none !important; +} +.syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; +} +.syntaxhighlighter.ie .toolbar { + line-height: 8px !important; +} +.syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; +} +.syntaxhighlighter.printing .line.alt1 .content, +.syntaxhighlighter.printing .line.alt2 .content, +.syntaxhighlighter.printing .line.highlighted .number, +.syntaxhighlighter.printing .line.highlighted.alt1 .content, +.syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; +} +.syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; +} +.syntaxhighlighter.printing .line .content { + color: black !important; +} +.syntaxhighlighter.printing .toolbar { + display: none !important; +} +.syntaxhighlighter.printing a { + text-decoration: none !important; +} +.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; +} +.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; +} +.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; +} +.syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; +} +.syntaxhighlighter.printing .preprocessor { + color: gray !important; +} +.syntaxhighlighter.printing .variable { + color: #aa7700 !important; +} +.syntaxhighlighter.printing .value { + color: #009900 !important; +} +.syntaxhighlighter.printing .functions { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .constants { + color: #0066cc !important; +} +.syntaxhighlighter.printing .script { + font-weight: bold !important; +} +.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; +} +.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; +} +.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; +} + +.syntaxhighlighter { + background-color: white !important; +} +.syntaxhighlighter .line.alt1 { + background-color: white !important; +} +.syntaxhighlighter .line.alt2 { + background-color: white !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #c3defe !important; +} +.syntaxhighlighter .line.highlighted.number { + color: white !important; +} +.syntaxhighlighter table caption { + color: black !important; +} +.syntaxhighlighter .gutter { + color: #787878 !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #d4d0c8 !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #d4d0c8 !important; + color: white !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #3f5fbf !important; + background: white !important; + border: 1px solid #d4d0c8 !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #3f5fbf !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: #aa7700 !important; +} +.syntaxhighlighter .toolbar { + color: #a0a0a0 !important; + background: #d4d0c8 !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: #a0a0a0 !important; +} +.syntaxhighlighter .toolbar a:hover { + color: red !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: black !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #3f5fbf !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #2a00ff !important; +} +.syntaxhighlighter .keyword { + color: #7f0055 !important; +} +.syntaxhighlighter .preprocessor { + color: #646464 !important; +} +.syntaxhighlighter .variable { + color: #aa7700 !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #ff1493 !important; +} +.syntaxhighlighter .constants { + color: #0066cc !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #7f0055 !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: gray !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: red !important; +} + +.syntaxhighlighter .keyword { + font-weight: bold !important; +} +.syntaxhighlighter .xml .keyword { + color: #3f7f7f !important; + font-weight: normal !important; +} +.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a { + color: #7f007f !important; +} +.syntaxhighlighter .xml .string { + font-style: italic !important; + color: #2a00ff !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shCoreEmacs.css b/themes/thinker/static/css/syntaxhighlighter/shCoreEmacs.css new file mode 100644 index 0000000..706c77a --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shCoreEmacs.css @@ -0,0 +1,324 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1em !important; + min-height: inherit !important; + min-height: auto !important; +} + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; +} +.syntaxhighlighter.source { + overflow: hidden !important; +} +.syntaxhighlighter .bold { + font-weight: bold !important; +} +.syntaxhighlighter .italic { + font-style: italic !important; +} +.syntaxhighlighter .line { + white-space: pre !important; +} +.syntaxhighlighter table { + width: 100% !important; +} +.syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; +} +.syntaxhighlighter table td.code { + width: 100% !important; +} +.syntaxhighlighter table td.code .container { + position: relative !important; +} +.syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; +} +.syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0 0.5em 0 1em !important; +} +.syntaxhighlighter table td.code .line { + padding: 0 1em !important; +} +.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; +} +.syntaxhighlighter.show { + display: block !important; +} +.syntaxhighlighter.collapsed table { + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; +} +.syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; +} +.syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; +} +.syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; +} +.syntaxhighlighter .toolbar span.title { + display: inline !important; +} +.syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; +} +.syntaxhighlighter .toolbar a.expandSource { + display: none !important; +} +.syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; +} +.syntaxhighlighter.ie .toolbar { + line-height: 8px !important; +} +.syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; +} +.syntaxhighlighter.printing .line.alt1 .content, +.syntaxhighlighter.printing .line.alt2 .content, +.syntaxhighlighter.printing .line.highlighted .number, +.syntaxhighlighter.printing .line.highlighted.alt1 .content, +.syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; +} +.syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; +} +.syntaxhighlighter.printing .line .content { + color: black !important; +} +.syntaxhighlighter.printing .toolbar { + display: none !important; +} +.syntaxhighlighter.printing a { + text-decoration: none !important; +} +.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; +} +.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; +} +.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; +} +.syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; +} +.syntaxhighlighter.printing .preprocessor { + color: gray !important; +} +.syntaxhighlighter.printing .variable { + color: #aa7700 !important; +} +.syntaxhighlighter.printing .value { + color: #009900 !important; +} +.syntaxhighlighter.printing .functions { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .constants { + color: #0066cc !important; +} +.syntaxhighlighter.printing .script { + font-weight: bold !important; +} +.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; +} +.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; +} +.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; +} + +.syntaxhighlighter { + background-color: black !important; +} +.syntaxhighlighter .line.alt1 { + background-color: black !important; +} +.syntaxhighlighter .line.alt2 { + background-color: black !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #2a3133 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: white !important; +} +.syntaxhighlighter table caption { + color: #d3d3d3 !important; +} +.syntaxhighlighter .gutter { + color: #d3d3d3 !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #990000 !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #990000 !important; + color: black !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #ebdb8d !important; + background: black !important; + border: 1px solid #990000 !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #ebdb8d !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: #ff7d27 !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #990000 !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #9ccff4 !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: #d3d3d3 !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #ff7d27 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #ff9e7b !important; +} +.syntaxhighlighter .keyword { + color: aqua !important; +} +.syntaxhighlighter .preprocessor { + color: #aec4de !important; +} +.syntaxhighlighter .variable { + color: #ffaa3e !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #81cef9 !important; +} +.syntaxhighlighter .constants { + color: #ff9e7b !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: aqua !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: #ebdb8d !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #ff7d27 !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #aec4de !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shCoreFadeToGrey.css b/themes/thinker/static/css/syntaxhighlighter/shCoreFadeToGrey.css new file mode 100644 index 0000000..6101eba --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shCoreFadeToGrey.css @@ -0,0 +1,328 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1em !important; + min-height: inherit !important; + min-height: auto !important; +} + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; +} +.syntaxhighlighter.source { + overflow: hidden !important; +} +.syntaxhighlighter .bold { + font-weight: bold !important; +} +.syntaxhighlighter .italic { + font-style: italic !important; +} +.syntaxhighlighter .line { + white-space: pre !important; +} +.syntaxhighlighter table { + width: 100% !important; +} +.syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; +} +.syntaxhighlighter table td.code { + width: 100% !important; +} +.syntaxhighlighter table td.code .container { + position: relative !important; +} +.syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; +} +.syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0 0.5em 0 1em !important; +} +.syntaxhighlighter table td.code .line { + padding: 0 1em !important; +} +.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; +} +.syntaxhighlighter.show { + display: block !important; +} +.syntaxhighlighter.collapsed table { + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; +} +.syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; +} +.syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; +} +.syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; +} +.syntaxhighlighter .toolbar span.title { + display: inline !important; +} +.syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; +} +.syntaxhighlighter .toolbar a.expandSource { + display: none !important; +} +.syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; +} +.syntaxhighlighter.ie .toolbar { + line-height: 8px !important; +} +.syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; +} +.syntaxhighlighter.printing .line.alt1 .content, +.syntaxhighlighter.printing .line.alt2 .content, +.syntaxhighlighter.printing .line.highlighted .number, +.syntaxhighlighter.printing .line.highlighted.alt1 .content, +.syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; +} +.syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; +} +.syntaxhighlighter.printing .line .content { + color: black !important; +} +.syntaxhighlighter.printing .toolbar { + display: none !important; +} +.syntaxhighlighter.printing a { + text-decoration: none !important; +} +.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; +} +.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; +} +.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; +} +.syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; +} +.syntaxhighlighter.printing .preprocessor { + color: gray !important; +} +.syntaxhighlighter.printing .variable { + color: #aa7700 !important; +} +.syntaxhighlighter.printing .value { + color: #009900 !important; +} +.syntaxhighlighter.printing .functions { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .constants { + color: #0066cc !important; +} +.syntaxhighlighter.printing .script { + font-weight: bold !important; +} +.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; +} +.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; +} +.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; +} + +.syntaxhighlighter { + background-color: #121212 !important; +} +.syntaxhighlighter .line.alt1 { + background-color: #121212 !important; +} +.syntaxhighlighter .line.alt2 { + background-color: #121212 !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #2c2c29 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: white !important; +} +.syntaxhighlighter table caption { + color: white !important; +} +.syntaxhighlighter .gutter { + color: #afafaf !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #3185b9 !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #3185b9 !important; + color: #121212 !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #3185b9 !important; + background: black !important; + border: 1px solid #3185b9 !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #3185b9 !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: #d01d33 !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #3185b9 !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #96daff !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: white !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #696854 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #e3e658 !important; +} +.syntaxhighlighter .keyword { + color: #d01d33 !important; +} +.syntaxhighlighter .preprocessor { + color: #435a5f !important; +} +.syntaxhighlighter .variable { + color: #898989 !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #aaaaaa !important; +} +.syntaxhighlighter .constants { + color: #96daff !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #d01d33 !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: #ffc074 !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #4a8cdb !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #96daff !important; +} + +.syntaxhighlighter .functions { + font-weight: bold !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shCoreMDUltra.css b/themes/thinker/static/css/syntaxhighlighter/shCoreMDUltra.css new file mode 100644 index 0000000..2923ce7 --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shCoreMDUltra.css @@ -0,0 +1,324 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1em !important; + min-height: inherit !important; + min-height: auto !important; +} + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; +} +.syntaxhighlighter.source { + overflow: hidden !important; +} +.syntaxhighlighter .bold { + font-weight: bold !important; +} +.syntaxhighlighter .italic { + font-style: italic !important; +} +.syntaxhighlighter .line { + white-space: pre !important; +} +.syntaxhighlighter table { + width: 100% !important; +} +.syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; +} +.syntaxhighlighter table td.code { + width: 100% !important; +} +.syntaxhighlighter table td.code .container { + position: relative !important; +} +.syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; +} +.syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0 0.5em 0 1em !important; +} +.syntaxhighlighter table td.code .line { + padding: 0 1em !important; +} +.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; +} +.syntaxhighlighter.show { + display: block !important; +} +.syntaxhighlighter.collapsed table { + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; +} +.syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; +} +.syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; +} +.syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; +} +.syntaxhighlighter .toolbar span.title { + display: inline !important; +} +.syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; +} +.syntaxhighlighter .toolbar a.expandSource { + display: none !important; +} +.syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; +} +.syntaxhighlighter.ie .toolbar { + line-height: 8px !important; +} +.syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; +} +.syntaxhighlighter.printing .line.alt1 .content, +.syntaxhighlighter.printing .line.alt2 .content, +.syntaxhighlighter.printing .line.highlighted .number, +.syntaxhighlighter.printing .line.highlighted.alt1 .content, +.syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; +} +.syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; +} +.syntaxhighlighter.printing .line .content { + color: black !important; +} +.syntaxhighlighter.printing .toolbar { + display: none !important; +} +.syntaxhighlighter.printing a { + text-decoration: none !important; +} +.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; +} +.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; +} +.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; +} +.syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; +} +.syntaxhighlighter.printing .preprocessor { + color: gray !important; +} +.syntaxhighlighter.printing .variable { + color: #aa7700 !important; +} +.syntaxhighlighter.printing .value { + color: #009900 !important; +} +.syntaxhighlighter.printing .functions { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .constants { + color: #0066cc !important; +} +.syntaxhighlighter.printing .script { + font-weight: bold !important; +} +.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; +} +.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; +} +.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; +} + +.syntaxhighlighter { + background-color: #222222 !important; +} +.syntaxhighlighter .line.alt1 { + background-color: #222222 !important; +} +.syntaxhighlighter .line.alt2 { + background-color: #222222 !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #253e5a !important; +} +.syntaxhighlighter .line.highlighted.number { + color: white !important; +} +.syntaxhighlighter table caption { + color: lime !important; +} +.syntaxhighlighter .gutter { + color: #38566f !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #435a5f !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #435a5f !important; + color: #222222 !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #428bdd !important; + background: black !important; + border: 1px solid #435a5f !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #428bdd !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: lime !important; +} +.syntaxhighlighter .toolbar { + color: #aaaaff !important; + background: #435a5f !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: #aaaaff !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #9ccff4 !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: lime !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #428bdd !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: lime !important; +} +.syntaxhighlighter .keyword { + color: #aaaaff !important; +} +.syntaxhighlighter .preprocessor { + color: #8aa6c1 !important; +} +.syntaxhighlighter .variable { + color: aqua !important; +} +.syntaxhighlighter .value { + color: #f7e741 !important; +} +.syntaxhighlighter .functions { + color: #ff8000 !important; +} +.syntaxhighlighter .constants { + color: yellow !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #aaaaff !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: red !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: yellow !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #ffaa3e !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shCoreMidnight.css b/themes/thinker/static/css/syntaxhighlighter/shCoreMidnight.css new file mode 100644 index 0000000..e3733ee --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shCoreMidnight.css @@ -0,0 +1,324 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1em !important; + min-height: inherit !important; + min-height: auto !important; +} + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; +} +.syntaxhighlighter.source { + overflow: hidden !important; +} +.syntaxhighlighter .bold { + font-weight: bold !important; +} +.syntaxhighlighter .italic { + font-style: italic !important; +} +.syntaxhighlighter .line { + white-space: pre !important; +} +.syntaxhighlighter table { + width: 100% !important; +} +.syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; +} +.syntaxhighlighter table td.code { + width: 100% !important; +} +.syntaxhighlighter table td.code .container { + position: relative !important; +} +.syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; +} +.syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0 0.5em 0 1em !important; +} +.syntaxhighlighter table td.code .line { + padding: 0 1em !important; +} +.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; +} +.syntaxhighlighter.show { + display: block !important; +} +.syntaxhighlighter.collapsed table { + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; +} +.syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; +} +.syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; +} +.syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; +} +.syntaxhighlighter .toolbar span.title { + display: inline !important; +} +.syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; +} +.syntaxhighlighter .toolbar a.expandSource { + display: none !important; +} +.syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; +} +.syntaxhighlighter.ie .toolbar { + line-height: 8px !important; +} +.syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; +} +.syntaxhighlighter.printing .line.alt1 .content, +.syntaxhighlighter.printing .line.alt2 .content, +.syntaxhighlighter.printing .line.highlighted .number, +.syntaxhighlighter.printing .line.highlighted.alt1 .content, +.syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; +} +.syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; +} +.syntaxhighlighter.printing .line .content { + color: black !important; +} +.syntaxhighlighter.printing .toolbar { + display: none !important; +} +.syntaxhighlighter.printing a { + text-decoration: none !important; +} +.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; +} +.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; +} +.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; +} +.syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; +} +.syntaxhighlighter.printing .preprocessor { + color: gray !important; +} +.syntaxhighlighter.printing .variable { + color: #aa7700 !important; +} +.syntaxhighlighter.printing .value { + color: #009900 !important; +} +.syntaxhighlighter.printing .functions { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .constants { + color: #0066cc !important; +} +.syntaxhighlighter.printing .script { + font-weight: bold !important; +} +.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; +} +.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; +} +.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; +} + +.syntaxhighlighter { + background-color: #0f192a !important; +} +.syntaxhighlighter .line.alt1 { + background-color: #0f192a !important; +} +.syntaxhighlighter .line.alt2 { + background-color: #0f192a !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #253e5a !important; +} +.syntaxhighlighter .line.highlighted.number { + color: #38566f !important; +} +.syntaxhighlighter table caption { + color: #d1edff !important; +} +.syntaxhighlighter .gutter { + color: #afafaf !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #435a5f !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #435a5f !important; + color: #0f192a !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #428bdd !important; + background: black !important; + border: 1px solid #435a5f !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #428bdd !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: #1dc116 !important; +} +.syntaxhighlighter .toolbar { + color: #d1edff !important; + background: #435a5f !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: #d1edff !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #8aa6c1 !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: #d1edff !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #428bdd !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #1dc116 !important; +} +.syntaxhighlighter .keyword { + color: #b43d3d !important; +} +.syntaxhighlighter .preprocessor { + color: #8aa6c1 !important; +} +.syntaxhighlighter .variable { + color: #ffaa3e !important; +} +.syntaxhighlighter .value { + color: #f7e741 !important; +} +.syntaxhighlighter .functions { + color: #ffaa3e !important; +} +.syntaxhighlighter .constants { + color: #e0e8ff !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #b43d3d !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: #f8bb00 !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: white !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #ffaa3e !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shCoreRDark.css b/themes/thinker/static/css/syntaxhighlighter/shCoreRDark.css new file mode 100644 index 0000000..d093683 --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shCoreRDark.css @@ -0,0 +1,324 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter a, +.syntaxhighlighter div, +.syntaxhighlighter code, +.syntaxhighlighter table, +.syntaxhighlighter table td, +.syntaxhighlighter table tr, +.syntaxhighlighter table tbody, +.syntaxhighlighter table thead, +.syntaxhighlighter table caption, +.syntaxhighlighter textarea { + -moz-border-radius: 0 0 0 0 !important; + -webkit-border-radius: 0 0 0 0 !important; + background: none !important; + border: 0 !important; + bottom: auto !important; + float: none !important; + height: auto !important; + left: auto !important; + line-height: 1.1em !important; + margin: 0 !important; + outline: 0 !important; + overflow: visible !important; + padding: 0 !important; + position: static !important; + right: auto !important; + text-align: left !important; + top: auto !important; + vertical-align: baseline !important; + width: auto !important; + box-sizing: content-box !important; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 1em !important; + min-height: inherit !important; + min-height: auto !important; +} + +.syntaxhighlighter { + width: 100% !important; + margin: 1em 0 1em 0 !important; + position: relative !important; + overflow: auto !important; + font-size: 1em !important; +} +.syntaxhighlighter.source { + overflow: hidden !important; +} +.syntaxhighlighter .bold { + font-weight: bold !important; +} +.syntaxhighlighter .italic { + font-style: italic !important; +} +.syntaxhighlighter .line { + white-space: pre !important; +} +.syntaxhighlighter table { + width: 100% !important; +} +.syntaxhighlighter table caption { + text-align: left !important; + padding: .5em 0 0.5em 1em !important; +} +.syntaxhighlighter table td.code { + width: 100% !important; +} +.syntaxhighlighter table td.code .container { + position: relative !important; +} +.syntaxhighlighter table td.code .container textarea { + box-sizing: border-box !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: none !important; + background: white !important; + padding-left: 1em !important; + overflow: hidden !important; + white-space: pre !important; +} +.syntaxhighlighter table td.gutter .line { + text-align: right !important; + padding: 0 0.5em 0 1em !important; +} +.syntaxhighlighter table td.code .line { + padding: 0 1em !important; +} +.syntaxhighlighter.nogutter td.code .container textarea, .syntaxhighlighter.nogutter td.code .line { + padding-left: 0em !important; +} +.syntaxhighlighter.show { + display: block !important; +} +.syntaxhighlighter.collapsed table { + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar { + padding: 0.1em 0.8em 0em 0.8em !important; + font-size: 1em !important; + position: static !important; + width: auto !important; + height: auto !important; +} +.syntaxhighlighter.collapsed .toolbar span { + display: inline !important; + margin-right: 1em !important; +} +.syntaxhighlighter.collapsed .toolbar span a { + padding: 0 !important; + display: none !important; +} +.syntaxhighlighter.collapsed .toolbar span a.expandSource { + display: inline !important; +} +.syntaxhighlighter .toolbar { + position: absolute !important; + right: 1px !important; + top: 1px !important; + width: 11px !important; + height: 11px !important; + font-size: 10px !important; + z-index: 10 !important; +} +.syntaxhighlighter .toolbar span.title { + display: inline !important; +} +.syntaxhighlighter .toolbar a { + display: block !important; + text-align: center !important; + text-decoration: none !important; + padding-top: 1px !important; +} +.syntaxhighlighter .toolbar a.expandSource { + display: none !important; +} +.syntaxhighlighter.ie { + font-size: .9em !important; + padding: 1px 0 1px 0 !important; +} +.syntaxhighlighter.ie .toolbar { + line-height: 8px !important; +} +.syntaxhighlighter.ie .toolbar a { + padding-top: 0px !important; +} +.syntaxhighlighter.printing .line.alt1 .content, +.syntaxhighlighter.printing .line.alt2 .content, +.syntaxhighlighter.printing .line.highlighted .number, +.syntaxhighlighter.printing .line.highlighted.alt1 .content, +.syntaxhighlighter.printing .line.highlighted.alt2 .content { + background: none !important; +} +.syntaxhighlighter.printing .line .number { + color: #bbbbbb !important; +} +.syntaxhighlighter.printing .line .content { + color: black !important; +} +.syntaxhighlighter.printing .toolbar { + display: none !important; +} +.syntaxhighlighter.printing a { + text-decoration: none !important; +} +.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a { + color: black !important; +} +.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing .comments a { + color: #008200 !important; +} +.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a { + color: blue !important; +} +.syntaxhighlighter.printing .keyword { + color: #006699 !important; + font-weight: bold !important; +} +.syntaxhighlighter.printing .preprocessor { + color: gray !important; +} +.syntaxhighlighter.printing .variable { + color: #aa7700 !important; +} +.syntaxhighlighter.printing .value { + color: #009900 !important; +} +.syntaxhighlighter.printing .functions { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .constants { + color: #0066cc !important; +} +.syntaxhighlighter.printing .script { + font-weight: bold !important; +} +.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a { + color: gray !important; +} +.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a { + color: red !important; +} +.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a { + color: black !important; +} + +.syntaxhighlighter { + background-color: #1b2426 !important; +} +.syntaxhighlighter .line.alt1 { + background-color: #1b2426 !important; +} +.syntaxhighlighter .line.alt2 { + background-color: #1b2426 !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #323e41 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: #b9bdb6 !important; +} +.syntaxhighlighter table caption { + color: #b9bdb6 !important; +} +.syntaxhighlighter .gutter { + color: #afafaf !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #435a5f !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #435a5f !important; + color: #1b2426 !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #5ba1cf !important; + background: black !important; + border: 1px solid #435a5f !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #5ba1cf !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: #5ce638 !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #435a5f !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #e0e8ff !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: #b9bdb6 !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #878a85 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #5ce638 !important; +} +.syntaxhighlighter .keyword { + color: #5ba1cf !important; +} +.syntaxhighlighter .preprocessor { + color: #435a5f !important; +} +.syntaxhighlighter .variable { + color: #ffaa3e !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #ffaa3e !important; +} +.syntaxhighlighter .constants { + color: #e0e8ff !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #5ba1cf !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: #e0e8ff !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: white !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #ffaa3e !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shThemeDefault.css b/themes/thinker/static/css/syntaxhighlighter/shThemeDefault.css new file mode 100644 index 0000000..1365411 --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shThemeDefault.css @@ -0,0 +1,117 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter { + background-color: white !important; +} +.syntaxhighlighter .line.alt1 { + background-color: white !important; +} +.syntaxhighlighter .line.alt2 { + background-color: white !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #e0e0e0 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: black !important; +} +.syntaxhighlighter table caption { + color: black !important; +} +.syntaxhighlighter .gutter { + color: #afafaf !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #6ce26c !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #6ce26c !important; + color: white !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: blue !important; + background: white !important; + border: 1px solid #6ce26c !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: blue !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: red !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #6ce26c !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: black !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: black !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #008200 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: blue !important; +} +.syntaxhighlighter .keyword { + color: #006699 !important; +} +.syntaxhighlighter .preprocessor { + color: gray !important; +} +.syntaxhighlighter .variable { + color: #aa7700 !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #ff1493 !important; +} +.syntaxhighlighter .constants { + color: #0066cc !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #006699 !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: gray !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: red !important; +} + +.syntaxhighlighter .keyword { + font-weight: bold !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shThemeDjango.css b/themes/thinker/static/css/syntaxhighlighter/shThemeDjango.css new file mode 100644 index 0000000..d8b4313 --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shThemeDjango.css @@ -0,0 +1,120 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter { + background-color: #0a2b1d !important; +} +.syntaxhighlighter .line.alt1 { + background-color: #0a2b1d !important; +} +.syntaxhighlighter .line.alt2 { + background-color: #0a2b1d !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #233729 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: white !important; +} +.syntaxhighlighter table caption { + color: #f8f8f8 !important; +} +.syntaxhighlighter .gutter { + color: #497958 !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #41a83e !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #41a83e !important; + color: #0a2b1d !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #96dd3b !important; + background: black !important; + border: 1px solid #41a83e !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #96dd3b !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: white !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #41a83e !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #ffe862 !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: #f8f8f8 !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #336442 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #9df39f !important; +} +.syntaxhighlighter .keyword { + color: #96dd3b !important; +} +.syntaxhighlighter .preprocessor { + color: #91bb9e !important; +} +.syntaxhighlighter .variable { + color: #ffaa3e !important; +} +.syntaxhighlighter .value { + color: #f7e741 !important; +} +.syntaxhighlighter .functions { + color: #ffaa3e !important; +} +.syntaxhighlighter .constants { + color: #e0e8ff !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #96dd3b !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: #eb939a !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #91bb9e !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #edef7d !important; +} + +.syntaxhighlighter .comments { + font-style: italic !important; +} +.syntaxhighlighter .keyword { + font-weight: bold !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shThemeEclipse.css b/themes/thinker/static/css/syntaxhighlighter/shThemeEclipse.css new file mode 100644 index 0000000..77377d9 --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shThemeEclipse.css @@ -0,0 +1,128 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter { + background-color: white !important; +} +.syntaxhighlighter .line.alt1 { + background-color: white !important; +} +.syntaxhighlighter .line.alt2 { + background-color: white !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #c3defe !important; +} +.syntaxhighlighter .line.highlighted.number { + color: white !important; +} +.syntaxhighlighter table caption { + color: black !important; +} +.syntaxhighlighter .gutter { + color: #787878 !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #d4d0c8 !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #d4d0c8 !important; + color: white !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #3f5fbf !important; + background: white !important; + border: 1px solid #d4d0c8 !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #3f5fbf !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: #aa7700 !important; +} +.syntaxhighlighter .toolbar { + color: #a0a0a0 !important; + background: #d4d0c8 !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: #a0a0a0 !important; +} +.syntaxhighlighter .toolbar a:hover { + color: red !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: black !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #3f5fbf !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #2a00ff !important; +} +.syntaxhighlighter .keyword { + color: #7f0055 !important; +} +.syntaxhighlighter .preprocessor { + color: #646464 !important; +} +.syntaxhighlighter .variable { + color: #aa7700 !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #ff1493 !important; +} +.syntaxhighlighter .constants { + color: #0066cc !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #7f0055 !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: gray !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #ff1493 !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: red !important; +} + +.syntaxhighlighter .keyword { + font-weight: bold !important; +} +.syntaxhighlighter .xml .keyword { + color: #3f7f7f !important; + font-weight: normal !important; +} +.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a { + color: #7f007f !important; +} +.syntaxhighlighter .xml .string { + font-style: italic !important; + color: #2a00ff !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shThemeEmacs.css b/themes/thinker/static/css/syntaxhighlighter/shThemeEmacs.css new file mode 100644 index 0000000..dae5053 --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shThemeEmacs.css @@ -0,0 +1,113 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter { + background-color: black !important; +} +.syntaxhighlighter .line.alt1 { + background-color: black !important; +} +.syntaxhighlighter .line.alt2 { + background-color: black !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #2a3133 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: white !important; +} +.syntaxhighlighter table caption { + color: #d3d3d3 !important; +} +.syntaxhighlighter .gutter { + color: #d3d3d3 !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #990000 !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #990000 !important; + color: black !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #ebdb8d !important; + background: black !important; + border: 1px solid #990000 !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #ebdb8d !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: #ff7d27 !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #990000 !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #9ccff4 !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: #d3d3d3 !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #ff7d27 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #ff9e7b !important; +} +.syntaxhighlighter .keyword { + color: aqua !important; +} +.syntaxhighlighter .preprocessor { + color: #aec4de !important; +} +.syntaxhighlighter .variable { + color: #ffaa3e !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #81cef9 !important; +} +.syntaxhighlighter .constants { + color: #ff9e7b !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: aqua !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: #ebdb8d !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #ff7d27 !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #aec4de !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shThemeFadeToGrey.css b/themes/thinker/static/css/syntaxhighlighter/shThemeFadeToGrey.css new file mode 100644 index 0000000..8fbd871 --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shThemeFadeToGrey.css @@ -0,0 +1,117 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter { + background-color: #121212 !important; +} +.syntaxhighlighter .line.alt1 { + background-color: #121212 !important; +} +.syntaxhighlighter .line.alt2 { + background-color: #121212 !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #2c2c29 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: white !important; +} +.syntaxhighlighter table caption { + color: white !important; +} +.syntaxhighlighter .gutter { + color: #afafaf !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #3185b9 !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #3185b9 !important; + color: #121212 !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #3185b9 !important; + background: black !important; + border: 1px solid #3185b9 !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #3185b9 !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: #d01d33 !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #3185b9 !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #96daff !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: white !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #696854 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #e3e658 !important; +} +.syntaxhighlighter .keyword { + color: #d01d33 !important; +} +.syntaxhighlighter .preprocessor { + color: #435a5f !important; +} +.syntaxhighlighter .variable { + color: #898989 !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #aaaaaa !important; +} +.syntaxhighlighter .constants { + color: #96daff !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #d01d33 !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: #ffc074 !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: #4a8cdb !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #96daff !important; +} + +.syntaxhighlighter .functions { + font-weight: bold !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shThemeMDUltra.css b/themes/thinker/static/css/syntaxhighlighter/shThemeMDUltra.css new file mode 100755 index 0000000..f4db39c --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shThemeMDUltra.css @@ -0,0 +1,113 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter { + background-color: #222222 !important; +} +.syntaxhighlighter .line.alt1 { + background-color: #222222 !important; +} +.syntaxhighlighter .line.alt2 { + background-color: #222222 !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #253e5a !important; +} +.syntaxhighlighter .line.highlighted.number { + color: white !important; +} +.syntaxhighlighter table caption { + color: lime !important; +} +.syntaxhighlighter .gutter { + color: #38566f !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #435a5f !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #435a5f !important; + color: #222222 !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #428bdd !important; + background: black !important; + border: 1px solid #435a5f !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #428bdd !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: lime !important; +} +.syntaxhighlighter .toolbar { + color: #aaaaff !important; + background: #435a5f !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: #aaaaff !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #9ccff4 !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: lime !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #428bdd !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: lime !important; +} +.syntaxhighlighter .keyword { + color: #aaaaff !important; +} +.syntaxhighlighter .preprocessor { + color: #8aa6c1 !important; +} +.syntaxhighlighter .variable { + color: aqua !important; +} +.syntaxhighlighter .value { + color: #f7e741 !important; +} +.syntaxhighlighter .functions { + color: #ff8000 !important; +} +.syntaxhighlighter .constants { + color: yellow !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #aaaaff !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: red !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: yellow !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #ffaa3e !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shThemeMidnight.css b/themes/thinker/static/css/syntaxhighlighter/shThemeMidnight.css new file mode 100644 index 0000000..c49563c --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shThemeMidnight.css @@ -0,0 +1,113 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter { + background-color: #0f192a !important; +} +.syntaxhighlighter .line.alt1 { + background-color: #0f192a !important; +} +.syntaxhighlighter .line.alt2 { + background-color: #0f192a !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #253e5a !important; +} +.syntaxhighlighter .line.highlighted.number { + color: #38566f !important; +} +.syntaxhighlighter table caption { + color: #d1edff !important; +} +.syntaxhighlighter .gutter { + color: #afafaf !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #435a5f !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #435a5f !important; + color: #0f192a !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #428bdd !important; + background: black !important; + border: 1px solid #435a5f !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #428bdd !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: #1dc116 !important; +} +.syntaxhighlighter .toolbar { + color: #d1edff !important; + background: #435a5f !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: #d1edff !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #8aa6c1 !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: #d1edff !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #428bdd !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #1dc116 !important; +} +.syntaxhighlighter .keyword { + color: #b43d3d !important; +} +.syntaxhighlighter .preprocessor { + color: #8aa6c1 !important; +} +.syntaxhighlighter .variable { + color: #ffaa3e !important; +} +.syntaxhighlighter .value { + color: #f7e741 !important; +} +.syntaxhighlighter .functions { + color: #ffaa3e !important; +} +.syntaxhighlighter .constants { + color: #e0e8ff !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #b43d3d !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: #f8bb00 !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: white !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #ffaa3e !important; +} diff --git a/themes/thinker/static/css/syntaxhighlighter/shThemeRDark.css b/themes/thinker/static/css/syntaxhighlighter/shThemeRDark.css new file mode 100644 index 0000000..6305a10 --- /dev/null +++ b/themes/thinker/static/css/syntaxhighlighter/shThemeRDark.css @@ -0,0 +1,113 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +.syntaxhighlighter { + background-color: #1b2426 !important; +} +.syntaxhighlighter .line.alt1 { + background-color: #1b2426 !important; +} +.syntaxhighlighter .line.alt2 { + background-color: #1b2426 !important; +} +.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter .line.highlighted.alt2 { + background-color: #323e41 !important; +} +.syntaxhighlighter .line.highlighted.number { + color: #b9bdb6 !important; +} +.syntaxhighlighter table caption { + color: #b9bdb6 !important; +} +.syntaxhighlighter .gutter { + color: #afafaf !important; +} +.syntaxhighlighter .gutter .line { + border-right: 3px solid #435a5f !important; +} +.syntaxhighlighter .gutter .line.highlighted { + background-color: #435a5f !important; + color: #1b2426 !important; +} +.syntaxhighlighter.printing .line .content { + border: none !important; +} +.syntaxhighlighter.collapsed { + overflow: visible !important; +} +.syntaxhighlighter.collapsed .toolbar { + color: #5ba1cf !important; + background: black !important; + border: 1px solid #435a5f !important; +} +.syntaxhighlighter.collapsed .toolbar a { + color: #5ba1cf !important; +} +.syntaxhighlighter.collapsed .toolbar a:hover { + color: #5ce638 !important; +} +.syntaxhighlighter .toolbar { + color: white !important; + background: #435a5f !important; + border: none !important; +} +.syntaxhighlighter .toolbar a { + color: white !important; +} +.syntaxhighlighter .toolbar a:hover { + color: #e0e8ff !important; +} +.syntaxhighlighter .plain, .syntaxhighlighter .plain a { + color: #b9bdb6 !important; +} +.syntaxhighlighter .comments, .syntaxhighlighter .comments a { + color: #878a85 !important; +} +.syntaxhighlighter .string, .syntaxhighlighter .string a { + color: #5ce638 !important; +} +.syntaxhighlighter .keyword { + color: #5ba1cf !important; +} +.syntaxhighlighter .preprocessor { + color: #435a5f !important; +} +.syntaxhighlighter .variable { + color: #ffaa3e !important; +} +.syntaxhighlighter .value { + color: #009900 !important; +} +.syntaxhighlighter .functions { + color: #ffaa3e !important; +} +.syntaxhighlighter .constants { + color: #e0e8ff !important; +} +.syntaxhighlighter .script { + font-weight: bold !important; + color: #5ba1cf !important; + background-color: none !important; +} +.syntaxhighlighter .color1, .syntaxhighlighter .color1 a { + color: #e0e8ff !important; +} +.syntaxhighlighter .color2, .syntaxhighlighter .color2 a { + color: white !important; +} +.syntaxhighlighter .color3, .syntaxhighlighter .color3 a { + color: #ffaa3e !important; +} diff --git a/themes/thinker/static/images/btn-search.png b/themes/thinker/static/images/btn-search.png new file mode 100644 index 0000000000000000000000000000000000000000..898fb74fa661ddb1db8adc2df50e287e87bcccab GIT binary patch literal 633 zcmV-<0*3vGP) z5m7<0Fk-PQ$Pz092KO6mf{JC5PmrXt39Q=5q)7TL*2Th3yDd`K1QoGxA)tjY3PD9A z=H8c?Fgq$F2M)fOdGqt$^X_oPVi8pOfWAWeRrhYuHFOt_NEAiT%WDDMLB}(h3?vc> z5ClQlcR3ggF8lp{yVvWzI0jN69kbaSFBA&k^?CuD0lq}{zLZL( z*Q!0$Y&Khr#bP40i10UR5`~Cbz-h%PWSvf@oaQ44%>g@w`F#HT1c1U9JRT1i3z5Rw2JjaBp2DZxR;v{(7K?9MNOv?E-Oz>6XylT~q!T^7;Hz1;Qy~UoMyLeLmlr@&Nx0BuN5lK|Z-h!e{I8cpS;)au0ulZ8RF^ z7+TF{vw_KEqQQb_G|GPUdi?>!;cz?&hr{0~D^BwP(g)?2=iov0DfLdp>MMwLe7SNsjA4%v}zXcco!7%B& T4f=}F00000NkvXXu0mjf8fX}A literal 0 HcmV?d00001 diff --git a/themes/thinker/static/images/delicious_16.png b/themes/thinker/static/images/delicious_16.png new file mode 100755 index 0000000000000000000000000000000000000000..e4ebb98184e4b985ebc03634fde751b7fc38db93 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ za0`Jj-1EY?oi(`mI@6yS;vzQ!3+WtqLS6b2W zgCldB@1?iQEIOY;DwVirPdMatNzx-%rzJ*VP3sQVb921A)~2M3PSSk-=kwh6XABZI z-}Jd#o0z65w7R0gKbKk2M!BUr>Dkc=8$I>OoSSs4Pd=&a+nt>&Uv~K0Vy*jj{M<>; ziY#Of-CbBErKV)Fw@#gP-7>}>mQz%ePHf^yyO#Ha?}H)djXK5$${NRRysBa9DBZ-y z@L(6?l3npe3=Bto6;r8qVg-H zx13z09C|+LEO^})@^w?=%u+jJYZQKWnJ_b)$KbLh*2~7aJ CowwNl literal 0 HcmV?d00001 diff --git a/themes/thinker/static/images/ico-comments.png b/themes/thinker/static/images/ico-comments.png new file mode 100644 index 0000000000000000000000000000000000000000..a3871541ab239b14a559a5d8aa481e4b771ba5fa GIT binary patch literal 357 zcmV-r0h<1aP)NQ0~odoQsl**Xv!|9 za|wY}2KO98`dT?8Y^?UaA?Hj>z&4W36wR^KyN8D@{R!$ znyt>a2s|5Vb$x{%%0*_DW)MfFh2=2)XTcr~{0J}r`aw!5$WH7n00000NkvXXu0mjf DIEIcb literal 0 HcmV?d00001 diff --git a/themes/thinker/static/images/ico-retweet.png b/themes/thinker/static/images/ico-retweet.png new file mode 100644 index 0000000000000000000000000000000000000000..9d7d637a10059807c93a4ff1997cd2a515897af2 GIT binary patch literal 325 zcmV-L0lNN)P)7ovc;2#hzvf%ya1Bug$m9FVn-k@fhj-&QfOW~i<}bALN&mm z(;ga4vw(OD)Qd)FiE24|QU-@P)wMvHfe!~ zb}FF`(J`t+U7}mG{evAlRHvwp5k&<>dP;&K&^C)Sjhwy%zY(c%bifxrsIxpi@AEvP zhH09&8;}z}dXcmoVLJIph$!B5DPr)3HssSP0oKc;u zRgF5-Agy4>ZgV(-4P}$nb_{hguCBJJ2~iF9x8sw-8pfuAB@xrHltQHR5-;i9^kR0CqA z0v2|8QqO8YV`80X#Rqn9slj$!PF=pz>#7=)Q)at3FIF?R4DFf@U_vu@BPE07<5c=D c;8%bF0MhMsmbLV_VgLXD07*qoM6N<$f^qoQ82|tP literal 0 HcmV?d00001 diff --git a/themes/thinker/static/images/ico-subscribe.png b/themes/thinker/static/images/ico-subscribe.png new file mode 100644 index 0000000000000000000000000000000000000000..867358246db6e443b7d5d0e6a3693809a31fa458 GIT binary patch literal 2307 zcmV+e3H>_=h`Kr-(P-2XMUy3#x)@(1#h8$7Ou%d~VvL3P$e1QA{^5v5 z?R-p}ARwp}Uu7a7^4RZm_majBUiu#mAdvEd zgM*zN{1>$R>eZ{u@7%d#yLIbU9NsH?)z$MPLDP>JGsY&9$pjxCAHmbpvtw}5q)9?z zVxoHe`t^51LqoUss_XwTfNkKwfvfxV>!e$$KK)#7Fk8Z)wA z9om;{jjfaU)NjPu95|bj&39M47XrK8!-tleH*Y3lET5A9mMvS<;o;$A zEN%p6aS#_5XF;ElWQ>W4X+mT+(O`3PvlpC0177p<^YcHWb9i}q=~k^;RW^F`Xs_1R zR^`*DPfc*5NI1-LrhM~+2@`6UELmbll*=&|`{2QYdEVaM(=#$Mu9F;q+ZOPt=YoSj z?GZm`&YW<_F%qz>S+;ChHlYUI-?sc)W(ADFN-N1m&HO(V2vCP@a6L z3erF^hpMZqw?Rp{27}==4z3Cb3Av3;y=f9)YToYMySMMzvnQ<^-cQC=ZrZfTF=WV) z0P;u}S|*pvSNQw;{|rwkp(s!&6f#jcEb!uhWFkRvNCA1s%h%V}PTmOROYhyg7lr(_ z0Ln3dhb|!@!9I2B)DVp4G&D5W;W(SejT@JUJ$}Qu0ne{CZ{8e;e)8tjs;a73l}e?S zN~IReQIQ-trxfSxK!o!0@(}1o0VDj5*Ka9TLIyR9vUlc}mX>}(^U2sGH;qL{N7EWt z)ueI**!uM8GY!99yb3}a>~J`Kx_tR^LUD0%bYWp(6^syuTu?rA=ul6BB&^v7p-*(9 zI&u(CtdUu*){@-Z+(LpL7HI~i;BFB-OeiZWvmQ8bfYz#El&Jmt_j4mT;Q4Y?ZT7UZ zG=e58_BlX`u-omQk`o{T>!Eyto(L%0!Jxvxl%W&D2*$NMdf}i7C{aFr`gEnMOl@s# z0wSq0B_+kkjFP=$$BtI$NyDIv%bmmIcIpKC+BgL1Cr_SCAsvsVfaj311hVwpxpNo6 z!dD6N$q0at*p(|+o+59=L8RE&3=2neaZ$4Yu5!UM35J-4!&soSdUzHYFOFexc6SWW z*w`rCy?a*&K2BvJY8p{Icrz?N2Klofw|w#9#pc_$Zwr9RGk^nvG#R2P2@&T<(ZQ6@ zBh<(hMKA^)LP<#pDX$~(O`JIK2CBnwM6P4hs8Mgp)Y8&I(5;3{&U`?+89sb?gZTdB zDmSW4QvPZ(w3G>MM#!Evo6R;VO=%25shRh^_p$~> ztbnmz4;V1uE5L;?bLLDx2&Jp7t&IX?Ol66%@BiuPf0~!6)^`jT+h?+$hkEC5k_UC*^ z5jLAmnUj+(V)tJMz3sQ?rvPnj}h*YV@W51%`C?pKWcfz}sBsmB?Vh=g=_<~CF* zDeRjUtv6v!11gzpK&l{$#7YKD&isOkNx?AP>Mk!KGGu%A?w!SSxd6PH09#&wZ26NX zPh92Zbc{-PDKFos5~7R^YjIep!h0I3mz|_6R2@F7l*<903OdOF z)~u|o93(KEQmOoo=0gd>j2Sb^;jJo;-#CO8E;NpzYLfn07{Hs*Z>!ewDz_QW}Sm z`1m#IXXBc7_ax>Ki}ioI;h|=76Q*alj8}-qSsyN2G dP5MWG0RW$f=}#AH;PL}1{rUgjo>}j~!-t0Q9;ynQwG2teWv$C%5{@ht z>{b&w>!Xr!i{VJGgAT)y-;o>{Q4C8RYuHs%nRI@bF#esyA=;kF*RV2GX$dFGf;X%u zrWpucYGKw%C@C*jU%@&1pn^2-gex*CZo+3)_BqrrY8lF}FldyhZx&_e{3^wi*nuclWAWDBZmQlQf5;3>1U@_0o}~t>FVdQ I&MBb@08YbON&o-= literal 0 HcmV?d00001 diff --git a/themes/thinker/static/images/posterous_16.png b/themes/thinker/static/images/posterous_16.png new file mode 100755 index 0000000000000000000000000000000000000000..34fdcd21c6dfad24a4bd8f1c46ee2ff34e1fa223 GIT binary patch literal 714 zcmV;*0yX`KP)dbVG7wVRUJ4ZXi@?ZDjy9FETVQ zFgfRo#<|TVKX^CqdEbxk{mv)0zdvfVfqrEJ zGr%57$jGda(X%ShrE%4i?T@B|Qf^fw0E@O`-TViA9M2bAXlzl3O6t=Dljetm0eZ}mOg!B?A}8rQc<^6D~?XlzBr_9chht&Mku w<*6dGqFV>(;GUv0~ApMgRZ*f8&(98mO4NB*-rq$b|w1 zFMq~QKw-`TkH})6tPlt@Ub-L1;Fyx1l&avCS(I9yUzA;} z;2dmPxb?9aP@O19opVuYVo7FxonvCL3#ybZ>wgdz&XHu8j6rytY_>(CfQOgtBjP%yjZVJ0}!*~C2-6LD? zevf@ty5+(7CoKyW9=i9VvG1nv-+x(YTi$$cE7ksW=l=FmdKI;Vst0O`T4w*UYD literal 0 HcmV?d00001 diff --git a/themes/thinker/static/images/reader_16.png b/themes/thinker/static/images/reader_16.png new file mode 100644 index 0000000000000000000000000000000000000000..545cf2790f36ff11b1d8bca8ed1fefd040973563 GIT binary patch literal 883 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 literal 0 HcmV?d00001 diff --git a/themes/thinker/static/images/twitter_16.png b/themes/thinker/static/images/twitter_16.png new file mode 100755 index 0000000000000000000000000000000000000000..2bcd957c4e2d0c747a9ffa1335aa782e0fb5387e GIT binary patch literal 608 zcmV-m0-ybfP)dbVG7wVRUJ4ZXi@?ZDjy9FETVQ zFgfpozInVzolurkvfHew2jZmO$({jX{|c-4w8S(bHyEaDUvAlTI^Xi#eH z#+C4Fy%vQC{4%2L-_VLwSuBLI_{kh0V%w}PYG6bI{X-eaqIfJgTi z(0ICfBH$=D$gMyb23SgO?!>4})zI9Dz4$0M43J@lg%o6p&KIj2A7zFaWLUsX9#tyE z{^iti6t6lBakz-eLg(;=oWPnHBtfD2#-8S4+RIu;?#hk>{6zJtxL;_T*p z1N`ax=D`IGKjQ_zjm^zYXVF}8f~R9H{Qd&S`|7_9^gy2hrSRxiN#?z18Ei0 uxlpZi61%$_r0000~X@ literal 0 HcmV?d00001 diff --git a/themes/thinker/static/js/dd_belatedpng.js b/themes/thinker/static/js/dd_belatedpng.js new file mode 100644 index 0000000..58ae134 --- /dev/null +++ b/themes/thinker/static/js/dd_belatedpng.js @@ -0,0 +1,328 @@ +/** +* DD_belatedPNG: Adds IE6 support: PNG images for CSS background-image and HTML . +* Author: Drew Diller +* Email: drew.diller@gmail.com +* URL: http://www.dillerdesign.com/experiment/DD_belatedPNG/ +* Version: 0.0.8a +* Licensed under the MIT License: http://dillerdesign.com/experiment/DD_belatedPNG/#license +* +* Example usage: +* DD_belatedPNG.fix('.png_bg'); // argument is a CSS selector +* DD_belatedPNG.fixPng( someNode ); // argument is an HTMLDomElement +**/ + +/* +PLEASE READ: +Absolutely everything in this script is SILLY. I know this. IE's rendering of certain pixels doesn't make sense, so neither does this code! +*/ + +var DD_belatedPNG = { + ns: 'DD_belatedPNG', + imgSize: {}, + delay: 10, + nodesFixed: 0, + createVmlNameSpace: function () { /* enable VML */ + if (document.namespaces && !document.namespaces[this.ns]) { + document.namespaces.add(this.ns, 'urn:schemas-microsoft-com:vml'); + } + }, + createVmlStyleSheet: function () { /* style VML, enable behaviors */ + /* + Just in case lots of other developers have added + lots of other stylesheets using document.createStyleSheet + and hit the 31-limit mark, let's not use that method! + further reading: http://msdn.microsoft.com/en-us/library/ms531194(VS.85).aspx + */ + var screenStyleSheet, printStyleSheet; + screenStyleSheet = document.createElement('style'); + screenStyleSheet.setAttribute('media', 'screen'); + document.documentElement.firstChild.insertBefore(screenStyleSheet, document.documentElement.firstChild.firstChild); + if (screenStyleSheet.styleSheet) { + screenStyleSheet = screenStyleSheet.styleSheet; + screenStyleSheet.addRule(this.ns + '\\:*', '{behavior:url(#default#VML)}'); + screenStyleSheet.addRule(this.ns + '\\:shape', 'position:absolute;'); + screenStyleSheet.addRule('img.' + this.ns + '_sizeFinder', 'behavior:none; border:none; position:absolute; z-index:-1; top:-10000px; visibility:hidden;'); /* large negative top value for avoiding vertical scrollbars for large images, suggested by James O'Brien, http://www.thanatopsic.org/hendrik/ */ + this.screenStyleSheet = screenStyleSheet; + + /* Add a print-media stylesheet, for preventing VML artifacts from showing up in print (including preview). */ + /* Thanks to Rémi Prévost for automating this! */ + printStyleSheet = document.createElement('style'); + printStyleSheet.setAttribute('media', 'print'); + document.documentElement.firstChild.insertBefore(printStyleSheet, document.documentElement.firstChild.firstChild); + printStyleSheet = printStyleSheet.styleSheet; + printStyleSheet.addRule(this.ns + '\\:*', '{display: none !important;}'); + printStyleSheet.addRule('img.' + this.ns + '_sizeFinder', '{display: none !important;}'); + } + }, + readPropertyChange: function () { + var el, display, v; + el = event.srcElement; + if (!el.vmlInitiated) { + return; + } + if (event.propertyName.search('background') != -1 || event.propertyName.search('border') != -1) { + DD_belatedPNG.applyVML(el); + } + if (event.propertyName == 'style.display') { + display = (el.currentStyle.display == 'none') ? 'none' : 'block'; + for (v in el.vml) { + if (el.vml.hasOwnProperty(v)) { + el.vml[v].shape.style.display = display; + } + } + } + if (event.propertyName.search('filter') != -1) { + DD_belatedPNG.vmlOpacity(el); + } + }, + vmlOpacity: function (el) { + if (el.currentStyle.filter.search('lpha') != -1) { + var trans = el.currentStyle.filter; + trans = parseInt(trans.substring(trans.lastIndexOf('=')+1, trans.lastIndexOf(')')), 10)/100; + el.vml.color.shape.style.filter = el.currentStyle.filter; /* complete guesswork */ + el.vml.image.fill.opacity = trans; /* complete guesswork */ + } + }, + handlePseudoHover: function (el) { + setTimeout(function () { /* wouldn't work as intended without setTimeout */ + DD_belatedPNG.applyVML(el); + }, 1); + }, + /** + * This is the method to use in a document. + * @param {String} selector - REQUIRED - a CSS selector, such as '#doc .container' + **/ + fix: function (selector) { + if (this.screenStyleSheet) { + var selectors, i; + selectors = selector.split(','); /* multiple selectors supported, no need for multiple calls to this anymore */ + for (i=0; i size.H) { + c.B = size.H; + } + el.vml.image.shape.style.clip = 'rect('+c.T+'px '+(c.R+fudge)+'px '+c.B+'px '+(c.L+fudge)+'px)'; + } + else { + el.vml.image.shape.style.clip = 'rect('+dC.T+'px '+dC.R+'px '+dC.B+'px '+dC.L+'px)'; + } + }, + figurePercentage: function (bg, size, axis, position) { + var horizontal, fraction; + fraction = true; + horizontal = (axis == 'X'); + switch(position) { + case 'left': + case 'top': + bg[axis] = 0; + break; + case 'center': + bg[axis] = 0.5; + break; + case 'right': + case 'bottom': + bg[axis] = 1; + break; + default: + if (position.search('%') != -1) { + bg[axis] = parseInt(position, 10) / 100; + } + else { + fraction = false; + } + } + bg[axis] = Math.ceil( fraction ? ( (size[horizontal?'W': 'H'] * bg[axis]) - (size[horizontal?'w': 'h'] * bg[axis]) ) : parseInt(position, 10) ); + if (bg[axis] % 2 === 0) { + bg[axis]++; + } + return bg[axis]; + }, + fixPng: function (el) { + el.style.behavior = 'none'; + var lib, els, nodeStr, v, e; + if (el.nodeName == 'BODY' || el.nodeName == 'TD' || el.nodeName == 'TR') { /* elements not supported yet */ + return; + } + el.isImg = false; + if (el.nodeName == 'IMG') { + if(el.src.toLowerCase().search(/\.png$/) != -1) { + el.isImg = true; + el.style.visibility = 'hidden'; + } + else { + return; + } + } + else if (el.currentStyle.backgroundImage.toLowerCase().search('.png') == -1) { + return; + } + lib = DD_belatedPNG; + el.vml = {color: {}, image: {}}; + els = {shape: {}, fill: {}}; + for (v in el.vml) { + if (el.vml.hasOwnProperty(v)) { + for (e in els) { + if (els.hasOwnProperty(e)) { + nodeStr = lib.ns + ':' + e; + el.vml[v][e] = document.createElement(nodeStr); + } + } + el.vml[v].shape.stroked = false; + el.vml[v].shape.appendChild(el.vml[v].fill); + el.parentNode.insertBefore(el.vml[v].shape, el); + } + } + el.vml.image.shape.fillcolor = 'none'; /* Don't show blank white shapeangle when waiting for image to load. */ + el.vml.image.fill.type = 'tile'; /* Makes image show up. */ + el.vml.color.fill.on = false; /* Actually going to apply vml element's style.backgroundColor, so hide the whiteness. */ + lib.attachHandlers(el); + lib.giveLayout(el); + lib.giveLayout(el.offsetParent); + el.vmlInitiated = true; + lib.applyVML(el); /* Render! */ + } +}; +try { + document.execCommand("BackgroundImageCache", false, true); /* TredoSoft Multiple IE doesn't like this, so try{} it */ +} catch(r) {} +DD_belatedPNG.createVmlNameSpace(); +DD_belatedPNG.createVmlStyleSheet(); \ No newline at end of file diff --git a/themes/thinker/static/js/jquery.dataTables.min.js b/themes/thinker/static/js/jquery.dataTables.min.js new file mode 100644 index 0000000..bcf9c98 --- /dev/null +++ b/themes/thinker/static/js/jquery.dataTables.min.js @@ -0,0 +1,587 @@ +/* + * File: jquery.dataTables.min.js + * Version: 1.6.2 + * Author: Allan Jardine (www.sprymedia.co.uk) + * Info: www.datatables.net + * + * Copyright 2008-2010 Allan Jardine, all rights reserved. + * + * This source file is free software, under either the GPL v2 license or a + * BSD style license, as supplied with this software. + * + * This source file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. + */ +(function($){$.fn.dataTableSettings=[];var _aoSettings=$.fn.dataTableSettings;$.fn.dataTableExt={}; +var _oExt=$.fn.dataTableExt;_oExt.sVersion="1.6.2";_oExt.iApiIndex=0;_oExt.oApi={}; +_oExt.afnFiltering=[];_oExt.aoFeatures=[];_oExt.ofnSearch={};_oExt.afnSortData=[]; +_oExt.oStdClasses={sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",sPageButtonStaticDisabled:"paginate_button",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripOdd:"odd",sStripEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:""}; +_oExt.oJUIClasses={sPagePrevEnabled:"fg-button ui-state-default ui-corner-left",sPagePrevDisabled:"fg-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-state-default",sPageButtonActive:"fg-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-state-default ui-state-disabled",sPageFirst:"first ui-corner-tl ui-corner-bl",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last ui-corner-tr ui-corner-br",sStripOdd:"odd",sStripEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate fg-buttonset fg-buttonset-multi paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default",sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",sSortColumn:"sorting_",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s"}; +_oExt.oPagination={two_button:{fnInit:function(oSettings,nPaging,fnCallbackDraw){var nPrevious,nNext,nPreviousInner,nNextInner; +if(!oSettings.bJUI){nPrevious=document.createElement("div");nNext=document.createElement("div") +}else{nPrevious=document.createElement("a");nNext=document.createElement("a");nNextInner=document.createElement("span"); +nNextInner.className=oSettings.oClasses.sPageJUINext;nNext.appendChild(nNextInner); +nPreviousInner=document.createElement("span");nPreviousInner.className=oSettings.oClasses.sPageJUIPrev; +nPrevious.appendChild(nPreviousInner)}nPrevious.className=oSettings.oClasses.sPagePrevDisabled; +nNext.className=oSettings.oClasses.sPageNextDisabled;nPrevious.title=oSettings.oLanguage.oPaginate.sPrevious; +nNext.title=oSettings.oLanguage.oPaginate.sNext;nPaging.appendChild(nPrevious);nPaging.appendChild(nNext); +$(nPrevious).click(function(){if(oSettings.oApi._fnPageChange(oSettings,"previous")){fnCallbackDraw(oSettings) +}});$(nNext).click(function(){if(oSettings.oApi._fnPageChange(oSettings,"next")){fnCallbackDraw(oSettings) +}});$(nPrevious).bind("selectstart",function(){return false});$(nNext).bind("selectstart",function(){return false +});if(oSettings.sTableId!==""&&typeof oSettings.aanFeatures.p=="undefined"){nPaging.setAttribute("id",oSettings.sTableId+"_paginate"); +nPrevious.setAttribute("id",oSettings.sTableId+"_previous");nNext.setAttribute("id",oSettings.sTableId+"_next") +}},fnUpdate:function(oSettings,fnCallbackDraw){if(!oSettings.aanFeatures.p){return +}var an=oSettings.aanFeatures.p;for(var i=0,iLen=an.length;i=(iPages-iPageCountHalf)){iStartButton=iPages-iPageCount+1; +iEndButton=iPages}else{iStartButton=iCurrentPage-Math.ceil(iPageCount/2)+1;iEndButton=iStartButton+iPageCount-1 +}}}for(i=iStartButton;i<=iEndButton;i++){if(iCurrentPage!=i){sList+=''+i+"" +}else{sList+=''+i+""}}var an=oSettings.aanFeatures.p; +var anButtons,anStatic,nPaginateList;var fnClick=function(){var iTarget=(this.innerHTML*1)-1; +oSettings._iDisplayStart=iTarget*oSettings._iDisplayLength;fnCallbackDraw(oSettings); +return false};var fnFalse=function(){return false};for(i=0,iLen=an.length;iy)?1:0))},"string-desc":function(a,b){var x=a.toLowerCase(); +var y=b.toLowerCase();return((xy)?-1:0))},"html-asc":function(a,b){var x=a.replace(/<.*?>/g,"").toLowerCase(); +var y=b.replace(/<.*?>/g,"").toLowerCase();return((xy)?1:0))},"html-desc":function(a,b){var x=a.replace(/<.*?>/g,"").toLowerCase(); +var y=b.replace(/<.*?>/g,"").toLowerCase();return((xy)?-1:0))},"date-asc":function(a,b){var x=Date.parse(a); +var y=Date.parse(b);if(isNaN(x)){x=Date.parse("01/01/1970 00:00:00")}if(isNaN(y)){y=Date.parse("01/01/1970 00:00:00") +}return x-y},"date-desc":function(a,b){var x=Date.parse(a);var y=Date.parse(b);if(isNaN(x)){x=Date.parse("01/01/1970 00:00:00") +}if(isNaN(y)){y=Date.parse("01/01/1970 00:00:00")}return y-x},"numeric-asc":function(a,b){var x=a=="-"?0:a; +var y=b=="-"?0:b;return x-y},"numeric-desc":function(a,b){var x=a=="-"?0:a;var y=b=="-"?0:b; +return y-x}};_oExt.aTypes=[function(sData){if(typeof sData=="number"){return"numeric" +}else{if(typeof sData.charAt!="function"){return null}}var sValidFirstChars="0123456789-"; +var sValidChars="0123456789.";var Char;var bDecimal=false;Char=sData.charAt(0);if(sValidFirstChars.indexOf(Char)==-1){return null +}for(var i=1;i=parseInt(sThat,10)};this.fnSort=function(aaSort){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]); +oSettings.aaSorting=aaSort;_fnSort(oSettings)};this.fnSortListener=function(nNode,iColumn,fnCallback){_fnSortAttachListener(_fnSettingsFromNode(this[_oExt.iApiIndex]),nNode,iColumn,fnCallback) +};this.fnAddData=function(mData,bRedraw){if(mData.length===0){return[]}var aiReturn=[]; +var iTest;var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]);if(typeof mData[0]=="object"){for(var i=0; +i=oSettings.aiDisplay.length){oSettings._iDisplayStart-=oSettings._iDisplayLength; +if(oSettings._iDisplayStart<0){oSettings._iDisplayStart=0}}_fnCalculateEnd(oSettings); +_fnDraw(oSettings);var aData=oSettings.aoData[iAODataIndex]._aData.slice();if(typeof bNullRow!="undefined"&&bNullRow===true){oSettings.aoData[iAODataIndex]=null +}return aData};this.fnClearTable=function(bRedraw){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]); +_fnClearTable(oSettings);if(typeof bRedraw=="undefined"||bRedraw){_fnDraw(oSettings) +}};this.fnOpen=function(nTr,sHtml,sClass){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]); +this.fnClose(nTr);var nNewRow=document.createElement("tr");var nNewCell=document.createElement("td"); +nNewRow.appendChild(nNewCell);nNewCell.className=sClass;nNewCell.colSpan=_fnVisbleColumns(oSettings); +nNewCell.innerHTML=sHtml;var nTrs=$("tbody tr",oSettings.nTable);if($.inArray(nTr,nTrs)!=-1){$(nNewRow).insertAfter(nTr) +}if(!oSettings.oFeatures.bServerSide){oSettings.aoOpenRows.push({nTr:nNewRow,nParent:nTr}) +}return nNewRow};this.fnClose=function(nTr){var oSettings=_fnSettingsFromNode(this[_oExt.iApiIndex]); +for(var i=0;itr",oSettings.nTable)[0];var nTrFoot=$("tfoot:eq(0)>tr",oSettings.nTable)[0]; +var anTheadTh=[];var anTfootTh=[];for(i=0;i=_fnVisbleColumns(oSettings)){nTrHead.appendChild(anTheadTh[iCol]); +if(nTrFoot){nTrFoot.appendChild(anTfootTh[iCol])}for(i=0,iLen=oSettings.aoData.length; +itd:eq("+iBefore+")",oSettings.aoData[i].nTr)[0]) +}}oSettings.aoColumns[iCol].bVisible=true}else{nTrHead.removeChild(anTheadTh[iCol]); +if(nTrFoot){nTrFoot.removeChild(anTfootTh[iCol])}anTds=_fnGetTdNodes(oSettings);for(i=0,iLen=oSettings.aoData.length; +i=oSettings.fnRecordsDisplay())?0:oSettings.iInitDisplayStart; +oSettings.iInitDisplayStart=-1;_fnCalculateEnd(oSettings)}if(oSettings.aiDisplay.length!==0){var iStart=oSettings._iDisplayStart; +var iEnd=oSettings._iDisplayEnd;if(oSettings.oFeatures.bServerSide){iStart=0;iEnd=oSettings.aoData.length +}for(var j=iStart;jtr",oSettings.nTable)[0],_fnGetDataMaster(oSettings),oSettings._iDisplayStart,oSettings.fnDisplayEnd(),oSettings.aiDisplay) +}if(typeof oSettings.fnFooterCallback=="function"){oSettings.fnFooterCallback($("tfoot:eq(0)>tr",oSettings.nTable)[0],_fnGetDataMaster(oSettings),oSettings._iDisplayStart,oSettings.fnDisplayEnd(),oSettings.aiDisplay) +}var nBody=oSettings.nTable.getElementsByTagName("tbody");if(nBody[0]){var nTrs=nBody[0].childNodes; +for(i=nTrs.length-1;i>=0;i--){nTrs[i].parentNode.removeChild(nTrs[i])}for(i=0,iLen=anRows.length; +i"){nInsertNode=nInsertNode.parentNode}else{if(cOption=="l"&&oSettings.oFeatures.bPaginate&&oSettings.oFeatures.bLengthChange){nTmp=_fnFeatureHtmlLength(oSettings); +iPushFeature=1}else{if(cOption=="f"&&oSettings.oFeatures.bFilter){nTmp=_fnFeatureHtmlFilter(oSettings); +iPushFeature=1}else{if(cOption=="r"&&oSettings.oFeatures.bProcessing){nTmp=_fnFeatureHtmlProcessing(oSettings); +iPushFeature=1}else{if(cOption=="t"){nTmp=oSettings.nTable;iPushFeature=1}else{if(cOption=="i"&&oSettings.oFeatures.bInfo){nTmp=_fnFeatureHtmlInfo(oSettings); +iPushFeature=1}else{if(cOption=="p"&&oSettings.oFeatures.bPaginate){nTmp=_fnFeatureHtmlPaginate(oSettings); +iPushFeature=1}else{if(_oExt.aoFeatures.length!==0){var aoFeatures=_oExt.aoFeatures; +for(var k=0,kLen=aoFeatures.length;k';var jqFilter=$("input",nFilter); +jqFilter.val(oSettings.oPreviousSearch.sSearch.replace('"',"""));jqFilter.keyup(function(e){var n=oSettings.aanFeatures.f; +for(var i=0,iLen=n.length;i=0; +i--){var sData=_fnDataToSearch(oSettings.aoData[oSettings.aiDisplay[i]]._aData[iColumn],oSettings.aoColumns[iColumn].sType); +if(!rpSearch.test(sData)){oSettings.aiDisplay.splice(i,1);iIndexCorrector++}}}function _fnFilter(oSettings,sInput,iForce,bEscapeRegex){var i; +if(typeof iForce=="undefined"||iForce===null){iForce=0}if(_oExt.afnFiltering.length!==0){iForce=1 +}var asSearch=bEscapeRegex?_fnEscapeRegex(sInput).split(" "):sInput.split(" ");var sRegExpString="^(?=.*?"+asSearch.join(")(?=.*?")+").*$"; +var rpSearch=new RegExp(sRegExpString,"i");if(sInput.length<=0){oSettings.aiDisplay.splice(0,oSettings.aiDisplay.length); +oSettings.aiDisplay=oSettings.aiDisplayMaster.slice()}else{if(oSettings.aiDisplay.length==oSettings.aiDisplayMaster.length||oSettings.oPreviousSearch.sSearch.length>sInput.length||iForce==1||sInput.indexOf(oSettings.oPreviousSearch.sSearch)!==0){oSettings.aiDisplay.splice(0,oSettings.aiDisplay.length); +_fnBuildSearchArray(oSettings,1);for(i=0;i/g,"")}else{if(typeof sData=="string"){return sData.replace(/\n/g," ") +}}}return sData}function _fnSort(oSettings,bApplyClasses){var aaSort=[];var oSort=_oExt.oSort; +var aoData=oSettings.aoData;var iDataSort;var iDataType;var i,j,jLen;if(!oSettings.oFeatures.bServerSide&&(oSettings.aaSorting.length!==0||oSettings.aaSortingFixed!==null)){if(oSettings.aaSortingFixed!==null){aaSort=oSettings.aaSortingFixed.concat(oSettings.aaSorting) +}else{aaSort=oSettings.aaSorting.slice()}for(i=0;i=iColumns){for(i=0;i=0?oSettings._iDisplayStart-oSettings._iDisplayLength:0; +if(oSettings._iDisplayStart<0){oSettings._iDisplayStart=0}}else{if(sAction=="next"){if(oSettings._iDisplayLength>=0){if(oSettings._iDisplayStart+oSettings._iDisplayLength=0){var iPages=parseInt((oSettings.fnRecordsDisplay()-1)/oSettings._iDisplayLength,10)+1; +oSettings._iDisplayStart=(iPages-1)*oSettings._iDisplayLength}else{oSettings._iDisplayStart=0 +}}else{alert("DataTables warning: unknown paging action: "+sAction)}}}}return iOldStart!=oSettings._iDisplayStart +}function _fnFeatureHtmlInfo(oSettings){var nInfo=document.createElement("div");nInfo.className=oSettings.oClasses.sInfo; +if(typeof oSettings.aanFeatures.i=="undefined"){oSettings.aoDrawCallback.push({fn:_fnUpdateInfo,sName:"information"}); +if(oSettings.sTableId!==""){nInfo.setAttribute("id",oSettings.sTableId+"_info")}}return nInfo +}function _fnUpdateInfo(oSettings){if(!oSettings.oFeatures.bInfo||oSettings.aanFeatures.i.length===0){return +}var nFirst=oSettings.aanFeatures.i[0];if(oSettings.fnRecordsDisplay()===0&&oSettings.fnRecordsDisplay()==oSettings.fnRecordsTotal()){nFirst.innerHTML=oSettings.oLanguage.sInfoEmpty+oSettings.oLanguage.sInfoPostFix +}else{if(oSettings.fnRecordsDisplay()===0){nFirst.innerHTML=oSettings.oLanguage.sInfoEmpty+" "+oSettings.oLanguage.sInfoFiltered.replace("_MAX_",oSettings.fnRecordsTotal())+oSettings.oLanguage.sInfoPostFix +}else{if(oSettings.fnRecordsDisplay()==oSettings.fnRecordsTotal()){nFirst.innerHTML=oSettings.oLanguage.sInfo.replace("_START_",oSettings._iDisplayStart+1).replace("_END_",oSettings.fnDisplayEnd()).replace("_TOTAL_",oSettings.fnRecordsDisplay())+oSettings.oLanguage.sInfoPostFix +}else{nFirst.innerHTML=oSettings.oLanguage.sInfo.replace("_START_",oSettings._iDisplayStart+1).replace("_END_",oSettings.fnDisplayEnd()).replace("_TOTAL_",oSettings.fnRecordsDisplay())+" "+oSettings.oLanguage.sInfoFiltered.replace("_MAX_",oSettings.fnRecordsTotal())+oSettings.oLanguage.sInfoPostFix +}}}var n=oSettings.aanFeatures.i;if(n.length>1){var sInfo=nFirst.innerHTML;for(var i=1,iLen=n.length; +i'; +var nLength=document.createElement("div");if(oSettings.sTableId!==""&&typeof oSettings.aanFeatures.l=="undefined"){nLength.setAttribute("id",oSettings.sTableId+"_length") +}nLength.className=oSettings.oClasses.sLength;nLength.innerHTML=oSettings.oLanguage.sLengthMenu.replace("_MENU_",sStdMenu); +$('select option[value="'+oSettings._iDisplayLength+'"]',nLength).attr("selected",true); +$("select",nLength).change(function(e){var iVal=$(this).val();var n=oSettings.aanFeatures.l; +for(var i=0,iLen=n.length;ioSettings.aiDisplay.length||oSettings._iDisplayLength==-1){oSettings._iDisplayEnd=oSettings.aiDisplay.length +}else{oSettings._iDisplayEnd=oSettings._iDisplayStart+oSettings._iDisplayLength}}}function _fnConvertToWidth(sWidth,nParent){if(!sWidth||sWidth===null||sWidth===""){return 0 +}if(typeof nParent=="undefined"){nParent=document.getElementsByTagName("body")[0] +}var iWidth;var nTmp=document.createElement("div");nTmp.style.width=sWidth;nParent.appendChild(nTmp); +iWidth=nTmp.offsetWidth;nParent.removeChild(nTmp);return(iWidth)}function _fnCalculateColumnWidths(oSettings){var iTableWidth=oSettings.nTable.offsetWidth; +var iTotalUserIpSize=0;var iTmpWidth;var iVisibleColumns=0;var iColums=oSettings.aoColumns.length; +var i;var oHeaders=$("thead:eq(0)>th",oSettings.nTable);for(i=0;i';var sCalcHead="";var sCalcHtml=""; +for(i=0;i"+oSettings.aoColumns[i].sTitle+""; +if(oSettings.aoColumns[i].sWidth!==null){var sWidth="";if(oSettings.aoColumns[i].sWidth!==null){sWidth=' style="width:'+oSettings.aoColumns[i].sWidth+';"' +}sCalcHtml+="'+fnGetMaxLenString(oSettings,i)+"" +}else{sCalcHtml+=''+fnGetMaxLenString(oSettings,i)+""}}}sCalcHead+=""; +sCalcHtml+="";nCalcTmp=$(sTableTmp+sCalcHead+sCalcHtml+"")[0];nCalcTmp.style.width=iTableWidth+"px"; +nCalcTmp.style.visibility="hidden";nCalcTmp.style.position="absolute";oSettings.nTable.parentNode.appendChild(nCalcTmp); +var oNodes=$("tr:eq(1)>td",nCalcTmp);var iIndex;for(i=0;iiMax){iMax=oSettings.aoData[i]._aData[iCol].length; +iMaxIndex=i}}if(iMaxIndex>=0){return oSettings.aoData[iMaxIndex]._aData[iCol]}return"" +}function _fnArrayCmp(aArray1,aArray2){if(aArray1.length!=aArray2.length){return 1 +}for(var i=0;it<"F"ip>'}}if(typeof oInit.iDisplayStart!="undefined"&&typeof oSettings.iInitDisplayStart=="undefined"){oSettings.iInitDisplayStart=oInit.iDisplayStart; +oSettings._iDisplayStart=oInit.iDisplayStart}if(typeof oInit.bStateSave!="undefined"){oSettings.oFeatures.bStateSave=oInit.bStateSave; +_fnLoadState(oSettings,oInit);oSettings.aoDrawCallback.push({fn:_fnSaveState,sName:"state_save"}) +}if(typeof oInit.aaData!="undefined"){bUsePassedData=true}if(typeof oInit!="undefined"&&typeof oInit.aoData!="undefined"){oInit.aoColumns=oInit.aoData +}if(typeof oInit.oLanguage!="undefined"){if(typeof oInit.oLanguage.sUrl!="undefined"&&oInit.oLanguage.sUrl!==""){oSettings.oLanguage.sUrl=oInit.oLanguage.sUrl; +$.getJSON(oSettings.oLanguage.sUrl,null,function(json){_fnLanguageProcess(oSettings,json,true) +});bInitHandedOff=true}else{_fnLanguageProcess(oSettings,oInit.oLanguage,false)}}}else{oInit={} +}if(typeof oInit.asStripClasses=="undefined"){oSettings.asStripClasses.push(oSettings.oClasses.sStripOdd); +oSettings.asStripClasses.push(oSettings.oClasses.sStripEven)}var nThead=this.getElementsByTagName("thead"); +var nThs=nThead.length===0?null:_fnGetUniqueThs(nThead[0]);var bUseCols=typeof oInit.aoColumns!="undefined"; +for(i=0,iLen=bUseCols?oInit.aoColumns.length:nThs.length;i'}switch(m.type){case"photo":var n=m.title?m.title:"";var k="";if(g.addImageStyles){if(g.maxWidth!=null){k+="max-width:"+g.maxWidth+"px; "}if(g.maxHeight!=null){k+="max-height:"+g.maxHeight+"px; "}}l+=''+n+'';break;case"video":l+=m.html;break;case"rich":l+=m.html;break;default:l+=''+(m.title!=null)?m.title:h+"";break}if(g.wrapElement!=null){l+=""}m.code=l;j(m)},error:function(){j(null)}})}})(jQuery); + diff --git a/themes/thinker/static/js/modernizr-1.5.min.js b/themes/thinker/static/js/modernizr-1.5.min.js new file mode 100644 index 0000000..a1de3f7 --- /dev/null +++ b/themes/thinker/static/js/modernizr-1.5.min.js @@ -0,0 +1,28 @@ +/*! + * Modernizr JavaScript library 1.5 + * http://www.modernizr.com/ + * + * Copyright (c) 2009-2010 Faruk Ates - http://farukat.es/ + * Dual-licensed under the BSD and MIT licenses. + * http://www.modernizr.com/license/ + * + * Featuring major contributions by + * Paul Irish - http://paulirish.com + */ + window.Modernizr=function(i,e,I){function C(a,b){for(var c in a)if(m[a[c]]!==I&&(!b||b(a[c],D)))return true}function r(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1);return!!C([a,"Webkit"+c,"Moz"+c,"O"+c,"ms"+c,"Khtml"+c],b)}function P(){j[E]=function(a){for(var b=0,c=a.length;b7)};d.historymanagement=function(){return!!(i.history&&history.pushState)};d.draganddrop=function(){return u("drag")&&u("dragstart")&&u("dragenter")&&u("dragover")&&u("dragleave")&&u("dragend")&&u("drop")};d.websockets=function(){return"WebSocket"in i};d.rgba=function(){m.cssText="background-color:rgba(150,255,150,.5)";return(""+m.backgroundColor).indexOf("rgba")!==-1};d.hsla=function(){m.cssText="background-color:hsla(120,40%,100%,.5)";return(""+ + m.backgroundColor).indexOf("rgba")!==-1};d.multiplebgs=function(){m.cssText="background:url(//:),url(//:),red url(//:)";return/(url\s*\(.*?){3}/.test(m.background)};d.backgroundsize=function(){return r("backgroundSize")};d.borderimage=function(){return r("borderImage")};d.borderradius=function(){return r("borderRadius","",function(a){return(""+a).indexOf("orderRadius")!==-1})};d.boxshadow=function(){return r("boxShadow")};d.opacity=function(){var a=y.join("opacity:.5;")+"";m.cssText=a;return(""+m.opacity).indexOf("0.5")!== + -1};d.cssanimations=function(){return r("animationName")};d.csscolumns=function(){return r("columnCount")};d.cssgradients=function(){var a=("background-image:"+y.join("gradient(linear,left top,right bottom,from(#9f9),to(white));background-image:")+y.join("linear-gradient(left top,#9f9, white);background-image:")).slice(0,-17);m.cssText=a;return(""+m.backgroundImage).indexOf("gradient")!==-1};d.cssreflections=function(){return r("boxReflect")};d.csstransforms=function(){return!!C(["transformProperty", + "WebkitTransform","MozTransform","OTransform","msTransform"])};d.csstransforms3d=function(){var a=!!C(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);if(a){var b=document.createElement("style"),c=e.createElement("div");b.textContent="@media ("+y.join("transform-3d),(")+"modernizr){#modernizr{height:3px}}";e.getElementsByTagName("head")[0].appendChild(b);c.id="modernizr";s.appendChild(c);a=c.offsetHeight===3;b.parentNode.removeChild(b);c.parentNode.removeChild(c)}return a}; + d.csstransitions=function(){return r("transitionProperty")};d.fontface=function(){var a;if(/*@cc_on@if(@_jscript_version>=5)!@end@*/0)a=true;else{var b=e.createElement("style"),c=e.createElement("span"),h,t=false,g=e.body,o,w;b.textContent="@font-face{font-family:testfont;src:url('data:font/ttf;base64,AAEAAAAMAIAAAwBAT1MvMliohmwAAADMAAAAVmNtYXCp5qrBAAABJAAAANhjdnQgACICiAAAAfwAAAAEZ2FzcP//AAMAAAIAAAAACGdseWYv5OZoAAACCAAAANxoZWFk69bnvwAAAuQAAAA2aGhlYQUJAt8AAAMcAAAAJGhtdHgGDgC4AAADQAAAABRsb2NhAIQAwgAAA1QAAAAMbWF4cABVANgAAANgAAAAIG5hbWUgXduAAAADgAAABPVwb3N03NkzmgAACHgAAAA4AAECBAEsAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAACAAMDAAAAAAAAgAACbwAAAAoAAAAAAAAAAFBmRWQAAAAgqS8DM/8zAFwDMwDNAAAABQAAAAAAAAAAAAMAAAADAAAAHAABAAAAAABGAAMAAQAAAK4ABAAqAAAABgAEAAEAAgAuqQD//wAAAC6pAP///9ZXAwAAAAAAAAACAAAABgBoAAAAAAAvAAEAAAAAAAAAAAAAAAAAAAABAAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEACoAAAAGAAQAAQACAC6pAP//AAAALqkA////1lcDAAAAAAAAAAIAAAAiAogAAAAB//8AAgACACIAAAEyAqoAAwAHAC6xAQAvPLIHBADtMrEGBdw8sgMCAO0yALEDAC88sgUEAO0ysgcGAfw8sgECAO0yMxEhESczESMiARDuzMwCqv1WIgJmAAACAFUAAAIRAc0ADwAfAAATFRQWOwEyNj0BNCYrASIGARQGKwEiJj0BNDY7ATIWFX8aIvAiGhoi8CIaAZIoN/43KCg3/jcoAWD0JB4eJPQkHh7++EY2NkbVRjY2RgAAAAABAEH/+QCdAEEACQAANjQ2MzIWFAYjIkEeEA8fHw8QDxwWFhwWAAAAAQAAAAIAAIuYbWpfDzz1AAsEAAAAAADFn9IuAAAAAMWf0i797/8zA4gDMwAAAAgAAgAAAAAAAAABAAADM/8zAFwDx/3v/98DiAABAAAAAAAAAAAAAAAAAAAABQF2ACIAAAAAAVUAAAJmAFUA3QBBAAAAKgAqACoAWgBuAAEAAAAFAFAABwBUAAQAAgAAAAEAAQAAAEAALgADAAMAAAAQAMYAAQAAAAAAAACLAAAAAQAAAAAAAQAhAIsAAQAAAAAAAgAFAKwAAQAAAAAAAwBDALEAAQAAAAAABAAnAPQAAQAAAAAABQAKARsAAQAAAAAABgAmASUAAQAAAAAADgAaAUsAAwABBAkAAAEWAWUAAwABBAkAAQBCAnsAAwABBAkAAgAKAr0AAwABBAkAAwCGAscAAwABBAkABABOA00AAwABBAkABQAUA5sAAwABBAkABgBMA68AAwABBAkADgA0A/tDb3B5cmlnaHQgMjAwOSBieSBEYW5pZWwgSm9obnNvbi4gIFJlbGVhc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgT3BlbiBGb250IExpY2Vuc2UuIEtheWFoIExpIGdseXBocyBhcmUgcmVsZWFzZWQgdW5kZXIgdGhlIEdQTCB2ZXJzaW9uIDMuYmFlYzJhOTJiZmZlNTAzMiAtIHN1YnNldCBvZiBKdXJhTGlnaHRiYWVjMmE5MmJmZmU1MDMyIC0gc3Vic2V0IG9mIEZvbnRGb3JnZSAyLjAgOiBKdXJhIExpZ2h0IDogMjMtMS0yMDA5YmFlYzJhOTJiZmZlNTAzMiAtIHN1YnNldCBvZiBKdXJhIExpZ2h0VmVyc2lvbiAyIGJhZWMyYTkyYmZmZTUwMzIgLSBzdWJzZXQgb2YgSnVyYUxpZ2h0aHR0cDovL3NjcmlwdHMuc2lsLm9yZy9PRkwAQwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMAA5ACAAYgB5ACAARABhAG4AaQBlAGwAIABKAG8AaABuAHMAbwBuAC4AIAAgAFIAZQBsAGUAYQBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAdABlAHIAbQBzACAAbwBmACAAdABoAGUAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALgAgAEsAYQB5AGEAaAAgAEwAaQAgAGcAbAB5AHAAaABzACAAYQByAGUAIAByAGUAbABlAGEAcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAEcAUABMACAAdgBlAHIAcwBpAG8AbgAgADMALgBiAGEAZQBjADIAYQA5ADIAYgBmAGYAZQA1ADAAMwAyACAALQAgAHMAdQBiAHMAZQB0ACAAbwBmACAASgB1AHIAYQBMAGkAZwBoAHQAYgBhAGUAYwAyAGEAOQAyAGIAZgBmAGUANQAwADMAMgAgAC0AIABzAHUAYgBzAGUAdAAgAG8AZgAgAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASgB1AHIAYQAgAEwAaQBnAGgAdAAgADoAIAAyADMALQAxAC0AMgAwADAAOQBiAGEAZQBjADIAYQA5ADIAYgBmAGYAZQA1ADAAMwAyACAALQAgAHMAdQBiAHMAZQB0ACAAbwBmACAASgB1AHIAYQAgAEwAaQBnAGgAdABWAGUAcgBzAGkAbwBuACAAMgAgAGIAYQBlAGMAMgBhADkAMgBiAGYAZgBlADUAMAAzADIAIAAtACAAcwB1AGIAcwBlAHQAIABvAGYAIABKAHUAcgBhAEwAaQBnAGgAdABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAAAAAgAAAAAAAP+BADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQACAQIAEQt6ZXJva2F5YWhsaQ==')}"; + e.getElementsByTagName("head")[0].appendChild(b);c.setAttribute("style","font:99px _,arial,helvetica;position:absolute;visibility:hidden");if(!g){g=s.appendChild(e.createElement("fontface"));t=true}c.innerHTML="........";c.id="fonttest";g.appendChild(c);h=c.offsetWidth*c.offsetHeight;c.style.font="99px testfont,_,arial,helvetica";a=h!==c.offsetWidth*c.offsetHeight;var v=function(){if(g.parentNode){a=j.fontface=h!==c.offsetWidth*c.offsetHeight;s.className=s.className.replace(/(no-)?fontface\b/,"")+ + (a?" ":" no-")+"fontface"}};setTimeout(v,75);setTimeout(v,150);addEventListener("load",function(){v();(w=true)&&o&&o(a);setTimeout(function(){t||(g=c);g.parentNode.removeChild(g);b.parentNode.removeChild(b)},50)},false)}j._fontfaceready=function(p){w||a?p(a):(o=p)};return a||h!==c.offsetWidth};d.video=function(){var a=e.createElement("video"),b=!!a.canPlayType;if(b){b=new Boolean(b);b.ogg=a.canPlayType('video/ogg; codecs="theora"');b.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"');b.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return b}; + d.audio=function(){var a=e.createElement("audio"),b=!!a.canPlayType;if(b){b=new Boolean(b);b.ogg=a.canPlayType('audio/ogg; codecs="vorbis"');b.mp3=a.canPlayType("audio/mpeg;");b.wav=a.canPlayType('audio/wav; codecs="1"');b.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")}return b};d.localStorage=function(){return"localStorage"in i&&i.localStorage!==null};d.sessionStorage=function(){try{return"sessionStorage"in i&&i.sessionStorage!==null}catch(a){return false}};d.webworkers=function(){return!!i.Worker}; + d.applicationCache=function(){var a=i.applicationCache;return!!(a&&typeof a.status!="undefined"&&typeof a.update=="function"&&typeof a.swapCache=="function")};d.svg=function(){return!!e.createElementNS&&!!e.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect};d.smil=function(){return!!e.createElementNS&&/SVG/.test(M.call(e.createElementNS("http://www.w3.org/2000/svg","animate")))};d.svgclippaths=function(){return!!e.createElementNS&&/SVG/.test(M.call(e.createElementNS("http://www.w3.org/2000/svg", + "clipPath")))};for(var z in d)if(O(d,z))N.push(((j[z.toLowerCase()]=d[z]())?"":"no-")+z.toLowerCase());j[E]||P();j.addTest=function(a,b){a=a.toLowerCase();if(!j[a]){b=!!b();s.className+=" "+(b?"":"no-")+a;j[a]=b;return j}};m.cssText="";D=n=null;(function(){var a=e.createElement("div");a.innerHTML="";return a.childNodes.length!==1})()&&function(a,b){function c(f,k){if(o[f])o[f].styleSheet.cssText+=k;else{var l=t[G],q=b[A]("style");q.media=f;l.insertBefore(q,l[G]);o[f]=q;c(f,k)}}function h(f, + k){for(var l=new RegExp("\\b("+w+")\\b(?!.*[;}])","gi"),q=function(B){return".iepp_"+B},x=-1;++x\\s*$","i");g.innerHTML=f.outerHTML.replace(/\r|\n/g," ").replace(l,f.currentStyle.display=="block"?"":"");l=g.childNodes[0];l.className+=" iepp_"+q;l=p[p.length]=[f,l];f.parentNode.replaceChild(l[1],l[0])}h(b.styleSheets,"all")});a.attachEvent("onafterprint", + function(){for(var f=-1,k;++f35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(2(){1 h=5;h.I=2(){2 n(c,a){4(1 d=0;d|<|≥|>=|≤|<=|\*|\+|-|\/|÷|\^)/g, + css: 'color2' }, + + { regex: /\b(?:and|as|div|mod|not|or|return(?!\s&)(ing)?|equals|(is(n't| not)? )?equal( to)?|does(n't| not) equal|(is(n't| not)? )?(greater|less) than( or equal( to)?)?|(comes|does(n't| not) come) (after|before)|is(n't| not)?( in)? (back|front) of|is(n't| not)? behind|is(n't| not)?( (in|contained by))?|does(n't| not) contain|contain(s)?|(start|begin|end)(s)? with|((but|end) )?(consider|ignor)ing|prop(erty)?|(a )?ref(erence)?( to)?|repeat (until|while|with)|((end|exit) )?repeat|((else|end) )?if|else|(end )?(script|tell|try)|(on )?error|(put )?into|(of )?(it|me)|its|my|with (timeout( of)?|transaction)|end (timeout|transaction))\b/g, + css: 'keyword' }, + + { regex: /\b\d+(st|nd|rd|th)\b/g, // ordinals + css: 'keyword' }, + + { regex: /\b(?:about|above|against|around|at|below|beneath|beside|between|by|(apart|aside) from|(instead|out) of|into|on(to)?|over|since|thr(ough|u)|under)\b/g, + css: 'color3' }, + + { regex: /\b(?:adding folder items to|after receiving|choose( ((remote )?application|color|folder|from list|URL))?|clipboard info|set the clipboard to|(the )?clipboard|entire contents|display(ing| (alert|dialog|mode))?|document( (edited|file|nib name))?|file( (name|type))?|(info )?for|giving up after|(name )?extension|quoted form|return(ed)?|second(?! item)(s)?|list (disks|folder)|text item(s| delimiters)?|(Unicode )?text|(disk )?item(s)?|((current|list) )?view|((container|key) )?window|with (data|icon( (caution|note|stop))?|parameter(s)?|prompt|properties|seed|title)|case|diacriticals|hyphens|numeric strings|punctuation|white space|folder creation|application(s( folder)?| (processes|scripts position|support))?|((desktop )?(pictures )?|(documents|downloads|favorites|home|keychain|library|movies|music|public|scripts|sites|system|users|utilities|workflows) )folder|desktop|Folder Action scripts|font(s| panel)?|help|internet plugins|modem scripts|(system )?preferences|printer descriptions|scripting (additions|components)|shared (documents|libraries)|startup (disk|items)|temporary items|trash|on server|in AppleTalk zone|((as|long|short) )?user name|user (ID|locale)|(with )?password|in (bundle( with identifier)?|directory)|(close|open for) access|read|write( permission)?|(g|s)et eof|using( delimiters)?|starting at|default (answer|button|color|country code|entr(y|ies)|identifiers|items|name|location|script editor)|hidden( answer)?|open(ed| (location|untitled))?|error (handling|reporting)|(do( shell)?|load|run|store) script|administrator privileges|altering line endings|get volume settings|(alert|boot|input|mount|output|set) volume|output muted|(fax|random )?number|round(ing)?|up|down|toward zero|to nearest|as taught in school|system (attribute|info)|((AppleScript( Studio)?|system) )?version|(home )?directory|(IPv4|primary Ethernet) address|CPU (type|speed)|physical memory|time (stamp|to GMT)|replacing|ASCII (character|number)|localized string|from table|offset|summarize|beep|delay|say|(empty|multiple) selections allowed|(of|preferred) type|invisibles|showing( package contents)?|editable URL|(File|FTP|News|Media|Web) [Ss]ervers|Telnet hosts|Directory services|Remote applications|waiting until completion|saving( (in|to))?|path (for|to( (((current|frontmost) )?application|resource))?)|POSIX (file|path)|(background|RGB) color|(OK|cancel) button name|cancel button|button(s)?|cubic ((centi)?met(re|er)s|yards|feet|inches)|square ((kilo)?met(re|er)s|miles|yards|feet)|(centi|kilo)?met(re|er)s|miles|yards|feet|inches|lit(re|er)s|gallons|quarts|(kilo)?grams|ounces|pounds|degrees (Celsius|Fahrenheit|Kelvin)|print( (dialog|settings))?|clos(e(able)?|ing)|(de)?miniaturized|miniaturizable|zoom(ed|able)|attribute run|action (method|property|title)|phone|email|((start|end)ing|home) page|((birth|creation|current|custom|modification) )?date|((((phonetic )?(first|last|middle))|computer|host|maiden|related) |nick)?name|aim|icq|jabber|msn|yahoo|address(es)?|save addressbook|should enable action|city|country( code)?|formatte(r|d address)|(palette )?label|state|street|zip|AIM [Hh]andle(s)?|my card|select(ion| all)?|unsaved|(alpha )?value|entr(y|ies)|group|(ICQ|Jabber|MSN) handle|person|people|company|department|icon image|job title|note|organization|suffix|vcard|url|copies|collating|pages (across|down)|request print time|target( printer)?|((GUI Scripting|Script menu) )?enabled|show Computer scripts|(de)?activated|awake from nib|became (key|main)|call method|of (class|object)|center|clicked toolbar item|closed|for document|exposed|(can )?hide|idle|keyboard (down|up)|event( (number|type))?|launch(ed)?|load (image|movie|nib|sound)|owner|log|mouse (down|dragged|entered|exited|moved|up)|move|column|localization|resource|script|register|drag (info|types)|resigned (active|key|main)|resiz(e(d)?|able)|right mouse (down|dragged|up)|scroll wheel|(at )?index|should (close|open( untitled)?|quit( after last window closed)?|zoom)|((proposed|screen) )?bounds|show(n)?|behind|in front of|size (mode|to fit)|update(d| toolbar item)?|was (hidden|miniaturized)|will (become active|close|finish launching|hide|miniaturize|move|open|quit|(resign )?active|((maximum|minimum|proposed) )?size|show|zoom)|bundle|data source|movie|pasteboard|sound|tool(bar| tip)|(color|open|save) panel|coordinate system|frontmost|main( (bundle|menu|window))?|((services|(excluded from )?windows) )?menu|((executable|frameworks|resource|scripts|shared (frameworks|support)) )?path|(selected item )?identifier|data|content(s| view)?|character(s)?|click count|(command|control|option|shift) key down|context|delta (x|y|z)|key( code)?|location|pressure|unmodified characters|types|(first )?responder|playing|(allowed|selectable) identifiers|allows customization|(auto saves )?configuration|visible|image( name)?|menu form representation|tag|user(-| )defaults|associated file name|(auto|needs) display|current field editor|floating|has (resize indicator|shadow)|hides when deactivated|level|minimized (image|title)|opaque|position|release when closed|sheet|title(d)?)\b/g, + css: 'color3' }, + + { regex: new RegExp(this.getKeywords(specials), 'gm'), css: 'color3' }, + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, + { regex: new RegExp(this.getKeywords(ordinals), 'gm'), css: 'keyword' } + ]; + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['applescript']; + + SyntaxHighlighter.brushes.AppleScript = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushBash.js b/themes/thinker/static/js/syntaxhighlighter/shBrushBash.js new file mode 100644 index 0000000..8c29696 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushBash.js @@ -0,0 +1,59 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + var keywords = 'if fi then elif else for do done until while break continue case function return in eq ne ge le'; + var commands = 'alias apropos awk basename bash bc bg builtin bzip2 cal cat cd cfdisk chgrp chmod chown chroot' + + 'cksum clear cmp comm command cp cron crontab csplit cut date dc dd ddrescue declare df ' + + 'diff diff3 dig dir dircolors dirname dirs du echo egrep eject enable env ethtool eval ' + + 'exec exit expand export expr false fdformat fdisk fg fgrep file find fmt fold format ' + + 'free fsck ftp gawk getopts grep groups gzip hash head history hostname id ifconfig ' + + 'import install join kill less let ln local locate logname logout look lpc lpr lprint ' + + 'lprintd lprintq lprm ls lsof make man mkdir mkfifo mkisofs mknod more mount mtools ' + + 'mv netstat nice nl nohup nslookup open op passwd paste pathchk ping popd pr printcap ' + + 'printenv printf ps pushd pwd quota quotacheck quotactl ram rcp read readonly renice ' + + 'remsync rm rmdir rsync screen scp sdiff sed select seq set sftp shift shopt shutdown ' + + 'sleep sort source split ssh strace su sudo sum symlink sync tail tar tee test time ' + + 'times touch top traceroute trap tr true tsort tty type ulimit umask umount unalias ' + + 'uname unexpand uniq units unset unshar useradd usermod users uuencode uudecode v vdir ' + + 'vi watch wc whereis which who whoami Wget xargs yes' + ; + + this.regexList = [ + { regex: /^#!.*$/gm, css: 'preprocessor bold' }, + { regex: /\/[\w-\/]+/gm, css: 'plain' }, + { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, // one line comments + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords + { regex: new RegExp(this.getKeywords(commands), 'gm'), css: 'functions' } // commands + ]; + } + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['bash', 'shell']; + + SyntaxHighlighter.brushes.Bash = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushCSharp.js b/themes/thinker/static/js/syntaxhighlighter/shBrushCSharp.js new file mode 100644 index 0000000..079214e --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushCSharp.js @@ -0,0 +1,65 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + var keywords = 'abstract as base bool break byte case catch char checked class const ' + + 'continue decimal default delegate do double else enum event explicit ' + + 'extern false finally fixed float for foreach get goto if implicit in int ' + + 'interface internal is lock long namespace new null object operator out ' + + 'override params private protected public readonly ref return sbyte sealed set ' + + 'short sizeof stackalloc static string struct switch this throw true try ' + + 'typeof uint ulong unchecked unsafe ushort using virtual void while'; + + function fixComments(match, regexInfo) + { + var css = (match[0].indexOf("///") == 0) + ? 'color1' + : 'comments' + ; + + return [new SyntaxHighlighter.Match(match[0], match.index, css)]; + } + + this.regexList = [ + { regex: SyntaxHighlighter.regexLib.singleLineCComments, func : fixComments }, // one line comments + { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments + { regex: /@"(?:[^"]|"")*"/g, css: 'string' }, // @-quoted strings + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings + { regex: /^\s*#.*/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // c# keyword + { regex: /\bpartial(?=\s+(?:class|interface|struct)\b)/g, css: 'keyword' }, // contextual keyword: 'partial' + { regex: /\byield(?=\s+(?:return|break)\b)/g, css: 'keyword' } // contextual keyword: 'yield' + ]; + + this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['c#', 'c-sharp', 'csharp']; + + SyntaxHighlighter.brushes.CSharp = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); + diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushColdFusion.js b/themes/thinker/static/js/syntaxhighlighter/shBrushColdFusion.js new file mode 100644 index 0000000..627dbb9 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushColdFusion.js @@ -0,0 +1,100 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + // Contributed by Jen + // http://www.jensbits.com/2009/05/14/coldfusion-brush-for-syntaxhighlighter-plus + + var funcs = 'Abs ACos AddSOAPRequestHeader AddSOAPResponseHeader AjaxLink AjaxOnLoad ArrayAppend ArrayAvg ArrayClear ArrayDeleteAt ' + + 'ArrayInsertAt ArrayIsDefined ArrayIsEmpty ArrayLen ArrayMax ArrayMin ArraySet ArraySort ArraySum ArraySwap ArrayToList ' + + 'Asc ASin Atn BinaryDecode BinaryEncode BitAnd BitMaskClear BitMaskRead BitMaskSet BitNot BitOr BitSHLN BitSHRN BitXor ' + + 'Ceiling CharsetDecode CharsetEncode Chr CJustify Compare CompareNoCase Cos CreateDate CreateDateTime CreateObject ' + + 'CreateODBCDate CreateODBCDateTime CreateODBCTime CreateTime CreateTimeSpan CreateUUID DateAdd DateCompare DateConvert ' + + 'DateDiff DateFormat DatePart Day DayOfWeek DayOfWeekAsString DayOfYear DaysInMonth DaysInYear DE DecimalFormat DecrementValue ' + + 'Decrypt DecryptBinary DeleteClientVariable DeserializeJSON DirectoryExists DollarFormat DotNetToCFType Duplicate Encrypt ' + + 'EncryptBinary Evaluate Exp ExpandPath FileClose FileCopy FileDelete FileExists FileIsEOF FileMove FileOpen FileRead ' + + 'FileReadBinary FileReadLine FileSetAccessMode FileSetAttribute FileSetLastModified FileWrite Find FindNoCase FindOneOf ' + + 'FirstDayOfMonth Fix FormatBaseN GenerateSecretKey GetAuthUser GetBaseTagData GetBaseTagList GetBaseTemplatePath ' + + 'GetClientVariablesList GetComponentMetaData GetContextRoot GetCurrentTemplatePath GetDirectoryFromPath GetEncoding ' + + 'GetException GetFileFromPath GetFileInfo GetFunctionList GetGatewayHelper GetHttpRequestData GetHttpTimeString ' + + 'GetK2ServerDocCount GetK2ServerDocCountLimit GetLocale GetLocaleDisplayName GetLocalHostIP GetMetaData GetMetricData ' + + 'GetPageContext GetPrinterInfo GetProfileSections GetProfileString GetReadableImageFormats GetSOAPRequest GetSOAPRequestHeader ' + + 'GetSOAPResponse GetSOAPResponseHeader GetTempDirectory GetTempFile GetTemplatePath GetTickCount GetTimeZoneInfo GetToken ' + + 'GetUserRoles GetWriteableImageFormats Hash Hour HTMLCodeFormat HTMLEditFormat IIf ImageAddBorder ImageBlur ImageClearRect ' + + 'ImageCopy ImageCrop ImageDrawArc ImageDrawBeveledRect ImageDrawCubicCurve ImageDrawLine ImageDrawLines ImageDrawOval ' + + 'ImageDrawPoint ImageDrawQuadraticCurve ImageDrawRect ImageDrawRoundRect ImageDrawText ImageFlip ImageGetBlob ImageGetBufferedImage ' + + 'ImageGetEXIFTag ImageGetHeight ImageGetIPTCTag ImageGetWidth ImageGrayscale ImageInfo ImageNegative ImageNew ImageOverlay ImagePaste ' + + 'ImageRead ImageReadBase64 ImageResize ImageRotate ImageRotateDrawingAxis ImageScaleToFit ImageSetAntialiasing ImageSetBackgroundColor ' + + 'ImageSetDrawingColor ImageSetDrawingStroke ImageSetDrawingTransparency ImageSharpen ImageShear ImageShearDrawingAxis ImageTranslate ' + + 'ImageTranslateDrawingAxis ImageWrite ImageWriteBase64 ImageXORDrawingMode IncrementValue InputBaseN Insert Int IsArray IsBinary ' + + 'IsBoolean IsCustomFunction IsDate IsDDX IsDebugMode IsDefined IsImage IsImageFile IsInstanceOf IsJSON IsLeapYear IsLocalHost ' + + 'IsNumeric IsNumericDate IsObject IsPDFFile IsPDFObject IsQuery IsSimpleValue IsSOAPRequest IsStruct IsUserInAnyRole IsUserInRole ' + + 'IsUserLoggedIn IsValid IsWDDX IsXML IsXmlAttribute IsXmlDoc IsXmlElem IsXmlNode IsXmlRoot JavaCast JSStringFormat LCase Left Len ' + + 'ListAppend ListChangeDelims ListContains ListContainsNoCase ListDeleteAt ListFind ListFindNoCase ListFirst ListGetAt ListInsertAt ' + + 'ListLast ListLen ListPrepend ListQualify ListRest ListSetAt ListSort ListToArray ListValueCount ListValueCountNoCase LJustify Log ' + + 'Log10 LSCurrencyFormat LSDateFormat LSEuroCurrencyFormat LSIsCurrency LSIsDate LSIsNumeric LSNumberFormat LSParseCurrency LSParseDateTime ' + + 'LSParseEuroCurrency LSParseNumber LSTimeFormat LTrim Max Mid Min Minute Month MonthAsString Now NumberFormat ParagraphFormat ParseDateTime ' + + 'Pi PrecisionEvaluate PreserveSingleQuotes Quarter QueryAddColumn QueryAddRow QueryConvertForGrid QueryNew QuerySetCell QuotedValueList Rand ' + + 'Randomize RandRange REFind REFindNoCase ReleaseComObject REMatch REMatchNoCase RemoveChars RepeatString Replace ReplaceList ReplaceNoCase ' + + 'REReplace REReplaceNoCase Reverse Right RJustify Round RTrim Second SendGatewayMessage SerializeJSON SetEncoding SetLocale SetProfileString ' + + 'SetVariable Sgn Sin Sleep SpanExcluding SpanIncluding Sqr StripCR StructAppend StructClear StructCopy StructCount StructDelete StructFind ' + + 'StructFindKey StructFindValue StructGet StructInsert StructIsEmpty StructKeyArray StructKeyExists StructKeyList StructKeyList StructNew ' + + 'StructSort StructUpdate Tan TimeFormat ToBase64 ToBinary ToScript ToString Trim UCase URLDecode URLEncodedFormat URLSessionFormat Val ' + + 'ValueList VerifyClient Week Wrap Wrap WriteOutput XmlChildPos XmlElemNew XmlFormat XmlGetNodeType XmlNew XmlParse XmlSearch XmlTransform ' + + 'XmlValidate Year YesNoFormat'; + + var keywords = 'cfabort cfajaximport cfajaxproxy cfapplet cfapplication cfargument cfassociate cfbreak cfcache cfcalendar ' + + 'cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection cfcomponent cfcontent cfcookie cfdbinfo ' + + 'cfdefaultcase cfdirectory cfdiv cfdocument cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror ' + + 'cfexchangecalendar cfexchangeconnection cfexchangecontact cfexchangefilter cfexchangemail cfexchangetask ' + + 'cfexecute cfexit cffeed cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid cfgridcolumn ' + + 'cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif cfimage cfimport cfinclude cfindex ' + + 'cfinput cfinsert cfinterface cfinvoke cfinvokeargument cflayout cflayoutarea cfldap cflocation cflock cflog ' + + 'cflogin cfloginuser cflogout cfloop cfmail cfmailparam cfmailpart cfmenu cfmenuitem cfmodule cfNTauthenticate ' + + 'cfobject cfobjectcache cfoutput cfparam cfpdf cfpdfform cfpdfformparam cfpdfparam cfpdfsubform cfpod cfpop ' + + 'cfpresentation cfpresentationslide cfpresenter cfprint cfprocessingdirective cfprocparam cfprocresult ' + + 'cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow cfreturn cfsavecontent cfschedule ' + + 'cfscript cfsearch cfselect cfset cfsetting cfsilent cfslider cfsprydataset cfstoredproc cfswitch cftable ' + + 'cftextarea cfthread cfthrow cftimer cftooltip cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx ' + + 'cfwindow cfxml cfzip cfzipparam'; + + var operators = 'all and any between cross in join like not null or outer some'; + + this.regexList = [ + { regex: new RegExp('--(.*)$', 'gm'), css: 'comments' }, // one line and multiline comments + { regex: SyntaxHighlighter.regexLib.xmlComments, css: 'comments' }, // single quoted strings + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings + { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, // functions + { regex: new RegExp(this.getKeywords(operators), 'gmi'), css: 'color1' }, // operators and such + { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' } // keyword + ]; + } + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['coldfusion','cf']; + + SyntaxHighlighter.brushes.ColdFusion = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushCpp.js b/themes/thinker/static/js/syntaxhighlighter/shBrushCpp.js new file mode 100644 index 0000000..9f70d3a --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushCpp.js @@ -0,0 +1,97 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + // Copyright 2006 Shin, YoungJin + + var datatypes = 'ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG DWORD_PTR ' + + 'DWORD32 DWORD64 FLOAT HACCEL HALF_PTR HANDLE HBITMAP HBRUSH ' + + 'HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP ' + + 'HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HINSTANCE HKEY ' + + 'HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN HRESULT ' + + 'HRGN HRSRC HSZ HWINSTA HWND INT INT_PTR INT32 INT64 LANGID LCID LCTYPE ' + + 'LGRPID LONG LONGLONG LONG_PTR LONG32 LONG64 LPARAM LPBOOL LPBYTE LPCOLORREF ' + + 'LPCSTR LPCTSTR LPCVOID LPCWSTR LPDWORD LPHANDLE LPINT LPLONG LPSTR LPTSTR ' + + 'LPVOID LPWORD LPWSTR LRESULT PBOOL PBOOLEAN PBYTE PCHAR PCSTR PCTSTR PCWSTR ' + + 'PDWORDLONG PDWORD_PTR PDWORD32 PDWORD64 PFLOAT PHALF_PTR PHANDLE PHKEY PINT ' + + 'PINT_PTR PINT32 PINT64 PLCID PLONG PLONGLONG PLONG_PTR PLONG32 PLONG64 POINTER_32 ' + + 'POINTER_64 PSHORT PSIZE_T PSSIZE_T PSTR PTBYTE PTCHAR PTSTR PUCHAR PUHALF_PTR ' + + 'PUINT PUINT_PTR PUINT32 PUINT64 PULONG PULONGLONG PULONG_PTR PULONG32 PULONG64 ' + + 'PUSHORT PVOID PWCHAR PWORD PWSTR SC_HANDLE SC_LOCK SERVICE_STATUS_HANDLE SHORT ' + + 'SIZE_T SSIZE_T TBYTE TCHAR UCHAR UHALF_PTR UINT UINT_PTR UINT32 UINT64 ULONG ' + + 'ULONGLONG ULONG_PTR ULONG32 ULONG64 USHORT USN VOID WCHAR WORD WPARAM WPARAM WPARAM ' + + 'char bool short int __int32 __int64 __int8 __int16 long float double __wchar_t ' + + 'clock_t _complex _dev_t _diskfree_t div_t ldiv_t _exception _EXCEPTION_POINTERS ' + + 'FILE _finddata_t _finddatai64_t _wfinddata_t _wfinddatai64_t __finddata64_t ' + + '__wfinddata64_t _FPIEEE_RECORD fpos_t _HEAPINFO _HFILE lconv intptr_t ' + + 'jmp_buf mbstate_t _off_t _onexit_t _PNH ptrdiff_t _purecall_handler ' + + 'sig_atomic_t size_t _stat __stat64 _stati64 terminate_function ' + + 'time_t __time64_t _timeb __timeb64 tm uintptr_t _utimbuf ' + + 'va_list wchar_t wctrans_t wctype_t wint_t signed'; + + var keywords = 'break case catch class const __finally __exception __try ' + + 'const_cast continue private public protected __declspec ' + + 'default delete deprecated dllexport dllimport do dynamic_cast ' + + 'else enum explicit extern if for friend goto inline ' + + 'mutable naked namespace new noinline noreturn nothrow ' + + 'register reinterpret_cast return selectany ' + + 'sizeof static static_cast struct switch template this ' + + 'thread throw true false try typedef typeid typename union ' + + 'using uuid virtual void volatile whcar_t while'; + + var functions = 'assert isalnum isalpha iscntrl isdigit isgraph islower isprint' + + 'ispunct isspace isupper isxdigit tolower toupper errno localeconv ' + + 'setlocale acos asin atan atan2 ceil cos cosh exp fabs floor fmod ' + + 'frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf ' + + 'longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start ' + + 'clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen ' + + 'fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell ' + + 'fwrite getc getchar gets perror printf putc putchar puts remove ' + + 'rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam ' + + 'ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi atol ' + + 'bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs ' + + 'mbtowc qsort rand realloc srand strtod strtol strtoul system ' + + 'wcstombs wctomb memchr memcmp memcpy memmove memset strcat strchr ' + + 'strcmp strcoll strcpy strcspn strerror strlen strncat strncmp ' + + 'strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime ' + + 'clock ctime difftime gmtime localtime mktime strftime time'; + + this.regexList = [ + { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments + { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings + { regex: /^ *#.*/gm, css: 'preprocessor' }, + { regex: new RegExp(this.getKeywords(datatypes), 'gm'), css: 'color1 bold' }, + { regex: new RegExp(this.getKeywords(functions), 'gm'), css: 'functions bold' }, + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword bold' } + ]; + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['cpp', 'c']; + + SyntaxHighlighter.brushes.Cpp = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushCss.js b/themes/thinker/static/js/syntaxhighlighter/shBrushCss.js new file mode 100644 index 0000000..4297a9a --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushCss.js @@ -0,0 +1,91 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + function getKeywordsCSS(str) + { + return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b'; + }; + + function getValuesCSS(str) + { + return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b'; + }; + + var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' + + 'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' + + 'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' + + 'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' + + 'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' + + 'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' + + 'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' + + 'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' + + 'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' + + 'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' + + 'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' + + 'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' + + 'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' + + 'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index'; + + var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+ + 'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+ + 'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double '+ + 'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+ + 'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+ + 'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+ + 'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+ + 'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+ + 'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+ + 'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+ + 'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+ + 'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+ + 'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+ + 'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow'; + + var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif'; + + this.regexList = [ + { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings + { regex: /\#[a-fA-F0-9]{3,6}/g, css: 'value' }, // html colors + { regex: /(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)/g, css: 'value' }, // sizes + { regex: /!important/g, css: 'color3' }, // !important + { regex: new RegExp(getKeywordsCSS(keywords), 'gm'), css: 'keyword' }, // keywords + { regex: new RegExp(getValuesCSS(values), 'g'), css: 'value' }, // values + { regex: new RegExp(this.getKeywords(fonts), 'g'), css: 'color1' } // fonts + ]; + + this.forHtmlScript({ + left: /(<|<)\s*style.*?(>|>)/gi, + right: /(<|<)\/\s*style\s*(>|>)/gi + }); + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['css']; + + SyntaxHighlighter.brushes.CSS = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushDelphi.js b/themes/thinker/static/js/syntaxhighlighter/shBrushDelphi.js new file mode 100644 index 0000000..e1060d4 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushDelphi.js @@ -0,0 +1,55 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + var keywords = 'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' + + 'case char class comp const constructor currency destructor div do double ' + + 'downto else end except exports extended false file finalization finally ' + + 'for function goto if implementation in inherited int64 initialization ' + + 'integer interface is label library longint longword mod nil not object ' + + 'of on or packed pansichar pansistring pchar pcurrency pdatetime pextended ' + + 'pint64 pointer private procedure program property pshortstring pstring ' + + 'pvariant pwidechar pwidestring protected public published raise real real48 ' + + 'record repeat set shl shortint shortstring shr single smallint string then ' + + 'threadvar to true try type unit until uses val var varirnt while widechar ' + + 'widestring with word write writeln xor'; + + this.regexList = [ + { regex: /\(\*[\s\S]*?\*\)/gm, css: 'comments' }, // multiline comments (* *) + { regex: /{(?!\$)[\s\S]*?}/gm, css: 'comments' }, // multiline comments { } + { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings + { regex: /\{\$[a-zA-Z]+ .+\}/g, css: 'color1' }, // compiler Directives and Region tags + { regex: /\b[\d\.]+\b/g, css: 'value' }, // numbers 12345 + { regex: /\$[a-zA-Z0-9]+\b/g, css: 'value' }, // numbers $F5D3 + { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' } // keyword + ]; + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['delphi', 'pascal', 'pas']; + + SyntaxHighlighter.brushes.Delphi = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushDiff.js b/themes/thinker/static/js/syntaxhighlighter/shBrushDiff.js new file mode 100644 index 0000000..e9b14fc --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushDiff.js @@ -0,0 +1,41 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + this.regexList = [ + { regex: /^\+\+\+.*$/gm, css: 'color2' }, + { regex: /^\-\-\-.*$/gm, css: 'color2' }, + { regex: /^\s.*$/gm, css: 'color1' }, + { regex: /^@@.*@@$/gm, css: 'variable' }, + { regex: /^\+[^\+]{1}.*$/gm, css: 'string' }, + { regex: /^\-[^\-]{1}.*$/gm, css: 'comments' } + ]; + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['diff', 'patch']; + + SyntaxHighlighter.brushes.Diff = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushErlang.js b/themes/thinker/static/js/syntaxhighlighter/shBrushErlang.js new file mode 100644 index 0000000..6ba7d9d --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushErlang.js @@ -0,0 +1,52 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + // Contributed by Jean-Lou Dupont + // http://jldupont.blogspot.com/2009/06/erlang-syntax-highlighter.html + + // According to: http://erlang.org/doc/reference_manual/introduction.html#1.5 + var keywords = 'after and andalso band begin bnot bor bsl bsr bxor '+ + 'case catch cond div end fun if let not of or orelse '+ + 'query receive rem try when xor'+ + // additional + ' module export import define'; + + this.regexList = [ + { regex: new RegExp("[A-Z][A-Za-z0-9_]+", 'g'), css: 'constants' }, + { regex: new RegExp("\\%.+", 'gm'), css: 'comments' }, + { regex: new RegExp("\\?[A-Za-z0-9_]+", 'g'), css: 'preprocessor' }, + { regex: new RegExp("[a-z0-9_]+:[a-z0-9_]+", 'g'), css: 'functions' }, + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } + ]; + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['erl', 'erlang']; + + SyntaxHighlighter.brushes.Erland = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushGroovy.js b/themes/thinker/static/js/syntaxhighlighter/shBrushGroovy.js new file mode 100644 index 0000000..6ec5c18 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushGroovy.js @@ -0,0 +1,67 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + // Contributed by Andres Almiray + // http://jroller.com/aalmiray/entry/nice_source_code_syntax_highlighter + + var keywords = 'as assert break case catch class continue def default do else extends finally ' + + 'if in implements import instanceof interface new package property return switch ' + + 'throw throws try while public protected private static'; + var types = 'void boolean byte char short int long float double'; + var constants = 'null'; + var methods = 'allProperties count get size '+ + 'collect each eachProperty eachPropertyName eachWithIndex find findAll ' + + 'findIndexOf grep inject max min reverseEach sort ' + + 'asImmutable asSynchronized flatten intersect join pop reverse subMap toList ' + + 'padRight padLeft contains eachMatch toCharacter toLong toUrl tokenize ' + + 'eachFile eachFileRecurse eachB yte eachLine readBytes readLine getText ' + + 'splitEachLine withReader append encodeBase64 decodeBase64 filterLine ' + + 'transformChar transformLine withOutputStream withPrintWriter withStream ' + + 'withStreams withWriter withWriterAppend write writeLine '+ + 'dump inspect invokeMethod print println step times upto use waitForOrKill '+ + 'getText'; + + this.regexList = [ + { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments + { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings + { regex: /""".*"""/g, css: 'string' }, // GStrings + { regex: new RegExp('\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b', 'gi'), css: 'value' }, // numbers + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // goovy keyword + { regex: new RegExp(this.getKeywords(types), 'gm'), css: 'color1' }, // goovy/java type + { regex: new RegExp(this.getKeywords(constants), 'gm'), css: 'constants' }, // constants + { regex: new RegExp(this.getKeywords(methods), 'gm'), css: 'functions' } // methods + ]; + + this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); + } + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['groovy']; + + SyntaxHighlighter.brushes.Groovy = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushJScript.js b/themes/thinker/static/js/syntaxhighlighter/shBrushJScript.js new file mode 100644 index 0000000..ff98dab --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushJScript.js @@ -0,0 +1,52 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + var keywords = 'break case catch continue ' + + 'default delete do else false ' + + 'for function if in instanceof ' + + 'new null return super switch ' + + 'this throw true try typeof var while with' + ; + + var r = SyntaxHighlighter.regexLib; + + this.regexList = [ + { regex: r.multiLineDoubleQuotedString, css: 'string' }, // double quoted strings + { regex: r.multiLineSingleQuotedString, css: 'string' }, // single quoted strings + { regex: r.singleLineCComments, css: 'comments' }, // one line comments + { regex: r.multiLineCComments, css: 'comments' }, // multiline comments + { regex: /\s*#.*/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keywords + ]; + + this.forHtmlScript(r.scriptScriptTags); + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['js', 'jscript', 'javascript']; + + SyntaxHighlighter.brushes.JScript = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushJava.js b/themes/thinker/static/js/syntaxhighlighter/shBrushJava.js new file mode 100644 index 0000000..d692fd6 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushJava.js @@ -0,0 +1,57 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + var keywords = 'abstract assert boolean break byte case catch char class const ' + + 'continue default do double else enum extends ' + + 'false final finally float for goto if implements import ' + + 'instanceof int interface long native new null ' + + 'package private protected public return ' + + 'short static strictfp super switch synchronized this throw throws true ' + + 'transient try void volatile while'; + + this.regexList = [ + { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments + { regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' }, // multiline comments + { regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css: 'preprocessor' }, // documentation comments + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings + { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers + { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno + { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword + ]; + + this.forHtmlScript({ + left : /(<|<)%[@!=]?/g, + right : /%(>|>)/g + }); + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['java']; + + SyntaxHighlighter.brushes.Java = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushJavaFX.js b/themes/thinker/static/js/syntaxhighlighter/shBrushJavaFX.js new file mode 100644 index 0000000..1a150a6 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushJavaFX.js @@ -0,0 +1,58 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + // Contributed by Patrick Webster + // http://patrickwebster.blogspot.com/2009/04/javafx-brush-for-syntaxhighlighter.html + var datatypes = 'Boolean Byte Character Double Duration ' + + 'Float Integer Long Number Short String Void' + ; + + var keywords = 'abstract after and as assert at before bind bound break catch class ' + + 'continue def delete else exclusive extends false finally first for from ' + + 'function if import in indexof init insert instanceof into inverse last ' + + 'lazy mixin mod nativearray new not null on or override package postinit ' + + 'protected public public-init public-read replace return reverse sizeof ' + + 'step super then this throw true try tween typeof var where while with ' + + 'attribute let private readonly static trigger' + ; + + this.regexList = [ + { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, + { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, + { regex: /(-?\.?)(\b(\d*\.?\d+|\d+\.?\d*)(e[+-]?\d+)?|0x[a-f\d]+)\b\.?/gi, css: 'color2' }, // numbers + { regex: new RegExp(this.getKeywords(datatypes), 'gm'), css: 'variable' }, // datatypes + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } + ]; + this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['jfx', 'javafx']; + + SyntaxHighlighter.brushes.JavaFX = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushPerl.js b/themes/thinker/static/js/syntaxhighlighter/shBrushPerl.js new file mode 100644 index 0000000..d94a2e0 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushPerl.js @@ -0,0 +1,72 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + // Contributed by David Simmons-Duffin and Marty Kube + + var funcs = + 'abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr ' + + 'chroot close closedir connect cos crypt defined delete each endgrent ' + + 'endhostent endnetent endprotoent endpwent endservent eof exec exists ' + + 'exp fcntl fileno flock fork format formline getc getgrent getgrgid ' + + 'getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr ' + + 'getnetbyname getnetent getpeername getpgrp getppid getpriority ' + + 'getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid ' + + 'getservbyname getservbyport getservent getsockname getsockopt glob ' + + 'gmtime grep hex index int ioctl join keys kill lc lcfirst length link ' + + 'listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd ' + + 'oct open opendir ord pack pipe pop pos print printf prototype push ' + + 'quotemeta rand read readdir readline readlink readpipe recv rename ' + + 'reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl ' + + 'semget semop send setgrent sethostent setnetent setpgrp setpriority ' + + 'setprotoent setpwent setservent setsockopt shift shmctl shmget shmread ' + + 'shmwrite shutdown sin sleep socket socketpair sort splice split sprintf ' + + 'sqrt srand stat study substr symlink syscall sysopen sysread sysseek ' + + 'system syswrite tell telldir time times tr truncate uc ucfirst umask ' + + 'undef unlink unpack unshift utime values vec wait waitpid warn write'; + + var keywords = + 'bless caller continue dbmclose dbmopen die do dump else elsif eval exit ' + + 'for foreach goto if import last local my next no our package redo ref ' + + 'require return sub tie tied unless untie until use wantarray while'; + + this.regexList = [ + { regex: new RegExp('#[^!].*$', 'gm'), css: 'comments' }, + { regex: new RegExp('^\\s*#!.*$', 'gm'), css: 'preprocessor' }, // shebang + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, + { regex: new RegExp('(\\$|@|%)\\w+', 'g'), css: 'variable' }, + { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } + ]; + + this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags); + } + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['perl', 'Perl', 'pl']; + + SyntaxHighlighter.brushes.Perl = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushPhp.js b/themes/thinker/static/js/syntaxhighlighter/shBrushPhp.js new file mode 100644 index 0000000..95e6e43 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushPhp.js @@ -0,0 +1,88 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + var funcs = 'abs acos acosh addcslashes addslashes ' + + 'array_change_key_case array_chunk array_combine array_count_values array_diff '+ + 'array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill '+ + 'array_filter array_flip array_intersect array_intersect_assoc array_intersect_key '+ + 'array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map '+ + 'array_merge array_merge_recursive array_multisort array_pad array_pop array_product '+ + 'array_push array_rand array_reduce array_reverse array_search array_shift '+ + 'array_slice array_splice array_sum array_udiff array_udiff_assoc '+ + 'array_udiff_uassoc array_uintersect array_uintersect_assoc '+ + 'array_uintersect_uassoc array_unique array_unshift array_values array_walk '+ + 'array_walk_recursive atan atan2 atanh base64_decode base64_encode base_convert '+ + 'basename bcadd bccomp bcdiv bcmod bcmul bindec bindtextdomain bzclose bzcompress '+ + 'bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite ceil chdir '+ + 'checkdate checkdnsrr chgrp chmod chop chown chr chroot chunk_split class_exists '+ + 'closedir closelog copy cos cosh count count_chars date decbin dechex decoct '+ + 'deg2rad delete ebcdic2ascii echo empty end ereg ereg_replace eregi eregi_replace error_log '+ + 'error_reporting escapeshellarg escapeshellcmd eval exec exit exp explode extension_loaded '+ + 'feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents '+ + 'fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype '+ + 'floatval flock floor flush fmod fnmatch fopen fpassthru fprintf fputcsv fputs fread fscanf '+ + 'fseek fsockopen fstat ftell ftok getallheaders getcwd getdate getenv gethostbyaddr gethostbyname '+ + 'gethostbynamel getimagesize getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt '+ + 'getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettext '+ + 'gettimeofday gettype glob gmdate gmmktime ini_alter ini_get ini_get_all ini_restore ini_set '+ + 'interface_exists intval ip2long is_a is_array is_bool is_callable is_dir is_double '+ + 'is_executable is_file is_finite is_float is_infinite is_int is_integer is_link is_long '+ + 'is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_soap_fault '+ + 'is_string is_subclass_of is_uploaded_file is_writable is_writeable mkdir mktime nl2br '+ + 'parse_ini_file parse_str parse_url passthru pathinfo print readlink realpath rewind rewinddir rmdir '+ + 'round str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split '+ + 'str_word_count strcasecmp strchr strcmp strcoll strcspn strftime strip_tags stripcslashes '+ + 'stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk '+ + 'strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtotime '+ + 'strtoupper strtr strval substr substr_compare'; + + var keywords = 'abstract and array as break case catch cfunction class clone const continue declare default die do ' + + 'else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach ' + + 'function include include_once global goto if implements interface instanceof namespace new ' + + 'old_function or private protected public return require require_once static switch ' + + 'throw try use var while xor '; + + var constants = '__FILE__ __LINE__ __METHOD__ __FUNCTION__ __CLASS__'; + + this.regexList = [ + { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments + { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings + { regex: /\$\w+/g, css: 'variable' }, // variables + { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, // common functions + { regex: new RegExp(this.getKeywords(constants), 'gmi'), css: 'constants' }, // constants + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keyword + ]; + + this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags); + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['php']; + + SyntaxHighlighter.brushes.Php = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushPlain.js b/themes/thinker/static/js/syntaxhighlighter/shBrushPlain.js new file mode 100644 index 0000000..9f7d9e9 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushPlain.js @@ -0,0 +1,33 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['text', 'plain']; + + SyntaxHighlighter.brushes.Plain = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushPowerShell.js b/themes/thinker/static/js/syntaxhighlighter/shBrushPowerShell.js new file mode 100644 index 0000000..0be1752 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushPowerShell.js @@ -0,0 +1,74 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + // Contributes by B.v.Zanten, Getronics + // http://confluence.atlassian.com/display/CONFEXT/New+Code+Macro + + var keywords = 'Add-Content Add-History Add-Member Add-PSSnapin Clear(-Content)? Clear-Item ' + + 'Clear-ItemProperty Clear-Variable Compare-Object ConvertFrom-SecureString Convert-Path ' + + 'ConvertTo-Html ConvertTo-SecureString Copy(-Item)? Copy-ItemProperty Export-Alias ' + + 'Export-Clixml Export-Console Export-Csv ForEach(-Object)? Format-Custom Format-List ' + + 'Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command ' + + 'Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy ' + + 'Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member ' + + 'Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service ' + + 'Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object ' + + 'Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item ' + + 'Join-Path Measure-Command Measure-Object Move(-Item)? Move-ItemProperty New-Alias ' + + 'New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan ' + + 'New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location ' + + 'Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin ' + + 'Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service ' + + 'Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content ' + + 'Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug ' + + 'Set-Service Set-TraceSource Set(-Variable)? Sort-Object Split-Path Start-Service ' + + 'Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service ' + + 'Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where(-Object)? ' + + 'Write-Debug Write-Error Write(-Host)? Write-Output Write-Progress Write-Verbose Write-Warning'; + var alias = 'ac asnp clc cli clp clv cpi cpp cvpa diff epal epcsv fc fl ' + + 'ft fw gal gc gci gcm gdr ghy gi gl gm gp gps group gsv ' + + 'gsnp gu gv gwmi iex ihy ii ipal ipcsv mi mp nal ndr ni nv oh rdr ' + + 'ri rni rnp rp rsnp rv rvpa sal sasv sc select si sl sleep sort sp ' + + 'spps spsv sv tee cat cd cp h history kill lp ls ' + + 'mount mv popd ps pushd pwd r rm rmdir echo cls chdir del dir ' + + 'erase rd ren type % \\?'; + + this.regexList = [ + { regex: /#.*$/gm, css: 'comments' }, // one line comments + { regex: /\$[a-zA-Z0-9]+\b/g, css: 'value' }, // variables $Computer1 + { regex: /\-[a-zA-Z]+\b/g, css: 'keyword' }, // Operators -not -and -eq + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings + { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' }, + { regex: new RegExp(this.getKeywords(alias), 'gmi'), css: 'keyword' } + ]; + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['powershell', 'ps']; + + SyntaxHighlighter.brushes.PowerShell = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushPython.js b/themes/thinker/static/js/syntaxhighlighter/shBrushPython.js new file mode 100644 index 0000000..ce77462 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushPython.js @@ -0,0 +1,64 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + // Contributed by Gheorghe Milas and Ahmad Sherif + + var keywords = 'and assert break class continue def del elif else ' + + 'except exec finally for from global if import in is ' + + 'lambda not or pass print raise return try yield while'; + + var funcs = '__import__ abs all any apply basestring bin bool buffer callable ' + + 'chr classmethod cmp coerce compile complex delattr dict dir ' + + 'divmod enumerate eval execfile file filter float format frozenset ' + + 'getattr globals hasattr hash help hex id input int intern ' + + 'isinstance issubclass iter len list locals long map max min next ' + + 'object oct open ord pow print property range raw_input reduce ' + + 'reload repr reversed round set setattr slice sorted staticmethod ' + + 'str sum super tuple type type unichr unicode vars xrange zip'; + + var special = 'None True False self cls class_'; + + this.regexList = [ + { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, + { regex: /^\s*@\w+/gm, css: 'decorator' }, + { regex: /(['\"]{3})([^\1])*?\1/gm, css: 'comments' }, + { regex: /"(?!")(?:\.|\\\"|[^\""\n])*"/gm, css: 'string' }, + { regex: /'(?!')(?:\.|(\\\')|[^\''\n])*'/gm, css: 'string' }, + { regex: /\+|\-|\*|\/|\%|=|==/gm, css: 'keyword' }, + { regex: /\b\d+\.?\w*/g, css: 'value' }, + { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, + { regex: new RegExp(this.getKeywords(special), 'gm'), css: 'color1' } + ]; + + this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['py', 'python']; + + SyntaxHighlighter.brushes.Python = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushRuby.js b/themes/thinker/static/js/syntaxhighlighter/shBrushRuby.js new file mode 100644 index 0000000..ff82130 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushRuby.js @@ -0,0 +1,55 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + // Contributed by Erik Peterson. + + var keywords = 'alias and BEGIN begin break case class def define_method defined do each else elsif ' + + 'END end ensure false for if in module new next nil not or raise redo rescue retry return ' + + 'self super then throw true undef unless until when while yield'; + + var builtins = 'Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload ' + + 'Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ' + + 'ThreadGroup Thread Time TrueClass'; + + this.regexList = [ + { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, // one line comments + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings + { regex: /\b[A-Z0-9_]+\b/g, css: 'constants' }, // constants + { regex: /:[a-z][A-Za-z0-9_]*/g, css: 'color2' }, // symbols + { regex: /(\$|@@|@)\w+/g, css: 'variable bold' }, // $global, @instance, and @@class variables + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords + { regex: new RegExp(this.getKeywords(builtins), 'gm'), css: 'color1' } // builtins + ]; + + this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['ruby', 'rails', 'ror', 'rb']; + + SyntaxHighlighter.brushes.Ruby = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushSass.js b/themes/thinker/static/js/syntaxhighlighter/shBrushSass.js new file mode 100644 index 0000000..aa04da0 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushSass.js @@ -0,0 +1,94 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + function getKeywordsCSS(str) + { + return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b'; + }; + + function getValuesCSS(str) + { + return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b'; + }; + + var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' + + 'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' + + 'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' + + 'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' + + 'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' + + 'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' + + 'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' + + 'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' + + 'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' + + 'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' + + 'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' + + 'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' + + 'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' + + 'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index'; + + var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+ + 'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+ + 'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero digits disc dotted double '+ + 'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+ + 'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+ + 'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+ + 'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+ + 'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+ + 'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+ + 'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+ + 'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+ + 'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+ + 'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+ + 'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow'; + + var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif'; + + var statements = '!important !default'; + var preprocessor = '@import @extend @debug @warn @if @for @while @mixin @include'; + + var r = SyntaxHighlighter.regexLib; + + this.regexList = [ + { regex: r.multiLineCComments, css: 'comments' }, // multiline comments + { regex: r.singleLineCComments, css: 'comments' }, // singleline comments + { regex: r.doubleQuotedString, css: 'string' }, // double quoted strings + { regex: r.singleQuotedString, css: 'string' }, // single quoted strings + { regex: /\#[a-fA-F0-9]{3,6}/g, css: 'value' }, // html colors + { regex: /\b(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)\b/g, css: 'value' }, // sizes + { regex: /\$\w+/g, css: 'variable' }, // variables + { regex: new RegExp(this.getKeywords(statements), 'g'), css: 'color3' }, // statements + { regex: new RegExp(this.getKeywords(preprocessor), 'g'), css: 'preprocessor' }, // preprocessor + { regex: new RegExp(getKeywordsCSS(keywords), 'gm'), css: 'keyword' }, // keywords + { regex: new RegExp(getValuesCSS(values), 'g'), css: 'value' }, // values + { regex: new RegExp(this.getKeywords(fonts), 'g'), css: 'color1' } // fonts + ]; + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['sass', 'scss']; + + SyntaxHighlighter.brushes.Sass = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushScala.js b/themes/thinker/static/js/syntaxhighlighter/shBrushScala.js new file mode 100644 index 0000000..4b0b6f0 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushScala.js @@ -0,0 +1,51 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + // Contributed by Yegor Jbanov and David Bernard. + + var keywords = 'val sealed case def true trait implicit forSome import match object null finally super ' + + 'override try lazy for var catch throw type extends class while with new final yield abstract ' + + 'else do if return protected private this package false'; + + var keyops = '[_:=><%#@]+'; + + this.regexList = [ + { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments + { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments + { regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css: 'string' }, // multi-line strings + { regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css: 'string' }, // double-quoted string + { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings + { regex: /0x[a-f0-9]+|\d+(\.\d+)?/gi, css: 'value' }, // numbers + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords + { regex: new RegExp(keyops, 'gm'), css: 'keyword' } // scala keyword + ]; + } + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['scala']; + + SyntaxHighlighter.brushes.Scala = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushSql.js b/themes/thinker/static/js/syntaxhighlighter/shBrushSql.js new file mode 100644 index 0000000..5c2cd88 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushSql.js @@ -0,0 +1,66 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + var funcs = 'abs avg case cast coalesce convert count current_timestamp ' + + 'current_user day isnull left lower month nullif replace right ' + + 'session_user space substring sum system_user upper user year'; + + var keywords = 'absolute action add after alter as asc at authorization begin bigint ' + + 'binary bit by cascade char character check checkpoint close collate ' + + 'column commit committed connect connection constraint contains continue ' + + 'create cube current current_date current_time cursor database date ' + + 'deallocate dec decimal declare default delete desc distinct double drop ' + + 'dynamic else end end-exec escape except exec execute false fetch first ' + + 'float for force foreign forward free from full function global goto grant ' + + 'group grouping having hour ignore index inner insensitive insert instead ' + + 'int integer intersect into is isolation key last level load local max min ' + + 'minute modify move name national nchar next no numeric of off on only ' + + 'open option order out output partial password precision prepare primary ' + + 'prior privileges procedure public read real references relative repeatable ' + + 'restrict return returns revoke rollback rollup rows rule schema scroll ' + + 'second section select sequence serializable set size smallint static ' + + 'statistics table temp temporary then time timestamp to top transaction ' + + 'translation trigger true truncate uncommitted union unique update values ' + + 'varchar varying view when where with work'; + + var operators = 'all and any between cross in join like not null or outer some'; + + this.regexList = [ + { regex: /--(.*)$/gm, css: 'comments' }, // one line and multiline comments + { regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css: 'string' }, // double quoted strings + { regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css: 'string' }, // single quoted strings + { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'color2' }, // functions + { regex: new RegExp(this.getKeywords(operators), 'gmi'), css: 'color1' }, // operators and such + { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' } // keyword + ]; + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['sql']; + + SyntaxHighlighter.brushes.Sql = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); + diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushVb.js b/themes/thinker/static/js/syntaxhighlighter/shBrushVb.js new file mode 100644 index 0000000..be845dc --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushVb.js @@ -0,0 +1,56 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + var keywords = 'AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto ' + + 'Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate ' + + 'CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType ' + + 'Date Decimal Declare Default Delegate Dim DirectCast Do Double Each ' + + 'Else ElseIf End Enum Erase Error Event Exit False Finally For Friend ' + + 'Function Get GetType GoSub GoTo Handles If Implements Imports In ' + + 'Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module ' + + 'MustInherit MustOverride MyBase MyClass Namespace New Next Not Nothing ' + + 'NotInheritable NotOverridable Object On Option Optional Or OrElse ' + + 'Overloads Overridable Overrides ParamArray Preserve Private Property ' + + 'Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume ' + + 'Return Select Set Shadows Shared Short Single Static Step Stop String ' + + 'Structure Sub SyncLock Then Throw To True Try TypeOf Unicode Until ' + + 'Variant When While With WithEvents WriteOnly Xor'; + + this.regexList = [ + { regex: /'.*$/gm, css: 'comments' }, // one line comments + { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings + { regex: /^\s*#.*$/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion + { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // vb keyword + ]; + + this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['vb', 'vbnet']; + + SyntaxHighlighter.brushes.Vb = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shBrushXml.js b/themes/thinker/static/js/syntaxhighlighter/shBrushXml.js new file mode 100644 index 0000000..69d9fd0 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shBrushXml.js @@ -0,0 +1,69 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +;(function() +{ + // CommonJS + typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; + + function Brush() + { + function process(match, regexInfo) + { + var constructor = SyntaxHighlighter.Match, + code = match[0], + tag = new XRegExp('(<|<)[\\s\\/\\?]*(?[:\\w-\\.]+)', 'xg').exec(code), + result = [] + ; + + if (match.attributes != null) + { + var attributes, + regex = new XRegExp('(? [\\w:\\-\\.]+)' + + '\\s*=\\s*' + + '(? ".*?"|\'.*?\'|\\w+)', + 'xg'); + + while ((attributes = regex.exec(code)) != null) + { + result.push(new constructor(attributes.name, match.index + attributes.index, 'color1')); + result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string')); + } + } + + if (tag != null) + result.push( + new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword') + ); + + return result; + } + + this.regexList = [ + { regex: new XRegExp('(\\<|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\>|>)', 'gm'), css: 'color2' }, // + { regex: SyntaxHighlighter.regexLib.xmlComments, css: 'comments' }, // + { regex: new XRegExp('(<|<)[\\s\\/\\?]*(\\w+)(?.*?)[\\s\\/\\?]*(>|>)', 'sg'), func: process } + ]; + }; + + Brush.prototype = new SyntaxHighlighter.Highlighter(); + Brush.aliases = ['xml', 'xhtml', 'xslt', 'html']; + + SyntaxHighlighter.brushes.Xml = Brush; + + // CommonJS + typeof(exports) != 'undefined' ? exports.Brush = Brush : null; +})(); diff --git a/themes/thinker/static/js/syntaxhighlighter/shCore.js b/themes/thinker/static/js/syntaxhighlighter/shCore.js new file mode 100644 index 0000000..b47b645 --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shCore.js @@ -0,0 +1,17 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a-1},3d:6(g){e+=g}};c1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;be.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;dd.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a\'+c+""});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.Pb.P)H 1;Y I(a.Lb.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'\'+c+""+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v<3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;">1v3v 3.0.76 (72 73 3x)1Z://3u.2w/1v70 17 6U 71.6T 6X-3x 6Y 6D.6t 61 60 J 1k, 5Z 5R 5V <2R/>5U 5T 5S!\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'\',d=e.16.2x,h=d.2X,g=0;g";H c},2o:6(a,b,c){H\'<2W>\'+c+""},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;md)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P\'+c+""},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i\'+j+"":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"":"")+\'<2d 1g="17">\'+b+""},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) diff --git a/themes/thinker/static/js/syntaxhighlighter/shLegacy.js b/themes/thinker/static/js/syntaxhighlighter/shLegacy.js new file mode 100644 index 0000000..6d9fd4d --- /dev/null +++ b/themes/thinker/static/js/syntaxhighlighter/shLegacy.js @@ -0,0 +1,17 @@ +/** + * SyntaxHighlighter + * http://alexgorbatchev.com/SyntaxHighlighter + * + * SyntaxHighlighter is donationware. If you are using it, please donate. + * http://alexgorbatchev.com/SyntaxHighlighter/donate.html + * + * @version + * 3.0.83 (July 02 2010) + * + * @copyright + * Copyright (C) 2004-2010 Alex Gorbatchev. + * + * @license + * Dual licensed under the MIT and GPL licenses. + */ +eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3 u={8:{}};u.8={A:4(c,k,l,m,n,o){4 d(a,b){2 a!=1?a:b}4 f(a){2 a!=1?a.E():1}c=c.I(":");3 g=c[0],e={};t={"r":K};M=1;5=8.5;9(3 j R c)e[c[j]]="r";k=f(d(k,5.C));l=f(d(l,5.D));m=f(d(m,5.s));o=f(d(o,5.Q));n=f(d(n,5["x-y"]));2{P:g,C:d(t[e.O],k),D:d(t[e.N],l),s:d({"r":r}[e.s],m),"x-y":d(4(a,b){9(3 h=T S("^"+b+"\\\\[(?\\\\w+)\\\\]$","U"),i=1,p=0;p Date: Fri, 3 Dec 2010 08:51:33 -0500 Subject: [PATCH 2/4] added embeddly api support and thinker theme --- README.textile | 0 __init__.py | 0 admin.py | 0 app.yaml | 12 +++- app_blog.yaml | 0 config.py | 39 +++++----- deferred.py | 0 fix_path.py | 0 generators.py | 24 ++++--- handlers.py | 11 +-- index.yaml | 0 lib/docutils/__init__.py | 0 lib/docutils/_compat.py | 0 lib/docutils/_string_template_compat.py | 0 lib/docutils/core.py | 0 lib/docutils/docutils.conf | 0 lib/docutils/examples.py | 0 lib/docutils/frontend.py | 0 lib/docutils/io.py | 0 lib/docutils/languages/__init__.py | 0 lib/docutils/languages/af.py | 0 lib/docutils/languages/ca.py | 0 lib/docutils/languages/cs.py | 0 lib/docutils/languages/de.py | 0 lib/docutils/languages/en.py | 0 lib/docutils/languages/eo.py | 0 lib/docutils/languages/es.py | 0 lib/docutils/languages/fi.py | 0 lib/docutils/languages/fr.py | 0 lib/docutils/languages/gl.py | 0 lib/docutils/languages/he.py | 0 lib/docutils/languages/it.py | 0 lib/docutils/languages/ja.py | 0 lib/docutils/languages/nl.py | 0 lib/docutils/languages/pl.py | 0 lib/docutils/languages/pt_br.py | 0 lib/docutils/languages/ru.py | 0 lib/docutils/languages/sk.py | 0 lib/docutils/languages/sv.py | 0 lib/docutils/languages/zh_cn.py | 0 lib/docutils/languages/zh_tw.py | 0 lib/docutils/nodes.py | 0 lib/docutils/parsers/__init__.py | 0 lib/docutils/parsers/null.py | 0 lib/docutils/parsers/rst/__init__.py | 0 .../parsers/rst/directives/__init__.py | 0 .../parsers/rst/directives/admonitions.py | 0 lib/docutils/parsers/rst/directives/body.py | 0 lib/docutils/parsers/rst/directives/html.py | 0 lib/docutils/parsers/rst/directives/images.py | 0 lib/docutils/parsers/rst/directives/misc.py | 0 lib/docutils/parsers/rst/directives/parts.py | 0 .../parsers/rst/directives/references.py | 0 lib/docutils/parsers/rst/directives/tables.py | 0 lib/docutils/parsers/rst/include/README.txt | 0 lib/docutils/parsers/rst/include/isoamsa.txt | 0 lib/docutils/parsers/rst/include/isoamsb.txt | 0 lib/docutils/parsers/rst/include/isoamsc.txt | 0 lib/docutils/parsers/rst/include/isoamsn.txt | 0 lib/docutils/parsers/rst/include/isoamso.txt | 0 lib/docutils/parsers/rst/include/isoamsr.txt | 0 lib/docutils/parsers/rst/include/isobox.txt | 0 lib/docutils/parsers/rst/include/isocyr1.txt | 0 lib/docutils/parsers/rst/include/isocyr2.txt | 0 lib/docutils/parsers/rst/include/isodia.txt | 0 lib/docutils/parsers/rst/include/isogrk1.txt | 0 lib/docutils/parsers/rst/include/isogrk2.txt | 0 lib/docutils/parsers/rst/include/isogrk3.txt | 0 .../parsers/rst/include/isogrk4-wide.txt | 0 lib/docutils/parsers/rst/include/isogrk4.txt | 0 lib/docutils/parsers/rst/include/isolat1.txt | 0 lib/docutils/parsers/rst/include/isolat2.txt | 0 .../parsers/rst/include/isomfrk-wide.txt | 0 lib/docutils/parsers/rst/include/isomfrk.txt | 0 .../parsers/rst/include/isomopf-wide.txt | 0 lib/docutils/parsers/rst/include/isomopf.txt | 0 .../parsers/rst/include/isomscr-wide.txt | 0 lib/docutils/parsers/rst/include/isomscr.txt | 0 lib/docutils/parsers/rst/include/isonum.txt | 0 lib/docutils/parsers/rst/include/isopub.txt | 0 lib/docutils/parsers/rst/include/isotech.txt | 0 lib/docutils/parsers/rst/include/mmlalias.txt | 0 .../parsers/rst/include/mmlextra-wide.txt | 0 lib/docutils/parsers/rst/include/mmlextra.txt | 0 lib/docutils/parsers/rst/include/s5defs.txt | 0 .../parsers/rst/include/xhtml1-lat1.txt | 0 .../parsers/rst/include/xhtml1-special.txt | 0 .../parsers/rst/include/xhtml1-symbol.txt | 0 .../parsers/rst/languages/__init__.py | 0 lib/docutils/parsers/rst/languages/af.py | 0 lib/docutils/parsers/rst/languages/ca.py | 0 lib/docutils/parsers/rst/languages/cs.py | 0 lib/docutils/parsers/rst/languages/de.py | 0 lib/docutils/parsers/rst/languages/en.py | 0 lib/docutils/parsers/rst/languages/eo.py | 0 lib/docutils/parsers/rst/languages/es.py | 0 lib/docutils/parsers/rst/languages/fi.py | 0 lib/docutils/parsers/rst/languages/fr.py | 0 lib/docutils/parsers/rst/languages/gl.py | 0 lib/docutils/parsers/rst/languages/he.py | 0 lib/docutils/parsers/rst/languages/it.py | 0 lib/docutils/parsers/rst/languages/ja.py | 0 lib/docutils/parsers/rst/languages/nl.py | 0 lib/docutils/parsers/rst/languages/pl.py | 0 lib/docutils/parsers/rst/languages/pt_br.py | 0 lib/docutils/parsers/rst/languages/ru.py | 0 lib/docutils/parsers/rst/languages/sk.py | 0 lib/docutils/parsers/rst/languages/sv.py | 0 lib/docutils/parsers/rst/languages/zh_cn.py | 0 lib/docutils/parsers/rst/languages/zh_tw.py | 0 lib/docutils/parsers/rst/roles.py | 0 lib/docutils/parsers/rst/states.py | 0 lib/docutils/parsers/rst/tableparser.py | 0 lib/docutils/readers/__init__.py | 0 lib/docutils/readers/doctree.py | 0 lib/docutils/readers/pep.py | 0 lib/docutils/readers/python/__init__.py | 0 lib/docutils/readers/python/moduleparser.py | 0 lib/docutils/readers/python/pynodes.py | 0 lib/docutils/readers/standalone.py | 0 lib/docutils/statemachine.py | 0 lib/docutils/transforms/__init__.py | 0 lib/docutils/transforms/components.py | 0 lib/docutils/transforms/frontmatter.py | 0 lib/docutils/transforms/misc.py | 0 lib/docutils/transforms/parts.py | 0 lib/docutils/transforms/peps.py | 0 lib/docutils/transforms/references.py | 0 lib/docutils/transforms/universal.py | 0 lib/docutils/transforms/writer_aux.py | 0 lib/docutils/urischemes.py | 0 lib/docutils/utils.py | 0 lib/docutils/writers/__init__.py | 0 lib/docutils/writers/docutils_xml.py | 0 lib/docutils/writers/html4css1/__init__.py | 0 lib/docutils/writers/html4css1/html4css1.css | 0 lib/docutils/writers/html4css1/template.txt | 0 lib/docutils/writers/latex2e/__init__.py | 0 lib/docutils/writers/latex2e/default.tex | 0 .../writers/latex2e/docutils-05-compat.sty | 0 lib/docutils/writers/latex2e/titlepage.tex | 0 lib/docutils/writers/manpage.py | 0 lib/docutils/writers/newlatex2e/__init__.py | 0 lib/docutils/writers/newlatex2e/base.tex | 0 lib/docutils/writers/newlatex2e/notes.txt | 0 lib/docutils/writers/newlatex2e/tests.txt | 0 .../writers/newlatex2e/unicode_map.py | 0 lib/docutils/writers/null.py | 0 lib/docutils/writers/odf_odt/__init__.py | 0 .../writers/odf_odt/pygmentsformatter.py | 0 lib/docutils/writers/odf_odt/styles.odt | Bin lib/docutils/writers/pep_html/__init__.py | 0 lib/docutils/writers/pep_html/pep.css | 0 lib/docutils/writers/pep_html/template.txt | 0 lib/docutils/writers/pseudoxml.py | 0 lib/docutils/writers/s5_html/__init__.py | 0 .../writers/s5_html/themes/README.txt | 0 .../writers/s5_html/themes/big-black/__base__ | 0 .../s5_html/themes/big-black/framing.css | 0 .../s5_html/themes/big-black/pretty.css | 0 .../s5_html/themes/big-white/framing.css | 0 .../s5_html/themes/big-white/pretty.css | 0 .../writers/s5_html/themes/default/blank.gif | Bin .../s5_html/themes/default/framing.css | 0 .../s5_html/themes/default/iepngfix.htc | 0 .../writers/s5_html/themes/default/opera.css | 0 .../s5_html/themes/default/outline.css | 0 .../writers/s5_html/themes/default/pretty.css | 0 .../writers/s5_html/themes/default/print.css | 0 .../s5_html/themes/default/s5-core.css | 0 .../writers/s5_html/themes/default/slides.css | 0 .../writers/s5_html/themes/default/slides.js | 0 .../s5_html/themes/medium-black/__base__ | 0 .../s5_html/themes/medium-black/pretty.css | 0 .../s5_html/themes/medium-white/framing.css | 0 .../s5_html/themes/medium-white/pretty.css | 0 .../s5_html/themes/small-black/__base__ | 0 .../s5_html/themes/small-black/pretty.css | 0 .../s5_html/themes/small-white/framing.css | 0 .../s5_html/themes/small-white/pretty.css | 0 lib/embedly.py | 48 +++++++++++++ lib/markdown.py | 0 lib/markdown_processor.py | 0 lib/pygments/__init__.py | 0 lib/pygments/cmdline.py | 0 lib/pygments/console.py | 0 lib/pygments/filter.py | 0 lib/pygments/filters/__init__.py | 0 lib/pygments/formatter.py | 0 lib/pygments/formatters/__init__.py | 0 lib/pygments/formatters/bbcode.py | 0 lib/pygments/formatters/html.py | 0 lib/pygments/formatters/img.py | 0 lib/pygments/formatters/latex.py | 0 lib/pygments/formatters/other.py | 0 lib/pygments/formatters/rtf.py | 0 lib/pygments/formatters/svg.py | 0 lib/pygments/formatters/terminal.py | 0 lib/pygments/formatters/terminal256.py | 0 lib/pygments/lexer.py | 0 lib/pygments/lexers/__init__.py | 0 lib/pygments/lexers/_clbuiltins.py | 0 lib/pygments/lexers/_luabuiltins.py | 0 lib/pygments/lexers/_mapping.py | 0 lib/pygments/lexers/_phpbuiltins.py | 0 lib/pygments/lexers/_vimbuiltins.py | 0 lib/pygments/lexers/agile.py | 0 lib/pygments/lexers/asm.py | 0 lib/pygments/lexers/compiled.py | 0 lib/pygments/lexers/dotnet.py | 0 lib/pygments/lexers/functional.py | 0 lib/pygments/lexers/math.py | 0 lib/pygments/lexers/other.py | 0 lib/pygments/lexers/parsers.py | 0 lib/pygments/lexers/special.py | 0 lib/pygments/lexers/templates.py | 0 lib/pygments/lexers/text.py | 0 lib/pygments/lexers/web.py | 0 lib/pygments/plugin.py | 0 lib/pygments/scanner.py | 0 lib/pygments/style.py | 0 lib/pygments/styles/__init__.py | 0 lib/pygments/styles/autumn.py | 0 lib/pygments/styles/borland.py | 0 lib/pygments/styles/bw.py | 0 lib/pygments/styles/colorful.py | 0 lib/pygments/styles/default.py | 0 lib/pygments/styles/emacs.py | 0 lib/pygments/styles/friendly.py | 0 lib/pygments/styles/fruity.py | 0 lib/pygments/styles/manni.py | 0 lib/pygments/styles/murphy.py | 0 lib/pygments/styles/native.py | 0 lib/pygments/styles/pastie.py | 0 lib/pygments/styles/perldoc.py | 0 lib/pygments/styles/tango.py | 0 lib/pygments/styles/trac.py | 0 lib/pygments/styles/vim.py | 0 lib/pygments/styles/vs.py | 0 lib/pygments/token.py | 0 lib/pygments/unistring.py | 0 lib/pygments/util.py | 0 lib/roman.py | 0 lib/rst_directive.py | 0 lib/textile.py | 0 markup.py | 0 migrate.py | 0 models.py | 0 post_deploy.py | 68 +++++++++++++----- static.py | 16 ++++- themes/README.textile | 0 themes/default/404.html | 0 themes/default/admin/base.html | 0 themes/default/admin/deleted.html | 0 themes/default/admin/edit.html | 0 themes/default/admin/index.html | 12 +++- themes/default/admin/published.html | 0 themes/default/admin/regenerating.html | 0 themes/default/atom.xml | 0 themes/default/base.html | 0 themes/default/cse.xml | 2 +- themes/default/listing.html | 0 themes/default/post.html | 0 themes/default/robots.txt | 0 themes/default/search.html | 0 themes/default/site_verification.html | 0 themes/default/sitemap.xml | 0 themes/default/static/css/pygments_autumn.css | 0 .../default/static/css/pygments_borland.css | 0 themes/default/static/css/pygments_bw.css | 0 .../default/static/css/pygments_colorful.css | 0 .../default/static/css/pygments_default.css | 0 themes/default/static/css/pygments_emacs.css | 0 .../default/static/css/pygments_friendly.css | 0 themes/default/static/css/pygments_fruity.css | 0 themes/default/static/css/pygments_manni.css | 0 themes/default/static/css/pygments_murphy.css | 0 themes/default/static/css/pygments_native.css | 0 themes/default/static/css/pygments_pastie.css | 0 .../default/static/css/pygments_perldoc.css | 0 themes/default/static/css/pygments_tango.css | 0 themes/default/static/css/pygments_trac.css | 0 themes/default/static/css/pygments_vs.css | 0 themes/default/static/images/bloggart-ae.png | Bin .../images/header-bloggart-watermark.png | Bin .../default/static/images/header-bloggart.png | Bin themes/simple/base.html | 0 themes/simple/static/css/screen.css | 0 themes/thinker/base.html | 8 ++- themes/thinker/static/css/style.css | 15 ++-- themes/thinker/static/js/script.js | 30 ++++++++ utils.py | 55 ++++++++++++-- 292 files changed, 272 insertions(+), 68 deletions(-) mode change 100644 => 100755 README.textile mode change 100644 => 100755 __init__.py mode change 100644 => 100755 admin.py mode change 100644 => 100755 app.yaml mode change 100644 => 100755 app_blog.yaml mode change 100644 => 100755 config.py mode change 100644 => 100755 deferred.py mode change 100644 => 100755 fix_path.py mode change 100644 => 100755 generators.py mode change 100644 => 100755 handlers.py mode change 100644 => 100755 index.yaml mode change 100644 => 100755 lib/docutils/__init__.py mode change 100644 => 100755 lib/docutils/_compat.py mode change 100644 => 100755 lib/docutils/_string_template_compat.py mode change 100644 => 100755 lib/docutils/core.py mode change 100644 => 100755 lib/docutils/docutils.conf mode change 100644 => 100755 lib/docutils/examples.py mode change 100644 => 100755 lib/docutils/frontend.py mode change 100644 => 100755 lib/docutils/io.py mode change 100644 => 100755 lib/docutils/languages/__init__.py mode change 100644 => 100755 lib/docutils/languages/af.py mode change 100644 => 100755 lib/docutils/languages/ca.py mode change 100644 => 100755 lib/docutils/languages/cs.py mode change 100644 => 100755 lib/docutils/languages/de.py mode change 100644 => 100755 lib/docutils/languages/en.py mode change 100644 => 100755 lib/docutils/languages/eo.py mode change 100644 => 100755 lib/docutils/languages/es.py mode change 100644 => 100755 lib/docutils/languages/fi.py mode change 100644 => 100755 lib/docutils/languages/fr.py mode change 100644 => 100755 lib/docutils/languages/gl.py mode change 100644 => 100755 lib/docutils/languages/he.py mode change 100644 => 100755 lib/docutils/languages/it.py mode change 100644 => 100755 lib/docutils/languages/ja.py mode change 100644 => 100755 lib/docutils/languages/nl.py mode change 100644 => 100755 lib/docutils/languages/pl.py mode change 100644 => 100755 lib/docutils/languages/pt_br.py mode change 100644 => 100755 lib/docutils/languages/ru.py mode change 100644 => 100755 lib/docutils/languages/sk.py mode change 100644 => 100755 lib/docutils/languages/sv.py mode change 100644 => 100755 lib/docutils/languages/zh_cn.py mode change 100644 => 100755 lib/docutils/languages/zh_tw.py mode change 100644 => 100755 lib/docutils/nodes.py mode change 100644 => 100755 lib/docutils/parsers/__init__.py mode change 100644 => 100755 lib/docutils/parsers/null.py mode change 100644 => 100755 lib/docutils/parsers/rst/__init__.py mode change 100644 => 100755 lib/docutils/parsers/rst/directives/__init__.py mode change 100644 => 100755 lib/docutils/parsers/rst/directives/admonitions.py mode change 100644 => 100755 lib/docutils/parsers/rst/directives/body.py mode change 100644 => 100755 lib/docutils/parsers/rst/directives/html.py mode change 100644 => 100755 lib/docutils/parsers/rst/directives/images.py mode change 100644 => 100755 lib/docutils/parsers/rst/directives/misc.py mode change 100644 => 100755 lib/docutils/parsers/rst/directives/parts.py mode change 100644 => 100755 lib/docutils/parsers/rst/directives/references.py mode change 100644 => 100755 lib/docutils/parsers/rst/directives/tables.py mode change 100644 => 100755 lib/docutils/parsers/rst/include/README.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isoamsa.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isoamsb.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isoamsc.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isoamsn.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isoamso.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isoamsr.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isobox.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isocyr1.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isocyr2.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isodia.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isogrk1.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isogrk2.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isogrk3.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isogrk4-wide.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isogrk4.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isolat1.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isolat2.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isomfrk-wide.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isomfrk.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isomopf-wide.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isomopf.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isomscr-wide.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isomscr.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isonum.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isopub.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/isotech.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/mmlalias.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/mmlextra-wide.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/mmlextra.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/s5defs.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/xhtml1-lat1.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/xhtml1-special.txt mode change 100644 => 100755 lib/docutils/parsers/rst/include/xhtml1-symbol.txt mode change 100644 => 100755 lib/docutils/parsers/rst/languages/__init__.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/af.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/ca.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/cs.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/de.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/en.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/eo.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/es.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/fi.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/fr.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/gl.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/he.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/it.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/ja.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/nl.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/pl.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/pt_br.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/ru.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/sk.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/sv.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/zh_cn.py mode change 100644 => 100755 lib/docutils/parsers/rst/languages/zh_tw.py mode change 100644 => 100755 lib/docutils/parsers/rst/roles.py mode change 100644 => 100755 lib/docutils/parsers/rst/states.py mode change 100644 => 100755 lib/docutils/parsers/rst/tableparser.py mode change 100644 => 100755 lib/docutils/readers/__init__.py mode change 100644 => 100755 lib/docutils/readers/doctree.py mode change 100644 => 100755 lib/docutils/readers/pep.py mode change 100644 => 100755 lib/docutils/readers/python/__init__.py mode change 100644 => 100755 lib/docutils/readers/python/moduleparser.py mode change 100644 => 100755 lib/docutils/readers/python/pynodes.py mode change 100644 => 100755 lib/docutils/readers/standalone.py mode change 100644 => 100755 lib/docutils/statemachine.py mode change 100644 => 100755 lib/docutils/transforms/__init__.py mode change 100644 => 100755 lib/docutils/transforms/components.py mode change 100644 => 100755 lib/docutils/transforms/frontmatter.py mode change 100644 => 100755 lib/docutils/transforms/misc.py mode change 100644 => 100755 lib/docutils/transforms/parts.py mode change 100644 => 100755 lib/docutils/transforms/peps.py mode change 100644 => 100755 lib/docutils/transforms/references.py mode change 100644 => 100755 lib/docutils/transforms/universal.py mode change 100644 => 100755 lib/docutils/transforms/writer_aux.py mode change 100644 => 100755 lib/docutils/urischemes.py mode change 100644 => 100755 lib/docutils/utils.py mode change 100644 => 100755 lib/docutils/writers/__init__.py mode change 100644 => 100755 lib/docutils/writers/docutils_xml.py mode change 100644 => 100755 lib/docutils/writers/html4css1/__init__.py mode change 100644 => 100755 lib/docutils/writers/html4css1/html4css1.css mode change 100644 => 100755 lib/docutils/writers/html4css1/template.txt mode change 100644 => 100755 lib/docutils/writers/latex2e/__init__.py mode change 100644 => 100755 lib/docutils/writers/latex2e/default.tex mode change 100644 => 100755 lib/docutils/writers/latex2e/docutils-05-compat.sty mode change 100644 => 100755 lib/docutils/writers/latex2e/titlepage.tex mode change 100644 => 100755 lib/docutils/writers/manpage.py mode change 100644 => 100755 lib/docutils/writers/newlatex2e/__init__.py mode change 100644 => 100755 lib/docutils/writers/newlatex2e/base.tex mode change 100644 => 100755 lib/docutils/writers/newlatex2e/notes.txt mode change 100644 => 100755 lib/docutils/writers/newlatex2e/tests.txt mode change 100644 => 100755 lib/docutils/writers/newlatex2e/unicode_map.py mode change 100644 => 100755 lib/docutils/writers/null.py mode change 100644 => 100755 lib/docutils/writers/odf_odt/__init__.py mode change 100644 => 100755 lib/docutils/writers/odf_odt/pygmentsformatter.py mode change 100644 => 100755 lib/docutils/writers/odf_odt/styles.odt mode change 100644 => 100755 lib/docutils/writers/pep_html/__init__.py mode change 100644 => 100755 lib/docutils/writers/pep_html/pep.css mode change 100644 => 100755 lib/docutils/writers/pep_html/template.txt mode change 100644 => 100755 lib/docutils/writers/pseudoxml.py mode change 100644 => 100755 lib/docutils/writers/s5_html/__init__.py mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/README.txt mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/big-black/__base__ mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/big-black/framing.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/big-black/pretty.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/big-white/framing.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/big-white/pretty.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/default/blank.gif mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/default/framing.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/default/iepngfix.htc mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/default/opera.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/default/outline.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/default/pretty.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/default/print.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/default/s5-core.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/default/slides.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/default/slides.js mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/medium-black/__base__ mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/medium-black/pretty.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/medium-white/framing.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/medium-white/pretty.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/small-black/__base__ mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/small-black/pretty.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/small-white/framing.css mode change 100644 => 100755 lib/docutils/writers/s5_html/themes/small-white/pretty.css create mode 100644 lib/embedly.py mode change 100644 => 100755 lib/markdown.py mode change 100644 => 100755 lib/markdown_processor.py mode change 100644 => 100755 lib/pygments/__init__.py mode change 100644 => 100755 lib/pygments/cmdline.py mode change 100644 => 100755 lib/pygments/console.py mode change 100644 => 100755 lib/pygments/filter.py mode change 100644 => 100755 lib/pygments/filters/__init__.py mode change 100644 => 100755 lib/pygments/formatter.py mode change 100644 => 100755 lib/pygments/formatters/__init__.py mode change 100644 => 100755 lib/pygments/formatters/bbcode.py mode change 100644 => 100755 lib/pygments/formatters/html.py mode change 100644 => 100755 lib/pygments/formatters/img.py mode change 100644 => 100755 lib/pygments/formatters/latex.py mode change 100644 => 100755 lib/pygments/formatters/other.py mode change 100644 => 100755 lib/pygments/formatters/rtf.py mode change 100644 => 100755 lib/pygments/formatters/svg.py mode change 100644 => 100755 lib/pygments/formatters/terminal.py mode change 100644 => 100755 lib/pygments/formatters/terminal256.py mode change 100644 => 100755 lib/pygments/lexer.py mode change 100644 => 100755 lib/pygments/lexers/__init__.py mode change 100644 => 100755 lib/pygments/lexers/_clbuiltins.py mode change 100644 => 100755 lib/pygments/lexers/_luabuiltins.py mode change 100644 => 100755 lib/pygments/lexers/_mapping.py mode change 100644 => 100755 lib/pygments/lexers/_phpbuiltins.py mode change 100644 => 100755 lib/pygments/lexers/_vimbuiltins.py mode change 100644 => 100755 lib/pygments/lexers/agile.py mode change 100644 => 100755 lib/pygments/lexers/asm.py mode change 100644 => 100755 lib/pygments/lexers/compiled.py mode change 100644 => 100755 lib/pygments/lexers/dotnet.py mode change 100644 => 100755 lib/pygments/lexers/functional.py mode change 100644 => 100755 lib/pygments/lexers/math.py mode change 100644 => 100755 lib/pygments/lexers/other.py mode change 100644 => 100755 lib/pygments/lexers/parsers.py mode change 100644 => 100755 lib/pygments/lexers/special.py mode change 100644 => 100755 lib/pygments/lexers/templates.py mode change 100644 => 100755 lib/pygments/lexers/text.py mode change 100644 => 100755 lib/pygments/lexers/web.py mode change 100644 => 100755 lib/pygments/plugin.py mode change 100644 => 100755 lib/pygments/scanner.py mode change 100644 => 100755 lib/pygments/style.py mode change 100644 => 100755 lib/pygments/styles/__init__.py mode change 100644 => 100755 lib/pygments/styles/autumn.py mode change 100644 => 100755 lib/pygments/styles/borland.py mode change 100644 => 100755 lib/pygments/styles/bw.py mode change 100644 => 100755 lib/pygments/styles/colorful.py mode change 100644 => 100755 lib/pygments/styles/default.py mode change 100644 => 100755 lib/pygments/styles/emacs.py mode change 100644 => 100755 lib/pygments/styles/friendly.py mode change 100644 => 100755 lib/pygments/styles/fruity.py mode change 100644 => 100755 lib/pygments/styles/manni.py mode change 100644 => 100755 lib/pygments/styles/murphy.py mode change 100644 => 100755 lib/pygments/styles/native.py mode change 100644 => 100755 lib/pygments/styles/pastie.py mode change 100644 => 100755 lib/pygments/styles/perldoc.py mode change 100644 => 100755 lib/pygments/styles/tango.py mode change 100644 => 100755 lib/pygments/styles/trac.py mode change 100644 => 100755 lib/pygments/styles/vim.py mode change 100644 => 100755 lib/pygments/styles/vs.py mode change 100644 => 100755 lib/pygments/token.py mode change 100644 => 100755 lib/pygments/unistring.py mode change 100644 => 100755 lib/pygments/util.py mode change 100644 => 100755 lib/roman.py mode change 100644 => 100755 lib/rst_directive.py mode change 100644 => 100755 lib/textile.py mode change 100644 => 100755 markup.py mode change 100644 => 100755 migrate.py mode change 100644 => 100755 models.py mode change 100644 => 100755 post_deploy.py mode change 100644 => 100755 static.py mode change 100644 => 100755 themes/README.textile mode change 100644 => 100755 themes/default/404.html mode change 100644 => 100755 themes/default/admin/base.html mode change 100644 => 100755 themes/default/admin/deleted.html mode change 100644 => 100755 themes/default/admin/edit.html mode change 100644 => 100755 themes/default/admin/index.html mode change 100644 => 100755 themes/default/admin/published.html mode change 100644 => 100755 themes/default/admin/regenerating.html mode change 100644 => 100755 themes/default/atom.xml mode change 100644 => 100755 themes/default/base.html mode change 100644 => 100755 themes/default/cse.xml mode change 100644 => 100755 themes/default/listing.html mode change 100644 => 100755 themes/default/post.html mode change 100644 => 100755 themes/default/robots.txt mode change 100644 => 100755 themes/default/search.html mode change 100644 => 100755 themes/default/site_verification.html mode change 100644 => 100755 themes/default/sitemap.xml mode change 100644 => 100755 themes/default/static/css/pygments_autumn.css mode change 100644 => 100755 themes/default/static/css/pygments_borland.css mode change 100644 => 100755 themes/default/static/css/pygments_bw.css mode change 100644 => 100755 themes/default/static/css/pygments_colorful.css mode change 100644 => 100755 themes/default/static/css/pygments_default.css mode change 100644 => 100755 themes/default/static/css/pygments_emacs.css mode change 100644 => 100755 themes/default/static/css/pygments_friendly.css mode change 100644 => 100755 themes/default/static/css/pygments_fruity.css mode change 100644 => 100755 themes/default/static/css/pygments_manni.css mode change 100644 => 100755 themes/default/static/css/pygments_murphy.css mode change 100644 => 100755 themes/default/static/css/pygments_native.css mode change 100644 => 100755 themes/default/static/css/pygments_pastie.css mode change 100644 => 100755 themes/default/static/css/pygments_perldoc.css mode change 100644 => 100755 themes/default/static/css/pygments_tango.css mode change 100644 => 100755 themes/default/static/css/pygments_trac.css mode change 100644 => 100755 themes/default/static/css/pygments_vs.css mode change 100644 => 100755 themes/default/static/images/bloggart-ae.png mode change 100644 => 100755 themes/default/static/images/header-bloggart-watermark.png mode change 100644 => 100755 themes/default/static/images/header-bloggart.png mode change 100644 => 100755 themes/simple/base.html mode change 100644 => 100755 themes/simple/static/css/screen.css mode change 100644 => 100755 utils.py diff --git a/README.textile b/README.textile old mode 100644 new mode 100755 diff --git a/__init__.py b/__init__.py old mode 100644 new mode 100755 diff --git a/admin.py b/admin.py old mode 100644 new mode 100755 diff --git a/app.yaml b/app.yaml old mode 100644 new mode 100755 index 9b484b5..ddacb93 --- a/app.yaml +++ b/app.yaml @@ -1,8 +1,13 @@ -application: bloggart-demo +application: john-turner version: live runtime: python api_version: 1 +#default_expiration: "365d" + +derived_file_type: +- python_precompiled + skip_files: | ^(.*/)?( (app\.yaml)| @@ -12,6 +17,7 @@ skip_files: | (#.*#)| (.*~)| (.*\.py[co])| + (\.DS_Store) )$ @@ -27,6 +33,10 @@ handlers: - url: /admin/.* script: admin.py login: admin + +- url: /favicon.ico + static_files: themes/thinker/favicon.ico + upload: themes/thinker/favicon.ico - url: /static/([^/]+)/(.*) static_files: themes/\1/static/\2 diff --git a/app_blog.yaml b/app_blog.yaml old mode 100644 new mode 100755 diff --git a/config.py b/config.py old mode 100644 new mode 100755 index e2dbed7..5fc03b1 --- a/config.py +++ b/config.py @@ -1,36 +1,36 @@ # Name of the blog -blog_name = 'My Blog' +blog_name = 'John D. Turner' # Your name (used for copyright info) -author_name = 'the author' +author_name = 'John Turner' + +profile = 'http://www.facebook.com/johndturner' # (Optional) slogan -slogan = 'This is my blog' +slogan = 'Web Developer. Forward Thinker.' # The hostname this site will primarially serve off (used for Atom feeds) -host = 'localhost:8080' +host = 'www.johndturner.com' # Selects the theme to use. Theme names correspond to directories under # the 'themes' directory, containing templates and static content. -theme = 'default' +theme = 'thinker' # Defines the URL organization to use for blog postings. Valid substitutions: # slug - the identifier for the post, derived from the title # year - the year the post was published in # month - the month the post was published in # day - the day the post was published in -post_path_format = '/%(year)d/%(month)02d/%(slug)s' +post_path_format = '/%(slug)s' # A nested list of sidebar menus, for convenience. If this isn't versatile # enough, you can edit themes/default/base.html instead. sidebars = [ - ('Blogroll', [ - 'Nick Johnsonz', - 'Bill Katz', - 'Coding Horror', - 'Craphound', - 'Neopythonic', - 'Schneier on Security', + ('Navigation', [ + 'Home', + 'About Me', + 'Contact Me', + 'Stuff I Use', ]), ] @@ -42,13 +42,13 @@ # To use disqus for comments, set this to the 'short name' of the disqus forum # created for the purpose. -disqus_forum = None +disqus_forum = 'johndturner' # Length (in words) of summaries, by default summary_length = 200 # If you want to use Google Analytics, enter your 'web property id' here -analytics_id = None +analytics_id = 'UA-499993-7' # If you want to use PubSubHubbub, supply the hub URL to use here. hubbub_hub_url = 'http://pubsubhubbub.appspot.com/' @@ -62,7 +62,7 @@ # an html file' method, then set the NAME of the file below. # Note that you do not need to download the file provided - just enter its name # here. -google_site_verification = None +google_site_verification = '8z-l9pmEKxAABF_w-0FeQRqDG8FiWiHCtepLIeWYERA' # Default markup language for entry bodies (defaults to html). default_markup = 'html' @@ -79,10 +79,10 @@ # Defines where the user is defined in the rel="me" of your pages. # This allows you to expand on your social graph. -rel_me = None +rel_me = 'http://www.google.com/profiles/johnnytee' # For use a feed proxy like feedburne.google.com -feed_proxy = None +feed_proxy = 'http://feeds.feedburner.com/johndturner' # To use Google Friends Connect. # If you want use Google Friends Connect, go to http://www.google.com/friendconnect/ @@ -93,4 +93,5 @@ # To format the date of your post. # http://docs.djangoproject.com/en/1.1/ref/templates/builtins/#now -date_format = "d F, Y" +date_format = "F d, Y" +iso_format = "Y-m-d\TH:i:s" diff --git a/deferred.py b/deferred.py old mode 100644 new mode 100755 diff --git a/fix_path.py b/fix_path.py old mode 100644 new mode 100755 diff --git a/generators.py b/generators.py old mode 100644 new mode 100755 index 9df4989..b5a4670 --- a/generators.py +++ b/generators.py @@ -109,7 +109,10 @@ def generate_resource(cls, post, resource, action='post'): template_vals['prev']=prev if next is not None: template_vals['next']=next + template_vals['post_id'] = post.key().id() + template_vals['canonical_url'] = 'http://' + config.host + post.path rendered = utils.render_template("post.html", template_vals) + rendered = str(utils.oembed_replace(rendered,'post')) static.set(post.path, rendered, config.html_mime_type) generator_list.append(PostContentGenerator) @@ -136,7 +139,10 @@ def generate_resource(cls, post, resource): template_vals['prev']=prev if next is not None: template_vals['next']=next + template_vals['post_id'] = post.key().id() + template_vals['canonical_url'] = 'http://' + config.host + post.path rendered = utils.render_template("post.html", template_vals) + rendered = str(utils.oembed_replace(rendered,'post')) static.set(post.path, rendered, config.html_mime_type) generator_list.append(PostPrevNextContentGenerator) @@ -174,8 +180,10 @@ def generate_resource(cls, post, resource, pagenum=1, start_ts=None): path_args = { 'resource': resource, } + _get_path = lambda: \ + cls.first_page_path if path_args['pagenum'] == 1 else cls.path path_args['pagenum'] = pagenum - 1 - prev_page = cls.path % path_args + prev_page = _get_path() % path_args path_args['pagenum'] = pagenum + 1 next_page = cls.path % path_args template_vals = { @@ -184,14 +192,11 @@ def generate_resource(cls, post, resource, pagenum=1, start_ts=None): 'prev_page': prev_page if pagenum > 1 else None, 'next_page': next_page if more_posts else None, } - rendered = utils.render_template("listing.html", template_vals) - path_args['pagenum'] = pagenum - static.set(cls.path % path_args, rendered, config.html_mime_type) - if pagenum == 1: - static.set(cls.first_page_path % path_args, rendered, - config.html_mime_type) - + template_vals['canonical_url'] = 'http://' + config.host + _get_path() % path_args + rendered = utils.render_template("listing.html", template_vals) + rendered = str(utils.oembed_replace(rendered,'list')) + static.set(_get_path() % path_args, rendered, config.html_mime_type) if more_posts: deferred.defer(cls.generate_resource, None, resource, pagenum + 1, posts[-2].published) @@ -239,7 +244,7 @@ def get_etag(cls, post): @classmethod def generate_resource(cls, post, resource): import models - q = models.BlogPost.all().order('-updated') + q = models.BlogPost.all().order('-published') # Fetch the 10 most recently updated non-draft posts posts = list(itertools.islice((x for x in q if x.path), 10)) now = datetime.datetime.now().replace(second=0, microsecond=0) @@ -248,6 +253,7 @@ def generate_resource(cls, post, resource): 'updated': now, } rendered = utils.render_template("atom.xml", template_vals) + rendered = str(utils.oembed_replace(rendered,'atom')) static.set('/feeds/atom.xml', rendered, 'application/atom+xml; charset=utf-8', indexed=False, last_modified=now) diff --git a/handlers.py b/handlers.py old mode 100644 new mode 100755 index ea1e238..bda6cea --- a/handlers.py +++ b/handlers.py @@ -1,5 +1,4 @@ import datetime -import logging import os from google.appengine.ext import deferred @@ -57,8 +56,9 @@ def render_to_response(self, template_name, template_vals=None, theme=None): class AdminHandler(BaseHandler): def get(self): + from generators import generator_list offset = int(self.request.get('start', 0)) - count = int(self.request.get('count', 20)) + count = int(self.request.get('count', 100)) posts = models.BlogPost.all().order('-published').fetch(count, offset) template_vals = { 'is_admin': True, @@ -68,6 +68,7 @@ def get(self): 'prev_offset': max(0, offset - count), 'next_offset': offset + count, 'posts': posts, + 'generators': [cls.__name__ for cls in generator_list], } self.render_to_response("index.html", template_vals) @@ -129,7 +130,9 @@ def get(self, post): class RegenerateHandler(BaseHandler): def post(self): + generators = self.request.get_all("generators") + regen = post_deploy.PostRegenerator() - deferred.defer(regen.regenerate) - deferred.defer(post_deploy.post_deploy, post_deploy.BLOGGART_VERSION) + deferred.defer(regen.regenerate, classes=generators) + deferred.defer(post_deploy.try_post_deploy, force=True) self.render_to_response("regenerating.html") diff --git a/index.yaml b/index.yaml old mode 100644 new mode 100755 diff --git a/lib/docutils/__init__.py b/lib/docutils/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/_compat.py b/lib/docutils/_compat.py old mode 100644 new mode 100755 diff --git a/lib/docutils/_string_template_compat.py b/lib/docutils/_string_template_compat.py old mode 100644 new mode 100755 diff --git a/lib/docutils/core.py b/lib/docutils/core.py old mode 100644 new mode 100755 diff --git a/lib/docutils/docutils.conf b/lib/docutils/docutils.conf old mode 100644 new mode 100755 diff --git a/lib/docutils/examples.py b/lib/docutils/examples.py old mode 100644 new mode 100755 diff --git a/lib/docutils/frontend.py b/lib/docutils/frontend.py old mode 100644 new mode 100755 diff --git a/lib/docutils/io.py b/lib/docutils/io.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/__init__.py b/lib/docutils/languages/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/af.py b/lib/docutils/languages/af.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/ca.py b/lib/docutils/languages/ca.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/cs.py b/lib/docutils/languages/cs.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/de.py b/lib/docutils/languages/de.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/en.py b/lib/docutils/languages/en.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/eo.py b/lib/docutils/languages/eo.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/es.py b/lib/docutils/languages/es.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/fi.py b/lib/docutils/languages/fi.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/fr.py b/lib/docutils/languages/fr.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/gl.py b/lib/docutils/languages/gl.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/he.py b/lib/docutils/languages/he.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/it.py b/lib/docutils/languages/it.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/ja.py b/lib/docutils/languages/ja.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/nl.py b/lib/docutils/languages/nl.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/pl.py b/lib/docutils/languages/pl.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/pt_br.py b/lib/docutils/languages/pt_br.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/ru.py b/lib/docutils/languages/ru.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/sk.py b/lib/docutils/languages/sk.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/sv.py b/lib/docutils/languages/sv.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/zh_cn.py b/lib/docutils/languages/zh_cn.py old mode 100644 new mode 100755 diff --git a/lib/docutils/languages/zh_tw.py b/lib/docutils/languages/zh_tw.py old mode 100644 new mode 100755 diff --git a/lib/docutils/nodes.py b/lib/docutils/nodes.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/__init__.py b/lib/docutils/parsers/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/null.py b/lib/docutils/parsers/null.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/__init__.py b/lib/docutils/parsers/rst/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/directives/__init__.py b/lib/docutils/parsers/rst/directives/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/directives/admonitions.py b/lib/docutils/parsers/rst/directives/admonitions.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/directives/body.py b/lib/docutils/parsers/rst/directives/body.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/directives/html.py b/lib/docutils/parsers/rst/directives/html.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/directives/images.py b/lib/docutils/parsers/rst/directives/images.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/directives/misc.py b/lib/docutils/parsers/rst/directives/misc.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/directives/parts.py b/lib/docutils/parsers/rst/directives/parts.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/directives/references.py b/lib/docutils/parsers/rst/directives/references.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/directives/tables.py b/lib/docutils/parsers/rst/directives/tables.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/README.txt b/lib/docutils/parsers/rst/include/README.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isoamsa.txt b/lib/docutils/parsers/rst/include/isoamsa.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isoamsb.txt b/lib/docutils/parsers/rst/include/isoamsb.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isoamsc.txt b/lib/docutils/parsers/rst/include/isoamsc.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isoamsn.txt b/lib/docutils/parsers/rst/include/isoamsn.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isoamso.txt b/lib/docutils/parsers/rst/include/isoamso.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isoamsr.txt b/lib/docutils/parsers/rst/include/isoamsr.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isobox.txt b/lib/docutils/parsers/rst/include/isobox.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isocyr1.txt b/lib/docutils/parsers/rst/include/isocyr1.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isocyr2.txt b/lib/docutils/parsers/rst/include/isocyr2.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isodia.txt b/lib/docutils/parsers/rst/include/isodia.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isogrk1.txt b/lib/docutils/parsers/rst/include/isogrk1.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isogrk2.txt b/lib/docutils/parsers/rst/include/isogrk2.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isogrk3.txt b/lib/docutils/parsers/rst/include/isogrk3.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isogrk4-wide.txt b/lib/docutils/parsers/rst/include/isogrk4-wide.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isogrk4.txt b/lib/docutils/parsers/rst/include/isogrk4.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isolat1.txt b/lib/docutils/parsers/rst/include/isolat1.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isolat2.txt b/lib/docutils/parsers/rst/include/isolat2.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isomfrk-wide.txt b/lib/docutils/parsers/rst/include/isomfrk-wide.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isomfrk.txt b/lib/docutils/parsers/rst/include/isomfrk.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isomopf-wide.txt b/lib/docutils/parsers/rst/include/isomopf-wide.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isomopf.txt b/lib/docutils/parsers/rst/include/isomopf.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isomscr-wide.txt b/lib/docutils/parsers/rst/include/isomscr-wide.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isomscr.txt b/lib/docutils/parsers/rst/include/isomscr.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isonum.txt b/lib/docutils/parsers/rst/include/isonum.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isopub.txt b/lib/docutils/parsers/rst/include/isopub.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/isotech.txt b/lib/docutils/parsers/rst/include/isotech.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/mmlalias.txt b/lib/docutils/parsers/rst/include/mmlalias.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/mmlextra-wide.txt b/lib/docutils/parsers/rst/include/mmlextra-wide.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/mmlextra.txt b/lib/docutils/parsers/rst/include/mmlextra.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/s5defs.txt b/lib/docutils/parsers/rst/include/s5defs.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/xhtml1-lat1.txt b/lib/docutils/parsers/rst/include/xhtml1-lat1.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/xhtml1-special.txt b/lib/docutils/parsers/rst/include/xhtml1-special.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/include/xhtml1-symbol.txt b/lib/docutils/parsers/rst/include/xhtml1-symbol.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/__init__.py b/lib/docutils/parsers/rst/languages/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/af.py b/lib/docutils/parsers/rst/languages/af.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/ca.py b/lib/docutils/parsers/rst/languages/ca.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/cs.py b/lib/docutils/parsers/rst/languages/cs.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/de.py b/lib/docutils/parsers/rst/languages/de.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/en.py b/lib/docutils/parsers/rst/languages/en.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/eo.py b/lib/docutils/parsers/rst/languages/eo.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/es.py b/lib/docutils/parsers/rst/languages/es.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/fi.py b/lib/docutils/parsers/rst/languages/fi.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/fr.py b/lib/docutils/parsers/rst/languages/fr.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/gl.py b/lib/docutils/parsers/rst/languages/gl.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/he.py b/lib/docutils/parsers/rst/languages/he.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/it.py b/lib/docutils/parsers/rst/languages/it.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/ja.py b/lib/docutils/parsers/rst/languages/ja.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/nl.py b/lib/docutils/parsers/rst/languages/nl.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/pl.py b/lib/docutils/parsers/rst/languages/pl.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/pt_br.py b/lib/docutils/parsers/rst/languages/pt_br.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/ru.py b/lib/docutils/parsers/rst/languages/ru.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/sk.py b/lib/docutils/parsers/rst/languages/sk.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/sv.py b/lib/docutils/parsers/rst/languages/sv.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/zh_cn.py b/lib/docutils/parsers/rst/languages/zh_cn.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/languages/zh_tw.py b/lib/docutils/parsers/rst/languages/zh_tw.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/roles.py b/lib/docutils/parsers/rst/roles.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/states.py b/lib/docutils/parsers/rst/states.py old mode 100644 new mode 100755 diff --git a/lib/docutils/parsers/rst/tableparser.py b/lib/docutils/parsers/rst/tableparser.py old mode 100644 new mode 100755 diff --git a/lib/docutils/readers/__init__.py b/lib/docutils/readers/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/readers/doctree.py b/lib/docutils/readers/doctree.py old mode 100644 new mode 100755 diff --git a/lib/docutils/readers/pep.py b/lib/docutils/readers/pep.py old mode 100644 new mode 100755 diff --git a/lib/docutils/readers/python/__init__.py b/lib/docutils/readers/python/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/readers/python/moduleparser.py b/lib/docutils/readers/python/moduleparser.py old mode 100644 new mode 100755 diff --git a/lib/docutils/readers/python/pynodes.py b/lib/docutils/readers/python/pynodes.py old mode 100644 new mode 100755 diff --git a/lib/docutils/readers/standalone.py b/lib/docutils/readers/standalone.py old mode 100644 new mode 100755 diff --git a/lib/docutils/statemachine.py b/lib/docutils/statemachine.py old mode 100644 new mode 100755 diff --git a/lib/docutils/transforms/__init__.py b/lib/docutils/transforms/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/transforms/components.py b/lib/docutils/transforms/components.py old mode 100644 new mode 100755 diff --git a/lib/docutils/transforms/frontmatter.py b/lib/docutils/transforms/frontmatter.py old mode 100644 new mode 100755 diff --git a/lib/docutils/transforms/misc.py b/lib/docutils/transforms/misc.py old mode 100644 new mode 100755 diff --git a/lib/docutils/transforms/parts.py b/lib/docutils/transforms/parts.py old mode 100644 new mode 100755 diff --git a/lib/docutils/transforms/peps.py b/lib/docutils/transforms/peps.py old mode 100644 new mode 100755 diff --git a/lib/docutils/transforms/references.py b/lib/docutils/transforms/references.py old mode 100644 new mode 100755 diff --git a/lib/docutils/transforms/universal.py b/lib/docutils/transforms/universal.py old mode 100644 new mode 100755 diff --git a/lib/docutils/transforms/writer_aux.py b/lib/docutils/transforms/writer_aux.py old mode 100644 new mode 100755 diff --git a/lib/docutils/urischemes.py b/lib/docutils/urischemes.py old mode 100644 new mode 100755 diff --git a/lib/docutils/utils.py b/lib/docutils/utils.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/__init__.py b/lib/docutils/writers/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/docutils_xml.py b/lib/docutils/writers/docutils_xml.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/html4css1/__init__.py b/lib/docutils/writers/html4css1/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/html4css1/html4css1.css b/lib/docutils/writers/html4css1/html4css1.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/html4css1/template.txt b/lib/docutils/writers/html4css1/template.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/latex2e/__init__.py b/lib/docutils/writers/latex2e/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/latex2e/default.tex b/lib/docutils/writers/latex2e/default.tex old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/latex2e/docutils-05-compat.sty b/lib/docutils/writers/latex2e/docutils-05-compat.sty old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/latex2e/titlepage.tex b/lib/docutils/writers/latex2e/titlepage.tex old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/manpage.py b/lib/docutils/writers/manpage.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/newlatex2e/__init__.py b/lib/docutils/writers/newlatex2e/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/newlatex2e/base.tex b/lib/docutils/writers/newlatex2e/base.tex old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/newlatex2e/notes.txt b/lib/docutils/writers/newlatex2e/notes.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/newlatex2e/tests.txt b/lib/docutils/writers/newlatex2e/tests.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/newlatex2e/unicode_map.py b/lib/docutils/writers/newlatex2e/unicode_map.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/null.py b/lib/docutils/writers/null.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/odf_odt/__init__.py b/lib/docutils/writers/odf_odt/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/odf_odt/pygmentsformatter.py b/lib/docutils/writers/odf_odt/pygmentsformatter.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/odf_odt/styles.odt b/lib/docutils/writers/odf_odt/styles.odt old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/pep_html/__init__.py b/lib/docutils/writers/pep_html/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/pep_html/pep.css b/lib/docutils/writers/pep_html/pep.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/pep_html/template.txt b/lib/docutils/writers/pep_html/template.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/pseudoxml.py b/lib/docutils/writers/pseudoxml.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/__init__.py b/lib/docutils/writers/s5_html/__init__.py old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/README.txt b/lib/docutils/writers/s5_html/themes/README.txt old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/big-black/__base__ b/lib/docutils/writers/s5_html/themes/big-black/__base__ old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/big-black/framing.css b/lib/docutils/writers/s5_html/themes/big-black/framing.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/big-black/pretty.css b/lib/docutils/writers/s5_html/themes/big-black/pretty.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/big-white/framing.css b/lib/docutils/writers/s5_html/themes/big-white/framing.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/big-white/pretty.css b/lib/docutils/writers/s5_html/themes/big-white/pretty.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/default/blank.gif b/lib/docutils/writers/s5_html/themes/default/blank.gif old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/default/framing.css b/lib/docutils/writers/s5_html/themes/default/framing.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/default/iepngfix.htc b/lib/docutils/writers/s5_html/themes/default/iepngfix.htc old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/default/opera.css b/lib/docutils/writers/s5_html/themes/default/opera.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/default/outline.css b/lib/docutils/writers/s5_html/themes/default/outline.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/default/pretty.css b/lib/docutils/writers/s5_html/themes/default/pretty.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/default/print.css b/lib/docutils/writers/s5_html/themes/default/print.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/default/s5-core.css b/lib/docutils/writers/s5_html/themes/default/s5-core.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/default/slides.css b/lib/docutils/writers/s5_html/themes/default/slides.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/default/slides.js b/lib/docutils/writers/s5_html/themes/default/slides.js old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/medium-black/__base__ b/lib/docutils/writers/s5_html/themes/medium-black/__base__ old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/medium-black/pretty.css b/lib/docutils/writers/s5_html/themes/medium-black/pretty.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/medium-white/framing.css b/lib/docutils/writers/s5_html/themes/medium-white/framing.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/medium-white/pretty.css b/lib/docutils/writers/s5_html/themes/medium-white/pretty.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/small-black/__base__ b/lib/docutils/writers/s5_html/themes/small-black/__base__ old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/small-black/pretty.css b/lib/docutils/writers/s5_html/themes/small-black/pretty.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/small-white/framing.css b/lib/docutils/writers/s5_html/themes/small-white/framing.css old mode 100644 new mode 100755 diff --git a/lib/docutils/writers/s5_html/themes/small-white/pretty.css b/lib/docutils/writers/s5_html/themes/small-white/pretty.css old mode 100644 new mode 100755 diff --git a/lib/embedly.py b/lib/embedly.py new file mode 100644 index 0000000..a857bc2 --- /dev/null +++ b/lib/embedly.py @@ -0,0 +1,48 @@ +import re +import urllib +import urllib2 + +# JSON decoder +try: + import json +except ImportError: + try: + from django.utils import simplejson as json + except ImportError: + raise ImportError("Need a json decoder") + +# Embed.ly Multi Provider API Endpoint +OEMBED_API_ENDPOINT = 'http://api.embed.ly/v1/api/oembed' + +#generate from http://api.embed.ly/tools/generator. Do not use .* +embedly_re = re.compile("(.*youtube\.com/watch.*|.*\.youtube\.com/v/.*|youtu\.be/.*|.*\.youtube\.com/user/.*#.*|.*\.youtube\.com/.*#.*/.*|.*justin\.tv/.*|.*justin\.tv/.*/b/.*|www\.ustream\.tv/recorded/.*|www\.ustream\.tv/channel/.*|qik\.com/video/.*|qik\.com/.*|.*revision3\.com/.*|.*\.dailymotion\.com/video/.*|.*\.dailymotion\.com/.*/video/.*|www\.collegehumor\.com/video:.*|.*twitvid\.com/.*|www\.break\.com/.*/.*|vids\.myspace\.com/index\.cfm\?fuseaction=vids\.individual&videoid.*|www\.myspace\.com/index\.cfm\?fuseaction=.*&videoid.*|www\.metacafe\.com/watch/.*|blip\.tv/file/.*|.*\.blip\.tv/file/.*|video\.google\.com/videoplay\?.*|.*revver\.com/video/.*|video\.yahoo\.com/watch/.*/.*|video\.yahoo\.com/network/.*|.*viddler\.com/explore/.*/videos/.*|liveleak\.com/view\?.*|www\.liveleak\.com/view\?.*|animoto\.com/play/.*|dotsub\.com/view/.*|www\.overstream\.net/view\.php\?oid=.*|www\.livestream\.com/.*|www\.worldstarhiphop\.com/videos/video.*\.php\?v=.*|worldstarhiphop\.com/videos/video.*\.php\?v=.*|teachertube\.com/viewVideo\.php.*|teachertube\.com/viewVideo\.php.*|bambuser\.com/v/.*|bambuser\.com/channel/.*|bambuser\.com/channel/.*/broadcast/.*|.*yfrog\..*/.*|tweetphoto\.com/.*|www\.flickr\.com/photos/.*|.*twitpic\.com/.*|.*imgur\.com/.*|.*\.posterous\.com/.*|post\.ly/.*|twitgoo\.com/.*|i.*\.photobucket\.com/albums/.*|gi.*\.photobucket\.com/groups/.*|phodroid\.com/.*/.*/.*|www\.mobypicture\.com/user/.*/view/.*|moby\.to/.*|xkcd\.com/.*|www\.xkcd\.com/.*|www\.asofterworld\.com/index\.php\?id=.*|www\.qwantz\.com/index\.php\?comic=.*|23hq\.com/.*/photo/.*|www\.23hq\.com/.*/photo/.*|.*dribbble\.com/shots/.*|drbl\.in/.*|.*\.smugmug\.com/.*|.*\.smugmug\.com/.*#.*|emberapp\.com/.*/images/.*|emberapp\.com/.*/images/.*/sizes/.*|emberapp\.com/.*/collections/.*/.*|emberapp\.com/.*/categories/.*/.*/.*|embr\.it/.*|picasaweb\.google\.com.*/.*/.*#.*|picasaweb\.google\.com.*/lh/photo/.*|picasaweb\.google\.com.*/.*/.*|dailybooth\.com/.*/.*|brizzly\.com/pic/.*|pics\.brizzly\.com/.*\.jpg|img\.ly/.*|www\.facebook\.com/photo\.php.*|www\.tinypic\.com/view\.php.*|tinypic\.com/view\.php.*|www\.tinypic\.com/player\.php.*|tinypic\.com/player\.php.*|www\.tinypic\.com/r/.*/.*|tinypic\.com/r/.*/.*|.*\.tinypic\.com/.*\.jpg|.*\.tinypic\.com/.*\.png|meadd\.com/.*/.*|meadd\.com/.*|.*\.deviantart\.com/art/.*|.*\.deviantart\.com/gallery/.*|.*\.deviantart\.com/#/.*|fav\.me/.*|.*\.deviantart\.com|.*\.deviantart\.com/gallery|.*\.deviantart\.com/.*/.*\.jpg|.*\.deviantart\.com/.*/.*\.gif|.*\.deviantart\.net/.*/.*\.jpg|.*\.deviantart\.net/.*/.*\.gif|www\.whitehouse\.gov/photos-and-video/video/.*|www\.whitehouse\.gov/video/.*|wh\.gov/photos-and-video/video/.*|wh\.gov/video/.*|www\.hulu\.com/watch.*|www\.hulu\.com/w/.*|hulu\.com/watch.*|hulu\.com/w/.*|movieclips\.com/watch/.*/.*/|movieclips\.com/watch/.*/.*/.*/.*|.*crackle\.com/c/.*|www\.fancast\.com/.*/videos|www\.funnyordie\.com/videos/.*|www\.vimeo\.com/groups/.*/videos/.*|www\.vimeo\.com/.*|vimeo\.com/groups/.*/videos/.*|vimeo\.com/.*|www\.ted\.com/talks/.*\.html.*|www\.ted\.com/talks/lang/.*/.*\.html.*|www\.ted\.com/index\.php/talks/.*\.html.*|www\.ted\.com/index\.php/talks/lang/.*/.*\.html.*|.*omnisio\.com/.*|.*nfb\.ca/film/.*|www\.thedailyshow\.com/watch/.*|www\.thedailyshow\.com/full-episodes/.*|www\.thedailyshow\.com/collection/.*/.*/.*|movies\.yahoo\.com/movie/.*/video/.*|movies\.yahoo\.com/movie/.*/info|movies\.yahoo\.com/movie/.*/trailer|www\.colbertnation\.com/the-colbert-report-collections/.*|www\.colbertnation\.com/full-episodes/.*|www\.colbertnation\.com/the-colbert-report-videos/.*|www\.comedycentral\.com/videos/index\.jhtml\?.*|www\.theonion\.com/video/.*|theonion\.com/video/.*|wordpress\.tv/.*/.*/.*/.*/|www\.traileraddict\.com/trailer/.*|www\.traileraddict\.com/clip/.*|www\.traileraddict\.com/poster/.*|www\.escapistmagazine\.com/videos/.*|www\.trailerspy\.com/trailer/.*/.*|www\.trailerspy\.com/trailer/.*|www\.trailerspy\.com/view_video\.php.*|www\.atom\.com/.*/.*/|fora\.tv/.*/.*/.*/.*|www\.spike\.com/video/.*|www\.gametrailers\.com/video/.*|gametrailers\.com/video/.*|www\.koldcast\.tv/video/.*|www\.koldcast\.tv/#video:.*|www\.godtube\.com/featured/video/.*|www\.tangle\.com/view_video.*|soundcloud\.com/.*|soundcloud\.com/.*/.*|soundcloud\.com/.*/sets/.*|soundcloud\.com/groups/.*|www\\.last\\.fm/music/.*|www\\.last\\.fm/music/+videos/.*|www\\.last\\.fm/music/+images/.*|www\\.last\\.fm/music/.*/_/.*|www\\.last\\.fm/music/.*/.*|www\.mixcloud\.com/.*/.*/|espn\.go\.com/video/clip.*|espn\.go\.com/.*/story.*|cnbc\.com/id/.*|cbsnews\.com/video/watch/.*|www\.cnn\.com/video/.*|edition\.cnn\.com/video/.*|money\.cnn\.com/video/.*|today\.msnbc\.msn\.com/id/.*/vp/.*|www\.msnbc\.msn\.com/id/.*/vp/.*|www\.msnbc\.msn\.com/id/.*/ns/.*|today\.msnbc\.msn\.com/id/.*/ns/.*|multimedia\.foxsports\.com/m/video/.*/.*|msn\.foxsports\.com/video.*|.*amazon\..*/gp/product/.*|.*amazon\..*/.*/dp/.*|.*amazon\..*/dp/.*|.*amazon\..*/o/ASIN/.*|.*amazon\..*/gp/offer-listing/.*|.*amazon\..*/.*/ASIN/.*|.*amazon\..*/gp/product/images/.*|www\.amzn\.com/.*|amzn\.com/.*|www\.shopstyle\.com/browse.*|www\.shopstyle\.com/action/apiVisitRetailer.*|www\.shopstyle\.com/action/viewLook.*|gist\.github\.com/.*|twitter\.com/.*/status/.*|twitter\.com/.*/statuses/.*|www\.slideshare\.net/.*/.*|.*\.scribd\.com/doc/.*|screenr\.com/.*|polldaddy\.com/community/poll/.*|polldaddy\.com/poll/.*|answers\.polldaddy\.com/poll/.*|www\.5min\.com/Video/.*|www\.howcast\.com/videos/.*|www\.screencast\.com/.*/media/.*|screencast\.com/.*/media/.*|www\.screencast\.com/t/.*|screencast\.com/t/.*|issuu\.com/.*/docs/.*|www\.kickstarter\.com/projects/.*/.*|www\.scrapblog\.com/viewer/viewer\.aspx.*|my\.opera\.com/.*/albums/show\.dml\?id=.*|my\.opera\.com/.*/albums/showpic\.dml\?album=.*&picture=.*|tumblr\.com/.*|.*\.tumblr\.com/post/.*|www\.polleverywhere\.com/polls/.*|www\.polleverywhere\.com/multiple_choice_polls/.*|www\.polleverywhere\.com/free_text_polls/.*|.*\.status\.net/notice/.*|identi\.ca/notice/.*|shitmydadsays\.com/notice/.*)", re.I) + +def get_multi(urls, **kwargs): + """ + Get Multiple oEmbed responses + """ + + oembed_urls = [] + for url in urls: + if embedly_re.search(url): + oembed_urls.append(urllib.quote('http://'+url)) + + query = urllib.urlencode(kwargs) + + if query: + query += '&urls=%s' % ','.join(oembed_urls) + else: + query = 'urls=%s' % ','.join(oembed_urls) + + # api endpoint url + fetch_url = "%s?%s" %(OEMBED_API_ENDPOINT,query) + + try: + r = urllib2.urlopen(fetch_url).read() + objs = json.loads(r) + except urllib2.HTTPError, e: + return [] + except urllib2.URLError: + return [] + + return objs \ No newline at end of file diff --git a/lib/markdown.py b/lib/markdown.py old mode 100644 new mode 100755 diff --git a/lib/markdown_processor.py b/lib/markdown_processor.py old mode 100644 new mode 100755 diff --git a/lib/pygments/__init__.py b/lib/pygments/__init__.py old mode 100644 new mode 100755 diff --git a/lib/pygments/cmdline.py b/lib/pygments/cmdline.py old mode 100644 new mode 100755 diff --git a/lib/pygments/console.py b/lib/pygments/console.py old mode 100644 new mode 100755 diff --git a/lib/pygments/filter.py b/lib/pygments/filter.py old mode 100644 new mode 100755 diff --git a/lib/pygments/filters/__init__.py b/lib/pygments/filters/__init__.py old mode 100644 new mode 100755 diff --git a/lib/pygments/formatter.py b/lib/pygments/formatter.py old mode 100644 new mode 100755 diff --git a/lib/pygments/formatters/__init__.py b/lib/pygments/formatters/__init__.py old mode 100644 new mode 100755 diff --git a/lib/pygments/formatters/bbcode.py b/lib/pygments/formatters/bbcode.py old mode 100644 new mode 100755 diff --git a/lib/pygments/formatters/html.py b/lib/pygments/formatters/html.py old mode 100644 new mode 100755 diff --git a/lib/pygments/formatters/img.py b/lib/pygments/formatters/img.py old mode 100644 new mode 100755 diff --git a/lib/pygments/formatters/latex.py b/lib/pygments/formatters/latex.py old mode 100644 new mode 100755 diff --git a/lib/pygments/formatters/other.py b/lib/pygments/formatters/other.py old mode 100644 new mode 100755 diff --git a/lib/pygments/formatters/rtf.py b/lib/pygments/formatters/rtf.py old mode 100644 new mode 100755 diff --git a/lib/pygments/formatters/svg.py b/lib/pygments/formatters/svg.py old mode 100644 new mode 100755 diff --git a/lib/pygments/formatters/terminal.py b/lib/pygments/formatters/terminal.py old mode 100644 new mode 100755 diff --git a/lib/pygments/formatters/terminal256.py b/lib/pygments/formatters/terminal256.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexer.py b/lib/pygments/lexer.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/__init__.py b/lib/pygments/lexers/__init__.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/_clbuiltins.py b/lib/pygments/lexers/_clbuiltins.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/_luabuiltins.py b/lib/pygments/lexers/_luabuiltins.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/_mapping.py b/lib/pygments/lexers/_mapping.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/_phpbuiltins.py b/lib/pygments/lexers/_phpbuiltins.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/_vimbuiltins.py b/lib/pygments/lexers/_vimbuiltins.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/agile.py b/lib/pygments/lexers/agile.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/asm.py b/lib/pygments/lexers/asm.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/compiled.py b/lib/pygments/lexers/compiled.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/dotnet.py b/lib/pygments/lexers/dotnet.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/functional.py b/lib/pygments/lexers/functional.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/math.py b/lib/pygments/lexers/math.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/other.py b/lib/pygments/lexers/other.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/parsers.py b/lib/pygments/lexers/parsers.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/special.py b/lib/pygments/lexers/special.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/templates.py b/lib/pygments/lexers/templates.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/text.py b/lib/pygments/lexers/text.py old mode 100644 new mode 100755 diff --git a/lib/pygments/lexers/web.py b/lib/pygments/lexers/web.py old mode 100644 new mode 100755 diff --git a/lib/pygments/plugin.py b/lib/pygments/plugin.py old mode 100644 new mode 100755 diff --git a/lib/pygments/scanner.py b/lib/pygments/scanner.py old mode 100644 new mode 100755 diff --git a/lib/pygments/style.py b/lib/pygments/style.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/__init__.py b/lib/pygments/styles/__init__.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/autumn.py b/lib/pygments/styles/autumn.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/borland.py b/lib/pygments/styles/borland.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/bw.py b/lib/pygments/styles/bw.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/colorful.py b/lib/pygments/styles/colorful.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/default.py b/lib/pygments/styles/default.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/emacs.py b/lib/pygments/styles/emacs.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/friendly.py b/lib/pygments/styles/friendly.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/fruity.py b/lib/pygments/styles/fruity.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/manni.py b/lib/pygments/styles/manni.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/murphy.py b/lib/pygments/styles/murphy.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/native.py b/lib/pygments/styles/native.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/pastie.py b/lib/pygments/styles/pastie.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/perldoc.py b/lib/pygments/styles/perldoc.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/tango.py b/lib/pygments/styles/tango.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/trac.py b/lib/pygments/styles/trac.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/vim.py b/lib/pygments/styles/vim.py old mode 100644 new mode 100755 diff --git a/lib/pygments/styles/vs.py b/lib/pygments/styles/vs.py old mode 100644 new mode 100755 diff --git a/lib/pygments/token.py b/lib/pygments/token.py old mode 100644 new mode 100755 diff --git a/lib/pygments/unistring.py b/lib/pygments/unistring.py old mode 100644 new mode 100755 diff --git a/lib/pygments/util.py b/lib/pygments/util.py old mode 100644 new mode 100755 diff --git a/lib/roman.py b/lib/roman.py old mode 100644 new mode 100755 diff --git a/lib/rst_directive.py b/lib/rst_directive.py old mode 100644 new mode 100755 diff --git a/lib/textile.py b/lib/textile.py old mode 100644 new mode 100755 diff --git a/markup.py b/markup.py old mode 100644 new mode 100755 diff --git a/migrate.py b/migrate.py old mode 100644 new mode 100755 diff --git a/models.py b/models.py old mode 100644 new mode 100755 diff --git a/post_deploy.py b/post_deploy.py old mode 100644 new mode 100755 index 2082b05..b35bcd6 --- a/post_deploy.py +++ b/post_deploy.py @@ -17,12 +17,14 @@ class PostRegenerator(object): def __init__(self): self.seen = set() - def regenerate(self, batch_size=50, start_ts=None): + def regenerate(self, batch_size=50, start_ts=None, classes=None): q = models.BlogPost.all().order('-published') q.filter('published <', start_ts or datetime.datetime.max) posts = q.fetch(batch_size) for post in posts: for generator_class, deps in post.get_deps(True): + if classes and (not generator_class.__name__ in classes): + continue for dep in deps: if (generator_class.__name__, dep) not in self.seen: logging.warn((generator_class.__name__, dep)) @@ -38,26 +40,24 @@ def regenerate(self, batch_size=50, start_ts=None): def generate_static_pages(pages): def generate(previous_version): - for path, template, indexed in pages: + for path, template, indexed, mtype in pages: rendered = utils.render_template(template) - static.set(path, rendered, config.html_mime_type, indexed) + static.set(path, rendered, mtype, indexed) return generate post_deploy_tasks.append(generate_static_pages([ - ('/search', 'search.html', True), - ('/cse.xml', 'cse.xml', False), - ('/robots.txt', 'robots.txt', False), + ('/search', 'search.html', True,'text/html; charset=utf-8'), + ('/cse.xml', 'cse.xml', False,'application/xml; charset=utf-8'), + ('/robots.txt', 'robots.txt', False,'text/plain; charset=utf-8'), ])) def regenerate_all(previous_version): - if previous_version: - ver_tuple = ( - previous_version.bloggart_major, - previous_version.bloggart_minor, - previous_version.bloggart_rev, - ) - if ver_tuple < BLOGGART_VERSION: + if ( + previous_version.bloggart_major, + previous_version.bloggart_minor, + previous_version.bloggart_rev, + ) < BLOGGART_VERSION: regen = PostRegenerator() deferred.defer(regen.regenerate) @@ -82,8 +82,13 @@ def run_deploy_task(): pass -def try_post_deploy(): - """Runs post_deploy() iff it has not been run for this version yet.""" +def try_post_deploy(force=False): + """ + Runs post_deploy() if it has not been run for this version yet. + + If force is True, run post_deploy() anyway, but don't create a new + VersionInfo entity. + """ version_info = models.VersionInfo.get_by_key_name( os.environ['CURRENT_VERSION_ID']) if not version_info: @@ -91,17 +96,42 @@ def try_post_deploy(): q.order('-bloggart_major') q.order('-bloggart_minor') q.order('-bloggart_rev') - post_deploy(q.get()) + version_info = q.get() + + # This might be an initial deployment; create the first VersionInfo + # entity. + if not version_info: + version_info = models.VersionInfo( + key_name=os.environ['CURRENT_VERSION_ID'], + bloggart_major = BLOGGART_VERSION[0], + bloggart_minor = BLOGGART_VERSION[1], + bloggart_rev = BLOGGART_VERSION[2]) + version_info.put() + + post_deploy(version_info, is_new=False) + else: + post_deploy(version_info) + elif force: # also implies version_info is available + post_deploy(version_info, is_new=False) -def post_deploy(previous_version): - """Carries out post-deploy functions, such as rendering static pages.""" + +def post_deploy(previous_version, is_new=True): + """ + Carries out post-deploy functions, such as rendering static pages. + + If is_new is true, a new VersionInfo entity will be created. + """ for task in post_deploy_tasks: task(previous_version) + # don't proceed to create a VersionInfo entity + if not is_new: + return + new_version = models.VersionInfo( key_name=os.environ['CURRENT_VERSION_ID'], bloggart_major = BLOGGART_VERSION[0], bloggart_minor = BLOGGART_VERSION[1], bloggart_rev = BLOGGART_VERSION[2]) - new_version.put() + new_version.put() \ No newline at end of file diff --git a/static.py b/static.py old mode 100644 new mode 100755 index 7362cd6..a9d8e22 --- a/static.py +++ b/static.py @@ -1,3 +1,4 @@ +import os import datetime import hashlib @@ -119,6 +120,15 @@ def _tx(): return content.delete() return db.run_in_transaction(_tx) + +def canonical_redirect(func): + def _dec(self, path): + if not self.request.host == config.host: + self.redirect("%s://%s%s" % (self.request.scheme, config.host, path), True) + else: + func(self, path) + return _dec + class StaticContentHandler(webapp.RequestHandler): def output_content(self, content, serve=True): @@ -127,6 +137,7 @@ def output_content(self, content, serve=True): last_modified = content.last_modified.strftime(HTTP_DATE_FMT) self.response.headers['Last-Modified'] = last_modified self.response.headers['ETag'] = '"%s"' % (content.etag,) + self.response.headers['X-UA-Compatible'] = 'Chrome=1' for header in content.headers: key, value = header.split(':', 1) self.response.headers[key] = value.strip() @@ -136,6 +147,7 @@ def output_content(self, content, serve=True): else: self.response.set_status(304) + #@canonical_redirect def get(self, path): if not path.startswith(config.url_prefix): if path not in ROOT_ONLY_FILES: @@ -173,10 +185,10 @@ def get(self, path): serve = False self.output_content(content, serve) - +DEBUG = os.environ['SERVER_SOFTWARE'].startswith('Dev') application = webapp.WSGIApplication([ ('(/.*)', StaticContentHandler), - ]) + ],debug=DEBUG) def main(): diff --git a/themes/README.textile b/themes/README.textile old mode 100644 new mode 100755 diff --git a/themes/default/404.html b/themes/default/404.html old mode 100644 new mode 100755 diff --git a/themes/default/admin/base.html b/themes/default/admin/base.html old mode 100644 new mode 100755 diff --git a/themes/default/admin/deleted.html b/themes/default/admin/deleted.html old mode 100644 new mode 100755 diff --git a/themes/default/admin/edit.html b/themes/default/admin/edit.html old mode 100644 new mode 100755 diff --git a/themes/default/admin/index.html b/themes/default/admin/index.html old mode 100644 new mode 100755 index 3f5f033..df1b7e5 --- a/themes/default/admin/index.html +++ b/themes/default/admin/index.html @@ -16,7 +16,7 @@

All Posts

{% ifnotequal last_post -1 %}

Posts {{offset|add:1}} to {{last_post|add:1}}

- +
@@ -59,4 +59,14 @@

Admin Actions

+ + + {% endblock %} diff --git a/themes/default/admin/published.html b/themes/default/admin/published.html old mode 100644 new mode 100755 diff --git a/themes/default/admin/regenerating.html b/themes/default/admin/regenerating.html old mode 100644 new mode 100755 diff --git a/themes/default/atom.xml b/themes/default/atom.xml old mode 100644 new mode 100755 diff --git a/themes/default/base.html b/themes/default/base.html old mode 100644 new mode 100755 diff --git a/themes/default/cse.xml b/themes/default/cse.xml old mode 100644 new mode 100755 index 4deaeae..460787d --- a/themes/default/cse.xml +++ b/themes/default/cse.xml @@ -1,6 +1,6 @@ - + {{config.blog_name}} {{config.slogan}} diff --git a/themes/default/listing.html b/themes/default/listing.html old mode 100644 new mode 100755 diff --git a/themes/default/post.html b/themes/default/post.html old mode 100644 new mode 100755 diff --git a/themes/default/robots.txt b/themes/default/robots.txt old mode 100644 new mode 100755 diff --git a/themes/default/search.html b/themes/default/search.html old mode 100644 new mode 100755 diff --git a/themes/default/site_verification.html b/themes/default/site_verification.html old mode 100644 new mode 100755 diff --git a/themes/default/sitemap.xml b/themes/default/sitemap.xml old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_autumn.css b/themes/default/static/css/pygments_autumn.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_borland.css b/themes/default/static/css/pygments_borland.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_bw.css b/themes/default/static/css/pygments_bw.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_colorful.css b/themes/default/static/css/pygments_colorful.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_default.css b/themes/default/static/css/pygments_default.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_emacs.css b/themes/default/static/css/pygments_emacs.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_friendly.css b/themes/default/static/css/pygments_friendly.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_fruity.css b/themes/default/static/css/pygments_fruity.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_manni.css b/themes/default/static/css/pygments_manni.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_murphy.css b/themes/default/static/css/pygments_murphy.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_native.css b/themes/default/static/css/pygments_native.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_pastie.css b/themes/default/static/css/pygments_pastie.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_perldoc.css b/themes/default/static/css/pygments_perldoc.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_tango.css b/themes/default/static/css/pygments_tango.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_trac.css b/themes/default/static/css/pygments_trac.css old mode 100644 new mode 100755 diff --git a/themes/default/static/css/pygments_vs.css b/themes/default/static/css/pygments_vs.css old mode 100644 new mode 100755 diff --git a/themes/default/static/images/bloggart-ae.png b/themes/default/static/images/bloggart-ae.png old mode 100644 new mode 100755 diff --git a/themes/default/static/images/header-bloggart-watermark.png b/themes/default/static/images/header-bloggart-watermark.png old mode 100644 new mode 100755 diff --git a/themes/default/static/images/header-bloggart.png b/themes/default/static/images/header-bloggart.png old mode 100644 new mode 100755 diff --git a/themes/simple/base.html b/themes/simple/base.html old mode 100644 new mode 100755 diff --git a/themes/simple/static/css/screen.css b/themes/simple/static/css/screen.css old mode 100644 new mode 100755 diff --git a/themes/thinker/base.html b/themes/thinker/base.html index cb3b0eb..4ec249f 100755 --- a/themes/thinker/base.html +++ b/themes/thinker/base.html @@ -6,7 +6,9 @@ {% block style %}{% endblock %} - + + + @@ -62,6 +64,9 @@

{{sidebar.0}}

{% endfor %} +
  • + Follow johnturner on Twitter +
  • +
  • Reading & Sharing

      diff --git a/themes/thinker/static/css/style.css b/themes/thinker/static/css/style.css index 2a6c581..01b3abd 100755 --- a/themes/thinker/static/css/style.css +++ b/themes/thinker/static/css/style.css @@ -1,6 +1,6 @@ /* Theme Name: Thinker -Description: HTML5 theme based off of Paul Irish's Boiler Plate http://html5boilerplate.com/. +Description: One bad ass theme. Author: John Turner Author URI: http://johndturner.com Version: 0.1 @@ -140,13 +140,14 @@ pre,code,kbd,samp,tt {font-family:monospace;*font-size:108%;line-height:100%;} html { -webkit-font-smoothing: antialiased; } body{background:#fff;} body, select, input, textarea { color:#444; } -h1,h2,h3,h4,h5,h6 { text-rendering: optimizeLegibility; } -h1,h2,h3{font-family: 'Cardo', arial, serif;} +h1,h2,h3,h4,h5,h6 { text-rendering: optimizeLegibility;} +h1,h2,h3{font-weight:500;} h1{font-size:197%;} h2{font-size:167%;} h3{font-size:108%;} h1,h2,h3{margin:0 0 1em 0;} -h1,h2,h3,h4,h5,h6,strong{font-weight:bold;} +/*h1,h2,h3,h4,h5,h6,strong{font-weight:bold;}*/ +strong{font-weight:bold;} abbr,acronym{border-bottom:1px dotted #000;cursor:help;} em{font-style:italic;} blockquote,ul,ol,dl{margin:1em;} @@ -217,7 +218,7 @@ h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {text-de /*-------------------------------------------------------------------------------------------*/ /* 2.1 Layout */ -#wrapper{width:960px;margin:0 auto;font-size:108%;line-height:1.6em;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:0 20px} +#wrapper{width:960px;margin:0 auto;font-size:108%;line-height:1.6em;padding:0 20px} #primary{float: right;margin: 0 0 0 -250px;width: 100%;} #content {margin: 0 0 0 250px;} #secondary {float: left;overflow: hidden;width: 200px;} @@ -277,8 +278,8 @@ blockquote{background:url('../images/quote.png') no-repeat left top;padding:0 0 /* 4.3 Specific Widgets */ /* NAVIGATION */ -#widget-navigation{text-align:right;} - +#widget-navigation,#widget-twitter{text-align:right;} +#widget-twitter{margin: -10px 0px 10px;} /* SEARCH */ #search label{display:none;} #quick-search p{border:1px solid #f2f2f2;} diff --git a/themes/thinker/static/js/script.js b/themes/thinker/static/js/script.js index 7f919d0..8a5d6ef 100644 --- a/themes/thinker/static/js/script.js +++ b/themes/thinker/static/js/script.js @@ -4,4 +4,34 @@ jQuery(document).ready(function() { }); +//FeedApi +google.setOnLoadCallback(onLoadOfFeedApi); +function onLoadOfFeedApi() { + //var feed1 = new google.feeds.push.Feed("http://johnturner.posterous.com/rss.xml"); + //feed1.includeHistoricalEntries(2); + //feed1.subscribe(renderFeedsPosterous) + var feed2 = new google.feeds.push.Feed("http://feeds.delicious.com/v2/rss/johnnytee/"); + feed2.includeHistoricalEntries(3); + feed2.subscribe(renderFeedsDelicious) + var feed3 = new google.feeds.push.Feed("http://www.google.com/reader/public/atom/user/08477895806911596398/state/com.google/broadcast"); + feed3.includeHistoricalEntries(3); + feed3.subscribe(renderFeedsReader) +} + +function renderFeedsPosterous(response) { + renderFeeds(response,'update-posterous') + } +function renderFeedsDelicious(response) { + renderFeeds(response,'update-delicious') + } +function renderFeedsReader(response) { + renderFeeds(response,'update-reader') + } +function renderFeeds(response,class) { + var entries = response.feed.entries; + for (var i = 0; i < entries.length; i++) { + //console.log(entries[i]) + jQuery("#widget-realtime ul").prepend("
    • "+entries[i].title+"
    • ") + } +} diff --git a/utils.py b/utils.py old mode 100644 new mode 100755 index 48fc50d..16b6395 --- a/utils.py +++ b/utils.py @@ -1,6 +1,8 @@ -import os +import os,cgi import re import unicodedata +import embedly +import logging from google.appengine.ext import webapp from google.appengine.ext.webapp.template import _swap_settings @@ -21,10 +23,56 @@ TEMPLATE_DIRS.insert(0, os.path.abspath(os.path.join(BASE_DIR, 'themes', config.theme))) - +def oembed_replace(str='',ptype='post'): + ns = str + s = str + oe = re.compile("\[http://(.*youtube\.com/watch.*|.*\.youtube\.com/v/.*|youtu\.be/.*|.*\.youtube\.com/user/.*#.*|.*\.youtube\.com/.*#.*/.*|.*justin\.tv/.*|.*justin\.tv/.*/b/.*|www\.ustream\.tv/recorded/.*|www\.ustream\.tv/channel/.*|qik\.com/video/.*|qik\.com/.*|.*revision3\.com/.*|.*\.dailymotion\.com/video/.*|.*\.dailymotion\.com/.*/video/.*|www\.collegehumor\.com/video:.*|.*twitvid\.com/.*|www\.break\.com/.*/.*|vids\.myspace\.com/index\.cfm\?fuseaction=vids\.individual&videoid.*|www\.myspace\.com/index\.cfm\?fuseaction=.*&videoid.*|www\.metacafe\.com/watch/.*|blip\.tv/file/.*|.*\.blip\.tv/file/.*|video\.google\.com/videoplay\?.*|.*revver\.com/video/.*|video\.yahoo\.com/watch/.*/.*|video\.yahoo\.com/network/.*|.*viddler\.com/explore/.*/videos/.*|liveleak\.com/view\?.*|www\.liveleak\.com/view\?.*|animoto\.com/play/.*|dotsub\.com/view/.*|www\.overstream\.net/view\.php\?oid=.*|www\.livestream\.com/.*|www\.worldstarhiphop\.com/videos/video.*\.php\?v=.*|worldstarhiphop\.com/videos/video.*\.php\?v=.*|teachertube\.com/viewVideo\.php.*|teachertube\.com/viewVideo\.php.*|bambuser\.com/v/.*|bambuser\.com/channel/.*|bambuser\.com/channel/.*/broadcast/.*|.*yfrog\..*/.*|tweetphoto\.com/.*|www\.flickr\.com/photos/.*|.*twitpic\.com/.*|.*imgur\.com/.*|.*\.posterous\.com/.*|post\.ly/.*|twitgoo\.com/.*|i.*\.photobucket\.com/albums/.*|gi.*\.photobucket\.com/groups/.*|phodroid\.com/.*/.*/.*|www\.mobypicture\.com/user/.*/view/.*|moby\.to/.*|xkcd\.com/.*|www\.xkcd\.com/.*|www\.asofterworld\.com/index\.php\?id=.*|www\.qwantz\.com/index\.php\?comic=.*|23hq\.com/.*/photo/.*|www\.23hq\.com/.*/photo/.*|.*dribbble\.com/shots/.*|drbl\.in/.*|.*\.smugmug\.com/.*|.*\.smugmug\.com/.*#.*|emberapp\.com/.*/images/.*|emberapp\.com/.*/images/.*/sizes/.*|emberapp\.com/.*/collections/.*/.*|emberapp\.com/.*/categories/.*/.*/.*|embr\.it/.*|picasaweb\.google\.com.*/.*/.*#.*|picasaweb\.google\.com.*/lh/photo/.*|picasaweb\.google\.com.*/.*/.*|dailybooth\.com/.*/.*|brizzly\.com/pic/.*|pics\.brizzly\.com/.*\.jpg|img\.ly/.*|www\.facebook\.com/photo\.php.*|www\.tinypic\.com/view\.php.*|tinypic\.com/view\.php.*|www\.tinypic\.com/player\.php.*|tinypic\.com/player\.php.*|www\.tinypic\.com/r/.*/.*|tinypic\.com/r/.*/.*|.*\.tinypic\.com/.*\.jpg|.*\.tinypic\.com/.*\.png|meadd\.com/.*/.*|meadd\.com/.*|.*\.deviantart\.com/art/.*|.*\.deviantart\.com/gallery/.*|.*\.deviantart\.com/#/.*|fav\.me/.*|.*\.deviantart\.com|.*\.deviantart\.com/gallery|.*\.deviantart\.com/.*/.*\.jpg|.*\.deviantart\.com/.*/.*\.gif|.*\.deviantart\.net/.*/.*\.jpg|.*\.deviantart\.net/.*/.*\.gif|www\.whitehouse\.gov/photos-and-video/video/.*|www\.whitehouse\.gov/video/.*|wh\.gov/photos-and-video/video/.*|wh\.gov/video/.*|www\.hulu\.com/watch.*|www\.hulu\.com/w/.*|hulu\.com/watch.*|hulu\.com/w/.*|movieclips\.com/watch/.*/.*/|movieclips\.com/watch/.*/.*/.*/.*|.*crackle\.com/c/.*|www\.fancast\.com/.*/videos|www\.funnyordie\.com/videos/.*|www\.vimeo\.com/groups/.*/videos/.*|www\.vimeo\.com/.*|vimeo\.com/groups/.*/videos/.*|vimeo\.com/.*|www\.ted\.com/talks/.*\.html.*|www\.ted\.com/talks/lang/.*/.*\.html.*|www\.ted\.com/index\.php/talks/.*\.html.*|www\.ted\.com/index\.php/talks/lang/.*/.*\.html.*|.*omnisio\.com/.*|.*nfb\.ca/film/.*|www\.thedailyshow\.com/watch/.*|www\.thedailyshow\.com/full-episodes/.*|www\.thedailyshow\.com/collection/.*/.*/.*|movies\.yahoo\.com/movie/.*/video/.*|movies\.yahoo\.com/movie/.*/info|movies\.yahoo\.com/movie/.*/trailer|www\.colbertnation\.com/the-colbert-report-collections/.*|www\.colbertnation\.com/full-episodes/.*|www\.colbertnation\.com/the-colbert-report-videos/.*|www\.comedycentral\.com/videos/index\.jhtml\?.*|www\.theonion\.com/video/.*|theonion\.com/video/.*|wordpress\.tv/.*/.*/.*/.*/|www\.traileraddict\.com/trailer/.*|www\.traileraddict\.com/clip/.*|www\.traileraddict\.com/poster/.*|www\.escapistmagazine\.com/videos/.*|www\.trailerspy\.com/trailer/.*/.*|www\.trailerspy\.com/trailer/.*|www\.trailerspy\.com/view_video\.php.*|www\.atom\.com/.*/.*/|fora\.tv/.*/.*/.*/.*|www\.spike\.com/video/.*|www\.gametrailers\.com/video/.*|gametrailers\.com/video/.*|www\.koldcast\.tv/video/.*|www\.koldcast\.tv/#video:.*|www\.godtube\.com/featured/video/.*|www\.tangle\.com/view_video.*|soundcloud\.com/.*|soundcloud\.com/.*/.*|soundcloud\.com/.*/sets/.*|soundcloud\.com/groups/.*|www\\.last\\.fm/music/.*|www\\.last\\.fm/music/+videos/.*|www\\.last\\.fm/music/+images/.*|www\\.last\\.fm/music/.*/_/.*|www\\.last\\.fm/music/.*/.*|www\.mixcloud\.com/.*/.*/|espn\.go\.com/video/clip.*|espn\.go\.com/.*/story.*|cnbc\.com/id/.*|cbsnews\.com/video/watch/.*|www\.cnn\.com/video/.*|edition\.cnn\.com/video/.*|money\.cnn\.com/video/.*|today\.msnbc\.msn\.com/id/.*/vp/.*|www\.msnbc\.msn\.com/id/.*/vp/.*|www\.msnbc\.msn\.com/id/.*/ns/.*|today\.msnbc\.msn\.com/id/.*/ns/.*|multimedia\.foxsports\.com/m/video/.*/.*|msn\.foxsports\.com/video.*|.*amazon\..*/gp/product/.*|.*amazon\..*/.*/dp/.*|.*amazon\..*/dp/.*|.*amazon\..*/o/ASIN/.*|.*amazon\..*/gp/offer-listing/.*|.*amazon\..*/.*/ASIN/.*|.*amazon\..*/gp/product/images/.*|www\.amzn\.com/.*|amzn\.com/.*|www\.shopstyle\.com/browse.*|www\.shopstyle\.com/action/apiVisitRetailer.*|www\.shopstyle\.com/action/viewLook.*|gist\.github\.com/.*|twitter\.com/.*/status/.*|twitter\.com/.*/statuses/.*|www\.slideshare\.net/.*/.*|.*\.scribd\.com/doc/.*|screenr\.com/.*|polldaddy\.com/community/poll/.*|polldaddy\.com/poll/.*|answers\.polldaddy\.com/poll/.*|www\.5min\.com/Video/.*|www\.howcast\.com/videos/.*|www\.screencast\.com/.*/media/.*|screencast\.com/.*/media/.*|www\.screencast\.com/t/.*|screencast\.com/t/.*|issuu\.com/.*/docs/.*|www\.kickstarter\.com/projects/.*/.*|www\.scrapblog\.com/viewer/viewer\.aspx.*|my\.opera\.com/.*/albums/show\.dml\?id=.*|my\.opera\.com/.*/albums/showpic\.dml\?album=.*&picture=.*|tumblr\.com/.*|.*\.tumblr\.com/post/.*|www\.polleverywhere\.com/polls/.*|www\.polleverywhere\.com/multiple_choice_polls/.*|www\.polleverywhere\.com/free_text_polls/.*|.*\.status\.net/notice/.*|identi\.ca/notice/.*|shitmydadsays\.com/notice/.*)]", re.I) + urls = oe.findall(s) + if ptype == 'list': + oembed_json = embedly.get_multi(urls,maxwidth=150) + elif ptype == 'post' or ptype == 'atom': + oembed_json = embedly.get_multi(urls,maxwidth=500) + + for idx,item in enumerate(oembed_json): + try: + title = item['title'] + except KeyError: + title = '' + try: + url = item['url'] + except KeyError: + url = '' + try: + thumbnail_url = item['thumbnail_url'] + except KeyError: + thumbnail_url = '' + r = '' + if item['type'] == 'photo': + if ptype == 'post' or ptype == 'atom': + r = ' ' + title + '' + if item['type'] == 'video': + if ptype == 'post' or ptype == 'atom': + r = ' '+item['html'] + if item['type'] == 'rich': + if ptype == 'post' or ptype == 'atom': + r = ' '+item['html'] + if item['type'] == 'link': + if ptype == 'post' or ptype == 'atom': + r = ' ' + title + '' + if ptype == 'list': + if thumbnail_url != '': + r = ' ' + title + '' + else: + r = '' + if ptype == 'atom': + s = re.sub('\[http://'+urls[idx]+']', cgi.escape(r), s) + else: + s = re.sub('\[http://'+urls[idx]+']', r, s) + return s + def slugify(s): s = unicodedata.normalize('NFKD', s).encode('ascii', 'ignore') - return re.sub('[^a-zA-Z0-9-]+', '-', s).strip('-') + return re.sub('[^a-zA-Z0-9]+', '-', s).strip('-').lower() def format_post_path(post, num): @@ -60,7 +108,6 @@ def render_template(template_name, template_vals=None, theme=None): _swap_settings(old_settings) return rendered - def _get_all_paths(): import static keys = [] From 018af9bf54be3c78df073c06f02d0a4507773af6 Mon Sep 17 00:00:00 2001 From: John Turner Date: Fri, 21 Jan 2011 21:05:39 -0500 Subject: [PATCH 3/4] removed google feed api and added github ribbon --- app.yaml | 4 ++++ themes/thinker/base.html | 26 +++---------------------- themes/thinker/static/css/style.css | 6 +++--- themes/thinker/static/js/script.js | 30 ----------------------------- 4 files changed, 10 insertions(+), 56 deletions(-) diff --git a/app.yaml b/app.yaml index ddacb93..0ec8793 100755 --- a/app.yaml +++ b/app.yaml @@ -8,6 +8,9 @@ api_version: 1 derived_file_type: - python_precompiled +inbound_services: +- warmup + skip_files: | ^(.*/)?( (app\.yaml)| @@ -44,3 +47,4 @@ handlers: - url: /.* script: static.py + diff --git a/themes/thinker/base.html b/themes/thinker/base.html index 4ec249f..16524a7 100755 --- a/themes/thinker/base.html +++ b/themes/thinker/base.html @@ -7,8 +7,8 @@ {% block style %}{% endblock %} - - + @@ -81,11 +81,6 @@

      {{sidebar.0}}

      -
    • -

      Reading & Sharing

      -
        -
      -
    @@ -97,6 +92,7 @@

    Reading & Sharing

    + Fork me on GitHub @@ -158,29 +153,14 @@

    Reading & Sharing

    }; SyntaxHighlighter.autoloader.apply(null, path( - 'applescript @shBrushAppleScript.js', - 'actionscript3 as3 @shBrushAS3.js', 'bash shell @shBrushBash.js', - 'coldfusion cf @shBrushColdFusion.js', - 'cpp c @shBrushCpp.js', - 'c# c-sharp csharp @shBrushCSharp.js', - 'css @shBrushCss.js', - 'delphi pascal @shBrushDelphi.js', - 'diff patch pas @shBrushDiff.js', - 'erl erlang @shBrushErlang.js', - 'groovy @shBrushGroovy.js', - 'java @shBrushJava.js', - 'jfx javafx @shBrushJavaFX.js', 'js jscript javascript @shBrushJScript.js', - 'perl pl @shBrushPerl.js', 'php @shBrushPhp.js', 'text plain @shBrushPlain.js', 'py python @shBrushPython.js', 'ruby rails ror rb @shBrushRuby.js', 'sass scss @shBrushSass.js', - 'scala @shBrushScala.js', 'sql @shBrushSql.js', - 'vb vbnet @shBrushVb.js', 'xml xhtml xslt html @shBrushXml.js' )); SyntaxHighlighter.all(); diff --git a/themes/thinker/static/css/style.css b/themes/thinker/static/css/style.css index 01b3abd..dc93561 100755 --- a/themes/thinker/static/css/style.css +++ b/themes/thinker/static/css/style.css @@ -137,16 +137,16 @@ pre,code,kbd,samp,tt {font-family:monospace;*font-size:108%;line-height:100%;} /*-------------------------------------------------------------------------------------------*/ /* 1.1 Defaults */ -html { -webkit-font-smoothing: antialiased; } +html {} body{background:#fff;} body, select, input, textarea { color:#444; } -h1,h2,h3,h4,h5,h6 { text-rendering: optimizeLegibility;} +h1,h2,h3,h4,h5,h6 {} h1,h2,h3{font-weight:500;} h1{font-size:197%;} h2{font-size:167%;} h3{font-size:108%;} h1,h2,h3{margin:0 0 1em 0;} -/*h1,h2,h3,h4,h5,h6,strong{font-weight:bold;}*/ +h1,h2,h3,h4,h5,h6,strong{font-weight:bold;} strong{font-weight:bold;} abbr,acronym{border-bottom:1px dotted #000;cursor:help;} em{font-style:italic;} diff --git a/themes/thinker/static/js/script.js b/themes/thinker/static/js/script.js index 8a5d6ef..7f919d0 100644 --- a/themes/thinker/static/js/script.js +++ b/themes/thinker/static/js/script.js @@ -4,34 +4,4 @@ jQuery(document).ready(function() { }); -//FeedApi -google.setOnLoadCallback(onLoadOfFeedApi); -function onLoadOfFeedApi() { - //var feed1 = new google.feeds.push.Feed("http://johnturner.posterous.com/rss.xml"); - //feed1.includeHistoricalEntries(2); - //feed1.subscribe(renderFeedsPosterous) - var feed2 = new google.feeds.push.Feed("http://feeds.delicious.com/v2/rss/johnnytee/"); - feed2.includeHistoricalEntries(3); - feed2.subscribe(renderFeedsDelicious) - var feed3 = new google.feeds.push.Feed("http://www.google.com/reader/public/atom/user/08477895806911596398/state/com.google/broadcast"); - feed3.includeHistoricalEntries(3); - feed3.subscribe(renderFeedsReader) -} - -function renderFeedsPosterous(response) { - renderFeeds(response,'update-posterous') - } -function renderFeedsDelicious(response) { - renderFeeds(response,'update-delicious') - } -function renderFeedsReader(response) { - renderFeeds(response,'update-reader') - } -function renderFeeds(response,class) { - var entries = response.feed.entries; - for (var i = 0; i < entries.length; i++) { - //console.log(entries[i]) - jQuery("#widget-realtime ul").prepend("
  • "+entries[i].title+"
  • ") - } -} From 8e600ba104faff6af59f98a7a660dc9c19f76a86 Mon Sep 17 00:00:00 2001 From: John Turner Date: Mon, 24 Jan 2011 20:31:49 -0500 Subject: [PATCH 4/4] added my company link --- config.py | 1 + 1 file changed, 1 insertion(+) diff --git a/config.py b/config.py index 5fc03b1..77125e0 100755 --- a/config.py +++ b/config.py @@ -31,6 +31,7 @@ 'About Me', 'Contact Me', 'Stuff I Use', + 'My Company', ]), ]
    TitlePublishedActions