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
-
npm install joswhite/ng-prism -
angular.module('myApp', ['ng-prism']); -
<script src="ng-prism.js">
<link rel="stylesheet" href="ng-prism.css">
- 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 elements- If 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)
Run npm start and navigate to localhost:8080.
npm install -g gulp
- Build:
gulp build:development - Watch:
gulp - Works with LiveReload
- 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