<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="styles.css" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Aurelia</title>
</head>
<body aurelia-app="main">
<div class="splash">
<div class="message">Loading...</div>
</div>
<script data-require="jspm@0.16.7" data-semver="0.16.7" src="https://jspm.io/system@0.16.7.js"></script>
<script data-require="Aurelia@0.12.0" data-semver="0.12.0" src="https://rawgit.com/distros/aurelia/master/aurelia.js"></script>
<script src="config.js"></script>
<script>
System.import("aurelia-bootstrapper");
</script>
</body>
</html>
Aurelia Markdown custom element
uses prism to syntax highlight code blocks.
import 'bootstrap/css/bootstrap.css!';
import "prism/themes/prism-okaidia.css!";
export class App
{
constructor()
{
}
}
<template>
<markdown>
# Markdown custom element
This is an example of a **markdown custom element**
It also uses prism to syntax highlight code blocks !
```language-javascript
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging();
aurelia.globalizeResources("markdown");
aurelia.start().then(a => a.setRoot('app', document.body));
}
```
</markdown>
</template>
System.config({
"baseURL": ".",
"transpiler": "babel",
"babelOptions": {
"stage": 0
},
"paths": {
"*": "*.js"
}
});
System.config({
"map": {
"aurelia": "https://rawgit.com/distros/aurelia/0.12.0/aurelia",
"aurelia-animator-css": "github:aurelia/animator-css@0.1.0",
"aurelia-bootstrapper": "github:aurelia/bootstrapper@0.11.0",
"aurelia-dependency-injection": "github:aurelia/dependency-injection@0.6.0",
"aurelia-framework": "github:aurelia/framework@0.10.0",
"aurelia-http-client": "github:aurelia/http-client@0.7.0",
"aurelia-router": "github:aurelia/router@0.7.0",
"core-js": "npm:core-js@0.8.4",
"prism": "github:PrismJS/prism@master",
"showdown": "github:showdownjs/showdown@0.4.0",
"babel": "npm:babel@5.1.11",
"css": "github:systemjs/plugin-css@0.1.9",
"text": "github:systemjs/plugin-text@0.0.2",
"bootstrap": "github:twbs/bootstrap@3.3.4",
"font-awesome": "npm:font-awesome@4.3.0",
"github:aurelia/animator-css@0.1.0": {
"aurelia-templating": "github:aurelia/templating@0.10.3"
},
"github:aurelia/binding@0.5.0": {
"aurelia-dependency-injection": "github:aurelia/dependency-injection@0.6.0",
"aurelia-metadata": "github:aurelia/metadata@0.4.0",
"aurelia-task-queue": "github:aurelia/task-queue@0.3.0",
"core-js": "npm:core-js@0.8.4"
},
"github:aurelia/bootstrapper@0.11.0": {
"aurelia-event-aggregator": "github:aurelia/event-aggregator@0.3.0",
"aurelia-framework": "github:aurelia/framework@0.10.0",
"aurelia-history": "github:aurelia/history@0.3.0",
"aurelia-history-browser": "github:aurelia/history-browser@0.3.0",
"aurelia-loader-default": "github:aurelia/loader-default@0.6.0",
"aurelia-logging-console": "github:aurelia/logging-console@0.3.0",
"aurelia-router": "github:aurelia/router@0.7.0",
"aurelia-templating": "github:aurelia/templating@0.10.3",
"aurelia-templating-binding": "github:aurelia/templating-binding@0.10.0",
"aurelia-templating-resources": "github:aurelia/templating-resources@0.10.0",
"aurelia-templating-router": "github:aurelia/templating-router@0.11.0",
"core-js": "npm:core-js@0.8.4"
},
"github:aurelia/dependency-injection@0.6.0": {
"aurelia-logging": "github:aurelia/logging@0.3.0",
"aurelia-metadata": "github:aurelia/metadata@0.4.0",
"core-js": "npm:core-js@0.8.4"
},
"github:aurelia/framework@0.10.0": {
"aurelia-binding": "github:aurelia/binding@0.5.0",
"aurelia-dependency-injection": "github:aurelia/dependency-injection@0.6.0",
"aurelia-loader": "github:aurelia/loader@0.5.0",
"aurelia-logging": "github:aurelia/logging@0.3.0",
"aurelia-metadata": "github:aurelia/metadata@0.4.0",
"aurelia-path": "github:aurelia/path@0.5.0",
"aurelia-task-queue": "github:aurelia/task-queue@0.3.0",
"aurelia-templating": "github:aurelia/templating@0.10.3",
"core-js": "npm:core-js@0.8.4"
},
"github:aurelia/history-browser@0.3.0": {
"aurelia-history": "github:aurelia/history@0.3.0",
"core-js": "npm:core-js@0.8.4"
},
"github:aurelia/http-client@0.7.0": {
"aurelia-path": "github:aurelia/path@0.5.0",
"core-js": "npm:core-js@0.8.4"
},
"github:aurelia/loader-default@0.6.0": {
"aurelia-loader": "github:aurelia/loader@0.5.0",
"aurelia-metadata": "github:aurelia/metadata@0.4.0"
},
"github:aurelia/loader@0.5.0": {
"aurelia-html-template-element": "github:aurelia/html-template-element@0.2.0",
"aurelia-path": "github:aurelia/path@0.5.0",
"core-js": "npm:core-js@0.8.4",
"webcomponentsjs": "github:webcomponents/webcomponentsjs@0.5.5"
},
"github:aurelia/metadata@0.4.0": {
"core-js": "npm:core-js@0.8.4"
},
"github:aurelia/route-recognizer@0.3.0": {
"core-js": "npm:core-js@0.8.4"
},
"github:aurelia/router@0.7.0": {
"aurelia-dependency-injection": "github:aurelia/dependency-injection@0.6.0",
"aurelia-event-aggregator": "github:aurelia/event-aggregator@0.3.0",
"aurelia-history": "github:aurelia/history@0.3.0",
"aurelia-path": "github:aurelia/path@0.5.0",
"aurelia-route-recognizer": "github:aurelia/route-recognizer@0.3.0",
"core-js": "npm:core-js@0.8.4"
},
"github:aurelia/templating-binding@0.10.0": {
"aurelia-binding": "github:aurelia/binding@0.5.0",
"aurelia-logging": "github:aurelia/logging@0.3.0",
"aurelia-templating": "github:aurelia/templating@0.10.3"
},
"github:aurelia/templating-resources@0.10.0": {
"aurelia-binding": "github:aurelia/binding@0.5.0",
"aurelia-dependency-injection": "github:aurelia/dependency-injection@0.6.0",
"aurelia-logging": "github:aurelia/logging@0.3.0",
"aurelia-templating": "github:aurelia/templating@0.10.3",
"core-js": "npm:core-js@0.8.4"
},
"github:aurelia/templating-router@0.11.0": {
"aurelia-dependency-injection": "github:aurelia/dependency-injection@0.6.0",
"aurelia-metadata": "github:aurelia/metadata@0.4.0",
"aurelia-path": "github:aurelia/path@0.5.0",
"aurelia-router": "github:aurelia/router@0.7.0",
"aurelia-templating": "github:aurelia/templating@0.10.3"
},
"github:aurelia/templating@0.10.3": {
"aurelia-binding": "github:aurelia/binding@0.5.0",
"aurelia-dependency-injection": "github:aurelia/dependency-injection@0.6.0",
"aurelia-html-template-element": "github:aurelia/html-template-element@0.2.0",
"aurelia-loader": "github:aurelia/loader@0.5.0",
"aurelia-logging": "github:aurelia/logging@0.3.0",
"aurelia-metadata": "github:aurelia/metadata@0.4.0",
"aurelia-path": "github:aurelia/path@0.5.0",
"aurelia-task-queue": "github:aurelia/task-queue@0.3.0",
"core-js": "npm:core-js@0.8.4"
},
"github:jspm/nodelibs-assert@0.1.0": {
"assert": "npm:assert@1.3.0"
},
"github:jspm/nodelibs-buffer@0.1.0": {
"buffer": "npm:buffer@3.1.2"
},
"github:jspm/nodelibs-constants@0.1.0": {
"constants-browserify": "npm:constants-browserify@0.0.1"
},
"github:jspm/nodelibs-crypto@0.1.0": {
"crypto-browserify": "npm:crypto-browserify@3.9.14"
},
"github:jspm/nodelibs-events@0.1.0": {
"events-browserify": "npm:events-browserify@0.0.1"
},
"github:jspm/nodelibs-http@1.7.1": {
"Base64": "npm:Base64@0.2.1",
"events": "github:jspm/nodelibs-events@0.1.0",
"inherits": "npm:inherits@2.0.1",
"stream": "github:jspm/nodelibs-stream@0.1.0",
"url": "github:jspm/nodelibs-url@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"github:jspm/nodelibs-https@0.1.0": {
"https-browserify": "npm:https-browserify@0.0.0"
},
"github:jspm/nodelibs-net@0.1.2": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"http": "github:jspm/nodelibs-http@1.7.1",
"net": "github:jspm/nodelibs-net@0.1.2",
"process": "github:jspm/nodelibs-process@0.1.1",
"stream": "github:jspm/nodelibs-stream@0.1.0",
"timers": "github:jspm/nodelibs-timers@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"github:jspm/nodelibs-os@0.1.0": {
"os-browserify": "npm:os-browserify@0.1.2"
},
"github:jspm/nodelibs-path@0.1.0": {
"path-browserify": "npm:path-browserify@0.0.0"
},
"github:jspm/nodelibs-process@0.1.1": {
"process": "npm:process@0.10.1"
},
"github:jspm/nodelibs-stream@0.1.0": {
"stream-browserify": "npm:stream-browserify@1.0.0"
},
"github:jspm/nodelibs-timers@0.1.0": {
"timers-browserify": "npm:timers-browserify@1.4.0"
},
"github:jspm/nodelibs-tty@0.1.0": {
"tty-browserify": "npm:tty-browserify@0.0.0"
},
"github:jspm/nodelibs-url@0.1.0": {
"url": "npm:url@0.10.3"
},
"github:jspm/nodelibs-util@0.1.0": {
"util": "npm:util@0.10.3"
},
"github:jspm/nodelibs-vm@0.1.0": {
"vm-browserify": "npm:vm-browserify@0.0.4"
},
"github:systemjs/plugin-css@0.1.9": {
"clean-css": "npm:clean-css@3.1.9",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"path": "github:jspm/nodelibs-path@0.1.0"
},
"github:twbs/bootstrap@3.3.4": {
"jquery": "github:components/jquery@2.1.3"
},
"npm:amdefine@0.1.0": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"module": "github:jspm/nodelibs-module@0.1.0",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:anymatch@1.2.1": {
"arrify": "npm:arrify@1.0.0",
"micromatch": "npm:micromatch@2.1.6"
},
"npm:arr-diff@1.0.1": {
"array-slice": "npm:array-slice@0.2.3",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"path": "github:jspm/nodelibs-path@0.1.0"
},
"npm:asn1.js@1.0.4": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"bn.js": "npm:bn.js@1.3.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"inherits": "npm:inherits@2.0.1",
"minimalistic-assert": "npm:minimalistic-assert@1.0.0",
"vm": "github:jspm/nodelibs-vm@0.1.0"
},
"npm:assert@1.3.0": {
"util": "npm:util@0.10.3"
},
"npm:babel@5.1.11": {
"babel-core": "npm:babel-core@5.1.11",
"chokidar": "npm:chokidar@1.0.1",
"commander": "npm:commander@2.6.0",
"convert-source-map": "npm:convert-source-map@0.5.1",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"fs-readdir-recursive": "npm:fs-readdir-recursive@0.1.1",
"lodash": "npm:lodash@3.7.0",
"output-file-sync": "npm:output-file-sync@1.1.0",
"path": "github:jspm/nodelibs-path@0.1.0",
"path-is-absolute": "npm:path-is-absolute@1.0.0",
"process": "github:jspm/nodelibs-process@0.1.1",
"source-map": "npm:source-map@0.4.2",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
},
"npm:binary-extensions@1.3.0": {
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
},
"npm:braces@1.8.0": {
"expand-range": "npm:expand-range@1.8.1",
"preserve": "npm:preserve@0.2.0",
"repeat-element": "npm:repeat-element@1.1.0"
},
"npm:browserify-aes@1.0.0": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"create-hash": "npm:create-hash@1.1.1",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"inherits": "npm:inherits@2.0.1",
"stream": "github:jspm/nodelibs-stream@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
},
"npm:browserify-rsa@2.0.0": {
"bn.js": "npm:bn.js@1.3.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"constants": "github:jspm/nodelibs-constants@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"randombytes": "npm:randombytes@2.0.1"
},
"npm:browserify-sign@3.0.1": {
"bn.js": "npm:bn.js@1.3.0",
"browserify-rsa": "npm:browserify-rsa@2.0.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"create-hash": "npm:create-hash@1.1.1",
"create-hmac": "npm:create-hmac@1.1.3",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"elliptic": "npm:elliptic@1.0.1",
"inherits": "npm:inherits@2.0.1",
"parse-asn1": "npm:parse-asn1@3.0.0",
"stream": "github:jspm/nodelibs-stream@0.1.0",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
},
"npm:buffer@3.1.2": {
"base64-js": "npm:base64-js@0.0.8",
"ieee754": "npm:ieee754@1.1.4",
"is-array": "npm:is-array@1.0.1"
},
"npm:chokidar@1.0.1": {
"anymatch": "npm:anymatch@1.2.1",
"arrify": "npm:arrify@1.0.0",
"async-each": "npm:async-each@0.1.6",
"events": "github:jspm/nodelibs-events@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"fsevents": "npm:fsevents@0.3.5",
"glob-parent": "npm:glob-parent@1.2.0",
"is-binary-path": "npm:is-binary-path@1.0.0",
"is-glob": "npm:is-glob@1.1.3",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1",
"readdirp": "npm:readdirp@1.3.0"
},
"npm:clean-css@3.1.9": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"commander": "npm:commander@2.6.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"http": "github:jspm/nodelibs-http@1.7.1",
"https": "github:jspm/nodelibs-https@0.1.0",
"os": "github:jspm/nodelibs-os@0.1.0",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1",
"source-map": "npm:source-map@0.1.43",
"url": "github:jspm/nodelibs-url@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:commander@2.6.0": {
"child_process": "github:jspm/nodelibs-child_process@0.1.0",
"events": "github:jspm/nodelibs-events@0.1.0",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:constants-browserify@0.0.1": {
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
},
"npm:convert-source-map@0.5.1": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"path": "github:jspm/nodelibs-path@0.1.0"
},
"npm:core-js@0.8.4": {
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:core-util-is@1.0.1": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0"
},
"npm:create-ecdh@2.0.0": {
"bn.js": "npm:bn.js@1.3.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"elliptic": "npm:elliptic@1.0.1"
},
"npm:create-hash@1.1.1": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"inherits": "npm:inherits@2.0.1",
"ripemd160": "npm:ripemd160@1.0.0",
"sha.js": "npm:sha.js@2.4.0",
"stream": "github:jspm/nodelibs-stream@0.1.0"
},
"npm:create-hmac@1.1.3": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"create-hash": "npm:create-hash@1.1.1",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"inherits": "npm:inherits@2.0.1",
"stream": "github:jspm/nodelibs-stream@0.1.0"
},
"npm:crypto-browserify@3.9.14": {
"browserify-aes": "npm:browserify-aes@1.0.0",
"browserify-sign": "npm:browserify-sign@3.0.1",
"create-ecdh": "npm:create-ecdh@2.0.0",
"create-hash": "npm:create-hash@1.1.1",
"create-hmac": "npm:create-hmac@1.1.3",
"diffie-hellman": "npm:diffie-hellman@3.0.1",
"inherits": "npm:inherits@2.0.1",
"pbkdf2": "npm:pbkdf2@3.0.4",
"public-encrypt": "npm:public-encrypt@2.0.0",
"randombytes": "npm:randombytes@2.0.1"
},
"npm:debug@2.1.3": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"ms": "npm:ms@0.7.0",
"net": "github:jspm/nodelibs-net@0.1.2",
"process": "github:jspm/nodelibs-process@0.1.1",
"tty": "github:jspm/nodelibs-tty@0.1.0",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:diffie-hellman@3.0.1": {
"bn.js": "npm:bn.js@1.3.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"miller-rabin": "npm:miller-rabin@1.1.5",
"process": "github:jspm/nodelibs-process@0.1.1",
"randombytes": "npm:randombytes@2.0.1",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
},
"npm:elliptic@1.0.1": {
"bn.js": "npm:bn.js@1.3.0",
"brorand": "npm:brorand@1.0.5",
"hash.js": "npm:hash.js@1.0.2",
"inherits": "npm:inherits@2.0.1",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
},
"npm:events-browserify@0.0.1": {
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:expand-range@1.8.1": {
"fill-range": "npm:fill-range@2.2.2"
},
"npm:fill-range@2.2.2": {
"is-number": "npm:is-number@1.1.2",
"isobject": "npm:isobject@1.0.0",
"randomatic": "npm:randomatic@1.1.0",
"repeat-element": "npm:repeat-element@1.1.0",
"repeat-string": "npm:repeat-string@1.5.2"
},
"npm:font-awesome@4.3.0": {
"css": "github:systemjs/plugin-css@0.1.9"
},
"npm:for-own@0.1.3": {
"for-in": "npm:for-in@0.1.4"
},
"npm:fs-readdir-recursive@0.1.1": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"path": "github:jspm/nodelibs-path@0.1.0"
},
"npm:fsevents@0.3.5": {
"events": "github:jspm/nodelibs-events@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"nan": "npm:nan@1.5.3",
"process": "github:jspm/nodelibs-process@0.1.1",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:glob-base@0.2.0": {
"glob-parent": "npm:glob-parent@1.2.0",
"path": "github:jspm/nodelibs-path@0.1.0"
},
"npm:glob-parent@1.2.0": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"is-glob": "npm:is-glob@1.1.3",
"path": "github:jspm/nodelibs-path@0.1.0"
},
"npm:graceful-fs@2.0.3": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"constants": "github:jspm/nodelibs-constants@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"process": "github:jspm/nodelibs-process@0.1.1",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:hash.js@1.0.2": {
"inherits": "npm:inherits@2.0.1"
},
"npm:https-browserify@0.0.0": {
"http": "github:jspm/nodelibs-http@1.7.1"
},
"npm:inherits@2.0.1": {
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:is-binary-path@1.0.0": {
"binary-extensions": "npm:binary-extensions@1.3.0",
"path": "github:jspm/nodelibs-path@0.1.0"
},
"npm:is-equal-shallow@0.1.2": {
"is-primitive": "npm:is-primitive@1.0.0"
},
"npm:kind-of@1.1.0": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0"
},
"npm:lodash@3.7.0": {
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:micromatch@2.1.6": {
"arr-diff": "npm:arr-diff@1.0.1",
"braces": "npm:braces@1.8.0",
"debug": "npm:debug@2.1.3",
"expand-brackets": "npm:expand-brackets@0.1.1",
"filename-regex": "npm:filename-regex@2.0.0",
"is-glob": "npm:is-glob@1.1.3",
"kind-of": "npm:kind-of@1.1.0",
"object.omit": "npm:object.omit@0.2.1",
"parse-glob": "npm:parse-glob@3.0.1",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1",
"regex-cache": "npm:regex-cache@0.4.2"
},
"npm:miller-rabin@1.1.5": {
"bn.js": "npm:bn.js@1.3.0",
"brorand": "npm:brorand@1.0.5"
},
"npm:minimatch@0.2.14": {
"lru-cache": "npm:lru-cache@2.6.1",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1",
"sigmund": "npm:sigmund@1.0.0"
},
"npm:mkdirp@0.5.0": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"minimist": "npm:minimist@0.0.8",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:nan@1.5.3": {
"path": "github:jspm/nodelibs-path@0.1.0"
},
"npm:object.omit@0.2.1": {
"for-own": "npm:for-own@0.1.3",
"isobject": "npm:isobject@0.2.0"
},
"npm:os-browserify@0.1.2": {
"os": "github:jspm/nodelibs-os@0.1.0"
},
"npm:output-file-sync@1.1.0": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"mkdirp": "npm:mkdirp@0.5.0",
"path": "github:jspm/nodelibs-path@0.1.0",
"xtend": "npm:xtend@4.0.0"
},
"npm:parse-asn1@3.0.0": {
"asn1.js": "npm:asn1.js@1.0.4",
"browserify-aes": "npm:browserify-aes@1.0.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"create-hash": "npm:create-hash@1.1.1",
"pbkdf2-compat": "npm:pbkdf2-compat@3.0.2",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
},
"npm:parse-glob@3.0.1": {
"glob-base": "npm:glob-base@0.2.0",
"is-dotfile": "npm:is-dotfile@1.0.0",
"is-extglob": "npm:is-extglob@1.0.0",
"is-glob": "npm:is-glob@1.1.3"
},
"npm:path-browserify@0.0.0": {
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:path-is-absolute@1.0.0": {
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:pbkdf2-compat@3.0.2": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"child_process": "github:jspm/nodelibs-child_process@0.1.0",
"create-hmac": "npm:create-hmac@1.1.3",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
},
"npm:pbkdf2@3.0.4": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"child_process": "github:jspm/nodelibs-child_process@0.1.0",
"create-hmac": "npm:create-hmac@1.1.3",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1",
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
},
"npm:public-encrypt@2.0.0": {
"bn.js": "npm:bn.js@1.3.0",
"browserify-rsa": "npm:browserify-rsa@2.0.0",
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"create-hash": "npm:create-hash@1.1.1",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"parse-asn1": "npm:parse-asn1@3.0.0",
"randombytes": "npm:randombytes@2.0.1"
},
"npm:punycode@1.3.2": {
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:randomatic@1.1.0": {
"is-number": "npm:is-number@1.1.2",
"kind-of": "npm:kind-of@1.1.0"
},
"npm:randombytes@2.0.1": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:readable-stream@1.0.33": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"core-util-is": "npm:core-util-is@1.0.1",
"events": "github:jspm/nodelibs-events@0.1.0",
"inherits": "npm:inherits@2.0.1",
"isarray": "npm:isarray@0.0.1",
"process": "github:jspm/nodelibs-process@0.1.1",
"stream": "github:jspm/nodelibs-stream@0.1.0",
"stream-browserify": "npm:stream-browserify@1.0.0",
"string_decoder": "npm:string_decoder@0.10.31"
},
"npm:readdirp@1.3.0": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"graceful-fs": "npm:graceful-fs@2.0.3",
"minimatch": "npm:minimatch@0.2.14",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1",
"readable-stream": "npm:readable-stream@1.0.33",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:regex-cache@0.4.2": {
"is-equal-shallow": "npm:is-equal-shallow@0.1.2",
"is-primitive": "npm:is-primitive@2.0.0"
},
"npm:ripemd160@1.0.0": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:sha.js@2.4.0": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"inherits": "npm:inherits@2.0.1",
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:sigmund@1.0.0": {
"http": "github:jspm/nodelibs-http@1.7.1",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:source-map@0.1.43": {
"amdefine": "npm:amdefine@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:source-map@0.4.2": {
"amdefine": "npm:amdefine@0.1.0",
"fs": "github:jspm/nodelibs-fs@0.1.2",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:stream-browserify@1.0.0": {
"events": "github:jspm/nodelibs-events@0.1.0",
"inherits": "npm:inherits@2.0.1",
"readable-stream": "npm:readable-stream@1.0.33"
},
"npm:string_decoder@0.10.31": {
"buffer": "github:jspm/nodelibs-buffer@0.1.0"
},
"npm:timers-browserify@1.4.0": {
"process": "npm:process@0.10.1"
},
"npm:url@0.10.3": {
"assert": "github:jspm/nodelibs-assert@0.1.0",
"punycode": "npm:punycode@1.3.2",
"querystring": "npm:querystring@0.2.0",
"util": "github:jspm/nodelibs-util@0.1.0"
},
"npm:util@0.10.3": {
"inherits": "npm:inherits@2.0.1",
"process": "github:jspm/nodelibs-process@0.1.1"
},
"npm:vm-browserify@0.0.4": {
"indexof": "npm:indexof@0.0.1"
}
}
});
body{
padding: 20px;
}
import {inject,bindable,noView,useView,useShadowDOM,skipContentProcessing} from 'aurelia-framework';
import showdown from 'showdown';
import prism from 'prism';
@skipContentProcessing
@noView
//@useShadowDOM // This currently has no effect when used with @noView, this should replace line 16
//@useStyle('prism/themes/prism-okaidia.css') // This would be nice, this should replace line 21
@inject(Element)
export class MarkdownCustomElement {
constructor(element){
this.element = element;
this.converter = new showdown.converter();
this.root = element.createShadowRoot();
}
attached(){
this.valueChanged(this.element.innerHTML);
injectStyle(this.root,'prism/themes/prism-okaidia.css');
}
static beforeCompile(template) {
if(template.content) addStyle(template.content, style);
}
valueChanged(newValue){
this.root.innerHTML = this.converter.makeHtml(dedent(newValue));
let codes = this.root.querySelectorAll('pre code');
for(let node of codes) prism.highlightElement(node);
}
}
export function injectStyle(el, stylePath) {
System.import(stylePath+"!text").then(data=>{
let style = document.createElement('style');
style.appendChild(document.createTextNode(data));
el.appendChild(style);
});
}
export function dedent(str){
var match = str.match(/^[ \t]*(?=\S)/gm);
if (!match) return str;
var indent = Math.min.apply(Math, match.map(function (el) {
return el.length;
}));
var re = new RegExp('^[ \\t]{' + indent + '}', 'gm');
return indent > 0 ? str.replace(re, '') : str;
}
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging();
aurelia.globalizeResources("markdown");
aurelia.start().then(a => a.setRoot('app', document.body));
}