تخصيص MWD لمعادلات الرياضيات
-
21-09-2019 - |
سؤال
مرحبا،
أريد تخصيص محرر WMD (أو WMD-New) لتحويل معادلات TEX مثل $ frac {2} {3} $ إلى صور API لـ Google Charts ()
هل من الممكن تخصيص كيفية إنشاء HTML؟
المحلول
قررت استخدام Markitup مع Python-Markdown التمديد الذي كتبته. إليك رمز محلل محرك تطبيقات Google:
import markdown
from urllib import urlencode
from markdown.inlinepatterns import Pattern
from google.appengine.ext import webapp
LATEX_RE = r'\${2}([^$]+)\${2}'
API_URL = 'http://chart.apis.google.com/chart?'
class LatexPattern(Pattern):
"""
Searchs for LaTex equations $$\latex$$ and
returns img tags using google charts API
"""
def handleMatch(self, m):
el = markdown.etree.Element('img')
src = API_URL + urlencode({
'chl': m.group(2),
'cht': 'tx'
})
el.set('src', src)
el.set('alt', m.group(2))
return el
class LatexExtension(markdown.Extension):
def extendMarkdown(self, md, md_globals):
md.inlinePatterns.add(
'latex',
LatexPattern(LATEX_RE, self),
'<automail'
)
class MarkdownHandler(webapp.RequestHandler):
def post(self):
data = self.request.get('data')
extension = LatexExtension(configs=[])
md = markdown.Markdown(extensions=[extension])
html = md.convert(data)
self.response.out.write(html)
لا تنتمي إلى StackOverflow