GithubHelp home page GithubHelp logo

sergio91pt / mathjax-phpbb-integration Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 1.0 1.22 MB

phpBB mod that enables users to post math in LaTeX and MathML, using the MathJax Javascript Library.

Home Page: http://www.phpbb.com/community/viewtopic.php?f=70&t=2133985

License: GNU General Public License v2.0

XSLT 38.23% PHP 56.30% JavaScript 0.25% CSS 5.22%

mathjax-phpbb-integration's People

Contributors

sergio91pt avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

bhanditz

mathjax-phpbb-integration's Issues

Update UMIL

Update the bundled UMIL library and re-test the installation.

A new version of ModX was also released. Adds a tag.

Disable options

I'm practically rewriting the mod (because of #1) so...

  • Global
  • ACP Posts:
    • Default behaviour is to also disable in PM's but not signatures. Only disables for new messages.
    • acp=board&mode=post
  • ACP PM's & profiles:
    • board&mode=message
    • board&mode=signature
  • Disable per ACP permissions (probably not for Milestone 0.2)

Font size (style) configuration

First of all thx for Your effort!
Secondly where do I find file responsible for configuration? I'd like to change rendered text font size. Style settings in mod's tab in admin's panel would be a great fature : )

Cleanup UMIL

TODO:

  • Rename the version variable to: "mathjaxbb_version"
    • On upgrade use the old var but deleting it after updating? (Needs Testing)
    • Remove UMIL records from 0.1 on newer installs? If so special care is needed.
  • Change to the "manual" method if suitable (Theres no need for now)
  • Check removal of config vars on uninstallation (the ones that might be created bot by UMIL but by ACP, if any)

Configuration on Install

Configuration should be done on install preferably on UMIL if it supports user input.

This implies some work to "port" parts of the acp module to UMIL and making sure theres no conflicts. Depending on how complex it becomes it might need UMIL's manual method.

Use "native" bbcode system

Fixes:

  • Drop pre-processors, which does unnecessary parsing on the whole page.
  • Trivially honors global and per post $allow_bbcode
  • No more LaTeX where its not supposed to be (eg. in topic title)

Requires:

  • Only bbcodes parsed by phpbb are "feeded" into Mathjax Queue
  • Latex code should be unescaped via javascript to avoid XSS attacks and then feeded to the queue. (done)

Problems:

  • How to mark valid parsed bbcodes to unescape/push to the Queue?
    • The queue proccess only html id'ed entities?? So... unescaping?!?
    • Add a javascript "compatibility layer" to solve the integration: looks for some class and add the ids?
  • Is the bbcode db method sufficient for this? Or do I need to HardCode it?

CDN https url changed

Mathjax CDN has a new provider and the HTTPS url was changed.
Everyone that used it without fallback, has it math replaced with the placeholders.

The HTTP url remains the same.

Check file permissions

Check file permissions specially when or before allowing the user to install the mod through UMIL.

Permission related problems are common and hard to troubleshoot without access to the servers.

Make sure to check templates/mathjax.html and the mathjax folder if one is provided.

Extensions ACP Module

I have been thinking about an extension module to configure MathJax. It would use json_econde() so, if this gets implemented the mod will only support php > 5.2 or even 5.3 if I really need that options parameter (for reference phpbb-develop requires 5.2).

I still didn't look at how to store the configuration. A whole database table yes, but how am I going to layout the different values since they can contain other objects/arrays?

Will update when I start working on this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.