mirror of
https://github.com/MeiK2333/github-style.git
synced 2025-10-07 01:54:06 +00:00
follow new version github
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
.DS_Store
|
||||
.vscode
|
18
README.md
18
README.md
@@ -1,5 +1,12 @@
|
||||
# github-style
|
||||
|
||||
像素级抄袭 GitHub。
|
||||
|
||||
目前完成:
|
||||
|
||||
- header 栏(还没有移动端的样式切换)
|
||||
- light/dark 模式切换
|
||||
|
||||
## Init hugo site
|
||||
|
||||
```bash
|
||||
@@ -14,7 +21,9 @@ git submodule add git@github.com:MeiK2333/github-style.git themes/github-style
|
||||
```
|
||||
|
||||
## Update the theme
|
||||
If you just installed the theme, it is already in the lattest version. If not, you can update using the below commands
|
||||
|
||||
If you just installed the theme, it is already in the latest version. If not, you can update using the below commands
|
||||
|
||||
```bash
|
||||
cd themes/github-style
|
||||
git pull
|
||||
@@ -57,6 +66,7 @@ summary: "The summary content"
|
||||
```
|
||||
|
||||
### Approch 2: use `<!--more-->`
|
||||
|
||||
Use `<!--more-->` to seperate content that will display in the posts page as abstraction and the rest of the content. This is different from summary, as summary will not appear in the post.
|
||||
```
|
||||
---
|
||||
@@ -70,6 +80,7 @@ other content
|
||||
```
|
||||
|
||||
## add last modified data
|
||||
|
||||
Unfortunately, hugo cannot automaticlly get files' modified date, and it needs to be manually set in page as `lastmode`.
|
||||
```
|
||||
---
|
||||
@@ -78,18 +89,23 @@ lastmode: 2019-10-22T18:46:47+08:00
|
||||
```
|
||||
|
||||
## Support LaTex
|
||||
|
||||
In you post add `katex:true` to [front matter](https://gohugo.io/content-management/front-matter/)
|
||||
|
||||
```
|
||||
---
|
||||
katex: true
|
||||
---
|
||||
```
|
||||
|
||||
Then the [katex script](https://katex.org/docs/autorender.html) will auto render the string enclosed be delimiters.
|
||||
|
||||
```
|
||||
# replace ... with latex formula
|
||||
display inline \\( ... \\)
|
||||
display block $$ ... $$
|
||||
```
|
||||
|
||||

|
||||
|
||||
## config.toml example
|
||||
|
@@ -2,10 +2,12 @@
|
||||
<html lang="{{ .Site.LanguageCode }}">
|
||||
{{ partial "head.html" . }}
|
||||
|
||||
<body class="env-production emoji-size-boost page-responsive page-profile">
|
||||
<body>
|
||||
{{ partial "header" . }}
|
||||
{{ block "content" . }}{{ end }}
|
||||
{{ partial "footer.html" . }}
|
||||
<!-- {{ block "content" . }}{{ end }} -->
|
||||
<!-- {{ partial "footer.html" . }} -->
|
||||
</body>
|
||||
|
||||
{{ partial "script.html" . }}
|
||||
|
||||
</html>
|
@@ -26,4 +26,3 @@
|
||||
{{ if .Params.katex }}
|
||||
{{ partial "katex.html" . }}
|
||||
{{ end }}
|
||||
{{ partial "script.html" . }}
|
||||
|
@@ -1,64 +1,10 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link crossorigin="anonymous" media="all" rel="stylesheet" href="{{ "css/frameworks.css" | absURL }}" />
|
||||
<link crossorigin="anonymous" media="all" rel="stylesheet" href="{{ "css/github.css" | absURL }}" />
|
||||
{{ if $.Site.Params.disableDarkMode }}
|
||||
{{ else }}
|
||||
<link crossorigin="anonymous" media="(prefers-color-scheme: dark)" rel="stylesheet"
|
||||
href="{{ "css/dark.css" | absURL }}" />
|
||||
{{end}}
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<meta name="description"
|
||||
content="{{ if .IsHome }}{{ .Site.Params.tagline }}{{ else }}{{ .Summary | plainify }}{{ end }}" />
|
||||
<meta name="keywords"
|
||||
content="{{ with .Params.Keywords }}{{ delimit . ", " }}{{ else }}{{ $.Site.Params.Keywords }}{{ end }}" />
|
||||
<meta name="robots" content="noodp" />
|
||||
<link rel="canonical" href="{{ .Permalink }}" />
|
||||
|
||||
<!-- Twitter Card -->
|
||||
<meta name="twitter:card" content="summary" />
|
||||
<meta name="twitter:title" content="{{ if .IsHome }}{{ else }}{{ .Title }} - {{ end }}{{ .Site.Title }}" />
|
||||
<meta name="twitter:description"
|
||||
content="{{ if .IsHome }}{{ $.Site.Params.description }}{{ else }}{{ .Summary | plainify }}{{ end }}" />
|
||||
<meta name="twitter:site" content="{{ $.Site.BaseURL }}" />
|
||||
<meta name="twitter:creator" content="{{ .Params.Author }}" />
|
||||
<meta name="twitter:image"
|
||||
content="{{ if .IsHome }}{{ $.Site.Params.avatar | absURL }}{{ else }}{{ .Params.Cover | absURL }}{{ end }}">
|
||||
|
||||
<!-- OG data -->
|
||||
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" />
|
||||
<meta property="og:title" content="{{ if .IsHome }}{{ else }}{{ .Title }} - {{ end }}{{ .Site.Title }}">
|
||||
<meta property="og:description"
|
||||
content="{{ if .IsHome }}{{ $.Site.Params.description }}{{ else }}{{ .Summary | plainify }}{{ end }}" />
|
||||
<meta property="og:url" content="{{ .Permalink }}" />
|
||||
<meta property="og:site_name" content="{{ .Title }}" />
|
||||
<meta property="og:image"
|
||||
content="{{ if .IsHome }}{{ $.Site.Params.avatar | absURL }}{{ else }}{{ .Params.Cover | absURL }}{{ end }}">
|
||||
<meta property="og:image:width" content="2048">
|
||||
<meta property="og:image:height" content="1024">
|
||||
{{ if isset .Params "date" }}
|
||||
<meta property="article:published_time" content="{{ time .Date }}" />
|
||||
{{ end }}
|
||||
|
||||
<!-- RSS -->
|
||||
{{ with .OutputFormats.Get "RSS" }}
|
||||
<link href="{{ .RelPermalink }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
{{ end }}
|
||||
|
||||
<!-- JSON Feed -->
|
||||
{{ with .OutputFormats.Get "json" }}
|
||||
<link href="{{ .RelPermalink }}" rel="alternate" type="application/json" title="{{ $.Site.Title }}" />
|
||||
{{ end }}
|
||||
|
||||
<link rel="stylesheet" href="{{ "css/github-style.css" | absURL }}" />
|
||||
<link rel="stylesheet" href="{{ "css/light.css" | absURL }}" />
|
||||
<link rel="stylesheet" href="{{ "css/dark.css" | absURL }}" />
|
||||
<title>{{ if .IsHome }}{{ else }}{{ .Title }} - {{ end }}{{ .Site.Title }}</title>
|
||||
|
||||
<link rel="icon" type="image/x-icon" class="js-site-favicon" href="{{ "images/favicon.ico" | absURL }}">
|
||||
<link rel="icon" type="image/x-icon" href="{{ "images/favicon.ico" | absURL }}">
|
||||
<meta name="theme-color" content="#1e2327">
|
||||
|
||||
<!-- Extended head section-->
|
||||
{{ partial "extended_head.html" . }}
|
||||
|
||||
{{ if eq (getenv "HUGO_ENV") "production"}}
|
||||
{{ template "_internal/google_analytics_async.html" . }}
|
||||
{{ end }}
|
||||
</head>
|
@@ -1,55 +1,34 @@
|
||||
<div class="position-relative js-header-wrapper ">
|
||||
<span class="Progress progress-pjax-loader position-fixed width-full js-pjax-loader-bar">
|
||||
<span class="progress-pjax-loader-bar top-0 left-0" style="width: 0%;"></span>
|
||||
</span>
|
||||
<header class="Header py-lg-0 js-details-container Details flex-wrap flex-lg-nowrap p-responsive" role="banner">
|
||||
<div class="Header-item d-none d-lg-flex">
|
||||
<a class="Header-link" href="{{ .Site.BaseURL }}" aria-label="Homepage"
|
||||
data-ga-click="Header, go to dashboard, icon:logo">
|
||||
<svg class="octicon octicon-mark-github v-align-middle" height="32" viewBox="0 0 16 16" version="1.1"
|
||||
width="32" aria-hidden="true">
|
||||
<div style="position: relative">
|
||||
<header class="Header">
|
||||
<div class="Header-item" style="margin-top: -4px; margin-bottom: -4px;">
|
||||
<a class="Header-link" href="{{ .Site.BaseURL }}">
|
||||
<svg class="octicon" height="32" viewBox="0 0 16 16" version="1.1" width="32">
|
||||
<path fill-rule="evenodd"
|
||||
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" />
|
||||
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z">
|
||||
</path>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
<div
|
||||
class="Header-item Header-item--full flex-column flex-lg-row width-full flex-order-2 flex-lg-order-none mr-0 mr-lg-3 mt-3 mt-lg-0 Details-content--hidden">
|
||||
<div class="header-search flex-self-stretch flex-lg-self-auto mr-0 mr-lg-3 mb-3 mb-lg-0 scoped-search site-scoped-search js-site-search position-relative js-jump-to"
|
||||
role="combobox" aria-owns="jump-to-results" aria-label="Search or jump to" aria-haspopup="listbox"
|
||||
aria-expanded="false">
|
||||
<div class="position-relative">
|
||||
<div class="Header-item Header-item--full">
|
||||
<div class="Header-search">
|
||||
<form target="_blank" action="https://www.google.com/search" accept-charset="UTF-8" method="get"
|
||||
autocomplete="off">
|
||||
<label class="Header-search-label">
|
||||
<input class="Header-search-input" type="text" name="q" value="" placeholder="Search">
|
||||
<input type="hidden" name="q" value="site:{{ .Site.BaseURL }}">
|
||||
</label>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<nav class="d-flex" aria-label="Global">
|
||||
<a class="js-selected-navigation-item Header-link py-lg-3"> </a>
|
||||
</nav>
|
||||
<div class="Header-item Header-item--full flex-justify-center d-lg-none position-relative" style="margin-right: auto;">
|
||||
<a class="Header-link" href="{{ .Site.BaseURL }}" aria-label="Homepage"
|
||||
data-ga-click="Header, go to dashboard, icon:logo">
|
||||
<svg class="octicon octicon-mark-github v-align-middle" height="32" viewBox="0 0 16 16" version="1.1"
|
||||
width="32" aria-hidden="true">
|
||||
<path fill-rule="evenodd"
|
||||
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" />
|
||||
<div class="Header-item" style="margin-right: 0;">
|
||||
<a href="javascript:void(0)" class="Header-link" onclick="switchTheme()">
|
||||
<svg style="fill: var(--color-profile-color-modes-toggle-moon);" viewBox="0 0 16 16" version="1.1" width="16"
|
||||
height="16" aria-hidden="true">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M4.52208 7.71754C7.5782 7.71754 10.0557 5.24006 10.0557 2.18394C10.0557 1.93498 10.0392 1.68986 10.0074 1.44961C9.95801 1.07727 10.3495 0.771159 10.6474 0.99992C12.1153 2.12716 13.0615 3.89999 13.0615 5.89383C13.0615 9.29958 10.3006 12.0605 6.89485 12.0605C3.95334 12.0605 1.49286 10.001 0.876728 7.24527C0.794841 6.87902 1.23668 6.65289 1.55321 6.85451C2.41106 7.40095 3.4296 7.71754 4.52208 7.71754Z">
|
||||
</path>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
<div class="Header-item position-relative mr-0 d-none d-lg-flex">
|
||||
<details class="details-overlay details-reset">
|
||||
<summary class="Header-link" aria-label="View profile and more"
|
||||
data-ga-click="Header, show menu, icon:avatar">
|
||||
{{ with $.Site.Params.avatar }}
|
||||
<img alt="" class="avatar" src="{{ $.Site.Params.avatar }}" height="20" width="20">
|
||||
{{ else }}
|
||||
<img alt="" class="avatar" src="{{ "images/avatar.png" | absURL }}" height="20" width="20">
|
||||
{{ end }}
|
||||
</summary>
|
||||
</details>
|
||||
</div>
|
||||
</header>
|
||||
</div>
|
||||
|
||||
<div id="start-of-content" class="show-on-focus"></div>
|
||||
<div id="js-flash-container">
|
||||
</div>
|
||||
|
@@ -1,7 +1 @@
|
||||
<script crossorigin="anonymous"
|
||||
type="application/javascript" src="{{ "js/frameworks.js" | absURL }}"></script>
|
||||
|
||||
<script crossorigin="anonymous"
|
||||
type="application/javascript" src="{{ "js/github-bootstrap.js" | absURL }}"></script>
|
||||
<script src="{{ "js/stop.js" | absURL }}"></script>
|
||||
<script src="{{ "js/contributions.js" | absURL }}"></script>
|
||||
<script type="application/javascript" src="{{ "js/github-style.js" | absURL }}"></script>
|
||||
|
1044
static/css/dark.css
1044
static/css/dark.css
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
109
static/css/github-style.css
Normal file
109
static/css/github-style.css
Normal file
@@ -0,0 +1,109 @@
|
||||
body {
|
||||
margin: 0;
|
||||
background-color: var(--body-background-color);
|
||||
}
|
||||
|
||||
.Header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
padding-left: 32px!important;
|
||||
padding-right: 32px!important;
|
||||
z-index: 32;
|
||||
padding: 16px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
color: var(--color-header-text);
|
||||
background-color: var(--color-header-bg);
|
||||
}
|
||||
|
||||
.Header-link {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
font-weight: 600;
|
||||
color: var(--color-header-logo);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.Header-item {
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
.Header-item--full {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.octicon {
|
||||
fill: currentColor;
|
||||
}
|
||||
|
||||
.Header-search {
|
||||
max-width: 272px;
|
||||
transition: .2s ease-in-out;
|
||||
transition-property: max-width, padding-bottom, padding-top;
|
||||
}
|
||||
|
||||
.Header-search:focus-within {
|
||||
max-width: 544px;
|
||||
transition: .2s ease-in-out;
|
||||
transition-property: max-width, padding-bottom, padding-top;
|
||||
}
|
||||
|
||||
.Header-search-label {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 0;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: var(--color-text-white);
|
||||
vertical-align: middle;
|
||||
background-color: var(--color-header-search-bg);
|
||||
border: 1px solid var(--color-header-search-border);
|
||||
border-radius: 6px;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.Header-search-label:focus-within {
|
||||
background-color: hsla(0, 0%, 100%, .175);
|
||||
border-color: var(--color-state-focus-border);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.Header-search-input {
|
||||
min-height: 28px;
|
||||
width: 100%;
|
||||
padding: 5px 12px;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
font-size: 14px;
|
||||
background: none;
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
border-radius: 6px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.Header-search-input:focus {
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
background-color: var(--color-bg-secondary);
|
||||
color: var(--color-text-primary);
|
||||
border-color: var(--color-state-focus-border);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
::placeholder {
|
||||
color: #c2c3c4;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.switch-theme {
|
||||
top: -2px;
|
||||
left: -2px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
border-radius: 50%;
|
||||
background-color: var(--color-profile-color-modes-toggle-thumb-bg);
|
||||
cursor: pointer;
|
||||
}
|
File diff suppressed because one or more lines are too long
684
static/css/light.css
Normal file
684
static/css/light.css
Normal file
@@ -0,0 +1,684 @@
|
||||
:root {
|
||||
--body-background-color: #fff;
|
||||
--color-actions-workflow-table-sticky-bg: hsla(0, 0%, 100%, 0.95);
|
||||
--color-alert-error-bg: #ffe3e6;
|
||||
--color-alert-error-border: rgba(158, 28, 35, 0.2);
|
||||
--color-alert-error-icon: rgba(158, 28, 35, 0.6);
|
||||
--color-alert-error-text: #24292e;
|
||||
--color-alert-info-bg: #dbedff;
|
||||
--color-alert-info-border: rgba(4, 66, 137, 0.2);
|
||||
--color-alert-info-icon: rgba(4, 66, 137, 0.6);
|
||||
--color-alert-info-text: #24292e;
|
||||
--color-alert-success-bg: #dcffe4;
|
||||
--color-alert-success-border: rgba(23, 111, 44, 0.2);
|
||||
--color-alert-success-icon: rgba(23, 111, 44, 0.8);
|
||||
--color-alert-success-text: #24292e;
|
||||
--color-alert-warn-bg: #fffbdd;
|
||||
--color-alert-warn-border: rgba(176, 136, 0, 0.2);
|
||||
--color-alert-warn-icon: #b08800;
|
||||
--color-alert-warn-text: #24292e;
|
||||
--color-ansi-black: #24292e;
|
||||
--color-ansi-black-bright: #2f363d;
|
||||
--color-ansi-blue: #79b8ff;
|
||||
--color-ansi-blue-bright: #c8e1ff;
|
||||
--color-ansi-cyan: #76e3ea;
|
||||
--color-ansi-cyan-bright: #b3f0ff;
|
||||
--color-ansi-gray: #959da5;
|
||||
--color-ansi-green: #85e89d;
|
||||
--color-ansi-green-bright: #bef5cb;
|
||||
--color-ansi-magenta: #b392f0;
|
||||
--color-ansi-magenta-bright: #d1bcf9;
|
||||
--color-ansi-red: #f97583;
|
||||
--color-ansi-red-bright: #fdaeb7;
|
||||
--color-ansi-white: #e1e4e8;
|
||||
--color-ansi-white-bright: #e1e4e8;
|
||||
--color-ansi-yellow: #ffea7f;
|
||||
--color-ansi-yellow-bright: #fff5b1;
|
||||
--color-auto-black: #1b1f23;
|
||||
--color-auto-blue-0: #f1f8ff;
|
||||
--color-auto-blue-1: #dbedff;
|
||||
--color-auto-blue-2: #c8e1ff;
|
||||
--color-auto-blue-3: #79b8ff;
|
||||
--color-auto-blue-4: #2188ff;
|
||||
--color-auto-blue-5: #0366d6;
|
||||
--color-auto-blue-6: #005cc5;
|
||||
--color-auto-blue-7: #044289;
|
||||
--color-auto-blue-8: #032f62;
|
||||
--color-auto-blue-9: #05264c;
|
||||
--color-auto-gray-0: #fafbfc;
|
||||
--color-auto-gray-1: #f6f8fa;
|
||||
--color-auto-gray-2: #e1e4e8;
|
||||
--color-auto-gray-3: #d1d5da;
|
||||
--color-auto-gray-4: #959da5;
|
||||
--color-auto-gray-5: #6a737d;
|
||||
--color-auto-gray-6: #586069;
|
||||
--color-auto-gray-7: #444d56;
|
||||
--color-auto-gray-8: #2f363d;
|
||||
--color-auto-gray-9: #24292e;
|
||||
--color-auto-green-0: #f0fff4;
|
||||
--color-auto-green-1: #dcffe4;
|
||||
--color-auto-green-2: #bef5cb;
|
||||
--color-auto-green-3: #85e89d;
|
||||
--color-auto-green-4: #34d058;
|
||||
--color-auto-green-5: #28a745;
|
||||
--color-auto-green-6: #22863a;
|
||||
--color-auto-green-7: #176f2c;
|
||||
--color-auto-green-8: #165c26;
|
||||
--color-auto-green-9: #144620;
|
||||
--color-auto-orange-0: #fff8f2;
|
||||
--color-auto-orange-1: #ffebda;
|
||||
--color-auto-orange-2: #ffd1ac;
|
||||
--color-auto-orange-3: #ffab70;
|
||||
--color-auto-orange-4: #fb8532;
|
||||
--color-auto-orange-5: #f66a0a;
|
||||
--color-auto-orange-6: #e36209;
|
||||
--color-auto-orange-7: #d15704;
|
||||
--color-auto-orange-8: #c24e00;
|
||||
--color-auto-orange-9: #a04100;
|
||||
--color-auto-pink-0: #ffeef8;
|
||||
--color-auto-pink-1: #fedbf0;
|
||||
--color-auto-pink-2: #f9b3dd;
|
||||
--color-auto-pink-3: #f692ce;
|
||||
--color-auto-pink-4: #ec6cb9;
|
||||
--color-auto-pink-5: #ea4aaa;
|
||||
--color-auto-pink-6: #d03592;
|
||||
--color-auto-pink-7: #b93a86;
|
||||
--color-auto-pink-8: #99306f;
|
||||
--color-auto-pink-9: #6d224f;
|
||||
--color-auto-purple-0: #f5f0ff;
|
||||
--color-auto-purple-1: #e6dcfd;
|
||||
--color-auto-purple-2: #d1bcf9;
|
||||
--color-auto-purple-3: #b392f0;
|
||||
--color-auto-purple-4: #8a63d2;
|
||||
--color-auto-purple-5: #6f42c1;
|
||||
--color-auto-purple-6: #5a32a3;
|
||||
--color-auto-purple-7: #4c2889;
|
||||
--color-auto-purple-8: #3a1d6e;
|
||||
--color-auto-purple-9: #29134e;
|
||||
--color-auto-red-0: #ffeef0;
|
||||
--color-auto-red-1: #ffdce0;
|
||||
--color-auto-red-2: #fdaeb7;
|
||||
--color-auto-red-3: #f97583;
|
||||
--color-auto-red-4: #ea4a5a;
|
||||
--color-auto-red-5: #d73a49;
|
||||
--color-auto-red-6: #cb2431;
|
||||
--color-auto-red-7: #b31d28;
|
||||
--color-auto-red-8: #9e1c23;
|
||||
--color-auto-red-9: #86181d;
|
||||
--color-auto-white: #fff;
|
||||
--color-auto-yellow-0: #fffdef;
|
||||
--color-auto-yellow-1: #fffbdd;
|
||||
--color-auto-yellow-2: #fff5b1;
|
||||
--color-auto-yellow-3: #ffea7f;
|
||||
--color-auto-yellow-4: #ffdf5d;
|
||||
--color-auto-yellow-5: #ffd33d;
|
||||
--color-auto-yellow-6: #f9c513;
|
||||
--color-auto-yellow-7: #dbab09;
|
||||
--color-auto-yellow-8: #b08800;
|
||||
--color-auto-yellow-9: #735c0f;
|
||||
--color-autocomplete-row-border: #eaecef;
|
||||
--color-autocomplete-shadow: 0 3px 6px rgba(149, 157, 165, 0.15);
|
||||
--color-avatar-bg: #fff;
|
||||
--color-avatar-border: transparent;
|
||||
--color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 100%, 0.8);
|
||||
--color-avatar-stack-fade: #d1d5da;
|
||||
--color-avatar-stack-fade-more: #e1e4e8;
|
||||
--color-bg-backdrop: rgba(27, 31, 35, 0.5);
|
||||
--color-bg-canvas: #fff;
|
||||
--color-bg-canvas-inset: #f6f8fa;
|
||||
--color-bg-canvas-inverse: #24292e;
|
||||
--color-bg-canvas-mobile: #fff;
|
||||
--color-bg-danger: #ffeef0;
|
||||
--color-bg-danger-inverse: #d73a49;
|
||||
--color-bg-discussions-row-emoji-box: rgba(209, 213, 218, 0.5);
|
||||
--color-bg-info: #f1f8ff;
|
||||
--color-bg-info-inverse: #0366d6;
|
||||
--color-bg-overlay: #fff;
|
||||
--color-bg-primary: #fff;
|
||||
--color-bg-secondary: #fafbfc;
|
||||
--color-bg-success: #dcffe4;
|
||||
--color-bg-success-inverse: #28a745;
|
||||
--color-bg-tertiary: #f6f8fa;
|
||||
--color-bg-warning: #fff5b1;
|
||||
--color-bg-warning-inverse: #ffd33d;
|
||||
--color-blankslate-icon: #a3aab1;
|
||||
--color-blob-line-highlight-bg: #fffbdd;
|
||||
--color-blob-line-highlight-border: transparent;
|
||||
--color-border-danger: #d73a49;
|
||||
--color-border-info: #0366d6;
|
||||
--color-border-inverse: #fff;
|
||||
--color-border-overlay: #e1e4e8;
|
||||
--color-border-primary: #e1e4e8;
|
||||
--color-border-secondary: #eaecef;
|
||||
--color-border-success: #34d058;
|
||||
--color-border-tertiary: #d1d5da;
|
||||
--color-border-warning: #f9c513;
|
||||
--color-box-bg-info: #f1f8ff;
|
||||
--color-box-bg-warning: #fffdef;
|
||||
--color-box-blue-border: #c8e1ff;
|
||||
--color-box-border-info: rgba(3, 102, 214, 0.2);
|
||||
--color-box-border-warning: rgba(255, 211, 61, 0.4);
|
||||
--color-box-header-blue-bg: #f1f8ff;
|
||||
--color-box-header-blue-border: #c8e1ff;
|
||||
--color-box-row-blue-bg: #f1f8ff;
|
||||
--color-box-row-yellow-bg: #fffbdd;
|
||||
--color-branch-name-bg: #eaf5ff;
|
||||
--color-branch-name-icon: #a8bbd0;
|
||||
--color-branch-name-link-bg: #eaf5ff;
|
||||
--color-branch-name-link-icon: #a8bbd0;
|
||||
--color-branch-name-link-text: #0366d6;
|
||||
--color-branch-name-text: rgba(27, 31, 35, 0.6);
|
||||
--color-btn-bg: #fafbfc;
|
||||
--color-btn-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-counter-bg: rgba(27, 31, 35, 0.08);
|
||||
--color-btn-danger-counter-bg: rgba(215, 58, 73, 0.1);
|
||||
--color-btn-danger-disabled-bg: #fafbfc;
|
||||
--color-btn-danger-disabled-counter-bg: rgba(215, 58, 73, 0.05);
|
||||
--color-btn-danger-disabled-text: rgba(215, 58, 73, 0.5);
|
||||
--color-btn-danger-focus-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-danger-focus-shadow: 0 0 0 3px rgba(203, 36, 49, 0.4);
|
||||
--color-btn-danger-hover-bg: #cb2431;
|
||||
--color-btn-danger-hover-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-danger-hover-counter-bg: hsla(0, 0%, 100%, 0.2);
|
||||
--color-btn-danger-hover-inset-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.03);
|
||||
--color-btn-danger-hover-shadow: 0 1px 0 rgba(27, 31, 35, 0.1);
|
||||
--color-btn-danger-hover-text: #fff;
|
||||
--color-btn-danger-selected-bg: #d42d3d;
|
||||
--color-btn-danger-selected-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-danger-selected-shadow: inset 0 1px 0 rgba(134, 24, 29, 0.2);
|
||||
--color-btn-danger-selected-text: #fff;
|
||||
--color-btn-danger-text: #d73a49;
|
||||
--color-btn-focus-bg: #fafbfc;
|
||||
--color-btn-focus-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-focus-shadow: 0 0 0 3px rgba(3, 102, 214, 0.3);
|
||||
--color-btn-hover-bg: #f3f4f6;
|
||||
--color-btn-hover-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-inset-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.25);
|
||||
--color-btn-outline-counter-bg: rgba(3, 102, 214, 0.1);
|
||||
--color-btn-outline-disabled-bg: #fafbfc;
|
||||
--color-btn-outline-disabled-counter-bg: rgba(3, 102, 214, 0.05);
|
||||
--color-btn-outline-disabled-text: rgba(3, 102, 214, 0.5);
|
||||
--color-btn-outline-focus-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-outline-focus-shadow: 0 0 0 3px rgba(0, 92, 197, 0.4);
|
||||
--color-btn-outline-hover-bg: #0366d6;
|
||||
--color-btn-outline-hover-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-outline-hover-counter-bg: hsla(0, 0%, 100%, 0.2);
|
||||
--color-btn-outline-hover-inset-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.03);
|
||||
--color-btn-outline-hover-shadow: 0 1px 0 rgba(27, 31, 35, 0.1);
|
||||
--color-btn-outline-hover-text: #fff;
|
||||
--color-btn-outline-selected-bg: #035fc7;
|
||||
--color-btn-outline-selected-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-outline-selected-shadow: inset 0 1px 0 rgba(5, 38, 76, 0.2);
|
||||
--color-btn-outline-selected-text: #fff;
|
||||
--color-btn-outline-text: #0366d6;
|
||||
--color-btn-primary-bg: #2ea44f;
|
||||
--color-btn-primary-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-primary-counter-bg: hsla(0, 0%, 100%, 0.2);
|
||||
--color-btn-primary-disabled-bg: #94d3a2;
|
||||
--color-btn-primary-disabled-border: rgba(27, 31, 35, 0.1);
|
||||
--color-btn-primary-disabled-text: hsla(0, 0%, 100%, 0.8);
|
||||
--color-btn-primary-focus-bg: #2ea44f;
|
||||
--color-btn-primary-focus-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-primary-focus-shadow: 0 0 0 3px rgba(46, 164, 79, 0.4);
|
||||
--color-btn-primary-hover-bg: #2c974b;
|
||||
--color-btn-primary-hover-border: rgba(27, 31, 35, 0.15);
|
||||
--color-btn-primary-icon: hsla(0, 0%, 100%, 0.8);
|
||||
--color-btn-primary-inset-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.03);
|
||||
--color-btn-primary-selected-bg: #2a8f47;
|
||||
--color-btn-primary-selected-shadow: inset 0 1px 0 rgba(20, 70, 32, 0.2);
|
||||
--color-btn-primary-shadow: 0 1px 0 rgba(27, 31, 35, 0.1);
|
||||
--color-btn-primary-text: #fff;
|
||||
--color-btn-selected-bg: #edeff2;
|
||||
--color-btn-shadow: 0 1px 0 rgba(27, 31, 35, 0.04);
|
||||
--color-btn-shadow-active: inset 0 0.15em 0.3em rgba(27, 31, 35, 0.15);
|
||||
--color-btn-shadow-input-focus: 0 0 0 0.2em rgba(3, 102, 214, 0.3);
|
||||
--color-btn-text: #24292e;
|
||||
--color-calendar-graph-day-L1-bg: #9be9a8;
|
||||
--color-calendar-graph-day-L1-border: rgba(27, 31, 35, 0.06);
|
||||
--color-calendar-graph-day-L2-bg: #40c463;
|
||||
--color-calendar-graph-day-L2-border: rgba(27, 31, 35, 0.06);
|
||||
--color-calendar-graph-day-L3-bg: #30a14e;
|
||||
--color-calendar-graph-day-L3-border: rgba(27, 31, 35, 0.06);
|
||||
--color-calendar-graph-day-L4-bg: #216e39;
|
||||
--color-calendar-graph-day-L4-border: rgba(27, 31, 35, 0.06);
|
||||
--color-calendar-graph-day-bg: #ebedf0;
|
||||
--color-calendar-graph-day-border: rgba(27, 31, 35, 0.06);
|
||||
--color-calendar-halloween-graph-day-L1-bg: #ffee4a;
|
||||
--color-calendar-halloween-graph-day-L2-bg: #ffc501;
|
||||
--color-calendar-halloween-graph-day-L3-bg: #fe9600;
|
||||
--color-calendar-halloween-graph-day-L4-bg: #03001c;
|
||||
--color-checks-donut-error: #cb2431;
|
||||
--color-checks-donut-neutral: #959da5;
|
||||
--color-checks-donut-pending: #dbab09;
|
||||
--color-checks-donut-success: #28a745;
|
||||
--color-code-selection-bg: #c8e1ff;
|
||||
--color-codemirror-activeline-bg: #fafbfc;
|
||||
--color-codemirror-bg: #fff;
|
||||
--color-codemirror-cursor: #24292e;
|
||||
--color-codemirror-guttermarker-subtle-text: #d1d5da;
|
||||
--color-codemirror-guttermarker-text: #fff;
|
||||
--color-codemirror-gutters-bg: #fff;
|
||||
--color-codemirror-linenumber-text: #959da5;
|
||||
--color-codemirror-lines-bg: #fff;
|
||||
--color-codemirror-matchingbracket-text: #24292e;
|
||||
--color-codemirror-selection-bg: #c8e1ff;
|
||||
--color-codemirror-syntax-comment: #6a737d;
|
||||
--color-codemirror-syntax-constant: #005cc5;
|
||||
--color-codemirror-syntax-entity: #6f42c1;
|
||||
--color-codemirror-syntax-keyword: #d73a49;
|
||||
--color-codemirror-syntax-storage: #d73a49;
|
||||
--color-codemirror-syntax-string: #032f62;
|
||||
--color-codemirror-syntax-support: #005cc5;
|
||||
--color-codemirror-syntax-variable: #e36209;
|
||||
--color-codemirror-text: #24292e;
|
||||
--color-counter-bg: rgba(209, 213, 218, 0.5);
|
||||
--color-counter-primary-bg: #6a737d;
|
||||
--color-counter-primary-text: #fff;
|
||||
--color-counter-secondary-text: #6a737d;
|
||||
--color-counter-text: #24292e;
|
||||
--color-diff-addition-bg: #e6ffed;
|
||||
--color-diff-addition-border: #34d058;
|
||||
--color-diff-addition-text: #22863a;
|
||||
--color-diff-blob-addition-line-bg: #e6ffed;
|
||||
--color-diff-blob-addition-num-bg: #cdffd8;
|
||||
--color-diff-blob-addition-num-hover-text: rgba(27, 31, 35, 0.6);
|
||||
--color-diff-blob-addition-num-text: rgba(27, 31, 35, 0.3);
|
||||
--color-diff-blob-addition-word-bg: #acf2bd;
|
||||
--color-diff-blob-comment-button-bg: #0366d6;
|
||||
--color-diff-blob-comment-button-gradient-bg: #0372ef;
|
||||
--color-diff-blob-comment-button-icon: #fff;
|
||||
--color-diff-blob-deletion-line-bg: #ffeef0;
|
||||
--color-diff-blob-deletion-num-bg: #ffdce0;
|
||||
--color-diff-blob-deletion-num-hover-text: rgba(27, 31, 35, 0.6);
|
||||
--color-diff-blob-deletion-num-text: rgba(27, 31, 35, 0.3);
|
||||
--color-diff-blob-deletion-word-bg: #fdb8c0;
|
||||
--color-diff-blob-empty-block-bg: #fafbfc;
|
||||
--color-diff-blob-expander-hover-bg: #0366d6;
|
||||
--color-diff-blob-expander-hover-icon: #fff;
|
||||
--color-diff-blob-expander-icon: #586069;
|
||||
--color-diff-blob-hunk-line-bg: #f1f8ff;
|
||||
--color-diff-blob-hunk-num-bg: #dbedff;
|
||||
--color-diff-blob-hunk-text: rgba(27, 31, 35, 0.7);
|
||||
--color-diff-blob-num-hover-text: rgba(27, 31, 35, 0.6);
|
||||
--color-diff-blob-num-text: rgba(27, 31, 35, 0.3);
|
||||
--color-diff-blob-selected-line-highlight-bg: rgba(255, 223, 93, 0.2);
|
||||
--color-diff-blob-selected-line-highlight-border: #ffd33d;
|
||||
--color-diff-blob-selected-line-highlight-mix-blend-mode: multiply;
|
||||
--color-diff-change-bg: #fff5b1;
|
||||
--color-diff-change-border: #f9c513;
|
||||
--color-diff-change-text: #b08800;
|
||||
--color-diff-deletion-bg: #ffeef0;
|
||||
--color-diff-deletion-border: #d73a49;
|
||||
--color-diff-deletion-text: #cb2431;
|
||||
--color-diffstat-addition-bg: #28a745;
|
||||
--color-diffstat-addition-border: #28a745;
|
||||
--color-diffstat-deletion-bg: #d73a49;
|
||||
--color-diffstat-deletion-border: #d73a49;
|
||||
--color-diffstat-neutral-bg: #d1d5da;
|
||||
--color-diffstat-neutral-border: #d1d5da;
|
||||
--color-discussion-bg-success: #28a745;
|
||||
--color-discussion-border: #a2cbac;
|
||||
--color-discussions-answer-border: #28a745;
|
||||
--color-discussions-answer-icon: #22863a;
|
||||
--color-discussions-answer-text: #22863a;
|
||||
--color-discussions-state-answered-icon: #fff;
|
||||
--color-drag-and-drop-border: #c3c8cf;
|
||||
--color-dropdown-shadow: 0 8px 24px rgba(149, 157, 165, 0.2);
|
||||
--color-fade-black-10: rgba(27, 31, 35, 0.1);
|
||||
--color-fade-black-15: rgba(27, 31, 35, 0.15);
|
||||
--color-fade-black-30: rgba(27, 31, 35, 0.3);
|
||||
--color-fade-black-50: rgba(27, 31, 35, 0.5);
|
||||
--color-fade-black-70: rgba(27, 31, 35, 0.7);
|
||||
--color-fade-black-85: rgba(27, 31, 35, 0.85);
|
||||
--color-fade-fg-10: rgba(27, 31, 35, 0.1);
|
||||
--color-fade-fg-15: rgba(27, 31, 35, 0.15);
|
||||
--color-fade-fg-30: rgba(27, 31, 35, 0.3);
|
||||
--color-fade-fg-50: rgba(27, 31, 35, 0.5);
|
||||
--color-fade-fg-70: rgba(27, 31, 35, 0.7);
|
||||
--color-fade-fg-85: rgba(27, 31, 35, 0.85);
|
||||
--color-fade-white-10: hsla(0, 0%, 100%, 0.1);
|
||||
--color-fade-white-15: hsla(0, 0%, 100%, 0.15);
|
||||
--color-fade-white-30: hsla(0, 0%, 100%, 0.3);
|
||||
--color-fade-white-50: hsla(0, 0%, 100%, 0.5);
|
||||
--color-fade-white-70: hsla(0, 0%, 100%, 0.7);
|
||||
--color-fade-white-85: hsla(0, 0%, 100%, 0.85);
|
||||
--color-files-explorer-icon: #79b8ff;
|
||||
--color-filter-item-bar-bg: #eff3f6;
|
||||
--color-footer-invertocat-octicon: #d1d5da;
|
||||
--color-footer-invertocat-octicon-hover: #6a737d;
|
||||
--color-global-nav-bg: #24292e;
|
||||
--color-global-nav-icon: #fff;
|
||||
--color-global-nav-input-bg: #fafbfc;
|
||||
--color-global-nav-input-border: #fafbfc;
|
||||
--color-global-nav-input-icon: #d1d5da;
|
||||
--color-global-nav-input-placeholder: #959da5;
|
||||
--color-global-nav-logo: #fff;
|
||||
--color-global-nav-text: #fff;
|
||||
--color-header-bg: #24292e;
|
||||
--color-header-logo: #fff;
|
||||
--color-header-search-bg: #24292e;
|
||||
--color-header-search-border: #444d56;
|
||||
--color-header-text: hsla(0, 0%, 100%, 0.7);
|
||||
--color-hidden-text-expander-bg: #dfe2e5;
|
||||
--color-hidden-text-expander-bg-hover: #c6cbd1;
|
||||
--color-hl-author-bg: #f1f8ff;
|
||||
--color-hl-author-border: #c8e1ff;
|
||||
--color-icon-danger: #d73a49;
|
||||
--color-icon-info: #0366d6;
|
||||
--color-icon-primary: #24292e;
|
||||
--color-icon-secondary: #586069;
|
||||
--color-icon-success: #22863a;
|
||||
--color-icon-tertiary: #959da5;
|
||||
--color-icon-warning: #b08800;
|
||||
--color-input-bg: #fff;
|
||||
--color-input-border: #e1e4e8;
|
||||
--color-input-contrast-bg: #fafbfc;
|
||||
--color-input-disabled-bg: #fff;
|
||||
--color-input-disabled-border: #e1e4e8;
|
||||
--color-input-error-border: #cb2431;
|
||||
--color-input-shadow: inset 0 1px 2px rgba(27, 31, 35, 0.075);
|
||||
--color-input-tooltip-error-bg: #ffeef0;
|
||||
--color-input-tooltip-error-border: #f97583;
|
||||
--color-input-tooltip-error-text: #86181d;
|
||||
--color-input-tooltip-success-bg: #dcffe4;
|
||||
--color-input-tooltip-success-border: #34d058;
|
||||
--color-input-tooltip-success-text: #144620;
|
||||
--color-input-tooltip-warning-bg: #fff5b1;
|
||||
--color-input-tooltip-warning-border: #f9c513;
|
||||
--color-input-tooltip-warning-text: #735c0f;
|
||||
--color-input-warning-border: #f9c513;
|
||||
--color-label-border: #e1e4e8;
|
||||
--color-label-danger-border: #cb2431;
|
||||
--color-label-danger-text: #d73a49;
|
||||
--color-label-info-border: #0366d6;
|
||||
--color-label-info-text: #0366d6;
|
||||
--color-label-orange-border: #f66a0a;
|
||||
--color-label-orange-text: #c24e00;
|
||||
--color-label-primary-border: #6a737d;
|
||||
--color-label-primary-text: #24292e;
|
||||
--color-label-secondary-border: #e1e4e8;
|
||||
--color-label-secondary-text: #586069;
|
||||
--color-label-success-border: #28a745;
|
||||
--color-label-success-text: #22863a;
|
||||
--color-label-warning-border: #b08800;
|
||||
--color-label-warning-text: #735c0f;
|
||||
--color-logo-subdued: #d1d5da;
|
||||
--color-markdown-blockquote-border: #dfe2e5;
|
||||
--color-markdown-code-bg: rgba(27, 31, 35, 0.05);
|
||||
--color-markdown-frame-border: #dfe2e5;
|
||||
--color-markdown-table-border: #dfe2e5;
|
||||
--color-markdown-table-tr-border: #c6cbd1;
|
||||
--color-marketing-icon-primary: #2188ff;
|
||||
--color-marketing-icon-secondary: #79b8ff;
|
||||
--color-menu-bg-active: transparent;
|
||||
--color-menu-border-active: #f9826c;
|
||||
--color-menu-heading-text: #24292e;
|
||||
--color-merge-box-error-icon-bg: #d73a49;
|
||||
--color-merge-box-error-icon-border: transparent;
|
||||
--color-merge-box-error-icon-text: #fff;
|
||||
--color-merge-box-error-indicator-bg: #d73a49;
|
||||
--color-merge-box-error-indicator-border: transparent;
|
||||
--color-merge-box-merged-box-border: #6f42c1;
|
||||
--color-merge-box-merged-icon-bg: #6f42c1;
|
||||
--color-merge-box-merged-icon-border: transparent;
|
||||
--color-merge-box-merged-icon-text: #fff;
|
||||
--color-merge-box-neutral-icon-bg: #6a737d;
|
||||
--color-merge-box-neutral-icon-border: transparent;
|
||||
--color-merge-box-neutral-icon-text: #fff;
|
||||
--color-merge-box-neutral-indicator-bg: #6a737d;
|
||||
--color-merge-box-neutral-indicator-border: transparent;
|
||||
--color-merge-box-success-icon-bg: #28a745;
|
||||
--color-merge-box-success-icon-border: transparent;
|
||||
--color-merge-box-success-icon-text: #fff;
|
||||
--color-merge-box-success-indicator-bg: #28a745;
|
||||
--color-merge-box-success-indicator-border: transparent;
|
||||
--color-merge-box-warning-box-border: #ffd33d;
|
||||
--color-merge-box-warning-icon-bg: #dbab09;
|
||||
--color-merge-box-warning-icon-border: transparent;
|
||||
--color-merge-box-warning-icon-text: #fff;
|
||||
--color-merge-box-warning-merge-highlight: transparent;
|
||||
--color-notifications-button-hover-bg: #e1e4e8;
|
||||
--color-notifications-button-hover-text: #24292e;
|
||||
--color-notifications-button-text: #586069;
|
||||
--color-notifications-row-bg: #fff;
|
||||
--color-notifications-row-read-bg: #f6f8fa;
|
||||
--color-pr-state-closed-bg: #d73a49;
|
||||
--color-pr-state-closed-border: transparent;
|
||||
--color-pr-state-closed-text: #fff;
|
||||
--color-pr-state-draft-bg: #6a737d;
|
||||
--color-pr-state-draft-border: transparent;
|
||||
--color-pr-state-draft-text: #fff;
|
||||
--color-pr-state-merged-bg: #6f42c1;
|
||||
--color-pr-state-merged-border: transparent;
|
||||
--color-pr-state-merged-text: #fff;
|
||||
--color-pr-state-open-bg: #28a745;
|
||||
--color-pr-state-open-border: transparent;
|
||||
--color-pr-state-open-text: #fff;
|
||||
--color-prettylights-syntax-brackethighlighter-angle: #586069;
|
||||
--color-prettylights-syntax-brackethighlighter-unmatched: #b31d28;
|
||||
--color-prettylights-syntax-carriage-return-bg: #d73a49;
|
||||
--color-prettylights-syntax-carriage-return-text: #fafbfc;
|
||||
--color-prettylights-syntax-comment: #6a737d;
|
||||
--color-prettylights-syntax-constant: #005cc5;
|
||||
--color-prettylights-syntax-constant-other-reference-link: #032f62;
|
||||
--color-prettylights-syntax-entity: #6f42c1;
|
||||
--color-prettylights-syntax-entity-tag: #22863a;
|
||||
--color-prettylights-syntax-invalid-illegal-bg: #b31d28;
|
||||
--color-prettylights-syntax-invalid-illegal-text: #fafbfc;
|
||||
--color-prettylights-syntax-keyword: #d73a49;
|
||||
--color-prettylights-syntax-markup-bold: #24292e;
|
||||
--color-prettylights-syntax-markup-changed-bg: #ffebda;
|
||||
--color-prettylights-syntax-markup-changed-text: #e36209;
|
||||
--color-prettylights-syntax-markup-deleted-bg: #ffeef0;
|
||||
--color-prettylights-syntax-markup-deleted-text: #b31d28;
|
||||
--color-prettylights-syntax-markup-heading: #005cc5;
|
||||
--color-prettylights-syntax-markup-ignored-bg: #005cc5;
|
||||
--color-prettylights-syntax-markup-ignored-text: #f6f8fa;
|
||||
--color-prettylights-syntax-markup-inserted-bg: #f0fff4;
|
||||
--color-prettylights-syntax-markup-inserted-text: #22863a;
|
||||
--color-prettylights-syntax-markup-italic: #24292e;
|
||||
--color-prettylights-syntax-markup-list: #735c0f;
|
||||
--color-prettylights-syntax-meta-diff-range: #6f42c1;
|
||||
--color-prettylights-syntax-storage-modifier-import: #24292e;
|
||||
--color-prettylights-syntax-string: #032f62;
|
||||
--color-prettylights-syntax-string-regexp: #22863a;
|
||||
--color-prettylights-syntax-sublimelinter-gutter-mark: #959da5;
|
||||
--color-prettylights-syntax-variable: #e36209;
|
||||
--color-previewable-comment-form-border: #c3c8cf;
|
||||
--color-profile-color-modes-toggle-moon: #ffdf5d;
|
||||
--color-profile-color-modes-toggle-thumb-bg: #2f363d;
|
||||
--color-profile-color-modes-toggle-track-bg: #fff;
|
||||
--color-profile-color-modes-toggle-track-border: #d1d5da;
|
||||
--color-project-card-bg: #fff;
|
||||
--color-project-gradient-in: #fff;
|
||||
--color-project-gradient-out: hsla(0, 0%, 100%, 0);
|
||||
--color-project-header-bg: #24292e;
|
||||
--color-project-sidebar-bg: #fff;
|
||||
--color-promo-color-modes-toggle-moon: #ffdf5d;
|
||||
--color-promo-color-modes-toggle-thumb-bg: #2f363d;
|
||||
--color-promo-color-modes-toggle-track-bg: #fff;
|
||||
--color-promo-color-modes-toggle-track-border: #d1d5da;
|
||||
--color-repo-language-color-border: rgba(27, 31, 35, 0.1);
|
||||
--color-scale-black: #1b1f23;
|
||||
--color-scale-blue-0: #f1f8ff;
|
||||
--color-scale-blue-1: #dbedff;
|
||||
--color-scale-blue-2: #c8e1ff;
|
||||
--color-scale-blue-3: #79b8ff;
|
||||
--color-scale-blue-4: #2188ff;
|
||||
--color-scale-blue-5: #0366d6;
|
||||
--color-scale-blue-6: #005cc5;
|
||||
--color-scale-blue-7: #044289;
|
||||
--color-scale-blue-8: #032f62;
|
||||
--color-scale-blue-9: #05264c;
|
||||
--color-scale-gray-0: #fafbfc;
|
||||
--color-scale-gray-1: #f6f8fa;
|
||||
--color-scale-gray-2: #e1e4e8;
|
||||
--color-scale-gray-3: #d1d5da;
|
||||
--color-scale-gray-4: #959da5;
|
||||
--color-scale-gray-5: #6a737d;
|
||||
--color-scale-gray-6: #586069;
|
||||
--color-scale-gray-7: #444d56;
|
||||
--color-scale-gray-8: #2f363d;
|
||||
--color-scale-gray-9: #24292e;
|
||||
--color-scale-green-0: #f0fff4;
|
||||
--color-scale-green-1: #dcffe4;
|
||||
--color-scale-green-2: #bef5cb;
|
||||
--color-scale-green-3: #85e89d;
|
||||
--color-scale-green-4: #34d058;
|
||||
--color-scale-green-5: #28a745;
|
||||
--color-scale-green-6: #22863a;
|
||||
--color-scale-green-7: #176f2c;
|
||||
--color-scale-green-8: #165c26;
|
||||
--color-scale-green-9: #144620;
|
||||
--color-scale-orange-0: #fff8f2;
|
||||
--color-scale-orange-1: #ffebda;
|
||||
--color-scale-orange-2: #ffd1ac;
|
||||
--color-scale-orange-3: #ffab70;
|
||||
--color-scale-orange-4: #fb8532;
|
||||
--color-scale-orange-5: #f66a0a;
|
||||
--color-scale-orange-6: #e36209;
|
||||
--color-scale-orange-7: #d15704;
|
||||
--color-scale-orange-8: #c24e00;
|
||||
--color-scale-orange-9: #a04100;
|
||||
--color-scale-pink-0: #ffeef8;
|
||||
--color-scale-pink-1: #fedbf0;
|
||||
--color-scale-pink-2: #f9b3dd;
|
||||
--color-scale-pink-3: #f692ce;
|
||||
--color-scale-pink-4: #ec6cb9;
|
||||
--color-scale-pink-5: #ea4aaa;
|
||||
--color-scale-pink-6: #d03592;
|
||||
--color-scale-pink-7: #b93a86;
|
||||
--color-scale-pink-8: #99306f;
|
||||
--color-scale-pink-9: #6d224f;
|
||||
--color-scale-purple-0: #f5f0ff;
|
||||
--color-scale-purple-1: #e6dcfd;
|
||||
--color-scale-purple-2: #d1bcf9;
|
||||
--color-scale-purple-3: #b392f0;
|
||||
--color-scale-purple-4: #8a63d2;
|
||||
--color-scale-purple-5: #6f42c1;
|
||||
--color-scale-purple-6: #5a32a3;
|
||||
--color-scale-purple-7: #4c2889;
|
||||
--color-scale-purple-8: #3a1d6e;
|
||||
--color-scale-purple-9: #29134e;
|
||||
--color-scale-red-0: #ffeef0;
|
||||
--color-scale-red-1: #ffdce0;
|
||||
--color-scale-red-2: #fdaeb7;
|
||||
--color-scale-red-3: #f97583;
|
||||
--color-scale-red-4: #ea4a5a;
|
||||
--color-scale-red-5: #d73a49;
|
||||
--color-scale-red-6: #cb2431;
|
||||
--color-scale-red-7: #b31d28;
|
||||
--color-scale-red-8: #9e1c23;
|
||||
--color-scale-red-9: #86181d;
|
||||
--color-scale-white: #fff;
|
||||
--color-scale-yellow-0: #fffdef;
|
||||
--color-scale-yellow-1: #fffbdd;
|
||||
--color-scale-yellow-2: #fff5b1;
|
||||
--color-scale-yellow-3: #ffea7f;
|
||||
--color-scale-yellow-4: #ffdf5d;
|
||||
--color-scale-yellow-5: #ffd33d;
|
||||
--color-scale-yellow-6: #f9c513;
|
||||
--color-scale-yellow-7: #dbab09;
|
||||
--color-scale-yellow-8: #b08800;
|
||||
--color-scale-yellow-9: #735c0f;
|
||||
--color-search-hover-hl: #fff;
|
||||
--color-search-keyword-hl: #fffbdd;
|
||||
--color-select-menu-backdrop-bg: rgba(27, 31, 35, 0.5);
|
||||
--color-select-menu-backdrop-border: transparent;
|
||||
--color-select-menu-border-secondary: #eaecef;
|
||||
--color-select-menu-shadow: 0 0 18px rgba(27, 31, 35, 0.4);
|
||||
--color-select-menu-tap-focus-bg: #dbedff;
|
||||
--color-select-menu-tap-highlight: rgba(209, 213, 218, 0.5);
|
||||
--color-shadow-extra-large: 0 12px 48px rgba(149, 157, 165, 0.3);
|
||||
--color-shadow-highlight: inset 0 1px 0 hsla(0, 0%, 100%, 0.25);
|
||||
--color-shadow-inset: inset 0 1px 0 rgba(225, 228, 232, 0.2);
|
||||
--color-shadow-large: 0 8px 24px rgba(149, 157, 165, 0.2);
|
||||
--color-shadow-medium: 0 3px 6px rgba(149, 157, 165, 0.15);
|
||||
--color-shadow-small: 0 1px 0 rgba(27, 31, 35, 0.04);
|
||||
--color-sidenav-border-active: #f9826c;
|
||||
--color-sidenav-selected-bg: #fff;
|
||||
--color-social-count-bg: #fff;
|
||||
--color-state-focus-border: #0366d6;
|
||||
--color-state-focus-shadow: 0 0 0 3px rgba(3, 102, 214, 0.3);
|
||||
--color-state-hover-primary-bg: #0366d6;
|
||||
--color-state-hover-primary-border: #0366d6;
|
||||
--color-state-hover-primary-icon: #fff;
|
||||
--color-state-hover-primary-text: #fff;
|
||||
--color-state-hover-secondary-bg: #f6f8fa;
|
||||
--color-state-hover-secondary-border: #f6f8fa;
|
||||
--color-state-selected-primary-bg: #0366d6;
|
||||
--color-state-selected-primary-border: #0366d6;
|
||||
--color-state-selected-primary-icon: #fff;
|
||||
--color-state-selected-primary-text: #fff;
|
||||
--color-text-danger: #cb2431;
|
||||
--color-text-disabled: #6a737d;
|
||||
--color-text-inverse: #fff;
|
||||
--color-text-link: #0366d6;
|
||||
--color-text-placeholder: #6a737d;
|
||||
--color-text-primary: #24292e;
|
||||
--color-text-secondary: #586069;
|
||||
--color-text-success: #22863a;
|
||||
--color-text-tertiary: #6a737d;
|
||||
--color-text-warning: #b08800;
|
||||
--color-text-white: #fff;
|
||||
--color-timeline-badge-bg: #e1e4e8;
|
||||
--color-timeline-merged-bg: #6f42c1;
|
||||
--color-timeline-target-badge-border: #2188ff;
|
||||
--color-timeline-target-badge-shadow: #c8e1ff;
|
||||
--color-timeline-text: #444d56;
|
||||
--color-toast-bg: #fff;
|
||||
--color-toast-border: #e1e4e8;
|
||||
--color-toast-danger-border: #e1e4e8;
|
||||
--color-toast-danger-icon: #fff;
|
||||
--color-toast-danger-icon-bg: #d73a49;
|
||||
--color-toast-danger-icon-border: transparent;
|
||||
--color-toast-danger-text: #24292e;
|
||||
--color-toast-icon: #fff;
|
||||
--color-toast-icon-bg: #0366d6;
|
||||
--color-toast-icon-border: transparent;
|
||||
--color-toast-loading-border: #e1e4e8;
|
||||
--color-toast-loading-icon: #fff;
|
||||
--color-toast-loading-icon-bg: #586069;
|
||||
--color-toast-loading-icon-border: transparent;
|
||||
--color-toast-loading-text: #24292e;
|
||||
--color-toast-shadow: 0 8px 24px rgba(149, 157, 165, 0.2);
|
||||
--color-toast-success-border: #e1e4e8;
|
||||
--color-toast-success-icon: #fff;
|
||||
--color-toast-success-icon-bg: #28a745;
|
||||
--color-toast-success-icon-border: transparent;
|
||||
--color-toast-success-text: #24292e;
|
||||
--color-toast-text: #24292e;
|
||||
--color-toast-warning-border: #e1e4e8;
|
||||
--color-toast-warning-icon: #24292e;
|
||||
--color-toast-warning-icon-bg: #ffd33d;
|
||||
--color-toast-warning-icon-border: transparent;
|
||||
--color-toast-warning-text: #24292e;
|
||||
--color-tooltip-bg: #24292e;
|
||||
--color-tooltip-text: #fff;
|
||||
--color-topic-tag-active-bg: #e7f3ff;
|
||||
--color-topic-tag-bg: #f1f8ff;
|
||||
--color-topic-tag-hover-bg: #def;
|
||||
--color-topic-tag-text: #0366d6;
|
||||
--color-underlinenav-border: rgba(209, 213, 218, 0);
|
||||
--color-underlinenav-border-active: #f9826c;
|
||||
--color-underlinenav-border-hover: #d1d5da;
|
||||
--color-underlinenav-counter-text: #24292e;
|
||||
--color-underlinenav-icon: #959da5;
|
||||
--color-underlinenav-icon-active: #24292e;
|
||||
--color-underlinenav-icon-hover: #959da5;
|
||||
--color-underlinenav-text: #24292e;
|
||||
--color-underlinenav-text-active: #24292e;
|
||||
--color-underlinenav-text-hover: #24292e;
|
||||
--color-upload-enabled-border: #dfe2e5;
|
||||
--color-upload-enabled-border-focused: #4a9eff;
|
||||
--color-upvote-icon-bg: #dbedff;
|
||||
--color-verified-badge-bg: #fff;
|
||||
--color-verified-badge-border: #e1e4e8;
|
||||
--color-verified-badge-text: #22863a;
|
||||
--color-workflow-card-bg: #fff;
|
||||
--color-workflow-card-connector-line: #d1d5da;
|
||||
--color-workflow-card-connector-node-bg: #d1d5da;
|
||||
--color-workflow-card-header-shadow: rgba(27, 31, 35, 0.04);
|
||||
--color-workflow-card-progress-complete-bg: #959da5;
|
||||
--color-workflow-card-progress-incomplete-bg: #e1e4e8;
|
||||
}
|
@@ -1,244 +0,0 @@
|
||||
const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
||||
const now = new Date();
|
||||
let contributions;
|
||||
|
||||
(() => {
|
||||
const dom = document.querySelector('#contributions');
|
||||
if (!dom) {
|
||||
return;
|
||||
}
|
||||
|
||||
contributions = JSON.parse(dom.getAttribute('data'));
|
||||
let year = 0;
|
||||
for (const item of contributions) {
|
||||
item.publishDate = decodeURI(item.publishDate).replace(' ','T');
|
||||
item.date = new Date(item.publishDate);
|
||||
if (item.date.getFullYear() > year) {
|
||||
year = item.date.getFullYear();
|
||||
}
|
||||
item.title = decodeURI(item.title);
|
||||
}
|
||||
|
||||
yearList();
|
||||
yearly(year.toString());
|
||||
})();
|
||||
|
||||
function yearly(year) {
|
||||
let startDate;
|
||||
let endDate;
|
||||
if (year != now.getFullYear().toString()) {
|
||||
const date = new Date(year);
|
||||
startDate = new Date(date.getTime() - date.getDay() * 24 * 60 * 60 * 1000);
|
||||
endDate = new Date(date.getFullYear(), 11, 31);
|
||||
} else {
|
||||
endDate = now;
|
||||
startDate = new Date(endDate.getTime() - 364 * 24 * 60 * 60 * 1000 - endDate.getDay() * 24 * 60 * 60 * 1000);
|
||||
}
|
||||
startDate.setHours(0, 0, 0, 0);
|
||||
endDate.setHours(23, 59, 59, 999);
|
||||
const posts = [];
|
||||
const ms = [];
|
||||
for (const item of contributions) {
|
||||
if (item.date >= startDate && item.date <= endDate) {
|
||||
posts.push(item);
|
||||
if (!ms.includes(item.date.getMonth())) {
|
||||
ms.push(item.date.getMonth());
|
||||
}
|
||||
}
|
||||
}
|
||||
posts.sort((a, b) => { return b - a });
|
||||
document.querySelector('#posts-activity').innerHTML = '';
|
||||
for (const month of ms) {
|
||||
const node = document.createElement('div');
|
||||
node.innerHTML = monthly(year, month, posts);
|
||||
document.querySelector('#posts-activity').appendChild(node);
|
||||
}
|
||||
|
||||
graph(year, posts, startDate, endDate);
|
||||
|
||||
const yearList = document.querySelectorAll('.js-year-link');
|
||||
for (const elem of yearList) {
|
||||
if (elem.innerText == year) {
|
||||
elem.classList.add('selected');
|
||||
} else {
|
||||
elem.classList.remove('selected');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function monthly(year, month, posts) {
|
||||
const monthPosts = posts.filter(post =>
|
||||
post.date.getFullYear().toString() === year && post.date.getMonth() === month
|
||||
);
|
||||
let liHtml = '';
|
||||
for (const post of monthPosts) {
|
||||
liHtml += `<li class="d-flex mt-1 py-1 flex-row flex-nowrap flex-justify-between"><span class="flex-auto css-truncate css-truncate-target">
|
||||
<span class="profile-rollup-icon">
|
||||
<svg class="octicon octicon-repo v-align-middle text-gray-light mr-1" viewBox="0 0 12 16" version="1.1"
|
||||
width="12" height="16" aria-hidden="true">
|
||||
<path fill-rule="evenodd"
|
||||
d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z">
|
||||
</path>
|
||||
</svg>
|
||||
</span>
|
||||
<a class="mr-2 " data-hovercard-type="repository" href="${post.link}">${post.title}</a>
|
||||
</span>
|
||||
<time title="This post was made on ${months[post.date.getMonth()]} ${post.date.getDate()}" class="f6 text-gray-light pt-1">
|
||||
${months[post.date.getMonth()]} ${post.date.getDate()}
|
||||
</time></li>`;
|
||||
}
|
||||
let html = `
|
||||
<div class="contribution-activity-listing float-left col-12 col-lg-10">
|
||||
<div class="profile-timeline discussion-timeline width-full pb-4">
|
||||
<h3 class="profile-timeline-month-heading bg-white d-inline-block h6 pr-2 py-1">
|
||||
${months[month]} <span class="text-gray">${monthPosts.length > 0 ? monthPosts[0].date.getFullYear() : year}</span>
|
||||
</h3>
|
||||
<div class="profile-rollup-wrapper py-4 pl-4 position-relative ml-3 js-details-container Details open">
|
||||
<span class="discussion-item-icon"><svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12"
|
||||
height="16" aria-hidden="true">
|
||||
<path fill-rule="evenodd"
|
||||
d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z">
|
||||
</path>
|
||||
</svg></span>
|
||||
<button type="button" class="btn-link f4 muted-link no-underline lh-condensed width-full js-details-target "
|
||||
aria-expanded="false">
|
||||
<span class="float-left ws-normal text-left">
|
||||
Created ${monthPosts.length} post${monthPosts.length > 1 ? 's' : ''}
|
||||
</span>
|
||||
<span class="d-inline-block float-right">
|
||||
<span class="profile-rollup-toggle-closed float-right" aria_label="Collapse"><svg class="octicon octicon-fold"
|
||||
viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true">
|
||||
<path fill-rule="evenodd"
|
||||
d="M7 9l3 3H8v3H6v-3H4l3-3zm3-6H8V0H6v3H4l3 3 3-3zm4 2c0-.55-.45-1-1-1h-2.5l-1 1h3l-2 2h-7l-2-2h3l-1-1H1c-.55 0-1 .45-1 1l2.5 2.5L0 10c0 .55.45 1 1 1h2.5l1-1h-3l2-2h7l2 2h-3l1 1H13c.55 0 1-.45 1-1l-2.5-2.5L14 5z">
|
||||
</path>
|
||||
</svg></span>
|
||||
<span class="profile-rollup-toggle-open float-right" aria_label="Expand"><svg class="octicon octicon-unfold"
|
||||
viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true">
|
||||
<path fill-rule="evenodd"
|
||||
d="M11.5 7.5L14 10c0 .55-.45 1-1 1H9v-1h3.5l-2-2h-7l-2 2H5v1H1c-.55 0-1-.45-1-1l2.5-2.5L0 5c0-.55.45-1 1-1h4v1H1.5l2 2h7l2-2H9V4h4c.55 0 1 .45 1 1l-2.5 2.5zM6 6h2V3h2L7 0 4 3h2v3zm2 3H6v3H4l3 3 3-3H8V9z">
|
||||
</path>
|
||||
</svg></span>
|
||||
</span>
|
||||
</button>
|
||||
<ul class="profile-rollup-content mt-1" data-repository-hovercards-enabled="" id="posts-activity-ul">
|
||||
${liHtml}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
return html;
|
||||
}
|
||||
|
||||
function yearList() {
|
||||
const years = [];
|
||||
for (const item of contributions) {
|
||||
const year = item.date.getFullYear();
|
||||
if (!years.includes(year)) {
|
||||
years.push(year);
|
||||
}
|
||||
}
|
||||
years.sort((a, b) => { return b - a });
|
||||
|
||||
for (let i = 0; i < years.length; i++) {
|
||||
const year = years[i];
|
||||
const node = document.createElement('li');
|
||||
node.innerHTML = `<a class="js-year-link filter-item px-3 mb-2 py-2" aria-label="Post activity in ${year}" onclick="yearly('${year}') | event.stopPropagation()">${year}</a>`;
|
||||
document.querySelector('#year-list').appendChild(node);
|
||||
}
|
||||
}
|
||||
|
||||
function graph(year, posts, startDate, endDate) {
|
||||
const postsStr = posts.length === 1 ? "post" : "posts";
|
||||
if (year == now.getFullYear().toString()) {
|
||||
document.querySelector('#posts-count').innerText = `${posts.length} ${postsStr} in the last year`;
|
||||
} else {
|
||||
document.querySelector('#posts-count').innerText = `${posts.length} ${postsStr} in ${year}`;
|
||||
}
|
||||
|
||||
let html = ``;
|
||||
const count = {};
|
||||
for (const post of posts) {
|
||||
const date = `${post.date.getFullYear()}-${(post.date.getMonth() + 1).toString().padStart(2, '0')}-${post.date.getDate().toString().padStart(2, '0')}`;
|
||||
if (count[date] == undefined) {
|
||||
count[date] = 1;
|
||||
} else {
|
||||
count[date]++;
|
||||
}
|
||||
}
|
||||
const monthPos = [];
|
||||
let startMonth = -1;
|
||||
for (let i = 0; i < 53; i++) {
|
||||
html += `<g transform="translate(${i * 16}, 0)">`;
|
||||
for (let j = 0; j < 7; j++) {
|
||||
const date = new Date(startDate.getTime() + (i * 7 + j) * 24 * 60 * 60 * 1000);
|
||||
const dataDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
|
||||
if (date > endDate) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (j == 0) {
|
||||
if (i <= 51) {
|
||||
if (startMonth != date.getMonth()) {
|
||||
monthPos.push(i);
|
||||
startMonth = date.getMonth();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let c;
|
||||
if (count[dataDate] == undefined) {
|
||||
c = 0;
|
||||
} else {
|
||||
c = count[dataDate];
|
||||
}
|
||||
let color;
|
||||
switch (c) {
|
||||
case 0:
|
||||
color = "#ebedf0";
|
||||
break;
|
||||
case 1:
|
||||
color = "#c6e48b";
|
||||
break;
|
||||
case 2:
|
||||
color = "#7bc96f";
|
||||
break;
|
||||
case 3:
|
||||
color = "#239a3b";
|
||||
break;
|
||||
default:
|
||||
color = "#196127";
|
||||
}
|
||||
html += `<rect class="day" width="12" height="12" x="${16 - i}" y="${j * 15}"
|
||||
fill="${color}" data-count="${c}"
|
||||
data-date="${dataDate}"></rect>`;
|
||||
}
|
||||
html += '</g>';
|
||||
}
|
||||
if (monthPos[1] - monthPos[0] < 2) {
|
||||
monthPos[0] = -1;
|
||||
}
|
||||
for (let i = 0; i < monthPos.length; i++) {
|
||||
const month = monthPos[i];
|
||||
if (month == -1) {
|
||||
continue;
|
||||
}
|
||||
html += `<text x="${15 * month + 16}" y="-9"
|
||||
class="month">${months[(i + startDate.getMonth()) % 12]}</text>`;
|
||||
}
|
||||
html += `
|
||||
<text text-anchor="start" class="wday" dx="-10" dy="8"
|
||||
style="display: none;">Sun</text>
|
||||
<text text-anchor="start" class="wday" dx="-10" dy="25">Mon</text>
|
||||
<text text-anchor="start" class="wday" dx="-10" dy="32"
|
||||
style="display: none;">Tue</text>
|
||||
<text text-anchor="start" class="wday" dx="-10" dy="56">Wed</text>
|
||||
<text text-anchor="start" class="wday" dx="-10" dy="57"
|
||||
style="display: none;">Thu</text>
|
||||
<text text-anchor="start" class="wday" dx="-10" dy="85">Fri</text>
|
||||
<text text-anchor="start" class="wday" dx="-10" dy="81"
|
||||
style="display: none;">Sat</text>
|
||||
`;
|
||||
document.querySelector('#graph-svg').innerHTML = html;
|
||||
stopClickEvent('.day');
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
26
static/js/github-style.js
Normal file
26
static/js/github-style.js
Normal file
@@ -0,0 +1,26 @@
|
||||
function switchTheme() {
|
||||
const currentStyle = currentTheme();
|
||||
|
||||
if (currentStyle == 'light') {
|
||||
setTheme('dark');
|
||||
}
|
||||
else {
|
||||
setTheme('light');
|
||||
}
|
||||
}
|
||||
|
||||
function setTheme(style) {
|
||||
console.log(`set theme ${style}`);
|
||||
document.documentElement.setAttribute('data-theme', style);
|
||||
localStorage.setItem('data-theme', style);
|
||||
}
|
||||
|
||||
function currentTheme() {
|
||||
const localStyle = localStorage.getItem('data-theme');
|
||||
const systemStyle = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
return localStyle || systemStyle;
|
||||
}
|
||||
|
||||
(() => {
|
||||
setTheme(currentTheme());
|
||||
})();
|
@@ -1,13 +0,0 @@
|
||||
function stopClickEvent(selector) {
|
||||
const elements = document.querySelectorAll(selector);
|
||||
for (const current of elements) {
|
||||
current.onclick = (event) => {
|
||||
event.stopPropagation();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
(() => {
|
||||
stopClickEvent('.day');
|
||||
stopClickEvent('.js-year-link');
|
||||
})();
|
Reference in New Issue
Block a user