mekari_lvsg 0.1.0.pre.beta

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 (45) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +30 -0
  4. data/Rakefile +22 -0
  5. data/app/assets/config/mekari_lvsg_manifest.js +2 -0
  6. data/app/assets/javascripts/mekari_lvsg/mekari.js.erb +19 -0
  7. data/app/assets/javascripts/mekari_lvsg/ms_base.js +2 -0
  8. data/app/assets/javascripts/mountain_view/styleguide.js +3 -0
  9. data/app/assets/javascripts/pages/demo.js +4 -0
  10. data/app/assets/stylesheets/mekari_lvsg/components.scss +21 -0
  11. data/app/assets/stylesheets/mekari_lvsg/mekari.css.erb +22 -0
  12. data/app/assets/stylesheets/mekari_lvsg/ms_base.less +3 -0
  13. data/app/assets/stylesheets/mekari_lvsg/ms_base/legacy_variables.less +20 -0
  14. data/app/assets/stylesheets/mekari_lvsg/ms_base/plugins/jquery.daterangepicker.less +4 -0
  15. data/app/assets/stylesheets/mekari_lvsg/ms_base/typography.less +23 -0
  16. data/app/assets/stylesheets/mekari_lvsg/ms_base/variables.less +71 -0
  17. data/app/assets/stylesheets/mekari_lvsg/theme.css +4 -0
  18. data/app/assets/stylesheets/mekari_lvsg/variables.scss +37 -0
  19. data/app/assets/stylesheets/mountain_view/override.less +5 -0
  20. data/app/components/footer/_footer.html.slim +35 -0
  21. data/app/components/footer/footer.js +0 -0
  22. data/app/components/footer/footer.less +150 -0
  23. data/app/components/footer/footer.yml +21 -0
  24. data/app/components/header/_header.html.slim +39 -0
  25. data/app/components/header/header.js +0 -0
  26. data/app/components/header/header.less +132 -0
  27. data/app/components/header/header.yml +80 -0
  28. data/app/components/header/header_component.rb +13 -0
  29. data/app/controllers/mekari_lvsg/application_controller.rb +5 -0
  30. data/app/helpers/mekari_lvsg/application_helper.rb +4 -0
  31. data/app/jobs/mekari_lvsg/application_job.rb +4 -0
  32. data/app/mailers/mekari_lvsg/application_mailer.rb +6 -0
  33. data/app/models/mekari_lvsg/application_record.rb +5 -0
  34. data/app/views/layouts/mekari_lvsg/application.html.slim +13 -0
  35. data/app/views/mountain_view/extra_pages/buttons.html.slim +0 -0
  36. data/app/views/mountain_view/extra_pages/colors.html.slim +0 -0
  37. data/app/views/mountain_view/extra_pages/device_width.html.slim +17 -0
  38. data/app/views/mountain_view/extra_pages/grid.html.slim +0 -0
  39. data/config/routes.rb +4 -0
  40. data/lib/mekari_lvsg.rb +8 -0
  41. data/lib/mekari_lvsg/engine.rb +56 -0
  42. data/lib/mekari_lvsg/version.rb +3 -0
  43. data/lib/mountain_view/presenter/view_context_extension.rb +15 -0
  44. data/lib/tasks/mekari_lvsg_tasks.rake +4 -0
  45. metadata +283 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 5d787270215c233df5e24bd4c77e991462b79d8248c022ac887445fd528967b1
