diff --git a/.ackrc b/.ackrc new file mode 100644 index 000000000..5390d7b92 --- /dev/null +++ b/.ackrc @@ -0,0 +1,4 @@ +--ignore-dir=dist +--ignore-file=match:/^yarn\.lock$/ +--ignore-file=match:/^yarn-error\.log$/ +--ignore-dir=coverage diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..ab70fef5e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +indent_size = 4 diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index f3bb01f40..000000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -**/parser/*.js -src/d3.js diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 3b1a1b274..000000000 --- a/.eslintrc +++ /dev/null @@ -1,232 +0,0 @@ -{ - "ecmaFeatures": { - "binaryLiterals": false, // enable binary literals - "blockBindings": false, // enable let and const (aka block bindings) - "defaultParams": false, // enable default function parameters - "forOf": false, // enable for-of loops - "generators": false, // enable generators - "objectLiteralComputedProperties": false, // enable computed object literal property names - "objectLiteralDuplicateProperties": false, // enable duplicate object literal properties in strict mode - "objectLiteralShorthandMethods": false, // enable object literal shorthand methods - "objectLiteralShorthandProperties": false, // enable object literal shorthand properties - "octalLiterals": false, // enable octal literals - "regexUFlag": false, // enable the regular expression u flag - "regexYFlag": false, // enable the regular expression y flag - "templateStrings": false, // enable template strings - "unicodeCodePointEscapes": false, // enable code point escapes - "jsx": false // enable JSX - }, - // I want to use babel-eslint for parsing! - "parser": "babel-eslint", - "env": { - // I write for browser - "browser": true, - // in CommonJS - "node": true - }, - // To give you an idea how to override rule options: - "rules": { - "quotes": [2, "single"], - "eol-last": [0], - "no-mixed-requires": [0], - "no-underscore-dangle": [0], - - - "no-alert": 0, - "no-array-constructor": 0, - "no-bitwise": 0, - "no-caller": 0, - "no-catch-shadow": 0, - "no-class-assign": 0, - "no-cond-assign": 2, - "no-console": 2, - "no-const-assign": 0, - "no-constant-condition": 2, - "no-continue": 0, - "no-control-regex": 2, - "no-debugger": 2, - "no-delete-var": 2, - "no-div-regex": 0, - "no-dupe-class-members": 0, - "no-dupe-keys": 2, - "no-dupe-args": 2, - "no-duplicate-case": 2, - "no-else-return": 0, - "no-empty": 2, - "no-empty-character-class": 2, - "no-empty-label": 0, - "no-empty-pattern": 0, - "no-eq-null": 0, - "no-eval": 0, - "no-ex-assign": 2, - "no-extend-native": 0, - "no-extra-bind": 0, - "no-extra-boolean-cast": 2, - "no-extra-parens": 0, - "no-extra-semi": 2, - "no-fallthrough": 2, - "no-floating-decimal": 0, - "no-func-assign": 2, - "no-implicit-coercion": 0, - "no-implied-eval": 0, - "no-inline-comments": 0, - "no-inner-declarations": [2, "functions"], - "no-invalid-regexp": 2, - "no-invalid-this": 0, - "no-irregular-whitespace": 2, - "no-iterator": 0, - "no-label-var": 0, - "no-labels": 0, - "no-lone-blocks": 0, - "no-lonely-if": 0, - "no-loop-func": 0, - "no-mixed-requires": [0, false], - "no-mixed-spaces-and-tabs": [2, false], - "linebreak-style": [0, "unix"], - "no-multi-spaces": 0, - "no-multi-str": 0, - "no-multiple-empty-lines": [0, {"max": 2}], - "no-native-reassign": 0, - "no-negated-condition": 0, - "no-negated-in-lhs": 2, - "no-nested-ternary": 0, - "no-new": 0, - "no-new-func": 0, - "no-new-object": 0, - "no-new-require": 0, - "no-new-wrappers": 0, - "no-obj-calls": 2, - "no-octal": 2, - "no-octal-escape": 0, - "no-param-reassign": 0, - "no-path-concat": 0, - "no-plusplus": 0, - "no-process-env": 0, - "no-process-exit": 0, - "no-proto": 0, - "no-redeclare": 2, - "no-regex-spaces": 2, - "no-restricted-modules": 0, - "no-restricted-syntax": 0, - "no-return-assign": 0, - "no-script-url": 0, - "no-self-compare": 0, - "no-sequences": 0, - "no-shadow": 0, - "no-shadow-restricted-names": 0, - "no-spaced-func": 0, - "no-sparse-arrays": 2, - "no-sync": 0, - "no-ternary": 0, - "no-trailing-spaces": 0, - "no-this-before-super": 0, - "no-throw-literal": 0, - "no-undef": 2, - "no-undef-init": 0, - "no-undefined": 0, - "no-unexpected-multiline": 0, - "no-underscore-dangle": 0, - "no-unneeded-ternary": 0, - "no-unreachable": 2, - "no-unused-expressions": 0, - "no-unused-vars": [2, {"vars": "all", "args": "after-used"}], - "no-use-before-define": 0, - "no-useless-call": 0, - "no-useless-concat": 0, - "no-void": 0, - "no-var": 0, - "no-warning-comments": [0, { "terms": ["todo", "fixme", "xxx"], "location": "start" }], - "no-with": 0, - "no-magic-numbers": 0, - - "array-bracket-spacing": [0, "never"], - "arrow-parens": 0, - "arrow-spacing": 0, - "accessor-pairs": 0, - "block-scoped-var": 0, - "block-spacing": 0, - "brace-style": [0, "1tbs"], - "callback-return": 0, - "camelcase": 0, - "comma-dangle": [2, "never"], - "comma-spacing": 0, - "comma-style": 0, - "complexity": [0, 11], - "computed-property-spacing": [0, "never"], - "consistent-return": 0, - "consistent-this": [0, "that"], - "constructor-super": 0, - "curly": [0, "all"], - "default-case": 0, - "dot-location": 0, - "dot-notation": [0, { "allowKeywords": true }], - "eol-last": 0, - "eqeqeq": 0, - "func-names": 0, - "func-style": [0, "declaration"], - "generator-star-spacing": 0, - "global-require": 0, - "guard-for-in": 0, - "handle-callback-err": 0, - "id-length": 0, - "indent": 0, - "init-declarations": 0, - "jsx-quotes": [0, "prefer-double"], - "key-spacing": [0, { "beforeColon": false, "afterColon": true }], - "lines-around-comment": 0, - "max-depth": [0, 4], - "max-len": [0, 80, 4], - "max-nested-callbacks": [0, 2], - "max-params": [0, 3], - "max-statements": [0, 10], - "new-cap": 0, - "new-parens": 0, - "newline-after-var": 0, - "object-curly-spacing": [0, "never"], - "object-shorthand": 0, - "one-var": [0, "always"], - "operator-assignment": [0, "always"], - "operator-linebreak": 0, - "padded-blocks": 0, - "prefer-arrow-callback": 0, - "prefer-const": 0, - "prefer-spread": 0, - "prefer-reflect": 0, - "prefer-template": 0, - "quote-props": 0, - "radix": 0, - "id-match": 0, - "require-jsdoc": 0, - "require-yield": 0, - "semi": 0, - "semi-spacing": [0, {"before": false, "after": true}], - "sort-vars": 0, - "space-after-keywords": [0, "always"], - "space-before-keywords": [0, "always"], - "space-before-blocks": [0, "always"], - "space-before-function-paren": [0, "always"], - "space-in-parens": [0, "never"], - "space-infix-ops": 0, - "space-return-throw-case": 0, - "space-unary-ops": [0, { "words": true, "nonwords": false }], - "spaced-comment": 0, - "strict": 0, - "use-isnan": 2, - "valid-jsdoc": 0, - "valid-typeof": 2, - "vars-on-top": 0, - "wrap-iife": 0, - "wrap-regex": 0, - "yoda": [0, "never"] - }, - "globals": { - "it": true, - "describe": true, - "expect": true, - "fit": true, - "beforeEach": true, - "spyOn": true, - "fdescribe": true, - } -} - diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 000000000..a1aed17d7 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "env": { + "browser": true, + "es6": true + }, + "parserOptions": { + "ecmaFeatures": { + "experimentalObjectRestSpread": true, + "jsx": true + }, + "sourceType": "module" + }, + "extends": ["prettier"], + "plugins": ["prettier"], + "rules": { + "prettier/prettier": ["error"] + } +} diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..3ee68b30b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: 'Status: Triage, Type: Bug / Error' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..f79a30928 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: 'Status: Triage, Type: Enhancement' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 000000000..4f7444aa8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,15 @@ +--- +name: Question +about: Get some help from the community. +title: '' +labels: 'Help wanted!, Type: Other' +assignees: '' + +--- + +## Help us help you! +You want an answer. Here are some ways to get it quicker: +* Use a clear and concise title. +* Try to pose a clear and concise question. +* Include as much, or as little, code as necessary. +* Don't be shy to give us some screenshots, if it helps! diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 000000000..761f26cb9 --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,19 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 60 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 14 +# Issues with these labels will never be considered stale +exemptLabels: + - Retained +# Label to use when marking an issue as stale +staleLabel: Inactive +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. + If you are still interested in this issue and it is still relevant you can comment to revive it. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: > + This issue has been been automatically closed due to a lack of activity. + This is done to maintain a clean list of issues that the community is interested in developing. diff --git a/.github/workflows/issue-triage.yml b/.github/workflows/issue-triage.yml new file mode 100644 index 000000000..53d5f6b87 --- /dev/null +++ b/.github/workflows/issue-triage.yml @@ -0,0 +1,14 @@ +name: Apply triage label to new issue + +on: + issues: + types: [opened] + +jobs: + triage: + runs-on: ubuntu-latest + steps: + - uses: andymckay/labeler@1.0 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" + labels: "Status: Triage" diff --git a/.gitignore b/.gitignore index c427f34b7..afceb98c0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,11 @@ -node_modules/* -bower_components/ -*.sublime-project -*.sublime-workspace .DS_Store -.idea -coverage \ No newline at end of file + +node_modules/ +coverage/ + +dist/*.js +dist/*.map + +yarn-error.log +.npmrc +token diff --git a/.percy.yml b/.percy.yml new file mode 100644 index 000000000..5499b41f2 --- /dev/null +++ b/.percy.yml @@ -0,0 +1,3 @@ +version: 1 +snapshot: + widths: [1280] \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..5ac85e271 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "printWidth": 100, + "singleQuote": true +} diff --git a/.tern-project b/.tern-project new file mode 100644 index 000000000..cf9751411 --- /dev/null +++ b/.tern-project @@ -0,0 +1,22 @@ +{ + "ecmaVersion": 6, + "libs": [ + "browser" + ], + "loadEagerly": [ + "path/to/your/js/**/*.js" + ], + "dontLoad": [ + "node_modules/**", + "path/to/your/js/**/*.js" + ], + "plugins": { + "modules": {}, + "es_modules": {}, + "node": {}, + "doc_comment": { + "fullDocs": true, + "strong": true + } + } +} \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index fb3f86c40..98c9666a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,12 @@ - language: node_js - sudo: false - node_js: - - "4.2" - addons: - code_climate: - repo_token: e87e6bf1c253e0555437ebd23235fdfe2749b889358e7c6d100e4ea5b4f2e091 - after_script: - - cat coverage/lcov.info | codeclimate \ No newline at end of file +dist: trusty +language: node_js +node_js: + - "10" +cache: + npm: false +script: + - yarn build + - yarn test --coverage + - yarn e2e +after_success: + - cat ./coverage/lcov.info | ./node_modules/.bin/coveralls diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..be2305cbc --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "typescript.format.enable": false, + "typescript.reportStyleChecksAsWarnings": false, + "typescript.validate.enable": false, + "javascript.validate.enable": false, + "editor.formatOnSave": false, + "standard.enable": true +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bbf31366..dede59be0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,342 +2,827 @@ ## [Unreleased](https://github.com/knsv/mermaid/tree/HEAD) -[Full Changelog](https://github.com/knsv/mermaid/compare/0.4.0...HEAD) - -**Implemented enhancements:** - -- Add a css file, mermaid.css, with default styling [\#122](https://github.com/knsv/mermaid/issues/122) +[Full Changelog](https://github.com/knsv/mermaid/compare/8.2.0...HEAD) **Closed issues:** -- Some examples not displayed on Firefox 36.0.1 [\#138](https://github.com/knsv/mermaid/issues/138) +- Cross-Site Scripting:DOM - Issue [\#847](https://github.com/knsv/mermaid/issues/847) -- inoperable in an AMD/requirejs environment: IPython Notebook [\#127](https://github.com/knsv/mermaid/issues/127) +## [8.2.0](https://github.com/knsv/mermaid/tree/8.2.0) (2019-07-17) +[Full Changelog](https://github.com/knsv/mermaid/compare/8.1.0...8.2.0) -- Add capability for gantt diagrams [\#118](https://github.com/knsv/mermaid/issues/118) +**Closed issues:** -- lower case v causes error in the parser [\#108](https://github.com/knsv/mermaid/issues/108) - -- Label's css conflict with boostrap's .label [\#67](https://github.com/knsv/mermaid/issues/67) +- Create issue templates [\#871](https://github.com/knsv/mermaid/issues/871) +- cross site scripting in mermaid [\#869](https://github.com/knsv/mermaid/issues/869) +- Make Gantt chart date inclusive [\#868](https://github.com/knsv/mermaid/issues/868) +- CHANGELOG missing updates for all versions since 0.4.0 [\#865](https://github.com/knsv/mermaid/issues/865) +- please add tag for 8.0.0 release [\#863](https://github.com/knsv/mermaid/issues/863) +- classDiagram breaks on any edit [\#858](https://github.com/knsv/mermaid/issues/858) +- found 1 high severity vulnerability [\#839](https://github.com/knsv/mermaid/issues/839) +- Missing fontawesome icon support [\#830](https://github.com/knsv/mermaid/issues/830) +- Docs for integration with wiki.js? [\#829](https://github.com/knsv/mermaid/issues/829) +- Is this project still maintained? [\#826](https://github.com/knsv/mermaid/issues/826) +- typroa [\#823](https://github.com/knsv/mermaid/issues/823) +- Maintain the order of the nodes in Flowchart [\#815](https://github.com/knsv/mermaid/issues/815) +- Overlap, Overflow and cut titles in flowchart [\#814](https://github.com/knsv/mermaid/issues/814) +- How load mermaidApi notejs electron [\#813](https://github.com/knsv/mermaid/issues/813) +- How to set the spacing between the text of the flowchart node and the border? [\#812](https://github.com/knsv/mermaid/issues/812) +- no triming participant name and the name following spaces is as another actor in sequence [\#809](https://github.com/knsv/mermaid/issues/809) +- uml Class as shape type [\#807](https://github.com/knsv/mermaid/issues/807) +- Force-directed graph Layout Style [\#806](https://github.com/knsv/mermaid/issues/806) +- how can I start a newLine in FlowChart [\#805](https://github.com/knsv/mermaid/issues/805) +- UOEProcessShow [\#801](https://github.com/knsv/mermaid/issues/801) +- Why the use of code blocks? [\#799](https://github.com/knsv/mermaid/issues/799) +- fixing class diagram [\#794](https://github.com/knsv/mermaid/issues/794) +- Autonumber support in sequence diagrams [\#782](https://github.com/knsv/mermaid/issues/782) +- MomentJS dependency [\#781](https://github.com/knsv/mermaid/issues/781) +- Feature : Can we color code the flow/arrows [\#766](https://github.com/knsv/mermaid/issues/766) +- Is there any way to convert flowchart.js code to mermaid code [\#726](https://github.com/knsv/mermaid/issues/726) +- Fixed width of nodes [\#653](https://github.com/knsv/mermaid/issues/653) +- Inline comment [\#650](https://github.com/knsv/mermaid/issues/650) +- alt attribute of img tag in HTML [\#619](https://github.com/knsv/mermaid/issues/619) +- Just wanted to say : THANKS ! [\#618](https://github.com/knsv/mermaid/issues/618) +- "animation" [\#446](https://github.com/knsv/mermaid/issues/446) **Merged pull requests:** +- Trimming whitespace after participant id [\#882](https://github.com/knsv/mermaid/pull/882) ([IOrlandoni](https://github.com/IOrlandoni)) +- chore\(deps\): bump atob from 2.0.3 to 2.1.2 [\#881](https://github.com/knsv/mermaid/pull/881) ([dependabot[bot]](https://github.com/apps/dependabot)) +- chore\(deps\): bump fstream from 1.0.11 to 1.0.12 [\#880](https://github.com/knsv/mermaid/pull/880) ([dependabot[bot]](https://github.com/apps/dependabot)) +- chore\(deps\): bump js-yaml from 3.12.0 to 3.13.1 [\#879](https://github.com/knsv/mermaid/pull/879) ([dependabot[bot]](https://github.com/apps/dependabot)) +- I847 cross site scripting [\#878](https://github.com/knsv/mermaid/pull/878) ([knsv](https://github.com/knsv)) +- Bump lodash.mergewith from 4.6.1 to 4.6.2 [\#877](https://github.com/knsv/mermaid/pull/877) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Adding docs into core repo again [\#876](https://github.com/knsv/mermaid/pull/876) ([knsv](https://github.com/knsv)) +- Bump lodash from 4.17.11 to 4.17.13 [\#875](https://github.com/knsv/mermaid/pull/875) ([dependabot[bot]](https://github.com/apps/dependabot)) +- feat\(stale.yml\): update issue label and bot comment [\#874](https://github.com/knsv/mermaid/pull/874) ([ThePenguin1140](https://github.com/ThePenguin1140)) +- Feature/allow inclusive enddates [\#872](https://github.com/knsv/mermaid/pull/872) ([ThePenguin1140](https://github.com/ThePenguin1140)) +- Adding trapezoid and inverse trapezoid vertex options. [\#741](https://github.com/knsv/mermaid/pull/741) ([adamwulf](https://github.com/adamwulf)) + +## [8.1.0](https://github.com/knsv/mermaid/tree/8.1.0) (2019-06-25) +[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.5...8.1.0) + +**Closed issues:** + +- Gantt and sequence diagram do not render [\#853](https://github.com/knsv/mermaid/issues/853) +- margins around flowchart are not balanced [\#852](https://github.com/knsv/mermaid/issues/852) +- Smaller bundles [\#843](https://github.com/knsv/mermaid/issues/843) +- unicode in labels [\#776](https://github.com/knsv/mermaid/issues/776) +- Hard-changing drawing of arrows per edge type [\#775](https://github.com/knsv/mermaid/issues/775) +- SequenceDiagram wrong [\#773](https://github.com/knsv/mermaid/issues/773) +- Render mermaid on github pages with simple code [\#772](https://github.com/knsv/mermaid/issues/772) +- FlowChart - large space between text and the image [\#754](https://github.com/knsv/mermaid/issues/754) +- Class Diagram Issues when using Mermaid in Stackedit [\#748](https://github.com/knsv/mermaid/issues/748) +- Multi-platform CI [\#744](https://github.com/knsv/mermaid/issues/744) +- gantt: sections can't have a colon [\#742](https://github.com/knsv/mermaid/issues/742) +- Yarn build does not add mermaid.min.css to dist [\#732](https://github.com/knsv/mermaid/issues/732) +- Is there a grammar / keyword / more than just the basic examples? [\#718](https://github.com/knsv/mermaid/issues/718) +- Click event and react component [\#717](https://github.com/knsv/mermaid/issues/717) +- Long text going outside the box [\#706](https://github.com/knsv/mermaid/issues/706) +- How to migrate from yUML to mermaid? [\#704](https://github.com/knsv/mermaid/issues/704) +- Issue on Dynamic Creation in PHP [\#690](https://github.com/knsv/mermaid/issues/690) +- `click "\#target"` and `click "http://url"` should create regular links [\#689](https://github.com/knsv/mermaid/issues/689) +- Support Chinese punctuation [\#687](https://github.com/knsv/mermaid/issues/687) +- \[Question\] Proper way to install on Mac? [\#681](https://github.com/knsv/mermaid/issues/681) +- Has Mermaid a graphical interface to make diagrams? [\#668](https://github.com/knsv/mermaid/issues/668) +- mermaid installation on debian [\#649](https://github.com/knsv/mermaid/issues/649) +- "Cannot activate" in sequenceDiagram [\#647](https://github.com/knsv/mermaid/issues/647) +- Link \("click" statement\) in flowchart does not work in exported SVG [\#646](https://github.com/knsv/mermaid/issues/646) +- How to pass styling [\#639](https://github.com/knsv/mermaid/issues/639) +- The live editor cant show seq diagram with notes for 8.0.0-alpha.3 [\#638](https://github.com/knsv/mermaid/issues/638) +- import mermaid.css with ES6 + NPM [\#634](https://github.com/knsv/mermaid/issues/634) +- Actor line cuts through other elements [\#633](https://github.com/knsv/mermaid/issues/633) +- Graph TD line out of the picture \(left side\) [\#630](https://github.com/knsv/mermaid/issues/630) +- Flowchart labels appear "cutoff" [\#628](https://github.com/knsv/mermaid/issues/628) +- Uncaught TypeError: \_.constant is not a function \(mermaid.js\) [\#626](https://github.com/knsv/mermaid/issues/626) +- Missing tags and releases for newer versions [\#623](https://github.com/knsv/mermaid/issues/623) +- Mermaid and Leo / Leo Vue [\#622](https://github.com/knsv/mermaid/issues/622) +- mermaidAPI gantt Vue.js [\#621](https://github.com/knsv/mermaid/issues/621) +- Gantt sections are not separated by colors - Fix: set numberSectionStyles to 4 instead of 3 [\#620](https://github.com/knsv/mermaid/issues/620) +- how to get mermaidAPI? [\#617](https://github.com/knsv/mermaid/issues/617) +- Error in startOnLoad documentation? [\#616](https://github.com/knsv/mermaid/issues/616) +- Example export to SVG generates error [\#614](https://github.com/knsv/mermaid/issues/614) +- The new online editor does not support previously generated links [\#613](https://github.com/knsv/mermaid/issues/613) +- Grammar / Syntax documentation for flowcharts [\#607](https://github.com/knsv/mermaid/issues/607) +- Mermaid does not work with d3.js [\#606](https://github.com/knsv/mermaid/issues/606) +- Why does this code's flowchart lines get cut-off on screen? [\#604](https://github.com/knsv/mermaid/issues/604) +- click keyword does not fire my callback \(on the demo Website too\) [\#603](https://github.com/knsv/mermaid/issues/603) +- Online Editor fails to show exported SVG [\#601](https://github.com/knsv/mermaid/issues/601) +- Just saying thanks! [\#597](https://github.com/knsv/mermaid/issues/597) +- stylesheet crashed with other library like abcjs [\#596](https://github.com/knsv/mermaid/issues/596) +- Missing connection [\#594](https://github.com/knsv/mermaid/issues/594) +- How to use mermaid on node.js restful api? [\#593](https://github.com/knsv/mermaid/issues/593) +- Remove status code [\#589](https://github.com/knsv/mermaid/issues/589) +- Golang based editor [\#588](https://github.com/knsv/mermaid/issues/588) +- sequenceDiagram -\> notetext css font is hardcoded [\#587](https://github.com/knsv/mermaid/issues/587) +- Multiple graph in the live editor [\#586](https://github.com/knsv/mermaid/issues/586) +- All \ elements in page are colored black [\#584](https://github.com/knsv/mermaid/issues/584) +- Styling: classes aren't applied to elements. [\#582](https://github.com/knsv/mermaid/issues/582) +- Rounded connections [\#580](https://github.com/knsv/mermaid/issues/580) +- Arrows are not being shown correctly in the dark theme [\#578](https://github.com/knsv/mermaid/issues/578) +- The documentation for CLI seems outdated. [\#572](https://github.com/knsv/mermaid/issues/572) +- No effect of click event:can not open link [\#571](https://github.com/knsv/mermaid/issues/571) +- Text colors are not correct in VSCODE [\#570](https://github.com/knsv/mermaid/issues/570) +- Nodes aren't aligned properly \(just need an explanation\) [\#568](https://github.com/knsv/mermaid/issues/568) +- setting margin around figure in R [\#567](https://github.com/knsv/mermaid/issues/567) +- Arrows should Come out in upward and Downward direction from decision Node [\#566](https://github.com/knsv/mermaid/issues/566) +- TypeError: Cannot read property 'select' of undefined [\#563](https://github.com/knsv/mermaid/issues/563) +- A little bug [\#557](https://github.com/knsv/mermaid/issues/557) +- Japanese text appears garbled [\#554](https://github.com/knsv/mermaid/issues/554) +- classdiagram not works in mermaid live\_editor [\#553](https://github.com/knsv/mermaid/issues/553) +- font awesome in link text? [\#546](https://github.com/knsv/mermaid/issues/546) +- q: heard of the cosmogol standard? [\#545](https://github.com/knsv/mermaid/issues/545) +- Arrow heads missing \(cli, 7.0.3\) [\#544](https://github.com/knsv/mermaid/issues/544) +- No Edge Boxes if useHtmlLabels=false [\#541](https://github.com/knsv/mermaid/issues/541) +- how to change mermaid text color or line text block color? [\#534](https://github.com/knsv/mermaid/issues/534) +- FlowChart visualization broken when downloading from live editor [\#533](https://github.com/knsv/mermaid/issues/533) +- Can't get flowchart to render paths at the top of the diagram; I even tried the online editor and that shows the same issue. Thoughts? [\#532](https://github.com/knsv/mermaid/issues/532) +- live editor make browser\(safari on macOS&iOS\) not longer respond [\#531](https://github.com/knsv/mermaid/issues/531) +- css classes need a prefix/namespace [\#527](https://github.com/knsv/mermaid/issues/527) +- input activate/deactivate cause safari unresponding [\#521](https://github.com/knsv/mermaid/issues/521) +- Cannot Render the Mermaid Graph to PDF ? [\#520](https://github.com/knsv/mermaid/issues/520) +- clicking links works from inset in subgraph but not from nodes [\#516](https://github.com/knsv/mermaid/issues/516) +- Strange syntax error - when importing mermaid.js [\#515](https://github.com/knsv/mermaid/issues/515) +- gantt x-axis display [\#510](https://github.com/knsv/mermaid/issues/510) +- phantomjs renamed to phantomjs-prebuilt [\#508](https://github.com/knsv/mermaid/issues/508) +- issue when using sphinxcontrib-mermaid extension for sphinx [\#507](https://github.com/knsv/mermaid/issues/507) +- layout of docs page looks broken [\#504](https://github.com/knsv/mermaid/issues/504) +- Problem showing graph with php on localhost [\#502](https://github.com/knsv/mermaid/issues/502) +- logLevel's option doesnt work at 7.0.0 [\#501](https://github.com/knsv/mermaid/issues/501) +- How do I get the log for a render or parse attempt? [\#500](https://github.com/knsv/mermaid/issues/500) +- Mermaid neutral style style to built in latest release [\#499](https://github.com/knsv/mermaid/issues/499) +- Any plans for adding a typescript definition file? [\#495](https://github.com/knsv/mermaid/issues/495) +- Gantt diagrams too narrow [\#493](https://github.com/knsv/mermaid/issues/493) +- Flowchart edge labels placement [\#490](https://github.com/knsv/mermaid/issues/490) +- Very different styles when rendering as png vs. svg [\#489](https://github.com/knsv/mermaid/issues/489) +- New editor that supports mermaid: Caret [\#488](https://github.com/knsv/mermaid/issues/488) +- Gant PNG margin [\#486](https://github.com/knsv/mermaid/issues/486) +- ReferenceError: window is not defined [\#485](https://github.com/knsv/mermaid/issues/485) +- Menu and layout bugs in docs [\#484](https://github.com/knsv/mermaid/issues/484) +- Mermaid resets some of the page CSS styles [\#482](https://github.com/knsv/mermaid/issues/482) +- Arrows rendering incorrectly in online editor [\#480](https://github.com/knsv/mermaid/issues/480) +- CSS stroke-dasharray ignored by browsers but not other viewers [\#474](https://github.com/knsv/mermaid/issues/474) +- mermaid - Browser Support issue [\#472](https://github.com/knsv/mermaid/issues/472) +- Totally love mermaid I might pop! [\#471](https://github.com/knsv/mermaid/issues/471) +- Sequence Diagram: Missing x on async arrows \(png\) [\#469](https://github.com/knsv/mermaid/issues/469) +- live editor: the svg file rendered from graph is not supported by browsers [\#468](https://github.com/knsv/mermaid/issues/468) +- Not found css [\#462](https://github.com/knsv/mermaid/issues/462) +- Phantomjs Dependency [\#461](https://github.com/knsv/mermaid/issues/461) +- Mermaid cli not working for subgraphs [\#459](https://github.com/knsv/mermaid/issues/459) +- Support for notes across multiple participants? [\#458](https://github.com/knsv/mermaid/issues/458) +- Related to Issue \#329: Phantomjs issues. [\#455](https://github.com/knsv/mermaid/issues/455) +- Add a click style [\#426](https://github.com/knsv/mermaid/issues/426) +- Add Parallel block \(par\) to sequence diagrams [\#425](https://github.com/knsv/mermaid/issues/425) +- updating shapes after the flow chart rendering complete [\#424](https://github.com/knsv/mermaid/issues/424) +- can't catch parse error Maximum call stack size exceeded on safari [\#421](https://github.com/knsv/mermaid/issues/421) +- Arrows endings are missing [\#419](https://github.com/knsv/mermaid/issues/419) +- shouldn't mermaid become more like Markdown ? [\#417](https://github.com/knsv/mermaid/issues/417) +- Live editor show rendered diagram if syntax invalid [\#415](https://github.com/knsv/mermaid/issues/415) +- Live editor sticky sidebar [\#414](https://github.com/knsv/mermaid/issues/414) +- Linkstyle stroke does not work [\#410](https://github.com/knsv/mermaid/issues/410) +- flowchart id's with dots in them .. break links [\#408](https://github.com/knsv/mermaid/issues/408) +- Flowchart: Link text beginning with lowercase 'o' causes flowchart to break [\#407](https://github.com/knsv/mermaid/issues/407) +- Some chinese character will case Safari no responding. [\#405](https://github.com/knsv/mermaid/issues/405) +- Cannot center-justify text in nodes? [\#397](https://github.com/knsv/mermaid/issues/397) +- Edge labels should have white background in live editor [\#396](https://github.com/knsv/mermaid/issues/396) +- Live editor does not support activate/deactivate [\#394](https://github.com/knsv/mermaid/issues/394) +- Styling subgraph? [\#391](https://github.com/knsv/mermaid/issues/391) +- Update live editor to version 6.0.0 [\#387](https://github.com/knsv/mermaid/issues/387) +- sequence diagram config issue [\#385](https://github.com/knsv/mermaid/issues/385) +- How to add newline in the text [\#384](https://github.com/knsv/mermaid/issues/384) +- PhantomJS crashes on a large graph [\#380](https://github.com/knsv/mermaid/issues/380) +- Finnish support for class diagrams using plantuml syntax [\#377](https://github.com/knsv/mermaid/issues/377) +- mermaidAPI.render generated different svg code from mermaid.int\(\) [\#374](https://github.com/knsv/mermaid/issues/374) +- Put your own action on the chart [\#372](https://github.com/knsv/mermaid/issues/372) +- when declaring participants the elements are generated twice [\#370](https://github.com/knsv/mermaid/issues/370) +- Example Flowchart is cut in display \(Chrome\). [\#368](https://github.com/knsv/mermaid/issues/368) +- Add shebang support to diagrams [\#365](https://github.com/knsv/mermaid/issues/365) +- Silencing CLI output [\#352](https://github.com/knsv/mermaid/issues/352) +- SequenceDiagram: 3+ Alternative Paths [\#348](https://github.com/knsv/mermaid/issues/348) +- Smaller height of actor boxes [\#342](https://github.com/knsv/mermaid/issues/342) +- Question: lib/phantomscript.js - foreignObjects in SVG - related to \#58 [\#340](https://github.com/knsv/mermaid/issues/340) +- npm test fails on osx being blocked at Can not load "PhantomJS", it is not registered! [\#337](https://github.com/knsv/mermaid/issues/337) +- Tabs & subgraphs cause rendering error [\#336](https://github.com/knsv/mermaid/issues/336) +- Display question: right angles [\#335](https://github.com/knsv/mermaid/issues/335) +- No Arrows rendered v0.5.8 [\#330](https://github.com/knsv/mermaid/issues/330) +- mermaid -v filename.mmd gives You must specify at least one source file. [\#328](https://github.com/knsv/mermaid/issues/328) +- You had errors in your syntax. Use --help for further information. [\#327](https://github.com/knsv/mermaid/issues/327) +- Allow alternate arrow syntax that doesn't close html comments [\#322](https://github.com/knsv/mermaid/issues/322) +- Comment in subgraph [\#319](https://github.com/knsv/mermaid/issues/319) +- Update graph [\#311](https://github.com/knsv/mermaid/issues/311) +- css conflicts with boostrap's css [\#308](https://github.com/knsv/mermaid/issues/308) +- Can not get click event to fire. [\#306](https://github.com/knsv/mermaid/issues/306) +- Fix phantomjs2 compatibility [\#304](https://github.com/knsv/mermaid/issues/304) +- Flowcharts do not work in native IE11 [\#303](https://github.com/knsv/mermaid/issues/303) +- Integration with remark.js - tutorial added [\#302](https://github.com/knsv/mermaid/issues/302) +- Theme for dark background [\#301](https://github.com/knsv/mermaid/issues/301) +- Sequence diagram Loops: changing boxMargin spoils the "loop" notation [\#299](https://github.com/knsv/mermaid/issues/299) +- src/mermaid.js generates bad code [\#297](https://github.com/knsv/mermaid/issues/297) +- Fresh fork: jasmine tests fail [\#294](https://github.com/knsv/mermaid/issues/294) +- CSS clash [\#292](https://github.com/knsv/mermaid/issues/292) +- Mermaid does not work in Chrome 48 [\#281](https://github.com/knsv/mermaid/issues/281) +- node click is not effective [\#272](https://github.com/knsv/mermaid/issues/272) +- circle and ellipse cannot change color by classDef [\#271](https://github.com/knsv/mermaid/issues/271) +- \[Feature request\] gantt diagram axis format [\#269](https://github.com/knsv/mermaid/issues/269) +- Not Able to See Labels even htmlLabels:false added [\#268](https://github.com/knsv/mermaid/issues/268) +- npm run watch doesn’t work due missing dependencies [\#266](https://github.com/knsv/mermaid/issues/266) +- label out of node [\#262](https://github.com/knsv/mermaid/issues/262) +- IE11 Support issue [\#261](https://github.com/knsv/mermaid/issues/261) +- mermaid without browser [\#260](https://github.com/knsv/mermaid/issues/260) +- Insufficient capacity of gantt diagrams [\#226](https://github.com/knsv/mermaid/issues/226) +- some WARN about installion [\#222](https://github.com/knsv/mermaid/issues/222) +- Live editor offline access [\#217](https://github.com/knsv/mermaid/issues/217) +- suggest: code highlight mode config for editors [\#212](https://github.com/knsv/mermaid/issues/212) +- Uncaught RangeError: Maximum call stack size exceeded [\#189](https://github.com/knsv/mermaid/issues/189) +- Implement render function for server side rendering using phantomjs [\#169](https://github.com/knsv/mermaid/issues/169) +- Styling label texts [\#50](https://github.com/knsv/mermaid/issues/50) +- Graphviz DOT syntax [\#5](https://github.com/knsv/mermaid/issues/5) + +**Merged pull requests:** + +- Remove console.log in classDB. [\#861](https://github.com/knsv/mermaid/pull/861) ([Arthaey](https://github.com/Arthaey)) +- Bump sshpk from 1.13.1 to 1.16.1 [\#851](https://github.com/knsv/mermaid/pull/851) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Significantly smaller bundles [\#850](https://github.com/knsv/mermaid/pull/850) ([fabiospampinato](https://github.com/fabiospampinato)) +- Support styling of subgraphs [\#845](https://github.com/knsv/mermaid/pull/845) ([Qix-](https://github.com/Qix-)) +- fix dark theme loop labels not visible [\#837](https://github.com/knsv/mermaid/pull/837) ([jnnnnn](https://github.com/jnnnnn)) +- fix draw function can only call once [\#832](https://github.com/knsv/mermaid/pull/832) ([vaniship](https://github.com/vaniship)) +- Fix dotted lines not appearing in flowcharts when HTML labels disabled [\#828](https://github.com/knsv/mermaid/pull/828) ([stanhu](https://github.com/stanhu)) +- Fix issue with XML line breaks inside vertex labels [\#824](https://github.com/knsv/mermaid/pull/824) ([jsyang](https://github.com/jsyang)) +- fixed diagrams [\#810](https://github.com/knsv/mermaid/pull/810) ([0xflotus](https://github.com/0xflotus)) +- Clickable gantt tasks [\#804](https://github.com/knsv/mermaid/pull/804) ([abzicht](https://github.com/abzicht)) +- linkStyle now supports list of indexes with a few tests [\#798](https://github.com/knsv/mermaid/pull/798) ([ivan-danilov](https://github.com/ivan-danilov)) +- fix class diagram mermaid [\#795](https://github.com/knsv/mermaid/pull/795) ([DanShai](https://github.com/DanShai)) +- Added exclude weekdays to definition [\#792](https://github.com/knsv/mermaid/pull/792) ([jopapo](https://github.com/jopapo)) +- SVG link rendering [\#791](https://github.com/knsv/mermaid/pull/791) ([flying-sheep](https://github.com/flying-sheep)) +- Gantt milestones [\#788](https://github.com/knsv/mermaid/pull/788) ([gijswijs](https://github.com/gijswijs)) +- Remove duplicate code [\#768](https://github.com/knsv/mermaid/pull/768) ([znxkznxk1030](https://github.com/znxkznxk1030)) +- Render nodes as real links [\#765](https://github.com/knsv/mermaid/pull/765) ([flying-sheep](https://github.com/flying-sheep)) +- Support Multi-line Actor Descriptions [\#764](https://github.com/knsv/mermaid/pull/764) ([watsoncj](https://github.com/watsoncj)) +- Fix issue with marker-end. [\#757](https://github.com/knsv/mermaid/pull/757) ([gjlubbertsen](https://github.com/gjlubbertsen)) +- Make Class Diagrams usable in Stackedit and Live Editor [\#749](https://github.com/knsv/mermaid/pull/749) ([monsterkrampe](https://github.com/monsterkrampe)) +- Sequence numbers [\#722](https://github.com/knsv/mermaid/pull/722) ([paulbland](https://github.com/paulbland)) +- Add option for right angles [\#721](https://github.com/knsv/mermaid/pull/721) ([paulbland](https://github.com/paulbland)) +- Add nested activation classes [\#720](https://github.com/knsv/mermaid/pull/720) ([paulbland](https://github.com/paulbland)) +- wip: class diagram cardinality display [\#705](https://github.com/knsv/mermaid/pull/705) ([Vrixyz](https://github.com/Vrixyz)) +- add comments about CSS in config [\#688](https://github.com/knsv/mermaid/pull/688) ([imma90](https://github.com/imma90)) +- SequenceDiagram: Add support for multiple alt else statements [\#641](https://github.com/knsv/mermaid/pull/641) ([sechel](https://github.com/sechel)) +- fix \#426 - add class .clickable on nodes with click function or link [\#598](https://github.com/knsv/mermaid/pull/598) ([thomasleveil](https://github.com/thomasleveil)) +- Spec fix 1 [\#595](https://github.com/knsv/mermaid/pull/595) ([frankschmitt](https://github.com/frankschmitt)) + +## [7.0.5](https://github.com/knsv/mermaid/tree/7.0.5) (2017-09-01) +[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.3...7.0.5) + +**Closed issues:** + +- live editor latin error after update [\#560](https://github.com/knsv/mermaid/issues/560) +- Simple full example in online documentation is broken [\#558](https://github.com/knsv/mermaid/issues/558) +- Graph No Arrow Head v7.0.3 [\#543](https://github.com/knsv/mermaid/issues/543) +- Conflict while using mermaid along with core-js [\#512](https://github.com/knsv/mermaid/issues/512) +- Export to pdf on website [\#496](https://github.com/knsv/mermaid/issues/496) +- New downstream project: Mermaid Preview for VSCode [\#442](https://github.com/knsv/mermaid/issues/442) +- Can't Zoom the flowchart ? [\#399](https://github.com/knsv/mermaid/issues/399) +- line labels are not rendered correctly in live editor [\#366](https://github.com/knsv/mermaid/issues/366) +- mermaid-loader [\#361](https://github.com/knsv/mermaid/issues/361) +- Are there any documentation or examples for classDiagram and gitGraph? [\#359](https://github.com/knsv/mermaid/issues/359) +- \# character broken in 0.5.8 [\#347](https://github.com/knsv/mermaid/issues/347) +- Documentation issue: CSS example is not visible [\#345](https://github.com/knsv/mermaid/issues/345) +- Include documentation for command line usage [\#326](https://github.com/knsv/mermaid/issues/326) +- Fresh fork: can't build dist [\#296](https://github.com/knsv/mermaid/issues/296) +- Invalid value for \ attribute viewBox="0 0 -Infinity -Infinity" [\#291](https://github.com/knsv/mermaid/issues/291) +- Webpack require fails [\#277](https://github.com/knsv/mermaid/issues/277) +- New documentation - need improved logo [\#216](https://github.com/knsv/mermaid/issues/216) + +## [7.0.3](https://github.com/knsv/mermaid/tree/7.0.3) (2017-06-04) +[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.2...7.0.3) + +**Closed issues:** + +- the documentation website is down [\#539](https://github.com/knsv/mermaid/issues/539) +- Good example of interactivity with mermaidAPI [\#514](https://github.com/knsv/mermaid/issues/514) + +## [7.0.2](https://github.com/knsv/mermaid/tree/7.0.2) (2017-06-01) +[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.0...7.0.2) + +**Closed issues:** + +- CDN is not working [\#511](https://github.com/knsv/mermaid/issues/511) +- A sampe sequenceDiagram crashes mermaid-cli [\#492](https://github.com/knsv/mermaid/issues/492) +- Mermaid doesn't delete nodes when called multiple times [\#491](https://github.com/knsv/mermaid/issues/491) +- API crashes on 2nd render\(\) call [\#478](https://github.com/knsv/mermaid/issues/478) +- sequenceDiagram: dotted line for alt and empty bracket should be hidden [\#456](https://github.com/knsv/mermaid/issues/456) +- SVG output \(almost\) not correct [\#434](https://github.com/knsv/mermaid/issues/434) +- How to set axisFormatter of gantt in mermaid CLI? [\#428](https://github.com/knsv/mermaid/issues/428) +- customizing link style with any color sets `fill` property to `black` instead of `none` [\#416](https://github.com/knsv/mermaid/issues/416) +- New line at the end of SVG file [\#400](https://github.com/knsv/mermaid/issues/400) +- CLI doesn't work [\#389](https://github.com/knsv/mermaid/issues/389) +- Can't render subgraphs with htmlLabels: false [\#367](https://github.com/knsv/mermaid/issues/367) +- Color arrowhead [\#362](https://github.com/knsv/mermaid/issues/362) +- CLI: Invisible text, lines in SVG output [\#341](https://github.com/knsv/mermaid/issues/341) + +**Merged pull requests:** + +- Update Travis config [\#538](https://github.com/knsv/mermaid/pull/538) ([tylerlong](https://github.com/tylerlong)) +- Fix spelling of 'you' in sequenceDiagram docs [\#537](https://github.com/knsv/mermaid/pull/537) ([ctruelson](https://github.com/ctruelson)) +- Improve CLI output [\#536](https://github.com/knsv/mermaid/pull/536) ([gibson042](https://github.com/gibson042)) +- Modernize mermaid [\#524](https://github.com/knsv/mermaid/pull/524) ([tylerlong](https://github.com/tylerlong)) +- Modernize mermaid [\#519](https://github.com/knsv/mermaid/pull/519) ([tylerlong](https://github.com/tylerlong)) +- Update CLI instructions [\#509](https://github.com/knsv/mermaid/pull/509) ([filipedeschamps](https://github.com/filipedeschamps)) +- Add style for classDiagram to dark/default theme [\#503](https://github.com/knsv/mermaid/pull/503) ([yudenzel](https://github.com/yudenzel)) +- Fix documentation for git graph. [\#498](https://github.com/knsv/mermaid/pull/498) ([gomlgs](https://github.com/gomlgs)) +- Fix links in documentations [\#497](https://github.com/knsv/mermaid/pull/497) ([saveman71](https://github.com/saveman71)) +- Update README.md with git graph sample [\#481](https://github.com/knsv/mermaid/pull/481) ([raghur](https://github.com/raghur)) +- Fix misspelling of “another” [\#479](https://github.com/knsv/mermaid/pull/479) ([stevenschobert](https://github.com/stevenschobert)) +- Fixed \#456 sequenceDiagram: dotted line for alt and empty bracket sho… [\#477](https://github.com/knsv/mermaid/pull/477) ([brookhong](https://github.com/brookhong)) +- Add viewbox attr to class diagram [\#473](https://github.com/knsv/mermaid/pull/473) ([gnkm](https://github.com/gnkm)) +- add par statement to sequenceDiagram [\#470](https://github.com/knsv/mermaid/pull/470) ([u-minor](https://github.com/u-minor)) + +## [7.0.0](https://github.com/knsv/mermaid/tree/7.0.0) (2017-01-29) +[Full Changelog](https://github.com/knsv/mermaid/compare/6.0.0...7.0.0) + +**Closed issues:** + +- demos on io site not working [\#466](https://github.com/knsv/mermaid/issues/466) +- Can not be generated PNG pictures through CLI with Chinese [\#451](https://github.com/knsv/mermaid/issues/451) +- Round nodes cannot be styled with CSS classes [\#443](https://github.com/knsv/mermaid/issues/443) +- webpack gulp UglifyJsPlugin error. [\#440](https://github.com/knsv/mermaid/issues/440) +- String concatenation isn't working [\#432](https://github.com/knsv/mermaid/issues/432) +- text flow/wrap in actor box of sequence diagram [\#422](https://github.com/knsv/mermaid/issues/422) +- Online live editor still use old version [\#402](https://github.com/knsv/mermaid/issues/402) +- uncaught TypeError: t.getTransformToElement is not a function [\#401](https://github.com/knsv/mermaid/issues/401) +- Only works when using browserify'd code [\#373](https://github.com/knsv/mermaid/issues/373) +- document the use of shebang line in mmd files [\#364](https://github.com/knsv/mermaid/issues/364) +- Diagrams are small and unreadable in IE 11 - since 0.5.1 [\#356](https://github.com/knsv/mermaid/issues/356) +- \[Feature Request\] ER-Diagram Support [\#354](https://github.com/knsv/mermaid/issues/354) +- npm install -g mermaid does not install phantomjs [\#329](https://github.com/knsv/mermaid/issues/329) +- activation boxes [\#313](https://github.com/knsv/mermaid/issues/313) +- The need for mermaid.css should be mentioned explicitly in the intro docs... [\#273](https://github.com/knsv/mermaid/issues/273) + +**Merged pull requests:** + +- Update index.html [\#465](https://github.com/knsv/mermaid/pull/465) ([bmsleight](https://github.com/bmsleight)) +- Fix for \#416, customizing link style with any color sets `fill` property to `black` instead of `none` [\#452](https://github.com/knsv/mermaid/pull/452) ([joshuacolvin](https://github.com/joshuacolvin)) +- Allow .node\>circle to receive css styles [\#449](https://github.com/knsv/mermaid/pull/449) ([bfriedz](https://github.com/bfriedz)) +- Fix spelling [\#447](https://github.com/knsv/mermaid/pull/447) ([jawn](https://github.com/jawn)) +- added tests and fix cli css style selector lowercase problem [\#445](https://github.com/knsv/mermaid/pull/445) ([whyzdev](https://github.com/whyzdev)) +- Update d3.js [\#441](https://github.com/knsv/mermaid/pull/441) ([hetz](https://github.com/hetz)) +- adde tests to reproduce \#434 in flowchart [\#439](https://github.com/knsv/mermaid/pull/439) ([whyzdev](https://github.com/whyzdev)) +- Code Climate config [\#437](https://github.com/knsv/mermaid/pull/437) ([larkinscott](https://github.com/larkinscott)) +- fix gantt and sequence digram cli cfg [\#435](https://github.com/knsv/mermaid/pull/435) ([whyzdev](https://github.com/whyzdev)) +- fix gantt chart cli configuration broken [\#433](https://github.com/knsv/mermaid/pull/433) ([whyzdev](https://github.com/whyzdev)) +- fix gantt chart cli configuration parsing including functions [\#430](https://github.com/knsv/mermaid/pull/430) ([whyzdev](https://github.com/whyzdev)) +- Uses an empty text node instead of a string for svg group labels [\#429](https://github.com/knsv/mermaid/pull/429) ([daveaglick](https://github.com/daveaglick)) +- use tspan via d3.textwrap to place actor text in sequence diagram [\#427](https://github.com/knsv/mermaid/pull/427) ([whyzdev](https://github.com/whyzdev)) +- \#422 use foreignObject/div to place actor label in sequence diagram [\#423](https://github.com/knsv/mermaid/pull/423) ([whyzdev](https://github.com/whyzdev)) +- Clarify the need for a CSS stylesheet [\#413](https://github.com/knsv/mermaid/pull/413) ([sifb](https://github.com/sifb)) +- Added hads downstream project [\#412](https://github.com/knsv/mermaid/pull/412) ([sinedied](https://github.com/sinedied)) +- update usage and fix \#273 [\#406](https://github.com/knsv/mermaid/pull/406) ([jinntrance](https://github.com/jinntrance)) +- Add https://github.com/raghur/mermaid-filter to downstream projects docs page [\#404](https://github.com/knsv/mermaid/pull/404) ([raghur](https://github.com/raghur)) +- New neutral theme [\#395](https://github.com/knsv/mermaid/pull/395) ([sinedied](https://github.com/sinedied)) +- fix cli issues [\#390](https://github.com/knsv/mermaid/pull/390) ([ben-page](https://github.com/ben-page)) +- Add missing space for 'Labels out of bounds' section [\#386](https://github.com/knsv/mermaid/pull/386) ([The-Alchemist](https://github.com/The-Alchemist)) +- Fix typo: `pats` -\> `paths` [\#382](https://github.com/knsv/mermaid/pull/382) ([swhgoon](https://github.com/swhgoon)) +- Added class diagram example to README.md [\#379](https://github.com/knsv/mermaid/pull/379) ([HustLion](https://github.com/HustLion)) +- override normal flowchart arrowhead to allow css styling [\#376](https://github.com/knsv/mermaid/pull/376) ([dodoinblue](https://github.com/dodoinblue)) +- added sphinx extension [\#371](https://github.com/knsv/mermaid/pull/371) ([mgaitan](https://github.com/mgaitan)) +- Fix typo in the sequence diagram documentation [\#369](https://github.com/knsv/mermaid/pull/369) ([ggpasqualino](https://github.com/ggpasqualino)) + +## [6.0.0](https://github.com/knsv/mermaid/tree/6.0.0) (2016-05-29) +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.8...6.0.0) + +**Closed issues:** + +- Docs css: code hard to read [\#324](https://github.com/knsv/mermaid/issues/324) +- About Markpad integration [\#323](https://github.com/knsv/mermaid/issues/323) +- How to link backwords in flowchat? [\#321](https://github.com/knsv/mermaid/issues/321) +- Help with editor [\#310](https://github.com/knsv/mermaid/issues/310) +- +1 [\#293](https://github.com/knsv/mermaid/issues/293) +- Basic chart does not render on Chome, but does in Firefox [\#290](https://github.com/knsv/mermaid/issues/290) +- Live editor is broken [\#285](https://github.com/knsv/mermaid/issues/285) +- "No such file or directory" trying to run mermaid 0.5.7 on OS X [\#284](https://github.com/knsv/mermaid/issues/284) +- participant name as "Long Long Name" [\#283](https://github.com/knsv/mermaid/issues/283) +- Windows - cli - could not find phantomjs at the specified path [\#236](https://github.com/knsv/mermaid/issues/236) + +**Merged pull requests:** + +- The option of gantt for the spaces for the section names. [\#353](https://github.com/knsv/mermaid/pull/353) ([zeroyonichihachi](https://github.com/zeroyonichihachi)) +- Gitgraph: Make reset work with parent ref carets [\#350](https://github.com/knsv/mermaid/pull/350) ([raghur](https://github.com/raghur)) +- Remove the text-shadows that make the text look blurry [\#349](https://github.com/knsv/mermaid/pull/349) ([AsaAyers](https://github.com/AsaAyers)) +- add line interpolation to linkStyle in flowchart [\#346](https://github.com/knsv/mermaid/pull/346) ([AlanHohn](https://github.com/AlanHohn)) +- Support git graph diagrams in mermaid [\#344](https://github.com/knsv/mermaid/pull/344) ([raghur](https://github.com/raghur)) +- Build and test execution changes [\#338](https://github.com/knsv/mermaid/pull/338) ([ssbarnea](https://github.com/ssbarnea)) +- Reformatting of css files [\#331](https://github.com/knsv/mermaid/pull/331) ([Jmuccigr](https://github.com/Jmuccigr)) +- \(WIP\) Sequence Diagram Title Support [\#320](https://github.com/knsv/mermaid/pull/320) ([bronsoja](https://github.com/bronsoja)) +- activations doc + few fixes [\#318](https://github.com/knsv/mermaid/pull/318) ([ciekawy](https://github.com/ciekawy)) +- Dark theme for better contrast on darker backgrounds [\#317](https://github.com/knsv/mermaid/pull/317) ([crodriguez1a](https://github.com/crodriguez1a)) +- Activations [\#316](https://github.com/knsv/mermaid/pull/316) ([ciekawy](https://github.com/ciekawy)) +- Support leading comments for sequenceDiagrams [\#312](https://github.com/knsv/mermaid/pull/312) ([ashsearle](https://github.com/ashsearle)) +- Show a little lenience for white-space around names [\#309](https://github.com/knsv/mermaid/pull/309) ([ashsearle](https://github.com/ashsearle)) +- Update list of downstream projects [\#307](https://github.com/knsv/mermaid/pull/307) ([maxArturo](https://github.com/maxArturo)) +- Issue 299: Sequence diagram Loops: changing boxMargin spoils the "loop" notation [\#300](https://github.com/knsv/mermaid/pull/300) ([LarryKlugerDS](https://github.com/LarryKlugerDS)) +- Issue 297 - src/mermaid.js generates bad code [\#298](https://github.com/knsv/mermaid/pull/298) ([LarryKlugerDS](https://github.com/LarryKlugerDS)) +- Updated instructions for running tests [\#295](https://github.com/knsv/mermaid/pull/295) ([LarryKlugerDS](https://github.com/LarryKlugerDS)) +- Add Markdown Plus to Downstream projects [\#288](https://github.com/knsv/mermaid/pull/288) ([tylerlong](https://github.com/tylerlong)) +- Quote phantomPath so that it doesn't fail on window [\#286](https://github.com/knsv/mermaid/pull/286) ([raghur](https://github.com/raghur)) + +## [0.5.8](https://github.com/knsv/mermaid/tree/0.5.8) (2016-01-27) +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.7...0.5.8) + +## [0.5.7](https://github.com/knsv/mermaid/tree/0.5.7) (2016-01-25) +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.6...0.5.7) + +**Closed issues:** + +- Mermaid + LightPaper = ❤️ [\#280](https://github.com/knsv/mermaid/issues/280) +- Bower Integration [\#278](https://github.com/knsv/mermaid/issues/278) +- Mermaid breaks when variables end in 'v' [\#276](https://github.com/knsv/mermaid/issues/276) +- sequence diagrams don't support participant aliasing [\#263](https://github.com/knsv/mermaid/issues/263) +- One diagram that fails to render stops further execution on the page [\#259](https://github.com/knsv/mermaid/issues/259) +- Where to find line layout algorithm? [\#258](https://github.com/knsv/mermaid/issues/258) +- Compatibility with node.js [\#257](https://github.com/knsv/mermaid/issues/257) +- Label resizing with dynamically loaded fonts [\#255](https://github.com/knsv/mermaid/issues/255) +- SVG arrowheads are broken in the CLI [\#249](https://github.com/knsv/mermaid/issues/249) +- Cannot read property 'replace' of undefined [\#239](https://github.com/knsv/mermaid/issues/239) + +**Merged pull requests:** + +- gh-50 Allow styling of edge labels in css [\#267](https://github.com/knsv/mermaid/pull/267) ([Anoia](https://github.com/Anoia)) +- Allow sequenceDiagram participant aliasing [\#265](https://github.com/knsv/mermaid/pull/265) ([gibson042](https://github.com/gibson042)) + +## [0.5.6](https://github.com/knsv/mermaid/tree/0.5.6) (2015-11-22) +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.5...0.5.6) + +**Closed issues:** + +- title doesn't work in sequenceDiagram [\#248](https://github.com/knsv/mermaid/issues/248) +- hypen-minus should be valid in sequence diagram alt/else/etc. descriptions [\#247](https://github.com/knsv/mermaid/issues/247) +- Broken in firefox? [\#245](https://github.com/knsv/mermaid/issues/245) +- When there is a Chinese symbol in the flowchart, it will crash。 [\#238](https://github.com/knsv/mermaid/issues/238) +- Non-alpha characters included in ALPHA token \(flow graph jison\) [\#232](https://github.com/knsv/mermaid/issues/232) +- subgraph not rendering with change to sample [\#231](https://github.com/knsv/mermaid/issues/231) +- sequence diagram requires a new line at the end? [\#229](https://github.com/knsv/mermaid/issues/229) +- Live Editor: Permalink address not being parsed [\#202](https://github.com/knsv/mermaid/issues/202) +- Add download SVG link to the live editor [\#144](https://github.com/knsv/mermaid/issues/144) + +**Merged pull requests:** + +- Make sequenceDiagram terminal newline optional [\#253](https://github.com/knsv/mermaid/pull/253) ([gibson042](https://github.com/gibson042)) +- Support sequenceDiagram "over" notes [\#252](https://github.com/knsv/mermaid/pull/252) ([gibson042](https://github.com/gibson042)) +- Properly handle "rest of line" statements [\#251](https://github.com/knsv/mermaid/pull/251) ([gibson042](https://github.com/gibson042)) +- CLI: Propagate exit code from lib \(i.e., phantomjs\) [\#250](https://github.com/knsv/mermaid/pull/250) ([gibson042](https://github.com/gibson042)) +- flowRender.js - Fix FontAwesome icon insert [\#244](https://github.com/knsv/mermaid/pull/244) ([ma-zal](https://github.com/ma-zal)) +- updated sequence diagram link in live editor [\#242](https://github.com/knsv/mermaid/pull/242) ([r-a-v-a-s](https://github.com/r-a-v-a-s)) +- updated links in README.md [\#240](https://github.com/knsv/mermaid/pull/240) ([r-a-v-a-s](https://github.com/r-a-v-a-s)) +- Ellipse syntax [\#237](https://github.com/knsv/mermaid/pull/237) ([spect88](https://github.com/spect88)) +- Allow keywords as suffixes of node ids [\#235](https://github.com/knsv/mermaid/pull/235) ([spect88](https://github.com/spect88)) +- Highlighted the editor in the nav [\#234](https://github.com/knsv/mermaid/pull/234) ([knsv](https://github.com/knsv)) +- Live editor tweaks [\#233](https://github.com/knsv/mermaid/pull/233) ([spect88](https://github.com/spect88)) +- Add a Gitter chat badge to README.md [\#230](https://github.com/knsv/mermaid/pull/230) ([gitter-badger](https://github.com/gitter-badger)) + +## [0.5.5](https://github.com/knsv/mermaid/tree/0.5.5) (2015-10-21) +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.4...0.5.5) + +**Closed issues:** + +- sequence diagram, arrowhead instead of crosshead [\#227](https://github.com/knsv/mermaid/issues/227) + +**Merged pull requests:** + +- Fix a typo: crosshead --\> arrowhead [\#228](https://github.com/knsv/mermaid/pull/228) ([tylerlong](https://github.com/tylerlong)) + +## [0.5.4](https://github.com/knsv/mermaid/tree/0.5.4) (2015-10-19) +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.3...0.5.4) + +**Closed issues:** + +- Weird bug in live editor when using words with substring `end` [\#184](https://github.com/knsv/mermaid/issues/184) +- Custom icons [\#15](https://github.com/knsv/mermaid/issues/15) +- Marker-end arrow cannot be shown for URL with query parameter [\#225](https://github.com/knsv/mermaid/issues/225) +- Please update bower's D3 version [\#221](https://github.com/knsv/mermaid/issues/221) +- Set log level from mermaid configuration [\#220](https://github.com/knsv/mermaid/issues/220) +- Width fixed to 400px [\#204](https://github.com/knsv/mermaid/issues/204) +- render to png from the cli does not display the marker-end arrow heads [\#181](https://github.com/knsv/mermaid/issues/181) +- Links in sequence diagrams [\#159](https://github.com/knsv/mermaid/issues/159) +- comment characters `%%` cause parse error [\#141](https://github.com/knsv/mermaid/issues/141) +- Add a reversed assymetric shape [\#124](https://github.com/knsv/mermaid/issues/124) +- Add syntax for double headed arrows [\#123](https://github.com/knsv/mermaid/issues/123) +- Support for font-awesome [\#49](https://github.com/knsv/mermaid/issues/49) + +**Merged pull requests:** + +- Allow `end` as a substring of vertex id [\#224](https://github.com/knsv/mermaid/pull/224) ([spect88](https://github.com/spect88)) +- Remove duplicate npm dependencies: d3 and he [\#223](https://github.com/knsv/mermaid/pull/223) ([spect88](https://github.com/spect88)) + +## [0.5.3](https://github.com/knsv/mermaid/tree/0.5.3) (2015-10-04) +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.2...0.5.3) + +## [0.5.2](https://github.com/knsv/mermaid/tree/0.5.2) (2015-10-04) +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.1...0.5.2) + +**Closed issues:** + +- Installing “atom-mermaid@0.1.3” failed [\#218](https://github.com/knsv/mermaid/issues/218) +- Render mermaid code on websites? [\#215](https://github.com/knsv/mermaid/issues/215) +- Brackets in a node with text? [\#213](https://github.com/knsv/mermaid/issues/213) +- node feature request [\#211](https://github.com/knsv/mermaid/issues/211) +- Please add prefix for styles [\#208](https://github.com/knsv/mermaid/issues/208) +- Bad handling of block arguments [\#207](https://github.com/knsv/mermaid/issues/207) +- please consider port to mac osx [\#203](https://github.com/knsv/mermaid/issues/203) +- allow phantomjs \>=1.9.x [\#201](https://github.com/knsv/mermaid/issues/201) +- syntax for venn diagrams? [\#200](https://github.com/knsv/mermaid/issues/200) +- Broken CLI Graphs? \(v0.5.1\) [\#196](https://github.com/knsv/mermaid/issues/196) +- Static site does not render under HTTPS [\#194](https://github.com/knsv/mermaid/issues/194) +- Error on simple graph [\#192](https://github.com/knsv/mermaid/issues/192) +- Escape "~" [\#191](https://github.com/knsv/mermaid/issues/191) +- Trying to add link using 'click' to flowchart [\#188](https://github.com/knsv/mermaid/issues/188) +- cli: no lines and arrowheads rendered / only dotted lines [\#187](https://github.com/knsv/mermaid/issues/187) +- text of mermaid div displayed on page [\#186](https://github.com/knsv/mermaid/issues/186) +- using mermaid with laravel [\#185](https://github.com/knsv/mermaid/issues/185) +- Atom editor package [\#183](https://github.com/knsv/mermaid/issues/183) +- Auto linewrap for notes in sequence diagrams [\#178](https://github.com/knsv/mermaid/issues/178) +- Execute code after initialize [\#176](https://github.com/knsv/mermaid/issues/176) +- Autoscaling for all diagram types [\#175](https://github.com/knsv/mermaid/issues/175) +- Problem wit click event callback [\#174](https://github.com/knsv/mermaid/issues/174) +- How to escape characters? [\#170](https://github.com/knsv/mermaid/issues/170) +- it can not work [\#167](https://github.com/knsv/mermaid/issues/167) +- UML Class diagram [\#154](https://github.com/knsv/mermaid/issues/154) +- Broken subgraph using the CLI [\#153](https://github.com/knsv/mermaid/issues/153) +- Support PlantUML syntax [\#149](https://github.com/knsv/mermaid/issues/149) +- IE Support issue [\#142](https://github.com/knsv/mermaid/issues/142) +- Flowchart truncated [\#140](https://github.com/knsv/mermaid/issues/140) +- Double Quote as text is not working [\#219](https://github.com/knsv/mermaid/issues/219) +- classDef / class not working with htmlLabels? [\#210](https://github.com/knsv/mermaid/issues/210) +- Links in graph missing [\#209](https://github.com/knsv/mermaid/issues/209) +- Last word in comment boxes getting cut off by word wrap library : \( [\#195](https://github.com/knsv/mermaid/issues/195) +- Escaping characters in sequence diagram [\#193](https://github.com/knsv/mermaid/issues/193) +- SVG foreignObject rendering [\#180](https://github.com/knsv/mermaid/issues/180) +- IE9 issue [\#179](https://github.com/knsv/mermaid/issues/179) +- inoperable in an AMD/requirejs environment: IPython Notebook [\#127](https://github.com/knsv/mermaid/issues/127) +- \[Parser\] Hyphen in participant name bring TypeError [\#74](https://github.com/knsv/mermaid/issues/74) +- Support for hyperlink and tooltip [\#34](https://github.com/knsv/mermaid/issues/34) + +**Merged pull requests:** + +- Update flowchart.md [\#214](https://github.com/knsv/mermaid/pull/214) ([orschiro](https://github.com/orschiro)) +- Default style when using the CLI [\#205](https://github.com/knsv/mermaid/pull/205) ([gillesdemey](https://github.com/gillesdemey)) +- Gantt chart - add minutes and seconds durations [\#198](https://github.com/knsv/mermaid/pull/198) ([dbrans](https://github.com/dbrans)) +- Using QUnit for AMD testing [\#190](https://github.com/knsv/mermaid/pull/190) ([bollwyvl](https://github.com/bollwyvl)) +- Update phantomscript.js [\#182](https://github.com/knsv/mermaid/pull/182) ([phairow](https://github.com/phairow)) + +## [0.5.1](https://github.com/knsv/mermaid/tree/0.5.1) (2015-06-21) +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.0...0.5.1) + +**Closed issues:** + +- Live editor is broken [\#173](https://github.com/knsv/mermaid/issues/173) +- 0.5.0 no longer respects custom date definitions in Gantt diagrams [\#171](https://github.com/knsv/mermaid/issues/171) +- Drop label character restrictions [\#162](https://github.com/knsv/mermaid/issues/162) +- can't nest subgraphs in flowchart [\#161](https://github.com/knsv/mermaid/issues/161) +- Unable to generate gantt diagram with mermaid CLI [\#158](https://github.com/knsv/mermaid/issues/158) +- Inline css by "mermaid" [\#157](https://github.com/knsv/mermaid/issues/157) +- Finite State Machine Diagram [\#152](https://github.com/knsv/mermaid/issues/152) +- How to center align gantt diagram [\#150](https://github.com/knsv/mermaid/issues/150) +- Security concern regarding class definition [\#148](https://github.com/knsv/mermaid/issues/148) +- File Extension [\#147](https://github.com/knsv/mermaid/issues/147) +- To SVG Export [\#146](https://github.com/knsv/mermaid/issues/146) +- `setTimeout` with clusters problematic with programmatic edits and no callback [\#133](https://github.com/knsv/mermaid/issues/133) +- Possibility to set the width of the generated flowchart [\#129](https://github.com/knsv/mermaid/issues/129) +- flowchart - styling of edges via css overrides specific styles set in the graph definition [\#128](https://github.com/knsv/mermaid/issues/128) +- module.exports.cloneCssStyles\(\) in combination with Angularjs breaks display in Chrome and IE [\#126](https://github.com/knsv/mermaid/issues/126) +- Gantt - suitable xAxis for longer project [\#125](https://github.com/knsv/mermaid/issues/125) +- Mix horizontal and vertical graph [\#68](https://github.com/knsv/mermaid/issues/68) +- How to get started with this project ? [\#64](https://github.com/knsv/mermaid/issues/64) +- Special characters break parsing [\#54](https://github.com/knsv/mermaid/issues/54) +- Responsive graph layout for mobile viewers [\#51](https://github.com/knsv/mermaid/issues/51) +- Styling connector lines [\#31](https://github.com/knsv/mermaid/issues/31) + +**Merged pull requests:** + +- Remove moot `version` property from bower.json [\#172](https://github.com/knsv/mermaid/pull/172) ([kkirsche](https://github.com/kkirsche)) + +## [0.5.0](https://github.com/knsv/mermaid/tree/0.5.0) (2015-06-07) +[Full Changelog](https://github.com/knsv/mermaid/compare/0.4.0...0.5.0) + +**Closed issues:** + +- it can not work where graph TD contains chinese character [\#166](https://github.com/knsv/mermaid/issues/166) +- Broken Examples [\#163](https://github.com/knsv/mermaid/issues/163) +- uglifyjs wanrings which means we can improve the code [\#156](https://github.com/knsv/mermaid/issues/156) +- New\(er\) features unavailable in downloadable js files? [\#151](https://github.com/knsv/mermaid/issues/151) +- Add gh-gapes link to description [\#143](https://github.com/knsv/mermaid/issues/143) +- Some examples not displayed on Firefox 36.0.1 [\#138](https://github.com/knsv/mermaid/issues/138) +- tags ending in a "v" don't render [\#132](https://github.com/knsv/mermaid/issues/132) +- Links in flowchart [\#131](https://github.com/knsv/mermaid/issues/131) +- Using the library for iOS development [\#130](https://github.com/knsv/mermaid/issues/130) +- Add a css file, mermaid.css, with default styling [\#122](https://github.com/knsv/mermaid/issues/122) +- Add capability for gantt diagrams [\#118](https://github.com/knsv/mermaid/issues/118) +- lower case v causes error in the parser [\#108](https://github.com/knsv/mermaid/issues/108) +- Label's css conflict with boostrap's .label [\#67](https://github.com/knsv/mermaid/issues/67) +- TypeError: Cannot read property 'layout' of undefined [\#37](https://github.com/knsv/mermaid/issues/37) +- software architecture diagram [\#36](https://github.com/knsv/mermaid/issues/36) +- Support for bar charts and pie diagrams [\#22](https://github.com/knsv/mermaid/issues/22) + +**Merged pull requests:** + +- Dev 0.5.0 [\#168](https://github.com/knsv/mermaid/pull/168) ([knsv](https://github.com/knsv)) +- Fix spacing [\#164](https://github.com/knsv/mermaid/pull/164) ([rhcarvalho](https://github.com/rhcarvalho)) +- Fixing typo: "Think" -\> "Thick" [\#160](https://github.com/knsv/mermaid/pull/160) ([it0a](https://github.com/it0a)) +- IE, local html, cssRules access is denied [\#155](https://github.com/knsv/mermaid/pull/155) ([tylerlong](https://github.com/tylerlong)) +- Add automatically generated change log file. [\#139](https://github.com/knsv/mermaid/pull/139) ([skywinder](https://github.com/skywinder)) - Adding init argument to the global API [\#137](https://github.com/knsv/mermaid/pull/137) ([bollwyvl](https://github.com/bollwyvl)) - - Add description of manual calling of init [\#136](https://github.com/knsv/mermaid/pull/136) ([bollwyvl](https://github.com/bollwyvl)) - - Allow other forms of node selection for init\(\) [\#135](https://github.com/knsv/mermaid/pull/135) ([bollwyvl](https://github.com/bollwyvl)) - - Use a library-level variable for assigning ids [\#134](https://github.com/knsv/mermaid/pull/134) ([bollwyvl](https://github.com/bollwyvl)) ## [0.4.0](https://github.com/knsv/mermaid/tree/0.4.0) (2015-03-01) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.5...0.4.0) -**Implemented enhancements:** - -- Assymetric shapes not documented [\#82](https://github.com/knsv/mermaid/issues/82) - -- Improve arrows [\#3](https://github.com/knsv/mermaid/issues/3) - -**Fixed bugs:** - -- NoModificationAllowedError [\#23](https://github.com/knsv/mermaid/issues/23) - **Closed issues:** - subgraph background is black in rendered flowchart PNG via CLI [\#121](https://github.com/knsv/mermaid/issues/121) - - Integrate editor at https://github.com/naseer/mermaid-webapp [\#110](https://github.com/knsv/mermaid/issues/110) - - Internet Explorer Support [\#99](https://github.com/knsv/mermaid/issues/99) +- Assymetric shapes not documented [\#82](https://github.com/knsv/mermaid/issues/82) +- NoModificationAllowedError [\#23](https://github.com/knsv/mermaid/issues/23) +- Improve arrows [\#3](https://github.com/knsv/mermaid/issues/3) ## [0.3.5](https://github.com/knsv/mermaid/tree/0.3.5) (2015-02-15) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.4...0.3.5) ## [0.3.4](https://github.com/knsv/mermaid/tree/0.3.4) (2015-02-15) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.3...0.3.4) -**Implemented enhancements:** - -- Apply styling from css when using the CLI utility [\#85](https://github.com/knsv/mermaid/issues/85) - -- Generated SVG works poorly outside web browsers [\#58](https://github.com/knsv/mermaid/issues/58) - -- Generating SVG text blob for use in Node [\#2](https://github.com/knsv/mermaid/issues/2) - **Closed issues:** - Subgraph syntax bug? [\#120](https://github.com/knsv/mermaid/issues/120) - - Live editor [\#115](https://github.com/knsv/mermaid/issues/115) - - Error in "Basic Syntax" wiki page [\#113](https://github.com/knsv/mermaid/issues/113) - - semicolons, anyone? [\#111](https://github.com/knsv/mermaid/issues/111) - - undefined `sequenceConfig` fails [\#109](https://github.com/knsv/mermaid/issues/109) - - Sequence Diagrams: Show Actors below as well [\#106](https://github.com/knsv/mermaid/issues/106) - - Allow overriding sequence diagram configuration \(SVG properties\) [\#103](https://github.com/knsv/mermaid/issues/103) - - Error when rendering A-- This is the text -- B [\#102](https://github.com/knsv/mermaid/issues/102) - - Clipping in documentation [\#97](https://github.com/knsv/mermaid/issues/97) - - isolate class styling to the svg container [\#92](https://github.com/knsv/mermaid/issues/92) - +- Apply styling from css when using the CLI utility [\#85](https://github.com/knsv/mermaid/issues/85) +- Generated SVG works poorly outside web browsers [\#58](https://github.com/knsv/mermaid/issues/58) - Make the new graph declaration more visual [\#40](https://github.com/knsv/mermaid/issues/40) +- Generating SVG text blob for use in Node [\#2](https://github.com/knsv/mermaid/issues/2) **Merged pull requests:** - Add live editor [\#119](https://github.com/knsv/mermaid/pull/119) ([naseer](https://github.com/naseer)) - - Adds CSS option to the CLI [\#116](https://github.com/knsv/mermaid/pull/116) ([fardog](https://github.com/fardog)) - - Update flowchart.md in response Issue \#113 [\#114](https://github.com/knsv/mermaid/pull/114) ([vijay40](https://github.com/vijay40)) - - Ignore all files except the license and dist/ folder when installing with Bower. [\#112](https://github.com/knsv/mermaid/pull/112) ([jasonbellamy](https://github.com/jasonbellamy)) ## [0.3.3](https://github.com/knsv/mermaid/tree/0.3.3) (2015-01-25) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.2...0.3.3) -**Implemented enhancements:** - -- Support for dotted links [\#26](https://github.com/knsv/mermaid/issues/26) - **Closed issues:** - Missing arrows in sequence diagram [\#98](https://github.com/knsv/mermaid/issues/98) - - Error with \>9 linkStyles [\#95](https://github.com/knsv/mermaid/issues/95) +- Support for dotted links [\#26](https://github.com/knsv/mermaid/issues/26) **Merged pull requests:** - Require d3 directly to better support Node usage [\#107](https://github.com/knsv/mermaid/pull/107) ([markdalgleish](https://github.com/markdalgleish)) - - update doc with -c option [\#105](https://github.com/knsv/mermaid/pull/105) ([jjmr](https://github.com/jjmr)) - - Add new parameter to the console client to override the svg configuration in sequence diagrams [\#104](https://github.com/knsv/mermaid/pull/104) ([jjmr](https://github.com/jjmr)) - - Text based labels, new shape [\#101](https://github.com/knsv/mermaid/pull/101) ([bjowes](https://github.com/bjowes)) - - fix html tags in example usage [\#100](https://github.com/knsv/mermaid/pull/100) ([deiwin](https://github.com/deiwin)) ## [0.3.2](https://github.com/knsv/mermaid/tree/0.3.2) (2015-01-11) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.1...0.3.2) -**Implemented enhancements:** - -- Make link text look like it is on the line [\#53](https://github.com/knsv/mermaid/issues/53) - **Closed issues:** - disable auto render [\#91](https://github.com/knsv/mermaid/issues/91) - -- Tidy breaks mermaid \(linebreaks in \) [\#87](https://github.com/knsv/mermaid/issues/87) - -- Bug: being rendered as text in node [\#73](https://github.com/knsv/mermaid/issues/73) - +- Tidy breaks mermaid \(linebreaks in \\) [\#87](https://github.com/knsv/mermaid/issues/87) +- Bug: \ being rendered as text in node [\#73](https://github.com/knsv/mermaid/issues/73) - Graph edges appear to render outside of the canvas [\#70](https://github.com/knsv/mermaid/issues/70) +- Make link text look like it is on the line [\#53](https://github.com/knsv/mermaid/issues/53) **Merged pull requests:** - Merge pull request \#1 from knsv/master [\#96](https://github.com/knsv/mermaid/pull/96) ([gkchic](https://github.com/gkchic)) - - Removed duplicated section in flowchart docs [\#94](https://github.com/knsv/mermaid/pull/94) ([kaime](https://github.com/kaime)) - - Grammar changes to sequence page [\#93](https://github.com/knsv/mermaid/pull/93) ([gkchic](https://github.com/gkchic)) - -- Grammar changes to development page [\#90](https://github.com/knsv/mermaid/pull/90) ([gkchic](https://github.com/gkchic)) - - Github buttons [\#89](https://github.com/knsv/mermaid/pull/89) ([gkchic](https://github.com/gkchic)) - - Template change [\#88](https://github.com/knsv/mermaid/pull/88) ([gkchic](https://github.com/gkchic)) -- New content template [\#86](https://github.com/knsv/mermaid/pull/86) ([gkchic](https://github.com/gkchic)) - ## [0.3.1](https://github.com/knsv/mermaid/tree/0.3.1) (2015-01-05) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.0...0.3.1) -**Implemented enhancements:** - -- Support for sequence diagrams [\#16](https://github.com/knsv/mermaid/issues/16) - -- Client utility for mermaid [\#6](https://github.com/knsv/mermaid/issues/6) - **Closed issues:** - Non ASCII chars in labels [\#84](https://github.com/knsv/mermaid/issues/84) - - 'undefined' titles of Quicklinks on the usage page [\#80](https://github.com/knsv/mermaid/issues/80) - - \[cli\] Enhancement proposal: not fail --version / --help if phantomjs isn't installed [\#71](https://github.com/knsv/mermaid/issues/71) +- Neural Networks [\#39](https://github.com/knsv/mermaid/issues/39) +- Support for sequence diagrams [\#16](https://github.com/knsv/mermaid/issues/16) +- Client utility for mermaid [\#6](https://github.com/knsv/mermaid/issues/6) **Merged pull requests:** -- Formatting of the CONTRIBUTING file [\#83](https://github.com/knsv/mermaid/pull/83) ([Grahack](https://github.com/Grahack)) - - Flowchart doc: Text in the circle now in a circle [\#81](https://github.com/knsv/mermaid/pull/81) ([Grahack](https://github.com/Grahack)) - - Fix for issue \#73 [\#79](https://github.com/knsv/mermaid/pull/79) ([it0a](https://github.com/it0a)) - - Ink template [\#78](https://github.com/knsv/mermaid/pull/78) ([gkchic](https://github.com/gkchic)) - -- Index template file [\#77](https://github.com/knsv/mermaid/pull/77) ([gkchic](https://github.com/gkchic)) - -- Index template file [\#76](https://github.com/knsv/mermaid/pull/76) ([gkchic](https://github.com/gkchic)) - - Show help and version even if phantom isn't present. Fixes \#71 [\#75](https://github.com/knsv/mermaid/pull/75) ([fardog](https://github.com/fardog)) - - Add apostrophe & 'and' [\#72](https://github.com/knsv/mermaid/pull/72) ([sudodoki](https://github.com/sudodoki)) ## [0.3.0](https://github.com/knsv/mermaid/tree/0.3.0) (2014-12-22) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.16...0.3.0) -**Implemented enhancements:** - -- How do I do comments? [\#47](https://github.com/knsv/mermaid/issues/47) - -- Improve readability with new line as terminator and whitespace [\#38](https://github.com/knsv/mermaid/issues/38) - -**Fixed bugs:** - -- This characters failed the lexical parsing [\#46](https://github.com/knsv/mermaid/issues/46) - **Closed issues:** +- Consider shipping a standalone executable [\#65](https://github.com/knsv/mermaid/issues/65) - Trailing whitespace at the end of lines is not ignored [\#55](https://github.com/knsv/mermaid/issues/55) - +- How do I do comments? [\#47](https://github.com/knsv/mermaid/issues/47) +- This characters failed the lexical parsing [\#46](https://github.com/knsv/mermaid/issues/46) +- tutorial for creating new type of graph/layout [\#44](https://github.com/knsv/mermaid/issues/44) +- Improve readability with new line as terminator and whitespace [\#38](https://github.com/knsv/mermaid/issues/38) - Use classes instead of inline style for easy styling [\#24](https://github.com/knsv/mermaid/issues/24) **Merged pull requests:** - Adds Command Line Interface for generating PNGs from mermaid description files [\#69](https://github.com/knsv/mermaid/pull/69) ([fardog](https://github.com/fardog)) - - Allow special symbols for direction along with acronyms [\#66](https://github.com/knsv/mermaid/pull/66) ([vijay40](https://github.com/vijay40)) ## [0.2.16](https://github.com/knsv/mermaid/tree/0.2.16) (2014-12-15) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.15...0.2.16) -**Fixed bugs:** - -- Lines routed outside visible area [\#19](https://github.com/knsv/mermaid/issues/19) - **Closed issues:** - Mermaid not rendering properly on Wordpress pages [\#59](https://github.com/knsv/mermaid/issues/59) - - Improve example page with live demo [\#52](https://github.com/knsv/mermaid/issues/52) - +- Create image file via CLI? [\#48](https://github.com/knsv/mermaid/issues/48) - Does not render upon AngularJS Updates [\#45](https://github.com/knsv/mermaid/issues/45) - - Download link in README.MD doesn't work. [\#42](https://github.com/knsv/mermaid/issues/42) - - linkStyle usage is not obvious [\#41](https://github.com/knsv/mermaid/issues/41) - - Move \*.spec.js in src/ to test/ [\#35](https://github.com/knsv/mermaid/issues/35) +- Lines routed outside visible area [\#19](https://github.com/knsv/mermaid/issues/19) **Merged pull requests:** - New grammar will allow statements ending without semicolon as disccused in Issue \#38 [\#63](https://github.com/knsv/mermaid/pull/63) ([vijay40](https://github.com/vijay40)) - - Class based styling [\#62](https://github.com/knsv/mermaid/pull/62) ([bjowes](https://github.com/bjowes)) - -- Update from master [\#61](https://github.com/knsv/mermaid/pull/61) ([bjowes](https://github.com/bjowes)) - - Fix typos [\#60](https://github.com/knsv/mermaid/pull/60) ([sublimino](https://github.com/sublimino)) - - Included .DS\_Store in gitignore [\#57](https://github.com/knsv/mermaid/pull/57) ([alvynmcq](https://github.com/alvynmcq)) - - Improves readablity discussed in issue \#38 [\#56](https://github.com/knsv/mermaid/pull/56) ([vijay40](https://github.com/vijay40)) - - Added a linting task for gulp [\#43](https://github.com/knsv/mermaid/pull/43) ([serv](https://github.com/serv)) ## [0.2.15](https://github.com/knsv/mermaid/tree/0.2.15) (2014-12-05) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.14...0.2.15) -**Fixed bugs:** - -- Error with some characters [\#25](https://github.com/knsv/mermaid/issues/25) - -- Cap-cased words break parser [\#8](https://github.com/knsv/mermaid/issues/8) - **Closed issues:** - Question marks don't render properly with /dist/mermaid.full.min.js [\#30](https://github.com/knsv/mermaid/issues/30) - +- Error with some characters [\#25](https://github.com/knsv/mermaid/issues/25) - Provide parse function in browser widthout `require`? [\#21](https://github.com/knsv/mermaid/issues/21) - - Better label text support [\#18](https://github.com/knsv/mermaid/issues/18) +- Cap-cased words break parser [\#8](https://github.com/knsv/mermaid/issues/8) **Merged pull requests:** - Include bower\_components/ to .gitignore [\#33](https://github.com/knsv/mermaid/pull/33) ([serv](https://github.com/serv)) - - Fixed reference to Git repo. [\#32](https://github.com/knsv/mermaid/pull/32) ([guyellis](https://github.com/guyellis)) ## [0.2.14](https://github.com/knsv/mermaid/tree/0.2.14) (2014-12-03) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.13...0.2.14) ## [0.2.13](https://github.com/knsv/mermaid/tree/0.2.13) (2014-12-03) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.10...0.2.13) -**Implemented enhancements:** - -- Publish to NPM [\#7](https://github.com/knsv/mermaid/issues/7) - **Closed issues:** - modified init to be applied more than once [\#29](https://github.com/knsv/mermaid/issues/29) - - Wanted to know build process for the project. [\#28](https://github.com/knsv/mermaid/issues/28) - +- Container support [\#27](https://github.com/knsv/mermaid/issues/27) - can not support Chinese description [\#20](https://github.com/knsv/mermaid/issues/20) - +- Node Label text mistaken for Direction [\#17](https://github.com/knsv/mermaid/issues/17) - Support unicode chars in labels [\#9](https://github.com/knsv/mermaid/issues/9) - -**Merged pull requests:** - -- initial setup for editor page to generate graph through textarea input [\#14](https://github.com/knsv/mermaid/pull/14) ([ImanimalXI](https://github.com/ImanimalXI)) +- Publish to NPM [\#7](https://github.com/knsv/mermaid/issues/7) ## [0.2.10](https://github.com/knsv/mermaid/tree/0.2.10) (2014-12-01) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.9...0.2.10) ## [0.2.9](https://github.com/knsv/mermaid/tree/0.2.9) (2014-12-01) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.8...0.2.9) **Closed issues:** - Add link to jsbin playground to README [\#11](https://github.com/knsv/mermaid/issues/11) - - What are the requirements ? [\#10](https://github.com/knsv/mermaid/issues/10) **Merged pull requests:** - Allow unicode chars in labels [\#13](https://github.com/knsv/mermaid/pull/13) ([codebeige](https://github.com/codebeige)) -- Formatting Update [\#12](https://github.com/knsv/mermaid/pull/12) ([darrencauthon](https://github.com/darrencauthon)) - ## [0.2.8](https://github.com/knsv/mermaid/tree/0.2.8) (2014-12-01) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.7...0.2.8) ## [0.2.7](https://github.com/knsv/mermaid/tree/0.2.7) (2014-12-01) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.6...0.2.7) **Closed issues:** @@ -345,11 +830,9 @@ - Provide parser as separate module [\#4](https://github.com/knsv/mermaid/issues/4) ## [0.2.6](https://github.com/knsv/mermaid/tree/0.2.6) (2014-11-27) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.5...0.2.6) ## [0.2.5](https://github.com/knsv/mermaid/tree/0.2.5) (2014-11-27) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.4...0.2.5) **Merged pull requests:** @@ -357,27 +840,21 @@ - Added new shapes! [\#1](https://github.com/knsv/mermaid/pull/1) ([bjowes](https://github.com/bjowes)) ## [0.2.4](https://github.com/knsv/mermaid/tree/0.2.4) (2014-11-25) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.3...0.2.4) ## [0.2.3](https://github.com/knsv/mermaid/tree/0.2.3) (2014-11-24) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.2...0.2.3) ## [0.2.2](https://github.com/knsv/mermaid/tree/0.2.2) (2014-11-22) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.1...0.2.2) ## [0.2.1](https://github.com/knsv/mermaid/tree/0.2.1) (2014-11-22) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.0...0.2.1) ## [0.2.0](https://github.com/knsv/mermaid/tree/0.2.0) (2014-11-22) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.1.1...0.2.0) ## [0.1.1](https://github.com/knsv/mermaid/tree/0.1.1) (2014-11-17) - [Full Changelog](https://github.com/knsv/mermaid/compare/0.1.0...0.1.1) ## [0.1.0](https://github.com/knsv/mermaid/tree/0.1.0) (2014-11-16) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 46cb8b79b..000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,68 +0,0 @@ -# How to contribute - -Great that you want to be involved in this project! Contributing is fun and contributions are GREAT! :) - -This page is currently a starting point and is not so rigorous to start with. - -Some important guidlines: - -* The work will be organized using the issues list - * In the list there will be the bugs/enhancements etc we are working with in the project - * There will be milestones outlineing the roadmap ahead - * There will issues marked with help wanted - -The issue list and the items marked with **help wanted** is a good starting point if you want to do some work. - -## Guidelines for avoiding duplicate work - -Contributing is great. It is not so fun when you are done with your issue and just before you're about to push your -change you can't because someone else just pushed the same fix so you have wasted your time. The guidelines below are in -place to prevent this: - -* Comment in the issue that you are working on it. You will then be added as an assignee (eventually). -* When you pick an issue to work on. - * Check that the issue not assigned - * Also check the comments so that no one has started working on it before beeing officially assigned. - - -## Submitting changes -Please send a GitHub Pull Request with a clear list of what you've done (read more about pull requests). When you send -a pull request, we will love you forever if you include jasmine tests. We can always use more test coverage. - -Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should look like this: - -$ git commit -m "A brief summary of the commit -> -> A paragraph describing what changed and its impact." -Coding conventions -Start reading our code and you'll get the hang of it. We optimize for readability: - -This is open source software. Consider the people who will read your code, and make it look nice for them. It's sort of -like driving a car: Perhaps you love doing donuts when you're alone, but with passengers the goal is to make the ride as -smooth as possible. - -So that we can consistently serve images from the CDN, always use image_path or image_tag when referring to images. -Never prepend "/images/" when using image_path or image_tag. -Also for the CDN, always use cwd-relative paths rather than root-relative paths in image URLs in any CSS. So instead of -url('/images/blah.gif'), use url('../images/blah.gif'). - -# Build instructions -Fork, then: - -``` -npm install -``` - -Then the dependencies will have been installed. You use gulp as build tool. - -The following targets are probably interesting: - -* jison - compiles the jison grammars to parser files -* jasmine - runs the jasmine tests (will trigger the jison target) -* dist - complies files to the dist catalog - -for instance: -``` -gulp jasmine -``` -Thanks, Knut Sveidqvist diff --git a/LICENSE b/LICENSE index faae92123..77b04c3ab 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2014 Knut Sveidqvist +Copyright (c) 2014 - 2018 Knut Sveidqvist Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/README.md b/README.md index 317fee0fc..44a6a2c19 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,30 @@ - -mermaid [![Build Status](https://travis-ci.org/knsv/mermaid.svg?branch=master)](https://travis-ci.org/knsv/mermaid) [![Code Climate](https://codeclimate.com/github/knsv/mermaid/badges/gpa.svg)](https://codeclimate.com/github/knsv/mermaid) -======= - +[![Build Status](https://travis-ci.org/knsv/mermaid.svg?branch=master)](https://travis-ci.org/knsv/mermaid) +[![Coverage Status](https://coveralls.io/repos/github/knsv/mermaid/badge.svg?branch=master)](https://coveralls.io/github/knsv/mermaid?branch=master) [![Join the chat at https://gitter.im/knsv/mermaid](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/knsv/mermaid?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/Mermaid/mermaid) + +# mermaid + +## Special note regarding version 8.2 + +In version 8.2 a security improvement was introduced. A securityLevel configuration was introduced which sets the level of trust to be used on the parsed diagrams. + +* **`strict`**: (default) tags in text are encoded, click functionality is disabled +* `loose`: tags in text are allowed, click functionality is enabled + +⚠️ **Note** : This changes the default behaviour of mermaid so that after upgrade to 8.2, if the securityLevel is not configured, tags in flowcharts are encoded as tags and clicking is prohibited. + +If your application is taking responsibility for the diagram source security you can set the securityLevel accordingly. By doing this clicks and tags are again allowed. + +```javascript +mermaidAPI.initialize({ + securityLevel: 'loose' +}); +``` + +**🖖 Keep a steady pulse: mermaid needs more Collaborators [#866](https://github.com/knsv/mermaid/issues/866)** + +![banner](./img/header.png) Generation of diagrams and flowcharts from text in a similar manner as markdown. @@ -10,28 +32,23 @@ Ever wanted to simplify documentation and avoid heavy tools like Visio when expl This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript. -The code below would render the following image - - - - - - - - - -
CodeRendered diagram
-
-
+**Mermaid was nominated and won the JS Open Source Awards (2019) in the category _The most exciting use of technology_!!! Thanks to all involved, people committing pull requests, people answering questions and special thanks to Tyler Long who is helping me maintain the project.**
+
+### Flowchart
+
+```
 graph TD;
     A-->B;
     A-->C;
     B-->D;
     C-->D;
-
-
-
-Example 1 -
-
-
+```
+![Flowchart](./img/flow.png)
+
+
+### Sequence diagram
+
+```
 sequenceDiagram
     participant Alice
     participant Bob
@@ -39,33 +56,169 @@ sequenceDiagram
     loop Healthcheck
         John->>John: Fight against hypochondria
     end
-    Note right of John: Rational thoughts <br/>prevail...
+    Note right of John: Rational thoughts 
prevail! John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good! -
-
-
-Example 2 -
+``` +![Sequence diagram](./img/sequence.png) -## Further reading -* [Usage](http://knsv.github.io/mermaid/#usage) -* [Flowchart syntax](http://knsv.github.io/mermaid/#flowcharts-basic-syntax) -* [Sequence diagram syntax](http://knsv.github.io/mermaid/#sequence-diagrams) -* [Mermaid client](http://knsv.github.io/mermaid/#mermaid-cli) -* [Demos](http://knsv.github.io/mermaid/#demos) +### Gantt diagram + +``` +gantt +dateFormat YYYY-MM-DD +title Adding GANTT diagram to mermaid +excludes weekdays 2014-01-10 + +section A section +Completed task :done, des1, 2014-01-06,2014-01-08 +Active task :active, des2, 2014-01-09, 3d +Future task : des3, after des2, 5d +Future task2 : des4, after des3, 5d +``` +![Gantt diagram](./img/gantt.png) + + +### Class diagram - :exclamation: experimental + +``` +classDiagram +Class01 <|-- AveryLongClass : Cool +Class03 *-- Class04 +Class05 o-- Class06 +Class07 .. Class08 +Class09 --> C2 : Where am i? +Class09 --* C3 +Class09 --|> Class07 +Class07 : equals() +Class07 : Object[] elementData +Class01 : size() +Class01 : int chimp +Class01 : int gorilla +Class08 <--> C2: Cool label +``` +![Class diagram](./img/class.png) + + +### Git graph - :exclamation: experimental + +``` +gitGraph: +options +{ + "nodeSpacing": 150, + "nodeRadius": 10 +} +end +commit +branch newbranch +checkout newbranch +commit +commit +checkout master +commit +commit +merge newbranch + +``` + +![Git graph](./img/git.png) + + +## Installation + +### CDN + + https://unpkg.com/mermaid@/dist/ + +Replace `` with expected version number. + +Example: https://unpkg.com/mermaid@7.1.0/dist/ + +### Node.js + + yarn add mermaid + + +## Documentation + +https://mermaidjs.github.io + + +## Sibling projects + +- [mermaid CLI](https://github.com/mermaidjs/mermaid.cli) +- [mermaid live editor](https://github.com/mermaidjs/mermaid-live-editor) +- [mermaid webpack demo](https://github.com/mermaidjs/mermaid-webpack-demo) +- [mermaid Parcel demo](https://github.com/mermaidjs/mermaid-parcel-demo) + + +# Request for assistance + +Things are piling up and I have hard time keeping up. To remedy this +it would be great if we could form a core team of developers to cooperate +with the future development mermaid. + +As part of this team you would get write access to the repository and would +represent the project when answering questions and issues. + +Together we could continue the work with things like: +* adding more types of diagrams like mindmaps, ert diagrams etc +* improving existing diagrams + +Don't hesitate to contact me if you want to get involved. + + +# For contributors + +## Setup + + yarn install + + +## Build + + yarn build:watch + + +## Lint + + yarn lint + +We use [JavaScript Standard Style](https://github.com/feross/standard). +We recommend you installing [editor plugins](https://github.com/feross/standard#are-there-text-editor-plugins) so you can get real time lint result. + + +## Test + + yarn test + +Manual test in browser: + + open dist/index.html + + +## Release + +For those who have the permission to do so: + +Update version number in `package.json`. + + npm publish + +Command above generates files into the `dist` folder and publishes them to npmjs.org. + # Credits -Many thanks to the [d3](http://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing -the graphical layout and drawing libraries! Thanks also to the -[js-sequence-diagram](http://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the -sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering. + +Many thanks to the [d3](http://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing the graphical layout and drawing libraries! + +Thanks also to the [js-sequence-diagram](http://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering. *Mermaid was created by Knut Sveidqvist for easier documentation.* -Knut has not done all work by him self, here is the full list of the projects [contributors](https://github.com/knsv/mermaid/graphs/contributors). +*[Tyler Long](https://github.com/tylerlong) has became a collaborator since April 2017.* + +Here is the full list of the projects [contributors](https://github.com/knsv/mermaid/graphs/contributors). diff --git a/__mocks__/MERMAID.js b/__mocks__/MERMAID.js new file mode 100644 index 000000000..f844f1c55 --- /dev/null +++ b/__mocks__/MERMAID.js @@ -0,0 +1,3 @@ +export const curveBasis = 'basis' +export const curveLinear = 'linear' +export const curveCardinal = 'cardinal' diff --git a/__mocks__/d3.js b/__mocks__/d3.js new file mode 100644 index 000000000..caee810ad --- /dev/null +++ b/__mocks__/d3.js @@ -0,0 +1,56 @@ +/* eslint-env jest */ +let NewD3 = function () { + function returnThis () { + return this + } + return { + append: function () { + return NewD3() + }, + lower: returnThis, + attr: returnThis, + style: returnThis, + text: returnThis, + 0: { + 0: { + getBBox: function () { + return { + height: 10, + width: 20 + } + } + } + } + } +} + +export const select = function () { + return new NewD3() +} + +export const selectAll = function () { + return new NewD3() +} + +export const curveBasis = 'basis' +export const curveLinear = 'linear' +export const curveCardinal = 'cardinal' + +export const MockD3 = (name, parent) => { + const children = [] + const elem = { + get __children () { return children }, + get __name () { return name }, + get __parent () { return parent } + } + elem.append = (name) => { + const mockElem = MockD3(name, elem) + children.push(mockElem) + return mockElem + } + elem.lower = jest.fn(() => elem) + elem.attr = jest.fn(() => elem) + elem.text = jest.fn(() => elem) + elem.style = jest.fn(() => elem) + return elem +} diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 000000000..c76a0d028 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,12 @@ +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: 'current' + } + } + ] + ] +} diff --git a/bin/mermaid.js b/bin/mermaid.js deleted file mode 100755 index a80f78fa6..000000000 --- a/bin/mermaid.js +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env node - -var fs = require('fs') - , chalk = require('chalk') - , error = chalk.bold.red - , cli = require('../lib/cli.js') - , lib = require('../lib') - -cli.parse(process.argv.slice(2), function(err, message, options) { - if (err) { - console.error( - error('\nYou had errors in your syntax. Use --help for further information.') - ) - err.forEach(function (e) { - console.error(e.message) - }) - - return - } - else if (message) { - console.log(message) - - return - } - - lib.process(options.files, options, process.exit) -}) diff --git a/bower.json b/bower.json deleted file mode 100644 index 85601b60a..000000000 --- a/bower.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "mermaid", - "authors": [ - "knsv " - ], - "description": "Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.", - "main": "dist/mermaid.slim.js", - "keywords": [ - "diagram", - "markdown", - "flowchart", - "sequence diagram", - "gantt" - ], - "license": "MIT", - "ignore": [ - "*", - "!dist/", - "!dist/*", - "!LICENSE" - ], - "devDependencies": { - "jasmine": "~2.0.4", - "dagre": "0.6.2", - "d3": "3.3.8", - "dagre-d3": "0.3.3" - } -} diff --git a/conf/karma.conf.js b/conf/karma.conf.js deleted file mode 100644 index 493fc90d8..000000000 --- a/conf/karma.conf.js +++ /dev/null @@ -1,69 +0,0 @@ -// Karma configuration -// Generated on Mon Nov 03 2014 07:53:38 GMT+0100 (CET) - -module.exports = function (config) { - config.set({ - - // base path that will be used to resolve all patterns (eg. files, exclude) - basePath: '', - - // frameworks to use - // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['browserify', 'jasmine'], - - - // list of files / patterns to load in the browser - files: [ - '../src/**/*.js' - ], - - preprocessors: { - '../src/**/*.js': [ 'babel','browserify' ] - }, - - // list of files to exclude - exclude: ['../src/backup/**/*.js'], - - "babelPreprocessor": { - // options go here - }, - browserify: { - debug: true, - //transform: [ 'brfs' ] - }, - // preprocess matching files before serving them to the browser - // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor - - - // test results reporter to use - // possible values: 'dots', 'progress' - // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ['progress'], - - - // web server port - port: 9876, - - - // enable / disable colors in the output (reporters and logs) - colors: true, - - - // level of logging - // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG - logLevel: config.LOG_DEBUG, - - - // enable / disable watching file and executing tests whenever any file changes - autoWatch: true, - - - // start these browsers - // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ['Chrome'], - - // Continuous Integration mode - // if true, Karma captures browsers, runs the tests and exits - singleRun: false - }); -}; diff --git a/cypress.json b/cypress.json new file mode 100644 index 000000000..a56d1ac68 --- /dev/null +++ b/cypress.json @@ -0,0 +1 @@ +{ "video": false } diff --git a/cypress/examples/actions.spec.js b/cypress/examples/actions.spec.js new file mode 100644 index 000000000..20e12cc6d --- /dev/null +++ b/cypress/examples/actions.spec.js @@ -0,0 +1,272 @@ +/// + +context('Actions', () => { + beforeEach(() => { + cy.visit('https://example.cypress.io/commands/actions') + }) + + // https://on.cypress.io/interacting-with-elements + + it('.type() - type into a DOM element', () => { + // https://on.cypress.io/type + cy.get('.action-email') + .type('fake@email.com').should('have.value', 'fake@email.com') + + // .type() with special character sequences + .type('{leftarrow}{rightarrow}{uparrow}{downarrow}') + .type('{del}{selectall}{backspace}') + + // .type() with key modifiers + .type('{alt}{option}') //these are equivalent + .type('{ctrl}{control}') //these are equivalent + .type('{meta}{command}{cmd}') //these are equivalent + .type('{shift}') + + // Delay each keypress by 0.1 sec + .type('slow.typing@email.com', { delay: 100 }) + .should('have.value', 'slow.typing@email.com') + + cy.get('.action-disabled') + // Ignore error checking prior to type + // like whether the input is visible or disabled + .type('disabled error checking', { force: true }) + .should('have.value', 'disabled error checking') + }) + + it('.focus() - focus on a DOM element', () => { + // https://on.cypress.io/focus + cy.get('.action-focus').focus() + .should('have.class', 'focus') + .prev().should('have.attr', 'style', 'color: orange;') + }) + + it('.blur() - blur off a DOM element', () => { + // https://on.cypress.io/blur + cy.get('.action-blur').type('About to blur').blur() + .should('have.class', 'error') + .prev().should('have.attr', 'style', 'color: red;') + }) + + it('.clear() - clears an input or textarea element', () => { + // https://on.cypress.io/clear + cy.get('.action-clear').type('Clear this text') + .should('have.value', 'Clear this text') + .clear() + .should('have.value', '') + }) + + it('.submit() - submit a form', () => { + // https://on.cypress.io/submit + cy.get('.action-form') + .find('[type="text"]').type('HALFOFF') + cy.get('.action-form').submit() + .next().should('contain', 'Your form has been submitted!') + }) + + it('.click() - click on a DOM element', () => { + // https://on.cypress.io/click + cy.get('.action-btn').click() + + // You can click on 9 specific positions of an element: + // ----------------------------------- + // | topLeft top topRight | + // | | + // | | + // | | + // | left center right | + // | | + // | | + // | | + // | bottomLeft bottom bottomRight | + // ----------------------------------- + + // clicking in the center of the element is the default + cy.get('#action-canvas').click() + + cy.get('#action-canvas').click('topLeft') + cy.get('#action-canvas').click('top') + cy.get('#action-canvas').click('topRight') + cy.get('#action-canvas').click('left') + cy.get('#action-canvas').click('right') + cy.get('#action-canvas').click('bottomLeft') + cy.get('#action-canvas').click('bottom') + cy.get('#action-canvas').click('bottomRight') + + // .click() accepts an x and y coordinate + // that controls where the click occurs :) + + cy.get('#action-canvas') + .click(80, 75) // click 80px on x coord and 75px on y coord + .click(170, 75) + .click(80, 165) + .click(100, 185) + .click(125, 190) + .click(150, 185) + .click(170, 165) + + // click multiple elements by passing multiple: true + cy.get('.action-labels>.label').click({ multiple: true }) + + // Ignore error checking prior to clicking + cy.get('.action-opacity>.btn').click({ force: true }) + }) + + it('.dblclick() - double click on a DOM element', () => { + // https://on.cypress.io/dblclick + + // Our app has a listener on 'dblclick' event in our 'scripts.js' + // that hides the div and shows an input on double click + cy.get('.action-div').dblclick().should('not.be.visible') + cy.get('.action-input-hidden').should('be.visible') + }) + + it('.check() - check a checkbox or radio element', () => { + // https://on.cypress.io/check + + // By default, .check() will check all + // matching checkbox or radio elements in succession, one after another + cy.get('.action-checkboxes [type="checkbox"]').not('[disabled]') + .check().should('be.checked') + + cy.get('.action-radios [type="radio"]').not('[disabled]') + .check().should('be.checked') + + // .check() accepts a value argument + cy.get('.action-radios [type="radio"]') + .check('radio1').should('be.checked') + + // .check() accepts an array of values + cy.get('.action-multiple-checkboxes [type="checkbox"]') + .check(['checkbox1', 'checkbox2']).should('be.checked') + + // Ignore error checking prior to checking + cy.get('.action-checkboxes [disabled]') + .check({ force: true }).should('be.checked') + + cy.get('.action-radios [type="radio"]') + .check('radio3', { force: true }).should('be.checked') + }) + + it('.uncheck() - uncheck a checkbox element', () => { + // https://on.cypress.io/uncheck + + // By default, .uncheck() will uncheck all matching + // checkbox elements in succession, one after another + cy.get('.action-check [type="checkbox"]') + .not('[disabled]') + .uncheck().should('not.be.checked') + + // .uncheck() accepts a value argument + cy.get('.action-check [type="checkbox"]') + .check('checkbox1') + .uncheck('checkbox1').should('not.be.checked') + + // .uncheck() accepts an array of values + cy.get('.action-check [type="checkbox"]') + .check(['checkbox1', 'checkbox3']) + .uncheck(['checkbox1', 'checkbox3']).should('not.be.checked') + + // Ignore error checking prior to unchecking + cy.get('.action-check [disabled]') + .uncheck({ force: true }).should('not.be.checked') + }) + + it('.select() - select an option in a - -
    -
    -
    - - -
    -
    -
    -

    mermaid

    -

    Alt text

    -
    -

    Generation of diagrams and flowcharts from text in a similar manner as markdown.

    -
    -

    Ever wanted to simplify documentation and avoid heavy tools like Visio when explaining your code?

    -

    This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript. Try it using our editor.

    -

    Code examples below:

    -

    An example of a flowchart

    -
    graph TD;
    -    A-->B;
    -    A-->C;
    -    B-->D;
    -    C-->D;

    An example of a sequence diagram

    -
    sequenceDiagram
    -    participant Alice
    -    participant Bob
    -    Alice->John: Hello John, how are you?
    -    loop Healthcheck
    -        John->John: Fight against hypochondria
    -    end
    -    Note right of John: Rational thoughts <br/>prevail...
    -    John-->Alice: Great!
    -    John->Bob: How about you?
    -    Bob-->John: Jolly good!

    Example code for a gantt diagram

    -
    gantt
    -        dateFormat  YYYY-MM-DD
    -        title Adding GANTT diagram functionality to mermaid
    -        section A section
    -        Completed task            :done,    des1, 2014-01-06,2014-01-08
    -        Active task               :active,  des2, 2014-01-09, 3d
    -        Future task               :         des3, after des2, 5d
    -        Future task2               :         des4, after des3, 5d
    -        section Critical tasks
    -        Completed task in the critical line :crit, done, 2014-01-06,24h
    -        Implement parser and jison          :crit, done, after des1, 2d
    -        Create tests for parser             :crit, active, 3d
    -        Future task in critical line        :crit, 5d
    -        Create tests for renderer           :2d
    -        Add to mermaid                      :1d

    Play with mermaid using this editor or this live editor.

    -

    Credits

    -

    Many thanks to the d3 and dagre-d3 projects for providing
    the graphical layout and drawing libraries! Thanks also to the
    js-sequence-diagram project for usage of the grammar for the
    sequence diagrams.

    -

    Mermaid was created by Knut Sveidqvist for easier documentation.

    -

    Knut has not done all work by himself, here is the full list of the projects contributors.

    -

    Online live editor

    -

    An editor is available for creating diagrams. With it you can quickly start writing mermaid diagrams. It is possible to:

    -
      -
    • save the result as a svg
    • -
    • get a link to a viewer of the diagram
    • -
    • get a link to edit of the diagram to share a diagram so that someone else can tweak it and send a new link back

      -
    • -
    • Editor

      -
    • -
    - - -
    -
    -
    - shell - ruby - python -
    -
    -
    - - diff --git a/dist/www/javascripts/all.js b/dist/www/javascripts/all.js deleted file mode 100644 index ba3a4f910..000000000 --- a/dist/www/javascripts/all.js +++ /dev/null @@ -1,143 +0,0 @@ -!function(){if("ontouchstart"in window){var t,e,n,r,i,o,a={};t=function(t,e){return Math.abs(t[0]-e[0])>5||Math.abs(t[1]-e[1])>5},e=function(t){this.startXY=[t.touches[0].clientX,t.touches[0].clientY],this.threshold=!1},n=function(e){return this.threshold?!1:void(this.threshold=t(this.startXY,[e.touches[0].clientX,e.touches[0].clientY]))},r=function(e){if(!this.threshold&&!t(this.startXY,[e.changedTouches[0].clientX,e.changedTouches[0].clientY])){var n=e.changedTouches[0],r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!0,window,0,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),r.simulated=!0,e.target.dispatchEvent(r)}},i=function(t){var e=Date.now(),n=e-a.time,r=t.clientX,i=t.clientY,s=[Math.abs(a.x-r),Math.abs(a.y-i)],u=o(t.target,"A")||t.target,c=u.nodeName,l="A"===c,h=window.navigator.standalone&&l&&t.target.getAttribute("href");return a.time=e,a.x=r,a.y=i,(!t.simulated&&(500>n||1500>n&&s[0]<50&&s[1]<50)||h)&&(t.preventDefault(),t.stopPropagation(),!h)?!1:(h&&(window.location=u.getAttribute("href")),void(u&&u.classList&&(u.classList.add("energize-focus"),window.setTimeout(function(){u.classList.remove("energize-focus")},150))))},o=function(t,e){for(var n=t;n!==document.body;){if(!n||n.nodeName===e)return n;n=n.parentNode}return null},document.addEventListener("touchstart",e,!1),document.addEventListener("touchmove",n,!1),document.addEventListener("touchend",r,!1),document.addEventListener("click",i,!0)}}(),/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ -function(t){"use strict";function e(e){if(e&&""!==e){$(".lang-selector a").removeClass("active"),$(".lang-selector a[data-language-name='"+e+"']").addClass("active");for(var n=0;n=1){var t=n(location.search).language;if(t)return t;if(-1!=jQuery.inArray(location.search.substr(1),u))return location.search.substr(1)}return!1}function o(t){var e=n(location.search);return e.language?(e.language=t,r(e)):t}function a(t){if(history){var e=window.location.hash;e&&(e=e.replace(/^#+/,"")),history.pushState({},"","?"+o(t)+"#"+e),localStorage.setItem("language",t)}}function s(t){var n=localStorage.getItem("language");u=t;var r=i();r?(e(r),localStorage.setItem("language",r)):e(null!==n&&-1!=jQuery.inArray(n,u)?n:u[0])}var u=[];t.setupLanguages=s,t.activateLanguage=e,$(function(){$(".lang-selector a").on("click",function(){var t=$(this).data("language-name");return a(t),e(t),!1}),window.onpopstate=function(){e(i())}})}(window),/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.7 - * Copyright (C) 2014 Oliver Nightingale - * MIT Licensed - * @license - */ -function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.7",/*! - * lunr.utils - * Copyright (C) 2014 Oliver Nightingale - */ -t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),/*! - * lunr.EventEmitter - * Copyright (C) 2014 Oliver Nightingale - */ -t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},/*! - * lunr.tokenizer - * Copyright (C) 2014 Oliver Nightingale - */ -t.tokenizer=function(t){if(!arguments.length||null==t||void 0==t)return[];if(Array.isArray(t))return t.map(function(t){return t.toLowerCase()});for(var e=t.toString().replace(/^\s+/,""),n=e.length-1;n>=0;n--)if(/\S/.test(e.charAt(n))){e=e.substring(0,n+1);break}return e.split(/(?:\s+|\-)/).filter(function(t){return!!t}).map(function(t){return t.toLowerCase()})},/*! - * lunr.Pipeline - * Copyright (C) 2014 Oliver Nightingale - */ -t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var r=t.Pipeline.registeredFunctions[e];if(!r)throw new Error("Cannot load un-registered function: "+e);n.add(r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e)+1;this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,r=this._stack.length,i=0;n>i;i++){for(var o=t[i],a=0;r>a&&(o=this._stack[a](o,i,t),void 0!==o);a++);void 0!==o&&e.push(o)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},/*! - * lunr.Vector - * Copyright (C) 2014 Oliver Nightingale - */ -t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){var r=this.list;if(!r)return this.list=new t.Vector.Node(e,n,r),this.length++;for(var i=r,o=r.next;void 0!=o;){if(en.idx?n=n.next:(r+=e.val*n.val,e=e.next,n=n.next);return r},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},/*! - * lunr.SortedSet - * Copyright (C) 2014 Oliver Nightingale - */ -t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){~this.indexOf(t)||this.elements.splice(this.locationFor(t),0,t)},this),this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t,e,n){var e=e||0,n=n||this.elements.length,r=n-e,i=e+Math.floor(r/2),o=this.elements[i];return 1>=r?o===t?i:-1:t>o?this.indexOf(t,i,n):o>t?this.indexOf(t,e,i):o===t?i:void 0},t.SortedSet.prototype.locationFor=function(t,e,n){var e=e||0,n=n||this.elements.length,r=n-e,i=e+Math.floor(r/2),o=this.elements[i];if(1>=r){if(o>t)return i;if(t>o)return i+1}return t>o?this.locationFor(t,i,n):o>t?this.locationFor(t,e,i):void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,r=0,i=0,o=this.length,a=e.length,s=this.elements,u=e.elements;;){if(r>o-1||i>a-1)break;s[r]!==u[i]?s[r]u[i]&&i++:(n.add(s[r]),r++,i++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,r;return this.length>=t.length?(e=this,n=t):(e=t,n=this),r=e.clone(),r.add.apply(r,n.toArray()),r},t.SortedSet.prototype.toJSON=function(){return this.toArray()},/*! - * lunr.Index - * Copyright (C) 2014 Oliver Nightingale - */ -t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var r={},i=new t.SortedSet,o=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n.name]));r[n.name]=o,t.SortedSet.prototype.add.apply(i,o)},this),this.documentStore.set(o,i),t.SortedSet.prototype.add.apply(this.corpusTokens,i.toArray());for(var a=0;a0&&(r=1+Math.log(this.tokenStore.length/n)),this._idfCache[e]=r},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),r=new t.Vector,i=[],o=this._fields.reduce(function(t,e){return t+e.boost},0),a=n.some(function(t){return this.tokenStore.has(t)},this);if(!a)return[];n.forEach(function(e,n,a){var s=1/a.length*this._fields.length*o,u=this,c=this.tokenStore.expand(e).reduce(function(n,i){var o=u.corpusTokens.indexOf(i),a=u.idf(i),c=1,l=new t.SortedSet;if(i!==e){var h=Math.max(3,i.length-e.length);c=1/Math.log(h)}return o>-1&&r.insert(o,s*a*c),Object.keys(u.tokenStore.get(i)).forEach(function(t){l.add(t)}),n.union(l)},new t.SortedSet);i.push(c)},this);var s=i.reduce(function(t,e){return t.intersect(e)});return s.map(function(t){return{ref:t,score:r.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),r=n.length,i=new t.Vector,o=0;r>o;o++){var a=n.elements[o],s=this.tokenStore.get(a)[e].tf,u=this.idf(a);i.insert(this.corpusTokens.indexOf(a),s*u)}return i},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},/*! - * lunr.Store - * Copyright (C) 2014 Oliver Nightingale - */ -t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,r){return n[r]=t.SortedSet.load(e.store[r]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},/*! - * lunr.stemmer - * Copyright (C) 2014 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ -t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",r="[aeiouy]",i=n+"[^aeiouy]*",o=r+"[aeiou]*",a="^("+i+")?"+o+i,s="^("+i+")?"+o+i+"("+o+")?$",u="^("+i+")?"+o+i+o+i,c="^("+i+")?"+r,l=new RegExp(a),h=new RegExp(u),f=new RegExp(s),d=new RegExp(c),p=/^(.+?)(ss|i)es$/,g=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,v=/.$/,b=/(at|bl|iz)$/,_=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+i+r+"[^aeiouwxy]$"),w=/^(.+?[^aeiou])y$/,E=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,A=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,k=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,D=/^(.+?)(s|t)(ion)$/,S=/^(.+?)e$/,C=/ll$/,M=new RegExp("^"+i+r+"[^aeiouwxy]$"),T=function(n){var r,i,o,a,s,u,c;if(n.length<3)return n;if(o=n.substr(0,1),"y"==o&&(n=o.toUpperCase()+n.substr(1)),a=p,s=g,a.test(n)?n=n.replace(a,"$1$2"):s.test(n)&&(n=n.replace(s,"$1$2")),a=m,s=y,a.test(n)){var T=a.exec(n);a=l,a.test(T[1])&&(a=v,n=n.replace(a,""))}else if(s.test(n)){var T=s.exec(n);r=T[1],s=d,s.test(r)&&(n=r,s=b,u=_,c=x,s.test(n)?n+="e":u.test(n)?(a=v,n=n.replace(a,"")):c.test(n)&&(n+="e"))}if(a=w,a.test(n)){var T=a.exec(n);r=T[1],n=r+"i"}if(a=E,a.test(n)){var T=a.exec(n);r=T[1],i=T[2],a=l,a.test(r)&&(n=r+t[i])}if(a=A,a.test(n)){var T=a.exec(n);r=T[1],i=T[2],a=l,a.test(r)&&(n=r+e[i])}if(a=k,s=D,a.test(n)){var T=a.exec(n);r=T[1],a=h,a.test(r)&&(n=r)}else if(s.test(n)){var T=s.exec(n);r=T[1]+T[2],s=h,s.test(r)&&(n=r)}if(a=S,a.test(n)){var T=a.exec(n);r=T[1],a=h,s=f,u=M,(a.test(r)||s.test(r)&&!u.test(r))&&(n=r)}return a=C,s=h,a.test(n)&&s.test(n)&&(a=v,n=n.replace(a,"")),"y"==o&&(n=o.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),/*! - * lunr.stopWordFilter - * Copyright (C) 2014 Oliver Nightingale - */ -t.stopWordFilter=function(e){return-1===t.stopWordFilter.stopWords.indexOf(e)?e:void 0},t.stopWordFilter.stopWords=new t.SortedSet,t.stopWordFilter.stopWords.length=119,t.stopWordFilter.stopWords.elements=["","a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"],t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),/*! - * lunr.trimmer - * Copyright (C) 2014 Oliver Nightingale - */ -t.trimmer=function(t){return t.replace(/^\W+/,"").replace(/\W+$/,"")},t.Pipeline.registerFunction(t.trimmer,"trimmer"),/*! - * lunr.stemmer - * Copyright (C) 2014 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ -t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,r=t[0],i=t.slice(1);return r in n||(n[r]={docs:{}}),0===i.length?(n[r].docs[e.ref]=e,void(this.length+=1)):this.add(i,e,n[r])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n (default options) - * $('#content').highlight('lorem'); - * - * // search for and highlight more terms at once - * // so you can save some time on traversing DOM - * $('#content').highlight(['lorem', 'ipsum']); - * $('#content').highlight('lorem ipsum'); - * - * // search only for entire word 'lorem' - * $('#content').highlight('lorem', { wordsOnly: true }); - * - * // don't ignore case during search of term 'lorem' - * $('#content').highlight('lorem', { caseSensitive: true }); - * - * // wrap every occurrance of term 'ipsum' in content - * // with - * $('#content').highlight('ipsum', { element: 'em', className: 'important' }); - * - * // remove default highlight - * $('#content').unhighlight(); - * - * // remove custom highlight - * $('#content').unhighlight({ element: 'em', className: 'important' }); - * - * - * Copyright (c) 2009 Bartek Szopka - * - * Licensed under MIT license. - * - */ -jQuery.extend({highlight:function(t,e,n,r){if(3===t.nodeType){var i=t.data.match(e);if(i){var o=document.createElement(n||"span");o.className=r||"highlight";var a=t.splitText(i.index);a.splitText(i[0].length);var s=a.cloneNode(!0);return o.appendChild(s),a.parentNode.replaceChild(o,a),1}}else if(1===t.nodeType&&t.childNodes&&!/(script|style)/i.test(t.tagName)&&(t.tagName!==n.toUpperCase()||t.className!==r))for(var u=0;u1e-4});e.length?(a.empty(),$.each(e,function(t,e){var n=document.getElementById(e.ref);a.append("
  • "+$(n).text()+"
  • ")}),r.call(this)):(a.html("
  • "),$(".search-results li").text('No Results Found for "'+this.value+'"'))}else i(),a.removeClass("visible")}function r(){this.value&&o.highlight(this.value,s)}function i(){o.unhighlight(s)}var o,a,s={element:"span",className:"search-highlight"},u=new lunr.Index;u.ref("id"),u.field("title",{boost:10}),u.field("body"),u.pipeline.add(lunr.trimmer,lunr.stopWordFilter),$(t),$(e)}(),/*! jQuery UI - v1.11.3 - 2015-02-12 - * http://jqueryui.com - * Includes: widget.js - * Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ -function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(t){/*! - * jQuery UI Widget 1.11.3 - * http://jqueryui.com - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/jQuery.widget/ - */ -var e=0,n=Array.prototype.slice;t.cleanData=function(e){return function(n){var r,i,o;for(o=0;null!=(i=n[o]);o++)try{r=t._data(i,"events"),r&&r.remove&&t(i).triggerHandler("remove")}catch(a){}e(n)}}(t.cleanData),t.widget=function(e,n,r){var i,o,a,s,u={},c=e.split(".")[0];return e=e.split(".")[1],i=c+"-"+e,r||(r=n,n=t.Widget),t.expr[":"][i.toLowerCase()]=function(e){return!!t.data(e,i)},t[c]=t[c]||{},o=t[c][e],a=t[c][e]=function(t,e){return this._createWidget?void(arguments.length&&this._createWidget(t,e)):new a(t,e)},t.extend(a,o,{version:r.version,_proto:t.extend({},r),_childConstructors:[]}),s=new n,s.options=t.widget.extend({},s.options),t.each(r,function(e,r){return t.isFunction(r)?void(u[e]=function(){var t=function(){return n.prototype[e].apply(this,arguments)},i=function(t){return n.prototype[e].apply(this,t)};return function(){var e,n=this._super,o=this._superApply;return this._super=t,this._superApply=i,e=r.apply(this,arguments),this._super=n,this._superApply=o,e}}()):void(u[e]=r)}),a.prototype=t.widget.extend(s,{widgetEventPrefix:o?s.widgetEventPrefix||e:e},u,{constructor:a,namespace:c,widgetName:e,widgetFullName:i}),o?(t.each(o._childConstructors,function(e,n){var r=n.prototype;t.widget(r.namespace+"."+r.widgetName,a,n._proto)}),delete o._childConstructors):n._childConstructors.push(a),t.widget.bridge(e,a),a},t.widget.extend=function(e){for(var r,i,o=n.call(arguments,1),a=0,s=o.length;s>a;a++)for(r in o[a])i=o[a][r],o[a].hasOwnProperty(r)&&void 0!==i&&(e[r]=t.isPlainObject(i)?t.isPlainObject(e[r])?t.widget.extend({},e[r],i):t.widget.extend({},i):i);return e},t.widget.bridge=function(e,r){var i=r.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,s=n.call(arguments,1),u=this;return a?this.each(function(){var n,r=t.data(this,i);return"instance"===o?(u=r,!1):r?t.isFunction(r[o])&&"_"!==o.charAt(0)?(n=r[o].apply(r,s),n!==r&&void 0!==n?(u=n&&n.jquery?u.pushStack(n.get()):n,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; attempted to call method '"+o+"'")}):(s.length&&(o=t.widget.extend.apply(null,[o].concat(s))),this.each(function(){var e=t.data(this,i);e?(e.option(o||{}),e._init&&e._init()):t.data(this,i,new r(o,this))})),u}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
    ",options:{disabled:!1,create:null},_createWidget:function(n,r){r=t(r||this.defaultElement||this)[0],this.element=t(r),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),r!==this&&(t.data(r,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===r&&this.destroy()}}),this.document=t(r.style?r.ownerDocument:r.document||r),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),n),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(e,n){var r,i,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},r=e.split("."),e=r.shift(),r.length){for(i=a[e]=t.widget.extend({},this.options[e]),o=0;o",{id:u+e,"class":u}).append(r._nestElements(t(this),e)),r.element.append(n),t(this).nextUntil(this.nodeName.toLowerCase()).each(function(){0===t(this).find(r.options.selectors).length?t(this).filter(r.options.selectors).each(function(){t(this).is(o)||r._appendSubheaders.call(this,r,n)}):t(this).find(r.options.selectors).each(function(){t(this).is(o)||r._appendSubheaders.call(this,r,n)})}))})):void r.element.addClass(s)},_setActiveElement:function(t){var n=this,r=e.location.hash.substring(1),i=n.element.find("li[data-unique='"+r+"']");return r.length?(n.element.find("."+n.focusClass).removeClass(n.focusClass),i.addClass(n.focusClass),n.options.showAndHide&&i.click()):(n.element.find("."+n.focusClass).removeClass(n.focusClass),!r.length&&t&&n.options.highlightDefault&&n.element.find(d).first().addClass(n.focusClass)),n},_nestElements:function(e,n){var r,i,o;return r=t.grep(this.items,function(t){return t===e.text()}),this.items.push(r.length?e.text()+n:e.text()),o=this._generateHashValue(r,e,n),i=t("
  • ",{"class":f,"data-unique":o}).append(t("",{text:e.text()})),e.before(t("
    ",{name:o,"data-unique":o})),i},_generateHashValue:function(t,e,n){var r="",i=this.options.hashGenerator;if("pretty"===i){for(r=e.text().toLowerCase().replace(/\s/g,"-"),r=r.replace(/[^\x00-\x7F]/g,"");r.indexOf("--")>-1;)r=r.replace(/--/g,"-");for(;r.indexOf(":-")>-1;)r=r.replace(/:-/g,"-")}else r="function"==typeof i?i(e.text(),e):e.text().replace(/\s/g,"");return t.length&&(r+=""+n),r},_appendSubheaders:function(e,n){var r=t(this).index(e.options.selectors),i=t(e.options.selectors).eq(r-1),o=+t(this).prop("tagName").charAt(1),a=+i.prop("tagName").charAt(1);a>o?e.element.find(h+"[data-tag="+o+"]").last().append(e._nestElements(t(this),r)):o===a?n.find(d).last().after(e._nestElements(t(this),r)):n.find(d).last().after(t("