Socket
Socket
Sign inDemoInstall

vitepress

Package Overview
Dependencies
Maintainers
5
Versions
237
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vitepress - npm Package Compare versions

Comparing version 1.0.0-alpha.51 to 1.0.0-alpha.52

dist/node-cjs/serve-0008c620.cjs

9

dist/client/app/components/Content.js
import { defineComponent, h } from 'vue';
import { useRoute } from '../router.js';
import { contentUpdatedCallbacks } from '../utils.js';
const runCbs = () => contentUpdatedCallbacks.forEach((fn) => fn());
export const Content = defineComponent({

@@ -11,5 +13,10 @@ name: 'VitePressContent',

return () => h(props.as, { style: { position: 'relative' } }, [
route.component ? h(route.component) : '404 Page Not Found'
route.component
? h(route.component, {
onVnodeMounted: runCbs,
onVnodeUpdated: runCbs
})
: '404 Page Not Found'
]);
}
});
import { siteDataRef } from './data.js';
import { inBrowser, EXTERNAL_URL_RE, sanitizeFileName } from '../shared.js';
import { onUnmounted } from 'vue';
export { inBrowser } from '../shared.js';

@@ -52,1 +53,12 @@ /**

}
export let contentUpdatedCallbacks = [];
/**
* Register callback that is called every time the markdown content is updated
* in the DOM.
*/
export function onContentUpdated(fn) {
contentUpdatedCallbacks.push(fn);
onUnmounted(() => {
contentUpdatedCallbacks = contentUpdatedCallbacks.filter((f) => f !== fn);
});
}

@@ -72,2 +72,7 @@ import * as vue from 'vue';

declare function withBase(path: string): string;
/**
* Register callback that is called every time the markdown content is updated
* in the DOM.
*/
declare function onContentUpdated(fn: () => any): void;

