jekyll-theme-elementary-blog 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +12 -0
  3. data/.github/workflows/deploy.yml +32 -0
  4. data/.gitignore +5 -0
  5. data/404.md +16 -0
  6. data/Gemfile +10 -0
  7. data/LICENSE +674 -0
  8. data/README.md +121 -0
  9. data/_config.yaml +56 -0
  10. data/_includes/appcenter.html +9 -0
  11. data/_includes/byline.html +36 -0
  12. data/_includes/featured.html +27 -0
  13. data/_includes/footer.html +11 -0
  14. data/_includes/head.html +48 -0
  15. data/_includes/license.html +9 -0
  16. data/_includes/medium.html +8 -0
  17. data/_includes/nav.html +51 -0
  18. data/_includes/outdated.html +14 -0
  19. data/_includes/read-time.html +5 -0
  20. data/_includes/scripts.html +16 -0
  21. data/_includes/social.html +102 -0
  22. data/_includes/spotlight.html +15 -0
  23. data/_includes/svg/appcenter.svg +32 -0
  24. data/_includes/svg/creative-commons-by.svg +1 -0
  25. data/_includes/svg/creative-commons-sa.svg +1 -0
  26. data/_includes/svg/creative-commons.svg +1 -0
  27. data/_includes/svg/elementary.svg +28 -0
  28. data/_includes/svg/facebook.svg +1 -0
  29. data/_includes/svg/github.svg +1 -0
  30. data/_includes/svg/logomark.svg +1 -0
  31. data/_includes/svg/mastodon.svg +1 -0
  32. data/_includes/svg/patreon.svg +1 -0
  33. data/_includes/svg/paypal.svg +1 -0
  34. data/_includes/svg/reddit.svg +1 -0
  35. data/_includes/svg/rss-square.svg +1 -0
  36. data/_includes/svg/shopping-cart.svg +1 -0
  37. data/_includes/svg/slack.svg +1 -0
  38. data/_includes/svg/stack-exchange.svg +1 -0
  39. data/_includes/svg/twitter.svg +1 -0
  40. data/_includes/tags.html +7 -0
  41. data/_includes/thanks.html +93 -0
  42. data/_includes/title.html +12 -0
  43. data/_includes/twitter-card.html +24 -0
  44. data/_layouts/default.html +14 -0
  45. data/_layouts/error.html +8 -0
  46. data/_layouts/post.html +53 -0
  47. data/_layouts/tagfeed.json +51 -0
  48. data/_layouts/uglify.html +4 -0
  49. data/_posts/1992-02-01-test.md +125 -0
  50. data/_posts/2019-10-01-future-embargoed-post.md +18 -0
  51. data/_posts/2019-11-25-sponsor-post.md +18 -0
  52. data/_posts/2020-07-16-twitter-embeds.md +39 -0
  53. data/_posts/3000-12-31-future-post.md +11 -0
  54. data/_sass/_byline.scss +84 -0
  55. data/_sass/_code.scss +196 -0
  56. data/_sass/_colors.scss +94 -0
  57. data/_sass/_featured.scss +149 -0
  58. data/_sass/_figures.scss +150 -0
  59. data/_sass/_layout.scss +168 -0
  60. data/_sass/_nav.scss +73 -0
  61. data/_sass/_tags.scss +17 -0
  62. data/_sass/_twitter-cards.scss +79 -0
  63. data/_sass/_typography.scss +162 -0
  64. data/authors.md +23 -0
  65. data/blog-card.xcf +0 -0
  66. data/css/main.scss +119 -0
  67. data/feed.json +51 -0
  68. data/feed.xml +44 -0
  69. data/feed/updates.json +5 -0
  70. data/images/cc-by-sa.png +0 -0
  71. data/images/edit-copy-32.svg +439 -0
  72. data/images/facebook.svg +60 -0
  73. data/images/mastodon.svg +70 -0
  74. data/images/reddit.svg +27 -0
  75. data/images/twitter.svg +67 -0
  76. data/index.html +56 -0
  77. data/jekyll-theme-elementary-blog.gemspec +23 -0
  78. data/tags.md +20 -0
  79. metadata +91 -14
