diff --git a/CHANGELOG.md b/CHANGELOG.md index 72f40e7193..70842a5352 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +## [1.8.1](https://github.com/vuejs/vuepress/compare/v1.8.0...v1.8.1) (2021-02-11) + + +### Bug Fixes + +* **$core:** component CodeGroup loads correctly on clientfix [#2711](https://github.com/vuejs/vuepress/issues/2711) ([#2794](https://github.com/vuejs/vuepress/issues/2794)) ([51277f8](https://github.com/vuejs/vuepress/commit/51277f8)) +* **$theme-default:** override algoliaOptions correctly ([ba89f39](https://github.com/vuejs/vuepress/commit/ba89f39)) +* **deps:** [security] bump ini from 1.3.5 to 1.3.8 ([aeb8dce](https://github.com/vuejs/vuepress/commit/aeb8dce)) +* **deps:** bump autoprefixer from 9.6.1 to 9.8.6 ([775b3de](https://github.com/vuejs/vuepress/commit/775b3de)) +* **deps:** bump vue from 2.6.10 to 2.6.12 ([830dd4c](https://github.com/vuejs/vuepress/commit/830dd4c)) + + + # [1.8.0](https://github.com/vuejs/vuepress/compare/v1.7.1...v1.8.0) (2021-01-05) diff --git a/lerna.json b/lerna.json index 02d866a0e9..635c9f4ec8 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,7 @@ { "npmClient": "yarn", "useWorkspaces": true, - "version": "1.8.1", + "version": "1.8.2", "command": { "version": { "allowBranch": "master", diff --git a/packages/@vuepress/core/lib/client/redirect.js b/packages/@vuepress/core/lib/client/redirect.js index 3f59573961..7e10b69a8c 100644 --- a/packages/@vuepress/core/lib/client/redirect.js +++ b/packages/@vuepress/core/lib/client/redirect.js @@ -50,5 +50,6 @@ export function handleRedirectForCleanUrls (router) { } function isRouteExists (router, path) { - return router.options.routes.filter(route => route.path.toLowerCase() === path.toLowerCase()).length > 0 + const pathLower = path.toLowerCase() + return router.options.routes.some(route => route.path.toLowerCase() === pathLower) } diff --git a/packages/@vuepress/core/package.json b/packages/@vuepress/core/package.json index 2c0cbd0d4b..8e971dcba6 100644 --- a/packages/@vuepress/core/package.json +++ b/packages/@vuepress/core/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/core", - "version": "1.8.1", + "version": "1.8.2", "description": "Minimalistic doc generator with Vue component based layout system", "keywords": [ "documentation", @@ -25,11 +25,11 @@ "dependencies": { "@babel/core": "^7.8.4", "@vue/babel-preset-app": "^4.1.2", - "@vuepress/markdown": "1.8.1", - "@vuepress/markdown-loader": "1.8.1", - "@vuepress/plugin-last-updated": "1.8.1", - "@vuepress/plugin-register-components": "1.8.1", - "@vuepress/shared-utils": "1.8.1", + "@vuepress/markdown": "1.8.2", + "@vuepress/markdown-loader": "1.8.2", + "@vuepress/plugin-last-updated": "1.8.2", + "@vuepress/plugin-register-components": "1.8.2", + "@vuepress/shared-utils": "1.8.2", "autoprefixer": "^9.5.1", "babel-loader": "^8.0.4", "cache-loader": "^3.0.0", diff --git a/packages/@vuepress/markdown-loader/package.json b/packages/@vuepress/markdown-loader/package.json index 53dae642b8..c947b7c8a7 100644 --- a/packages/@vuepress/markdown-loader/package.json +++ b/packages/@vuepress/markdown-loader/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/markdown-loader", - "version": "1.8.1", + "version": "1.8.2", "description": "markdown-loader for vuepress", "keywords": [ "documentation", @@ -21,7 +21,7 @@ "author": "Evan You", "main": "index.js", "dependencies": { - "@vuepress/markdown": "1.8.1", + "@vuepress/markdown": "1.8.2", "loader-utils": "^1.1.0", "lru-cache": "^5.1.1" }, diff --git a/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap b/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap index 29aa2ee8cb..19cc4ef9f2 100644 --- a/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap +++ b/packages/@vuepress/markdown/__tests__/__snapshots__/snippet.spec.js.snap @@ -5,6 +5,10 @@ exports[`snippet import snippet 1`] = ` // .. } +
# Sample snippet file with no filename extension.
+FROM ubuntu:latest
+CMD echo hello!
+
`; exports[`snippet import snippet with highlight multiple lines 1`] = ` diff --git a/packages/@vuepress/markdown/__tests__/fragments/Dockerfile b/packages/@vuepress/markdown/__tests__/fragments/Dockerfile new file mode 100644 index 0000000000..6cd64bef1d --- /dev/null +++ b/packages/@vuepress/markdown/__tests__/fragments/Dockerfile @@ -0,0 +1,3 @@ +# Sample snippet file with no filename extension. +FROM ubuntu:latest +CMD echo hello! diff --git a/packages/@vuepress/markdown/__tests__/fragments/code-snippet.md b/packages/@vuepress/markdown/__tests__/fragments/code-snippet.md index f6fbf4048b..a0f536ec06 100644 --- a/packages/@vuepress/markdown/__tests__/fragments/code-snippet.md +++ b/packages/@vuepress/markdown/__tests__/fragments/code-snippet.md @@ -1 +1,3 @@ <<< @/packages/@vuepress/markdown/__tests__/fragments/snippet.js + +<<< @/packages/@vuepress/markdown/__tests__/fragments/Dockerfile diff --git a/packages/@vuepress/markdown/lib/snippet.js b/packages/@vuepress/markdown/lib/snippet.js index cc0366242f..7902bf3e48 100644 --- a/packages/@vuepress/markdown/lib/snippet.js +++ b/packages/@vuepress/markdown/lib/snippet.js @@ -137,7 +137,7 @@ module.exports = function snippet (md, options = {}) { * * captures: ['/path/to/file.extension', 'extension', '#region', '{meta}'] */ - const rawPathRegexp = /^(.+(?:\.([a-z]+)))(?:(#[\w-]+))?(?: ?({\d+(?:[,-]\d+)*}))?$/ + const rawPathRegexp = /^(.+?(?:\.([a-z]+))?)(?:(#[\w-]+))?(?: ?({\d+(?:[,-]\d+)*}))?$/ const rawPath = state.src.slice(start, end).trim().replace(/^@/, root).trim() const [filename = '', extension = '', region = '', meta = ''] = (rawPathRegexp.exec(rawPath) || []).slice(1) diff --git a/packages/@vuepress/markdown/package.json b/packages/@vuepress/markdown/package.json index 8dc1d777d1..7d165c2c89 100644 --- a/packages/@vuepress/markdown/package.json +++ b/packages/@vuepress/markdown/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/markdown", - "version": "1.8.1", + "version": "1.8.2", "description": "markdown for vuepress", "keywords": [ "documentation", @@ -22,7 +22,7 @@ "author": "Evan You", "main": "index.js", "dependencies": { - "@vuepress/shared-utils": "1.8.1", + "@vuepress/shared-utils": "1.8.2", "markdown-it": "^8.4.1", "markdown-it-anchor": "^5.0.2", "markdown-it-chain": "^1.3.0", diff --git a/packages/@vuepress/plugin-active-header-links/package.json b/packages/@vuepress/plugin-active-header-links/package.json index 0f175120a6..178119558f 100644 --- a/packages/@vuepress/plugin-active-header-links/package.json +++ b/packages/@vuepress/plugin-active-header-links/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-active-header-links", - "version": "1.8.1", + "version": "1.8.2", "description": "active-header-links plugin for vuepress", "keywords": [ "documentation", diff --git a/packages/@vuepress/plugin-back-to-top/package.json b/packages/@vuepress/plugin-back-to-top/package.json index 48b0307c36..1f51e0a522 100644 --- a/packages/@vuepress/plugin-back-to-top/package.json +++ b/packages/@vuepress/plugin-back-to-top/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-back-to-top", - "version": "1.8.1", + "version": "1.8.2", "description": "back-to-top plugin for vuepress", "keywords": [ "documentation", diff --git a/packages/@vuepress/plugin-google-analytics/package.json b/packages/@vuepress/plugin-google-analytics/package.json index 34d53f8721..c2041cfdcc 100644 --- a/packages/@vuepress/plugin-google-analytics/package.json +++ b/packages/@vuepress/plugin-google-analytics/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-google-analytics", - "version": "1.8.1", + "version": "1.8.2", "description": "google-analytics plugin for vuepress", "keywords": [ "documentation", diff --git a/packages/@vuepress/plugin-last-updated/package.json b/packages/@vuepress/plugin-last-updated/package.json index b61e622b6e..d8812cdb5a 100644 --- a/packages/@vuepress/plugin-last-updated/package.json +++ b/packages/@vuepress/plugin-last-updated/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-last-updated", - "version": "1.8.1", + "version": "1.8.2", "description": "last-updated plugin for vuepress", "keywords": [ "documentation", diff --git a/packages/@vuepress/plugin-medium-zoom/package.json b/packages/@vuepress/plugin-medium-zoom/package.json index fd0a0c2c1b..a194405268 100644 --- a/packages/@vuepress/plugin-medium-zoom/package.json +++ b/packages/@vuepress/plugin-medium-zoom/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-medium-zoom", - "version": "1.8.1", + "version": "1.8.2", "description": "medium-zoom plugin for vuepress", "keywords": [ "documentation", diff --git a/packages/@vuepress/plugin-nprogress/package.json b/packages/@vuepress/plugin-nprogress/package.json index 31cb7a6c80..a0abe73e14 100644 --- a/packages/@vuepress/plugin-nprogress/package.json +++ b/packages/@vuepress/plugin-nprogress/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-nprogress", - "version": "1.8.1", + "version": "1.8.2", "description": "nprogress plugin for vuepress", "keywords": [ "documentation", diff --git a/packages/@vuepress/plugin-pwa/package.json b/packages/@vuepress/plugin-pwa/package.json index b296dd0227..87a4bcf754 100644 --- a/packages/@vuepress/plugin-pwa/package.json +++ b/packages/@vuepress/plugin-pwa/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-pwa", - "version": "1.8.1", + "version": "1.8.2", "description": "pwa plugin for vuepress", "keywords": [ "documentation", @@ -21,7 +21,7 @@ "author": "ULIVZ ", "main": "index.js", "dependencies": { - "@vuepress/shared-utils": "1.8.1", + "@vuepress/shared-utils": "1.8.2", "register-service-worker": "^1.7.0", "workbox-build": "^4.3.1" }, diff --git a/packages/@vuepress/plugin-register-components/package.json b/packages/@vuepress/plugin-register-components/package.json index b707109ec5..94dc0814ff 100644 --- a/packages/@vuepress/plugin-register-components/package.json +++ b/packages/@vuepress/plugin-register-components/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-register-components", - "version": "1.8.1", + "version": "1.8.2", "description": "register-global-components plugin for vuepress", "keywords": [ "documentation", @@ -21,7 +21,7 @@ "author": "ULIVZ ", "main": "index.js", "dependencies": { - "@vuepress/shared-utils": "1.8.1" + "@vuepress/shared-utils": "1.8.2" }, "publishConfig": { "access": "public" diff --git a/packages/@vuepress/plugin-search/package.json b/packages/@vuepress/plugin-search/package.json index 485fda182d..adf4ce6239 100644 --- a/packages/@vuepress/plugin-search/package.json +++ b/packages/@vuepress/plugin-search/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/plugin-search", - "version": "1.8.1", + "version": "1.8.2", "description": "search plugin for vuepress", "keywords": [ "documentation", diff --git a/packages/@vuepress/shared-utils/package.json b/packages/@vuepress/shared-utils/package.json index fbf427351e..d92543d4d8 100644 --- a/packages/@vuepress/shared-utils/package.json +++ b/packages/@vuepress/shared-utils/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/shared-utils", - "version": "1.8.1", + "version": "1.8.2", "description": "shared-utils for vuepress", "keywords": [ "documentation", diff --git a/packages/@vuepress/test-utils/package.json b/packages/@vuepress/test-utils/package.json index 79f7d897a7..5dd660a5ba 100644 --- a/packages/@vuepress/test-utils/package.json +++ b/packages/@vuepress/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/test-utils", - "version": "1.8.1", + "version": "1.8.2", "description": "test-utils for vuepress", "keywords": [ "documentation", @@ -25,8 +25,8 @@ "@babel/preset-env": "^7.0.0", "@types/jest": "^24.0.9", "@vue/test-utils": "^1.0.0-beta.29", - "@vuepress/core": "1.8.1", - "@vuepress/shared-utils": "1.8.1", + "@vuepress/core": "1.8.2", + "@vuepress/shared-utils": "1.8.2", "babel-jest": "^24.7.1", "execa": "^1.0.0", "jest": "^24.7.1", diff --git a/packages/@vuepress/theme-default/components/SidebarLinks.vue b/packages/@vuepress/theme-default/components/SidebarLinks.vue index ea084e25c4..55e62885eb 100644 --- a/packages/@vuepress/theme-default/components/SidebarLinks.vue +++ b/packages/@vuepress/theme-default/components/SidebarLinks.vue @@ -90,13 +90,16 @@ function resolveOpenGroupIndex (route, items) { function descendantIsActive (route, item) { if (item.type === 'group') { - return item.children.some(child => { + const childIsActive = item.path && isActive(route, item.path) + const grandChildIsActive = item.children.some(child => { if (child.type === 'group') { return descendantIsActive(route, child) } else { return child.type === 'page' && isActive(route, child.path) } }) + + return childIsActive || grandChildIsActive } return false } diff --git a/packages/@vuepress/theme-default/package.json b/packages/@vuepress/theme-default/package.json index 0c1b601bbb..9511293f72 100644 --- a/packages/@vuepress/theme-default/package.json +++ b/packages/@vuepress/theme-default/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/theme-default", - "version": "1.8.1", + "version": "1.8.2", "description": "Default theme for VuePress", "keywords": [ "documentation", @@ -21,9 +21,9 @@ "author": "Evan You", "main": "index.js", "dependencies": { - "@vuepress/plugin-active-header-links": "1.8.1", - "@vuepress/plugin-nprogress": "1.8.1", - "@vuepress/plugin-search": "1.8.1", + "@vuepress/plugin-active-header-links": "1.8.2", + "@vuepress/plugin-nprogress": "1.8.2", + "@vuepress/plugin-search": "1.8.2", "docsearch.js": "^2.5.2", "lodash": "^4.17.15", "stylus": "^0.54.8", diff --git a/packages/@vuepress/theme-vue/package.json b/packages/@vuepress/theme-vue/package.json index dd4fc75175..06d9bb8bc8 100644 --- a/packages/@vuepress/theme-vue/package.json +++ b/packages/@vuepress/theme-vue/package.json @@ -1,6 +1,6 @@ { "name": "@vuepress/theme-vue", - "version": "1.8.1", + "version": "1.8.2", "description": "VuePress theme for official Vue projects", "keywords": [ "documentation", @@ -21,7 +21,7 @@ "author": "Evan You", "main": "index.js", "dependencies": { - "@vuepress/theme-default": "1.8.1" + "@vuepress/theme-default": "1.8.2" }, "publishConfig": { "access": "public" diff --git a/packages/docs/docs/plugin/README.md b/packages/docs/docs/plugin/README.md index 6695160588..e001657054 100644 --- a/packages/docs/docs/plugin/README.md +++ b/packages/docs/docs/plugin/README.md @@ -27,8 +27,8 @@ To keep things at a minimum, not all of the official plugins are shipped with Vu - [@vuepress/plugin-active-header-links](./official/plugin-active-header-links.md) - [@vuepress/plugin-nprogress](./official/plugin-nprogress.md) - [@vuepress/plugin-search](./official/plugin-search.md) -- [vuepress-plugin-container](https://vuepress.github.io/plugins/container/) -- [vuepress-plugin-smooth-scroll](https://vuepress.github.io/plugins/smooth-scroll/) +- [vuepress-plugin-container](https://vuepress-community.netlify.app/en/plugins/container/#vuepress-plugin-container) +- [vuepress-plugin-smooth-scroll](https://vuepress-community.netlify.app/en/plugins/smooth-scroll/#installation) ## Architecture diff --git a/packages/docs/docs/theme/default-theme-config.md b/packages/docs/docs/theme/default-theme-config.md index feef6ee2ae..c23d7f80d1 100644 --- a/packages/docs/docs/theme/default-theme-config.md +++ b/packages/docs/docs/theme/default-theme-config.md @@ -532,7 +532,7 @@ pageClass: custom-page-class --- ``` -Then you can write CSS targeting that page only in `./vuepress/styles/index.styl`. +Then you can write CSS targeting that page only in `.vuepress/styles/index.styl`. ``` css diff --git a/packages/docs/docs/zh/plugin/README.md b/packages/docs/docs/zh/plugin/README.md index 1b5a571df3..fb846fd85e 100644 --- a/packages/docs/docs/zh/plugin/README.md +++ b/packages/docs/docs/zh/plugin/README.md @@ -27,8 +27,8 @@ - [@vuepress/plugin-active-header-links](./official/plugin-active-header-links.md) - [@vuepress/plugin-nprogress](./official/plugin-nprogress.md) - [@vuepress/plugin-search](./official/plugin-search.md) -- [vuepress-plugin-container](https://vuepress.github.io/zh/plugins/container/) -- [vuepress-plugin-smooth-scroll](https://vuepress.github.io/zh/plugins/smooth-scroll/) +- [vuepress-plugin-container](https://vuepress-community.netlify.app/zh/plugins/container/#vuepress-plugin-container) +- [vuepress-plugin-smooth-scroll](https://vuepress-community.netlify.app/zh/plugins/smooth-scroll/#vuepress-plugin-smooth-scroll) ## 架构 diff --git a/packages/docs/docs/zh/plugin/official/plugin-register-components.md b/packages/docs/docs/zh/plugin/official/plugin-register-components.md index bae3c827b4..84f0542bbf 100644 --- a/packages/docs/docs/zh/plugin/official/plugin-register-components.md +++ b/packages/docs/docs/zh/plugin/official/plugin-register-components.md @@ -5,7 +5,7 @@ metaTitle: 注册组件的插件 | VuePress # [@vuepress/plugin-register-components](https://github.com/vuejs/vuepress/tree/master/packages/%40vuepress/plugin-register-components) -> register-components plugin for VuePress +> 注册组件的插件 ## 安装 diff --git a/packages/docs/docs/zh/theme/default-theme-config.md b/packages/docs/docs/zh/theme/default-theme-config.md index 7d3a442b56..b8e167b796 100644 --- a/packages/docs/docs/zh/theme/default-theme-config.md +++ b/packages/docs/docs/zh/theme/default-theme-config.md @@ -508,16 +508,20 @@ pageClass: custom-page-class --- ``` -然后你就可以写专门针对该页面的 CSS 了: +只能在 `.vuepress/styles/index.styl` 中编写针对该页面的 CSS : ``` css -/* .vuepress/override.styl */ +/* .vuepress/styles/index.styl */ .theme-container.custom-page-class { /* 特定页面的 CSS */ } ``` +::: tip 注意 +自定义样式应该写在 [index.styl](/config/#index-styl) 内, 该文件可以让你方便地添加或覆盖样式. +::: + ## 特定页面的自定义布局 默认情况下,每个 `*.md` 文件将会被渲染在一个 `
` 容器中,同时还有侧边栏、自动生成的编辑链接,以及上 / 下一篇文章的链接。如果你想要使用一个完全自定义的组件来代替当前的页面(而只保留导航栏),你可以再次使用 `YAML front matter` 来指定这个组件。 diff --git a/packages/docs/package.json b/packages/docs/package.json index 41d430892a..bbea9e3b89 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,6 +1,6 @@ { "name": "docs", - "version": "1.8.1", + "version": "1.8.2", "private": true, "description": "docs of VuePress", "keywords": [ @@ -29,11 +29,11 @@ }, "devDependencies": { "@textlint-rule/textlint-rule-no-unmatched-pair": "^1.0.7", - "@vuepress/plugin-back-to-top": "1.8.1", - "@vuepress/plugin-google-analytics": "1.8.1", - "@vuepress/plugin-medium-zoom": "1.8.1", - "@vuepress/plugin-pwa": "1.8.1", - "@vuepress/theme-vue": "1.8.1", + "@vuepress/plugin-back-to-top": "1.8.2", + "@vuepress/plugin-google-analytics": "1.8.2", + "@vuepress/plugin-medium-zoom": "1.8.2", + "@vuepress/plugin-pwa": "1.8.2", + "@vuepress/theme-vue": "1.8.2", "remark-cli": "^9.0.0", "remark-lint": "^6.0.5", "remark-preset-lint-consistent": "^2.0.3", @@ -48,7 +48,7 @@ "textlint-rule-terminology": "^2.1.4", "textlint-rule-write-good": "^1.6.2", "vue-toasted": "^1.1.25", - "vuepress": "1.8.1", + "vuepress": "1.8.2", "vuepress-plugin-flowchart": "^1.4.2" } } diff --git a/packages/vuepress/package.json b/packages/vuepress/package.json index 8a7ab1ceb8..d621f9328e 100644 --- a/packages/vuepress/package.json +++ b/packages/vuepress/package.json @@ -1,6 +1,6 @@ { "name": "vuepress", - "version": "1.8.1", + "version": "1.8.2", "description": "Minimalistic doc generator with Vue component based layout system", "keywords": [ "documentation", @@ -29,8 +29,8 @@ ">1%" ], "dependencies": { - "@vuepress/core": "1.8.1", - "@vuepress/theme-default": "1.8.1", + "@vuepress/core": "1.8.2", + "@vuepress/theme-default": "1.8.2", "cac": "^6.5.6", "envinfo": "^7.2.0", "opencollective-postinstall": "^2.0.2",