Merge pull request #309 from AsakiRain/main Update README.md
Merge pull request #309 from AsakiRain/main
Update README.md
🧪 正在开发中
🎉 字节青训营《基于 Nuxt3 开发 SSR 仿掘金站点》 🎉
🖥 Online Preview
Nuxt3
Vue3.2
Turbo
Strapi
@Nuxt/Image
Umami
Commit Lint
Husky & Lint Staged
Eslint
UnoCss
preset-icons
<script setup>
Pinia
Layout system
APIs auto importing
TypeScript
Github Actions
Automatic Branch and Issue Autolink
Nuxt SEO Kit
Vercel
Netlify + Cloudflare
Sentry
MeiliSearch
yarn yarn dev
腾讯云 · Netlify · Vercel
ByteDream-JueJin ├─ .github │ ├─ ISSUE_TEMPLATE │ │ ├─ bug_report.md │ │ ├─ custom.md │ │ └─ feature_request.md │ └─ workflows │ ├─ autoDeploy.yaml // 自动部署 │ ├─ issue.yaml │ ├─ lint.yaml │ ├─ test.yaml │ └─ release.yaml ├─ .gitignore ├─ .husky │ ├─ commit-msg │ ├─ post-merge │ ├─ pre-commit │ └─ _ │ ├─ .gitignore │ └─ husky.sh ├─ .vscode │ ├─ extensions.json │ └─ settings.json ├─ .yarnrc ├─ e2e ├─ backend │ ├─ .editorconfig │ ├─ .eslintignore │ ├─ .eslintrc │ ├─ .gitignore │ ├─ .strapi-updater.json │ ├─ .tmp │ │ └─ data.db // 数据库文件 │ ├─ config │ │ ├─ admin.js │ │ ├─ api.js │ │ ├─ database.js │ │ ├─ middlewares.js │ │ ├─ plugins.js │ │ └─ server.js │ ├─ database │ │ └─ migrations │ │ └─ .gitkeep │ ├─ favicon.png │ ├─ package.json │ ├─ public │ │ ├─ robots.txt │ │ └─ uploads │ │ ├─ .gitkeep │ │ ├─ favicon_9f85af9de4.png │ │ └─ favicon_f56143b8c2.png │ ├─ README.md │ ├─ src │ │ ├─ admin │ │ │ ├─ app.example.js │ │ │ └─ webpack.config.example.js │ │ ├─ api │ │ │ ├─ .gitkeep │ │ │ ├─ article │ │ │ │ ├─ content-types │ │ │ │ │ └─ article │ │ │ │ │ └─ schema.json │ │ │ │ ├─ controllers │ │ │ │ │ └─ article.js │ │ │ │ ├─ documentation │ │ │ │ │ └─ 1.0.0 │ │ │ │ │ └─ article.json │ │ │ │ ├─ routes │ │ │ │ │ └─ article.js │ │ │ │ └─ services │ │ │ │ └─ article.js │ │ │ ├─ author │ │ │ │ ├─ content-types │ │ │ │ │ └─ author │ │ │ │ │ └─ schema.json │ │ │ │ ├─ controllers │ │ │ │ │ └─ author.js │ │ │ │ ├─ documentation │ │ │ │ │ └─ 1.0.0 │ │ │ │ │ └─ author.json │ │ │ │ ├─ routes │ │ │ │ │ └─ author.js │ │ │ │ └─ services │ │ │ │ └─ author.js │ │ │ ├─ colum │ │ │ │ ├─ content-types │ │ │ │ │ └─ colum │ │ │ │ │ └─ schema.json │ │ │ │ ├─ controllers │ │ │ │ │ └─ colum.js │ │ │ │ ├─ documentation │ │ │ │ │ └─ 1.0.0 │ │ │ │ │ └─ colum.json │ │ │ │ ├─ routes │ │ │ │ │ └─ colum.js │ │ │ │ └─ services │ │ │ │ └─ colum.js │ │ │ ├─ global │ │ │ │ ├─ content-types │ │ │ │ │ └─ global │ │ │ │ │ └─ schema.json │ │ │ │ ├─ controllers │ │ │ │ │ └─ global.js │ │ │ │ ├─ documentation │ │ │ │ │ └─ 1.0.0 │ │ │ │ │ └─ global.json │ │ │ │ ├─ routes │ │ │ │ │ └─ global.js │ │ │ │ └─ services │ │ │ │ └─ global.js │ │ │ ├─ tag │ │ │ │ ├─ content-types │ │ │ │ │ └─ tag │ │ │ │ │ └─ schema.json │ │ │ │ ├─ controllers │ │ │ │ │ └─ tag.js │ │ │ │ ├─ documentation │ │ │ │ │ └─ 1.0.0 │ │ │ │ │ └─ tag.json │ │ │ │ ├─ routes │ │ │ │ │ └─ tag.js │ │ │ │ └─ services │ │ │ │ └─ tag.js │ │ │ └─ type │ │ │ ├─ content-types │ │ │ │ └─ type │ │ │ │ └─ schema.json │ │ │ ├─ controllers │ │ │ │ └─ type.js │ │ │ ├─ documentation │ │ │ │ └─ 1.0.0 │ │ │ │ └─ type.json │ │ │ ├─ routes │ │ │ │ └─ type.js │ │ │ └─ services │ │ │ └─ type.js │ │ ├─ components │ │ │ ├─ articles │ │ │ │ ├─ ads.json │ │ │ │ └─ content-ad.json │ │ │ └─ layouts │ │ │ ├─ ads.json │ │ │ ├─ footers.json │ │ │ ├─ gadgets.json │ │ │ ├─ links.json │ │ │ └─ navs.json │ │ ├─ extensions │ │ └─ index.js │ ├─ start.sh │ └─ yarn.lock ├─ CHANGELOG.md ├─ commitlint.config.js ├─ frontend │ ├─ .eslintrc │ ├─ .gitignore │ ├─ .prettierrc │ ├─ .sentryclirc │ ├─ app.vue │ ├─ assets │ │ ├─ css │ │ │ └─ main.css │ │ ├─ highlight.ts │ │ └─ themes.ts │ ├─ components │ │ ├─ ArticlesContent // 详细文章 │ │ │ ├─ End │ │ │ │ ├─ ColumnContainer.vue │ │ │ │ └─ TagList.vue │ │ │ ├─ highlightStyle.ts │ │ │ ├─ index.vue │ │ │ ├─ SideBar │ │ │ │ ├─ Left │ │ │ │ │ ├─ index.vue │ │ │ │ │ └─ Svg.vue │ │ │ │ └─ Right │ │ │ │ ├─ Author.vue │ │ │ │ ├─ Catalogue.vue │ │ │ │ ├─ Column.vue │ │ │ │ ├─ index.vue │ │ │ │ └─ RelatedArticles.vue │ │ │ └─ themeStyle.ts │ │ ├─ ArticlesList // 文章列表 │ │ │ ├─ index.vue │ │ │ ├─ Item │ │ │ │ ├─ Ads.vue │ │ │ │ ├─ AuthorCard │ │ │ │ │ └─ index.vue │ │ │ │ ├─ Bar │ │ │ │ │ ├─ Bottom.vue │ │ │ │ │ ├─ Center.vue │ │ │ │ │ └─ Top.vue │ │ │ │ └─ index.vue │ │ │ ├─ Navigation │ │ │ │ ├─ index.vue │ │ │ │ ├─ Link.vue │ │ │ │ └─ Select.vue │ │ │ └─ Ui │ │ │ ├─ Btns.vue │ │ │ ├─ Img.vue │ │ │ ├─ Link.vue │ │ │ └─ Skeleton.vue │ │ ├─ Aside // 主页侧边栏 │ │ │ ├─ Advertisements.vue │ │ │ ├─ ArticleList.vue │ │ │ ├─ AuthorList.vue │ │ │ ├─ Footers.vue │ │ │ ├─ Gadgets.vue │ │ │ ├─ index.vue │ │ │ ├─ LinkList.vue │ │ │ ├─ Sign.vue │ │ │ └─ SuspensionPanel.vue │ │ ├─ Logo.vue │ │ ├─ Main │ │ │ └─ index.vue │ │ ├─ Navs // 导航栏 │ │ │ ├─ index.vue │ │ │ ├─ Item.vue │ │ │ └─ SearchBox.vue │ │ ├─ Types │ │ │ ├─ index.vue │ │ │ └─ TagNav.vue │ │ └─ Uno │ │ └─ DarkToggle.vue │ ├─ composables │ │ ├─ ArticleContent │ │ │ └─ useImmerse.ts │ │ ├─ Articlelist │ │ │ ├─ useArtlistFn.ts │ │ │ └─ useScrollBottom.ts │ │ ├─ useFold.ts │ │ ├─ useThrottle.ts │ │ └─ useTime.ts │ ├─ html.d.ts │ ├─ layouts │ │ └─ default.vue // 默认布局 │ ├─ netlify.toml │ ├─ nuxt.config.ts │ ├─ package.json │ ├─ pages // 基本路由 │ │ ├─ article // 详情文章页 根据id显示对应文章 │ │ │ └─ [id].vue │ │ ├─ index.vue // 首页 │ │ ├─ [...all].vue // 404页面 │ │ └─ [type] // 标签页及子标签页 例如:/frontend/vue │ │ ├─ index.vue │ │ └─ [tag].vue │ ├─ plugins │ │ └─ sentry.client.ts │ ├─ public │ │ ├─ favicon.png │ │ └─ og-image.png │ ├─ server │ │ ├─ api // BFF接口 │ │ │ ├─ articles │ │ │ │ ├─ columns │ │ │ │ │ └─ [id].ts │ │ │ │ ├─ list.ts │ │ │ │ ├─ tags.ts │ │ │ │ ├─ update │ │ │ │ │ └─ like.ts │ │ │ │ └─ [id].ts │ │ │ ├─ authors │ │ │ │ └─ list.ts │ │ │ └─ global │ │ │ ├─ ad.ts │ │ │ ├─ content-ad.ts │ │ │ ├─ index.ts │ │ │ ├─ navs.ts │ │ │ ├─ search.ts │ │ │ ├─ tags.ts │ │ │ └─ types.ts │ │ └─ README.md │ ├─ start.sh │ ├─ tsconfig.json │ ├─ types │ │ ├─ IArticle.ts │ │ ├─ IArticleItem.ts │ │ ├─ IGlobal.ts │ │ ├─ ILink.ts │ │ ├─ IMutation.ts │ │ ├─ INav.ts │ │ ├─ ISearch.ts │ │ └─ IType.ts │ ├─ unocss.config.ts │ ├─ utils │ │ └─ useGraphql.ts │ └─ vercel.json ├─ index.ts ├─ LICENSE ├─ package.json ├─ README.md ├─ SECURITY.md ├─ turbo.json // MonoRepo 主要配置文件 └─ yarn.lock
Yet Another Blog In JueJin Style By ByteDream
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
ByteDream-JueJin
🎉 字节青训营《基于 Nuxt3 开发 SSR 仿掘金站点》 🎉
🖥 Online Preview
Features
Nuxt3- 高性能 SSR 框架Vue3.2- 最新 Vue 更多语法糖Turbo- MonoRepo 高性能框架Strapi- 无头 CMS 框架@Nuxt/Image- images 服务端渲染Umami- Better Analytics 访问源分析Commit Lint- commit 规范检查Husky & Lint Staged- precommit 运行库,提交时运行Eslint- 规范化 TypeScript、JavaScript 代码UnoCss- 原子化 CSS 引擎、兼容 tailwindcss、windicsspreset-icons- unocss 封装的 icons<script setup>- setup 语法糖 来自 Vue3.2Pinia- 全局状态管理库Layout system- 所见即所得APIs auto importing- 自动引入TypeScript- 更规范的语法Github Actions- actions 自动运行、ci/cd 云端检查、部署Automatic Branch and Issue Autolink- 创建 issue 自动创建一个分支Nuxt SEO Kit- SEO 优化、生成 og 图片 SSR必备Vercel- 自动部署、预览的平台Netlify + Cloudflare- 部署平台 + cdn 加速Sentry- 问题追踪MeiliSearch- 快速的搜索引擎开发
预览
腾讯云 · Netlify · Vercel
目录结构