Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

initial move to github and updates towards 0.2 release

  • Loading branch information...
commit 1de67fa56d359405eff46ed43aadb8fc555a1f23 1 parent af45002
@howiworkdaily howiworkdaily authored
Showing with 7,672 additions and 0 deletions.
  1. +5 −0 .gitignore
  2. +25 −0 LICENSE
  3. +33 −0 README
  4. +14 −0 mingus/__init__.py
  5. 0  mingus/core/__init__.py
  6. +33 −0 mingus/core/context_processors.py
  7. +20 −0 mingus/core/middleware.py
  8. +120 −0 mingus/core/views.py
  9. +1 −0  mingus/initial_data.json
  10. +51 −0 mingus/local_settings.py.template
  11. +17 −0 mingus/manage.py
  12. +401 −0 mingus/media/static/css/960.css
  13. +220 −0 mingus/media/static/css/base.css
  14. +53 −0 mingus/media/static/css/reset.css
  15. +29 −0 mingus/media/static/css/themes/basic.css
  16. +36 −0 mingus/media/static/css/themes/dark.css
  17. +36 −0 mingus/media/static/css/themes/django.css
  18. +36 −0 mingus/media/static/css/themes/jeffcroft.css
  19. +26 −0 mingus/media/static/css/themes/minimal.css
  20. BIN  mingus/media/static/imgs/bg_trans.png
  21. +14 −0 mingus/media/static/js/DD_belatedPNG_0.0.7a-min.js
  22. +51 −0 mingus/media/static/prettyify/lang-apollo.js
  23. +78 −0 mingus/media/static/prettyify/lang-css.js
  24. +101 −0 mingus/media/static/prettyify/lang-hs.js
  25. +93 −0 mingus/media/static/prettyify/lang-lisp.js
  26. +59 −0 mingus/media/static/prettyify/lang-lua.js
  27. +56 −0 mingus/media/static/prettyify/lang-ml.js
  28. +35 −0 mingus/media/static/prettyify/lang-proto.js
  29. +57 −0 mingus/media/static/prettyify/lang-sql.js
  30. +61 −0 mingus/media/static/prettyify/lang-vb.js
  31. +53 −0 mingus/media/static/prettyify/lang-wiki.js
  32. +27 −0 mingus/media/static/prettyify/prettify.css
  33. +1,425 −0 mingus/media/static/prettyify/prettify.js
  34. +3,365 −0 mingus/pip-log.txt
  35. +27 −0 mingus/requirements.txt
  36. +92 −0 mingus/settings.py
  37. +130 −0 mingus/templates/404.html
  38. +130 −0 mingus/templates/500.html
  39. +19 −0 mingus/templates/admin/base_site.html
  40. +35 −0 mingus/templates/admin/login.html
  41. +162 −0 mingus/templates/base.html
  42. +2 −0  mingus/templates/blog/base_blog.html
  43. +20 −0 mingus/templates/blog/category_detail.html
  44. +8 −0 mingus/templates/blog/includes/_comments.html
  45. +12 −0 mingus/templates/blog/includes/_pagination.html
  46. +13 −0 mingus/templates/blog/includes/_post_detail.html
  47. +7 −0 mingus/templates/blog/includes/_post_list.html
  48. +62 −0 mingus/templates/blog/post_detail.html
  49. +25 −0 mingus/templates/blog/post_search.html
  50. +19 −0 mingus/templates/blog/tag_detail.html
  51. +43 −0 mingus/templates/contact_form/contact_form.html
  52. +9 −0 mingus/templates/contact_form/contact_form.txt
  53. +19 −0 mingus/templates/contact_form/contact_form_sent.html
  54. +1 −0  mingus/templates/contact_form/contact_form_subject.txt
  55. +1 −0  mingus/templates/feeds/categories_description.html
  56. +1 −0  mingus/templates/feeds/categories_title.html
  57. +1 −0  mingus/templates/feeds/latest_description.html
  58. +1 −0  mingus/templates/feeds/latest_title.html
  59. +2 −0  mingus/templates/feeds/posts_description.html
  60. +1 −0  mingus/templates/feeds/posts_title.html
  61. +1 −0  mingus/templates/flatblocks/bare.html
  62. +15 −0 mingus/templates/flatpages/default.html
  63. +8 −0 mingus/templates/inlines/media_photo.html
  64. +1 −0  mingus/templates/oembed/link.html
  65. +27 −0 mingus/templates/people/quote_detail.html
  66. +10 −0 mingus/templates/proxy/includes/_bookmark_item.html
  67. +13 −0 mingus/templates/proxy/includes/_post_item.html
  68. +11 −0 mingus/templates/proxy/includes/_quote_item.html
  69. +27 −0 mingus/templates/proxy/proxy_list.html
  70. +74 −0 mingus/urls.py
  71. +12 −0 setup.py
