diff --git a/docs/devGuide/projectManagement.md b/docs/devGuide/projectManagement.md index 40742b2519..df35f45953 100644 --- a/docs/devGuide/projectManagement.md +++ b/docs/devGuide/projectManagement.md @@ -99,17 +99,21 @@ For general best practices, refer to the guide [_Working with PRs_ @SE-EDU](http ## Doing a Release - - -**Attention new maintainers!** Ensure that: - -* You have the rights to push to master branch on [MarkBind's repository](https://github.com/MarkBind/markbind), and also to make new releases. - * You can check by running `git push --dry-run` to check if you have the correct permissions -* You have the rights on [npm](https://www.npmjs.com/) to make a new release. -* You have logged in to npm on your terminal with `npm login` (necessary to publish packages to npm). - - -
+1. **Make sure you have the correct permissions** for [MarkBind's GitHub repository](https://github.com/MarkBind/markbind) and [npm organization](https://www.npmjs.com/org/markbind). + * For GitHub, you need rights to **push to master branch** and **make new releases**. + * To check if you can make a new release and push to master branch, go to the [release page](https://github.com/MarkBind/markbind/releases) and check for the "Draft a new release" button. + If missing, you may not have permissions for a release. + + * For npm, you need to be in the [MarkBind organization](https://www.npmjs.com/org/markbind). + + * To check if you are in the MarkBind organization, go to your npm profile and check if MarkBind is listed under organizations. + + Example of profile that has been added to Markbind organisation + + * There should be 4 packages listed under the organization, `markbind-cli`, `@markbind/core`, `@markbind/core-web` and `@markbind/vue_components`. + * Notably, the first three are packages that we publish every release while the last one has since become a private package consumed internally. + +1. **Login to your npm account in your terminal** by running `npm login`. 1. **Make sure to start with a "clean slate"** by running `npx lerna clean` and then `npm run setup` in the root MarkBind directory. @@ -378,4 +382,4 @@ Note that: * Result: 'tlylt' will be updated to have both icons(code and doc) {% from "njk/common.njk" import previous_next %} -{{ previous_next('githubActions/markbindReusableWorkflows', 'styleGuides') }} \ No newline at end of file +{{ previous_next('githubActions/markbindReusableWorkflows', 'styleGuides') }} diff --git a/docs/images/npm-profile.jpg b/docs/images/npm-profile.jpg new file mode 100644 index 0000000000..5f7bfd42f0 Binary files /dev/null and b/docs/images/npm-profile.jpg differ diff --git a/docs/userGuide/syntax/annotations.md b/docs/userGuide/syntax/annotations.md index f2364998bf..deafa1a6d8 100644 --- a/docs/userGuide/syntax/annotations.md +++ b/docs/userGuide/syntax/annotations.md @@ -14,7 +14,7 @@ The x and y coordinates of each Annotate Point are relative to the image and are html - + @@ -191,11 +191,12 @@ Here we showcase some use cases of the Annotate feature. This is effectively the same as the options used for the [picture](#pictures) component. | Name | Type | Default | Description | -| ------ | --------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +|--------| --------- | ------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | alt | `string` | | **This must be specified.**
The alternative text of the image. | | src | `string` | | **This must be specified.**
The URL of the image.
The URL can be specified as absolute or relative references. More info in: _[Intra-Site Links]({{baseUrl}}/userGuide/formattingContents.html#intraSiteLinks)_ | | height | `string` |`''`| The height of the image in pixels. | | width | `string` |`''`| The width of the image in pixels.
If both width and height are specified, width takes priority over height. It is to maintain the image's aspect ratio. | +| lazy | `boolean` | false | The `` component lazy loads if this attribute is specified.
**Either the height or width should be specified to avoid layout shifts while lazy loading images.** | diff --git a/docs/userGuide/syntax/code.md b/docs/userGuide/syntax/code.md index ad0550ef23..96a01eb264 100644 --- a/docs/userGuide/syntax/code.md +++ b/docs/userGuide/syntax/code.md @@ -281,7 +281,17 @@ A _wrap text_ button can be added to code blocks using the `codeBlockWrapButtons ##### Printing optimization
-Markbind enhances the readability of your code blocks for printing by applying soft wrapping, ensuring code doesn't get cut off. Additionally, line numbers are added to maintain context when wrapping occurs. +Markbind enhances the readability of your code blocks for printing by + +- Applying soft wrapping, ensuring code doesn't get cut off +- Adding line numbers to maintain context when wrapping occurs +- Automatically changing dark code theme to light +- Removing [codeBlockCopyButtons]({{baseUrl}}/userGuide/formattingContents.html#copy-button) and [codeBlockWrapButtons]({{baseUrl}}/userGuide/formattingContents.html#wrap-text-button) + + + There are some issues with printing in Firefox. Please use other browsers such as Chrome if these issues persist. + +

diff --git a/docs/userGuide/syntax/footnotes.md b/docs/userGuide/syntax/footnotes.md index 14a52beae5..f9600cea95 100644 --- a/docs/userGuide/syntax/footnotes.md +++ b/docs/userGuide/syntax/footnotes.md @@ -46,5 +46,6 @@ belong to the previous footnote. ```
+ 1 + 1 = 2 ^[Math]
diff --git a/docs/userGuide/syntax/pictures.md b/docs/userGuide/syntax/pictures.md index 22ed0fddaf..f5bfde2ac8 100644 --- a/docs/userGuide/syntax/pictures.md +++ b/docs/userGuide/syntax/pictures.md @@ -5,7 +5,7 @@ html - + MarkBind Logo @@ -18,11 +18,12 @@ alt | `string` | | **This must be specified.**
The alternative text of the im height | `string` | | The height of the image in pixels. src | `string` | | **This must be specified.**
The URL of the image.
The URL can be specified as absolute or relative references. More info in: _[Intra-Site Links]({{baseUrl}}/userGuide/formattingContents.html#intraSiteLinks)_ width | `string` | | The width of the image in pixels.
If both width and height are specified, width takes priority over height. It is to maintain the image's aspect ratio. +lazy | `boolean` | false | The `` component lazy loads if this attribute is specified.
**Either the height or width should be specified to avoid layout shifts while lazy loading images.**
```html - + MarkBind Logo ``` diff --git a/packages/cli/test/functional/test_site/expected/index.html b/packages/cli/test/functional/test_site/expected/index.html index 015c6ecdea..4463fd8014 100644 --- a/packages/cli/test/functional/test_site/expected/index.html +++ b/packages/cli/test/functional/test_site/expected/index.html @@ -237,6 +237,11 @@

Testing Site-Nav[3]

+

Test include footnotes from hash

+
+

text[1], text2[2] +

+

Nunjucks SetExt

front back

arrayVarItem1

@@ -789,6 +794,29 @@
+ + + + + +
  • +

    footnote1

    +
  • +
  • +

    footnote2

    +
  • diff --git a/packages/cli/test/functional/test_site/expected/index.page-vue-render.js b/packages/cli/test/functional/test_site/expected/index.page-vue-render.js index 1ee80efd72..a8119d2235 100644 --- a/packages/cli/test/functional/test_site/expected/index.page-vue-render.js +++ b/packages/cli/test/functional/test_site/expected/index.page-vue-render.js @@ -1,7 +1,7 @@ var pageVueRenderFn = function anonymous( ) { -with(this){return _c('div',{attrs:{"id":"app"}},[_c('div',[_c('header',[_c('navbar',{attrs:{"type":"dark","default-highlight-on":"sibling-or-child"},scopedSlots:_u([{key:"brand",fn:function(){return [_c('a',{staticClass:"navbar-brand",attrs:{"href":"/","title":"Home"}},[_v("MarkBind Test Site")])]},proxy:true}])},[_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"/test_site/bugs/index.html"}},[_v("Open Bugs")])])]),_v(" "),_m(0)],1),_v(" "),_m(1)]),_v(" "),_c('div',{attrs:{"id":"flex-body"}},[_c('overlay-source',{attrs:{"id":"site-nav","tag-name":"nav","to":"site-nav"}},[_c('div',{staticClass:"site-nav-top"},[_c('div',{staticClass:"fw-bold mb-2",staticStyle:{"font-size":"1.25rem"}},[_c('div',[_c('h2',{attrs:{"id":"default-layout"}},[_v("Default Layout"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#default-layout","onclick":"event.stopPropagation()"}})])])])]),_v(" "),_c('div',{staticClass:"nav-component slim-scroll"},[_c('div',[_c('site-nav',[_c('overlay-source',{staticClass:"site-nav-list site-nav-list-root",attrs:{"tag-name":"ul","to":"mb-site-nav"}},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/index.html"}},[_v("Home 🏠")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/bugs/index.html"}},[_v("Open Bugs 🐛")])])]),_v(" "),_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-0"},[_c('h3',{attrs:{"id":"testing-site-nav"}},[_v("Testing Site-Nav"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#testing-site-nav","onclick":"event.stopPropagation()"}})])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('strong',[_v("Dropdown ")]),_v(" "),_c('span',{staticClass:"glyphicon glyphicon-search",attrs:{"aria-hidden":"true"}}),_v(" title ✏️ "),_v(" "),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon site-nav-rotate-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_v("Dropdown link one")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_v("Html within site-nav "),_c('span',{staticStyle:{"color":"red"}},[_v("should")]),_v(" be displayed properly")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Nested Dropdown title 📐\n\n"),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('strong',[_v("Nested")]),_v(" Dropdown link one")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('strong',[_v("Nested")]),_v(" Dropdown link two")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_v("Dropdown link two")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('mark',[_v("Third Link")]),_v(" 📋")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Filler text "),_c('a',{attrs:{"href":"https://www.youtube.com/"}},[_c('span',{staticClass:"glyphicon glyphicon-facetime-video",attrs:{"aria-hidden":"true"}}),_v(" Youtube 📺")]),_v(" filler text"),_v(" "),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}},[_v("The answer to everything in the universe")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('mark',[_v("Dropdown title")]),_v(" "),_c('span',{staticClass:"glyphicon glyphicon-comment",attrs:{"aria-hidden":"true"}}),_v(" ✏️ "),_v(" "),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon site-nav-rotate-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('strong',[_v("Nested")]),_v(" Dropdown link one")])])])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown\n\n"),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-1"},[_v("Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text")]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Nested Dropdown Title\n\n"),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Hello Doge Hello Doge 🐶")]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/index.html"}},[_c('strong',[_v("NESTED LINK")]),_v(" Home 🏠")])])]),_v(" "),_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Test line break in navigation layout\n\n"),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-1"},[_v("Nested line break text ✂️")]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/index.html"}},[_v("Nested line break href")]),_v(" "),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Nested Nested line break text ✂️")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Nested line break dropdown menu\n\n"),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Line break item 2 📘")])])])])])])],1)],1)])]),_v(" "),_c('div',{attrs:{"id":"content-wrapper"}},[_c('breadcrumb'),_v(" "),_c('div',{staticClass:"website-content"},[_m(2),_v(" "),_m(3),_v(" "),_m(4),_v(" "),_m(5),_v(" "),_m(6),_v(" "),_m(7),_v(" "),_c('div',[_c('p',[_c('strong',[_v("Normal footnotes:")]),_v("\nHere is a footnote reference,"),_c('trigger',{attrs:{"for":"pop:footnotefn-1-1"}},[_c('sup',{staticClass:"footnote-ref"},[_c('a',{attrs:{"aria-describedby":"footnote-label","href":"#fn-1-1"}},[_v("[1]")])])]),_v(" and another."),_c('trigger',{attrs:{"for":"pop:footnotefn-1-2"}},[_c('sup',{staticClass:"footnote-ref"},[_c('a',{attrs:{"aria-describedby":"footnote-label","href":"#fn-1-2"}},[_v("[2]")])])])],1),_v(" "),_c('p',[_v("Here is a repeated footnote to "),_c('trigger',{attrs:{"for":"pop:footnotefn-1-1"}},[_c('sup',{staticClass:"footnote-ref"},[_c('a',{attrs:{"aria-describedby":"footnote-label","href":"#fn-1-1"}},[_v("[1:1]")])])])],1),_v(" "),_c('p',[_c('strong',[_v("Inline footnotes:")]),_v("\nHere is an inline note."),_c('trigger',{attrs:{"for":"pop:footnotefn-1-3"}},[_c('sup',{staticClass:"footnote-ref"},[_c('a',{attrs:{"aria-describedby":"footnote-label","href":"#fn-1-3"}},[_v("[3]")])])])],1)]),_v(" "),_m(8),_v(" "),_c('div',[_v(" front back ")]),_v(" "),_c('p',[_v("arrayVarItem1")]),_v(" "),_c('p',[_v("arrayVarItem2")]),_v(" "),_c('p',[_v("nestedVarValue")]),_v(" "),_m(9),_v(" "),_c('p',[_v("This variable can be referenced.")]),_v(" "),_c('p',[_v("References can be several levels deep.")]),_v(" "),_m(10),_v(" "),_c('p',[_v("Page Variable with Global Variable")]),_v(" "),_m(11),_v(" "),_c('p',[_v("Global Variable Overriding Page Variable")]),_v(" "),_m(12),_v(" "),_m(13),_v(" "),_m(14),_v(" "),_m(15),_v(" "),_m(16),_v(" "),_c('panel',{attrs:{"expanded":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_v("Panel with keyword")])]},proxy:true}])},[_v(" "),_c('span',{staticClass:"keyword"},[_v("panel keyword")])]),_v(" "),_m(17),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"panel-with-heading"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h1',{attrs:{"id":"panel-with-heading"}},[_v("Panel with heading"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-heading","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('span',{staticClass:"keyword"},[_v("panel keyword")])]),_v(" "),_m(18),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"panel-without-heading-with-keyword"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h1',{attrs:{"id":"panel-without-heading-with-keyword"}},[_v("Panel without heading with keyword"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-without-heading-with-keyword","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('h1',{attrs:{"id":"keyword-should-be-tagged-to-this-heading-not-the-panel-heading"}},[_v("Keyword should be tagged to this heading, not the panel heading"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#keyword-should-be-tagged-to-this-heading-not-the-panel-heading","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_c('span',{staticClass:"keyword"},[_v("panel keyword")])])]),_v(" "),_m(19),_v(" "),_c('panel',{attrs:{"panelId":"panel-with-heading-with-keyword"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h1',{attrs:{"id":"panel-with-heading-with-keyword"}},[_v("Panel with heading with keyword"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-heading-with-keyword","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('h1',{attrs:{"id":"keyword-should-be-tagged-to-the-panel-heading-not-this-heading"}},[_v("Keyword should be tagged to the panel heading, not this heading"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#keyword-should-be-tagged-to-the-panel-heading-not-this-heading","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_c('span',{staticClass:"keyword"},[_v("panel keyword")])])]),_v(" "),_m(20),_v(" "),_m(21),_v(" "),_m(22),_v(" "),_m(23),_v(" "),_m(24),_v(" "),_c('span',{staticClass:"keyword"},[_v("Keyword with included heading")]),_v(" "),_m(25),_v(" "),_m(26),_v(" "),_m(27),_v(" "),_m(28),_v(" "),_m(29),_v(" "),_m(30),_v(" "),_c('div',[_m(31),_v(" "),_m(32),_v(" "),_c('p',[_v("There are many techniques used during a requirements gathering. The following are some of the techniques.")]),_v(" "),_m(33),_v(" "),_c('p',[_v("Brainstorming is a group activity designed to generate a large number of diverse and creative ideas for the solution\nof a problem. In a brainstorming session there are no \"bad\" ideas.\nThe aim is to generate ideas; not to validate them. Brainstorming encourages you to \"think outside the box\" and\nput \"crazy\" ideas on the table without fear of rejection.")]),_v(" "),_m(34),_v(" "),_c('p',[_v("Carefully designed questionnaires can be used to solicit responses and opinions from a large number of users regarding\nany current system or a new innovation.")]),_v(" "),_m(35),_v(" "),_c('p',[_v("Focus groups are a kind of informal interview within an interactive group setting.\nA "),_c('tooltip',{scopedSlots:_u([{key:"content",fn:function(){return [_v("e.g. potential users, beta testers")]},proxy:true}])},[_v("group of people")]),_v("\nare asked about their understanding of a specific issue or a process.\nFocus groups can bring out undiscovered conflicts and misunderstandings among stakeholder interests which can then be\nresolved or clarified as necessary.")],1)]),_v(" "),_m(36),_v(" "),_m(37),_v(" "),_m(38),_v(" "),_c('div',{attrs:{"name":"Boilerplate Referencing"}},[_c('panel',{attrs:{"src":"/test_site/requirements/UserStories._include_.html","no-close":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_v("Boilerplate Includes")])]},proxy:true}])})],1),_v(" "),_c('div',{attrs:{"name":"Referencing specified path in boilerplate"}},[_m(39),_v(" "),_c('p',[_v("Like static include, pages within the site should be able to use files located in folders within boilerplate.")]),_v(" "),_m(40),_v(" "),_m(41),_v(" "),_c('panel',{attrs:{"src":"/test_site/requirements/NonFunctionalRequirements._include_.html"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_v("Tested with the folllowing include")])]},proxy:true}])})],1),_v(" "),_m(42),_v(" "),_m(43),_v(" "),_m(44),_v(" "),_m(45),_v(" "),_m(46),_v(" "),_m(47),_v(" "),_c('div',[_c('p',[_v("This is a page from another MarkBind site.\nThe purpose of this page is to ensure that reuse works as expected.\nAll the following images should display correctly.")]),_v(" "),_m(48),_v(" "),_c('p',[_v("PIC tags:\n"),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"https://dummyimage.com/600x400/000/fff"}})],1),_v(" "),_m(49),_v(" "),_m(50),_v(" "),_c('p',[_v("Within DIV tag:")]),_v(" "),_c('div',{attrs:{"id":"imageTest"}},[_c('img',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}})],1)]),_v(" "),_c('div',[_c('img',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}})],1),_v(" "),_m(51),_v(" "),_c('box',[_c('div',[_c('p',[_c('strong',[_v("baseUrl in a nested sub-site should correctly evaluate to the nested sub-site")])]),_v(" "),_c('p',[_v("The base url in the nested_sub_site is /test_site/sub_site/nested_sub_site.")]),_v(" "),_c('div',[_c('p',[_c('strong',[_v("baseUrl in a nested sub-site page's include should correctly evaluate to the nested sub-site")])]),_v(" "),_c('p',[_v("The base url in the nested_sub_site page's include is /test_site/sub_site/nested_sub_site.")])])])]),_v(" "),_m(52),_v(" "),_c('box',[_c('div',[_c('p',[_c('strong',[_v("baseUrl in a sub site should correctly evaluate")])]),_v(" "),_c('p',[_v("The base url in sub_site is /test_site/sub_site.")]),_v(" "),_c('p',[_c('strong',[_v("Subsite including nested subsite:")])]),_v(" "),_c('box',[_c('div',[_c('p',[_c('strong',[_v("baseUrl in a nested sub-site should correctly evaluate to the nested sub-site")])]),_v(" "),_c('p',[_v("The base url in the nested_sub_site is /test_site/sub_site/nested_sub_site.")]),_v(" "),_c('div',[_c('p',[_c('strong',[_v("baseUrl in a nested sub-site page's include should correctly evaluate to the nested sub-site")])]),_v(" "),_c('p',[_v("The base url in the nested_sub_site page's include is /test_site/sub_site/nested_sub_site.")])])])])],1)]),_v(" "),_m(53),_v(" "),_c('div',[_v("As we establish requirements, they should be recorded in some way for future reference,\nusually called a requirement specification. Furthermore, it is advisable to show these requirements to stakeholders,\nand refine requirements based on their feedback. The next phase is to convert requirements into a product\nspecification that specifies how the product will address the requirements. ")]),_v(" "),_c('panel',{attrs:{"src":"/test_site/requirements/SpecifyingRequirements._include_.html#preview","type":"minimal","fragment":"preview"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("same test with panels")])])]},proxy:true}])}),_v(" "),_m(54),_v(" "),_m(55),_v(" "),_c('panel',{attrs:{"src":"/test_site/requirements/testBaseUrlInIncludeSrc._include_.html","type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("same test with panels")])])]},proxy:true}])}),_v(" "),_m(56),_v(" "),_m(57),_v(" "),_c('panel',{attrs:{"src":"/test_site/requirements/testBaseUrlInIncludeSrc._include_.html","type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("same test with panels")])])]},proxy:true}])}),_v(" "),_m(58),_v(" "),_m(59),_v(" "),_c('panel',{attrs:{"src":"/test_site/sub_site/testBaseUrlInIncludeSrcSubSite._include_.html","type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("same test with panels")])])]},proxy:true}])}),_v(" "),_m(60),_v(" "),_m(61),_v(" "),_c('panel',{attrs:{"src":"/test_site/sub_site/testBaseUrlInIncludeSrcSubSite._include_.html","type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("same test with panels")])])]},proxy:true}])}),_v(" "),_m(62),_v(" "),_m(63),_v(" "),_m(64),_v(" "),_m(65),_v(" "),_m(66),_v(" "),_m(67),_v(" "),_m(68),_v(" "),_m(69),_v(" "),_m(70),_v(" "),_m(71),_v(" "),_m(72),_v(" "),_c('panel',[_c('span',{staticClass:"card-title",attrs:{"slot":"header"},slot:"header"},[_v("\n Heading\n ")])]),_v(" "),_m(73),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"panel-without-src-header"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-without-src-header"}},[_v("Panel without src header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-without-src-header","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('div',[_c('p',[_c('strong',[_v("Panel without src content heading")])])])]),_v(" "),_m(74),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanels/PanelNormalSource._include_.html","expanded":"","panelId":"panel-with-normal-src-header"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-with-normal-src-header"}},[_v("Panel with normal src header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-normal-src-header","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_m(75),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanels/PanelSourceContainsSegment._include_.html#segment","expanded":"","fragment":"segment","panelId":"panel-with-src-from-a-page-segment-header"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-with-src-from-a-page-segment-header"}},[_v("Panel with src from a page segment header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-src-from-a-page-segment-header","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_m(76),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanels/boilerTestPanel._include_.html","expanded":"","panelId":"boilerplate-referencing"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"boilerplate-referencing"}},[_v("Boilerplate referencing"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#boilerplate-referencing","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanelsDuplicate/boilerTestPanel._include_.html","expanded":"","panelId":"boilerplate-referencing-2"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"boilerplate-referencing-2"}},[_v("Boilerplate referencing 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#boilerplate-referencing-2","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanels/notInside._include_.html","expanded":"","panelId":"referencing-specified-path-in-boilerplate"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"referencing-specified-path-in-boilerplate"}},[_v("Referencing specified path in boilerplate"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#referencing-specified-path-in-boilerplate","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_m(77),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanels/NestedPanel._include_.html","expanded":"","panelId":"outer-nested-panel"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"outer-nested-panel"}},[_v("Outer nested panel"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#outer-nested-panel","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_m(78),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"outer-nested-panel-without-src"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"outer-nested-panel-without-src"}},[_v("Outer nested panel without src"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#outer-nested-panel-without-src","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('p',[_c('strong',[_v("Panel content of outer nested panel")])]),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"inner-panel-header-without-src"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"inner-panel-header-without-src"}},[_v("Inner panel header without src"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#inner-panel-header-without-src","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('p',[_c('strong',[_v("Panel content of inner nested panel")])])])],1),_v(" "),_m(79),_v(" "),_c('panel',{attrs:{"src":"/test_site/sub_site/index._include_.html","expanded":"","panelId":"panel-with-src-from-another-markbind-site-header"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-with-src-from-another-markbind-site-header"}},[_v("Panel with src from another MarkBind site header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-src-from-another-markbind-site-header","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_c('panel',{attrs:{"src":"/test_site/sub_site/testReuseSubsite._include_.html","expanded":"","panelId":"panel-with-src-from-another-markbind-site-header-2"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-with-src-from-another-markbind-site-header-2"}},[_v("Panel with src from another MarkBind site header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-src-from-another-markbind-site-header-2","onclick":"event.stopPropagation()"}})])]},proxy:true}])})],1),_v(" "),_m(80),_v(" "),_c('p',[_c('trigger',{attrs:{"for":"modal-with-panel"}},[_v("trigger")])],1),_v(" "),_c('modal',{attrs:{"id":"modal-with-panel"},scopedSlots:_u([{key:"header",fn:function(){return [_v("modal title with panel inside")]},proxy:true}])},[_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"panel-inside-modal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-inside-modal"}},[_v("Panel inside modal"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-inside-modal","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('p',[_c('strong',[_v("Panel content inside modal")])])])],1),_v(" "),_m(81),_v(" "),_c('panel',{attrs:{"panelId":"unexpanded-panel-header"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"unexpanded-panel-header"}},[_v("Unexpanded panel header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#unexpanded-panel-header","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('p',[_c('strong',[_v("Panel content of unexpanded panel should not appear in search data")])]),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"panel-header-inside-unexpanded-panel-should-not-appear-in-search-data"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-header-inside-unexpanded-panel-should-not-appear-in-search-data"}},[_v("Panel header inside unexpanded panel should not appear in search data"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-header-inside-unexpanded-panel-should-not-appear-in-search-data","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('p',[_c('strong',[_v("Panel content inside unexpanded panel should not appear in search data")])])])],1),_v(" "),_m(82),_v(" "),_c('div',[_m(83),_v(" "),_c('panel',{attrs:{"type":"info"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_v("Expandable panel without closing transition")])]},proxy:true}])},[_v("\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n")]),_v(" "),_m(84),_v(" "),_c('panel',{attrs:{"type":"info"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_v("Expanded panel without transition")])]},proxy:true}])},[_v("\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\n")]),_v(" "),_m(85),_v(" "),_c('panel',{attrs:{"type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('em',[_c('strong',[_v("Minimal panel without closing transition "),_c('strong',[_v("->")])])])])]},proxy:true},{key:"_alt",fn:function(){return [_c('p',[_v("Minimal panel 1")])]},proxy:true}])},[_v("\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n")]),_v(" "),_m(86),_v(" "),_c('panel',{attrs:{"type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('em',[_c('strong',[_v("Minimal panel without closing transition "),_c('strong',[_v("->")])])])])]},proxy:true},{key:"_alt",fn:function(){return [_c('p',[_v("Minimal panel 2")])]},proxy:true}])},[_v("\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\n")])],1),_v(" "),_m(87),_v(" "),_m(88),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/activity.png","alt":"activity diagram"}}),_v(" "),_m(89),_v(" "),_c('div',[_m(90),_v(" "),_c('pic',{attrs:{"src":"/test_site/inline-output.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/9c9e77fc0a983cb6b592e65733787bec.png"}}),_v(" "),_m(91),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/sequence.png"}}),_v(" "),_m(92),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/usecase.png"}}),_v(" "),_m(93),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/class.png"}})],1),_v(" "),_m(94),_v(" "),_c('div',[_c('pic',{attrs:{"src":"/test_site/sub_site/inline-output/inline-puml-image.png"}}),_v(" "),_m(95),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/activity.png"}}),_v(" "),_m(96),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/component.png"}}),_v(" "),_m(97),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/state.png"}}),_v(" "),_m(98),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/object.png"}})],1),_v(" "),_m(99),_v(" "),_m(100),_v(" "),_m(101),_v(" "),_c('div',{pre:true},[_v("{{ variable interpolation syntax can be used with v-pre }}")]),_v(" "),_c('div',{pre:true},[_v("{{ nonExistentVariable }}")]),_v(" "),_c('code',{pre:true,attrs:{"class":"line-numbers"}},[_v("{{ code elements should automatically be assigned v-pre }}")]),_c('hr',{staticClass:"footnotes-sep"}),_v(" "),_c('section',{staticClass:"footnotes"},[_c('ol',{staticClass:"footnotes-list"},[_c('popover',{attrs:{"id":"pop:footnotefn-1-1"},scopedSlots:_u([{key:"content",fn:function(){return [_c('div',[_c('p',[_v("Here is the footnote. Footnotes will appear at the bottom of the page.")])])]},proxy:true}])}),_c('popover',{attrs:{"id":"pop:footnotefn-1-2"},scopedSlots:_u([{key:"content",fn:function(){return [_c('div',[_c('p',[_v("Here's one with multiple blocks.")]),_v(" "),_c('p',[_v("Subsequent paragraphs are indented to show that they\nbelong to the previous footnote.")])])]},proxy:true}])}),_c('popover',{attrs:{"id":"pop:footnotefn-1-3"},scopedSlots:_u([{key:"content",fn:function(){return [_c('div',[_c('p',[_v("Inlines notes are easier to write, since\nyou don't have to pick an identifier and move down to type the\nnote.")])])]},proxy:true}])}),_v(" "),_m(102),_v(" "),_m(103),_v(" "),_m(104)],1)])],1),_v(" "),_c('overlay-source',{attrs:{"id":"page-nav","tag-name":"nav","to":"page-nav"}},[_c('div',{staticClass:"nav-component slim-scroll"},[_c('a',{pre:true,attrs:{"class":"navbar-brand page-nav-title","href":"#"}},[_v("Testing Page Navigation")]),_v(" "),_c('overlay-source',{staticClass:"nav nav-pills flex-column my-0 small no-flex-wrap",attrs:{"id":"mb-page-nav","tag-name":"nav","to":"mb-page-nav"}},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-with-multiple-keywords"}},[_v("Heading with multiple keywords‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-with-keyword-in-panel"}},[_v("Heading with keyword in panel‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-heading"}},[_v("Panel with heading‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-without-heading-with-keyword"}},[_v("Panel without heading with keyword‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#keyword-should-be-tagged-to-this-heading-not-the-panel-heading"}},[_v("Keyword should be tagged to this heading, not the panel heading‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-heading-with-keyword"}},[_v("Panel with heading with keyword‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-fragment-with-leading-spaces-and-newline"}},[_v("Heading \nFragment with leading spaces and newline\n‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-with-included-keyword"}},[_v("Heading with included keyword‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#included-heading"}},[_v("Included Heading‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-with-nested-keyword"}},[_v("Heading with nested keyword‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-with-hidden-keyword"}},[_v("Heading with hidden keyword‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#establishing-requirements"}},[_v("Establishing Requirements‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#brainstorming"}},[_v("Brainstorming‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#user-surveys"}},[_v("User surveys‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#focus-groups"}},[_v("Focus groups‎")])])]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#path-within-the-boilerplate-folder-is-separately-specified"}},[_v("Path within the boilerplate folder is separately specified‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#feature-list"}},[_v("Feature list‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-without-src-header"}},[_v("Panel without src header‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-normal-src-header"}},[_v("Panel with normal src header‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-src-from-a-page-segment-header"}},[_v("Panel with src from a page segment header‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#boilerplate-referencing"}},[_v("Boilerplate referencing‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#boilerplate-referencing-2"}},[_v("Boilerplate referencing 2‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#referencing-specified-path-in-boilerplate"}},[_v("Referencing specified path in boilerplate‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#outer-nested-panel"}},[_v("Outer nested panel‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#outer-nested-panel-without-src"}},[_v("Outer nested panel without src‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#inner-panel-header-without-src"}},[_v("Inner panel header without src‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-src-from-another-markbind-site-header"}},[_v("Panel with src from another MarkBind site header‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-src-from-another-markbind-site-header-2"}},[_v("Panel with src from another MarkBind site header‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#unexpanded-panel-header"}},[_v("Unexpanded panel header‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#level-6-header-outside-headingsearchindex-with-always-index-attribute-should-be-indexed"}},[_v("Level 6 header (outside headingSearchIndex) with always-index attribute should be indexed‎")])])])])],1)]),_v(" "),_c('scroll-top-button')],1),_v(" "),_m(105)])} +with(this){return _c('div',{attrs:{"id":"app"}},[_c('div',[_c('header',[_c('navbar',{attrs:{"type":"dark","default-highlight-on":"sibling-or-child"},scopedSlots:_u([{key:"brand",fn:function(){return [_c('a',{staticClass:"navbar-brand",attrs:{"href":"/","title":"Home"}},[_v("MarkBind Test Site")])]},proxy:true}])},[_v(" "),_c('li',[_c('a',{staticClass:"nav-link",attrs:{"href":"/test_site/bugs/index.html"}},[_v("Open Bugs")])])]),_v(" "),_m(0)],1),_v(" "),_m(1)]),_v(" "),_c('div',{attrs:{"id":"flex-body"}},[_c('overlay-source',{attrs:{"id":"site-nav","tag-name":"nav","to":"site-nav"}},[_c('div',{staticClass:"site-nav-top"},[_c('div',{staticClass:"fw-bold mb-2",staticStyle:{"font-size":"1.25rem"}},[_c('div',[_c('h2',{attrs:{"id":"default-layout"}},[_v("Default Layout"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#default-layout","onclick":"event.stopPropagation()"}})])])])]),_v(" "),_c('div',{staticClass:"nav-component slim-scroll"},[_c('div',[_c('site-nav',[_c('overlay-source',{staticClass:"site-nav-list site-nav-list-root",attrs:{"tag-name":"ul","to":"mb-site-nav"}},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/index.html"}},[_v("Home 🏠")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/bugs/index.html"}},[_v("Open Bugs 🐛")])])]),_v(" "),_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-0"},[_c('h3',{attrs:{"id":"testing-site-nav"}},[_v("Testing Site-Nav"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#testing-site-nav","onclick":"event.stopPropagation()"}})])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('strong',[_v("Dropdown ")]),_v(" "),_c('span',{staticClass:"glyphicon glyphicon-search",attrs:{"aria-hidden":"true"}}),_v(" title ✏️ "),_v(" "),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon site-nav-rotate-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_v("Dropdown link one")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_v("Html within site-nav "),_c('span',{staticStyle:{"color":"red"}},[_v("should")]),_v(" be displayed properly")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Nested Dropdown title 📐\n\n"),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('strong',[_v("Nested")]),_v(" Dropdown link one")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('strong',[_v("Nested")]),_v(" Dropdown link two")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_v("Dropdown link two")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('mark',[_v("Third Link")]),_v(" 📋")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Filler text "),_c('a',{attrs:{"href":"https://www.youtube.com/"}},[_c('span',{staticClass:"glyphicon glyphicon-facetime-video",attrs:{"aria-hidden":"true"}}),_v(" Youtube 📺")]),_v(" filler text"),_v(" "),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}},[_v("The answer to everything in the universe")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('mark',[_v("Dropdown title")]),_v(" "),_c('span',{staticClass:"glyphicon glyphicon-comment",attrs:{"aria-hidden":"true"}}),_v(" ✏️ "),_v(" "),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon site-nav-rotate-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list"},[_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"https://www.google.com/"}},[_c('strong',[_v("Nested")]),_v(" Dropdown link one")])])])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown\n\n"),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-1"},[_v("Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text")]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Nested Dropdown Title\n\n"),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Hello Doge Hello Doge 🐶")]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-2",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/index.html"}},[_c('strong',[_v("NESTED LINK")]),_v(" Home 🏠")])])]),_v(" "),_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit")])])])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-0",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Test line break in navigation layout\n\n"),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-1"},[_v("Nested line break text ✂️")]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_c('a',{attrs:{"href":"/test_site/index.html"}},[_v("Nested line break href")]),_v(" "),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Nested Nested line break text ✂️")])])]),_v(" "),_c('li',[_c('div',{staticClass:"site-nav-default-list-item site-nav-list-item-1",attrs:{"onclick":"handleSiteNavClick(this)"}},[_v("Nested line break dropdown menu\n\n"),_c('div',{staticClass:"site-nav-dropdown-btn-container"},[_c('i',{staticClass:"site-nav-dropdown-btn-icon",attrs:{"onclick":"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"}},[_c('span',{staticClass:"glyphicon glyphicon-menu-down",attrs:{"aria-hidden":"true"}})])])]),_c('ul',{staticClass:"site-nav-dropdown-container site-nav-list"},[_c('li',{staticClass:"site-nav-custom-list-item site-nav-list-item-2"},[_v("Line break item 2 📘")])])])])])])],1)],1)])]),_v(" "),_c('div',{attrs:{"id":"content-wrapper"}},[_c('breadcrumb'),_v(" "),_c('div',{staticClass:"website-content"},[_m(2),_v(" "),_m(3),_v(" "),_m(4),_v(" "),_m(5),_v(" "),_m(6),_v(" "),_m(7),_v(" "),_c('div',[_c('p',[_c('strong',[_v("Normal footnotes:")]),_v("\nHere is a footnote reference,"),_c('trigger',{attrs:{"for":"pop:footnotefn-1-1"}},[_c('sup',{staticClass:"footnote-ref"},[_c('a',{attrs:{"aria-describedby":"footnote-label","href":"#fn-1-1"}},[_v("[1]")])])]),_v(" and another."),_c('trigger',{attrs:{"for":"pop:footnotefn-1-2"}},[_c('sup',{staticClass:"footnote-ref"},[_c('a',{attrs:{"aria-describedby":"footnote-label","href":"#fn-1-2"}},[_v("[2]")])])])],1),_v(" "),_c('p',[_v("Here is a repeated footnote to "),_c('trigger',{attrs:{"for":"pop:footnotefn-1-1"}},[_c('sup',{staticClass:"footnote-ref"},[_c('a',{attrs:{"aria-describedby":"footnote-label","href":"#fn-1-1"}},[_v("[1:1]")])])])],1),_v(" "),_c('p',[_c('strong',[_v("Inline footnotes:")]),_v("\nHere is an inline note."),_c('trigger',{attrs:{"for":"pop:footnotefn-1-3"}},[_c('sup',{staticClass:"footnote-ref"},[_c('a',{attrs:{"aria-describedby":"footnote-label","href":"#fn-1-3"}},[_v("[3]")])])])],1)]),_v(" "),_m(8),_v(" "),_c('div',[_c('p',[_v("text"),_c('trigger',{attrs:{"for":"pop:footnotefn-2-1"}},[_c('sup',{staticClass:"footnote-ref"},[_c('a',{attrs:{"aria-describedby":"footnote-label","href":"#fn-2-1"}},[_v("[1]")])])]),_v(", text2"),_c('trigger',{attrs:{"for":"pop:footnotefn-2-2"}},[_c('sup',{staticClass:"footnote-ref"},[_c('a',{attrs:{"aria-describedby":"footnote-label","href":"#fn-2-2"}},[_v("[2]")])])])],1)]),_v(" "),_m(9),_v(" "),_c('div',[_v(" front back ")]),_v(" "),_c('p',[_v("arrayVarItem1")]),_v(" "),_c('p',[_v("arrayVarItem2")]),_v(" "),_c('p',[_v("nestedVarValue")]),_v(" "),_m(10),_v(" "),_c('p',[_v("This variable can be referenced.")]),_v(" "),_c('p',[_v("References can be several levels deep.")]),_v(" "),_m(11),_v(" "),_c('p',[_v("Page Variable with Global Variable")]),_v(" "),_m(12),_v(" "),_c('p',[_v("Global Variable Overriding Page Variable")]),_v(" "),_m(13),_v(" "),_m(14),_v(" "),_m(15),_v(" "),_m(16),_v(" "),_m(17),_v(" "),_c('panel',{attrs:{"expanded":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_v("Panel with keyword")])]},proxy:true}])},[_v(" "),_c('span',{staticClass:"keyword"},[_v("panel keyword")])]),_v(" "),_m(18),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"panel-with-heading"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h1',{attrs:{"id":"panel-with-heading"}},[_v("Panel with heading"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-heading","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('span',{staticClass:"keyword"},[_v("panel keyword")])]),_v(" "),_m(19),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"panel-without-heading-with-keyword"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h1',{attrs:{"id":"panel-without-heading-with-keyword"}},[_v("Panel without heading with keyword"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-without-heading-with-keyword","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('h1',{attrs:{"id":"keyword-should-be-tagged-to-this-heading-not-the-panel-heading"}},[_v("Keyword should be tagged to this heading, not the panel heading"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#keyword-should-be-tagged-to-this-heading-not-the-panel-heading","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_c('span',{staticClass:"keyword"},[_v("panel keyword")])])]),_v(" "),_m(20),_v(" "),_c('panel',{attrs:{"panelId":"panel-with-heading-with-keyword"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h1',{attrs:{"id":"panel-with-heading-with-keyword"}},[_v("Panel with heading with keyword"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-heading-with-keyword","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('h1',{attrs:{"id":"keyword-should-be-tagged-to-the-panel-heading-not-this-heading"}},[_v("Keyword should be tagged to the panel heading, not this heading"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#keyword-should-be-tagged-to-the-panel-heading-not-this-heading","onclick":"event.stopPropagation()"}})]),_v(" "),_c('p',[_c('span',{staticClass:"keyword"},[_v("panel keyword")])])]),_v(" "),_m(21),_v(" "),_m(22),_v(" "),_m(23),_v(" "),_m(24),_v(" "),_m(25),_v(" "),_c('span',{staticClass:"keyword"},[_v("Keyword with included heading")]),_v(" "),_m(26),_v(" "),_m(27),_v(" "),_m(28),_v(" "),_m(29),_v(" "),_m(30),_v(" "),_m(31),_v(" "),_c('div',[_m(32),_v(" "),_m(33),_v(" "),_c('p',[_v("There are many techniques used during a requirements gathering. The following are some of the techniques.")]),_v(" "),_m(34),_v(" "),_c('p',[_v("Brainstorming is a group activity designed to generate a large number of diverse and creative ideas for the solution\nof a problem. In a brainstorming session there are no \"bad\" ideas.\nThe aim is to generate ideas; not to validate them. Brainstorming encourages you to \"think outside the box\" and\nput \"crazy\" ideas on the table without fear of rejection.")]),_v(" "),_m(35),_v(" "),_c('p',[_v("Carefully designed questionnaires can be used to solicit responses and opinions from a large number of users regarding\nany current system or a new innovation.")]),_v(" "),_m(36),_v(" "),_c('p',[_v("Focus groups are a kind of informal interview within an interactive group setting.\nA "),_c('tooltip',{scopedSlots:_u([{key:"content",fn:function(){return [_v("e.g. potential users, beta testers")]},proxy:true}])},[_v("group of people")]),_v("\nare asked about their understanding of a specific issue or a process.\nFocus groups can bring out undiscovered conflicts and misunderstandings among stakeholder interests which can then be\nresolved or clarified as necessary.")],1)]),_v(" "),_m(37),_v(" "),_m(38),_v(" "),_m(39),_v(" "),_c('div',{attrs:{"name":"Boilerplate Referencing"}},[_c('panel',{attrs:{"src":"/test_site/requirements/UserStories._include_.html","no-close":""},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_v("Boilerplate Includes")])]},proxy:true}])})],1),_v(" "),_c('div',{attrs:{"name":"Referencing specified path in boilerplate"}},[_m(40),_v(" "),_c('p',[_v("Like static include, pages within the site should be able to use files located in folders within boilerplate.")]),_v(" "),_m(41),_v(" "),_m(42),_v(" "),_c('panel',{attrs:{"src":"/test_site/requirements/NonFunctionalRequirements._include_.html"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_v("Tested with the folllowing include")])]},proxy:true}])})],1),_v(" "),_m(43),_v(" "),_m(44),_v(" "),_m(45),_v(" "),_m(46),_v(" "),_m(47),_v(" "),_m(48),_v(" "),_c('div',[_c('p',[_v("This is a page from another MarkBind site.\nThe purpose of this page is to ensure that reuse works as expected.\nAll the following images should display correctly.")]),_v(" "),_m(49),_v(" "),_c('p',[_v("PIC tags:\n"),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"https://dummyimage.com/600x400/000/fff"}})],1),_v(" "),_m(50),_v(" "),_m(51),_v(" "),_c('p',[_v("Within DIV tag:")]),_v(" "),_c('div',{attrs:{"id":"imageTest"}},[_c('img',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}})],1)]),_v(" "),_c('div',[_c('img',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/sub_site/images/I'm not allowed to use my favorite tool.png"}})],1),_v(" "),_m(52),_v(" "),_c('box',[_c('div',[_c('p',[_c('strong',[_v("baseUrl in a nested sub-site should correctly evaluate to the nested sub-site")])]),_v(" "),_c('p',[_v("The base url in the nested_sub_site is /test_site/sub_site/nested_sub_site.")]),_v(" "),_c('div',[_c('p',[_c('strong',[_v("baseUrl in a nested sub-site page's include should correctly evaluate to the nested sub-site")])]),_v(" "),_c('p',[_v("The base url in the nested_sub_site page's include is /test_site/sub_site/nested_sub_site.")])])])]),_v(" "),_m(53),_v(" "),_c('box',[_c('div',[_c('p',[_c('strong',[_v("baseUrl in a sub site should correctly evaluate")])]),_v(" "),_c('p',[_v("The base url in sub_site is /test_site/sub_site.")]),_v(" "),_c('p',[_c('strong',[_v("Subsite including nested subsite:")])]),_v(" "),_c('box',[_c('div',[_c('p',[_c('strong',[_v("baseUrl in a nested sub-site should correctly evaluate to the nested sub-site")])]),_v(" "),_c('p',[_v("The base url in the nested_sub_site is /test_site/sub_site/nested_sub_site.")]),_v(" "),_c('div',[_c('p',[_c('strong',[_v("baseUrl in a nested sub-site page's include should correctly evaluate to the nested sub-site")])]),_v(" "),_c('p',[_v("The base url in the nested_sub_site page's include is /test_site/sub_site/nested_sub_site.")])])])])],1)]),_v(" "),_m(54),_v(" "),_c('div',[_v("As we establish requirements, they should be recorded in some way for future reference,\nusually called a requirement specification. Furthermore, it is advisable to show these requirements to stakeholders,\nand refine requirements based on their feedback. The next phase is to convert requirements into a product\nspecification that specifies how the product will address the requirements. ")]),_v(" "),_c('panel',{attrs:{"src":"/test_site/requirements/SpecifyingRequirements._include_.html#preview","type":"minimal","fragment":"preview"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("same test with panels")])])]},proxy:true}])}),_v(" "),_m(55),_v(" "),_m(56),_v(" "),_c('panel',{attrs:{"src":"/test_site/requirements/testBaseUrlInIncludeSrc._include_.html","type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("same test with panels")])])]},proxy:true}])}),_v(" "),_m(57),_v(" "),_m(58),_v(" "),_c('panel',{attrs:{"src":"/test_site/requirements/testBaseUrlInIncludeSrc._include_.html","type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("same test with panels")])])]},proxy:true}])}),_v(" "),_m(59),_v(" "),_m(60),_v(" "),_c('panel',{attrs:{"src":"/test_site/sub_site/testBaseUrlInIncludeSrcSubSite._include_.html","type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("same test with panels")])])]},proxy:true}])}),_v(" "),_m(61),_v(" "),_m(62),_v(" "),_c('panel',{attrs:{"src":"/test_site/sub_site/testBaseUrlInIncludeSrcSubSite._include_.html","type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('strong',[_v("same test with panels")])])]},proxy:true}])}),_v(" "),_m(63),_v(" "),_m(64),_v(" "),_m(65),_v(" "),_m(66),_v(" "),_m(67),_v(" "),_m(68),_v(" "),_m(69),_v(" "),_m(70),_v(" "),_m(71),_v(" "),_m(72),_v(" "),_m(73),_v(" "),_c('panel',[_c('span',{staticClass:"card-title",attrs:{"slot":"header"},slot:"header"},[_v("\n Heading\n ")])]),_v(" "),_m(74),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"panel-without-src-header"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-without-src-header"}},[_v("Panel without src header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-without-src-header","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('div',[_c('p',[_c('strong',[_v("Panel without src content heading")])])])]),_v(" "),_m(75),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanels/PanelNormalSource._include_.html","expanded":"","panelId":"panel-with-normal-src-header"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-with-normal-src-header"}},[_v("Panel with normal src header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-normal-src-header","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_m(76),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanels/PanelSourceContainsSegment._include_.html#segment","expanded":"","fragment":"segment","panelId":"panel-with-src-from-a-page-segment-header"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-with-src-from-a-page-segment-header"}},[_v("Panel with src from a page segment header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-src-from-a-page-segment-header","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_m(77),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanels/boilerTestPanel._include_.html","expanded":"","panelId":"boilerplate-referencing"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"boilerplate-referencing"}},[_v("Boilerplate referencing"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#boilerplate-referencing","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanelsDuplicate/boilerTestPanel._include_.html","expanded":"","panelId":"boilerplate-referencing-2"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"boilerplate-referencing-2"}},[_v("Boilerplate referencing 2"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#boilerplate-referencing-2","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanels/notInside._include_.html","expanded":"","panelId":"referencing-specified-path-in-boilerplate"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"referencing-specified-path-in-boilerplate"}},[_v("Referencing specified path in boilerplate"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#referencing-specified-path-in-boilerplate","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_m(78),_v(" "),_c('panel',{attrs:{"src":"/test_site/testPanels/NestedPanel._include_.html","expanded":"","panelId":"outer-nested-panel"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"outer-nested-panel"}},[_v("Outer nested panel"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#outer-nested-panel","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_m(79),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"outer-nested-panel-without-src"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"outer-nested-panel-without-src"}},[_v("Outer nested panel without src"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#outer-nested-panel-without-src","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('p',[_c('strong',[_v("Panel content of outer nested panel")])]),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"inner-panel-header-without-src"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"inner-panel-header-without-src"}},[_v("Inner panel header without src"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#inner-panel-header-without-src","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('p',[_c('strong',[_v("Panel content of inner nested panel")])])])],1),_v(" "),_m(80),_v(" "),_c('panel',{attrs:{"src":"/test_site/sub_site/index._include_.html","expanded":"","panelId":"panel-with-src-from-another-markbind-site-header"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-with-src-from-another-markbind-site-header"}},[_v("Panel with src from another MarkBind site header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-src-from-another-markbind-site-header","onclick":"event.stopPropagation()"}})])]},proxy:true}])}),_v(" "),_c('panel',{attrs:{"src":"/test_site/sub_site/testReuseSubsite._include_.html","expanded":"","panelId":"panel-with-src-from-another-markbind-site-header-2"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-with-src-from-another-markbind-site-header-2"}},[_v("Panel with src from another MarkBind site header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-with-src-from-another-markbind-site-header-2","onclick":"event.stopPropagation()"}})])]},proxy:true}])})],1),_v(" "),_m(81),_v(" "),_c('p',[_c('trigger',{attrs:{"for":"modal-with-panel"}},[_v("trigger")])],1),_v(" "),_c('modal',{attrs:{"id":"modal-with-panel"},scopedSlots:_u([{key:"header",fn:function(){return [_v("modal title with panel inside")]},proxy:true}])},[_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"panel-inside-modal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-inside-modal"}},[_v("Panel inside modal"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-inside-modal","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('p',[_c('strong',[_v("Panel content inside modal")])])])],1),_v(" "),_m(82),_v(" "),_c('panel',{attrs:{"panelId":"unexpanded-panel-header"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"unexpanded-panel-header"}},[_v("Unexpanded panel header"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#unexpanded-panel-header","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('p',[_c('strong',[_v("Panel content of unexpanded panel should not appear in search data")])]),_v(" "),_c('panel',{attrs:{"expanded":"","panelId":"panel-header-inside-unexpanded-panel-should-not-appear-in-search-data"},scopedSlots:_u([{key:"header",fn:function(){return [_c('h2',{attrs:{"id":"panel-header-inside-unexpanded-panel-should-not-appear-in-search-data"}},[_v("Panel header inside unexpanded panel should not appear in search data"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#panel-header-inside-unexpanded-panel-should-not-appear-in-search-data","onclick":"event.stopPropagation()"}})])]},proxy:true}])},[_v(" "),_c('p',[_c('strong',[_v("Panel content inside unexpanded panel should not appear in search data")])])])],1),_v(" "),_m(83),_v(" "),_c('div',[_m(84),_v(" "),_c('panel',{attrs:{"type":"info"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_v("Expandable panel without closing transition")])]},proxy:true}])},[_v("\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n")]),_v(" "),_m(85),_v(" "),_c('panel',{attrs:{"type":"info"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_v("Expanded panel without transition")])]},proxy:true}])},[_v("\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\n")]),_v(" "),_m(86),_v(" "),_c('panel',{attrs:{"type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('em',[_c('strong',[_v("Minimal panel without closing transition "),_c('strong',[_v("->")])])])])]},proxy:true},{key:"_alt",fn:function(){return [_c('p',[_v("Minimal panel 1")])]},proxy:true}])},[_v("\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n")]),_v(" "),_m(87),_v(" "),_c('panel',{attrs:{"type":"minimal"},scopedSlots:_u([{key:"header",fn:function(){return [_c('p',[_c('em',[_c('strong',[_v("Minimal panel without closing transition "),_c('strong',[_v("->")])])])])]},proxy:true},{key:"_alt",fn:function(){return [_c('p',[_v("Minimal panel 2")])]},proxy:true}])},[_v("\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\n")])],1),_v(" "),_m(88),_v(" "),_m(89),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/activity.png","alt":"activity diagram"}}),_v(" "),_m(90),_v(" "),_c('div',[_m(91),_v(" "),_c('pic',{attrs:{"src":"/test_site/inline-output.png"}}),_v(" "),_c('pic',{attrs:{"src":"/test_site/9c9e77fc0a983cb6b592e65733787bec.png"}}),_v(" "),_m(92),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/sequence.png"}}),_v(" "),_m(93),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/usecase.png"}}),_v(" "),_m(94),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/class.png"}})],1),_v(" "),_m(95),_v(" "),_c('div',[_c('pic',{attrs:{"src":"/test_site/sub_site/inline-output/inline-puml-image.png"}}),_v(" "),_m(96),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/activity.png"}}),_v(" "),_m(97),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/component.png"}}),_v(" "),_m(98),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/state.png"}}),_v(" "),_m(99),_v(" "),_c('pic',{attrs:{"src":"/test_site/diagrams/object.png"}})],1),_v(" "),_m(100),_v(" "),_m(101),_v(" "),_m(102),_v(" "),_c('div',{pre:true},[_v("{{ variable interpolation syntax can be used with v-pre }}")]),_v(" "),_c('div',{pre:true},[_v("{{ nonExistentVariable }}")]),_v(" "),_c('code',{pre:true,attrs:{"class":"line-numbers"}},[_v("{{ code elements should automatically be assigned v-pre }}")]),_c('hr',{staticClass:"footnotes-sep"}),_v(" "),_c('section',{staticClass:"footnotes"},[_c('ol',{staticClass:"footnotes-list"},[_c('popover',{attrs:{"id":"pop:footnotefn-1-1"},scopedSlots:_u([{key:"content",fn:function(){return [_c('div',[_c('p',[_v("Here is the footnote. Footnotes will appear at the bottom of the page.")])])]},proxy:true}])}),_c('popover',{attrs:{"id":"pop:footnotefn-1-2"},scopedSlots:_u([{key:"content",fn:function(){return [_c('div',[_c('p',[_v("Here's one with multiple blocks.")]),_v(" "),_c('p',[_v("Subsequent paragraphs are indented to show that they\nbelong to the previous footnote.")])])]},proxy:true}])}),_c('popover',{attrs:{"id":"pop:footnotefn-1-3"},scopedSlots:_u([{key:"content",fn:function(){return [_c('div',[_c('p',[_v("Inlines notes are easier to write, since\nyou don't have to pick an identifier and move down to type the\nnote.")])])]},proxy:true}])}),_v(" "),_m(103),_v(" "),_m(104),_v(" "),_m(105),_v(" "),_c('popover',{attrs:{"id":"pop:footnotefn-2-1"},scopedSlots:_u([{key:"content",fn:function(){return [_c('div',[_c('p',[_v("footnote1")])])]},proxy:true}])}),_c('popover',{attrs:{"id":"pop:footnotefn-2-2"},scopedSlots:_u([{key:"content",fn:function(){return [_c('div',[_c('p',[_v("footnote2")])])]},proxy:true}])}),_v(" "),_m(106),_m(107)],1)])],1),_v(" "),_c('overlay-source',{attrs:{"id":"page-nav","tag-name":"nav","to":"page-nav"}},[_c('div',{staticClass:"nav-component slim-scroll"},[_c('a',{pre:true,attrs:{"class":"navbar-brand page-nav-title","href":"#"}},[_v("Testing Page Navigation")]),_v(" "),_c('overlay-source',{staticClass:"nav nav-pills flex-column my-0 small no-flex-wrap",attrs:{"id":"mb-page-nav","tag-name":"nav","to":"mb-page-nav"}},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-with-multiple-keywords"}},[_v("Heading with multiple keywords‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-with-keyword-in-panel"}},[_v("Heading with keyword in panel‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-heading"}},[_v("Panel with heading‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-without-heading-with-keyword"}},[_v("Panel without heading with keyword‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#keyword-should-be-tagged-to-this-heading-not-the-panel-heading"}},[_v("Keyword should be tagged to this heading, not the panel heading‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-heading-with-keyword"}},[_v("Panel with heading with keyword‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-fragment-with-leading-spaces-and-newline"}},[_v("Heading \nFragment with leading spaces and newline\n‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-with-included-keyword"}},[_v("Heading with included keyword‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#included-heading"}},[_v("Included Heading‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-with-nested-keyword"}},[_v("Heading with nested keyword‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#heading-with-hidden-keyword"}},[_v("Heading with hidden keyword‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#establishing-requirements"}},[_v("Establishing Requirements‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#brainstorming"}},[_v("Brainstorming‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#user-surveys"}},[_v("User surveys‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#focus-groups"}},[_v("Focus groups‎")])])]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#path-within-the-boilerplate-folder-is-separately-specified"}},[_v("Path within the boilerplate folder is separately specified‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#feature-list"}},[_v("Feature list‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-without-src-header"}},[_v("Panel without src header‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-normal-src-header"}},[_v("Panel with normal src header‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-src-from-a-page-segment-header"}},[_v("Panel with src from a page segment header‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#boilerplate-referencing"}},[_v("Boilerplate referencing‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#boilerplate-referencing-2"}},[_v("Boilerplate referencing 2‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#referencing-specified-path-in-boilerplate"}},[_v("Referencing specified path in boilerplate‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#outer-nested-panel"}},[_v("Outer nested panel‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#outer-nested-panel-without-src"}},[_v("Outer nested panel without src‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#inner-panel-header-without-src"}},[_v("Inner panel header without src‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-src-from-another-markbind-site-header"}},[_v("Panel with src from another MarkBind site header‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#panel-with-src-from-another-markbind-site-header-2"}},[_v("Panel with src from another MarkBind site header‎")]),_v(" "),_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#unexpanded-panel-header"}},[_v("Unexpanded panel header‎")]),_v(" "),_c('nav',{staticClass:"nav nav-pills flex-column my-0 nested no-flex-wrap"},[_c('a',{pre:true,attrs:{"class":"nav-link py-1","href":"#level-6-header-outside-headingsearchindex-with-always-index-attribute-should-be-indexed"}},[_v("Level 6 header (outside headingSearchIndex) with always-index attribute should be indexed‎")])])])])],1)]),_v(" "),_c('scroll-top-button')],1),_v(" "),_m(108)])} }; var pageVueStaticRenderFns = [function anonymous( ) { @@ -29,6 +29,9 @@ with(this){return _c('span',[_c('code',{pre:true,attrs:{"class":"line-numbers hl with(this){return _c('p',[_c('strong',[_v("Test footnotes")])])} },function anonymous( ) { +with(this){return _c('p',[_c('strong',[_v("Test include footnotes from hash")])])} +},function anonymous( +) { with(this){return _c('p',[_c('strong',[_v("Nunjucks SetExt")])])} },function anonymous( ) { @@ -320,6 +323,12 @@ with(this){return _c('li',{staticClass:"footnote-item",attrs:{"id":"fn-1-2"}},[_ with(this){return _c('li',{staticClass:"footnote-item",attrs:{"id":"fn-1-3"}},[_c('p',[_v("Inlines notes are easier to write, since\nyou don't have to pick an identifier and move down to type the\nnote.")])])} },function anonymous( ) { +with(this){return _c('li',{staticClass:"footnote-item",attrs:{"id":"fn-2-1"}},[_c('p',[_v("footnote1")])])} +},function anonymous( +) { +with(this){return _c('li',{staticClass:"footnote-item",attrs:{"id":"fn-2-2"}},[_c('p',[_v("footnote2")])])} +},function anonymous( +) { with(this){return _c('div',[_c('footer',[_c('h1',{attrs:{"id":"heading-in-footer-should-not-be-indexed"}},[_v("Heading in footer should not be indexed"),_c('a',{staticClass:"fa fa-anchor",attrs:{"href":"#heading-in-footer-should-not-be-indexed","onclick":"event.stopPropagation()"}})]),_v(" "),_c('div',{staticClass:"text-center"},[_v("\n This is a dynamic height footer that supports markdown "),_c('span',[_v("😄")]),_v("!\n ")])])])} }]; \ No newline at end of file diff --git a/packages/cli/test/functional/test_site/index.md b/packages/cli/test/functional/test_site/index.md index c081eda5b9..1427668972 100644 --- a/packages/cli/test/functional/test_site/index.md +++ b/packages/cli/test/functional/test_site/index.md @@ -37,6 +37,10 @@ Hence, the contained markdown should be parsed and output as is, without any par +**Test include footnotes from hash** + + + **Nunjucks SetExt** {% ext externalVar = "_markbind/variable.json" %} diff --git a/packages/cli/test/functional/test_site/testHashFootnotes.md b/packages/cli/test/functional/test_site/testHashFootnotes.md new file mode 100644 index 0000000000..dfeddc1f92 --- /dev/null +++ b/packages/cli/test/functional/test_site/testHashFootnotes.md @@ -0,0 +1,4 @@ +
    + +text^[footnote1], text2^[footnote2] +
    \ No newline at end of file diff --git a/packages/core-web/src/styles/markbind.css b/packages/core-web/src/styles/markbind.css index 72aeaf619a..4a8c7b4d49 100644 --- a/packages/core-web/src/styles/markbind.css +++ b/packages/core-web/src/styles/markbind.css @@ -1,3 +1,5 @@ +@import url("../../asset/css/codeblock-light.min.css") print; + :root { --sticky-header-height: 0; } @@ -27,7 +29,7 @@ pre.hljs > code { background: none; } -pre > code.hljs { +pre > code.hljs { background-clip: padding-box; border-radius: 5px; counter-reset: line; @@ -63,7 +65,6 @@ pre > code.hljs[heading] { display: block; } -/* switch to light style on print view */ @media print { pre > code.hljs { white-space: pre-wrap; @@ -71,16 +72,6 @@ pre > code.hljs[heading] { word-break: break-all; } - code.hljs.inline { - background: ghostwhite; - color: #333; - border: 0.5px solid #d4d4d4; - } - - code span.highlighted { - background: lavender; - } - .hljs:not(.inline).line-numbers-print > span { padding: 0 0.5em 0 3.5em; position: relative; @@ -102,6 +93,12 @@ pre > code.hljs[heading] { width: 3em; height: 100%; } + + /* force printing the highlighting colour */ + .hljs span.highlighted{ + -webkit-print-color-adjust:exact; + background:#e6e6fa !important; + } } kbd { diff --git a/packages/core/src/html/NodeProcessor.ts b/packages/core/src/html/NodeProcessor.ts index b933a28b42..b211d7168d 100644 --- a/packages/core/src/html/NodeProcessor.ts +++ b/packages/core/src/html/NodeProcessor.ts @@ -265,6 +265,20 @@ export class NodeProcessor { */ if (!_.has(node.attribs, 'v-pre')) { node.attribs['v-pre'] = ''; } break; + case 'pic': + case 'annotate': + if (_.has(node.attribs, 'lazy') + && !(_.has(node.attribs, 'width') || _.has(node.attribs, 'height'))) { + const filePath = context.callStack.length > 0 ? context.callStack[context.callStack.length - 1] + : context.cwf; + logger.warn( + `${filePath} --- ` + + 'Both width and height are not specified when using lazy loading in the file and' + + ' it might cause shifting in page layouts. ' + + 'To ensure proper functioning of lazy loading, please specify either one or both.\n', + ); + } + break; default: break; } diff --git a/packages/core/src/html/includePanelProcessor.ts b/packages/core/src/html/includePanelProcessor.ts index 51b2e53160..f4b5cd7a1e 100644 --- a/packages/core/src/html/includePanelProcessor.ts +++ b/packages/core/src/html/includePanelProcessor.ts @@ -165,6 +165,15 @@ function _deleteIncludeAttributes(node: MbNode) { delete node.attribs.omitFrontmatter; } +function buildGetNextFootnodeNumber() { + let footnoteNumber = 0; + function getFootnoteNumber() { + footnoteNumber += 1; + return footnoteNumber; + } + return getFootnoteNumber; +} + /** * PreProcesses includes. * Replaces it with an error node if the specified src is invalid, @@ -173,7 +182,8 @@ function _deleteIncludeAttributes(node: MbNode) { export function processInclude(node: MbNode, context: Context, pageSources: PageSources, variableProcessor: VariableProcessor, renderMd: (text: string) => string, renderMdInline: (text: string) => string, - config: Record): Context { + config: Record, + getNextFootnodeNumber: () => number = buildGetNextFootnodeNumber()): Context { if (_.isEmpty(node.attribs.src)) { const error = new Error(`Empty src attribute in include in: ${context.cwf}`); logger.error(error); @@ -230,6 +240,27 @@ export function processInclude(node: MbNode, context: Context, pageSources: Page const $ = cheerio.load(actualContent); const actualContentOrNull = $(hash).html(); actualContent = actualContentOrNull || ''; + if (actualContent !== '') { + const hashNode = $(hash); + const footnodeHrefs = hashNode.find('a[aria-describedby="footnote-label"]') + .map(function (this: any) { + $(this).text(`[${getNextFootnodeNumber()}]`); + return $(this).attr('href'); + }) + .get(); + if (footnodeHrefs.length > 0) { + const tempFootnotes = $(''); + footnodeHrefs.forEach((href) => { + // substring function called to remove the # from the href + const listItem = $('
  • ').attr('id', href.substring(1)) + .addClass('footnote-item') + .html($(`${href}.footnote-item`).html()!); + tempFootnotes.append(listItem); + }); + hashNode.append(tempFootnotes); + actualContent = hashNode.html()!; + } + } if (actualContentOrNull === null && !isOptional) { const error = new Error(`No such segment '${hash}' in file: ${actualFilePath}\n` diff --git a/packages/core/src/plugins/codeBlockCopyButtons.ts b/packages/core/src/plugins/codeBlockCopyButtons.ts index b816ffca30..2cc0cd1602 100644 --- a/packages/core/src/plugins/codeBlockCopyButtons.ts +++ b/packages/core/src/plugins/codeBlockCopyButtons.ts @@ -23,7 +23,7 @@ const COPY_ICON = ` `; function getButtonHTML() { - const html = `