add volunteer activities and compact resume layout
This commit is contained in:
@@ -38,19 +38,18 @@ function replaceRegexOnce(source, regex, to, label) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function patchSsr(source) {
|
function patchSsr(source) {
|
||||||
source = source.replace(/metrics\.gapY\(3\.5\)/g, "metrics.gapY(2.6)");
|
source = source
|
||||||
|
.replace(/metrics\.gapY\(3\.5\)/g, "metrics.gapY(2.2)")
|
||||||
|
.replace(/metrics\.gapY\(2\.6\)/g, "metrics.gapY(2.2)");
|
||||||
|
|
||||||
source = replaceOnce(
|
source = source
|
||||||
source,
|
.replace(
|
||||||
"style: composeStyles(styles.sidebarContent, { rowGap: metrics.sectionGap }),",
|
/style: composeStyles\(styles\.sidebarContent, \{ rowGap: metrics\.sectionGap \}\),/g,
|
||||||
"style: composeStyles(styles.sidebarContent, { rowGap: metrics.gapY(2.6) }),",
|
"style: composeStyles(styles.sidebarContent, { rowGap: metrics.gapY(2.2) }),",
|
||||||
"SSR Glalie sidebar section gap",
|
)
|
||||||
);
|
.replace(
|
||||||
source = replaceOnce(
|
/style: composeStyles\(styles\.mainContent, \{ rowGap: metrics\.sectionGap \}\),/g,
|
||||||
source,
|
"style: composeStyles(styles.mainContent, { rowGap: metrics.gapY(2.2) }),",
|
||||||
"style: composeStyles(styles.mainContent, { rowGap: metrics.sectionGap }),",
|
|
||||||
"style: composeStyles(styles.mainContent, { rowGap: metrics.gapY(2.6) }),",
|
|
||||||
"SSR Glalie main section gap",
|
|
||||||
);
|
);
|
||||||
source = replaceRegexOnce(
|
source = replaceRegexOnce(
|
||||||
source,
|
source,
|
||||||
@@ -71,7 +70,7 @@ function patchSsr(source) {
|
|||||||
\t\t\t\t\tpaddingHorizontal: metrics.page.paddingHorizontal,
|
\t\t\t\t\tpaddingHorizontal: metrics.page.paddingHorizontal,
|
||||||
\t\t\t\t\tpaddingTop: metrics.page.paddingVertical,
|
\t\t\t\t\tpaddingTop: metrics.page.paddingVertical,
|
||||||
\t\t\t\t\tpaddingBottom: metrics.page.paddingVertical,
|
\t\t\t\t\tpaddingBottom: metrics.page.paddingVertical,
|
||||||
\t\t\t\t\trowGap: metrics.gapY(2.6)
|
\t\t\t\t\trowGap: metrics.gapY(2.2)
|
||||||
\t\t\t\t},`,
|
\t\t\t\t},`,
|
||||||
"SSR Glalie sidebar bottom padding",
|
"SSR Glalie sidebar bottom padding",
|
||||||
);
|
);
|
||||||
@@ -85,26 +84,21 @@ function patchSsr(source) {
|
|||||||
\t\t\t\t},`,
|
\t\t\t\t},`,
|
||||||
"SSR Glalie main bottom padding",
|
"SSR Glalie main bottom padding",
|
||||||
);
|
);
|
||||||
return source.replace(/metrics\.gapY\(3\.5\)/g, "metrics.gapY(2.6)");
|
return source
|
||||||
|
.replace(/metrics\.gapY\(3\.5\)/g, "metrics.gapY(2.2)")
|
||||||
|
.replace(/metrics\.gapY\(2\.6\)/g, "metrics.gapY(2.2)");
|
||||||
}
|
}
|
||||||
|
|
||||||
function patchPublic(source) {
|
function patchPublic(source) {
|
||||||
source = source
|
source = source
|
||||||
.replace(/o\.gapY\(3\.5\)/g, "o.gapY(2.6)")
|
.replace(/o\.gapY\(3\.5\)/g, "o.gapY(2.2)")
|
||||||
.replace(/c\.gapY\(3\.5\)/g, "c.gapY(2.6)");
|
.replace(/c\.gapY\(3\.5\)/g, "c.gapY(2.2)")
|
||||||
|
.replace(/o\.gapY\(2\.6\)/g, "o.gapY(2.2)")
|
||||||
|
.replace(/c\.gapY\(2\.6\)/g, "c.gapY(2.2)");
|
||||||
|
|
||||||
source = replaceOnce(
|
source = source
|
||||||
source,
|
.replace(/style:\$\(a\.sidebarContent,\{rowGap:o\.sectionGap\}\)/g, "style:$(a.sidebarContent,{rowGap:o.gapY(2.2)})")
|
||||||
"style:$(a.sidebarContent,{rowGap:o.sectionGap})",
|
.replace(/style:\$\(a\.mainContent,\{rowGap:o\.sectionGap\}\)/g, "style:$(a.mainContent,{rowGap:o.gapY(2.2)})");
|
||||||
"style:$(a.sidebarContent,{rowGap:o.gapY(2.6)})",
|
|
||||||
"public Glalie sidebar section gap",
|
|
||||||
);
|
|
||||||
source = replaceOnce(
|
|
||||||
source,
|
|
||||||
"style:$(a.mainContent,{rowGap:o.sectionGap})",
|
|
||||||
"style:$(a.mainContent,{rowGap:o.gapY(2.6)})",
|
|
||||||
"public Glalie main section gap",
|
|
||||||
);
|
|
||||||
source = replaceOnce(
|
source = replaceOnce(
|
||||||
source,
|
source,
|
||||||
"sectionHeading:{borderBottomWidth:1,borderBottomColor:a}",
|
"sectionHeading:{borderBottomWidth:1,borderBottomColor:a}",
|
||||||
@@ -114,7 +108,7 @@ function patchPublic(source) {
|
|||||||
source = replaceOnce(
|
source = replaceOnce(
|
||||||
source,
|
source,
|
||||||
"sidebarColumn:{zIndex:1,backgroundColor:o,paddingHorizontal:c.page.paddingHorizontal,paddingTop:c.page.paddingVertical,rowGap:c.sectionGap}",
|
"sidebarColumn:{zIndex:1,backgroundColor:o,paddingHorizontal:c.page.paddingHorizontal,paddingTop:c.page.paddingVertical,rowGap:c.sectionGap}",
|
||||||
"sidebarColumn:{zIndex:1,backgroundColor:o,paddingHorizontal:c.page.paddingHorizontal,paddingTop:c.page.paddingVertical,paddingBottom:c.page.paddingVertical,rowGap:c.gapY(2.6)}",
|
"sidebarColumn:{zIndex:1,backgroundColor:o,paddingHorizontal:c.page.paddingHorizontal,paddingTop:c.page.paddingVertical,paddingBottom:c.page.paddingVertical,rowGap:c.gapY(2.2)}",
|
||||||
"public Glalie sidebar bottom padding",
|
"public Glalie sidebar bottom padding",
|
||||||
);
|
);
|
||||||
source = replaceOnce(
|
source = replaceOnce(
|
||||||
@@ -124,8 +118,10 @@ function patchPublic(source) {
|
|||||||
"public Glalie main bottom padding",
|
"public Glalie main bottom padding",
|
||||||
);
|
);
|
||||||
return source
|
return source
|
||||||
.replace(/o\.gapY\(3\.5\)/g, "o.gapY(2.6)")
|
.replace(/o\.gapY\(3\.5\)/g, "o.gapY(2.2)")
|
||||||
.replace(/c\.gapY\(3\.5\)/g, "c.gapY(2.6)");
|
.replace(/c\.gapY\(3\.5\)/g, "c.gapY(2.2)")
|
||||||
|
.replace(/o\.gapY\(2\.6\)/g, "o.gapY(2.2)")
|
||||||
|
.replace(/c\.gapY\(2\.6\)/g, "c.gapY(2.2)");
|
||||||
}
|
}
|
||||||
|
|
||||||
function patchImporters() {
|
function patchImporters() {
|
||||||
|
|||||||
1
生成简历/backups/王志博-医工智能外科简历-志愿活动调整前备份-20260518T205516.json
Normal file
1
生成简历/backups/王志博-医工智能外科简历-志愿活动调整前备份-20260518T205516.json
Normal file
File diff suppressed because one or more lines are too long
@@ -51,14 +51,14 @@
|
|||||||
"metadata": {
|
"metadata": {
|
||||||
"page": {
|
"page": {
|
||||||
"gapX": 3.8,
|
"gapX": 3.8,
|
||||||
"gapY": 0.54,
|
"gapY": 0.62,
|
||||||
"format": "a4",
|
"format": "a4",
|
||||||
"locale": "zh-CN",
|
"locale": "zh-CN",
|
||||||
"marginX": 8.4,
|
"marginX": 8.4,
|
||||||
"marginY": 8.5,
|
"marginY": 8.5,
|
||||||
"hideIcons": false
|
"hideIcons": false
|
||||||
},
|
},
|
||||||
"notes": "Design direction: refined clinical-tech academic profile. Glalie two-column layout with CJK-safe line height, modestly larger body type, compact section rhythm, navy-blue medical technology accent, and two-page hierarchy for personal achievements and translational impact.",
|
"notes": "Design direction: refined clinical-tech academic profile. Glalie two-column layout with CJK-safe line height, slightly larger body type, compact and even section rhythm, period-under-organization sidebar roles, and concise volunteer/social activity evidence.",
|
||||||
"design": {
|
"design": {
|
||||||
"level": {
|
"level": {
|
||||||
"icon": "star",
|
"icon": "star",
|
||||||
@@ -85,7 +85,8 @@
|
|||||||
"skills",
|
"skills",
|
||||||
"languages",
|
"languages",
|
||||||
"802bfd76-af47-4c5d-8b04-f89a38932dcd",
|
"802bfd76-af47-4c5d-8b04-f89a38932dcd",
|
||||||
"volunteer"
|
"volunteer",
|
||||||
|
"4a9c2385-2f79-4d50-99cf-6d2aaef0b6c6"
|
||||||
],
|
],
|
||||||
"fullWidth": false
|
"fullWidth": false
|
||||||
},
|
},
|
||||||
@@ -107,9 +108,9 @@
|
|||||||
"template": "glalie",
|
"template": "glalie",
|
||||||
"typography": {
|
"typography": {
|
||||||
"body": {
|
"body": {
|
||||||
"fontSize": 6.86,
|
"fontSize": 6.95,
|
||||||
"fontFamily": "Noto Sans SC",
|
"fontFamily": "Noto Sans SC",
|
||||||
"lineHeight": 1.2,
|
"lineHeight": 1.21,
|
||||||
"fontWeights": [
|
"fontWeights": [
|
||||||
"400",
|
"400",
|
||||||
"500",
|
"500",
|
||||||
@@ -117,9 +118,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"heading": {
|
"heading": {
|
||||||
"fontSize": 9.05,
|
"fontSize": 9.15,
|
||||||
"fontFamily": "Noto Serif SC",
|
"fontFamily": "Noto Serif SC",
|
||||||
"lineHeight": 1.18,
|
"lineHeight": 1.19,
|
||||||
"fontWeights": [
|
"fontWeights": [
|
||||||
"600",
|
"600",
|
||||||
"700"
|
"700"
|
||||||
@@ -527,53 +528,53 @@
|
|||||||
{
|
{
|
||||||
"id": "50c41f06-d048-48d6-a5b0-c67521104562",
|
"id": "50c41f06-d048-48d6-a5b0-c67521104562",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"period": "2022 - 至今",
|
"period": "",
|
||||||
"website": {
|
"website": {
|
||||||
"url": "",
|
"url": "",
|
||||||
"label": "",
|
"label": "",
|
||||||
"inlineLink": false
|
"inlineLink": false
|
||||||
},
|
},
|
||||||
"location": "",
|
"location": "",
|
||||||
"description": "<p>宣传委员</p>",
|
"description": "<p>2022 - 至今<br/>宣传委员</p>",
|
||||||
"organization": "未来技术学院医工学博士党支部"
|
"organization": "未来技术学院医工学博士党支部"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "bbc0e308-86db-4894-a136-24b80555d25c",
|
"id": "bbc0e308-86db-4894-a136-24b80555d25c",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"period": "2024",
|
"period": "",
|
||||||
"website": {
|
"website": {
|
||||||
"url": "",
|
"url": "",
|
||||||
"label": "",
|
"label": "",
|
||||||
"inlineLink": false
|
"inlineLink": false
|
||||||
},
|
},
|
||||||
"location": "",
|
"location": "",
|
||||||
"description": "<p>学习部负责人;第十五次研究生代表大会代表</p>",
|
"description": "<p>2024<br/>学习部负责人;第十五次研究生代表大会代表</p>",
|
||||||
"organization": "未来技术学院学生会 / 研究生会"
|
"organization": "未来技术学院学生会 / 研究生会"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "72a41ed7-2ce6-4c36-a524-aac20b6a7bef",
|
"id": "72a41ed7-2ce6-4c36-a524-aac20b6a7bef",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"period": "2026",
|
"period": "",
|
||||||
"website": {
|
"website": {
|
||||||
"url": "",
|
"url": "",
|
||||||
"label": "",
|
"label": "",
|
||||||
"inlineLink": false
|
"inlineLink": false
|
||||||
},
|
},
|
||||||
"location": "",
|
"location": "",
|
||||||
"description": "<p>第一次党员代表大会代表</p>",
|
"description": "<p>2026<br/>第一次党员代表大会代表</p>",
|
||||||
"organization": "未来技术学院党员代表大会"
|
"organization": "未来技术学院党员代表大会"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "0e5bd75f-e635-44c7-8379-43fdc2dc45b8",
|
"id": "0e5bd75f-e635-44c7-8379-43fdc2dc45b8",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"period": "2022 - 至今",
|
"period": "",
|
||||||
"website": {
|
"website": {
|
||||||
"url": "",
|
"url": "",
|
||||||
"label": "",
|
"label": "",
|
||||||
"inlineLink": false
|
"inlineLink": false
|
||||||
},
|
},
|
||||||
"location": "",
|
"location": "",
|
||||||
"description": "<p>学习委员</p>",
|
"description": "<p>2022 - 至今<br/>学习委员</p>",
|
||||||
"organization": "未来技术学院 B2275 班班委"
|
"organization": "未来技术学院 B2275 班班委"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -1052,53 +1053,53 @@
|
|||||||
{
|
{
|
||||||
"id": "76390bf9-49d5-4fbc-98ab-6691477e982d",
|
"id": "76390bf9-49d5-4fbc-98ab-6691477e982d",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"period": "2024 - 至今",
|
"period": "",
|
||||||
"website": {
|
"website": {
|
||||||
"url": "",
|
"url": "",
|
||||||
"label": "",
|
"label": "",
|
||||||
"inlineLink": false
|
"inlineLink": false
|
||||||
},
|
},
|
||||||
"location": "",
|
"location": "",
|
||||||
"description": "<p>理事</p>",
|
"description": "<p>2024 - 至今<br/>理事</p>",
|
||||||
"organization": "中医药信息学会中西医外科智能诊疗分会"
|
"organization": "中医药信息学会中西医外科智能诊疗分会"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "c2291187-b7c3-48a2-820a-40e06836072b",
|
"id": "c2291187-b7c3-48a2-820a-40e06836072b",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"period": "2024 - 至今",
|
"period": "",
|
||||||
"website": {
|
"website": {
|
||||||
"url": "",
|
"url": "",
|
||||||
"label": "",
|
"label": "",
|
||||||
"inlineLink": false
|
"inlineLink": false
|
||||||
},
|
},
|
||||||
"location": "",
|
"location": "",
|
||||||
"description": "<p>青年理事</p>",
|
"description": "<p>2024 - 至今<br/>青年理事</p>",
|
||||||
"organization": "中国抗癌协会"
|
"organization": "中国抗癌协会"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "1f873e55-fde9-4b85-ab6f-d151d5b15d53",
|
"id": "1f873e55-fde9-4b85-ab6f-d151d5b15d53",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"period": "2024 - 至今",
|
"period": "",
|
||||||
"website": {
|
"website": {
|
||||||
"url": "",
|
"url": "",
|
||||||
"label": "",
|
"label": "",
|
||||||
"inlineLink": false
|
"inlineLink": false
|
||||||
},
|
},
|
||||||
"location": "",
|
"location": "",
|
||||||
"description": "<p>数字医疗专业委员会委员</p>",
|
"description": "<p>2024 - 至今<br/>数字医疗专业委员会委员</p>",
|
||||||
"organization": "中国医药教育协会"
|
"organization": "中国医药教育协会"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "e1bf3d6a-6018-4c3e-9330-3e7c3a2d89a1",
|
"id": "e1bf3d6a-6018-4c3e-9330-3e7c3a2d89a1",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"period": "2024 - 至今",
|
"period": "",
|
||||||
"website": {
|
"website": {
|
||||||
"url": "",
|
"url": "",
|
||||||
"label": "",
|
"label": "",
|
||||||
"inlineLink": false
|
"inlineLink": false
|
||||||
},
|
},
|
||||||
"location": "",
|
"location": "",
|
||||||
"description": "<p>学生会员</p>",
|
"description": "<p>2024 - 至今<br/>学生会员</p>",
|
||||||
"organization": "中国生物医学工程学会"
|
"organization": "中国生物医学工程学会"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -1183,6 +1184,41 @@
|
|||||||
"title": "所在课题组",
|
"title": "所在课题组",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"columns": 1
|
"columns": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "4a9c2385-2f79-4d50-99cf-6d2aaef0b6c6",
|
||||||
|
"type": "volunteer",
|
||||||
|
"title": "志愿及社会活动",
|
||||||
|
"hidden": false,
|
||||||
|
"columns": 1,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"id": "fc2f36e5-6737-4c77-a6e7-9d9a4f9f7250",
|
||||||
|
"hidden": false,
|
||||||
|
"period": "",
|
||||||
|
"website": {
|
||||||
|
"url": "",
|
||||||
|
"label": "",
|
||||||
|
"inlineLink": false
|
||||||
|
},
|
||||||
|
"location": "",
|
||||||
|
"organization": "西安市高陵区第四中学教育集团",
|
||||||
|
"description": "<p>2024<br/>科技副校长聘任 / 中学宣讲与科普服务</p>"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "09e05a88-e3b4-4d33-b467-3b7f4555a9ea",
|
||||||
|
"hidden": false,
|
||||||
|
"period": "",
|
||||||
|
"website": {
|
||||||
|
"url": "",
|
||||||
|
"label": "",
|
||||||
|
"inlineLink": false
|
||||||
|
},
|
||||||
|
"location": "",
|
||||||
|
"organization": "无偿献血",
|
||||||
|
"description": "<p>2022 - 2024<br/>累计全血 600ml、成分血 2 治疗量</p>"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user