View
5 .gitignore
@@ -0,0 +1,5 @@
+*.pyc
+*.bak
+*.db
+local_settings.py
+
View
25 LICENSE
@@ -0,0 +1,25 @@
+Copyright (c) 2009, Monty Lounge Industries, LLC <kevin@montylounge.com>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name django-mingus nor the names of its contributors
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
View
33 README
@@ -0,0 +1,33 @@
+
+A Django blog engine leveraging only existing reusable apps, and django-snippets. The project itself defines no models (db schemas).
+
+More details to come soon, tutorials, etc. There are some hidden "features" (ex. api support for Django-springsteen out of the box meaning easy plugin to findjango.com, and some others stuff the community has provided.)
+
+*This was an initial project for a Django-NYC presentation, thrown together with some concepts for a personal blog engine I've had in notes laying around..
+
+Quickstart (VirtualENV/PIP Version)
+------------------------------------
+
+> mkvirtualenv myblog
+> easy_install pip
+> hg clone https://montylounge@bitbucket.org/montylounge/django-mingus/
+#I do the next two steps below because I'm not familiar enough with HG to retrieve a subdir of a repository
+> mv django-mingus/mingus .
+> rm -rf django-mingus
+> cd mingus
+> pip install -r requirements
+... wait a bit
+> mv local_settings.py.template local_settings.py
+> ./manage.py syncdb
+> ./manage.py runserver
+
+By default the theme is set to the Basic theme.
+
+Django-Mingus also comes with 4 additional themes: Django(green), Minimal (black/white), Dark (black), Basic (beige/red), JeffCroft (brown/pink)
+
+To switch "themes" just change this line in templates/base.html:
+
+<link rel="stylesheet" href="{{ STATIC_URL }}css/themes/basic.css" type="text/css" media="all" charset="utf-8">
+
+You'll notice the themes/basic.css text - change that to one of the existing themes, or edit away on your own!
+
View
14 mingus/__init__.py
@@ -0,0 +1,14 @@
+from django.db.models import signals
+from django_proxy.signals import proxy_save, proxy_delete
+from basic.blog.models import Post
+from basic.people.models import Quote
+from basic.bookmarks.models import Bookmark
+
+signals.post_save.connect(proxy_save, Post, True)
+signals.post_delete.connect(proxy_delete, Post)
+
+signals.post_save.connect(proxy_save, Quote, True)
+signals.post_delete.connect(proxy_delete, Quote)
+
+signals.post_save.connect(proxy_save, Bookmark, True)
+signals.post_delete.connect(proxy_delete, Bookmark)
View
0  mingus/core/__init__.py
No changes.
View
33 mingus/core/context_processors.py
@@ -0,0 +1,33 @@
+from django.conf import settings
+from basic.blog.models import Category
+from django.core.cache import cache
+from basic.blog.models import Settings
+from basic.elsewhere.models import SocialNetworkProfile
+
+def site_info(request):
+ """
+ Adds site-specific meta information to the context.
+
+ To employ, add the site_info method reference to your project
+ settings TEMPLATE_CONTEXT_PROCESSORS.
+
+ Example:
+ TEMPLATE_CONTEXT_PROCESSORS = (
+ ...
+ "mingus.core.context_processors.site_info",
+ )
+ """
+
+ site_id = settings.SITE_ID
+ key = 'basic.blog.settings:%s' % site_id
+ blog_settings = cache.get(key, None)
+ if blog_settings is None:
+ blog_settings = Settings.get_current()
+ cache.set(key, blog_settings)
+
+ STATIC_URL = getattr(settings,'STATIC_URL', '')
+
+ return {
+ 'BLOG_SETTINGS': blog_settings,
+ 'STATIC_URL': STATIC_URL,
+ }
View
20 mingus/core/middleware.py
@@ -0,0 +1,20 @@
+from django.conf import settings
+from django.http import *
+from django.views.debug import technical_500_response
+import sys
+
+class UserBasedExceptionMiddleware(object):
+ '''
+ Displays Django debugging messaage based on active user's session.
+
+ Requirement:
+ Active user's' session must be an authenticated superuser, or make sure active
+ user's IP address is in INTERNAL_IPs for the error message to display. Otherwise
+ user will receive the configured server response, which is normally a "friendly"
+ 500 server error page.
+
+ Source: http://ericholscher.com/blog/2008/nov/15/debugging-django-production-environments/
+ '''
+ def process_exception(self, request, exception):
+ if request.user.is_superuser or request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS:
+ return technical_500_response(request, *sys.exc_info())
View
120 mingus/core/views.py
@@ -0,0 +1,120 @@
+from django.utils import simplejson
+from django.http import HttpResponse
+from django.shortcuts import get_object_or_404
+from basic.blog.models import Post, Category
+from django.conf import settings
+from django import http
+from django.template import loader, Context
+from django_proxy.models import Proxy
+from django.views.generic import list_detail
+from django.core.cache import cache
+from basic.blog.models import Settings
+from view_cache_utils import cache_page_with_prefix
+from contact_form.views import contact_form as django_contact_form
+from contact_form.forms import ContactForm
+from honeypot.decorators import check_honeypot
+
+def page_key_prefix(request):
+ return request.GET.get('page','')
+
+def post_result_item(post):
+ '''Generates the item result object for django-springsteen integration.'''
+ return {
+ 'title': post.title,
+ 'url': settings.SITE_URL + post.get_absolute_url(),
+ 'text': post.body,
+ }
+
+def springsteen_results(request):
+ '''
+ Creates the django-springsteen compliant JSON results for only for findjango
+ integration.
+
+ Results:
+ Published Post objects.
+ '''
+
+ results = [ post_result_item(item) for item in Post.objects.published()[:50] ]
+ response_dict = { 'total_results': Post.objects.published().count(), 'results': results, }
+ return HttpResponse(simplejson.dumps(response_dict), mimetype='application/javascript')
+
+
+def server_error(request, template_name='500.html'):
+ '''Handles displaying 500 server error page along with application MEDIA.'''
+
+ t = loader.get_template(template_name)
+ return http.HttpResponseServerError(t.render(Context({
+ "MEDIA_URL": settings.MEDIA_URL,
+ "STATIC_URL": settings.STATIC_URL,
+ })))
+
+
+def springsteen_firehose(request):
+ '''Generates django-springsteen compliant JSON results of proxy models for findjango integration.'''
+
+ def result_item(proxy):
+ '''Generates the item result object.'''
+
+ if proxy.content_type.name == 'bookmark':
+ url = proxy.content_object.get_absolute_url()
+ else:
+ url = settings.SITE_URL + proxy.content_object.get_absolute_url()
+
+ return {
+ 'title': proxy.title,
+ 'url': url,
+ 'text': proxy.description,
+ }
+
+ posts = Proxy.objects.published()[:50].order_by('-pub_date')
+ results = [ result_item(item) for item in posts ]
+ response_dict = { 'total_results': Proxy.objects.published().count(), 'results': results, }
+ return HttpResponse(simplejson.dumps(response_dict), mimetype='application/javascript')
+
+def springsteen_category(request, slug):
+ '''
+ Creates the django-springsteen compliant JSON results for only for findjango
+ integration.
+
+ Results:
+ Published Post objects by category.
+ '''
+
+ category = get_object_or_404(Category, slug__iexact=slug)
+ posts = category.post_set.published()[:50]
+ results = [ post_result_item(item) for item in posts ]
+ response_dict = { 'total_results': category.post_set.published().count(), 'results': results, }
+ return HttpResponse(simplejson.dumps(response_dict), mimetype='application/javascript')
+
+
+@cache_page_with_prefix(60, page_key_prefix)
+def home_list(request, page=0, template_name='proxy/proxy_list.html', **kwargs):
+ '''
+ Homepage.
+
+ Template: ``proxy/proxy_list.html``
+ Context:
+ object_list
+ Aggregated list of Proxy instances (post, quote, bookmark).
+
+ '''
+
+ posts = Proxy.objects.published().order_by('-pub_date')
+ pagesize = Settings.get_current().page_size or 20
+
+ return list_detail.object_list(
+ request,
+ queryset = posts,
+ paginate_by = pagesize,
+ page = page,
+ template_name = template_name,
+ **kwargs
+ )
+
+
+@check_honeypot
+def contact_form(request, form_class=ContactForm,
+ template_name='contact_form/contact_form.html'):
+
+ return django_contact_form(request, form_class=form_class,
+ template_name=template_name)
View
1  mingus/initial_data.json
@@ -0,0 +1 @@
+[{"pk": 1, "model": "navbar.navbarentry", "fields": {"name": "about", "parent": null, "title": "about", "url": "/about/", "user_type": "E", "groups": [], "path_type": "A", "order": 0}}, {"pk": 2, "model": "flatblocks.flatblock", "fields": {"content": "Powered by <a href=\"http://bitbucket.org/montylounge/django-mingus/\" title=\"Mingus blog engine\">Mingus</a> a <a href=\"http://djangoproject.com\" title=\"Django - web framework for perfectionists with deadlines.\">Django</a> project. You're enjoying the Basic theme.", "header": "", "slug": "footer"}}, {"pk": 1, "model": "flatpages.flatpage", "fields": {"registration_required": false, "title": "About", "url": "/about/", "template_name": "", "sites": [1], "content": "<p>\r\nA little about yourself.\r\n</p>", "enable_comments": false}}, {"pk": 1, "model": "blog.post", "fields": {"body": "<p>\r\nWelcome to django-mingus, the Django powered blog engine.\r\n</p>", "status": 2, "allow_comments": true, "author": null, "tease": "Hey there world.", "modified": "2009-07-01 23:22:04", "publish": "2009-07-01 23:19:39", "created": "2009-07-01 23:20:29", "categories": [1], "title": "Welcome", "slug": "welcome", "tags": "blog, mingus"}}, {"pk": 1, "model": "blog.category", "fields": {"slug": "django", "title": "Django"}}]
View
51 mingus/local_settings.py.template
@@ -0,0 +1,51 @@
+
+LOCAL_DEV = True
+DEBUG = True
+TEMPLATE_DEBUG = DEBUG
+#sorl-thumbnail
+THUMBNAIL_DEBUG = True
+
+DEFAULT_FROM_EMAIL = 'contactform@foo'
+
+MANAGERS = (
+ ('fooper','fooper@foo'),
+)
+
+DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+DATABASE_NAME = 'dev.db' # Or path to database file if using sqlite3.
+DATABASE_USER = '' # Not used with sqlite3.
+DATABASE_PASSWORD = '' # Not used with sqlite3.
+DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
+DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
+
+EMAIL_HOST = 'smtp.gmail.com'
+EMAIL_PORT = 587
+EMAIL_HOST_USER = 'ABC'
+EMAIL_HOST_PASSWORD = 'ABC'
+EMAIL_USE_TLS = True
+
+CACHE_BACKEND = 'locmem:///'
+
+CACHE_MIDDLEWARE_SECONDS = 60*5
+CACHE_MIDDLEWARE_KEY_PREFIX = 'mingus.'
+CACHE_MIDDLEWARE_ANONYMOUS_ONLY = True
+
+##### DEBUG-TOOLBAR SETTINGS ########
+DEBUG_TOOLBAR_CONFIG = {
+'INTERCEPT_REDIRECTS': False,
+}
+
+INTERNAL_IPS = ('127.0.0.1',)
+
+DEBUG_TOOLBAR_PANELS = (
+ 'debug_toolbar.panels.version.VersionDebugPanel',
+ 'debug_toolbar.panels.timer.TimerDebugPanel',
+ 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
+ 'debug_toolbar.panels.headers.HeaderDebugPanel',
+ 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
+ 'debug_toolbar.panels.template.TemplateDebugPanel',
+ 'debug_toolbar.panels.sql.SQLDebugPanel',
+ 'debug_toolbar.panels.signals.SignalDebugPanel',
+ 'debug_toolbar.panels.logger.LoggingPanel',
+ 'debug_toolbar.panels.cache.CachePanel',
+)
View
17 mingus/manage.py
@@ -0,0 +1,17 @@
+#!/usr/bin/env python
+
+import os
+import sys
+
+from os.path import abspath, dirname, join
+from django.core.management import execute_manager
+try:
+ import settings # Assumed to be in the same directory.
+except ImportError:
+ import sys
+ sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
+ sys.exit(1)
+
+if __name__ == "__main__":
+ execute_manager(settings)
+
View
401 mingus/media/static/css/960.css
@@ -0,0 +1,401 @@
+/*
+ 960 Grid System ~ Core CSS.
+ Learn more ~ http://960.gs/
+
+ Licensed under GPL and MIT.
+*/
+
+/* `Containers
+----------------------------------------------------------------------------------------------------*/
+
+.container_12,
+.container_16 {
+ margin-left: 80px;
+ width: 960px;
+}
+
+/* `Grid >> Global
+----------------------------------------------------------------------------------------------------*/
+
+.grid_1,
+.grid_2,
+.grid_3,
+.grid_4,
+.grid_5,
+.grid_6,
+.grid_7,
+.grid_8,
+.grid_9,
+.grid_10,
+.grid_11,
+.grid_12,
+.grid_13,
+.grid_14,
+.grid_15,
+.grid_16 {
+ display: inline;
+ float: left;
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+.container_12 .grid_3,
+.container_16 .grid_4 {
+ width: 220px;
+}
+
+.container_12 .grid_6,
+.container_16 .grid_8 {
+ width: 460px;
+}
+
+.container_12 .grid_9,
+.container_16 .grid_12 {
+ width: 700px;
+}
+
+.container_12 .grid_12,
+.container_16 .grid_16 {
+ width: 940px;
+}
+
+/* `Grid >> Children (Alpha ~ First, Omega ~ Last)
+----------------------------------------------------------------------------------------------------*/
+
+.alpha {
+ margin-left: 0;
+}
+
+.omega {
+ margin-right: 0;
+}
+
+/* `Grid >> 12 Columns
+----------------------------------------------------------------------------------------------------*/
+
+.container_12 .grid_1 {
+ width: 60px;
+}
+
+.container_12 .grid_2 {
+ width: 140px;
+}
+
+.container_12 .grid_4 {
+ width: 300px;
+}
+
+.container_12 .grid_5 {
+ width: 380px;
+}
+
+.container_12 .grid_7 {
+ width: 540px;
+}
+
+.container_12 .grid_8 {
+ width: 620px;
+}
+
+.container_12 .grid_10 {
+ width: 780px;
+}
+
+.container_12 .grid_11 {
+ width: 860px;
+}
+
+/* `Grid >> 16 Columns
+----------------------------------------------------------------------------------------------------*/
+
+.container_16 .grid_1 {
+ width: 40px;
+}
+
+.container_16 .grid_2 {
+ width: 100px;
+}
+
+.container_16 .grid_3 {
+ width: 160px;
+}
+
+.container_16 .grid_5 {
+ width: 280px;
+}
+
+.container_16 .grid_6 {
+ width: 340px;
+}
+
+.container_16 .grid_7 {
+ width: 400px;
+}
+
+.container_16 .grid_9 {
+ width: 520px;
+}
+
+.container_16 .grid_10 {
+ width: 580px;
+}
+
+.container_16 .grid_11 {
+ width: 640px;
+}
+
+.container_16 .grid_13 {
+ width: 760px;
+}
+
+.container_16 .grid_14 {
+ width: 820px;
+}
+
+.container_16 .grid_15 {
+ width: 880px;
+}
+
+/* `Prefix Extra Space >> Global
+----------------------------------------------------------------------------------------------------*/
+
+.container_12 .prefix_3,
+.container_16 .prefix_4 {
+ padding-left: 240px;
+}
+
+.container_12 .prefix_6,
+.container_16 .prefix_8 {
+ padding-left: 480px;
+}
+
+.container_12 .prefix_9,
+.container_16 .prefix_12 {
+ padding-left: 720px;
+}
+
+/* `Prefix Extra Space >> 12 Columns
+----------------------------------------------------------------------------------------------------*/
+
+.container_12 .prefix_1 {
+ padding-left: 80px;
+}
+
+.container_12 .prefix_2 {
+ padding-left: 160px;
+}
+
+.container_12 .prefix_4 {
+ padding-left: 320px;
+}
+
+.container_12 .prefix_5 {
+ padding-left: 400px;
+}
+
+.container_12 .prefix_7 {
+ padding-left: 560px;
+}
+
+.container_12 .prefix_8 {
+ padding-left: 640px;
+}
+
+.container_12 .prefix_10 {
+ padding-left: 800px;
+}
+
+.container_12 .prefix_11 {
+ padding-left: 880px;
+}
+
+/* `Prefix Extra Space >> 16 Columns
+----------------------------------------------------------------------------------------------------*/
+
+.container_16 .prefix_1 {
+ padding-left: 60px;
+}
+
+.container_16 .prefix_2 {
+ padding-left: 120px;
+}
+
+.container_16 .prefix_3 {
+ padding-left: 180px;
+}
+
+.container_16 .prefix_5 {
+ padding-left: 300px;
+}
+
+.container_16 .prefix_6 {
+ padding-left: 360px;
+}
+
+.container_16 .prefix_7 {
+ padding-left: 420px;
+}
+
+.container_16 .prefix_9 {
+ padding-left: 540px;
+}
+
+.container_16 .prefix_10 {
+ padding-left: 600px;
+}
+
+.container_16 .prefix_11 {
+ padding-left: 660px;
+}
+
+.container_16 .prefix_13 {
+ padding-left: 780px;
+}
+
+.container_16 .prefix_14 {
+ padding-left: 840px;
+}
+
+.container_16 .prefix_15 {
+ padding-left: 900px;
+}
+
+/* `Suffix Extra Space >> Global
+----------------------------------------------------------------------------------------------------*/
+
+.container_12 .suffix_3,
+.container_16 .suffix_4 {
+ padding-right: 240px;
+}
+
+.container_12 .suffix_6,
+.container_16 .suffix_8 {
+ padding-right: 480px;
+}
+
+.container_12 .suffix_9,
+.container_16 .suffix_12 {
+ padding-right: 720px;
+}
+
+/* `Suffix Extra Space >> 12 Columns
+----------------------------------------------------------------------------------------------------*/
+
+.container_12 .suffix_1 {
+ padding-right: 80px;
+}
+
+.container_12 .suffix_2 {
+ padding-right: 160px;
+}
+
+.container_12 .suffix_4 {
+ padding-right: 320px;
+}
+
+.container_12 .suffix_5 {
+ padding-right: 400px;
+}
+
+.container_12 .suffix_7 {
+ padding-right: 560px;
+}
+
+.container_12 .suffix_8 {
+ padding-right: 640px;
+}
+
+.container_12 .suffix_10 {
+ padding-right: 800px;
+}
+
+.container_12 .suffix_11 {
+ padding-right: 880px;
+}
+
+/* `Suffix Extra Space >> 16 Columns
+----------------------------------------------------------------------------------------------------*/
+
+.container_16 .suffix_1 {
+ padding-right: 60px;
+}
+
+.container_16 .suffix_2 {
+ padding-right: 120px;
+}
+
+.container_16 .suffix_3 {
+ padding-right: 180px;
+}
+
+.container_16 .suffix_5 {
+ padding-right: 300px;
+}
+
+.container_16 .suffix_6 {
+ padding-right: 360px;
+}
+
+.container_16 .suffix_7 {
+ padding-right: 420px;
+}
+
+.container_16 .suffix_9 {
+ padding-right: 540px;
+}
+
+.container_16 .suffix_10 {
+ padding-right: 600px;
+}
+
+.container_16 .suffix_11 {
+ padding-right: 660px;
+}
+
+.container_16 .suffix_13 {
+ padding-right: 780px;
+}
+
+.container_16 .suffix_14 {
+ padding-right: 840px;
+}
+
+.container_16 .suffix_15 {
+ padding-right: 900px;
+}
+
+/* `Clear Floated Elements
+----------------------------------------------------------------------------------------------------*/
+
+/* http://sonspring.com/journal/clearing-floats */
+
+.clear {
+ clear: both;
+ display: block;
+ overflow: hidden;
+ visibility: hidden;
+ width: 0;
+ height: 0;
+}
+
+/* http://www.positioniseverything.net/easyclearing.html */
+
+.clearfix:after {
+ clear: both;
+ content: '.';
+ display: block;
+ visibility: hidden;
+ height: 0;
+}
+
+.clearfix {
+ display: inline-block;
+}
+
+* html .clearfix {
+ height: 1%;
+}
+
+.clearfix {
+ display: block;
+}
View
220 mingus/media/static/css/base.css
@@ -0,0 +1,220 @@
+/* http://meyerweb.com/eric/tools/css/reset/ */
+/* v1.0 | 20080212 */
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, font, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center, dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ font-size: 100%;
+ vertical-align: baseline;
+ background: transparent;
+}
+body { line-height: 1; }
+ol, ul { list-style: none; }
+blockquote, q { quotes: none; }
+blockquote:before, blockquote:after,
+q:before, q:after {
+ content: '';
+ content: none;
+}
+:focus { outline: 0; }
+ins { text-decoration: none; }
+del { text-decoration: line-through; }
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+/* END RESET */
+
+body {
+ line-height: 1.4;
+ color: #333940;
+ background: #f4f4f4;
+ width: 100%;
+ height: 100%;
+ font-family: "Helvetica Neue", Arial, sans-serif;
+}
+
+/* LAYOUT */
+#body-container{ padding-top: 22px; }
+.post, .bookmark, .quote { margin-bottom: 1.2em; }
+.post .date, .bookmark .date, .quote .date {
+ float: left;
+ padding: .3em .4em .3em 1.2em;
+ background: #76d5ff; /* c14040 */
+ margin: 0.3em 0 0 -6.0em;
+ width: 3.8em;
+}
+
+#comments{ margin-top: 1.8em; border-top: solid 1px #CCC; padding-top: .6em;}
+.post .teaser{ border-bottom: solid 1.0em #333940; padding: .1em .1em .8em .1em; margin-bottom: .9em;}
+#right-rail p {font-size: .8em; margin-bottom: 1.8em;}
+.post_list .post, #header, .post_list .quote, .post_list .bookmark { padding-bottom: 1.2em; border-bottom: 1px solid #ccc;}
+.post_detail .subscribe { margin-top: 1.2em; }
+
+#right-rail ul{ margin-left: 0em;}
+.filter-title{ margin-bottom: 1.2em; background-color: #ccc; padding: .3em;}
+.post-img {
+ margin: 1.2em 0em 1.2em 1.2em;
+ padding: .8em .8em 0em 1.6em;
+ background-color: #e4e4e4;
+ width: 564px;
+ border-left: solid 1.0em #dedede;
+}
+.post-img p { margin-left: .2em; line-height: 1.4em;}
+.post-img {
+ float: left;
+ margin: 0.3em 0 0 -6.0em;
+}
+.video
+{
+ background-color: #000;
+ text-align: center;
+}
+
+ul.recent-posts li, .post li
+{
+ list-style: disc;
+ left-margin: 1.2em;
+ list-style-position: inside;
+ color: #333940;
+}
+
+.bookmark p{ margin-top: .8em;}
+
+/* FORMS */
+label
+{
+ display:block;
+ font-weight: bold;
+}
+
+#form-error
+{
+ color: #c14040;
+}
+
+#form-error li
+{
+ list-style: disc;
+}
+
+
+/* CODE */
+pre
+{
+ overflow: auto;
+ overflow: auto;
+ z-index: 0;
+ background-color: #fff;
+ padding: .6em 0em .6em .6em;
+ display: block;
+ width: 100%;
+ border: 0px solid #ccc;
+ margin: 1.0em 0em 1.0em 0em;
+}
+
+/* HEADER/NAV */
+#header
+{
+ margin-left: 80px;
+ width: 960px;
+ margin-bottom: 30px;
+ padding-bottom: 1.0em;
+}
+#logo { float: left; }
+.navbar-one { margin-top: 10px; float: right; margin-top: .6em;}
+#search { margin-top: 10px; margin-top: 1.6em; margin-bottom: 1.8em; float: right;}
+ul.navbar-one li
+{
+ float:left;
+ list-style: none;
+ margin-right: 20px;
+}
+#nav{ float: right; }
+.button{ margin-left: .6em;}
+
+.subscribe li
+{
+ float:left;
+ list-style: square;
+ margin-left: 2.6em;
+}
+
+/* PAGINATION */
+#pagination .older{ float: right; }
+#pagination .newew{ float: left; }
+
+/* FOOTER */
+#footer{ margin-top: 2.8em; }
+#footer p{ margin-left: 1.6em; padding-bottom: 1.8em; }
+
+/* TYPE BASE */
+p, ul, ol, pre { font-size: 1em; margin: 0 0 0.6em; }
+ul, ol { margin-left: 1.4em; }
+ul ul { margin-bottom: 0; }
+h1{ font-size: 2.0em; }
+h2, h3, h4, h5 { margin: 1em 0 0.2em; font-weight: bold; }
+h2 { margin: 0.25em 0 .2em; font-size: 1.8em; letter-spacing: -0.025em; line-height: 1.2em; font-weight: 100; }
+h3 { font-size: 1em; margin-bottom: 0.25em; }
+h4 { font-size: 0.875em; }
+p, li { font-size: .9em; line-height: 1.4em;}
+
+/* TYPE SPECIFIC */
+.post .teaser{ font-size: 1.1em; line-height: 1.2em;}
+#right-rail p, #right-rail ul {font-size: .8em;}
+.post .date, .bookmark .date, .quote .date { color: #fff; }
+ul.navbar-one li
+{
+ font-size: .9em;
+ text-decoration: none;
+ color: #999ca0;
+}
+pre{ color: #333940; }
+#footer p{ font-size: .8em; }
+.filter-title{ font-size: 1.4em; }
+.list-tease { font-size: .9em; }
+.subscribe ul{ font-size: .9em;}
+
+/* LINKS */
+a:link, a:visited {
+ /* 76d5ff 3c94bc 3e4d5c 66bbe0 */
+ color: #3c94bc;
+ text-decoration: none;
+ font-weight: bold;
+}
+a:hover { color: #3c94bc; }
+h2 a:link, h2 a:visited{ font-weight: 100; color: #333940;}
+h2 a:hover { font-weight: 100; color: #3c94bc;}
+#nav ul li a
+{
+ text-decoration: none;
+ font-weight: 100;
+ font-size: 1.0em;
+
+}
+
+/* STYLE/ACCENTS */
+#bleeder {
+ background: transparent url('/media/static/imgs/bg_trans.png') top left repeat-y;
+ width: 10px;
+ position: fixed;
+ z-index: 9999;
+ top: 0;
+ bottom: 0;
+ height: 100%;
+}
+
+/* HELPERS */
+.hide
+{
+ display: none;
+ margin-left: -1000;
+}
View
53 mingus/media/static/css/reset.css
@@ -0,0 +1,53 @@
+/* http://meyerweb.com/eric/tools/css/reset/ */
+/* v1.0 | 20080212 */
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, font, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ font-size: 100%;
+ vertical-align: baseline;
+ background: transparent;
+}
+body {
+ line-height: 1;
+}
+ol, ul {
+ list-style: none;
+}
+blockquote, q {
+ quotes: none;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+ content: '';
+ content: none;
+}
+
+/* remember to define focus styles! */
+:focus {
+ outline: 0;
+}
+
+/* remember to highlight inserts somehow! */
+ins {
+ text-decoration: none;
+}
+del {
+ text-decoration: line-through;
+}
+
+/* tables still need 'cellspacing="0"' in the markup */
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
View
29 mingus/media/static/css/themes/basic.css
@@ -0,0 +1,29 @@
+
+body {
+ color: #333940;
+ background: #f4f4f4;
+}
+
+/* LAYOUT */
+.post .date, .quote .date, .bookmark .date {
+ float: left;
+ padding: .3em .4em .3em 1.2em;
+ background: #c14040;
+ margin: 0.3em 0 0 -6.0em;
+ width: 3.8em;
+}
+.post .teaser{ border-bottom: solid 1.0em #333940;}
+
+/* TYPE */
+h4{ color: #333940;}
+#right-rail p, #right-rail ul{ color: #333940;}
+
+/* LINKS */
+a:link, a:visited {
+ color: #c14040;
+}
+a:hover { color: #333; }
+h2 a:link, h2 a:visited{ color: #c14040;}
+h2 a:hover { color: #333;}
+
+pre{ color: #333940; background-color: #ccc;}
View
36 mingus/media/static/css/themes/dark.css
@@ -0,0 +1,36 @@
+
+body {
+ color: #fff;
+ background: #000;
+}
+
+/* LAYOUT */
+.post .date, .quote .date, .bookmark .date {
+ float: left;
+ padding: .3em .4em .3em 1.2em;
+ background: #1b1c1e;
+ margin: 0.3em 0 0 -6.0em;
+ width: 3.8em;
+}
+.post .teaser{ border-bottom: solid 1.0em #1b1c1e;}
+
+/* TYPE */
+h4{ color: #8d3e44;}
+#right-rail p, #right-rail ul{ color: #ccc;}
+
+/* LINKS */
+a:link, a:visited {
+ color: #fff;
+}
+a:hover { color: #ada745; }
+h2 a:link, h2 a:visited{ color: #8d3e44;}
+h2 a:hover { color: #fff;}
+
+pre{ background-color: #ccc;}
+
+ul.recent-posts li
+{
+ color: #fff;
+}
+
+.post li{ color: #fff;}
View
36 mingus/media/static/css/themes/django.css
@@ -0,0 +1,36 @@
+
+body {
+ color: #fff;
+ background: #497858;
+}
+
+/* LAYOUT */
+.post .date, .quote .date, .bookmark .date {
+ float: left;
+ padding: .3em .4em .3em 1.2em;
+ background: #092d1f;
+ margin: 0.3em 0 0 -6.0em;
+ width: 3.8em;
+}
+.post .teaser{ border-bottom: solid 1.0em #092d1f;}
+
+/* TYPE */
+h4{ color: #092d1f;}
+#right-rail p, #right-rail ul{ color: #fff;}
+
+/* LINKS */
+a:link, a:visited {
+ color: #ffc14a;
+}
+a:hover { color: #fff; }
+h2 a:link, h2 a:visited{ color: #ffc14a;}
+h2 a:hover { color: #fff;}
+
+pre{ background-color: #dfffb7; color: #1f7552;}
+
+ul.recent-posts li
+{
+ color: #fff;
+}
+
+.post li{ color: #fff;}
View
36 mingus/media/static/css/themes/jeffcroft.css
@@ -0,0 +1,36 @@
+
+body {
+ color: #fff;
+ background: #2f1508;
+}
+
+/* LAYOUT */
+.post .date, .quote .date, .bookmark .date {
+ float: left;
+ padding: .3em .4em .3em 1.2em;
+ background: #ff8800;
+ margin: 0.3em 0 0 -6.0em;
+ width: 3.8em;
+}
+.post .teaser{ border-bottom: solid 1.0em #633709;}
+
+/* TYPE */
+h4{ color: #633709;}
+#right-rail p, #right-rail ul{ color: #dac694;}
+
+/* LINKS */
+a:link, a:visited {
+ color: #ff8800;
+}
+a:hover { color: #ff2564; }
+h2 a:link, h2 a:visited{ color: #dac694;}
+h2 a:hover { color: #fff;}
+
+pre{ background-color: #dac694;}
+
+ul.recent-posts li
+{
+ color: #633709;
+}
+
+.post li{ color: #fff;}
View
26 mingus/media/static/css/themes/minimal.css
@@ -0,0 +1,26 @@
+
+body {
+ color: #000;
+ background: #fff;
+}
+
+/* LAYOUT */
+.post .date, .quote .date, .bookmark .date {
+ float: left;
+ padding: .3em .4em .3em 1.2em;
+ background: #000;
+ color: #fff;
+ margin: 0.3em 0 0 -6.0em;
+ width: 3.8em;
+}
+
+.post .teaser{ border-bottom: solid 1.0em #000;}
+
+/* LINKS */
+a:link, a:visited {
+ color: #000;
+}
+a:hover { color: #999; }
+h2 a:link, h2 a:visited{ color: #000;}
+h2 a:hover { color: #999;}
+
View
BIN  mingus/media/static/imgs/bg_trans.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
14 mingus/media/static/js/DD_belatedPNG_0.0.7a-min.js
@@ -0,0 +1,14 @@
+/**
+* DD_belatedPNG: Adds IE6 support: PNG images for CSS background-image and HTML <IMG/>.
+* Author: Drew Diller
+* Email: drew.diller@gmail.com
+* URL: http://www.dillerdesign.com/experiment/DD_belatedPNG/
+* Version: 0.0.7a
+* 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
+**/
+
+eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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 E={J:\'E\',Z:{},1E:7(){4(x.1l&&!x.1l[6.J]){x.1l.23(6.J,\'24:25-26-27:3\')}4(1F.11){1F.11(\'28\',7(){E=29})}},1G:7(){2 a=x.1m(\'8\');x.1H.1b.1n(a,x.1H.1b.1b);2 b=a.1o;b.1c(6.J+\'\\\\:*\',\'{12:2a(#1I#2b)}\');b.1c(6.J+\'\\\\:9\',\'Q:1p;\');b.1c(\'1J.\'+6.J+\'1K\',\'12:y; 1q:y; Q:1p; z-2c:-1; 1d:-1r; 1L:1M;\');6.1o=b},1N:7(){2 a=13.2d;4(13.1e.K(\'2e\')!=-1||13.1e.K(\'1q\')!=-1){E.1f(a)}4(13.1e==\'8.1s\'){2 b=(a.F.1s==\'y\')?\'y\':\'2f\';G(2 v M a.3){a.3[v].9.8.1s=b}}4(13.1e.K(\'14\')!=-1){E.1t(a)}},1t:7(a){4(a.F.14.K(\'2g\')!=-1){2 b=a.F.14;b=1u(b.2h(b.1v(\'=\')+1,b.1v(\')\')),10)/2i;a.3.N.9.8.14=a.F.14;a.3.C.I.2j=b}},15:7(a){2k(7(){E.1f(a)},1)},2l:7(a){2 b=a.1O(\',\');G(2 i=0;i<b.2m;i++){6.1o.1c(b[i],\'12:2n(E.1P(6))\')}},1f:7(a){a.S.1Q=\'\';6.1R(a);6.16(a);6.1t(a);4(a.O){6.1S(a)}},1T:7(b){2 c=6;2 d={2o:\'16\',2p:\'16\'};4(b.17==\'A\'){2 e={2q:\'15\',2r:\'15\',2s:\'15\',2t:\'15\'};G(2 a M e){d[a]=e[a]}}G(2 h M d){b.11(\'1w\'+h,7(){c[d[h]](b)})}b.11(\'2u\',6.1N)},1x:7(a){a.8.2v=1;4(a.F.Q==\'2w\'){a.8.Q=\'2x\'}},1S:7(a){2 b={\'2y\':P,\'2z\':P,\'2A\':P};G(2 s M b){a.3.N.9.8[s]=a.F[s]}},1R:7(a){4(!a.F){1g}U{2 b=a.F}G(2 v M a.3){a.3[v].9.8.1U=b.1U}a.S.18=\'\';a.S.19=\'\';2 c=(b.18==\'1V\');2 d=P;4(b.19!=\'y\'||a.O){4(!a.O){a.D=b.19;a.D=a.D.2B(5,a.D.1v(\'")\')-5)}U{a.D=a.1h}2 e=6;4(!e.Z[a.D]){2 f=x.1m(\'1J\');e.Z[a.D]=f;f.2C=e.J+\'1K\';f.S.1Q=\'12:y; Q:1p; 1y:-1r; 1d:-1r; 1q:y;\';f.11(\'2D\',7(){6.1i=6.2E;6.1j=6.2F;e.16(a)});f.1h=a.D;f.1W(\'1i\');f.1W(\'1j\');x.1X.1n(f,x.1X.1b)}a.3.C.I.1h=a.D;d=V}a.3.C.I.1w=!d;a.3.C.I.N=\'y\';a.3.N.9.8.18=b.18;a.S.19=\'y\';a.S.18=\'1V\'},16:7(e){2 f=e.F;2 g={\'W\':e.2G+1,\'H\':e.2H+1,\'w\':6.Z[e.D].1i,\'h\':6.Z[e.D].1j,\'L\':e.2I,\'T\':e.2J,\'1k\':e.2K,\'1z\':e.2L};2 i=(g.L+g.1k==1)?1:0;2 j=7(a,l,t,w,h,o){a.2M=w+\',\'+h;a.2N=o+\',\'+o;a.2O=\'2P,1Y\'+w+\',1Y\'+w+\',\'+h+\'2Q,\'+h+\' 2R\';a.8.1i=w+\'u\';a.8.1j=h+\'u\';a.8.1y=l+\'u\';a.8.1d=t+\'u\'};j(e.3.N.9,(g.L+(e.O?0:g.1k)),(g.T+(e.O?0:g.1z)),(g.W-1),(g.H-1),0);j(e.3.C.9,(g.L+g.1k),(g.T+g.1z),(g.W),(g.H),1);2 k={\'X\':0,\'Y\':0};2 m=7(a,b){2 c=P;2S(b){1a\'1y\':1a\'1d\':k[a]=0;1A;1a\'2T\':k[a]=.5;1A;1a\'2U\':1a\'2V\':k[a]=1;1A;1I:4(b.K(\'%\')!=-1){k[a]=1u(b)*.2W}U{c=V}}2 d=(a==\'X\');k[a]=2X.2Y(c?((g[d?\'W\':\'H\']*k[a])-(g[d?\'w\':\'h\']*k[a])):1u(b));4(k[a]==0){k[a]++}};G(2 b M k){m(b,f[\'2Z\'+b])}e.3.C.I.Q=(k.X/g.W)+\',\'+(k.Y/g.H);2 n=f.30;2 p={\'T\':1,\'R\':g.W+i,\'B\':g.H,\'L\':1+i};2 q={\'X\':{\'1B\':\'L\',\'1C\':\'R\',\'d\':\'W\'},\'Y\':{\'1B\':\'T\',\'1C\':\'B\',\'d\':\'H\'}};4(n!=\'1D\'){2 c={\'T\':(k.Y),\'R\':(k.X+g.w),\'B\':(k.Y+g.h),\'L\':(k.X)};4(n.K(\'1D-\')!=-1){2 v=n.1O(\'1D-\')[1].31();c[q[v].1B]=1;c[q[v].1C]=g[q[v].d]}4(c.B>g.H){c.B=g.H}e.3.C.9.8.1Z=\'20(\'+c.T+\'u \'+(c.R+i)+\'u \'+c.B+\'u \'+(c.L+i)+\'u)\'}U{e.3.C.9.8.1Z=\'20(\'+p.T+\'u \'+p.R+\'u \'+p.B+\'u \'+p.L+\'u)\'}},1P:7(a){a.8.12=\'y\';4(a.17==\'32\'||a.17==\'33\'||a.17==\'34\'){1g}a.O=V;4(a.17==\'35\'){4(a.1h.21().K(/\\.22$/)!=-1){a.O=P;a.8.1L=\'1M\'}U{1g}}U 4(a.F.19.21().K(\'.22\')==-1){1g}2 b=E;a.3={N:{},C:{}};2 c={9:{},I:{}};G(2 r M a.3){G(2 e M c){2 d=b.J+\':\'+e;a.3[r][e]=x.1m(d)}a.3[r].9.36=V;a.3[r].9.37(a.3[r].I);a.38.1n(a.3[r].9,a)}a.3.C.9.39=\'y\';a.3.C.I.3a=\'3b\';a.3.N.I.1w=V;b.1T(a);b.1x(a);b.1x(a.3c);b.1f(a)}};3d{x.3e("3f",V,P)}3g(r){}E.1E();E.1G();',62,203,'||var|vml|if||this|function|style|shape|||||||||||||||||||||px|||document|none||||image|vmlBg|DD_belatedPNG|currentStyle|for||fill|ns|search||in|color|isImg|true|position||runtimeStyle||else|false||||imgSize||attachEvent|behavior|event|filter|handlePseudoHover|vmlOffsets|nodeName|backgroundColor|backgroundImage|case|firstChild|addRule|top|propertyName|applyVML|return|src|width|height|bLW|namespaces|createElement|insertBefore|styleSheet|absolute|border|10000px|display|vmlOpacity|parseInt|lastIndexOf|on|giveLayout|left|bTW|break|b1|b2|repeat|createVmlNameSpace|window|createVmlStyleSheet|documentElement|default|img|_sizeFinder|visibility|hidden|readPropertyChange|split|fixPng|cssText|vmlFill|copyImageBorders|attachHandlers|zIndex|transparent|removeAttribute|body|0l|clip|rect|toLowerCase|png|add|urn|schemas|microsoft|com|onbeforeunload|null|url|VML|index|srcElement|background|block|lpha|substring|100|opacity|setTimeout|fix|length|expression|resize|move|mouseleave|mouseenter|focus|blur|onpropertychange|zoom|static|relative|borderStyle|borderWidth|borderColor|substr|className|onload|offsetWidth|offsetHeight|clientWidth|clientHeight|offsetLeft|offsetTop|clientLeft|clientTop|coordsize|coordorigin|path|m0|l0|xe|switch|center|right|bottom|01|Math|ceil|backgroundPosition|backgroundRepeat|toUpperCase|BODY|TD|TR|IMG|stroked|appendChild|parentNode|fillcolor|type|tile|offsetParent|try|execCommand|BackgroundImageCache|catch'.split('|'),0,{}))
View
51 mingus/media/static/prettyify/lang-apollo.js
@@ -0,0 +1,51 @@
+// Copyright (C) 2009 Onno Hommes.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+/**
+ * @fileoverview
+ * Registers a language handler for the AGC/AEA Assembly Language as described
+ * at http://virtualagc.googlecode.com
+ * <p>
+ * This file could be used by goodle code to allow syntax highlight for
+ * Virtual AGC SVN repository or if you don't want to commonize
+ * the header for the agc/aea html assembly listing.
+ *
+ * @author ohommes@alumni.cmu.edu
+ */
+
+PR.registerLangHandler(
+ PR.createSimpleLexer(
+ [
+ // A line comment that starts with ;
+ [PR.PR_COMMENT, /^#[^\r\n]*/, null, '#'],
+ // Whitespace
+ [PR.PR_PLAIN, /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'],
+ // A double quoted, possibly multi-line, string.
+ [PR.PR_STRING, /^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/, null, '"']
+ ],
+ [
+ [PR.PR_KEYWORD, /^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/,null],
+ [PR.PR_TYPE, /^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[SE]?BANK\=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],
+ // A single quote possibly followed by a word that optionally ends with
+ // = ! or ?.
+ [PR.PR_LITERAL,
+ /^\'(?:-*(?:\w|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?)?/],
+ // Any word including labels that optionally ends with = ! or ?.
+ [PR.PR_PLAIN,
+ /^-*(?:[!-z_]|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?/i],
+ // A printable non-space non-special character
+ [PR.PR_PUNCTUATION, /^[^\w\t\n\r \xA0()\"\\\';]+/]
+ ]),
+ ['apollo', 'agc', 'aea']);
View
78 mingus/media/static/prettyify/lang-css.js
@@ -0,0 +1,78 @@
+// Copyright (C) 2009 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+
+/**
+ * @fileoverview
+ * Registers a language handler for CSS.
+ *
+ *
+ * To use, include prettify.js and this file in your HTML page.
+ * Then put your code in an HTML tag like
+ * <pre class="prettyprint lang-css"></pre>
+ *
+ *
+ * http://www.w3.org/TR/CSS21/grammar.html Section G2 defines the lexical
+ * grammar. This scheme does not recognize keywords containing escapes.
+ *
+ * @author mikesamuel@gmail.com
+ */
+
+PR.registerLangHandler(
+ PR.createSimpleLexer(
+ [
+ // The space production <s>
+ [PR.PR_PLAIN, /^[ \t\r\n\f]+/, null, ' \t\r\n\f']
+ ],
+ [
+ // Quoted strings. <string1> and <string2>
+ [PR.PR_STRING,
+ /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null],
+ [PR.PR_STRING,
+ /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null],
+ ['lang-css-str', /^url\(([^\)\"\']*)\)/i],
+ [PR.PR_KEYWORD,
+ /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,
+ null],
+ // A property name -- an identifier followed by a colon.
+ ['lang-css-kw', /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],
+ // A C style block comment. The <comment> production.
+ [PR.PR_COMMENT, /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],
+ // Escaping text spans
+ [PR.PR_COMMENT, /^(?:<!--|-->)/],
+ // A number possibly containing a suffix.
+ [PR.PR_LITERAL, /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],
+ // A hex color
+ [PR.PR_LITERAL, /^#(?:[0-9a-f]{3}){1,2}/i],
+ // An identifier
+ [PR.PR_PLAIN,
+ /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],
+ // A run of punctuation
+ [PR.PR_PUNCTUATION, /^[^\s\w\'\"]+/]
+ ]),
+ ['css']);
+PR.registerLangHandler(
+ PR.createSimpleLexer([],
+ [
+ [PR.PR_KEYWORD,
+ /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]
+ ]),
+ ['css-kw']);
+PR.registerLangHandler(
+ PR.createSimpleLexer([],
+ [
+ [PR.PR_STRING, /^[^\)\"\']+/]
+ ]),
+ ['css-str']);
View
101 mingus/media/static/prettyify/lang-hs.js
@@ -0,0 +1,101 @@
+// Copyright (C) 2009 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+
+/**
+ * @fileoverview
+ * Registers a language handler for Haskell.
+ *
+ *
+ * To use, include prettify.js and this file in your HTML page.
+ * Then put your code in an HTML tag like
+ * <pre class="prettyprint lang-hs">(my lisp code)</pre>
+ * The lang-cl class identifies the language as common lisp.
+ * This file supports the following language extensions:
+ * lang-cl - Common Lisp
+ * lang-el - Emacs Lisp
+ * lang-lisp - Lisp
+ * lang-scm - Scheme
+ *
+ *
+ * I used http://www.informatik.uni-freiburg.de/~thiemann/haskell/haskell98-report-html/syntax-iso.html
+ * as the basis, but ignore the way the ncomment production nests since this
+ * makes the lexical grammar irregular. It might be possible to support
+ * ncomments using the lookbehind filter.
+ *
+ *
+ * @author mikesamuel@gmail.com
+ */
+
+PR.registerLangHandler(
+ PR.createSimpleLexer(
+ [
+ // Whitespace
+ // whitechar -> newline | vertab | space | tab | uniWhite
+ // newline -> return linefeed | return | linefeed | formfeed
+ [PR.PR_PLAIN, /^[\t\n\x0B\x0C\r ]+/, null, '\t\n\x0B\x0C\r '],
+ // Single line double and single-quoted strings.
+ // char -> ' (graphic<' | \> | space | escape<\&>) '
+ // string -> " {graphic<" | \> | space | escape | gap}"
+ // escape -> \ ( charesc | ascii | decimal | o octal
+ // | x hexadecimal )
+ // charesc -> a | b | f | n | r | t | v | \ | " | ' | &
+ [PR.PR_STRING, /^\"(?:[^\"\\\n\x0C\r]|\\[\s\S])*(?:\"|$)/,
+ null, '"'],
+ [PR.PR_STRING, /^\'(?:[^\'\\\n\x0C\r]|\\[^&])\'?/,
+ null, "'"],
+ // decimal -> digit{digit}
+ // octal -> octit{octit}
+ // hexadecimal -> hexit{hexit}
+ // integer -> decimal
+ // | 0o octal | 0O octal
+ // | 0x hexadecimal | 0X hexadecimal
+ // float -> decimal . decimal [exponent]
+ // | decimal exponent
+ // exponent -> (e | E) [+ | -] decimal
+ [PR.PR_LITERAL,
+ /^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+\-]?\d+)?)/i,
+ null, '0123456789']
+ ],
+ [
+ // Haskell does not have a regular lexical grammar due to the nested
+ // ncomment.
+ // comment -> dashes [ any<symbol> {any}] newline
+ // ncomment -> opencom ANYseq {ncomment ANYseq}closecom
+ // dashes -> '--' {'-'}
+ // opencom -> '{-'
+ // closecom -> '-}'
+ [PR.PR_COMMENT, /^(?:(?:--+(?:[^\r\n\x0C]*)?)|(?:\{-(?:[^-]|-+[^-\}])*-\}))/],
+ // reservedid -> case | class | data | default | deriving | do
+ // | else | if | import | in | infix | infixl | infixr
+ // | instance | let | module | newtype | of | then
+ // | type | where | _
+ [PR.PR_KEYWORD, /^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^a-zA-Z0-9\']|$)/, null],
+ // qvarid -> [ modid . ] varid
+ // qconid -> [ modid . ] conid
+ // varid -> (small {small | large | digit | ' })<reservedid>
+ // conid -> large {small | large | digit | ' }
+ // modid -> conid
+ // small -> ascSmall | uniSmall | _
+ // ascSmall -> a | b | ... | z
+ // uniSmall -> any Unicode lowercase letter
+ // large -> ascLarge | uniLarge
+ // ascLarge -> A | B | ... | Z
+ // uniLarge -> any uppercase or titlecase Unicode letter
+ [PR.PR_PLAIN, /^(?:[A-Z][\w\']*\.)*[a-zA-Z][\w\']*/],
+ // matches the symbol production
+ [PR.PR_PUNCTUATION, /^[^\t\n\x0B\x0C\r a-zA-Z0-9\'\"]+/]
+ ]),
+ ['hs']);
View
93 mingus/media/static/prettyify/lang-lisp.js
@@ -0,0 +1,93 @@
+// Copyright (C) 2008 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+
+/**
+ * @fileoverview
+ * Registers a language handler for Common Lisp and related languages.
+ *
+ *
+ * To use, include prettify.js and this file in your HTML page.
+ * Then put your code in an HTML tag like
+ * <pre class="prettyprint lang-lisp">(my lisp code)</pre>
+ * The lang-cl class identifies the language as common lisp.
+ * This file supports the following language extensions:
+ * lang-cl - Common Lisp
+ * lang-el - Emacs Lisp
+ * lang-lisp - Lisp
+ * lang-scm - Scheme
+ *
+ *
+ * I used http://www.devincook.com/goldparser/doc/meta-language/grammar-LISP.htm
+ * as the basis, but added line comments that start with ; and changed the atom
+ * production to disallow unquoted semicolons.
+ *
+ * "Name" = 'LISP'
+ * "Author" = 'John McCarthy'
+ * "Version" = 'Minimal'
+ * "About" = 'LISP is an abstract language that organizes ALL'
+ * | 'data around "lists".'
+ *
+ * "Start Symbol" = [s-Expression]
+ *
+ * {Atom Char} = {Printable} - {Whitespace} - [()"\'']
+ *
+ * Atom = ( {Atom Char} | '\'{Printable} )+
+ *
+ * [s-Expression] ::= [Quote] Atom
+ * | [Quote] '(' [Series] ')'
+ * | [Quote] '(' [s-Expression] '.' [s-Expression] ')'
+ *
+ * [Series] ::= [s-Expression] [Series]
+ * |
+ *
+ * [Quote] ::= '' !Quote = do not evaluate
+ * |
+ *
+ *
+ * I used <a href="http://gigamonkeys.com/book/">Practical Common Lisp</a> as
+ * the basis for the reserved word list.
+ *
+ *
+ * @author mikesamuel@gmail.com
+ */
+
+PR.registerLangHandler(
+ PR.createSimpleLexer(
+ [
+ ['opn', /^\(/, null, '('],
+ ['clo', /^\)/, null, ')'],
+ // A line comment that starts with ;
+ [PR.PR_COMMENT, /^;[^\r\n]*/, null, ';'],
+ // Whitespace
+ [PR.PR_PLAIN, /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'],
+ // A double quoted, possibly multi-line, string.
+ [PR.PR_STRING, /^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/, null, '"']
+ ],
+ [
+ [PR.PR_KEYWORD, /^(?:block|c[ad]+r|catch|cons|defun|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/, null],
+ [PR.PR_LITERAL,
+ /^[+\-]?(?:0x[0-9a-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[ed][+\-]?\d+)?)/i],
+ // A single quote possibly followed by a word that optionally ends with
+ // = ! or ?.
+ [PR.PR_LITERAL,
+ /^\'(?:-*(?:\w|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?)?/],
+ // A word that optionally ends with = ! or ?.
+ [PR.PR_PLAIN,
+ /^-*(?:[a-z_]|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?/i],
+ // A printable non-space non-special character
+ [PR.PR_PUNCTUATION, /^[^\w\t\n\r \xA0()\"\\\';]+/]
+ ]),
+ ['cl', 'el', 'lisp', 'scm']);
View
59 mingus/media/static/prettyify/lang-lua.js
@@ -0,0 +1,59 @@
+// Copyright (C) 2008 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+
+/**
+ * @fileoverview
+ * Registers a language handler for LUA.
+ *
+ *
+ * To use, include prettify.js and this file in your HTML page.
+ * Then put your code in an HTML tag like
+ * <pre class="prettyprint lang-lua">(my LUA code)</pre>
+ *
+ *
+ * I used http://www.lua.org/manual/5.1/manual.html#2.1
+ * Because of the long-bracket concept used in strings and comments, LUA does
+ * not have a regular lexical grammar, but luckily it fits within the space
+ * of irregular grammars supported by javascript regular expressions.
+ *
+ * @author mikesamuel@gmail.com
+ */
+
+PR.registerLangHandler(
+ PR.createSimpleLexer(
+ [
+ // Whitespace
+ [PR.PR_PLAIN, /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'],
+ // A double or single quoted, possibly multi-line, string.
+ [PR.PR_STRING, /^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/, null, '"\'']
+ ],
+ [
+ // A comment is either a line comment that starts with two dashes, or
+ // two dashes preceding a long bracketed block.
+ [PR.PR_COMMENT, /^--(?:\[(=*)\[[\s\S]*?(?:\]\1\]|$)|[^\r\n]*)/],
+ // A long bracketed block not preceded by -- is a string.
+ [PR.PR_STRING, /^\[(=*)\[[\s\S]*?(?:\]\1\]|$)/],
+ [PR.PR_KEYWORD, /^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/, null],
+ // A number is a hex integer literal, a decimal real literal, or in
+ // scientific notation.
+ [PR.PR_LITERAL,
+ /^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],
+ // An identifier
+ [PR.PR_PLAIN, /^[a-z_]\w*/i],
+ // A run of punctuation
+ [PR.PR_PUNCTUATION, /^[^\w\t\n\r \xA0][^\w\t\n\r \xA0\"\-\+=]*/]
+ ]),
+ ['lua']);
View
56 mingus/media/static/prettyify/lang-ml.js
@@ -0,0 +1,56 @@
+// Copyright (C) 2008 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+
+/**
+ * @fileoverview
+ * Registers a language handler for OCaml, SML, F# and similar languages.
+ *
+ * Based on the lexical grammar at
+ * http://research.microsoft.com/fsharp/manual/spec2.aspx#_Toc202383715
+ *
+ * @author mikesamuel@gmail.com
+ */
+
+PR.registerLangHandler(
+ PR.createSimpleLexer(
+ [
+ // Whitespace is made up of spaces, tabs and newline characters.
+ [PR.PR_PLAIN, /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'],
+ // #if ident/#else/#endif directives delimit conditional compilation
+ // sections
+ [PR.PR_COMMENT,
+ /^#(?:if[\t\n\r \xA0]+(?:[a-z_$][\w\']*|``[^\r\n\t`]*(?:``|$))|else|endif|light)/i,
+ null, '#'],
+ // A double or single quoted, possibly multi-line, string.
+ // F# allows escaped newlines in strings.
+ [PR.PR_STRING, /^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/, null, '"\'']
+ ],
+ [
+ // Block comments are delimited by (* and *) and may be
+ // nested. Single-line comments begin with // and extend to
+ // the end of a line.
+ // TODO: (*...*) comments can be nested. This does not handle that.
+ [PR.PR_COMMENT, /^(?:\/\/[^\r\n]*|\(\*[\s\S]*?\*\))/],
+ [PR.PR_KEYWORD, /^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/],
+ // A number is a hex integer literal, a decimal real literal, or in
+ // scientific notation.
+ [PR.PR_LITERAL,
+ /^[+\-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],
+ [PR.PR_PLAIN, /^(?:[a-z_]\w*[!?#]?|``[^\r\n\t`]*(?:``|$))/i],
+ // A printable non-space non-special character
+ [PR.PR_PUNCTUATION, /^[^\t\n\r \xA0\"\'\w]+/]
+ ]),
+ ['fs', 'ml']);
View
35 mingus/media/static/prettyify/lang-proto.js
@@ -0,0 +1,35 @@
+// Copyright (C) 2006 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+/**
+ * @fileoverview
+ * Registers a language handler for Protocol Buffers as described at
+ * http://code.google.com/p/protobuf/.
+ *
+ * Based on the lexical grammar at
+ * http://research.microsoft.com/fsharp/manual/spec2.aspx#_Toc202383715
+ *
+ * @author mikesamuel@gmail.com
+ */
+
+PR.registerLangHandler(PR.sourceDecorator({
+ keywords: (
+ 'bool bytes default double enum extend extensions false fixed32 '
+ + 'fixed64 float group import int32 int64 max message option '
+ + 'optional package repeated required returns rpc service '
+ + 'sfixed32 sfixed64 sint32 sint64 string syntax to true uint32 '
+ + 'uint64'),
+ cStyleComments: true
+ }), ['proto']);
View
57 mingus/media/static/prettyify/lang-sql.js
@@ -0,0 +1,57 @@
+// Copyright (C) 2008 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+
+/**
+ * @fileoverview
+ * Registers a language handler for SQL.
+ *
+ *
+ * To use, include prettify.js and this file in your HTML page.
+ * Then put your code in an HTML tag like
+ * <pre class="prettyprint lang-sql">(my SQL code)</pre>
+ *
+ *
+ * http://savage.net.au/SQL/sql-99.bnf.html is the basis for the grammar, and
+ * http://msdn.microsoft.com/en-us/library/aa238507(SQL.80).aspx as the basis
+ * for the keyword list.
+ *
+ * @author mikesamuel@gmail.com
+ */
+
+PR.registerLangHandler(
+ PR.createSimpleLexer(
+ [
+ // Whitespace
+ [PR.PR_PLAIN, /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'],
+ // A double or single quoted, possibly multi-line, string.
+ [PR.PR_STRING, /^(?:"(?:[^\"\\]|\\.)*"|'(?:[^\'\\]|\\.)*')/, null,
+ '"\'']
+ ],
+ [
+ // A comment is either a line comment that starts with two dashes, or
+ // two dashes preceding a long bracketed block.
+ [PR.PR_COMMENT, /^(?:--[^\r\n]*|\/\*[\s\S]*?(?:\*\/|$))/],
+ [PR.PR_KEYWORD, /^(?:ADD|ALL|ALTER|AND|ANY|AS|ASC|AUTHORIZATION|BACKUP|BEGIN|BETWEEN|BREAK|BROWSE|BULK|BY|CASCADE|CASE|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COMMIT|COMPUTE|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|CURSOR|DATABASE|DBCC|DEALLOCATE|DECLARE|DEFAULT|DELETE|DENY|DESC|DISK|DISTINCT|DISTRIBUTED|DOUBLE|DROP|DUMMY|DUMP|ELSE|END|ERRLVL|ESCAPE|EXCEPT|EXEC|EXECUTE|EXISTS|EXIT|FETCH|FILE|FILLFACTOR|FOR|FOREIGN|FREETEXT|FREETEXTTABLE|FROM|FULL|FUNCTION|GOTO|GRANT|GROUP|HAVING|HOLDLOCK|IDENTITY|IDENTITYCOL|IDENTITY_INSERT|IF|IN|INDEX|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KILL|LEFT|LIKE|LINENO|LOAD|NATIONAL|NOCHECK|NONCLUSTERED|NOT|NULL|NULLIF|OF|OFF|OFFSETS|ON|OPEN|OPENDATASOURCE|OPENQUERY|OPENROWSET|OPENXML|OPTION|OR|ORDER|OUTER|OVER|PERCENT|PLAN|PRECISION|PRIMARY|PRINT|PROC|PROCEDURE|PUBLIC|RAISERROR|READ|READTEXT|RECONFIGURE|REFERENCES|REPLICATION|RESTORE|RESTRICT|RETURN|REVOKE|RIGHT|ROLLBACK|ROWCOUNT|ROWGUIDCOL|RULE|SAVE|SCHEMA|SELECT|SESSION_USER|SET|SETUSER|SHUTDOWN|SOME|STATISTICS|SYSTEM_USER|TABLE|TEXTSIZE|THEN|TO|TOP|TRAN|TRANSACTION|TRIGGER|TRUNCATE|TSEQUAL|UNION|UNIQUE|UPDATE|UPDATETEXT|USE|USER|VALUES|VARYING|VIEW|WAITFOR|WHEN|WHERE|WHILE|WITH|WRITETEXT)(?=[^\w-]|$)/i, null],
+ // A number is a hex integer literal, a decimal real literal, or in
+ // scientific notation.
+ [PR.PR_LITERAL,
+ /^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],
+ // An identifier
+ [PR.PR_PLAIN, /^[a-z_][\w-]*/i],
+ // A run of punctuation
+ [PR.PR_PUNCTUATION, /^[^\w\t\n\r \xA0]+/]
+ ]),
+ ['sql']);
View
61 mingus/media/static/prettyify/lang-vb.js
@@ -0,0 +1,61 @@
+// Copyright (C) 2009 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+
+/**
+ * @fileoverview
+ * Registers a language handler for various flavors of basic.
+ *
+ *
+ * To use, include prettify.js and this file in your HTML page.
+ * Then put your code in an HTML tag like
+ * <pre class="prettyprint lang-vb"></pre>
+ *
+ *
+ * http://msdn.microsoft.com/en-us/library/aa711638(VS.71).aspx defines the
+ * visual basic grammar lexical grammar.
+ *
+ * @author mikesamuel@gmail.com
+ */
+
+PR.registerLangHandler(
+ PR.createSimpleLexer(
+ [
+ // Whitespace
+ [PR.PR_PLAIN, /^[\t\n\r \xA0\u2028\u2029]+/, null, '\t\n\r \xA0\u2028\u2029'],
+ // A double quoted string with quotes escaped by doubling them.
+ // A single character can be suffixed with C.
+ [PR.PR_STRING, /^(?:[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})(?:[\"\u201C\u201D]c|$)|[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})*(?:[\"\u201C\u201D]|$))/i, null,
+ '"\u201C\u201D'],
+ // A comment starts with a single quote and runs until the end of the
+ // line.
+ [PR.PR_COMMENT, /^[\'\u2018\u2019][^\r\n\u2028\u2029]*/, null, '\'\u2018\u2019']
+ ],
+ [
+ [PR.PR_KEYWORD, /^(?:AddHandler|AddressOf|Alias|And|AndAlso|Ansi|As|Assembly|Auto|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|CBool|CByte|CChar|CDate|CDbl|CDec|Char|CInt|Class|CLng|CObj|Const|CShort|CSng|CStr|CType|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else|ElseIf|End|EndIf|Enum|Erase|Error|Event|Exit|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|NotInheritable|NotOverridable|Object|On|Option|Optional|Or|OrElse|Overloads|Overridable|Overrides|ParamArray|Preserve|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|Select|Set|Shadows|Shared|Short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TypeOf|Unicode|Until|Variant|Wend|When|While|With|WithEvents|WriteOnly|Xor|EndIf|GoSub|Let|Variant|Wend)\b/i, null],
+ // A second comment form
+ [PR.PR_COMMENT, /^REM[^\r\n\u2028\u2029]*/i],
+ // A boolean, numeric, or date literal.
+ [PR.PR_LITERAL,
+ /^(?:True\b|False\b|Nothing\b|\d+(?:E[+\-]?\d+[FRD]?|[FRDSIL])?|(?:&H[0-9A-F]+|&O[0-7]+)[SIL]?|\d*\.\d+(?:E[+\-]?\d+)?[FRD]?|#\s+(?:\d+[\-\/]\d+[\-\/]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)?|\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)\s+#)/i],
+ // An identifier?
+ [PR.PR_PLAIN, /^(?:(?:[a-z]|_\w)\w*|\[(?:[a-z]|_\w)\w*\])/i],
+ // A run of punctuation
+ [PR.PR_PUNCTUATION,
+ /^[^\w\t\n\r \"\'\[\]\xA0\u2018\u2019\u201C\u201D\u2028\u2029]+/],
+ // Square brackets
+ [PR.PR_PUNCTUATION, /^(?:\[|\])/]
+ ]),
+ ['vb', 'vbs']);
View
53 mingus/media/static/prettyify/lang-wiki.js
@@ -0,0 +1,53 @@
+// Copyright (C) 2009 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+/**
+ * @fileoverview
+ * Registers a language handler for Wiki pages.
+ *
+ * Based on WikiSyntax at http://code.google.com/p/support/wiki/WikiSyntax
+ *
+ * @author mikesamuel@gmail.com
+ */
+
+PR.registerLangHandler(
+ PR.createSimpleLexer(
+ [
+ // Whitespace
+ [PR.PR_PLAIN, /^[\t \xA0a-gi-z0-9]+/, null,
+ '\t \xA0abcdefgijklmnopqrstuvwxyz0123456789'],
+ // Wiki formatting
+ [PR.PR_PUNCTUATION, /^[=*~\^\[\]]+/, null, '=*~^[]']
+ ],
+ [
+ // Meta-info like #summary, #labels, etc.
+ ['lang-wiki.meta', /(?:^^|\r\n?|\n)(#[a-z]+)\b/],
+ // A WikiWord
+ [PR.PR_LITERAL, /^(?:[A-Z][a-z][a-z0-9]+[A-Z][a-z][a-zA-Z0-9]+)\b/
+ ],
+ // A preformatted block in an unknown language
+ ['lang-', /^\{\{\{([\s\S]+?)\}\}\}/],
+ // A block of source code in an unknown language
+ ['lang-', /^`([^\r\n`]+)`/],
+ // An inline URL.
+ [PR.PR_STRING,
+ /^https?:\/\/[^\/?#\s]*(?:\/[^?#\s]*)?(?:\?[^#\s]*)?(?:#\S*)?/i],
+ [PR.PR_PLAIN, /^(?:\r\n|[\s\S])[^#=*~^A-Zh\{`\[\r\n]*/]
+ ]),
+ ['wiki']);
+
+PR.registerLangHandler(
+ PR.createSimpleLexer([[PR.PR_KEYWORD, /^#[a-z]+/i, null, '#']], []),
+ ['wiki.meta']);
View
27 mingus/media/static/prettyify/prettify.css
@@ -0,0 +1,27 @@
+/* Pretty printing styles. Used with prettify.js. */
+
+.str { color: #080; }
+.kwd { color: #008; }
+.com { color: #800; }
+.typ { color: #606; }
+.lit { color: #066; }
+.pun { color: #660; }
+.pln { color: #000; }
+.tag { color: #008; }
+.atn { color: #606; }
+.atv { color: #080; }
+.dec { color: #606; }
+pre.prettyprint { padding: 2px; border: 1px solid #888; }
+
+@media print {
+ .str { color: #060; }
+ .kwd { color: #006; font-weight: bold; }
+ .com { color: #600; font-style: italic; }
+ .typ { color: #404; font-weight: bold; }
+ .lit { color: #044; }
+ .pun { color: #440; }
+ .pln { color: #000; }
+ .tag { color: #006; font-weight: bold; }
+ .atn { color: #404; }
+ .atv { color: #060; }
+}
View
1,425 mingus/media/static/prettyify/prettify.js
@@ -0,0 +1,1425 @@
+// Copyright (C) 2006 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+/**
+ * @fileoverview
+ * some functions for browser-side pretty printing of code contained in html.
+ *
+ * The lexer should work on a number of languages including C and friends,
+ * Java, Python, Bash, SQL, HTML, XML, CSS, Javascript, and Makefiles.
+ * It works passably on Ruby, PHP and Awk and a decent subset of Perl, but,
+ * because of commenting conventions, doesn't work on Smalltalk, Lisp-like, or
+ * CAML-like languages.
+ *
+ * If there's a language not mentioned here, then I don't know it, and don't
+ * know whether it works. If it has a C-like, Bash-like, or XML-like syntax
+ * then it should work passably.
+ *
+ * Usage:
+ * 1) include this source file in an html page via
+ * <script type="text/javascript" src="/path/to/prettify.js"></script>
+ * 2) define style rules. See the example page for examples.
+ * 3) mark the <pre> and <code> tags in your source with class=prettyprint.
+ * You can also use the (html deprecated) <xmp> tag, but the pretty printer
+ * needs to do more substantial DOM manipulations to support that, so some
+ * css styles may not be preserved.
+ * That's it. I wanted to keep the API as simple as possible, so there's no
+ * need to specify which language the code is in.
+ *
+ * Change log:
+ * cbeust, 2006/08/22
+ * Java annotations (start with "@") are now captured as literals ("lit")
+ */
+
+// JSLint declarations
+/*global console, document, navigator, setTimeout, window */
+
+/**
+ * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
+ * UI events.
+ * If set to {@code false}, {@code prettyPrint()} is synchronous.
+ */
+window['PR_SHOULD_USE_CONTINUATION'] = true;
+
+/** the number of characters between tab columns */
+window['PR_TAB_WIDTH'] = 8;
+
+/** Walks the DOM returning a properly escaped version of innerHTML.
+ * @param {Node} node
+ * @param {Array.<string>} out output buffer that receives chunks of HTML.
+ */
+window['PR_normalizedHtml']
+
+/** Contains functions for creating and registering new language handlers.
+ * @type {Object}
+ */
+ = window['PR']
+
+/** Pretty print a chunk of code.
+ *
+ * @param {string} sourceCodeHtml code as html
+ * @return {string} code as html, but prettier
+ */
+ = window['prettyPrintOne']
+/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
+ * {@code class=prettyprint} and prettify them.
+ * @param {Function?} opt_whenDone if specified, called when the last entry
+ * has been finished.
+ */
+ = window['prettyPrint'] = void 0;
+
+/** browser detection. @extern */
+window['_pr_isIE6'] = function () {
+ var isIE6 = navigator && navigator.userAgent &&
+ /\bMSIE 6\./.test(navigator.userAgent);
+ window['_pr_isIE6'] = function () { return isIE6; };
+ return isIE6;
+};
+
+
+(function () {
+ // Keyword lists for various languages.
+ var FLOW_CONTROL_KEYWORDS =
+ "break continue do else for if return while ";
+ var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
+ "double enum extern float goto int long register short signed sizeof " +
+ "static struct switch typedef union unsigned void volatile ";
+ var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
+ "new operator private protected public this throw true try ";
+ var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
+ "concept concept_map const_cast constexpr decltype " +
+ "dynamic_cast explicit export friend inline late_check " +
+ "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
+ "template typeid typename typeof using virtual wchar_t where ";
+ var JAVA_KEYWORDS = COMMON_KEYWORDS +
+ "boolean byte extends final finally implements import instanceof null " +
+ "native package strictfp super synchronized throws transient ";
+ var CSHARP_KEYWORDS = JAVA_KEYWORDS +
+ "as base by checked decimal delegate descending event " +
+ "fixed foreach from group implicit in interface internal into is lock " +
+ "object out override orderby params partial readonly ref sbyte sealed " +
+ "stackalloc string select uint ulong unchecked unsafe ushort var ";
+ var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
+ "debugger eval export function get null set undefined var with " +
+ "Infinity NaN ";
+ var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
+ "goto if import last local my next no our print package redo require " +
+ "sub undef unless until use wantarray while BEGIN END ";
+ var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
+ "elif except exec finally from global import in is lambda " +
+ "nonlocal not or pass print raise try with yield " +
+ "False True None ";
+ var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
+ " defined elsif end ensure false in module next nil not or redo rescue " +
+ "retry self super then true undef unless until when yield BEGIN END ";
+ var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
+ "function in local set then until ";
+ var ALL_KEYWORDS = (
+ CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
+ PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
+
+ // token style names. correspond to css classes
+ /** token style for a string literal */
+ var PR_STRING = 'str';
+ /** token style for a keyword */
+ var PR_KEYWORD = 'kwd';
+ /** token style for a comment */
+ var PR_COMMENT = 'com';
+ /** token style for a type */
+ var PR_TYPE = 'typ';
+ /** token style for a literal value. e.g. 1, null, true. */
+ var PR_LITERAL = 'lit';
+ /** token style for a punctuation string. */
+ var PR_PUNCTUATION = 'pun';
+ /** token style for a punctuation string. */
+ var PR_PLAIN = 'pln';
+
+ /** token style for an sgml tag. */
+ var PR_TAG = 'tag';
+ /** token style for a markup declaration such as a DOCTYPE. */
+ var PR_DECLARATION = 'dec';
+ /** token style for embedded source. */
+ var PR_SOURCE = 'src';
+ /** token style for an sgml attribute name. */
+ var PR_ATTRIB_NAME = 'atn';
+ /** token style for an sgml attribute value. */
+ var PR_ATTRIB_VALUE = 'atv';
+
+ /**
+ * A class that indicates a section of markup that is not code, e.g. to allow
+ * embedding of line numbers within code listings.
+ */
+ var PR_NOCODE = 'nocode';
+
+ /** A set of tokens that can precede a regular expression literal in
+ * javascript.
+ * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
+ * list, but I've removed ones that might be problematic when seen in
+ * languages that don't support regular expression literals.
+ *
+ * <p>Specifically, I've removed any keywords that can't precede a regexp
+ * literal in a syntactically legal javascript program, and I've removed the
+ * "in" keyword since it's not a keyword in many languages, and might be used
+ * as a count of inches.
+ *
+ * <p>The link a above does not accurately describe EcmaScript rules since
+ * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
+ * very well in practice.
+ *
+ * @private
+ */
+ var REGEXP_PRECEDER_PATTERN = function () {
+ var preceders = [
+ "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
+ "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
+ "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
+ "<", "<<", "<<=", "<=", "=", "==", "===", ">",
+ ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
+ "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
+ "||=", "~" /* handles =~ and !~ */,
+ "break", "case", "continue", "delete",
+ "do", "else", "finally", "instanceof",
+ "return", "throw", "try", "typeof"
+ ];
+ var pattern = '(?:^^|[+-]';
+ for (var i = 0; i < preceders.length; ++i) {
+ pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
+ }
+ pattern += ')\\s*'; // matches at end, and matches empty string
+ return pattern;
+ // CAVEAT: this does not properly handle the case where a regular
+ // expression immediately follows another since a regular expression may
+ // have flags for case-sensitivity and the like. Having regexp tokens
+ // adjacent is not valid in any language I'm aware of, so I'm punting.
+ // TODO: maybe style special characters inside a regexp as punctuation.
+ }();
+
+ // Define regexps here so that the interpreter doesn't have to create an
+ // object each time the function containing them is called.
+ // The language spec requires a new object created even if you don't access
+ // the $1 members.
+ var pr_amp = /&/g;
+ var pr_lt = /</g;
+ var pr_gt = />/g;
+ var pr_quot = /\"/g;
+ /** like textToHtml but escapes double quotes to be attribute safe. */