doccoli-jekyll 1.1.6 → 1.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a3b2b1bda0a7b78312918b8c2df596bbba787019048901506a6c8b8153043ddc
4
- data.tar.gz: c4f16998ba5f6bd910062c1e45a0e3ba5cd8607d9aa89348cfdf72a4c917f45e
3
+ metadata.gz: 24ed1645f6107577a4dd845f944452fc3510aebd7eb17037e75cab55ec22df73
4
+ data.tar.gz: 17eb7ac59a2d9042ddb643947f56b2b151a47495c2a682f8f816ca8f38900588
5
5
  SHA512:
6
- metadata.gz: f8abd920f30ae2fc5d15dd128d099c4df9a770f69e581e99ef4f20d41363b9fe2c29a44ea2b090c89a4afac8a15705aa62ffb167349ba320002dc6001caab2e0
7
- data.tar.gz: c273888278391842e337982c57139db2f00b6944f760d384c0abf01c395b0cae98361119a9a50695a797bd2cafd4d446962a9edc12aa58b293dd73c9d58a59c5
6
+ metadata.gz: 9aada26f4ab7d1a157196e68a43b73e9aa4cb2cd6c2839a4f76434b0cc9bf4605832f5695533b31b858631b50d61df131430fa2f1c93e776ddd035cac932c996
7
+ data.tar.gz: bb7d5a1cc82d0383977c5c1afb376172247f252e76dd7076b22d2735dcc7df78b326d2ac489d358567c9ebcf0e0f51375f3fd34d1a56cec17f289980fb7670d5
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018+ Marvin Danig
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,110 @@
1
+ # doccoli-jekyll
2
+
3
+ The `doccoli-jekyll` is the Jekyll theme in use for [documentation](https://bubblin.io/docs/) at Bubblin Superbooks. This theme is particularly useful for solo founders (developers) or small bootstrapped teams with very limited time and resources.
4
+
5
+ Tack a responsive "blog-like" implementation of SEO-optimized documentation onto your website; it will sit on a url like so, right next to your actual product or website:
6
+
7
+ > https://example.com/docs/
8
+
9
+ A tutorial on how to set up documentation using the `doccoli-jekyll` theme alongside a rails app is available [here](https://bubblin.io/blog/).
10
+
11
+ ![doccoli-jekyll theme preview](/screenshot.jpg)
12
+
13
+ ## Installation
14
+
15
+ Add this line to your Jekyll site's Gemfile:
16
+
17
+ ```ruby
18
+ gem "doccoli-jekyll"
19
+ ```
20
+
21
+ And add this line to your Jekyll site (_config.yml) and set `search: true`:
22
+
23
+ ```yaml
24
+ theme: doccoli-jekyll
25
+
26
+ search: true
27
+ ```
28
+
29
+ And then execute:
30
+
31
+ $ bundle
32
+
33
+
34
+ ### Customization
35
+
36
+ To override the default structure and style of doccoli-jekyll, simply create the concerned directory at the root of your site, copy the file you wish to customize to that directory, and then edit the file.
37
+ e.g., to override the [`_includes/head.html `](_includes/head.html) file to specify a custom style path, create an `_includes` directory, copy `_includes/head.html` from minima gem folder to `<yoursite>/_includes` and start editing that file.
38
+
39
+ The site's default CSS has now moved to a new place within the gem itself, [`assets/main.scss`](assets/main.scss). To **override the default CSS**, the file has to exist at your site source. Do either of the following:
40
+ - Create a new instance of `main.scss` at site source.
41
+ - Create a new file `main.scss` at `<your-site>/assets/`
42
+ - Add the frontmatter dashes, and
43
+ - Add `@import "doccoli-jekyll";`, to `<your-site>/assets/main.scss`
44
+ - Add your custom CSS.
45
+ - Download the file from this repo
46
+ - Create a new file `main.scss` at `<your-site>/assets/`
47
+ - Copy the contents at [assets/main.scss](assets/main.scss) onto the `main.scss` you just created, and edit away!
48
+ - Copy directly from doccoli-jekyll gem
49
+ - Go to your local doccoli-jekyll gem installation directory ( run `bundle show doccoli-jekyll` to get the path to it ).
50
+ - Copy the `assets/` folder from there into the root of `<your-site>`
51
+ - Change whatever values you want, inside `<your-site>/assets/main.scss`
52
+
53
+ --
54
+
55
+ ### Change default date format
56
+
57
+ You can change the default date format by specifying `site.doccoli-jekyll.date_format`
58
+ in `_config.yml`.
59
+
60
+ ```
61
+ # doccoli-jekyll date format
62
+ # Refer to http://shopify.github.io/liquid/filters/date/ to customize
63
+ doccoli-jekyll:
64
+ date_format: "%b %-d, %Y"
65
+ ```
66
+
67
+ --
68
+
69
+ ### Enabling comments (via Disqus)
70
+
71
+ Optionally, if you have a Disqus account, you can tell Jekyll to use it to show a comments section below each post.
72
+
73
+ To enable it, add the following lines to your Jekyll site:
74
+
75
+ ```yaml
76
+ disqus:
77
+ shortname: my_disqus_shortname
78
+ ```
79
+
80
+ You can find out more about Disqus' shortnames [here](https://help.disqus.com/customer/portal/articles/466208).
81
+
82
+ Comments are enabled by default and will only appear in production, i.e., `JEKYLL_ENV=production`
83
+
84
+ If you don't want to display comments for a particular post you can disable them by adding `comments: false` to that post's YAML Front Matter.
85
+
86
+ --
87
+
88
+ ### Enabling Google Analytics
89
+
90
+ To enable Google Anaytics, add the following lines to your Jekyll site:
91
+
92
+ ```yaml
93
+ google_analytics: UA-NNNNNNNN-N
94
+ ```
95
+
96
+ Google Analytics will only appear in production, i.e., `JEKYLL_ENV=production`
97
+
98
+ ## Contributing
99
+
100
+ Bug reports and pull requests are welcome on GitHub at . This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
101
+
102
+ ## Development
103
+
104
+ To set up your environment to develop this theme, run `script/bootstrap`.
105
+
106
+ To test your theme, run `script/server` (or `bundle exec jekyll serve`) and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme and the contents. As you make modifications, your site will regenerate and you should see the changes in the browser after a refresh.
107
+
108
+ ## License
109
+
110
+ The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -0,0 +1,20 @@
1
+ {% if page.comments != false and jekyll.environment == "development" %}
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,
12
+ s = d.createElement('script');
13
+
14
+ s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
15
+
16
+ s.setAttribute('data-timestamp', +new Date());
17
+ (d.head || d.body).appendChild(s);
18
+ })();
19
+ </script>
20
+ <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript> {% endif %}
@@ -0,0 +1,41 @@
1
+ <footer class="legend proxima double-top-gap pad-vertically">
2
+ <div class="flex">
3
+ <menu class="horizontal-list foot-menu">
4
+ <li>
5
+ <a rel="About us" href="https://bubblin.io/about">About</a>
6
+ </li>
7
+ <li>
8
+ <a rel="Frequently Asked Questions" href="https://bubblin.io/faq">FAQs</a>
9
+ </li>
10
+ <li class="hide-on-mobiles">
11
+ <a rel="Writers" href="https://bubblin.io/writers">Writers</a>
12
+ </li>
13
+ <li class="hide-on-mobiles">
14
+ <a href="{{ '/' | relative_url }}" rel="Bubblin Documentation">Docs</a>
15
+ </li>
16
+ <li class="hide-on-mobiles">
17
+
18
+ <a rel="Writers" href="https://bubblin.io/blog/">Blog</a>
19
+ </li>
20
+ <li>
21
+ <a rel="Privacy Policy" href="/policy">Policy</a>
22
+ </li>
23
+ <li>
24
+ <a rel="Terms of Service" href="/terms">Terms</a>
25
+ </li>
26
+ </menu>
27
+ <span class="side-gap">
28
+ <h6 class="small">
29
+ © 3<sup>rd</sup> millenium+ (Bubblin Superbooks Inc.)
30
+ </h6>
31
+ </span>
32
+ </div>
33
+ <div class="one-half center small flex double-top-gap">
34
+ <span class="lobster faded-text">
35
+ Made with
36
+ <i class="heart"></i>
37
+ in the
38
+ </span>
39
+ <div class="usa side-gap"></div>
40
+ </div>
41
+ </footer>
@@ -0,0 +1,11 @@
1
+ <script>
2
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
3
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
4
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
5
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga')
6
+
7
+ ga('create', '{{ site.google_analytics }}', 'auto')
8
+ ga('send', 'pageview')
9
+
10
+ </script>
11
+
@@ -0,0 +1,12 @@
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
+ {% seo %}
6
+ <link rel="stylesheet" href="{{ '/assets/main.css' | relative_url }}">
7
+ <link rel="alternate" type="application/rss+xml" title="{{ site.title | escape }}" href="{{ " /feed.xml " | relative_url }}">
8
+ {% if jekyll.environment == 'development' and site.google_analytics %}
9
+ {% include google-analytics.html %}
10
+ {% endif %}
11
+ <script type="text/javascript" src="{{ 'assets/js/search.js' | relative_url }}"></script>
12
+ </head>
@@ -0,0 +1,35 @@
1
+ <header class="fixed mast proxima top" role="banner">
2
+ <nav class="bar left transparent-white ">
3
+ {% assign default_paths = site.pages | map: "path" %} {% assign page_paths = site.header_pages | default: default_paths %}
4
+ <a class="sprite-up logo left ir" role="blog main" href="{{ '/' | relative_url }}">{{ site.title | escape }}</a>
5
+ <a class="left beta-label super-small" href="{{ '/' | relative_url }}"> beta </a>
6
+
7
+ <div class="loader left hidden"></div>
8
+ <ul class="horizontal-list left navi-menu">
9
+ {% for path in page_paths %} {% assign my_page = site.pages | where: "path", path | first %} {% if my_page.title %}
10
+ <li>
11
+ <a href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
12
+ </li>
13
+ {% endif %} {% endfor %}
14
+
15
+ </ul>
16
+ <div class="left">
17
+ <input type="text" id="search-input" placeholder="Search docs..." class="search">
18
+ <ul id="results-container"></ul>
19
+ </div>
20
+
21
+
22
+
23
+ <ul class="horizontal-list right navi-menu">
24
+ <li>
25
+ <a href="https://bubblin.io"> ← Bubblin </a>
26
+ </li>
27
+
28
+ <li class="hide-on-mobiles">
29
+ <a href="https://bubblin.io/users/new">Sign up</a>
30
+ </li>
31
+ <li class="hide-on-mobiles">
32
+ <a href="https://bubblin.io/login">Login</a>
33
+ </li>
34
+ </ul>
35
+ </header>
@@ -0,0 +1 @@
1
+ <a href="https://facebook.com/{{ include.page }}"><span class="icon icon--facebook">{% include icon-facebook.svg %}</span>: <span>{{ include.page }}</span></a>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 155.1 155.1" width="16" height="16"><path d="M89.6 155.1V84.4h23.7l3.6-27.6H89.6V39.2c0-8 2.2-13.4 13.7-13.4l14.6 0V1.1C115.3 0.8 106.7 0 96.6 0 75.5 0 61.1 12.9 61.1 36.5v20.3H37.3v27.6h23.8v70.8H89.6z" fill="#444"/></svg>
@@ -0,0 +1 @@
1
+ <a href="https://github.com/{{ include.username }}"><span class="icon icon--github">{% include icon-github.svg %}</span>: <span class="username">{{ include.username }}</span></a>
@@ -0,0 +1 @@
1
+ <svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#444" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/></svg>
@@ -0,0 +1 @@
1
+ <a href="https://twitter.com/{{ include.username }}"><span class="icon icon--twitter">{% include icon-twitter.svg %}</span>: <span class="username">@{{ include.username }}</span></a>
@@ -0,0 +1 @@
1
+ <svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#444" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg>
@@ -0,0 +1,25 @@
1
+ <script id="searchJSON">
2
+ [
3
+ {% for post in site.posts %}
4
+ {
5
+
6
+ "title" : "{{ post.title | escape }}",
7
+ "url" : "{{ site.baseurl }}{{ post.url }}",
8
+ "category" : "{{ post.category }}",
9
+ "tags" : "{{ post.tags | join: ', ' }}",
10
+ "date" : "{{ post.date }}",
11
+ "desc" : "{{ post.title | escape }}"
12
+
13
+ } {% unless forloop.last %},{% endunless %}
14
+ {% endfor %}
15
+ ]
16
+ </script>
17
+
18
+
19
+ <script>
20
+ SimpleJekyllSearch({
21
+ searchInput: document.getElementById('search-input'),
22
+ resultsContainer: document.getElementById('results-container'),
23
+ json: JSON.parse(document.getElementById('searchJSON').innerText)
24
+ })
25
+ </script>
@@ -0,0 +1,9 @@
1
+ <aside class="sidebar left top fixed hide-on-mobiles">
2
+ <ul class="toc">
3
+ {% for post in site.posts %}
4
+ <li>
5
+ <a href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
6
+ </li>
7
+ {% endfor %}
8
+ </ul>
9
+ </aside>
@@ -0,0 +1,22 @@
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 sidebar.html %}
10
+
11
+ <main class="container fold pad" aria-label="Content">
12
+ {{ content }}
13
+ </main>
14
+
15
+ {% include footer.html %}
16
+
17
+ {% if site.search %}
18
+ {% include search.html %}
19
+ {% endif %}
20
+ </body>
21
+
22
+ </html>
@@ -0,0 +1,28 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <div class="wrapper">
5
+
6
+ <h1 href="{{ "/" | relative_url }}">{{ site.title | escape }}</h1>
7
+
8
+ <hr>
9
+
10
+ <p class="right">Subscribe <a href="{{ '/feed.xml' | relative_url }}">via RSS</a></p>
11
+
12
+ {{ content }}
13
+
14
+ <ul class="pad-vertically">
15
+ {% for post in site.posts %}
16
+ <li>
17
+ <h3>
18
+ <a href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
19
+ </h3>
20
+
21
+ {% assign date_format = site.doccoli-jekyll.date_format | default: "%b %-d, %Y" %}
22
+ <span>{{ post.date | date: date_format }}</span>
23
+
24
+ </li>
25
+ {% endfor %}
26
+ </ul>
27
+
28
+ </div>
@@ -0,0 +1,17 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="wrapper">
6
+ <article>
7
+ <header>
8
+ <h1>{{ page.title | escape }}</h1>
9
+ </header>
10
+ <hr>
11
+ <div>
12
+ {{ content }}
13
+ </div>
14
+
15
+ </article>
16
+
17
+ </div>
@@ -0,0 +1,30 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="wrapper">
6
+ <article itemscope itemtype="http://schema.org/BlogPosting">
7
+ <header>
8
+ <h1 itemprop="name headline">{{ page.title | escape }}</h1>
9
+
10
+ <p>
11
+ <time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
12
+ {% assign date_format = site.doccoli-jekyll.date_format | default: "%b %-d, %Y" %}
13
+ {{ page.date | date: date_format }}
14
+ </time>
15
+ {% if page.author %}
16
+ • <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">{{ page.author }}</span></span>
17
+ {% endif %}
18
+ </p>
19
+ </header>
20
+ <hr>
21
+
22
+ <div itemprop="articleBody">
23
+ {{ content }}
24
+ </div>
25
+
26
+ {% if site.disqus.shortname %}
27
+ {% include disqus_comments.html %}
28
+ {% endif %}
29
+ </article>
30
+ </div>
@@ -0,0 +1,5 @@
1
+ @import "scss/footer";
2
+ @import "scss/header";
3
+ @import "scss/sidebar";
4
+ @import "scss/syntax-highlighting";
5
+ @import "scss/reusable";
@@ -0,0 +1,37 @@
1
+ /* Site footer */
2
+
3
+ .legend {
4
+ justify-content: center;
5
+ align-items: center;
6
+ background-position: bottom bottom;
7
+ background-repeat: no-repeat;
8
+ width: 100%;
9
+ height: 10vh;
10
+ font-size: 85%;
11
+ }
12
+
13
+ menu.foot-menu li {
14
+ margin: 3px;
15
+ a {
16
+ font-size: 90%;
17
+ padding: 0 10px;
18
+ }
19
+ }
20
+
21
+ .usa {
22
+ background-image: url('images/usa.svg');
23
+ background-position: center center;
24
+ background-repeat: no-repeat;
25
+ height: 20px;
26
+ width: 24px;
27
+ }
28
+
29
+ .heart {
30
+ background-image: url('images/heart.svg');
31
+ background-position: center center;
32
+ background-repeat: no-repeat;
33
+ height: 12px;
34
+ width: 16px;
35
+ display: inline-block;
36
+ background-size: cover;
37
+ }