diff --git a/package.json b/package.json
index b5f2aa2..4bc88ed 100644
--- a/package.json
+++ b/package.json
@@ -6,6 +6,8 @@
"publish": "lerna publish --conventional-commits",
"build": "yarn build:docs",
"build:docs": "yarn workspace docs build",
+ "start": "yarn workspace docs start",
+ "build-with-prefix": "cross-env base=/antdsite yarn build",
"cl": "conventional-changelog -p angular -i CHANGELOG.md -s"
},
"workspaces": [
@@ -15,6 +17,7 @@
],
"devDependencies": {
"lerna": "^3.11.1",
- "conventional-changelog-cli": "2.0.23"
+ "conventional-changelog-cli": "2.0.23",
+ "cross-env": "5.2.0"
}
}
diff --git a/packages/antdsite/gatsby-config.js b/packages/antdsite/gatsby-config.js
index 33124d8..eeb95b6 100644
--- a/packages/antdsite/gatsby-config.js
+++ b/packages/antdsite/gatsby-config.js
@@ -8,6 +8,7 @@ function getPlugin(pluginName) {
}
module.exports = {
+ pathPrefix: finalConfig.base,
plugins: [
{
resolve: 'gatsby-mdx-fix',
diff --git a/packages/antdsite/lib/gatsby/createPages.js b/packages/antdsite/lib/gatsby/createPages.js
index fd06331..1e72b6e 100644
--- a/packages/antdsite/lib/gatsby/createPages.js
+++ b/packages/antdsite/lib/gatsby/createPages.js
@@ -13,8 +13,7 @@ const path = require('path');
function isHome(frontmatter, slug) {
return (
frontmatter.home === true &&
- ((themeConfig.locales && Object.keys(themeConfig.locales).indexOf(slug) !== -1) ||
- slug === webConfig.base)
+ ((themeConfig.locales && Object.keys(themeConfig.locales).indexOf(slug) !== -1) || slug === '/')
);
}
@@ -34,7 +33,7 @@ module.exports = async ({ graphql, actions }) => {
createRedirect({
fromPath: '/index.html',
redirectInBrowser: true,
- toPath: '/',
+ toPath: webConfig.base
});
const allMdx = await graphql(
@@ -89,8 +88,8 @@ module.exports = async ({ graphql, actions }) => {
isWebsiteHome,
webConfig,
slug,
- maxTocDeep: frontmatter.maxTocDeep || webConfig.themeConfig.maxTocDeep,
- },
+ maxTocDeep: frontmatter.maxTocDeep || webConfig.themeConfig.maxTocDeep
+ }
});
};
@@ -102,7 +101,7 @@ module.exports = async ({ graphql, actions }) => {
return createRedirect({
fromPath: path,
redirectInBrowser: true,
- toPath: redirects[path],
+ toPath: redirects[path]
});
});
};
diff --git a/packages/antdsite/lib/gatsby/onCreateNode.js b/packages/antdsite/lib/gatsby/onCreateNode.js
index a3f1475..23f4c11 100644
--- a/packages/antdsite/lib/gatsby/onCreateNode.js
+++ b/packages/antdsite/lib/gatsby/onCreateNode.js
@@ -6,7 +6,7 @@ const path = require('path');
const fs = require('fs');
const fetch = require('node-fetch');
const himalaya = require('himalaya');
-var { themeConfig, base } = require('../util').getFinalConfig();
+var { themeConfig } = require('../util').getFinalConfig();
// // 获取用户的头像列表
const getAvatarList = async filename => {
@@ -15,7 +15,7 @@ const getAvatarList = async filename => {
}/`;
const url = `${sourcePath}${filename}/list`;
const html = await fetch(url, {
- timeout: 10000,
+ timeout: 10000
}).then(res => res.text(), () => null);
if (!html) return [];
@@ -31,7 +31,7 @@ const getAvatarList = async filename => {
return {
href,
text,
- src,
+ src
};
}
return null;
@@ -40,10 +40,6 @@ const getAvatarList = async filename => {
return data;
};
-function withBase(_path) {
- return (base + _path).replace(/\/\//g, '/');
-}
-
function normalizeSlug(slug) {
if (!slug.startsWith('/')) {
slug = '/' + slug;
@@ -68,7 +64,7 @@ module.exports = exports.onCreateNode = async ({ node, actions, getNode }) => {
createNodeField({
node,
name: `modifiedTime`,
- value: mtime,
+ value: mtime
});
slug = normalizeSlug(`${relativePath.replace(/(readme)?\.mdx?/i, '')}`);
@@ -76,13 +72,13 @@ module.exports = exports.onCreateNode = async ({ node, actions, getNode }) => {
createNodeField({
node,
name: 'slug',
- value: withBase(slug),
+ value: slug
});
createNodeField({
node,
name: 'path',
- value: mdFilePath,
+ value: mdFilePath
});
if (themeConfig.showAvatarList) {
@@ -90,7 +86,7 @@ module.exports = exports.onCreateNode = async ({ node, actions, getNode }) => {
createNodeField({
node,
name: 'avatarList',
- value: html,
+ value: html
});
}
}
diff --git a/packages/antdsite/src/default-theme/components/home/Banner.jsx b/packages/antdsite/src/default-theme/components/home/Banner.jsx
index 96fe63a..8750e5c 100644
--- a/packages/antdsite/src/default-theme/components/home/Banner.jsx
+++ b/packages/antdsite/src/default-theme/components/home/Banner.jsx
@@ -3,6 +3,7 @@ import GitHubButton from 'react-github-button-fix-iebug';
import { Button } from 'antd';
import { Link } from 'gatsby';
import { PageContext } from 'antdsite';
+import * as utils from '../utils';
function Banner(props) {
return (
@@ -19,7 +20,13 @@ function Banner(props) {
{(frontmatter.heroImage || currentLocaleWebConfig.logo) && (
-
+
)}
diff --git a/packages/antdsite/src/default-theme/components/menu/index.tsx b/packages/antdsite/src/default-theme/components/menu/index.tsx
index 00c68a2..b99a53c 100644
--- a/packages/antdsite/src/default-theme/components/menu/index.tsx
+++ b/packages/antdsite/src/default-theme/components/menu/index.tsx
@@ -188,7 +188,7 @@ export default class LeftMenu extends React.PureComponent
{
const menuChild = (
resolveItem(item, edges, resolvePathWithBase(path, base), 1))
- : [];
+function resolvePageSidebar(config: any, path: string, edges: Edges): PageInfo[] {
+ return config ? config.map((item: any) => resolveItem(item, edges, path, 1)) : [];
}
export function resolveSidebarItems(
@@ -196,7 +201,6 @@ export function resolveSidebarItems(
const { currentLocaleWebConfig } = getcurrentLocaleConfigBySlug(webConfig, currentSlug);
const pageSidebarConfig = currentLocaleWebConfig.themeConfig.sidebar;
- const { base } = currentLocaleWebConfig;
let currentPageSidebarItems: PageInfo[] = [];
let allPagesSidebarItems: PageInfo[] = [];
@@ -204,11 +208,11 @@ export function resolveSidebarItems(
if (!pageSidebarConfig) {
return {
currentPageSidebarItems,
- allPagesSidebarItems,
+ allPagesSidebarItems
};
} else {
allPagesSidebarItems = Object.keys(pageSidebarConfig).reduce((pre, cur) => {
- const resolvedConfig = resolvePageSidebar(pageSidebarConfig[cur], cur, base, edges);
+ const resolvedConfig = resolvePageSidebar(pageSidebarConfig[cur], cur, edges);
if (currentSlug.startsWith(cur)) {
currentPageSidebarItems = resolvedConfig;
@@ -219,7 +223,7 @@ export function resolveSidebarItems(
return {
currentPageSidebarItems,
- allPagesSidebarItems,
+ allPagesSidebarItems
};
}
}
@@ -229,7 +233,7 @@ function resolveItem(item: any, pages: Edges, base: string, nestedLevel: number)
return resolvePage(pages, item, base);
} else if (Array.isArray(item)) {
return Object.assign(resolvePage(pages, item[0], base), {
- title: item[1],
+ title: item[1]
});
} else {
if (nestedLevel > 2) {
@@ -242,7 +246,7 @@ function resolveItem(item: any, pages: Edges, base: string, nestedLevel: number)
return {
title: item.title,
children: children.map((child: any) => resolveItem(child, pages, base, nestedLevel + 1)),
- collapsable: item.collapsable !== false,
+ collapsable: item.collapsable !== false
};
}
}
diff --git a/packages/antdsite/src/default-theme/layout/header.tsx b/packages/antdsite/src/default-theme/layout/header.tsx
index 39cf6ab..d7c992a 100644
--- a/packages/antdsite/src/default-theme/layout/header.tsx
+++ b/packages/antdsite/src/default-theme/layout/header.tsx
@@ -21,7 +21,7 @@ class Header extends React.Component {
state: HeaderState = {
inputValue: undefined,
menuVisible: false,
- menuMode: 'horizontal',
+ menuMode: 'horizontal'
};
static contextType = PageContext;
@@ -49,13 +49,13 @@ class Header extends React.Component {
handleShowMenu = () => {
this.setState({
- menuVisible: true,
+ menuVisible: true
});
};
onMenuVisibleChange = (visible: boolean) => {
this.setState({
- menuVisible: visible,
+ menuVisible: visible
});
};
@@ -94,7 +94,7 @@ class Header extends React.Component {
const { webConfig, slug, allPagesSidebarItems } = this.context;
let currentLocate = utils.getCurrentLoacle(webConfig, slug);
let {
- currentLocaleWebConfig: { themeConfig, title, base, logo },
+ currentLocaleWebConfig: { themeConfig, title, base, logo }
} = utils.getcurrentLocaleConfigBySlug(webConfig, slug);
const { locales } = webConfig.themeConfig;
@@ -109,7 +109,7 @@ class Header extends React.Component {
{nav.map((item: any, index: number) => {
return this.renderNav(item, index);
})}
- ,
+
];
const chooseLanguage = currentLocate ? (
@@ -144,8 +144,8 @@ class Header extends React.Component {
) : null}
-
- {logo && }
+
+ {logo && }
{title}
diff --git a/packages/antdsite/src/templates/index.tsx b/packages/antdsite/src/templates/index.tsx
index c29b6c2..cfb4984 100644
--- a/packages/antdsite/src/templates/index.tsx
+++ b/packages/antdsite/src/templates/index.tsx
@@ -94,7 +94,7 @@ export default function Template(props: {
const { body } = props.data.mdx.code;
return (
-
+
(
+
+ {ctx => {
+ return ;
+ }}
+
+);
diff --git a/packages/docs/.antdsite/config.js b/packages/docs/.antdsite/config.js
index 8fc7d8a..68b9a67 100644
--- a/packages/docs/.antdsite/config.js
+++ b/packages/docs/.antdsite/config.js
@@ -1,5 +1,5 @@
module.exports = {
- base: '/',
+ base: process.env.base || '/',
locales: {
'/': {
lang: 'en-US',
@@ -68,11 +68,6 @@ module.exports = {
text: '默认主题配置',
link: '/zh/default-theme-config/'
},
- {
- text: 'Gitee',
- link: 'https://gitee.com/wangyi_7099/AntdSite',
- important: true
- },
{
text: 'GitHub',
link: 'https://github.com/YvesCoding/antdsite',
diff --git a/packages/docs/docs/README.MD b/packages/docs/docs/README.MD
index f8beab9..0bf0bcc 100644
--- a/packages/docs/docs/README.MD
+++ b/packages/docs/docs/README.MD
@@ -26,6 +26,7 @@ yarn global add antdsite-cli
```bash
npm install antdsite-cli -g
+
```
#### Use `cli` to initialize a website
@@ -46,6 +47,8 @@ npm start
#### Visit the default address `localhost:8000` to see the effect page
+import ImgWidthBase from '@components/ImgWidthBase'
+
-
+
diff --git a/packages/docs/docs/guide/getting-started.md b/packages/docs/docs/guide/getting-started.md
index 6c9927c..412d9b7 100644
--- a/packages/docs/docs/guide/getting-started.md
+++ b/packages/docs/docs/guide/getting-started.md
@@ -40,12 +40,14 @@ npm start
Visit the default address `localhost:8000` to see the effect page
-## Effect Page
+## Screenshots
+
+import ImgWidthBase from '@components/ImgWidthBase'
-
+
-
+
diff --git a/packages/docs/docs/guide/introduction.md b/packages/docs/docs/guide/introduction.md
index 182c7cd..63b2478 100644
--- a/packages/docs/docs/guide/introduction.md
+++ b/packages/docs/docs/guide/introduction.md
@@ -8,12 +8,14 @@ import './introduction.less'
AntdSite is a documentation generator based on [Ant Design](https://ant.design), driven by [Gatsby Js](https://www.gatsbyjs.org/)(You can totally ignore these two technologies, just know the basic knowledge of markdown, and then simply configure it to build a website. Of course, it would be better if you could do both). The configuration of documents refers to the vue-based document generator - [vuepress](https://vuepress.vuejs.org/config/).
+import ImgWidthBase from '@components/ImgWidthBase'
+
## Basic features
diff --git a/packages/docs/docs/zh/README.MD b/packages/docs/docs/zh/README.MD
index f37045f..3fb49bd 100644
--- a/packages/docs/docs/zh/README.MD
+++ b/packages/docs/docs/zh/README.MD
@@ -46,6 +46,8 @@ npm start
#### 访问默认的地址 `localhost:8000` 即可看到效果页面
+import ImgWidthBase from '@components/ImgWidthBase'
+
-
+
diff --git a/packages/docs/docs/zh/guide/getting-started.md b/packages/docs/docs/zh/guide/getting-started.md
index 5d042b9..9975890 100644
--- a/packages/docs/docs/zh/guide/getting-started.md
+++ b/packages/docs/docs/zh/guide/getting-started.md
@@ -42,10 +42,12 @@ npm start
## 效果图
+import ImgWidthBase from '@components/ImgWidthBase'
+
-
+
-
+
diff --git a/packages/docs/docs/zh/guide/introduction.md b/packages/docs/docs/zh/guide/introduction.md
index 1d6e14c..50d8b41 100644
--- a/packages/docs/docs/zh/guide/introduction.md
+++ b/packages/docs/docs/zh/guide/introduction.md
@@ -8,12 +8,14 @@ import './introduction.less'
AntdSite 是一个基于[Ant Design](https://ant.design),由[GatsbyJs](https://www.gatsbyjs.org/)驱动的一个文档生成器 (你可以完全不会这两项技术,只需要会 markdown 的基础知识,然后简单配置,就能搭建一个网站。当然,如果你会这两项技术那更好)。文档的配置参考了基于 vue 的文档生成器 - [vuepress](https://vuepress.vuejs.org/config/)。
+import ImgWidthBase from '@components/ImgWidthBase'
+
## 基本特点
diff --git a/packages/docs/package.json b/packages/docs/package.json
index 6b56f7d..1ff9493 100644
--- a/packages/docs/package.json
+++ b/packages/docs/package.json
@@ -3,7 +3,7 @@
"private": true,
"version": "0.0.8",
"scripts": {
- "build": "yarn clean && gatsby build",
+ "build": "yarn clean && gatsby build --prefix-paths",
"start": "yarn clean && gatsby develop",
"clean": "gatsby clean"
},
diff --git a/yarn.lock b/yarn.lock
index f3280d1..0c83176 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4433,6 +4433,14 @@ create-react-context@^0.2.1:
fbjs "^0.8.0"
gud "^1.0.0"
+cross-env@5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2"
+ integrity sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==
+ dependencies:
+ cross-spawn "^6.0.5"
+ is-windows "^1.0.0"
+
cross-fetch@2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.2.tgz#a47ff4f7fc712daba8f6a695a11c948440d45723"