Showing
26 changed files
with
159 additions
and
45 deletions
... | @@ -24,7 +24,7 @@ | ... | @@ -24,7 +24,7 @@ |
24 | 또한, 원본 알고리즘은 웜톤과 쿨톤의 스탠다드 값을 연예인들의 이미지를 학습시켜 평균치를 구했는데, 본래 이미지를 통해서 확인하는 퍼스널 컬러는 조명, 화이트 밸런스, 화장 여부 등에 의해 영향을 많이 받기 때문에 이 부분을 수정하였습니다. 퍼스널 컬러 대표 색 이미지들의 Lab b값을 training시켜, 그 평균치를 스탠다드 값으로 업데이트 하였습니다. | 24 | 또한, 원본 알고리즘은 웜톤과 쿨톤의 스탠다드 값을 연예인들의 이미지를 학습시켜 평균치를 구했는데, 본래 이미지를 통해서 확인하는 퍼스널 컬러는 조명, 화이트 밸런스, 화장 여부 등에 의해 영향을 많이 받기 때문에 이 부분을 수정하였습니다. 퍼스널 컬러 대표 색 이미지들의 Lab b값을 training시켜, 그 평균치를 스탠다드 값으로 업데이트 하였습니다. |
25 | 25 | ||
26 | # 빌드 방법 | 26 | # 빌드 방법 |
27 | -## https://find-your-color.netlify.app/ | 27 | +## http://www.find-your-color.ml |
28 | 28 | ||
29 | # 사용 방법 | 29 | # 사용 방법 |
30 | 30 | ... | ... |
1 | <link rel= "stylesheet" type="text/css" href="css.css"> | 1 | <link rel= "stylesheet" type="text/css" href="css.css"> |
2 | <script class="jsbin" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> | 2 | <script class="jsbin" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> |
3 | +<h2><center><br><strong>이미지 업로드</strong></center></h2> | ||
3 | <div class="file-upload"> | 4 | <div class="file-upload"> |
4 | <button class="file-upload-btn" type="button" onclick="$('.file-upload-input').trigger( 'click' )">Add Image</button> | 5 | <button class="file-upload-btn" type="button" onclick="$('.file-upload-input').trigger( 'click' )">Add Image</button> |
5 | 6 | ||
... | @@ -17,41 +18,4 @@ | ... | @@ -17,41 +18,4 @@ |
17 | </div> | 18 | </div> |
18 | </div> | 19 | </div> |
19 | 20 | ||
20 | -<h5><center>Copyright (c) 2020 by Aaron Vanston (https://codepen.io/aaronvanston/pen/yNYOXR)</center></h5> | ||
21 | - | ||
22 | -<script> | ||
23 | -function readURL(input) { | ||
24 | - if (input.files && input.files[0]) { | ||
25 | - | ||
26 | - var reader = new FileReader(); | ||
27 | - | ||
28 | - reader.onload = function(e) { | ||
29 | - $('.image-upload-wrap').hide(); | ||
30 | - | ||
31 | - $('.file-upload-image').attr('src', e.target.result); | ||
32 | - $('.file-upload-content').show(); | ||
33 | - | ||
34 | - $('.image-title').html(input.files[0].name); | ||
35 | - }; | ||
36 | - | ||
37 | - reader.readAsDataURL(input.files[0]); | ||
38 | - | ||
39 | - } else { | ||
40 | - removeUpload(); | ||
41 | - } | ||
42 | -} | ||
43 | - | ||
44 | -function removeUpload() { | ||
45 | - $('.file-upload-input').replaceWith($('.file-upload-input').clone()); | ||
46 | - $('.file-upload-content').hide(); | ||
47 | - $('.image-upload-wrap').show(); | ||
48 | -} | ||
49 | -$('.image-upload-wrap').bind('dragover', function () { | ||
50 | - $('.image-upload-wrap').addClass('image-dropping'); | ||
51 | - }); | ||
52 | - $('.image-upload-wrap').bind('dragleave', function () { | ||
53 | - $('.image-upload-wrap').removeClass('image-dropping'); | ||
54 | -}); | ||
55 | - | ||
56 | - | ||
57 | -</script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
21 | +<h5><center>Copyright (c) 2020 by Aaron Vanston</center></h5> | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
This diff could not be displayed because it is too large.
... | @@ -157,7 +157,7 @@ a:focus { | ... | @@ -157,7 +157,7 @@ a:focus { |
157 | 157 | ||
158 | .tm-hero-text-container { | 158 | .tm-hero-text-container { |
159 | width: 100%; | 159 | width: 100%; |
160 | - height: 100%; | 160 | + height: 110%; |
161 | display: flex; | 161 | display: flex; |
162 | flex-flow: column; | 162 | flex-flow: column; |
163 | justify-content: center; | 163 | justify-content: center; |
... | @@ -217,8 +217,8 @@ a:focus { | ... | @@ -217,8 +217,8 @@ a:focus { |
217 | } | 217 | } |
218 | 218 | ||
219 | .tm-intro-text { | 219 | .tm-intro-text { |
220 | - font-size: 1.2rem; | 220 | + font-size: 1rem; |
221 | - line-height: 1.4; | 221 | + line-height: 1.5; |
222 | } | 222 | } |
223 | 223 | ||
224 | .tm-icon { | 224 | .tm-icon { |
... | @@ -232,7 +232,7 @@ a:focus { | ... | @@ -232,7 +232,7 @@ a:focus { |
232 | .tm-work-description { | 232 | .tm-work-description { |
233 | max-width: 650px; | 233 | max-width: 650px; |
234 | width: 100%; | 234 | width: 100%; |
235 | - font-size: 0.9rem; | 235 | + font-size: 1.2rem; |
236 | } | 236 | } |
237 | 237 | ||
238 | .tm-gallery-container { | 238 | .tm-gallery-container { |
... | @@ -408,7 +408,7 @@ figure.effect-honey:hover h2 i { | ... | @@ -408,7 +408,7 @@ figure.effect-honey:hover h2 i { |
408 | 408 | ||
409 | #contact { | 409 | #contact { |
410 | color: white; | 410 | color: white; |
411 | - background-image: url(../img/the-town-bg-02.jpg); | 411 | + background-image: url(../img/color.jpg); |
412 | background-position: center; | 412 | background-position: center; |
413 | background-repeat: no-repeat; | 413 | background-repeat: no-repeat; |
414 | min-height: 850px; | 414 | min-height: 850px; | ... | ... |
personal/img/gallery-img-01.jpg
deleted
100644 → 0

105 KB
personal/img/gallery-img-02.jpg
deleted
100644 → 0

88.5 KB
personal/img/gallery-img-03.jpg
deleted
100644 → 0

140 KB
personal/img/gallery-img-04.jpg
deleted
100644 → 0

74 KB
personal/img/gallery-img-05.jpg
deleted
100644 → 0

73 KB
personal/img/gallery-img-06.jpg
deleted
100644 → 0

119 KB
personal/img/gallery-tn-01.jpg
deleted
100644 → 0

33.3 KB
personal/img/gallery-tn-02.jpg
deleted
100644 → 0

27.1 KB
personal/img/gallery-tn-03.jpg
deleted
100644 → 0

38.4 KB
personal/img/gallery-tn-04.jpg
deleted
100644 → 0

21.7 KB
personal/img/gallery-tn-05.jpg
deleted
100644 → 0

22.4 KB
personal/img/gallery-tn-06.jpg
deleted
100644 → 0

33.5 KB
personal/img/main2.jpg
0 → 100644

538 KB
personal/img/the-town-01.jpg
deleted
100644 → 0

84.1 KB
personal/img/the-town-bg-01.jpg
deleted
100644 → 0

138 KB
personal/img/the-town-bg-02.jpg
deleted
100644 → 0

122 KB
This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
... | @@ -5,4 +5,154 @@ | ... | @@ -5,4 +5,154 @@ |
5 | * @author Chris Wojcik | 5 | * @author Chris Wojcik |
6 | * @version 1.2.1 | 6 | * @version 1.2.1 |
7 | */ | 7 | */ |
8 | -"function"!=typeof Object.create&&(Object.create=function(a){function b(){}return b.prototype=a,new b}),function(a,b,c,d){"use strict";var e={init:function(c,d){this.options=a.extend({},a.fn.singlePageNav.defaults,c),this.container=d,this.$container=a(d),this.$links=this.$container.find("a"),""!==this.options.filter&&(this.$links=this.$links.filter(this.options.filter)),this.$window=a(b),this.$htmlbody=a("html, body"),this.$links.on("click.singlePageNav",a.proxy(this.handleClick,this)),this.didScroll=!1,this.checkPosition(),this.setTimer()},handleClick:function(b){var c=this,d=b.currentTarget,e=a(d.hash);b.preventDefault(),e.length&&(c.clearTimer(),"function"==typeof c.options.beforeStart&&c.options.beforeStart(),c.setActiveLink(d.hash),c.scrollTo(e,function(){c.options.updateHash&&history.pushState&&history.pushState(null,null,d.hash),c.setTimer(),"function"==typeof c.options.onComplete&&c.options.onComplete()}))},scrollTo:function(a,b){var c=this,d=c.getCoords(a).top,e=!1;c.$htmlbody.stop().animate({scrollTop:d},{duration:c.options.speed,easing:c.options.easing,complete:function(){"function"!=typeof b||e||b(),e=!0}})},setTimer:function(){var a=this;a.$window.on("scroll.singlePageNav",function(){a.didScroll=!0}),a.timer=setInterval(function(){a.didScroll&&(a.didScroll=!1,a.checkPosition())},250)},clearTimer:function(){clearInterval(this.timer),this.$window.off("scroll.singlePageNav"),this.didScroll=!1},checkPosition:function(){var a=this.$window.scrollTop(),b=this.getCurrentSection(a);null!==b&&this.setActiveLink(b)},getCoords:function(a){return{top:Math.round(a.offset().top)-this.options.offset}},setActiveLink:function(a){var b=this.$container.find("a[href$='"+a+"']");b.hasClass(this.options.currentClass)||(this.$links.removeClass(this.options.currentClass),b.addClass(this.options.currentClass))},getCurrentSection:function(d){var e,f,g,h;for(e=0;e<this.$links.length;e++)f=this.$links[e].hash,a(f).length&&(g=this.getCoords(a(f)),d>=g.top-this.options.threshold&&(h=f));var i=a(c).height()-a(b).height();if(d==i){var j=this.$links.length;j>0&&(h=this.$links[j-1].hash)}return h||(0===this.$links.length?null:this.$links[0].hash)}};a.fn.singlePageNav=function(a){return this.each(function(){var b=Object.create(e);b.init(a,this)})},a.fn.singlePageNav.defaults={offset:0,threshold:120,speed:400,currentClass:"current",easing:"swing",updateHash:!1,filter:"",onComplete:!1,beforeStart:!1}}(jQuery,window,document); | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
8 | +"function" != typeof Object.create && (Object.create = function (a) { | ||
9 | + function b() {} | ||
10 | + return b.prototype = a, | ||
11 | + new b | ||
12 | +}), | ||
13 | +function (a, b, c, d) { | ||
14 | + "use strict"; | ||
15 | + var e = { | ||
16 | + init: function (c, d) { | ||
17 | + this.options = a.extend({}, a.fn.singlePageNav.defaults, c), | ||
18 | + this.container = d, | ||
19 | + this.$container = a(d), | ||
20 | + this.$links = this | ||
21 | + .$container | ||
22 | + .find("a"), | ||
23 | + "" !== this.options.filter && ( | ||
24 | + this.$links = this.$links.filter(this.options.filter) | ||
25 | + ), | ||
26 | + this.$window = a(b), | ||
27 | + this.$htmlbody = a("html, body"), | ||
28 | + this | ||
29 | + .$links | ||
30 | + .on("click.singlePageNav", a.proxy(this.handleClick, this)), | ||
31 | + this.didScroll = !1, | ||
32 | + this.checkPosition(), | ||
33 | + this.setTimer() | ||
34 | + }, | ||
35 | + handleClick: function (b) { | ||
36 | + var c = this, | ||
37 | + d = b.currentTarget, | ||
38 | + e = a(d.hash); | ||
39 | + b.preventDefault(), | ||
40 | + e.length && ( | ||
41 | + c.clearTimer(), | ||
42 | + "function" == typeof c.options.beforeStart && c.options.beforeStart(), | ||
43 | + c.setActiveLink(d.hash), | ||
44 | + c.scrollTo(e, function () { | ||
45 | + c.options.updateHash && history.pushState && history.pushState( | ||
46 | + null, | ||
47 | + null, | ||
48 | + d.hash | ||
49 | + ), | ||
50 | + c.setTimer(), | ||
51 | + "function" == typeof c.options.onComplete && c | ||
52 | + .options | ||
53 | + .onComplete() | ||
54 | + }) | ||
55 | + ) | ||
56 | + }, | ||
57 | + scrollTo: function (a, b) { | ||
58 | + var c = this, | ||
59 | + d = c | ||
60 | + .getCoords(a) | ||
61 | + .top, | ||
62 | + e = !1; | ||
63 | + c | ||
64 | + .$htmlbody | ||
65 | + .stop() | ||
66 | + .animate({ | ||
67 | + scrollTop: d | ||
68 | + }, { | ||
69 | + duration: c.options.speed, | ||
70 | + easing: c.options.easing, | ||
71 | + complete: function () { | ||
72 | + "function" != typeof b || e || b(), | ||
73 | + e = !0 | ||
74 | + } | ||
75 | + }) | ||
76 | + }, | ||
77 | + setTimer: function () { | ||
78 | + var a = this; | ||
79 | + a | ||
80 | + .$window | ||
81 | + .on("scroll.singlePageNav", function () { | ||
82 | + a.didScroll = !0 | ||
83 | + }), | ||
84 | + a.timer = setInterval(function () { | ||
85 | + a.didScroll && (a.didScroll = !1, a.checkPosition()) | ||
86 | + }, 250) | ||
87 | + }, | ||
88 | + clearTimer: function () { | ||
89 | + clearInterval(this.timer), | ||
90 | + this | ||
91 | + .$window | ||
92 | + .off("scroll.singlePageNav"), | ||
93 | + this.didScroll = !1 | ||
94 | + }, | ||
95 | + checkPosition: function () { | ||
96 | + var a = this | ||
97 | + .$window | ||
98 | + .scrollTop(), | ||
99 | + b = this.getCurrentSection(a); | ||
100 | + null !== b && this.setActiveLink(b) | ||
101 | + }, | ||
102 | + getCoords: function (a) { | ||
103 | + return { | ||
104 | + top: Math.round(a.offset().top) - this.options.offset | ||
105 | + } | ||
106 | + }, | ||
107 | + setActiveLink: function (a) { | ||
108 | + var b = this | ||
109 | + .$container | ||
110 | + .find("a[href$='" + a + "']"); | ||
111 | + b.hasClass(this.options.currentClass) || ( | ||
112 | + this.$links.removeClass(this.options.currentClass), | ||
113 | + b.addClass(this.options.currentClass) | ||
114 | + ) | ||
115 | + }, | ||
116 | + getCurrentSection: function (d) { | ||
117 | + var e, | ||
118 | + f, | ||
119 | + g, | ||
120 | + h; | ||
121 | + for (e = 0; e < this.$links.length; e++) | ||
122 | + f = this | ||
123 | + .$links[e] | ||
124 | + .hash, | ||
125 | + a(f).length && ( | ||
126 | + g = this.getCoords(a(f)), | ||
127 | + d >= g.top - this.options.threshold && (h = f) | ||
128 | + ); | ||
129 | + var i = a(c).height() - a(b).height(); | ||
130 | + if (d == i) { | ||
131 | + var j = this.$links.length; | ||
132 | + j > 0 && (h = this.$links[j - 1].hash) | ||
133 | + } | ||
134 | + return h || ( | ||
135 | + 0 === this.$links.length | ||
136 | + ? null | ||
137 | + : this.$links[0].hash | ||
138 | + ) | ||
139 | + } | ||
140 | + }; | ||
141 | + a.fn.singlePageNav = function (a) { | ||
142 | + return this.each(function () { | ||
143 | + var b = Object.create(e); | ||
144 | + b.init(a, this) | ||
145 | + }) | ||
146 | + }, | ||
147 | + a.fn.singlePageNav.defaults = { | ||
148 | + offset: 0, | ||
149 | + threshold: 120, | ||
150 | + speed: 400, | ||
151 | + currentClass: "current", | ||
152 | + easing: "swing", | ||
153 | + updateHash: !1, | ||
154 | + filter: "", | ||
155 | + onComplete: !1, | ||
156 | + beforeStart: !1 | ||
157 | + } | ||
158 | +}(jQuery, window, document); | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
This diff is collapsed. Click to expand it.
-
Please register or login to post a comment