vue3-sphinx-xml 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +14 -0
- package/README.md +171 -0
- package/dist/BlockQuote.js +43 -0
- package/dist/BlockQuote.js.map +1 -0
- package/dist/CaptionNumber.js +71 -0
- package/dist/CaptionNumber.js.map +1 -0
- package/dist/ColumnGroup.js +44 -0
- package/dist/ColumnGroup.js.map +1 -0
- package/dist/Comment.js +34 -0
- package/dist/Comment.js.map +1 -0
- package/dist/Compound.js +39 -0
- package/dist/Compound.js.map +1 -0
- package/dist/Container.js +80 -0
- package/dist/Container.js.map +1 -0
- package/dist/DirectElementMap.js +22 -0
- package/dist/DirectElementMap.js.map +1 -0
- package/dist/DownloadReference.js +51 -0
- package/dist/DownloadReference.js.map +1 -0
- package/dist/Figure.js +55 -0
- package/dist/Figure.js.map +1 -0
- package/dist/FigureCaption.js +77 -0
- package/dist/FigureCaption.js.map +1 -0
- package/dist/Footnote.js +45 -0
- package/dist/Footnote.js.map +1 -0
- package/dist/FootnoteReference.js +49 -0
- package/dist/FootnoteReference.js.map +1 -0
- package/dist/Image.js +53 -0
- package/dist/Image.js.map +1 -0
- package/dist/Legend.js +45 -0
- package/dist/Legend.js.map +1 -0
- package/dist/LineBlock.js +45 -0
- package/dist/LineBlock.js.map +1 -0
- package/dist/LineSingle.js +46 -0
- package/dist/LineSingle.js.map +1 -0
- package/dist/Literal.js +56 -0
- package/dist/Literal.js.map +1 -0
- package/dist/LiteralBlock.js +50 -0
- package/dist/LiteralBlock.js.map +1 -0
- package/dist/Math.js +25 -0
- package/dist/Math.js.map +1 -0
- package/dist/MathBlock.js +77 -0
- package/dist/MathBlock.js.map +1 -0
- package/dist/Note.js +48 -0
- package/dist/Note.js.map +1 -0
- package/dist/NumberReference.js +60 -0
- package/dist/NumberReference.js.map +1 -0
- package/dist/Problematic.js +45 -0
- package/dist/Problematic.js.map +1 -0
- package/dist/Raw.js +10 -0
- package/dist/Raw.js.map +1 -0
- package/dist/Reference.js +49 -0
- package/dist/Reference.js.map +1 -0
- package/dist/Section.js +53 -0
- package/dist/Section.js.map +1 -0
- package/dist/StandardElement.js +99 -0
- package/dist/StandardElement.js.map +1 -0
- package/dist/Text.js +23 -0
- package/dist/Text.js.map +1 -0
- package/dist/Title.js +66 -0
- package/dist/Title.js.map +1 -0
- package/dist/TodoNode.js +54 -0
- package/dist/TodoNode.js.map +1 -0
- package/dist/Topic.js +49 -0
- package/dist/Topic.js.map +1 -0
- package/dist/Transition.js +9 -0
- package/dist/Transition.js.map +1 -0
- package/dist/basereference.js +42 -0
- package/dist/basereference.js.map +1 -0
- package/dist/entry.js +707 -0
- package/dist/entry.js.map +1 -0
- package/dist/favicon.ico +0 -0
- package/dist/index.html +21 -0
- package/dist/methods.js +138 -0
- package/dist/methods.js.map +1 -0
- package/dist/style.css +1 -0
- package/dist/vue3-sphinx-xml.es.js +9 -0
- package/dist/vue3-sphinx-xml.es.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.js","sources":["../src/js/utilities.js","../plugin-vue:export-helper","../src/js/nodemap.js","../src/composables/computed.js","../src/components/templates/Document.vue","../src/components/SphinxPage.vue","../src/services/SphinxService.js","../src/store/modules/sphinx.js","../src/entry.js"],"sourcesContent":["import { pathToRegexp } from \"path-to-regexp\"\nimport { renderBlockQuote } from \"./renderfcns\"\n\nexport const decodeHTML = encoded => {\n let elem = document.createElement('textarea')\n elem.innerHTML = encoded\n return elem.value\n}\n\nexport const determineRouteUrl = route => {\n const regex = pathToRegexp(route.matched[0].path)\n let fullPath = route.fullPath\n if (route.hash) {\n fullPath = fullPath.replace(route.hash, '')\n }\n const matched = fullPath.match(regex)\n let base = matched[0]\n if (matched[matched.length - 1]) {\n base = matched[0].replace(`/${matched[matched.length - 1]}`, '')\n }\n return base\n}\n\nexport const constructPageNameFromRoute = route => {\n let pageName = undefined\n try {\n pageName = route.params.pageName.join('/')\n } catch (_) {\n pageName = route.params.pageName\n }\n return pageName\n}\n","\nexport default (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n}\n","export const nodeNameTagNameMap = new Map([\n ['bullet_list', 'ul'],\n ['button', 'button'],\n ['definition', 'dd'],\n ['definition_list', 'dl'],\n ['definition_list_item', 'dt'],\n ['div', 'div'],\n ['emphasis', 'em'],\n ['enumerated_list', 'ol'],\n ['glossary', 'div'],\n ['inline', 'span'],\n ['label', 'span'],\n ['list_item', 'li'],\n ['line', 'p'],\n ['paragraph', 'p'],\n ['rubric', 'h3'],\n ['strong', 'strong'],\n ['subscript', 'sub'],\n ['superscript', 'sup'],\n ['table', 'table'],\n ['tbody', 'tbody'],\n ['entry', 'td'],\n ['row', 'tr'],\n ['thead', 'thead'],\n ['term', 'dt'],\n ['title_reference', 'cite'],\n])\n\nexport const nodeNameTemplateNameMap = new Map([\n ['#text', 'Text'],\n ['block_quote', 'BlockQuote'],\n ['caption', 'FigureCaption'],\n ['caption_number', 'CaptionNumber'],\n ['download_reference', 'DownloadReference'],\n ['footnote_reference', 'FootnoteReference'],\n ['line_block', 'LineBlock'],\n ['literal_block', 'LiteralBlock'],\n ['math_block', 'MathBlock'],\n ['number_reference', 'NumberReference'],\n])\n","import { computed, defineAsyncComponent } from 'vue'\n\nimport ErrorComponent from '../components/Error.vue'\nimport LoadingComponent from '../components/Loading.vue'\nimport { nodeNameTagNameMap, nodeNameTemplateNameMap } from '../js/nodemap'\n\nfunction defineChildComponent(name, node) {\n let properties = undefined\n if (node.nodeName === '#text') {\n if (!node.nodeValue.trim()) {\n return null\n }\n properties = {\n text: node.nodeValue,\n }\n } else if (node.nodeName === 'title') {\n let parentNode = node.parentNode\n let depth = 0\n let isTopic = false\n if (parentNode.nodeName === 'topic') {\n isTopic = true\n } else {\n while (parentNode) {\n // && parentNode.nodeName !== ('SphinxPage' should now be 'document' but maybe this is no longer requied).\n if (parentNode.nodeName === 'section') {\n depth += 1\n }\n parentNode = parentNode.parentNode\n }\n }\n properties = {\n depth,\n isTopic,\n }\n }\n const component = defineAsyncComponent({\n loader: () => {\n return import(`../components/templates/${name}.vue`)\n },\n // A component to use while the async component is loading\n loadingComponent: LoadingComponent,\n // A component to use if the load fails\n errorComponent: ErrorComponent,\n })\n\n return {\n component,\n name,\n node,\n properties,\n }\n}\n\nfunction defineColgroupComponent(node, colspecs) {\n const name = 'ColumnGroup'\n const component = defineAsyncComponent({\n loader: () => {\n return import(`../components/templates/${name}.vue`)\n },\n // A component to use while the async component is loading\n loadingComponent: LoadingComponent,\n // A component to use if the load fails\n errorComponent: ErrorComponent,\n })\n \n const properties = {\n colspecs\n }\n\n return {\n component,\n name,\n node,\n properties,\n }\n}\n\nfunction mapToComponentName(name) {\n let componentName =\n name.charAt(0).toUpperCase() + name.slice(1)\n if (nodeNameTemplateNameMap.has(name)) {\n componentName = nodeNameTemplateNameMap.get(name)\n } else if (nodeNameTagNameMap.has(name)) {\n componentName = 'StandardElement'\n }\nreturn componentName\n}\n\nfunction addTGroup(components, node, columns) {\n if (node === null) {\n return components\n }\n\n let colspecs = []\n for (const colspec of node.querySelectorAll('colspec')) {\n colspecs.push(colspec.getAttribute('colwidth'))\n }\n\n if (colspecs.length !== columns) {\n console.log('Something is not right.')\n }\n components.push(defineColgroupComponent(node, colspecs))\n\n return components\n}\n\nfunction addComponents(components, node) {\n if (node === null) {\n return components\n }\n\n let childTarget = null\n for (const child of node.childNodes) {\n const childName = child.nodeName\n if (childName === 'compact_paragraph') {\n // Skip over this wrapper and directly add its children to this component.\n components = addComponents(components, child)\n } else if (childName === 'tgroup') {\n // Skip over these wrappers and directly add their children to this component.\n const columnCount = Number(child.getAttribute('cols'))\n components = addTGroup(components, child, columnCount)\n components = addComponents(components, child)\n } else if (childName === 'colspec') {\n // Ignore this element completely, this element is dealt with by 'tgroup'.\n } else {\n if (childName === 'target') {\n childTarget = child.getAttribute('refid')\n } else {\n if (childName !== '#text' && childTarget) {\n child.setAttribute('id', childTarget)\n childTarget = ''\n }\n const componentName = mapToComponentName(childName)\n const item = defineChildComponent(componentName, child)\n if (item) {\n components.push(item)\n }\n }\n }\n }\n\n return components\n}\n\nexport function useChildren(element) {\n const children = computed(() => {\n return addComponents([], element.value)\n })\n\n return {\n children,\n }\n}\n\nexport function useClasses(element) {\n const classes = computed(() => {\n let classesString = element.value.getAttribute('classes')\n let classes = []\n if (classesString) {\n classes = classesString.split(' ')\n }\n return [element.value.nodeName.toLowerCase(), ...classes]\n })\n\n return {\n classes\n }\n}\n","<template>\n <div :id=\"id\">\n <component\n v-for=\"(c, index) in children\"\n :key=\"'document_component_' + index\"\n :is=\"c.component\"\n :node=\"c.node\"\n :componentName=\"c.name\"\n :properties=\"c.properties\"\n />\n </div>\n</template>\n\n<script setup>\nimport { defineProps, toRefs } from 'vue'\n\nimport { useChildren } from '../../composables/computed'\n\nconst props = defineProps({\n element: {\n type: undefined,\n default: { empty: true },\n },\n id: {\n type: String,\n default: '',\n },\n})\n\nconst { element, id } = toRefs(props)\nconst { children } = useChildren(element)\n\n</script>\n","<template>\n <document :element=\"element\" :id=\"id\" />\n</template>\n\n<script setup>\nimport { defineProps, ref, toRefs, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useStore } from 'vuex'\n\nimport { determineRouteUrl, constructPageNameFromRoute } from '../js/utilities'\n\nimport Document from './templates/Document.vue'\n\nconst props = defineProps({\n baseURL: {\n type: String,\n default: '/',\n },\n downloadBaseURL: {\n type: String,\n default: '',\n },\n imagesBaseURL: {\n type: String,\n default: '',\n },\n indexFileName: {\n type: String,\n default: 'index',\n },\n pageNotFoundName: {\n type: String,\n default: '404',\n },\n scrollDelay: {\n type: Number,\n default: 200,\n },\n})\n\nconst {\n baseURL,\n downloadBaseURL,\n imagesBaseURL,\n indexFileName,\n pageNotFoundName,\n scrollDelay,\n} = toRefs(props)\n\nconst router = useRouter()\nconst route = useRoute()\nconst store = useStore()\n\nlet element = ref(null)\nlet scrollToTarget = ref(undefined)\nlet id = ref('')\nlet previousRoute = {\n path: undefined,\n hash: undefined,\n}\n\nfunction followScrollTarget(elem) {\n setTimeout(() => {\n scrollToTarget.value = elem.offsetTop\n window.scrollTo({\n top: elem.offsetTop,\n behavior: 'smooth',\n })\n setTimeout(() => {\n if (scrollToTarget.value !== elem.offsetTop) {\n followScrollTarget(elem)\n }\n }, 10)\n }, scrollDelay.value)\n}\n\nwatch(\n route,\n (to) => {\n if (previousRoute.path === undefined || to.path !== previousRoute.path) {\n fetchPageData(to)\n if (to.hash) {\n setTimeout(() => {\n let hash = to.hash\n if (hash.startsWith('#')) {\n hash = hash.slice(1)\n }\n const elem = document.getElementById(hash)\n if (elem) {\n followScrollTarget(elem)\n }\n }, scrollDelay.value)\n }\n } else if (to.path === previousRoute.path && to.hash) {\n let hash = to.hash\n if (hash.startsWith('#')) {\n hash = hash.slice(1)\n }\n const elem = document.getElementById(hash)\n if (elem) {\n window.scrollTo({\n top: elem.offsetTop,\n behavior: 'smooth',\n })\n }\n }\n previousRoute.path = to.path\n previousRoute.hash = to.hash\n },\n { flush: 'pre', immediate: true, deep: true },\n)\n\nfunction fetchPageData(routeTo) {\n let pageName = constructPageNameFromRoute(routeTo)\n if (!pageName) {\n pageName = indexFileName.value\n }\n const resolvedImagesBaseURL =\n imagesBaseURL.value === ''\n ? `${baseURL.value}/_images`\n : imagesBaseURL.value\n const resolvedDownloadBaseURL =\n downloadBaseURL.value === ''\n ? `${baseURL.value}/_downloads`\n : downloadBaseURL.value\n const routeURL = determineRouteUrl(routeTo)\n\n store\n .dispatch('sphinx/fetchPage', {\n page_name: pageName,\n page_route: routeURL,\n page_url: baseURL.value,\n page_downloads: resolvedDownloadBaseURL,\n page_images: resolvedImagesBaseURL,\n })\n .then((response) => {\n if (response) {\n element.value = response\n id.value = 'page_' + pageName.replace('/', '_')\n } else {\n router.push({\n name: pageNotFoundName.value,\n params: {\n type: 'page',\n message: `Could not find Sphinx page '${pageName}.xml'.`,\n },\n })\n }\n })\n}\n</script>\n","import axios from 'axios'\n\nconst apiClient = axios.create({\n withCredentials: false,\n headers: {\n Accept: 'text/xml',\n 'Content-Type': 'text/xml',\n },\n timeout: 10000,\n})\n\nexport default {\n getPage(baseURL, page) {\n return apiClient.get(`${baseURL}/${page}.xml`)\n },\n}\n","import SphinxService from '../../services/SphinxService'\n\nexport const namespaced = true\n\nexport const state = {\n pages: new Map(),\n urlMap: new Map(),\n inflight: new Map(),\n downloadURLs: new Map(),\n imagesURLs: new Map(),\n}\n\nexport const mutations = {\n APPEND_PAGE(state, { routeURL, page }) {\n let pages = state.pages.get(routeURL)\n if (!pages) {\n pages = []\n }\n pages.push(page)\n state.pages.set(routeURL, pages)\n },\n ADD_INFLIGHT(state, { routeURL, page_name, pending }) {\n let inflightMap = state.inflight.get(routeURL)\n if (!inflightMap) {\n inflightMap = new Map()\n }\n inflightMap.set(page_name, pending)\n state.inflight.set(routeURL, inflightMap)\n },\n REMOVE_INFLIGHT(state, { routeURL, id }) {\n state.inflight.get(routeURL).delete(id)\n },\n // SET_DOWNLOADS_URL(state, { routeURL, url }) {\n // state.downloadsURLs.set(routeURL, url)\n // },\n // SET_IMAGES_URL(state, { routeURL, url }) {\n // state.imagesURLs.set(routeURL, url)\n // },\n REGISTER_ROUTE_URL(state, { baseURL, routeURL, downloadsURL, imagesURL }) {\n const registeredURL = state.pages.get(routeURL)\n if (!registeredURL) {\n state.pages.set(routeURL, [])\n state.urlMap.set(routeURL, baseURL)\n state.downloadURLs.set(routeURL, downloadsURL)\n state.imagesURLs.set(routeURL, imagesURL)\n state.inflight.set(routeURL, new Map())\n }\n },\n}\n\nexport const actions = {\n fetchPage({ commit, getters }, payload) {\n const page_name = payload.page_name\n const page_route = payload.page_route\n const base_url = payload.page_url\n commit('REGISTER_ROUTE_URL', {\n baseURL: base_url,\n routeURL: page_route,\n downloadsURL: payload.page_downloads,\n imagesURL: payload.page_images,\n })\n const existingPage = getters.getPageById(page_route, page_name)\n if (existingPage) {\n return Promise.resolve(existingPage)\n }\n if (getters.isInflight(page_route, page_name)) {\n return getters.getInflight(page_route, page_name)\n }\n const pending = SphinxService.getPage(base_url, page_name)\n .then(response => {\n let parser = new DOMParser()\n let xmlDoc = parser.parseFromString(response.data, 'text/xml')\n const documentElement = xmlDoc.querySelector('document')\n commit('APPEND_PAGE', { routeURL: page_route, page: documentElement })\n commit('REMOVE_INFLIGHT', { routeURL: page_route, id: page_name })\n return documentElement\n })\n .catch(() => {\n commit('REMOVE_INFLIGHT', { routeURL: page_route, id: page_name })\n })\n commit('ADD_INFLIGHT', { routeURL: page_route, page_name, pending })\n return pending\n },\n // setDownloadURL({ commit }, { page_route, url }) {\n // commit('SET_DOWNLOAD_URL', { routeURL: page_route, url })\n // },\n // setImagesURL({ commit }, { page_route, url }) {\n // commit('SET_IMAGES_URL', { routeURL: page_route, url })\n // },\n}\n\nexport const getters = {\n getPageById: state => (routeURL, id) => {\n return state.pages.get(routeURL).find(page => page.id === id)\n },\n getInflight: state => (routeURL, id) => {\n return state.inflight.get(routeURL).get(id)\n },\n isInflight: state => (routeURL, id) => {\n return !!state.inflight.get(routeURL).get(id)\n },\n getBaseUrl: state => routeURL => {\n return state.urlMap.get(routeURL)\n },\n getDownloadURL: state => routeURL => {\n return state.downloadURLs.get(routeURL)\n },\n getImagesURL: state => routeURL => {\n return state.imagesURLs.get(routeURL)\n },\n}\n","import Vue3Katex from '@hsorby/vue3-katex'\nimport 'katex/dist/katex.min.css'\n\nimport SphinxPage from './components/SphinxPage.vue'\nimport * as SphinxStore from './store/modules/sphinx'\n\nfunction installVue3SphinxXml(app, options = {}) {\n if (!options.store) {\n throw 'Please provide a store!!'\n }\n\n options.store.registerModule('sphinx', SphinxStore)\n app.use(Vue3Katex, options.katex)\n}\n\nexport { installVue3SphinxXml, SphinxPage }\n\n"],"names":["ErrorComponent"],"mappings":"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"}
|
package/dist/favicon.ico
ADDED
|
Binary file
|
package/dist/index.html
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
6
|
+
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
|
|
7
|
+
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
|
|
8
|
+
<title><%= htmlWebpackPlugin.options.title %></title>
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<noscript>
|
|
12
|
+
<strong
|
|
13
|
+
>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work
|
|
14
|
+
properly without JavaScript enabled. Please enable it to
|
|
15
|
+
continue.</strong
|
|
16
|
+
>
|
|
17
|
+
</noscript>
|
|
18
|
+
<div id="app"></div>
|
|
19
|
+
<!-- built files will be auto injected -->
|
|
20
|
+
</body>
|
|
21
|
+
</html>
|
package/dist/methods.js
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
import { d as determineRouteUrl } from "./entry.js";
|
|
18
|
+
const isEmpty = (d) => {
|
|
19
|
+
for (const i in d) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
return true;
|
|
23
|
+
};
|
|
24
|
+
const useMethods = () => {
|
|
25
|
+
const toggleActiveClass = (classList) => {
|
|
26
|
+
let index = classList.indexOf("active");
|
|
27
|
+
if (index !== -1) {
|
|
28
|
+
classList[index] = "inactive";
|
|
29
|
+
} else {
|
|
30
|
+
index = classList.indexOf("inactive");
|
|
31
|
+
if (index !== -1) {
|
|
32
|
+
classList[index] = "active";
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const separateIds = (element, targetId) => {
|
|
37
|
+
const ids = element.getAttribute("ids");
|
|
38
|
+
if (ids !== null) {
|
|
39
|
+
let splitIds = ids.split(" ");
|
|
40
|
+
const targetIndex = splitIds.indexOf(targetId);
|
|
41
|
+
if (targetId && targetIndex !== -1) {
|
|
42
|
+
splitIds.splice(targetIndex, 1);
|
|
43
|
+
splitIds.unshift(targetId);
|
|
44
|
+
}
|
|
45
|
+
return { id: splitIds.shift(), extraIds: splitIds };
|
|
46
|
+
}
|
|
47
|
+
return {};
|
|
48
|
+
};
|
|
49
|
+
const dataObject = (element, additionalClasses) => {
|
|
50
|
+
let dO = {};
|
|
51
|
+
let classes = [...element.classList];
|
|
52
|
+
if (additionalClasses) {
|
|
53
|
+
classes = classes.concat(additionalClasses);
|
|
54
|
+
}
|
|
55
|
+
const id = extractId(element);
|
|
56
|
+
const attributes = extractAttributes(element);
|
|
57
|
+
if (classes.length) {
|
|
58
|
+
dO["class"] = classes;
|
|
59
|
+
}
|
|
60
|
+
if (!isEmpty(attributes) || !isEmpty(id)) {
|
|
61
|
+
dO["attrs"] = __spreadValues(__spreadValues({}, id), attributes);
|
|
62
|
+
}
|
|
63
|
+
return dO;
|
|
64
|
+
};
|
|
65
|
+
const extractAttributes = (element) => {
|
|
66
|
+
const unrequiredAttrs = ["uri", "ids", "names", "candidates", "classes"];
|
|
67
|
+
const styleAttrs = ["width"];
|
|
68
|
+
let style = "";
|
|
69
|
+
let attrDict = {};
|
|
70
|
+
for (const attr of element.attributes) {
|
|
71
|
+
if (styleAttrs.includes(attr.name)) {
|
|
72
|
+
style += `${attr.name}: ${attr.value};`;
|
|
73
|
+
} else if (!unrequiredAttrs.includes(attr.name)) {
|
|
74
|
+
attrDict[attr.name] = attr.value;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (style) {
|
|
78
|
+
attrDict.style = style;
|
|
79
|
+
}
|
|
80
|
+
return attrDict;
|
|
81
|
+
};
|
|
82
|
+
const extractId = (element) => {
|
|
83
|
+
const id = element.getAttribute("id");
|
|
84
|
+
if (id) {
|
|
85
|
+
return { id };
|
|
86
|
+
}
|
|
87
|
+
if (element.getAttribute("ids") && element.getAttribute("ids").length > 0) {
|
|
88
|
+
const ids = element.getAttribute("ids").split(" ");
|
|
89
|
+
const id2 = ids[0];
|
|
90
|
+
return {
|
|
91
|
+
id: id2
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
return {};
|
|
95
|
+
};
|
|
96
|
+
const determinePageLocation = (element) => {
|
|
97
|
+
const elementRefUri = element.getAttribute("refuri");
|
|
98
|
+
const hash = elementRefUri.split("#")[1];
|
|
99
|
+
return hash ? "#" + hash : "";
|
|
100
|
+
};
|
|
101
|
+
const determinePageName = (element, route) => {
|
|
102
|
+
const baseRefUri = determineRouteUrl(route);
|
|
103
|
+
const elementRefUri = element.getAttribute("refuri");
|
|
104
|
+
let splitRefUri = elementRefUri.split("/");
|
|
105
|
+
let routePath = route.path.replace(baseRefUri, "");
|
|
106
|
+
let splitRoutePath = routePath.split("/");
|
|
107
|
+
splitRoutePath.shift();
|
|
108
|
+
if (route.path !== baseRefUri) {
|
|
109
|
+
splitRoutePath.pop();
|
|
110
|
+
}
|
|
111
|
+
const filePart = splitRefUri.pop();
|
|
112
|
+
const fileBaseName = filePart.split("#")[0];
|
|
113
|
+
while (splitRefUri[0] === "..") {
|
|
114
|
+
splitRefUri.shift();
|
|
115
|
+
splitRoutePath.pop();
|
|
116
|
+
}
|
|
117
|
+
return [...splitRoutePath, ...splitRefUri, fileBaseName].join("/");
|
|
118
|
+
};
|
|
119
|
+
const isInternalReference = (element) => {
|
|
120
|
+
const internal = element.getAttribute("internal") === "True";
|
|
121
|
+
return internal || isReferenceToCurrentPage(element);
|
|
122
|
+
};
|
|
123
|
+
const isReferenceToCurrentPage = (element) => {
|
|
124
|
+
return element.hasAttribute("refid");
|
|
125
|
+
};
|
|
126
|
+
return {
|
|
127
|
+
dataObject,
|
|
128
|
+
determinePageLocation,
|
|
129
|
+
determinePageName,
|
|
130
|
+
extractId,
|
|
131
|
+
isInternalReference,
|
|
132
|
+
isReferenceToCurrentPage,
|
|
133
|
+
separateIds,
|
|
134
|
+
toggleActiveClass
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
export { useMethods as u };
|
|
138
|
+
//# sourceMappingURL=methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"methods.js","sources":["../src/composables/methods.js"],"sourcesContent":["import { determineRouteUrl } from '../js/utilities'\n\nconst isEmpty = (d) => {\n for (const i in d) {\n return false\n }\n\n return true\n}\n\nexport const useMethods = () => {\n const toggleActiveClass = (classList) => {\n let index = classList.indexOf('active')\n\n if (index !== -1) {\n classList[index] = 'inactive'\n } else {\n index = classList.indexOf('inactive')\n if (index !== -1) {\n classList[index] = 'active'\n }\n }\n }\n\n const separateIds = (element, targetId) => {\n const ids = element.getAttribute('ids')\n if (ids !== null) {\n let splitIds = ids.split(' ')\n const targetIndex = splitIds.indexOf(targetId)\n if (targetId && targetIndex !== -1) {\n splitIds.splice(targetIndex, 1)\n splitIds.unshift(targetId)\n }\n return { id: splitIds.shift(), extraIds: splitIds }\n }\n return {}\n }\n\n const dataObject = (element, additionalClasses) => {\n let dO = {}\n\n let classes = [...element.classList]\n if (additionalClasses) {\n classes = classes.concat(additionalClasses)\n }\n\n const id = extractId(element)\n const attributes = extractAttributes(element)\n\n if (classes.length) {\n dO['class'] = classes\n }\n if (!isEmpty(attributes) || !isEmpty(id)) {\n dO['attrs'] = {\n ...id,\n ...attributes,\n }\n }\n\n return dO\n }\n\n const extractAttributes = (element) => {\n const unrequiredAttrs = ['uri', 'ids', 'names', 'candidates', 'classes']\n const styleAttrs = ['width']\n let style = ''\n let attrDict = {}\n for (const attr of element.attributes) {\n if (styleAttrs.includes(attr.name)) {\n style += `${attr.name}: ${attr.value};`\n } else if (!unrequiredAttrs.includes(attr.name)) {\n attrDict[attr.name] = attr.value\n }\n }\n if (style) {\n attrDict.style = style\n }\n return attrDict\n }\n\n const extractId = (element) => {\n // Inserting the id of the first term in a collection as the contents of the item.\n const id = element.getAttribute('id')\n if (id) {\n return { id }\n }\n if (element.getAttribute('ids') && element.getAttribute('ids').length > 0) {\n const ids = element.getAttribute('ids').split(' ')\n const id = ids[0]\n return {\n id,\n }\n }\n return {}\n }\n const determinePageLocation = (element) => {\n const elementRefUri = element.getAttribute('refuri')\n const hash = elementRefUri.split('#')[1]\n return hash ? '#' + hash : ''\n }\n const determinePageName = (element, route) => {\n const baseRefUri = determineRouteUrl(route)\n const elementRefUri = element.getAttribute('refuri')\n // Remove page from reference uri\n let splitRefUri = elementRefUri.split('/')\n let routePath = route.path.replace(baseRefUri, '')\n // Remove the baseRefUri and make that our root location\n let splitRoutePath = routePath.split('/')\n // Remove the empty string from the beginning of the array\n splitRoutePath.shift()\n if (route.path !== baseRefUri) {\n // The base reference uri is a special case usually we have to\n // remove the page name from the route as well.\n splitRoutePath.pop()\n }\n // Get the file name from the reference uri\n const filePart = splitRefUri.pop()\n const fileBaseName = filePart.split('#')[0]\n // Remove up route if parent directory name found\n while (splitRefUri[0] === '..') {\n splitRefUri.shift()\n splitRoutePath.pop()\n }\n return [...splitRoutePath, ...splitRefUri, fileBaseName].join('/')\n }\n const isInternalReference = (element) => {\n const internal = element.getAttribute('internal') === 'True'\n return internal || isReferenceToCurrentPage(element)\n }\n const isReferenceToCurrentPage = (element) => {\n return element.hasAttribute('refid')\n }\n return {\n dataObject,\n determinePageLocation,\n determinePageName,\n extractId,\n isInternalReference,\n isReferenceToCurrentPage,\n separateIds,\n toggleActiveClass,\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.loading-container[data-v-97cc632a]{display:flex;align-items:center}.lds-roller[data-v-97cc632a]{transform:scale(.5);display:inline-block;position:relative;width:80px;height:80px}.lds-roller div[data-v-97cc632a]{animation:lds-roller-97cc632a 1.2s cubic-bezier(.5,0,.5,1) infinite;transform-origin:40px 40px}.lds-roller div[data-v-97cc632a]:after{content:" ";display:block;position:absolute;width:7px;height:7px;border-radius:50%;background:rgb(116,116,116);margin:-4px 0 0 -4px}.lds-roller div[data-v-97cc632a]:nth-child(1){animation-delay:-36ms}.lds-roller div[data-v-97cc632a]:nth-child(1):after{top:63px;left:63px}.lds-roller div[data-v-97cc632a]:nth-child(2){animation-delay:-72ms}.lds-roller div[data-v-97cc632a]:nth-child(2):after{top:68px;left:56px}.lds-roller div[data-v-97cc632a]:nth-child(3){animation-delay:-.108s}.lds-roller div[data-v-97cc632a]:nth-child(3):after{top:71px;left:48px}.lds-roller div[data-v-97cc632a]:nth-child(4){animation-delay:-.144s}.lds-roller div[data-v-97cc632a]:nth-child(4):after{top:72px;left:40px}.lds-roller div[data-v-97cc632a]:nth-child(5){animation-delay:-.18s}.lds-roller div[data-v-97cc632a]:nth-child(5):after{top:71px;left:32px}.lds-roller div[data-v-97cc632a]:nth-child(6){animation-delay:-.216s}.lds-roller div[data-v-97cc632a]:nth-child(6):after{top:68px;left:24px}.lds-roller div[data-v-97cc632a]:nth-child(7){animation-delay:-.252s}.lds-roller div[data-v-97cc632a]:nth-child(7):after{top:63px;left:17px}.lds-roller div[data-v-97cc632a]:nth-child(8){animation-delay:-.288s}.lds-roller div[data-v-97cc632a]:nth-child(8):after{top:56px;left:12px}@keyframes lds-roller-97cc632a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toggle-header[data-v-a971ffd6]{cursor:pointer}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import "@hsorby/vue3-katex";
|
|
2
|
+
import "katex/dist/katex.min.css";
|
|
3
|
+
export { e as SphinxPage, i as installVue3SphinxXml } from "./entry.js";
|
|
4
|
+
import "vue";
|
|
5
|
+
import "vue-router";
|
|
6
|
+
import "vuex";
|
|
7
|
+
import "path-to-regexp";
|
|
8
|
+
import "axios";
|
|
9
|
+
//# sourceMappingURL=vue3-sphinx-xml.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue3-sphinx-xml.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vue3-sphinx-xml",
|
|
3
|
+
"version": "0.1.0-beta.0",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"homepage": "https://github.com/hsorby/vue3-sphinx-xml#readme",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/hsorby/vue3-sphinx-xml.git"
|
|
9
|
+
},
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/hsorby/vue3-sphinx-xml/issues"
|
|
12
|
+
},
|
|
13
|
+
"description": "Vue 3 component for Sphinx documentation XML content.",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"vue",
|
|
16
|
+
"sphinx",
|
|
17
|
+
"documentation",
|
|
18
|
+
"xml"
|
|
19
|
+
],
|
|
20
|
+
"module": "dist/vue3-sphinx-xml.es.js",
|
|
21
|
+
"files": [
|
|
22
|
+
"dist"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build-package": "vite build"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@hsorby/vue3-katex": "^0.6.0-rc.2",
|
|
29
|
+
"axios": "^0.21.4",
|
|
30
|
+
"core-js": "^3.6.5",
|
|
31
|
+
"katex": "^0.15.3",
|
|
32
|
+
"path-to-regexp": "^6.2.1",
|
|
33
|
+
"vue": "^3.2.25",
|
|
34
|
+
"vue-highlightjs": "^1.3.3",
|
|
35
|
+
"vue-router": "^4.0.15",
|
|
36
|
+
"vuex": "^4.0.2"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@rollup/plugin-buble": "^0.21.3",
|
|
40
|
+
"@rollup/plugin-commonjs": "^22.0.0",
|
|
41
|
+
"@vitejs/plugin-vue": "^2.3.1",
|
|
42
|
+
"rollup": "^2.75.3",
|
|
43
|
+
"rollup-plugin-scss": "^3.0.0",
|
|
44
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
45
|
+
"sass": "^1.38.0",
|
|
46
|
+
"vite": "^2.9.5"
|
|
47
|
+
}
|
|
48
|
+
}
|