From d65964242c14bf1412775cb49c3909c72e3eb7a8 Mon Sep 17 00:00:00 2001 From: pengzhanbo Date: Tue, 5 Apr 2022 11:50:15 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=96=B0=E7=89=88=E6=9C=AC=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintignore | 1 - .eslintrc.js | 2 +- .gitignore | 24 +- .npmignore | 8 - .vscode/settings.json | 29 + docs/.vuepress/config.ts | 91 + docs/1.前端/1.基础/BFC 块级格式化上下文.md | 38 + docs/1.前端/1.基础/CSS at-rule.md | 163 + docs/1.前端/1.基础/CSS media媒体查询.md | 192 + docs/1.前端/1.基础/CSS选择器.md | 647 ++ docs/1.前端/1.基础/DOCTYPE 文档类型声明.md | 108 + docs/1.前端/1.基础/HTML5新特性.md | 275 + docs/1.前端/1.基础/WebComponent-template.md | 133 + docs/1.前端/1.基础/WebComponent自定义元素.md | 233 + docs/1.前端/1.基础/meta 标签说明.md | 219 + docs/1.前端/1.基础/原型链与继承.md | 22 + .../1.前端/1.基础/正则表达式使用手册.md | 15 +- docs/1.前端/1.基础/浏览器端的事件循环.md | 8 + docs/1.前端/1.基础/详解Promise.md | 249 + docs/1.前端/10.开发/1px解决方案.md | 249 + docs/1.前端/10.开发/lerna使用.md | 121 + docs/1.前端/10.开发/移动端适配方案.md | 111 + docs/1.前端/2.工具/Jenkinss使用.md | 139 + docs/1.前端/2.工具/caniuse.md | 13 + docs/1.前端/2.工具/vsCode插件推荐.md | 128 + docs/1.前端/3.Vue/Vue组件间通信.md | 202 + docs/10.面试/面试2.md | 6 + docs/10.面试/面试题-JS篇.md | 60 + docs/10.面试/面试题—css篇.md | 152 + docs/README.md | 5 + docs/notes/README.md | 6 + docs/notes/typescript/1.md | 6 + docs/notes/typescript/2.md | 6 + docs/notes/typescript/README.md | 6 + example/1.前端/1.React/组件.md | 14 - example/1.前端/2.Vue/组件.md | 14 - example/2.学习笔记/typescript学习.md | 12 - example/2.学习笔记/呵呵.md | 10 - example/2.学习笔记/哈哈.md | 12 - example/3.杂谈/电影杂谈.md | 17 - example/README.md | 3 - example/public/avatar.gif | Bin 1357 -> 0 bytes example/public/big-banner.jpg | Bin 155918 -> 0 bytes lerna.json | 5 + package.json | 106 +- packages/plugin-caniuse/README.md | 11 + packages/plugin-caniuse/package.json | 28 + packages/plugin-caniuse/src/README.md | 49 + .../src/client/clientAppEnhance.ts | 17 + .../src/client/resolveCanIUse.ts | 31 + packages/plugin-caniuse/src/node/index.ts | 6 + packages/plugin-caniuse/src/node/plugin.ts | 51 + .../plugin-caniuse/src/node/resolveCanIUse.ts | 17 + packages/plugin-caniuse/src/shared/caniuse.ts | 5 + packages/plugin-caniuse/src/shared/index.ts | 1 + packages/plugin-caniuse/tsconfig.build.json | 12 + .../plugin-caniuse/tsconfig.cjs.json | 7 +- packages/plugin-caniuse/tsconfig.esm.json | 15 + packages/theme/README.md | 11 + packages/theme/package.json | 53 + packages/theme/src/client/clientAppEnhance.ts | 22 + .../theme/src}/client/clientAppSetup.ts | 6 +- .../theme/src/client/components/Archive.vue | 3 + .../theme/src/client/components/AutoLink.vue | 105 + .../theme/src/client/components/BlogInfo.vue | 16 + .../src/client/components/BloggerInfo.vue | 135 + .../theme/src/client/components/Category.vue | 43 + .../src/client/components/CategoryGroup.vue | 98 + .../src/client/components/DarkModeButton.vue | 24 +- .../client/components/DropdownTransition.vue | 59 + packages/theme/src/client/components/Home.vue | 28 + .../src/client/components/HomeBigBanner.vue | 56 + .../theme/src/client/components/Navbar.vue | 133 + .../src/client/components/NavbarBrand.vue | 52 + .../src/client/components/NavbarDropdown.vue | 326 + .../src/client/components/NavbarItems.vue | 72 + packages/theme/src/client/components/Page.vue | 68 + .../src/client/components/PageFooter.vue | 71 + .../src/client/components/Pagination.vue | 172 + .../theme/src/client/components/PostItem.vue | 35 + .../theme/src/client/components/PostList.vue | 132 + .../theme/src/client/components/PostMeta.vue | 116 + packages/theme/src/client/components/Tag.vue | 99 + .../src/client/components/icons/IconBase.ts | 39 + .../theme/src/client/components/icons/icon.ts | 58 + .../src/client/components/icons/index.ts | 3 + .../src/client/components/icons/socialIcon.ts | 126 + .../theme/src/client/composables/blogger.ts | 0 .../theme/src/client/composables/category.ts | 89 + .../theme/src/client/composables/darkMode.ts | 22 +- .../theme/src/client/composables/index.ts | 12 + .../theme/src/client/composables/navLink.ts | 9 +- .../theme/src/client/composables/navbar.ts | 115 + .../theme/src/client/composables/postIndex.ts | 24 + .../theme/src/client/composables/postList.ts | 45 + .../composables/resolveRouteWithRedirect.ts | 16 +- .../src/client/composables/scrollPromise.ts | 1 - packages/theme/src/client/composables/tag.ts | 25 + .../theme/src/client/composables/themeData.ts | 1 + packages/theme/src/client/layouts/404.vue | 31 + packages/theme/src/client/layouts/Layout.vue | 57 + packages/theme/src/client/shim.d.ts | 13 + packages/theme/src/client/styles/_mixins.scss | 38 + .../theme/src/client/styles/_variables.scss | 9 + packages/theme/src/client/styles/arrow.scss | 37 + .../theme/src/client/styles/code.scss | 25 +- packages/theme/src/client/styles/icons.scss | 4 + packages/theme/src/client/styles/index.scss | 10 + .../theme/src/client/styles/normalize.scss | 47 +- packages/theme/src/client/styles/toc.scss | 54 + .../theme/src/client/styles/transition.scss | 15 + .../theme/src/client/styles/vars-dark.scss | 30 + packages/theme/src/client/styles/vars.scss | 96 + packages/theme/src/client/utils/color.ts | 24 + packages/theme/src/client/utils/dom.ts | 7 + packages/theme/src/client/utils/index.ts | 4 + packages/theme/src/client/utils/path.ts | 3 + .../src}/client/utils/resolveRepoType.ts | 4 +- packages/theme/src/node/alias.ts | 14 + packages/theme/src/node/createPage/archive.ts | 18 + .../theme/src/node/createPage/category.ts | 18 + packages/theme/src/node/createPage/index.ts | 14 + packages/theme/src/node/createPage/note.ts | 0 packages/theme/src/node/createPage/tag.ts | 18 + .../theme/src/node/defaultLocaleOption.ts | 8 + packages/theme/src/node/extendsPage.ts | 60 + .../theme/src/node/generateFrontmatter.ts | 142 + packages/theme/src/node/index.ts | 5 + packages/theme/src/node/plugins/caniuse.ts | 9 + packages/theme/src/node/plugins/container.ts | 0 .../src/node/plugins/externalLinkIcon.ts | 25 + packages/theme/src/node/plugins/index.ts | 30 + packages/theme/src/node/plugins/mediumZoom.ts | 16 + packages/theme/src/node/plugins/nprogress.ts | 9 + packages/theme/src/node/plugins/prismjs.ts | 9 + packages/theme/src/node/plugins/search.ts | 41 + packages/theme/src/node/plugins/themeData.ts | 8 + packages/theme/src/node/plugins/toc.ts | 14 + packages/theme/src/node/prepared/index.ts | 18 + packages/theme/src/node/prepared/postIndex.ts | 100 + packages/theme/src/node/theme.ts | 55 + packages/theme/src/node/utils/date.ts | 12 + packages/theme/src/node/utils/index.ts | 3 + packages/theme/src/node/utils/path.ts | 13 + packages/theme/src/node/utils/readFileList.ts | 36 + packages/theme/src/shared/frontmatter/home.ts | 17 + .../theme/src/shared/frontmatter/index.ts | 3 + .../theme/src/shared/frontmatter/normal.ts | 3 + packages/theme/src/shared/frontmatter/post.ts | 8 + {src => packages/theme/src}/shared/index.ts | 6 +- packages/theme/src/shared/layout/index.ts | 1 + packages/theme/src/shared/layout/navbar.ts | 22 + packages/theme/src/shared/options/index.ts | 4 + packages/theme/src/shared/options/locale.ts | 155 + packages/theme/src/shared/options/notes.ts | 33 + packages/theme/src/shared/options/options.ts | 17 + packages/theme/src/shared/options/plugin.ts | 32 + packages/theme/src/shared/page.ts | 3 + packages/theme/src/shared/post.ts | 21 + packages/theme/template/index.build.html | 27 + packages/theme/tsconfig.build.json | 9 + packages/theme/tsconfig.cjs.json | 12 + packages/theme/tsconfig.esm.json | 17 + readme.md | 82 +- src/client/clientAppEnhanceFiles.ts | 7 - src/client/component/Archives.vue | 32 - src/client/component/Category.vue | 18 - src/client/component/CategoryGroup.vue | 57 - src/client/component/Home.vue | 21 - src/client/component/Icon.vue | 57 - src/client/component/NavBar.vue | 41 - src/client/component/Post.vue | 16 - src/client/component/PostList.vue | 41 - src/client/component/PostMeta.vue | 64 - src/client/component/RightSideBar.vue | 35 - src/client/component/TageSidebar.vue | 40 - src/client/component/Tags.vue | 14 - src/client/component/ToggleSidebarButton.vue | 24 - src/client/composables/index.ts | 7 - src/client/composables/useArchives.ts | 34 - src/client/composables/useCategoryList.ts | 61 - src/client/composables/usePostIndex.ts | 16 - src/client/composables/useSidebarItems.ts | 179 - src/client/composables/useTages.ts | 34 - src/client/layouts/404.vue | 8 - src/client/layouts/Layout.vue | 31 - src/client/shim.d.ts | 5 - src/client/styles/archives.css | 34 - src/client/styles/arrow.css | 24 - src/client/styles/category.css | 52 - src/client/styles/code-group.css | 69 - src/client/styles/home.css | 40 - src/client/styles/index.css | 14 - src/client/styles/navBar.css | 7 - src/client/styles/post.css | 57 - src/client/styles/tags.css | 35 - src/client/styles/tailwind.css | 3 - src/client/styles/vars-dark.css | 46 - src/client/styles/vars.css | 134 - src/client/utils/dayjs.ts | 3 - src/client/utils/index.ts | 3 - src/client/utils/isActiveSidebarItem.ts | 34 - src/client/utils/resolveEditLink.ts | 64 - src/node/createBlogPage.ts | 18 - src/node/extendsPage.ts | 23 - src/node/formatFrontmatter.ts | 99 - src/node/index.ts | 5 - src/node/preparedPostIndex.ts | 78 - src/node/theme.ts | 101 - src/node/utils/index.d.ts | 1 - src/node/utils/index.js | 1 - src/node/utils/index.ts | 1 - src/node/utils/pageFilter.ts | 5 - src/node/utils/readFileList.ts | 37 - .../resolveActiveHeaderLinksPluginOptions.ts | 20 - src/shared/nav.ts | 57 - src/shared/navbar.ts | 11 - src/shared/options.ts | 283 - src/shared/page.ts | 41 - src/shared/post.ts | 17 - src/template/index.build.html | 33 - tailwind.config.js | 10 - tsconfig.base.json | 8 +- tsconfig.build.json | 8 +- tsconfig.dev.json | 15 - tsconfig.esm.json | 14 - tsconfig.json | 22 +- vuepress.config.ts | 22 - yarn.lock | 8155 ++++++++++++++--- 229 files changed, 15046 insertions(+), 3805 deletions(-) delete mode 100644 .npmignore create mode 100644 .vscode/settings.json create mode 100644 docs/.vuepress/config.ts create mode 100644 docs/1.前端/1.基础/BFC 块级格式化上下文.md create mode 100644 docs/1.前端/1.基础/CSS at-rule.md create mode 100644 docs/1.前端/1.基础/CSS media媒体查询.md create mode 100644 docs/1.前端/1.基础/CSS选择器.md create mode 100644 docs/1.前端/1.基础/DOCTYPE 文档类型声明.md create mode 100644 docs/1.前端/1.基础/HTML5新特性.md create mode 100644 docs/1.前端/1.基础/WebComponent-template.md create mode 100644 docs/1.前端/1.基础/WebComponent自定义元素.md create mode 100644 docs/1.前端/1.基础/meta 标签说明.md create mode 100644 docs/1.前端/1.基础/原型链与继承.md rename example/1.前端/正则表达式.md => docs/1.前端/1.基础/正则表达式使用手册.md (94%) create mode 100644 docs/1.前端/1.基础/浏览器端的事件循环.md create mode 100644 docs/1.前端/1.基础/详解Promise.md create mode 100644 docs/1.前端/10.开发/1px解决方案.md create mode 100644 docs/1.前端/10.开发/lerna使用.md create mode 100644 docs/1.前端/10.开发/移动端适配方案.md create mode 100644 docs/1.前端/2.工具/Jenkinss使用.md create mode 100644 docs/1.前端/2.工具/caniuse.md create mode 100644 docs/1.前端/2.工具/vsCode插件推荐.md create mode 100644 docs/1.前端/3.Vue/Vue组件间通信.md create mode 100644 docs/10.面试/面试2.md create mode 100644 docs/10.面试/面试题-JS篇.md create mode 100644 docs/10.面试/面试题—css篇.md create mode 100644 docs/README.md create mode 100644 docs/notes/README.md create mode 100644 docs/notes/typescript/1.md create mode 100644 docs/notes/typescript/2.md create mode 100644 docs/notes/typescript/README.md delete mode 100644 example/1.前端/1.React/组件.md delete mode 100644 example/1.前端/2.Vue/组件.md delete mode 100644 example/2.学习笔记/typescript学习.md delete mode 100644 example/2.学习笔记/呵呵.md delete mode 100644 example/2.学习笔记/哈哈.md delete mode 100644 example/3.杂谈/电影杂谈.md delete mode 100644 example/README.md delete mode 100644 example/public/avatar.gif delete mode 100644 example/public/big-banner.jpg create mode 100644 lerna.json create mode 100644 packages/plugin-caniuse/README.md create mode 100644 packages/plugin-caniuse/package.json create mode 100644 packages/plugin-caniuse/src/README.md create mode 100644 packages/plugin-caniuse/src/client/clientAppEnhance.ts create mode 100644 packages/plugin-caniuse/src/client/resolveCanIUse.ts create mode 100644 packages/plugin-caniuse/src/node/index.ts create mode 100644 packages/plugin-caniuse/src/node/plugin.ts create mode 100644 packages/plugin-caniuse/src/node/resolveCanIUse.ts create mode 100644 packages/plugin-caniuse/src/shared/caniuse.ts create mode 100644 packages/plugin-caniuse/src/shared/index.ts create mode 100644 packages/plugin-caniuse/tsconfig.build.json rename tsconfig.cjs.json => packages/plugin-caniuse/tsconfig.cjs.json (51%) create mode 100644 packages/plugin-caniuse/tsconfig.esm.json create mode 100644 packages/theme/README.md create mode 100644 packages/theme/package.json create mode 100644 packages/theme/src/client/clientAppEnhance.ts rename {src => packages/theme/src}/client/clientAppSetup.ts (51%) create mode 100644 packages/theme/src/client/components/Archive.vue create mode 100644 packages/theme/src/client/components/AutoLink.vue create mode 100644 packages/theme/src/client/components/BlogInfo.vue create mode 100644 packages/theme/src/client/components/BloggerInfo.vue create mode 100644 packages/theme/src/client/components/Category.vue create mode 100644 packages/theme/src/client/components/CategoryGroup.vue rename src/client/component/ToggleDarkModeButton.vue => packages/theme/src/client/components/DarkModeButton.vue (86%) create mode 100644 packages/theme/src/client/components/DropdownTransition.vue create mode 100644 packages/theme/src/client/components/Home.vue create mode 100644 packages/theme/src/client/components/HomeBigBanner.vue create mode 100644 packages/theme/src/client/components/Navbar.vue create mode 100644 packages/theme/src/client/components/NavbarBrand.vue create mode 100644 packages/theme/src/client/components/NavbarDropdown.vue create mode 100644 packages/theme/src/client/components/NavbarItems.vue create mode 100644 packages/theme/src/client/components/Page.vue create mode 100644 packages/theme/src/client/components/PageFooter.vue create mode 100644 packages/theme/src/client/components/Pagination.vue create mode 100644 packages/theme/src/client/components/PostItem.vue create mode 100644 packages/theme/src/client/components/PostList.vue create mode 100644 packages/theme/src/client/components/PostMeta.vue create mode 100644 packages/theme/src/client/components/Tag.vue create mode 100644 packages/theme/src/client/components/icons/IconBase.ts create mode 100644 packages/theme/src/client/components/icons/icon.ts create mode 100644 packages/theme/src/client/components/icons/index.ts create mode 100644 packages/theme/src/client/components/icons/socialIcon.ts create mode 100644 packages/theme/src/client/composables/blogger.ts create mode 100644 packages/theme/src/client/composables/category.ts rename src/client/composables/useDarkMode.ts => packages/theme/src/client/composables/darkMode.ts (80%) create mode 100644 packages/theme/src/client/composables/index.ts rename src/client/composables/useNavLink.ts => packages/theme/src/client/composables/navLink.ts (63%) create mode 100644 packages/theme/src/client/composables/navbar.ts create mode 100644 packages/theme/src/client/composables/postIndex.ts create mode 100644 packages/theme/src/client/composables/postList.ts rename src/client/composables/useResolveRouteWithRedirect.ts => packages/theme/src/client/composables/resolveRouteWithRedirect.ts (69%) rename src/client/composables/useScrollPromise.ts => packages/theme/src/client/composables/scrollPromise.ts (99%) create mode 100644 packages/theme/src/client/composables/tag.ts rename src/client/composables/useThemeData.ts => packages/theme/src/client/composables/themeData.ts (99%) create mode 100644 packages/theme/src/client/layouts/404.vue create mode 100644 packages/theme/src/client/layouts/Layout.vue create mode 100644 packages/theme/src/client/shim.d.ts create mode 100644 packages/theme/src/client/styles/_mixins.scss create mode 100644 packages/theme/src/client/styles/_variables.scss create mode 100644 packages/theme/src/client/styles/arrow.scss rename src/client/styles/code.css => packages/theme/src/client/styles/code.scss (88%) create mode 100644 packages/theme/src/client/styles/icons.scss create mode 100644 packages/theme/src/client/styles/index.scss rename src/client/styles/normalize.css => packages/theme/src/client/styles/normalize.scss (79%) create mode 100644 packages/theme/src/client/styles/toc.scss create mode 100644 packages/theme/src/client/styles/transition.scss create mode 100644 packages/theme/src/client/styles/vars-dark.scss create mode 100644 packages/theme/src/client/styles/vars.scss create mode 100644 packages/theme/src/client/utils/color.ts create mode 100644 packages/theme/src/client/utils/dom.ts create mode 100644 packages/theme/src/client/utils/index.ts create mode 100644 packages/theme/src/client/utils/path.ts rename {src => packages/theme/src}/client/utils/resolveRepoType.ts (68%) create mode 100644 packages/theme/src/node/alias.ts create mode 100644 packages/theme/src/node/createPage/archive.ts create mode 100644 packages/theme/src/node/createPage/category.ts create mode 100644 packages/theme/src/node/createPage/index.ts create mode 100644 packages/theme/src/node/createPage/note.ts create mode 100644 packages/theme/src/node/createPage/tag.ts create mode 100644 packages/theme/src/node/defaultLocaleOption.ts create mode 100644 packages/theme/src/node/extendsPage.ts create mode 100644 packages/theme/src/node/generateFrontmatter.ts create mode 100644 packages/theme/src/node/index.ts create mode 100644 packages/theme/src/node/plugins/caniuse.ts create mode 100644 packages/theme/src/node/plugins/container.ts create mode 100644 packages/theme/src/node/plugins/externalLinkIcon.ts create mode 100644 packages/theme/src/node/plugins/index.ts create mode 100644 packages/theme/src/node/plugins/mediumZoom.ts create mode 100644 packages/theme/src/node/plugins/nprogress.ts create mode 100644 packages/theme/src/node/plugins/prismjs.ts create mode 100644 packages/theme/src/node/plugins/search.ts create mode 100644 packages/theme/src/node/plugins/themeData.ts create mode 100644 packages/theme/src/node/plugins/toc.ts create mode 100644 packages/theme/src/node/prepared/index.ts create mode 100644 packages/theme/src/node/prepared/postIndex.ts create mode 100644 packages/theme/src/node/theme.ts create mode 100644 packages/theme/src/node/utils/date.ts create mode 100644 packages/theme/src/node/utils/index.ts create mode 100644 packages/theme/src/node/utils/path.ts create mode 100644 packages/theme/src/node/utils/readFileList.ts create mode 100644 packages/theme/src/shared/frontmatter/home.ts create mode 100644 packages/theme/src/shared/frontmatter/index.ts create mode 100644 packages/theme/src/shared/frontmatter/normal.ts create mode 100644 packages/theme/src/shared/frontmatter/post.ts rename {src => packages/theme/src}/shared/index.ts (56%) create mode 100644 packages/theme/src/shared/layout/index.ts create mode 100644 packages/theme/src/shared/layout/navbar.ts create mode 100644 packages/theme/src/shared/options/index.ts create mode 100644 packages/theme/src/shared/options/locale.ts create mode 100644 packages/theme/src/shared/options/notes.ts create mode 100644 packages/theme/src/shared/options/options.ts create mode 100644 packages/theme/src/shared/options/plugin.ts create mode 100644 packages/theme/src/shared/page.ts create mode 100644 packages/theme/src/shared/post.ts create mode 100644 packages/theme/template/index.build.html create mode 100644 packages/theme/tsconfig.build.json create mode 100644 packages/theme/tsconfig.cjs.json create mode 100644 packages/theme/tsconfig.esm.json delete mode 100644 src/client/clientAppEnhanceFiles.ts delete mode 100644 src/client/component/Archives.vue delete mode 100644 src/client/component/Category.vue delete mode 100644 src/client/component/CategoryGroup.vue delete mode 100644 src/client/component/Home.vue delete mode 100644 src/client/component/Icon.vue delete mode 100644 src/client/component/NavBar.vue delete mode 100644 src/client/component/Post.vue delete mode 100644 src/client/component/PostList.vue delete mode 100644 src/client/component/PostMeta.vue delete mode 100644 src/client/component/RightSideBar.vue delete mode 100644 src/client/component/TageSidebar.vue delete mode 100644 src/client/component/Tags.vue delete mode 100644 src/client/component/ToggleSidebarButton.vue delete mode 100644 src/client/composables/index.ts delete mode 100644 src/client/composables/useArchives.ts delete mode 100644 src/client/composables/useCategoryList.ts delete mode 100644 src/client/composables/usePostIndex.ts delete mode 100644 src/client/composables/useSidebarItems.ts delete mode 100644 src/client/composables/useTages.ts delete mode 100644 src/client/layouts/404.vue delete mode 100644 src/client/layouts/Layout.vue delete mode 100644 src/client/shim.d.ts delete mode 100644 src/client/styles/archives.css delete mode 100644 src/client/styles/arrow.css delete mode 100644 src/client/styles/category.css delete mode 100644 src/client/styles/code-group.css delete mode 100644 src/client/styles/home.css delete mode 100644 src/client/styles/index.css delete mode 100644 src/client/styles/navBar.css delete mode 100644 src/client/styles/post.css delete mode 100644 src/client/styles/tags.css delete mode 100644 src/client/styles/tailwind.css delete mode 100644 src/client/styles/vars-dark.css delete mode 100644 src/client/styles/vars.css delete mode 100644 src/client/utils/dayjs.ts delete mode 100644 src/client/utils/index.ts delete mode 100644 src/client/utils/isActiveSidebarItem.ts delete mode 100644 src/client/utils/resolveEditLink.ts delete mode 100644 src/node/createBlogPage.ts delete mode 100644 src/node/extendsPage.ts delete mode 100644 src/node/formatFrontmatter.ts delete mode 100644 src/node/index.ts delete mode 100644 src/node/preparedPostIndex.ts delete mode 100644 src/node/theme.ts delete mode 100644 src/node/utils/index.d.ts delete mode 100644 src/node/utils/index.js delete mode 100644 src/node/utils/index.ts delete mode 100644 src/node/utils/pageFilter.ts delete mode 100644 src/node/utils/readFileList.ts delete mode 100644 src/node/utils/resolveActiveHeaderLinksPluginOptions.ts delete mode 100644 src/shared/nav.ts delete mode 100644 src/shared/navbar.ts delete mode 100644 src/shared/options.ts delete mode 100644 src/shared/page.ts delete mode 100644 src/shared/post.ts delete mode 100644 src/template/index.build.html delete mode 100644 tailwind.config.js delete mode 100644 tsconfig.dev.json delete mode 100644 tsconfig.esm.json delete mode 100644 vuepress.config.ts diff --git a/.eslintignore b/.eslintignore index 86d1ebc5..04a8b3d2 100644 --- a/.eslintignore +++ b/.eslintignore @@ -4,4 +4,3 @@ lib/ dist/ !.vuepress/ !.*.js -example/ diff --git a/.eslintrc.js b/.eslintrc.js index 699c6246..537505c7 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -14,7 +14,7 @@ module.exports = { files: ['*.ts', '*.vue'], extends: 'vuepress-typescript', parserOptions: { - project: ['tsconfig.json'], + project: ['./tsconfig.json'], }, rules: { '@typescript-eslint/ban-ts-comment': 'off', diff --git a/.gitignore b/.gitignore index efbbd880..b253e7c0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,25 +1,13 @@ -# VuePress files -example/.vuepress/.temp/ -example/.vuepress/.cache/ -example/.vuepress/dist/ +node_modules -# Dist files -lib/ +docs/.vuepress/.cache +docs/.vuepress/.temp +docs/.vuepress/dist -# Test temp files -**/__fixtures__/.temp/ +lib -# Test coverage files -coverage/ - -# Node modules -node_modules/ - -# MacOS Desktop Services Store .DS_Store -# Log files *.log - -# Typescript build info *.tsbuildinfo +.mind diff --git a/.npmignore b/.npmignore deleted file mode 100644 index 7811fb19..00000000 --- a/.npmignore +++ /dev/null @@ -1,8 +0,0 @@ -/example -/node_modules -/src -.editorconfig -.eslint* -.git* -**/*.tsbuildinfo -vuepress.config.js diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..814b0a44 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,29 @@ +{ + "editor.insertSpaces": true, + "editor.tabSize": 2, + "files.encoding": "utf8", + "files.eol": "\n", + "files.trimFinalNewlines": true, + "files.trimTrailingWhitespace": true, + "[markdown]": { + "files.trimTrailingWhitespace": false + }, + "typescript.tsdk": "node_modules/typescript/lib", + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue" + ], + "cSpell.words": [ + "caniuse", + "composables", + "Docsearch", + "nprogress", + "tsbuildinfo", + "vite", + "vuepress", + "vueuse" + ] +} diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts new file mode 100644 index 00000000..7be9ca1e --- /dev/null +++ b/docs/.vuepress/config.ts @@ -0,0 +1,91 @@ +import * as path from 'path' +import type { PlumeThemeOptions } from '@vuepress-plume/vuepress-theme-plume' +import { defineUserConfig } from '@vuepress/cli' + +export default defineUserConfig({ + lang: 'zh', + title: 'Plume Theme', + description: '', + public: path.resolve(__dirname, '../public'), + theme: '@vuepress-plume/vuepress-theme-plume', + themeConfig: { + logo: 'https://pengzhanbo.cn/g.gif', + avatar: { + url: 'https://via.placeholder.com/300?text=Profile+Photo', + name: 'Plume Theme', + description: 'The Theme for Vuepress 2.0', + }, + social: { + email: 'volodymyr@foxmail.com', + github: 'pengzhanbo', + QQ: '942450674', + weiBo: 'https://weibo.com', + zhiHu: 'https://zhihu.com', + facebook: 'https://baidu.com', + twitter: 'https://baidu.com', + linkedin: 'https://baidu.com', + }, + notes: { + notes: [ + { + link: 'typescript', + dir: 'typescript', + text: 'Typescript', + sidebar: [], + }, + ], + }, + darkMode: true, + navbar: [ + { text: '首页', link: '/' }, + { + text: '分类', + link: '/category/', + }, + { + text: '标签', + link: '/tag/', + }, + { + text: '笔记', + children: [ + // { + // text: '技术', + // children: [{ text: '《typescript学习笔记》', link: '/' }], + // }, + // { + // text: '技术', + // children: [{ text: '《typescript学习笔记》', link: '/' }], + // }, + { + text: 'typescript', + link: '/note/typescript/', + }, + { + text: '标签', + link: '/tag/', + }, + ], + }, + ], + footer: { + copyright: 'Copyright © 2022-present pengzhanbo', + }, + themePlugins: { + caniuse: { + mode: 'embed', + }, + search: { + // hotKeys: ['s', '/'], + // maxSuggestions: 5, + // isSearchable: (page) => page.path !== '/', + // getExtraFields: () => [], + locales: { + '/': { + placeholder: '搜索', + }, + }, + }, + }, + }, +}) diff --git a/docs/1.前端/1.基础/BFC 块级格式化上下文.md b/docs/1.前端/1.基础/BFC 块级格式化上下文.md new file mode 100644 index 00000000..e30eb547 --- /dev/null +++ b/docs/1.前端/1.基础/BFC 块级格式化上下文.md @@ -0,0 +1,38 @@ +--- +title: BFC 块级格式化上下文 +createTime: 2018/05/17 12:28:33 +permalink: /article/o5g7ggvf +author: pengzhanbo +top: false +tags: + - html +type: null +--- +## 概念 + +BFC, Block Formating Context。是 W3C CSS2.1规范中的一个概念。 是页面中的一块块级渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和作用。 + +具有BFC特性的元素,可以看做是一个被隔离了的独立容器,容器内的元素不会在布局上影响到外面的元素,并且BFC具有普通容器所没有的一些特性。 + +## 创建BFC的方式 + +1. 根元素(html) +2. 浮动元素,即 float值不为 none。 +3. 绝对定位元素, 元素的 position 为 absolute 或者 fixed +4. 行内块元素, 元素的 display 为 inline-block +5. 表格单元格, 元素的 display 为 table-cell。 (HTML表格单元格默认为该值) +6. 表格标题, 元素的display为table-caption。 (HTML表格标题默认为该值) +7. 匿名表格单元格元素, 元素的display为 table、table-row、table-row-group、table-header-group、table-footer-group 。 (分别是 HTML table、row、tbody、thead、tfoot的默认属性)或 inline-table。 +8. overflow计算值不为visible的块元素 +9. display值为 flow-root的元素 +10. contain值为 layout、content、paint的元素 +11. 弹性元素,display为 flex、inline-flex元素的直接子元素 +12. 网格元素, display为gird、inline-gird元素的直接子元素 +13. 多列容器,元素的column-count或column-width不为 auto, 包括column-count不为1 +14. colum-span为all的元素始终会创建一个新的BFC,即使该元素没有包裹在一个多列容器中。 + +## 作用 + +1. 同一个BFC的外边距会发生折叠(合并), 通过将其放在不同的BFC中规避折叠。 +2. BFC可以包含浮动元素,即清除浮动。 +3. BFC可以阻止元素被浮动元素覆盖。 \ No newline at end of file diff --git a/docs/1.前端/1.基础/CSS at-rule.md b/docs/1.前端/1.基础/CSS at-rule.md new file mode 100644 index 00000000..6d7bbbc0 --- /dev/null +++ b/docs/1.前端/1.基础/CSS at-rule.md @@ -0,0 +1,163 @@ +--- +title: CSS At-Rules +createTime: 2018/10/06 08:16:38 +permalink: /article/btkqop1a +author: pengzhanbo +tags: + - css +top: false +type: null +--- + +## @charset + +#### 概述 +指定样式表中使用的字符编码。 它必须位于样式表中的第一个元素,且前面不得有任何字符。 + +不能在 ` +... +``` +加载字体文件,先尝试从用户本地加载,如果加载失败则从远程服务器下载: + +``` html +... + +... +``` +加载不同文件格式的字体,根据用户环境判断使用兼容的字体文件格式: +``` html +... + +... +``` + +## @import + +#### 概述 +从其他样式表导入样式规则。 + +`@import` 必须优先于其他类型的规则,即需要在文件顶部声明。`@charset` 除外。 + +#### 语法 +``` css +@import url; +@import url list-of-media-queries; +``` +- `url` 样式规则文件资源位置 +- `list-of-media-queries` [媒体查询](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries),支持用逗号分隔多个查询条件。资源仅在满足媒体查询条件时才会被加载。 + + +## @keyframes + +#### 概述 +通过在动画序列中定义关键帧的样式来控制CSS动画序列中的中间步骤。 + +#### 示例 +使用 `from`,`to` 定义起始和结束关键帧的样式 实现动画 +``` css +@keyframes slidein { + from { + transform: translateX(0%); + } + + to { + transform: translateX(100%); + } +} +``` +使用 百分比 定义触发关键帧的时间点 +``` css +@keyframes slidein { + 0% { + transform: translateX(0%); + } + + 50% { + transform: translateX(50%); + } + + 100% { + transform: translateX(100%); + } +} +``` + +## @media + +媒体查询,详见 [CSS @media 媒体查询](/post/fe5ruia1/) \ No newline at end of file diff --git a/docs/1.前端/1.基础/CSS media媒体查询.md b/docs/1.前端/1.基础/CSS media媒体查询.md new file mode 100644 index 00000000..eb4c18fd --- /dev/null +++ b/docs/1.前端/1.基础/CSS media媒体查询.md @@ -0,0 +1,192 @@ +--- +title: CSS 媒体查询 +createTime: 2018/08/18 08:43:02 +permalink: /article/fe5ruia1 +author: pengzhanbo +tags: + - css +top: false +type: null +--- + +开发响应式网站时,常常需要使用到 media 媒体查询。这里总结下媒体查询的使用方法。 + +## 概述 +媒体查询是通过判断当前媒体是否满足 媒体查询规则,从而使其包含的 CSS规则生效。 + +从 CSS level 2 开始,就已经支持 `media-queries`,到 CSS level 3 以及之后的版本,媒体查询变得更加的丰富和能够适应更多的场景。 + +## 使用 + +媒体查询可以通过以下三种方式进行使用: + +#### 在 `` 元素引入CSS资源时,声明 `media` 属性 + +``` html + +``` + +#### 在` +``` + +#### 在`@import` 后 声明 媒体查询条件 +``` css +@import url('custom.css') screen and (min-width: 400px); +``` + +#### 在样式表中使用 At-Rule `@media` 使用媒体查询规则 +``` css +@media screen and (min-width: 400px) { + .example { + color: red; + } +} +``` + +### 语法 + +``` html + + + + + +``` + +## 媒体查询 [media-queries-list] + +`media-queries-list` 可以由以下三种内容组成: + +- `Media types` :媒体类型, 表示设备 +- `Media features` :媒体特性, 表示设备的状态 +- `Logical operators` : 逻辑操作符, 连接多个 `media-query` + +### Media types + +`Media types` 描述设备的一般类型。可以使用以下值: + +- `all`: 表示适用于所有设备。 默认值。 +- `print`: 表示 适用于在屏幕上以打印预览的模式查看页面和文档。 +- `screen`: 表示 适用于屏幕 。 + +> 在 *css2.1* 和 *Media Queries 3* 中还支持 `tty`,`tv`,`projection`,`handheld`,`braille`,`embossed`,`aural`,但这些值都已经在*Media Queries 4* 中被弃用。 + +### Media features + +媒体特性,描述 用户代理、输出设备以及环境的特定特征。 + +媒体特性表达式是完全是可选的,并且负责测试这些特性是否存在,值为多少。 且每个媒体特性表达式都必须使用括号括起来。 + +*以下仅列出比较常用到的媒体特性* + +- `width`: 视窗(viewport)的宽度,包括纵向滚动条的宽度。 + + 值的类型为 number,单位可以是 `px`、`em` 等。 + ``` css + with: 400px + ``` + +- `height`: 视窗(viewport)的高度。 + + 值的类型为 number,单位可以是 `px`、`em` 等。 + ``` css + height: 600px + ``` + +- `aspect-ratio`: 视窗(viewport)的宽高比。 + + 值的类型为 number/number。 + ``` css + aspect-ratio: 3/2 + ``` + +- `orientation`: 视窗(viewport) 的旋转方向。 + - portrait: 设备竖屏 + - landscape: 设备横屏 + ``` css + orientation: landscape + ``` +- `resolution`: 输出设备的分辨率 + + 值的类型为 number,单位为 `dpi`。 + ``` css + resolution: 320dpi + ``` + +- `scan`:输出设备的扫描过程(适用于电视机等)。 + +#### 媒体特性前缀 + +大部分的媒体特性均支持前缀,用于约束媒体特性的作用范围。 + +- `max-[media feature]`: 小于指定的最大值时,返回*true* +- `min-[media feature]`: 大于指定的最小值时,返回*true* + +*个人认为使用前缀时其表述稍显拗口,建议使用取值范围的方式声明表达式* + +#### 媒体特性语法 + +- 以键值对的形式,表述取固定的值 + ```` + ([media-feature-name]: [media-feature-value]) + ```` + +- 直接书写name, 表示值的结果为 boolean + ``` + ([media-feature-name]) + ``` + +- 表述 特性的取值范围 + + *声明 range 为描述数学符号 : '<' | '>' | '<=' | '>='* + + ``` + ([media-feature-name] [range] [media-feature-value]) + ([media-feature-name] [range] [media-feature-value] [range] [media-feature-value]) + ``` + + +### Logical operators + +逻辑操作符用于组成复合的 media queries。 + +- `and`: 用于合并多条`media query`, 且 每条 `media query` 均返回 *true* 时, + 媒体查询表达式的结果返回*true*。 +- `not`: 取反操作,使用`not [media query]`,当`media query` 返回 *false* 时, + 媒体查询表达式的结果返回*true*。 +- `,`: or操作符,组合多个 `media query`,任意一个`media query` 返回 *true*, + 媒体查询表达式的结果返回*true*。 +- `only`: 不支持更加高级的媒体类型的浏览器检测到only修饰的时候就会抛弃这个规则 + + + +## 使用示例详解 + +### 示例1: +``` css +@media screen and (width > 414px) {} +``` +当设备的屏幕视窗宽度大于414px时,应用CSS块中的样式规则。 + +### 示例2: +``` css +@media (width > 800px), screen and (orientation: landscape) {} +``` +当前设备 视窗宽度大于 800px, 或者设备方向为横向时,应用css块中的样式规则。 + +### 示例3: +``` css +@media screen and (414px < width < 800px) {} +``` +当前设备屏幕视窗宽度 大于 414px 且 小于 800px 时, 应用css块中的样式规则。 + diff --git a/docs/1.前端/1.基础/CSS选择器.md b/docs/1.前端/1.基础/CSS选择器.md new file mode 100644 index 00000000..c1ef7350 --- /dev/null +++ b/docs/1.前端/1.基础/CSS选择器.md @@ -0,0 +1,647 @@ +--- +title: CSS选择器 +createTime: 2018/09/20 03:29:20 +permalink: /article/8vev8ixl +author: pengzhanbo +tags: + - css +top: false +type: null +--- + +## Basic Selectors 基础选择器 + +### Element selector +根据 element type 匹配 一组元素 +``` html +... + +... +

content

+... +``` + +### Class selector +根据 element 声明的 class属性值 匹配一组元素 +``` html +... + +... +

content

+... +``` + +### ID selector +根据 element 声明的 ID属性值,匹配一个元素(一个页面中,ID具有唯一性) +``` html +... + +... +

content

+... +``` + +### Universal selector +通配符,匹配所有 element +``` html +... + +... +

content

+ span +... +``` + +## Attribute Selectors + +### \[attribute\] selector +匹配声明了该attribute的 一组 element +``` html +... + +... + content +... +``` + +### \[attribute="x"\] selector +匹配声明了该attribute,且值为 x 的一组 element +``` html +... + +... + abbr +... +``` + +### \[attribute~="x"\] selector +匹配声明了该attribute,且值包含了 单词 x 的一组 element +``` html +... + +... + abbr + +... +``` + +### \[attribute|="x"\] selector +匹配声明了该attribute,且值包含了一个 `x-` 开头的连字符拼接的词 的一组 element +``` html +... + +... + abbr + +... +``` + +### \[attribute^="x"\] selector +匹配声明了该attribute,且值是以 x 作为开头的 一组 element +``` html +... + +... + content +... +``` + +### \[attribute$="x"\] selector +匹配声明了该attribute,且值是以 x 作为结尾的 一组 element + +``` html +... + +... + content +... +``` + +### \[attribute*="x"\] selector +匹配声明了该attribute,且值包含了子串 x 的 一组 element + +``` html +... + +... + content +... +``` + +## Combinators 关系选择器 + +关系选择器适用于 任意选择器 的组合 + +### selector1 selector2 后代关系选择器 +匹配 selector1 的元素中,所有 selector2 的 元素 +``` html +... + +... +
+ +

+
+... +``` + +### selector1 > selector2 子代关系选择器 +匹配 selector1 的下一级满足 selector2 的 一组元素 +``` html +... + +... +
+ +

+
+... +``` + +### selector1 + selector2 相邻兄弟选择器 +匹配selector1后同级的紧跟的selector2的一个元素 +``` html +... + +... +

+

+

+

+... +``` + +### selector ~ selector2 一般兄弟选择器 +匹配selector1后同级的selector2的一组元素 +``` html +... + +... +

+

+

+

+ +

+... +``` + +## Group Selectors 组合选择器 + +### selector1, selector2, ... +匹配用`,` 隔开的所有选择器 +``` html +... + +... +
+ +

+
+... +``` + +## Pseudo-elements 伪元素选择器 + +### ::first-letter +匹配 element中的首个字符(字母、中文字、符号均可) +``` html +... + +... +

One

+... +``` + +### ::first-line +匹配 element中的首行文字 +``` html +... + +... +

+ One Two
+ Three +

+... +``` + +### ::before +和 `content` 属性一起使用,在匹配的元素内容之前生成的内容 + +``` html +... + +... +

+ One Two +

+... +``` + +### ::after +和 `content` 属性一起使用,在匹配的元素内容之后生成的内容 + +``` html +... + +... +

+ One Two +

+... +``` + +## Pseudo-classes 伪类选择器 + +### :link +匹配一个没有被访问过的链接 +``` html +... + +... + link +... +``` + +### :visited +匹配一个已访问过的链接 +``` html +... + +... + link +... +``` +### :active +匹配一个正在被激活的链接 +``` html +... + +... + link +... +``` + +### :hover +匹配一个被光标悬停的链接 +``` html +... + +... + link +... +``` +### :focus +匹配一个具有焦点的元素 +``` html +... + +... + +... +``` +### :target +匹配一个已被链接到的元素。 +例如通过``链接的head元素 +``` html +... + +... +

heading

+... +``` +### :first-child +匹配在同一个父元素内的的第一个子元素 +``` html +... + +... +

first child

+

second child

+... +``` +### :last-child +匹配在同一个父元素内的的最后一个子元素 +``` html +... + +... +

first child

+

last child

+... +``` +### :nth-child(n) +匹配在同一个父元素内的从上往下数的第N子个元素 +``` html +... + +... +

first child

+

second child

+... +``` +### :nth-last-child(n) +匹配在同一个父元素内的从下往上数的第N个子元素 +``` html +... + +... +

first child

+

second child

+... +``` +### :first-of-type +匹配在同一个父元素中的同类型的第一个元素 +``` html +... + +... +

first child

+

second child

+... +``` +### :last-of-type +匹配在同一个父元素中的同类型的最后一个元素 +``` html +... + +... +

first child

+

second child

+... +``` +### :nth-of-type(n) +匹配在同一个父元素中的同类型的从上往下数的第N个元素 +``` html +... + +... +

first child

+

second child

+... +``` +### :nth-last-of-type(n) +匹配在同一个父元素中的同类型的从下往上数的第N个元素 +``` html +... + +... +

first child

+

second child

+... +``` +### :only-child +如果元素是其父元素的唯一子元素,则匹配该元素 +``` html +... + +... +
+

only child

+
+... +``` +### :only-type +如果元素是其父元素的唯一的同类型的子元素,则匹配该元素 +``` html +... + +... +
+

only

+ +
+... +``` +### :lang(lang) +匹配给定语言的元素 +``` html +... + +... +
+
This French quote has a nested quote inside.
+
+... +``` +### :empty +匹配没有子元素或内容的元素 +``` html +... + +... +
+
+
+... +``` +### :root +匹配文档的根元素, (即匹配的 ``元素) +### :enabled +匹配未被禁用的表单控件元素 +### :disabled +匹配被禁用的表单控件元素 +### :checked +匹配选中的单选或复选框类型的输入元素。 +### :not(selector) +协商伪类。匹配不匹配选择器的元素。 + +## 实验中的 Selectors + +这些选择器在某些浏览器中尚处于开发中,功能对应的标准文档可能被修改,在未来的版本中可能发生变化,谨慎使用。 + +### :any-link +匹配有链接锚点的元素,而不管元素是否被访问过。 +即会匹配每一个有 `href`属性的``,``,``的元素,匹配到所有的`:link`或`:visited`。 +``` html +... + +... + External link
+ Internal target link
+ Placeholder link (won't get styled) +... +``` +::: caniuse css-any-link +::: + +### :dir(dir) +如果元素的内容的书写方向是 dir , 则匹配该元素 + +*dir* : ltr | rtl + +``` html +... + +... +
+ test1 +
test2 +
עִבְרִית
+
+
+... +``` +::: caniuse css-dir-pseudo +::: + +### :has(selector) +如果一个元素A恰好满足包含了selector 匹配的元素,则匹配元素A +``` html +... + +... + + +... +``` +::: caniuse css-has +::: + +### :is() / :any() +匹配一组选择器选中的元素。 + +优先级是由它的选择器列表中优先级最高的选择器决定。 + +``` html +... + +... + + +... +``` +::: caniuse css-matches-pseudo +::: + +### :where() +匹配一组选择器选中的元素。 + +:where() 的优先级总是为 0。 +``` html +... + +... + + +... +``` \ No newline at end of file diff --git a/docs/1.前端/1.基础/DOCTYPE 文档类型声明.md b/docs/1.前端/1.基础/DOCTYPE 文档类型声明.md new file mode 100644 index 00000000..331d0e65 --- /dev/null +++ b/docs/1.前端/1.基础/DOCTYPE 文档类型声明.md @@ -0,0 +1,108 @@ +--- +title: 文档类型声明 +createTime: 2018/03/14 01:06:52 +permalink: /article/s8udp6vp +author: pengzhanbo +tags: + - html +top: false +type: null +--- +Web世界中,随着历史的发展,技术的迭代,发展出了许多不同的文档,只有了解文档的类型,浏览器才能正确的解析渲染文档。 + + + +HTML也有多个不同的版本,只有完全明白页面使用的是哪个确切的HTML版本,浏览器才能完全正确的显示出HTML页面。 + +## 定义 + +`` 标签是一种标准通用标记语言的文档类型声明,目的是告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档。 + +## 作用 + +声明文档的解析类型 (document.compatMode),避免浏览器的怪异模式。 + +__document.compatMode:__ + +- `BackCompat`: 怪异模式,浏览器使用自己的怪异模式解析渲染页面。 +- `CSS1Compat`: 标准模式,浏览器使用W3C的标准解析渲染页面。 + +## 使用 + +在文档的首行进行声明。必须位于 html标签之前。 + +`` 声明不是HTML标签,它是指示浏览器关于页面使用哪个HTML版本的指令。 + +> 如果页面没有 DOCTYPE 声明,那么默认是 怪异模式,为了确保浏览器按预期渲染页面,必须进行DOCTYPE声明。 + +### 常用的DOCTYPE声明 + +一般情况下,默认使用以下声明即可。 +``` html + + + +``` + +## 一般DOCTYPE声明列表 + +### html5 +``` html + +``` + +### HTML 4.01 Strict + +该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。 +``` html + +``` + +### HTML 4.01 Transitional + +该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。 +``` html + +``` + +### HTML 4.01 Frameset + +该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。 +``` html + +``` + +### XHTML 1.0 Strict + +该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。 +``` html + +``` +### XHTML 1.0 Transitional + +该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。 + +```html + +``` + +### XHTML 1.0 Frameset + +该 DTD 等同于 XHTML 1.0 Transitional,但允许框架集内容。 + +```html + +``` + +### XHTML 1.1 + +该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型(例如提供对东亚语系的 ruby 支持)。 + +``` html + +``` \ No newline at end of file diff --git a/docs/1.前端/1.基础/HTML5新特性.md b/docs/1.前端/1.基础/HTML5新特性.md new file mode 100644 index 00000000..4f2791af --- /dev/null +++ b/docs/1.前端/1.基础/HTML5新特性.md @@ -0,0 +1,275 @@ +--- +title: HTML5新特性 +createTime: 2018/02/17 12:49:58 +permalink: /article/8rv45yuy +author: pengzhanbo +tags: + - html +top: false +type: null +--- + +## 语义标签 + +如 `
` `