spring-jekyll-theme 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +49 -0
  3. data/_includes/disqus.html +17 -0
  4. data/_includes/disqus_comments.html +20 -0
  5. data/_includes/footer.html +23 -0
  6. data/_includes/google-analytics.html +9 -0
  7. data/_includes/head.html +21 -0
  8. data/_includes/header.html +31 -0
  9. data/_includes/profile.html +21 -0
  10. data/_includes/social.html +19 -0
  11. data/_layouts/default.html +20 -0
  12. data/_layouts/home.html +34 -0
  13. data/_layouts/page.html +14 -0
  14. data/_layouts/post.html +43 -0
  15. data/_sass/spring/_base.scss +272 -0
  16. data/_sass/spring/_layout.scss +290 -0
  17. data/_sass/spring/_syntax-highlighting.scss +71 -0
  18. data/_sass/spring.scss +56 -0
  19. data/assets/3rd-party/crypto-js/CONTRIBUTING.md +28 -0
  20. data/assets/3rd-party/crypto-js/LICENSE +24 -0
  21. data/assets/3rd-party/crypto-js/README.md +249 -0
  22. data/assets/3rd-party/crypto-js/aes.js +234 -0
  23. data/assets/3rd-party/crypto-js/bower.json +35 -0
  24. data/assets/3rd-party/crypto-js/cipher-core.js +890 -0
  25. data/assets/3rd-party/crypto-js/core.js +797 -0
  26. data/assets/3rd-party/crypto-js/crypto-js.js +6059 -0
  27. data/assets/3rd-party/crypto-js/docs/QuickStartGuide.wiki +470 -0
  28. data/assets/3rd-party/crypto-js/enc-base64.js +136 -0
  29. data/assets/3rd-party/crypto-js/enc-hex.js +18 -0
  30. data/assets/3rd-party/crypto-js/enc-latin1.js +18 -0
  31. data/assets/3rd-party/crypto-js/enc-utf16.js +149 -0
  32. data/assets/3rd-party/crypto-js/enc-utf8.js +18 -0
  33. data/assets/3rd-party/crypto-js/evpkdf.js +134 -0
  34. data/assets/3rd-party/crypto-js/format-hex.js +66 -0
  35. data/assets/3rd-party/crypto-js/format-openssl.js +18 -0
  36. data/assets/3rd-party/crypto-js/hmac-md5.js +18 -0
  37. data/assets/3rd-party/crypto-js/hmac-ripemd160.js +18 -0
  38. data/assets/3rd-party/crypto-js/hmac-sha1.js +18 -0
  39. data/assets/3rd-party/crypto-js/hmac-sha224.js +18 -0
  40. data/assets/3rd-party/crypto-js/hmac-sha256.js +18 -0
  41. data/assets/3rd-party/crypto-js/hmac-sha3.js +18 -0
  42. data/assets/3rd-party/crypto-js/hmac-sha384.js +18 -0
  43. data/assets/3rd-party/crypto-js/hmac-sha512.js +18 -0
  44. data/assets/3rd-party/crypto-js/hmac.js +143 -0
  45. data/assets/3rd-party/crypto-js/index.js +18 -0
  46. data/assets/3rd-party/crypto-js/lib-typedarrays.js +76 -0
  47. data/assets/3rd-party/crypto-js/md5.js +268 -0
  48. data/assets/3rd-party/crypto-js/mode-cfb.js +80 -0
  49. data/assets/3rd-party/crypto-js/mode-ctr-gladman.js +116 -0
  50. data/assets/3rd-party/crypto-js/mode-ctr.js +58 -0
  51. data/assets/3rd-party/crypto-js/mode-ecb.js +40 -0
  52. data/assets/3rd-party/crypto-js/mode-ofb.js +54 -0
  53. data/assets/3rd-party/crypto-js/package.json +66 -0
  54. data/assets/3rd-party/crypto-js/pad-ansix923.js +49 -0
  55. data/assets/3rd-party/crypto-js/pad-iso10126.js +44 -0
  56. data/assets/3rd-party/crypto-js/pad-iso97971.js +40 -0
  57. data/assets/3rd-party/crypto-js/pad-nopadding.js +30 -0
  58. data/assets/3rd-party/crypto-js/pad-pkcs7.js +18 -0
  59. data/assets/3rd-party/crypto-js/pad-zeropadding.js +47 -0
  60. data/assets/3rd-party/crypto-js/pbkdf2.js +145 -0
  61. data/assets/3rd-party/crypto-js/rabbit-legacy.js +190 -0
  62. data/assets/3rd-party/crypto-js/rabbit.js +192 -0
  63. data/assets/3rd-party/crypto-js/rc4.js +139 -0
  64. data/assets/3rd-party/crypto-js/ripemd160.js +267 -0
  65. data/assets/3rd-party/crypto-js/sha1.js +150 -0
  66. data/assets/3rd-party/crypto-js/sha224.js +80 -0
  67. data/assets/3rd-party/crypto-js/sha256.js +199 -0
  68. data/assets/3rd-party/crypto-js/sha3.js +326 -0
  69. data/assets/3rd-party/crypto-js/sha384.js +83 -0
  70. data/assets/3rd-party/crypto-js/sha512.js +326 -0
  71. data/assets/3rd-party/crypto-js/tripledes.js +779 -0
  72. data/assets/3rd-party/crypto-js/x64-core.js +304 -0
  73. data/assets/css/style.scss +5 -0
  74. data/assets/ecmascripts/index.js +25 -0
  75. data/assets/images/avatar.png +0 -0
  76. data/assets/images/background.jpg +0 -0
  77. data/assets/social-icons.svg +28 -0
  78. metadata +176 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 92d410223dc986c4052f85bcc5d67afa2115132c56eb7bff697ec63cad0d0045
