|
1 | | -<!-- 头部 --> |
| 1 | +<!-- 头部(banner 大图已移除,图片文件仍保留在 source/img/) --> |
2 | 2 | <div class="header header-detail"> |
3 | 3 | <%- partial('menu') %> |
4 | | - <!-- 头部内容 --> |
5 | | - <div class="container"> |
6 | | - <div class="row justify-content-center"> |
7 | | - <div class="col-12 col-md-8"> |
8 | | - <%- image_tag('img/banner-detail-new.png', {class: 'home-head', alt: 'logo'}) %> |
9 | | - </div> |
10 | | - </div> |
11 | | - </div> |
12 | 4 | </div> |
13 | 5 | <!-- 详情 --> |
14 | 6 | <div class="container pt-5 detail-content"> |
15 | 7 | <div class="row justify-content-center"> |
16 | 8 | <div class="col-sm-12 col-md-8"> |
17 | | - <div class="d-flex flex-column flex-md-row justify-content-between"> |
18 | | - <div class="d-flex"> |
19 | | - <%- partial('avatar', {className: 'detail-avatar me-4', item: item}) %> |
20 | | - <div> |
21 | | - <div class="detail-nick"> |
22 | | - <%- item.name ? item.name : item.slug %> |
23 | | - <% |
24 | | - const years = site.data.rankingList?.sort((a,b)=>b.year - a.year).flatMap(({ year, annualRanking }) => |
25 | | - annualRanking |
26 | | - .filter(({ login }) => login == item.slug) |
27 | | - .map(({ ranking }) => ({ year, ranking })) |
28 | | - ); |
29 | | - %> |
| 9 | + <!-- 终端风 profile 卡片:$ ./whois <login> --> |
| 10 | + <div class="detail-term"> |
| 11 | + <div class="detail-term-bar"> |
| 12 | + <span class="detail-term-dots" aria-hidden="true"><i></i><i></i><i></i></span> |
| 13 | + <span class="detail-term-title">opensource@win: ~</span> |
| 14 | + </div> |
| 15 | + <div class="detail-term-body"> |
| 16 | + <div class="detail-term-cmd"><span class="detail-term-prompt" aria-hidden="true">$</span> ./whois <%- item.slug %></div> |
| 17 | + <% |
| 18 | + const years = site.data.rankingList?.sort((a,b)=>b.year - a.year).flatMap(({ year, annualRanking }) => |
| 19 | + annualRanking |
| 20 | + .filter(({ login }) => login == item.slug) |
| 21 | + .map(({ ranking }) => ({ year, ranking })) |
| 22 | + ); |
| 23 | + %> |
| 24 | + <div class="detail-term-result"> |
| 25 | + <%- partial('avatar', {className: 'detail-avatar', item: item}) %> |
| 26 | + <div class="detail-term-info"> |
| 27 | + <div class="detail-term-line"> |
| 28 | + <span class="detail-term-out" aria-hidden="true">></span> |
| 29 | + <span class="detail-term-key" data-i18n-zh="名称" data-i18n-en="name">名称</span> |
| 30 | + <span class="detail-term-sep" aria-hidden="true">::</span> |
| 31 | + <span class="detail-term-name"><%- item.name ? item.name : item.slug %></span> |
| 32 | + </div> |
| 33 | + <div class="detail-term-line"> |
| 34 | + <span class="detail-term-out" aria-hidden="true">></span> |
| 35 | + <span class="detail-term-key" data-i18n-zh="简介" data-i18n-en="bio">简介</span> |
| 36 | + <span class="detail-term-sep" aria-hidden="true">::</span> |
| 37 | + <span class="text-secondary"><%- item.description %></span> |
| 38 | + </div> |
| 39 | + <div class="detail-term-line"> |
| 40 | + <span class="detail-term-out" aria-hidden="true">></span> |
| 41 | + <span class="detail-term-key">github</span> |
| 42 | + <span class="detail-term-sep" aria-hidden="true">::</span> |
| 43 | + <%- link_to('https://github.com/' + item.slug, '@' + item.slug, {external: true}) %> |
| 44 | + </div> |
30 | 45 | <% if(years.length) { %> |
31 | | - <%- partial('_partial/ranking', {years: years}) %> |
| 46 | + <div class="detail-ranks"> |
| 47 | + <%- partial('_partial/ranking', {years: years}) %> |
| 48 | + </div> |
32 | 49 | <% } %> |
33 | 50 | </div> |
34 | | - <div class="text-secondary mt-2"><%- item.description %></div> |
35 | | - <div class="mt-2"> |
36 | | - <%- link_to('https://github.com/' + item.slug, '@' + item.slug, {external: true}) %> |
37 | | - </div> |
38 | 51 | </div> |
39 | 52 | </div> |
40 | | - <%- image_tag('img/award.png', {class: 'mt-3 mt-sm-0 d-none d-lg-block', alt: 'Hacking Heros Logo', width: 250, height: 170}) %> |
41 | 53 | </div> |
42 | 54 |
|
43 | 55 | <div class="contribute mt-4 mt-sm-1"> |
|
0 commit comments