kh-portfolio 0.1.3

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 (77) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +81 -0
  4. data/_includes/nav.html +25 -0
  5. data/_includes/powered-by.html +5 -0
  6. data/_includes/social-media-connection-bar.html +27 -0
  7. data/_layouts/archive.html +35 -0
  8. data/_layouts/default.html +44 -0
  9. data/_layouts/page.html +14 -0
  10. data/_layouts/portfolio.html +29 -0
  11. data/_layouts/post.html +74 -0
  12. data/_layouts/project.html +51 -0
  13. data/_sass/_global.scss +32 -0
  14. data/_sass/_gruppo.scss +5 -0
  15. data/_sass/_post.scss +73 -0
  16. data/_sass/_project.scss +71 -0
  17. data/_sass/_variables.scss +8 -0
  18. data/_sass/materialize/LICENSE +21 -0
  19. data/_sass/materialize/README.md +48 -0
  20. data/_sass/materialize/all.scss +40 -0
  21. data/_sass/materialize/components/_buttons.scss +281 -0
  22. data/_sass/materialize/components/_cards.scss +187 -0
  23. data/_sass/materialize/components/_carousel.scss +85 -0
  24. data/_sass/materialize/components/_chips.scss +83 -0
  25. data/_sass/materialize/components/_collapsible.scss +90 -0
  26. data/_sass/materialize/components/_color.scss +412 -0
  27. data/_sass/materialize/components/_dropdown.scss +65 -0
  28. data/_sass/materialize/components/_global.scss +800 -0
  29. data/_sass/materialize/components/_grid.scss +147 -0
  30. data/_sass/materialize/components/_icons-material-design.scss +5 -0
  31. data/_sass/materialize/components/_materialbox.scss +42 -0
  32. data/_sass/materialize/components/_mixins.scss +5 -0
  33. data/_sass/materialize/components/_modal.scss +90 -0
  34. data/_sass/materialize/components/_navbar.scss +190 -0
  35. data/_sass/materialize/components/_normalize.scss +424 -0
  36. data/_sass/materialize/components/_prefixer.scss +384 -0
  37. data/_sass/materialize/components/_preloader.scss +334 -0
  38. data/_sass/materialize/components/_roboto.scss +28 -0
  39. data/_sass/materialize/components/_sideNav.scss +208 -0
  40. data/_sass/materialize/components/_slider.scss +92 -0
  41. data/_sass/materialize/components/_table_of_contents.scss +33 -0
  42. data/_sass/materialize/components/_tabs.scss +99 -0
  43. data/_sass/materialize/components/_toast.scss +65 -0
  44. data/_sass/materialize/components/_tooltip.scss +32 -0
  45. data/_sass/materialize/components/_typography.scss +61 -0
  46. data/_sass/materialize/components/_variables.scss +313 -0
  47. data/_sass/materialize/components/_waves.scss +177 -0
  48. data/_sass/materialize/components/date_picker/_default.date.scss +435 -0
  49. data/_sass/materialize/components/date_picker/_default.scss +201 -0
  50. data/_sass/materialize/components/date_picker/_default.time.scss +125 -0
  51. data/_sass/materialize/components/forms/_checkboxes.scss +220 -0
  52. data/_sass/materialize/components/forms/_file-input.scss +38 -0
  53. data/_sass/materialize/components/forms/_forms.scss +22 -0
  54. data/_sass/materialize/components/forms/_input-fields.scss +286 -0
  55. data/_sass/materialize/components/forms/_radio-buttons.scss +117 -0
  56. data/_sass/materialize/components/forms/_range.scss +159 -0
  57. data/_sass/materialize/components/forms/_select.scss +121 -0
  58. data/_sass/materialize/components/forms/_switches.scss +78 -0
  59. data/assets/fonts/gruppo/Gruppo-Regular.ttf +0 -0
  60. data/assets/fonts/gruppo/OFL.txt +93 -0
  61. data/assets/fonts/roboto/LICENSE.txt +202 -0
  62. data/assets/fonts/roboto/Roboto-Black.ttf +0 -0
  63. data/assets/fonts/roboto/Roboto-BlackItalic.ttf +0 -0
  64. data/assets/fonts/roboto/Roboto-Bold.ttf +0 -0
  65. data/assets/fonts/roboto/Roboto-BoldItalic.ttf +0 -0
  66. data/assets/fonts/roboto/Roboto-Italic.ttf +0 -0
  67. data/assets/fonts/roboto/Roboto-Light.ttf +0 -0
  68. data/assets/fonts/roboto/Roboto-LightItalic.ttf +0 -0
  69. data/assets/fonts/roboto/Roboto-Medium.ttf +0 -0
  70. data/assets/fonts/roboto/Roboto-MediumItalic.ttf +0 -0
  71. data/assets/fonts/roboto/Roboto-Regular.ttf +0 -0
  72. data/assets/fonts/roboto/Roboto-Thin.ttf +0 -0
  73. data/assets/fonts/roboto/Roboto-ThinItalic.ttf +0 -0
  74. data/assets/js/theme.js +8 -0
  75. data/assets/styles.scss +14 -0
  76. data/assets/syntax.scss +332 -0
  77. metadata +161 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: '00852656750de36db9d102e78feeb24dd2441da5'
4
+ data.tar.gz: 59fca1e0e076af9b93b1d925f063085a5ebd29a6
5
+ SHA512:
6
+ metadata.gz: e9cc77ee623581e9168f3e386bcb5b7b76207553250689f18d644fc8a2bb4c73389a87a1cf1135732781cbc4da6681c4dc3b3174e1e29496be79e758325da358
7
+ data.tar.gz: baa27528f9686d7377aaf2d3f8bc39bf1e6c2ba60418b855591c75b23d5aecc347f34e0cef6e69c0f0bc4b59ae5d43b3bae3f2114dd5fcde5d349a71b5b9cbe2
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Kersing Huang
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,81 @@
1
+ ---
2
+ layout: page
3
+ title: README
4
+ ---
5
+
6
+ # kh-portfolio
7
+
8
+ ## Installation
9
+
10
+ Add this line to your Jekyll site's Gemfile:
11
+
12
+ ```ruby
13
+ gem "kh-portfolio", "~> 0.1.3"
14
+ ```
15
+
16
+ And add this line to your Jekyll site's `_config.yml`:
17
+
18
+ ```yaml
19
+ theme: kh-portfolio
20
+ ```
21
+
22
+ And then execute:
23
+
24
+ $ bundle install
25
+
26
+ Or install it yourself as:
27
+
28
+ $ gem install kh-portfolio
29
+
30
+ ## Usage
31
+
32
+ ### Additional Layouts
33
+
34
+ * `archive` displays posts in reverse chronological order, i.e the most
35
+ recent posts are listed first.
36
+
37
+ * `portfolio` displays the most recent projects whose `show` attribute is true.
38
+
39
+ * `project` is a landing page for a project in your portfolio.
40
+
41
+ ### includes
42
+
43
+ `nav.html` renders the main navigation used in the site.
44
+
45
+ `powered-by.html` renders the credits in the footer of the site.
46
+
47
+ `social-media-connection-bar.html` renders the social media icons in the
48
+ footer.
49
+
50
+ ### SASS
51
+
52
+ This theme uses the [Materialize](http://materializecss.com/) frontend
53
+ framework, [Font Awesome](http://fontawesome.io/), and [Google Fonts](https://fonts.google.com/).
54
+ Theme styles are defined in `_sass`, `assets/styles.scss`, and `assets/syntax.scss`.
55
+
56
+ ## Contributing
57
+
58
+ Bug reports and pull requests are welcome on [GitHub](https://github.com/phyiction/kh-portfolio).
59
+ This project is intended to be a safe, welcoming space for collaboration,
60
+ and contributors are expected to adhere to the
61
+ [Contributor Covenant](http://contributor-covenant.org) code of conduct.
62
+
63
+ ## Development
64
+
65
+ To set up your environment to develop this theme, run `bundle install`.
66
+
67
+ 1. Clone the repository `git clone https://github.com/phyiction/kh-portfolio.git`
68
+
69
+ 2. Update the `Gemfile` in your Jekyll site with `gem "kh-portfolio", :path => "<path to repo>"`
70
+
71
+ 3. Run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`.
72
+ As you make modifications to your content, your site will regenerate and you
73
+ should see the changes in the browser after a refresh. If you make changes to the
74
+ theme you will need to restart the server.
75
+
76
+ When your theme is released, only the files in `_layouts`, `_includes`, and `_sass` tracked with Git will be released.
77
+
78
+ ## License
79
+
80
+ The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
81
+
@@ -0,0 +1,25 @@
1
+ <nav>
2
+ <div class="nav-wrapper">
3
+ <div class="container">
4
+ <a href="/" class="brand-logo">
5
+ {{include.logo}}
6
+ </a>
7
+ <a href="#" data-activates="mobile" class="button-collapse"><i class="material-icons">menu</i></a>
8
+ <ul class="right hide-on-med-and-down">
9
+ {% for p in site.pages %}
10
+ {% if p.show_in_menu == true %}
11
+ <li><a href="{{p.url}}">{{p.title}}</a></li>
12
+ {% endif %}
13
+ {% endfor %}
14
+ </ul>
15
+ <ul class="side-nav" id="mobile">
16
+ <li><a href="/">Home</a></li>
17
+ {% for p in site.pages %}
18
+ {% if p.show_in_menu == true %}
19
+ <li><a href="{{p.url}}">{{p.title}}</a></li>
20
+ {% endif %}
21
+ {% endfor %}
22
+ </ul>
23
+ </div>
24
+ </div>
25
+ </nav>
@@ -0,0 +1,5 @@
1
+ Powered by
2
+ <a target="_blank" href="http://fontawesome.io/">Font Awesome</a>,
3
+ <a target="_blank" href="https://jekyllrb.com/">Jekyll</a>,
4
+ <a target="_blank" href="https://jquery.com/">JQuery</a>, and
5
+ <a target="_blank" href="http://materializecss.com/">Materialize</a>
@@ -0,0 +1,27 @@
1
+
2
+ {% if site.bitbucket_username %}
3
+ <a target="_blank" href="https://bitbucket.org/{{site.bitbucket_username}}">
4
+ <i class="fa fa-2x fa-bitbucket"></i>
5
+ </a>
6
+ &nbsp;&nbsp;
7
+ {% endif %}
8
+
9
+ {% if site.github_username %}
10
+ <a target="_blank" href="https://github.com/{{site.github_username}}">
11
+ <i class="fa fa-2x fa-github"></i>
12
+ </a>
13
+ &nbsp;&nbsp;
14
+ {% endif %}
15
+
16
+ {% if site.linkedin_username %}
17
+ <a target="_blank" href="https://www.linkedin.com/in/{{site.linkedin_username}}">
18
+ <i class="fa fa-2x fa-linkedin"></i>
19
+ </a>
20
+ &nbsp;&nbsp;
21
+ {% endif %}
22
+
23
+ {% if site.twitter_username %}
24
+ <a target="_blank" href="https://twitter.com/{{site.twitter_username}}">
25
+ <i class="fa fa-2x fa-twitter"></i>
26
+ </a>
27
+ {% endif %}
@@ -0,0 +1,35 @@
1
+ ---
2
+ layout: page
3
+ ---
4
+
5
+ <div id="archive">
6
+ <div class="row">
7
+ <div class="col l12 m12">
8
+ {% capture years %}{% for p in site.posts %}{{p.date | date: "%Y"}}{%if forloop.last == false %},{% endif %}{% endfor %}{% endcapture %}
9
+ {% assign yearArr = years | split: ',' | uniq | sort | reverse %}
10
+ <ul class="tabs">
11
+ {% for y in yearArr %}
12
+ <li class="tab"><a href="#{{y}}" class="{% if forloop.first == true %}active{% endif %}">{{y}}</a></li>
13
+ {% endfor %}
14
+ </ul>
15
+ {% for y in yearArr %}
16
+ {% capture months %}{% for p in site.posts %}{% assign currY = p.date | date: "%Y" %}{%if currY == y %}{{ p.date | date: "%m"}}{%if forloop.last == false %},{% endif %}{% endif %}{% endfor %}{% endcapture %}
17
+ {% assign monthArr = months | split: ',' | uniq | sort %}
18
+ <div id="{{y}}">
19
+ <dl>
20
+ {% for m in monthArr %}
21
+ {% assign d = "" | append: y | append: "-" | append: m | append: "-01" %}
22
+ <dt>{{ d | date: "%b" }}</dt>
23
+ {% for p in site.posts %}
24
+ {% assign curr = p.date | date: "%Y-%m-01" %}
25
+ {% if curr == d %}
26
+ <dd class="post">{{p.date | date: "%d"}} &middot; <a href="{{p.url}}" class="title">{{p.title}}</a></dd>
27
+ {% endif %}
28
+ {% endfor %}
29
+ {% endfor %}
30
+ </dl>
31
+ </div>
32
+ {% endfor %}
33
+ </div>
34
+ </div>
35
+ </div>
@@ -0,0 +1,44 @@
1
+ <!DOCTYPE html>
2
+ {% assign logo = site.first_initial | append: "[" | append: site.second_initial | append: "]" %}
3
+ <html>
4
+ <head>
5
+
6
+ <title>{{logo}} : {{page.title}}</title>
7
+
8
+ <!-- JQuery -->
9
+ <script src="https://code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
10
+
11
+ <!-- Materialize JS -->
12
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/js/materialize.min.js"></script>
13
+
14
+ <!-- Theme JS -->
15
+ <script type="text/javascript" src="/assets/js/theme.js"></script>
16
+
17
+ <!-- Font Awesome -->
18
+ <script src="https://use.fontawesome.com/6f7070a647.js"></script>
19
+
20
+ <!-- Theme CSS -->
21
+ <link rel="stylesheet" href="/assets/styles.css" />
22
+
23
+ <!-- Syntax Highlight CSS -->
24
+ <link rel="stylesheet" href="/assets/syntax.css" />
25
+
26
+ </head>
27
+ <body>
28
+
29
+ <header>
30
+ {% include nav.html logo=logo %}
31
+ </header>
32
+ <main>
33
+ {{ content }}
34
+ </main>
35
+ <footer class="page-footer">
36
+ <p id="social-media-bar" class="center-align">
37
+ {% include social-media-connection-bar.html %}
38
+ </p>
39
+ <p id="powered-by" class="center-align">
40
+ {% include powered-by.html %}
41
+ </p>
42
+ </footer>
43
+ </body>
44
+ </html>
@@ -0,0 +1,14 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="container">
6
+ <div class="row">
7
+ <div class="col l12 m12 s12">
8
+ {% if page.show_title %}
9
+ <h2>{{page.title}}</h2>
10
+ {% endif %}
11
+ {{ content }}
12
+ </div>
13
+ </div>
14
+ </div>
@@ -0,0 +1,29 @@
1
+ ---
2
+ layout: page
3
+ ---
4
+
5
+ <div id="portfolio">
6
+
7
+ {% capture years %}{% for p in site.projects %}{%if p.show %}{{p.created | date: "%Y"}}{% endif %}{%if forloop.last == false %},{% endif %}{% endfor %}{% endcapture %}
8
+ {% assign yearArr = years | split: ',' | uniq | sort | reverse %}
9
+ <ul class="tabs">
10
+ {% for y in yearArr %}
11
+ <li class="tab"><a href="#{{y}}" class="{% if forloop.first == true %}active{% endif %}">{{y}}</a></li>
12
+ {% endfor %}
13
+ </ul>
14
+ <div class="section">
15
+ {% assign sorted_projects = site.projects | sort: "created" | reverse %}
16
+ {% for y in yearArr %}
17
+ <div id="{{y}}">
18
+ {% for p in sorted_projects %}
19
+ {% assign Y = p.created | date: "%Y" %}
20
+ {% if p.show and Y == y %}
21
+ <div class="project">
22
+ {{ p.created | date: "%b %d" }} &middot; <a href="{{p.url}}" class="title">{{p.title}}</a>
23
+ </div>
24
+ {% endif %}
25
+ {% endfor %}
26
+ </div>
27
+ {% endfor %}
28
+ </div>
29
+ </div>
@@ -0,0 +1,74 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="container">
6
+ <div class="row">
7
+ <div class="col l8 m8 s12">
8
+ <div class="section">
9
+ <article class="post" itemscope itemtype="http://schema.org/BlogPosting">
10
+ <header>
11
+ {% assign num_categories = page.categories | size %}
12
+ {% if num_categories != 0 %}
13
+ <nav class="categories">
14
+ <div class="nav-wrapper">
15
+ <div class="col l12 m12 s12">
16
+ {% for c in page.categories %}
17
+ <span class="breadcrumb">{{c | replace: '-', ' ' }}</span>
18
+ {% endfor %}
19
+ </div>
20
+ </div>
21
+ </nav>
22
+ {% endif %}
23
+ <h2 class="title" itemprop="name headline">{{ page.title }}</h2>
24
+ <div>
25
+ <time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished" class="created">{{ page.date | date: "%B %-d, %Y" }}</time>
26
+ {% if page.author %} &bull;
27
+ <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">{{ page.author }}</span></span>
28
+ {% endif %}
29
+ </div>
30
+ </header>
31
+ <div class="body flow-text" itemprop="articleBody">
32
+ {{ content }}
33
+ </div>
34
+ <footer>
35
+ {% assign num_tags = page.tags | size %}
36
+ {% if num_tags != 0 %}
37
+ <div class="tags">
38
+ <i class="fa fa-lg fa-tags"></i>
39
+ {% assign sorted_tags = page.tags | sort %}
40
+ {% for t in sorted_tags %}
41
+ <span class="chip" itemscope itemtype="http://schema.org/Text" itemprop="keywords">{{t}}</span>
42
+ {% endfor %}
43
+ </div>
44
+ {% endif %}
45
+ </footer>
46
+ </article>
47
+ </div>
48
+ </div>
49
+ <div class="col l4 m4 s12">
50
+ <div class="section">
51
+ {% capture rel_posts %}
52
+ {% for p in site.posts %}
53
+ {% assign keywords = p.tags | join: "," %}
54
+ {% assign lenStart = keywords | size %}
55
+ {% for t in page.tags %}
56
+ {% assign keywords = keywords | replace: t %}
57
+ {% endfor %}
58
+ {% assign lenEnd = keywords | size %}
59
+ {% if lenStart != lenEnd and p.url != page.url %}
60
+ <li><a href="{{p.url}}">{{p.title}}</a></li>
61
+ {% endif %}
62
+ {% endfor %}
63
+ {% endcapture %}
64
+ {% assign len = rel_posts | lstrip | rstrip | size %}
65
+ {% if len != 0 %}
66
+ <h5>Related</h5>
67
+ <ul>
68
+ {{rel_posts}}
69
+ </ul>
70
+ {% endif %}
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </div>
@@ -0,0 +1,51 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="container">
6
+ <div class="project">
7
+ <div class="section">
8
+ <div class="row">
9
+ <div class="col l4 m4 s12">
10
+ <div class="section">
11
+ {% if page.show %}
12
+ {% if page.screenshot %}
13
+ <img src="{{page.screenshot}}" class="responsive-img" />
14
+ {% else %}
15
+ <div class="image">
16
+ <i class="fa fa-file-image-o"></i>
17
+ </div>
18
+ {% endif %}
19
+ {% else %}
20
+ <div class="image">
21
+ <i class="fa fa-exclamation-triangle"></i>
22
+ </div>
23
+ {% endif %}
24
+ </div>
25
+ </div>
26
+ <div class="col l8 m8 s12">
27
+ <div class="section">
28
+ {% if page.show %}
29
+ <div class="created">{{page.created | date: "%B %-d, %Y" }}</div>
30
+ <div class="title">{{page.title}}</div>
31
+ <div class="tags">
32
+ <i class="fa fa-tags"></i>
33
+ {% assign sorted_tags = page.tags | sort %}
34
+ {% for t in sorted_tags %}
35
+ <span class="chip">{{t}}</span>
36
+ {% endfor %}
37
+ </div>
38
+ {% else %}
39
+ <p>You cannot view this project.</p>
40
+ {% endif %}
41
+ </div>
42
+ <div class="section content">
43
+ {% if page.show %}
44
+ {{content}}
45
+ {% endif %}
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </div>
@@ -0,0 +1,32 @@
1
+ body {
2
+ display: flex;
3
+ min-height: 100vh;
4
+ flex-direction: column;
5
+ }
6
+
7
+ main {
8
+ flex: 1 0 auto;
9
+ }
10
+
11
+ h1,h2,h3,h4,h5,h6{
12
+ font-family: Gruppo;
13
+ text-transform: lowercase;
14
+ }
15
+
16
+ footer.page-footer{
17
+
18
+ color: darken($navbar-font-color,30%);
19
+
20
+ a{
21
+ color: darken($navbar-font-color,30%);
22
+ }
23
+ }
24
+
25
+ .seal{
26
+ width: 48px;
27
+ height: 48px;
28
+ }
29
+
30
+ a.brand-logo{
31
+ font-family: Gruppo;
32
+ }