dumi-theme-lobehub
Version:
dumi-theme-lobehub is a documentation site theme package designed for dumi2. It provides a more beautiful and user-friendly development and reading experience based on @lobehub/ui
105 lines • 5.99 kB
JavaScript
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import { Helmet } from 'dumi';
import isEqual from 'fast-deep-equal';
import urlJoin from 'url-join';
import { siteSelectors, useSiteStore } from "../../../store";
import { jsx as _jsx } from "react/jsx-runtime";
var date = new Date().toISOString();
var StructuredData = function StructuredData() {
var _metadata$twitter, _metadata$openGraph, _metadata$twitter2, _metadata$openGraph2, _metadata$twitter3, _metadata$openGraph3;
var _useSiteStore = useSiteStore(function (s) {
return [siteSelectors.siteTitle(s), siteSelectors.siteDesc(s), siteSelectors.logo(s), siteSelectors.hostname(s) || 'https://lobehub.com'];
}),
_useSiteStore2 = _slicedToArray(_useSiteStore, 4),
title = _useSiteStore2[0],
desc = _useSiteStore2[1],
logo = _useSiteStore2[2],
hostname = _useSiteStore2[3];
var metadata = useSiteStore(siteSelectors.metadata, isEqual);
var ld = {
'@context': 'https://schema.org',
'@graph': [{
'@id': urlJoin(hostname, '#website'),
'@type': 'WebSite',
'description': desc,
'inLanguage': 'en-US',
'name': 'LobeHub',
'publisher': {
'@id': urlJoin(hostname, '#organization')
},
'url': hostname
}, {
'@id': hostname,
'@type': 'WebPage',
'about': {
'@id': urlJoin(hostname, '#organization')
},
'dateModified': date,
'datePublished': date,
'description': desc,
'image': {
'@id': urlJoin(hostname, '#primaryimage')
},
'inLanguage': 'en-US',
'isPartOf': {
'@id': urlJoin(hostname, '#website')
},
'name': title,
'primaryImageOfPage': {
'@id': urlJoin(hostname, '#primaryimage')
},
'thumbnailUrl': (metadata === null || metadata === void 0 || (_metadata$twitter = metadata.twitter) === null || _metadata$twitter === void 0 ? void 0 : _metadata$twitter.image) || (metadata === null || metadata === void 0 || (_metadata$openGraph = metadata.openGraph) === null || _metadata$openGraph === void 0 ? void 0 : _metadata$openGraph.image)
}, {
'@id': urlJoin(hostname, '#primaryimage'),
'@type': 'ImageObject',
'contentUrl': (metadata === null || metadata === void 0 || (_metadata$twitter2 = metadata.twitter) === null || _metadata$twitter2 === void 0 ? void 0 : _metadata$twitter2.image) || (metadata === null || metadata === void 0 || (_metadata$openGraph2 = metadata.openGraph) === null || _metadata$openGraph2 === void 0 ? void 0 : _metadata$openGraph2.image) || logo,
'inLanguage': 'en-US',
'url': (metadata === null || metadata === void 0 || (_metadata$twitter3 = metadata.twitter) === null || _metadata$twitter3 === void 0 ? void 0 : _metadata$twitter3.image) || (metadata === null || metadata === void 0 || (_metadata$openGraph3 = metadata.openGraph) === null || _metadata$openGraph3 === void 0 ? void 0 : _metadata$openGraph3.image) || logo
}, {
'@id': urlJoin(hostname, '#organization'),
'@type': 'Organization',
'alternateName': 'LobeHub',
'contactPoint': {
'@type': 'ContactPoint',
'contactType': 'customer support',
'email': 'support@lobehub.com'
},
'description': 'We are a group of e/acc design-engineers, hoping to provide modern design components and tools for AIGC, and creating a technology-driven forum, fostering knowledge interaction and the exchange of ideas that may culminate in mutual inspiration and collaborative innovation.',
'email': 'hello@lobehub.com',
'founders': [{
'@type': 'Person',
'name': 'Arvin Xu',
'url': 'https://github.com/arvinxx'
}, {
'@type': 'Person',
'name': 'CanisMinor',
'url': 'https://github.com/arvinxx'
}],
'image': 'https://lobehub.com/icon-512x512.png',
'logo': {
'@type': 'ImageObject',
'height': 512,
'url': 'https://lobehub.com/icon-512x512.png',
'width': 512
},
'name': 'LobeHub',
'sameAs': ['https://x.com/lobehub', 'https://github.com/lobehub', 'https://medium.com/@lobehub', 'https://www.youtube.com/@lobehub'],
'url': 'https://lobehub.com'
}]
};
return /*#__PURE__*/_jsx(Helmet, {
children: /*#__PURE__*/_jsx("script", {
dangerouslySetInnerHTML: {
__html: JSON.stringify(ld)
},
id: "structured-data",
type: "application/ld+json"
})
});
};
export default StructuredData;