jetbrains-oss-jekyll-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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f62642bafbc648d0c9d68383fd5a3a8478c3108b
4
+ data.tar.gz: bf89752e8c619aa26dbc100045fe7c4cab8030ed
5
+ SHA512:
6
+ metadata.gz: 2e447939cb5e2381ea6c570a3ecb5edf89e000ef92c913191d4f0f674ce9f9c8644daa2bdf83416573c4a7de532bbf5a7517ea96997e13e9ec8dbda05ded818b
7
+ data.tar.gz: 792bd1d867a0ca5ee429e92ea73907ddca3241575a908a7b42285ca29a56d08345bcad198fd58e7a8fa1b3dced66cbc6a0ae70e316e7ec43ff68deab5ec060f0
@@ -0,0 +1,19 @@
1
+ # JetBrains OpenSource Project Jekyll Theme
2
+
3
+ ## Setup
4
+
5
+ 1. Docker (pick only from stable channel):
6
+ - [macOS](https://docs.docker.com/docker-for-mac/install/#download-docker-for-mac)
7
+ - [Windows](https://docs.docker.com/docker-for-windows/install/#download-docker-for-windows)
8
+ 2. If you want to develop frontend - Yarn package manager is also needed ([installation instructions](https://yarnpkg.com/lang/en/docs/install/)).
9
+
10
+ ## How to run
11
+
12
+ **All in one option (suitable for content authors/writers)**:
13
+ - `docker-compose -f docker-compose.preview.yml up`. It will create site on [localhost:4000](http://localhost:4000)
14
+ and build all stuff to `demo-site/_site`.
15
+
16
+ **Developer has 2-step option**:
17
+ - `docker-compose up` will run only site at [localhost:4000](http://localhost:4000).
18
+ - `yarn start` will run webpack in watch mode. Assets will build in `demo-site/_site/assets/build`.
19
+ Don't forget to install frontend dependencies first - `yarn install`.
@@ -0,0 +1,20 @@
1
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
3
+
4
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
+ <meta name="description" content="{{ page.description | default: site.description}}">
6
+ <meta name="author" content="{{ site.authors }}">
7
+ <meta name="generator" content="Jekyll v{{ jekyll.version }}">
8
+
9
+ <title>
10
+ {% if page.title %}
11
+ {{ page.title}} {{ site.title }}
12
+ {% else %}
13
+ {{ site.title}} {{ site.description }}
14
+ {% endif %}
15
+ </title>
16
+
17
+ {% include favicons.html %}
18
+
19
+
20
+ <link rel="stylesheet" href="{{ 'assets/build/main.css' | relative_url }}">
@@ -0,0 +1,5 @@
1
+ {% assign page_words = page.content | number_of_words %}
2
+ {% assign page_ert = page_words | divided_by: 200.0 | ceil %}
3
+ <small>
4
+ <em>Estimated reading time: {{ page_ert }} {% if page_ert == 1 %}minute{% else %}minutes{% endif %}</em>
5
+ </small>
@@ -0,0 +1,17 @@
1
+ <link rel="shortcut icon" href="{{ 'assets/build/favicon.ico' | relative_url }}" type="image/x-icon" sizes="16x16 32x32"/>
2
+ <link rel="apple-touch-icon" sizes="57x57" href="{{ 'assets/build/apple-touch-icon-57x57.png' | relative_url }}"/>
3
+ <link rel="apple-touch-icon" sizes="60x60" href="{{ 'assets/build/apple-touch-icon-60x60.png' | relative_url }}"/>
4
+ <link rel="apple-touch-icon" sizes="72x72" href="{{ 'assets/build/apple-touch-icon-72x72.png' | relative_url }}"/>
5
+ <link rel="apple-touch-icon" sizes="76x76" href="{{ 'assets/build/apple-touch-icon-76x76.png' | relative_url }}"/>
6
+ <link rel="apple-touch-icon" sizes="114x114" href="{{ 'assets/build/apple-touch-icon-114x114.png' | relative_url }}"/>
7
+ <link rel="apple-touch-icon" sizes="120x120" href="{{ 'assets/build/apple-touch-icon-120x120.png' | relative_url }}"/>
8
+ <link rel="apple-touch-icon" sizes="144x144" href="{{ 'assets/build/apple-touch-icon-144x144.png' | relative_url }}"/>
9
+ <link rel="apple-touch-icon" sizes="152x152" href="{{ 'assets/build/apple-touch-icon-152x152.png' | relative_url }}"/>
10
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ 'assets/build/apple-touch-icon-180x180.png' | relative_url }}"/>
11
+ <link rel="mask-icon" href="{{ 'assets/build/apple-mask-icon.svg' | relative_url }}" color="black"/>
12
+ <meta name="msapplication-TileColor" content="#000000" />
13
+ <meta name="msapplication-TileImage" content="{{ 'assets/build/mstile-144x144.png' | relative_url }}"/>
14
+ <meta name="msapplication-square70x70logo" content="{{ 'assets/build/mstile-70x70.png' | relative_url }}"/>
15
+ <meta name="msapplication-square150x150logo" content="{{ 'assets/build/mstile-150x150.png' | relative_url }}"/>
16
+ <meta name="msapplication-wide310x150logo" content="{{ 'assets/build/mstile-310x150.png' | relative_url }}"/>
17
+ <meta name="msapplication-square310x310logo" content="{{ 'assets/build/mstile-310x310.png' | relative_url }}"/>
@@ -0,0 +1,10 @@
1
+ <footer class="footer">
2
+ <div class="footer-main container">
3
+ <div class="footer-main__logo">
4
+ <img src="{{ 'assets/build/jetbrains-simple.svg' | relative_url }}">
5
+ </div>
6
+ <div class="footer-main__text">
7
+ Sponsored and developed by <a class="text-link" href="https://www.jetbrains.com">JetBrains</a>
8
+ </div>
9
+ </div>
10
+ </footer>
@@ -0,0 +1,16 @@
1
+ <div class="full-screen-navigation">
2
+ <div class="container">
3
+ <div class="row justify-content-center">
4
+ {% for item in site.data.navigation.main %}
5
+ <a class="col-2 col-md-1 nav-with-icons" href="{{item.url}}">
6
+ <span class="nav-with-icons__icon">
7
+ <img src="{{item.icon_url}}">
8
+ </span>
9
+ <span class="nav-with-icons__title">
10
+ {{item.title}}
11
+ </span>
12
+ </a>
13
+ {% endfor %}
14
+ </div>
15
+ </div>
16
+ </div>
@@ -0,0 +1,21 @@
1
+ <header class="header">
2
+ <div class="header-logo">
3
+ <a href="{{ '/' | relative_url }}" class="header-logo__link">
4
+ <img src="{{site.header_logo_url | relative_url }}"
5
+ class="header-logo__image"
6
+ style="max-height: 48px"
7
+ alt="{{site.project_name}}">
8
+ </a>
9
+ </div>
10
+ <ul class="header-links-list">
11
+ {% for item in site.data.navigation.main %}
12
+ <li class="header-links-list__item">
13
+ {% if page.url == item.url or page.category == item.category %}
14
+ <a href="{{item.url | prepend: site.baseurl }}" class="header-links-list__link _active">{{item.title}}</a>
15
+ {% else %}
16
+ <a href="{{item.url | prepend: site.baseurl }}" class="header-links-list__link">{{item.title}}</a>
17
+ {% endif %}
18
+ </li>
19
+ {% endfor %}
20
+ </ul>
21
+ </header>
@@ -0,0 +1 @@
1
+ <script src="{{ "assets/build/main.js" | relative_url }}"></script>
@@ -0,0 +1,7 @@
1
+ <!--it's template for example. Please copy template and use styles -->
2
+ <form action="" class="search-box">
3
+ <input id="#" class="input search-box__input" type="search"
4
+ value=""
5
+ placeholder="Search" />
6
+ <button class="search-box__button">Search</button>
7
+ </form>
@@ -0,0 +1,29 @@
1
+ <div class="sidebar">
2
+ <div class="sidebar-tree text-main">
3
+ {% if page.category != null %}
4
+ {% assign category_pages = site.pages | where: 'category', page.category %}
5
+ {% assign sorted_category_pages = category_pages | sort: 'title', 'last' %}
6
+ {% assign sorted_category_pages = sorted_category_pages | sort: 'priority', 'last' %}
7
+
8
+ {% for item in site.data.navigation.main %}
9
+ {% if item.category == page.category %}
10
+ <a class="sidebar-tree__title" href="{{ section.url| prepend: site.baseurl }}">{{item.title}}</a>
11
+
12
+ <ul class="sidebar-tree__links-list">
13
+ {% for item in sorted_category_pages %}
14
+ {% if item.category == page.category and item.category != item.title %}
15
+ <li class="sidebar-tree__item">
16
+ {% if (item.url == page.url) %}
17
+ <a class="sidebar-tree__link _active">{{ item.title }}</a>
18
+ {% else %}
19
+ <a href="{{ item.url | prepend: site.baseurl }}" class="sidebar-tree__link">{{ item.title }}</a>
20
+ {% endif %}
21
+ </li>
22
+ {% endif %}
23
+ {% endfor %}
24
+ </ul>
25
+ {% endif %}
26
+ {% endfor %}
27
+ {% endif %}
28
+ </div>
29
+ </div>
@@ -0,0 +1,85 @@
1
+ {% capture tocWorkspace %}
2
+ {% comment %}
3
+ Version 1.0.4
4
+ https://github.com/allejo/jekyll-toc
5
+
6
+ "...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
7
+
8
+ Usage:
9
+ {% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
10
+
11
+ Parameters:
12
+ * html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
13
+
14
+ Optional Parameters:
15
+ * sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
16
+ * class (string) : '' - a CSS class assigned to the TOC
17
+ * id (string) : '' - an ID to assigned to the TOC
18
+ * h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
19
+ * h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
20
+ * ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
21
+ * item_class (string) : '' - add custom class for each list item; has support for '%level%' placeholder, which is the current heading level
22
+
23
+ Output:
24
+ An ordered or unordered list representing the table of contents of a markdown block. This snippet will only generate the table of contents and will NOT output the markdown given to it
25
+ {% endcomment %}
26
+
27
+ {% capture my_toc %}{% endcapture %}
28
+ {% assign orderedList = include.ordered | default: false %}
29
+ {% assign minHeader = include.h_min | default: 2 %}
30
+ {% assign maxHeader = include.h_max | default: 5 %}
31
+ {% assign nodes = include.html | split: '<h' %}
32
+ {% assign firstHeader = true %}
33
+
34
+ {% capture listModifier %}{% if orderedList %}1.{% else %}-{% endif %}{% endcapture %}
35
+
36
+ {% for node in nodes %}
37
+ {% if node == "" %}
38
+ {% continue %}
39
+ {% endif %}
40
+
41
+ {% assign headerLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
42
+
43
+ {% if headerLevel < minHeader or headerLevel > maxHeader %}
44
+ {% continue %}
45
+ {% endif %}
46
+
47
+ {% if firstHeader %}
48
+ {% assign firstHeader = false %}
49
+ {% assign minHeader = headerLevel %}
50
+ {% endif %}
51
+
52
+ {% assign indentAmount = headerLevel | minus: minHeader | add: 1 %}
53
+ {% assign _workspace = node | split: '</h' %}
54
+
55
+ {% assign _idWorkspace = _workspace[0] | split: 'id="' %}
56
+ {% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
57
+ {% assign html_id = _idWorkspace[0] %}
58
+
59
+ {% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
60
+ {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
61
+
62
+ {% assign space = '' %}
63
+ {% for i in (1..indentAmount) %}
64
+ {% assign space = space | prepend: ' ' %}
65
+ {% endfor %}
66
+
67
+ {% unless include.item_class == blank %}
68
+ {% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %}
69
+ {% endunless %}
70
+
71
+ {% capture my_toc %}{{ my_toc }}
72
+ {{ space }}{{ listModifier }} {{ listItemClass }} [{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}](#{{ html_id }}){% endcapture %}
73
+
74
+ {% endfor %}
75
+
76
+ {% if include.class %}
77
+ {% capture my_toc %}{:.{{ include.class }}}
78
+ {{ my_toc | lstrip }}{% endcapture %}
79
+ {% endif %}
80
+
81
+ {% if include.id %}
82
+ {% capture my_toc %}{: #{{ include.id }}}
83
+ {{ my_toc | lstrip }}{% endcapture %}
84
+ {% endif %}
85
+ {% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ {% include document-head.html %}
5
+ </head>
6
+ <body>
7
+ <main class="page" role="main">
8
+ {{ content }}
9
+ </main>
10
+
11
+ {% include scripts.html %}
12
+ </body>
13
+ </html>
@@ -0,0 +1,56 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {% if page.caption_title != null %}
6
+ {% assign title = page.caption_title %}
7
+ {% else %}
8
+ {% assign title = page.title %}
9
+ {% endif %}
10
+
11
+ <div class="page__header">
12
+ {% include header.html %}
13
+ </div>
14
+
15
+ <div class="page__content _layout-docs">
16
+ {% include sidebar.html %}
17
+
18
+ <article class="article-content page">
19
+ <header class="article-content__header dock-header page__header">
20
+ {% if site.search != false%}
21
+ <div class="dock-header__search-box-wrapper">
22
+ {% include search.html %}
23
+ </div>
24
+ {% endif %}
25
+ <h1 class="text-h1 dock-header__title">{{title}}</h1>
26
+ {% if page.status != 'todo' %}
27
+ <p class="text-note">{% include estimated-read-time.html %}</p>
28
+ {% endif %}
29
+
30
+ {% if page.description != null %}
31
+ <p class="text-accepted dock-header__description">
32
+ {{page.description}}
33
+ </p>
34
+ {% endif %}
35
+
36
+ {% if page.toc != false and site.render_toc_on_docs_layout != false%}
37
+ <div class="dock-header__toc toc">
38
+ <div class="toc__title text-accepted">Table of contents:</div>
39
+ <div class="toc__content text-main">
40
+ {% include toc.html html=content %}
41
+ </div>
42
+ </div>
43
+ {% endif %}
44
+ </header>
45
+ <div class="js-article-content article-content__body markdown-body page__content">
46
+ {% if page.status == 'todo' %}
47
+ Coming soon...
48
+ {% else %}
49
+ {{ content }}
50
+ {% endif %}
51
+ </div>
52
+ <div class="article-content__footer page__footer">
53
+ {% include footer.html %}
54
+ </div>
55
+ </article>
56
+ </div>
@@ -0,0 +1,22 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <div class="page__content">
5
+ <div class="container">
6
+ <div class="row justify-content-center">
7
+ <div class="col-6 col-md-4 text-flow home-page-content">
8
+ {{content}}
9
+
10
+ {% if site.search != false%}
11
+ <div class="home-page-search">
12
+ {% include search.html %}
13
+ </div>
14
+ {% endif %}
15
+ </div>
16
+ </div>
17
+ </div>
18
+ {% include full-screen-navigation.html %}
19
+ </div>
20
+ <div class="page__footer">
21
+ {% include footer.html %}
22
+ </div>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jetbrains-oss-jekyll-theme
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - JetBrains
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-04-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.16'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.16'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '12.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '12.0'
55
+ description:
56
+ email:
57
+ - ''
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - README.md
63
+ - _includes/document-head.html
64
+ - _includes/estimated-read-time.html
65
+ - _includes/favicons.html
66
+ - _includes/footer.html
67
+ - _includes/full-screen-navigation.html
68
+ - _includes/header.html
69
+ - _includes/scripts.html
70
+ - _includes/search.html
71
+ - _includes/sidebar.html
72
+ - _includes/toc.html
73
+ - _layouts/default.html
74
+ - _layouts/docs.html
75
+ - _layouts/home.html
76
+ - assets/images/Asset-1.png
77
+ - assets/images/Asset-2.png
78
+ - assets/images/Asset-3.png
79
+ - assets/images/Asset-4.png
80
+ - assets/images/Asset-5.png
81
+ - assets/images/Asset-6.png
82
+ homepage: https://github.com/JetBrains/oss-site-jekyll-theme
83
+ licenses:
84
+ - Apache-2.0
85
+ metadata: {}
86
+ post_install_message:
87
+ rdoc_options: []
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ requirements: []
101
+ rubyforge_project:
102
+ rubygems_version: 2.5.2
103
+ signing_key:
104
+ specification_version: 4
105
+ summary: JetBrains Jekyll theme for open-source projects
106
+ test_files: []