diff options
Diffstat (limited to 'assets/sass/_partial')
23 files changed, 1462 insertions, 0 deletions
| diff --git a/assets/sass/_partial/_404.scss b/assets/sass/_partial/_404.scss new file mode 100644 index 0000000..63eb465 --- /dev/null +++ b/assets/sass/_partial/_404.scss @@ -0,0 +1,25 @@ +// ============================== +// Archive +// ============================= + +.not-found { +  text-align: center; + +  .error-emoji { +    color: #363636; +    font-size: 3rem; +  } + +  .error-text { +    color: #797979; +    font-size: 1.25rem; +  } + +  .error-link { +    margin-top: 2rem; + +    a { +      color: $theme-color; +    } +  } +}
\ No newline at end of file diff --git a/assets/sass/_partial/_archive.scss b/assets/sass/_partial/_archive.scss new file mode 100644 index 0000000..f1431c4 --- /dev/null +++ b/assets/sass/_partial/_archive.scss @@ -0,0 +1,100 @@ +// ============================== +// Archive +// ============================= + +.archive { +  margin: $archive-margin; +  max-width: $archive-max-width; + +  .archive-title { +    font-family: $global-serif-font-family; + +    &.tag, +    &.category { +      margin: 15px 0; +    } + +    .archive-name { +      margin: 0; +      display: inline-block; +      font-weight: 400; +      font-size: $archive-name-font-size; +      line-height: $archive-name-font-size + 2px; +    } + +    .archive-post-counter { +      color: $dark-gray; +    } +  } + +  .collection-title { +    font-family: $global-serif-font-family; +   +    .archive-year { +      margin: 15px 0; +      font-weight: 400; +      font-size: $collection-title-font-size; +      line-height: $collection-title-font-size + 2px; +    } +  } + +  .archive-post { +    padding: $archive-post-padding; +    border-left: $archive-post-border-left; + +    .archive-post-time { +      margin-right: 10px; +      color: $dark-gray; +    } + +    .archive-post-title { +       +      .archive-post-link { +        color: $theme-color; +      } +    } + +    &::first-child { +      margin-top: 10px; +    } + +    &:hover { +      border-left: $archive-post-hover-border-left; +      transition: $archive-post-hover-transition; +      transform: $archive-post-hover-transform; + +      .archive-post-time { +        color: darken($dark-gray, 10%); +      } + +      .archive-post-title .archive-post-link { +        color: darken($theme-color, 10%); +      } +    } +  } +} + +@include max-screen() { +  .archive { +    margin-left: auto; +    margin-right: auto; + +    .archive-title .archive-name { +      font-size: $archive-name-font-size - 4px; +    } + +    .collection-title .archive-year { +      margin: 10px 0; +      font-size: $collection-title-font-size - 4px; +    } + +    .archive-post { +      padding: $archive-post-mobile-padding; + +      .archive-post-time { +        font-size: $archive-post-mobile-time-font-size; +        display: block; +      } +    } +  } +} diff --git a/assets/sass/_partial/_back-to-top.scss b/assets/sass/_partial/_back-to-top.scss new file mode 100644 index 0000000..ee67aa2 --- /dev/null +++ b/assets/sass/_partial/_back-to-top.scss @@ -0,0 +1,24 @@ +// ============================== +// Back to top +// ============================= + +.back-to-top { +  display: none; +  position: fixed; +  right: 20px; +  bottom: 20px; +  transition-property: transform; +  transition-timing-function: ease-out; +  transition-duration: 0.3s; +  z-index: 10; + +  &:hover { +    transform: translateY(-5px);  +  } +} + +@include max-screen() { +  .back-to-top { +    display: none !important; +  } +}
\ No newline at end of file diff --git a/assets/sass/_partial/_footer.scss b/assets/sass/_partial/_footer.scss new file mode 100644 index 0000000..1f8cdae --- /dev/null +++ b/assets/sass/_partial/_footer.scss @@ -0,0 +1,10 @@ +// ============================== +// Post footer +// ============================= + +.footer { +  margin-top: $footer-margin-top; + +  @import "_footer/social"; +  @import "_footer/copyright"; +}
\ No newline at end of file diff --git a/assets/sass/_partial/_footer/_copyright.scss b/assets/sass/_partial/_footer/_copyright.scss new file mode 100644 index 0000000..7d33fe3 --- /dev/null +++ b/assets/sass/_partial/_footer/_copyright.scss @@ -0,0 +1,23 @@ +// ============================== +// Copyright +// ============================= + +.copyright { +  margin: $copyright-margin; +  color: $dark-gray; +  text-align: center; +  font-family: $global-serif-font-family; + +  .hexo-link, +  .theme-link { +    color: $theme-color; +  } + +  .copyright-year { +    display: block; + +    .heart { +      font-size: 14px; +    } +  } +}
\ No newline at end of file diff --git a/assets/sass/_partial/_footer/_social.scss b/assets/sass/_partial/_footer/_social.scss new file mode 100644 index 0000000..a23eb69 --- /dev/null +++ b/assets/sass/_partial/_footer/_social.scss @@ -0,0 +1,19 @@ +// ============================== +// Social +// ============================= + +.social-links { +  text-align: center; + +  .iconfont { +    font-size: $social-icon-font-size; + +    & + .iconfont { +      margin-left: $social-link-margin-left; +    }  + +    &:hover { +      color: $theme-color; +    } +  } +}
\ No newline at end of file diff --git a/assets/sass/_partial/_header.scss b/assets/sass/_partial/_header.scss new file mode 100644 index 0000000..d81f17c --- /dev/null +++ b/assets/sass/_partial/_header.scss @@ -0,0 +1,19 @@ +// ============================== +// Header +// ============================== + +.header { +  @include clearfix;  +  padding: $header-padding; + +  @import '_header/logo'; +  @import '_header/menu'; +} + + +@include max-screen() { +  .header { +    padding: 50px 0 0; +    text-align: center; +  } +} diff --git a/assets/sass/_partial/_header/_logo.scss b/assets/sass/_partial/_header/_logo.scss new file mode 100644 index 0000000..cd6435f --- /dev/null +++ b/assets/sass/_partial/_header/_logo.scss @@ -0,0 +1,18 @@ +// ============================== +// Logo +// ============================= + +.logo-wrapper { +  float: left; + +  .logo { +    font-size: $logo-font-size; +    font-family: $logo-font-family; +  } +} + +@include max-screen() { +  .logo-wrapper { +    display: none; +  } +} diff --git a/assets/sass/_partial/_header/_menu.scss b/assets/sass/_partial/_header/_menu.scss new file mode 100644 index 0000000..7209c80 --- /dev/null +++ b/assets/sass/_partial/_header/_menu.scss @@ -0,0 +1,35 @@ +// ============================== +// Menu +// ============================= + +.site-navbar { +  float: right; + +  .menu { +    display: inline-block; +    position: relative; +    padding-left: 0; +    padding-right: 25px; +    font-family: $global-serif-font-family; + +    .menu-item { +      display: inline-block; + +      & + .menu-item { +        margin-left: $menu-item-margin-left;; +      } + +      @include underline-from-center; +    } + +    .menu-item-link { +      font-size: $menu-link-font-size; +    } +  } +} + +@include max-screen() { +  .site-navbar { +    display: none; +  } +} diff --git a/assets/sass/_partial/_mobile.scss b/assets/sass/_partial/_mobile.scss new file mode 100644 index 0000000..26e4c76 --- /dev/null +++ b/assets/sass/_partial/_mobile.scss @@ -0,0 +1,77 @@ +// ============================== +// Mobile Navbar +// ============================== + +.mobile-navbar { +  display: none; +  position: fixed; +  top: 0; +  left: 0; +  width: 100%; +  height: $mobile-navbar-height; +  background: $white; +  box-shadow: 0px 2px 2px $gray; +  text-align: center; +  transition: transform 300ms ease; +  z-index: 99; + +  &.fixed-open { +    transform: translate3d(180px, 0px, 0px); +  } + +  .mobile-header-logo { +    display: inline-block; +    margin-right: 50px; + +    .logo { +      font-size: 22px; +      line-height: $mobile-navbar-height; +      font-family: $logo-font-family; +    } +  } + +  .mobile-navbar-icon { +    color: $theme-color; +    height: $mobile-navbar-height; +    width: $mobile-navbar-height; +    font-size: 24px; +    text-align: center; +    float: left; +    position: relative; +    transition: background 0.5s; + +    @include mobile-menu-icon(); +  } +} + +.mobile-menu { +  background-color: rgba($deputy-color, 0.5); + +  .mobile-menu-list { +    position: relative; +    list-style: none; +    margin-top: 50px; +    padding: 0; +    border-top: 1px solid $deputy-color; + +    .mobile-menu-item { +      padding: 10px 30px; +      border-bottom: 1px solid $deputy-color; +    } + +    a { +      font-size: 18px; +      font-family: $global-serif-font-family; + +      &:hover { +        color: $theme-color; +      } +    } +  } +} + +@include max-screen() { +  .mobile-navbar { +    display: block; +  } +} diff --git a/assets/sass/_partial/_pagination.scss b/assets/sass/_partial/_pagination.scss new file mode 100644 index 0000000..c58f8db --- /dev/null +++ b/assets/sass/_partial/_pagination.scss @@ -0,0 +1,36 @@ +// ============================== +// Pagination +// ============================== + +.pagination { +  margin: $pagination-margin; +  @include clearfix; + +  .prev, +  .next { +    font-weight: 600; +    font-size: $pagination-font-size; +    font-family: $global-serif-font-family; +    transition-property: transform; +    transition-timing-function: ease-out; +    transition-duration: 0.3s; +  } + +  .prev { +    float: left; + +    &:hover { +      color: $theme-color; +      transform: translateX(-4px);  +    } +  } + +  .next { +    float: right; + +    &:hover { +      color: $theme-color; +      transform: translateX(4px);  +    } +  } +}
\ No newline at end of file diff --git a/assets/sass/_partial/_post.scss b/assets/sass/_partial/_post.scss new file mode 100644 index 0000000..a980b29 --- /dev/null +++ b/assets/sass/_partial/_post.scss @@ -0,0 +1,24 @@ +// ============================== +// Post +// ============================== + +.posts { +  margin-bottom: $post-list-margin-bottom; +  border-bottom: $post-border; +} + +.post { +  padding: $post-padding; + +  & + .post { +    border-top: $post-border; +  } + +  @import '_post/header'; +  @import '_post/toc'; +  @import '_post/content'; +  @import '_post/copyright'; +  @import '_post/reward'; +  @import '_post/footer'; +  @import '_post/outdated'; +} diff --git a/assets/sass/_partial/_post/_admonition.scss b/assets/sass/_partial/_post/_admonition.scss new file mode 100644 index 0000000..75444d6 --- /dev/null +++ b/assets/sass/_partial/_post/_admonition.scss @@ -0,0 +1,210 @@ +.admonition { +  box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), +      0 1px 5px 0 rgba(0,0,0,.12), +      0 3px 1px -2px rgba(0,0,0,.2); +  position: relative; +  margin: .9765em 0; +  padding: 0 .75rem; +  border-left: .25rem solid #448aff; +  border-radius: .125rem; +  overflow: auto; + +  .admonition-title { +    margin: 0 -0.75rem; +    padding: .5rem .75rem .5rem 2.5rem; +    border-bottom: .1rem solid rgba(68,138,255,.1); +    background-color: rgba(68,138,255,.1); +    font-weight: 700; +  } + +  .admonition-title:before { +    @extend %base-iconfont; +    cursor: auto; +    position: absolute; +    left: .75rem; +    top: .75rem; +  } + +  &.note { +    border-left-color: #448aff; + +    .admonition-title:before { +      color: #448aff; +      content: "\e903"; +    } +  } + +  &.abstract { +    border-left-color: #00b0ff; + +    .admonition-title { +      background-color: rgba(0,176,255,.1); +    } + +    .admonition-title:before { +      color: #00b0ff; +      content: "\e9bb"; +    } +  } + +  &.info { +    border-left-color: #00b8d4; + +    .admonition-title { +      background-color: rgba(0,184,212,.1); +    } + +    .admonition-title:before { +      color: #00b8d4; +      content: "\ea0c"; +    } +  } + +  &.tip { +    border-left-color: #00bfa5; + +    .admonition-title { +      background-color: rgba(0,191,165,.1); +    } + +    .admonition-title:before { +      color: #00bfa5; +      content: "\e906"; +    } +  } + +  &.success { +    border-left-color: #00c853; + +    .admonition-title { +      background-color: rgba(0,200,83,.1); +    } + +    .admonition-title:before { +      color: #00c853; +      content: "\ea10"; +    } +  } + +  &.question { +    border-left-color: #64dd17; + +    .admonition-title { +      background-color: rgba(100,221,23,.1); +    } + +    .admonition-title:before { +      color: #64dd17; +      content: "\ea09"; +    } +  } + +  &.warning { +    border-left-color: #ff9100; + +    .admonition-title { +      background-color: rgba(255,145,0,.1); +    } + +    .admonition-title:before { +      color: #ff9100; +      content: "\ea07"; +    } +  } + +  &.failure { +    border-left-color: #ff5252; + +    .admonition-title { +      background-color: rgba(255,82,82,.1); +    } + +    .admonition-title:before { +      color: #ff5252; +      content: "\ea0f"; +    } +  } + +  &.danger { +    border-left-color: #ff1744; + +    .admonition-title { +      background-color: rgba(255,23,68,.1); +    } + +    .admonition-title:before { +      color: #ff1744; +      content: "\e905"; +    } +  } + +  &.bug { +    border-left-color: #f50057; + +    .admonition-title { +      background-color: rgba(245,0,87,.1); +    } + +    .admonition-title:before { +      color: #f50057; +      content: "\e907"; +    } +  } + +  &.example { +    border-left-color: #651fff; + +    .admonition-title { +      background-color: rgba(101,31,255,.1); +    } + +    .admonition-title:before { +      color: #651fff; +      content: "\e9b9"; +    } +  } + +  &.quote { +    border-left-color: #9e9e9e; + +    .admonition-title { +      background-color: hsla(0,0%,62%,.1); +    } + +    .admonition-title:before { +      color: #9e9e9e; +      content: "\e904"; +    } +  } + +  &:last-child { +    margin-bottom: .75rem; +  } +} + +details.admonition { +  summary { +    display: block; +    outline: none; +    cursor: pointer; + +    &::-webkit-details-marker { +      display: none; +    } + +    &:after { +      @extend %base-iconfont; +      position: absolute; +      top: .75rem; +      right: .75rem; +      color: rgba(0,0,0,.26); +      content: "\e908"; +    } +  } +} + +details.admonition[open] { +  > summary:after { +    transform: rotate(180deg); +  } +} diff --git a/assets/sass/_partial/_post/_code.scss b/assets/sass/_partial/_post/_code.scss new file mode 100644 index 0000000..50fcdd2 --- /dev/null +++ b/assets/sass/_partial/_post/_code.scss @@ -0,0 +1,283 @@ +code, pre { +  padding: 7px; +  font-size: $code-font-size; +  font-family: $code-font-family; +  background: $code-background; +} + +code { +  padding: 3px 5px; +  border-radius: 4px; +  color: $code-color; +} + +// highlight.js +figure.highlight { +  margin: 1em 0; +  border-radius: 5px; +  overflow-x: auto; +  box-shadow: 1px 1px 2px rgba(0,0,0,0.125); +  position: relative; + +  table { +    position: relative; + +    &::after { +      position: absolute; +      top: 0; +      right: 0; +      left: 0; +      padding: 2px 7px; +      font-size: $code-font-size; +      font-weight: bold; +      color: darken($gray, 10%); +      background: darken($code-background, 3%); +      content: 'Code'; +    } +  } + +  @each $sign, $text in $code-type-list { +    &.#{$sign} > table::after { +      content: $text; +    } +  } + +  .code { +    pre { +      margin: 0; +      padding: 30px 10px 10px; +    } +  } + +  .gutter { +    width: 10px; +    color: $gray; + +    pre { +      margin: 0; +      padding: 30px 7px 10px; +    } +  } + +  .line { +    // Fix code block null line height and +    // Synchronous gutter and code line highly. +    height: round($code-font-size * 1.5); +  } + +  table, tr, td { +    margin: 0; +    padding: 0; +    width: 100%; +    border-collapse: collapse; +  } + +  .code { +    .hljs-comment, +    .hljs-quote { +      color: map-get($code-highlight-color, comment); +    } + +    .hljs-keyword, +    .hljs-selector-tag, +    .hljs-addition { +      color: map-get($code-highlight-color, keyword); +    } + +    .hljs-number, +    .hljs-string, +    .hljs-meta .hljs-meta-string, +    .hljs-literal, +    .hljs-doctag, +    .hljs-regexp { +      color: map-get($code-highlight-color, number); +    } + +    .hljs-title, +    .hljs-section, +    .hljs-name, +    .hljs-selector-id, +    .hljs-selector-class { +      color: map-get($code-highlight-color, title); +    } + +    .hljs-attribute, +    .hljs-attr, +    .hljs-variable, +    .hljs-template-variable, +    .hljs-class .hljs-title, +    .hljs-type { +      color: map-get($code-highlight-color, attribute); +    } + +    .hljs-symbol, +    .hljs-bullet, +    .hljs-subst, +    .hljs-meta, +    .hljs-meta .hljs-keyword, +    .hljs-selector-attr, +    .hljs-selector-pseudo, +    .hljs-link { +      color: map-get($code-highlight-color, symbol); +    } + +    .hljs-built_in, +    .hljs-deletion { +      color: map-get($code-highlight-color, built_in); +    } + +    .hljs-formula { +      background: map-get($code-highlight-color, formula); +    } +     +    .hljs-emphasis { +      font-style: italic; +    } +     +    .hljs-strong { +      font-weight: bold; +    } +  } +} + +// chroma +.highlight > .chroma { +  margin: 1em 0; +  border-radius: 5px; +  overflow-x: auto; +  box-shadow: 1px 1px 2px rgba(0,0,0,0.125); +  position: relative; +  background: $code-background; + +  code { +    padding: 0; +  } + +  table { +    position: relative; + +    &::after { +      position: absolute; +      top: 0; +      right: 0; +      left: 0; +      padding: 2px 7px; +      font-size: $code-font-size; +      font-weight: bold; +      color: darken($gray, 10%); +      background: darken($code-background, 3%); +      content: 'Code'; +    } +  } + +  @each $sign, $text in $code-type-list { +    &.#{$sign} > table::after { +      content: $text; +    } +  } + +  .lntd { +    // Fix code block null line height and +    // Synchronous gutter and code line highly. +    line-height: round($code-font-size * 1.5); + +    &:first-child { +      width: 10px; + +      pre { +        margin: 0; +        padding: 30px 7px 10px; +      } +    } + +    &:last-child { +      vertical-align: top; + +      pre { +        margin: 0; +        padding: 30px 10px 10px; +      } +    } +  } + +  table, tr, td { +    margin: 0; +    padding: 0; +    width: 100%; +    border-collapse: collapse; +  } + +  /* LineNumbersTable */  .lnt { color: $gray; } +  /* LineHighlight */  .hl { display: block; width: 100%; background-color: #ffffcc } + +  /* Keyword */  .k { color: #859900 } +  /* KeywordConstant */  .kc { color: #859900; font-weight: bold } +  /* KeywordDeclaration */  .kd { color: #859900 } +  /* KeywordNamespace */  .kn { color: #dc322f; font-weight: bold } +  /* KeywordPseudo */  .kp { color: #859900 } +  /* KeywordReserved */  .kr { color: #859900 } +  /* KeywordType */  .kt { color: #859900; font-weight: bold } +  /* Name */  .n { color: #268bd2 } +  /* NameAttribute */  .na { color: #268bd2 } +  /* NameBuiltin */  .nb { color: #cb4b16 } +  /* NameBuiltinPseudo */  .bp { color: #268bd2 } +  /* NameClass */  .nc { color: #cb4b16 } +  /* NameConstant */  .no { color: #268bd2 } +  /* NameDecorator */  .nd { color: #268bd2 } +  /* NameEntity */  .ni { color: #268bd2 } +  /* NameException */  .ne { color: #268bd2 } +  /* NameFunction */  .nf { color: #268bd2 } +  /* NameFunctionMagic */  .fm { color: #268bd2 } +  /* NameLabel */  .nl { color: #268bd2 } +  /* NameNamespace */  .nn { color: #268bd2 } +  /* NameOther */  .nx { color: #268bd2 } +  /* NameProperty */  .py { color: #268bd2 } +  /* NameTag */  .nt { color: #268bd2; font-weight: bold } +  /* NameVariable */  .nv { color: #268bd2 } +  /* NameVariableClass */  .vc { color: #268bd2 } +  /* NameVariableGlobal */  .vg { color: #268bd2 } +  /* NameVariableInstance */  .vi { color: #268bd2 } +  /* NameVariableMagic */  .vm { color: #268bd2 } +  /* Literal */  .l { color: #2aa198 } +  /* LiteralDate */  .ld { color: #2aa198 } +  /* LiteralString */  .s { color: #2aa198 } +  /* LiteralStringAffix */  .sa { color: #2aa198 } +  /* LiteralStringBacktick */  .sb { color: #2aa198 } +  /* LiteralStringChar */  .sc { color: #2aa198 } +  /* LiteralStringDelimiter */  .dl { color: #2aa198 } +  /* LiteralStringDoc */  .sd { color: #2aa198 } +  /* LiteralStringDouble */  .s2 { color: #2aa198 } +  /* LiteralStringEscape */  .se { color: #2aa198 } +  /* LiteralStringHeredoc */  .sh { color: #2aa198 } +  /* LiteralStringInterpol */  .si { color: #2aa198 } +  /* LiteralStringOther */  .sx { color: #2aa198 } +  /* LiteralStringRegex */  .sr { color: #2aa198 } +  /* LiteralStringSingle */  .s1 { color: #2aa198 } +  /* LiteralStringSymbol */  .ss { color: #2aa198 } +  /* LiteralNumber */  .m { color: #2aa198; font-weight: bold } +  /* LiteralNumberBin */  .mb { color: #2aa198; font-weight: bold } +  /* LiteralNumberFloat */  .mf { color: #2aa198; font-weight: bold } +  /* LiteralNumberHex */  .mh { color: #2aa198; font-weight: bold } +  /* LiteralNumberInteger */  .mi { color: #2aa198; font-weight: bold } +  /* LiteralNumberIntegerLong */  .il { color: #2aa198; font-weight: bold } +  /* LiteralNumberOct */  .mo { color: #2aa198; font-weight: bold } +  /* OperatorWord */  .ow { color: #859900 } +  /* Comment */  .c { color: #93a1a1; font-style: italic } +  /* CommentHashbang */  .ch { color: #93a1a1; font-style: italic } +  /* CommentMultiline */  .cm { color: #93a1a1; font-style: italic } +  /* CommentSingle */  .c1 { color: #93a1a1; font-style: italic } +  /* CommentSpecial */  .cs { color: #93a1a1; font-style: italic } +  /* CommentPreproc */  .cp { color: #93a1a1; font-style: italic } +  /* CommentPreprocFile */  .cpf { color: #93a1a1; font-style: italic } +  /* Generic */  .g { color: #d33682 } +  /* GenericDeleted */  .gd { color: #b58900 } +  /* GenericEmph */  .ge { color: #d33682 } +  /* GenericError */  .gr { color: #d33682 } +  /* GenericHeading */  .gh { color: #d33682 } +  /* GenericInserted */  .gi { color: #859900 } +  /* GenericOutput */  .go { color: #d33682 } +  /* GenericPrompt */  .gp { color: #d33682 } +  /* GenericStrong */  .gs { color: #d33682 } +  /* GenericSubheading */  .gu { color: #d33682 } +  /* GenericTraceback */  .gt { color: #d33682 } +} diff --git a/assets/sass/_partial/_post/_content.scss b/assets/sass/_partial/_post/_content.scss new file mode 100644 index 0000000..688a924 --- /dev/null +++ b/assets/sass/_partial/_post/_content.scss @@ -0,0 +1,197 @@ +// ============================== +// Post content +// ============================== + +.post-content { +  word-wrap: break-word; + +  @for $i from 1 through 6 { +    h#{$i} { +      font-weight: 400; +      font-family: $global-serif-font-family; + +      .anchor { +        float: left; +        line-height: 1; +        margin-left: -20px; +        padding-right: 4px; + +        &:hover { +          border-bottom: initial; +        } + +        .icon-link { +          visibility: hidden; +          font-size: 16px; + +          &:before { +            vertical-align: middle; +          } +        } +      } + +      &:hover { +        .icon-link { +          visibility: visible; +        } +      } +    } +  } + +  a { +    color: $theme-color; +    word-break: break-all; + +    &:hover { +      border-bottom: $content-link-border; +    } + +    &.fancybox { +      border: 0; +    } +  } + +  blockquote { +    margin: 2em 0; +    padding: 10px 20px; +    position: relative; +    color: rgba(#34495e, 0.8); +    background-color: $content-blockquote-backgroud; +    border-left: $content-blockquote-border-left; +    box-shadow: 1px 1px 2px rgba(0,0,0,0.125); + +    p { +      margin: 0; +    } +  } + +  img { +    display: inline-block; +    max-width: 100%; +  } + +  .table-wrapper { +    overflow-x: auto; + +    > table { +      max-width: 100%; +      margin: 10px 0; +      border-spacing: 0; +      box-shadow: 2px 2px 3px rgba(0,0,0,.125); + +      thead { +        background: $deputy-color; +      } + +      th, td { +        padding: 5px 15px; +        border: 1px double $content-table-border-color; +      } + +      tr:hover { +        background-color: $deputy-color; +      } +    } +  } + +  @import 'code'; +  @import 'admonition'; + +  .post-summary { +    margin-bottom: 1em; +  } + +  .read-more { +    .read-more-link { +      color: $theme-color; +      font-size: 1.1em; +      font-family: $global-serif-font-family; +     +      &:hover { +        border-bottom: $post-readMore-border-bottom; +      } +    } +  } + +  kbd { +    display: inline-block; +    padding: 0.25em; +    background-color: #fafafa; +    border: 1px solid #dbdbdb; +    border-bottom-color: #b5b5b5; +    border-radius: 3px; +    box-shadow: inset 0 -1px 0 #b5b5b5; +    font-size: 0.8em; +    line-height: 1.25; +    font-family: "SFMono-Regular","Liberation Mono","Roboto Mono",Menlo,Monaco,Consolas,"Courier New",Courier,monospace; +    color: #4a4a4a; +  } + +  dl dt::after { +    content: ':'; +  } + +  figure { +    &.center { +      text-align: center; +    } + +    &.right { +      text-align: right; +    } + +    &.left { +      text-align: left; +    } + +    figcaption h4 { +      color: #b5b5b5; +      font-size: 0.9rem; +    } +  } + +  hr { +    margin: 1rem 0; +    position: relative; +    border-top: 2px dashed $theme-color; +    border-bottom: none; +  } + +  .footnote-ref { +    > a { +      font-weight: bold; +      margin-left: 3px; + +      &:before { +        content: "["; +      } + +      &:after { +        content: "]"; +      } +    } +  } + +  .task-list { +    list-style: none; +    padding-left: 1.5rem; +  } + +  .align-center { +    text-align: center; +  } + +  .align-right { +    text-align: right; +  } + +  .align-left { +    text-align: left; +  } + +  .MJXc-display { +    overflow-x: auto; +    overflow-y: hidden; +    padding-right: 1px; +  } +} diff --git a/assets/sass/_partial/_post/_copyright.scss b/assets/sass/_partial/_post/_copyright.scss new file mode 100644 index 0000000..374061f --- /dev/null +++ b/assets/sass/_partial/_post/_copyright.scss @@ -0,0 +1,29 @@ +.post-copyright { +  margin-top: 20px; +  padding-top: 10px; +  border-top: 1px dashed $light-gray; + +  .copyright-item { +    margin: 5px 0; + +    a { +      color: $theme-color; +      word-wrap: break-word; + +      &:hover { +        border-bottom: $content-link-border; +      } +    } + +    .item-title { +      display: inline-block; +      min-width: 5rem; +      margin-right: .5rem; +      text-align: right; + +      &:after { +        content: " :"; +      } +    } +  } +} diff --git a/assets/sass/_partial/_post/_footer.scss b/assets/sass/_partial/_post/_footer.scss new file mode 100644 index 0000000..012110f --- /dev/null +++ b/assets/sass/_partial/_post/_footer.scss @@ -0,0 +1,74 @@ +// ============================== +// Post footer +// ============================== + +.post-footer { +  margin-top: $post-footer-margin-top; +  border-top: $post-footer-border-top; +  font-family: $global-serif-font-family; + +  .post-tags { +    padding: $post-tags-padding; + +    a { +      margin-right: 5px; +      color: $theme-color; +      word-break: break-all; + +      &::before { +        content: '#'; +      } +    } +  } + +  .post-nav { +    margin: 1em 0; +    @include clearfix; + +    .prev, +    .next { +      font-weight: 600; +      font-size: $post-nav-font-size; +      font-family: $global-serif-font-family; +      transition-property: transform; +      transition-timing-function: ease-out; +      transition-duration: 0.3s; +    } + +    .prev { +      float: left; + +      &:hover { +        color: $theme-color; +        transform: translateX(-4px);  +      } +    } + +    .next { +      float: right; + +      &:hover { +        color: $theme-color; +        transform: translateX(4px);  +      } +    } + +    .nav-mobile { +      display: none; +    } +  } +} + +@include max-screen() { +  .post-footer { +    .post-nav { +      .nav-default { +        display: none; +      } + +      .nav-mobile { +        display: inline; +      } +    } +  } +}
\ No newline at end of file diff --git a/assets/sass/_partial/_post/_header.scss b/assets/sass/_partial/_post/_header.scss new file mode 100644 index 0000000..7faf4e3 --- /dev/null +++ b/assets/sass/_partial/_post/_header.scss @@ -0,0 +1,46 @@ +.post-header { +  margin-bottom: 20px; + +  .post-title { +    margin: 0; +    font-size: $post-title-font-size; +    font-weight: $post-title-font-weight; +    font-family: $global-serif-font-family; +  } + +  .post-link { +    @include underline-from-center; +  } + +  .post-meta { +    font-size: 14px; +    color: $post-meta-font-color; + +    .post-time { +      font-size: 15px; +    } + +    .post-category { +      display: inline; + +      a { +        color: inherit; + +        &::before { +          content: '·'; +        } + +        &:hover { +          color: $theme-color; +        } +      } +    } + +    .more-meta { +      &::before { +        content: '·'; +      } +    } + +  } +} diff --git a/assets/sass/_partial/_post/_outdated.scss b/assets/sass/_partial/_post/_outdated.scss new file mode 100644 index 0000000..be7b5ea --- /dev/null +++ b/assets/sass/_partial/_post/_outdated.scss @@ -0,0 +1,25 @@ +.post-outdated { +  .hint { +    position: relative; +    margin-top: 20px; +    margin-bottom: 20px; +    padding: 5px 10px; +    border-left: 4px solid rgb(66, 172, 243); +    background-color: rgb(239, 245, 255); +    border-color: rgb(66, 172, 243); +  } + +  .warn { +    position: relative; +    margin-top: 20px; +    margin-bottom: 20px; +    padding: 5px 10px; +    border-left: 4px solid #f9cf63; +    background-color: #ffffc0; +    border-color: #f9cf63; +  } +} + + + + diff --git a/assets/sass/_partial/_post/_reward.scss b/assets/sass/_partial/_post/_reward.scss new file mode 100644 index 0000000..3a03a9f --- /dev/null +++ b/assets/sass/_partial/_post/_reward.scss @@ -0,0 +1,54 @@ +.post-reward { +  margin-top: 20px; +  padding-top: 10px; +  text-align: center; +  border-top: 1px dashed $light-gray; + +  .reward-button { +    margin: 15px 0; +    padding: 3px 7px; +    display: inline-block; +    color: $theme-color; +    border: 1px solid $theme-color; +    border-radius: 5px; +    cursor: pointer; + +    &:hover { +      color: $white; +      background-color: $theme-color; +      transition: 0.5s; +    } +  } + +  #reward:checked { +    & ~ .qr-code { +      display: block; +    } + +    & ~ .reward-button { +      display: none; +    } +  } + +  .qr-code { +    display: none; + +    .qr-code-image { +      display: inline-block; +      min-width: 200px; +      width: 40%; +      margin-top: 15px; + +      span { +        display: inline-block; +        width: 100%; +        margin: 8px 0; +      } +    } + +    .image { +      width: 200px; +      height: 200px; +    } +  } +}
\ No newline at end of file diff --git a/assets/sass/_partial/_post/_toc.scss b/assets/sass/_partial/_post/_toc.scss new file mode 100644 index 0000000..8327055 --- /dev/null +++ b/assets/sass/_partial/_post/_toc.scss @@ -0,0 +1,55 @@ +.post-toc { +  position: absolute; +  width: $post-toc-width; +  margin-left: $post-toc-margin-left; +  padding: 10px; +  font-family: $global-serif-font-family; +  border-radius: 5px; +  background: $post-toc-backgroud; +  box-shadow: 1px 1px 2px rgba(0,0,0,0.125); +  word-wrap: break-word; +  box-sizing: border-box; + +  .post-toc-title { +    margin: 0 10px; +    font-size: $post-toc-title-size; +    font-weight: 400; +    text-transform: uppercase; +  } + +  .post-toc-content { +    font-size: $post-toc-content; + +    &.always-active ul { +      display: block; +    } + +    >nav>ul { +      margin: 10px 0; +    } + +    ul { +      padding-left: 20px; +      list-style: $post-toc-list-style; + +      ul { +        padding-left: 15px; +        display: none; +      } + +      .has-active > ul { +        display: block; +      } +    } + +    .toc-link.active { +      color: $theme-color; +    } +  } +} + +@include max-screen($toc-max-sreen-width) { +  .post-toc { +    display: none; +  } +} diff --git a/assets/sass/_partial/_slideout.scss b/assets/sass/_partial/_slideout.scss new file mode 100644 index 0000000..2dc757d --- /dev/null +++ b/assets/sass/_partial/_slideout.scss @@ -0,0 +1,33 @@ +// ============================== +// slideout (https://github.com/mango/slideout) +// ============================== + +.slideout-menu { +  position: fixed; +  top: 0; +  left: 0px; +  bottom: 0; +  width: 180px; +  min-height: 100vh; +  overflow-y: hidden; +  -webkit-overflow-scrolling: touch; +  z-index: 0; +  display: none; +} + +.slideout-panel { +  position: relative; +  z-index: 1; +  background-color: $white; +  min-height: 100vh; +} + +.slideout-open, +.slideout-open body, +.slideout-open .slideout-panel { +  overflow: hidden; +} + +.slideout-open .slideout-menu { +  display: block; +} diff --git a/assets/sass/_partial/_terms.scss b/assets/sass/_partial/_terms.scss new file mode 100644 index 0000000..f498ffe --- /dev/null +++ b/assets/sass/_partial/_terms.scss @@ -0,0 +1,46 @@ +// ============================== +// General Terms(tags, categories, etc.) +// ============================= + +.terms { +  margin: 2em 0 3em; +  text-align: center; +  font-family: $global-serif-font-family; + +  .terms-title { +    display: inline-block; +    font-size: $terms-title-size; +    color: $theme-color; +    border-bottom: $terms-title-border-bottom; +  } + +  .terms-tags { +    margin: 10px 0; + +    .terms-link { +      display: inline-block; +      position: relative; +      margin: $terms-link-margin; +      word-wrap: break-word; +      transition-duration: 0.2s; +      transition-property: transform; +      transition-timing-function: ease-out; + +      .terms-count { +        display: inline-block; +        position: relative; +        top: -8px; +        right: -2px; +        color: $theme-color; +        font-size: $terms-count-font-size; +      } + +      &:active, +      &:focus, +      &:hover { +        color: $theme-color; +        transform: scale(1.1); +      } +    } +  } +}
\ No newline at end of file | 
