(.*?)<\/code>/gims,((e,t,n)=>`${oe.highlight(this.decodeHtml(n),{language:t}).value}
`))},decodeHtml(e){var t=document.createElement("textarea");return t.innerHTML=e,t.value},resolveRelativePath(e){for(var t=e.split("/"),n=1;n0&&".."!==t[n-1]&&(t.splice(n-1,2),n-=2),n++;return t.join("/")},getLink(e){return`${this.route("voyager.voyager-docs")}?path=${e}`}},data:()=>({selectedImageSource:null}),mounted(){document.getElementById("doc-content").getElementsByTagName("img").forEach((e=>{e.src.startsWith(`${route("voyager.voyager-docs-asset")}?path=`)&&e.addEventListener("click",(()=>{this.selectedImageSource=e.src,this.$refs.imageModal.open()}))}))}},xe={class:"w-full my-4 flex flex-wrap space-x-1 space-y-1"},ke=["href"],Ne={key:1,class:"block mx-6 my-3 leading-tight"},Se={class:"block px-6"},Oe=["href"],Ae={class:"button accent"},Ie=["href"],Me=["innerHTML"],Re=["src"];ve.render=function(t,n,r,i,o,a){const s=e.resolveComponent("Icon"),l=e.resolveComponent("Dropdown"),c=e.resolveComponent("Card"),d=e.resolveComponent("Modal");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(c,{title:r.title},{default:e.withCtx((()=>[e.createElementVNode("div",xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.toc,((t,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[""!==n?(e.openBlock(),e.createBlock(l,{key:0,class:"self-center",placement:"bottom-start"},{opener:e.withCtx((()=>[e.createElementVNode("button",Ae,[e.createElementVNode("span",null,e.toDisplayString(n),1),e.createVNode(s,{icon:"chevron-down"})])])),default:e.withCtx((()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t,((t,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.title?(e.openBlock(),e.createElementBlock("a",{key:0,href:a.getLink(t.href),class:"link rounded"},e.toDisplayString(t.title),9,ke)):(e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("span",Se,e.toDisplayString(n),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t,(t=>(e.openBlock(),e.createElementBlock("a",{href:a.getLink(t.href),class:"link rounded mx-2"},e.toDisplayString(t.title),9,Oe)))),256))]))],64)))),256))])),_:2},1024)):(e.openBlock(),e.createElementBlock("a",{key:1,class:"button accent",href:a.getLink(t[0].href)},e.toDisplayString(t[0].title),9,Ie))],64)))),256))]),e.createElementVNode("div",{id:"doc-content",innerHTML:a.parseContent(r.content,!0)},null,8,Me)])),_:1},8,["title"]),e.createVNode(d,{ref:"imageModal"},{default:e.withCtx((()=>[e.createElementVNode("img",{src:o.selectedImageSource,class:"w-full"},null,8,Re)])),_:1},512)],64)},voyager.component("voyager-docs",ve)}));
+var __vite_style__=document.createElement("style");__vite_style__.innerHTML="pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}\n",document.head.appendChild(__vite_style__),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Vue)}(this,(function(e){"use strict";var t={exports:{}};function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(t){var r=e[t];"object"!=typeof r||Object.isFrozen(r)||n(r)})),e}t.exports=n,t.exports.default=n;var r=t.exports;class i{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function o(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function a(e,...t){const n=Object.create(null);for(const r in e)n[r]=e[r];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const s=e=>!!e.kind;class l{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=o(e)}openNode(e){if(!s(e))return;let t=e.kind;t=e.sublanguage?`language-${t}`:((e,{prefix:t})=>{if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ")}return`${t}${e}`})(t,{prefix:this.classPrefix}),this.span(t)}closeNode(e){s(e)&&(this.buffer+="
'], ['
'], $content); - - return $content; - } - - private function parseSummary($content) - { - $xml = simplexml_load_string('
(.*?)<\/code>/gmis, (block, language, content) => {
- return `${hljs.highlight(this.decodeHtml(content), {language: language}).value}
`;
- });
- },
- decodeHtml(html) {
- var txt = document.createElement('textarea');
- txt.innerHTML = html;
-
- return txt.value;
- },
- resolveRelativePath(path) {
- var parts = path.split('/');
- var i = 1;
- while (i < parts.length) {
- if (parts[i] === '..' && i > 0 && parts[i-1] !== '..') {
- parts.splice(i-1, 2);
- i -= 2;
- }
- i++;
}
-
- return parts.join('/');
- },
- getLink(link) {
- return `${this.route('voyager.voyager-docs')}?path=${link}`;
}
},
data() {
return {
selectedImageSource: null,
+ selectedImageTitle: null,
}
},
mounted() {
document.getElementById('doc-content').getElementsByTagName('img').forEach((image) => {
- if (image.src.startsWith(`${route('voyager.voyager-docs-asset')}?path=`)) {
+ if (image.src.startsWith(this.base)) {
image.addEventListener('click', () => {
this.selectedImageSource = image.src;
+ this.selectedImageTitle = image.alt;
this.$refs.imageModal.open();
});
}
});
+ },
+ created() {
+ document.addEventListener('DOMContentLoaded', (event) => {
+ document.querySelectorAll('pre code').forEach((el) => {
+ hljs.highlightElement(el);
+ });
+ });
}
}
\ No newline at end of file
diff --git a/vite.config.js b/vite.config.js
index c9007a9..80bdcde 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -13,10 +13,11 @@ export default defineConfig({
fileName: 'voyager-docs'
},
rollupOptions: {
- external: ['vue'],
+ external: ['vue', 'marked'],
output: {
globals: {
- vue: 'Vue'
+ vue: 'Vue',
+ marked: 'marked',
}
}
}