4
+ data.tar.gz: 6d71696a897371677884dce7923dffd1f906a3fca4c11bffaccca374de180625
5
+ SHA512:
6
+ metadata.gz: d6bcb110935ee4e5330b6f8d1b3b3843e21feadc6a58e290ed9e83faad9db1ce842d611c873b6672355fa7132967a89c4b62535f4cadf473b5bc27c841c1ca21
7
+ data.tar.gz: 97d94e1ee683d029edd488e41c15b9ee1b47b97a5e87c533aa5cab8e5316513dc08f06a3d4ae7a803450540c8fec1ad40e0915588e11d7aaa063d8416ae61b91
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2019 Edo Muhardo Syafri
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,30 @@
1
+ # MekariLvsg
2
+ Sample living style guide by using mounting_view as an engine with semantic-ui.
3
+
4
+ Mekari is just name of my current company, it's not related with company existing repository. So, it's free to use!!
5
+
6
+ ## Usage
7
+ How to use my plugin.
8
+
9
+ ## Installation
10
+ Add this line to your application's Gemfile:
11
+
12
+ ```ruby
13
+ gem 'mekari_lvsg'
14
+ ```
15
+
16
+ And then execute:
17
+ ```bash
18
+ $ bundle
19
+ ```
20
+
21
+ Or install it yourself as:
22
+ ```bash
23
+ $ gem install mekari_lvsg
24
+ ```
25
+
26
+ ## Contributing
27
+ Contribution directions go here.
28
+
29
+ ## License
30
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,22 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'MekariLvsg'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
18
+ load 'rails/tasks/engine.rake'
19
+
20
+ load 'rails/tasks/statistics.rake'
21
+
22
+ require 'bundler/gem_tasks'
@@ -0,0 +1,2 @@
1
+ //= link_directory ../javascripts/mekari_lvsg .js
2
+ //= link_directory ../stylesheets/mekari_lvsg .css
@@ -0,0 +1,19 @@
1
+ <% require_asset 'mountain_view/styleguide' %>
2
+
3
+ <% if Dir.exist?(MountainView.configuration.components_path) %>
4
+ <% depend_on MountainView.configuration.components_path.to_s %>
5
+ <%
6
+ Dir.glob(MountainView.configuration.components_path.join('*')).each do |component_dir|
7
+ component = File.basename component_dir
8
+ begin
9
+ require_asset "#{component}/#{component}.js"
10
+ rescue Sprockets::FileNotFound
11
+ Rails.logger.debug("MountainView: javascript not found for component '#{component}'")
12
+ end
13
+ end
14
+ %>
15
+ <% else %>
16
+ <% depend_on Rails.root.join('app').to_s %>
17
+ <% end %>
18
+
19
+ <% require_asset 'mekari_lvsg/ms_base' %>
@@ -0,0 +1,2 @@
1
+ //= require lodash/lodash.custom.min
2
+ //= require lazysizes/lazysizes.min
@@ -0,0 +1,3 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ //= require semantic_ui/semantic_ui
@@ -0,0 +1,4 @@
1
+ $(document).ready(function() {
2
+ toggleProductHighlightMobileOnScroll('.section__hide-product-highlight');
3
+ });
4
+
@@ -0,0 +1,21 @@
1
+ @import 'mekari_lvsg/variables';
2
+
3
+ body.pages {
4
+ background-color: $frosty-grey;
5
+ .headtitle {
6
+ @media (min-width: $computerBreakpoint) {
7
+ width: 62.5%;
8
+ }
9
+ }
10
+ }
11
+
12
+ footer {
13
+ background-color: $navy-blue;
14
+ color: $mercury-grey;
15
+ padding-top: 20px;
16
+ padding-bottom: 20px;
17
+ text-align: center;
18
+ a {
19
+ color: $snow-white;
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ <% MountainView.configuration.included_stylesheets.each do |included_stylesheet| %>
2
+ <%= require_asset included_stylesheet %>
3
+ <% end %>
4
+ <% if Dir.exist?(MountainView.configuration.components_path) %>
5
+ <% depend_on MountainView.configuration.components_path.to_s %>
6
+ <%
7
+ Dir.glob(MountainView.configuration.components_path.join('*')).each do |component_dir|
8
+ component = File.basename component_dir
9
+ begin
10
+ require_asset "#{component}/#{component}.css"
11
+ rescue Sprockets::FileNotFound
12
+ Rails.logger.debug("MountainView: stylesheet not found for component '#{component}'")
13
+ end
14
+ end
15
+ %>
16
+ <% else %>
17
+ <% depend_on Rails.root.join('app').to_s %>
18
+ <% end %>
19
+
20
+ /* adding asset here */
21
+ <% require_asset 'mekari_lvsg/ms_base' %>
22
+ <% require_asset 'mekari_lvsg/components' %>
@@ -0,0 +1,3 @@
1
+ @import "ms_base/variables.less";
2
+ @import "ms_base/typography.less";
3
+ @import "ms_base/plugins/jquery.daterangepicker.less";
@@ -0,0 +1,20 @@
1
+ // -------------------
2
+ // Colors
3
+ // -------------------
4
+
5
+ // green
6
+ @mint-green: #8cba00;
7
+
8
+ // blue
9
+ @ash-blue: #6581a1;
10
+ @dark-ash-blue: #34495e;
11
+ @darker-ash-blue: #21364a;
12
+ @sea-blue: #3498db;
13
+
14
+ // grey
15
+ @grey: #bfc6c6;
16
+ @dark-grey: #7f8c8d;
17
+ @darkest-grey: #555555;
18
+
19
+ // red
20
+ @tomato-red: #e74c3c;
@@ -0,0 +1,4 @@
1
+ body .date-picker-wrapper {
2
+ font-family: @pageFont;
3
+ z-index: 2;
4
+ }
@@ -0,0 +1,23 @@
1
+ // Typekit
2
+
3
+ // Rocketship Font
4
+ // Kit ID: cnc8rvf
5
+
6
+ // Domains:
7
+ // localhost,
8
+ // 127.0.0.1,
9
+ // *.moneysmart.co,
10
+ // *.moneysmart.sg,
11
+ // *.moneysmart.hk
12
+
13
+ // Light (27kb), Semi-bold (29kb)
14
+
15
+ @import url("https://use.typekit.net/cnc8rvf.css");
16
+ @import "font-awesome-sprockets";
17
+ @import "font-awesome";
18
+
19
+ // antialias
20
+ body {
21
+ -webkit-font-smoothing: antialiased;
22
+ -moz-osx-font-smoothing: grayscale;
23
+ }
@@ -0,0 +1,71 @@
1
+ // -------------------
2
+ // Fonts
3
+ // -------------------
4
+
5
+ @pageFont: 'sofia-pro', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Fira Sans', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
6
+
7
+ // -------------------
8
+ // Colors
9
+ // -------------------
10
+
11
+ // White
12
+ @snow-white: #fff;
13
+
14
+ // Grey
15
+ @frosty-grey: #f1f1f1;
16
+ @line-grey: #ebebeb;
17
+ @gradient-grey: #f7f7f7;
18
+ @mercury-grey: #ccc;
19
+ @pepper-grey: #333;
20
+ @slate-grey: #808080;
21
+
22
+ // Blue
23
+ @dark-blue: #17324c;
24
+ @marine-blue: #0044dd;
25
+ @marine-shadow: #0025c6;
26
+ @navy-blue: #0036dc;
27
+ @shallow-blue: #6e8ddb;
28
+ @true-blue: #21405f;
29
+
30
+ // Green
31
+ @promo-green: #f0faf0;
32
+ @smart-green: #5ccc5e;
33
+ @text-green: #55c05a;
34
+
35
+ // Yellow
36
+ @epic-yellow: #ffd100;
37
+
38
+ // Red
39
+ @pome-red: #e83819;
40
+ @vibrant-red: #f55335;
41
+ @vivid-tangerine: #ff917d;
42
+
43
+ // Others
44
+ @fresh-cyan: #00d7e1;
45
+ @trusty-peach: #ff917d;
46
+
47
+ // Box Shadows
48
+ @default-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.07);
49
+ @darker-box-shadow: 0 -2px 8px 0 rgba(0, 0, 0, 0.21);
50
+ @hover-box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.14);
51
+
52
+ // Border Shadows
53
+ @light-shadow: rgba(0, 0, 0, 0.1);
54
+
55
+
56
+ // -------------------
57
+ // Responsive
58
+ // -------------------
59
+
60
+ // Breakpoints
61
+ @mobileBreakpoint : 320px;
62
+ @tabletBreakpoint : 768px;
63
+ @computerBreakpoint : 992px;
64
+ @largeMonitorBreakpoint : 1200px;
65
+ @widescreenMonitorBreakpoint : 1920px;
66
+
67
+ // Media Query
68
+ @largestMobileScreen : (@tabletBreakpoint - 1px);
69
+ @largestTabletScreen : (@computerBreakpoint - 1px);
70
+ @largestSmallMonitor : (@largeMonitorBreakpoint - 1px);
71
+ @largestLargeMonitor : (@widescreenMonitorBreakpoint - 1px);
@@ -0,0 +1,4 @@
1
+ /*
2
+ *= require semantic_ui/semantic_ui
3
+ *= require mountain_view/override
4
+ */
@@ -0,0 +1,37 @@
1
+ // Grey
2
+ $frosty-grey: #f1f1f1;
3
+ $gradient-grey: #f7f7f7;
4
+ $line-grey: #ebebeb;
5
+ $mercury-grey: #ccc;
6
+ $pepper-grey: #333;
7
+ $slate-grey: #808080;
8
+
9
+ // Blue
10
+ $marine-blue: #04d;
11
+ $navy-blue: #21364a;
12
+
13
+ $epic-yellow: #ffd100;
14
+ $snow-white: #fff;
15
+
16
+ // Box shadow color
17
+ $box-shadow-color: rgba(0, 0, 0, 0.07);
18
+ $darker-box-shadow: 0 -2px 8px 0 rgba(0, 0, 0, 0.21);
19
+ $darker-bottom-box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.21);
20
+
21
+ // Green
22
+ $promo-green: #f0faf0;
23
+ $smart-green: #5ccc5e;
24
+ $text-green: #55c05a;
25
+
26
+ // Screen Size Breakpoints
27
+ $mobileBreakpoint: 320px;
28
+ $tabletBreakpoint: 768px;
29
+ $computerBreakpoint: 992px;
30
+ $largeMonitorBreakpoint: 1200px;
31
+ $widescreenMonitorBreakpoint: 1920px;
32
+
33
+ // Calculated Screen sizes
34
+ $largestMobileScreen: ($tabletBreakpoint - 1px);
35
+ $largestTabletScreen: ($computerBreakpoint - 1px);
36
+ $largestSmallMonitor: ($largeMonitorBreakpoint - 1px);
37
+ $largestLargeMonitor: ($widescreenMonitorBreakpoint - 1px);
@@ -0,0 +1,5 @@
1
+ @import "mekari_lvsg/ms_base/typography";
2
+
3
+ .mv-main {
4
+ background-color: #eee;
5
+ }
@@ -0,0 +1,35 @@
1
+ .footer
2
+ .footer-top
3
+ .ui.container
4
+ .ui.divided.equal.height.stackable.grid
5
+ .footer-top__container.three.wide.column
6
+ .footer-top__logo
7
+ a.logo__link href=(properties[:footer_logo_link])
8
+ = image_tag properties[:footer_logo_path], alt: properties[:footer_logo_alt]
9
+
10
+ .footer-top__container.ten.wide.column
11
+ .footer-top__menu.ui.menu.horizontal.stackable
12
+ - (properties[:footer_nav_items] || []).each do |footer_nav_item|
13
+ .item
14
+ a href=(footer_nav_item[:url]) data-purpose=(footer_nav_item.dig(:data, :purpose))
15
+ = footer_nav_item[:name]
16
+
17
+ .footer-top__container.three.wide.column
18
+ .footer-top__social
19
+ span.social__text = properties[:footer_social]
20
+ a.social__icon target="_blank" href=(properties[:footer_social_fb])
21
+ i.facebook.icon
22
+ a.social__icon target="_blank" href=(properties[:footer_social_tw])
23
+ i.twitter.square.icon
24
+
25
+ .footer-bottom
26
+ .ui.container
27
+ .ui.grid
28
+ .footer-bottom__text.sixteen.wide.column
29
+ | &copy; #{ Date.today.year }&nbsp;
30
+ = properties[:copyright]
31
+ a.footer-bottom__terms target="_blank" href=properties[:term_path]
32
+ = properties[:term_text]
33
+ = properties[:and]
34
+ a.footer-bottom__policy target="_blank" href=properties[:privacy_path]
35
+ = properties[:privacy_text]
File without changes
@@ -0,0 +1,150 @@
1
+ @import "mekari_lvsg/ms_base/variables.less";
2
+
3
+ .footer-top {
4
+ background-color: @true-blue;
5
+
6
+ @media only screen and (min-width: @computerBreakpoint) {
7
+ padding-top: 34px;
8
+ padding-bottom: 38px;
9
+ }
10
+
11
+ @media only screen and (max-width: @largestMobileScreen) {
12
+ padding: 2rem 0;
13
+ }
14
+
15
+ @media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
16
+ padding: 50px 0;
17
+
18
+ &__social {
19
+ display: flex;
20
+ }
21
+ }
22
+
23
+ &__container {
24
+ padding: 1rem;
25
+
26
+ @media only screen and (max-width: @largestTabletScreen) {
27
+ width: 100%;
28
+ }
29
+ }
30
+
31
+ &__menu {
32
+ a {
33
+ color: @snow-white;
34
+ font-size: 16px;
35
+ font-weight: 600;
36
+
37
+ &:hover,
38
+ &:active {
39
+ color: @smart-green;
40
+ }
41
+ }
42
+
43
+ @media only screen and (max-width: @largestMobileScreen) {
44
+ &.ui.menu {
45
+ .item {
46
+ padding: 0 0 12px;
47
+
48
+ &:last-child {
49
+ padding-bottom: 0;
50
+ }
51
+ }
52
+ }
53
+ }
54
+
55
+ @media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
56
+ &.ui.menu {
57
+ .item {
58
+ padding-top: 0;
59
+ padding-bottom: 0;
60
+
61
+ &:first-child {
62
+ padding-left: 0;
63
+ }
64
+ }
65
+ }
66
+ }
67
+ }
68
+
69
+ &__social {
70
+ .social {
71
+ &__text {
72
+ color: @mercury-grey;
73
+ font-size: 16px;
74
+ font-weight: 300;
75
+ margin-right: 15px;
76
+ }
77
+ &__icon {
78
+ color: @snow-white;
79
+ font-size: 30px;
80
+ @media only screen and (min-width: @computerBreakpoint) {
81
+ position: relative;
82
+ top: 3px;
83
+ }
84
+ &.active,
85
+ &:hover {
86
+ color: @smart-green;
87
+ }
88
+ }
89
+ }
90
+
91
+ @media only screen and (max-width: @largestMobileScreen) {
92
+ display: flex
93
+ }
94
+
95
+ @media only screen and (min-width: @computerBreakpoint) {
96
+ display: flex;
97
+ align-items: center;
98
+ padding: 8px 0;
99
+ }
100
+ }
101
+ }
102
+
103
+ .footer-bottom {
104
+ background-color: @dark-blue;
105
+ text-align: center;
106
+
107
+ &__text {
108
+ color: @mercury-grey;
109
+ font-size: 16px;
110
+ line-height: 20px;
111
+ font-weight: 300;
112
+
113
+ a {
114
+ color: @snow-white;
115
+ font-weight: 600;
116
+ &:hover,
117
+ &:active {
118
+ color: @smart-green;
119
+ }
120
+ }
121
+ }
122
+ }
123
+
124
+ @media only screen and (min-width: @computerBreakpoint) {
125
+ .footer-bottom {
126
+ &__text {
127
+ margin-bottom: 20px;
128
+ margin-top: 8px;
129
+ }
130
+ }
131
+ }
132
+
133
+ @media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
134
+ .ui.grid {
135
+ .footer-bottom__text.column {
136
+ margin-bottom : 15px;
137
+ }
138
+ }
139
+
140
+ .footer-top {
141
+ .ui > .grid {
142
+ margin: 0;
143
+
144
+ .column {
145
+ padding-top: 0;
146
+ padding-bottom: 0;
147
+ }
148
+ }
149
+ }
150
+ }