├── .gitignore ├── .idea ├── misc.xml ├── modules.xml ├── monitor.iml ├── vcs.xml └── workspace.xml ├── LICENSE ├── README.md ├── bin └── sentosa ├── blogapp ├── __init__.py ├── admin.py ├── forms.py ├── migrations │ ├── 0001_initial.py │ └── 0002_auto_20150602_2011.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── command.html ├── deb ├── amd64 │ └── index.html ├── index.html └── r.sh ├── djangod.py ├── holiday.yml ├── index.html ├── manage.py ├── qblog.png ├── qblog ├── __init__.py ├── jinja2.py ├── settings.py ├── urls.py └── wsgi.py ├── requirements.txt ├── run.sh ├── sentosa.yml ├── sentosaapp ├── __init__.py ├── admin.py ├── migrations │ └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── static ├── bootstrap-combined.no-icons.min.css ├── bootstrap │ └── dist │ │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ │ └── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ └── npm.js ├── constant.js ├── favicon.ico ├── fullpage.js ├── highstock │ └── js │ │ ├── adapters │ │ ├── standalone-framework.js │ │ └── standalone-framework.src.js │ │ ├── highcharts-3d.js │ │ ├── highcharts-3d.src.js │ │ ├── highcharts-more.js │ │ ├── highcharts-more.src.js │ │ ├── highstock-all.js │ │ ├── highstock.js │ │ ├── highstock.src.js │ │ ├── modules │ │ ├── canvas-tools.js │ │ ├── canvas-tools.src.js │ │ ├── data.js │ │ ├── data.src.js │ │ ├── drilldown.js │ │ ├── drilldown.src.js │ │ ├── exporting.js │ │ ├── exporting.src.js │ │ ├── funnel.js │ │ ├── funnel.src.js │ │ ├── heatmap.js │ │ ├── heatmap.src.js │ │ ├── no-data-to-display.js │ │ ├── no-data-to-display.src.js │ │ ├── solid-gauge.js │ │ ├── solid-gauge.src.js │ │ ├── treemap.js │ │ └── treemap.src.js │ │ └── themes │ │ ├── dark-blue.js │ │ ├── dark-green.js │ │ ├── dark-unica.js │ │ ├── gray.js │ │ ├── grid-light.js │ │ ├── grid.js │ │ ├── sand-signika.js │ │ └── skies.js ├── img │ ├── blog.png │ ├── home.png │ └── webmonitor.jpg ├── index.html ├── index.txt ├── index_ws.js ├── merlion.png ├── package.json ├── reconnecting-websocket.min.js ├── sentosa.js ├── smoothie.js ├── src │ ├── strapdown.css │ └── strapdown.js ├── symbol.js ├── tablesorter │ ├── __jquery.tablesorter.zip │ ├── addons │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ └── entries │ │ └── pager │ │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── jquery.tablesorter.pager.css.svn-base │ │ │ │ └── jquery.tablesorter.pager.js.svn-base │ │ │ └── text-base │ │ │ │ ├── jquery.tablesorter.pager.css.svn-base │ │ │ │ └── jquery.tablesorter.pager.js.svn-base │ │ │ ├── jquery.tablesorter.pager.css │ │ │ └── jquery.tablesorter.pager.js │ ├── build.xml │ ├── build │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── ParseMaster.js.svn-base │ │ │ │ ├── js.jar.svn-base │ │ │ │ ├── jsmin.js.svn-base │ │ │ │ ├── min.js.svn-base │ │ │ │ ├── pack.js.svn-base │ │ │ │ ├── packer.js.svn-base │ │ │ │ └── writeFile.js.svn-base │ │ │ └── text-base │ │ │ │ ├── ParseMaster.js.svn-base │ │ │ │ ├── js.jar.svn-base │ │ │ │ ├── jsmin.js.svn-base │ │ │ │ ├── min.js.svn-base │ │ │ │ ├── pack.js.svn-base │ │ │ │ ├── packer.js.svn-base │ │ │ │ └── writeFile.js.svn-base │ │ ├── ParseMaster.js │ │ ├── js.jar │ │ ├── jsmin.js │ │ ├── min.js │ │ ├── pack.js │ │ ├── packer.js │ │ └── writeFile.js │ ├── changelog │ ├── docs │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── example-ajax.html.svn-base │ │ │ │ ├── example-empty-table.html.svn-base │ │ │ │ ├── example-extending-defaults.html.svn-base │ │ │ │ ├── example-meta-headers.html.svn-base │ │ │ │ ├── example-meta-parsers.html.svn-base │ │ │ │ ├── example-meta-sort-list.html.svn-base │ │ │ │ ├── example-option-debug.html.svn-base │ │ │ │ ├── example-option-digits.html.svn-base │ │ │ │ ├── example-option-sort-force.html.svn-base │ │ │ │ ├── example-option-sort-key.html.svn-base │ │ │ │ ├── example-option-sort-list.html.svn-base │ │ │ │ ├── example-option-sort-order.html.svn-base │ │ │ │ ├── example-option-text-extraction.html.svn-base │ │ │ │ ├── example-options-headers.html.svn-base │ │ │ │ ├── example-pager.html.svn-base │ │ │ │ ├── example-parsers.html.svn-base │ │ │ │ ├── example-trigger-sort.html.svn-base │ │ │ │ ├── example-triggers.html.svn-base │ │ │ │ ├── example-update-cell.html.svn-base │ │ │ │ ├── example-widgets.html.svn-base │ │ │ │ └── index.html.svn-base │ │ │ └── text-base │ │ │ │ ├── example-ajax.html.svn-base │ │ │ │ ├── example-empty-table.html.svn-base │ │ │ │ ├── example-extending-defaults.html.svn-base │ │ │ │ ├── example-meta-headers.html.svn-base │ │ │ │ ├── example-meta-parsers.html.svn-base │ │ │ │ ├── example-meta-sort-list.html.svn-base │ │ │ │ ├── example-option-debug.html.svn-base │ │ │ │ ├── example-option-digits.html.svn-base │ │ │ │ ├── example-option-sort-force.html.svn-base │ │ │ │ ├── example-option-sort-key.html.svn-base │ │ │ │ ├── example-option-sort-list.html.svn-base │ │ │ │ ├── example-option-sort-order.html.svn-base │ │ │ │ ├── example-option-text-extraction.html.svn-base │ │ │ │ ├── example-options-headers.html.svn-base │ │ │ │ ├── example-pager.html.svn-base │ │ │ │ ├── example-parsers.html.svn-base │ │ │ │ ├── example-trigger-sort.html.svn-base │ │ │ │ ├── example-triggers.html.svn-base │ │ │ │ ├── example-update-cell.html.svn-base │ │ │ │ ├── example-widgets.html.svn-base │ │ │ │ └── index.html.svn-base │ │ ├── .tmp_index.html.55071~ │ │ ├── assets │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ ├── prop-base │ │ │ │ │ └── ajax-content.html.svn-base │ │ │ │ └── text-base │ │ │ │ │ └── ajax-content.html.svn-base │ │ │ └── ajax-content.html │ │ ├── css │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ ├── prop-base │ │ │ │ │ └── jq.css.svn-base │ │ │ │ └── text-base │ │ │ │ │ └── jq.css.svn-base │ │ │ └── jq.css │ │ ├── example-ajax.html │ │ ├── example-empty-table.html │ │ ├── example-extending-defaults.html │ │ ├── example-meta-headers.html │ │ ├── example-meta-parsers.html │ │ ├── example-meta-sort-list.html │ │ ├── example-option-debug.html │ │ ├── example-option-digits.html │ │ ├── example-option-sort-force.html │ │ ├── example-option-sort-key.html │ │ ├── example-option-sort-list.html │ │ ├── example-option-sort-order.html │ │ ├── example-option-text-extraction.html │ │ ├── example-options-headers.html │ │ ├── example-pager.html │ │ ├── example-parsers.html │ │ ├── example-trigger-sort.html │ │ ├── example-triggers.html │ │ ├── example-update-cell.html │ │ ├── example-widgets.html │ │ ├── img │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ ├── prop-base │ │ │ │ │ └── external.png.svn-base │ │ │ │ └── text-base │ │ │ │ │ └── external.png.svn-base │ │ │ └── external.png │ │ ├── index.html │ │ └── js │ │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── docs.js.svn-base │ │ │ │ └── examples.js.svn-base │ │ │ └── text-base │ │ │ │ ├── docs.js.svn-base │ │ │ │ └── examples.js.svn-base │ │ │ ├── docs.js │ │ │ └── examples.js │ ├── jquery-latest.js │ ├── jquery.metadata.js │ ├── jquery.tablesorter.js │ ├── jquery.tablesorter.min.js │ ├── tests │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── cell.metadata.html.svn-base │ │ │ │ ├── checkbox.html.svn-base │ │ │ │ ├── colspan.html.svn-base │ │ │ │ ├── demo.html.svn-base │ │ │ │ ├── index.html.svn-base │ │ │ │ ├── large.html.svn-base │ │ │ │ ├── lockedOrder.html.svn-base │ │ │ │ ├── metadata.html.svn-base │ │ │ │ ├── multiple-headers.html.svn-base │ │ │ │ └── pager.html.svn-base │ │ │ └── text-base │ │ │ │ ├── cell.metadata.html.svn-base │ │ │ │ ├── checkbox.html.svn-base │ │ │ │ ├── colspan.html.svn-base │ │ │ │ ├── demo.html.svn-base │ │ │ │ ├── index.html.svn-base │ │ │ │ ├── large.html.svn-base │ │ │ │ ├── lockedOrder.html.svn-base │ │ │ │ ├── metadata.html.svn-base │ │ │ │ ├── multiple-headers.html.svn-base │ │ │ │ └── pager.html.svn-base │ │ ├── assets │ │ │ ├── .svn │ │ │ │ ├── all-wcprops │ │ │ │ ├── entries │ │ │ │ ├── prop-base │ │ │ │ │ └── ajax-content.html.svn-base │ │ │ │ └── text-base │ │ │ │ │ └── ajax-content.html.svn-base │ │ │ └── ajax-content.html │ │ ├── cell.metadata.html │ │ ├── checkbox.html │ │ ├── colspan.html │ │ ├── demo.html │ │ ├── index.html │ │ ├── large.html │ │ ├── lockedOrder.html │ │ ├── metadata.html │ │ ├── multiple-headers.html │ │ └── pager.html │ └── themes │ │ ├── .svn │ │ ├── all-wcprops │ │ └── entries │ │ ├── blue │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base │ │ │ │ ├── asc.gif.svn-base │ │ │ │ ├── bg.gif.svn-base │ │ │ │ ├── blue.zip.svn-base │ │ │ │ ├── desc.gif.svn-base │ │ │ │ └── style.css.svn-base │ │ │ └── text-base │ │ │ │ ├── asc.gif.svn-base │ │ │ │ ├── bg.gif.svn-base │ │ │ │ ├── blue.zip.svn-base │ │ │ │ ├── desc.gif.svn-base │ │ │ │ └── style.css.svn-base │ │ ├── asc.gif │ │ ├── bg.gif │ │ ├── blue.zip │ │ ├── desc.gif │ │ └── style.css │ │ └── green │ │ ├── .svn │ │ ├── all-wcprops │ │ ├── entries │ │ ├── prop-base │ │ │ ├── asc.png.svn-base │ │ │ ├── bg.png.svn-base │ │ │ ├── desc.png.svn-base │ │ │ ├── green.zip.svn-base │ │ │ └── style.css.svn-base │ │ └── text-base │ │ │ ├── asc.png.svn-base │ │ │ ├── bg.png.svn-base │ │ │ ├── desc.png.svn-base │ │ │ ├── green.zip.svn-base │ │ │ └── style.css.svn-base │ │ ├── asc.png │ │ ├── bg.png │ │ ├── desc.png │ │ ├── green.zip │ │ └── style.css ├── tobj.js ├── v │ └── 0.2 │ │ ├── strapdown.css │ │ ├── strapdown.js │ │ └── themes │ │ ├── LICENSE │ │ ├── README.md │ │ ├── amelia.min.css │ │ ├── bootstrap-responsive.min.css │ │ ├── bootstrap.min.css │ │ ├── cerulean.min.css │ │ ├── cyborg.min.css │ │ ├── journal.min.css │ │ ├── readable.min.css │ │ ├── simplex.min.css │ │ ├── slate.min.css │ │ ├── spacelab.min.css │ │ ├── spruce.min.css │ │ ├── superhero.min.css │ │ └── united.min.css ├── vendor │ ├── jquery.min.js │ ├── marked.min.js │ ├── prettify.min.js │ └── themes │ │ ├── LICENSE │ │ ├── README.md │ │ ├── amelia.min.css │ │ ├── bootstrap-responsive.min.css │ │ ├── bootstrap.min.css │ │ ├── cerulean.min.css │ │ ├── cyborg.min.css │ │ ├── journal.min.css │ │ ├── readable.min.css │ │ ├── simplex.min.css │ │ ├── slate.min.css │ │ ├── spacelab.min.css │ │ ├── spruce.min.css │ │ ├── superhero.min.css │ │ └── united.min.css └── x.html ├── templates ├── blogapp │ ├── base.html │ ├── base2.html │ ├── edit.html │ ├── index.html │ ├── post_archive.html │ ├── post_archive_month.html │ ├── post_detail.html │ ├── post_draft_list.html │ ├── post_edit.html │ ├── post_edit2.html │ └── post_list.html ├── footer.html ├── header.html ├── index.html └── sentosaapp │ ├── 404.html │ ├── data.html │ ├── fullpage.html │ ├── index.html │ ├── login.html │ ├── monitor.html │ ├── sentosa.html │ ├── symbol.html │ └── tobj.html └── tornado_django.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.pyo 3 | *.sqlite3 4 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/monitor.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 1433223958362 35 | 38 | 39 | 40 | 41 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Fuheng Wu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ## qblog - blog system for quant 3 | 4 | qblog is a blog system developed by Wu Fuheng with django,tornado,bootstrap and jquery, which features client side markdown and mathematical formula support. 5 | 6 | This git repository is a clone of http://www.quant365.com 7 | 8 | How to install? 9 | 10 | ``` 11 | pip install -U django 12 | pip install -Ur requirements.txt 13 | ``` 14 | 15 | ![Desgin](https://raw.githubusercontent.com/henrywoo/qblog/master/qblog.png) 16 | 17 | [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/henrywoo/qblog/trend.png)](https://bitdeli.com/free "Bitdeli Badge") 18 | 19 | -------------------------------------------------------------------------------- /bin/sentosa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/bin/sentosa -------------------------------------------------------------------------------- /blogapp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/blogapp/__init__.py -------------------------------------------------------------------------------- /blogapp/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | from .models import Post 5 | 6 | admin.site.register(Post) 7 | -------------------------------------------------------------------------------- /blogapp/forms.py: -------------------------------------------------------------------------------- 1 | from django import forms 2 | from .models import Post 3 | from bootstrap_markdown.widgets import MarkdownEditor 4 | 5 | class PostForm(forms.ModelForm): 6 | #text = forms.CharField(widget=MarkdownEditor()) 7 | 8 | class Meta: 9 | model = Post 10 | widgets = { 11 | #'text': forms.Textarea(attrs={'rows':40, 'cols':50}), 12 | 'text': MarkdownEditor(attrs={'id': 'title', 13 | 'width': "80%", 14 | 'height': 400, 15 | 'locale': None, 16 | 'boostrap_cdn': True, 17 | 'autofocus': True, 18 | 'resize': 'both', 19 | 'icon': 'glyph', 20 | 'footer': '> Powered by http://www.codingdrama.com/bootstrap-markdown', 21 | 'fullscreen': True, 22 | }), 23 | 'title': forms.TextInput(attrs={'size': 80, 'title': 'Title',}) 24 | } 25 | fields = ('title', 'text',) 26 | -------------------------------------------------------------------------------- /blogapp/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import models, migrations 5 | import django.utils.timezone 6 | from django.conf import settings 7 | 8 | 9 | class Migration(migrations.Migration): 10 | 11 | dependencies = [ 12 | migrations.swappable_dependency(settings.AUTH_USER_MODEL), 13 | ] 14 | 15 | operations = [ 16 | migrations.CreateModel( 17 | name='Post', 18 | fields=[ 19 | ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), 20 | ('title', models.CharField(max_length=200)), 21 | ('text', models.TextField()), 22 | ('created_date', models.DateTimeField(default=django.utils.timezone.now)), 23 | ('published_date', models.DateTimeField(null=True, blank=True)), 24 | ('author', models.ForeignKey(to=settings.AUTH_USER_MODEL)), 25 | ], 26 | ), 27 | ] 28 | -------------------------------------------------------------------------------- /blogapp/migrations/0002_auto_20150602_2011.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | from django.db import models, migrations 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | dependencies = [ 10 | ('blogapp', '0001_initial'), 11 | ] 12 | 13 | operations = [ 14 | migrations.AlterField( 15 | model_name='post', 16 | name='title', 17 | field=models.CharField(max_length=400), 18 | ), 19 | ] 20 | -------------------------------------------------------------------------------- /blogapp/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | from django.utils import timezone 3 | from taggit.managers import TaggableManager 4 | 5 | # https://github.com/alex/django-taggit 6 | class Post(models.Model): 7 | 8 | author = models.ForeignKey('auth.User') 9 | title = models.CharField(max_length=400) 10 | text = models.TextField() 11 | 12 | created_date = models.DateTimeField(default=timezone.now) 13 | published_date = models.DateTimeField(blank=True, null=True) 14 | tags = TaggableManager() 15 | 16 | def publish(self): 17 | self.published_date = timezone.now() 18 | self.save() 19 | 20 | def __unicode__(self): 21 | return self.title 22 | -------------------------------------------------------------------------------- /blogapp/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /blogapp/urls.py: -------------------------------------------------------------------------------- 1 | from django.conf.urls import include, url 2 | from . import views 3 | from django.views.generic.dates import ArchiveIndexView 4 | from blogapp.views import ArticleMonthArchiveView 5 | from .models import Post 6 | 7 | urlpatterns = [ 8 | url(r'^$', views.index), 9 | url(r'^about$', views.about), 10 | url(r'^blog$', views.post_list), 11 | url(r'^drafts/$', views.post_draft_list, name='post_draft_list'), 12 | url(r'^post/(?P[0-9]+)/publish/$', views.post_publish, name='post_publish'), 13 | url(r'^post/(?P[0-9]+)/remove/$', views.post_remove, name='post_remove'), 14 | url(r'^post/(?P[0-9]+)/$', views.post_detail), 15 | url(r'^post/new/$', views.post_new, name='post_new'), 16 | url(r'^post/(?P[0-9]+)/edit/$', views.post_edit, name='post_edit'), 17 | url(r'^archive/$', 18 | ArchiveIndexView.as_view(model=Post, date_field="published_date"), 19 | name="post_archive"), 20 | # Example: /2012/aug/ 21 | url(r'^(?P[0-9]{4})/(?P[-\w]+)/$', 22 | ArticleMonthArchiveView.as_view(), 23 | name="archive_month"), 24 | # Example: /2012/08/ 25 | url(r'^(?P[0-9]{4})/(?P[0-9]+)/$', 26 | ArticleMonthArchiveView.as_view(month_format='%m'), 27 | name="archive_month_numeric"), 28 | ] 29 | -------------------------------------------------------------------------------- /command.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Server Side Command 6 | 7 | 8 | 9 | 10 |
11 |
12 |

