together-theme 0.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 3dbff3587b5cd776b74118b55ef44a9e37e43387dd1b7992683a76652400b7f7
4
+ data.tar.gz: 5d3688f5010303857e8ff697aeb00dd413fe19b5cda4c92405300c50b71a62ff
5
+ SHA512:
6
+ metadata.gz: 07f0f4f80d63284790cb3102a0844a482e4781e2755fefaf81cb9a28daf4dab6de625dff86840608e5c26701fad6313b5fb394ce8cd6704de0bcd237d8618874
7
+ data.tar.gz: 7b7f9adf9d52852df2aa9189f6919cdebdc466c4364d53d9b814da160f4bf1df4beebec93d917c6d753cbd6e93e64fdf30408b8050df23f07dbe63f4c452715e
data/.eslintrc.js ADDED
@@ -0,0 +1,12 @@
1
+ module.exports = {
2
+ env: {
3
+ es2015: true
4
+ },
5
+ extends: [
6
+ 'standard'
7
+ ],
8
+ parserOptions: {
9
+ ecmaVersion: 11
10
+ // sourceType: 'module'
11
+ }
12
+ }
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ *.gem
2
+ .bundle
3
+ .sass-cache
4
+ .jekyll-cache
5
+ _site
6
+ Gemfile.lock
7
+ .DS_Store
8
+ dist
9
+ node_modules
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,61 @@
1
+ ---
2
+ layout: default
3
+ title: "Together"
4
+ ---
5
+
6
+ A [Jekyll](http://jekyllrb.com) theme.
7
+
8
+ ![Together Preview](https://raw.githubusercontent.com/patdryburgh/together/master/screenshot.png)
9
+
10
+ ## Quick Start
11
+
12
+ This theme is, itself, a Jekyll blog, meaning the code base you see has everything you need to run a Jekyll powered blog!
13
+
14
+ To get started quickly, follow the instructions below:
15
+
16
+ 1. Click the `Fork` button at the top of [the repository](https://github.com/patdryburgh/together/);
17
+ 2. Go to your forked repo's `Settings` screen;
18
+ 3. Scroll down to the `GitHub Pages` section;
19
+ 4. Under `Source`, select the `Master` branch;
20
+ 5. Hit `Save`.
21
+ 6. Follow [Jekyll's instructions to configure your new Jekyll site](https://jekyllrb.com/docs/configuration/).
22
+
23
+ ## Manual Installation
24
+
25
+ If you've already created your Jekyll site or are comfortable with the command line, you can follow [Jekyll's Quickstart instructions](https://jekyllrb.com/docs/) add this line to your Jekyll site's `Gemfile`:
26
+
27
+ ```ruby
28
+ gem "together-theme"
29
+ ```
30
+
31
+ And add the following lines to your Jekyll site's `_config.yml`:
32
+
33
+ ```yaml
34
+ theme: together-theme
35
+ ```
36
+
37
+ Depending on your [site's configuration](https://jekyllrb.com/docs/configuration/options/), you may also need to add:
38
+
39
+ ```yaml
40
+ ignore_theme_config: true
41
+ ```
42
+
43
+ And then on the command line, execute:
44
+
45
+ $ bundle
46
+
47
+ Or install the theme yourself as:
48
+
49
+ $ gem install together-theme
50
+
51
+ ## Usage
52
+
53
+ And you'll need to install the JS modules:
54
+
55
+ $ yarn || npm i
56
+
57
+ Start it up with
58
+
59
+ ```bash
60
+ bundle exec jekyll serve
61
+ ```
data/_config.yml ADDED
@@ -0,0 +1,8 @@
1
+ title: Together
2
+ description: This is the Together Theme for Jekyll. It's designed for a specific use case – telling a single story across multiple articles.
3
+ baseurl: ""
4
+ markdown: kramdown
5
+ permalink: /:title
6
+ keep_files: ['assets/js/main.js']
7
+ author:
8
+ name: Dallas Read
data/_js/index.js ADDED
@@ -0,0 +1,5 @@
1
+ import * as Turbo from '@hotwired/turbo'
2
+
3
+ document.addEventListener('turbo:load', () => {
4
+ // console.log('boom')
5
+ })
@@ -0,0 +1,123 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.lang | default: site.lang | default: "en" }}">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1">
7
+
8
+ <title>{{ site.title }}{% if page.title and page.title != "" %} &raquo; {{ page.title }}{% endif %}</title>
9
+
10
+ {% if site.description %}<meta name="description" content="{{ site.description }}">{% endif %}
11
+
12
+ <link rel="apple-touch-icon" href="{{ site.icon }}">
13
+ <link rel="stylesheet" href="{{ '/assets/css/main.css' | absolute_url }}?{{ site.time | date: '%s%N' }}">
14
+
15
+ <script type="text/javascript" src="{{ '/assets/js/main.js' | absolute_url }}?{{ site.time | date: '%s%N' }}"></script>
16
+ </head>
17
+ <body>
18
+ <style type="text/css">
19
+ :root {
20
+ --sans-serif: 'Avenir Next', Helvetica Neue, Helvetica, Arial, sans-serif;
21
+ --serif: Palatino, Times, serif;
22
+
23
+ --bg-color: #FBF7F0;
24
+ --bg-emphasis: #ddd;
25
+
26
+ --text-color: #222;
27
+ --text-subtle: #666;
28
+ --text-supersubtle: #999;
29
+ --text-brilliant: #000;
30
+ --text-link: red;
31
+ --text-sm: 0.85rem;
32
+ --text-md: 1rem;
33
+ --text-lg: 1.25rem;
34
+ --text-xl: 2rem;
35
+
36
+ --emphasis: bold;
37
+ --padding: 0.5rem;
38
+ --padding-lg: 1rem;
39
+ --padding-xl: 2rem;
40
+ --line-height: 1.6;
41
+ }
42
+
43
+ @media (prefers-color-scheme: dark) {
44
+ :root {
45
+ --bg-color: #030a1a;
46
+ --bg-emphasis: #121f3f;
47
+
48
+ --text-color: #bbb;
49
+ --text-subtle: #999;
50
+ --text-supersubtle: #494c58;
51
+ --text-brilliant: #eee;
52
+ --text-link: #59b6ee;
53
+ }
54
+ }
55
+ </style>
56
+
57
+ <div class="wrapper">
58
+ <!-- <h1 style="text-align: center; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid red; font-size: 1.5rem; ">A Super Title</h1> -->
59
+ <div class="container">
60
+ <div class="nav">
61
+ <nav>
62
+ <a href="{{ site.baseurl | absolute_url }}">
63
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
64
+ <path fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd" />
65
+ </svg>
66
+ </a>
67
+
68
+ {% if page.previous.url %}
69
+ <a href="{{page.previous.url}}">
70
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
71
+ <path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7" />
72
+ </svg>
73
+ </a>
74
+ {% endif %}
75
+ </nav>
76
+ </div>
77
+
78
+ <div class="content">
79
+ <header>
80
+ <p class="series">
81
+ {{ site.title }}
82
+
83
+ {% if site.author.name %}
84
+ <span class="byline">
85
+ By <a href="">{{ site.author.name }}</a>
86
+ </span>
87
+ {% endif %}
88
+ </p>
89
+
90
+ <h1>
91
+ {{ page.title }}
92
+ </h1>
93
+
94
+ <p class="description">
95
+ {{ page.description }}
96
+ </p>
97
+ </header>
98
+
99
+ <main>
100
+ {{ page.content }}
101
+ </main>
102
+ </div>
103
+
104
+ <div class="sidebar">
105
+ <aside>
106
+ {% if page.next.url %}
107
+ <p class="next-article">
108
+ Next:<br>
109
+ <a class="next" href="{{page.next.url}}">
110
+ {{page.next.title}}
111
+ </a>
112
+ </p>
113
+ {% endif %}
114
+
115
+ <p>
116
+ {{site.description}}
117
+ </p>
118
+ </aside>
119
+ </div>
120
+ </div>
121
+ </div>
122
+ </body>
123
+ </html>
@@ -0,0 +1,16 @@
1
+ module Together
2
+ class Generator < Jekyll::Generator
3
+ safe true
4
+ priority :low
5
+
6
+ def generate(site)
7
+ return if @watch_protection && Time.now.to_i - @watch_protection < 5
8
+
9
+ @watch_protection = Time.now.to_i
10
+
11
+ begin
12
+ `yarn esbuild _js/index.js --bundle --minify --outfile=assets/js/main.js`
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,159 @@
1
+ ---
2
+ layout: default
3
+ title: This is the Together Theme
4
+ description: It's a theme for Jekyll a specific use case – telling a story across an array of articles. Hope you enjoy! 🎉
5
+ order: 1
6
+ ---
7
+
8
+ ## An H2 Header for you to see
9
+
10
+ Paragraphs are separated by a blank line.
11
+
12
+ 2nd paragraph. *Italic*, **bold**, and `monospace`. Itemized lists
13
+ look like:
14
+
15
+ * this one
16
+ * that one
17
+ * the other one
18
+
19
+ Note that --- not considering the asterisk --- the actual text
20
+ content starts at 4-columns in.
21
+
22
+ > Block quotes are
23
+ > written like so.
24
+ >
25
+ > They can span multiple paragraphs,
26
+ > if you like.
27
+
28
+ Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., "it's all
29
+ in chapters 12--14"). Three dots ... will be converted to an ellipsis.
30
+ Unicode is supported. ☺
31
+
32
+
33
+
34
+ An h2 header
35
+ ------------
36
+
37
+ Here's a numbered list:
38
+
39
+ 1. first item
40
+ 2. second item
41
+ 3. third item
42
+
43
+ Note again how the actual text starts at 4 columns in (4 characters
44
+ from the left side). Here's a code sample:
45
+
46
+ # Let me re-iterate ...
47
+ for i in 1 .. 10 { do-something(i) }
48
+
49
+ As you probably guessed, indented 4 spaces. By the way, instead of
50
+ indenting the block, you can use delimited blocks, if you like:
51
+
52
+ ~~~
53
+ define foobar() {
54
+ print "Welcome to flavor country!";
55
+ }
56
+ ~~~
57
+
58
+ (which makes copying & pasting easier). You can optionally mark the
59
+ delimited block for Pandoc to syntax highlight it:
60
+
61
+ ~~~python
62
+ import time
63
+ # Quick, count to ten!
64
+ for i in range(10):
65
+ # (but not *too* quick)
66
+ time.sleep(0.5)
67
+ print i
68
+ ~~~
69
+
70
+
71
+
72
+ ### An h3 header
73
+
74
+ Now a nested list:
75
+
76
+ 1. First, get these ingredients:
77
+
78
+ * carrots
79
+ * celery
80
+ * lentils
81
+
82
+ 2. Boil some water.
83
+
84
+ 3. Dump everything in the pot and follow
85
+ this algorithm:
86
+
87
+ find wooden spoon
88
+ uncover pot
89
+ stir
90
+ cover pot
91
+ balance wooden spoon precariously on pot handle
92
+ wait 10 minutes
93
+ goto first step (or shut off burner when done)
94
+
95
+ Do not bump wooden spoon or it will fall.
96
+
97
+ Notice again how text always lines up on 4-space indents (including
98
+ that last line which continues item 3 above).
99
+
100
+ Here's a link to [a website](http://foo.bar), to a [local
101
+ doc](local-doc.html), and to a [section heading in the current
102
+ doc](#an-h2-header). Here's a footnote [^1].
103
+
104
+ [^1]: Footnote text goes here.
105
+
106
+ Tables can look like this:
107
+
108
+ size material color
109
+ ---- ------------ ------------
110
+ 9 leather brown
111
+ 10 hemp canvas natural
112
+ 11 glass transparent
113
+
114
+ Table: Shoes, their sizes, and what they're made of
115
+
116
+ (The above is the caption for the table.) Pandoc also supports
117
+ multi-line tables:
118
+
119
+ -------- -----------------------
120
+ keyword text
121
+ -------- -----------------------
122
+ red Sunsets, apples, and
123
+ other red or reddish
124
+ things.
125
+
126
+ green Leaves, grass, frogs
127
+ and other things it's
128
+ not easy being.
129
+ -------- -----------------------
130
+
131
+ A horizontal rule follows.
132
+
133
+ ***
134
+
135
+ Here's a definition list:
136
+
137
+ apples
138
+ : Good for making applesauce.
139
+ oranges
140
+ : Citrus!
141
+ tomatoes
142
+ : There's no "e" in tomatoe.
143
+
144
+ Again, text is indented 4 spaces. (Put a blank line between each
145
+ term/definition pair to spread things out more.)
146
+
147
+ Here's a "line block":
148
+
149
+ | Line one
150
+ | Line too
151
+ | Line tree
152
+
153
+ Inline math equations go in like so: $\omega = d\phi / dt$. Display
154
+ math should get its own line and be put in in double-dollarsigns:
155
+
156
+ $$I = \int \rho R^{2} dV$$
157
+
158
+ And note that you can backslash-escape any punctuation characters
159
+ which you wish to be displayed literally, ex.: \`foo\`, \*bar\*, etc.
@@ -0,0 +1,126 @@
1
+ html, body {
2
+ font-size: 21px;
3
+ background: var(--bg-color);
4
+ padding: var(--padding-xl);
5
+ font-family: var(--serif);
6
+ color: var(--text-color);
7
+ -webkit-font-smoothing: antialiased;
8
+ -moz-osx-font-smoothing: grayscale;
9
+ }
10
+
11
+ .wrapper {
12
+ width: 100%;
13
+ max-width: 1080px;
14
+ margin: 0 auto;
15
+ }
16
+
17
+ header {
18
+ margin-bottom: var(--padding-xl);
19
+
20
+ h1 {
21
+ font-size: var(--text-xl);
22
+ font-weight: var(--emphasis);
23
+ margin-bottom: var(--padding);
24
+ }
25
+
26
+ p {
27
+ color: var(--text-subtle);
28
+ line-height: var(--line-height);
29
+ }
30
+
31
+ .series {
32
+ text-transform: uppercase;
33
+ font-size: var(--text-sm);
34
+ font-family: var(--sans-serif);
35
+ margin-bottom: var(--padding-lg);
36
+
37
+ .byline {
38
+ margin-left: var(--padding-lg);
39
+ padding-left: var(--padding-lg);
40
+ border-left: 1px solid var(--text-subtle);
41
+ }
42
+ }
43
+
44
+ .description {
45
+ font-size: var(--text-lg);
46
+ }
47
+
48
+ a {
49
+ color: var(--text-link);
50
+
51
+ &:hover {
52
+ background: var(--bg-emphasis);
53
+ padding: 2px 5px;
54
+ margin: -2px -5px;
55
+ border-radius: 3px;
56
+ }
57
+ }
58
+ }
59
+
60
+ nav {
61
+ a {
62
+ display: block;
63
+ margin-bottom: var(--padding-lg);
64
+ }
65
+
66
+ svg {
67
+ width: var(--text-lg);
68
+ color: var(--text-subtle);
69
+ }
70
+ }
71
+
72
+ main {
73
+ line-height: var(--line-height);
74
+
75
+ h1, h2, h3, h4, h5, h6 {
76
+ padding-top: var(--padding);
77
+ color: var(--text-brilliant);
78
+ }
79
+
80
+ h1, h2, h3, h4, h5, h6, p, ul, ol {
81
+ margin-bottom: var(--padding);
82
+ }
83
+
84
+ h2 {
85
+ font-size: var(--text-lg);
86
+ font-weight: var(--emphasis);
87
+ }
88
+
89
+ ul {
90
+ list-style: disc;
91
+ }
92
+
93
+ ol {
94
+ list-style: disc;
95
+ }
96
+
97
+ li {
98
+ margin-left: 25px;
99
+ }
100
+
101
+ a {
102
+ color: var(--text-link);
103
+
104
+ &:hover {
105
+ background: var(--bg-emphasis);
106
+ padding: 2px 5px;
107
+ margin: -2px -5px;
108
+ border-radius: 3px;
109
+ }
110
+ }
111
+ }
112
+
113
+ aside {
114
+ font-family: var(--sans-serif);
115
+ font-size: var(--text-sm);
116
+ line-height: var(--line-height);
117
+ color: var(--text-supersubtle);
118
+
119
+ p {
120
+ margin-bottom: var(--padding-xl);
121
+ }
122
+
123
+ a {
124
+ color: var(--text-color);
125
+ }
126
+ }
@@ -0,0 +1,33 @@
1
+ .container {
2
+ display: flex;
3
+ flex-direction: row;
4
+ flex-wrap: wrap;
5
+
6
+ .nav {
7
+ z-index: 1;
8
+ position: sticky;
9
+ top: 4rem;
10
+ bottom: 4rem;
11
+ margin-top: 0px;
12
+ margin-bottom: 0px;
13
+ height: 100%;
14
+ overflow-y: auto;
15
+ }
16
+
17
+ .content {
18
+ flex: 1 0 0%;
19
+ width: 100%;
20
+ padding: 0 var(--padding-xl);
21
+ }
22
+
23
+ .sidebar {
24
+ display: block;
25
+ position: sticky;
26
+ top: 4rem;
27
+ bottom: 4rem;
28
+ height: 100%;
29
+ overflow-y: auto;
30
+ width: 25%;
31
+ flex: 0 0 auto;
32
+ }
33
+ }
data/_sass/_reset.scss ADDED
@@ -0,0 +1,76 @@
1
+ /* Inspired by http://meyerweb.com/eric/tools/css/reset/
2
+ v2.0 | 20110126
3
+ License: none (public domain)
4
+ */
5
+ html, body, div, span, applet, object, iframe,
6
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
7
+ a, abbr, acronym, address, big, cite, code,
8
+ del, dfn, em, img, ins, kbd, q, s, samp,
9
+ small, strike, strong, sub, sup, tt, var,
10
+ b, u, center,
11
+ dl, dt, dd, ol, ul, li,
12
+ fieldset, form, label, legend,
13
+ table, caption, tbody, tfoot, thead, tr, th, td,
14
+ article, aside, canvas, details, embed,
15
+ figure, figcaption, footer, header, hgroup,
16
+ menu, nav, output, ruby, section, summary,
17
+ time, mark, audio, video,
18
+ input, textarea, select, button, .button {
19
+ margin: 0;
20
+ padding: 0;
21
+ border: 0;
22
+ font-family: inherit;
23
+ font-size: inherit;
24
+ font: inherit;
25
+ color: inherit;
26
+ font-weight: inherit;
27
+ line-height: inherit;
28
+ vertical-align: baseline;
29
+ background: none;
30
+ box-shadow: none;
31
+ outline: none;
32
+ -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
33
+ }
34
+ /* HTML5 display-role reset for older browsers */
35
+ article, aside, details, figcaption, figure,
36
+ footer, header, hgroup, menu, nav, section {
37
+ display: block;
38
+ }
39
+ ol, ul {
40
+ list-style: none;
41
+ }
42
+ blockquote, q {
43
+ quotes: none;
44
+ }
45
+ blockquote:before, blockquote:after,
46
+ q:before, q:after {
47
+ content: '';
48
+ content: none;
49
+ }
50
+ table {
51
+ border-collapse: collapse;
52
+ border-spacing: 0;
53
+ }
54
+ a {
55
+ color: inherit;
56
+ text-decoration: inherit;
57
+ text-transform: inherit;
58
+ }
59
+ img {
60
+ max-width: 100%;
61
+ }
62
+
63
+ body {
64
+ line-height: 1;
65
+ }
66
+ html, body {
67
+ margin: 0;
68
+ }
69
+
70
+ html {
71
+ box-sizing: border-box;
72
+ }
73
+
74
+ *, *:before, *:after {
75
+ box-sizing: inherit;
76
+ }
data/about.md ADDED
@@ -0,0 +1,6 @@
1
+ ---
2
+ layout: default
3
+ title: About
4
+ ---
5
+
6
+ About!
@@ -0,0 +1,10 @@
1
+ ---
2
+ ---
3
+
4
+ @charset "utf-8";
5
+
6
+ $asset_url: '{{ '/assets' | absolute_url }}';
7
+
8
+ @import "reset";
9
+ @import "layout";
10
+ @import "article";