vitrina 0.2.4 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (199) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +13 -0
  3. data/.github/FUNDING.yml +4 -0
  4. data/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  6. data/.github/workflows/gempush.yml +42 -0
  7. data/.gitignore +7 -0
  8. data/.travis.yml +6 -0
  9. data/404.md +5 -0
  10. data/CHANGELOG.md +88 -0
  11. data/Gemfile +9 -0
  12. data/LICENSE +21 -0
  13. data/README.md +501 -0
  14. data/_config.yml +39 -0
  15. data/_data/general.json +133 -0
  16. data/_data/home.json +316 -0
  17. data/_data/links.json +34 -0
  18. data/_data/resume.json +80 -0
  19. data/_includes/foot.html +6 -0
  20. data/_includes/footer.html +21 -0
  21. data/_includes/head.html +13 -0
  22. data/_includes/header.html +63 -0
  23. data/_includes/pagination.html +75 -0
  24. data/_includes/util/grid_columns.html +49 -0
  25. data/_includes/util/item_content.html +8 -0
  26. data/_includes/util/items.html +69 -0
  27. data/_includes/util/navbar_items.html +82 -0
  28. data/_includes/util/prepend_link.html +5 -0
  29. data/_includes/util/timeline_cards.html +20 -0
  30. data/_layouts/blog.html +53 -0
  31. data/_layouts/compress.html +10 -0
  32. data/_layouts/contact.html +32 -0
  33. data/_layouts/default.html +33 -0
  34. data/_layouts/error.html +10 -0
  35. data/_layouts/home.html +103 -0
  36. data/_layouts/papers.html +80 -0
  37. data/_layouts/post.html +33 -0
  38. data/_layouts/projects.html +63 -0
  39. data/_layouts/resume.html +62 -0
  40. data/_papers/A-systematic-review-on-the-productive-effects-of-hobbies.md +15 -0
  41. data/_papers/Applications-of-open-collaboration-in-software-development.md +14 -0
  42. data/_posts/2019-04-03-welcome-human.md +52 -0
  43. data/_projects/Make.md +5 -0
  44. data/_projects/Meet.md +8 -0
  45. data/_projects/Mood.md +5 -0
  46. data/_projects/Take.md +8 -0
  47. data/_projects/Think.md +8 -0
  48. data/_sass/_bulma.scss +3 -0
  49. data/_sass/_fork_awesome.scss +11 -0
  50. data/_sass/code.scss +128 -0
  51. data/_sass/customize.scss +69 -0
  52. data/_sass/elements.scss +501 -0
  53. data/assets/css/styles.scss +15 -0
  54. data/assets/img/card.png +0 -0
  55. data/assets/img/icon.png +0 -0
  56. data/assets/img/logo.png +0 -0
  57. data/assets/img/made-with-bulma.png +0 -0
  58. data/assets/img/make.png +0 -0
  59. data/assets/img/meet.png +0 -0
  60. data/assets/img/mood.png +0 -0
  61. data/assets/img/take.png +0 -0
  62. data/assets/img/think.png +0 -0
  63. data/assets/js/navbar.js +10 -0
  64. data/assets/js/validate.js +77 -0
  65. data/blog/index.html +4 -0
  66. data/contact.md +52 -0
  67. data/favicon.ico +0 -0
  68. data/index.md +3 -0
  69. data/node_modules/.yarn-integrity +18 -0
  70. data/node_modules/bulma/CHANGELOG.md +1459 -0
  71. data/node_modules/bulma/LICENSE +21 -0
  72. data/node_modules/bulma/README.md +130 -0
  73. data/node_modules/bulma/bulma.sass +10 -0
  74. data/node_modules/bulma/css/bulma-rtl.css +11331 -0
  75. data/node_modules/bulma/css/bulma-rtl.css.map +1 -0
  76. data/node_modules/bulma/css/bulma-rtl.min.css +1 -0
  77. data/node_modules/bulma/css/bulma.css +11331 -0
  78. data/node_modules/bulma/css/bulma.css.map +1 -0
  79. data/node_modules/bulma/css/bulma.min.css +1 -0
  80. data/node_modules/bulma/package.json +56 -0
  81. data/node_modules/bulma/sass/.DS_Store +0 -0
  82. data/node_modules/bulma/sass/base/_all.sass +4 -0
  83. data/node_modules/bulma/sass/base/generic.sass +142 -0
  84. data/node_modules/bulma/sass/base/helpers.sass +1 -0
  85. data/node_modules/bulma/sass/base/minireset.sass +79 -0
  86. data/node_modules/bulma/sass/components/_all.sass +14 -0
  87. data/node_modules/bulma/sass/components/breadcrumb.sass +75 -0
  88. data/node_modules/bulma/sass/components/card.sass +79 -0
  89. data/node_modules/bulma/sass/components/dropdown.sass +81 -0
  90. data/node_modules/bulma/sass/components/level.sass +77 -0
  91. data/node_modules/bulma/sass/components/media.sass +52 -0
  92. data/node_modules/bulma/sass/components/menu.sass +57 -0
  93. data/node_modules/bulma/sass/components/message.sass +99 -0
  94. data/node_modules/bulma/sass/components/modal.sass +113 -0
  95. data/node_modules/bulma/sass/components/navbar.sass +441 -0
  96. data/node_modules/bulma/sass/components/pagination.sass +150 -0
  97. data/node_modules/bulma/sass/components/panel.sass +119 -0
  98. data/node_modules/bulma/sass/components/tabs.sass +174 -0
  99. data/node_modules/bulma/sass/elements/_all.sass +15 -0
  100. data/node_modules/bulma/sass/elements/box.sass +24 -0
  101. data/node_modules/bulma/sass/elements/button.sass +323 -0
  102. data/node_modules/bulma/sass/elements/container.sass +24 -0
  103. data/node_modules/bulma/sass/elements/content.sass +155 -0
  104. data/node_modules/bulma/sass/elements/form.sass +1 -0
  105. data/node_modules/bulma/sass/elements/icon.sass +21 -0
  106. data/node_modules/bulma/sass/elements/image.sass +71 -0
  107. data/node_modules/bulma/sass/elements/notification.sass +48 -0
  108. data/node_modules/bulma/sass/elements/other.sass +39 -0
  109. data/node_modules/bulma/sass/elements/progress.sass +67 -0
  110. data/node_modules/bulma/sass/elements/table.sass +129 -0
  111. data/node_modules/bulma/sass/elements/tag.sass +136 -0
  112. data/node_modules/bulma/sass/elements/title.sass +70 -0
  113. data/node_modules/bulma/sass/form/_all.sass +8 -0
  114. data/node_modules/bulma/sass/form/checkbox-radio.sass +21 -0
  115. data/node_modules/bulma/sass/form/file.sass +180 -0
  116. data/node_modules/bulma/sass/form/input-textarea.sass +64 -0
  117. data/node_modules/bulma/sass/form/select.sass +85 -0
  118. data/node_modules/bulma/sass/form/shared.sass +55 -0
  119. data/node_modules/bulma/sass/form/tools.sass +213 -0
  120. data/node_modules/bulma/sass/grid/_all.sass +4 -0
  121. data/node_modules/bulma/sass/grid/columns.sass +504 -0
  122. data/node_modules/bulma/sass/grid/tiles.sass +34 -0
  123. data/node_modules/bulma/sass/helpers/_all.sass +10 -0
  124. data/node_modules/bulma/sass/helpers/color.sass +37 -0
  125. data/node_modules/bulma/sass/helpers/float.sass +8 -0
  126. data/node_modules/bulma/sass/helpers/other.sass +8 -0
  127. data/node_modules/bulma/sass/helpers/overflow.sass +2 -0
  128. data/node_modules/bulma/sass/helpers/position.sass +5 -0
  129. data/node_modules/bulma/sass/helpers/spacing.sass +28 -0
  130. data/node_modules/bulma/sass/helpers/typography.sass +98 -0
  131. data/node_modules/bulma/sass/helpers/visibility.sass +122 -0
  132. data/node_modules/bulma/sass/layout/_all.sass +5 -0
  133. data/node_modules/bulma/sass/layout/footer.sass +9 -0
  134. data/node_modules/bulma/sass/layout/hero.sass +145 -0
  135. data/node_modules/bulma/sass/layout/section.sass +13 -0
  136. data/node_modules/bulma/sass/utilities/.DS_Store +0 -0
  137. data/node_modules/bulma/sass/utilities/_all.sass +8 -0
  138. data/node_modules/bulma/sass/utilities/animations.sass +5 -0
  139. data/node_modules/bulma/sass/utilities/controls.sass +50 -0
  140. data/node_modules/bulma/sass/utilities/derived-variables.scss +132 -0
  141. data/node_modules/bulma/sass/utilities/functions.sass +115 -0
  142. data/node_modules/bulma/sass/utilities/initial-variables.sass +78 -0
  143. data/node_modules/bulma/sass/utilities/mixins.sass +285 -0
  144. data/node_modules/fork-awesome/CHANGELOG.md +91 -0
  145. data/node_modules/fork-awesome/CONTRIBUTORS.md +31 -0
  146. data/node_modules/fork-awesome/LICENSES +452 -0
  147. data/node_modules/fork-awesome/README.md +93 -0
  148. data/node_modules/fork-awesome/css/fork-awesome.css +2573 -0
  149. data/node_modules/fork-awesome/css/fork-awesome.min.css +12 -0
  150. data/node_modules/fork-awesome/css/fork-awesome.min.css.map +1 -0
  151. data/node_modules/fork-awesome/css/v5-compat.css +446 -0
  152. data/node_modules/fork-awesome/css/v5-compat.min.css +12 -0
  153. data/node_modules/fork-awesome/css/v5-compat.min.css.map +1 -0
  154. data/node_modules/fork-awesome/fonts/forkawesome-webfont.eot +0 -0
  155. data/node_modules/fork-awesome/fonts/forkawesome-webfont.svg +1 -0
  156. data/node_modules/fork-awesome/fonts/forkawesome-webfont.ttf +0 -0
  157. data/node_modules/fork-awesome/fonts/forkawesome-webfont.woff +0 -0
  158. data/node_modules/fork-awesome/fonts/forkawesome-webfont.woff2 +0 -0
  159. data/node_modules/fork-awesome/less/animated.less +34 -0
  160. data/node_modules/fork-awesome/less/bordered-pulled.less +25 -0
  161. data/node_modules/fork-awesome/less/core.less +12 -0
  162. data/node_modules/fork-awesome/less/fixed-width.less +6 -0
  163. data/node_modules/fork-awesome/less/fork-awesome.less +27 -0
  164. data/node_modules/fork-awesome/less/icons.less +879 -0
  165. data/node_modules/fork-awesome/less/larger.less +13 -0
  166. data/node_modules/fork-awesome/less/list.less +19 -0
  167. data/node_modules/fork-awesome/less/mixins.less +60 -0
  168. data/node_modules/fork-awesome/less/path.less +15 -0
  169. data/node_modules/fork-awesome/less/rotated-flipped.less +20 -0
  170. data/node_modules/fork-awesome/less/screen-reader.less +5 -0
  171. data/node_modules/fork-awesome/less/stacked.less +20 -0
  172. data/node_modules/fork-awesome/less/v5-compat.less +176 -0
  173. data/node_modules/fork-awesome/less/variables.less +890 -0
  174. data/node_modules/fork-awesome/package.json +49 -0
  175. data/node_modules/fork-awesome/scss/_animated.scss +34 -0
  176. data/node_modules/fork-awesome/scss/_bordered-pulled.scss +25 -0
  177. data/node_modules/fork-awesome/scss/_core.scss +12 -0
  178. data/node_modules/fork-awesome/scss/_fixed-width.scss +6 -0
  179. data/node_modules/fork-awesome/scss/_functions.scss +11 -0
  180. data/node_modules/fork-awesome/scss/_icons.scss +879 -0
  181. data/node_modules/fork-awesome/scss/_larger.scss +13 -0
  182. data/node_modules/fork-awesome/scss/_list.scss +19 -0
  183. data/node_modules/fork-awesome/scss/_mixins.scss +60 -0
  184. data/node_modules/fork-awesome/scss/_path.scss +15 -0
  185. data/node_modules/fork-awesome/scss/_rotated-flipped.scss +20 -0
  186. data/node_modules/fork-awesome/scss/_screen-reader.scss +5 -0
  187. data/node_modules/fork-awesome/scss/_stacked.scss +20 -0
  188. data/node_modules/fork-awesome/scss/_variables.scss +890 -0
  189. data/node_modules/fork-awesome/scss/fork-awesome.scss +28 -0
  190. data/package.json +32 -0
  191. data/papers.md +4 -0
  192. data/projects.md +4 -0
  193. data/resume.md +4 -0
  194. data/screenshot.png +0 -0
  195. data/scripts/build.sh +10 -0
  196. data/scripts/install.sh +4 -0
  197. data/scripts/validate.rb +28 -0
  198. data/vitrina.gemspec +24 -0
  199. metadata +201 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1b640a746eb8803a2deaed2547fea62860556ca354e1c3ff294f82c8481ada4a
