1.3.4 • Published 6 years ago
@microfocus/ng-prism v1.3.4
ng-prism
Provides dynamic syntax highlighting for your documentation app using PrismJS and AngularJS.
- Eliminates the need to painfully copy and escape HTML in your code demos
- Can be used with routing libraries such as UI-Router
- See this Plunkr for a live demo
Installation
npm install joswhite/ng-prismangular.module('myApp', ['ng-prism']);<script src="ng-prism.js"><link rel="stylesheet" href="ng-prism.css">
Use
- See examples in
src/index.html
General Uses
pre > code[highlight="language-xxxx"](highlights the code inside it)highlightattribute specifies PrismJS language (default:language-javascript)- HTML markup needs to be escaped
PrismJS direct use (see PrismJS website)
- If using a routing library, use
pre > code[highlight]instead
- If using a routing library, use
Dynamic Uses
repeat-as-codeattribute (retains HTML element and highlights the code that created it)repeat-as-code="inner"highlights the code that created its HTML children elementsIf present,
prism-insert-idattribute specifies where the highlighted code should be inserted
toggle-repeat-codeattribute (repeat-as-codewith a "Show Code" button)toggleable-codeelement ("Show Code" button to show/hide everything inside it)
Documentation Examples App
Run npm start and navigate to localhost:8080.
Development
npm install -g gulp
- Build:
gulp build:development - Watch:
gulp - Works with LiveReload
Notes
- Default theme is prism-okaidia. You can change this in
src/main.scss - The consuming application is responsible for styling the "Show Code" button
- ng-prism converts 4 spaces to the tab character and forces LTR display on the code block
- This project uses ng-gulp