shared css

This commit is contained in:
Damien Elmes 2012-05-06 20:04:28 +09:00
parent dd45746a41
commit 1a80ffa8a2
6 changed files with 32 additions and 15 deletions

View file

@ -115,7 +115,7 @@ lapses=?, left=?, odue=?, odid=?, did=? where id = ?""",
return self.css() + self._getQA()['a'] return self.css() + self._getQA()['a']
def css(self): def css(self):
return "<style>%s</style>" % self.template()['css'] return "<style>%s</style>" % self.model()['css']
def _getQA(self, reload=False): def _getQA(self, reload=False):
if not self._qa or reload: if not self._qa or reload:

View file

@ -42,10 +42,10 @@ MODEL_STD = 0
MODEL_CLOZE = 1 MODEL_CLOZE = 1
# deck schema & syncing vars # deck schema & syncing vars
SCHEMA_VERSION = 5 SCHEMA_VERSION = 6
SYNC_ZIP_SIZE = int(2.5*1024*1024) SYNC_ZIP_SIZE = int(2.5*1024*1024)
SYNC_URL = os.environ.get("SYNC_URL") or "https://beta.ankiweb.net/sync/" SYNC_URL = os.environ.get("SYNC_URL") or "https://beta.ankiweb.net/sync/"
SYNC_VER = 2 SYNC_VER = 3
# Labels # Labels
########################################################################## ##########################################################################

View file

@ -29,6 +29,15 @@ defaultModel = {
'usn': 0, 'usn': 0,
'vers': [], 'vers': [],
'type': MODEL_STD, 'type': MODEL_STD,
'css': """\
.card {
font-family: arial;
font-size: 20px;
text-align: center;
color: black;
background-color: white;
}
"""
} }
defaultField = { defaultField = {
@ -50,15 +59,6 @@ defaultTemplate = {
'qfmt': "", 'qfmt': "",
'afmt': "", 'afmt': "",
'did': None, 'did': None,
'css': """\
.card {
font-family: arial;
font-size: 20px;
text-align: center;
color: black;
background-color: white;
}
"""
} }
class ModelManager(object): class ModelManager(object):

View file

@ -40,7 +40,7 @@ def addClozeModel(col):
mm.addField(m, fm) mm.addField(m, fm)
t = mm.newTemplate(_("Cloze")) t = mm.newTemplate(_("Cloze"))
fmt = "{{cloze:%s}}" % txt fmt = "{{cloze:%s}}" % txt
t['css'] += """ m['css'] += """
.cloze { .cloze {
font-weight: bold; font-weight: bold;
color: blue; color: blue;

View file

@ -95,6 +95,17 @@ def _upgrade(col, ver):
if ver < 5: if ver < 5:
col.db.execute("update cards set odue = 0 where queue = 2") col.db.execute("update cards set odue = 0 where queue = 2")
col.db.execute("update col set ver = 5") col.db.execute("update col set ver = 5")
if ver < 6:
col.modSchema()
import anki.models
for m in col.models.all():
m['css'] = anki.models.defaultModel['css']
for t in m['tmpls']:
m['css'] += "\n" + t['css'].replace(
".card ", ".card%d "%(t['ord']+1))
del t['css']
col.models.save(m)
col.db.execute("update col set ver = 6")
def _upgradeClozeModel(col, m): def _upgradeClozeModel(col, m):
m['type'] = MODEL_CLOZE m['type'] = MODEL_CLOZE

View file

@ -492,8 +492,14 @@ order by ordinal""", mid)):
bg = "white" bg = "white"
else: else:
bg = t['bg'] bg = t['bg']
t['css'] = t['css'].replace("white", bg).replace( css = ""
"center", ("center", "left", "right")[t['align']]) if t['bg'] != "white":
css = "background-color: %s;" % t['bg']
if t['align']:
css += "text-align: %s" % ("left", "right")[t['align']-1]
if css:
css = '\n.card%d { %s }' % (t['ord']+1, css)
m['css'] += css
# remove obsolete # remove obsolete
del t['bg'] del t['bg']
del t['align'] del t['align']