@@ -90,2 +95,2 @@ declare const Content: vue.DefineComponent<{

export { Content, EnhanceAppContext, Route, Router, Theme, VitePressData, inBrowser, useData, useRoute, useRouter, withBase };
export { Content, EnhanceAppContext, Route, Router, Theme, VitePressData, inBrowser, onContentUpdated, useData, useRoute, useRouter, withBase };

2

dist/client/index.js

@@ -7,4 +7,4 @@ // exports in this file are exposed to themes and md files via 'vitepress'

// utilities
export { inBrowser, withBase } from './app/utils.js';
export { inBrowser, withBase, onContentUpdated } from './app/utils.js';
// components
export { Content } from './app/components/Content.js';

@@ -6,2 +6,31 @@ import { onMounted, onUnmounted, onUpdated } from 'vue';

const PAGE_OFFSET = 71;
export function getHeaders(range) {
const headers = [...document.querySelectorAll('.VPDoc h2,h3,h4,h5,h6')]
.filter((el) => el.id && el.hasChildNodes())
.map((el) => {
const level = Number(el.tagName[1]);
return {
title: serializeHeader(el),
link: '#' + el.id,
level
};
});
return resolveHeaders(headers, range);
}
function serializeHeader(h) {
let ret = '';
for (const node of h.childNodes) {
if (node.nodeType === 1) {
if (node.classList.contains('VPBadge') ||
node.classList.contains('header-anchor')) {
continue;
}
ret += node.textContent;
}
else if (node.nodeType === 3) {
ret += node.textContent;
}
}
return ret.trim();
}
export function resolveHeaders(headers, range) {

@@ -14,3 +43,3 @@ if (range === false) {

: range) || 2;
const levels = typeof levelsRange === 'number'
const [high, low] = typeof levelsRange === 'number'
? [levelsRange, levelsRange]

@@ -20,26 +49,22 @@ : levelsRange === 'deep'

: levelsRange;
const isInRange = (h) => h.level >= levels[0] && h.level <= levels[1];
return filterHeaders(headers, isInRange);
}
function filterHeaders(headers, isInRange) {
const result = [];
headers = headers.map((h) => ({ ...h }));
headers.forEach((h) => {
if (isInRange(h)) {
if (h.children) {
const filteredChildren = filterHeaders(h.children, isInRange);
if (filteredChildren.length) {
h.children = filteredChildren;
headers = headers.filter((h) => h.level >= high && h.level <= low);
const ret = [];
outer: for (let i = 0; i < headers.length; i++) {
const cur = headers[i];
if (i === 0) {
ret.push(cur);
}
else {
for (let j = i - 1; j >= 0; j--) {
const prev = headers[j];
if (prev.level < cur.level) {
;
(prev.children || (prev.children = [])).push(cur);
continue outer;
}
else {
delete h.children;
}
}
result.push(h);
ret.push(cur);
}
else if (h.children) {
result.push(...filterHeaders(h.children, isInRange));
}
});
return result;
}
return ret;
}

@@ -46,0 +71,0 @@ export function useActiveAnchor(container, marker) {

@@ -12,2 +12,5 @@ import './styles/fonts.css';

import Layout from './Layout.vue';
// Note: if we add more optional components here, i.e. components that are not
// used in the theme by default unless the user imports them, make sure to update
// the `lazyDefaultThemeComponentsRE` regex in src/node/build/bundle.ts.
export { default as VPHomeHero } from './components/VPHomeHero.vue';

@@ -14,0 +17,0 @@ export { default as VPHomeFeatures } from './components/VPHomeFeatures.vue';

@@ -1,2 +0,2 @@

import { p as picocolorsExports, h as build, s as serve, i as init, f as createServer } from './serve-6171016e.js';
import { p as picocolorsExports, h as build, s as serve, i as init, f as createServer } from './serve-9eb311e5.js';
import { createLogger } from 'vite';

@@ -292,3 +292,3 @@ import 'url';

var version = "1.0.0-alpha.51";
var version = "1.0.0-alpha.52";

@@ -295,0 +295,0 @@ const argv = minimist(process.argv.slice(2));

@@ -1732,3 +1732,3 @@ import { Options } from '@vitejs/plugin-vue';

frontmatter?: FrontmatterPluginOptions;
headers?: HeadersPluginOptions;
headers?: HeadersPluginOptions | false;
sfc?: SfcPluginOptions;

@@ -1735,0 +1735,0 @@ theme?: ThemeOptions;

@@ -1,2 +0,2 @@

export { S as ScaffoldThemeType, h as build, g as createMarkdownRenderer, f as createServer, a as defineConfig, b as defineConfigWithTheme, d as defineLoader, i as init, r as resolveConfig, e as resolvePages, c as resolveSiteData, j as scaffold, s as serve } from './serve-6171016e.js';
export { S as ScaffoldThemeType, h as build, g as createMarkdownRenderer, f as createServer, a as defineConfig, b as defineConfigWithTheme, d as defineLoader, i as init, r as resolveConfig, e as resolvePages, c as resolveSiteData, j as scaffold, s as serve } from './serve-9eb311e5.js';
export { loadEnv } from 'vite';

@@ -3,0 +3,0 @@ import 'dns';

{
"name": "vitepress",
"version": "1.0.0-alpha.51",
"version": "1.0.0-alpha.52",
"description": "Vite & Vue powered static site generator",

@@ -91,3 +91,3 @@ "type": "module",

"@types/minimist": "^1.2.2",
"@types/node": "^18.14.6",
"@types/node": "^18.15.0",
"@types/prompts": "^2.4.2",

@@ -106,3 +106,3 @@ "chokidar": "^3.5.3",

"get-port": "^6.1.2",
"lint-staged": "^13.1.2",
"lint-staged": "^13.2.0",
"lodash.template": "^4.5.0",

@@ -129,3 +129,3 @@ "lru-cache": "^7.18.3",

"rimraf": "^4.4.0",
"rollup": "^3.18.0",
"rollup": "^3.19.1",
"rollup-plugin-dts": "^5.2.0",

@@ -165,10 +165,10 @@ "rollup-plugin-esbuild": "^5.0.0",

"check": "run-s format-fail build test",
"test": "run-p --aggregate-output test-unit test-preview test-build test-init",
"test": "run-p --aggregate-output test-unit test-e2e test-e2e-build test-init",
"test-unit": "vitest run -r __tests__/unit",
"test-preview": "vitest run -r __tests__/e2e",
"test-build": "VITE_TEST_BUILD=1 pnpm test-preview",
"test-e2e": "vitest run -r __tests__/e2e",
"test-e2e-build": "VITE_TEST_BUILD=1 pnpm test-e2e",
"test-init": "vitest run -r __tests__/init",
"test-init-build": "VITE_TEST_BUILD=1 pnpm test-init",
"debug-preview": "DEBUG=1 vitest -r __tests__/e2e",
"debug-build": "VITE_TEST_BUILD=1 pnpm debug-preview",
"debug-e2e": "DEBUG=1 vitest -r __tests__/e2e",
"debug-e2e-build": "VITE_TEST_BUILD=1 pnpm debug-e2e",
"unit-dev": "vitest -r __tests__/unit",

@@ -175,0 +175,0 @@ "e2e-dev": "wait-on -d 100 dist/node/cli.js && node ./bin/vitepress dev __tests__/e2e",

@@ -26,9 +26,2 @@ import { DocSearchProps } from './docsearch.js'

/**
* Disable this to hide badge text from outline.
*
* @default true
*/
outlineBadges?: boolean
/**
* @deprecated

@@ -35,0 +28,0 @@ * Use `outline.label` instead.

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc