msc-code-viewer

1.0.5 • Public • Published

msc-code-viewer

Published on webcomponents.org

As a web developer, show some demo code is a very common stuff. There are so many syntax highlighting libraries for the Web. highlight.js is one of the popular library. It is easy to use and there are so many themes for it. To make it more suitable for me, I wrap highlight.js and GitHub light / dark themes as a web component and named it <msc-code-viewer />. With <msc-code-viewer /> syntax highlighting is a piece of cake. It will switch light / dark mode as user preference. Of course「COPY」feature has already built-in.

<msc-web-push />

Basic Usage

<msc-code-viewer /> is a web component. All we need to do is put the required script into your HTML document. Then follow <msc-code-viewer />'s html structure and everything will be all set.

  • Required Script
<script
  type="module"
  src="https://your-domain/wc-msc-code-viewer.js">        
</script>
  • Structure

Put the content inside <msc-code-viewer /> as its child. It will have highlighting content.

<msc-code-viewer>
  <!-- Syntax highlighting content -->
  <style>
  body, .usertext {
    color: #F0F0F0; background: #600;
    font-family: Chunkfive, sans;
    --heading-1: 30px/32px Helvetica, sans-serif;
  }
  </style>
</msc-code-viewer>

JavaScript Instantiation

<msc-code-viewer /> could also use JavaScript to create DOM element. Here comes some examples.

<script type="module">
import { MscCodeViewer } from 'https://your-domain/wc-msc-code-viewer.js';

// use DOM api
const nodeA = document.createElement('msc-code-viewer');
document.body.appendChild(nodeA);
nodeA.textContent = `
Show me the money
`;

// new instance with Class
const nodeB = new MscCodeViewer();
document.body.appendChild(nodeB);
nodeB.textContent = `
Show me the money
`;
</script>

Style Customization

<msc-code-viewer /> uses CSS variables to style its interface. That means developer could easy change them into the lookup you like.

<style>
msc-code-viewer {
  --msc-code-viewer-border-radius: 16px;
}
</style>

Property

Property Name Type Description
value String Getter / Setter for value. Developers could use this property to setup syntax highlighting.

Event

Event Signature Description
msc-code-viewer-mutate Fired when mutated. Developers could get data througn event.detatil.
msc-code-viewer-copy Fired when copy button pressed. Developers could get data througn event.detatil.

Reference

Package Sidebar

Install

npm i msc-code-viewer

Weekly Downloads

19

Version

1.0.5

License

MIT

Unpacked Size

159 kB

Total Files

8

Last publish

Collaborators

  • meistudioli