- 新增 soe/index.html、soe/resume.css(复制主简历及其样式,样式独立维护) - nginx.conf 注册 /soe/ 路由 - Dockerfile 增加 COPY soe/ Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
+406
@@ -0,0 +1,406 @@
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "Microsoft YaHei", Arial, sans-serif;
|
||||
background: #ffffff;
|
||||
color: #222222;
|
||||
line-height: 1.4;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.page {
|
||||
width: 794px;
|
||||
min-height: 1123px;
|
||||
margin: 0 auto;
|
||||
padding: 12px 22px;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
.header {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 28px;
|
||||
font-weight: 800;
|
||||
color: #222222;
|
||||
margin-bottom: 3px;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
.contact-info {
|
||||
font-size: 12px;
|
||||
color: #222;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.contact-line {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 18px;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
|
||||
.contact-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.position-line {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.website-line {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
/* Section */
|
||||
.section {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: #4478DF;
|
||||
padding: 3px 10px;
|
||||
border-left: 3px solid #4478DF;
|
||||
background-color: #EEF3FF;
|
||||
margin-bottom: 4px;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
/* Education */
|
||||
.edu-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: baseline;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.edu-school {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.edu-badge {
|
||||
display: inline-block;
|
||||
font-size: 10px;
|
||||
color: #4478DF;
|
||||
border: 1px solid #4478DF;
|
||||
border-radius: 4px;
|
||||
padding: 1px 5px;
|
||||
margin-left: 6px;
|
||||
vertical-align: middle;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.edu-major {
|
||||
font-size: 13px;
|
||||
color: #888;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.edu-degree {
|
||||
font-size: 13px;
|
||||
color: #888;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.edu-date {
|
||||
font-size: 13px;
|
||||
color: #888;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.edu-items {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 2px 20px;
|
||||
margin-left: 12px;
|
||||
font-size: 13px;
|
||||
color: #252525;
|
||||
line-height: 1.45;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.edu-items li {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* Honors */
|
||||
.honor-section {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.honor-left {
|
||||
width: 55%;
|
||||
border-right: 1px dashed #ccc;
|
||||
padding-right: 12px;
|
||||
}
|
||||
|
||||
.honor-right {
|
||||
width: 45%;
|
||||
padding-left: 12px;
|
||||
}
|
||||
|
||||
.honor-item {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 2px;
|
||||
font-size: 13px;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.honor-content {
|
||||
color: #222;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.honor-right .honor-content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.honor-right .honor-name {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.honor-name {
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.honor-badge {
|
||||
display: inline-block;
|
||||
min-width: 52px;
|
||||
text-align: right;
|
||||
margin-left: 4px;
|
||||
font-size: 12px;
|
||||
color: #888;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.cert-link {
|
||||
color: #4478DF;
|
||||
text-decoration: none;
|
||||
margin-left: 8px;
|
||||
font-size: 13px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.honor-item .cert-link {
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.honor-date {
|
||||
color: #888;
|
||||
white-space: nowrap;
|
||||
margin-left: 4px;
|
||||
min-width: 56px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* Experience */
|
||||
.exp-header {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
|
||||
.exp-company {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.exp-date {
|
||||
font-size: 13px;
|
||||
color: #888;
|
||||
white-space: nowrap;
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
.exp-position {
|
||||
font-size: 12px;
|
||||
color: #888;
|
||||
flex: 1;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.exp-items {
|
||||
margin-left: 12px;
|
||||
font-size: 13px;
|
||||
color: #252525;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.exp-items li {
|
||||
list-style-type: disc;
|
||||
margin-left: 6px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
/* Project */
|
||||
.proj-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: baseline;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
|
||||
.proj-title-line {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.proj-name {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.proj-role {
|
||||
font-size: 12px;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.proj-date {
|
||||
font-size: 13px;
|
||||
color: #888;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.proj-link-line {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
font-size: 12px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.proj-tags {
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.proj-tag {
|
||||
display: inline-block;
|
||||
font-size: 10px;
|
||||
color: #4478DF;
|
||||
border: 1px solid #4478DF;
|
||||
border-radius: 3px;
|
||||
padding: 0px 4px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.proj-link {
|
||||
color: #4478DF;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.proj-intro {
|
||||
font-size: 13px;
|
||||
color: #252525;
|
||||
line-height: 1.45;
|
||||
margin-bottom: 3px;
|
||||
border: 1px dashed #b0b0b0;
|
||||
border-radius: 4px;
|
||||
padding: 4px 8px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.proj-desc {
|
||||
color: #656464;
|
||||
display: block;
|
||||
text-indent: 24px;
|
||||
}
|
||||
|
||||
.proj-work-title {
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
color: #222;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.proj-work-items {
|
||||
margin-left: 12px;
|
||||
font-size: 13px;
|
||||
color: #252525;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.proj-work-items li {
|
||||
list-style-type: decimal;
|
||||
margin-left: 12px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
/* Skills */
|
||||
.skill-items {
|
||||
margin-left: 12px;
|
||||
font-size: 13px;
|
||||
color: #252525;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.skill-items li {
|
||||
list-style-type: disc;
|
||||
margin-left: 6px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
/* SVG Icons */
|
||||
.svg-icon {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
fill: #4478DF;
|
||||
vertical-align: middle;
|
||||
margin-right: 5px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* Company Logo */
|
||||
.company-logo {
|
||||
height: 16px;
|
||||
vertical-align: middle;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.company-logo.small {
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
.company-logo.icpc {
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
.company-logo.hust {
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
.company-logo.qiniu {
|
||||
height: 14px;
|
||||
}
|
||||
|
||||
/* Print styles - force background colors to display */
|
||||
@media print {
|
||||
* {
|
||||
-webkit-print-color-adjust: exact !important;
|
||||
print-color-adjust: exact !important;
|
||||
color-adjust: exact !important;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user