@@ -0,0 +1,149 @@
1
+ .featured {
2
+ border-radius: 0.5rem;
3
+ color: inherit;
4
+ display: block;
5
+ font-size: 0;
6
+ opacity: 1;
7
+ padding: 1rem;
8
+ text-decoration: none;
9
+ transition: background-color 250ms ease, color 250ms ease;
10
+
11
+ &:hover {
12
+ background: var(--secondary-bg-color);
13
+ }
14
+
15
+ header {
16
+ display: inline-block;
17
+ font-size: 1rem;
18
+ padding-left: 1em;
19
+ vertical-align: middle;
20
+ width: 100%;
21
+
22
+ @media (min-width: 600px) {
23
+ width: 50%;
24
+ }
25
+
26
+
27
+ @media (min-width: 800px) {
28
+ width: 33.33%;
29
+ }
30
+
31
+ h2 {
32
+ margin-top: 0;
33
+ }
34
+
35
+ .byline {
36
+ max-width: 100%;
37
+ }
38
+ }
39
+
40
+ .excerpt {
41
+ display: inline-block;
42
+ font-size: 1rem;
43
+ padding: 0 1rem;
44
+ vertical-align: middle;
45
+ width: 100%;
46
+
47
+ @media (min-width: 600px) {
48
+ width: 50%;
49
+ }
50
+
51
+ @media (min-width: 800px) {
52
+ width: 66.66%;
53
+ }
54
+
55
+ span {
56
+ font-family: var(--ui-font);
57
+ font-size: 0.8em;
58
+ opacity: 0.75;
59
+ }
60
+ }
61
+
62
+ .featured-image {
63
+ background-color: var(--silver-100);
64
+ background-origin: border-box;
65
+ background-position: 50%;
66
+ background-size: cover;
67
+ border: 1px solid rgba(0, 0, 0, 0.15);
68
+ border-radius: 0.25rem;
69
+ box-shadow:
70
+ inset 0 0 0 1px rgba(255, 255, 255, 0.05),
71
+ inset 0 1px 0 0 rgba(255, 255, 255, 0.2),
72
+ inset 0 -1px 0 0 rgba(255, 255, 255, 0.1),
73
+ 0 1px 3px rgba(0, 0, 0, 0.05),
74
+ 0 1px 2px rgba(0, 0, 0, 0.1);
75
+ display: inline-block;
76
+ height: 320px;
77
+ margin-bottom: 1rem;
78
+ overflow: hidden;
79
+ position: relative;
80
+ vertical-align: middle;
81
+ width: 100%;
82
+
83
+ @media (min-width: 600px) {
84
+ margin-bottom: 0;
85
+ width: 50%;
86
+ }
87
+
88
+ @media (min-width: 800px) {
89
+ width: calc(66.66% - 0.66rem);
90
+ }
91
+
92
+ @media (prefers-color-scheme: dark) {
93
+ background-color: var(--silver-900);
94
+ border: 1px solid black;
95
+ box-shadow:
96
+ inset 0 0 0 1px rgba(255, 255, 255, 0.02),
97
+ inset 0 1px 0 0 rgba(255, 255, 255, 0.1),
98
+ inset 0 -1px 0 0 rgba(255, 255, 255, 0.05),
99
+ 0 1px 3px rgba(0, 0, 0, 0.1),
100
+ 0 1px 2px rgba(0, 0, 0, 0.2);
101
+ }
102
+
103
+ img {
104
+ left: 50%;
105
+ max-width: 100%;
106
+ position: absolute;
107
+ top: 50%;
108
+ transform: translate(-50%, -50%);
109
+ }
110
+ }
111
+ }
112
+
113
+ @media (min-width: 800px) {
114
+ .latest {
115
+ font-size: 0;
116
+ margin-top: 2rem;
117
+
118
+ .featured {
119
+ padding: 1rem;
120
+
121
+ &:nth-child(n+2) {
122
+ display: inline-block;
123
+ vertical-align: top;
124
+ width: 33.33%;
125
+
126
+ header {
127
+ font-size: 0.8rem;
128
+ padding: 0;
129
+ width: 100%;
130
+
131
+ h3 {
132
+ margin-top: -1em;
133
+ }
134
+ }
135
+
136
+ .excerpt {
137
+ padding: 0;
138
+ width: 100%;
139
+ }
140
+
141
+ .featured-image {
142
+ height: 200px;
143
+ margin-bottom: 0.5rem;
144
+ width: 100%;
145
+ }
146
+ }
147
+ }
148
+ }
149
+ }
@@ -0,0 +1,150 @@
1
+ figure {
2
+ font-size: 0; // fix whitespace causing percentage issues
3
+ margin: 2rem 0;
4
+ position: relative;
5
+ text-align: center;
6
+
7
+ article & p {
8
+ max-width: 100%; // Fix Markdown wrapping images in `<p>` and setting max-width
9
+ }
10
+
11
+ * {
12
+ margin: 0;
13
+ max-width: 100%;
14
+ }
15
+
16
+ img,
17
+ video {
18
+ display: inline;
19
+ transition: transform 250ms ease;
20
+ vertical-align: middle;
21
+
22
+ &:active,
23
+ &:focus {
24
+ outline: none;
25
+ position: relative; // Fixes z-index issues on transform
26
+ z-index: 1;
27
+ }
28
+ }
29
+
30
+ .highlighter-rouge {
31
+ font-size: 1rem;
32
+ margin-bottom: 0;
33
+ }
34
+
35
+ &.embed {
36
+ margin-left: auto;
37
+ margin-right: auto;
38
+ max-width: 100%;
39
+ padding-top: 56.25%; // 16:9
40
+ position: relative;
41
+ width: var(--content-width);
42
+
43
+ iframe {
44
+ border: none;
45
+ height: 100%;
46
+ left: 0;
47
+ position: absolute;
48
+ top: 0;
49
+ width: 100%;
50
+ }
51
+ }
52
+
53
+ figcaption {
54
+ font-family: var(--ui-font);
55
+ font-size: 0.8rem;
56
+ margin: 1em auto 4em;
57
+ opacity: 0.67;
58
+ text-align: center;
59
+ }
60
+
61
+ &.third {
62
+ img,
63
+ video {
64
+ cursor: zoom-in;
65
+ margin: 1%;
66
+ max-width: 31.33%;
67
+
68
+ &:focus {
69
+ cursor: zoom-out;
70
+ }
71
+
72
+ &:nth-child(3n+1):active,
73
+ &:nth-child(3n+1):focus {
74
+ transform: translateX(100%) scale(3);
75
+ }
76
+
77
+ &:nth-child(3n+2):active,
78
+ &:nth-child(3n+2):focus {
79
+ transform: translateX(0) scale(3);
80
+ }
81
+
82
+ &:nth-child(3n+3):active,
83
+ &:nth-child(3n+3):focus {
84
+ transform: translateX(-100%) scale(3);
85
+ }
86
+ }
87
+ }
88
+
89
+ &.half {
90
+ img,
91
+ video {
92
+ cursor: zoom-in;
93
+ margin: 1%;
94
+ max-width: 48%;
95
+
96
+ &:focus {
97
+ cursor: zoom-out;
98
+ }
99
+
100
+ &:nth-child(odd):active,
101
+ &:nth-child(odd):focus {
102
+ transform: translateX(50%) scale(2);
103
+ }
104
+
105
+ &:nth-child(even):active,
106
+ &:nth-child(even):focus {
107
+ transform: translateX(-50%) scale(2);
108
+ }
109
+ }
110
+ }
111
+
112
+ &.full-bleed {
113
+ img,
114
+ video {
115
+ left: 50%;
116
+ max-width: 100vw;
117
+ position: relative;
118
+ transform: translateX(-50%);
119
+ width: 100vw;
120
+ }
121
+ }
122
+
123
+ &.constrained {
124
+ img,
125
+ video {
126
+ width: var(--content-width);
127
+ }
128
+ }
129
+
130
+ &.circle {
131
+ img,
132
+ video {
133
+ border-radius: 50%;
134
+ }
135
+ }
136
+
137
+ &.card {
138
+ img,
139
+ video {
140
+ background-color: var(--silver-100);
141
+ box-shadow:
142
+ 0 0 0 1px rgba(0, 0, 0, 0.05),
143
+ 0 3px 3px rgba(0, 0, 0, 0.22);
144
+
145
+ @media (prefers-color-scheme: dark) {
146
+ background-color: var(--silver-900);
147
+ }
148
+ }
149
+ }
150
+ }
@@ -0,0 +1,168 @@
1
+ :root {
2
+ --page-width: 60rem;
3
+ --content-width: 40rem;
4
+ }
5
+
6
+ body > section {
7
+ margin: 0 auto;
8
+ max-width: var(--page-width);
9
+ padding: 0 1rem;
10
+ }
11
+
12
+ body > footer {
13
+ background-color: var(--secondary-bg-color);
14
+ display: flex;
15
+ flex-flow: wrap-reverse;
16
+ justify-content: space-between;
17
+ overflow-x: auto;
18
+ padding: 0 1rem;
19
+
20
+ ul {
21
+ display: inline-block;
22
+ flex: 0 0 auto;
23
+ margin: 0;
24
+ padding: 0;
25
+ }
26
+
27
+ li {
28
+ display: inline-block;
29
+ list-style: none;
30
+ vertical-align: middle;
31
+ }
32
+
33
+ a {
34
+ display: inline-block;
35
+ opacity: 1;
36
+ padding: 0 0.4rem;
37
+ text-decoration: none;
38
+ }
39
+
40
+ a,
41
+ p {
42
+ color: var(--secondary-fg-color);
43
+ font-family: var(--ui-font);
44
+ font-size: 0.6rem;
45
+ line-height: 3em;
46
+ margin: 0;
47
+ }
48
+ }
49
+
50
+ article {
51
+ margin-bottom: 4rem;
52
+
53
+ p,
54
+ ul,
55
+ ol,
56
+ h1,
57
+ h2,
58
+ h3,
59
+ h4,
60
+ h5,
61
+ h6 {
62
+ margin-left: auto;
63
+ margin-right: auto;
64
+ max-width: var(--content-width);
65
+ }
66
+
67
+ img,
68
+ video {
69
+ display: block;
70
+ height: auto;
71
+ margin-left: auto;
72
+ margin-right: auto;
73
+ max-width: 100%;
74
+ }
75
+
76
+ > table {
77
+ font-family: var(--ui-font);
78
+ margin: 2em auto;
79
+ max-width: 100%;
80
+
81
+ th,
82
+ td {
83
+ padding: 0 0.5rem;
84
+ }
85
+ }
86
+
87
+ .thanks {
88
+ .links {
89
+ display: flex;
90
+ flex-wrap: wrap;
91
+ justify-content: center;
92
+ margin: 0.75em -1.5em;
93
+
94
+ a {
95
+ margin: 0.75em 1.5em;
96
+ }
97
+
98
+ svg {
99
+ color: var(--fg-color);
100
+ height: 2em;
101
+ }
102
+ }
103
+ }
104
+ }
105
+
106
+ hr {
107
+ border: 0;
108
+ margin: 3em auto;
109
+ max-width: 50%;
110
+
111
+ &::before {
112
+ content: "...";
113
+ display: block;
114
+ font-weight: bold;
115
+ letter-spacing: 1em;
116
+ text-align: center;
117
+ }
118
+ }
119
+
120
+ .license {
121
+ display: block;
122
+ font-family: var(--ui-font);
123
+ font-size: 0.75rem;
124
+ margin: 0 auto;
125
+ max-width: var(--content-width);
126
+ text-align: center;
127
+
128
+ a,
129
+ svg {
130
+ color: var(--secondary-fg-color);
131
+ vertical-align: middle;
132
+ }
133
+
134
+ a {
135
+ text-decoration: none;
136
+
137
+ &:hover {
138
+ text-decoration: underline;
139
+ }
140
+ }
141
+
142
+ svg {
143
+ height: 1.25em;
144
+ margin-left: 0.25em;
145
+ margin-right: 0.25em;
146
+ }
147
+ }
148
+
149
+ .up-next {
150
+ margin: 8rem auto 0;
151
+ }
152
+
153
+ aside.outdated {
154
+ background: var(--warning-bg-color);
155
+ bottom: 0;
156
+ color: var(--warning-fg-color);
157
+ display: block;
158
+ font-family: var(--ui-font);
159
+ font-size: 0.8rem;
160
+ left: 50%;
161
+ opacity: 0.8;
162
+ padding: 0.5em 1em;
163
+ position: relative;
164
+ text-align: center;
165
+ transform: translateX(-50%);
166
+ width: 100vw;
167
+ z-index: 1;
168
+ }