4
+ data.tar.gz: 553d56c7d4d42b480e358afdae736ccfa5a945fd298da8d88dcb7e8fd7b63384
5
+ SHA512:
6
+ metadata.gz: a834ff20d72b53d2982fc00b082543f7b09586d8539fcb77d255872664dab119165277f5ebca0ccbec984eefd9ea0dc26440c0500bf6a4896f1f9031ef07c235
7
+ data.tar.gz: 1af75a576a19f75692f25685f6646804cb3d1c7fb4cbd4afe86152fa799fb7cc7fec09dc6abddfc32a4eae32fb9556f42702ed52de014b09ea6ef93cd0176bda
data/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # 安装jekyll
2
+
3
+ https://jekyllrb.com/docs/
4
+ # 设置favicon.ico
5
+ 准备一张至少70x70像素的图片,推荐是260x260像素的图片作为favicon的源文件,访问https://realfavicongenerator.net/,然后把图片上传上去,会帮你生成各种设备的favicon.icon,然后按照提示下载,放在你博客的根目录下,在网站的head标签里已经添加了这些favicon的配置。
6
+
7
+
8
+ ## 使用gem中国区镜像
9
+
10
+ ```shell
11
+ bundle config mirror.https://rubygems.org https://gems.ruby-china.com
12
+ ```
13
+
14
+
15
+ ### 如有必要,使用代理,代理自己提供
16
+
17
+ ```shell
18
+ export http_proxy=http://127.0.0.1:49295
19
+ export http_proxy=https://127.0.0.1:49295
20
+ ```
21
+
22
+ 参考
23
+ https://gems.ruby-china.com/
24
+ ## 安装依赖
25
+
26
+ ```shell
27
+ [sudo] bundle install
28
+ ```
29
+
30
+ ## 启动
31
+
32
+ ```shell
33
+ bundle exec jekyll serve
34
+ ```
35
+
36
+ ## 构建发布
37
+ ```shell
38
+ # 修改版本
39
+ # spring-jekyll-theme.gemspec
40
+ spec.version = "0.0.x"
41
+ # 废弃
42
+ gem yank spring-jekyll-theme -v 0.0.[x]
43
+ # 构建
44
+ gem build spring-jekyll-theme.gemspec
45
+ # 发布
46
+ gem push spring-jekyll-theme-0.0.[x].gem
47
+ # 发布到github
48
+ gem push --key github --host https://rubygems.pkg.github.com/cbtpro spring-jekyll-theme-0.0.[x].gem
49
+ ```
@@ -0,0 +1,17 @@
1
+ <!--PC和WAP自适应版-->
2
+ <div id="SOHUCS" sid="{{ page.id | url_encode }}" ></div>
3
+ {% assign changyan = site.changyan %}
4
+ <script type="text/javascript">
5
+ (function(){
6
+ appid = `{{ changyan.appid }}`
7
+ conf = `{{ changyan.conf }}`
8
+ var width = window.innerWidth || document.documentElement.clientWidth;
9
+ if (width < 960) {
10
+ var head = document.getElementsByTagName('head')[0]||document.head||document.documentElement;
11
+ var script = document.createElement('script');
12
+ script.type = 'text/javascript';
13
+ script.charset = 'utf-8';
14
+ script.id = 'changyan_mobile_js';
15
+ script.src = 'https://cy-cdn.kuaizhan.com/upload/mobile/wap-js/changyan_mobile.js?client_id=' + appid + '&conf=' + conf;
16
+ head.appendChild(script);
17
+ } else { var loadJs=function(d,a){var c=document.getElementsByTagName("head")[0]||document.head||document.documentElement;var b=document.createElement("script");b.setAttribute("type","text/javascript");b.setAttribute("charset","UTF-8");b.setAttribute("src",d);if(typeof a==="function"){if(window.attachEvent){b.onreadystatechange=function(){var e=b.readyState;if(e==="loaded"||e==="complete"){b.onreadystatechange=null;a()}}}else{b.onload=a}}c.appendChild(b)};loadJs("https://cy-cdn.kuaizhan.com/upload/changyan.js",function(){window.changyan.api.config({appid:appid,conf:conf})}); } })(); </script>
@@ -0,0 +1,20 @@
1
+ {%- if page.comments != false and jekyll.environment == "production" -%}
2
+
3
+ <div id="disqus_thread"></div>
4
+ <script>
5
+ var disqus_config = function () {
6
+ this.page.url = '{{ page.url | absolute_url }}';
7
+ this.page.identifier = '{{ page.url | absolute_url }}';
8
+ };
9
+
10
+ (function() {
11
+ var d = document, s = d.createElement('script');
12
+
13
+ s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
14
+
15
+ s.setAttribute('data-timestamp', +new Date());
16
+ (d.head || d.body).appendChild(s);
17
+ })();
18
+ </script>
19
+ <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
20
+ {%- endif -%}
@@ -0,0 +1,23 @@
1
+ <footer class="site-footer h-card">
2
+ <data class="u-url" href="{{ "/" | relative_url }}"></data>
3
+
4
+ <div class="wrapper">
5
+
6
+ <div class="footer-content">
7
+ <div class="footer-description">
8
+ <p>{{- site.description | escape -}}</p>
9
+ </div>
10
+
11
+ <div class="social-links">
12
+ {%- include social.html -%}
13
+ </div>
14
+ </div>
15
+
16
+ {%- if site.for_the_record -%}
17
+ <div class="for-the-record">
18
+ 基于Jekyll 大反派的博客 备案号 <a href="//beian.miit.gov.cn" target="_blank" rel="noopener noreferrer">{{site.for_the_record}}</a>
19
+ </div>
20
+ {%- endif -%}
21
+ </div>
22
+
23
+ </footer>
@@ -0,0 +1,9 @@
1
+ <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
2
+ <script>
3
+ window['ga-disable-{{ site.google_analytics }}'] = window.doNotTrack === "1" || navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1";
4
+ window.dataLayer = window.dataLayer || [];
5
+ function gtag(){dataLayer.push(arguments);}
6
+ gtag('js', new Date());
7
+
8
+ gtag('config', '{{ site.google_analytics }}');
9
+ </script>
@@ -0,0 +1,21 @@
1
+ <head>
2
+ <meta charset="utf-8" />
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
4
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
5
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
6
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
7
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
8
+ <link rel="manifest" href="/site.webmanifest">
9
+ <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
10
+ <meta name="msapplication-TileColor" content="#9f00a7">
11
+ <meta name="theme-color" content="#ffffff">
12
+ <!-- <script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
13
+ <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
14
+ <script type="module" src="/assets/ecmascripts/index.js"></script> -->
15
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@2.0.0-beta.10/dist/shoelace/shoelace.css">
16
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@2.0.0-beta.10/dist/shoelace/shoelace.esm.js"></script>
17
+ {%- seo -%} <link rel="stylesheet" href="{{
18
+ '/assets/css/style.css' | relative_url
19
+ }}"> {%- feed_meta -%} {%- if jekyll.environment == 'production' and
20
+ site.google_analytics -%} {%- include google-analytics.html -%} {%- endif -%}
21
+ </head>
@@ -0,0 +1,31 @@
1
+ <header class="site-header">
2
+ <div id="plugin-root"></div>
3
+ <div class="wrapper">
4
+ {%- assign default_paths = site.pages | map: "path" -%}
5
+ {%- assign page_paths = site.header_pages | default: default_paths -%}
6
+ {%- assign titles_size = site.pages | map: 'title' | join: '' | size -%}
7
+ <a class="site-title" rel="author" href="{{ "/" | relative_url }}">{{ site.title | escape }}</a>
8
+
9
+ {%- if titles_size > 0 -%}
10
+ <nav class="site-nav">
11
+ <input type="checkbox" id="nav-trigger" class="nav-trigger" />
12
+ <label for="nav-trigger">
13
+ <span class="menu-icon">
14
+ <svg viewBox="0 0 18 15" width="18px" height="15px">
15
+ <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/>
16
+ </svg>
17
+ </span>
18
+ </label>
19
+
20
+ <div class="trigger">
21
+ {%- for path in page_paths -%}
22
+ {%- assign my_page = site.pages | where: "path", path | first -%}
23
+ {%- if my_page.title -%}
24
+ <a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
25
+ {%- endif -%}
26
+ {%- endfor -%}
27
+ </div>
28
+ </nav>
29
+ {%- endif -%}
30
+ </div>
31
+ </header>
@@ -0,0 +1,21 @@
1
+ <style>
2
+ .card-basic div {
3
+ text-align: center;
4
+ line-height: 36px;
5
+ }
6
+ </style>
7
+ <div class="profile-content">
8
+ <sl-card class="card-basic">
9
+ <div>
10
+ <sl-avatar image="/assets/images/avatar.png" shape="circle"></sl-avatar>
11
+ </div>
12
+ <div>{{site.author}}</div>
13
+ <div>
14
+ <sl-badge>程序员</sl-badge>
15
+ <sl-badge>前端开发</sl-badge>
16
+ </div>
17
+ <div class="social-links">
18
+ {%- include social.html -%}
19
+ </div>
20
+ </sl-card>
21
+ </div>
@@ -0,0 +1,19 @@
1
+ {%- assign social = site.spring-jekyll-theme.social_links -%}
2
+ <ul class="social-media-list">
3
+ {%- if social.github -%}<li><a href="https://github.com/{{ social.github | cgi_escape | escape }}"
4
+ title="{{ social.github | escape }}"><svg class="svg-icon grey">
5
+ <use xlink:href="{{ '/assets/social-icons.svg#github' | relative_url }}"></use>
6
+ </svg></a></li>{%- endif -%}
7
+ {%- if social.bilibili -%}<li><a href="https://space.bilibili.com/{{ social.bilibili | cgi_escape | escape }}"
8
+ title="{{ '哔哩哔哩🍻' | escape }}"><svg class="svg-icon grey">
9
+ <use xlink:href="{{ '/assets/social-icons.svg#bilibili' | relative_url }}"></use>
10
+ </svg></a></li>{%- endif -%}
11
+ {%- if social.linkedin -%}<li><a href="https://www.linkedin.com/in/{{ social.linkedin | cgi_escape | escape }}"
12
+ title="{{ social.linkedin | escape }}"><svg class="svg-icon grey">
13
+ <use xlink:href="{{ '/assets/social-icons.svg#linkedin' | relative_url }}"></use>
14
+ </svg></a></li>{%- endif -%}
15
+ {%- if social.rss -%}<li><a href="{{ 'feed.xml' | relative_url }}" title="{{ social.rss | escape }}"><svg
16
+ class="svg-icon grey">
17
+ <use xlink:href="{{ '/assets/social-icons.svg#rss' | relative_url }}"></use>
18
+ </svg></a></li>{%- endif -%}
19
+ </ul>
@@ -0,0 +1,20 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.lang | default: site.lang | default: "en" }}">
3
+
4
+ {%- include head.html -%}
5
+
6
+ <body>
7
+
8
+ {%- include header.html -%}
9
+ {%- include profile.html -%}
10
+ <main class="page-content" aria-label="Content">
11
+ <div class="wrapper">
12
+ {{ content }}
13
+ </div>
14
+ </main>
15
+
16
+ {%- include footer.html -%}
17
+
18
+ </body>
19
+
20
+ </html>
@@ -0,0 +1,34 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="home">
6
+ {%- if page.title -%}
7
+ <h1 class="page-heading">{{ page.title }}</h1>
8
+ {%- endif -%}
9
+
10
+ {{ content }}
11
+
12
+ {%- if site.posts.size > 0 -%}
13
+ <h2 class="post-list-heading">{{ page.list_title | default: "主题" }}</h2>
14
+ <ul class="post-list">
15
+ {%- for post in site.posts -%}
16
+ <li>
17
+ {%- assign date_format = site.spring-jekyll-theme.date_format | default: "%b %-d, %Y" -%}
18
+ <span class="post-meta">{{ post.date | date: date_format }}</span>
19
+ <h3>
20
+ <a class="post-link" href="{{ post.url | relative_url }}">
21
+ {{ post.title | escape }}
22
+ </a>
23
+ </h3>
24
+ {%- if site.show_excerpts -%}
25
+ {{ post.excerpt }}
26
+ {%- endif -%}
27
+ </li>
28
+ {%- endfor -%}
29
+ </ul>
30
+
31
+ <p class="feed-subscribe"><svg class="svg-icon orange"><use xlink:href="{{ '/assets/social-icons.svg#rss' | relative_url }}"></use></svg><a href="{{ "/feed.xml" | relative_url }}">Subscribe</a></p>
32
+ {%- endif -%}
33
+
34
+ </div>
@@ -0,0 +1,14 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <article class="post">
5
+
6
+ <header class="post-header">
7
+ <h1 class="post-title">{{ page.title | escape }}</h1>
8
+ </header>
9
+
10
+ <div class="post-content">
11
+ {{ content }}
12
+ </div>
13
+
14
+ </article>
@@ -0,0 +1,43 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <article
6
+ class="post h-entry"
7
+ itemscope
8
+ itemtype="http://schema.org/BlogPosting"
9
+ >
10
+ <header class="post-header">
11
+ <h1 class="post-title p-name" itemprop="name headline">
12
+ {{ page.title | escape }}
13
+ </h1>
14
+ <p class="post-meta">
15
+ <time
16
+ class="dt-published"
17
+ datetime="{{ page.date | date_to_xmlschema }}"
18
+ itemprop="datePublished"
19
+ >
20
+ {%- assign date_format = site.spring-jekyll-theme.date_format | default:
21
+ "%b %-d, %Y" -%}
22
+ {{ page.date | date: date_format }}
23
+ </time>
24
+ {%- if page.author -%} •
25
+ <span itemprop="author" itemscope itemtype="http://schema.org/Person"
26
+ ><span class="p-author h-card" itemprop="name">{{
27
+ page.author | escape
28
+ }}</span></span
29
+ >
30
+ {%- endif -%}
31
+ </p>
32
+ </header>
33
+
34
+ <div class="post-content e-content" itemprop="articleBody">
35
+ {{ content }}
36
+ </div>
37
+ {% assign changyan = site.changyan %}
38
+ {% if changyan.enable %}
39
+ {%- include disqus.html -%}
40
+ {% endif %}
41
+
42
+ <a class="u-url" href="{{ page.url | relative_url }}" hidden></a>
43
+ </article>
@@ -0,0 +1,272 @@
1
+ /**
2
+ * Reset some basic elements
3
+ */
4
+ body,
5
+ h1,
6
+ h2,
7
+ h3,
8
+ h4,
9
+ h5,
10
+ h6,
11
+ p,
12
+ blockquote,
13
+ pre,
14
+ hr,
15
+ dl,
16
+ dd,
17
+ ol,
18
+ ul,
19
+ figure {
20
+ margin: 0;
21
+ padding: 0;
22
+ }
23
+
24
+ /**
25
+ * Basic styling
26
+ */
27
+ body {
28
+ font: $base-font-weight #{$base-font-size}/#{$base-line-height}
29
+ $base-font-family;
30
+ color: $text-color;
31
+ background-color: $background-color;
32
+ -webkit-text-size-adjust: 100%;
33
+ -webkit-font-feature-settings: 'kern' 1;
34
+ -moz-font-feature-settings: 'kern' 1;
35
+ -o-font-feature-settings: 'kern' 1;
36
+ font-feature-settings: 'kern' 1;
37
+ font-kerning: normal;
38
+ min-height: 100vh;
39
+ flex-direction: column;
40
+ background: #f4f4f4 url(/assets/images/background.jpg);
41
+ }
42
+
43
+ /**
44
+ * Set `margin-bottom` to maintain vertical rhythm
45
+ */
46
+ // h1,
47
+ // h2,
48
+ // h3,
49
+ // h4,
50
+ // h5,
51
+ // h6,
52
+ // p,
53
+ // blockquote,
54
+ // pre,
55
+ // ul,
56
+ // ol,
57
+ // dl,
58
+ // figure,
59
+ // %vertical-rhythm {
60
+ // margin-bottom: $spacing-unit / 2;
61
+ // }
62
+
63
+ .profile-content {
64
+ width: 15%;
65
+ min-width: 300px;
66
+ height: auto;
67
+ float: left;
68
+ }
69
+ /**
70
+ * `main` element
71
+ */
72
+ main {
73
+ display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */
74
+ @media screen and (min-width: $on-large) {
75
+ margin-left: 310px;
76
+ @include media-query($on-palm) {
77
+ margin-left: 0px;
78
+ }
79
+ }
80
+ }
81
+
82
+ /**
83
+ * Images
84
+ */
85
+ img {
86
+ max-width: 100%;
87
+ vertical-align: middle;
88
+ }
89
+
90
+ /**
91
+ * Figures
92
+ */
93
+ figure > img {
94
+ display: block;
95
+ }
96
+
97
+ figcaption {
98
+ font-size: $small-font-size;
99
+ }
100
+
101
+ /**
102
+ * Lists
103
+ */
104
+ ul,
105
+ ol {
106
+ margin-left: $spacing-unit;
107
+ }
108
+
109
+ li {
110
+ > ul,
111
+ > ol {
112
+ margin-bottom: 0;
113
+ }
114
+ }
115
+
116
+ /**
117
+ * Headings
118
+ */
119
+ h1,
120
+ h2,
121
+ h3,
122
+ h4,
123
+ h5,
124
+ h6 {
125
+ font-weight: $base-font-weight;
126
+ }
127
+
128
+ /**
129
+ * Links
130
+ */
131
+ a {
132
+ color: $brand-color;
133
+ text-decoration: none;
134
+
135
+ &:visited {
136
+ color: darken($brand-color, 15%);
137
+ }
138
+
139
+ &:hover {
140
+ color: $text-color;
141
+ text-decoration: underline;
142
+ }
143
+
144
+ .social-media-list &:hover {
145
+ text-decoration: none;
146
+
147
+ .username {
148
+ text-decoration: underline;
149
+ }
150
+ }
151
+ }
152
+
153
+ /**
154
+ * Blockquotes
155
+ */
156
+ blockquote {
157
+ color: $grey-color;
158
+ border-left: 4px solid $grey-color-light;
159
+ padding-left: $spacing-unit / 2;
160
+ @include relative-font-size(1.125);
161
+ letter-spacing: -1px;
162
+ font-style: italic;
163
+
164
+ > :last-child {
165
+ margin-bottom: 0;
166
+ }
167
+ }
168
+
169
+ /**
170
+ * Code formatting
171
+ */
172
+ pre,
173
+ code {
174
+ @include relative-font-size(0.9375);
175
+ border: 1px solid $grey-color-light;
176
+ border-radius: 3px;
177
+ background-color: #eef;
178
+ }
179
+
180
+ code {
181
+ padding: 1px 5px;
182
+ }
183
+
184
+ pre {
185
+ padding: 8px 12px;
186
+ overflow-x: auto;
187
+
188
+ > code {
189
+ border: 0;
190
+ padding-right: 0;
191
+ padding-left: 0;
192
+ }
193
+ }
194
+
195
+ /**
196
+ * Wrapper
197
+ */
198
+ .wrapper {
199
+ max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
200
+ max-width: calc(#{$content-width} - (#{$spacing-unit}));
201
+ margin-right: auto;
202
+ margin-left: auto;
203
+ padding-right: $spacing-unit / 2;
204
+ padding-left: $spacing-unit / 2;
205
+ @extend %clearfix;
206
+
207
+ @media screen and (min-width: $on-large) {
208
+ max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
209
+ max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
210
+ padding-right: $spacing-unit;
211
+ padding-left: $spacing-unit;
212
+ }
213
+ }
214
+
215
+ /**
216
+ * Clearfix
217
+ */
218
+ %clearfix:after {
219
+ content: '';
220
+ display: table;
221
+ clear: both;
222
+ }
223
+
224
+ /**
225
+ * Icons
226
+ */
227
+
228
+ .orange {
229
+ color: $orange-color;
230
+ }
231
+
232
+ .grey {
233
+ color: $grey-color;
234
+ }
235
+
236
+ .svg-icon {
237
+ width: 18px;
238
+ height: 18px;
239
+ display: inline-block;
240
+ fill: currentColor;
241
+ padding: 5px 3px 2px 5px;
242
+ vertical-align: text-bottom;
243
+ }
244
+
245
+ /**
246
+ * Tables
247
+ */
248
+ table {
249
+ margin-bottom: $spacing-unit;
250
+ width: 100%;
251
+ text-align: $table-text-align;
252
+ color: lighten($text-color, 18%);
253
+ border-collapse: collapse;
254
+ border: 1px solid $grey-color-light;
255
+ tr {
256
+ &:nth-child(even) {
257
+ background-color: lighten($grey-color-light, 6%);
258
+ }
259
+ }
260
+ th,
261
+ td {
262
+ padding: ($spacing-unit / 3) ($spacing-unit / 2);
263
+ }
264
+ th {
265
+ background-color: lighten($grey-color-light, 3%);
266
+ border: 1px solid darken($grey-color-light, 4%);
267
+ border-bottom-color: darken($grey-color-light, 12%);
268
+ }
269
+ td {
270
+ border: 1px solid $grey-color-light;
271
+ }
272
+ }