Server Side Shell

13 | 15 |
16 | 17 |
18 | 19 | 20 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /deb/amd64/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/deb/amd64/index.html -------------------------------------------------------------------------------- /deb/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/deb/index.html -------------------------------------------------------------------------------- /deb/r.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | dpkg-scanpackages amd64 | gzip -9c > amd64/Packages.gz 4 | dpkg-scanpackages amd64 | bzip2 > amd64/Packages.bz2 5 | dpkg-scanpackages amd64 > amd64/Packages 6 | -------------------------------------------------------------------------------- /djangod.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # python ../mysite/djangod.py runserver 192.168.122.10:8000 3 | import sys 4 | import os 5 | .. 6 | class Daemon(object): 7 | def __init__(self): 8 | self.stdin ='/dev/null' 9 | self.stdout ='/dev/null' 10 | self.stderr ='/dev/null' 11 | 12 | def daemonize(self): 13 | try: 14 | pid = os.fork() 15 | if pid > 0: 16 | sys.exit(0) 17 | except OSError, e: 18 | sys.exit(1) 19 | 20 | os.setsid() 21 | os.umask(0) 22 | 23 | try: 24 | pid = os.fork() 25 | if pid > 0: 26 | sys.exit(0) 27 | except OSError, e: 28 | sys.exit(1) 29 | 30 | sys.stdout.flush() 31 | sys.stderr.flush() 32 | si = file(self.stdin, 'r') 33 | so = file(self.stdout, 'a+') 34 | se = file(self.stderr, 'a+', 0) 35 | os.dup2(si.fileno(), sys.stdin.fileno()) 36 | os.dup2(so.fileno(), sys.stdout.fileno()) 37 | os.dup2(se.fileno(), sys.stderr.fileno()) 38 | 39 | self.run() 40 | 41 | def run(self): 42 | '''''' 43 | 44 | class DjangoDaemon(Daemon): 45 | def run(self): 46 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "qblog.settings") 47 | from django.core.management import execute_from_command_line 48 | execute_from_command_line(sys.argv) 49 | 50 | if __name__ == "__main__": 51 | daemon = DjangoDaemon() 52 | daemon.daemonize() 53 | -------------------------------------------------------------------------------- /holiday.yml: -------------------------------------------------------------------------------- 1 | #http://www.profitconfidential.com/nyse-holidays-schedule-calendar/ 2 | # holiday and partial holiday(closed at 1PM EST) 3 | us: 4 | full: 5 | - 2013-07-04 6 | - 2013-09-02 7 | - 2013-11-28 8 | - 2013-12-25 9 | 10 | - 2014-01-01 11 | - 2014-01-20 12 | - 2014-02-17 13 | - 2014-04-18 14 | - 2014-05-26 15 | - 2014-07-04 16 | - 2014-09-01 17 | - 2014-11-27 18 | - 2014-12-25 19 | 20 | - 2015-01-01 21 | - 2015-01-19 22 | - 2015-02-16 23 | - 2015-04-03 24 | - 2015-05-25 25 | - 2015-07-03 26 | - 2015-09-07 27 | - 2015-11-26 28 | - 2015-12-25 29 | 30 | - 2016-01-01 31 | - 2016-01-18 32 | - 2016-02-15 33 | - 2016-03-25 34 | - 2016-05-30 35 | - 2016-07-04 36 | - 2016-09-05 37 | - 2016-11-24 38 | - 2016-12-26 39 | 40 | partial: 41 | - 2013-12-24 42 | - 2014-07-03 43 | - 2014-11-28 44 | - 2014-12-24 45 | - 2015-11-27 46 | - 2015-12-25 47 | - 2016-07-03 48 | - 2016-11-25 49 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Exactly 6 | 22 | 23 | 24 |
25 |

 

26 |

 

27 |

404

28 |

 

29 |
30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | if __name__ == "__main__": 6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "qblog.settings") 7 | 8 | from django.core.management import execute_from_command_line 9 | 10 | execute_from_command_line(sys.argv) 11 | -------------------------------------------------------------------------------- /qblog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/qblog.png -------------------------------------------------------------------------------- /qblog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/qblog/__init__.py -------------------------------------------------------------------------------- /qblog/jinja2.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | from __future__ import absolute_import # Python 2 only 4 | 5 | from django.contrib.staticfiles.storage import staticfiles_storage 6 | from django.core.urlresolvers import reverse 7 | 8 | from jinja2 import Environment 9 | from pysentosa.config import * 10 | #from pysentosa.utils import getLastPrice 11 | #from pysentosa.tradeinfo import getTI 12 | 13 | # https://docs.djangoproject.com/en/1.8/topics/templates/#django.template.backends.base.Template.render 14 | def environment(**options): 15 | env = Environment(**options) 16 | env.globals.update({ 17 | 'static': staticfiles_storage.url, 18 | 'url': reverse, 19 | 'ip': LOCALIP, 20 | 'domain': 'www.quant365.com', 21 | 'title': "Quant365", 22 | 'anno': "Trading with science and techonlogy", 23 | #'cquery': CQuery(), 24 | #'getLastPrice': getLastPrice, 25 | #'getTI': getTI, 26 | }) 27 | env.globals.update(yml_sentosa) 28 | env.globals.update(yml_holiday) 29 | env.globals.update({'SYMBOLS': SYMBOLS}) 30 | return env 31 | 32 | if __name__ == "__main__": 33 | print yml_sentosa 34 | -------------------------------------------------------------------------------- /qblog/urls.py: -------------------------------------------------------------------------------- 1 | """blog URL Configuration 2 | 3 | The `urlpatterns` list routes URLs to views. For more information please see: 4 | https://docs.djangoproject.com/en/1.8/topics/http/urls/ 5 | Examples: 6 | Function views 7 | 1. Add an import: from my_app import views 8 | 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') 9 | Class-based views 10 | 1. Add an import: from other_app.views import Home 11 | 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') 12 | Including another URLconf 13 | 1. Add an import: from blog import urls as blog_urls 14 | 2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls)) 15 | """ 16 | from django.conf.urls import include, url 17 | from django.contrib import admin 18 | from sentosaapp import views as sentosaappview 19 | 20 | urlpatterns = [ 21 | url(r'^admin/', include(admin.site.urls)), 22 | url(r'', include('blogapp.urls')), 23 | url(r'^sentosaapp/', include('sentosaapp.urls')), 24 | url(r'^markdown/', include('django_bootstrap_markdown.urls')), 25 | #url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'admin/login.html'}, name="my_login"), 26 | url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'sentosaapp/login.html'}, name="my_login"), 27 | ] 28 | 29 | 30 | handler404 = sentosaappview.error404 31 | -------------------------------------------------------------------------------- /qblog/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for blog project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "qblog.settings") 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | django-admin-bootstrapped>=2.5.0 2 | django-appconf>=1.0.1 3 | django-bootstrap-markdown>=1.8.1 4 | django-bootstrap-markdown-editor>=1.1 5 | django-bootstrap-tags>=1.2.0 6 | django-bootstrap3>=5.4.0 7 | django-compressor>=1.5 8 | django-contrib-comments>=1.5.1 9 | django-debug-toolbar>=1.3.0 10 | django-imagekit>=3.2.6 11 | django-markdown>=0.8.4 12 | django-markupfield>=1.3.5 13 | django-pagedown>=0.1.0 14 | django-password-strength>=1.1.1 15 | django-pingback>=0.3 16 | django-taggit>=0.14.0 17 | django-xmlrpc>=0.1.5 18 | 19 | colored-traceback>=0.2.1 20 | jinja2>=2.7.3 21 | nanomsg>=1.0 22 | netifaces>=0.10.4 23 | ujson>=1.33 24 | pymongo>=3.0.3 25 | requests>=2.7.0 26 | 27 | python-gflags 28 | -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- 1 | #python manage.py runserver 0.0.0.0:80 2 | python tornado_django.py > wufuheng.log 2>&1 3 | -------------------------------------------------------------------------------- /sentosa.yml: -------------------------------------------------------------------------------- 1 | --- 2 | Project: Sentosa 3 | 4 | linux: 5 | DIRR : ~/.sentosa/ 6 | DIRPY : ~/.sentosa/ 7 | DATAVOL : ~/.sentosa/ 8 | DATATA : ~/.sentosa/ 9 | DIRDOCROOT : ~/.sentosa/ 10 | ROOT : ~/.sentosa/ 11 | LOGDIR : ~/.sentosa/ 12 | LOGFILE : ~/.sentosa/sentosa- 13 | CONFIGDIR : ~/.sentosa/ 14 | RESEARCHDIR : ~/.sentosa/ 15 | RESEARCHDIRDATA: ~/.sentosa/ 16 | DATAROOT : ~/.sentosa/ 17 | REPLAYFILEDIR : ~/.sentosa/ 18 | BIDASKDIR : ~/.sentosa/ 19 | PARAMDIR : ~/.sentosa/ 20 | TRADEINFODIR : ~/.sentosa/ 21 | LOGFILESIM : ~/.sentosa/sim-sentosa- 22 | 23 | 24 | DB: 25 | DBHOST: 192.168.254.131 26 | DBUSER: sentosa 27 | DBPASS: sentosa 28 | DBNAME: sentosa 29 | 30 | global: 31 | mode : trade #simulation #replay 32 | debug : 0 33 | backtest : 0 34 | # Please replace my account with yours 35 | account : DU198456 36 | IBHOST : 127.0.0.1 37 | IBPORT : 7496 38 | IB_CLIENT_ID : 1 39 | MKD_TO_ALGO_PORT : 14142 40 | ALGO_TO_OMS_PORT : 17321 41 | ALGO_ENGINE_PORT : 22361 42 | NN_LOG_PORT : 31415 43 | NN_MON_PORT : 27182 44 | WS_PORT : 16180 45 | 46 | histDataReqNum : 7 47 | histDataSleepT : 75000 48 | histDataBackMN : 5 49 | recordbufsize : 1024000 50 | 51 | protocol: 52 | completeJ: "A" 53 | updateJ : "B" 54 | closeall : "e" 55 | closeone : "f" 56 | cancelall: "g" 57 | lmtorder : "l" 58 | mktorder : "m" 59 | orderid : "i" 60 | 61 | 62 | fx: 63 | currencies : [EUR, USD, JPY, GBP, CAD, CHF] 64 | 65 | replay: 66 | filetoreplay : ~/.sentosa/replay.dat 67 | speedup : 1 68 | sleepingtime : 50 69 | 70 | indices: 71 | market : [SPY] 72 | china : [FXI] 73 | 74 | strategies: 75 | singleta: [NQ, CYOU, EJ, RENN, HTHT, JMEI, BITA, CEA, FXI, MOBL, SPY, LEJU, SINA, SOHU, GOOG, IBM] 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /sentosaapp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/sentosaapp/__init__.py -------------------------------------------------------------------------------- /sentosaapp/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /sentosaapp/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/sentosaapp/migrations/__init__.py -------------------------------------------------------------------------------- /sentosaapp/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /sentosaapp/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /sentosaapp/urls.py: -------------------------------------------------------------------------------- 1 | from django.conf.urls import include, url 2 | from . import views 3 | 4 | urlpatterns = [ 5 | url(r'^$', views.index), 6 | url(r'^monitor/$', views.monitor, name='monitor'), 7 | url(r'^tobj/(?P\w{0,50})/$', views.tobj, name='tobj'), 8 | url(r'^symbol/(?P\w{0,50})/$', views.symbol, name='symbol'), 9 | url(r'^data/(?P\w{0,50})/callback=(?P\w{0,50}).*?$', views.data, name='data'), 10 | ] 11 | # http://192.168.254.130/sentosaapp/data/AAPL/?callback=jQuery182028521879474689993_1436767563812&_=1436767564189 12 | -------------------------------------------------------------------------------- /sentosaapp/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | from django.contrib.auth.decorators import login_required 3 | from django.http import HttpResponse 4 | from django.http import JsonResponse 5 | from pysentosa.config import * 6 | from pysentosa.tradeinfo import * 7 | from pysentosa.data import YahooData 8 | 9 | @login_required 10 | def monitor(request): 11 | return render(request, 'sentosaapp/monitor.html') 12 | 13 | def getPostions(): 14 | result=CQuery().Query("select * from transaction") 15 | return dict(result.groupby('s').mean()['q']) 16 | 17 | @login_required 18 | def index(request): 19 | #positions = getPostions() 20 | ti = {} 21 | for s in SYMBOLS: 22 | ti[s] = getTI(s) 23 | return render(request, 'sentosaapp/sentosa.html', 24 | {#'positions': positions, 25 | 'ti': ti, 26 | 'POSITION_STATUS': POSITION_STATUS, 27 | } 28 | ) 29 | 30 | # http://192.168.254.130/sentosaapp/tobj/YY/ 31 | @login_required 32 | def tobj(request, sym): 33 | tinfo = getTI(sym) 34 | return render(request, 'sentosaapp/tobj.html', 35 | {'tinfo': tinfo, 36 | 'sym' : sym, 37 | 'POSITION_STATUS': POSITION_STATUS,} 38 | ) 39 | 40 | @login_required 41 | def symbol(request, sym): 42 | tinfo = getTI(sym) 43 | return render(request, 'sentosaapp/symbol.html', 44 | {'tinfo': tinfo, 45 | 'sym' : sym, 46 | 'POSITION_STATUS': POSITION_STATUS,} 47 | ) 48 | 49 | datacache={} 50 | @login_required 51 | def data(request, sym, callback): 52 | global datacache 53 | if datacache.has_key(sym): 54 | d = datacache[sym] 55 | else: 56 | d = "("+YahooData(sym,'2010').getClosePrice()+");" 57 | datacache[sym] = d 58 | return render(request, 'sentosaapp/data.html',{'d': callback + d}) 59 | #return HttpResponse("parent.Response_OK()", mimetype="application/x-javascript") 60 | 61 | def error404(request): 62 | #return render(request, 'sentosaapp/404.html') 63 | from django.template import Context, loader 64 | template = loader.get_template('sentosaapp/404.html') 65 | context = Context({'message': 'All: %s' % request, }) 66 | # 3. Return Template for this view + Data 67 | return HttpResponse(content=template.render(context), content_type='text/html; charset=utf-8', status=404) 68 | -------------------------------------------------------------------------------- /static/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /static/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /static/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /static/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /static/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/favicon.ico -------------------------------------------------------------------------------- /static/highstock/js/modules/funnel.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Highcharts funnel module 4 | 5 | (c) 2010-2014 Torstein Honsi 6 | 7 | License: www.highcharts.com/license 8 | */ 9 | (function(c){var q=c.getOptions(),w=q.plotOptions,r=c.seriesTypes,G=c.merge,F=function(){},C=c.each,x=c.pick;w.funnel=G(w.pie,{animation:!1,center:["50%","50%"],width:"90%",neckWidth:"30%",height:"100%",neckHeight:"25%",reversed:!1,dataLabels:{connectorWidth:1,connectorColor:"#606060"},size:!0,states:{select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}}});r.funnel=c.extendClass(r.pie,{type:"funnel",animate:F,translate:function(){var a=function(b,a){return/%$/.test(b)?a*parseInt(b,10)/100:parseInt(b, 10 | 10)},D=0,f=this.chart,d=this.options,c=d.reversed,n=d.ignoreHiddenPoint,g=f.plotWidth,h=f.plotHeight,q=0,f=d.center,i=a(f[0],g),r=a(f[1],h),w=a(d.width,g),k,s,e=a(d.height,h),t=a(d.neckWidth,g),u=a(d.neckHeight,h),y=e-u,a=this.data,z,A,x=d.dataLabels.position==="left"?1:0,B,l,E,p,j,v,m;this.getWidthAt=s=function(b){return b>e-u||e===u?t:t+(w-t)*((e-u-b)/(e-u))};this.getX=function(b,a){return i+(a?-1:1)*(s(c?h-b:b)/2+d.dataLabels.distance)};this.center=[i,r,e];this.centerX=i;C(a,function(b){if(!n|| 11 | b.visible!==!1)D+=b.y});C(a,function(b){m=null;A=D?b.y/D:0;l=r-e/2+q*e;j=l+A*e;k=s(l);B=i-k/2;E=B+k;k=s(j);p=i-k/2;v=p+k;l>y?(B=p=i-t/2,E=v=i+t/2):j>y&&(m=j,k=s(y),p=i-k/2,v=p+k,j=y);c&&(l=e-l,j=e-j,m=m?e-m:null);z=["M",B,l,"L",E,l,v,j];m&&z.push(v,m,p,m);z.push(p,j,"Z");b.shapeType="path";b.shapeArgs={d:z};b.percentage=A*100;b.plotX=i;b.plotY=(l+(m||j))/2;b.tooltipPos=[i,b.plotY];b.slice=F;b.half=x;if(!n||b.visible!==!1)q+=A})},drawPoints:function(){var a=this,c=a.options,f=a.chart.renderer;C(a.data, 12 | function(d){var o=d.options,n=d.graphic,g=d.shapeArgs;n?n.animate(g):d.graphic=f.path(g).attr({fill:d.color,stroke:x(o.borderColor,c.borderColor),"stroke-width":x(o.borderWidth,c.borderWidth)}).add(a.group)})},sortByAngle:function(a){a.sort(function(a,c){return a.plotY-c.plotY})},drawDataLabels:function(){var a=this.data,c=this.options.dataLabels.distance,f,d,o,n=a.length,g,h;for(this.center[2]-=2*c;n--;)o=a[n],d=(f=o.half)?1:-1,h=o.plotY,g=this.getX(h,f),o.labelPos=[0,h,g+(c-5)*d,h,g+c*d,h,f?"right": 13 | "left",0];r.pie.prototype.drawDataLabels.call(this)}});q.plotOptions.pyramid=c.merge(q.plotOptions.funnel,{neckWidth:"0%",neckHeight:"0%",reversed:!0});c.seriesTypes.pyramid=c.extendClass(c.seriesTypes.funnel,{type:"pyramid"})})(Highcharts); 14 | -------------------------------------------------------------------------------- /static/highstock/js/modules/no-data-to-display.js: -------------------------------------------------------------------------------- 1 | /* 2 | Highstock JS v2.1.7 (2015-06-26) 3 | Plugin for displaying a message when there is no data visible in chart. 4 | 5 | (c) 2010-2014 Highsoft AS 6 | Author: Oystein Moseng 7 | 8 | License: www.highcharts.com/license 9 | */ 10 | (function(c){function i(){return!!this.points.length}function e(){this.hasData()?this.hideNoData():this.showNoData()}var f=c.seriesTypes,d=c.Chart.prototype,g=c.getOptions(),h=c.extend,j=c.each;h(g.lang,{noData:"No data to display"});g.noData={position:{x:0,y:0,align:"center",verticalAlign:"middle"},attr:{},style:{fontWeight:"bold",fontSize:"12px",color:"#60606a"}};j(["pie","gauge","waterfall","bubble"],function(a){if(f[a])f[a].prototype.hasData=i});c.Series.prototype.hasData=function(){return this.visible&& 11 | this.dataMax!==void 0&&this.dataMin!==void 0};d.showNoData=function(a){var b=this.options,a=a||b.lang.noData,b=b.noData;if(!this.noDataLabel)this.noDataLabel=this.renderer.label(a,0,0,null,null,null,b.useHTML,null,"no-data").attr(b.attr).css(b.style).add(),this.noDataLabel.align(h(this.noDataLabel.getBBox(),b.position),!1,"plotBox")};d.hideNoData=function(){if(this.noDataLabel)this.noDataLabel=this.noDataLabel.destroy()};d.hasData=function(){for(var a=this.series,b=a.length;b--;)if(a[b].hasData()&& 12 | !a[b].options.isInternal)return!0;return!1};d.callbacks.push(function(a){c.addEvent(a,"load",e);c.addEvent(a,"redraw",e)})})(Highcharts); 13 | -------------------------------------------------------------------------------- /static/highstock/js/modules/solid-gauge.js: -------------------------------------------------------------------------------- 1 | /* 2 | Highstock JS v2.1.7 (2015-06-26) 3 | Solid angular gauge module 4 | 5 | (c) 2010-2014 Torstein Honsi 6 | 7 | License: www.highcharts.com/license 8 | */ 9 | (function(a){var q=a.getOptions().plotOptions,r=a.pInt,s=a.pick,j=a.each,k;q.solidgauge=a.merge(q.gauge,{colorByPoint:!0});k={initDataClasses:function(b){var c=this,e=this.chart,d,o=0,f=this.options;this.dataClasses=d=[];j(b.dataClasses,function(g,h){var p,g=a.merge(g);d.push(g);if(!g.color)f.dataClassColor==="category"?(p=e.options.colors,g.color=p[o++],o===p.length&&(o=0)):g.color=c.tweenColors(a.Color(f.minColor),a.Color(f.maxColor),h/(b.dataClasses.length-1))})},initStops:function(b){this.stops= 10 | b.stops||[[0,this.options.minColor],[1,this.options.maxColor]];j(this.stops,function(b){b.color=a.Color(b[1])})},toColor:function(b,c){var e,d=this.stops,a,f=this.dataClasses,g,h;if(f)for(h=f.length;h--;){if(g=f[h],a=g.from,d=g.to,(a===void 0||b>=a)&&(d===void 0||b<=d)){e=g.color;if(c)c.dataClass=h;break}}else{this.isLog&&(b=this.val2lin(b));e=1-(this.max-b)/(this.max-this.min);for(h=d.length;h--;)if(e>d[h][0])break;a=d[h]||d[h+1];d=d[h+1]||a;e=1-(d[0]-e)/(d[0]-a[0]||1);e=this.tweenColors(a.color, 11 | d.color,e)}return e},tweenColors:function(b,c,a){var d;!c.rgba.length||!b.rgba.length?b=c.raw||"none":(b=b.rgba,c=c.rgba,d=c[3]!==1||b[3]!==1,b=(d?"rgba(":"rgb(")+Math.round(c[0]+(b[0]-c[0])*(1-a))+","+Math.round(c[1]+(b[1]-c[1])*(1-a))+","+Math.round(c[2]+(b[2]-c[2])*(1-a))+(d?","+(c[3]+(b[3]-c[3])*(1-a)):"")+")");return b}};j(["fill","stroke"],function(b){HighchartsAdapter.addAnimSetter(b,function(c){c.elem.attr(b,k.tweenColors(a.Color(c.start),a.Color(c.end),c.pos))})});a.seriesTypes.solidgauge= 12 | a.extendClass(a.seriesTypes.gauge,{type:"solidgauge",pointAttrToOptions:{},bindAxes:function(){var b;a.seriesTypes.gauge.prototype.bindAxes.call(this);b=this.yAxis;a.extend(b,k);b.options.dataClasses&&b.initDataClasses(b.options);b.initStops(b.options)},drawPoints:function(){var b=this,c=b.yAxis,e=c.center,d=b.options,o=b.chart.renderer,f=d.overshoot,g=f&&typeof f==="number"?f/180*Math.PI:0;a.each(b.points,function(a){var f=a.graphic,i=c.startAngleRad+c.translate(a.y,null,null,null,!0),j=r(s(a.options.radius, 13 | d.radius,100))*e[2]/200,l=r(s(a.options.innerRadius,d.innerRadius,60))*e[2]/200,m=c.toColor(a.y,a);m==="none"&&(m=a.color||b.color||"none");if(m!=="none")a.color=m;i=Math.max(c.startAngleRad-g,Math.min(c.endAngleRad+g,i));d.wrap===!1&&(i=Math.max(c.startAngleRad,Math.min(c.endAngleRad,i)));var i=i*180/Math.PI,n=i/(180/Math.PI),k=c.startAngleRad,i=Math.min(n,k),n=Math.max(n,k);n-i>2*Math.PI&&(n=i+2*Math.PI);a.shapeArgs=l={x:e[0],y:e[1],r:j,innerR:l,start:i,end:n,fill:m};a.startR=j;if(f){if(a=l.d,f.animate(l), 14 | a)l.d=a}else a.graphic=o.arc(l).attr({stroke:d.borderColor||"none","stroke-width":d.borderWidth||0,fill:m,"sweep-flag":0}).add(b.group)})},animate:function(b){if(!b)this.startAngleRad=this.yAxis.startAngleRad,a.seriesTypes.pie.prototype.animate.call(this,b)}})})(Highcharts); 15 | -------------------------------------------------------------------------------- /static/highstock/js/themes/grid-light.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Grid-light theme for Highcharts JS 3 | * @author Torstein Honsi 4 | */ 5 | 6 | // Load the fonts 7 | Highcharts.createElement('link', { 8 | href: '//fonts.googleapis.com/css?family=Dosis:400,600', 9 | rel: 'stylesheet', 10 | type: 'text/css' 11 | }, null, document.getElementsByTagName('head')[0]); 12 | 13 | Highcharts.theme = { 14 | colors: ["#7cb5ec", "#f7a35c", "#90ee7e", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee", 15 | "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], 16 | chart: { 17 | backgroundColor: null, 18 | style: { 19 | fontFamily: "Dosis, sans-serif" 20 | } 21 | }, 22 | title: { 23 | style: { 24 | fontSize: '16px', 25 | fontWeight: 'bold', 26 | textTransform: 'uppercase' 27 | } 28 | }, 29 | tooltip: { 30 | borderWidth: 0, 31 | backgroundColor: 'rgba(219,219,216,0.8)', 32 | shadow: false 33 | }, 34 | legend: { 35 | itemStyle: { 36 | fontWeight: 'bold', 37 | fontSize: '13px' 38 | } 39 | }, 40 | xAxis: { 41 | gridLineWidth: 1, 42 | labels: { 43 | style: { 44 | fontSize: '12px' 45 | } 46 | } 47 | }, 48 | yAxis: { 49 | minorTickInterval: 'auto', 50 | title: { 51 | style: { 52 | textTransform: 'uppercase' 53 | } 54 | }, 55 | labels: { 56 | style: { 57 | fontSize: '12px' 58 | } 59 | } 60 | }, 61 | plotOptions: { 62 | candlestick: { 63 | lineColor: '#404048' 64 | } 65 | }, 66 | 67 | 68 | // General 69 | background2: '#F0F0EA' 70 | 71 | }; 72 | 73 | // Apply the theme 74 | Highcharts.setOptions(Highcharts.theme); 75 | -------------------------------------------------------------------------------- /static/highstock/js/themes/grid.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Grid theme for Highcharts JS 3 | * @author Torstein Honsi 4 | */ 5 | 6 | Highcharts.theme = { 7 | colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'], 8 | chart: { 9 | backgroundColor: { 10 | linearGradient: { x1: 0, y1: 0, x2: 1, y2: 1 }, 11 | stops: [ 12 | [0, 'rgb(255, 255, 255)'], 13 | [1, 'rgb(240, 240, 255)'] 14 | ] 15 | }, 16 | borderWidth: 2, 17 | plotBackgroundColor: 'rgba(255, 255, 255, .9)', 18 | plotShadow: true, 19 | plotBorderWidth: 1 20 | }, 21 | title: { 22 | style: { 23 | color: '#000', 24 | font: 'bold 16px "Trebuchet MS", Verdana, sans-serif' 25 | } 26 | }, 27 | subtitle: { 28 | style: { 29 | color: '#666666', 30 | font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' 31 | } 32 | }, 33 | xAxis: { 34 | gridLineWidth: 1, 35 | lineColor: '#000', 36 | tickColor: '#000', 37 | labels: { 38 | style: { 39 | color: '#000', 40 | font: '11px Trebuchet MS, Verdana, sans-serif' 41 | } 42 | }, 43 | title: { 44 | style: { 45 | color: '#333', 46 | fontWeight: 'bold', 47 | fontSize: '12px', 48 | fontFamily: 'Trebuchet MS, Verdana, sans-serif' 49 | 50 | } 51 | } 52 | }, 53 | yAxis: { 54 | minorTickInterval: 'auto', 55 | lineColor: '#000', 56 | lineWidth: 1, 57 | tickWidth: 1, 58 | tickColor: '#000', 59 | labels: { 60 | style: { 61 | color: '#000', 62 | font: '11px Trebuchet MS, Verdana, sans-serif' 63 | } 64 | }, 65 | title: { 66 | style: { 67 | color: '#333', 68 | fontWeight: 'bold', 69 | fontSize: '12px', 70 | fontFamily: 'Trebuchet MS, Verdana, sans-serif' 71 | } 72 | } 73 | }, 74 | legend: { 75 | itemStyle: { 76 | font: '9pt Trebuchet MS, Verdana, sans-serif', 77 | color: 'black' 78 | 79 | }, 80 | itemHoverStyle: { 81 | color: '#039' 82 | }, 83 | itemHiddenStyle: { 84 | color: 'gray' 85 | } 86 | }, 87 | labels: { 88 | style: { 89 | color: '#99b' 90 | } 91 | }, 92 | 93 | navigation: { 94 | buttonOptions: { 95 | theme: { 96 | stroke: '#CCCCCC' 97 | } 98 | } 99 | } 100 | }; 101 | 102 | // Apply the theme 103 | var highchartsOptions = Highcharts.setOptions(Highcharts.theme); 104 | -------------------------------------------------------------------------------- /static/highstock/js/themes/sand-signika.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Sand-Signika theme for Highcharts JS 3 | * @author Torstein Honsi 4 | */ 5 | 6 | // Load the fonts 7 | Highcharts.createElement('link', { 8 | href: '//fonts.googleapis.com/css?family=Signika:400,700', 9 | rel: 'stylesheet', 10 | type: 'text/css' 11 | }, null, document.getElementsByTagName('head')[0]); 12 | 13 | // Add the background image to the container 14 | Highcharts.wrap(Highcharts.Chart.prototype, 'getContainer', function (proceed) { 15 | proceed.call(this); 16 | this.container.style.background = 'url(http://www.highcharts.com/samples/graphics/sand.png)'; 17 | }); 18 | 19 | 20 | Highcharts.theme = { 21 | colors: ["#f45b5b", "#8085e9", "#8d4654", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee", 22 | "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], 23 | chart: { 24 | backgroundColor: null, 25 | style: { 26 | fontFamily: "Signika, serif" 27 | } 28 | }, 29 | title: { 30 | style: { 31 | color: 'black', 32 | fontSize: '16px', 33 | fontWeight: 'bold' 34 | } 35 | }, 36 | subtitle: { 37 | style: { 38 | color: 'black' 39 | } 40 | }, 41 | tooltip: { 42 | borderWidth: 0 43 | }, 44 | legend: { 45 | itemStyle: { 46 | fontWeight: 'bold', 47 | fontSize: '13px' 48 | } 49 | }, 50 | xAxis: { 51 | labels: { 52 | style: { 53 | color: '#6e6e70' 54 | } 55 | } 56 | }, 57 | yAxis: { 58 | labels: { 59 | style: { 60 | color: '#6e6e70' 61 | } 62 | } 63 | }, 64 | plotOptions: { 65 | series: { 66 | shadow: true 67 | }, 68 | candlestick: { 69 | lineColor: '#404048' 70 | }, 71 | map: { 72 | shadow: false 73 | } 74 | }, 75 | 76 | // Highstock specific 77 | navigator: { 78 | xAxis: { 79 | gridLineColor: '#D0D0D8' 80 | } 81 | }, 82 | rangeSelector: { 83 | buttonTheme: { 84 | fill: 'white', 85 | stroke: '#C0C0C8', 86 | 'stroke-width': 1, 87 | states: { 88 | select: { 89 | fill: '#D0D0D8' 90 | } 91 | } 92 | } 93 | }, 94 | scrollbar: { 95 | trackBorderColor: '#C0C0C8' 96 | }, 97 | 98 | // General 99 | background2: '#E0E0E8' 100 | 101 | }; 102 | 103 | // Apply the theme 104 | Highcharts.setOptions(Highcharts.theme); 105 | -------------------------------------------------------------------------------- /static/highstock/js/themes/skies.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Skies theme for Highcharts JS 3 | * @author Torstein Honsi 4 | */ 5 | 6 | Highcharts.theme = { 7 | colors: ["#514F78", "#42A07B", "#9B5E4A", "#72727F", "#1F949A", "#82914E", "#86777F", "#42A07B"], 8 | chart: { 9 | className: 'skies', 10 | borderWidth: 0, 11 | plotShadow: true, 12 | plotBackgroundImage: 'http://www.highcharts.com/demo/gfx/skies.jpg', 13 | plotBackgroundColor: { 14 | linearGradient: [0, 0, 250, 500], 15 | stops: [ 16 | [0, 'rgba(255, 255, 255, 1)'], 17 | [1, 'rgba(255, 255, 255, 0)'] 18 | ] 19 | }, 20 | plotBorderWidth: 1 21 | }, 22 | title: { 23 | style: { 24 | color: '#3E576F', 25 | font: '16px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' 26 | } 27 | }, 28 | subtitle: { 29 | style: { 30 | color: '#6D869F', 31 | font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' 32 | } 33 | }, 34 | xAxis: { 35 | gridLineWidth: 0, 36 | lineColor: '#C0D0E0', 37 | tickColor: '#C0D0E0', 38 | labels: { 39 | style: { 40 | color: '#666', 41 | fontWeight: 'bold' 42 | } 43 | }, 44 | title: { 45 | style: { 46 | color: '#666', 47 | font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' 48 | } 49 | } 50 | }, 51 | yAxis: { 52 | alternateGridColor: 'rgba(255, 255, 255, .5)', 53 | lineColor: '#C0D0E0', 54 | tickColor: '#C0D0E0', 55 | tickWidth: 1, 56 | labels: { 57 | style: { 58 | color: '#666', 59 | fontWeight: 'bold' 60 | } 61 | }, 62 | title: { 63 | style: { 64 | color: '#666', 65 | font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' 66 | } 67 | } 68 | }, 69 | legend: { 70 | itemStyle: { 71 | font: '9pt Trebuchet MS, Verdana, sans-serif', 72 | color: '#3E576F' 73 | }, 74 | itemHoverStyle: { 75 | color: 'black' 76 | }, 77 | itemHiddenStyle: { 78 | color: 'silver' 79 | } 80 | }, 81 | labels: { 82 | style: { 83 | color: '#3E576F' 84 | } 85 | } 86 | }; 87 | 88 | // Apply the theme 89 | var highchartsOptions = Highcharts.setOptions(Highcharts.theme); 90 | -------------------------------------------------------------------------------- /static/img/blog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/img/blog.png -------------------------------------------------------------------------------- /static/img/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/img/home.png -------------------------------------------------------------------------------- /static/img/webmonitor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/img/webmonitor.jpg -------------------------------------------------------------------------------- /static/index.txt: -------------------------------------------------------------------------------- 1 | hello 2 | -------------------------------------------------------------------------------- /static/merlion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/merlion.png -------------------------------------------------------------------------------- /static/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Artur Adib", 3 | "name": "strapdown", 4 | "version": "0.0.0", 5 | "dependencies": { 6 | "shelljs": "0.0.6" 7 | }, 8 | "devDependencies": {}, 9 | "optionalDependencies": {}, 10 | "engines": { 11 | "node": "*" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /static/reconnecting-websocket.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b){"function"==typeof define&&define.amd?define([],b):"undefined"!=typeof module&&module.exports?module.exports=b():a.ReconnectingWebSocket=b()}(this,function(){function a(b,c,d){function l(a,b){var c=document.createEvent("CustomEvent");return c.initCustomEvent(a,!1,!1,b),c}var e={debug:!1,automaticOpen:!0,reconnectInterval:1e3,maxReconnectInterval:3e4,reconnectDecay:1.5,timeoutInterval:2e3};d||(d={});for(var f in e)this[f]="undefined"!=typeof d[f]?d[f]:e[f];this.url=b,this.reconnectAttempts=0,this.readyState=WebSocket.CONNECTING,this.protocol=null;var h,g=this,i=!1,j=!1,k=document.createElement("div");k.addEventListener("open",function(a){g.onopen(a)}),k.addEventListener("close",function(a){g.onclose(a)}),k.addEventListener("connecting",function(a){g.onconnecting(a)}),k.addEventListener("message",function(a){g.onmessage(a)}),k.addEventListener("error",function(a){g.onerror(a)}),this.addEventListener=k.addEventListener.bind(k),this.removeEventListener=k.removeEventListener.bind(k),this.dispatchEvent=k.dispatchEvent.bind(k),this.open=function(b){h=new WebSocket(g.url,c||[]),b||k.dispatchEvent(l("connecting")),(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","attempt-connect",g.url);var d=h,e=setTimeout(function(){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","connection-timeout",g.url),j=!0,d.close(),j=!1},g.timeoutInterval);h.onopen=function(){clearTimeout(e),(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onopen",g.url),g.protocol=h.protocol,g.readyState=WebSocket.OPEN,g.reconnectAttempts=0;var d=l("open");d.isReconnect=b,b=!1,k.dispatchEvent(d)},h.onclose=function(c){if(clearTimeout(e),h=null,i)g.readyState=WebSocket.CLOSED,k.dispatchEvent(l("close"));else{g.readyState=WebSocket.CONNECTING;var d=l("connecting");d.code=c.code,d.reason=c.reason,d.wasClean=c.wasClean,k.dispatchEvent(d),b||j||((g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onclose",g.url),k.dispatchEvent(l("close")));var e=g.reconnectInterval*Math.pow(g.reconnectDecay,g.reconnectAttempts);setTimeout(function(){g.reconnectAttempts++,g.open(!0)},e>g.maxReconnectInterval?g.maxReconnectInterval:e)}},h.onmessage=function(b){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onmessage",g.url,b.data);var c=l("message");c.data=b.data,k.dispatchEvent(c)},h.onerror=function(b){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onerror",g.url,b),k.dispatchEvent(l("error"))}},1==this.automaticOpen&&this.open(!1),this.send=function(b){if(h)return(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","send",g.url,b),h.send(b);throw"INVALID_STATE_ERR : Pausing to reconnect websocket"},this.close=function(a,b){"undefined"==typeof a&&(a=1e3),i=!0,h&&h.close(a,b)},this.refresh=function(){h&&h.close()}}return a.prototype.onopen=function(){},a.prototype.onclose=function(){},a.prototype.onconnecting=function(){},a.prototype.onmessage=function(){},a.prototype.onerror=function(){},a.debugAll=!1,a.CONNECTING=WebSocket.CONNECTING,a.OPEN=WebSocket.OPEN,a.CLOSING=WebSocket.CLOSING,a.CLOSED=WebSocket.CLOSED,a}); 2 | -------------------------------------------------------------------------------- /static/sentosa.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | //http://stackoverflow.com/questions/3722646/jquery-table-sorting-problem-with-dynamically-added-rows 3 | /* http://stackoverflow.com/questions/8749236/create-table-with-jquery-append */ 4 | var content = ""; 5 | content += ''; 6 | content += '"; 17 | } 18 | } 19 | content += "
IDSYM'; 7 | var m = _mkdata.length; 8 | for(var i=1;i" + symbols[i]+""; 15 | for (var j=1;j<_mkdata.length;j++){ 16 | content += "
"; 20 | $('#_mkdata_table').append(content); 21 | 22 | 23 | content = ""; 24 | content += ''; 25 | content += ''; 26 | for(var i=0;i<_portfolio.length;++i){ 27 | content += ''; 30 | for(var i=0; i<_portfolio.length; i++){ 31 | content += '
' + _portfolio[i]; 28 | } 29 | content += '
'; 32 | } 33 | content += "
"; 34 | $('#_portfolio').append(content); 35 | 36 | 37 | var $message = $('#message'); 38 | var $log = $('#log'); 39 | 40 | createOrderTable($('#_order_div'),_order,0,null); 41 | 42 | var refreshIntervalId; 43 | 44 | ws.onopen = function(){ 45 | $message.attr("class", 'label label-success'); 46 | $message.text('open'); 47 | }; 48 | 49 | ws.onmessage = function(ev){ 50 | if (ev.data=='z'){ 51 | //sendmsg(ws,'A') 52 | refreshIntervalId = setInterval(sendmsg,2000,ws,'A'); 53 | cachedata = lscache.get('data'); 54 | renderFullpage(cachedata, false); 55 | return; 56 | }else if(ev.data=='o'){//No order 57 | clearOrderTable(lscache.get('orders')); 58 | lscache.remove('orders'); 59 | return; 60 | } 61 | 62 | var start = new Date().getTime(); 63 | //showtext($message,ev.data); 64 | var json = JSON.parse(ev.data); 65 | renderFullpage(json, true); 66 | var end = new Date().getTime(); 67 | var time = end - start; 68 | $("#timecost").text(time + 'ms'); 69 | }; 70 | 71 | ws.onclose = function(ev){ 72 | $message.attr("class", 'label label-warning'); 73 | $message.text('closed'); 74 | clearInterval(refreshIntervalId); 75 | }; 76 | 77 | ws.onerror = function(ev){ 78 | $message.attr("class", 'label label-danger'); 79 | $message.text('error occurred. sentosa server is inaccessible!'); 80 | clearInterval(refreshIntervalId); 81 | }; 82 | 83 | { 84 | $("#_mkdata").tablesorter(); 85 | $("#order_table").tablesorter(); 86 | } 87 | 88 | //document.getElementById("chart").width = $('#chart').parent().width(); 89 | }); 90 | -------------------------------------------------------------------------------- /static/src/strapdown.css: -------------------------------------------------------------------------------- 1 | 2 | /******************************************************************* 3 | 4 | This chunk is to fix Bootstrap so that the Markdown output looks good 5 | 6 | *******************************************************************/ 7 | 8 | body { 9 | padding-top: 60px; 10 | padding-bottom: 40px; 11 | font-size: 15px; 12 | line-height: 150%; 13 | } 14 | 15 | xmp, textarea { 16 | display: none; 17 | } 18 | 19 | h1,h2,h3,h4 { 20 | margin: 15px 0; 21 | } 22 | 23 | pre { 24 | margin: 20px 0; 25 | } 26 | 27 | img { 28 | margin: 10px 0; 29 | } 30 | 31 | .navbar { 32 | z-index: 1; 33 | } 34 | 35 | .table { 36 | width: auto; 37 | } 38 | 39 | /******************************************************************* 40 | 41 | This chunk is for Google's Code Prettify: 42 | http://google-code-prettify.googlecode.com 43 | 44 | *******************************************************************/ 45 | 46 | 47 | /* Pretty printing styles. Used with prettify.js. */ 48 | 49 | /* SPAN elements with the classes below are added by prettyprint. */ 50 | .pln { color: #000 } /* plain text */ 51 | 52 | @media screen { 53 | .str { color: #080 } /* string content */ 54 | .kwd { color: #008 } /* a keyword */ 55 | .com { color: #800 } /* a comment */ 56 | .typ { color: #606 } /* a type name */ 57 | .lit { color: #066 } /* a literal value */ 58 | /* punctuation, lisp open bracket, lisp close bracket */ 59 | .pun, .opn, .clo { color: #660 } 60 | .tag { color: #008 } /* a markup tag name */ 61 | .atn { color: #606 } /* a markup attribute name */ 62 | .atv { color: #080 } /* a markup attribute value */ 63 | .dec, .var { color: #606 } /* a declaration; a variable name */ 64 | .fun { color: red } /* a function name */ 65 | } 66 | 67 | /* Use higher contrast and text-weight for printable form. */ 68 | @media print, projection { 69 | .str { color: #060 } 70 | .kwd { color: #006; font-weight: bold } 71 | .com { color: #600; font-style: italic } 72 | .typ { color: #404; font-weight: bold } 73 | .lit { color: #044 } 74 | .pun, .opn, .clo { color: #440 } 75 | .tag { color: #006; font-weight: bold } 76 | .atn { color: #404 } 77 | .atv { color: #060 } 78 | } 79 | 80 | /* Put a border around prettyprinted code snippets. */ 81 | pre.prettyprint { padding: 2px; border: 1px solid #888 } 82 | 83 | /* Specify class=linenums on a pre to get line numbering */ 84 | ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */ 85 | li.L0, 86 | li.L1, 87 | li.L2, 88 | li.L3, 89 | li.L5, 90 | li.L6, 91 | li.L7, 92 | li.L8 { list-style-type: none } 93 | /* Alternate shading for lines */ 94 | li.L1, 95 | li.L3, 96 | li.L5, 97 | li.L7, 98 | li.L9 { background: #eee } 99 | 100 | -------------------------------------------------------------------------------- /static/tablesorter/__jquery.tablesorter.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/__jquery.tablesorter.zip -------------------------------------------------------------------------------- /static/tablesorter/addons/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 28 4 | /svn/!svn/ver/3/trunk/addons 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/addons/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 5 5 | https://tablesorter.googlecode.com/svn/trunk/addons 6 | https://tablesorter.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-10-02T08:54:38.707056Z 11 | 3 12 | christian.bach 13 | 14 | 15 | svn:special svn:externals svn:needs-lock 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | dbe5111a-81cf-11de-b558-27974e103503 28 | 29 | pager 30 | dir 31 | 32 | -------------------------------------------------------------------------------- /static/tablesorter/addons/pager/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 34 4 | /svn/!svn/ver/3/trunk/addons/pager 5 | END 6 | jquery.tablesorter.pager.css 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 63 10 | /svn/!svn/ver/3/trunk/addons/pager/jquery.tablesorter.pager.css 11 | END 12 | jquery.tablesorter.pager.js 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 62 16 | /svn/!svn/ver/3/trunk/addons/pager/jquery.tablesorter.pager.js 17 | END 18 | -------------------------------------------------------------------------------- /static/tablesorter/addons/pager/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 5 5 | https://tablesorter.googlecode.com/svn/trunk/addons/pager 6 | https://tablesorter.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-10-02T08:54:38.707056Z 11 | 3 12 | christian.bach 13 | 14 | 15 | svn:special svn:externals svn:needs-lock 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | dbe5111a-81cf-11de-b558-27974e103503 28 | 29 | jquery.tablesorter.pager.css 30 | file 31 | 32 | 33 | 34 | 35 | 2010-10-15T09:18:19.000000Z 36 | 1203093a602bc936c390178ff7a46a5c 37 | 2009-10-02T08:54:38.707056Z 38 | 3 39 | christian.bach 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 432 62 | 63 | jquery.tablesorter.pager.js 64 | file 65 | 66 | 67 | 68 | 69 | 2010-10-15T09:18:19.000000Z 70 | df05218458ff2e243675369f01464c5d 71 | 2009-10-02T08:54:38.707056Z 72 | 3 73 | christian.bach 74 | has-props 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 4077 96 | 97 | -------------------------------------------------------------------------------- /static/tablesorter/addons/pager/.svn/prop-base/jquery.tablesorter.pager.css.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/addons/pager/.svn/prop-base/jquery.tablesorter.pager.js.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/addons/pager/.svn/text-base/jquery.tablesorter.pager.css.svn-base: -------------------------------------------------------------------------------- 1 | div.tablesorterPager { 2 | padding: 10px 0 10px 0; 3 | background-color: #D6D2C2; 4 | text-align: center; 5 | } 6 | div.tablesorterPager span { 7 | padding: 0 5px 0 5px; 8 | } 9 | div.tablesorterPager input.prev { 10 | width: auto; 11 | margin-right: 10px; 12 | } 13 | div.tablesorterPager input.next { 14 | width: auto; 15 | margin-left: 10px; 16 | } 17 | div.tablesorterPager input { 18 | font-size: 8px; 19 | width: 50px; 20 | border: 1px solid #330000; 21 | text-align: center; 22 | } 23 | 24 | 25 | -------------------------------------------------------------------------------- /static/tablesorter/addons/pager/jquery.tablesorter.pager.css: -------------------------------------------------------------------------------- 1 | div.tablesorterPager { 2 | padding: 10px 0 10px 0; 3 | background-color: #D6D2C2; 4 | text-align: center; 5 | } 6 | div.tablesorterPager span { 7 | padding: 0 5px 0 5px; 8 | } 9 | div.tablesorterPager input.prev { 10 | width: auto; 11 | margin-right: 10px; 12 | } 13 | div.tablesorterPager input.next { 14 | width: auto; 15 | margin-left: 10px; 16 | } 17 | div.tablesorterPager input { 18 | font-size: 8px; 19 | width: 50px; 20 | border: 1px solid #330000; 21 | text-align: center; 22 | } 23 | 24 | 25 | -------------------------------------------------------------------------------- /static/tablesorter/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 27 4 | /svn/!svn/ver/3/trunk/build 5 | END 6 | packer.js 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 37 10 | /svn/!svn/ver/3/trunk/build/packer.js 11 | END 12 | ParseMaster.js 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 42 16 | /svn/!svn/ver/3/trunk/build/ParseMaster.js 17 | END 18 | min.js 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 34 22 | /svn/!svn/ver/3/trunk/build/min.js 23 | END 24 | js.jar 25 | K 25 26 | svn:wc:ra_dav:version-url 27 | V 34 28 | /svn/!svn/ver/3/trunk/build/js.jar 29 | END 30 | writeFile.js 31 | K 25 32 | svn:wc:ra_dav:version-url 33 | V 40 34 | /svn/!svn/ver/3/trunk/build/writeFile.js 35 | END 36 | pack.js 37 | K 25 38 | svn:wc:ra_dav:version-url 39 | V 35 40 | /svn/!svn/ver/3/trunk/build/pack.js 41 | END 42 | jsmin.js 43 | K 25 44 | svn:wc:ra_dav:version-url 45 | V 36 46 | /svn/!svn/ver/3/trunk/build/jsmin.js 47 | END 48 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 5 5 | https://tablesorter.googlecode.com/svn/trunk/build 6 | https://tablesorter.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-10-02T08:54:38.707056Z 11 | 3 12 | christian.bach 13 | 14 | 15 | svn:special svn:externals svn:needs-lock 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | dbe5111a-81cf-11de-b558-27974e103503 28 | 29 | ParseMaster.js 30 | file 31 | 32 | 33 | 34 | 35 | 2010-10-15T09:18:18.000000Z 36 | a65d6e61441f8feb80ca3a60928adfb4 37 | 2009-10-02T08:54:38.707056Z 38 | 3 39 | christian.bach 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 4509 62 | 63 | js.jar 64 | file 65 | 66 | 67 | 68 | 69 | 2010-10-15T09:18:19.000000Z 70 | d9192f1aec31d7eeda415cfe9080effd 71 | 2009-10-02T08:54:38.707056Z 72 | 3 73 | christian.bach 74 | has-props 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 708578 96 | 97 | jsmin.js 98 | file 99 | 100 | 101 | 102 | 103 | 2010-10-15T09:18:19.000000Z 104 | 2c36b23d72b484273aecf4e48e6316c0 105 | 2009-10-02T08:54:38.707056Z 106 | 3 107 | christian.bach 108 | has-props 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 6372 130 | 131 | min.js 132 | file 133 | 134 | 135 | 136 | 137 | 2010-10-15T09:18:19.000000Z 138 | 93558606e4131df54b74b08df77d50c8 139 | 2009-10-02T08:54:38.707056Z 140 | 3 141 | christian.bach 142 | has-props 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 124 164 | 165 | pack.js 166 | file 167 | 168 | 169 | 170 | 171 | 2010-10-15T09:18:19.000000Z 172 | 2451c933f5791920900387f6b930912f 173 | 2009-10-02T08:54:38.707056Z 174 | 3 175 | christian.bach 176 | has-props 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 166 198 | 199 | packer.js 200 | file 201 | 202 | 203 | 204 | 205 | 2010-10-15T09:18:18.000000Z 206 | aa212381aa68ea229ed80347d7601d5a 207 | 2009-10-02T08:54:38.707056Z 208 | 3 209 | christian.bach 210 | has-props 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 12560 232 | 233 | writeFile.js 234 | file 235 | 236 | 237 | 238 | 239 | 2010-10-15T09:18:18.000000Z 240 | efce84321fbd55928569368f26814f46 241 | 2009-10-02T08:54:38.707056Z 242 | 3 243 | christian.bach 244 | has-props 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 464 266 | 267 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/prop-base/ParseMaster.js.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/prop-base/js.jar.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/prop-base/jsmin.js.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/prop-base/min.js.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/prop-base/pack.js.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/prop-base/packer.js.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/prop-base/writeFile.js.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/text-base/js.jar.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/build/.svn/text-base/js.jar.svn-base -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/text-base/min.js.svn-base: -------------------------------------------------------------------------------- 1 | load("build/jsmin.js", "build/writeFile.js"); 2 | 3 | var f = jsmin('', readFile(arguments[0]), 3); 4 | 5 | writeFile( arguments[1], f ); 6 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/text-base/pack.js.svn-base: -------------------------------------------------------------------------------- 1 | load("build/ParseMaster.js", "build/packer.js", "build/writeFile.js"); 2 | 3 | var out = readFile( arguments[0] ); 4 | 5 | writeFile( arguments[1], pack( out, 62, true, false ) ); 6 | -------------------------------------------------------------------------------- /static/tablesorter/build/.svn/text-base/writeFile.js.svn-base: -------------------------------------------------------------------------------- 1 | importPackage(java.io); 2 | 3 | function writeFile( file, stream ) { 4 | var buffer = new PrintWriter( new FileWriter( file ) ); 5 | buffer.print( stream ); 6 | buffer.close(); 7 | } 8 | 9 | function read( file ) { 10 | var jq = new File(file); 11 | var reader = new BufferedReader(new FileReader(jq)); 12 | var line = null; 13 | var buffer = new java.lang.StringBuffer(jq.length()); 14 | while( (line = reader.readLine()) != null) { 15 | buffer.append(line); 16 | buffer.append("\n"); 17 | } 18 | return buffer.toString(); 19 | } -------------------------------------------------------------------------------- /static/tablesorter/build/js.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/build/js.jar -------------------------------------------------------------------------------- /static/tablesorter/build/min.js: -------------------------------------------------------------------------------- 1 | load("build/jsmin.js", "build/writeFile.js"); 2 | 3 | var f = jsmin('', readFile(arguments[0]), 3); 4 | 5 | writeFile( arguments[1], f ); 6 | -------------------------------------------------------------------------------- /static/tablesorter/build/pack.js: -------------------------------------------------------------------------------- 1 | load("build/ParseMaster.js", "build/packer.js", "build/writeFile.js"); 2 | 3 | var out = readFile( arguments[0] ); 4 | 5 | writeFile( arguments[1], pack( out, 62, true, false ) ); 6 | -------------------------------------------------------------------------------- /static/tablesorter/build/writeFile.js: -------------------------------------------------------------------------------- 1 | importPackage(java.io); 2 | 3 | function writeFile( file, stream ) { 4 | var buffer = new PrintWriter( new FileWriter( file ) ); 5 | buffer.print( stream ); 6 | buffer.close(); 7 | } 8 | 9 | function read( file ) { 10 | var jq = new File(file); 11 | var reader = new BufferedReader(new FileReader(jq)); 12 | var line = null; 13 | var buffer = new java.lang.StringBuffer(jq.length()); 14 | while( (line = reader.readLine()) != null) { 15 | buffer.append(line); 16 | buffer.append("\n"); 17 | } 18 | return buffer.toString(); 19 | } -------------------------------------------------------------------------------- /static/tablesorter/changelog: -------------------------------------------------------------------------------- 1 | tablesorter changelog 2 | ====================== 3 | http://tablesorter.com 4 | 5 | Changes in version 2.0.3 (2008-03-17) 6 | ------------------------------------- 7 | 8 | Bug fixes 9 | * Missing semicolon, broke the minified version 10 | 11 | 12 | Changes in version 2.0.2 (2008-03-14) 13 | ------------------------------------- 14 | 15 | General 16 | * Added support for the new metadata plugin 17 | * Added support for jQuery 1.2.3 18 | * Added support for decimal numbers and negative and positive digits 19 | * Updated documenation and website with new examples 20 | * Removed packed version. 21 | 22 | Bug fixes 23 | * Sort force (Thanks to David Lynch) 24 | 25 | 26 | Changes in version 2.0.1 (2007-09-17) 27 | ------------------------------------- 28 | 29 | General 30 | * Removed the need for Dimensions plugin when using the pagnation plugin thanks to offset being included in the jQuery 1.2 core. 31 | * Added support for jQuery 1.2 32 | * Added new Minified version of tablesorter 33 | * Updated documenation and website with new examples 34 | 35 | Bug fixes 36 | * If row values are identical the original order is kept (Thanks to David hull) 37 | * If thead includes a table $('tbody:first', table) breaks (Thanks to David Hull) 38 | 39 | Speed improvements: 40 | * appendToTable, setting innerHTML to "" before appending new content to table body. 41 | * zebra widget. (Thanks to James Dempster) -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 26 4 | /svn/!svn/ver/3/trunk/docs 5 | END 6 | example-option-sort-list.html 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 56 10 | /svn/!svn/ver/3/trunk/docs/example-option-sort-list.html 11 | END 12 | example-trigger-sort.html 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 52 16 | /svn/!svn/ver/3/trunk/docs/example-trigger-sort.html 17 | END 18 | example-options-headers.html 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 55 22 | /svn/!svn/ver/3/trunk/docs/example-options-headers.html 23 | END 24 | example-option-sort-order.html 25 | K 25 26 | svn:wc:ra_dav:version-url 27 | V 57 28 | /svn/!svn/ver/3/trunk/docs/example-option-sort-order.html 29 | END 30 | example-option-text-extraction.html 31 | K 25 32 | svn:wc:ra_dav:version-url 33 | V 62 34 | /svn/!svn/ver/3/trunk/docs/example-option-text-extraction.html 35 | END 36 | index.html 37 | K 25 38 | svn:wc:ra_dav:version-url 39 | V 37 40 | /svn/!svn/ver/3/trunk/docs/index.html 41 | END 42 | example-option-sort-force.html 43 | K 25 44 | svn:wc:ra_dav:version-url 45 | V 57 46 | /svn/!svn/ver/3/trunk/docs/example-option-sort-force.html 47 | END 48 | example-parsers.html 49 | K 25 50 | svn:wc:ra_dav:version-url 51 | V 47 52 | /svn/!svn/ver/3/trunk/docs/example-parsers.html 53 | END 54 | example-meta-parsers.html 55 | K 25 56 | svn:wc:ra_dav:version-url 57 | V 52 58 | /svn/!svn/ver/3/trunk/docs/example-meta-parsers.html 59 | END 60 | example-widgets.html 61 | K 25 62 | svn:wc:ra_dav:version-url 63 | V 47 64 | /svn/!svn/ver/3/trunk/docs/example-widgets.html 65 | END 66 | example-empty-table.html 67 | K 25 68 | svn:wc:ra_dav:version-url 69 | V 51 70 | /svn/!svn/ver/3/trunk/docs/example-empty-table.html 71 | END 72 | example-meta-sort-list.html 73 | K 25 74 | svn:wc:ra_dav:version-url 75 | V 54 76 | /svn/!svn/ver/3/trunk/docs/example-meta-sort-list.html 77 | END 78 | example-option-sort-key.html 79 | K 25 80 | svn:wc:ra_dav:version-url 81 | V 55 82 | /svn/!svn/ver/3/trunk/docs/example-option-sort-key.html 83 | END 84 | example-ajax.html 85 | K 25 86 | svn:wc:ra_dav:version-url 87 | V 44 88 | /svn/!svn/ver/3/trunk/docs/example-ajax.html 89 | END 90 | example-update-cell.html 91 | K 25 92 | svn:wc:ra_dav:version-url 93 | V 51 94 | /svn/!svn/ver/3/trunk/docs/example-update-cell.html 95 | END 96 | example-meta-headers.html 97 | K 25 98 | svn:wc:ra_dav:version-url 99 | V 52 100 | /svn/!svn/ver/3/trunk/docs/example-meta-headers.html 101 | END 102 | example-pager.html 103 | K 25 104 | svn:wc:ra_dav:version-url 105 | V 45 106 | /svn/!svn/ver/3/trunk/docs/example-pager.html 107 | END 108 | example-triggers.html 109 | K 25 110 | svn:wc:ra_dav:version-url 111 | V 48 112 | /svn/!svn/ver/3/trunk/docs/example-triggers.html 113 | END 114 | example-option-debug.html 115 | K 25 116 | svn:wc:ra_dav:version-url 117 | V 52 118 | /svn/!svn/ver/3/trunk/docs/example-option-debug.html 119 | END 120 | example-option-digits.html 121 | K 25 122 | svn:wc:ra_dav:version-url 123 | V 53 124 | /svn/!svn/ver/3/trunk/docs/example-option-digits.html 125 | END 126 | example-extending-defaults.html 127 | K 25 128 | svn:wc:ra_dav:version-url 129 | V 58 130 | /svn/!svn/ver/3/trunk/docs/example-extending-defaults.html 131 | END 132 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-ajax.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-empty-table.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-extending-defaults.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-meta-headers.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-meta-parsers.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-meta-sort-list.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-option-debug.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-option-digits.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-option-sort-force.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-option-sort-key.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-option-sort-list.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-option-sort-order.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-option-text-extraction.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-options-headers.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-pager.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-parsers.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-trigger-sort.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-triggers.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-update-cell.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/example-widgets.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/prop-base/index.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/text-base/example-empty-table.html.svn-base: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Initializing tablesorter on a empty table 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 31 | 32 | 33 | 39 |
40 |

Demo

41 |
42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
First NameLast NameAgeTotalDiscountDate
56 | Append new table data 57 |
58 |
59 |
60 |

Javascript

61 |
62 |

63 | 	
64 |

HTML

65 |
66 |

67 | 	
68 |
69 | 70 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/text-base/example-meta-parsers.html.svn-base: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Setting column parser using metadata 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 20 | 21 | 22 | 28 |
29 |

Demo

30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 |
First NameLast NameAgeTotalDiscountDate
PeterParker28$9.9920%Jul 6, 2006 8:14 AM
JohnHood33$19.9925%Dec 10, 2002 5:14 AM
ClarkKent18$15.8944%Jan 12, 2003 11:14 AM
BruceAlmighty45$153.1944%Jan 18, 2001 9:12 AM
BruceEvans22$13.1911%Jan 18, 2007 9:12 AM
88 |
89 |

Javascript

90 |
91 |

 92 | 	
93 |

HTML

94 |
95 |

 96 | 	
97 |
98 | 99 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/text-base/example-option-digits.html.svn-base: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Enabling debug mode 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 27 |
28 | 29 |

Demo

30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 |
First NameLast NameAgeTotalDiscountDiff
PeterParker289.9920.3%+3.0
JohnHood3319.9925.1%-7
ClarkKent1815.8944.2%-15
BruceAlmighty45153.1944%+19
BruceEvans56153.1923%+9
87 | 88 |
89 | 90 |

Javascript

91 |
92 |

 93 | 	
94 |

HTML

95 |
96 |

 97 | 	
98 |
99 | 100 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/text-base/example-option-sort-force.html.svn-base: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Force a default sorting order 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 21 | 22 | 23 | 29 |
30 |

Demo

31 |
32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 |
First NameLast NameAgeTotalDiscountDate
PeterParker28$9.9920%Jul 6, 2006 8:14 AM
JohnHood33$19.9925%Dec 10, 2002 5:14 AM
ClarkKent18$15.8944%Jan 12, 2003 11:14 AM
BruceAlmighty45$153.1944%Jan 18, 2001 9:12 AM
BruceEvans22$13.1911%Jan 18, 2007 9:12 AM
90 |
91 |

Javascript

92 |
93 |

 94 | 	
95 |

HTML

96 |
97 |

 98 | 	
99 |
100 | 101 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/text-base/example-option-sort-order.html.svn-base: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Set a initi 6 | <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" /> 7 | <link rel="stylesheet" href="../themes/blue/style.css" type="text/css" id="" media="print, projection, screen" /> 8 | <script type="text/javascript" src="../jquery-latest.js"></script> 9 | 10 | <script type="text/javascript" src="../jquery.tablesorter.js"></script> 11 | <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script> 12 | <script type="text/javascript" src="js/chili/chili-1.8b.js"></script> 13 | <script type="text/javascript" src="js/docs.js"></script> 14 | <script type="text/javascript" src="js/examples.js"></script> 15 | <script type="text/javascript" id="js">$(document).ready(function() { 16 | // call the tablesorter plugin 17 | $("table").tablesorter({ 18 | // change the default sorting order from 'asc' to 'desc' 19 | sortInitialOrder: 'desc' 20 | }); 21 | }); </script> 22 | </head> 23 | <body> 24 | <div id="banner"> 25 | <h1>table<em>sorter</em></h1> 26 | <h2>Set a initial sorting order</h2> 27 | <h3>Flexible client-side table sorting</h3> 28 | <a href="index.html">Back to documentation</a> 29 | </div> 30 | <div id="main"> 31 | <h1>Demo</h1> 32 | <div id="demo"> 33 | <table cellspacing="1" class="tablesorter"> 34 | <thead> 35 | <tr> 36 | <th>First Name</th> 37 | <th>Last Name</th> 38 | <th>Age</th> 39 | <th>Total</th> 40 | <th>Discount</th> 41 | <th>Date</th> 42 | 43 | </tr> 44 | </thead> 45 | <tbody> 46 | <tr> 47 | <td>Peter</td> 48 | <td>Parker</td> 49 | <td>28</td> 50 | <td>$9.99</td> 51 | <td>20%</td> 52 | 53 | <td>Jul 6, 2006 8:14 AM</td> 54 | </tr> 55 | <tr> 56 | <td>John</td> 57 | <td>Hood</td> 58 | <td>33</td> 59 | <td>$19.99</td> 60 | <td>25%</td> 61 | 62 | <td>Dec 10, 2002 5:14 AM</td> 63 | </tr> 64 | <tr> 65 | <td>Clark</td> 66 | <td>Kent</td> 67 | <td>18</td> 68 | <td>$15.89</td> 69 | <td>44%</td> 70 | <td>Jan 12, 2003 11:14 AM</td> 71 | </tr> 72 | <tr> 73 | <td>Bruce</td> 74 | <td>Almighty</td> 75 | <td>45</td> 76 | <td>$153.19</td> 77 | <td>44%</td> 78 | 79 | <td>Jan 18, 2001 9:12 AM</td> 80 | </tr> 81 | <tr> 82 | <td>Bruce</td> 83 | <td>Evans</td> 84 | <td>22</td> 85 | <td>$13.19</td> 86 | <td>11%</td> 87 | <td>Jan 18, 2007 9:12 AM</td> 88 | </tr> 89 | </tbody> 90 | </table> 91 | </div> 92 | <h1>Javascript</h1> 93 | <div id="javascript"> 94 | <pre class="javascript"></pre> 95 | </div> 96 | <h1>HTML</h1> 97 | <div id="html"> 98 | <pre class="html"></pre> 99 | </div> 100 | </div> 101 | <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> 102 | <script type="text/javascript"> 103 | _uacct = "UA-2189649-2"; 104 | urchinTracker(); 105 | </script> 106 | </body> 107 | </html> 108 | 109 | -------------------------------------------------------------------------------- /static/tablesorter/docs/.svn/text-base/example-option-text-extraction.html.svn-base: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us"> 4 | <head> 5 | <title>jQuery plugin: Tablesorter 2.0 - Dealing with markup inside cells 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 26 | 27 | 28 | 34 |
35 |

Demo

36 |
37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 |
First NameLast NameAgeTotalDiscountDate
PeterParker28$9.9920%Jul 6, 2006 8:14 AM
JohnHood33$19.9925%Dec 10, 2002 5:14 AM
68 |
69 |

Javascript

70 |
71 |

72 | 	
73 |

HTML

74 |
75 |

76 | 	
77 |
78 | 79 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /static/tablesorter/docs/assets/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 33 4 | /svn/!svn/ver/3/trunk/docs/assets 5 | END 6 | ajax-content.html 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 51 10 | /svn/!svn/ver/3/trunk/docs/assets/ajax-content.html 11 | END 12 | -------------------------------------------------------------------------------- /static/tablesorter/docs/assets/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 5 5 | https://tablesorter.googlecode.com/svn/trunk/docs/assets 6 | https://tablesorter.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-10-02T08:54:38.707056Z 11 | 3 12 | christian.bach 13 | 14 | 15 | svn:special svn:externals svn:needs-lock 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | dbe5111a-81cf-11de-b558-27974e103503 28 | 29 | ajax-content.html 30 | file 31 | 32 | 33 | 34 | 35 | 2010-10-15T09:18:20.000000Z 36 | 37c2591f6f63c9332374c71765b1bfcc 37 | 2009-10-02T08:54:38.707056Z 38 | 3 39 | christian.bach 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 765 62 | 63 | -------------------------------------------------------------------------------- /static/tablesorter/docs/assets/.svn/prop-base/ajax-content.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/assets/.svn/text-base/ajax-content.html.svn-base: -------------------------------------------------------------------------------- 1 | 2 | Peter 3 | Parker 4 | 28 5 | $9.99 6 | 20% 7 | 8 | Jul 6, 2006 8:14 AM 9 | 10 | 11 | John 12 | Hood 13 | 33 14 | $19.99 15 | 25% 16 | 17 | Dec 10, 2002 5:14 AM 18 | 19 | 20 | Clark 21 | Kent 22 | 18 23 | $15.89 24 | 44% 25 | Jan 12, 2003 11:14 AM 26 | 27 | 28 | Bruce 29 | Almighty 30 | 45 31 | $153.19 32 | 44% 33 | 34 | Jan 18, 2001 9:12 AM 35 | 36 | 37 | Bruce 38 | Evans 39 | 22 40 | $13.19 41 | 11% 42 | Jan 18, 2007 9:12 AM 43 | -------------------------------------------------------------------------------- /static/tablesorter/docs/assets/ajax-content.html: -------------------------------------------------------------------------------- 1 | 2 | Peter 3 | Parker 4 | 28 5 | $9.99 6 | 20% 7 | 8 | Jul 6, 2006 8:14 AM 9 | 10 | 11 | John 12 | Hood 13 | 33 14 | $19.99 15 | 25% 16 | 17 | Dec 10, 2002 5:14 AM 18 | 19 | 20 | Clark 21 | Kent 22 | 18 23 | $15.89 24 | 44% 25 | Jan 12, 2003 11:14 AM 26 | 27 | 28 | Bruce 29 | Almighty 30 | 45 31 | $153.19 32 | 44% 33 | 34 | Jan 18, 2001 9:12 AM 35 | 36 | 37 | Bruce 38 | Evans 39 | 22 40 | $13.19 41 | 11% 42 | Jan 18, 2007 9:12 AM 43 | -------------------------------------------------------------------------------- /static/tablesorter/docs/css/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 30 4 | /svn/!svn/ver/3/trunk/docs/css 5 | END 6 | jq.css 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 37 10 | /svn/!svn/ver/3/trunk/docs/css/jq.css 11 | END 12 | -------------------------------------------------------------------------------- /static/tablesorter/docs/css/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 5 5 | https://tablesorter.googlecode.com/svn/trunk/docs/css 6 | https://tablesorter.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-10-02T08:54:38.707056Z 11 | 3 12 | christian.bach 13 | 14 | 15 | svn:special svn:externals svn:needs-lock 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | dbe5111a-81cf-11de-b558-27974e103503 28 | 29 | jq.css 30 | file 31 | 32 | 33 | 34 | 35 | 2010-10-15T09:18:20.000000Z 36 | 67b0f319899db115e9e9ef3e1f4c0316 37 | 2009-10-02T08:54:38.707056Z 38 | 3 39 | christian.bach 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 1955 62 | 63 | -------------------------------------------------------------------------------- /static/tablesorter/docs/css/.svn/prop-base/jq.css.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/css/.svn/text-base/jq.css.svn-base: -------------------------------------------------------------------------------- 1 | body,div,h1{font-family:'trebuchet ms', verdana, arial;margin:0;padding:0;} 2 | body{background-color:#fff;color:#333;font-size:small;margin:0;padding:0;} 3 | h1{font-size:large;font-weight:400;margin:0;} 4 | h2{color:#333;font-size:small;font-weight:400;margin:0;} 5 | pre{background-color:#eee;border:1px solid #ddd;border-left-width:5px;color:#333;font-size:small;overflow-x:auto;padding:15px;} 6 | pre.normal{background-color:transparent;border:none;border-left-width:0;overflow-x:auto;} 7 | #logo{background:url(images/jq.png);display:block;float:right;height:31px;margin-right:10px;margin-top:10px;width:110px;} 8 | #main{margin:0 20px 20px;padding:0 15px 15px 0;} 9 | #content{padding:20px;} 10 | #busy{background-color:#e95555;border:1px ridge #ccc;color:#eee;display:none;padding:3px;position:absolute;right:7px;top:7px;} 11 | hr{height:1px;} 12 | code{font-size:108%;font-style:normal;padding:0;} 13 | ul{color:#333;list-style:square;} 14 | #banner{margin:20px;padding-bottom:10px;text-align:left;} 15 | #banner *{color:#232121;font-family:Georgia, Palatino, Times New Roman;font-size:30px;font-style:normal;font-weight:400;margin:0;padding:0;} 16 | #banner h1{display:block;float:left;} 17 | #banner h1 em{color:#6cf;} 18 | #banner h2{float:right;font-size:26px;margin:10px 10px -10px -10px;} 19 | #banner h3{clear:both;display:block;font-size:12px;margin-top:-20px;} 20 | #banner a{border-top:1px solid #888;display:block;font-size:14px;margin:5px 0 0;padding:10px 0 0;text-align:right;width:auto;} 21 | a.external{background-image:url(../img/external.png);background-position:center right;background-repeat:no-repeat;padding-right:12px;} 22 | form{font-size:10pt;margin-bottom:20px;width:auto;} 23 | form fieldset{padding:10px;text-align:left;width:140px;} 24 | div#main h1{border-bottom:1px solid #CDCDCD;display:block;margin-top:20px;padding:10px 0 2px;} 25 | table#tablesorter-demo {margin: 10px 0 0 0;} 26 | table#options *{font-size:small;} 27 | p.tip em {padding: 2px; background-color: #6cf; color: #FFF;} 28 | div.digg {float: right;} -------------------------------------------------------------------------------- /static/tablesorter/docs/css/jq.css: -------------------------------------------------------------------------------- 1 | body,div,h1{font-family:'trebuchet ms', verdana, arial;margin:0;padding:0;} 2 | body{background-color:#fff;color:#333;font-size:small;margin:0;padding:0;} 3 | h1{font-size:large;font-weight:400;margin:0;} 4 | h2{color:#333;font-size:small;font-weight:400;margin:0;} 5 | pre{background-color:#eee;border:1px solid #ddd;border-left-width:5px;color:#333;font-size:small;overflow-x:auto;padding:15px;} 6 | pre.normal{background-color:transparent;border:none;border-left-width:0;overflow-x:auto;} 7 | #logo{background:url(images/jq.png);display:block;float:right;height:31px;margin-right:10px;margin-top:10px;width:110px;} 8 | #main{margin:0 20px 20px;padding:0 15px 15px 0;} 9 | #content{padding:20px;} 10 | #busy{background-color:#e95555;border:1px ridge #ccc;color:#eee;display:none;padding:3px;position:absolute;right:7px;top:7px;} 11 | hr{height:1px;} 12 | code{font-size:108%;font-style:normal;padding:0;} 13 | ul{color:#333;list-style:square;} 14 | #banner{margin:20px;padding-bottom:10px;text-align:left;} 15 | #banner *{color:#232121;font-family:Georgia, Palatino, Times New Roman;font-size:30px;font-style:normal;font-weight:400;margin:0;padding:0;} 16 | #banner h1{display:block;float:left;} 17 | #banner h1 em{color:#6cf;} 18 | #banner h2{float:right;font-size:26px;margin:10px 10px -10px -10px;} 19 | #banner h3{clear:both;display:block;font-size:12px;margin-top:-20px;} 20 | #banner a{border-top:1px solid #888;display:block;font-size:14px;margin:5px 0 0;padding:10px 0 0;text-align:right;width:auto;} 21 | a.external{background-image:url(../img/external.png);background-position:center right;background-repeat:no-repeat;padding-right:12px;} 22 | form{font-size:10pt;margin-bottom:20px;width:auto;} 23 | form fieldset{padding:10px;text-align:left;width:140px;} 24 | div#main h1{border-bottom:1px solid #CDCDCD;display:block;margin-top:20px;padding:10px 0 2px;} 25 | table#tablesorter-demo {margin: 10px 0 0 0;} 26 | table#options *{font-size:small;} 27 | p.tip em {padding: 2px; background-color: #6cf; color: #FFF;} 28 | p.tip.update em {background-color: #FF0000;} 29 | div.digg {float: right;} -------------------------------------------------------------------------------- /static/tablesorter/docs/example-empty-table.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Initializing tablesorter on a empty table 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 31 | 32 | 33 | 39 |
40 |

Demo

41 |
42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
First NameLast NameAgeTotalDiscountDate
56 | Append new table data 57 |
58 |
59 |
60 |

Javascript

61 |
62 |

63 | 	
64 |

HTML

65 |
66 |

67 | 	
68 |
69 | 70 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /static/tablesorter/docs/example-meta-parsers.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Setting column parser using metadata 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 20 | 21 | 22 | 28 |
29 |

Demo

30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 |
First NameLast NameAgeTotalDiscountDate
PeterParker28$9.9920%Jul 6, 2006 8:14 AM
JohnHood33$19.9925%Dec 10, 2002 5:14 AM
ClarkKent18$15.8944%Jan 12, 2003 11:14 AM
BruceAlmighty45$153.1944%Jan 18, 2001 9:12 AM
BruceEvans22$13.1911%Jan 18, 2007 9:12 AM
88 |
89 |

Javascript

90 |
91 |

 92 | 	
93 |

HTML

94 |
95 |

 96 | 	
97 |
98 | 99 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /static/tablesorter/docs/example-option-digits.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Enabling debug mode 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 27 |
28 | 29 |

Demo

30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 |
First NameLast NameAgeTotalDiscountDiff
PeterParker289.9920.3%+3.0
JohnHood3319.9925.1%-7
ClarkKent1815.8944.2%-15
BruceAlmighty45153.1944%+19
BruceEvans56153.1923%+9
87 | 88 |
89 | 90 |

Javascript

91 |
92 |

 93 | 	
94 |

HTML

95 |
96 |

 97 | 	
98 |
99 | 100 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /static/tablesorter/docs/example-option-sort-force.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Force a default sorting order 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 21 | 22 | 23 | 29 |
30 |

Demo

31 |
32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 |
First NameLast NameAgeTotalDiscountDate
PeterParker28$9.9920%Jul 6, 2006 8:14 AM
JohnHood33$19.9925%Dec 10, 2002 5:14 AM
ClarkKent18$15.8944%Jan 12, 2003 11:14 AM
BruceAlmighty45$153.1944%Jan 18, 2001 9:12 AM
BruceEvans22$13.1911%Jan 18, 2007 9:12 AM
90 |
91 |

Javascript

92 |
93 |

 94 | 	
95 |

HTML

96 |
97 |

 98 | 	
99 |
100 | 101 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /static/tablesorter/docs/example-option-sort-key.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Change multi-column sorting key 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 22 | 23 | 24 | 30 |
31 |

Demo

32 |
33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |
First NameLast NameAgeTotalDiscountDate
PeterParker28$9.9920%Jul 6, 2006 8:14 AM
JohnHood33$19.9925%Dec 10, 2002 5:14 AM
ClarkKent18$15.8944%Jan 12, 2003 11:14 AM
BruceAlmighty45$153.1944%Jan 18, 2001 9:12 AM
BruceEvans22$13.1911%Jan 18, 2007 9:12 AM
91 |
92 |

Javascript

93 |
94 |

 95 | 	
96 |

HTML

97 |
98 |

 99 | 	
100 |
101 | 102 | 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /static/tablesorter/docs/example-option-sort-list.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Set a initial sorting order 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 22 | 23 | 24 | 30 |
31 |

Demo

32 |
33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |
First NameLast NameAgeTotalDiscountDate
PeterParker28$9.9920%Jul 6, 2006 8:14 AM
JohnHood33$19.9925%Dec 10, 2002 5:14 AM
ClarkKent18$15.8944%Jan 12, 2003 11:14 AM
BruceAlmighty45$153.1944%Jan 18, 2001 9:12 AM
BruceEvans22$13.1911%Jan 18, 2007 9:12 AM
91 |
92 |

Javascript

93 |
94 |

 95 | 	
96 |

HTML

97 |
98 |

 99 | 	
100 |
101 | 102 | 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /static/tablesorter/docs/example-option-sort-order.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | jQuery plugin: Tablesorter 2.0 - Set a initi 6 | <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" /> 7 | <link rel="stylesheet" href="../themes/blue/style.css" type="text/css" id="" media="print, projection, screen" /> 8 | <script type="text/javascript" src="../jquery-latest.js"></script> 9 | 10 | <script type="text/javascript" src="../jquery.tablesorter.js"></script> 11 | <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script> 12 | <script type="text/javascript" src="js/chili/chili-1.8b.js"></script> 13 | <script type="text/javascript" src="js/docs.js"></script> 14 | <script type="text/javascript" src="js/examples.js"></script> 15 | <script type="text/javascript" id="js">$(document).ready(function() { 16 | // call the tablesorter plugin 17 | $("table").tablesorter({ 18 | // change the default sorting order from 'asc' to 'desc' 19 | sortInitialOrder: 'desc' 20 | }); 21 | }); </script> 22 | </head> 23 | <body> 24 | <div id="banner"> 25 | <h1>table<em>sorter</em></h1> 26 | <h2>Set a initial sorting order</h2> 27 | <h3>Flexible client-side table sorting</h3> 28 | <a href="index.html">Back to documentation</a> 29 | </div> 30 | <div id="main"> 31 | <h1>Demo</h1> 32 | <div id="demo"> 33 | <table cellspacing="1" class="tablesorter"> 34 | <thead> 35 | <tr> 36 | <th>First Name</th> 37 | <th>Last Name</th> 38 | <th>Age</th> 39 | <th>Total</th> 40 | <th>Discount</th> 41 | <th>Date</th> 42 | 43 | </tr> 44 | </thead> 45 | <tbody> 46 | <tr> 47 | <td>Peter</td> 48 | <td>Parker</td> 49 | <td>28</td> 50 | <td>$9.99</td> 51 | <td>20%</td> 52 | 53 | <td>Jul 6, 2006 8:14 AM</td> 54 | </tr> 55 | <tr> 56 | <td>John</td> 57 | <td>Hood</td> 58 | <td>33</td> 59 | <td>$19.99</td> 60 | <td>25%</td> 61 | 62 | <td>Dec 10, 2002 5:14 AM</td> 63 | </tr> 64 | <tr> 65 | <td>Clark</td> 66 | <td>Kent</td> 67 | <td>18</td> 68 | <td>$15.89</td> 69 | <td>44%</td> 70 | <td>Jan 12, 2003 11:14 AM</td> 71 | </tr> 72 | <tr> 73 | <td>Bruce</td> 74 | <td>Almighty</td> 75 | <td>45</td> 76 | <td>$153.19</td> 77 | <td>44%</td> 78 | 79 | <td>Jan 18, 2001 9:12 AM</td> 80 | </tr> 81 | <tr> 82 | <td>Bruce</td> 83 | <td>Evans</td> 84 | <td>22</td> 85 | <td>$13.19</td> 86 | <td>11%</td> 87 | <td>Jan 18, 2007 9:12 AM</td> 88 | </tr> 89 | </tbody> 90 | </table> 91 | </div> 92 | <h1>Javascript</h1> 93 | <div id="javascript"> 94 | <pre class="javascript"></pre> 95 | </div> 96 | <h1>HTML</h1> 97 | <div id="html"> 98 | <pre class="html"></pre> 99 | </div> 100 | </div> 101 | <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> 102 | <script type="text/javascript"> 103 | _uacct = "UA-2189649-2"; 104 | urchinTracker(); 105 | </script> 106 | </body> 107 | </html> 108 | 109 | -------------------------------------------------------------------------------- /static/tablesorter/docs/example-option-text-extraction.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us"> 4 | <head> 5 | <title>jQuery plugin: Tablesorter 2.0 - Dealing with markup inside cells 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 26 | 27 | 28 | 34 |
35 |

Demo

36 |
37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 |
First NameLast NameAgeTotalDiscountDate
PeterParker28$9.9920%Jul 6, 2006 8:14 AM
JohnHood33$19.9925%Dec 10, 2002 5:14 AM
68 |
69 |

Javascript

70 |
71 |

72 | 	
73 |

HTML

74 |
75 |

76 | 	
77 |
78 | 79 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /static/tablesorter/docs/img/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 30 4 | /svn/!svn/ver/3/trunk/docs/img 5 | END 6 | external.png 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 43 10 | /svn/!svn/ver/3/trunk/docs/img/external.png 11 | END 12 | -------------------------------------------------------------------------------- /static/tablesorter/docs/img/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 5 5 | https://tablesorter.googlecode.com/svn/trunk/docs/img 6 | https://tablesorter.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-10-02T08:54:38.707056Z 11 | 3 12 | christian.bach 13 | 14 | 15 | svn:special svn:externals svn:needs-lock 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | dbe5111a-81cf-11de-b558-27974e103503 28 | 29 | external.png 30 | file 31 | 32 | 33 | 34 | 35 | 2010-10-15T09:18:20.000000Z 36 | 8ea7563eac773be6a466fd8a9866a411 37 | 2009-10-02T08:54:38.707056Z 38 | 3 39 | christian.bach 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 165 62 | 63 | -------------------------------------------------------------------------------- /static/tablesorter/docs/img/.svn/prop-base/external.png.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/img/.svn/text-base/external.png.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/docs/img/.svn/text-base/external.png.svn-base -------------------------------------------------------------------------------- /static/tablesorter/docs/img/external.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/docs/img/external.png -------------------------------------------------------------------------------- /static/tablesorter/docs/js/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 29 4 | /svn/!svn/ver/3/trunk/docs/js 5 | END 6 | docs.js 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 37 10 | /svn/!svn/ver/3/trunk/docs/js/docs.js 11 | END 12 | examples.js 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 41 16 | /svn/!svn/ver/3/trunk/docs/js/examples.js 17 | END 18 | -------------------------------------------------------------------------------- /static/tablesorter/docs/js/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 5 5 | https://tablesorter.googlecode.com/svn/trunk/docs/js 6 | https://tablesorter.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-10-02T08:54:38.707056Z 11 | 3 12 | christian.bach 13 | 14 | 15 | svn:special svn:externals svn:needs-lock 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | dbe5111a-81cf-11de-b558-27974e103503 28 | 29 | docs.js 30 | file 31 | 32 | 33 | 34 | 35 | 2010-10-15T09:18:20.000000Z 36 | c208f9b1033c5f037f0d295871c77788 37 | 2009-10-02T08:54:38.707056Z 38 | 3 39 | christian.bach 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 702 62 | 63 | examples.js 64 | file 65 | 66 | 67 | 68 | 69 | 2010-10-15T09:18:20.000000Z 70 | 5db20b228577e934ef3b10839271ec5d 71 | 2009-10-02T08:54:38.707056Z 72 | 3 73 | christian.bach 74 | has-props 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 806 96 | 97 | -------------------------------------------------------------------------------- /static/tablesorter/docs/js/.svn/prop-base/docs.js.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/js/.svn/prop-base/examples.js.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/docs/js/.svn/text-base/docs.js.svn-base: -------------------------------------------------------------------------------- 1 | /* Stop IE flicker */ 2 | if ($.browser.msie == true) document.execCommand('BackgroundImageCache', false, true); 3 | ChiliBook.recipeFolder = "js/chili/"; 4 | ChiliBook.stylesheetFolder = "js/chili/" 5 | 6 | jQuery.fn.antispam = function() { 7 | return this.each(function(){ 8 | var email = $(this).text().toLowerCase().replace(/\sdot/g,'.').replace(/\sat/g,'@').replace(/\s+/g,''); 9 | var URI = "mailto:" + email; 10 | $(this).hide().before( 11 | $("").attr("href",URI).addClass("external").text(email) 12 | ); 13 | }); 14 | }; 15 | 16 | 17 | $(function() { 18 | $("pre.javascript").chili(); 19 | $("pre.html").chili(); 20 | $("pre.css").chili(); 21 | $("a.external").each(function() {this.target = '_new'}); 22 | $("span.email").antispam(); 23 | }); -------------------------------------------------------------------------------- /static/tablesorter/docs/js/.svn/text-base/examples.js.svn-base: -------------------------------------------------------------------------------- 1 | $(function() { 2 | 3 | // get javascript source 4 | $("#javascript pre").text($("#js").html()); 5 | 6 | if($("#demo").size() > 0) { 7 | // old school chaining... 8 | var html = $("#demo").html() 9 | .toLowerCase() 10 | .replace(/\n|\t|\r/g,'') 11 | .replace(//g,'\n') 13 | .replace(//g,'\n') 15 | .replace(/<\/tr>/g,'\t\t') 16 | .replace(//g,'\n\t\t\n') 17 | .replace(/') 18 | .replace(/<\/thead>/g,'\n\t') 19 | .replace(//g,'\n\t') 21 | .replace(/<\/table>/g,'\n') 22 | .replace(/-->/g,'-->\n'); 23 | 24 | $("#html pre").text(html); 25 | } 26 | $("pre.javascript").chili(); 27 | $("pre.html").chili(); 28 | $("pre.css").chili(); 29 | }); -------------------------------------------------------------------------------- /static/tablesorter/docs/js/docs.js: -------------------------------------------------------------------------------- 1 | /* Stop IE flicker */ 2 | if ($.browser.msie == true) document.execCommand('BackgroundImageCache', false, true); 3 | ChiliBook.recipeFolder = "js/chili/"; 4 | ChiliBook.stylesheetFolder = "js/chili/" 5 | 6 | jQuery.fn.antispam = function() { 7 | return this.each(function(){ 8 | var email = $(this).text().toLowerCase().replace(/\sdot/g,'.').replace(/\sat/g,'@').replace(/\s+/g,''); 9 | var URI = "mailto:" + email; 10 | $(this).hide().before( 11 | $("").attr("href",URI).addClass("external").text(email) 12 | ); 13 | }); 14 | }; 15 | 16 | 17 | $(function() { 18 | $("pre.javascript").chili(); 19 | $("pre.html").chili(); 20 | $("pre.css").chili(); 21 | $("a.external").each(function() {this.target = '_new'}); 22 | $("span.email").antispam(); 23 | }); -------------------------------------------------------------------------------- /static/tablesorter/docs/js/examples.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | 3 | // get javascript source 4 | $("#javascript pre").text($("#js").html()); 5 | 6 | if($("#demo").size() > 0) { 7 | // old school chaining... 8 | var html = $("#demo").html() 9 | .toLowerCase() 10 | .replace(/\n|\t|\r/g,'') 11 | .replace(//g,'\n') 13 | .replace(//g,'\n') 15 | .replace(/<\/tr>/g,'\t\t') 16 | .replace(//g,'\n\t\t\n') 17 | .replace(/') 18 | .replace(/<\/thead>/g,'\n\t') 19 | .replace(//g,'\n\t') 21 | .replace(/<\/table>/g,'\n') 22 | .replace(/-->/g,'-->\n'); 23 | 24 | $("#html pre").text(html); 25 | } 26 | $("pre.javascript").chili(); 27 | $("pre.html").chili(); 28 | $("pre.css").chili(); 29 | }); -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 27 4 | /svn/!svn/ver/5/trunk/tests 5 | END 6 | multiple-headers.html 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 49 10 | /svn/!svn/ver/4/trunk/tests/multiple-headers.html 11 | END 12 | lockedOrder.html 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 44 16 | /svn/!svn/ver/5/trunk/tests/lockedOrder.html 17 | END 18 | pager.html 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 38 22 | /svn/!svn/ver/3/trunk/tests/pager.html 23 | END 24 | demo.html 25 | K 25 26 | svn:wc:ra_dav:version-url 27 | V 37 28 | /svn/!svn/ver/5/trunk/tests/demo.html 29 | END 30 | checkbox.html 31 | K 25 32 | svn:wc:ra_dav:version-url 33 | V 41 34 | /svn/!svn/ver/3/trunk/tests/checkbox.html 35 | END 36 | index.html 37 | K 25 38 | svn:wc:ra_dav:version-url 39 | V 38 40 | /svn/!svn/ver/3/trunk/tests/index.html 41 | END 42 | metadata.html 43 | K 25 44 | svn:wc:ra_dav:version-url 45 | V 41 46 | /svn/!svn/ver/3/trunk/tests/metadata.html 47 | END 48 | cell.metadata.html 49 | K 25 50 | svn:wc:ra_dav:version-url 51 | V 46 52 | /svn/!svn/ver/3/trunk/tests/cell.metadata.html 53 | END 54 | large.html 55 | K 25 56 | svn:wc:ra_dav:version-url 57 | V 38 58 | /svn/!svn/ver/3/trunk/tests/large.html 59 | END 60 | colspan.html 61 | K 25 62 | svn:wc:ra_dav:version-url 63 | V 40 64 | /svn/!svn/ver/4/trunk/tests/colspan.html 65 | END 66 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/prop-base/cell.metadata.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/prop-base/checkbox.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/prop-base/colspan.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/prop-base/demo.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/prop-base/index.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/prop-base/large.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/prop-base/lockedOrder.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/prop-base/metadata.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/prop-base/multiple-headers.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/prop-base/pager.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/text-base/cell.metadata.html.svn-base: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | tablesorter 2.0-dev demo, multi column sorting 7 | 8 | 9 | 10 | 11 | 12 | 13 | 20 | 21 | 22 | 23 |

tablesorter 2.0-dev demo, multi column sorting

24 |

25 | To select more then one column to sort by, hold down your shift key and press the "headers". 26 | Pressing a all ready sorted column while holding down shift will reverse the order. 27 |

28 |

29 | Releasing the shift key and pressing a column will result in a one column sort. 30 |

31 | 32 |

Not big enough? Add 500 random rows of data (can be clicked many times, more then a 1000 rows can be slow)

33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 |
NameMajorSexEnglishJapaneseCalculusGeometry
NameMajorSexEnglishJapaneseCalculusGeometry
Student01Languagesmale80100'70,00.0075.000
Student02Mathematicsmale908810090
Student03Languagesfemale85958085
Student04Languagesmale6055100100
105 | 107 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/text-base/checkbox.html.svn-base: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | tablesorter 2.0-dev demo, multi column sorting 7 | 8 | 9 | 10 | 11 | 12 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 |
NameMajorSexEnglishJapaneseCalculusGeometry
NameMajorSexEnglishJapaneseCalculusGeometry
Student01Languagesmale807075
Student02Mathematicsmale9088100
Student03Languagesfemale859580
Student04Languagesmale6055100
116 | 117 | 118 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/text-base/index.html.svn-base: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Love Peace and Nukes 8 | 9 | 10 | 11 | 12 | 13 | 15 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/text-base/large.html.svn-base: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | tablesorter: 296 rows 7 | 8 | 9 | 10 | 11 | 12 | 13 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /static/tablesorter/tests/.svn/text-base/multiple-headers.html.svn-base: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
General informationDegree informationGeometry
MajorGenderEnglishJapaneseCalculus
Student01Languagesmale70
Student02Mathematicsmale9088
Student03Languagesfemale859580
66 | 67 | 68 | -------------------------------------------------------------------------------- /static/tablesorter/tests/assets/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 34 4 | /svn/!svn/ver/3/trunk/tests/assets 5 | END 6 | ajax-content.html 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 52 10 | /svn/!svn/ver/3/trunk/tests/assets/ajax-content.html 11 | END 12 | -------------------------------------------------------------------------------- /static/tablesorter/tests/assets/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 5 5 | https://tablesorter.googlecode.com/svn/trunk/tests/assets 6 | https://tablesorter.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-10-02T08:54:38.707056Z 11 | 3 12 | christian.bach 13 | 14 | 15 | svn:special svn:externals svn:needs-lock 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | dbe5111a-81cf-11de-b558-27974e103503 28 | 29 | ajax-content.html 30 | file 31 | 32 | 33 | 34 | 35 | 2010-10-15T09:18:19.000000Z 36 | 01d47d69c2c1d16a805499e93670fa67 37 | 2009-10-02T08:54:38.707056Z 38 | 3 39 | christian.bach 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 388 62 | 63 | -------------------------------------------------------------------------------- /static/tablesorter/tests/assets/.svn/prop-base/ajax-content.html.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/tests/assets/.svn/text-base/ajax-content.html.svn-base: -------------------------------------------------------------------------------- 1 | 2 | Student04 3 | Languages 4 | male 5 | 80 6 | 70 7 | 75 8 | 80 9 | 10 | 11 | Student05 12 | Mathematics 13 | male 14 | 90 15 | 88 16 | 100 17 | 90 18 | 19 | 20 | 21 | Student06 22 | Languages 23 | female 24 | 85 25 | 95 26 | 80 27 | 85 28 | 29 | -------------------------------------------------------------------------------- /static/tablesorter/tests/assets/ajax-content.html: -------------------------------------------------------------------------------- 1 | 2 | Student04 3 | Languages 4 | male 5 | 80 6 | 70 7 | 75 8 | 80 9 | 10 | 11 | Student05 12 | Mathematics 13 | male 14 | 90 15 | 88 16 | 100 17 | 90 18 | 19 | 20 | 21 | Student06 22 | Languages 23 | female 24 | 85 25 | 95 26 | 80 27 | 85 28 | 29 | -------------------------------------------------------------------------------- /static/tablesorter/tests/cell.metadata.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | tablesorter 2.0-dev demo, multi column sorting 7 | 8 | 9 | 10 | 11 | 12 | 13 | 20 | 21 | 22 | 23 |

tablesorter 2.0-dev demo, multi column sorting

24 |

25 | To select more then one column to sort by, hold down your shift key and press the "headers". 26 | Pressing a all ready sorted column while holding down shift will reverse the order. 27 |

28 |

29 | Releasing the shift key and pressing a column will result in a one column sort. 30 |

31 | 32 |

Not big enough? Add 500 random rows of data (can be clicked many times, more then a 1000 rows can be slow)

33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 |
NameMajorSexEnglishJapaneseCalculusGeometry
NameMajorSexEnglishJapaneseCalculusGeometry
Student01Languagesmale80100'70,00.0075.000
Student02Mathematicsmale908810090
Student03Languagesfemale85958085
Student04Languagesmale6055100100
105 | 107 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /static/tablesorter/tests/checkbox.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | tablesorter 2.0-dev demo, multi column sorting 7 | 8 | 9 | 10 | 11 | 12 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 |
NameMajorSexEnglishJapaneseCalculusGeometry
NameMajorSexEnglishJapaneseCalculusGeometry
Student01Languagesmale807075
Student02Mathematicsmale9088100
Student03Languagesfemale859580
Student04Languagesmale6055100
116 | 117 | 118 | -------------------------------------------------------------------------------- /static/tablesorter/tests/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Love Peace and Nukes 8 | 9 | 10 | 11 | 12 | 13 | 15 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /static/tablesorter/tests/large.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | tablesorter: 296 rows 7 | 8 | 9 | 10 | 11 | 12 | 13 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /static/tablesorter/tests/multiple-headers.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
General informationDegree informationGeometry
MajorGenderEnglishJapaneseCalculus
Student01Languagesmale70
Student02Mathematicsmale9088
Student03Languagesfemale859580
66 | 67 | 68 | -------------------------------------------------------------------------------- /static/tablesorter/themes/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 28 4 | /svn/!svn/ver/3/trunk/themes 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/themes/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 5 5 | https://tablesorter.googlecode.com/svn/trunk/themes 6 | https://tablesorter.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-10-02T08:54:38.707056Z 11 | 3 12 | christian.bach 13 | 14 | 15 | svn:special svn:externals svn:needs-lock 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | dbe5111a-81cf-11de-b558-27974e103503 28 | 29 | blue 30 | dir 31 | 32 | green 33 | dir 34 | 35 | -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 33 4 | /svn/!svn/ver/3/trunk/themes/blue 5 | END 6 | style.css 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 43 10 | /svn/!svn/ver/3/trunk/themes/blue/style.css 11 | END 12 | desc.gif 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 42 16 | /svn/!svn/ver/3/trunk/themes/blue/desc.gif 17 | END 18 | asc.gif 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 41 22 | /svn/!svn/ver/3/trunk/themes/blue/asc.gif 23 | END 24 | bg.gif 25 | K 25 26 | svn:wc:ra_dav:version-url 27 | V 40 28 | /svn/!svn/ver/3/trunk/themes/blue/bg.gif 29 | END 30 | blue.zip 31 | K 25 32 | svn:wc:ra_dav:version-url 33 | V 42 34 | /svn/!svn/ver/3/trunk/themes/blue/blue.zip 35 | END 36 | -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 5 5 | https://tablesorter.googlecode.com/svn/trunk/themes/blue 6 | https://tablesorter.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-10-02T08:54:38.707056Z 11 | 3 12 | christian.bach 13 | 14 | 15 | svn:special svn:externals svn:needs-lock 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | dbe5111a-81cf-11de-b558-27974e103503 28 | 29 | asc.gif 30 | file 31 | 32 | 33 | 34 | 35 | 2010-10-15T09:18:19.000000Z 36 | f8a1940c9cf44ab8870319169f3a14ff 37 | 2009-10-02T08:54:38.707056Z 38 | 3 39 | christian.bach 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 54 62 | 63 | bg.gif 64 | file 65 | 66 | 67 | 68 | 69 | 2010-10-15T09:18:19.000000Z 70 | c01ad2e7c59d1a20a433cb873c21bd88 71 | 2009-10-02T08:54:38.707056Z 72 | 3 73 | christian.bach 74 | has-props 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 64 96 | 97 | blue.zip 98 | file 99 | 100 | 101 | 102 | 103 | 2010-10-15T09:18:19.000000Z 104 | 898afbfe9f54e586eb483bc9e91fd01d 105 | 2009-10-02T08:54:38.707056Z 106 | 3 107 | christian.bach 108 | has-props 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 885 130 | 131 | desc.gif 132 | file 133 | 134 | 135 | 136 | 137 | 2010-10-15T09:18:19.000000Z 138 | a54846803de3cc786eec3d69f9ac2d38 139 | 2009-10-02T08:54:38.707056Z 140 | 3 141 | christian.bach 142 | has-props 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 54 164 | 165 | style.css 166 | file 167 | 168 | 169 | 170 | 171 | 2010-10-15T09:18:19.000000Z 172 | 5b98d0810fb7dbb9fcbc2362655f0dd7 173 | 2009-10-02T08:54:38.707056Z 174 | 3 175 | christian.bach 176 | has-props 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 912 198 | 199 | -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/prop-base/asc.gif.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/prop-base/bg.gif.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/prop-base/blue.zip.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/prop-base/desc.gif.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/prop-base/style.css.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/text-base/asc.gif.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/blue/.svn/text-base/asc.gif.svn-base -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/text-base/bg.gif.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/blue/.svn/text-base/bg.gif.svn-base -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/text-base/blue.zip.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/blue/.svn/text-base/blue.zip.svn-base -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/text-base/desc.gif.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/blue/.svn/text-base/desc.gif.svn-base -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/.svn/text-base/style.css.svn-base: -------------------------------------------------------------------------------- 1 | /* tables */ 2 | table.tablesorter { 3 | font-family:arial; 4 | background-color: #CDCDCD; 5 | margin:10px 0pt 15px; 6 | font-size: 8pt; 7 | width: 100%; 8 | text-align: left; 9 | } 10 | table.tablesorter thead tr th, table.tablesorter tfoot tr th { 11 | background-color: #e6EEEE; 12 | border: 1px solid #FFF; 13 | font-size: 8pt; 14 | padding: 4px; 15 | } 16 | table.tablesorter thead tr .header { 17 | background-image: url(bg.gif); 18 | background-repeat: no-repeat; 19 | background-position: center right; 20 | cursor: pointer; 21 | } 22 | table.tablesorter tbody td { 23 | color: #3D3D3D; 24 | padding: 4px; 25 | background-color: #FFF; 26 | vertical-align: top; 27 | } 28 | table.tablesorter tbody tr.odd td { 29 | background-color:#F0F0F6; 30 | } 31 | table.tablesorter thead tr .headerSortUp { 32 | background-image: url(asc.gif); 33 | } 34 | table.tablesorter thead tr .headerSortDown { 35 | background-image: url(desc.gif); 36 | } 37 | table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp { 38 | background-color: #8dbdd8; 39 | } 40 | -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/asc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/blue/asc.gif -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/blue/bg.gif -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/blue.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/blue/blue.zip -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/desc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/blue/desc.gif -------------------------------------------------------------------------------- /static/tablesorter/themes/blue/style.css: -------------------------------------------------------------------------------- 1 | /* tables */ 2 | table.tablesorter { 3 | font-family:arial; 4 | background-color: #CDCDCD; 5 | margin:10px 0pt 15px; 6 | font-size: 8pt; 7 | width: 100%; 8 | text-align: left; 9 | } 10 | table.tablesorter thead tr th, table.tablesorter tfoot tr th { 11 | background-color: #e6EEEE; 12 | border: 1px solid #FFF; 13 | font-size: 8pt; 14 | padding: 4px; 15 | } 16 | table.tablesorter thead tr .header { 17 | background-image: url(bg.gif); 18 | background-repeat: no-repeat; 19 | background-position: center right; 20 | cursor: pointer; 21 | } 22 | table.tablesorter tbody td { 23 | color: #3D3D3D; 24 | padding: 4px; 25 | background-color: #FFF; 26 | vertical-align: top; 27 | } 28 | table.tablesorter tbody tr.odd td { 29 | background-color:#F0F0F6; 30 | } 31 | table.tablesorter thead tr .headerSortUp { 32 | background-image: url(asc.gif); 33 | } 34 | table.tablesorter thead tr .headerSortDown { 35 | background-image: url(desc.gif); 36 | } 37 | table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp { 38 | background-color: #8dbdd8; 39 | } 40 | -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 34 4 | /svn/!svn/ver/3/trunk/themes/green 5 | END 6 | bg.png 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 41 10 | /svn/!svn/ver/3/trunk/themes/green/bg.png 11 | END 12 | green.zip 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 44 16 | /svn/!svn/ver/3/trunk/themes/green/green.zip 17 | END 18 | style.css 19 | K 25 20 | svn:wc:ra_dav:version-url 21 | V 44 22 | /svn/!svn/ver/3/trunk/themes/green/style.css 23 | END 24 | desc.png 25 | K 25 26 | svn:wc:ra_dav:version-url 27 | V 43 28 | /svn/!svn/ver/3/trunk/themes/green/desc.png 29 | END 30 | asc.png 31 | K 25 32 | svn:wc:ra_dav:version-url 33 | V 42 34 | /svn/!svn/ver/3/trunk/themes/green/asc.png 35 | END 36 | -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 5 5 | https://tablesorter.googlecode.com/svn/trunk/themes/green 6 | https://tablesorter.googlecode.com/svn 7 | 8 | 9 | 10 | 2009-10-02T08:54:38.707056Z 11 | 3 12 | christian.bach 13 | 14 | 15 | svn:special svn:externals svn:needs-lock 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | dbe5111a-81cf-11de-b558-27974e103503 28 | 29 | asc.png 30 | file 31 | 32 | 33 | 34 | 35 | 2010-10-15T09:18:19.000000Z 36 | 47d431b1524d523eae100b66b09babdc 37 | 2009-10-02T08:54:38.707056Z 38 | 3 39 | christian.bach 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 2665 62 | 63 | bg.png 64 | file 65 | 66 | 67 | 68 | 69 | 2010-10-15T09:18:19.000000Z 70 | 7b0a5fe32e94b1595e48810a3df45648 71 | 2009-10-02T08:54:38.707056Z 72 | 3 73 | christian.bach 74 | has-props 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 2655 96 | 97 | desc.png 98 | file 99 | 100 | 101 | 102 | 103 | 2010-10-15T09:18:19.000000Z 104 | 0f7f4fd46fe145ed6ed4c81c3b26a93f 105 | 2009-10-02T08:54:38.707056Z 106 | 3 107 | christian.bach 108 | has-props 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 2662 130 | 131 | green.zip 132 | file 133 | 134 | 135 | 136 | 137 | 2010-10-15T09:18:19.000000Z 138 | 9c8b5235a0a9864b292b97e783541c08 139 | 2009-10-02T08:54:38.707056Z 140 | 3 141 | christian.bach 142 | has-props 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 8464 164 | 165 | style.css 166 | file 167 | 168 | 169 | 170 | 171 | 2010-10-15T09:18:19.000000Z 172 | 8c047013d96b74708da195dac43980b7 173 | 2009-10-02T08:54:38.707056Z 174 | 3 175 | christian.bach 176 | has-props 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 801 198 | 199 | -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/prop-base/asc.png.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/prop-base/bg.png.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/prop-base/desc.png.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/prop-base/green.zip.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/prop-base/style.css.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 10 4 | text/plain 5 | END 6 | -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/text-base/asc.png.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/green/.svn/text-base/asc.png.svn-base -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/text-base/bg.png.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/green/.svn/text-base/bg.png.svn-base -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/text-base/desc.png.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/green/.svn/text-base/desc.png.svn-base -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/text-base/green.zip.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/green/.svn/text-base/green.zip.svn-base -------------------------------------------------------------------------------- /static/tablesorter/themes/green/.svn/text-base/style.css.svn-base: -------------------------------------------------------------------------------- 1 | table.tablesorter { 2 | font-size: 12px; 3 | background-color: #4D4D4D; 4 | width: 1024px; 5 | border: 1px solid #000; 6 | } 7 | table.tablesorter th { 8 | text-align: left; 9 | padding: 5px; 10 | background-color: #6E6E6E; 11 | } 12 | table.tablesorter td { 13 | color: #FFF; 14 | padding: 5px; 15 | } 16 | table.tablesorter .even { 17 | background-color: #3D3D3D; 18 | } 19 | table.tablesorter .odd { 20 | background-color: #6E6E6E; 21 | } 22 | table.tablesorter .header { 23 | background-image: url(bg.png); 24 | background-repeat: no-repeat; 25 | border-left: 1px solid #FFF; 26 | border-right: 1px solid #000; 27 | border-top: 1px solid #FFF; 28 | padding-left: 30px; 29 | padding-top: 8px; 30 | height: auto; 31 | } 32 | table.tablesorter .headerSortUp { 33 | background-image: url(asc.png); 34 | background-repeat: no-repeat; 35 | } 36 | table.tablesorter .headerSortDown { 37 | background-image: url(desc.png); 38 | background-repeat: no-repeat; 39 | } -------------------------------------------------------------------------------- /static/tablesorter/themes/green/asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/green/asc.png -------------------------------------------------------------------------------- /static/tablesorter/themes/green/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/green/bg.png -------------------------------------------------------------------------------- /static/tablesorter/themes/green/desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/green/desc.png -------------------------------------------------------------------------------- /static/tablesorter/themes/green/green.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/henrywoo/qblog/9b72d1cfe9562eed01c24637b46a940c9dbb7c93/static/tablesorter/themes/green/green.zip -------------------------------------------------------------------------------- /static/tablesorter/themes/green/style.css: -------------------------------------------------------------------------------- 1 | table.tablesorter { 2 | font-size: 12px; 3 | background-color: #4D4D4D; 4 | width: 1024px; 5 | border: 1px solid #000; 6 | } 7 | table.tablesorter th { 8 | text-align: left; 9 | padding: 5px; 10 | background-color: #6E6E6E; 11 | } 12 | table.tablesorter td { 13 | color: #FFF; 14 | padding: 5px; 15 | } 16 | table.tablesorter .even { 17 | background-color: #3D3D3D; 18 | } 19 | table.tablesorter .odd { 20 | background-color: #6E6E6E; 21 | } 22 | table.tablesorter .header { 23 | background-image: url(bg.png); 24 | background-repeat: no-repeat; 25 | border-left: 1px solid #FFF; 26 | border-right: 1px solid #000; 27 | border-top: 1px solid #FFF; 28 | padding-left: 30px; 29 | padding-top: 8px; 30 | height: auto; 31 | } 32 | table.tablesorter .headerSortUp { 33 | background-image: url(asc.png); 34 | background-repeat: no-repeat; 35 | } 36 | table.tablesorter .headerSortDown { 37 | background-image: url(desc.png); 38 | background-repeat: no-repeat; 39 | } -------------------------------------------------------------------------------- /static/v/0.2/strapdown.css: -------------------------------------------------------------------------------- 1 | 2 | /******************************************************************* 3 | 4 | This chunk is to fix Bootstrap so that the Markdown output looks good 5 | 6 | *******************************************************************/ 7 | 8 | //body { 9 | // padding-top: 60px; 10 | // padding-bottom: 40px; 11 | // font-size: 15px; 12 | // line-height: 150%; 13 | //} 14 | 15 | table a:hover { 16 | text-decoration: none !important; 17 | } 18 | 19 | xmp{ 20 | display: none; 21 | } 22 | 23 | h1,h2,h3,h4 { 24 | margin: 5px 0px; 25 | } 26 | 27 | pre { 28 | margin: 20px 0; 29 | } 30 | 31 | img { 32 | margin: 10px 0; 33 | } 34 | 35 | .navbar { 36 | z-index: 1; 37 | } 38 | 39 | .table { 40 | /*width: auto;*/ 41 | } 42 | 43 | /******************************************************************* 44 | 45 | This chunk is for Google's Code Prettify: 46 | http://google-code-prettify.googlecode.com 47 | 48 | *******************************************************************/ 49 | 50 | 51 | /* Pretty printing styles. Used with prettify.js. */ 52 | 53 | /* SPAN elements with the classes below are added by prettyprint. */ 54 | .pln { color: #000 } /* plain text */ 55 | 56 | @media screen { 57 | .str { color: #080 } /* string content */ 58 | .kwd { color: #008 } /* a keyword */ 59 | .com { color: #800 } /* a comment */ 60 | .typ { color: #606 } /* a type name */ 61 | .lit { color: #066 } /* a literal value */ 62 | /* punctuation, lisp open bracket, lisp close bracket */ 63 | .pun, .opn, .clo { color: #660 } 64 | .tag { color: #008 } /* a markup tag name */ 65 | .atn { color: #606 } /* a markup attribute name */ 66 | .atv { color: #080 } /* a markup attribute value */ 67 | .dec, .var { color: #606 } /* a declaration; a variable name */ 68 | .fun { color: red } /* a function name */ 69 | } 70 | 71 | /* Use higher contrast and text-weight for printable form. */ 72 | @media print, projection { 73 | .str { color: #060 } 74 | .kwd { color: #006; font-weight: bold } 75 | .com { color: #600; font-style: italic } 76 | .typ { color: #404; font-weight: bold } 77 | .lit { color: #044 } 78 | .pun, .opn, .clo { color: #440 } 79 | .tag { color: #006; font-weight: bold } 80 | .atn { color: #404 } 81 | .atv { color: #060 } 82 | } 83 | 84 | /* Put a border around prettyprinted code snippets. */ 85 | pre.prettyprint { padding: 2px; border: 1px solid #888 } 86 | 87 | /* Specify class=linenums on a pre to get line numbering */ 88 | ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */ 89 | li.L0, 90 | li.L1, 91 | li.L2, 92 | li.L3, 93 | li.L5, 94 | li.L6, 95 | li.L7, 96 | li.L8 { list-style-type: none } 97 | /* Alternate shading for lines */ 98 | li.L1, 99 | li.L3, 100 | li.L5, 101 | li.L7, 102 | li.L9 { background: #eee } 103 | -------------------------------------------------------------------------------- /static/v/0.2/themes/README.md: -------------------------------------------------------------------------------- 1 | # Bootswatch themes 2 | 3 | These themes are all from: 4 | 5 | + http://bootswatch.com 6 | 7 | See LICENSE file. 8 | -------------------------------------------------------------------------------- /static/vendor/themes/README.md: -------------------------------------------------------------------------------- 1 | # Bootswatch themes 2 | 3 | These themes are all from: 4 | 5 | + http://bootswatch.com 6 | 7 | See LICENSE file. 8 | -------------------------------------------------------------------------------- /static/x.html: -------------------------------------------------------------------------------- 1 | 2 | 🐐 🐑 🐍 3 | 0 🏠 1 🏡 2 🏢 3 🏣 4 🏤 5 🏥 6 🏦 7 🏧 8 🏨 9 🏩 10 🏪 11 🏫 12 🏬 13 🏭 14 🏮 15 🏯 16 🏰 17 🏱 18 🏲 19 🏳 20 🏴 21 🏵 22 🏶 23 🏷 24 🏸 25 🏹 26 🏺 27 🏻 28 🏼 29 🏽 30 🏾 31 🏿 32 🐀 33 🐁 34 🐂 35 🐃 36 🐄 37 🐅 38 🐆 39 🐇 40 🐈 41 🐉 42 🐊 43 🐋 44 🐌 45 🐍 46 🐎 47 🐏 48 🐐 49 🐑 50 🐒 51 🐓 52 🐔 53 🐕 54 🐖 55 🐗 56 🐘 57 🐙 58 🐚 59 🐛 60 🐜 61 🐝 62 🐞 63 🐟 64 🐠 65 🐡 66 🐢 67 🐣 68 🐤 69 🐥 70 🐦 71 🐧 72 🐨 73 🐩 74 🐪 75 🐫 76 🐬 77 🐭 78 🐮 79 🐯 80 🐰 81 🐱 82 🐲 83 🐳 84 🐴 85 🐵 86 🐶 87 🐷 88 🐸 89 🐹 90 🐺 91 🐻 92 🐼 93 🐽 94 🐾 95 🐿 96 👀 97 👁 98 👂 99 👃 100 👄 101 👅 102 👆 103 👇 104 👈 105 👉 106 👊 107 👋 108 👌 109 👍 110 👎 111 👏 112 👐 113 👑 114 👒 115 👓 116 👔 117 👕 118 👖 119 👗 120 👘 121 👙 122 👚 123 👛 124 👜 125 👝 126 👞 127 👟 128 👠 129 👡 130 👢 131 👣 132 👤 133 👥 134 👦 135 👧 136 👨 137 👩 138 👪 139 👫 140 👬 141 👭 142 👮 143 👯 144 👰 145 👱 146 👲 147 👳 148 👴 149 👵 150 👶 151 👷 152 👸 153 👹 154 👺 155 👻 156 👼 157 👽 158 👾 159 👿 160 💀 161 💁 162 💂 163 💃 164 💄 165 💅 166 💆 167 💇 168 💈 169 💉 170 💊 171 💋 172 💌 173 💍 174 💎 175 💏 176 💐 177 💑 178 💒 179 💓 180 💔 181 💕 182 💖 183 💗 184 💘 185 💙 186 💚 187 💛 188 💜 189 💝 190 💞 191 💟 192 💠 193 💡 194 💢 195 💣 196 💤 197 💥 198 💦 199 💧 200 💨 201 💩 202 💪 203 💫 204 💬 205 💭 206 💮 207 💯 208 💰 209 💱 210 💲 211 💳 212 💴 213 💵 214 💶 215 💷 216 💸 217 💹 218 💺 219 💻 220 💼 221 💽 222 💾 223 💿 224 📀 225 📁 226 📂 227 📃 228 📄 229 📅 230 📆 231 📇 232 📈 233 📉 234 📊 235 📋 236 📌 237 📍 238 📎 239 📏 240 📐 241 📑 242 📒 243 📓 244 📔 245 📕 246 📖 247 📗 248 📘 249 📙 250 📚 251 📛 252 📜 253 📝 254 📞 255 📟 256 📠 257 📡 258 📢 259 📣 260 📤 261 📥 262 📦 263 📧 264 📨 265 📩 266 📪 267 📫 268 📬 269 📭 270 📮 271 📯 4 | 5 | 6 | -------------------------------------------------------------------------------- /templates/blogapp/base.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% include 'header.html' %} 4 | 5 | 6 |
7 | 8 | {% block content %} 9 | {% endblock %} 10 | 11 |
12 | 13 | 14 | {% include 'footer.html' %} 15 | 16 | 17 | -------------------------------------------------------------------------------- /templates/blogapp/base2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WuFuheng's Blog - A pure markdown blog 5 | 6 | 7 | 8 | 9 | 10 | 16 | 17 | 18 | 19 | {% block content %} 20 | {% endblock %} 21 |
22 |
Copyright @ 2015
23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /templates/blogapp/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Bootstrap Markdown Editor 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
{{ csrf_token }} 18 |