4
- data.tar.gz: 6db6768e20e88915f2108591902e4f59e8aed40a6c7878ddba5edcf5c2b8fa0a
3
+ metadata.gz: e15ff8590d3ea42e43365767ffbf72af7c3b101fc9e4da1f177bc377bf5ba8c1
4
+ data.tar.gz: 18b91de1d114b40cabc473229c773fbab22b0c6d963f219e0bb2d8865fd4a087
5
5
  SHA512:
6
- metadata.gz: ff960a163660606ef076b66213b8768d63e8ae0e3b69b1b5fdc4e4c577edb67ca79837385021b7c4b1535bf78f5257a177038dd83d8cdfd710f1c6e6b26b804f
7
- data.tar.gz: 539d0681ada172ec06ec67c617cec1e5ae6e7abd1d1c135d3a6f1e9619fd77353c03e48e95762b873b7401b8209d85e2c9df52605f1b722baaa41bb876ad3ac8
6
+ metadata.gz: 6ee0c2b4adade449f1cba7d48b7534c27f6652fbbd0a85a92bff0f09a317fe97a6fc1a38095db16070cfb33fa957ffcd1c78a9cb656ef63d1de2fb165620fe32
7
+ data.tar.gz: fe2c2c7f499d7478613b7c0ef5cf596c5200d1966593f6e127053077ec4847d537ed92a0bef0ad16bbe1630b7b9f1ab94175133aea43eba13765127b5e62f4a0
@@ -0,0 +1,13 @@
1
+ # editorconfig.org
2
+ root = true
3
+
4
+ [*]
5
+ indent_size = 2
6
+ indent_style = space
7
+ end_of_line = lf
8
+ charset = utf-8
9
+ trim_trailing_whitespace = true
10
+ insert_final_newline = true
11
+
12
+ [*.md]
13
+ trim_trailing_whitespace = false
@@ -0,0 +1,4 @@
1
+ # These are supported funding model platforms
2
+
3
+ patreon: AGoulart
4
+ ko_fi: agoulart
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: Bug report
3
+ about: Report a bug that you saw or experienced
4
+ title: "[BUG]"
5
+ labels: bug
6
+ assignees: oAGoulart
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **To Reproduce**
14
+ Steps to reproduce the behavior:
15
+ 1. Go to '...'
16
+ 2. Click on '....'
17
+ 3. Scroll down to '....'
18
+ 4. See error
19
+
20
+ **Expected behavior**
21
+ A clear and concise description of what you expected to happen.
22
+
23
+ **Screenshots**
24
+ If applicable, add screenshots to help explain your problem.
25
+
26
+ **Desktop (please complete the following information):**
27
+ - OS: [e.g. iOS]
28
+ - Browser [e.g. chrome, safari]
29
+ - Version [e.g. 22]
30
+
31
+ **Smartphone (please complete the following information):**
32
+ - Device: [e.g. iPhone6]
33
+ - OS: [e.g. iOS8.1]
34
+ - Browser [e.g. stock browser, safari]
35
+ - Version [e.g. 22]
36
+
37
+ **Additional context**
38
+ Add any other context about the problem here, such as development environment.
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: enhancement
6
+ assignees: oAGoulart
7
+
8
+ ---
9
+
10
+ **Is your feature request related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+ **Describe the solution you'd like**
14
+ A clear and concise description of what you want to happen.
15
+
16
+ **Describe alternatives you've considered**
17
+ A clear and concise description of any alternative solutions or features you've considered.
18
+
19
+ **Additional context**
20
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,42 @@
1
+ name: Ruby Gem
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ build:
11
+ name: Build + Publish
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: Set up Ruby 2.6
17
+ uses: actions/setup-ruby@v1
18
+ with:
19
+ ruby-version: 2.6.x
20
+
21
+ - name: Publish to GPR
22
+ run: |
23
+ mkdir -p $HOME/.gem
24
+ touch $HOME/.gem/credentials
25
+ chmod 0600 $HOME/.gem/credentials
26
+ printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
27
+ gem build *.gemspec
28
+ gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
29
+ env:
30
+ GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
31
+ OWNER: ${{ github.repository_owner }}
32
+
33
+ - name: Publish to RubyGems
34
+ run: |
35
+ mkdir -p $HOME/.gem
36
+ touch $HOME/.gem/credentials
37
+ chmod 0600 $HOME/.gem/credentials
38
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
39
+ gem build *.gemspec
40
+ gem push *.gem
41
+ env:
42
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
@@ -0,0 +1,7 @@
1
+ _site
2
+ .sass-cache
3
+ .jekyll-metadata
4
+ *.lock
5
+ *.gem
6
+ .bundle
7
+ vendor/
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ before_script:
3
+ - bundle install
4
+ script:
5
+ - sudo chmod +x ./scripts/build.sh
6
+ - ./scripts/build.sh
data/404.md ADDED
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: error
3
+ title: 404
4
+ message: This page could not be found!
5
+ ---
@@ -0,0 +1,88 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [Unreleased]
6
+
7
+ ## [0.3.1] - 2021-01-18
8
+
9
+ ### Added
10
+
11
+ - Projects overlay option
12
+
13
+ ## [0.3.0] - 2020-09-04
14
+
15
+ ### Changed
16
+
17
+ - Bulma version to 0.9.0
18
+
19
+ ### Fixed
20
+
21
+ - Buttons "without" link going to home page
22
+
23
+ ## [0.2.8] - 2020-06-02
24
+
25
+ ### Added
26
+
27
+ - Put troubleshooting into documentation
28
+
29
+ ### Changed
30
+
31
+ - Contact layout now don't have a pre-defined contact form
32
+
33
+ ## [0.2.6] - 2020-05-27
34
+
35
+ ### Changed
36
+
37
+ - Gem files registration method
38
+
39
+ ## [0.2.5] - 2020-05-27
40
+
41
+ ### Fixed
42
+
43
+ - Gem not packing all files
44
+
45
+ ## [0.2.4] - 2020-05-27
46
+
47
+ ### Fixed
48
+
49
+ - Layouts not available when using as Jekyll theme
50
+ - Background color of `main`
51
+
52
+ ## [0.2.2] - 2020-05-27
53
+
54
+ ### Added
55
+
56
+ - 404 error page.
57
+ - Screenshot image.
58
+
59
+ ## [0.2.0] - 2020-05-27
60
+
61
+ ### Added
62
+
63
+ - This CHANGELOG file.
64
+
65
+ ### Changed
66
+
67
+ - Resume page now being generated with its own JSON file.
68
+
69
+ ### Fixed
70
+
71
+ - Resume years bar color not using color variables
72
+ - Color of home page about section button
73
+ - Task list style
74
+
75
+ ### Removed
76
+
77
+ - Unnecessary files from Jekyll build/serve
78
+
79
+
80
+ [unreleased]: https://github.com/oAGoulart/vitrina/compare/v0.3.1...HEAD
81
+ [0.3.1]: https://github.com/oAGoulart/vitrina/releases/tag/v0.3.1
82
+ [0.3.0]: https://github.com/oAGoulart/vitrina/releases/tag/v0.3.0
83
+ [0.2.8]: https://github.com/oAGoulart/vitrina/releases/tag/v0.2.8
84
+ [0.2.6]: https://github.com/oAGoulart/vitrina/releases/tag/v0.2.6
85
+ [0.2.5]: https://github.com/oAGoulart/vitrina/releases/tag/v0.2.5
86
+ [0.2.4]: https://github.com/oAGoulart/vitrina/releases/tag/v0.2.4
87
+ [0.2.2]: https://github.com/oAGoulart/vitrina/releases/tag/v0.2.2
88
+ [0.2.0]: https://github.com/oAGoulart/vitrina/releases/tag/v0.2.0
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ gem 'github-pages', group: :jekyll_plugins
8
+
9
+ gem 'wdm', '~> 0.1.0' if Gem.win_platform?
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Augusto Goulart
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 all
13
+ 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 THE
21
+ SOFTWARE.
@@ -0,0 +1,501 @@
1
+ [![Vitrina](screenshot.png)]()
2
+
3
+ [![Build Status](https://travis-ci.com/oAGoulart/vitrina.svg?branch=master)](https://travis-ci.com/oAGoulart/vitrina)
4
+ [![Gem](https://img.shields.io/gem/v/vitrina)](https://rubygems.org/gems/vitrina)
5
+ [![Gem](https://img.shields.io/gem/dt/vitrina)](https://rubygems.org/gems/vitrina)
6
+ [![License](https://img.shields.io/badge/license-MIT-informational.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ A general purpose theme for Jekyll made with Bulma.
9
+
10
+ This theme was made with the purpose of being able to generate a site just by editing a few JSON files, this was something I needed for creating multiple pages using scripts.
11
+
12
+ # Summary
13
+
14
+ + [Usage](#usage)
15
+ - [About the layout](#about-the-layout)
16
+ - [General layout](#general-layout)
17
+ + [Header](#header)
18
+ + [Footer](#footer)
19
+ - [Home page layout](#home-page-layout)
20
+ - [Resume page layout](#resume-page-layout)
21
+ - [Structure content](#structure-content)
22
+ - [Links](#links)
23
+ + [Troubleshooting](#troubleshooting)
24
+ + [Contributions](#contributions)
25
+
26
+ # Usage
27
+
28
+ You can use this theme as a template for creating another one or use it as a *Ruby* gem in your project (just like a plugin):
29
+
30
+ ```sh
31
+ gem install vitrina --vendor
32
+ ```
33
+
34
+ If you just want to use this theme for a web site, all you need to do is [change your Jekyll project theme](https://jekyllrb.com/docs/themes/#installing-a-theme).
35
+
36
+ If you need something else the scripts inside `scripts/` may help you out.
37
+
38
+ This theme may be exactly what you need or exactly what you're trying to avoid. So, if using JSON or learning this theme's layout is not what you want, here's some alternatives:
39
+
40
+ + [minimal-mistakes](https://github.com/mmistakes/minimal-mistakes)
41
+ + [beautiful-jekyll](https://github.com/daattali/beautiful-jekyll)
42
+
43
+ ## About the layout
44
+
45
+ There are some layouts at `_layouts` which can be used to create an entire page by just making a markdown page, those include:
46
+
47
+ + blog (this one uses pagination, ext. must be `.html`)
48
+ + contact
49
+ + error
50
+ + home
51
+ + papers
52
+ + post
53
+ + projects
54
+ + resume
55
+
56
+ ```md
57
+ ---
58
+ layout: contact
59
+ title: Contact
60
+ ---
61
+ ```
62
+
63
+ The layout is made by many elements, all elements have global attributes, while some have specific ones.
64
+
65
+ Any element **CAN** have the following global attributes:
66
+
67
+ `style`: any CSS class to be used for styling, can be a Bulma one.
68
+ ```jsonc
69
+ "style": "has-text-danger", // Bulma CSS class
70
+ ```
71
+
72
+ `icon`: is any ForkAwesome icon in the following format:
73
+ ```jsonc
74
+ "icon": {
75
+ "style": "has-text-info", // global attribute
76
+ "name": "fa-feed" // ForkAwesome icon name
77
+ }
78
+ ```
79
+
80
+ ## General layout
81
+
82
+ The file at `_data/general.json` can be used to change the site's navbar and footer layout.
83
+ The `header` is a JSON `object` and the `footer` is an array, see below on how they are structured.
84
+
85
+ ### Header
86
+
87
+ The `header` is divided into two JSON objects, `brand` and `menu`:
88
+
89
+ `brand`: Has the following structure:
90
+ ```jsonc
91
+ {
92
+ "brand": {
93
+ "name": "Brand", // brand name
94
+ "image": "assets/img/logo.png", // path to brand logo
95
+ "link": "" // brand link
96
+ }
97
+ }
98
+ ```
99
+
100
+ `menu`: This is divided in two arrays `start` and `end` both are lists to elements, the first one is the left side of the navbar, while the second is the right side of the navbar.
101
+ These arrays can have the following elements:
102
+
103
+ **buttons:** A list of buttons to be generated.
104
+ ```jsonc
105
+ {
106
+ "type": "buttons", // define this element as being of type buttons
107
+ "content": [ // array of buttons
108
+ {
109
+ "style": "is-info", // global attribute
110
+ "content": "Donate", // button text
111
+ "link": "donate", // button link
112
+ "icon": { // global attribute
113
+ "style": "has-text-success",
114
+ "name": "fa-money"
115
+ }
116
+ }
117
+ ]
118
+ }
119
+ ```
120
+
121
+ **link:** A navbar link:
122
+ ```jsonc
123
+ {
124
+ "style": "has-text-light", // global attribute
125
+ "type": "link", // define this element as link
126
+ "content": "Blog", // link text
127
+ "link": "blog", // link reference
128
+ "icon": { // global attribute
129
+ "style": "has-text-info",
130
+ "name": "fa-feed"
131
+ }
132
+ }
133
+
134
+ ```
135
+
136
+ **text:** A text paragraph:
137
+ ```jsonc
138
+ {
139
+ "style": "has-text-light", // global attribute
140
+ "type": "text", // define this element as text
141
+ "content": "Some potatoes", // text to be shown
142
+ }
143
+
144
+ ```
145
+
146
+ **dropdown:** A dropdown with links:
147
+ ```jsonc
148
+ {
149
+ "type": "dropdown", // define dropdown element
150
+ "content": "More", // dropdown name
151
+ "links": [ // array of links (see above)
152
+ {
153
+ "content": "Contact",
154
+ "link": "contact",
155
+ },
156
+ {
157
+ "divider": true // navbar divider
158
+ }
159
+ // ... more links here ...
160
+ ]
161
+ }
162
+
163
+ ```
164
+
165
+ ### Footer
166
+
167
+ The `footer` is an array that can generate columns, to use them you need to add a Bulma style. Each column has a `content` attribute, which is an array with any elements defined in [structure content](#structure-content).
168
+
169
+ An example of footer would be:
170
+ ```jsonc
171
+ "footer": [
172
+ {
173
+ "style": "is-3", // column of size 3 (see Bulma docs)
174
+ "content": [
175
+ // ... put elements here ...
176
+ ]
177
+ }
178
+ // ... put other columns here ...
179
+ ]
180
+ ```
181
+
182
+ ## Home page layout
183
+
184
+ The home page `_data/home.json` has an array of structures. Those structures are pre-defined elements that can contain many more elements (but not other structures).
185
+
186
+ **hero:** The same as a Bulma hero.
187
+ ```jsonc
188
+ {
189
+ "structure": "hero", // define this structure as a hero
190
+ "name": "Vitrina", // structure name
191
+ "background": "potato.png", // background image
192
+ "content": [
193
+ // ... put the elements here ...
194
+ ]
195
+ }
196
+ ```
197
+
198
+ **level:** A horizontal list of elements:
199
+ ```jsonc
200
+ {
201
+ "structure": "level", // define level structure
202
+ "content": [ // array of items array
203
+ {
204
+ "style": "some-class" // global attribute
205
+ "items": [ // array of elements
206
+ // ... put elements here ...
207
+ ]
208
+ }
209
+ // ... put other items arrays here ...
210
+ ]
211
+ }
212
+ ```
213
+
214
+ **timeline:** A timeline that can be used to display time organized cards:
215
+ ```jsonc
216
+ {
217
+ "structure": "timeline", // define timeline structure
218
+ "title": "Timeline", // timeline title
219
+ "cards": [
220
+ {
221
+ "content": [
222
+ // ... put elements in here ...
223
+ ]
224
+ },
225
+ // ... put more cards here ...
226
+ ]
227
+ }
228
+ ```
229
+
230
+ **section:** A section that can be used for any kind of content (good for text):
231
+ ```jsonc
232
+ {
233
+ "structure": "section", // define section structure
234
+ "title": "About", // section title
235
+ "content": [
236
+ // ... put elements in here ...
237
+ ]
238
+ }
239
+ ```
240
+
241
+ **grid:** A grid of cards that is similar to Pinterest's boards:
242
+ ```jsonc
243
+ {
244
+ "structure": "grid", // define the grid
245
+ "title": "Featured", // grid title
246
+ "cards": [ // array of cards
247
+ {
248
+ "title": "Potatoes", // card title
249
+ "image": "card.png", // card image
250
+ "content": [
251
+ // ... put any elements in here ...
252
+ ]
253
+ }
254
+ // ... put other cards in here ...
255
+ ]
256
+ }
257
+ ```
258
+
259
+ ## Resume page layout
260
+
261
+ The resume page `_data/resume.json` has some strict elements. Those elements are similar to the ones found in [structure content](#structure-content).
262
+
263
+ **photo:** A link to the resume photo.
264
+ ```jsonc
265
+ {
266
+ "photo": "/assets/img/icon.png", // link
267
+ }
268
+ ```
269
+
270
+ **name:** The name of the resume holder.
271
+ ```jsonc
272
+ {
273
+ "name": "Vitrina", // name
274
+ }
275
+ ```
276
+
277
+ **title:** The title of the resume holder.
278
+ ```jsonc
279
+ {
280
+ "title": "Malding Scientist", // title
281
+ }
282
+ ```
283
+
284
+ **skills:** A list of skills bars.
285
+ ```jsonc
286
+ {
287
+ "skills": [
288
+ {
289
+ "icon": "fa-html5", // skill bar icon
290
+ "progress": { // progress bar
291
+ "value": 90, // progress bar current value
292
+ "max": 100 // progress bar maximum value
293
+ }
294
+ }
295
+ // ... more skills here ...
296
+ ]
297
+ }
298
+ ```
299
+
300
+ **profile:** A list of informational sections.
301
+ ```jsonc
302
+ {
303
+ "profile": [ // array of sections
304
+ {
305
+ "title": "Experience", // section title
306
+ "info": [ // array of information
307
+ {
308
+ "years": "1001-1312", // information year
309
+ "text": "Malder", // information text
310
+ "list": [ // array of lines (optional)
311
+ {
312
+ "text": "Achived malding" // line text
313
+ }
314
+ // ... more lines here ...
315
+ ]
316
+ }
317
+ // ... more information here ...
318
+ ]
319
+ }
320
+ // ... more sections here ...
321
+ ]
322
+ }
323
+ ```
324
+
325
+ ## Structure content
326
+
327
+ The elements below can be used inside any structure and inside a few other elements:
328
+
329
+ **buttons:** A list of buttons to be generated.
330
+ ```jsonc
331
+ {
332
+ "type": "buttons", // define buttons element
333
+ "content": [ // array of buttons
334
+ {
335
+ "style": "is-button", // global attribute
336
+ "content": "See more", // button text
337
+ "link": "" // button link
338
+ }
339
+ // ... put more buttons here ...
340
+ ]
341
+ }
342
+ ```
343
+
344
+ **link:** A link:
345
+ ```jsonc
346
+ {
347
+ "style": "is-primary", // global attribute
348
+ "type:" "link" // define link element
349
+ "content": "See my resume", // link text
350
+ "link": "resume" // link reference
351
+ }
352
+ ```
353
+
354
+ **image:** An image:
355
+ ```jsonc
356
+ {
357
+ "type": "image", // define image element
358
+ "name": "Made with Bulma", // image name
359
+ "link": "https://bulma.io", // image link
360
+ "file": "bulma.png", // image file
361
+ "width": "128", // image width
362
+ "height": "24" // image height
363
+ }
364
+ ```
365
+
366
+ **text:** A text paragraph:
367
+ ```jsonc
368
+ {
369
+ "type": "text", // define text element
370
+ "content": "Except" // text to be shown
371
+ }
372
+ ```
373
+
374
+ **icons:** A list of icons:
375
+ ```jsonc
376
+ {
377
+ "style": "is-large", // global attribute
378
+ "type": "icons", // define icons element
379
+ "content": [ // icons array
380
+ {
381
+ "style": "fa-stack-2x", // global attribute
382
+ "name": "fa-university" // ForkAwesome icon
383
+ }
384
+ // ... put more icons here ...
385
+ ]
386
+ }
387
+ ```
388
+
389
+ ## Links
390
+
391
+ The links `_data/links.json` are used to generate contact information for the contact page. They are organized inside an array that can have many links organized as such:
392
+
393
+ ```jsonc
394
+ [ // array
395
+ {
396
+ "reference": "https://twitter.com/", // link reference
397
+ "icon": "fa-twitter" // link icon
398
+ }
399
+ // ... more links here ...
400
+ ]
401
+ ```
402
+
403
+ # Troubleshooting
404
+
405
+ These are some known issues that you may encouter:
406
+
407
+ **Using this theme with GitHub Pages**
408
+ ---
409
+
410
+ > GitHub Pages have strict rules for which Jekyll plugins can be used
411
+ > with that being said [they do permit the use of any Jekyll themes publicly hosted on GitHub](https://github.blog/2017-11-29-use-any-theme-with-github-pages/)
412
+ > to use this theme with GitHub pages add the `remote_theme` config to your `_config.json` with the `oAGoulart/vitrina` value
413
+
414
+ ```yaml
415
+ remote_theme: oAGoulart/vitrina
416
+ theme: vitrina
417
+ ```
418
+
419
+ **Customizing this theme with SCSS**
420
+ ---
421
+
422
+ > to change the theme looks you need to create a file called `assets/css/styles.scss`
423
+ > then use the template below to add your own styles
424
+
425
+ ```scss
426
+ ---
427
+ ---
428
+ @charset "utf-8";
429
+
430
+ // this is the default values for color and font
431
+ @import "customize.scss";
432
+ // ... you can change those and put here your own ...
433
+ // an example would be changing the primary color:
434
+ // $primary: white;
435
+ // that would make all elements that use that color white.
436
+ // you could also use variables:
437
+ // $primary: $white;
438
+
439
+ // these are third party libraries
440
+ @import "_bulma.scss";
441
+ @import "_fork_awesome.scss";
442
+
443
+ // these are the actual theme styles for the elements
444
+ @import "elements.scss";
445
+ @import "code.scss";
446
+ ```
447
+
448
+ **ForkAwesome icons font not found**
449
+ ---
450
+
451
+ > this issue is caused if you do not have the `fork-awesome` node package located under `node_modules/fork-awesome`
452
+ > to fix this you should add `fork-awesome` as a dependency and install it using Yarn
453
+ > also you can download and extract it inside that folder if you prefer
454
+
455
+ ```json
456
+ "dependencies": {
457
+ "fork-awesome": "^1.1.7"
458
+ }
459
+ ```
460
+
461
+ **No repo name found. Specify using PAGES_REPO_NWO environment variables, 'repository' in your configuration, or set up an 'origin' git remote pointing to your github.com repository.**
462
+ ---
463
+
464
+ > this is caused if you don't have a **GitHub** repository setup
465
+ > it is necessary when using `github-pages` gem
466
+
467
+ ```rb
468
+ gem 'github-pages', group: :jekyll_plugins
469
+ ```
470
+
471
+ **Unknown tag 'seo' included in /_layouts/default.html**
472
+ ---
473
+
474
+ > this issue is caused when the plugin `jekyll-seo-tag` is not specified at `_config.json`
475
+
476
+ ```yaml
477
+ plugins:
478
+ - jekyll-seo-tag
479
+ ```
480
+
481
+ **Blank page even when using layouts**
482
+ ---
483
+
484
+ > generally caused by the lack of the `_data` folder and its files
485
+ > also, the contact layout does not have a pre-defined contact form, take a look at `contact.md` for an example
486
+
487
+ ```
488
+ .
489
+ ├── _data
490
+ │ ├── general.json
491
+ │ ├── home.json
492
+ │ ├── links.json
493
+ │ ├── resume.json
494
+ ```
495
+
496
+ ---
497
+
498
+ # Contributions
499
+
500
+ Feel free to leave your contribution here, I would really appreciate it!
501
+ Also, if you have any doubts or troubles using this package just contact me or leave an issue.