create-lupine 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/index.js +7 -0
  2. package/package.json +1 -1
  3. package/templates/cv-starter/api/package.json +6 -0
  4. package/templates/cv-starter/api/resources/config_default.json +6 -0
  5. package/templates/cv-starter/api/resources/install.sqlite.sql +4 -0
  6. package/templates/cv-starter/api/src/index.ts +15 -0
  7. package/templates/cv-starter/lupine.json +38 -0
  8. package/templates/cv-starter/web/assets/favicon.ico +0 -0
  9. package/templates/cv-starter/web/github-pj-name/404.html +35 -0
  10. package/templates/cv-starter/web/github-pj-name/assets/favicon.ico +0 -0
  11. package/templates/cv-starter/web/github-pj-name/index.html +16 -0
  12. package/templates/cv-starter/web/github-pj-name/index.tsx +33 -0
  13. package/templates/cv-starter/web/markdown/en/01-experience/index.md +32 -0
  14. package/templates/cv-starter/web/markdown/en/02-projects/index.md +36 -0
  15. package/templates/cv-starter/web/markdown/en/03-skills/index.md +28 -0
  16. package/templates/cv-starter/web/markdown/en/04-education/index.md +16 -0
  17. package/templates/cv-starter/web/markdown/en/index.md +37 -0
  18. package/templates/cv-starter/web/markdown/index.md +7 -0
  19. package/templates/cv-starter/web/markdown/zh/01-experience/index.md +32 -0
  20. package/templates/cv-starter/web/markdown/zh/02-projects/index.md +36 -0
  21. package/templates/cv-starter/web/markdown/zh/03-skills/index.md +28 -0
  22. package/templates/cv-starter/web/markdown/zh/04-education/index.md +17 -0
  23. package/templates/cv-starter/web/markdown/zh/index.md +37 -0
  24. package/templates/cv-starter/web/package.json +6 -0
  25. package/templates/cv-starter/web/src/client-env-keys.ts +5 -0
  26. package/templates/cv-starter/web/src/index.html +16 -0
  27. package/templates/cv-starter/web/src/index.tsx +31 -0
  28. package/templates/cv-starter/web/src/markdown-built/en/01-experience/index.html +20 -0
  29. package/templates/cv-starter/web/src/markdown-built/en/02-projects/index.html +28 -0
  30. package/templates/cv-starter/web/src/markdown-built/en/03-skills/index.html +18 -0
  31. package/templates/cv-starter/web/src/markdown-built/en/04-education/index.html +10 -0
  32. package/templates/cv-starter/web/src/markdown-built/en/index.html +18 -0
  33. package/templates/cv-starter/web/src/markdown-built/index.html +0 -0
  34. package/templates/cv-starter/web/src/markdown-built/markdown-config.ts +25 -0
  35. package/templates/cv-starter/web/src/markdown-built/zh/01-experience/index.html +20 -0
  36. package/templates/cv-starter/web/src/markdown-built/zh/02-projects/index.html +28 -0
  37. package/templates/cv-starter/web/src/markdown-built/zh/03-skills/index.html +18 -0
  38. package/templates/cv-starter/web/src/markdown-built/zh/04-education/index.html +11 -0
  39. package/templates/cv-starter/web/src/markdown-built/zh/index.html +18 -0
  40. package/templates/cv-starter/web/src/styles/base-css.ts +15 -0
package/index.js CHANGED
@@ -51,6 +51,13 @@ const TEMPLATES = [
51
51
  color: green,
52
52
  needsPress: true,
53
53
  },
54
+ {
55
+ name: 'cv-starter',
56
+ display: 'CV Starter',
57
+ itemType: 'frontend',
58
+ color: green,
59
+ needsPress: true,
60
+ },
54
61
  ];
55
62
 
56
63
  async function init() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-lupine",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "Scaffolding tool for Lupine.js projects",
