Creating Top Page

parent ff7e4214
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,5BF0BBAEDE68ACAE625DE3D8EB9FD570
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
-----END RSA PRIVATE KEY-----
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDf9zILCUjzDNjTvabJe7cudot7kagre+u7dOng83gsWXCHboTAX4Q27nc5CJXAsLa88t1EQuR0xe0NJDHxwXu/I7GiaJLBccg8ju9/a+WhoMbvKAQiLLmKhzUti2YakXLmB4mfBz16aZvYlhr+aAECVn9ohPvJSJ15VG/W6hh8/bWj5K8pyTxS+MDcVkYuCHIATAWIHvIfUiifHWN/fkicryND4hWLp15oWNjVcnBr45APx8mpHjyzNpLxJ3j7EdeTFcZCZ//uiLkN0Zymtmq6FAs3VLGgCSLgoXC1hZkPiepjrhtG76EssILvEyxo7HV5rA8Ge+hXFBanM6ND2nTFyI+ywvPZEWvSPJN4HwgMquj4Q9iET3VPCPUxR0uvVwtSFz0FhDiPRc1pAuxuY/W7Fy16+Vg5Sp8Dz5yPn0gZNJpqVqfTHC1WbOexRrLzCK6BBa7i+mNaMEvCc6gIdF0qqIxaw8v2rTJ1ohQG4e6mn7+7ADTr5O231tqe7vUOP7fpw88t18Rv0wvWg56x/Wh7O942FDbceEN/w3turYU7+CkfwMgt0ylaM0oH80nCkDCAipTuO/1PgMPa37JUThBUtkhQ4tBXmuqenJyk63QbOhC81ufhLcQM2+bdeM/cAuZLYfvpzLKBhggpzUbhQNU6BrL8L3tLs0mNrM1Zei6lKQ== phuocht@zigexn.vn
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
/*!
* Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face {
font-family: 'Font Awesome 5 Brands';
font-style: normal;
font-weight: 400;
font-display: block;
src: url("../webfonts/fa-brands-400.eot");
src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
.fab {
font-family: 'Font Awesome 5 Brands';
font-weight: 400; }
/*!
* Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400}
\ No newline at end of file
html { html {
overflow-y: scroll; overflow-y: scroll;
padding: 0px; padding: 0px;
...@@ -77,4 +76,7 @@ p { ...@@ -77,4 +76,7 @@ p {
height: 100%; height: 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
}
.salary{
color: green;
} }
\ No newline at end of file
/*!
* Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face {
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 400;
font-display: block;
src: url("../webfonts/fa-regular-400.eot");
src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
.far {
font-family: 'Font Awesome 5 Free';
font-weight: 400; }
/*!
* Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400}
\ No newline at end of file
/*!
* Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face {
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 900;
font-display: block;
src: url("../webfonts/fa-solid-900.eot");
src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
.fa,
.fas {
font-family: 'Font Awesome 5 Free';
font-weight: 900; }
/*!
* Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}
\ No newline at end of file
/*!
* Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
svg:not(:root).svg-inline--fa {
overflow: visible; }
.svg-inline--fa {
display: inline-block;
font-size: inherit;
height: 1em;
overflow: visible;
vertical-align: -.125em; }
.svg-inline--fa.fa-lg {
vertical-align: -.225em; }
.svg-inline--fa.fa-w-1 {
width: 0.0625em; }
.svg-inline--fa.fa-w-2 {
width: 0.125em; }
.svg-inline--fa.fa-w-3 {
width: 0.1875em; }
.svg-inline--fa.fa-w-4 {
width: 0.25em; }
.svg-inline--fa.fa-w-5 {
width: 0.3125em; }
.svg-inline--fa.fa-w-6 {
width: 0.375em; }
.svg-inline--fa.fa-w-7 {
width: 0.4375em; }
.svg-inline--fa.fa-w-8 {
width: 0.5em; }
.svg-inline--fa.fa-w-9 {
width: 0.5625em; }
.svg-inline--fa.fa-w-10 {
width: 0.625em; }
.svg-inline--fa.fa-w-11 {
width: 0.6875em; }
.svg-inline--fa.fa-w-12 {
width: 0.75em; }
.svg-inline--fa.fa-w-13 {
width: 0.8125em; }
.svg-inline--fa.fa-w-14 {
width: 0.875em; }
.svg-inline--fa.fa-w-15 {
width: 0.9375em; }
.svg-inline--fa.fa-w-16 {
width: 1em; }
.svg-inline--fa.fa-w-17 {
width: 1.0625em; }
.svg-inline--fa.fa-w-18 {
width: 1.125em; }
.svg-inline--fa.fa-w-19 {
width: 1.1875em; }
.svg-inline--fa.fa-w-20 {
width: 1.25em; }
.svg-inline--fa.fa-pull-left {
margin-right: .3em;
width: auto; }
.svg-inline--fa.fa-pull-right {
margin-left: .3em;
width: auto; }
.svg-inline--fa.fa-border {
height: 1.5em; }
.svg-inline--fa.fa-li {
width: 2em; }
.svg-inline--fa.fa-fw {
width: 1.25em; }
.fa-layers svg.svg-inline--fa {
bottom: 0;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0; }
.fa-layers {
display: inline-block;
height: 1em;
position: relative;
text-align: center;
vertical-align: -.125em;
width: 1em; }
.fa-layers svg.svg-inline--fa {
-webkit-transform-origin: center center;
transform-origin: center center; }
.fa-layers-text, .fa-layers-counter {
display: inline-block;
position: absolute;
text-align: center; }
.fa-layers-text {
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
-webkit-transform-origin: center center;
transform-origin: center center; }
.fa-layers-counter {
background-color: #ff253a;
border-radius: 1em;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: #fff;
height: 1.5em;
line-height: 1;
max-width: 5em;
min-width: 1.5em;
overflow: hidden;
padding: .25em;
right: 0;
text-overflow: ellipsis;
top: 0;
-webkit-transform: scale(0.25);
transform: scale(0.25);
-webkit-transform-origin: top right;
transform-origin: top right; }
.fa-layers-bottom-right {
bottom: 0;
right: 0;
top: auto;
-webkit-transform: scale(0.25);
transform: scale(0.25);
-webkit-transform-origin: bottom right;
transform-origin: bottom right; }
.fa-layers-bottom-left {
bottom: 0;
left: 0;
right: auto;
top: auto;
-webkit-transform: scale(0.25);
transform: scale(0.25);
-webkit-transform-origin: bottom left;
transform-origin: bottom left; }
.fa-layers-top-right {
right: 0;
top: 0;
-webkit-transform: scale(0.25);
transform: scale(0.25);
-webkit-transform-origin: top right;
transform-origin: top right; }
.fa-layers-top-left {
left: 0;
right: auto;
top: 0;
-webkit-transform: scale(0.25);
transform: scale(0.25);
-webkit-transform-origin: top left;
transform-origin: top left; }
.fa-lg {
font-size: 1.33333em;
line-height: 0.75em;
vertical-align: -.0667em; }
.fa-xs {
font-size: .75em; }
.fa-sm {
font-size: .875em; }
.fa-1x {
font-size: 1em; }
.fa-2x {
font-size: 2em; }
.fa-3x {
font-size: 3em; }
.fa-4x {
font-size: 4em; }
.fa-5x {
font-size: 5em; }
.fa-6x {
font-size: 6em; }
.fa-7x {
font-size: 7em; }
.fa-8x {
font-size: 8em; }
.fa-9x {
font-size: 9em; }
.fa-10x {
font-size: 10em; }
.fa-fw {
text-align: center;
width: 1.25em; }
.fa-ul {
list-style-type: none;
margin-left: 2.5em;
padding-left: 0; }
.fa-ul > li {
position: relative; }
.fa-li {
left: -2em;
position: absolute;
text-align: center;
width: 2em;
line-height: inherit; }
.fa-border {
border: solid 0.08em #eee;
border-radius: .1em;
padding: .2em .25em .15em; }
.fa-pull-left {
float: left; }
.fa-pull-right {
float: right; }
.fa.fa-pull-left,
.fas.fa-pull-left,
.far.fa-pull-left,
.fal.fa-pull-left,
.fab.fa-pull-left {
margin-right: .3em; }
.fa.fa-pull-right,
.fas.fa-pull-right,
.far.fa-pull-right,
.fal.fa-pull-right,
.fab.fa-pull-right {
margin-left: .3em; }
.fa-spin {
-webkit-animation: fa-spin 2s infinite linear;
animation: fa-spin 2s infinite linear; }
.fa-pulse {
-webkit-animation: fa-spin 1s infinite steps(8);
animation: fa-spin 1s infinite steps(8); }
@-webkit-keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); }
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg); } }
@keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); }
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg); } }
.fa-rotate-90 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
-webkit-transform: rotate(90deg);
transform: rotate(90deg); }
.fa-rotate-180 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
-webkit-transform: rotate(180deg);
transform: rotate(180deg); }
.fa-rotate-270 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
-webkit-transform: rotate(270deg);
transform: rotate(270deg); }
.fa-flip-horizontal {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
-webkit-transform: scale(-1, 1);
transform: scale(-1, 1); }
.fa-flip-vertical {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
-webkit-transform: scale(1, -1);
transform: scale(1, -1); }
.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
-webkit-transform: scale(-1, -1);
transform: scale(-1, -1); }
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical,
:root .fa-flip-both {
-webkit-filter: none;
filter: none; }
.fa-stack {
display: inline-block;
height: 2em;
position: relative;
width: 2.5em; }
.fa-stack-1x,
.fa-stack-2x {
bottom: 0;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0; }
.svg-inline--fa.fa-stack-1x {
height: 1em;
width: 1.25em; }
.svg-inline--fa.fa-stack-2x {
height: 2em;
width: 2.5em; }
.fa-inverse {
color: #fff; }
.sr-only {
border: 0;
clip: rect(0, 0, 0, 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px; }
.sr-only-focusable:active, .sr-only-focusable:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
width: auto; }
.svg-inline--fa .fa-primary {
fill: var(--fa-primary-color, currentColor);
opacity: 1;
opacity: var(--fa-primary-opacity, 1); }
.svg-inline--fa .fa-secondary {
fill: var(--fa-secondary-color, currentColor);
opacity: 0.4;
opacity: var(--fa-secondary-opacity, 0.4); }
.svg-inline--fa.fa-swap-opacity .fa-primary {
opacity: 0.4;
opacity: var(--fa-secondary-opacity, 0.4); }
.svg-inline--fa.fa-swap-opacity .fa-secondary {
opacity: 1;
opacity: var(--fa-primary-opacity, 1); }
.svg-inline--fa mask .fa-primary,
.svg-inline--fa mask .fa-secondary {
fill: black; }
.fad.fa-inverse {
color: #fff; }
/*!
* Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
.svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fad.fa-inverse{color:#fff}
\ No newline at end of file
class TopPage < ApplicationRecord class TopPage < ApplicationRecord
# scope :limit_job, -> { order('created_at DESC') }
scope :limit_job, -> { order('title DESC') }
# scope :limit_job, order(created_at: :desc).limit(5)
end end
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<ul> <ul>
<div class="title"><strong><%= (@company.find_by(id: job.company_id)).name %></strong></div> <div class="title"><strong><%= (@company.find_by(id: job.company_id)).name %></strong></div>
<%= job.title %> <%= job.title %>
<div class="salary"><em class="fa fa-usd"></em>Lương: <%= job.salary %></div> <div class="salary"><i class="fas fa-dollar-sign"></i>Lương: <%= job.salary %></div>
<div><em class="mdi mdi-map-marker"></em> <div><i class="fas fa-map-marker"></i>
<% job.cities.each do |location| %> <% job.cities.each do |location| %>
<%= location.name %> <%= location.name %>
<% end %> <% end %>
......
...@@ -26,6 +26,6 @@ test: ...@@ -26,6 +26,6 @@ test:
production: production:
<<: *default <<: *default
database: phuociadun database: buildvenjob
username: root username: root
password: 123456 password: 123456
\ No newline at end of file
env :PATH, ENV['PATH'] env :PATH, ENV['PATH']
# every 10.minutes do every 10.minutes do
# rake 'import:auto' rake 'import:auto'
# end end
...@@ -31,17 +31,16 @@ ...@@ -31,17 +31,16 @@
if link.include?('\u2019') if link.include?('\u2019')
link.gsub!('\u2019',"'") link.gsub!('\u2019',"'")
end end
if link == 'javascript:void(0);' next if link == 'javascript:void(0);'
next
elsif link != 'https://careerbuilder.vn/vi/nha-tuyen-dung/hr-vietnam\xE2\x80\x99s-ess-client.35A4EFBA.html' elsif link != 'https://careerbuilder.vn/vi/nha-tuyen-dung/hr-vietnam\xE2\x80\x99s-ess-client.35A4EFBA.html'
company_page = Nokogiri::HTML(URI.open(URI.parse(URI.escape(link)))) company_page = Nokogiri::HTML(URI.open(URI.parse(CGI.escape(link))))
if company_page.search('p.name').text != nil if !(company_page.search('p.name').text).nil?
begin begin
name_company = company_page.search('p.name').text name_company = company_page.search('p.name').text
address_company = company_page.css('div.content p').children[1].text address_company = company_page.css('div.content p').children[1].text
introduction_company = company_page.css('div.main-about-us').text introduction_company = company_page.css('div.main-about-us').text
get_name_company = Company.find_by(name: "#{name_company}") get_name_company = Company.find_by(name: name_company)
if get_name_company == nil if get_name_company.nil?
company = Company.create!(name: name_company, company = Company.create!(name: name_company,
address: address_company, address: address_company,
introduction: introduction_company) introduction: introduction_company)
...@@ -62,7 +61,7 @@ ...@@ -62,7 +61,7 @@
if link.include?('\u2013') if link.include?('\u2013')
link.gsub!('\u2013','–') link.gsub!('\u2013','–')
end end
page_job = Nokogiri::HTML(URI.open(URI.parse(URI.escape(link)))) page_job = Nokogiri::HTML(URI.open(URI.parse(CGI.escape(link))))
get_row = page_job.search('div.bg-blue div.row') get_row = page_job.search('div.bg-blue div.row')
if get_row != "" if get_row != ""
get_name_company = page_job.search('div.job-desc a.job-company-name').text.strip get_name_company = page_job.search('div.job-desc a.job-company-name').text.strip
...@@ -71,7 +70,7 @@ ...@@ -71,7 +70,7 @@
description = page_job.search('div.detail-row') description = page_job.search('div.detail-row')
arr_column = get_row.css('div.has-background').map{ |data| data.text.split(' ').join(' ') } arr_column = get_row.css('div.has-background').map{ |data| data.text.split(' ').join(' ') }
arr_column.each_with_index do | val, key | arr_column.each_with_index do | val, key |
if company_table != nil if !company_table.nil?
if val.include?('Ngày cập nhật') if val.include?('Ngày cập nhật')
arr_data = val.gsub('Ngày cập nhật ','').split(' ') arr_data = val.gsub('Ngày cập nhật ','').split(' ')
date = arr_data.first date = arr_data.first
...@@ -103,7 +102,7 @@ ...@@ -103,7 +102,7 @@
end end
end end
job_table = Job.find_by(title: title_job) job_table = Job.find_by(title: title_job)
if job_table != nil if !job_table.nil?
location_rel = get_row.css('div.map p a').children.map{ |location| location.text.strip } location_rel = get_row.css('div.map p a').children.map{ |location| location.text.strip }
location_rel.each do |loc| location_rel.each do |loc|
city_table = City.find_by(name: "#{loc}") city_table = City.find_by(name: "#{loc}")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment