Merge remote-tracking branch 'origin/master' into feature/brian/dashboard-manage-mods
@@ -36,10 +36,12 @@ file and check it in at the same time as your model changes. To do that,
|
||||
3. Add the migration file created in mitx/common/djangoapps/student/migrations/
|
||||
"""
|
||||
from datetime import datetime
|
||||
from hashlib import sha1
|
||||
import json
|
||||
import logging
|
||||
import uuid
|
||||
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
@@ -125,9 +127,9 @@ class UserProfile(models.Model):
|
||||
self.meta = json.dumps(js)
|
||||
|
||||
class TestCenterUser(models.Model):
|
||||
"""This is our representation of the User for in-person testing, and
|
||||
"""This is our representation of the User for in-person testing, and
|
||||
specifically for Pearson at this point. A few things to note:
|
||||
|
||||
|
||||
* Pearson only supports Latin-1, so we have to make sure that the data we
|
||||
capture here will work with that encoding.
|
||||
* While we have a lot of this demographic data in UserProfile, it's much
|
||||
@@ -135,9 +137,9 @@ class TestCenterUser(models.Model):
|
||||
UserProfile, but we'll need to have a step where people who are signing
|
||||
up re-enter their demographic data into the fields we specify.
|
||||
* Users are only created here if they register to take an exam in person.
|
||||
|
||||
|
||||
The field names and lengths are modeled on the conventions and constraints
|
||||
of Pearson's data import system, including oddities such as suffix having
|
||||
of Pearson's data import system, including oddities such as suffix having
|
||||
a limit of 255 while last_name only gets 50.
|
||||
"""
|
||||
# Our own record keeping...
|
||||
@@ -148,21 +150,21 @@ class TestCenterUser(models.Model):
|
||||
# and is something Pearson needs to know to manage updates. Unlike
|
||||
# updated_at, this will not get incremented when we do a batch data import.
|
||||
user_updated_at = models.DateTimeField(db_index=True)
|
||||
|
||||
|
||||
# Unique ID given to us for this User by the Testing Center. It's null when
|
||||
# we first create the User entry, and is assigned by Pearson later.
|
||||
candidate_id = models.IntegerField(null=True, db_index=True)
|
||||
|
||||
|
||||
# Unique ID we assign our user for a the Test Center.
|
||||
client_candidate_id = models.CharField(max_length=50, db_index=True)
|
||||
|
||||
|
||||
# Name
|
||||
first_name = models.CharField(max_length=30, db_index=True)
|
||||
last_name = models.CharField(max_length=50, db_index=True)
|
||||
middle_name = models.CharField(max_length=30, blank=True)
|
||||
suffix = models.CharField(max_length=255, blank=True)
|
||||
salutation = models.CharField(max_length=50, blank=True)
|
||||
|
||||
|
||||
# Address
|
||||
address_1 = models.CharField(max_length=40)
|
||||
address_2 = models.CharField(max_length=40, blank=True)
|
||||
@@ -175,7 +177,7 @@ class TestCenterUser(models.Model):
|
||||
postal_code = models.CharField(max_length=16, blank=True, db_index=True)
|
||||
# country is a ISO 3166-1 alpha-3 country code (e.g. "USA", "CAN", "MNG")
|
||||
country = models.CharField(max_length=3, db_index=True)
|
||||
|
||||
|
||||
# Phone
|
||||
phone = models.CharField(max_length=35)
|
||||
extension = models.CharField(max_length=8, blank=True, db_index=True)
|
||||
@@ -183,14 +185,28 @@ class TestCenterUser(models.Model):
|
||||
fax = models.CharField(max_length=35, blank=True)
|
||||
# fax_country_code required *if* fax is present.
|
||||
fax_country_code = models.CharField(max_length=3, blank=True)
|
||||
|
||||
|
||||
# Company
|
||||
company_name = models.CharField(max_length=50, blank=True)
|
||||
|
||||
|
||||
@property
|
||||
def email(self):
|
||||
return self.user.email
|
||||
|
||||
def unique_id_for_user(user):
|
||||
"""
|
||||
Return a unique id for a user, suitable for inserting into
|
||||
e.g. personalized survey links.
|
||||
|
||||
Currently happens to be implemented as a sha1 hash of the username
|
||||
(and thus assumes that usernames don't change).
|
||||
"""
|
||||
# Using the user id as the salt because it's sort of random, and is already
|
||||
# in the db.
|
||||
salt = str(user.id)
|
||||
return sha1(salt + user.username).hexdigest()
|
||||
|
||||
|
||||
## TODO: Should be renamed to generic UserGroup, and possibly
|
||||
# Given an optional field for type of group
|
||||
class UserTestGroup(models.Model):
|
||||
@@ -363,10 +379,10 @@ def replicate_user_save(sender, **kwargs):
|
||||
|
||||
# @receiver(post_save, sender=CourseEnrollment)
|
||||
def replicate_enrollment_save(sender, **kwargs):
|
||||
"""This is called when a Student enrolls in a course. It has to do the
|
||||
"""This is called when a Student enrolls in a course. It has to do the
|
||||
following:
|
||||
|
||||
1. Make sure the User is copied into the Course DB. It may already exist
|
||||
1. Make sure the User is copied into the Course DB. It may already exist
|
||||
(someone deleting and re-adding a course). This has to happen first or
|
||||
the foreign key constraint breaks.
|
||||
2. Replicate the CourseEnrollment.
|
||||
@@ -410,9 +426,9 @@ USER_FIELDS_TO_COPY = ["id", "username", "first_name", "last_name", "email",
|
||||
|
||||
def replicate_user(portal_user, course_db_name):
|
||||
"""Replicate a User to the correct Course DB. This is more complicated than
|
||||
it should be because Askbot extends the auth_user table and adds its own
|
||||
it should be because Askbot extends the auth_user table and adds its own
|
||||
fields. So we need to only push changes to the standard fields and leave
|
||||
the rest alone so that Askbot changes at the Course DB level don't get
|
||||
the rest alone so that Askbot changes at the Course DB level don't get
|
||||
overridden.
|
||||
"""
|
||||
try:
|
||||
@@ -457,7 +473,7 @@ def is_valid_course_id(course_id):
|
||||
"""Right now, the only database that's not a course database is 'default'.
|
||||
I had nicer checking in here originally -- it would scan the courses that
|
||||
were in the system and only let you choose that. But it was annoying to run
|
||||
tests with, since we don't have course data for some for our course test
|
||||
tests with, since we don't have course data for some for our course test
|
||||
databases. Hence the lazy version.
|
||||
"""
|
||||
return course_id != 'default'
|
||||
|
||||
@@ -6,11 +6,16 @@ Replace this with more appropriate tests for your application.
|
||||
"""
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from hashlib import sha1
|
||||
|
||||
from django.test import TestCase
|
||||
from mock import patch, Mock
|
||||
from nose.plugins.skip import SkipTest
|
||||
|
||||
from .models import User, UserProfile, CourseEnrollment, replicate_user, USER_FIELDS_TO_COPY
|
||||
from .models import (User, UserProfile, CourseEnrollment,
|
||||
replicate_user, USER_FIELDS_TO_COPY,
|
||||
unique_id_for_user)
|
||||
from .views import process_survey_link, _cert_info
|
||||
|
||||
COURSE_1 = 'edX/toy/2012_Fall'
|
||||
COURSE_2 = 'edx/full/6.002_Spring_2012'
|
||||
@@ -55,7 +60,7 @@ class ReplicationTest(TestCase):
|
||||
# This hasattr lameness is here because we don't want this test to be
|
||||
# triggered when we're being run by CMS tests (Askbot doesn't exist
|
||||
# there, so the test will fail).
|
||||
#
|
||||
#
|
||||
# seen_response_count isn't a field we care about, so it shouldn't have
|
||||
# been copied over.
|
||||
if hasattr(portal_user, 'seen_response_count'):
|
||||
@@ -74,7 +79,7 @@ class ReplicationTest(TestCase):
|
||||
|
||||
# During this entire time, the user data should never have made it over
|
||||
# to COURSE_2
|
||||
self.assertRaises(User.DoesNotExist,
|
||||
self.assertRaises(User.DoesNotExist,
|
||||
User.objects.using(COURSE_2).get,
|
||||
id=portal_user.id)
|
||||
|
||||
@@ -108,19 +113,19 @@ class ReplicationTest(TestCase):
|
||||
# Grab all the copies we expect
|
||||
course_user = User.objects.using(COURSE_1).get(id=portal_user.id)
|
||||
self.assertEquals(portal_user, course_user)
|
||||
self.assertRaises(User.DoesNotExist,
|
||||
self.assertRaises(User.DoesNotExist,
|
||||
User.objects.using(COURSE_2).get,
|
||||
id=portal_user.id)
|
||||
|
||||
course_enrollment = CourseEnrollment.objects.using(COURSE_1).get(id=portal_enrollment.id)
|
||||
self.assertEquals(portal_enrollment, course_enrollment)
|
||||
self.assertRaises(CourseEnrollment.DoesNotExist,
|
||||
self.assertRaises(CourseEnrollment.DoesNotExist,
|
||||
CourseEnrollment.objects.using(COURSE_2).get,
|
||||
id=portal_enrollment.id)
|
||||
|
||||
course_user_profile = UserProfile.objects.using(COURSE_1).get(id=portal_user_profile.id)
|
||||
self.assertEquals(portal_user_profile, course_user_profile)
|
||||
self.assertRaises(UserProfile.DoesNotExist,
|
||||
self.assertRaises(UserProfile.DoesNotExist,
|
||||
UserProfile.objects.using(COURSE_2).get,
|
||||
id=portal_user_profile.id)
|
||||
|
||||
@@ -174,30 +179,112 @@ class ReplicationTest(TestCase):
|
||||
portal_user.save()
|
||||
portal_user_profile.gender = 'm'
|
||||
portal_user_profile.save()
|
||||
|
||||
# Grab all the copies we expect, and make sure it doesn't end up in
|
||||
|
||||
# Grab all the copies we expect, and make sure it doesn't end up in
|
||||
# places we don't expect.
|
||||
course_user = User.objects.using(COURSE_1).get(id=portal_user.id)
|
||||
self.assertEquals(portal_user, course_user)
|
||||
self.assertRaises(User.DoesNotExist,
|
||||
self.assertRaises(User.DoesNotExist,
|
||||
User.objects.using(COURSE_2).get,
|
||||
id=portal_user.id)
|
||||
|
||||
course_enrollment = CourseEnrollment.objects.using(COURSE_1).get(id=portal_enrollment.id)
|
||||
self.assertEquals(portal_enrollment, course_enrollment)
|
||||
self.assertRaises(CourseEnrollment.DoesNotExist,
|
||||
self.assertRaises(CourseEnrollment.DoesNotExist,
|
||||
CourseEnrollment.objects.using(COURSE_2).get,
|
||||
id=portal_enrollment.id)
|
||||
|
||||
course_user_profile = UserProfile.objects.using(COURSE_1).get(id=portal_user_profile.id)
|
||||
self.assertEquals(portal_user_profile, course_user_profile)
|
||||
self.assertRaises(UserProfile.DoesNotExist,
|
||||
self.assertRaises(UserProfile.DoesNotExist,
|
||||
UserProfile.objects.using(COURSE_2).get,
|
||||
id=portal_user_profile.id)
|
||||
|
||||
|
||||
class CourseEndingTest(TestCase):
|
||||
"""Test things related to course endings: certificates, surveys, etc"""
|
||||
|
||||
def test_process_survey_link(self):
|
||||
username = "fred"
|
||||
user = Mock(username=username)
|
||||
id = unique_id_for_user(user)
|
||||
link1 = "http://www.mysurvey.com"
|
||||
self.assertEqual(process_survey_link(link1, user), link1)
|
||||
|
||||
link2 = "http://www.mysurvey.com?unique={UNIQUE_ID}"
|
||||
link2_expected = "http://www.mysurvey.com?unique={UNIQUE_ID}".format(UNIQUE_ID=id)
|
||||
self.assertEqual(process_survey_link(link2, user), link2_expected)
|
||||
|
||||
def test_cert_info(self):
|
||||
user = Mock(username="fred")
|
||||
survey_url = "http://a_survey.com"
|
||||
course = Mock(end_of_course_survey_url=survey_url)
|
||||
|
||||
self.assertEqual(_cert_info(user, course, None),
|
||||
{'status': 'processing',
|
||||
'show_disabled_download_button': False,
|
||||
'show_download_url': False,
|
||||
'show_survey_button': False,})
|
||||
|
||||
cert_status = {'status': 'unavailable'}
|
||||
self.assertEqual(_cert_info(user, course, cert_status),
|
||||
{'status': 'processing',
|
||||
'show_disabled_download_button': False,
|
||||
'show_download_url': False,
|
||||
'show_survey_button': False})
|
||||
|
||||
cert_status = {'status': 'generating', 'grade': '67'}
|
||||
self.assertEqual(_cert_info(user, course, cert_status),
|
||||
{'status': 'generating',
|
||||
'show_disabled_download_button': True,
|
||||
'show_download_url': False,
|
||||
'show_survey_button': True,
|
||||
'survey_url': survey_url,
|
||||
'grade': '67'
|
||||
})
|
||||
|
||||
cert_status = {'status': 'regenerating', 'grade': '67'}
|
||||
self.assertEqual(_cert_info(user, course, cert_status),
|
||||
{'status': 'generating',
|
||||
'show_disabled_download_button': True,
|
||||
'show_download_url': False,
|
||||
'show_survey_button': True,
|
||||
'survey_url': survey_url,
|
||||
'grade': '67'
|
||||
})
|
||||
|
||||
download_url = 'http://s3.edx/cert'
|
||||
cert_status = {'status': 'downloadable', 'grade': '67',
|
||||
'download_url': download_url}
|
||||
self.assertEqual(_cert_info(user, course, cert_status),
|
||||
{'status': 'ready',
|
||||
'show_disabled_download_button': False,
|
||||
'show_download_url': True,
|
||||
'download_url': download_url,
|
||||
'show_survey_button': True,
|
||||
'survey_url': survey_url,
|
||||
'grade': '67'
|
||||
})
|
||||
|
||||
cert_status = {'status': 'notpassing', 'grade': '67',
|
||||
'download_url': download_url}
|
||||
self.assertEqual(_cert_info(user, course, cert_status),
|
||||
{'status': 'notpassing',
|
||||
'show_disabled_download_button': False,
|
||||
'show_download_url': False,
|
||||
'show_survey_button': True,
|
||||
'survey_url': survey_url,
|
||||
'grade': '67'
|
||||
})
|
||||
|
||||
# Test a course that doesn't have a survey specified
|
||||
course2 = Mock(end_of_course_survey_url=None)
|
||||
cert_status = {'status': 'notpassing', 'grade': '67',
|
||||
'download_url': download_url}
|
||||
self.assertEqual(_cert_info(user, course2, cert_status),
|
||||
{'status': 'notpassing',
|
||||
'show_disabled_download_button': False,
|
||||
'show_download_url': False,
|
||||
'show_survey_button': False,
|
||||
'grade': '67'
|
||||
})
|
||||
|
||||
@@ -28,7 +28,7 @@ from django.core.cache import cache
|
||||
from django_future.csrf import ensure_csrf_cookie, csrf_exempt
|
||||
from student.models import (Registration, UserProfile,
|
||||
PendingNameChange, PendingEmailChange,
|
||||
CourseEnrollment)
|
||||
CourseEnrollment, unique_id_for_user)
|
||||
|
||||
from certificates.models import CertificateStatuses, certificate_status_for_student
|
||||
|
||||
@@ -39,6 +39,7 @@ from xmodule.modulestore.exceptions import ItemNotFoundError
|
||||
|
||||
from datetime import date
|
||||
from collections import namedtuple
|
||||
|
||||
from courseware.courses import get_courses_by_university
|
||||
from courseware.access import has_access
|
||||
|
||||
@@ -68,20 +69,6 @@ def index(request, extra_context={}, user=None):
|
||||
extra_context is used to allow immediate display of certain modal windows, eg signup,
|
||||
as used by external_auth.
|
||||
'''
|
||||
feed_data = cache.get("students_index_rss_feed_data")
|
||||
if feed_data == None:
|
||||
if hasattr(settings, 'RSS_URL'):
|
||||
feed_data = urllib.urlopen(settings.RSS_URL).read()
|
||||
else:
|
||||
feed_data = render_to_string("feed.rss", None)
|
||||
cache.set("students_index_rss_feed_data", feed_data, settings.RSS_TIMEOUT)
|
||||
|
||||
feed = feedparser.parse(feed_data)
|
||||
entries = feed['entries'][0:3]
|
||||
for entry in entries:
|
||||
soup = BeautifulSoup(entry.description)
|
||||
entry.image = soup.img['src'] if soup.img else None
|
||||
entry.summary = soup.getText()
|
||||
|
||||
# The course selection work is done in courseware.courses.
|
||||
domain = settings.MITX_FEATURES.get('FORCE_UNIVERSITY_DOMAIN') # normally False
|
||||
@@ -89,7 +76,11 @@ def index(request, extra_context={}, user=None):
|
||||
domain = request.META.get('HTTP_HOST')
|
||||
universities = get_courses_by_university(None,
|
||||
domain=domain)
|
||||
context = {'universities': universities, 'entries': entries}
|
||||
|
||||
# Get the 3 most recent news
|
||||
top_news = _get_news(top=3)
|
||||
|
||||
context = {'universities': universities, 'news': top_news}
|
||||
context.update(extra_context)
|
||||
return render_to_response('index.html', context)
|
||||
|
||||
@@ -107,9 +98,9 @@ def get_date_for_press(publish_date):
|
||||
# strip off extra months, and just use the first:
|
||||
date = re.sub(multimonth_pattern, ", ", publish_date)
|
||||
if re.search(day_pattern, date):
|
||||
date = datetime.datetime.strptime(date, "%B %d, %Y")
|
||||
else:
|
||||
date = datetime.datetime.strptime(date, "%B, %Y")
|
||||
date = datetime.datetime.strptime(date, "%B %d, %Y")
|
||||
else:
|
||||
date = datetime.datetime.strptime(date, "%B, %Y")
|
||||
return date
|
||||
|
||||
def press(request):
|
||||
@@ -127,6 +118,87 @@ def press(request):
|
||||
return render_to_response('static_templates/press.html', {'articles': articles})
|
||||
|
||||
|
||||
def process_survey_link(survey_link, user):
|
||||
"""
|
||||
If {UNIQUE_ID} appears in the link, replace it with a unique id for the user.
|
||||
Currently, this is sha1(user.username). Otherwise, return survey_link.
|
||||
"""
|
||||
return survey_link.format(UNIQUE_ID=unique_id_for_user(user))
|
||||
|
||||
|
||||
def cert_info(user, course):
|
||||
"""
|
||||
Get the certificate info needed to render the dashboard section for the given
|
||||
student and course. Returns a dictionary with keys:
|
||||
|
||||
'status': one of 'generating', 'ready', 'notpassing', 'processing'
|
||||
'show_download_url': bool
|
||||
'download_url': url, only present if show_download_url is True
|
||||
'show_disabled_download_button': bool -- true if state is 'generating'
|
||||
'show_survey_button': bool
|
||||
'survey_url': url, only if show_survey_button is True
|
||||
'grade': if status is not 'processing'
|
||||
"""
|
||||
if not course.has_ended():
|
||||
return {}
|
||||
|
||||
return _cert_info(user, course, certificate_status_for_student(user, course.id))
|
||||
|
||||
def _cert_info(user, course, cert_status):
|
||||
"""
|
||||
Implements the logic for cert_info -- split out for testing.
|
||||
"""
|
||||
default_status = 'processing'
|
||||
|
||||
default_info = {'status': default_status,
|
||||
'show_disabled_download_button': False,
|
||||
'show_download_url': False,
|
||||
'show_survey_button': False}
|
||||
|
||||
if cert_status is None:
|
||||
return default_info
|
||||
|
||||
# simplify the status for the template using this lookup table
|
||||
template_state = {
|
||||
CertificateStatuses.generating: 'generating',
|
||||
CertificateStatuses.regenerating: 'generating',
|
||||
CertificateStatuses.downloadable: 'ready',
|
||||
CertificateStatuses.notpassing: 'notpassing',
|
||||
}
|
||||
|
||||
status = template_state.get(cert_status['status'], default_status)
|
||||
|
||||
d = {'status': status,
|
||||
'show_download_url': status == 'ready',
|
||||
'show_disabled_download_button': status == 'generating',}
|
||||
|
||||
if (status in ('generating', 'ready', 'notpassing') and
|
||||
course.end_of_course_survey_url is not None):
|
||||
d.update({
|
||||
'show_survey_button': True,
|
||||
'survey_url': process_survey_link(course.end_of_course_survey_url, user)})
|
||||
else:
|
||||
d['show_survey_button'] = False
|
||||
|
||||
if status == 'ready':
|
||||
if 'download_url' not in cert_status:
|
||||
log.warning("User %s has a downloadable cert for %s, but no download url",
|
||||
user.username, course.id)
|
||||
return default_info
|
||||
else:
|
||||
d['download_url'] = cert_status['download_url']
|
||||
|
||||
if status in ('generating', 'ready', 'notpassing'):
|
||||
if 'grade' not in cert_status:
|
||||
# Note: as of 11/20/2012, we know there are students in this state-- cs169.1x,
|
||||
# who need to be regraded (we weren't tracking 'notpassing' at first).
|
||||
# We can add a log.warning here once we think it shouldn't happen.
|
||||
return default_info
|
||||
else:
|
||||
d['grade'] = cert_status['grade']
|
||||
|
||||
return d
|
||||
|
||||
@login_required
|
||||
@ensure_csrf_cookie
|
||||
def dashboard(request):
|
||||
@@ -160,12 +232,10 @@ def dashboard(request):
|
||||
show_courseware_links_for = frozenset(course.id for course in courses
|
||||
if has_access(request.user, course, 'load'))
|
||||
|
||||
# TODO: workaround to not have to zip courses and certificates in the template
|
||||
# since before there is a migration to certificates
|
||||
if settings.MITX_FEATURES.get('CERTIFICATES_ENABLED'):
|
||||
cert_statuses = { course.id: certificate_status_for_student(request.user, course.id) for course in courses}
|
||||
else:
|
||||
cert_statuses = {}
|
||||
cert_statuses = { course.id: cert_info(request.user, course) for course in courses}
|
||||
|
||||
# Get the 3 most recent news
|
||||
top_news = _get_news(top=3)
|
||||
|
||||
context = {'courses': courses,
|
||||
'message': message,
|
||||
@@ -173,6 +243,7 @@ def dashboard(request):
|
||||
'errored_courses': errored_courses,
|
||||
'show_courseware_links_for' : show_courseware_links_for,
|
||||
'cert_statuses': cert_statuses,
|
||||
'news': top_news,
|
||||
}
|
||||
|
||||
return render_to_response('dashboard.html', context)
|
||||
@@ -820,3 +891,24 @@ def test_center_login(request):
|
||||
return redirect('/courses/MITx/6.002x/2012_Fall/courseware/Final_Exam/Final_Exam_Fall_2012/')
|
||||
else:
|
||||
return HttpResponseForbidden()
|
||||
|
||||
|
||||
def _get_news(top=None):
|
||||
"Return the n top news items on settings.RSS_URL"
|
||||
|
||||
feed_data = cache.get("students_index_rss_feed_data")
|
||||
if feed_data == None:
|
||||
if hasattr(settings, 'RSS_URL'):
|
||||
feed_data = urllib.urlopen(settings.RSS_URL).read()
|
||||
else:
|
||||
feed_data = render_to_string("feed.rss", None)
|
||||
cache.set("students_index_rss_feed_data", feed_data, settings.RSS_TIMEOUT)
|
||||
|
||||
feed = feedparser.parse(feed_data)
|
||||
entries = feed['entries'][0:top] # all entries if top is None
|
||||
for entry in entries:
|
||||
soup = BeautifulSoup(entry.description)
|
||||
entry.image = soup.img['src'] if soup.img else None
|
||||
entry.summary = soup.getText()
|
||||
|
||||
return entries
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
from certificates.models import GeneratedCertificate
|
||||
from courseware import grades, courses
|
||||
from django.test.client import RequestFactory
|
||||
from django.core.management.base import BaseCommand
|
||||
from optparse import make_option
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
||||
help = """
|
||||
Find all students that need to be graded
|
||||
and grade them.
|
||||
"""
|
||||
|
||||
option_list = BaseCommand.option_list + (
|
||||
make_option('-n', '--noop',
|
||||
action='store_true',
|
||||
dest='noop',
|
||||
default=False,
|
||||
help="Print but do not update the GeneratedCertificate table"),
|
||||
make_option('-c', '--course',
|
||||
metavar='COURSE_ID',
|
||||
dest='course',
|
||||
default=False,
|
||||
help='Grade ungraded users for this course'),
|
||||
|
||||
)
|
||||
|
||||
def handle(self, *args, **options):
|
||||
|
||||
course_id = options['course']
|
||||
print "Fetching ungraded students for {0}".format(course_id)
|
||||
ungraded = GeneratedCertificate.objects.filter(
|
||||
course_id__exact=course_id).filter(grade__exact='')
|
||||
course = courses.get_course_by_id(course_id)
|
||||
factory = RequestFactory()
|
||||
request = factory.get('/')
|
||||
|
||||
for cert in ungraded:
|
||||
# grade the student
|
||||
grade = grades.grade(cert.user, request, course)
|
||||
print "grading {0} - {1}".format(cert.user, grade['percent'])
|
||||
cert.grade = grade['percent']
|
||||
if not options['noop']:
|
||||
cert.save()
|
||||
@@ -70,8 +70,9 @@ class Command(BaseCommand):
|
||||
cert_data[course_id] = {'enrolled': enrolled_students.count()}
|
||||
cert_data[course_id].update({'unavailable': unavailable_count})
|
||||
|
||||
tallies = GeneratedCertificate.objects.values(
|
||||
'status').annotate(dcount=Count('status'))
|
||||
tallies = GeneratedCertificate.objects.filter(
|
||||
course_id__exact=course_id).values('status').annotate(
|
||||
dcount=Count('status'))
|
||||
cert_data[course_id].update(
|
||||
{status['status']: status['dcount']
|
||||
for status in tallies})
|
||||
|
||||
@@ -75,7 +75,9 @@ def certificate_status_for_student(student, course_id):
|
||||
This returns a dictionary with a key for status, and other information.
|
||||
The status is one of the following:
|
||||
|
||||
unavailable - A student is not eligible for a certificate.
|
||||
unavailable - No entry for this student--if they are actually in
|
||||
the course, they probably have not been graded for
|
||||
certificate generation yet.
|
||||
generating - A request has been made to generate a certificate,
|
||||
but it has not been generated yet.
|
||||
regenerating - A request has been made to regenerate a certificate,
|
||||
@@ -90,7 +92,7 @@ def certificate_status_for_student(student, course_id):
|
||||
"download_url".
|
||||
|
||||
If the student has been graded, the dictionary also contains their
|
||||
grade for the course.
|
||||
grade for the course with the key "grade".
|
||||
'''
|
||||
|
||||
try:
|
||||
|
||||
@@ -240,7 +240,7 @@ class XQueueCertInterface(object):
|
||||
cert.save()
|
||||
else:
|
||||
cert_status = status.notpassing
|
||||
|
||||
cert.grade = grade['percent']
|
||||
cert.status = cert_status
|
||||
cert.user = student
|
||||
cert.course_id = course_id
|
||||
|
||||
@@ -698,7 +698,7 @@ class TestCourseGrader(PageLoader):
|
||||
|
||||
def check_grade_percent(self, percent):
|
||||
grade_summary = self.get_grade_summary()
|
||||
self.assertEqual(grade_summary['percent'], percent)
|
||||
self.assertEqual(percent, grade_summary['percent'])
|
||||
|
||||
def submit_question_answer(self, problem_url_name, responses):
|
||||
"""
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
import csv
|
||||
import json
|
||||
import logging
|
||||
import urllib
|
||||
import itertools
|
||||
import StringIO
|
||||
|
||||
from functools import partial
|
||||
|
||||
@@ -12,7 +8,7 @@ from django.core.context_processors import csrf
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.http import Http404, HttpResponse
|
||||
from django.http import Http404
|
||||
from django.shortcuts import redirect
|
||||
from mitxmako.shortcuts import render_to_response, render_to_string
|
||||
#from django.views.decorators.csrf import ensure_csrf_cookie
|
||||
@@ -25,15 +21,11 @@ from courseware.courses import (get_course_with_access, get_courses_by_universit
|
||||
import courseware.tabs as tabs
|
||||
from courseware.models import StudentModuleCache
|
||||
from module_render import toc_for_course, get_module, get_instance_module
|
||||
from student.models import UserProfile
|
||||
|
||||
from multicourse import multicourse_settings
|
||||
|
||||
from django_comment_client.utils import get_discussion_title
|
||||
|
||||
from student.models import UserTestGroup, CourseEnrollment
|
||||
from util.cache import cache, cache_if_anonymous
|
||||
from xmodule.course_module import CourseDescriptor
|
||||
from xmodule.modulestore import Location
|
||||
from xmodule.modulestore.django import modulestore
|
||||
from xmodule.modulestore.exceptions import InvalidLocationError, ItemNotFoundError, NoPathToItem
|
||||
@@ -78,7 +70,7 @@ def courses(request):
|
||||
'''
|
||||
universities = get_courses_by_university(request.user,
|
||||
domain=request.META.get('HTTP_HOST'))
|
||||
return render_to_response("courses.html", {'universities': universities})
|
||||
return render_to_response("courseware/courses.html", {'universities': universities})
|
||||
|
||||
|
||||
def render_accordion(request, course, chapter, section):
|
||||
@@ -97,7 +89,7 @@ def render_accordion(request, course, chapter, section):
|
||||
context = dict([('toc', toc),
|
||||
('course_id', course.id),
|
||||
('csrf', csrf(request)['csrf_token'])] + template_imports.items())
|
||||
return render_to_string('accordion.html', context)
|
||||
return render_to_string('courseware/accordion.html', context)
|
||||
|
||||
|
||||
def get_current_child(xmodule):
|
||||
@@ -407,7 +399,7 @@ def course_about(request, course_id):
|
||||
show_courseware_link = (has_access(request.user, course, 'load') or
|
||||
settings.MITX_FEATURES.get('ENABLE_LMS_MIGRATION'))
|
||||
|
||||
return render_to_response('portal/course_about.html',
|
||||
return render_to_response('courseware/course_about.html',
|
||||
{'course': course,
|
||||
'registered': registered,
|
||||
'course_target': course_target,
|
||||
@@ -449,7 +441,7 @@ def render_notifications(request, course, notifications):
|
||||
'get_discussion_title': partial(get_discussion_title, request=request, course=course),
|
||||
'course': course,
|
||||
}
|
||||
return render_to_string('notifications.html', context)
|
||||
return render_to_string('courseware/notifications.html', context)
|
||||
|
||||
@login_required
|
||||
def news(request, course_id):
|
||||
@@ -462,7 +454,7 @@ def news(request, course_id):
|
||||
'content': render_notifications(request, course, notifications),
|
||||
}
|
||||
|
||||
return render_to_response('news.html', context)
|
||||
return render_to_response('courseware/news.html', context)
|
||||
|
||||
@login_required
|
||||
@cache_control(no_cache=True, no_store=True, must_revalidate=True)
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
"""
|
||||
This must be run only after seed_permissions_roles.py!
|
||||
|
||||
Creates default roles for all users in the provided course. Just runs through
|
||||
Enrollments.
|
||||
"""
|
||||
from django.core.management.base import BaseCommand, CommandError
|
||||
|
||||
from student.models import CourseEnrollment, assign_default_role
|
||||
|
||||
class Command(BaseCommand):
|
||||
args = 'course_id'
|
||||
help = 'Add roles for all users in a course'
|
||||
|
||||
def handle(self, *args, **options):
|
||||
if len(args) == 0:
|
||||
raise CommandError("Please provide a course id")
|
||||
if len(args) > 1:
|
||||
raise CommandError("Too many arguments")
|
||||
course_id = args[0]
|
||||
|
||||
print "Updated roles for ",
|
||||
for i, enrollment in enumerate(CourseEnrollment.objects.filter(course_id=course_id), start=1):
|
||||
assign_default_role(None, enrollment)
|
||||
if i % 1000 == 0:
|
||||
print "{0}...".format(i),
|
||||
print
|
||||
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
BIN
lms/static/images/press/releases/diploma_240x180.jpg
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
lms/static/images/press/releases/edx-logo_240x180.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 183 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 56 KiB |
@@ -0,0 +1 @@
|
||||
6718f0c6e851376b5478baff94e1f1f4449bd938
|
||||
BIN
lms/static/images/press/releases/mass-seal_240x180.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
lms/static/images/press/releases/mass_seal_240x180.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 19 KiB |
BIN
lms/static/images/press/releases/tumblr-mongolia_240x180.jpg
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
lms/static/images/press/releases/utsys-seal_240x180.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
lms/static/images/press/releases/utsys-seal_logotype_240x180.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -46,18 +46,3 @@
|
||||
|
||||
// instructor
|
||||
@import "course/instructor/instructor";
|
||||
|
||||
// Askbot / Discussion styles
|
||||
// TODO: Get rid of askbot-specific styles.
|
||||
@import "course/discussion/askbot-original";
|
||||
@import "course/discussion/discussion";
|
||||
@import "course/discussion/sidebar";
|
||||
@import "course/discussion/questions";
|
||||
@import "course/discussion/tags";
|
||||
@import "course/discussion/question-view" ;
|
||||
@import "course/discussion/answers";
|
||||
@import "course/discussion/forms";
|
||||
@import "course/discussion/form-wmd-toolbar";
|
||||
@import "course/discussion/modals";
|
||||
@import "course/discussion/profile";
|
||||
@import "course/discussion/badges";
|
||||
|
||||
@@ -1,156 +0,0 @@
|
||||
// Styles for individual answers
|
||||
|
||||
div.answer-controls {
|
||||
@include box-sizing(border-box);
|
||||
display: inline-block;
|
||||
margin: 0 0 15px;
|
||||
padding-left: flex-grid(1.1);
|
||||
width: 100%;
|
||||
|
||||
|
||||
div.answer-count {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
|
||||
h1 {
|
||||
margin-bottom: 0;
|
||||
font-size: em(24);
|
||||
font-weight: 100;
|
||||
}
|
||||
}
|
||||
|
||||
div.answer-sort {
|
||||
float: right;
|
||||
margin-left: flex-gutter();
|
||||
|
||||
nav {
|
||||
float: right;
|
||||
margin-top: 10px;
|
||||
|
||||
a {
|
||||
&.on span{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
&:before {
|
||||
content: '|';
|
||||
color: #ccc;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.answer-block {
|
||||
@extend div.question-header;
|
||||
border-top: #ddd 1px solid;
|
||||
display: inline-block;
|
||||
float: left;
|
||||
padding-top: 20px;
|
||||
width: 100%;
|
||||
|
||||
img.answer-img-accept {
|
||||
margin: 10px 0px 10px 11px;
|
||||
}
|
||||
|
||||
div.answer-container {
|
||||
@extend div.question-container;
|
||||
|
||||
div.answer-content {
|
||||
@extend div.question-content;
|
||||
|
||||
div.answer-body {
|
||||
@extend div.question-body;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.meta-bar {
|
||||
div.answer-actions {
|
||||
@extend div.question-actions;
|
||||
}
|
||||
}
|
||||
|
||||
div.answered-by-owner {
|
||||
p {
|
||||
font-style: italic;
|
||||
color: #656565;
|
||||
}
|
||||
|
||||
div.comments-container {
|
||||
color: #555;
|
||||
}
|
||||
}
|
||||
|
||||
div.accepted-answer {
|
||||
p {
|
||||
color:#000;
|
||||
}
|
||||
}
|
||||
|
||||
div.deleted {
|
||||
p {
|
||||
color: $pink;
|
||||
}
|
||||
}
|
||||
|
||||
img.answer-img-accept {
|
||||
opacity: 0.7;
|
||||
}
|
||||
}
|
||||
|
||||
div.paginator {
|
||||
@extend div.answer-block;
|
||||
text-align: center;
|
||||
padding: 20px 0;
|
||||
|
||||
span {
|
||||
@include border-radius(3px);
|
||||
background: #eee;
|
||||
margin: 0 5px;
|
||||
padding: 4px 10px;
|
||||
|
||||
&.curr {
|
||||
background: none;
|
||||
color: $pink;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
&.next, &.prev {
|
||||
@extend .light-button;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #555;
|
||||
text-decoration: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.answer-own {
|
||||
border-top: 1px solid #eee;
|
||||
overflow:hidden;
|
||||
padding-left: flex-grid(1.2);
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
div.answer-actions {
|
||||
margin: 0;
|
||||
padding:8px 0 8px 8px;
|
||||
text-align: right;
|
||||
border-top: 1px solid #efefef;
|
||||
|
||||
span.sep {
|
||||
color: $border-color;
|
||||
}
|
||||
|
||||
a {
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
@extend a:link;
|
||||
font-size: em(14);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,2710 +0,0 @@
|
||||
// original Askbot styles
|
||||
|
||||
// body {
|
||||
// background: #fff;
|
||||
// font-size: 14px;
|
||||
// line-height: 150%;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// color: #000;
|
||||
// font-family: arial; }
|
||||
|
||||
// div {
|
||||
// margin: 0 auto;
|
||||
// padding: 0; }
|
||||
|
||||
// h1, h2, h3, h4, h5, h6, ul, li, dl, dt, dd, form, img, p {
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// border: none; }
|
||||
|
||||
// label {
|
||||
// vertical-align: middle; }
|
||||
|
||||
// hr {
|
||||
// border: none;
|
||||
// border-top: 1px dashed #ccccce; }
|
||||
|
||||
// input, select {
|
||||
// vertical-align: middle;
|
||||
// font-family: trebuchet ms,"segoe ui",helvetica,tahoma,verdana,mingliu,pmingliu,arial,sans-serif;
|
||||
// margin-left: 0px; }
|
||||
|
||||
// textarea:focus, input:focus {
|
||||
// outline: none; }
|
||||
|
||||
// iframe {
|
||||
// border: none; }
|
||||
|
||||
// p {
|
||||
// font-size: 14px;
|
||||
// line-height: 140%;
|
||||
// margin-bottom: 6px; }
|
||||
|
||||
// a {
|
||||
// color: #1b79bd;
|
||||
// text-decoration: none;
|
||||
// cursor: pointer; }
|
||||
|
||||
// h2 {
|
||||
// font-size: 21px;
|
||||
// padding: 3px 0 3px 5px; }
|
||||
|
||||
// h3 {
|
||||
// font-size: 19px;
|
||||
// padding: 3px 0 3px 5px; }
|
||||
|
||||
// ul {
|
||||
// list-style: disc;
|
||||
// margin-left: 20px;
|
||||
// padding-left: 0px;
|
||||
// margin-bottom: 1em; }
|
||||
|
||||
// ol {
|
||||
// list-style: decimal;
|
||||
// margin-left: 30px;
|
||||
// margin-bottom: 1em;
|
||||
// padding-left: 0px; }
|
||||
|
||||
// td ul {
|
||||
// vertical-align: middle; }
|
||||
|
||||
// li input {
|
||||
// margin: 3px 3px 4px 3px; }
|
||||
|
||||
// pre {
|
||||
// font-family: consolas, monaco, liberation mono, lucida console, monospace;
|
||||
// font-size: 100%;
|
||||
// margin-bottom: 10px;
|
||||
// background-color: #f5f5f5;
|
||||
// padding-left: 5px;
|
||||
// padding-top: 5px;
|
||||
// padding-bottom: 20px; }
|
||||
|
||||
// code {
|
||||
// font-family: consolas, monaco, liberation mono, lucida console, monospace;
|
||||
// font-size: 100%; }
|
||||
|
||||
// blockquote {
|
||||
// margin-bottom: 10px;
|
||||
// margin-right: 15px;
|
||||
// padding: 10px 0px 1px 10px;
|
||||
// background-color: #f5f5f5; }
|
||||
|
||||
// * html {
|
||||
// .clearfix, .paginator {
|
||||
// height: 1;
|
||||
// overflow: visible; } }
|
||||
|
||||
// +html {
|
||||
// .clearfix, .paginator {
|
||||
// min-height: 1%; } }
|
||||
|
||||
// .clearfix:after, .paginator:after {
|
||||
// clear: both;
|
||||
// content: ".";
|
||||
// display: block;
|
||||
// height: 0;
|
||||
// visibility: hidden; }
|
||||
|
||||
// .badges a {
|
||||
// color: #763333;
|
||||
// text-decoration: underline; }
|
||||
|
||||
// a:hover {
|
||||
// text-decoration: underline; }
|
||||
|
||||
.badge-context-toggle.active {
|
||||
cursor: pointer;
|
||||
text-decoration: underline; }
|
||||
|
||||
// h1 {
|
||||
// font-size: 24px;
|
||||
// padding: 10px 0 5px 0px; }
|
||||
|
||||
body.user-messages {
|
||||
margin-top: 2.4em; }
|
||||
|
||||
// .left {
|
||||
// float: left; }
|
||||
|
||||
// .right {
|
||||
// float: right; }
|
||||
|
||||
// .clean {
|
||||
// clear: both; }
|
||||
|
||||
// .center {
|
||||
// margin: 0 auto;
|
||||
// padding: 0; }
|
||||
|
||||
.notify {
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
background-color: #f5dd69;
|
||||
border-top: #fff 1px solid;
|
||||
|
||||
p.notification {
|
||||
margin-top: 6px;
|
||||
margin-bottom: 6px;
|
||||
font-size: 16px;
|
||||
color: #424242; } }
|
||||
|
||||
#closenotify {
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 7px;
|
||||
color: #735005;
|
||||
text-decoration: none;
|
||||
line-height: 18px;
|
||||
background: -6px -5px url(../default/media/images/sprites.png) no-repeat;
|
||||
cursor: pointer;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
&:hover {
|
||||
background: -26px -5px url(../default/media/images/sprites.png) no-repeat; } }
|
||||
|
||||
#header {
|
||||
margin-top: 0px;
|
||||
background: #16160f; }
|
||||
|
||||
/*.content-wrapper {
|
||||
width: 960px;
|
||||
margin: auto;
|
||||
position: relative; }*/
|
||||
|
||||
#logo img {
|
||||
padding: 5px 0px 5px 0px;
|
||||
height: 75px;
|
||||
width: auto;
|
||||
float: left; }
|
||||
|
||||
#usertoolsnav {
|
||||
height: 20px;
|
||||
padding-bottom: 5px;
|
||||
a {
|
||||
height: 35px;
|
||||
text-align: right;
|
||||
margin-left: 20px;
|
||||
text-decoration: underline;
|
||||
color: #d0e296;
|
||||
font-size: 16px;
|
||||
&:first-child {
|
||||
margin-left: 0; }
|
||||
&#ab-responses {
|
||||
margin-left: 3px; } }
|
||||
.user-info, .user-micro-info {
|
||||
color: #b5b593; }
|
||||
a img {
|
||||
vertical-align: middle;
|
||||
margin-bottom: 2px; }
|
||||
.user-info a {
|
||||
margin: 0;
|
||||
text-decoration: none; } }
|
||||
|
||||
#metanav {
|
||||
float: right;
|
||||
a {
|
||||
color: #e2e2ae;
|
||||
padding: 0px 0px 0px 35px;
|
||||
height: 25px;
|
||||
line-height: 30px;
|
||||
margin: 5px 0px 0px 10px;
|
||||
font-size: 18px;
|
||||
font-weight: 100;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
float: left;
|
||||
&:hover {
|
||||
text-decoration: underline; }
|
||||
&.on {
|
||||
font-weight: bold;
|
||||
color: #fff;
|
||||
text-decoration: none; }
|
||||
&.special {
|
||||
font-size: 18px;
|
||||
color: #b02b2c;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
&:hover {
|
||||
text-decoration: underline; } } }
|
||||
#navtags {
|
||||
background: -50px -5px url(../default/media/images/sprites.png) no-repeat; }
|
||||
#navusers {
|
||||
background: -125px -5px url(../default/media/images/sprites.png) no-repeat; }
|
||||
#navbadges {
|
||||
background: -210px -5px url(../default/media/images/sprites.png) no-repeat; } }
|
||||
|
||||
// #header {
|
||||
// &.with-logo #usertoolsnav {
|
||||
// position: absolute;
|
||||
// bottom: 0;
|
||||
// right: 0px; }
|
||||
// &.without-logo {
|
||||
// #usertoolsnav {
|
||||
// float: left;
|
||||
// margin-top: 7px; }
|
||||
// #metanav {
|
||||
// margin-bottom: 7px; } } }
|
||||
|
||||
// #secondaryheader {
|
||||
// height: 55px;
|
||||
// background: #e9e9e1;
|
||||
// border-bottom: #d3d3c2 1px solid;
|
||||
// border-top: #fcfcfc 1px solid;
|
||||
// margin-bottom: 10px;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// #homebutton {
|
||||
// border-right: #afaf9e 1px solid;
|
||||
// background: -6px -36px url(../default/media/images/sprites.png) no-repeat;
|
||||
// height: 55px;
|
||||
// width: 43px;
|
||||
// display: block;
|
||||
// float: left;
|
||||
// &:hover {
|
||||
// background: -51px -36px url(../default/media/images/sprites.png) no-repeat; } }
|
||||
// #scopewrapper {
|
||||
// width: 688px;
|
||||
// float: left;
|
||||
// a {
|
||||
// display: block;
|
||||
// float: left; }
|
||||
// .scope-selector {
|
||||
// font-size: 21px;
|
||||
// color: #5a5a4b;
|
||||
// height: 55px;
|
||||
// line-height: 55px;
|
||||
// margin-left: 24px; }
|
||||
// .on {
|
||||
// background: url(../default/media/images/scopearrow.png) no-repeat center bottom; }
|
||||
// .ask-message {
|
||||
// font-size: 24px; } } }
|
||||
|
||||
#searchbar {
|
||||
display: inline-block;
|
||||
background-color: #fff;
|
||||
width: 412px;
|
||||
border: 1px solid #c9c9b5;
|
||||
float: right;
|
||||
height: 42px;
|
||||
margin: 6px 0px 0px 15px;
|
||||
.searchinput, .searchinputcancelable {
|
||||
font-size: 30px;
|
||||
height: 40px;
|
||||
font-weight: 300;
|
||||
background: #fff;
|
||||
border: 0px;
|
||||
color: #484848;
|
||||
padding-left: 10px;
|
||||
font-family: arial;
|
||||
vertical-align: middle; }
|
||||
.searchinput {
|
||||
width: 352px; }
|
||||
.searchinputcancelable {
|
||||
width: 317px; }
|
||||
.logoutsearch {
|
||||
width: 337px; }
|
||||
.searchbtn {
|
||||
font-size: 10px;
|
||||
color: #666;
|
||||
background-color: #eee;
|
||||
height: 42px;
|
||||
border: #fff 1px solid;
|
||||
line-height: 22px;
|
||||
text-align: center;
|
||||
float: right;
|
||||
margin: 0px;
|
||||
width: 48px;
|
||||
background: -98px -36px url(../default/media/images/sprites.png) no-repeat;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
background: -146px -36px url(../default/media/images/sprites.png) no-repeat; } }
|
||||
.cancelsearchbtn {
|
||||
font-size: 30px;
|
||||
color: #ce8888;
|
||||
background: #fff;
|
||||
height: 42px;
|
||||
border: 0px;
|
||||
border-left: #deded0 1px solid;
|
||||
text-align: center;
|
||||
width: 35px;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
color: #d84040; } } }
|
||||
|
||||
body.anon #searchbar {
|
||||
width: 500px;
|
||||
.searchinput {
|
||||
width: 440px; }
|
||||
.searchinputcancelable {
|
||||
width: 405px; } }
|
||||
|
||||
#askbutton {
|
||||
background: url(../default/media/images/bigbutton.png) repeat-x bottom;
|
||||
line-height: 44px;
|
||||
text-align: center;
|
||||
width: 200px;
|
||||
height: 42px;
|
||||
font-size: 23px;
|
||||
color: #4a757f;
|
||||
margin-top: 7px;
|
||||
float: right;
|
||||
text-transform: uppercase;
|
||||
border-radius: 5px;
|
||||
-ms-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
-khtml-border-radius: 5px;
|
||||
-webkit-box-shadow: 1px 1px 2px #636363;
|
||||
-moz-box-shadow: 1px 1px 2px #636363;
|
||||
box-shadow: 1px 1px 2px #636363;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
background: url(../default/media/images/bigbutton.png) repeat-x top;
|
||||
text-shadow: 0px 1px 0px #c6d9dd;
|
||||
-moz-text-shadow: 0px 1px 0px #c6d9dd;
|
||||
-webkit-text-shadow: 0px 1px 0px #c6d9dd; } }
|
||||
|
||||
/*#contentleft {
|
||||
width: 730px;
|
||||
float: left;
|
||||
position: relative;
|
||||
padding-bottom: 10px; }
|
||||
|
||||
#contentright {
|
||||
width: 200px;
|
||||
float: right;
|
||||
padding: 0 0px 10px 0px; }*/
|
||||
|
||||
#contentfull {
|
||||
float: left;
|
||||
width: 960px; }
|
||||
|
||||
.box {
|
||||
/*background: #fff;*/
|
||||
/*padding: 4px 0px 10px 0px;*/
|
||||
/*width: 200px;*/
|
||||
p {
|
||||
margin-bottom: 4px;
|
||||
&.info-box-follow-up-links {
|
||||
text-align: right;
|
||||
margin: 0; } }
|
||||
h2 {
|
||||
// padding-left: 0;
|
||||
// /*background: #eceeeb;*/
|
||||
// height: 30px;
|
||||
// line-height: 30px;
|
||||
// /*text-align: right;*/
|
||||
// /*font-size: 18px !important;*/
|
||||
// // font-weight: normal;
|
||||
// // color: #656565;
|
||||
// /*padding-right: 10px;*/
|
||||
// /*margin-bottom: 10px;*/
|
||||
// /*font-family: 'yanone kaffeesatz',sans-serif;*/
|
||||
}
|
||||
// h3 {
|
||||
// /*color: #4a757f;*/
|
||||
// /*font-size: 18px;*/
|
||||
// text-align: left;
|
||||
// font-weight: normal;
|
||||
// /*font-family: 'yanone kaffeesatz',sans-serif;*/
|
||||
// padding-left: 0px; }
|
||||
// .contributorback {
|
||||
// background: #eceeeb url(../default/media/images/contributorsback.png) no-repeat center left; }
|
||||
// label {
|
||||
// color: #707070;
|
||||
// font-size: 15px;
|
||||
// display: block;
|
||||
// float: right;
|
||||
// text-align: left;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// width: 80px;
|
||||
// margin-right: 18px; }
|
||||
// #displaytagfiltercontrol label {
|
||||
// width: 160px; }
|
||||
// ul {
|
||||
// margin-left: 22px; }
|
||||
// li {
|
||||
// list-style-type: disc;
|
||||
// font-size: 13px;
|
||||
// line-height: 20px;
|
||||
// margin-bottom: 10px;
|
||||
// color: #707070; }
|
||||
// ul.tags {
|
||||
// list-style: none;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// line-height: 170%;
|
||||
// display: block; }
|
||||
// #displaytagfiltercontrol p label {
|
||||
// color: #707070;
|
||||
// font-size: 15px; }
|
||||
/*.inputs {
|
||||
#interestingtaginput, #ignoredtaginput {
|
||||
width: 153px;
|
||||
padding-left: 5px;
|
||||
border: #c9c9b5 1px solid;
|
||||
height: 25px; }
|
||||
#interestingtagadd, #ignoredtagadd {
|
||||
background: url(../default/media/images/small-button-blue.png) repeat-x top;
|
||||
border: 0;
|
||||
color: #4a757f;
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
width: 30px;
|
||||
height: 27px;
|
||||
margin-top: -2px;
|
||||
cursor: pointer;
|
||||
border-radius: 4px;
|
||||
-ms-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
-khtml-border-radius: 4px;
|
||||
text-shadow: 0px 1px 0px #e6f6fa;
|
||||
-moz-text-shadow: 0px 1px 0px #e6f6fa;
|
||||
-webkit-text-shadow: 0px 1px 0px #e6f6fa;
|
||||
-webkit-box-shadow: 1px 1px 2px #808080;
|
||||
-moz-box-shadow: 1px 1px 2px #808080;
|
||||
box-shadow: 1px 1px 2px #808080; }
|
||||
#interestingtagadd:hover, #ignoredtagadd:hover {
|
||||
background: url(../default/media/images/small-button-blue.png) repeat-x bottom; } }*/
|
||||
// img.gravatar {
|
||||
// margin: 1px; }
|
||||
// a {
|
||||
// &.followed, &.follow {
|
||||
// background: url(../default/media/images/medium-button.png) top repeat-x;
|
||||
// height: 34px;
|
||||
// line-height: 34px;
|
||||
// text-align: center;
|
||||
// border: 0;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// color: #4a757f;
|
||||
// font-weight: normal;
|
||||
// font-size: 21px;
|
||||
// margin-top: 3px;
|
||||
// display: block;
|
||||
// width: 120px;
|
||||
// text-decoration: none;
|
||||
// border-radius: 4px;
|
||||
// -ms-border-radius: 4px;
|
||||
// -moz-border-radius: 4px;
|
||||
// -webkit-border-radius: 4px;
|
||||
// -khtml-border-radius: 4px;
|
||||
// -webkit-box-shadow: 1px 1px 2px #636363;
|
||||
// -moz-box-shadow: 1px 1px 2px #636363;
|
||||
// box-shadow: 1px 1px 2px #636363;
|
||||
// margin: 0 auto;
|
||||
// padding: 0; }
|
||||
// &.followed:hover, &.follow:hover {
|
||||
// text-decoration: none;
|
||||
// background: url(../default/media/images/medium-button.png) bottom repeat-x;
|
||||
// text-shadow: 0px 1px 0px #c6d9dd;
|
||||
// -moz-text-shadow: 0px 1px 0px #c6d9dd;
|
||||
// -webkit-text-shadow: 0px 1px 0px #c6d9dd; }
|
||||
// &.followed {
|
||||
// div.unfollow {
|
||||
// display: none; }
|
||||
// &:hover div {
|
||||
// display: none;
|
||||
// &.unfollow {
|
||||
// display: inline;
|
||||
// color: #a05736; } } } }
|
||||
// .favorite-number {
|
||||
// padding: 5px 0 0 5px;
|
||||
// font-size: 100%;
|
||||
// font-family: arial;
|
||||
// font-weight: bold;
|
||||
// color: #777;
|
||||
// text-align: center; }
|
||||
// .notify-sidebar #question-subscribe-sidebar {
|
||||
// margin: 7px 0 0 3px; }
|
||||
}
|
||||
|
||||
//.statswidget p {
|
||||
// color: #707070;
|
||||
// font-size: 16px;
|
||||
// border-bottom: #cccccc 1px solid;
|
||||
// font-size: 13px;
|
||||
// strong {
|
||||
// float: right;
|
||||
// padding-right: 10px; } }
|
||||
|
||||
// .questions-related {
|
||||
// word-wrap: break-word;
|
||||
// p {
|
||||
// line-height: 20px;
|
||||
// padding: 4px 0px 4px 0px;
|
||||
// font-size: 16px;
|
||||
// font-weight: normal;
|
||||
// border-bottom: #cccccc 1px solid; }
|
||||
// a {
|
||||
// font-size: 13px; } }
|
||||
|
||||
// #tips {
|
||||
// li {
|
||||
// color: #707070;
|
||||
// font-size: 13px;
|
||||
// list-style-image: url(../default/media/images/tips.png); }
|
||||
// a {
|
||||
// font-size: 16px; } }
|
||||
|
||||
// #markdownhelp {
|
||||
// li {
|
||||
// color: #707070;
|
||||
// font-size: 13px; }
|
||||
// a {
|
||||
// font-size: 16px; } }
|
||||
|
||||
// .tabbar {
|
||||
// background-color: #eff5f6;
|
||||
// height: 30px;
|
||||
// margin-bottom: 3px;
|
||||
// margin-top: 3px;
|
||||
// float: right;
|
||||
// font-family: georgia,serif;
|
||||
// font-size: 16px;
|
||||
// border-radius: 5px;
|
||||
// -ms-border-radius: 5px;
|
||||
// -moz-border-radius: 5px;
|
||||
// -webkit-border-radius: 5px;
|
||||
// -khtml-border-radius: 5px;
|
||||
// h2 {
|
||||
// float: left; } }
|
||||
|
||||
// .tabsa, .tabsc {
|
||||
// float: right;
|
||||
// position: relative;
|
||||
// display: block;
|
||||
// height: 20px; }
|
||||
|
||||
// .tabsa {
|
||||
// float: right; }
|
||||
|
||||
// .tabsc {
|
||||
// float: left; }
|
||||
|
||||
// .tabsa a, .tabsc a {
|
||||
// border-left: 1px solid #d0e1e4;
|
||||
// color: #7ea9b3;
|
||||
// display: block;
|
||||
// float: left;
|
||||
// height: 20px;
|
||||
// line-height: 20px;
|
||||
// padding: 4px 7px 4px 7px;
|
||||
// text-decoration: none; }
|
||||
|
||||
// .tabsa a.on, .tabsc a.on, .tabsa a:hover, .tabsc a:hover {
|
||||
// color: #4a757f; }
|
||||
|
||||
// .tabsa .label, .tabsc .label {
|
||||
// float: left;
|
||||
// color: #646464;
|
||||
// margin-top: 4px;
|
||||
// margin-right: 5px; }
|
||||
|
||||
// .main-page .tabsa .label {
|
||||
// margin-left: 8px; }
|
||||
|
||||
// .tabsb a {
|
||||
// background: #eee;
|
||||
// border: 1px solid #eee;
|
||||
// color: #777;
|
||||
// display: block;
|
||||
// float: left;
|
||||
// height: 22px;
|
||||
// line-height: 28px;
|
||||
// margin: 5px 0px 0 4px;
|
||||
// padding: 0 11px 0 11px;
|
||||
// text-decoration: none; }
|
||||
|
||||
// .tabsc .first {
|
||||
// border: none; }
|
||||
|
||||
// .rss {
|
||||
// float: right;
|
||||
// font-size: 16px;
|
||||
// color: #f57900;
|
||||
// margin: 5px 0px 3px 7px;
|
||||
// width: 52px;
|
||||
// padding-left: 2px;
|
||||
// padding-top: 3px;
|
||||
// background: white url(../default/media/images/feed-icon-small.png) no-repeat center right;
|
||||
// float: right;
|
||||
// font-family: georgia,serif;
|
||||
// font-size: 16px;
|
||||
// &:hover {
|
||||
// color: #f4a731 !important; } }
|
||||
|
||||
// #questioncount {
|
||||
// font-weight: bold;
|
||||
// font-size: 23px;
|
||||
// color: #7ea9b3;
|
||||
// width: 200px;
|
||||
// float: left;
|
||||
// margin-bottom: 8px;
|
||||
// padding-top: 6px;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif; }
|
||||
|
||||
// #listsearchtags {
|
||||
// float: left;
|
||||
// margin-top: 3px;
|
||||
// color: #707070;
|
||||
// font-size: 16px;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif; }
|
||||
|
||||
// ul#searchtags {
|
||||
// margin-left: 10px;
|
||||
// float: right;
|
||||
// padding-top: 2px; }
|
||||
|
||||
// .search-tips {
|
||||
// font-size: 16px;
|
||||
// line-height: 17px;
|
||||
// color: #707070;
|
||||
// margin: 5px 0 10px 0;
|
||||
// padding: 0px;
|
||||
// float: left;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// a {
|
||||
// text-decoration: underline;
|
||||
// color: #1b79bd; } }
|
||||
|
||||
// #question-list {
|
||||
// float: left;
|
||||
// position: relative;
|
||||
// background-color: #fff;
|
||||
// padding: 0;
|
||||
// width: 100%; }
|
||||
|
||||
// .short-summary {
|
||||
// position: relative;
|
||||
// filter: inherit;
|
||||
// padding: 10px;
|
||||
// border-bottom: 1px solid #dddbce;
|
||||
// margin-bottom: 1px;
|
||||
// overflow: hidden;
|
||||
// width: 710px;
|
||||
// float: left;
|
||||
// background: url(../default/media/images/summary-background.png) repeat-x;
|
||||
// h2 {
|
||||
// font-size: 24px;
|
||||
// font-weight: normal;
|
||||
// line-height: 26px;
|
||||
// padding-left: 0;
|
||||
// margin-bottom: 6px;
|
||||
// display: block;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif; }
|
||||
// a {
|
||||
// color: #464646; }
|
||||
// .userinfo {
|
||||
// text-align: right;
|
||||
// line-height: 16px;
|
||||
// font-family: arial;
|
||||
// padding-right: 4px;
|
||||
// .relativetime {
|
||||
// font-size: 11px;
|
||||
// clear: both;
|
||||
// font-weight: normal;
|
||||
// color: #555; } }
|
||||
// span.anonymous {
|
||||
// font-size: 11px;
|
||||
// clear: both;
|
||||
// font-weight: normal;
|
||||
// color: #555; }
|
||||
// .userinfo a {
|
||||
// font-weight: bold;
|
||||
// font-size: 11px; }
|
||||
// .counts {
|
||||
// float: right;
|
||||
// margin: 4px 0 0 5px;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// .item-count {
|
||||
// padding: 0px 5px 0px 5px;
|
||||
// font-size: 25px;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif; }
|
||||
// .votes div, .views div, .answers div, .favorites div {
|
||||
// margin-top: 3px;
|
||||
// font-size: 14px;
|
||||
// line-height: 14px;
|
||||
// color: #646464; } }
|
||||
// .tags {
|
||||
// margin-top: 0; }
|
||||
// .votes, .answers, .favorites, .views {
|
||||
// text-align: center;
|
||||
// margin: 0 3px;
|
||||
// padding: 8px 2px 0px 2px;
|
||||
// width: 51px;
|
||||
// float: right;
|
||||
// height: 44px;
|
||||
// border: #dbdbd4 1px solid; }
|
||||
// .votes {
|
||||
// background: url(../default/media/images/vote-background.png) repeat-x; }
|
||||
// .answers {
|
||||
// background: url(../default/media/images/answers-background.png) repeat-x; }
|
||||
// .views {
|
||||
// background: url(../default/media/images/view-background.png) repeat-x; }
|
||||
// .no-votes .item-count {
|
||||
// color: #b1b5b6; }
|
||||
// .some-votes .item-count {
|
||||
// color: #4a757f; }
|
||||
// .no-answers .item-count {
|
||||
// color: #b1b5b6; }
|
||||
// .some-answers .item-count {
|
||||
// color: #eab243; }
|
||||
// .no-views .item-count {
|
||||
// color: #b1b5b6; }
|
||||
// .some-views .item-count {
|
||||
// color: #d33f00; }
|
||||
// .accepted .item-count {
|
||||
// background: url(../default/media/images/accept.png) no-repeat top right;
|
||||
// display: block;
|
||||
// text-align: center;
|
||||
// width: 40px;
|
||||
// color: #eab243; }
|
||||
// .some-favorites .item-count {
|
||||
// background: #338333;
|
||||
// color: #d0f5a9; }
|
||||
// .no-favorites .item-count {
|
||||
// background: #eab243;
|
||||
// color: yellow; } }
|
||||
|
||||
// .evenmore {
|
||||
// font-size: 13px;
|
||||
// color: #707070;
|
||||
// padding: 15px 0px 10px 0px;
|
||||
// clear: both;
|
||||
// a {
|
||||
// text-decoration: underline;
|
||||
// color: #1b79bd; } }
|
||||
|
||||
.pager {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 16px; }
|
||||
|
||||
.pagesize {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 16px;
|
||||
float: right; }
|
||||
|
||||
// .paginator {
|
||||
// padding: 5px 0 10px 0;
|
||||
// font-size: 13px;
|
||||
// margin-bottom: 10px;
|
||||
// .prev a, .next a {
|
||||
// background-color: #fff;
|
||||
// color: #777;
|
||||
// padding: 2px 4px 3px 4px;
|
||||
// &:visited {
|
||||
// background-color: #fff;
|
||||
// color: #777;
|
||||
// padding: 2px 4px 3px 4px; } }
|
||||
// a {
|
||||
// color: #7ea9b3; }
|
||||
// .prev {
|
||||
// margin-right: .5em; }
|
||||
// .next {
|
||||
// margin-left: .5em; }
|
||||
// .page a {
|
||||
// padding: .25em;
|
||||
// background-color: #fff;
|
||||
// margin: 0em .25em;
|
||||
// color: #ff;
|
||||
// &:visited {
|
||||
// padding: .25em;
|
||||
// background-color: #fff;
|
||||
// margin: 0em .25em;
|
||||
// color: #ff; } }
|
||||
// .curr {
|
||||
// padding: .25em;
|
||||
// background-color: #fff;
|
||||
// margin: 0em .25em;
|
||||
// color: #ff;
|
||||
// background-color: #8ebcc7;
|
||||
// color: #fff;
|
||||
// font-weight: bold; }
|
||||
// .next a, .prev a {
|
||||
// color: #7ea9b3; }
|
||||
// .page a:hover, .curr a:hover, .prev a:hover, .next a:hover {
|
||||
// color: #8c8c8c;
|
||||
// background-color: #e1e1e1;
|
||||
// text-decoration: none; }
|
||||
// .text {
|
||||
// color: #777;
|
||||
// padding: .3em; }
|
||||
// .paginator-container-left {
|
||||
// padding: 5px 0 10px 0; } }
|
||||
|
||||
// .tag-size-1 {
|
||||
// font-size: 12px; }
|
||||
|
||||
// .tag-size-2 {
|
||||
// font-size: 13px; }
|
||||
|
||||
// .tag-size-3 {
|
||||
// font-size: 14px; }
|
||||
|
||||
// .tag-size-4 {
|
||||
// font-size: 15px; }
|
||||
|
||||
// .tag-size-5 {
|
||||
// font-size: 16px; }
|
||||
|
||||
// .tag-size-6 {
|
||||
// font-size: 17px; }
|
||||
|
||||
// .tag-size-7 {
|
||||
// font-size: 18px; }
|
||||
|
||||
// .tag-size-8 {
|
||||
// font-size: 19px; }
|
||||
|
||||
// .tag-size-9 {
|
||||
// font-size: 20px; }
|
||||
|
||||
// .tag-size-10 {
|
||||
// font-size: 21px; }
|
||||
|
||||
// ul {
|
||||
// &.tags {
|
||||
// list-style: none;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// line-height: 170%;
|
||||
// display: block;
|
||||
// &.marked-tags {
|
||||
// list-style: none;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// line-height: 170%;
|
||||
// display: block; } }
|
||||
// &#related-tags {
|
||||
// list-style: none;
|
||||
// margin: 0;
|
||||
// padding: 0;
|
||||
// line-height: 170%;
|
||||
// display: block; }
|
||||
// &.tags li {
|
||||
// float: left;
|
||||
// display: block;
|
||||
// margin: 0 8px 0 0;
|
||||
// padding: 0;
|
||||
// height: 20px; } }
|
||||
|
||||
// .wildcard-tags {
|
||||
// clear: both; }
|
||||
|
||||
// ul.tags.marked-tags li, .wildcard-tags ul.tags li {
|
||||
// margin-bottom: 5px; }
|
||||
|
||||
// #tagselector div.inputs {
|
||||
// clear: both;
|
||||
// float: none;
|
||||
// margin-bottom: 10px; }
|
||||
|
||||
// .tags-page ul.tags li {
|
||||
// width: 160px;
|
||||
// margin: 5px; }
|
||||
|
||||
// ul {
|
||||
// &#ab-user-tags li {
|
||||
// width: 160px;
|
||||
// margin: 5px; }
|
||||
// &#related-tags li {
|
||||
// margin: 0 5px 8px 0;
|
||||
// float: left;
|
||||
// clear: left; } }
|
||||
|
||||
// .tag-left {
|
||||
// cursor: pointer;
|
||||
// display: block;
|
||||
// float: left;
|
||||
// height: 17px;
|
||||
// margin: 0 5px 0 0;
|
||||
// padding: 0;
|
||||
// -webkit-box-shadow: 0px 0px 5px #d3d6d7;
|
||||
// -moz-box-shadow: 0px 0px 5px #d3d6d7;
|
||||
// box-shadow: 0px 0px 5px #d3d6d7; }
|
||||
|
||||
// .tag-right {
|
||||
// background: #f3f6f6;
|
||||
// border: #fff 1px solid;
|
||||
// border-top: #fff 2px solid;
|
||||
// outline: #cfdbdb 1px solid;
|
||||
// display: block;
|
||||
// float: left;
|
||||
// height: 17px;
|
||||
// line-height: 17px;
|
||||
// font-weight: normal;
|
||||
// font-size: 11px;
|
||||
// padding: 0px 8px 0px 8px;
|
||||
// text-decoration: none;
|
||||
// text-align: center;
|
||||
// white-space: nowrap;
|
||||
// vertical-align: middle;
|
||||
// font-family: arial;
|
||||
// color: #717179; }
|
||||
|
||||
// .deletable-tag {
|
||||
// margin-right: 3px;
|
||||
// white-space: nowrap;
|
||||
// border-top-right-radius: 4px;
|
||||
// border-bottom-right-radius: 4px;
|
||||
// -moz-border-radius-topright: 4px;
|
||||
// -moz-border-radius-bottomright: 4px;
|
||||
// -webkit-border-bottom-right-radius: 4px;
|
||||
// -webkit-border-top-right-radius: 4px; }
|
||||
|
||||
// .tags {
|
||||
// a.tag-right, span.tag-right {
|
||||
// color: #585858;
|
||||
// text-decoration: none; }
|
||||
// a:hover {
|
||||
// color: #1a1a1a; } }
|
||||
|
||||
// .users-page h1, .tags-page h1 {
|
||||
// float: left; }
|
||||
|
||||
// .main-page h1 {
|
||||
// margin-right: 5px; }
|
||||
|
||||
// .delete-icon {
|
||||
// margin-top: -1px;
|
||||
// float: left;
|
||||
// height: 21px;
|
||||
// width: 18px;
|
||||
// display: block;
|
||||
// line-height: 20px;
|
||||
// text-align: center;
|
||||
// background: #bbcdcd;
|
||||
// cursor: default;
|
||||
// color: #fff;
|
||||
// border-top: #cfdbdb 1px solid;
|
||||
// font-family: arial;
|
||||
// border-top-right-radius: 4px;
|
||||
// border-bottom-right-radius: 4px;
|
||||
// -moz-border-radius-topright: 4px;
|
||||
// -moz-border-radius-bottomright: 4px;
|
||||
// -webkit-border-bottom-right-radius: 4px;
|
||||
// -webkit-border-top-right-radius: 4px;
|
||||
// text-shadow: 0px 1px 0px #7ea0a0;
|
||||
// -moz-text-shadow: 0px 1px 0px #7ea0a0;
|
||||
// -webkit-text-shadow: 0px 1px 0px #7ea0a0;
|
||||
// &:hover {
|
||||
// background: #b32f2f; } }
|
||||
|
||||
// .tag-number {
|
||||
// font-weight: normal;
|
||||
// float: left;
|
||||
// font-size: 16px;
|
||||
// color: #5d5d5d; }
|
||||
|
||||
// .badges .tag-number {
|
||||
// float: none;
|
||||
// display: inline;
|
||||
// padding-right: 15px; }
|
||||
|
||||
// .section-title {
|
||||
// color: #7ea9b3;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// font-weight: bold;
|
||||
// font-size: 24px; }
|
||||
|
||||
// #fmask {
|
||||
// margin-bottom: 30px;
|
||||
// width: 100%; }
|
||||
|
||||
// #askformbar {
|
||||
// display: inline-block;
|
||||
// padding: 4px 7px 5px 0px;
|
||||
// margin-top: 0px;
|
||||
// p {
|
||||
// margin: 0 0 5px 0;
|
||||
// font-size: 14px;
|
||||
// color: #525252;
|
||||
// line-height: 1.4; }
|
||||
// .questiontitleinput {
|
||||
// font-size: 24px;
|
||||
// line-height: 24px;
|
||||
// height: 36px;
|
||||
// margin: 0px;
|
||||
// padding: 0px 0 0 5px;
|
||||
// border: #cce6ec 3px solid;
|
||||
// width: 725px; } }
|
||||
|
||||
// .ask-page div#question-list, .edit-question-page div#question-list {
|
||||
// float: none;
|
||||
// border-bottom: #f0f0ec 1px solid;
|
||||
// float: left;
|
||||
// margin-bottom: 10px; }
|
||||
|
||||
// .ask-page div#question-list a, .edit-question-page div#question-list a {
|
||||
// line-height: 30px; }
|
||||
|
||||
// .ask-page div#question-list h2, .edit-question-page div#question-list h2 {
|
||||
// font-size: 13px;
|
||||
// padding-bottom: 0;
|
||||
// color: #1b79bd;
|
||||
// border-top: #f0f0ec 1px solid;
|
||||
// border-left: #f0f0ec 1px solid;
|
||||
// height: 30px;
|
||||
// line-height: 30px;
|
||||
// font-weight: normal; }
|
||||
|
||||
// .ask-page div#question-list span, .edit-question-page div#question-list span {
|
||||
// width: 28px;
|
||||
// height: 26px;
|
||||
// line-height: 26px;
|
||||
// text-align: center;
|
||||
// margin-right: 10px;
|
||||
// float: left;
|
||||
// display: block;
|
||||
// color: #fff;
|
||||
// background: #b8d0d5;
|
||||
// border-radius: 3px;
|
||||
// -ms-border-radius: 3px;
|
||||
// -moz-border-radius: 3px;
|
||||
// -webkit-border-radius: 3px;
|
||||
// -khtml-border-radius: 3px; }
|
||||
|
||||
// .ask-page label, .edit-question-page label {
|
||||
// color: #525252;
|
||||
// font-size: 13px; }
|
||||
|
||||
// .ask-page #id_tags, .edit-question-page #id_tags {
|
||||
// border: #cce6ec 3px solid;
|
||||
// height: 25px;
|
||||
// padding-left: 5px;
|
||||
// width: 395px;
|
||||
// font-size: 14px; }
|
||||
|
||||
// .title-desc {
|
||||
// color: #707070;
|
||||
// font-size: 13px; }
|
||||
|
||||
// #fmanswer input.submit, .ask-page input.submit, .edit-question-page input.submit {
|
||||
// float: left;
|
||||
// background: url(../default/media/images/medium-button.png) top repeat-x;
|
||||
// height: 34px;
|
||||
// border: 0;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// color: #4a757f;
|
||||
// font-weight: normal;
|
||||
// font-size: 21px;
|
||||
// margin-top: 3px;
|
||||
// border-radius: 4px;
|
||||
// -ms-border-radius: 4px;
|
||||
// -moz-border-radius: 4px;
|
||||
// -webkit-border-radius: 4px;
|
||||
// -khtml-border-radius: 4px;
|
||||
// -webkit-box-shadow: 1px 1px 2px #636363;
|
||||
// -moz-box-shadow: 1px 1px 2px #636363;
|
||||
// box-shadow: 1px 1px 2px #636363;
|
||||
// margin-right: 7px; }
|
||||
|
||||
// #fmanswer input.submit:hover, .ask-page input.submit:hover, .edit-question-page input.submit:hover {
|
||||
// text-decoration: none;
|
||||
// background: url(../default/media/images/medium-button.png) bottom repeat-x;
|
||||
// text-shadow: 0px 1px 0px #c6d9dd;
|
||||
// -moz-text-shadow: 0px 1px 0px #c6d9dd;
|
||||
// -webkit-text-shadow: 0px 1px 0px #c6d9dd; }
|
||||
|
||||
// #editor {
|
||||
// font-size: 100%;
|
||||
// min-height: 200px;
|
||||
// line-height: 18px;
|
||||
// margin: 0;
|
||||
// border-left: #cce6ec 3px solid;
|
||||
// border-bottom: #cce6ec 3px solid;
|
||||
// border-right: #cce6ec 3px solid;
|
||||
// border-top: 0;
|
||||
// padding: 10px;
|
||||
// margin-bottom: 10px;
|
||||
// width: 710px; }
|
||||
|
||||
// #id_title {
|
||||
// width: 100%; }
|
||||
|
||||
// .wmd-preview {
|
||||
// margin: 3px 0 5px 0;
|
||||
// padding: 6px;
|
||||
// background-color: #f5f5f5;
|
||||
// min-height: 20px;
|
||||
// overflow: auto;
|
||||
// font-size: 13px;
|
||||
// font-family: arial;
|
||||
// p {
|
||||
// margin-bottom: 14px;
|
||||
// line-height: 1.4;
|
||||
// font-size: 14px; }
|
||||
// pre {
|
||||
// background-color: #e7f1f8; }
|
||||
// blockquote {
|
||||
// background-color: #eee; }
|
||||
// img {
|
||||
// max-width: 600px; } }
|
||||
|
||||
// .preview-toggle {
|
||||
// width: 100%;
|
||||
// color: #b6a475;
|
||||
// text-align: left;
|
||||
// span:hover {
|
||||
// cursor: pointer; } }
|
||||
|
||||
// .after-editor {
|
||||
// margin-top: 15px;
|
||||
// margin-bottom: 15px; }
|
||||
|
||||
.checkbox {
|
||||
margin-left: 5px;
|
||||
font-weight: normal;
|
||||
cursor: help; }
|
||||
|
||||
// .question-options {
|
||||
// margin-top: 1px;
|
||||
// color: #666;
|
||||
// line-height: 13px;
|
||||
// margin-bottom: 5px;
|
||||
// label {
|
||||
// vertical-align: text-bottom; } }
|
||||
|
||||
// .edit-content-html {
|
||||
// border-top: 1px dotted #d8d2a9;
|
||||
// border-bottom: 1px dotted #d8d2a9;
|
||||
// margin: 5px 0 5px 0; }
|
||||
|
||||
// .edit-question-page, #fmedit, .wmd-preview {
|
||||
// color: #525252; }
|
||||
|
||||
// .edit-question-page #id_revision, #fmedit #id_revision, .wmd-preview #id_revision {
|
||||
// font-size: 14px;
|
||||
// margin-top: 5px;
|
||||
// margin-bottom: 5px; }
|
||||
|
||||
// .edit-question-page #id_title, #fmedit #id_title, .wmd-preview #id_title {
|
||||
// font-size: 24px;
|
||||
// line-height: 24px;
|
||||
// height: 36px;
|
||||
// margin: 0px;
|
||||
// padding: 0px 0 0 5px;
|
||||
// border: #cce6ec 3px solid;
|
||||
// width: 725px;
|
||||
// margin-bottom: 10px; }
|
||||
|
||||
// .edit-question-page #id_summary, #fmedit #id_summary, .wmd-preview #id_summary {
|
||||
// border: #cce6ec 3px solid;
|
||||
// height: 25px;
|
||||
// padding-left: 5px;
|
||||
// width: 395px;
|
||||
// font-size: 14px; }
|
||||
|
||||
// .edit-question-page .title-desc, #fmedit .title-desc, .wmd-preview .title-desc {
|
||||
// margin-bottom: 10px; }
|
||||
|
||||
// .question-page {
|
||||
// h1 {
|
||||
// padding-top: 0px;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// a {
|
||||
// color: #464646;
|
||||
// font-size: 30px;
|
||||
// font-weight: normal;
|
||||
// line-height: 1; } }
|
||||
// p.rss {
|
||||
// float: none;
|
||||
// clear: both;
|
||||
// padding: 3px 0 0 23px;
|
||||
// font-size: 15px;
|
||||
// width: 110px;
|
||||
// background-position: center left;
|
||||
// margin-left: 0px !important;
|
||||
// a {
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// vertical-align: top; } }
|
||||
// .question-content {
|
||||
// float: right;
|
||||
// width: 682px;
|
||||
// margin-bottom: 10px; }
|
||||
// #question-table {
|
||||
// float: left;
|
||||
// border-top: #f0f0f0 1px solid;
|
||||
// margin: 6px 0 6px 0;
|
||||
// border-spacing: 0px;
|
||||
// width: 670px;
|
||||
// padding-right: 10px; }
|
||||
// .answer-table {
|
||||
// margin: 6px 0 6px 0;
|
||||
// border-spacing: 0px;
|
||||
// width: 670px;
|
||||
// padding-right: 10px;
|
||||
// margin-top: 0px;
|
||||
// border-bottom: 1px solid #d4d4d4;
|
||||
// float: right;
|
||||
// td {
|
||||
// width: 20px;
|
||||
// vertical-align: top; } }
|
||||
// #question-table td {
|
||||
// width: 20px;
|
||||
// vertical-align: top; }
|
||||
// .question-body, .answer-body {
|
||||
// overflow: auto;
|
||||
// margin-top: 10px;
|
||||
// font-family: arial;
|
||||
// color: #4b4b4b; }
|
||||
// .question-body p, .answer-body p {
|
||||
// margin-bottom: 14px;
|
||||
// line-height: 1.4;
|
||||
// font-size: 14px;
|
||||
// padding: 0px 5px 5px 0px; }
|
||||
// .question-body a, .answer-body a {
|
||||
// color: #1b79bd; }
|
||||
// .question-body li, .answer-body li {
|
||||
// margin-bottom: 7px; }
|
||||
// .question-body img, .answer-body img {
|
||||
// max-width: 600px; }
|
||||
// .post-update-info-container {
|
||||
// float: right;
|
||||
// width: 175px; }
|
||||
// .post-update-info {
|
||||
// background: white url(../default/media/images/background-user-info.png) repeat-x bottom;
|
||||
// float: right;
|
||||
// font-size: 9px;
|
||||
// font-family: arial;
|
||||
// width: 158px;
|
||||
// padding: 4px;
|
||||
// margin: 0px 0px 5px 5px;
|
||||
// line-height: 14px;
|
||||
// border-radius: 4px;
|
||||
// -ms-border-radius: 4px;
|
||||
// -moz-border-radius: 4px;
|
||||
// -webkit-border-radius: 4px;
|
||||
// -khtml-border-radius: 4px;
|
||||
// -webkit-box-shadow: 0px 2px 1px #bfbfbf;
|
||||
// -moz-box-shadow: 0px 2px 1px #bfbfbf;
|
||||
// box-shadow: 0px 2px 1px #bfbfbf;
|
||||
// p {
|
||||
// line-height: 13px;
|
||||
// font-size: 11px;
|
||||
// margin: 0 0 2px 1px;
|
||||
// padding: 0; }
|
||||
// a {
|
||||
// color: #444; }
|
||||
// .gravatar {
|
||||
// float: left;
|
||||
// margin-right: 4px; }
|
||||
// p.tip {
|
||||
// color: #444;
|
||||
// line-height: 13px;
|
||||
// font-size: 10px; } }
|
||||
// .post-controls {
|
||||
// font-size: 11px;
|
||||
// line-height: 12px;
|
||||
// min-width: 200px;
|
||||
// padding-left: 5px;
|
||||
// text-align: right;
|
||||
// clear: left;
|
||||
// float: right;
|
||||
// margin-top: 10px;
|
||||
// margin-bottom: 8px;
|
||||
// a {
|
||||
// color: #777;
|
||||
// padding: 0px 3px 3px 22px;
|
||||
// cursor: pointer;
|
||||
// border: none;
|
||||
// font-size: 12px;
|
||||
// font-family: arial;
|
||||
// text-decoration: none;
|
||||
// height: 18px;
|
||||
// display: block;
|
||||
// float: right;
|
||||
// line-height: 18px;
|
||||
// margin-top: -2px;
|
||||
// margin-left: 4px;
|
||||
// &:hover {
|
||||
// background-color: #f5f0c9;
|
||||
// border-radius: 3px;
|
||||
// -ms-border-radius: 3px;
|
||||
// -moz-border-radius: 3px;
|
||||
// -webkit-border-radius: 3px;
|
||||
// -khtml-border-radius: 3px; } }
|
||||
// .sep {
|
||||
// color: #ccc;
|
||||
// float: right;
|
||||
// height: 18px;
|
||||
// font-size: 18px; }
|
||||
// .question-delete {
|
||||
// background: url(../default/media/images/delete.png) no-repeat center left;
|
||||
// padding-left: 16px; } }
|
||||
// .answer-controls .question-delete {
|
||||
// background: url(../default/media/images/delete.png) no-repeat center left;
|
||||
// padding-left: 16px; }
|
||||
// .post-controls .question-flag, .answer-controls .question-flag {
|
||||
// background: url(../default/media/images/flag.png) no-repeat center left; }
|
||||
// .post-controls .question-edit, .answer-controls .question-edit {
|
||||
// background: url(../default/media/images/edit2.png) no-repeat center left; }
|
||||
// .post-controls .question-retag, .answer-controls .question-retag {
|
||||
// background: url(../default/media/images/retag.png) no-repeat center left; }
|
||||
// .post-controls .question-close, .answer-controls .question-close {
|
||||
// background: url(../default/media/images/close.png) no-repeat center left; }
|
||||
// .post-controls .permant-link, .answer-controls .permant-link {
|
||||
// background: url(../default/media/images/link.png) no-repeat center left; }
|
||||
// .tabbar {
|
||||
// width: 100%; }
|
||||
// #questioncount {
|
||||
// float: left;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// line-height: 15px; }
|
||||
// .question-img-upvote, .question-img-downvote, .answer-img-upvote, .answer-img-downvote {
|
||||
// width: 25px;
|
||||
// height: 20px;
|
||||
// cursor: pointer; }
|
||||
// .question-img-upvote, .answer-img-upvote {
|
||||
// background: url(../default/media/images/vote-arrow-up-new.png) no-repeat; }
|
||||
// .question-img-downvote, .answer-img-downvote {
|
||||
// background: url(../default/media/images/vote-arrow-down-new.png) no-repeat; }
|
||||
// .question-img-upvote {
|
||||
// &:hover, &.on {
|
||||
// background: url(../default/media/images/vote-arrow-up-on-new.png) no-repeat; } }
|
||||
// .answer-img-upvote {
|
||||
// &:hover, &.on {
|
||||
// background: url(../default/media/images/vote-arrow-up-on-new.png) no-repeat; } }
|
||||
// .question-img-downvote {
|
||||
// &:hover, &.on {
|
||||
// background: url(../default/media/images/vote-arrow-down-on-new.png) no-repeat; } }
|
||||
// .answer-img-downvote {
|
||||
// &:hover, &.on {
|
||||
// background: url(../default/media/images/vote-arrow-down-on-new.png) no-repeat; } }
|
||||
// #fmanswer_button {
|
||||
// margin: 8px 0px; }
|
||||
// .question-img-favorite:hover {
|
||||
// background: url(../default/media/images/vote-favorite-on.png); }
|
||||
// div.comments {
|
||||
// padding: 0; }
|
||||
// #comment-title {
|
||||
// font-weight: bold;
|
||||
// font-size: 23px;
|
||||
// color: #7ea9b3;
|
||||
// width: 200px;
|
||||
// float: left;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif; }
|
||||
// .comments {
|
||||
// font-size: 12px;
|
||||
// clear: both;
|
||||
// div.controls {
|
||||
// clear: both;
|
||||
// float: left;
|
||||
// width: 100%;
|
||||
// margin: 3px 0 20px 5px; }
|
||||
// .controls a {
|
||||
// color: #988e4c;
|
||||
// padding: 0 3px 2px 22px;
|
||||
// font-family: arial;
|
||||
// font-size: 13px;
|
||||
// background: url(../default/media/images/comment.png) no-repeat center left;
|
||||
// &:hover {
|
||||
// background-color: #f5f0c9;
|
||||
// text-decoration: none; } }
|
||||
// .button {
|
||||
// color: #988e4c;
|
||||
// font-size: 11px;
|
||||
// padding: 3px;
|
||||
// cursor: pointer; }
|
||||
// a {
|
||||
// background-color: inherit;
|
||||
// color: #1b79bd;
|
||||
// padding: 0; }
|
||||
// form.post-comments {
|
||||
// margin: 3px 26px 0 42px;
|
||||
// textarea {
|
||||
// font-size: 13px;
|
||||
// line-height: 1.3; } }
|
||||
// textarea {
|
||||
// height: 42px;
|
||||
// width: 100%;
|
||||
// margin: 7px 0 5px 1px;
|
||||
// font-family: arial;
|
||||
// outline: none;
|
||||
// overflow: auto;
|
||||
// font-size: 12px;
|
||||
// line-height: 140%;
|
||||
// padding-left: 2px;
|
||||
// padding-top: 3px;
|
||||
// border: #cce6ec 3px solid; }
|
||||
// input {
|
||||
// margin-left: 10px;
|
||||
// margin-top: 1px;
|
||||
// vertical-align: top;
|
||||
// width: 100px; }
|
||||
// button {
|
||||
// background: url(../default/media/images/small-button-blue.png) repeat-x top;
|
||||
// border: 0;
|
||||
// color: #4a757f;
|
||||
// font-family: arial;
|
||||
// font-size: 13px;
|
||||
// width: 100px;
|
||||
// font-weight: bold;
|
||||
// height: 27px;
|
||||
// line-height: 25px;
|
||||
// margin-bottom: 5px;
|
||||
// cursor: pointer;
|
||||
// border-radius: 4px;
|
||||
// -ms-border-radius: 4px;
|
||||
// -moz-border-radius: 4px;
|
||||
// -webkit-border-radius: 4px;
|
||||
// -khtml-border-radius: 4px;
|
||||
// text-shadow: 0px 1px 0px #e6f6fa;
|
||||
// -moz-text-shadow: 0px 1px 0px #e6f6fa;
|
||||
// -webkit-text-shadow: 0px 1px 0px #e6f6fa;
|
||||
// -webkit-box-shadow: 1px 1px 2px #808080;
|
||||
// -moz-box-shadow: 1px 1px 2px #808080;
|
||||
// box-shadow: 1px 1px 2px #808080;
|
||||
// &:hover {
|
||||
// background: url(../default/media/images/small-button-blue.png) bottom repeat-x;
|
||||
// text-shadow: 0px 1px 0px #c6d9dd;
|
||||
// -moz-text-shadow: 0px 1px 0px #c6d9dd;
|
||||
// -webkit-text-shadow: 0px 1px 0px #c6d9dd; } }
|
||||
// .counter {
|
||||
// display: inline-block;
|
||||
// width: 245px;
|
||||
// float: right;
|
||||
// color: #b6a475 !important;
|
||||
// vertical-align: top;
|
||||
// font-family: arial;
|
||||
// float: right;
|
||||
// text-align: right; }
|
||||
// .comment {
|
||||
// border-bottom: 1px solid #edeeeb;
|
||||
// clear: both;
|
||||
// margin: 0;
|
||||
// margin-top: 8px;
|
||||
// padding-bottom: 4px;
|
||||
// overflow: auto;
|
||||
// font-family: arial;
|
||||
// font-size: 11px;
|
||||
// min-height: 25px;
|
||||
// background: white url(../default/media/images/comment-background.png) bottom repeat-x;
|
||||
// border-radius: 5px;
|
||||
// -ms-border-radius: 5px;
|
||||
// -moz-border-radius: 5px;
|
||||
// -webkit-border-radius: 5px;
|
||||
// -khtml-border-radius: 5px; }
|
||||
// div.comment:hover {
|
||||
// background-color: #efefef; }
|
||||
// a.author {
|
||||
// background-color: inherit;
|
||||
// color: #1b79bd;
|
||||
// padding: 0;
|
||||
// &:hover {
|
||||
// text-decoration: underline; } }
|
||||
// span.delete-icon {
|
||||
// background: url(../default/media/images/close-small.png) no-repeat;
|
||||
// border: 0;
|
||||
// width: 14px;
|
||||
// height: 14px;
|
||||
// &:hover {
|
||||
// border: #bc564b 2px solid;
|
||||
// border-radius: 10px;
|
||||
// -ms-border-radius: 10px;
|
||||
// -moz-border-radius: 10px;
|
||||
// -webkit-border-radius: 10px;
|
||||
// -khtml-border-radius: 10px;
|
||||
// margin: -3px 0px 0px -2px; } }
|
||||
// .content {
|
||||
// margin-bottom: 7px; }
|
||||
// .comment-votes {
|
||||
// float: left;
|
||||
// width: 37px;
|
||||
// line-height: 130%;
|
||||
// padding: 6px 5px 6px 3px; }
|
||||
// .comment-body {
|
||||
// line-height: 1.3;
|
||||
// margin: 3px 26px 0 46px;
|
||||
// padding: 5px 3px;
|
||||
// color: #666;
|
||||
// font-size: 13px;
|
||||
// .edit {
|
||||
// padding-left: 6px; }
|
||||
// p {
|
||||
// font-size: 13px;
|
||||
// line-height: 1.3;
|
||||
// margin-bottom: 3px;
|
||||
// padding: 0; } }
|
||||
// .comment-delete {
|
||||
// float: right;
|
||||
// width: 14px;
|
||||
// line-height: 130%;
|
||||
// padding: 8px 6px; }
|
||||
// .upvote {
|
||||
// margin: 0px;
|
||||
// padding-right: 17px;
|
||||
// padding-top: 2px;
|
||||
// text-align: right;
|
||||
// height: 20px;
|
||||
// font-size: 13px;
|
||||
// font-weight: bold;
|
||||
// color: #777;
|
||||
// &.upvoted {
|
||||
// color: #d64000; }
|
||||
// &.hover {
|
||||
// background: url(../default/media/images/go-up-grey.png) no-repeat;
|
||||
// background-position: right 1px; }
|
||||
// &:hover {
|
||||
// background: url(../default/media/images/go-up-orange.png) no-repeat;
|
||||
// background-position: right 1px; } }
|
||||
// .help-text {
|
||||
// float: right;
|
||||
// text-align: right;
|
||||
// color: gray;
|
||||
// margin-bottom: 0px;
|
||||
// margin-top: 0px;
|
||||
// line-height: 50%; } }
|
||||
// #questiontools {
|
||||
// font-size: 22px;
|
||||
// margin-top: 11px;
|
||||
// text-align: left; }
|
||||
// .question-status {
|
||||
// margin-top: 10px;
|
||||
// margin-bottom: 15px;
|
||||
// padding: 20px;
|
||||
// background-color: #fef7cc;
|
||||
// text-align: center;
|
||||
// border: #e1c04a 1px solid;
|
||||
// h3 {
|
||||
// font-size: 20px;
|
||||
// color: #707070;
|
||||
// font-weight: normal; } }
|
||||
// .vote-buttons {
|
||||
// // float: left;
|
||||
// // text-align: center;
|
||||
// // padding-top: 2px;
|
||||
// // margin: 10px 10px 0px 3px;
|
||||
// img {
|
||||
// cursor: pointer; } }
|
||||
// .vote-number {
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// padding: 0px 0 5px 0;
|
||||
// font-size: 25px;
|
||||
// font-weight: bold;
|
||||
// color: #777; }
|
||||
// .vote-buttons .notify-sidebar {
|
||||
// // text-align: left;
|
||||
// // width: 120px;
|
||||
// label {
|
||||
// vertical-align: top; } }
|
||||
// .tabbar-answer {
|
||||
// margin-bottom: 15px;
|
||||
// padding-left: 7px;
|
||||
// width: 723px;
|
||||
// margin-top: 10px; }
|
||||
// .answer .vote-buttons {
|
||||
// // float: left;
|
||||
// }
|
||||
// .accepted-answer {
|
||||
// background-color: #f7fecc;
|
||||
// border-bottom-color: #9bd59b;
|
||||
// // .vote-buttons {
|
||||
// // width: 27px;
|
||||
// // margin-right: 10px;
|
||||
// // margin-top: 10px; }
|
||||
// }
|
||||
// .answer .post-update-info a {
|
||||
// color: #444444; }
|
||||
// .answered {
|
||||
// background: #ccc;
|
||||
// color: #999; }
|
||||
// .answered-accepted {
|
||||
// background: #dcdcdc;
|
||||
// color: #763333;
|
||||
// strong {
|
||||
// color: #e1e818; } }
|
||||
// .answered-by-owner {
|
||||
// background: #f1f1ff;
|
||||
// .comments {
|
||||
// .button {
|
||||
// background-color: #e6ecff; }
|
||||
// background-color: #e6ecff; }
|
||||
// // .vote-buttons {
|
||||
// // margin-right: 10px; }
|
||||
// }
|
||||
// .answer-img-accept:hover {
|
||||
// background: url(../default/media/images/vote-accepted-on.png); }
|
||||
// .answer-body {
|
||||
// a {
|
||||
// color: #1b79bd; }
|
||||
// li {
|
||||
// margin-bottom: 0.7em; } }
|
||||
// #fmanswer {
|
||||
// color: #707070;
|
||||
// line-height: 1.2;
|
||||
// margin-top: 10px;
|
||||
// h2 {
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// color: #7ea9b3;
|
||||
// font-size: 24px; }
|
||||
// label {
|
||||
// font-size: 13px; } }
|
||||
// .message {
|
||||
// padding: 5px;
|
||||
// margin: 0px 0 10px 0; } }
|
||||
|
||||
// @media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
// textarea {
|
||||
// padding-left: 3px !important; } }
|
||||
|
||||
// .facebook-share.icon, .twitter-share.icon, .linkedin-share.icon, .identica-share.icon {
|
||||
// background: url(../default/media/images/socialsprite.png) no-repeat;
|
||||
// display: block;
|
||||
// text-indent: -100em;
|
||||
// height: 25px;
|
||||
// width: 25px;
|
||||
// margin-bottom: 3px; }
|
||||
|
||||
// .facebook-share.icon:hover, .twitter-share.icon:hover, .linkedin-share.icon:hover, .identica-share.icon:hover {
|
||||
// opacity: 0.8;
|
||||
// filter: alpha(opacity = 80); }
|
||||
|
||||
// .facebook-share.icon {
|
||||
// background-position: -26px 0px; }
|
||||
|
||||
// .identica-share.icon {
|
||||
// background-position: -78px 0px; }
|
||||
|
||||
// .twitter-share.icon {
|
||||
// margin-top: 10px;
|
||||
// background-position: 0px 0px; }
|
||||
|
||||
// .linkedin-share.icon {
|
||||
// background-position: -52px 0px; }
|
||||
|
||||
// .openid-signin, .meta, .users-page, .user-profile-edit-page {
|
||||
// font-size: 13px;
|
||||
// line-height: 1.3;
|
||||
// color: #525252; }
|
||||
|
||||
// .openid-signin p, .meta p, .users-page p, .user-profile-edit-page p {
|
||||
// font-size: 13px;
|
||||
// color: #707070;
|
||||
// line-height: 1.3;
|
||||
// font-family: arial;
|
||||
// color: #525252;
|
||||
// margin-bottom: 12px; }
|
||||
|
||||
// .openid-signin h2, .meta h2, .users-page h2, .user-profile-edit-page h2 {
|
||||
// color: #525252;
|
||||
// padding-left: 0px;
|
||||
// font-size: 16px; }
|
||||
|
||||
// .openid-signin form, .meta form, .users-page form, .user-profile-edit-page form, .user-profile-page form {
|
||||
// margin-bottom: 15px; }
|
||||
|
||||
// .openid-signin input[type="text"], .meta input[type="text"], .users-page input[type="text"], .user-profile-edit-page input[type="text"], .user-profile-page input[type="text"], .openid-signin input[type="password"], .meta input[type="password"], .users-page input[type="password"], .user-profile-edit-page input[type="password"], .user-profile-page input[type="password"], .openid-signin select, .meta select, .users-page select, .user-profile-edit-page select, .user-profile-page select {
|
||||
// border: #cce6ec 3px solid;
|
||||
// height: 25px;
|
||||
// padding-left: 5px;
|
||||
// width: 395px;
|
||||
// font-size: 14px; }
|
||||
|
||||
// .openid-signin select, .meta select, .users-page select, .user-profile-edit-page select, .user-profile-page select {
|
||||
// width: 405px;
|
||||
// height: 30px; }
|
||||
|
||||
// .openid-signin textarea, .meta textarea, .users-page textarea, .user-profile-edit-page textarea, .user-profile-page textarea {
|
||||
// border: #cce6ec 3px solid;
|
||||
// padding-left: 5px;
|
||||
// padding-top: 5px;
|
||||
// width: 395px;
|
||||
// font-size: 14px; }
|
||||
|
||||
// .openid-signin input.submit, .meta input.submit, .users-page input.submit, .user-profile-edit-page input.submit, .user-profile-page input.submit {
|
||||
// background: url(../default/media/images/small-button-blue.png) repeat-x top;
|
||||
// border: 0;
|
||||
// color: #4a757f;
|
||||
// font-weight: bold;
|
||||
// font-size: 13px;
|
||||
// font-family: arial;
|
||||
// height: 26px;
|
||||
// margin: 5px 0px;
|
||||
// width: 100px;
|
||||
// cursor: pointer;
|
||||
// border-radius: 4px;
|
||||
// -ms-border-radius: 4px;
|
||||
// -moz-border-radius: 4px;
|
||||
// -webkit-border-radius: 4px;
|
||||
// -khtml-border-radius: 4px;
|
||||
// text-shadow: 0px 1px 0px #e6f6fa;
|
||||
// -moz-text-shadow: 0px 1px 0px #e6f6fa;
|
||||
// -webkit-text-shadow: 0px 1px 0px #e6f6fa;
|
||||
// -webkit-box-shadow: 1px 1px 2px #808080;
|
||||
// -moz-box-shadow: 1px 1px 2px #808080;
|
||||
// box-shadow: 1px 1px 2px #808080; }
|
||||
|
||||
// .openid-signin input.submit:hover, .meta input.submit:hover, .users-page input.submit:hover, .user-profile-edit-page input.submit:hover, .user-profile-page input.submit:hover {
|
||||
// background: url(../default/media/images/small-button-blue.png) repeat-x bottom;
|
||||
// text-decoration: none; }
|
||||
|
||||
.openid-signin .cancel, .meta .cancel, .users-page .cancel, .user-profile-edit-page .cancel, .user-profile-page .cancel {
|
||||
background: url(../default/media/images/small-button-cancel.png) repeat-x top !important;
|
||||
color: #525252 !important; }
|
||||
|
||||
.openid-signin .cancel:hover, .meta .cancel:hover, .users-page .cancel:hover, .user-profile-edit-page .cancel:hover, .user-profile-page .cancel:hover {
|
||||
background: url(../default/media/images/small-button-cancel.png) repeat-x bottom !important; }
|
||||
|
||||
#email-input-fs, #local_login_buttons, #password-fs, #openid-fs {
|
||||
margin-top: 10px; }
|
||||
|
||||
#email-input-fs #id_email, #local_login_buttons #id_email, #password-fs #id_email, #openid-fs #id_email, #email-input-fs #id_username, #local_login_buttons #id_username, #password-fs #id_username, #openid-fs #id_username, #email-input-fs #id_password, #local_login_buttons #id_password, #password-fs #id_password, #openid-fs #id_password {
|
||||
font-size: 12px;
|
||||
line-height: 20px;
|
||||
height: 20px;
|
||||
margin: 0px;
|
||||
padding: 0px 0 0 5px;
|
||||
border: #cce6ec 3px solid;
|
||||
width: 200px; }
|
||||
|
||||
#email-input-fs .submit-b, #local_login_buttons .submit-b, #password-fs .submit-b, #openid-fs .submit-b {
|
||||
background: url(../default/media/images/small-button-blue.png) repeat-x top;
|
||||
border: 0;
|
||||
color: #4a757f;
|
||||
font-weight: bold;
|
||||
font-size: 13px;
|
||||
font-family: arial;
|
||||
height: 24px;
|
||||
margin-top: -2px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
cursor: pointer;
|
||||
border-radius: 4px;
|
||||
-ms-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
-khtml-border-radius: 4px;
|
||||
text-shadow: 0px 1px 0px #e6f6fa;
|
||||
-moz-text-shadow: 0px 1px 0px #e6f6fa;
|
||||
-webkit-text-shadow: 0px 1px 0px #e6f6fa;
|
||||
-webkit-box-shadow: 1px 1px 2px #808080;
|
||||
-moz-box-shadow: 1px 1px 2px #808080;
|
||||
box-shadow: 1px 1px 2px #808080; }
|
||||
|
||||
#email-input-fs .submit-b:hover, #local_login_buttons .submit-b:hover, #password-fs .submit-b:hover, #openid-fs .submit-b:hover {
|
||||
background: url(../default/media/images/small-button-blue.png) repeat-x bottom; }
|
||||
|
||||
.openid-input {
|
||||
background: url(../default/media/images/openid.gif) no-repeat;
|
||||
padding-left: 15px;
|
||||
cursor: pointer; }
|
||||
|
||||
.openid-login-input {
|
||||
background-position: center left;
|
||||
background: url(../default/media/images/openid.gif) no-repeat 0% 50%;
|
||||
padding: 5px 5px 5px 15px;
|
||||
cursor: pointer;
|
||||
font-family: trebuchet ms;
|
||||
font-weight: 300;
|
||||
font-size: 150%;
|
||||
width: 500px; }
|
||||
|
||||
.openid-login-submit {
|
||||
height: 40px;
|
||||
width: 80px;
|
||||
line-height: 40px;
|
||||
cursor: pointer;
|
||||
border: 1px solid #777;
|
||||
font-weight: bold;
|
||||
font-size: 120%; }
|
||||
|
||||
.tabbar-user {
|
||||
width: 375px; }
|
||||
|
||||
// .user {
|
||||
// padding: 5px;
|
||||
// line-height: 140%;
|
||||
// width: 166px;
|
||||
// border: #eee 1px solid;
|
||||
// margin-bottom: 5px;
|
||||
// border-radius: 3px;
|
||||
// -ms-border-radius: 3px;
|
||||
// -moz-border-radius: 3px;
|
||||
// -webkit-border-radius: 3px;
|
||||
// -khtml-border-radius: 3px;
|
||||
// .user-micro-info {
|
||||
// color: #525252; }
|
||||
// ul {
|
||||
// margin: 0;
|
||||
// list-style-type: none; }
|
||||
// .thumb {
|
||||
// clear: both;
|
||||
// float: left;
|
||||
// margin-right: 4px;
|
||||
// display: inline; } }
|
||||
|
||||
// .tabbar-tags {
|
||||
// width: 270px;
|
||||
// margin-bottom: 15px; }
|
||||
|
||||
// a {
|
||||
// &.medal {
|
||||
// font-size: 17px;
|
||||
// line-height: 250%;
|
||||
// margin-right: 5px;
|
||||
// color: #333;
|
||||
// text-decoration: none;
|
||||
// background: url(../default/media/images/medala.gif) no-repeat;
|
||||
// border-left: 1px solid #eee;
|
||||
// border-top: 1px solid #eee;
|
||||
// border-bottom: 1px solid #ccc;
|
||||
// border-right: 1px solid #ccc;
|
||||
// padding: 4px 12px 4px 6px; }
|
||||
// &:hover.medal {
|
||||
// color: #333;
|
||||
// text-decoration: none;
|
||||
// background: url(../default/media/images/medala_on.gif) no-repeat;
|
||||
// border-left: 1px solid #e7e296;
|
||||
// border-top: 1px solid #e7e296;
|
||||
// border-bottom: 1px solid #d1ca3d;
|
||||
// border-right: 1px solid #d1ca3d; } }
|
||||
|
||||
#award-list .user {
|
||||
float: left;
|
||||
margin: 5px; }
|
||||
|
||||
.tabbar-profile {
|
||||
width: 100%;
|
||||
margin-bottom: 15px;
|
||||
float: left; }
|
||||
|
||||
// .user-profile-page {
|
||||
// font-size: 13px;
|
||||
// color: #525252;
|
||||
// p {
|
||||
// font-size: 13px;
|
||||
// line-height: 1.3;
|
||||
// color: #525252; }
|
||||
// .avatar img {
|
||||
// border: #eee 1px solid;
|
||||
// padding: 5px; }
|
||||
// h2 {
|
||||
// padding: 10px 0px 10px 0px;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif; } }
|
||||
|
||||
.user-details {
|
||||
font-size: 13px;
|
||||
h3 {
|
||||
font-size: 16px; } }
|
||||
|
||||
.user-about {
|
||||
background-color: #eeeeee;
|
||||
height: 200px;
|
||||
line-height: 20px;
|
||||
overflow: auto;
|
||||
padding: 10px;
|
||||
width: 90%;
|
||||
p {
|
||||
font-size: 13px; } }
|
||||
|
||||
// .follow-toggle, .submit {
|
||||
// border: 0 !important;
|
||||
// color: #4a757f;
|
||||
// font-weight: bold;
|
||||
// font-size: 12px;
|
||||
// height: 26px;
|
||||
// line-height: 26px;
|
||||
// margin-top: -2px;
|
||||
// font-size: 15px;
|
||||
// cursor: pointer;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// background: url(../default/media/images/small-button-blue.png) repeat-x top;
|
||||
// border-radius: 4px;
|
||||
// -ms-border-radius: 4px;
|
||||
// -moz-border-radius: 4px;
|
||||
// -webkit-border-radius: 4px;
|
||||
// -khtml-border-radius: 4px;
|
||||
// text-shadow: 0px 1px 0px #e6f6fa;
|
||||
// -moz-text-shadow: 0px 1px 0px #e6f6fa;
|
||||
// -webkit-text-shadow: 0px 1px 0px #e6f6fa;
|
||||
// -webkit-box-shadow: 1px 1px 2px #808080;
|
||||
// -moz-box-shadow: 1px 1px 2px #808080;
|
||||
// box-shadow: 1px 1px 2px #808080; }
|
||||
|
||||
// .follow-toggle:hover, .submit:hover {
|
||||
// background: url(../default/media/images/small-button-blue.png) repeat-x bottom;
|
||||
// text-decoration: none !important; }
|
||||
|
||||
// .follow-toggle {
|
||||
// .follow {
|
||||
// font-color: #000;
|
||||
// font-style: normal; }
|
||||
// .unfollow {
|
||||
// div.unfollow-red {
|
||||
// display: none; }
|
||||
// &:hover div {
|
||||
// &.unfollow-red {
|
||||
// display: inline;
|
||||
// color: #fff;
|
||||
// font-weight: bold;
|
||||
// color: #a05736; }
|
||||
// &.unfollow-green {
|
||||
// display: none; } } } }
|
||||
|
||||
.count {
|
||||
font-family: 'yanone kaffeesatz',sans-serif;
|
||||
font-size: 200%;
|
||||
font-weight: 700;
|
||||
color: #777777; }
|
||||
|
||||
.scorenumber {
|
||||
font-family: 'yanone kaffeesatz',sans-serif;
|
||||
font-size: 35px;
|
||||
font-weight: 800;
|
||||
color: #777;
|
||||
line-height: 40px;
|
||||
margin-top: 3px; }
|
||||
|
||||
.vote-count {
|
||||
font-family: arial;
|
||||
font-size: 160%;
|
||||
font-weight: 700;
|
||||
color: #777; }
|
||||
|
||||
// .answer-summary {
|
||||
// display: block;
|
||||
// clear: both;
|
||||
// padding: 3px; }
|
||||
|
||||
.answer-votes {
|
||||
background-color: #eeeeee;
|
||||
color: #555555;
|
||||
float: left;
|
||||
font-family: arial;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
height: 17px;
|
||||
padding: 2px 4px 5px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
width: 20px;
|
||||
margin-right: 10px;
|
||||
border-radius: 4px;
|
||||
-ms-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
-khtml-border-radius: 4px; }
|
||||
|
||||
.karma-summary {
|
||||
padding: 5px;
|
||||
font-size: 13px;
|
||||
h3 {
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
padding: 5px; } }
|
||||
|
||||
.karma-diagram {
|
||||
width: 477px;
|
||||
height: 300px;
|
||||
float: left;
|
||||
margin-right: 10px; }
|
||||
|
||||
.karma-details {
|
||||
float: right;
|
||||
width: 450px;
|
||||
height: 250px;
|
||||
overflow-y: auto;
|
||||
word-wrap: break-word;
|
||||
p {
|
||||
margin-bottom: 10px; } }
|
||||
|
||||
.karma-gained {
|
||||
font-weight: bold;
|
||||
background: #eee;
|
||||
width: 25px;
|
||||
margin-right: 5px;
|
||||
color: green;
|
||||
padding: 3px;
|
||||
display: block;
|
||||
float: left;
|
||||
text-align: center;
|
||||
border-radius: 3px;
|
||||
-ms-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
-khtml-border-radius: 3px; }
|
||||
|
||||
.karma-lost {
|
||||
font-weight: bold;
|
||||
background: #eee;
|
||||
width: 25px;
|
||||
color: red;
|
||||
padding: 3px;
|
||||
display: block;
|
||||
margin-right: 5px;
|
||||
float: left;
|
||||
text-align: center;
|
||||
border-radius: 3px;
|
||||
-ms-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
-khtml-border-radius: 3px; }
|
||||
|
||||
.submit-row {
|
||||
margin-bottom: 10px; }
|
||||
|
||||
.revision {
|
||||
margin: 10px 0 10px 0;
|
||||
font-size: 13px;
|
||||
color: #525252;
|
||||
p {
|
||||
font-size: 13px;
|
||||
line-height: 1.3;
|
||||
color: #525252; }
|
||||
h3 {
|
||||
font-family: 'yanone kaffeesatz',sans-serif;
|
||||
font-size: 21px;
|
||||
padding-left: 0px; }
|
||||
.header {
|
||||
background-color: #f5f5f5;
|
||||
padding: 5px;
|
||||
cursor: pointer; }
|
||||
.author {
|
||||
background-color: #e9f3f5; }
|
||||
.summary {
|
||||
padding: 5px 0 10px 0;
|
||||
span {
|
||||
background-color: #fde785;
|
||||
padding: 6px;
|
||||
border-radius: 4px;
|
||||
-ms-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
-khtml-border-radius: 4px;
|
||||
display: inline;
|
||||
-webkit-box-shadow: 1px 1px 4px #cfb852;
|
||||
-moz-box-shadow: 1px 1px 4px #cfb852;
|
||||
box-shadow: 1px 1px 4px #cfb852; } }
|
||||
.answerbody {
|
||||
padding: 10px 0 5px 10px; }
|
||||
.revision-mark {
|
||||
width: 150px;
|
||||
text-align: left;
|
||||
display: inline-block;
|
||||
font-size: 11px;
|
||||
overflow: hidden;
|
||||
.gravatar {
|
||||
float: left;
|
||||
margin-right: 4px;
|
||||
padding-top: 5px; } }
|
||||
.revision-number {
|
||||
font-size: 300%;
|
||||
font-weight: bold;
|
||||
font-family: sans-serif; } }
|
||||
|
||||
// del {
|
||||
// color: #c34719;
|
||||
// .post-tag {
|
||||
// color: #c34719; } }
|
||||
|
||||
ins {
|
||||
.post-tag, p {
|
||||
background-color: #e6f0a2; }
|
||||
background-color: #e6f0a2; }
|
||||
|
||||
// .vote-notification {
|
||||
// z-index: 1;
|
||||
// cursor: pointer;
|
||||
// display: none;
|
||||
// position: absolute;
|
||||
// font-family: arial;
|
||||
// font-size: 14px;
|
||||
// font-weight: normal;
|
||||
// color: white;
|
||||
// background-color: #8e0000;
|
||||
// text-align: center;
|
||||
// padding-bottom: 10px;
|
||||
// -webkit-box-shadow: 0px 2px 4px #370000;
|
||||
// -moz-box-shadow: 0px 2px 4px #370000;
|
||||
// box-shadow: 0px 2px 4px #370000;
|
||||
// border-radius: 4px;
|
||||
// -ms-border-radius: 4px;
|
||||
// -moz-border-radius: 4px;
|
||||
// -webkit-border-radius: 4px;
|
||||
// -khtml-border-radius: 4px;
|
||||
// h3 {
|
||||
// background: url(../default/media/images/notification.png) repeat-x top;
|
||||
// padding: 10px 10px 10px 10px;
|
||||
// font-size: 13px;
|
||||
// margin-bottom: 5px;
|
||||
// border-top: #8e0000 1px solid;
|
||||
// color: #fff;
|
||||
// font-weight: normal;
|
||||
// border-top-right-radius: 4px;
|
||||
// border-top-left-radius: 4px;
|
||||
// -moz-border-radius-topright: 4px;
|
||||
// -moz-border-radius-topleft: 4px;
|
||||
// -webkit-border-top-left-radius: 4px;
|
||||
// -webkit-border-top-right-radius: 4px; }
|
||||
// a {
|
||||
// color: #fb7321;
|
||||
// text-decoration: underline;
|
||||
// font-weight: bold; } }
|
||||
|
||||
// #ground {
|
||||
// width: 100%;
|
||||
// clear: both;
|
||||
// border-top: 1px solid #000;
|
||||
// padding: 6px 0 0 0;
|
||||
// background: #16160f;
|
||||
// font-size: 16px;
|
||||
// font-family: 'yanone kaffeesatz',sans-serif;
|
||||
// p {
|
||||
// margin-bottom: 0; } }
|
||||
|
||||
.footer-links {
|
||||
color: #eee;
|
||||
text-align: left;
|
||||
width: 500px;
|
||||
float: left;
|
||||
a {
|
||||
color: #e7e8a8; } }
|
||||
|
||||
.powered-link {
|
||||
width: 500px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
a {
|
||||
color: #8ebcc7; } }
|
||||
|
||||
.copyright {
|
||||
color: #616161;
|
||||
width: 450px;
|
||||
float: right;
|
||||
text-align: right;
|
||||
a {
|
||||
color: #8ebcc7; }
|
||||
img.license-logo {
|
||||
margin: 6px 0px 20px 10px;
|
||||
float: right; } }
|
||||
|
||||
.notify-me {
|
||||
float: left; }
|
||||
|
||||
span {
|
||||
&.text-counter {
|
||||
margin-right: 20px; }
|
||||
// &.form-error {
|
||||
// color: #990000;
|
||||
// font-weight: normal;
|
||||
// margin-left: 5px; }
|
||||
}
|
||||
|
||||
p.form-item {
|
||||
margin: 0px; }
|
||||
|
||||
// .deleted {
|
||||
// background: #f4e7e7 none repeat scroll 0 0; }
|
||||
|
||||
.form-row {
|
||||
line-height: 25px; }
|
||||
|
||||
table {
|
||||
&.form-as-table {
|
||||
margin-top: 5px;
|
||||
ul {
|
||||
list-style-type: none;
|
||||
display: inline; }
|
||||
li {
|
||||
display: inline; }
|
||||
td {
|
||||
text-align: right; }
|
||||
th {
|
||||
text-align: left;
|
||||
font-weight: normal; } }
|
||||
&.ab-subscr-form, &.ab-tag-filter-form {
|
||||
width: 45em; } }
|
||||
|
||||
.submit-row {
|
||||
line-height: 30px;
|
||||
padding-top: 10px;
|
||||
display: block;
|
||||
clear: both; }
|
||||
|
||||
.errors {
|
||||
line-height: 20px;
|
||||
color: red; }
|
||||
|
||||
.error {
|
||||
color: darkred;
|
||||
margin: 0;
|
||||
font-size: 10px; }
|
||||
|
||||
label.retag-error {
|
||||
color: darkred;
|
||||
padding-left: 5px;
|
||||
font-size: 10px; }
|
||||
|
||||
.fieldset {
|
||||
border: none;
|
||||
margin-top: 10px;
|
||||
padding: 10px; }
|
||||
|
||||
// span.form-error {
|
||||
// color: #990000;
|
||||
// font-size: 90%;
|
||||
// font-weight: normal;
|
||||
// margin-left: 5px; }
|
||||
|
||||
.favorites-empty {
|
||||
width: 32px;
|
||||
height: 45px;
|
||||
float: left; }
|
||||
|
||||
.user-info-table {
|
||||
margin-bottom: 10px;
|
||||
border-spacing: 0; }
|
||||
|
||||
.user-stats-table .narrow {
|
||||
width: 660px; }
|
||||
|
||||
.narrow .summary h3 {
|
||||
padding: 0px;
|
||||
margin: 0px; }
|
||||
|
||||
.relativetime {
|
||||
font-weight: bold;
|
||||
text-decoration: none; }
|
||||
|
||||
// .narrow .tags {
|
||||
// float: left; }
|
||||
|
||||
.user-action-1 {
|
||||
font-weight: bold;
|
||||
color: #333; }
|
||||
|
||||
.user-action-2 {
|
||||
font-weight: bold;
|
||||
color: #ccc; }
|
||||
|
||||
.user-action-3, .user-action-4 {
|
||||
color: #333; }
|
||||
|
||||
.user-action-5, .user-action-6 {
|
||||
color: darkred; }
|
||||
|
||||
.user-action-7 {
|
||||
color: #333; }
|
||||
|
||||
.user-action-8 {
|
||||
padding: 3px;
|
||||
font-weight: bold;
|
||||
background-color: #ccc;
|
||||
color: #763333; }
|
||||
|
||||
.revision-summary {
|
||||
background-color: #fffe9b;
|
||||
padding: 2px; }
|
||||
|
||||
.question-title-link a {
|
||||
font-weight: bold;
|
||||
color: #0077cc; }
|
||||
|
||||
.answer-title-link a {
|
||||
color: #333; }
|
||||
|
||||
.post-type-1 a, .post-type-3 a, .post-type-5 a {
|
||||
font-weight: bold; }
|
||||
|
||||
.post-type-2 a, .post-type-4 a, .post-type-6 a, .post-type-8 a {
|
||||
color: #333; }
|
||||
|
||||
.hilite, .hilite1 {
|
||||
background-color: #ff0; }
|
||||
|
||||
.hilite2 {
|
||||
background-color: #f0f; }
|
||||
|
||||
.hilite3 {
|
||||
background-color: #0ff; }
|
||||
|
||||
// .gold, .badge1 {
|
||||
// color: #ffcc00; }
|
||||
|
||||
// .silver, .badge2 {
|
||||
// color: #cccccc; }
|
||||
|
||||
// .bronze, .badge3 {
|
||||
// color: #cc9933; }
|
||||
|
||||
.score {
|
||||
font-weight: 800;
|
||||
color: #333; }
|
||||
|
||||
a {
|
||||
&.comment {
|
||||
background: #eee;
|
||||
color: #993300;
|
||||
padding: 5px; }
|
||||
&.offensive {
|
||||
color: #999; } }
|
||||
|
||||
.message {
|
||||
h1 {
|
||||
padding-top: 0px;
|
||||
font-size: 15px; }
|
||||
p {
|
||||
margin-bottom: 0px; } }
|
||||
|
||||
p.space-above {
|
||||
margin-top: 10px; }
|
||||
|
||||
.warning {
|
||||
color: red; }
|
||||
|
||||
button::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border: none; }
|
||||
|
||||
// .submit {
|
||||
// cursor: pointer;
|
||||
// background-color: #d4d0c8;
|
||||
// height: 30px;
|
||||
// border: 1px solid #777777;
|
||||
// font-weight: bold;
|
||||
// font-size: 120%;
|
||||
// &:hover {
|
||||
// text-decoration: underline; }
|
||||
// &.small {
|
||||
// margin-right: 5px;
|
||||
// height: 20px;
|
||||
// font-weight: normal;
|
||||
// font-size: 12px;
|
||||
// padding: 1px 5px;
|
||||
// &:hover {
|
||||
// text-decoration: none; } } }
|
||||
|
||||
.question-page a.submit {
|
||||
display: -moz-inline-stack;
|
||||
display: inline-block;
|
||||
line-height: 30px;
|
||||
padding: 0 5px;
|
||||
*display: inline; }
|
||||
|
||||
.noscript {
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
padding: 5px 0;
|
||||
text-align: center;
|
||||
font-family: sans-serif;
|
||||
font-size: 120%;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
background-color: #ae0000; }
|
||||
|
||||
.big {
|
||||
font-size: 14px; }
|
||||
|
||||
.strong {
|
||||
font-weight: bold; }
|
||||
|
||||
.orange {
|
||||
color: #d64000;
|
||||
font-weight: bold; }
|
||||
|
||||
.grey {
|
||||
color: #808080; }
|
||||
|
||||
.about div {
|
||||
padding: 10px 5px 10px 5px;
|
||||
border-top: 1px dashed #aaaaaa; }
|
||||
|
||||
.highlight {
|
||||
background-color: #fff8c6; }
|
||||
|
||||
.nomargin {
|
||||
margin: 0; }
|
||||
|
||||
.margin-bottom {
|
||||
margin-bottom: 10px; }
|
||||
|
||||
.margin-top {
|
||||
margin-top: 10px; }
|
||||
|
||||
.inline-block {
|
||||
display: inline-block; }
|
||||
|
||||
.action-status {
|
||||
margin: 0;
|
||||
border: none;
|
||||
text-align: center;
|
||||
line-height: 10px;
|
||||
font-size: 12px;
|
||||
padding: 0;
|
||||
span {
|
||||
padding: 3px 5px 3px 5px;
|
||||
background-color: #fff380;
|
||||
font-weight: normal;
|
||||
-moz-border-radius: 5px;
|
||||
-khtml-border-radius: 5px;
|
||||
-webkit-border-radius: 5px; } }
|
||||
|
||||
.list-table td {
|
||||
vertical-align: top; }
|
||||
|
||||
table.form-as-table {
|
||||
.errorlist {
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 0 0 0 5px;
|
||||
text-align: left;
|
||||
font-size: 10px;
|
||||
color: darkred; }
|
||||
input {
|
||||
display: inline;
|
||||
margin-left: 4px; }
|
||||
th {
|
||||
vertical-align: bottom;
|
||||
padding-bottom: 4px; } }
|
||||
|
||||
.form-row-vertical {
|
||||
margin-top: 8px;
|
||||
display: block;
|
||||
label {
|
||||
margin-bottom: 3px;
|
||||
display: block; } }
|
||||
|
||||
.text-align-right {
|
||||
text-align: center; }
|
||||
|
||||
ul.form-horizontal-rows {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
li {
|
||||
position: relative;
|
||||
height: 40px; }
|
||||
label {
|
||||
display: inline-block; }
|
||||
ul.errorlist {
|
||||
list-style: none;
|
||||
color: darkred;
|
||||
font-size: 10px;
|
||||
line-height: 10px;
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
left: 180px;
|
||||
text-align: left;
|
||||
margin: 0;
|
||||
li {
|
||||
height: 10px; } }
|
||||
label {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
bottom: 6px;
|
||||
margin: 0px;
|
||||
line-height: 12px;
|
||||
font-size: 12px; }
|
||||
li input {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
left: 180px;
|
||||
margin: 0px; } }
|
||||
|
||||
.narrow .summary {
|
||||
float: left; }
|
||||
|
||||
.user-profile-tool-links {
|
||||
font-weight: bold;
|
||||
vertical-align: top; }
|
||||
|
||||
// ul {
|
||||
// &.post-tags {
|
||||
// margin-left: 3px;
|
||||
// li {
|
||||
// margin-top: 4px;
|
||||
// margin-bottom: 3px; } }
|
||||
// &.post-retag {
|
||||
// margin-bottom: 0px;
|
||||
// margin-left: 5px; } }
|
||||
|
||||
// #question-controls .tags {
|
||||
// margin: 0 0 3px 0; }
|
||||
|
||||
// #tagselector {
|
||||
// padding-bottom: 2px;
|
||||
// margin-bottom: 0; }
|
||||
|
||||
// #related-tags {
|
||||
// padding-left: 3px; }
|
||||
|
||||
#hideignoredtagscontrol {
|
||||
margin: 5px 0 0 0;
|
||||
label {
|
||||
font-size: 12px;
|
||||
color: #666; } }
|
||||
|
||||
#hideignoredtagscb {
|
||||
margin: 0 2px 0 1px; }
|
||||
|
||||
#recaptcha_widget_div {
|
||||
width: 318px;
|
||||
float: left;
|
||||
clear: both; }
|
||||
|
||||
p.signup_p {
|
||||
margin: 20px 0px 0px 0px; }
|
||||
|
||||
.simple-subscribe-options ul {
|
||||
list-style: none;
|
||||
list-style-position: outside;
|
||||
margin: 0; }
|
||||
|
||||
.wmd-preview {
|
||||
a {
|
||||
color: #1b79bd; }
|
||||
li {
|
||||
margin-bottom: 7px;
|
||||
font-size: 14px; } }
|
||||
|
||||
// .search-result-summary {
|
||||
// font-weight: bold;
|
||||
// font-size: 18px;
|
||||
// line-height: 22px;
|
||||
// margin: 0px 0px 0px 0px;
|
||||
// padding: 2px 0 0 0;
|
||||
// float: left; }
|
||||
|
||||
.faq-rep-item {
|
||||
text-align: right;
|
||||
padding-right: 5px; }
|
||||
|
||||
.user-info-table .gravatar {
|
||||
margin: 0; }
|
||||
|
||||
#responses {
|
||||
clear: both;
|
||||
line-height: 18px;
|
||||
margin-bottom: 15px;
|
||||
div.face {
|
||||
float: left;
|
||||
text-align: center;
|
||||
width: 54px;
|
||||
padding: 3px;
|
||||
overflow: hidden; } }
|
||||
|
||||
.response-parent {
|
||||
margin-top: 18px;
|
||||
strong {
|
||||
font-size: 20px; } }
|
||||
|
||||
.re {
|
||||
min-height: 57px;
|
||||
clear: both;
|
||||
margin-top: 10px; }
|
||||
|
||||
#responses input {
|
||||
float: left; }
|
||||
|
||||
#re_tools {
|
||||
margin-bottom: 10px; }
|
||||
|
||||
#re_sections {
|
||||
margin-bottom: 6px;
|
||||
.on {
|
||||
font-weight: bold; } }
|
||||
|
||||
.avatar-page {
|
||||
ul {
|
||||
list-style: none; }
|
||||
li {
|
||||
display: inline; } }
|
||||
|
||||
// .user-profile-page {
|
||||
// .avatar p {
|
||||
// margin-bottom: 0px; }
|
||||
// .tabbar a#stats {
|
||||
// margin-left: 0; }
|
||||
// img.gravatar {
|
||||
// margin: 2px 0 3px 0; }
|
||||
// h3 {
|
||||
// padding: 0;
|
||||
// margin-top: -3px; } }
|
||||
|
||||
.userlist {
|
||||
font-size: 13px; }
|
||||
|
||||
img.flag {
|
||||
border: 1px solid #eee;
|
||||
vertical-align: text-top; }
|
||||
|
||||
.main-page img.flag {
|
||||
vertical-align: text-bottom; }
|
||||
|
||||
a.edit {
|
||||
padding-left: 3px;
|
||||
color: #145bff; }
|
||||
|
||||
.str {
|
||||
color: #080; }
|
||||
|
||||
.kwd {
|
||||
color: #008; }
|
||||
|
||||
.com {
|
||||
color: #800; }
|
||||
|
||||
.typ {
|
||||
color: #606; }
|
||||
|
||||
.lit {
|
||||
color: #066; }
|
||||
|
||||
.pun {
|
||||
color: #660; }
|
||||
|
||||
.pln {
|
||||
color: #000; }
|
||||
|
||||
// .tag {
|
||||
// color: #008; }
|
||||
|
||||
.atn {
|
||||
color: #606; }
|
||||
|
||||
.atv {
|
||||
color: #080; }
|
||||
|
||||
.dec {
|
||||
color: #606; }
|
||||
|
||||
pre.prettyprint {
|
||||
clear: both;
|
||||
padding: 3px;
|
||||
border: 0px solid #888; }
|
||||
|
||||
// @media print {
|
||||
// .str {
|
||||
// color: #060; }
|
||||
// .kwd {
|
||||
// color: #006;
|
||||
// font-weight: bold; }
|
||||
// .com {
|
||||
// color: #600;
|
||||
// font-style: italic; }
|
||||
// .typ {
|
||||
// color: #404;
|
||||
// font-weight: bold; }
|
||||
// .lit {
|
||||
// color: #044; }
|
||||
// .pun {
|
||||
// color: #440; }
|
||||
// .pln {
|
||||
// color: #000; }
|
||||
// .tag {
|
||||
// color: #006;
|
||||
// font-weight: bold; }
|
||||
// .atn {
|
||||
// color: #404; }
|
||||
// .atv {
|
||||
// color: #060; } }
|
||||
@@ -1,88 +0,0 @@
|
||||
// Style for the user badge list (can be accessed by clicking "View all MIT badges" in the badge section of the Askbot user profile
|
||||
|
||||
div.badges-intro {
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
div.badge-intro {
|
||||
@extend .badges-intro;
|
||||
|
||||
.badge1, .badge2, .badge3 {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
div#award-list{
|
||||
li.username {
|
||||
font-size: 20px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
ul.badge-list {
|
||||
padding-left: 0;
|
||||
|
||||
li.badge {
|
||||
border-bottom: 1px solid #eee;
|
||||
@extend .clearfix;
|
||||
list-style: none;
|
||||
padding: 10px 0;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
div.check {
|
||||
float:right;
|
||||
min-width:flex-grid(1,9);
|
||||
text-align:right;
|
||||
|
||||
span {
|
||||
font-size:19px;
|
||||
padding-right:5px;
|
||||
color:green;
|
||||
}
|
||||
}
|
||||
div.badge-name {
|
||||
float:left;
|
||||
width:flex-grid(3,9);
|
||||
|
||||
span {
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
float:left;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.gold, .badge1 {
|
||||
color: #ffcc00;
|
||||
}
|
||||
|
||||
.silver, .badge2 {
|
||||
color: #cccccc;
|
||||
}
|
||||
|
||||
.bronze, .badge3 {
|
||||
color: #cc9933;
|
||||
}
|
||||
|
||||
div.discussion-wrapper aside {
|
||||
div.badge-desc {
|
||||
border-top: 0;
|
||||
|
||||
> div {
|
||||
margin-bottom: 20px;
|
||||
span {
|
||||
font-size: 18px;
|
||||
@include border-radius(10px);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
// Generic layout styles for the discussion forums
|
||||
body.askbot {
|
||||
section.container {
|
||||
div.discussion-wrapper {
|
||||
@extend .table-wrapper;
|
||||
display: table;
|
||||
|
||||
div.discussion-content {
|
||||
@include box-sizing(border-box);
|
||||
display: table-cell;
|
||||
min-width: 650px;
|
||||
padding: 40px;
|
||||
width: flex-grid(9) + flex-gutter();
|
||||
|
||||
|
||||
a.tabula-rasa, .tabula-rasa{
|
||||
@extend .light-button;
|
||||
@include border-radius(5px);
|
||||
display: block;
|
||||
margin: 10px auto;
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
width: flex-grid(5);
|
||||
text-decoration: none;
|
||||
color: #888;
|
||||
font-weight: bold;
|
||||
|
||||
&:first-child {
|
||||
margin-top: 70px;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 70px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Autocomplete
|
||||
.acInput {
|
||||
width: 200px;
|
||||
}
|
||||
.acResults {
|
||||
background-color: #fff;
|
||||
border: 1px solid #ababab;
|
||||
overflow: hidden;
|
||||
padding: 0px;
|
||||
@include box-shadow(0 2px 2px #bbb);
|
||||
|
||||
ul {
|
||||
list-style-position: outside;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
li {
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
font: menu;
|
||||
margin: 0px;
|
||||
overflow: hidden;
|
||||
padding: 5px 10px;
|
||||
text-align: left;
|
||||
border-top: 1px solid #eee;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.acLoading {
|
||||
background : url('../default/media/images/indicator.gif') right center no-repeat;
|
||||
}
|
||||
|
||||
.acSelect {
|
||||
background-color: $pink;
|
||||
color: #fff;
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
// Styles for the WYSIWYG question/answer editor
|
||||
|
||||
.wmd-panel
|
||||
{
|
||||
}
|
||||
|
||||
#wmd-button-bar {
|
||||
border: 1px solid #ddd;
|
||||
height:36px;
|
||||
float:left;
|
||||
width:99%;
|
||||
}
|
||||
|
||||
#wmd-input {
|
||||
height: 500px;
|
||||
background-color: Gainsboro;
|
||||
border: 1px solid DarkGray;
|
||||
margin-top: -20px;
|
||||
}
|
||||
|
||||
#wmd-preview {
|
||||
background-color: LightSkyBlue;
|
||||
}
|
||||
|
||||
#wmd-output {
|
||||
background-color: Pink;
|
||||
}
|
||||
|
||||
#wmd-button-row {
|
||||
position: relative;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
margin-bottom: 0px;
|
||||
margin-top: 10px;
|
||||
padding: 0px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.wmd-spacer {
|
||||
width: 1px;
|
||||
height: 20px;
|
||||
margin-left: 14px;
|
||||
position: absolute;
|
||||
background-color: Silver;
|
||||
display: inline-block;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.wmd-button {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
position: absolute;
|
||||
background-image: url(../images/askbot/wmd-buttons.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 0px;
|
||||
display: inline-block;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.wmd-button > a {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
|
||||
/* sprite button slicing style information */
|
||||
#wmd-bold-button {left: 0px; background-position: 0px 0;}
|
||||
#wmd-italic-button {left: 25px; background-position: -20px 0;}
|
||||
#wmd-spacer1 {left: 50px;}
|
||||
#wmd-link-button {left: 75px; background-position: -40px 0;}
|
||||
#wmd-quote-button {left: 100px; background-position: -60px 0;}
|
||||
#wmd-code-button {left: 125px; background-position: -80px 0;}
|
||||
#wmd-image-button {left: 150px; background-position: -100px 0;}
|
||||
#wmd-attachment-button {left: 175px; background-position: -120px 0;}
|
||||
#wmd-spacer2 {left: 200px;}
|
||||
#wmd-olist-button {left: 225px; background-position: -140px 0;}
|
||||
#wmd-ulist-button {left: 250px; background-position: -160px 0;}
|
||||
#wmd-heading-button {left: 275px; background-position: -180px 0;}
|
||||
#wmd-hr-button {left: 300px; background-position: -200px 0;}
|
||||
#wmd-spacer3 {left: 325px;}
|
||||
#wmd-undo-button {left: 350px; background-position: -220px 0;}
|
||||
#wmd-redo-button {left: 375px; background-position: -240px 0;}
|
||||
#wmd-help-button {right: 0px; background-position: -260px 0;}
|
||||
|
||||
|
||||
.wmd-prompt-background
|
||||
{
|
||||
background-color: Black;
|
||||
}
|
||||
|
||||
.wmd-prompt-dialog
|
||||
{
|
||||
border: 1px solid #999999;
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.wmd-prompt-dialog > div {
|
||||
font-size: 1em;
|
||||
font-family: arial, helvetica, sans-serif;
|
||||
}
|
||||
|
||||
|
||||
.wmd-prompt-dialog > form > input[type="text"] {
|
||||
border: 1px solid #999999;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.wmd-prompt-dialog > form > input[type="button"]{
|
||||
border: 1px solid #888888;
|
||||
font-family: trebuchet MS, helvetica, sans-serif;
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
// Styles for different forms in the system
|
||||
|
||||
form.answer-form {
|
||||
@include box-sizing(border-box);
|
||||
border-top: 1px solid #ddd;
|
||||
overflow: hidden;
|
||||
padding-left: flex-grid(1.1);
|
||||
padding-top: lh();
|
||||
|
||||
p {
|
||||
margin-bottom: lh();
|
||||
}
|
||||
|
||||
textarea {
|
||||
@include box-sizing(border-box);
|
||||
margin-top: 15px;
|
||||
resize: vertical;
|
||||
width: 99%;
|
||||
|
||||
&#editor {
|
||||
min-height: em(120);
|
||||
}
|
||||
}
|
||||
|
||||
div.checkbox {
|
||||
margin-bottom: lh();
|
||||
|
||||
label {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
|
||||
div.form-item {
|
||||
margin: 15px 0;
|
||||
|
||||
label {
|
||||
display: block;
|
||||
margin-bottom: -5px;
|
||||
}
|
||||
|
||||
.title-desc {
|
||||
@include box-sizing(border-box);
|
||||
@include border-radius(4px);
|
||||
background: #333;
|
||||
color: #fff;
|
||||
display: none;
|
||||
font-size: 13px;
|
||||
padding: 7px 14px;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
.title-desc {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
margin-left: 10px;
|
||||
z-index: 1;
|
||||
width: 200px;
|
||||
|
||||
&:before {
|
||||
border-color: transparent #333 transparent transparent;
|
||||
border-style:solid;
|
||||
border-width:12px 12px 12px 0;
|
||||
content:"";
|
||||
height:0;
|
||||
left:-10px;
|
||||
position:absolute;
|
||||
top:1;
|
||||
width:0;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
span.form-error, label.form-error {
|
||||
color: #990000;
|
||||
display: inline-block;
|
||||
font-size: 90%;
|
||||
font-weight: bold;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
div.preview-toggle{
|
||||
padding: 15px 0;
|
||||
width: auto;
|
||||
a {
|
||||
@extend .light-button;
|
||||
}
|
||||
}
|
||||
|
||||
.wmd-preview {
|
||||
margin: 3px 0 15px 0;
|
||||
padding: 10px;
|
||||
background-color: #F5F5F5;
|
||||
min-height: 20px;
|
||||
overflow: auto;
|
||||
font-size: 13px;
|
||||
font-family: Arial;
|
||||
|
||||
p {
|
||||
margin-bottom: 14px;
|
||||
line-height: 1.4;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin-left: 2.5%;
|
||||
padding-left: 1.5%;
|
||||
border-left: 1px dashed #ddd;
|
||||
color: $pink;
|
||||
}
|
||||
|
||||
ul, ol, pre {
|
||||
margin-left: 3%;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
|
||||
pre {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
background-color: #eee;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input.after-editor {
|
||||
margin-bottom: 20px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
form.question-form {
|
||||
@extend .answer-form;
|
||||
border: none;
|
||||
padding: 15px 0 0 0;
|
||||
|
||||
input[type="text"] {
|
||||
@include box-sizing(border-box);
|
||||
width: flex-grid(6);
|
||||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
input[value="Cancel"] {
|
||||
@extend .light-button;
|
||||
float: right;
|
||||
}
|
||||
|
||||
div#question-list {
|
||||
background-color: rgba(255,255,255,0.95);
|
||||
@include box-sizing(border-box);
|
||||
margin-top: -15px;
|
||||
max-width: 505px;
|
||||
min-width: 300px;
|
||||
overflow: hidden;
|
||||
padding-left: 5px;
|
||||
position: absolute;
|
||||
width: 35%;
|
||||
z-index: 9999;
|
||||
|
||||
h2 {
|
||||
text-transform: none;
|
||||
padding: 8px 0;
|
||||
border-bottom: 1px solid #eee;
|
||||
margin: 0;
|
||||
|
||||
span {
|
||||
background: #eee;
|
||||
color: #555;
|
||||
padding: 2px 5px;
|
||||
@include border-radius(2px);
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
// Style for modal boxes that pop up to notify the user of various events
|
||||
.vote-notification {
|
||||
background-color: darken(#666, 7%);
|
||||
@include border-radius(4px);
|
||||
@include box-shadow(0px 2px 9px #aaa);
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
display: none;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
padding-bottom: 10px;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
z-index: 1;
|
||||
|
||||
h3 {
|
||||
background: #666;
|
||||
padding: 10px 10px 10px 10px;
|
||||
font-size: 13px;
|
||||
margin-bottom: 5px;
|
||||
border-bottom: darken(#666, 10%) 1px solid;
|
||||
@include box-shadow(0 1px 0 lighten(#666, 10%));
|
||||
color: #fff;
|
||||
font-weight: normal;
|
||||
@include border-radius(4px 4px 0 0);
|
||||
}
|
||||
|
||||
a {
|
||||
color: #fb7321;
|
||||
text-decoration: underline;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
@@ -1,119 +0,0 @@
|
||||
// Style for the user profile view
|
||||
|
||||
body.user-profile-page {
|
||||
|
||||
section.questions {
|
||||
h1 {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
ul.sub-info {
|
||||
margin-top: lh();
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
|
||||
> li {
|
||||
display: table-cell;
|
||||
padding: (flex-gutter(9)/2);
|
||||
border-right: 1px dashed #efefef;
|
||||
@include box-sizing(border-box);
|
||||
|
||||
&:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
border-right: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
&.votes-badges {
|
||||
width: flex-grid(2,9);
|
||||
|
||||
p {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&.answer-list {
|
||||
width: flex-grid(4, 9);
|
||||
}
|
||||
|
||||
&.tags-list {
|
||||
width: flex-grid(3,9);
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-bottom: 30px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
span.tag-number {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
|
||||
&.user-stats-table {
|
||||
list-style: none;
|
||||
|
||||
li {
|
||||
padding: 10px 0 15px;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
}
|
||||
|
||||
&.vote-buttons {
|
||||
list-style: none;
|
||||
margin-bottom: 30px;
|
||||
|
||||
li {
|
||||
background-position: 10px -10px;
|
||||
background-repeat: no-repeat;
|
||||
display: inline-block;
|
||||
padding: 2px 10px 2px 40px;
|
||||
margin-bottom: lh(.5);
|
||||
border: 1px solid lighten($border-color, 10%);
|
||||
|
||||
&.up {
|
||||
background-image: url(../images/askbot/vote-arrow-up.png);
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
&.down {
|
||||
background-image: url(../images/askbot/vote-arrow-down.png);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.badges {
|
||||
@include inline-block();
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
a {
|
||||
background-color: #e3e3e3;
|
||||
border: 0;
|
||||
@include border-radius(4px);
|
||||
color: #292309;
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
padding: 10px;
|
||||
margin-bottom: 10px;
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
text-transform: uppercase;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
background-color: #cdcdcd;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,377 +0,0 @@
|
||||
// Styles for the single question view
|
||||
|
||||
div.question-header {
|
||||
@include clearfix();
|
||||
|
||||
div.official-stamp {
|
||||
background: $pink;
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
margin-left: -1px;
|
||||
margin-top: 10px;
|
||||
padding: 2px 5px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.vote-buttons {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
margin-right: flex-gutter(9);
|
||||
width: flex-grid(0.7,9);
|
||||
|
||||
ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
li {
|
||||
background-repeat: no-repeat;
|
||||
color: #999;
|
||||
font-size: em(20);
|
||||
font-weight: bold;
|
||||
list-style: none;
|
||||
text-align: center;
|
||||
|
||||
&.question-img-upvote, &.answer-img-upvote {
|
||||
background-image: url(../images/askbot/vote-arrow-up.png);
|
||||
background-position: center 0;
|
||||
cursor: pointer;
|
||||
height: 12px;
|
||||
margin-bottom: lh(.5);
|
||||
|
||||
&:hover, &.on {
|
||||
background-image: url(../images/askbot/vote-arrow-up.png);
|
||||
background-position: center -22px;
|
||||
}
|
||||
}
|
||||
|
||||
&.question-img-downvote, &.answer-img-downvote {
|
||||
cursor: pointer;
|
||||
background-image: url(../images/askbot/vote-arrow-down.png);
|
||||
background-position: center 0;
|
||||
height: 12px;
|
||||
margin-top: lh(.5);
|
||||
|
||||
&:hover, &.on {
|
||||
background-image: url(../images/askbot/vote-arrow-down.png);
|
||||
background-position: center -22px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.question-container {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
width: flex-grid(8.3,9);
|
||||
|
||||
h1 {
|
||||
margin-top: 0;
|
||||
font-weight: 100;
|
||||
line-height: 1.1em;
|
||||
|
||||
a {
|
||||
font-weight: 100;
|
||||
line-height: 1.1em;
|
||||
}
|
||||
}
|
||||
|
||||
div.meta-bar {
|
||||
border-bottom: 1px solid #eee;
|
||||
display: block;
|
||||
margin: lh(.5) 0 lh();
|
||||
overflow: hidden;
|
||||
padding: 5px 0 10px;
|
||||
|
||||
div.tag-list {
|
||||
display: inline-block;
|
||||
float:left;
|
||||
width: flex-grid(4,8);
|
||||
margin-right: flex-gutter(8);
|
||||
}
|
||||
|
||||
div.question-actions {
|
||||
display: inline-block;
|
||||
float:left;
|
||||
text-align: right;
|
||||
width: flex-grid(4,8);
|
||||
|
||||
a {
|
||||
@extend a:link;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
span.sep {
|
||||
color: #ccc;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.question-content {
|
||||
overflow: hidden;
|
||||
|
||||
div.question-body {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
margin-right: flex-gutter(8);
|
||||
width: flex-grid(6.2,8);
|
||||
|
||||
blockquote {
|
||||
margin-left: 2.5%;
|
||||
padding-left: 1.5%;
|
||||
border-left: 1px dashed #ddd;
|
||||
color: $pink;
|
||||
}
|
||||
|
||||
ul, ol, pre {
|
||||
margin-left: 6%;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
div.post-update-container {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
width: 20%;
|
||||
border-left: 1px dashed #ddd;
|
||||
|
||||
a {
|
||||
border-bottom: none;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
div.post-update-info {
|
||||
@include box-sizing(border-box);
|
||||
padding: 10px;
|
||||
margin-bottom: 10px;
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
&.revision {
|
||||
text-align: center;
|
||||
// background:lighten($cream, 7%);
|
||||
|
||||
a {
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
div.change-date {
|
||||
font-size: em(14);
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
div.user-meta {
|
||||
display: inline-block;
|
||||
|
||||
span.username {
|
||||
font-size: 20px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
span.user-badges {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.comments-container {
|
||||
@include box-sizing(border-box);
|
||||
display: inline-block;
|
||||
padding: 0 0 3% 0;
|
||||
width: 100%;
|
||||
margin-top: lh(2);
|
||||
|
||||
div.comments-content {
|
||||
border-top: 1px solid lighten($border-color, 10%);
|
||||
|
||||
.block {
|
||||
border-top: 1px solid lighten($border-color, 10%);
|
||||
padding: 15px;
|
||||
display: block;
|
||||
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
&.official {
|
||||
padding-top: 10px;
|
||||
|
||||
span.official-comment {
|
||||
background: $pink;
|
||||
color: #fff;
|
||||
display: block;
|
||||
font-size: em(12);
|
||||
margin: 0 0 10px -5%;
|
||||
padding:2px 5px 2px 5%;
|
||||
text-align: left;
|
||||
width:100px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
form.post-comments {
|
||||
padding: 15px;
|
||||
|
||||
button:first-of-type {
|
||||
@extend .blue-button;
|
||||
}
|
||||
|
||||
button:last-child {
|
||||
margin-left: 10px;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
div.comment {
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
aside.comment-controls {
|
||||
background: none;
|
||||
border: none;
|
||||
@include box-shadow(none);
|
||||
display: inline-block;
|
||||
padding:0 2% 0 0;
|
||||
text-align: center;
|
||||
width: 5%;
|
||||
|
||||
div {
|
||||
background: none;
|
||||
opacity: 0.6;
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
div.comment-votes {
|
||||
width: 16px;
|
||||
|
||||
a.upvote {
|
||||
background: url(../images/askbot/comment-vote-up.png) no-repeat 2px;
|
||||
cursor: pointer;
|
||||
color: green;
|
||||
display: block;
|
||||
margin-bottom: 6px;
|
||||
margin-top: 5px;
|
||||
overflow: hidden;
|
||||
text-decoration: none;
|
||||
text-indent: -9999px;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
a.upvoted {
|
||||
@include border-radius(3px);
|
||||
background: #D1E3A8;
|
||||
color: green;
|
||||
font-weight: bold;
|
||||
margin-top: 10px;
|
||||
padding: 2px;
|
||||
text-indent: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
hr {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.comment-delete {
|
||||
@extend a:link;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.comment-edit {
|
||||
@include transform(rotate(50deg));
|
||||
cursor: pointer;
|
||||
|
||||
a.edit-icon {
|
||||
color: #555;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.comment-body {
|
||||
display: inline-block;
|
||||
width: 95%;
|
||||
|
||||
&#full-width {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.comment-meta {
|
||||
text-align: right;
|
||||
margin-top: lh(.5);
|
||||
|
||||
a.author {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a.edit {
|
||||
padding: 2px 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#edit-comment-form {
|
||||
margin: 10px 0;
|
||||
min-height: 100px;
|
||||
width: 99%;
|
||||
resize: vertical;
|
||||
}
|
||||
.counter {
|
||||
color: #888;
|
||||
display: none;
|
||||
float: right;
|
||||
margin-top: 5px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.controls {
|
||||
text-align: right;
|
||||
|
||||
a {
|
||||
display: inline-block;
|
||||
margin: 10px 10px 10px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.question-status {
|
||||
background: $pink;
|
||||
clear:both;
|
||||
color: #fff;
|
||||
display: block;
|
||||
padding: 10px 0 10px 7.5%;
|
||||
|
||||
h3 {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #eee;
|
||||
}
|
||||
}
|
||||
|
||||
div.share-question {
|
||||
padding: 10px 0 10px 7.5%;
|
||||
|
||||
p {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
@@ -1,264 +0,0 @@
|
||||
// Styles for the default question list view
|
||||
|
||||
div.question-list-header {
|
||||
@extend h1.top-header;
|
||||
display: block;
|
||||
margin-bottom: 0px;
|
||||
padding-bottom: lh(.5);
|
||||
overflow: hidden;
|
||||
width: flex-grid(9,9);
|
||||
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-size: 1em;
|
||||
font-weight: 100;
|
||||
padding-bottom: lh(.5);
|
||||
|
||||
> a.light-button {
|
||||
float: right;
|
||||
font-size: em(14, 24);
|
||||
letter-spacing: 0;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
|
||||
section.question-list-meta {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
|
||||
div {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0;
|
||||
}
|
||||
span.label {
|
||||
color: #555;
|
||||
}
|
||||
|
||||
div.question-list-title {
|
||||
margin-right: flex-gutter();
|
||||
|
||||
h1 {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
div.question-sort {
|
||||
float: right;
|
||||
margin-left: flex-gutter();
|
||||
margin-top: 6px;
|
||||
|
||||
nav {
|
||||
@extend .action-link;
|
||||
float: right;
|
||||
font-size: em(16, 24);
|
||||
|
||||
a {
|
||||
font-size: 1em;
|
||||
|
||||
&.on span{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
&:before {
|
||||
content: '|';
|
||||
color: #ccc;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
section.question-tags-list {
|
||||
display: block;
|
||||
min-height: 26px;
|
||||
padding-top:15px;
|
||||
width: 100%;
|
||||
|
||||
div {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
}
|
||||
|
||||
div.back {
|
||||
margin-right: 10px;
|
||||
margin-top: 4px;
|
||||
|
||||
a {
|
||||
color: #555;
|
||||
font-size: em(14, 24);
|
||||
}
|
||||
}
|
||||
|
||||
div.tags-list {
|
||||
|
||||
}
|
||||
|
||||
ul.tags {
|
||||
span, div {
|
||||
line-height: 1em;
|
||||
margin-left: 6px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul.question-list, div#question-list {
|
||||
width: flex-grid(9,9);
|
||||
padding-left: 0;
|
||||
margin: 0;
|
||||
|
||||
li.single-question {
|
||||
border-bottom: 1px solid #eee;
|
||||
list-style: none;
|
||||
padding: lh() 0;
|
||||
width: 100%;
|
||||
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
div {
|
||||
display: inline-block;
|
||||
|
||||
&.question-body {
|
||||
@include box-sizing(border-box);
|
||||
margin-right: flex-gutter();
|
||||
width: flex-grid(5,9);
|
||||
|
||||
h2 {
|
||||
font-size: em(20);
|
||||
font-weight: bold;
|
||||
letter-spacing: 0;
|
||||
margin: 0 0 lh() 0;
|
||||
text-transform: none;
|
||||
line-height: lh();
|
||||
|
||||
a {
|
||||
line-height: lh();
|
||||
}
|
||||
}
|
||||
|
||||
p.excerpt {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
|
||||
div.user-info {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin: lh() 0 0 0;
|
||||
line-height: lh();
|
||||
|
||||
span.relative-time {
|
||||
font-weight: normal;
|
||||
line-height: lh();
|
||||
}
|
||||
}
|
||||
|
||||
ul.tags {
|
||||
display: inline-block;
|
||||
margin: lh() 0 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&.question-meta {
|
||||
float: right;
|
||||
width: flex-grid(3,9);
|
||||
|
||||
ul {
|
||||
@include clearfix;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
|
||||
li {
|
||||
border: 1px solid lighten($border-color, 10%);
|
||||
@include box-sizing(border-box);
|
||||
@include box-shadow(0 1px 0 #fff);
|
||||
height:60px;
|
||||
float: left;
|
||||
margin-right: flex-gutter(3);
|
||||
width: flex-grid(1,3);
|
||||
|
||||
&:last-child {
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
span, div {
|
||||
color: #555;
|
||||
}
|
||||
}
|
||||
|
||||
&.answers {
|
||||
&.accepted {
|
||||
border-color: lighten($border-color, 10%);
|
||||
|
||||
span, div {
|
||||
color: darken(#c4dfbe, 35%);
|
||||
}
|
||||
}
|
||||
|
||||
&.no-answers {
|
||||
span, div {
|
||||
color: $pink;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
span, div {
|
||||
@include box-sizing(border-box);
|
||||
color: #888;
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
height: 35px;
|
||||
padding-top: 15px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
div {
|
||||
height: 25px;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
div.post-own-question {
|
||||
padding: 11px;
|
||||
margin-top: 10px;
|
||||
color: #888;
|
||||
text-align: center;
|
||||
|
||||
a {
|
||||
font-weight: bold;
|
||||
@extend .light-button;
|
||||
padding: 20px;
|
||||
display: block;
|
||||
margin: 10px auto;
|
||||
text-align: center;
|
||||
width: flex-grid(5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.search-result-summary {
|
||||
}
|
||||
@@ -1,319 +0,0 @@
|
||||
// Styles for the Askbot sidebar
|
||||
|
||||
div.discussion-wrapper aside {
|
||||
@extend .sidebar;
|
||||
border-left: 1px solid #ccc;
|
||||
border-right: 0;
|
||||
width: flex-grid(3);
|
||||
border-radius: 0 3px 3px 0;
|
||||
|
||||
&:after {
|
||||
left: -1px;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
&.main-sidebar {
|
||||
min-width:200px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #3C3C3C;
|
||||
font-size: 1em;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
margin-bottom: 1em;
|
||||
|
||||
&.first {
|
||||
margin-top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
border-bottom: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
div.inputs {
|
||||
input[type="submit"] {
|
||||
width: 27%;
|
||||
float: right;
|
||||
text-align: center;
|
||||
padding: 4px 0;
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
input[type="text"] {
|
||||
width: 62%;
|
||||
}
|
||||
}
|
||||
|
||||
div.box {
|
||||
display: block;
|
||||
padding: 18px 26px;
|
||||
border-top: 1px solid lighten($border-color, 10%);
|
||||
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
ul#related-tags {
|
||||
position: relative;
|
||||
left: -10px;
|
||||
|
||||
li {
|
||||
border-bottom: 0;
|
||||
background: #ddd;
|
||||
padding: 6px 10px 6px 5px;
|
||||
|
||||
a {
|
||||
padding: 0;
|
||||
line-height: 12px;
|
||||
|
||||
&:hover {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.contributors {
|
||||
|
||||
a {
|
||||
@include border-radius(3px);
|
||||
border: 1px solid #aaa;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
margin-right: 6px;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
@include border-radius(3px);
|
||||
@include box-shadow(inset 0 0 1px 1px rgba(255,255,255,.4));
|
||||
top: 1px; left: 1px; bottom: 1px; right: 1px;
|
||||
content: '';
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
&.tag-selector {
|
||||
ul {
|
||||
margin-bottom: 10px;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.search-box {
|
||||
margin-top: lh(.5);
|
||||
|
||||
input {
|
||||
@include box-sizing(border-box);
|
||||
display: inline;
|
||||
}
|
||||
|
||||
input[type='submit'] {
|
||||
background: url(../images/askbot/search-icon.png) no-repeat center;
|
||||
border: 0;
|
||||
@include box-shadow(none);
|
||||
margin-left: 3px;
|
||||
opacity: 0.5;
|
||||
padding: 6px 0 0;
|
||||
position: absolute;
|
||||
text-indent: -9999px;
|
||||
width: 24px;
|
||||
|
||||
&:hover {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
input#keywords {
|
||||
padding-left: 30px;
|
||||
padding-right: 30px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
input#clear {
|
||||
background: none;
|
||||
border: none;
|
||||
@include border-radius(0);
|
||||
@include box-shadow(none);
|
||||
color: #999;
|
||||
display: inline;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
height: 19px;
|
||||
line-height: 1em;
|
||||
margin: {
|
||||
left: -25px;
|
||||
top: 8px;
|
||||
}
|
||||
padding: 2px 5px;
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
div#tagSelector {
|
||||
ul {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.inputs {
|
||||
margin-bottom: lh();
|
||||
}
|
||||
|
||||
div#displayTagFilterControl {
|
||||
p.choice {
|
||||
@include inline-block();
|
||||
margin-right: lh(.5);
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
label {
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
|
||||
// Question view specific
|
||||
|
||||
div.follow-buttons {
|
||||
margin-top: 20px;
|
||||
display: block;
|
||||
|
||||
a.button {
|
||||
@include box-sizing(border-box);
|
||||
display: block;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
div.question-stats {
|
||||
border-top: 0;
|
||||
|
||||
ul {
|
||||
color: #777;
|
||||
list-style: none;
|
||||
|
||||
li {
|
||||
padding: 7px 0 0;
|
||||
border: 0;
|
||||
|
||||
&:last-child {
|
||||
@include box-shadow(none);
|
||||
border: 0;
|
||||
}
|
||||
strong {
|
||||
float: right;
|
||||
padding-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.user-info, div.user-stats {
|
||||
@extend div.question-stats;
|
||||
overflow: hidden;
|
||||
|
||||
div {
|
||||
float: left;
|
||||
display: block;
|
||||
}
|
||||
|
||||
div.karma {
|
||||
border: 1px solid $border-color;
|
||||
@include box-sizing(border-box);
|
||||
padding: lh(.4) 0;
|
||||
text-align: center;
|
||||
width: flex-grid(1, 3);
|
||||
float: right;
|
||||
|
||||
p {
|
||||
text-align: center;
|
||||
|
||||
strong {
|
||||
display: block;
|
||||
font-style: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.meta {
|
||||
width: flex-grid(2,3);
|
||||
padding-right: flex-gutter(3)*0.5;
|
||||
@include box-sizing(border-box);
|
||||
|
||||
h2 {
|
||||
border: 0;
|
||||
@include box-shadow(none);
|
||||
margin: 0 0 8px 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #777;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.user-stats {
|
||||
overflow: visible;
|
||||
|
||||
ul {
|
||||
h2 {
|
||||
margin:0 (-(lh())) 5px (-(lh()));
|
||||
padding: lh(.5) lh();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.question-tips, div.markdown {
|
||||
ul,
|
||||
ol {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
li {
|
||||
border-bottom: 0;
|
||||
line-height: lh();
|
||||
margin-bottom: em(8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.view-profile {
|
||||
border-top: 0;
|
||||
padding-top: 0;
|
||||
|
||||
a {
|
||||
@extend .gray-button;
|
||||
@include box-sizing(border-box);
|
||||
display: block;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
margin-top: lh(.5);
|
||||
|
||||
&:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
span {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
// Styles for the question tags
|
||||
|
||||
ul.tags {
|
||||
list-style: none;
|
||||
display: inline;
|
||||
padding: 0;
|
||||
|
||||
li, a {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
li {
|
||||
background: #ddd;
|
||||
color: #555;
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 15px;
|
||||
padding: 6px 10px 6px 5px;
|
||||
|
||||
&:before {
|
||||
border-color:transparent #ddd transparent transparent;
|
||||
border-style:solid;
|
||||
border-width:12px 10px 12px 0;
|
||||
content:"";
|
||||
height:0;
|
||||
left:-10px;
|
||||
position:absolute;
|
||||
top:0;
|
||||
width:0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #555;
|
||||
text-decoration: none;
|
||||
border-bottom: none;
|
||||
font-style: normal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
span.tag-number {
|
||||
display: none;
|
||||
}
|
||||
@@ -98,7 +98,7 @@
|
||||
&.email-icon {
|
||||
@include background-image(url('../images/portal-icons/email-icon.png'));
|
||||
}
|
||||
|
||||
|
||||
&.name-icon {
|
||||
@include background-image(url('../images/portal-icons/course-info-icon.png'));
|
||||
}
|
||||
@@ -124,6 +124,103 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.news-carousel {
|
||||
@include clearfix;
|
||||
margin: 30px 10px 0;
|
||||
border: 1px solid rgb(200,200,200);
|
||||
background: rgb(252,252,252);
|
||||
@include box-shadow(inset 0 0 3px 0 rgba(0,0,0, 0.15));
|
||||
|
||||
* {
|
||||
font-family: $sans-serif;
|
||||
}
|
||||
|
||||
header {
|
||||
@include clearfix;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.page-dots {
|
||||
float: right;
|
||||
margin: 18px 15px 0 0;
|
||||
|
||||
li {
|
||||
float: left;
|
||||
margin-left: 6px;
|
||||
}
|
||||
}
|
||||
|
||||
.page-dot {
|
||||
display: block;
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
border-radius: 11px;
|
||||
background: $light-gray;
|
||||
|
||||
&:hover {
|
||||
background: #ccc;
|
||||
}
|
||||
|
||||
&.current {
|
||||
background: $blue;
|
||||
}
|
||||
}
|
||||
|
||||
h4 {
|
||||
float: left;
|
||||
margin-left: 15px;
|
||||
font-size: 15px;
|
||||
line-height: 48px;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.pages {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.page {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
&:first-child {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.news-image {
|
||||
height: 180px;
|
||||
margin-bottom: 15px;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
border: 1px solid $light-gray;
|
||||
}
|
||||
}
|
||||
|
||||
h5 {
|
||||
margin-bottom: 8px;
|
||||
margin-left: 5px;
|
||||
|
||||
a {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
|
||||
.excerpt {
|
||||
margin-left: 5px;
|
||||
font-size: 13px;
|
||||
padding-bottom: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.my-courses {
|
||||
@@ -325,7 +422,7 @@
|
||||
|
||||
p {
|
||||
color: #222;
|
||||
|
||||
|
||||
span {
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -392,7 +489,7 @@
|
||||
font-family: "Open Sans", Verdana, Geneva, sans-serif;
|
||||
background: #fffcf0;
|
||||
border: 1px solid #ccc;
|
||||
|
||||
|
||||
.message-copy {
|
||||
margin: 0;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<%inherit file="main.html" />
|
||||
<%inherit file="../main.html" />
|
||||
|
||||
<%namespace name='static' file='static_content.html'/>
|
||||
<%namespace name='static' file='../static_content.html'/>
|
||||
|
||||
<%block name="title"><title>Courses</title></%block>
|
||||
|
||||
@@ -22,17 +22,17 @@
|
||||
<section class="courses">
|
||||
<section class='university-column'>
|
||||
%for course in universities['MITx']:
|
||||
<%include file="course.html" args="course=course" />
|
||||
<%include file="../course.html" args="course=course" />
|
||||
%endfor
|
||||
</section>
|
||||
<section class='university-column'>
|
||||
%for course in universities['HarvardX']:
|
||||
<%include file="course.html" args="course=course" />
|
||||
<%include file="../course.html" args="course=course" />
|
||||
%endfor
|
||||
</section>
|
||||
<section class='university-column last'>
|
||||
%for course in universities['BerkeleyX']:
|
||||
<%include file="course.html" args="course=course" />
|
||||
<%include file="../course.html" args="course=course" />
|
||||
%endfor
|
||||
</section>
|
||||
</section>
|
||||
@@ -1,5 +1,5 @@
|
||||
<%inherit file="main.html" />
|
||||
<%namespace name='static' file='static_content.html'/>
|
||||
<%namespace name='static' file='../static_content.html'/>
|
||||
<%block name="bodyclass">courseware news</%block>
|
||||
<%block name="title"><title>News – MITx 6.002x</title></%block>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<%block name="js_extra">
|
||||
</%block>
|
||||
|
||||
<%include file="/courseware/course_navigation.html" args="active_page='news'" />
|
||||
<%include file="course_navigation.html" args="active_page='news'" />
|
||||
|
||||
<section class="container">
|
||||
<div class="course-wrapper">
|
||||
@@ -5,7 +5,7 @@ def url_for_thread(discussion_id, thread_id):
|
||||
return reverse('django_comment_client.forum.views.single_thread', args=[course.id, discussion_id, thread_id])
|
||||
%>
|
||||
|
||||
<%
|
||||
<%
|
||||
def url_for_comment(discussion_id, thread_id, comment_id):
|
||||
return url_for_thread(discussion_id, thread_id) + "#" + comment_id
|
||||
%>
|
||||
@@ -15,7 +15,7 @@ def url_for_discussion(discussion_id):
|
||||
return reverse('django_comment_client.forum.views.forum_form_discussion', args=[course.id, discussion_id])
|
||||
%>
|
||||
|
||||
<%
|
||||
<%
|
||||
def discussion_title(discussion_id):
|
||||
return get_discussion_title(discussion_id=discussion_id)
|
||||
%>
|
||||
@@ -59,18 +59,18 @@ def url_for_user(user_id): #TODO
|
||||
<%def name="render_notification(notification)">
|
||||
<div class="notification">
|
||||
% if notification['notification_type'] == 'post_reply':
|
||||
${render_user_link(notification)} posted a ${render_comment_link(notification)}
|
||||
${render_user_link(notification)} posted a ${render_comment_link(notification)}
|
||||
to the thread ${render_thread_link(notification)} in discussion ${render_discussion_link(notification)}
|
||||
% elif notification['notification_type'] == 'post_topic':
|
||||
${render_user_link(notification)} posted a new thread ${render_thread_link(notification)}
|
||||
in discussion ${render_discussion_link(notification)}
|
||||
% elif notification['notification_type'] == 'at_user':
|
||||
${render_user(info)} mentioned you in
|
||||
${render_user(info)} mentioned you in
|
||||
% if notification['info']['content_type'] == 'thread':
|
||||
the thread ${render_thread_link(notification)}
|
||||
in discussion ${render_discussion_link(notification)}
|
||||
% else:
|
||||
${render_comment_link(notification)}
|
||||
${render_comment_link(notification)}
|
||||
to the thread ${render_thread_link(notification)} in discussion ${render_discussion_link(notification)}
|
||||
% endif
|
||||
% endif
|
||||
@@ -14,6 +14,46 @@
|
||||
<script type="text/javascript">
|
||||
(function() {
|
||||
|
||||
var carouselPageHeight = 0;
|
||||
var carouselIndex = 0;
|
||||
var carouselDelay = 5000;
|
||||
var carouselPages = $('.news-carousel .page').length;
|
||||
|
||||
|
||||
$('.news-carousel .page').each(function() {
|
||||
carouselPageHeight = Math.max($(this).outerHeight(), carouselPageHeight);
|
||||
});
|
||||
$('.news-carousel .pages').css('height', carouselPageHeight);
|
||||
$('.news-carousel .page-dot').bind('click', setCarouselPage);
|
||||
var carouselTimer = setInterval(nextCarouselPage, carouselDelay);
|
||||
|
||||
function nextCarouselPage() {
|
||||
carouselIndex = carouselIndex + 1 < carouselPages ? carouselIndex + 1 : 0;
|
||||
setCarouselPage(null, carouselIndex);
|
||||
}
|
||||
|
||||
function setCarouselPage(event, index) {
|
||||
var $pageToShow;
|
||||
var transitionSpeed;
|
||||
$('.news-carousel .page-dots').find('.current').removeClass('current');
|
||||
|
||||
if(event) {
|
||||
clearInterval(carouselTimer);
|
||||
carouselTimer = setInterval(nextCarouselPage, carouselDelay);
|
||||
carouselIndex = $(this).closest('li').index();
|
||||
transitionSpeed = 250;
|
||||
$pageToShow = $('.news-carousel .page').eq(carouselIndex);
|
||||
$(this).addClass('current');
|
||||
} else {
|
||||
transitionSpeed = 750;
|
||||
$pageToShow = $('.news-carousel .page').eq(index);
|
||||
$('.news-carousel .page-dot').eq(index).addClass('current');
|
||||
}
|
||||
|
||||
$pageToShow.fadeIn(transitionSpeed);
|
||||
$('.news-carousel .page').not($pageToShow).fadeOut(transitionSpeed);
|
||||
}
|
||||
|
||||
$(".unenroll").click(function(event) {
|
||||
$("#unenroll_course_id").val( $(event.target).data("course-id") );
|
||||
$("#unenroll_course_number").text( $(event.target).data("course-number") );
|
||||
@@ -107,6 +147,39 @@
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
%if news:
|
||||
<article class="news-carousel">
|
||||
<header>
|
||||
<h4>edX News</h4>
|
||||
<nav class="page-dots">
|
||||
<ol>
|
||||
<li><a href="#" class="page-dot current"></a></li>
|
||||
<li><a href="#" class="page-dot"></a></li>
|
||||
<li><a href="#" class="page-dot"></a></li>
|
||||
</ol>
|
||||
</nav>
|
||||
</header>
|
||||
<div class="pages">
|
||||
% for entry in news:
|
||||
<section class="page">
|
||||
%if entry.image:
|
||||
<div class="news-image">
|
||||
<a href="${entry.link}"><img src="${entry.image}" /></a>
|
||||
</div>
|
||||
%endif
|
||||
<h5><a href="${entry.link}">${entry.title}</a></h5>
|
||||
<div class="excerpt">
|
||||
%if entry.summary:
|
||||
<p>${entry.summary}</p>
|
||||
%endif
|
||||
<p><a href="${entry.link}">Learn More ›</a></p>
|
||||
</div>
|
||||
</section>
|
||||
%endfor
|
||||
</div>
|
||||
</article>
|
||||
%endif
|
||||
</section>
|
||||
|
||||
<section class="my-courses">
|
||||
@@ -159,54 +232,43 @@
|
||||
%>
|
||||
% if course.has_ended() and cert_status:
|
||||
<%
|
||||
passing_grade = False
|
||||
cert_button = False
|
||||
survey_button = False
|
||||
if cert_status['status'] in [CertificateStatuses.generating, CertificateStatuses.regenerating]:
|
||||
if cert_status['status'] == 'generating':
|
||||
status_css_class = 'course-status-certrendering'
|
||||
cert_button = True
|
||||
survey_button = True
|
||||
passing_grade = True
|
||||
elif cert_status['status'] == CertificateStatuses.downloadable:
|
||||
elif cert_status['status'] == 'ready':
|
||||
status_css_class = 'course-status-certavailable'
|
||||
cert_button = True
|
||||
survey_button = True
|
||||
passing_grade = True
|
||||
elif cert_status['status'] == CertificateStatuses.notpassing:
|
||||
elif cert_status['status'] == 'notpassing':
|
||||
status_css_class = 'course-status-certnotavailable'
|
||||
survey_button = True
|
||||
else:
|
||||
# This is primarily the 'unavailable' state, but also 'error', 'deleted', etc.
|
||||
status_css_class = 'course-status-processing'
|
||||
|
||||
if survey_button and not course.end_of_course_survey_url:
|
||||
survey_button = False
|
||||
%>
|
||||
<div class="message message-status ${status_css_class} is-shown">
|
||||
|
||||
% if cert_status['status'] == CertificateStatuses.unavailable:
|
||||
<p class="message-copy">Final course details are being wrapped up at this time.
|
||||
Your final standing will be available shortly.</p>
|
||||
% elif passing_grade:
|
||||
<p class="message-copy">You have received a grade of
|
||||
<span class="grade-value">${cert_status['grade']}</span>
|
||||
in this course.</p>
|
||||
% elif cert_status['status'] == CertificateStatuses.notpassing:
|
||||
<p class="message-copy">You did not complete the necessary requirements for completion of this course.
|
||||
</p>
|
||||
% if cert_status['status'] == 'processing':
|
||||
<p class="message-copy">Final course details are being wrapped up at
|
||||
this time. Your final standing will be available shortly.</p>
|
||||
% elif cert_status['status'] in ('generating', 'ready'):
|
||||
<p class="message-copy">You have received a grade of
|
||||
<span class="grade-value">${cert_status['grade']}</span>
|
||||
in this course.</p>
|
||||
% elif cert_status['status'] == 'notpassing':
|
||||
<p class="message-copy">You did not complete the necessary requirements for
|
||||
completion of this course.</p>
|
||||
% endif
|
||||
% if cert_button or survey_button:
|
||||
|
||||
% if cert_status['show_disabled_download_button'] or cert_status['show_download_url'] or cert_status['show_survey_button']:
|
||||
<ul class="actions">
|
||||
% if cert_button and cert_status['status'] in [CertificateStatuses.generating, CertificateStatuses.regenerating]:
|
||||
<li class="action"><span class="btn disabled" href="">Your Certificate is Generating</span></li>
|
||||
% elif cert_button and cert_status['status'] == CertificateStatuses.downloadable:
|
||||
% if cert_status['show_disabled_download_button']:
|
||||
<li class="action"><span class="btn disabled" href="">
|
||||
Your Certificate is Generating</span></li>
|
||||
% elif cert_status['show_download_url']:
|
||||
<li class="action">
|
||||
<a class="btn" href="${cert_status['download_url']}"
|
||||
title="This link will open/download a PDF document">
|
||||
Download Your PDF Certificate</a></li>
|
||||
% endif
|
||||
% if survey_button:
|
||||
<li class="action"><a class="cta" href="${course.end_of_course_survey_url}">
|
||||
|
||||
% if cert_status['show_survey_button']:
|
||||
<li class="action"><a class="cta" href="${cert_status['survey_url']}">
|
||||
Complete our course feedback survey</a></li>
|
||||
% endif
|
||||
</ul>
|
||||
|
||||
@@ -7,13 +7,22 @@
|
||||
##<link type="application/atom+xml" rel="self" href="https://github.com/blog.atom"/>
|
||||
<title>EdX Blog</title>
|
||||
<updated>2012-10-14T14:08:12-07:00</updated>
|
||||
<entry>
|
||||
<id>tag:www.edx.org,2012:Post/7</id>
|
||||
<published>2012-11-12T14:00:00-07:00</published>
|
||||
<updated>2012-11-12T14:00:00-07:00</updated>
|
||||
<link type="text/html" rel="alternate" href="${reverse('press/gates-foundation-announcement')}"/>
|
||||
<title>edX and Massachusetts Community Colleges join in Gates-Funded educational initiative</title>
|
||||
<content type="html"><img src="${static.url('images/press/releases/mass_seal_240x180.png')}" />
|
||||
<p></p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>tag:www.edx.org,2012:Post/6</id>
|
||||
<published>2012-10-15T14:00:00-07:00</published>
|
||||
<updated>2012-10-14T14:00:00-07:00</updated>
|
||||
<link type="text/html" rel="alternate" href="${reverse('press/ut-joins-edx')}"/>
|
||||
<title>The University of Texas System joins edX</title>
|
||||
<content type="html"><img src="${static.url('images/press/uts-seal_109x84.jpg')}" />
|
||||
<content type="html"><img src="${static.url('images/press/releases/utsys-seal_240x180.png')}" />
|
||||
<p>Nine universities and six health institutions</p></content>
|
||||
</entry>
|
||||
<!-- <entry> -->
|
||||
@@ -22,7 +31,7 @@
|
||||
<!-- <updated>2012-09-25T14:00:00-07:00</updated> -->
|
||||
<!-- <link type="text/html" rel="alternate" href="${reverse('press/elsevier-collaborates-with-edx')}"/> -->
|
||||
<!-- <title>Elsevier collaborates with edX</title> -->
|
||||
<!-- <content type="html"><img src="${static.url('images/press/foundations-of-analog-109x84.jpg')}" /> -->
|
||||
<!-- <content type="html"><img src="${static.url('images/press/releases/foundations-of-analog_240x180.jpg')}" /> -->
|
||||
<!-- <p>Free course textbook made available to edX students</p></content> -->
|
||||
<!-- </entry> -->
|
||||
<entry>
|
||||
@@ -30,8 +39,8 @@
|
||||
<published>2012-09-06T14:00:00-07:00</published>
|
||||
<updated>2012-09-06T14:00:00-07:00</updated>
|
||||
<link type="text/html" rel="alternate" href="${reverse('press/edX-announces-proctored-exam-testing')}"/>
|
||||
<title>EdX to offer learners option of taking proctored final exam</title>
|
||||
<content type="html"><img src="${static.url('images/press/diploma-109x84.jpg')}" /></content>
|
||||
<title>edX to offer learners option of taking proctored final exam</title>
|
||||
<content type="html"><img src="${static.url('images/press/releases/diploma_240x180.jpg')}" /></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>tag:www.edx.org,2012:Post/3</id>
|
||||
@@ -39,7 +48,7 @@
|
||||
<updated>2012-07-16T14:08:12-07:00</updated>
|
||||
<link type="text/html" rel="alternate" href="${reverse('press/uc-berkeley-joins-edx')}"/>
|
||||
<title>UC Berkeley joins edX</title>
|
||||
<content type="html"><img src="${static.url('images/press/edx-109x84.png')}" />
|
||||
<content type="html"><img src="${static.url('images/press/releases/edx-logo_240x180.png')}" />
|
||||
<p>edX broadens course offerings</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
@@ -48,7 +57,7 @@
|
||||
<updated>2012-07-16T14:08:12-07:00</updated>
|
||||
<link type="text/html" rel="alternate" href="http://edxonline.tumblr.com/post/27589840852/opening-doors-for-exceptional-students-6-002x-in"/>
|
||||
<title>Opening Doors For Exceptional Students: 6.002x in Mongolia</title>
|
||||
<content type="html"><img src="${static.url('images/press/tumblr_tumbnail_opening_doors_mongolia.jpg')}" /></content>
|
||||
<content type="html"><img src="${static.url('images/press/releases/tumblr-mongolia_240x180.jpg')}" /></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>tag:www.edx.org,2012:Post/1</id>
|
||||
@@ -56,6 +65,6 @@
|
||||
<updated>2012-07-16T14:08:12-07:00</updated>
|
||||
<link type="text/html" rel="alternate" href="http://edxonline.tumblr.com/post/27589835076/beyond-the-circuits-a-students-experience-with-6-002x"/>
|
||||
<title>Brazilian teen blogs about his 6.002x experience</title>
|
||||
<content type="html"><img src="${static.url('images/press/tumblr_tumbnail_brazilian_teen.jpg')}" /></content>
|
||||
<content type="html"><img src="${static.url('images/press/releases/tumblr-brazilian-teen_240x180.jpg')}" /></content>
|
||||
</entry>
|
||||
</feed>
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
</header>
|
||||
<section class="news">
|
||||
<section class="blog-posts">
|
||||
%for entry in entries:
|
||||
%for entry in news:
|
||||
<article>
|
||||
%if entry.image:
|
||||
<a href="${entry.link}" class="post-graphics" target="_blank"><img src="${entry.image}" /></a>
|
||||
@@ -150,7 +150,7 @@
|
||||
|
||||
<section id="video-modal" class="modal home-page-video-modal video-modal">
|
||||
<div class="inner-wrapper">
|
||||
<iframe width="640" height="360" src="http://www.youtube.com/embed/C2OQ51tu7W4?showinfo=0" frameborder="0" allowfullscreen></iframe>
|
||||
<iframe width="640" height="360" src="http://www.youtube.com/embed/IlNU60ZKj3I?showinfo=0" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<p>Students who enroll in edX's course <a href="https://www.edx.org/courses/HarvardX/PH207x/2012_Fall/about">PHW207x: Health in Numbers </a>, taught by Professor Marcello Pagano of Harvard's School of Public Health, will have access to an online version of the course textbook, <a href="http://www.cengage.com/search/productOverview.do?Ntt=Principles+of+Biostatistics%7C%7C1294593750742656302174876073224090273&N=16&Ntk=all%7C%7CP_EPI">Principles of Biostatistics, 2nd Edition</a>, written by Marcello Pagano and Kimberlee Gauvreau and published by Cengage Learning. Cengage Learning’s instructional design services will also work with edX to migrate the print pedagogy from the textbook into the on-line course, creating the best scope and sequence for effective student learning.</p>
|
||||
|
||||
<figure>
|
||||
<img src="${static.url('images/press/cengage_book_327x400.jpg')}" />
|
||||
<img src="${static.url('images/press/releases/cengage_book_327x400.jpg')}" />
|
||||
</figure>
|
||||
|
||||
<p>“edX students worldwide will benefit from both Professor Pagano's in-class lectures and his classic Cengage Learning textbook in biostatics,” said Anant Agarwal, President of edX. “We are very grateful for Cengage's commitment to helping edX learners throughout the world.”</p>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<p>The free version of the textbook was also available in the spring offering of MIT’s 6.002x, before the creation of edX.</p>
|
||||
|
||||
<figure>
|
||||
<img src="${static.url('images/press/elsevier_page_sample_680x660.png')}" />
|
||||
<img src="${static.url('images/press/releases/elsevier_page_sample_680x660.png')}" />
|
||||
<figcaption>A page view from the online version of <a href="http://store.elsevier.com/product.jsp?isbn=9781558607354">Foundations of Analog and Digital Electronic Circuits</a> made available to students taking edX’s course <a href="https://www.edx.org/courses/MITx/6.002x/2012_Fall/about">6.002X: Circuits and Electronics</a></figcaption>
|
||||
</figure>
|
||||
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
<%! from django.core.urlresolvers import reverse %>
|
||||
<%inherit file="../../main.html" />
|
||||
|
||||
<%namespace name='static' file='../../static_content.html'/>
|
||||
|
||||
<%block name="title"><title>edX and Massachusetts Community Colleges Join in Gates-Funded Educational Initiative</title></%block>
|
||||
<div id="fb-root"></div>
|
||||
<script>(function(d, s, id) {
|
||||
var js, fjs = d.getElementsByTagName(s)[0];
|
||||
if (d.getElementById(id)) return;
|
||||
js = d.createElement(s); js.id = id;
|
||||
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
|
||||
fjs.parentNode.insertBefore(js, fjs);
|
||||
}(document, 'script', 'facebook-jssdk'));</script>
|
||||
|
||||
<section class="pressrelease">
|
||||
<section class="container">
|
||||
<h1>edX and Massachusetts Community Colleges Join in Gates-Funded Educational Initiative</h1>
|
||||
<hr class="horizontal-divider">
|
||||
<article>
|
||||
<h2>First Blended MOOC Course slated for Bunker Hill Community College (BHCC) and MassBay Community College</h2>
|
||||
|
||||
<figure>
|
||||
<a href="${static.url('images/press/releases/mass-edx-gates-launch_3800x2184.jpg')}"><img src="${static.url('images/press/releases/mass-edx-gates-launch_300x172.jpg')}" /></a>
|
||||
<figcaption>
|
||||
<p>Massachusetts Governor Deval Patrick and other dignitaries speak at a press conference hosted by edX, the world’s leading online-learning initiative founded by Harvard University and MIT, on Monday, November 19. EdX announced the first-of-its-kind community college partnership with Bunker Hill and MassBay Community Colleges, bringing an innovative blended teaching model to their classrooms.</p>
|
||||
<p>Left to Right: Dr. John O’Donnell, president of MassBay Community College; Richard M. Freeland, Massachusetts Commissioner of Higher Education; Anant Agarwal, president of edX; Governor Deval Patrick; Mary L. Fifield, president of Bunker Hill Community College; Paul Reville, Massachusetts Secretary of Education</p>
|
||||
<p>Photo by John Mottern / edX<br/>
|
||||
<a href="${static.url('images/press/releases/mass-edx-gates-launch_3800x2184.jpg')}">High Resolution Image</a></p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
<p><strong>CAMBRIDGE, Mass. – November 19, 2012 –</strong>
|
||||
<a href="https://www.edx.org/">edX</a>, the world’s leading online-learning initiative founded by Harvard University and the Massachusetts Institute of Technology (MIT), today announced an innovative blended massive open online course (MOOC) offering at <a href="http://www.bhcc.mass.edu/" target="_blank">Bunker Hill</a> and <a href="http://www.massbay.edu/" target="_blank">MassBay Community Colleges</a>, the first community colleges to work with edX to bring a new teaching model to the classroom. Through this public/private initiative, community colleges will benefit from edX’s platform, connecting students with leading MOOC professors from around the world.</p>
|
||||
|
||||
<p>“Our technology and innovative teaching methods have the potential to transform the way community college students learn, both in and out of the classroom,” said Anant Agarwal, president of edX. “Our work with Bunker Hill and MassBay will enable us to work with other state institutions throughout the country to provide excellent educational opportunities on an ever-tightening budget.”</p>
|
||||
|
||||
<p>The collaboration between these two innovative community colleges, both of which have a history of offering online and hybrid courses, and edX was made possible through a $1 million grant from the <a href="http://www.gatesfoundation.org/Pages/home.aspx" target="_blank">Bill and Melinda Gates Foundation</a>. The grant is part of a $9 million investment announced in June 2012 to support breakthrough learning models in postsecondary education. edX, Massachusetts and the Gates Foundation believe that investing in this initiative will pave the way for further innovations in online and on-campus learning for these and other community colleges around the country. </p>
|
||||
|
||||
<p>“MOOCs are an exciting innovation. They hold great promise, but are not without challenges– and we are still discovering their full potential,” said Dan Greenstein, Director of Postsecondary Success at the Gates Foundation. “We believe having diverse options for faculty and students that meet a wide array of learning needs and styles can enhance student engagement, improve educational outcomes, and increase college completion rates. We are eager to learn from and share the data that will be generated from these investments in MOOCs.”</p>
|
||||
|
||||
<p>“I thank the Bill and Melinda Gates Foundation and edX for understanding the importance of innovative thinking in order to better prepare our students for the jobs of the 21st century global economy,” said Governor Deval Patrick. “A stronger community college system fuels our economy by connecting well-prepared students with employers.”</p>
|
||||
|
||||
<p>Beginning in the spring 2013, Bunker Hill and MassBay Community Colleges will offer an adapted version of the <a href="https://www.edx.org/courses/MITx/6.00x/2012_Fall/about">MITx 6.00x Introduction to Computer Science and Programming</a> course at their respective campuses. This unique learning experience will allow students to benefit from virtual courses, enhanced by in-class supporting materials and engaging breakouts. The collaboration aims to build upon edX and community college data-driven research to examine the advantages of a blended classroom model that utilizes edX’s MOOC content, consisting of innovative learning methodologies and game-like educational experiences.</p>
|
||||
|
||||
<p>“Community college professors are both teachers and mentors to our students. The blended classroom model allows our professors greater one-to-one contact with our students, allowing for greater course content mastery and application,” stated Dr. John O’Donnell, president of MassBay Community College.</p>
|
||||
|
||||
<p>According to BHCC President Mary L. Fifield, “The invitation to participate in edX comes on the heels of several highly successful classroom-based student success initiatives at our College that have increased student persistence by as much as 32 percent. The timing couldn’t be better.”</p>
|
||||
|
||||
<p>Through its open source platform, edX enhances teaching and learning by using research on how students learn and transformative technologies that facilitate effective teaching both on-campus and online. EdX’s ultimate goal is to provide access to life-changing knowledge for everyone around the world.</p>
|
||||
|
||||
<p>For more information or to sign up for a course, please visit <a href="https://www.edx.org/">www.edx.org</a>.</p>
|
||||
|
||||
<h2>About Governor Patrick’s Community College Priorities</h2>
|
||||
|
||||
<p>Governor Patrick has prioritized strengthening and unifying the Commonwealth of Massachusetts’ community college system in order to be more responsive to employer needs for skilled workers and help get people back to work. This past summer, the Governor signed legislation that set aside $5 million for community colleges to be used for four main purposes: the development of efficiency measures that may include consolidation of IT platforms and services; the creation of innovative methods for delivering quality higher education that increases capacity, reduces costs and promotes student completion; engaging in statewide and regional collaborations with other public higher education institutions that reduce costs, increase efficiency and promote quality in the areas of academic programming and campus management; and improving student learning outcomes assessments set forth by the Board of Higher Education under the Vision Project.</p>
|
||||
|
||||
<h2>About edX</h2>
|
||||
|
||||
<p><a href="https://www.edx.org/">edX</a> is a not-for-profit enterprise of its founding partners Harvard University and the Massachusetts Institute of Technology that features learning designed specifically for interactive study via the web. Based on a long history of collaboration and their shared educational missions, the founders are creating a new online-learning experience. Along with offering online courses, the institutions will use edX to research how students learn and how technology can transform learning—both on campus and worldwide. edX is based in Cambridge, Massachusetts.</p>
|
||||
|
||||
<section class="contact">
|
||||
<p><strong>Contact:</strong></p>
|
||||
<p>Amanda Keane, Weber Shandwick for edX</p>
|
||||
<p>akeane@webershandwick.com</p>
|
||||
<p>(617) 520-7260</p>
|
||||
</section>
|
||||
|
||||
<section class="footer">
|
||||
<hr class="horizontal-divider">
|
||||
<div class="logo"></div><h3 class="date">11 - 19 - 2012</h3>
|
||||
<div class="social-sharing">
|
||||
<hr class="horizontal-divider">
|
||||
<p>Share with friends and family:</p>
|
||||
<a href="http://twitter.com/intent/tweet?text=edX+and+Massachusetts+Community+Colleges+Join+in+Gates-Funded+Educational+Initiative:+http://www.edx.org/press/gates-foundation-announcement" class="share">
|
||||
<img src="${static.url('images/social/twitter-sharing.png')}">
|
||||
</a>
|
||||
</a>
|
||||
<a href="mailto:?subject=edX%20and%20Massachusetts%20Community%20Colleges%20Join%20in%20Gates-Funded%20Educational%20Initiative…http://edx.org/press/gates-foundation-announcement" class="share">
|
||||
<img src="${static.url('images/social/email-sharing.png')}">
|
||||
</a>
|
||||
<div class="fb-like" data-href="http://edx.org/press/gates-foundation-announcement" data-send="true" data-width="450" data-show-faces="true"></div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</article>
|
||||
</section>
|
||||
</section>
|
||||
@@ -101,6 +101,8 @@ urlpatterns = ('',
|
||||
{'template': 'press_releases/UT_joins_edX.html'}, name="press/ut-joins-edx"),
|
||||
url(r'^press/cengage-to-provide-book-content$', 'static_template_view.views.render',
|
||||
{'template': 'press_releases/Cengage_to_provide_book_content.html'}, name="press/cengage-to-provide-book-content"),
|
||||
url(r'^press/gates-foundation-announcement$', 'static_template_view.views.render',
|
||||
{'template': 'press_releases/Gates_Foundation_announcement.html'}, name="press/gates-foundation-announcement"),
|
||||
|
||||
# Should this always update to point to the latest press release?
|
||||
(r'^pressrelease$', 'django.views.generic.simple.redirect_to', {'url': '/press/uc-berkeley-joins-edx'}),
|
||||
|
||||