Skip to content

MetaPost language syntax highlighting plugin for highlight.js

License

Notifications You must be signed in to change notification settings

chupinmaxime/highlightjs-metapost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MetaPost - a language grammar for highlight.js

MetaPost refers to both a programming language and the interpreter of the MetaPost programming language. Both are derived from Donald Knuth's Metafont language and interpreter. MetaPost produces vector graphic diagrams from a geometric/algebraic description. The language shares Metafont's declarative syntax for manipulating lines, curves, points and geometric transformations.

Usage

Simply include the Highlight.js library in your webpage or Node app, then load this module.

Static website or simple usage

Simply load the module after loading Highlight.js. You'll use the minified version found in the dist directory. This module is just a CDN build of the language, so it will register itself as the Javascript is loaded.

<script type="text/javascript" src="/path/to/highlight.min.js"></script>
<script type="text/javascript" charset="UTF-8"
  src="/path/to/highlightjs-metapost/dist/metapost.min.js"></script>
<script type="text/javascript">
  hljs.highlightAll();
</script>

Using directly from the UNPKG CDN

<script type="text/javascript"
  src="https://unpkg.com/highlightjs-cypher/dist/metapost.min.js"></script>

With Node or another build system

If you're using Node / Webpack / Rollup / Browserify, etc, simply require the language module, then register it with Highlight.js.

var hljs = require('highlightjs');
var hljsMetapost = require('highlightjs-metapost');

hljs.registerLanguage("metapost", hljsMetapost);
hljs.highlightAll();

React

You need to import both Highlight.js and third-party language like Metapost:

import React, {Component} from 'react'
import 'highlight.js/scss/darcula.scss' # your favourite theme
import metapost from './metapost'
import hljs from 'highlight.js'
hljs.registerLanguage('metapost', metapost);

class Highlighter extends Component
{
  constructor(props)
  {
    super(props);
    hljs.highlightAll();
  }

  render()
  {
    let {children} = this.props;
    return
    {
      <pre ref={(node) => this.node = node}>
        <code className="metapost">
          {children}
        </code>
      </pre>
    }
  }
}

export default Highlighter;

License

Highlight.js is released under the CC0 1.0 License.

Author

Maxime Chupin [email protected]

Links

About

MetaPost language syntax highlighting plugin for highlight.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published