Git Product home page Git Product logo

react-hook-mathjax's Introduction

Deployment

In order to deploy, this script is pipelined from gh-->dh-->k8s. Because we are using an arm image and docker hub uses amd, we need to virtualize the docker hub environment or the build will fail. We can do this with qemu. If the image is not available, pull it with this and keep it in the home directory of the project:

curl -L https://github.com/balena-io/qemu/releases/download/v3.0.0%2Bresin/qemu-3.0.0+resin-arm.tar.gz | tar zxvf - -C . && mv qemu-3.0.0+resin-arm/qemu-arm-static .

For more details on this check out this blog post:

https://www.balena.io/blog/building-arm-containers-on-any-x86-machine-even-dockerhub/

At present, the "serve" npm package seems to be installing globally without the -g flag. If that stops working you may need to follow these guidelines in the dockerfile in order to get the build to work

#installing global npm package
ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
# optionally if you want to run npm global bin without specifying path
ENV PATH=$PATH:/home/node/.npm-global/bin 
RUN npm install -g serve

At the end of the day, if running on k8s cluster

git push origin master

will build and deploy

Or, if running on gh-pages ensure that you have access to the production repo jpribyl.github.io and then deploy with either

npm run deploy:dev

or

npm run deploy:prod

This project was bootstrapped with Create React App.

Available Scripts

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

npm run eject

Note: this is a one-way operation. Once you eject, you can’t go back!

If you aren’t satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

Learn More

You can learn more in the Create React App documentation.

To learn React, check out the React documentation.

react-hook-mathjax's People

Contributors

jpribyl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

react-hook-mathjax's Issues

The latex code is not being converted into Math formulas, on passing the latex text as input. It outputs empty span tags i.e(<span></span>)

import Tex2SVG, { MathJaxProvider } from "react-hook-mathjax";
const mathJaxOptions = {
svg: {
scale: 1, // global scaling factor for all expressions
minScale: 0.5, // smallest scaling factor to use
mtextInheritFont: false, // true to make mtext elements use surrounding font
merrorInheritFont: true, // true to make merror text use surrounding font
mathmlSpacing: false, // true for MathML spacing rules, false for TeX rules
skipAttributes: {}, // RFDa and other attributes NOT to copy to the output
exFactor: 0.5, // default size of ex in em units
displayAlign: "center", // default for indentalign when set to 'auto'
displayIndent: "0", // default for indentshift when set to 'auto'
fontCache: "local", // or 'global' or 'none'
localID: null, // ID to use for local font cache (for single equation processing)
internalSpeechTitles: true, // insert <title> tags with speech content
titleID: 0, // initial id number to use for aria-labeledby titles
},

```

get following error on right click on browser

@jpribyl

code

import Tex2SVG, { MathJaxProvider } from "react-hook-mathjax";

const mathJax = {
options: {
enableMenu: false
}
};

const App = ( ) => {
return (
<MathJaxProvider options={mathJax}>
<Tex2SVG display="inline" latex="\sum_{i=1}^{n}\frac{S_i}{S_{RL}}\leq1\:\:\:\:where\:S_i\:is\:the\:power\:density\:of\:the\: i^{th}\:frequency\:\:\:\:(1)" />
</MathJaxProvider>
)}

output

mathjax

error on right click on formula and click outside

focus

Problem with \colorbox when using in two instances of Tex2SVG

Hello,
Thanks for your project!
I've just tried to use \colorbox with two instances - the rendering for \colorbox is not working
Code example:

<Tex2SVG display="inline" latex="\colorbox{aqua}{$test$}" />
<Tex2SVG display="inline" latex="\colorbox{aqua}{$test$}" />

It works fine if I use only one Tex2SVG instance.

develop and build version behave differently

When I include it into our dependencies, it works fine in develop environment, it is including the following subsequent request.

Screen Shot 2020-12-22 at 3 51 42 PM

But when I build the project and test it, I only can see this

Screen Shot 2020-12-22 at 3 51 55 PM

Adding delimiters to ignore non-math text

My goal is to render part of the text in latex. For example:

{The sum of $$n$$ numbers is $$n(n+1)/2$$} should render as {The sum of n numbers is n(n+1)/2}.

Only everything in $$...$$ should be turned into an svg.

I have been trying to use the delimiter option in Mathjax. I'm guessing that this regards text outside the delimiters as non-math and renders is normally. But it appears to be doing nothing. I used this as my options for the MathJaxProvider:

{
        tex: {
            inlineMath: [ 
                ['$$', '$$']
            ]
        }
}

I only want part of the text to be processed to latex. Is all text in the latex prop assumed to be latex, or is there a MathJax option that I can add to skip normal text? I could manually delimit and insert <Tex2SVG latex={latex}/> whenever I do find a $$...$$ but maybe there is an in-built option or maybe a feature request?

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.