From 4a9cfda0bdae45494fc9e1ce3f680e194a43c7aa Mon Sep 17 00:00:00 2001 From: Henk Kalkwater Date: Wed, 24 Jun 2020 10:08:28 +0200 Subject: [PATCH] Initial commit --- .gitignore | 15 + default.nix | 2 + dub.json | 13 + dub.selections.json | 21 + dub.selections.json.bak | 20 + dub.selections.nix | 194 ++++ mijnblog.nix | 12 + mkDub.nix | 121 +++ public/static/img/256x256 | Bin 0 -> 28564 bytes public/static/img/chris-icoon.png | Bin 0 -> 28424 bytes public/static/img/logo.gif | Bin 0 -> 6209 bytes public/static/img/logo.png | Bin 0 -> 3406 bytes public/static/img/logo.png.bak | Bin 0 -> 17133 bytes public/static/script/prism.js | 1238 ++++++++++++++++++++++ public/static/style/base.css | 139 +++ public/static/style/highlight.css | 62 ++ public/static/style/mobile.css | 3 + public/static/style/old.css | 45 + public/static/style/old/bullet.gif | Bin 0 -> 326 bytes public/static/style/old/chip.jpg | Bin 0 -> 96912 bytes public/static/style/old/cursor-over.gif | Bin 0 -> 299 bytes public/static/style/old/cursor.gif | Bin 0 -> 299 bytes public/static/style/old/skull-border.gif | Bin 0 -> 252630 bytes public/static/style/old/skull.gif | Bin 0 -> 40167 bytes public/static/style/prism.css | 195 ++++ shell.nix | 16 + source/app.d | 144 +++ source/article.d | 85 ++ source/page.d | 119 +++ source/project.d | 46 + source/utils.d | 16 + source/watcher.d | 115 ++ views/pages/article-list.dt | 26 + views/pages/article.dt | 17 + views/pages/error.dt | 12 + views/pages/page.dt | 12 + views/pages/project-list.dt | 25 + views/parts/article-fragment.dt | 0 views/parts/menu.dt | 14 + views/parts/page.dt | 16 + 40 files changed, 2743 insertions(+) create mode 100644 .gitignore create mode 100644 default.nix create mode 100644 dub.json create mode 100644 dub.selections.json create mode 100644 dub.selections.json.bak create mode 100644 dub.selections.nix create mode 100644 mijnblog.nix create mode 100644 mkDub.nix create mode 100644 public/static/img/256x256 create mode 100644 public/static/img/chris-icoon.png create mode 100644 public/static/img/logo.gif create mode 100644 public/static/img/logo.png create mode 100644 public/static/img/logo.png.bak create mode 100644 public/static/script/prism.js create mode 100644 public/static/style/base.css create mode 100644 public/static/style/highlight.css create mode 100644 public/static/style/mobile.css create mode 100644 public/static/style/old.css create mode 100644 public/static/style/old/bullet.gif create mode 100644 public/static/style/old/chip.jpg create mode 100644 public/static/style/old/cursor-over.gif create mode 100644 public/static/style/old/cursor.gif create mode 100644 public/static/style/old/skull-border.gif create mode 100644 public/static/style/old/skull.gif create mode 100644 public/static/style/prism.css create mode 100644 shell.nix create mode 100644 source/app.d create mode 100644 source/article.d create mode 100644 source/page.d create mode 100644 source/project.d create mode 100644 source/utils.d create mode 100644 source/watcher.d create mode 100644 views/pages/article-list.dt create mode 100644 views/pages/article.dt create mode 100644 views/pages/error.dt create mode 100644 views/pages/page.dt create mode 100644 views/pages/project-list.dt create mode 100644 views/parts/article-fragment.dt create mode 100644 views/parts/menu.dt create mode 100644 views/parts/page.dt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b00a98c --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +.dub +docs.json +__dummy.html +docs/ +/mijnblog +mijnblog.so +mijnblog.dylib +mijnblog.dll +mijnblog.a +mijnblog.lib +mijnblog-test-* +*.exe +*.o +*.obj +*.lst diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..f5e21b4 --- /dev/null +++ b/default.nix @@ -0,0 +1,2 @@ +{ pkgs ? import {} }: +pkgs.callPackage ./mijnblog.nix {} diff --git a/dub.json b/dub.json new file mode 100644 index 0000000..9c4a598 --- /dev/null +++ b/dub.json @@ -0,0 +1,13 @@ +{ + "authors": [ + "Chris Josten" + ], + "copyright": "Copyright © 2019, Chris Josten", + "dependencies": { + "dyaml": "~>0.8.0", + "vibe-d": "~>0.8.6" + }, + "description": "A blog based on Markdown and JSON", + "license": "AGPLv3", + "name": "mijnblog" +} diff --git a/dub.selections.json b/dub.selections.json new file mode 100644 index 0000000..a285e5c --- /dev/null +++ b/dub.selections.json @@ -0,0 +1,21 @@ +{ + "fileVersion": 1, + "versions": { + "botan": "1.12.10", + "botan-math": "1.0.3", + "diet-ng": "1.6.0", + "dyaml": "0.8.0", + "eventcore": "0.8.48", + "fswatch": "0.5.0", + "libasync": "0.8.4", + "libevent": "2.0.2+2.0.16", + "memutils": "0.4.13", + "mir-linux-kernel": "1.0.1", + "openssl": "1.1.6+1.0.1g", + "stdx-allocator": "2.77.5", + "taggedalgebraic": "0.11.7", + "tinyendian": "0.2.0", + "vibe-core": "1.7.0", + "vibe-d": "0.8.6" + } +} diff --git a/dub.selections.json.bak b/dub.selections.json.bak new file mode 100644 index 0000000..25a798d --- /dev/null +++ b/dub.selections.json.bak @@ -0,0 +1,20 @@ +{ + "fileVersion": 1, + "versions": { + "botan": "1.12.10", + "botan-math": "1.0.3", + "diet-ng": "1.5.0", + "dyaml": "0.8.0", + "eventcore": "0.8.43", + "libasync": "0.8.4", + "libevent": "2.0.2+2.0.16", + "memutils": "0.4.13", + "mir-linux-kernel": "1.0.1", + "openssl": "1.1.6+1.0.1g", + "stdx-allocator": "2.77.5", + "taggedalgebraic": "0.11.4", + "tinyendian": "0.2.0", + "vibe-core": "1.6.2", + "vibe-d": "0.8.6" + } +} diff --git a/dub.selections.nix b/dub.selections.nix new file mode 100644 index 0000000..0f29e20 --- /dev/null +++ b/dub.selections.nix @@ -0,0 +1,194 @@ +# This file was generated by https://github.com/lionello/dub2nix v0.2.1 +[ { + fetch = { + type = "git"; + url = "https://github.com/D-Programming-Deimos/libevent.git"; + rev = "v2.0.2+2.0.16"; + sha256 = "1axv0pv5w26i61m191570ydfxb3gghgn8yh654qjyxi0cxvn92bf"; + fetchSubmodules = false; + date = "2016-11-29T18:50:57-08:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/hyv33akqdvhk978p1inmy0r64vimhrdl-libevent"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/kiith-sa/tinyendian.git"; + rev = "v0.2.0"; + sha256 = "086gf5aga52wr5rj2paq54daj8lafn980x77b706vvvqaz2mlis8"; + fetchSubmodules = false; + date = "2018-06-10T11:04:28+02:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/9c7fsmi5am84j6dq2mp3va306x3ay291-tinyendian"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/libmir/mir-linux-kernel.git"; + rev = "v1.0.1"; + sha256 = "1gcaavsni47352nvw9s41zkaswd582cafq3931i0zinhd9s3clag"; + fetchSubmodules = false; + date = "2018-08-04T16:03:31+07:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/qz6axwci8kb1477j9dzgq85nscjfyvj1-mir-linux-kernel"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/etcimon/botan-math.git"; + rev = "v1.0.3"; + sha256 = "0jbpgpd1sjkp5075xh0k7m4m2d3yahi5scx3ql35fj4yns2mn2fq"; + fetchSubmodules = false; + date = "2016-08-23T10:45:25-04:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/dic7r8jab936cgqc9fck032r49nvgv07-botan-math"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/etcimon/memutils.git"; + rev = "v0.4.13"; + sha256 = "12mssymhimfsw6flkchqg0ql3qrs91dlh88xjdw5il8rb4h4ddfz"; + fetchSubmodules = false; + date = "2018-10-09T11:51:45-04:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/hszwaxwm26bqp3h761j3kq1hsbs3hpra-memutils"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/s-ludwig/taggedalgebraic.git"; + rev = "v0.11.7"; + sha256 = "1q8pg3r1zw72114y76kgr73iylp77m4wrl180r6d632vc0x8r58f"; + fetchSubmodules = false; + date = "2019-11-01T09:00:47+01:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/x1qwbzxp7nx0fpwvr4v30j0nnwf6pjcx-taggedalgebraic"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/vibe-d/vibe-core.git"; + rev = "v1.7.0"; + sha256 = "0mp8daspzn0ww9jr6nf0zwdj6ff6j7l4j5h6h450z18zn7kjkd8x"; + fetchSubmodules = false; + date = "2019-09-17T23:40:53+02:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/g46p3lfzkcsrdcvxv25a2g2vhcfghdgr-vibe-core"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/vibe-d/vibe.d.git"; + rev = "v0.8.6"; + sha256 = "1zqan3rsjmkxnq8wxnzrj4vw912lnnp2fphzfz1sriyysj59b28f"; + fetchSubmodules = false; + date = "2019-10-03T17:14:48+02:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/wsskmj5cs3p6nlkfc80z8bm90nxxvy0n-vibe.d"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/wilzbach/stdx-allocator.git"; + rev = "v2.77.5"; + sha256 = "03av8zp5p6vf6fg005xbmwnjfw96jyrr4dcj4m56c4a3vx7v72pk"; + fetchSubmodules = false; + date = "2018-12-23T13:54:22+01:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/b3h25asfh205wzwjfzjf2k2kkccpp96k-stdx-allocator"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/etcimon/botan.git"; + rev = "v1.12.10"; + sha256 = "02zrq9wcb1hhsl9psgkvi65g6c7g990yy9d75gjgbz4b1wb61nwf"; + fetchSubmodules = false; + date = "2018-06-22T15:33:04-04:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/a1431sfkpz8dk0jlix5zn90g19av1lnc-botan"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/rejectedsoftware/diet-ng.git"; + rev = "v1.6.0"; + sha256 = "02pj2rf2qfi0acnw496nr480hj47ggy4isfhsvdajd6al4h03a6x"; + fetchSubmodules = false; + date = "2019-08-16T19:55:02+02:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/jld9bk9vr9k2pfb3li1zcvhilka8gdzl-diet-ng"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/WebFreak001/FSWatch.git"; + rev = "v0.5.0"; + sha256 = "1msv98hvxg1nr44yp8pm1as3byx0ibxfpr662564zdq5afci49fc"; + fetchSubmodules = false; + date = "2019-06-13T21:48:00+02:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/88dmp1a4cygp3phm1xb7m663jpqhih42-FSWatch"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/D-Programming-Deimos/openssl.git"; + rev = "v1.1.6+1.0.1g"; + sha256 = "0ramqjyq4v7xpqwf4nf4ddmsg6yk2fbzn2d1yj4b6dla3q5lv9i3"; + fetchSubmodules = false; + date = "2017-11-05T20:15:26+01:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/jbfb5in6gzqs2byn1hdc1625yh8sx6j2-openssl"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/vibe-d/eventcore.git"; + rev = "v0.8.48"; + sha256 = "1ifx4sr04x7mvw1w9g3n72szy83q487ya0yi212czys4bgwdvkiz"; + fetchSubmodules = false; + date = "2019-10-25T22:46:08+02:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/65g2z4y29z49cfjvan2dz01nyd4x5mdp-eventcore"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/kiith-sa/D-YAML.git"; + rev = "v0.8.0"; + sha256 = "1my9yck316q0kqalxkhfpffgvrfskin4qw3171md4iz3qbhwb799"; + fetchSubmodules = false; + date = "2019-05-26T20:26:26+02:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/v30av8a9fqrvhqz09qqiljbcr88dbx0z-D-YAML"; + }; +} { + fetch = { + type = "git"; + url = "https://github.com/etcimon/libasync.git"; + rev = "v0.8.4"; + sha256 = "13v3dg0838j9h377cs9bq2nk71nrchx6kix9mwiy0fhw7sf7nxb4"; + fetchSubmodules = false; + date = "2019-02-28T10:02:56-05:00"; + deepClone = false; + leaveDotGit = false; + path = "/nix/store/6b552a8zdl8z99gc11xgj95k52vwvlcw-libasync"; + }; +} ] \ No newline at end of file diff --git a/mijnblog.nix b/mijnblog.nix new file mode 100644 index 0000000..710b373 --- /dev/null +++ b/mijnblog.nix @@ -0,0 +1,12 @@ +{pkgs}: +with (import ./mkDub.nix { + inherit pkgs; +}); +mkDubDerivation { + src = ./.; + dubJSON = ./dub.json; + selections = ./dub.selections.nix; + version = "0.0.1"; + buildInputs = [ pkgs.openssl ]; + propagatedBuildInputs = [ pkgs.nix-prefetch-git ]; +} diff --git a/mkDub.nix b/mkDub.nix new file mode 100644 index 0000000..2600d30 --- /dev/null +++ b/mkDub.nix @@ -0,0 +1,121 @@ +{ pkgs ? import {}, + stdenv ? pkgs.stdenv, + rdmd ? pkgs.rdmd, + dmd ? pkgs.dmd, + dub ? pkgs.dub }: + +with stdenv; +let + # Filter function to remove the .dub package folder from src + filterDub = name: type: let baseName = baseNameOf (toString name); in ! ( + type == "directory" && baseName == ".dub" + ); + + # Convert a GIT rev string (tag) to a simple semver version + rev-to-version = builtins.replaceStrings ["v" "refs/tags/v"] ["" ""]; + + dep2src = dubDep: pkgs.fetchgit { inherit (dubDep.fetch) url rev sha256 fetchSubmodules; }; + + # Fetch a dependency (source only for now) + fromDub = dubDep: mkDerivation rec { + name = "${src.name}-${version}"; + version = rev-to-version dubDep.fetch.rev; + nativeBuildInputs = [ rdmd dmd dub ]; + src = dep2src dubDep; + + buildPhase = '' + runHook preBuild + export HOME=$PWD + dub build -b=release + runHook postBuild + ''; + + # outputs = [ "lib" ]; + + # installPhase = '' + # runHook preInstall + # mkdir -p $out/bin + # runHook postInstall + # ''; + }; + + # Adds a local package directory (e.g. a git repository) to Dub + dub-add-local = dubDep: "dub add-local ${(fromDub dubDep).src.outPath} ${rev-to-version dubDep.fetch.rev}"; + + # The target output of the Dub package + targetOf = package: "${package.targetPath or "."}/${package.targetName or package.name}"; + + # Remove reference to build tools and library sources + disallowedReferences = deps: [ dmd rdmd dub ] ++ builtins.map dep2src deps; + + removeExpr = refs: ''remove-references-to ${lib.concatMapStrings (ref: " -t ${ref}") refs}''; + +in { + inherit fromDub; + + mkDubDerivation = lib.makeOverridable ({ + src, + nativeBuildInputs ? [], + dubJSON ? src + "/dub.json", + selections ? src + "/dub.selections.nix", + deps ? import selections, + passthru ? {}, + package ? lib.importJSON dubJSON, + ... + } @ attrs: stdenv.mkDerivation (attrs // { + + pname = package.name; + + nativeBuildInputs = [ rdmd dmd dub pkgs.removeReferencesTo ] ++ nativeBuildInputs; + disallowedReferences = disallowedReferences deps; + + passthru = passthru // { + inherit dub dmd rdmd pkgs; + }; + + src = lib.cleanSourceWith { + filter = filterDub; + src = lib.cleanSource src; + }; + + preFixup = '' + find $out/bin -type f -exec ${removeExpr (disallowedReferences deps)} '{}' + || true + ''; + + buildPhase = '' + runHook preBuild + + export HOME=$PWD + ${lib.concatMapStringsSep "\n" dub-add-local deps} + dub build -b release --combined --skip-registry=all + + runHook postBuild + ''; + + checkPhase = '' + runHook preCheck + + export HOME=$PWD + ${lib.concatMapStringsSep "\n" dub-add-local deps} + dub test --combined --skip-registry=all + + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp -r "${targetOf package}" $out/bin + + runHook postInstall + ''; + + meta = lib.optionalAttrs (package ? description) { + description = package.description; + } // attrs.meta or {}; + } // lib.optionalAttrs (!(attrs ? version)) { + # Use name from dub.json, unless pname and version are specified + name = package.name; + })); +} diff --git a/public/static/img/256x256 b/public/static/img/256x256 new file mode 100644 index 0000000000000000000000000000000000000000..7a4bb2c3cc30937eaae3672ffbea57a527823b7b GIT binary patch literal 28564 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 bnX?tAldH|=LoqV&AV67OL#|53G~|B)i(huG literal 0 HcmV?d00001 diff --git a/public/static/script/prism.js b/public/static/script/prism.js new file mode 100644 index 0000000..66ca98c --- /dev/null +++ b/public/static/script/prism.js @@ -0,0 +1,1238 @@ +/* PrismJS 1.17.1 +https://prismjs.com/download.html#themes=prism-solarizedlight&languages=markup+css+clike+javascript+c+cpp+d+java+json&plugins=line-numbers */ +var _self = (typeof window !== 'undefined') + ? window // if in browser + : ( + (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) + ? self // if in worker + : {} // if in node js + ); + +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * MIT license http://www.opensource.org/licenses/mit-license.php/ + * @author Lea Verou http://lea.verou.me + */ + +var Prism = (function (_self){ + +// Private helper vars +var lang = /\blang(?:uage)?-([\w-]+)\b/i; +var uniqueId = 0; + +/** + * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class. + * + * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned. + * + * @param {Element} element + * @returns {string} + */ +function getLanguage(element) { + while (element && !lang.test(element.className)) { + element = element.parentNode; + } + if (element) { + return (element.className.match(lang) || [, 'none'])[1].toLowerCase(); + } + return 'none'; +} + + +var _ = { + manual: _self.Prism && _self.Prism.manual, + disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler, + util: { + encode: function (tokens) { + if (tokens instanceof Token) { + return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias); + } else if (Array.isArray(tokens)) { + return tokens.map(_.util.encode); + } else { + return tokens.replace(/&/g, '&').replace(/ text.length) { + // Something went terribly wrong, ABORT, ABORT! + return; + } + + if (str instanceof Token) { + continue; + } + + if (greedy && i != strarr.length - 1) { + pattern.lastIndex = pos; + var match = pattern.exec(text); + if (!match) { + break; + } + + var from = match.index + (lookbehind && match[1] ? match[1].length : 0), + to = match.index + match[0].length, + k = i, + p = pos; + + for (var len = strarr.length; k < len && (p < to || (!strarr[k].type && !strarr[k - 1].greedy)); ++k) { + p += strarr[k].length; + // Move the index i to the element in strarr that is closest to from + if (from >= p) { + ++i; + pos = p; + } + } + + // If strarr[i] is a Token, then the match starts inside another Token, which is invalid + if (strarr[i] instanceof Token) { + continue; + } + + // Number of tokens to delete and replace with the new match + delNum = k - i; + str = text.slice(pos, p); + match.index -= pos; + } else { + pattern.lastIndex = 0; + + var match = pattern.exec(str), + delNum = 1; + } + + if (!match) { + if (oneshot) { + break; + } + + continue; + } + + if(lookbehind) { + lookbehindLength = match[1] ? match[1].length : 0; + } + + var from = match.index + lookbehindLength, + match = match[0].slice(lookbehindLength), + to = from + match.length, + before = str.slice(0, from), + after = str.slice(to); + + var args = [i, delNum]; + + if (before) { + ++i; + pos += before.length; + args.push(before); + } + + var wrapped = new Token(token, inside? _.tokenize(match, inside) : match, alias, match, greedy); + + args.push(wrapped); + + if (after) { + args.push(after); + } + + Array.prototype.splice.apply(strarr, args); + + if (delNum != 1) + _.matchGrammar(text, strarr, grammar, i, pos, true, token + ',' + j); + + if (oneshot) + break; + } + } + } + }, + + tokenize: function(text, grammar) { + var strarr = [text]; + + var rest = grammar.rest; + + if (rest) { + for (var token in rest) { + grammar[token] = rest[token]; + } + + delete grammar.rest; + } + + _.matchGrammar(text, strarr, grammar, 0, 0, false); + + return strarr; + }, + + hooks: { + all: {}, + + add: function (name, callback) { + var hooks = _.hooks.all; + + hooks[name] = hooks[name] || []; + + hooks[name].push(callback); + }, + + run: function (name, env) { + var callbacks = _.hooks.all[name]; + + if (!callbacks || !callbacks.length) { + return; + } + + for (var i=0, callback; callback = callbacks[i++];) { + callback(env); + } + } + }, + + Token: Token +}; + +_self.Prism = _; + +function Token(type, content, alias, matchedStr, greedy) { + this.type = type; + this.content = content; + this.alias = alias; + // Copy of the full string this token was created from + this.length = (matchedStr || '').length|0; + this.greedy = !!greedy; +} + +Token.stringify = function(o, language) { + if (typeof o == 'string') { + return o; + } + + if (Array.isArray(o)) { + return o.map(function(element) { + return Token.stringify(element, language); + }).join(''); + } + + var env = { + type: o.type, + content: Token.stringify(o.content, language), + tag: 'span', + classes: ['token', o.type], + attributes: {}, + language: language + }; + + if (o.alias) { + var aliases = Array.isArray(o.alias) ? o.alias : [o.alias]; + Array.prototype.push.apply(env.classes, aliases); + } + + _.hooks.run('wrap', env); + + var attributes = Object.keys(env.attributes).map(function(name) { + return name + '="' + (env.attributes[name] || '').replace(/"/g, '"') + '"'; + }).join(' '); + + return '<' + env.tag + ' class="' + env.classes.join(' ') + '"' + (attributes ? ' ' + attributes : '') + '>' + env.content + ''; +}; + +if (!_self.document) { + if (!_self.addEventListener) { + // in Node.js + return _; + } + + if (!_.disableWorkerMessageHandler) { + // In worker + _self.addEventListener('message', function (evt) { + var message = JSON.parse(evt.data), + lang = message.language, + code = message.code, + immediateClose = message.immediateClose; + + _self.postMessage(_.highlight(code, _.languages[lang], lang)); + if (immediateClose) { + _self.close(); + } + }, false); + } + + return _; +} + +//Get current script and highlight +var script = document.currentScript || [].slice.call(document.getElementsByTagName('script')).pop(); + +if (script) { + _.filename = script.src; + + if (script.hasAttribute('data-manual')) { + _.manual = true; + } +} + +if (!_.manual) { + function highlightAutomaticallyCallback() { + if (!_.manual) { + _.highlightAll(); + } + } + + if(document.readyState !== 'loading') { + if (window.requestAnimationFrame) { + window.requestAnimationFrame(highlightAutomaticallyCallback); + } else { + window.setTimeout(highlightAutomaticallyCallback, 16); + } + } + else { + document.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback); + } +} + +return _; + +})(_self); + +if (typeof module !== 'undefined' && module.exports) { + module.exports = Prism; +} + +// hack for components to work correctly in node.js +if (typeof global !== 'undefined') { + global.Prism = Prism; +} +; +Prism.languages.markup = { + 'comment': //, + 'prolog': /<\?[\s\S]+?\?>/, + 'doctype': //i, + 'cdata': //i, + 'tag': { + pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i, + greedy: true, + inside: { + 'tag': { + pattern: /^<\/?[^\s>\/]+/i, + inside: { + 'punctuation': /^<\/?/, + 'namespace': /^[^\s>\/:]+:/ + } + }, + 'attr-value': { + pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i, + inside: { + 'punctuation': [ + /^=/, + { + pattern: /^(\s*)["']|["']$/, + lookbehind: true + } + ] + } + }, + 'punctuation': /\/?>/, + 'attr-name': { + pattern: /[^\s>\/]+/, + inside: { + 'namespace': /^[^\s>\/:]+:/ + } + } + + } + }, + 'entity': /&#?[\da-z]{1,8};/i +}; + +Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] = + Prism.languages.markup['entity']; + +// Plugin to make entity title show the real entity, idea by Roman Komarov +Prism.hooks.add('wrap', function(env) { + + if (env.type === 'entity') { + env.attributes['title'] = env.content.replace(/&/, '&'); + } +}); + +Object.defineProperty(Prism.languages.markup.tag, 'addInlined', { + /** + * Adds an inlined language to markup. + * + * An example of an inlined language is CSS with `