5
5
  "bin": {
6
6
  "create-lupine": "index.js"
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "cv-starter-api",
3
+ "version": "1.0.0",
4
+ "dependencies": {},
5
+ "devDependencies": {}
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "WEB.pageLimit": "15",
3
+ "WEB.siteTitle": "Sample title",
4
+ "WEB.siteEmail": "sample@sample.com",
5
+ "WEB.siteUrl": "https://sample.com"
6
+ }
@@ -0,0 +1,4 @@
1
+ #-- sql queries to create tables
2
+ #-- Never name a table with plural (such as "users")
3
+ #-- Never name a table using a reserved keyword (such as "user")
4
+ #-- Never prefix your table name with "tbl" or some other object type prefix
@@ -0,0 +1,15 @@
1
+ import { IApiBase, ApiRouter, StaticServer, ApiModule } from 'lupine.api';
2
+
3
+ class DocApi implements IApiBase {
4
+ protected router = new ApiRouter();
5
+
6
+ constructor() {
7
+ this.router.use('*', new StaticServer().processRequest.bind(new StaticServer()));
8
+ }
9
+
10
+ public getRouter(): ApiRouter {
11
+ return this.router;
12
+ }
13
+ }
14
+
15
+ export const apiModule = new ApiModule(new DocApi());
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "cv-starter",
3
+ "markdownEntryPoints": {
4
+ "indir": "web/markdown",
5
+ "outdir": "web/src/markdown-built"
6
+ },
7
+ "webEntryPoints": [
8
+ {
9
+ "index": "web/src/index.tsx",
10
+ "html": "web/src/index.html",
11
+ "outdir": "/"
12
+ },
13
+ {
14
+ "index": "web/github-pj-name/index.tsx",
15
+ "html": "web/github-pj-name/index.html",
16
+ "outdir": "/github-pj-name"
17
+ }
18
+ ],
19
+ "apiEntryPoint": "api/src/index.ts",
20
+ "watchFiles": ["web/markdown/**/*.md"],
21
+ "copyFiles": [
22
+ {
23
+ "type": "web",
24
+ "from": "web/assets",
25
+ "to": "assets"
26
+ },
27
+ {
28
+ "type": "web",
29
+ "from": "web/github-pj-name/404.html",
30
+ "to": "github-pj-name/404.html"
31
+ },
32
+ {
33
+ "type": "data",
34
+ "from": "api/resources",
35
+ "to": "resources"
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Page Not Found</title>
7
+ <style>
8
+ main {
9
+ display: flex;
10
+ height: 100vh;
11
+ justify-content: center;
12
+ align-items: center;
13
+ flex-direction: column;
14
+ }
15
+ .header404 {
16
+ font-size: 48px;
17
+ }
18
+ </style>
19
+ <script type="text/javascript">
20
+ // Single Page Apps for GitHub Pages, change all "/github-pj-name/" to your github project name
21
+ if (window.location.pathname.includes('/github-pj-name/')) {
22
+ window.location.href = '/github-pj-name/?redirect=' + window.location.pathname;
23
+ }
24
+ </script>
25
+ </head>
26
+ <body>
27
+ <main>
28
+ <h4 class="header404">404</h4>
29
+ <div class="content-404">Uh-oh! We couldn't find the page you are looking for.</div>
30
+ <p>
31
+ <a href="/github-pj-name/">Check our home page</a>
32
+ </p>
33
+ </main>
34
+ </body>
35
+ </html>
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html data-theme="<!--META-THEME-->">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title><!--META-TITLE--></title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <!--META-ENV-START-->
8
+ <!--META-ENV-END-->
9
+ <link rel="shortcut icon" href="{SUBDIR}/assets/favicon.ico?t={hash}" type="image/x-icon" />
10
+ <link rel="stylesheet" type="text/css" href="{SUBDIR}/index.css?t={hash}" />
11
+ <script defer src="{SUBDIR}/index.js#t={hash}"></script>
12
+ </head>
13
+ <body>
14
+ <div class="lupine-root"></div>
15
+ </body>
16
+ </html>
@@ -0,0 +1,33 @@
1
+ import {
2
+ bindRouter,
3
+ PageRouter,
4
+ bindTheme,
5
+ bindLang,
6
+ setDefaultPageTitle,
7
+ isFrontEnd,
8
+ debugWatch,
9
+ webEnv,
10
+ bindAppGlobalStyle,
11
+ } from 'lupine.components';
12
+ import { bindPressData, PressPage, pressThemes, setPressSubDir } from 'lupine.press';
13
+ import { ClientEnvKeys } from '../src/client-env-keys';
14
+ import { baseCss } from '../src/styles/base-css';
15
+ import { markdownConfig } from '../src/markdown-built/markdown-config';
16
+
17
+ if (isFrontEnd() && webEnv(ClientEnvKeys.NODE_ENV, '') === 'development') {
18
+ debugWatch(webEnv(ClientEnvKeys.API_PORT, 0));
19
+ }
20
+
21
+ bindLang('en', {});
22
+ bindTheme('light', pressThemes);
23
+ bindAppGlobalStyle('comm-css', baseCss, false, true);
24
+ setDefaultPageTitle('Doc Starter');
25
+
26
+ bindPressData(markdownConfig);
27
+ setPressSubDir('/github-pj-name');
28
+
29
+ const pageRouter = new PageRouter();
30
+ pageRouter.setSubDir('/github-pj-name');
31
+ pageRouter.use('*', PressPage);
32
+
33
+ bindRouter(pageRouter);
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: Experience
3
+ order: 1
4
+ ---
5
+
6
+ # Experience
7
+
8
+ ## Senior Frontend Engineer | TechSolutions NZ Ltd.
9
+
10
+ **Auckland, NZ | June 2021 - Present**
11
+
12
+ - **Core Architecture**: Spearheaded the architectural design and refactoring of the company's flagship product, successfully reducing First Contentful Paint (FCP) from 2.5s to 1.2s.
13
+ - **Design System**: Led the development and maintenance of the internal UI library `abc-ui`, boosting team development efficiency by over 30%.
14
+ - **Performance Optimisation**: Optimised rendering performance for large-scale data visualisation dashboards, enabling smooth handling of 100k+ data points.
15
+ - **Mentorship**: Mentored three junior developers, established coding standards, and conducted regular code reviews to ensure high code quality.
16
+
17
+ ## Full Stack Developer | Creative Web Agency
18
+
19
+ **Auckland, NZ | June 2018 - May 2021**
20
+
21
+ - **System Development**: Took full ownership of the full-stack development for an e-commerce admin portal (Vue.js + Node.js), implementing key modules including order management and role-based access control (RBAC).
22
+ - **API Design**: Designed and implemented RESTful APIs, documenting them with Swagger to facilitate seamless frontend-backend integration.
23
+ - **CI/CD**: Implemented an automated build and deployment pipeline using Jenkins, cutting release times by 50%.
24
+ - **Mobile Responsiveness**: ensured all marketing H5 pages were fully responsive and cross-browser compatible across major devices.
25
+
26
+ ## Frontend Intern | Digital Innovation Studio
27
+
28
+ **Wellington, NZ | July 2017 - May 2018**
29
+
30
+ - **UI Implementation**: Collaborated closely with UI/UX designers to deliver pixel-perfect web pages with semantic HTML and clean CSS.
31
+ - **Interactivity**: Implemented complex page interactions using Vanilla JS and jQuery.
32
+ - **Maintenance**: Assisted with daily bug fixes and feature maintenance tasks.
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: Projects
3
+ order: 2
4
+ ---
5
+
6
+ # Projects
7
+
8
+ ## [Lupine.js](https://github.com/uuware/lupine.js) (Open Source)
9
+
10
+ **Stack**: TypeScript, React, Node.js
11
+
12
+ - **Overview**: A high-performance, modular full-stack development framework designed to streamline modern web application builds.
13
+ - **Key Contributions**:
14
+ - Architected and implemented the core runtime environment.
15
+ - Designed a robust plugin system, enabling dynamic extension loading.
16
+ - Authored comprehensive official documentation and example projects.
17
+ - **Impact**: Garnered 1k+ Stars on GitHub; recognised as a core contributor.
18
+
19
+ ## Personal Blog Generator
20
+
21
+ **Stack**: Next.js, Tailwind CSS, Markdown
22
+
23
+ - **Overview**: A static site generator for personal blogs built with Next.js, featuring MDX rendering and customisable themes.
24
+ - **Features**:
25
+ - High-performance Static Site Generation (SSG) for optimal SEO.
26
+ - Integrated commenting system and full-text search capability.
27
+ - Native Dark Mode support.
28
+ - **Outcome**: Actively maintained personal project with 500+ daily unique visitors.
29
+
30
+ ## Real-time Collaborative Editor
31
+
32
+ **Stack**: Vue 3, Socket.io, Node.js, MongoDB
33
+
34
+ - **Overview**: A collaborative online document editing tool similar to Google Docs.
35
+ - **Challenge**: Implemented Operational Transformation (OT) algorithms to handle conflict resolution during simultaneous multi-user editing.
36
+ - **Outcome**: Successfully supported 20+ concurrent users editing a single document with latency under 100ms.
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: Skills
3
+ order: 3
4
+ ---
5
+
6
+ # Technical Skills
7
+
8
+ ## Frontend & Core
9
+
10
+ - **JavaScript (ES6+) / TypeScript**: Expert level; capable of writing strict, type-safe, and scalable code.
11
+ - **HTML5 / CSS3**: Proficient with semantic markup, Flexbox, Grid, and modern responsive design principles.
12
+ - **React / Vue**: Deep understanding of React Hooks and Vue 3 Composition API/Reactivity system.
13
+
14
+ ## Backend & Database
15
+
16
+ - **Node.js**: Experienced with Express, Koa, and NestJS frameworks for building robust server-side applications.
17
+ - **Databases**: Competent with MySQL, MongoDB, and Redis, including schema design and basic performance tuning.
18
+
19
+ ## DevOps & Tools
20
+
21
+ - **Build Tools**: Skilled locally with Webpack, Vite, and Rollup.
22
+ - **Version Control**: Proficient with Git and Git Flow workflows.
23
+ - **CI/CD**: Experienced in setting up pipelines with GitHub Actions, Jenkins, and Docker.
24
+
25
+ ## General
26
+
27
+ - **Languages**: English (Professional working proficiency).
28
+ - **Design**: Comfortable using Figma/Sketch for inspecting designs; solid understanding of UI/UX principles.
@@ -0,0 +1,16 @@
1
+ ---
2
+ title: Education
3
+ order: 4
4
+ ---
5
+
6
+ # Education
7
+
8
+ ## University of Auckland
9
+
10
+ **Bachelor of Science in Computer Science**
11
+ **Feb 2014 - Nov 2017**
12
+
13
+ - **Key Coursework**: Data Structures & Algorithms, Operating Systems, Computer Networks, Database Systems, Software Engineering.
14
+ - **Achievements**:
15
+ - Dean's Honours List (2016).
16
+ - First Class Honours.
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: CV
3
+ order: 0
4
+ github-title: View on GitHub
5
+ github-link: https://github.com/uuware/lupine.js
6
+
7
+ sidebar:
8
+ - text: Details
9
+ items:
10
+ - /en/01-experience/index
11
+ - /en/02-projects/index
12
+ - /en/03-skills/index
13
+ - /en/04-education/index
14
+ ---
15
+
16
+ # Alex Freeman
17
+
18
+ > Full Stack Engineer | Open Source Enthusiast | Lifelong Learner
19
+
20
+ - 📧 Email: your.email@example.com
21
+ - 📱 Mobile: +64 21 123 4567
22
+ - 🔗 GitHub: [github.com/yourusername](https://github.com/yourusername)
23
+ - 🌐 Blog: [yourblog.com](https://yourblog.com)
24
+ - 📍 Location: Auckland, New Zealand
25
+
26
+ ## Personal Statement
27
+
28
+ A seasoned Full Stack Engineer with over 5 years of experience in designing and building high-performance, scalable web applications. Proficient in the modern JavaScript ecosystem, including React, Node.js, and TypeScript. Passionate about open source software and actively maintaining several popular repositories on GitHub.
29
+
30
+ A problem-solver at heart with strong collaborative and communication skills. Committed to writing clean, maintainable code and delivering exceptional user experiences.
31
+
32
+ ## Career Objectives
33
+
34
+ - **Role**: Senior Frontend Engineer / Full Stack Engineer
35
+ - **Location**: Auckland / Remote
36
+ - **Availability**: 4 weeks notice
37
+ - **Visa Status**: NZ Resident / Work Visa
@@ -0,0 +1,7 @@
1
+ ---
2
+ lang:
3
+ - title: English
4
+ id: en
5
+ - title: 简体中文
6
+ id: zh
7
+ ---
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: 工作经历
3
+ order: 1
4
+ ---
5
+
6
+ # 工作经历
7
+
8
+ ## 高级前端工程师 | ABC 科技有限公司
9
+
10
+ **2021.06 - 至今**
11
+
12
+ - **核心架构**: 负责公司核心产品的前端架构设计与重构,将首屏加载时间从 2.5s 优化至 1.2s。
13
+ - **组件库建设**: 主导开发并维护公司内部组件库 `abc-ui`,提升团队开发效率 30% 以上。
14
+ - **性能优化**: 针对大型数据可视化页面进行性能调优,支持十万级数据流畅渲染。
15
+ - **团队协作**: 指导 3 名初级工程师,制定代码规范并进行代码审查。
16
+
17
+ ## 全栈工程师 | XYZ 网络技术有限公司
18
+
19
+ **2018.06 - 2021.05**
20
+
21
+ - **系统开发**: 独立负责电商后台管理系统的全栈开发(Vue.js + Node.js),实现了订单管理、用户权限等模块。
22
+ - **API 设计**: 设计并实现 RESTful API,并编写 Swagger 文档,方便前后端协作。
23
+ - **CI/CD**: 搭建基于 Jenkins 的自动化构建与部署流程,将发布时间缩短 50%。
24
+ - **移动端适配**: 负责 H5 营销页面的开发与兼容性调试,确保在主流浏览器及移动设备上的完美展示。
25
+
26
+ ## 前端实习生 | MNO 创新工作室
27
+
28
+ **2017.07 - 2018.05**
29
+
30
+ - **页面切图**: 配合 UI 设计师完成高保真页面还原,HTML/CSS 代码规范整洁。
31
+ - **交互实现**: 使用 jQuery/原生 JS 实现复杂的页面交互效果。
32
+ - **Bug 修复**: 参与日常 Bug 修复与功能维护。
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: 项目经验
3
+ order: 2
4
+ ---
5
+
6
+ # 项目经验
7
+
8
+ ## [Lupine.js](https://github.com/uuware/lupine.js) (示例项目)
9
+
10
+ **技术栈**: TypeScript, React, Node.js
11
+
12
+ - **项目描述**: 一个高性能、模块化的全栈开发框架,旨在简化现代 Web 应用的构建过程。
13
+ - **负责内容**:
14
+ - 核心运行时设计与实现。
15
+ - 插件系统架构,支持动态加载扩展。
16
+ - 编写详细的官方文档与示例代码。
17
+ - **成果**: 在 GitHub 上获得 1k+ Stars,主要贡献者之一。
18
+
19
+ ## 个人博客系统
20
+
21
+ **技术栈**: Next.js, Tailwind CSS, Markdown
22
+
23
+ - **项目描述**: 基于 Next.js 构建的静态博客生成器,支持 MDX 渲染与自定义主题。
24
+ - **主要功能**:
25
+ - 高性能 SSG 渲染,SEO 友好。
26
+ - 集成评论系统与全文搜索。
27
+ - 暗黑模式支持。
28
+ - **成果**: 个人长期维护,日均访问量 500+。
29
+
30
+ ## 实时协作文档平台
31
+
32
+ **技术栈**: Vue 3, Socket.io, Node.js, MongoDB
33
+
34
+ - **项目描述**: 类似于 Google Docs 的多人实时在线协作文档编辑工具。
35
+ - **核心难点**: 解决多人同时编辑时的冲突处理(OT 算法)。
36
+ - **成果**: 成功支持 20+ 人同时在线编辑同一文档,延迟低至 100ms。
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: 专业技能
3
+ order: 3
4
+ ---
5
+
6
+ # 专业技能
7
+
8
+ ## 前端核心
9
+
10
+ - **JavaScript (ES6+) / TypeScript**: 精通,能够编写类型安全的高质量代码。
11
+ - **HTML5 / CSS3**: 熟练掌握,熟悉 Flexbox, Grid 布局及响应式设计。
12
+ - **React / Vue**: 深入理解 React Hooks 和 Vue 3 响应式原理,有丰富的实战经验。
13
+
14
+ ## 后端与数据库
15
+
16
+ - **Node.js**: 熟悉 Express / Koa / NestJS 框架,能够构建可扩展的服务端应用。
17
+ - **Database**: 熟悉 MySQL, MongoDB, Redis 的使用与基本调优。
18
+
19
+ ## 工程化与工具
20
+
21
+ - **构建工具**: 熟练使用 Webpack, Vite, Rollup 进行项目构建与优化。
22
+ - **版本控制**: 精通 Git 操作,熟悉 Git Flow 工作流。
23
+ - **CI/CD**: 熟悉 GitHub Actions, Jenkins, Docker 容器化部署。
24
+
25
+ ## 其他
26
+
27
+ - **英语**: CET-6,能够流畅阅读英文技术文档。
28
+ - **设计**: 熟练使用 Figma / Sketch 查看设计稿,具备基本的审美能力。
@@ -0,0 +1,17 @@
1
+ ---
2
+ title: 教育背景
3
+ order: 4
4
+ ---
5
+
6
+ # 教育背景
7
+
8
+ ## 上海交通大学 (示例)
9
+
10
+ **计算机科学与技术 | 本科**
11
+ **2014.09 - 2018.06**
12
+
13
+ - **主修课程**: 数据结构与算法、操作系统、计算机网络、数据库原理、软件工程。
14
+ - **荣誉奖项**:
15
+ - 2016-2017 学年 校级一等奖学金
16
+ - 2017 年 全国大学生数学建模竞赛 省级二等奖
17
+ - 2018 年 优秀毕业生
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: 工作简历
3
+ order: 0
4
+ github-title: View on GitHub
5
+ github-link: https://github.com/uuware/lupine.js
6
+
7
+ sidebar:
8
+ - text: 详细介绍
9
+ items:
10
+ - /zh/01-experience/index
11
+ - /zh/02-projects/index
12
+ - /zh/03-skills/index
13
+ - /zh/04-education/index
14
+ ---
15
+
16
+ # 张三 (San Zhang)
17
+
18
+ > 全栈工程师 | 开源爱好者 | 持续学习者
19
+
20
+ - 📧 Email: your.email@example.com
21
+ - 📱 电话: +86 138 0000 0000
22
+ - 🔗 GitHub: [github.com/yourusername](https://github.com/yourusername)
23
+ - 🌐 博客: [yourblog.com](https://yourblog.com)
24
+ - 📍 地点: 中国,上海
25
+
26
+ ## 个人简介
27
+
28
+ 拥有 5 年以上的前端和后端开发经验,专注于构建高性能、可扩展的 Web 应用。熟练掌握 React, Node.js, TypeScript 等技术栈。热衷于开源社区,并在 GitHub 上维护多个受欢迎的项目。
29
+
30
+ 善于解决复杂问题,具备良好的团队协作能力和沟通技巧。致力于编写整洁、可维护的代码,并关注用户体验和产品质量。
31
+
32
+ ## 求职意向
33
+
34
+ - **期望职位**: 高级前端工程师 / 全栈工程师
35
+ - **期望城市**: 上海 / 杭州 / 远程
36
+ - **期望薪资**: 面议
37
+ - **目前状态**: 随时到岗
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "cv-starter-web",
3
+ "version": "1.0.0",
4
+ "dependencies": {},
5
+ "devDependencies": {}
6
+ }
@@ -0,0 +1,5 @@
1
+ export const enum ClientEnvKeys {
2
+ API_PORT = 'API_PORT',
3
+ API_BASE_URL = 'API_BASE_URL',
4
+ NODE_ENV = 'NODE_ENV',
5
+ }
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html data-theme="<!--META-THEME-->">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title><!--META-TITLE--></title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <!--META-ENV-START-->
8
+ <!--META-ENV-END-->
9
+ <link rel="shortcut icon" href="{SUBDIR}/assets/favicon.ico?t={hash}" type="image/x-icon" />
10
+ <link rel="stylesheet" type="text/css" href="{SUBDIR}/index.css?t={hash}" />
11
+ <script defer src="{SUBDIR}/index.js#t={hash}"></script>
12
+ </head>
13
+ <body>
14
+ <div class="lupine-root"></div>
15
+ </body>
16
+ </html>
@@ -0,0 +1,31 @@
1
+ import {
2
+ bindRouter,
3
+ PageRouter,
4
+ bindTheme,
5
+ bindLang,
6
+ setDefaultPageTitle,
7
+ isFrontEnd,
8
+ debugWatch,
9
+ webEnv,
10
+ bindAppGlobalStyle,
11
+ } from 'lupine.components';
12
+ import { bindPressData, PressPage, pressThemes } from 'lupine.press';
13
+ import { markdownConfig } from './markdown-built/markdown-config';
14
+ import { ClientEnvKeys } from './client-env-keys';
15
+ import { baseCss } from './styles/base-css';
16
+
17
+ if (isFrontEnd() && webEnv(ClientEnvKeys.NODE_ENV, '') === 'development') {
18
+ debugWatch(webEnv(ClientEnvKeys.API_PORT, 0));
19
+ }
20
+
21
+ bindLang('en', {});
22
+ bindTheme('light', pressThemes);
23
+ bindAppGlobalStyle('comm-css', baseCss, false, true);
24
+ setDefaultPageTitle('Lupine.js Doc');
25
+
26
+ bindPressData(markdownConfig);
27
+
28
+ const pageRouter = new PageRouter();
29
+ pageRouter.use('*', PressPage);
30
+
31
+ bindRouter(pageRouter);
@@ -0,0 +1,20 @@
1
+ <h1 id="experience"><a class="header-anchor" href="#experience">#</a>Experience</h1><h2 id="senior-frontend-engineer-techsolutions-nz-ltd"><a class="header-anchor" href="#senior-frontend-engineer-techsolutions-nz-ltd">#</a>Senior Frontend Engineer | TechSolutions NZ Ltd.</h2><p><strong>Auckland, NZ | June 2021 - Present</strong></p>
2
+ <ul>
3
+ <li><strong>Core Architecture</strong>: Spearheaded the architectural design and refactoring of the company&#39;s flagship product, successfully reducing First Contentful Paint (FCP) from 2.5s to 1.2s.</li>
4
+ <li><strong>Design System</strong>: Led the development and maintenance of the internal UI library <code>abc-ui</code>, boosting team development efficiency by over 30%.</li>
5
+ <li><strong>Performance Optimisation</strong>: Optimised rendering performance for large-scale data visualisation dashboards, enabling smooth handling of 100k+ data points.</li>
6
+ <li><strong>Mentorship</strong>: Mentored three junior developers, established coding standards, and conducted regular code reviews to ensure high code quality.</li>
7
+ </ul>
8
+ <h2 id="full-stack-developer-creative-web-agency"><a class="header-anchor" href="#full-stack-developer-creative-web-agency">#</a>Full Stack Developer | Creative Web Agency</h2><p><strong>Auckland, NZ | June 2018 - May 2021</strong></p>
9
+ <ul>
10
+ <li><strong>System Development</strong>: Took full ownership of the full-stack development for an e-commerce admin portal (Vue.js + Node.js), implementing key modules including order management and role-based access control (RBAC).</li>
11
+ <li><strong>API Design</strong>: Designed and implemented RESTful APIs, documenting them with Swagger to facilitate seamless frontend-backend integration.</li>
12
+ <li><strong>CI/CD</strong>: Implemented an automated build and deployment pipeline using Jenkins, cutting release times by 50%.</li>
13
+ <li><strong>Mobile Responsiveness</strong>: ensured all marketing H5 pages were fully responsive and cross-browser compatible across major devices.</li>
14
+ </ul>
15
+ <h2 id="frontend-intern-digital-innovation-studio"><a class="header-anchor" href="#frontend-intern-digital-innovation-studio">#</a>Frontend Intern | Digital Innovation Studio</h2><p><strong>Wellington, NZ | July 2017 - May 2018</strong></p>
16
+ <ul>
17
+ <li><strong>UI Implementation</strong>: Collaborated closely with UI/UX designers to deliver pixel-perfect web pages with semantic HTML and clean CSS.</li>
18
+ <li><strong>Interactivity</strong>: Implemented complex page interactions using Vanilla JS and jQuery.</li>
19
+ <li><strong>Maintenance</strong>: Assisted with daily bug fixes and feature maintenance tasks.</li>
20
+ </ul>
@@ -0,0 +1,28 @@
1
+ <h1 id="projects"><a class="header-anchor" href="#projects">#</a>Projects</h1><h2 id="lupine-js-https-github-com-uuware-lupine-js-open-source"><a class="header-anchor" href="#lupine-js-https-github-com-uuware-lupine-js-open-source">#</a><a href="https://github.com/uuware/lupine.js">Lupine.js</a> (Open Source)</h2><p><strong>Stack</strong>: TypeScript, React, Node.js</p>
2
+ <ul>
3
+ <li><strong>Overview</strong>: A high-performance, modular full-stack development framework designed to streamline modern web application builds.</li>
4
+ <li><strong>Key Contributions</strong>:<ul>
5
+ <li>Architected and implemented the core runtime environment.</li>
6
+ <li>Designed a robust plugin system, enabling dynamic extension loading.</li>
7
+ <li>Authored comprehensive official documentation and example projects.</li>
8
+ </ul>
9
+ </li>
10
+ <li><strong>Impact</strong>: Garnered 1k+ Stars on GitHub; recognised as a core contributor.</li>
11
+ </ul>
12
+ <h2 id="personal-blog-generator"><a class="header-anchor" href="#personal-blog-generator">#</a>Personal Blog Generator</h2><p><strong>Stack</strong>: Next.js, Tailwind CSS, Markdown</p>
13
+ <ul>
14
+ <li><strong>Overview</strong>: A static site generator for personal blogs built with Next.js, featuring MDX rendering and customisable themes.</li>
15
+ <li><strong>Features</strong>:<ul>
16
+ <li>High-performance Static Site Generation (SSG) for optimal SEO.</li>
17
+ <li>Integrated commenting system and full-text search capability.</li>
18
+ <li>Native Dark Mode support.</li>
19
+ </ul>
20
+ </li>
21
+ <li><strong>Outcome</strong>: Actively maintained personal project with 500+ daily unique visitors.</li>
22
+ </ul>
23
+ <h2 id="real-time-collaborative-editor"><a class="header-anchor" href="#real-time-collaborative-editor">#</a>Real-time Collaborative Editor</h2><p><strong>Stack</strong>: Vue 3, Socket.io, Node.js, MongoDB</p>
24
+ <ul>
25
+ <li><strong>Overview</strong>: A collaborative online document editing tool similar to Google Docs.</li>
26
+ <li><strong>Challenge</strong>: Implemented Operational Transformation (OT) algorithms to handle conflict resolution during simultaneous multi-user editing.</li>
27
+ <li><strong>Outcome</strong>: Successfully supported 20+ concurrent users editing a single document with latency under 100ms.</li>
28
+ </ul>
@@ -0,0 +1,18 @@
1
+ <h1 id="technical-skills"><a class="header-anchor" href="#technical-skills">#</a>Technical Skills</h1><h2 id="frontend-core"><a class="header-anchor" href="#frontend-core">#</a>Frontend &amp; Core</h2><ul>
2
+ <li><strong>JavaScript (ES6+) / TypeScript</strong>: Expert level; capable of writing strict, type-safe, and scalable code.</li>
3
+ <li><strong>HTML5 / CSS3</strong>: Proficient with semantic markup, Flexbox, Grid, and modern responsive design principles.</li>
4
+ <li><strong>React / Vue</strong>: Deep understanding of React Hooks and Vue 3 Composition API/Reactivity system.</li>
5
+ </ul>
6
+ <h2 id="backend-database"><a class="header-anchor" href="#backend-database">#</a>Backend &amp; Database</h2><ul>
7
+ <li><strong>Node.js</strong>: Experienced with Express, Koa, and NestJS frameworks for building robust server-side applications.</li>
8
+ <li><strong>Databases</strong>: Competent with MySQL, MongoDB, and Redis, including schema design and basic performance tuning.</li>
9
+ </ul>
10
+ <h2 id="devops-tools"><a class="header-anchor" href="#devops-tools">#</a>DevOps &amp; Tools</h2><ul>
11
+ <li><strong>Build Tools</strong>: Skilled locally with Webpack, Vite, and Rollup.</li>
12
+ <li><strong>Version Control</strong>: Proficient with Git and Git Flow workflows.</li>
13
+ <li><strong>CI/CD</strong>: Experienced in setting up pipelines with GitHub Actions, Jenkins, and Docker.</li>
14
+ </ul>
15
+ <h2 id="general"><a class="header-anchor" href="#general">#</a>General</h2><ul>
16
+ <li><strong>Languages</strong>: English (Professional working proficiency).</li>
17
+ <li><strong>Design</strong>: Comfortable using Figma/Sketch for inspecting designs; solid understanding of UI/UX principles.</li>
18
+ </ul>
@@ -0,0 +1,10 @@
1
+ <h1 id="education"><a class="header-anchor" href="#education">#</a>Education</h1><h2 id="university-of-auckland"><a class="header-anchor" href="#university-of-auckland">#</a>University of Auckland</h2><p><strong>Bachelor of Science in Computer Science</strong>
2
+ <strong>Feb 2014 - Nov 2017</strong></p>
3
+ <ul>
4
+ <li><strong>Key Coursework</strong>: Data Structures &amp; Algorithms, Operating Systems, Computer Networks, Database Systems, Software Engineering.</li>
5
+ <li><strong>Achievements</strong>:<ul>
6
+ <li>Dean&#39;s Honours List (2016).</li>
7
+ <li>First Class Honours.</li>
8
+ </ul>
9
+ </li>
10
+ </ul>
@@ -0,0 +1,18 @@
1
+ <h1 id="alex-freeman"><a class="header-anchor" href="#alex-freeman">#</a>Alex Freeman</h1><blockquote>
2
+ <p>Full Stack Engineer | Open Source Enthusiast | Lifelong Learner</p>
3
+ </blockquote>
4
+ <ul>
5
+ <li>📧 Email: <a href="javascript:lpPressLoad('/en/mailto:your.email@example.com')">your.email@example.com</a></li>
6
+ <li>📱 Mobile: +64 21 123 4567</li>
7
+ <li>🔗 GitHub: <a href="https://github.com/yourusername">github.com/yourusername</a></li>
8
+ <li>🌐 Blog: <a href="https://yourblog.com">yourblog.com</a></li>
9
+ <li>📍 Location: Auckland, New Zealand</li>
10
+ </ul>
11
+ <h2 id="personal-statement"><a class="header-anchor" href="#personal-statement">#</a>Personal Statement</h2><p>A seasoned Full Stack Engineer with over 5 years of experience in designing and building high-performance, scalable web applications. Proficient in the modern JavaScript ecosystem, including React, Node.js, and TypeScript. Passionate about open source software and actively maintaining several popular repositories on GitHub.</p>
12
+ <p>A problem-solver at heart with strong collaborative and communication skills. Committed to writing clean, maintainable code and delivering exceptional user experiences.</p>
13
+ <h2 id="career-objectives"><a class="header-anchor" href="#career-objectives">#</a>Career Objectives</h2><ul>
14
+ <li><strong>Role</strong>: Senior Frontend Engineer / Full Stack Engineer</li>
15
+ <li><strong>Location</strong>: Auckland / Remote</li>
16
+ <li><strong>Availability</strong>: 4 weeks notice</li>
17
+ <li><strong>Visa Status</strong>: NZ Resident / Work Visa</li>
18
+ </ul>
@@ -0,0 +1,25 @@
1
+ import html0 from './index.html';
2
+ import html1 from './en/01-experience/index.html';
3
+ import html2 from './en/02-projects/index.html';
4
+ import html3 from './en/03-skills/index.html';
5
+ import html4 from './en/04-education/index.html';
6
+ import html5 from './en/index.html';
7
+ import html6 from './zh/01-experience/index.html';
8
+ import html7 from './zh/02-projects/index.html';
9
+ import html8 from './zh/03-skills/index.html';
10
+ import html9 from './zh/04-education/index.html';
11
+ import html10 from './zh/index.html';
12
+
13
+ export const markdownConfig: Record<string, { html: string; data: any; headings: any[] }> = {
14
+ '/': { html: html0, data: {"lang":[{"title":"English","id":"en"},{"title":"简体中文","id":"zh"}]}, headings: [] },
15
+ '/en/01-experience/index': { html: html1, data: {"title":"Experience","order":1}, headings: [{"level":2,"text":"Senior Frontend Engineer | TechSolutions NZ Ltd.","id":"senior-frontend-engineer-techsolutions-nz-ltd"},{"level":2,"text":"Full Stack Developer | Creative Web Agency","id":"full-stack-developer-creative-web-agency"},{"level":2,"text":"Frontend Intern | Digital Innovation Studio","id":"frontend-intern-digital-innovation-studio"}] },
16
+ '/en/02-projects/index': { html: html2, data: {"title":"Projects","order":2}, headings: [{"level":2,"text":"Lupine.js (Open Source)","id":"lupine-js-https-github-com-uuware-lupine-js-open-source"},{"level":2,"text":"Personal Blog Generator","id":"personal-blog-generator"},{"level":2,"text":"Real-time Collaborative Editor","id":"real-time-collaborative-editor"}] },
17
+ '/en/03-skills/index': { html: html3, data: {"title":"Skills","order":3}, headings: [{"level":2,"text":"Frontend & Core","id":"frontend-core"},{"level":2,"text":"Backend & Database","id":"backend-database"},{"level":2,"text":"DevOps & Tools","id":"devops-tools"},{"level":2,"text":"General","id":"general"}] },
18
+ '/en/04-education/index': { html: html4, data: {"title":"Education","order":4}, headings: [{"level":2,"text":"University of Auckland","id":"university-of-auckland"}] },
19
+ '/en/index': { html: html5, data: {"title":"CV","order":0,"github-title":"View on GitHub","github-link":"https://github.com/uuware/lupine.js","sidebar":[{"type":"group","text":"Details","level":0},{"type":"link","text":"Experience","link":"/en/01-experience/index","level":1},{"type":"link","text":"Projects","link":"/en/02-projects/index","level":1},{"type":"link","text":"Skills","link":"/en/03-skills/index","level":1},{"type":"link","text":"Education","link":"/en/04-education/index","level":1}]}, headings: [{"level":2,"text":"Personal Statement","id":"personal-statement"},{"level":2,"text":"Career Objectives","id":"career-objectives"}] },
20
+ '/zh/01-experience/index': { html: html6, data: {"title":"工作经历","order":1}, headings: [{"level":2,"text":"高级前端工程师 | ABC 科技有限公司","id":"高级前端工程师-abc-科技有限公司"},{"level":2,"text":"全栈工程师 | XYZ 网络技术有限公司","id":"全栈工程师-xyz-网络技术有限公司"},{"level":2,"text":"前端实习生 | MNO 创新工作室","id":"前端实习生-mno-创新工作室"}] },
21
+ '/zh/02-projects/index': { html: html7, data: {"title":"项目经验","order":2}, headings: [{"level":2,"text":"Lupine.js (示例项目)","id":"lupine-js-https-github-com-uuware-lupine-js-示例项目"},{"level":2,"text":"个人博客系统","id":"个人博客系统"},{"level":2,"text":"实时协作文档平台","id":"实时协作文档平台"}] },
22
+ '/zh/03-skills/index': { html: html8, data: {"title":"专业技能","order":3}, headings: [{"level":2,"text":"前端核心","id":"前端核心"},{"level":2,"text":"后端与数据库","id":"后端与数据库"},{"level":2,"text":"工程化与工具","id":"工程化与工具"},{"level":2,"text":"其他","id":"其他"}] },
23
+ '/zh/04-education/index': { html: html9, data: {"title":"教育背景","order":4}, headings: [{"level":2,"text":"上海交通大学 (示例)","id":"上海交通大学-示例"}] },
24
+ '/zh/index': { html: html10, data: {"title":"工作简历","order":0,"github-title":"View on GitHub","github-link":"https://github.com/uuware/lupine.js","sidebar":[{"type":"group","text":"详细介绍","level":0},{"type":"link","text":"工作经历","link":"/zh/01-experience/index","level":1},{"type":"link","text":"项目经验","link":"/zh/02-projects/index","level":1},{"type":"link","text":"专业技能","link":"/zh/03-skills/index","level":1},{"type":"link","text":"教育背景","link":"/zh/04-education/index","level":1}]}, headings: [{"level":2,"text":"个人简介","id":"个人简介"},{"level":2,"text":"求职意向","id":"求职意向"}] },
25
+ };
@@ -0,0 +1,20 @@
1
+ <h1 id="工作经历"><a class="header-anchor" href="#工作经历">#</a>工作经历</h1><h2 id="高级前端工程师-abc-科技有限公司"><a class="header-anchor" href="#高级前端工程师-abc-科技有限公司">#</a>高级前端工程师 | ABC 科技有限公司</h2><p><strong>2021.06 - 至今</strong></p>
2
+ <ul>
3
+ <li><strong>核心架构</strong>: 负责公司核心产品的前端架构设计与重构,将首屏加载时间从 2.5s 优化至 1.2s。</li>
4
+ <li><strong>组件库建设</strong>: 主导开发并维护公司内部组件库 <code>abc-ui</code>,提升团队开发效率 30% 以上。</li>
5
+ <li><strong>性能优化</strong>: 针对大型数据可视化页面进行性能调优,支持十万级数据流畅渲染。</li>
6
+ <li><strong>团队协作</strong>: 指导 3 名初级工程师,制定代码规范并进行代码审查。</li>
7
+ </ul>
8
+ <h2 id="全栈工程师-xyz-网络技术有限公司"><a class="header-anchor" href="#全栈工程师-xyz-网络技术有限公司">#</a>全栈工程师 | XYZ 网络技术有限公司</h2><p><strong>2018.06 - 2021.05</strong></p>
9
+ <ul>
10
+ <li><strong>系统开发</strong>: 独立负责电商后台管理系统的全栈开发(Vue.js + Node.js),实现了订单管理、用户权限等模块。</li>
11
+ <li><strong>API 设计</strong>: 设计并实现 RESTful API,并编写 Swagger 文档,方便前后端协作。</li>
12
+ <li><strong>CI/CD</strong>: 搭建基于 Jenkins 的自动化构建与部署流程,将发布时间缩短 50%。</li>
13
+ <li><strong>移动端适配</strong>: 负责 H5 营销页面的开发与兼容性调试,确保在主流浏览器及移动设备上的完美展示。</li>
14
+ </ul>
15
+ <h2 id="前端实习生-mno-创新工作室"><a class="header-anchor" href="#前端实习生-mno-创新工作室">#</a>前端实习生 | MNO 创新工作室</h2><p><strong>2017.07 - 2018.05</strong></p>
16
+ <ul>
17
+ <li><strong>页面切图</strong>: 配合 UI 设计师完成高保真页面还原,HTML/CSS 代码规范整洁。</li>
18
+ <li><strong>交互实现</strong>: 使用 jQuery/原生 JS 实现复杂的页面交互效果。</li>
19
+ <li><strong>Bug 修复</strong>: 参与日常 Bug 修复与功能维护。</li>
20
+ </ul>
@@ -0,0 +1,28 @@
1
+ <h1 id="项目经验"><a class="header-anchor" href="#项目经验">#</a>项目经验</h1><h2 id="lupine-js-https-github-com-uuware-lupine-js-示例项目"><a class="header-anchor" href="#lupine-js-https-github-com-uuware-lupine-js-示例项目">#</a><a href="https://github.com/uuware/lupine.js">Lupine.js</a> (示例项目)</h2><p><strong>技术栈</strong>: TypeScript, React, Node.js</p>
2
+ <ul>
3
+ <li><strong>项目描述</strong>: 一个高性能、模块化的全栈开发框架,旨在简化现代 Web 应用的构建过程。</li>
4
+ <li><strong>负责内容</strong>:<ul>
5
+ <li>核心运行时设计与实现。</li>
6
+ <li>插件系统架构,支持动态加载扩展。</li>
7
+ <li>编写详细的官方文档与示例代码。</li>
8
+ </ul>
9
+ </li>
10
+ <li><strong>成果</strong>: 在 GitHub 上获得 1k+ Stars,主要贡献者之一。</li>
11
+ </ul>
12
+ <h2 id="个人博客系统"><a class="header-anchor" href="#个人博客系统">#</a>个人博客系统</h2><p><strong>技术栈</strong>: Next.js, Tailwind CSS, Markdown</p>
13
+ <ul>
14
+ <li><strong>项目描述</strong>: 基于 Next.js 构建的静态博客生成器,支持 MDX 渲染与自定义主题。</li>
15
+ <li><strong>主要功能</strong>:<ul>
16
+ <li>高性能 SSG 渲染,SEO 友好。</li>
17
+ <li>集成评论系统与全文搜索。</li>
18
+ <li>暗黑模式支持。</li>
19
+ </ul>
20
+ </li>
21
+ <li><strong>成果</strong>: 个人长期维护,日均访问量 500+。</li>
22
+ </ul>
23
+ <h2 id="实时协作文档平台"><a class="header-anchor" href="#实时协作文档平台">#</a>实时协作文档平台</h2><p><strong>技术栈</strong>: Vue 3, Socket.io, Node.js, MongoDB</p>
24
+ <ul>
25
+ <li><strong>项目描述</strong>: 类似于 Google Docs 的多人实时在线协作文档编辑工具。</li>
26
+ <li><strong>核心难点</strong>: 解决多人同时编辑时的冲突处理(OT 算法)。</li>
27
+ <li><strong>成果</strong>: 成功支持 20+ 人同时在线编辑同一文档,延迟低至 100ms。</li>
28
+ </ul>
@@ -0,0 +1,18 @@
1
+ <h1 id="专业技能"><a class="header-anchor" href="#专业技能">#</a>专业技能</h1><h2 id="前端核心"><a class="header-anchor" href="#前端核心">#</a>前端核心</h2><ul>
2
+ <li><strong>JavaScript (ES6+) / TypeScript</strong>: 精通,能够编写类型安全的高质量代码。</li>
3
+ <li><strong>HTML5 / CSS3</strong>: 熟练掌握,熟悉 Flexbox, Grid 布局及响应式设计。</li>
4
+ <li><strong>React / Vue</strong>: 深入理解 React Hooks 和 Vue 3 响应式原理,有丰富的实战经验。</li>
5
+ </ul>
6
+ <h2 id="后端与数据库"><a class="header-anchor" href="#后端与数据库">#</a>后端与数据库</h2><ul>
7
+ <li><strong>Node.js</strong>: 熟悉 Express / Koa / NestJS 框架,能够构建可扩展的服务端应用。</li>
8
+ <li><strong>Database</strong>: 熟悉 MySQL, MongoDB, Redis 的使用与基本调优。</li>
9
+ </ul>
10
+ <h2 id="工程化与工具"><a class="header-anchor" href="#工程化与工具">#</a>工程化与工具</h2><ul>
11
+ <li><strong>构建工具</strong>: 熟练使用 Webpack, Vite, Rollup 进行项目构建与优化。</li>
12
+ <li><strong>版本控制</strong>: 精通 Git 操作,熟悉 Git Flow 工作流。</li>
13
+ <li><strong>CI/CD</strong>: 熟悉 GitHub Actions, Jenkins, Docker 容器化部署。</li>
14
+ </ul>
15
+ <h2 id="其他"><a class="header-anchor" href="#其他">#</a>其他</h2><ul>
16
+ <li><strong>英语</strong>: CET-6,能够流畅阅读英文技术文档。</li>
17
+ <li><strong>设计</strong>: 熟练使用 Figma / Sketch 查看设计稿,具备基本的审美能力。</li>
18
+ </ul>
@@ -0,0 +1,11 @@
1
+ <h1 id="教育背景"><a class="header-anchor" href="#教育背景">#</a>教育背景</h1><h2 id="上海交通大学-示例"><a class="header-anchor" href="#上海交通大学-示例">#</a>上海交通大学 (示例)</h2><p><strong>计算机科学与技术 | 本科</strong>
2
+ <strong>2014.09 - 2018.06</strong></p>
3
+ <ul>
4
+ <li><strong>主修课程</strong>: 数据结构与算法、操作系统、计算机网络、数据库原理、软件工程。</li>
5
+ <li><strong>荣誉奖项</strong>:<ul>
6
+ <li>2016-2017 学年 校级一等奖学金</li>
7
+ <li>2017 年 全国大学生数学建模竞赛 省级二等奖</li>
8
+ <li>2018 年 优秀毕业生</li>
9
+ </ul>
10
+ </li>
11
+ </ul>
@@ -0,0 +1,18 @@
1
+ <h1 id="张三-san-zhang"><a class="header-anchor" href="#张三-san-zhang">#</a>张三 (San Zhang)</h1><blockquote>
2
+ <p>全栈工程师 | 开源爱好者 | 持续学习者</p>
3
+ </blockquote>
4
+ <ul>
5
+ <li>📧 Email: <a href="javascript:lpPressLoad('/zh/mailto:your.email@example.com')">your.email@example.com</a></li>
6
+ <li>📱 电话: +86 138 0000 0000</li>
7
+ <li>🔗 GitHub: <a href="https://github.com/yourusername">github.com/yourusername</a></li>
8
+ <li>🌐 博客: <a href="https://yourblog.com">yourblog.com</a></li>
9
+ <li>📍 地点: 中国,上海</li>
10
+ </ul>
11
+ <h2 id="个人简介"><a class="header-anchor" href="#个人简介">#</a>个人简介</h2><p>拥有 5 年以上的前端和后端开发经验,专注于构建高性能、可扩展的 Web 应用。熟练掌握 React, Node.js, TypeScript 等技术栈。热衷于开源社区,并在 GitHub 上维护多个受欢迎的项目。</p>
12
+ <p>善于解决复杂问题,具备良好的团队协作能力和沟通技巧。致力于编写整洁、可维护的代码,并关注用户体验和产品质量。</p>
13
+ <h2 id="求职意向"><a class="header-anchor" href="#求职意向">#</a>求职意向</h2><ul>
14
+ <li><strong>期望职位</strong>: 高级前端工程师 / 全栈工程师</li>
15
+ <li><strong>期望城市</strong>: 上海 / 杭州 / 远程</li>
16
+ <li><strong>期望薪资</strong>: 面议</li>
17
+ <li><strong>目前状态</strong>: 随时到岗</li>
18
+ </ul>
@@ -0,0 +1,15 @@
1
+ export const baseCss = {
2
+ a: {
3
+ textDecoration: 'none',
4
+ color: 'inherit',
5
+ '&:hover': { color: 'var(--press-brand-color)' },
6
+ },
7
+ body: {
8
+ backgroundColor: 'var(--primary-bg-color)',
9
+ color: 'var(--primary-color)',
10
+ fontSize: 'var(--font-size-base)',
11
+ lineHeight: 'var(--line-height-base)',
12
+ fontFamily: 'var(--font-family-base)',
13
+ fontWeight: 'var(--font-weight-base)',
14
+ },
15
+ };