19 |
20 | {{ post.text }} 21 |
22 | 23 |
24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /templates/blogapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% extends 'blogapp/base.html' %} 4 | 5 | {% block content %} 6 | {{nav|safe}} 7 | 8 | ---- 9 | 10 | 11 | {% for post in ps %} 12 | #### ![](/static/img/blog.png "{{ post.title }}")[{{ post.title }}]({{ url('blogapp.views.post_detail',args=[post.pk]) }}) Published at: {{ post.published_date }} {% if request.user.is_authenticated() %} | edit {%endif%} 13 | 14 | {{ post.text|safe }} 15 | 16 | ---- 17 | {% endfor %} 18 | 19 | 20 | {% endblock content %} 21 | 22 | 23 | -------------------------------------------------------------------------------- /templates/blogapp/post_archive.html: -------------------------------------------------------------------------------- 1 | {% extends 'blogapp/base.html' %} 2 | {% block content %} 3 | ---- 4 | 5 | {% for post in latest %} 6 | - [{{ post.title }}]({{ url('blogapp.views.post_detail',args=[post.pk]) }}) {{post.published_date}} 7 | {% endfor %} 8 | 9 | 10 | {% endblock content %} 11 | -------------------------------------------------------------------------------- /templates/blogapp/post_archive_month.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
    9 | {% for article in object_list %} 10 |
  • {{ article.published_date }}: {{ article.title }}
  • 11 | {% endfor %} 12 |
13 | 14 |

15 | {% if previous_month %} 16 | Previous Month: {{ previous_month }} 17 | {% endif %} 18 | {% if next_month %} 19 | Next Month: {{ next_month }} 20 | {% endif %} 21 |

22 | 23 | -------------------------------------------------------------------------------- /templates/blogapp/post_detail.html: -------------------------------------------------------------------------------- 1 | {% extends 'blogapp/base.html' %} 2 | 3 | {% block content %} 4 | ---- 5 | 6 | {% if request.user.is_authenticated() %} 7 | {% if post.published_date %} 8 | {{ post.published_date }} 9 | {% else %}Publish{% endif %} 10 | Edit 11 | Delete 12 | {% endif %} 13 | 14 | ####{{ post.title }} 15 | 16 | ---- 17 | 18 | {{ post.text|safe }} 19 | 20 | ---- 21 | 22 | {% endblock content %} 23 | -------------------------------------------------------------------------------- /templates/blogapp/post_draft_list.html: -------------------------------------------------------------------------------- 1 | {% extends 'blogapp/base.html' %} 2 | 3 | {% block content %} 4 | {% for post in posts %} 5 | ---- 6 | 7 | 8 | {% if request.user.is_authenticated() %} 9 | {% if post.published_date %} 10 | __ {{ post.published_date }} __ 11 | {% else %}Publish{% endif %} 12 | EDIT 13 | DELE 14 | {% endif %} 15 | 16 | #### ![](/static/img/blog.png "{{ post.title }}")[{{ post.title }}]({{ url('blogapp.views.post_detail',args=[post.pk]) }}) 17 | 18 | {{ post.text|safe }} 19 | 20 | {% endfor %} 21 | {% endblock %} 22 | -------------------------------------------------------------------------------- /templates/blogapp/post_edit.html: -------------------------------------------------------------------------------- 1 | {% include 'header.html' %} 2 | 3 | 14 | 15 | 16 |
17 |
18 |
19 | {{ form.as_p() |safe }} 20 | 21 |
22 |
23 |
24 | 27 | {% include 'footer.html' %} 28 | 29 | -------------------------------------------------------------------------------- /templates/blogapp/post_edit2.html: -------------------------------------------------------------------------------- 1 | 2 |

New post

3 |
{% csrf_token %} 4 | {{ form.as_p }} 5 | 6 |
7 | -------------------------------------------------------------------------------- /templates/blogapp/post_list.html: -------------------------------------------------------------------------------- 1 | {% extends 'blogapp/base.html' %} 2 | {% block content %} 3 | {% for post in posts %} 4 | ###[{{ post.title }}]({% url 'blogapp.views.post_detail' pk=post.pk %}) 5 | Published: {{ post.published_date }} 6 | 7 | {% autoescape off %} 8 | {{ post.text }} 9 | {% endautoescape %} 10 | ---- 11 | {% endfor %} 12 | {% endblock content %} 13 | -------------------------------------------------------------------------------- /templates/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{title}} 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 |
23 | 36 |
37 | 49 |
50 |
51 |
52 | 53 | 54 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | {% include 'header.html' %} 2 | 3 | 4 |
5 | 6 | <br> 7 | 8 | Welcome to Fuheng's Space! 9 | 10 | 11 |
12 | 13 | 14 | {% include 'footer.html' %} 15 | -------------------------------------------------------------------------------- /templates/sentosaapp/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /templates/sentosaapp/data.html: -------------------------------------------------------------------------------- 1 | {{d}} -------------------------------------------------------------------------------- /templates/sentosaapp/fullpage.html: -------------------------------------------------------------------------------- 1 | {% include 'header.html' %} 2 | 3 | 4 |

5 |
6 |
7 | Account: {{global['account']}} | Mode:{% if (global['mode']=="trade")%}Trade{%else%}{{global['mode']}}{%endif%} | | 8 |
9 |
10 |
11 |
12 | 13 | 16 |
17 |
18 | 19 |
20 |
21 | Market Data 22 |
23 |
24 | 25 |
26 | Trade Info(FS) 27 | 28 | 29 | 30 | {% for s in SYMBOLS %} 31 | 32 | 42 | 43 | {% endfor %} 44 | 45 |
SYMPOSavgPPNLLstPStatusdt
{{s}} 33 | {{ti.get(s)[0]['vo']}} 34 | {{ti.get(s)[0]['ps']}} 35 | 36 | {% for p in ti.get(s)[0]['ps'] %} 37 | {{ (getLastPrice(s)[0] - p) * ti.get(s)[0]['vo'][loop.index-1] }}
38 | {% endfor %} 39 |
{{getLastPrice(s)[0]}} 40 | {{ POSITION_STATUS[ti.get(s)[0]['statuz']]}} 41 | {{ ti.get(s)[1]}}
46 | 47 | Transaction 48 | {{cquery.Query("SELECT * FROM transaction order by dt desc limit 10").to_html(buf=None, columns=None, col_space=None, colSpace=None, 49 | header=False, classes='table table-striped table-bordered table-condensed')|safe }} 50 | 51 |
52 |
53 | Trade Info(Memory) 54 |
55 | Log 56 | 57 |
58 | 59 |
60 | 61 | 62 | 67 | 68 | 69 | {% include 'footer.html' %} 70 | -------------------------------------------------------------------------------- /templates/sentosaapp/login.html: -------------------------------------------------------------------------------- 1 | {% include 'header.html' %} 2 | 33 |
34 |
35 |
36 |
37 |
38 | 39 | 40 |
41 |
42 | 66 | 67 | 72 |
73 | 74 | 75 |
76 | 77 | 78 | {% include 'footer.html' %} 79 | -------------------------------------------------------------------------------- /templates/sentosaapp/monitor.html: -------------------------------------------------------------------------------- 1 | {% include 'header.html' %} 2 |
3 | 5 |
6 | 7 | 42 | 43 | {% include 'footer.html' %} 44 | -------------------------------------------------------------------------------- /templates/sentosaapp/sentosa.html: -------------------------------------------------------------------------------- 1 | {% include 'header.html' %} 2 | 3 | 4 | 5 |
6 |
7 | {{global['account']}} | | 8 | | 9 | | 10 | | 11 | Mode: 12 | {% if (global['mode']=="trade")%}Trade 13 | {%else%}{{global['mode']}}{%endif%} | 14 | | 15 |
16 |
17 | 20 |
21 |
22 | 23 |
24 |
25 |
26 |
27 |
28 | 29 |
30 |
31 |
32 |
33 |

34 |
35 |
36 | 37 | 38 | 46 | 47 | 48 | {% include 'footer.html' %} 49 | -------------------------------------------------------------------------------- /tornado_django.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | from tornado.options import options, define, parse_command_line 3 | from tornado.log import enable_pretty_logging 4 | from tornado import httpserver, ioloop, web, wsgi 5 | import django.core.handlers.wsgi 6 | import colored_traceback.always 7 | import os, sys 8 | from pysentosa.config import LOCALIP 9 | 10 | 11 | project_name = 'qblog' 12 | 13 | _HERE = os.path.dirname(os.path.abspath(__file__)) 14 | print _HERE 15 | sys.path.append(_HERE) 16 | os.environ['DJANGO_SETTINGS_MODULE'] = project_name + '.settings' 17 | os.environ['PYTHONPATH'] = '.' 18 | 19 | print django.VERSION 20 | 21 | if django.VERSION[1] > 5: 22 | django.setup() 23 | 24 | define('port', type=int, default=80) 25 | 26 | class MultiStaticFileHandler(web.StaticFileHandler): 27 | def initialize(self, paths): 28 | self.paths = paths 29 | 30 | def get(self, path): 31 | for p in self.paths: 32 | if not os.path.exists(p + "/" + path): 33 | continue 34 | super(MultiStaticFileHandler, self).initialize(p) 35 | return super(MultiStaticFileHandler, self).get(path) 36 | return web.HTTPError(404) 37 | 38 | def get_content_type(self): 39 | name, extension = os.path.splitext(self.absolute_path) 40 | if extension and extension.lower() == '.gz': 41 | return 'application/x-gzip' 42 | if extension and extension.lower() == '.deb': 43 | return 'application/vnd.debian.binary-package' 44 | return super(MultiStaticFileHandler, self).get_content_type() 45 | 46 | def main(): 47 | parse_command_line() 48 | enable_pretty_logging() 49 | wsgi_app = wsgi.WSGIContainer(django.core.handlers.wsgi.WSGIHandler()) 50 | staticpath=[ 51 | _HERE+"/static/", 52 | _HERE+"/deb/", 53 | "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/", 54 | "/usr/local/lib/python2.7/dist-packages/django_admin_bootstrapped/static/", 55 | "/usr/local/lib/python2.7/dist-packages/bootstrap_markdown/static/", 56 | ] 57 | mapping = [(r'/(favicon.ico)', web.StaticFileHandler, {'path': _HERE + "/static"}), 58 | (r'/static/(.*)', MultiStaticFileHandler, {'paths': staticpath}), 59 | (r'/deb/(.*)', MultiStaticFileHandler, {'paths': staticpath}), 60 | ('.*', web.FallbackHandler, dict(fallback=wsgi_app)), 61 | ] 62 | tornado_app = web.Application(mapping, debug=True) 63 | server = httpserver.HTTPServer(tornado_app) 64 | server.listen(options.port) 65 | print "http://{}:{}".format(LOCALIP, options.port) 66 | try: 67 | ioloop.IOLoop.instance().start() 68 | except KeyboardInterrupt: 69 | ioloop.IOLoop.instance().stop() 70 | print "Finished" 71 | 72 | 73 | if __name__ == '__main__': 74 | main() 75 | --------------------------------------------------------------------------------