Skip to content

Commit b47e364

Browse files
feat: support load base option #13
1 parent f5f38f9 commit b47e364

File tree

4 files changed

+36
-11
lines changed

4 files changed

+36
-11
lines changed

packages/vuepress-plugin-export-pdf-v1/src/serverApp.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,14 @@ export const serverApp = async (dir = "docs", commandOptions: CommandOptionsType
7777
process.stdout.write("Start to generate current site to PDF ...");
7878

7979
const { pages, tempPath } = devContext;
80+
const hashPages = pages.map(page => ({
81+
// or devContext.siteConfig.base
82+
path: join(`${devContext.base}${page.path}`),
83+
key: page.key,
84+
}));
8085
try {
8186
await generatePdf({
82-
pages,
87+
pages: hashPages,
8388
tempDir: tempPath,
8489
port: devContext.devProcess.port,
8590
/**

packages/vuepress-plugin-export-pdf-v2/example/vuepress-next/docs/.vuepress/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { head, navbarEn, navbarZh, sidebarEn, sidebarZh, bundler } from "./confi
44

55
export default defineUserConfig({
66
// set site base to default value
7-
base: '/',
7+
base: '/docs/',
88

99
title: 'vuepress-next',
1010
lang: 'en-US',
Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,27 @@
11
import { defineUserConfig } from '@condorhero/vuepress-plugin-export-pdf-v2';
2-
import { defaultTheme, viteBundler } from "vuepress";
2+
3+
const headerTemplate = `<div style="margin-top: -0.4cm; height: 70%; width: 100%; display: flex; justify-content: center; align-items: center; color: lightgray; border-bottom: solid lightgray 1px; font-size: 10px;">
4+
<span class="title"></span>
5+
</div>`;
6+
7+
const footerTemplate = `<div style="margin-bottom: -0.4cm; height: 70%; width: 100%; display: flex; justify-content: flex-start; align-items: center; color: lightgray; border-top: solid lightgray 1px; font-size: 10px;">
8+
<span style="margin-left: 15px;" class="url"></span>
9+
</div>`;
310

411
export default defineUserConfig({
5-
theme: defaultTheme(),
6-
bundler: viteBundler(),
7-
outFile: 'vuepress-v2-example.pdf',
8-
outDir: "pdf-v2",
9-
pdfOptions: {
10-
format: "A4",
11-
}
12+
outFile: 'vuepress-v2-example.pdf',
13+
outDir: "pdf-v2",
14+
pdfOptions: {
15+
format: "A4",
16+
displayHeaderFooter: true,
17+
headerTemplate,
18+
footerTemplate,
19+
margin: {
20+
bottom: 70,
21+
left: 25,
22+
right: 25,
23+
top: 70,
24+
},
25+
},
26+
urlOrigin: "https://v2.vuepress.vuejs.org/xxxxx",
1227
})

packages/vuepress-plugin-export-pdf-v2/src/serverApp.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,14 @@ export const serverApp = async (dir = "docs", commandOptions: CommandOptions = {
9595
process.stdout.write("Start to generate current site to PDF ...");
9696

9797
const { pages, options: { temp: tempPath } } = devApp;
98+
const hashPages = pages.map(page => ({
99+
// join => /docs//zh/
100+
path: join(`${devApp.siteData.base}${page.path}`),
101+
key: page.key,
102+
}));
98103
try {
99104
await generatePdf({
100-
pages,
105+
pages: hashPages,
101106
tempDir: tempPath,
102107
port: devApp.options.port,
103108
host: devApp.options.host,

0 commit comments

Comments
 (0)