API improves
This commit is contained in:
parent
4365147a40
commit
3058904fd2
@ -192,7 +192,7 @@ $(document).ready(function() {
|
||||
|
||||
// Check file size ?
|
||||
// Check file type/extension ?
|
||||
|
||||
$("#jsbluditProgressBar").removeClass().addClass("progress-bar bg-primary");
|
||||
$("#jsbluditProgressBar").width("0");
|
||||
|
||||
// Data to send via AJAX
|
||||
@ -222,11 +222,11 @@ $(document).ready(function() {
|
||||
}
|
||||
}).done(function(data) {
|
||||
if (data.status==0) {
|
||||
$("#jsbluditProgressBar").width("0");
|
||||
$("#jsbluditProgressBar").removeClass("bg-primary").addClass("bg-success");
|
||||
// Get the files for the first page, this include the files uploaded
|
||||
getFiles(1);
|
||||
} else {
|
||||
$("#jsbluditProgressBar").width("0");
|
||||
$("#jsbluditProgressBar").removeClass("bg-primary").addClass("bg-danger");
|
||||
showMediaAlert(data.message);
|
||||
}
|
||||
});
|
||||
|
@ -52,4 +52,4 @@ a:hover {
|
||||
background-color: #d44545;
|
||||
border-left: 6px solid #ff9c9c !important;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,13 @@
|
||||
html {
|
||||
height: 100%;
|
||||
font-size: 0.9rem;
|
||||
background: #fcfcfc;
|
||||
}
|
||||
|
||||
body {
|
||||
background: #fcfcfc;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
margin: 0px;
|
||||
display: flex;
|
||||
background: #fdfdfd;
|
||||
}
|
||||
|
||||
/* LOGIN */
|
||||
@ -15,7 +17,70 @@ body.login {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#editor {
|
||||
background: #fcfcfc;
|
||||
border: none;
|
||||
/* TOOLBAR */
|
||||
#toolbar {
|
||||
font-size: 14px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
text-shadow: 2px 2px 3px rgba(255,255,255,0.1);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#message {
|
||||
color: rgba(36, 122, 43, 0.77);
|
||||
}
|
||||
|
||||
/* EDITOR */
|
||||
div.editor-container {
|
||||
margin: 0 auto;
|
||||
background: #fdfdfd;
|
||||
}
|
||||
|
||||
/* TAGS */
|
||||
div.tags-list {
|
||||
background: #333;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#currentTags li.list-group-item {
|
||||
background: none;
|
||||
color: #ccc;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
padding: 5px 15px;
|
||||
}
|
||||
|
||||
#currentTags li.list-group-item:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#currentTags li.tagSelected {
|
||||
background: #334E6A;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* PAGES */
|
||||
div.pages-list {
|
||||
background: #f7f7f7;
|
||||
}
|
||||
|
||||
#currentPages li.list-group-item {
|
||||
background: none;
|
||||
color: #333;
|
||||
border-right: 3px solid #f7f7f7;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#currentPages li.list-group-item:hover {
|
||||
color: #000;
|
||||
border-right: 3px solid #ccc;
|
||||
}
|
||||
|
||||
#currentPages li.pageSelected {
|
||||
color: #000;
|
||||
border-right: 3px solid #ccc;
|
||||
}
|
||||
|
||||
div.pageItemContent {
|
||||
color: #828282;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
@ -1,4 +1,6 @@
|
||||
.CodeMirror {
|
||||
background: #fcfcfc;
|
||||
border: none;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
background: #fdfdfd;
|
||||
}
|
BIN
bl-kernel/admin/themes/grizzly/css/line-awesome.zip
Normal file
BIN
bl-kernel/admin/themes/grizzly/css/line-awesome.zip
Normal file
Binary file not shown.
@ -0,0 +1,845 @@
|
||||
/*!
|
||||
* Line Awesome 1.1.0 by @icons_8 - https://icons8.com/line-awesome
|
||||
* License - https://icons8.com/good-boy-license/ (Font: SIL OFL 1.1, CSS: MIT License)
|
||||
*
|
||||
* Made with love by Icons8 [ https://icons8.com/ ] using FontCustom [ https://github.com/FontCustom/fontcustom ]
|
||||
*
|
||||
* Contacts:
|
||||
* [ https://icons8.com/contact ]
|
||||
*
|
||||
* Follow Icon8 on
|
||||
* Twitter [ https://twitter.com/icons_8 ]
|
||||
* Facebook [ https://www.facebook.com/Icons8 ]
|
||||
* Google+ [ https://plus.google.com/+Icons8 ]
|
||||
* GitHub [ https://github.com/icons8 ]
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: "FontAwesome";
|
||||
src: url("../fonts/line-awesome.eot?v=1.1.");
|
||||
src: url("../fonts/line-awesome.eot??v=1.1.#iefix") format("embedded-opentype"),
|
||||
url("../fonts/line-awesome.woff2?v=1.1.") format("woff2"),
|
||||
url("../fonts/line-awesome.woff?v=1.1.") format("woff"),
|
||||
url("../fonts/line-awesome.ttf?v=1.1.") format("truetype"),
|
||||
url("../fonts/line-awesome.svg?v=1.1.#fa") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: "FontAwesome";
|
||||
src: url("../fonts/line-awesome.svg?v=1.1.#fa") format("svg");
|
||||
}
|
||||
}
|
||||
|
||||
/* Thanks to http://fontawesome.io @fontawesome and @davegandy */
|
||||
.fa {
|
||||
display: inline-block;
|
||||
font: normal normal normal 14px/1 "FontAwesome";
|
||||
font-size: inherit;
|
||||
text-decoration: inherit;
|
||||
text-rendering: optimizeLegibility;
|
||||
text-transform: none;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-smoothing: antialiased;
|
||||
}
|
||||
/* makes the font 33% larger relative to the icon container */
|
||||
.fa-lg {
|
||||
font-size: 1.33333333em;
|
||||
line-height: 0.75em;
|
||||
vertical-align: -15%;
|
||||
}
|
||||
.fa-2x {
|
||||
font-size: 2em;
|
||||
}
|
||||
.fa-3x {
|
||||
font-size: 3em;
|
||||
}
|
||||
.fa-4x {
|
||||
font-size: 4em;
|
||||
}
|
||||
.fa-5x {
|
||||
font-size: 5em;
|
||||
}
|
||||
.fa-fw {
|
||||
width: 1.28571429em;
|
||||
text-align: center;
|
||||
}
|
||||
.fa-ul {
|
||||
padding-left: 0;
|
||||
margin-left: 2.14285714em;
|
||||
list-style-type: none;
|
||||
}
|
||||
.fa-ul > li {
|
||||
position: relative;
|
||||
}
|
||||
.fa-li {
|
||||
position: absolute;
|
||||
left: -2.14285714em;
|
||||
width: 2.14285714em;
|
||||
top: 0.14285714em;
|
||||
text-align: center;
|
||||
}
|
||||
.fa-li.fa-lg {
|
||||
left: -1.85714286em;
|
||||
}
|
||||
.fa-border {
|
||||
padding: .2em .25em .15em;
|
||||
border: solid 0.08em #eeeeee;
|
||||
border-radius: .1em;
|
||||
}
|
||||
.pull-right {
|
||||
float: right;
|
||||
}
|
||||
.pull-left {
|
||||
float: left;
|
||||
}
|
||||
.fa.pull-left {
|
||||
margin-right: .3em;
|
||||
}
|
||||
.fa.pull-right {
|
||||
margin-left: .3em;
|
||||
}
|
||||
.fa-spin {
|
||||
-webkit-animation: fa-spin 2s infinite linear;
|
||||
animation: fa-spin 2s infinite linear;
|
||||
}
|
||||
@-webkit-keyframes fa-spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@keyframes fa-spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
.fa-rotate-90 {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
|
||||
-webkit-transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.fa-rotate-180 {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
|
||||
-webkit-transform: rotate(180deg);
|
||||
-ms-transform: rotate(180deg);
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
.fa-rotate-270 {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
|
||||
-webkit-transform: rotate(270deg);
|
||||
-ms-transform: rotate(270deg);
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
.fa-flip-horizontal {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
|
||||
-webkit-transform: scale(-1, 1);
|
||||
-ms-transform: scale(-1, 1);
|
||||
transform: scale(-1, 1);
|
||||
}
|
||||
.fa-flip-vertical {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
|
||||
-webkit-transform: scale(1, -1);
|
||||
-ms-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 {
|
||||
filter: none;
|
||||
}
|
||||
.fa-stack {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 2em;
|
||||
height: 2em;
|
||||
line-height: 2em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.fa-stack-1x,
|
||||
.fa-stack-2x {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
.fa-stack-1x {
|
||||
line-height: inherit;
|
||||
}
|
||||
.fa-stack-2x {
|
||||
font-size: 2em;
|
||||
}
|
||||
.fa-inverse {
|
||||
color: #ffffff;
|
||||
}
|
||||
/* Thanks to http://fontawesome.io @fontawesome and @davegandy */
|
||||
|
||||
.fa-500px:before { content: "\f100"; }
|
||||
.fa-adjust:before { content: "\f101"; }
|
||||
.fa-adn:before { content: "\f102"; }
|
||||
.fa-align-center:before { content: "\f103"; }
|
||||
.fa-align-justify:before { content: "\f104"; }
|
||||
.fa-align-left:before { content: "\f105"; }
|
||||
.fa-align-right:before { content: "\f106"; }
|
||||
.fa-amazon:before { content: "\f107"; }
|
||||
.fa-ambulance:before { content: "\f108"; }
|
||||
.fa-anchor:before { content: "\f109"; }
|
||||
.fa-android:before { content: "\f10a"; }
|
||||
.fa-angellist:before { content: "\f10b"; }
|
||||
.fa-angle-double-down:before { content: "\f10c"; }
|
||||
.fa-angle-double-left:before { content: "\f10d"; }
|
||||
.fa-angle-double-right:before { content: "\f10e"; }
|
||||
.fa-angle-double-up:before { content: "\f10f"; }
|
||||
.fa-angle-down:before { content: "\f110"; }
|
||||
.fa-angle-left:before { content: "\f111"; }
|
||||
.fa-angle-right:before { content: "\f112"; }
|
||||
.fa-angle-up:before { content: "\f113"; }
|
||||
.fa-apple:before { content: "\f114"; }
|
||||
.fa-archive:before { content: "\f115"; }
|
||||
.fa-area-chart:before { content: "\f116"; }
|
||||
.fa-arrow-circle-down:before { content: "\f117"; }
|
||||
.fa-arrow-circle-left:before { content: "\f118"; }
|
||||
.fa-arrow-circle-o-down:before { content: "\f119"; }
|
||||
.fa-arrow-circle-o-left:before { content: "\f11a"; }
|
||||
.fa-arrow-circle-o-right:before { content: "\f11b"; }
|
||||
.fa-arrow-circle-o-up:before { content: "\f11c"; }
|
||||
.fa-arrow-circle-right:before { content: "\f11d"; }
|
||||
.fa-arrow-circle-up:before { content: "\f11e"; }
|
||||
.fa-arrow-down:before { content: "\f11f"; }
|
||||
.fa-arrow-left:before { content: "\f120"; }
|
||||
.fa-arrow-right:before { content: "\f121"; }
|
||||
.fa-arrow-up:before { content: "\f122"; }
|
||||
.fa-arrows:before { content: "\f123"; }
|
||||
.fa-arrows-alt:before { content: "\f124"; }
|
||||
.fa-arrows-h:before { content: "\f125"; }
|
||||
.fa-arrows-v:before { content: "\f126"; }
|
||||
.fa-asterisk:before { content: "\f127"; }
|
||||
.fa-at:before { content: "\f128"; }
|
||||
.fa-automobile:before { content: "\f129"; }
|
||||
.fa-backward:before { content: "\f12a"; }
|
||||
.fa-balance-scale:before { content: "\f12b"; }
|
||||
.fa-ban:before { content: "\f12c"; }
|
||||
.fa-bank:before { content: "\f12d"; }
|
||||
.fa-bar-chart:before { content: "\f12e"; }
|
||||
.fa-bar-chart-o:before { content: "\f12f"; }
|
||||
.fa-barcode:before { content: "\f130"; }
|
||||
.fa-bars:before { content: "\f131"; }
|
||||
.fa-battery-0:before { content: "\f132"; }
|
||||
.fa-battery-1:before { content: "\f133"; }
|
||||
.fa-battery-2:before { content: "\f134"; }
|
||||
.fa-battery-3:before { content: "\f135"; }
|
||||
.fa-battery-4:before { content: "\f136"; }
|
||||
.fa-battery-empty:before { content: "\f137"; }
|
||||
.fa-battery-full:before { content: "\f138"; }
|
||||
.fa-battery-half:before { content: "\f139"; }
|
||||
.fa-battery-quarter:before { content: "\f13a"; }
|
||||
.fa-battery-three-quarters:before { content: "\f13b"; }
|
||||
.fa-bed:before { content: "\f13c"; }
|
||||
.fa-beer:before { content: "\f13d"; }
|
||||
.fa-behance:before { content: "\f13e"; }
|
||||
.fa-behance-square:before { content: "\f13f"; }
|
||||
.fa-bell:before { content: "\f140"; }
|
||||
.fa-bell-o:before { content: "\f141"; }
|
||||
.fa-bell-slash:before { content: "\f142"; }
|
||||
.fa-bell-slash-o:before { content: "\f143"; }
|
||||
.fa-bicycle:before { content: "\f144"; }
|
||||
.fa-binoculars:before { content: "\f145"; }
|
||||
.fa-birthday-cake:before { content: "\f146"; }
|
||||
.fa-bitbucket:before { content: "\f147"; }
|
||||
.fa-bitbucket-square:before { content: "\f148"; }
|
||||
.fa-bitcoin:before { content: "\f149"; }
|
||||
.fa-black-tie:before { content: "\f14a"; }
|
||||
.fa-bold:before { content: "\f14b"; }
|
||||
.fa-bolt:before { content: "\f14c"; }
|
||||
.fa-bomb:before { content: "\f14d"; }
|
||||
.fa-book:before { content: "\f14e"; }
|
||||
.fa-bookmark:before { content: "\f14f"; }
|
||||
.fa-bookmark-o:before { content: "\f150"; }
|
||||
.fa-briefcase:before { content: "\f151"; }
|
||||
.fa-btc:before { content: "\f152"; }
|
||||
.fa-bug:before { content: "\f153"; }
|
||||
.fa-building:before { content: "\f154"; }
|
||||
.fa-building-o:before { content: "\f155"; }
|
||||
.fa-bullhorn:before { content: "\f156"; }
|
||||
.fa-bullseye:before { content: "\f157"; }
|
||||
.fa-bus:before { content: "\f158"; }
|
||||
.fa-buysellads:before { content: "\f159"; }
|
||||
.fa-cab:before { content: "\f15a"; }
|
||||
.fa-calculator:before { content: "\f15b"; }
|
||||
.fa-calendar:before { content: "\f15c"; }
|
||||
.fa-calendar-check-o:before { content: "\f15d"; }
|
||||
.fa-calendar-minus-o:before { content: "\f15e"; }
|
||||
.fa-calendar-o:before { content: "\f15f"; }
|
||||
.fa-calendar-plus-o:before { content: "\f160"; }
|
||||
.fa-calendar-times-o:before { content: "\f161"; }
|
||||
.fa-camera:before { content: "\f162"; }
|
||||
.fa-camera-retro:before { content: "\f163"; }
|
||||
.fa-car:before { content: "\f164"; }
|
||||
.fa-caret-down:before { content: "\f165"; }
|
||||
.fa-caret-left:before { content: "\f166"; }
|
||||
.fa-caret-right:before { content: "\f167"; }
|
||||
.fa-caret-square-o-down:before, .fa-toggle-down:before { content: "\f168"; }
|
||||
.fa-caret-square-o-left:before, .fa-toggle-left:before { content: "\f169"; }
|
||||
.fa-caret-square-o-right:before, .fa-toggle-right:before { content: "\f16a"; }
|
||||
.fa-caret-square-o-up:before, .fa-toggle-up:before { content: "\f16b"; }
|
||||
.fa-caret-up:before { content: "\f16c"; }
|
||||
.fa-cart-arrow-down:before { content: "\f16d"; }
|
||||
.fa-cart-plus:before { content: "\f16e"; }
|
||||
.fa-cc:before { content: "\f16f"; }
|
||||
.fa-cc-amex:before { content: "\f170"; }
|
||||
.fa-cc-diners-club:before { content: "\f171"; }
|
||||
.fa-cc-discover:before { content: "\f172"; }
|
||||
.fa-cc-jcb:before { content: "\f173"; }
|
||||
.fa-cc-mastercard:before { content: "\f174"; }
|
||||
.fa-cc-paypal:before { content: "\f175"; }
|
||||
.fa-cc-stripe:before { content: "\f176"; }
|
||||
.fa-cc-visa:before { content: "\f177"; }
|
||||
.fa-certificate:before { content: "\f178"; }
|
||||
.fa-chain:before { content: "\f179"; }
|
||||
.fa-chain-broken:before { content: "\f17a"; }
|
||||
.fa-check:before { content: "\f17b"; }
|
||||
.fa-check-circle:before { content: "\f17c"; }
|
||||
.fa-check-circle-o:before { content: "\f17d"; }
|
||||
.fa-check-square:before { content: "\f17e"; }
|
||||
.fa-check-square-o:before { content: "\f17f"; }
|
||||
.fa-chevron-circle-down:before { content: "\f180"; }
|
||||
.fa-chevron-circle-left:before { content: "\f181"; }
|
||||
.fa-chevron-circle-right:before { content: "\f182"; }
|
||||
.fa-chevron-circle-up:before { content: "\f183"; }
|
||||
.fa-chevron-down:before { content: "\f184"; }
|
||||
.fa-chevron-left:before { content: "\f185"; }
|
||||
.fa-chevron-right:before { content: "\f186"; }
|
||||
.fa-chevron-up:before { content: "\f187"; }
|
||||
.fa-child:before { content: "\f188"; }
|
||||
.fa-chrome:before { content: "\f189"; }
|
||||
.fa-circle:before { content: "\f18a"; }
|
||||
.fa-circle-o:before { content: "\f18b"; }
|
||||
.fa-circle-o-notch:before { content: "\f18c"; }
|
||||
.fa-circle-thin:before { content: "\f18d"; }
|
||||
.fa-clipboard:before { content: "\f18e"; }
|
||||
.fa-clock-o:before { content: "\f18f"; }
|
||||
.fa-clone:before { content: "\f190"; }
|
||||
.fa-close:before { content: "\f191"; }
|
||||
.fa-cloud:before { content: "\f192"; }
|
||||
.fa-cloud-download:before { content: "\f193"; }
|
||||
.fa-cloud-upload:before { content: "\f194"; }
|
||||
.fa-cny:before { content: "\f195"; }
|
||||
.fa-code:before { content: "\f196"; }
|
||||
.fa-code-fork:before { content: "\f197"; }
|
||||
.fa-codepen:before { content: "\f198"; }
|
||||
.fa-coffee:before { content: "\f199"; }
|
||||
.fa-cog:before { content: "\f19a"; }
|
||||
.fa-cogs:before { content: "\f19b"; }
|
||||
.fa-columns:before { content: "\f19c"; }
|
||||
.fa-comment:before { content: "\f19d"; }
|
||||
.fa-comment-o:before { content: "\f19e"; }
|
||||
.fa-commenting:before { content: "\f19f"; }
|
||||
.fa-commenting-o:before { content: "\f1a0"; }
|
||||
.fa-comments:before { content: "\f1a1"; }
|
||||
.fa-comments-o:before { content: "\f1a2"; }
|
||||
.fa-compass:before { content: "\f1a3"; }
|
||||
.fa-compress:before { content: "\f1a4"; }
|
||||
.fa-connectdevelop:before { content: "\f1a5"; }
|
||||
.fa-contao:before { content: "\f1a6"; }
|
||||
.fa-copy:before { content: "\f1a7"; }
|
||||
.fa-copyright:before { content: "\f1a8"; }
|
||||
.fa-creative-commons:before { content: "\f1a9"; }
|
||||
.fa-credit-card:before { content: "\f1aa"; }
|
||||
.fa-crop:before { content: "\f1ab"; }
|
||||
.fa-crosshairs:before { content: "\f1ac"; }
|
||||
.fa-css3:before { content: "\f1ad"; }
|
||||
.fa-cube:before { content: "\f1ae"; }
|
||||
.fa-cubes:before { content: "\f1af"; }
|
||||
.fa-cut:before { content: "\f1b0"; }
|
||||
.fa-cutlery:before { content: "\f1b1"; }
|
||||
.fa-dashboard:before { content: "\f1b2"; }
|
||||
.fa-dashcube:before { content: "\f1b3"; }
|
||||
.fa-database:before { content: "\f1b4"; }
|
||||
.fa-dedent:before { content: "\f1b5"; }
|
||||
.fa-delicious:before { content: "\f1b6"; }
|
||||
.fa-desktop:before { content: "\f1b7"; }
|
||||
.fa-deviantart:before { content: "\f1b8"; }
|
||||
.fa-diamond:before { content: "\f1b9"; }
|
||||
.fa-digg:before { content: "\f1ba"; }
|
||||
.fa-dollar:before { content: "\f1bb"; }
|
||||
.fa-dot-circle-o:before { content: "\f1bc"; }
|
||||
.fa-download:before { content: "\f1bd"; }
|
||||
.fa-dribbble:before { content: "\f1be"; }
|
||||
.fa-dropbox:before { content: "\f1bf"; }
|
||||
.fa-drupal:before { content: "\f1c0"; }
|
||||
.fa-edit:before { content: "\f1c1"; }
|
||||
.fa-eject:before { content: "\f1c2"; }
|
||||
.fa-ellipsis-h:before { content: "\f1c3"; }
|
||||
.fa-ellipsis-v:before { content: "\f1c4"; }
|
||||
.fa-empire:before, .fa-ge:before { content: "\f1c5"; }
|
||||
.fa-envelope:before { content: "\f1c6"; }
|
||||
.fa-envelope-o:before { content: "\f1c7"; }
|
||||
.fa-envelope-square:before { content: "\f1c8"; }
|
||||
.fa-eraser:before { content: "\f1c9"; }
|
||||
.fa-eur:before { content: "\f1ca"; }
|
||||
.fa-euro:before { content: "\f1cb"; }
|
||||
.fa-exchange:before { content: "\f1cc"; }
|
||||
.fa-exclamation:before { content: "\f1cd"; }
|
||||
.fa-exclamation-circle:before { content: "\f1ce"; }
|
||||
.fa-exclamation-triangle:before { content: "\f1cf"; }
|
||||
.fa-expand:before { content: "\f1d0"; }
|
||||
.fa-expeditedssl:before { content: "\f1d1"; }
|
||||
.fa-external-link:before { content: "\f1d2"; }
|
||||
.fa-external-link-square:before { content: "\f1d3"; }
|
||||
.fa-eye:before { content: "\f1d4"; }
|
||||
.fa-eye-slash:before { content: "\f1d5"; }
|
||||
.fa-eyedropper:before { content: "\f1d6"; }
|
||||
.fa-facebook:before, .fa-facebook-f:before { content: "\f1d7"; }
|
||||
.fa-facebook-official:before { content: "\f1d8"; }
|
||||
.fa-facebook-square:before { content: "\f1d9"; }
|
||||
.fa-fast-backward:before { content: "\f1da"; }
|
||||
.fa-fast-forward:before { content: "\f1db"; }
|
||||
.fa-fax:before { content: "\f1dc"; }
|
||||
.fa-female:before { content: "\f1dd"; }
|
||||
.fa-fighter-jet:before { content: "\f1de"; }
|
||||
.fa-file:before { content: "\f1df"; }
|
||||
.fa-file-archive-o:before { content: "\f1e0"; }
|
||||
.fa-file-audio-o:before { content: "\f1e1"; }
|
||||
.fa-file-code-o:before { content: "\f1e2"; }
|
||||
.fa-file-excel-o:before { content: "\f1e3"; }
|
||||
.fa-file-image-o:before { content: "\f1e4"; }
|
||||
.fa-file-movie-o:before { content: "\f1e5"; }
|
||||
.fa-file-o:before { content: "\f1e6"; }
|
||||
.fa-file-pdf-o:before { content: "\f1e7"; }
|
||||
.fa-file-photo-o:before { content: "\f1e8"; }
|
||||
.fa-file-picture-o:before { content: "\f1e9"; }
|
||||
.fa-file-powerpoint-o:before { content: "\f1ea"; }
|
||||
.fa-file-sound-o:before { content: "\f1eb"; }
|
||||
.fa-file-text:before { content: "\f1ec"; }
|
||||
.fa-file-text-o:before { content: "\f1ed"; }
|
||||
.fa-file-video-o:before { content: "\f1ee"; }
|
||||
.fa-file-word-o:before { content: "\f1ef"; }
|
||||
.fa-file-zip-o:before { content: "\f1f0"; }
|
||||
.fa-files-o:before { content: "\f1f1"; }
|
||||
.fa-film:before { content: "\f1f2"; }
|
||||
.fa-filter:before { content: "\f1f3"; }
|
||||
.fa-fire:before { content: "\f1f4"; }
|
||||
.fa-fire-extinguisher:before { content: "\f1f5"; }
|
||||
.fa-firefox:before { content: "\f1f6"; }
|
||||
.fa-flag:before { content: "\f1f7"; }
|
||||
.fa-flag-checkered:before { content: "\f1f8"; }
|
||||
.fa-flag-o:before { content: "\f1f9"; }
|
||||
.fa-flash:before { content: "\f1fa"; }
|
||||
.fa-flask:before { content: "\f1fb"; }
|
||||
.fa-flickr:before { content: "\f1fc"; }
|
||||
.fa-floppy-o:before { content: "\f1fd"; }
|
||||
.fa-folder:before { content: "\f1fe"; }
|
||||
.fa-folder-o:before { content: "\f1ff"; }
|
||||
.fa-folder-open:before { content: "\f200"; }
|
||||
.fa-folder-open-o:before { content: "\f201"; }
|
||||
.fa-font:before { content: "\f202"; }
|
||||
.fa-fonticons:before { content: "\f203"; }
|
||||
.fa-forumbee:before { content: "\f204"; }
|
||||
.fa-forward:before { content: "\f205"; }
|
||||
.fa-foursquare:before { content: "\f206"; }
|
||||
.fa-frown-o:before { content: "\f207"; }
|
||||
.fa-futbol-o:before, .fa-soccer-ball-o:before { content: "\f208"; }
|
||||
.fa-gamepad:before { content: "\f209"; }
|
||||
.fa-gavel:before { content: "\f20a"; }
|
||||
.fa-gbp:before { content: "\f20b"; }
|
||||
.fa-gear:before { content: "\f20c"; }
|
||||
.fa-gears:before { content: "\f20d"; }
|
||||
.fa-genderless:before { content: "\f20e"; }
|
||||
.fa-get-pocket:before { content: "\f20f"; }
|
||||
.fa-gg:before { content: "\f210"; }
|
||||
.fa-gg-circle:before { content: "\f211"; }
|
||||
.fa-gift:before { content: "\f212"; }
|
||||
.fa-git:before { content: "\f213"; }
|
||||
.fa-git-square:before { content: "\f214"; }
|
||||
.fa-github:before { content: "\f215"; }
|
||||
.fa-github-alt:before { content: "\f216"; }
|
||||
.fa-github-square:before { content: "\f217"; }
|
||||
.fa-glass:before { content: "\f218"; }
|
||||
.fa-globe:before { content: "\f219"; }
|
||||
.fa-google:before { content: "\f21a"; }
|
||||
.fa-google-plus:before { content: "\f21b"; }
|
||||
.fa-google-plus-square:before { content: "\f21c"; }
|
||||
.fa-google-wallet:before { content: "\f21d"; }
|
||||
.fa-graduation-cap:before { content: "\f21e"; }
|
||||
.fa-gratipay:before, .fa-gittip:before { content: "\f21f"; }
|
||||
.fa-group:before { content: "\f220"; }
|
||||
.fa-h-square:before { content: "\f221"; }
|
||||
.fa-hacker-news:before { content: "\f222"; }
|
||||
.fa-hand-grab-o:before { content: "\f223"; }
|
||||
.fa-hand-lizard-o:before { content: "\f224"; }
|
||||
.fa-hand-o-down:before { content: "\f225"; }
|
||||
.fa-hand-o-left:before { content: "\f226"; }
|
||||
.fa-hand-o-right:before { content: "\f227"; }
|
||||
.fa-hand-o-up:before { content: "\f228"; }
|
||||
.fa-hand-paper-o:before { content: "\f229"; }
|
||||
.fa-hand-peace-o:before { content: "\f22a"; }
|
||||
.fa-hand-pointer-o:before { content: "\f22b"; }
|
||||
.fa-hand-rock-o:before { content: "\f22c"; }
|
||||
.fa-hand-scissors-o:before { content: "\f22d"; }
|
||||
.fa-hand-spock-o:before { content: "\f22e"; }
|
||||
.fa-hand-stop-o:before { content: "\f22f"; }
|
||||
.fa-hdd-o:before { content: "\f230"; }
|
||||
.fa-header:before { content: "\f231"; }
|
||||
.fa-headphones:before { content: "\f232"; }
|
||||
.fa-heart:before { content: "\f233"; }
|
||||
.fa-heart-o:before { content: "\f234"; }
|
||||
.fa-heartbeat:before { content: "\f235"; }
|
||||
.fa-history:before { content: "\f236"; }
|
||||
.fa-home:before { content: "\f237"; }
|
||||
.fa-hospital-o:before { content: "\f238"; }
|
||||
.fa-hotel:before { content: "\f239"; }
|
||||
.fa-hourglass:before { content: "\f23a"; }
|
||||
.fa-hourglass-1:before { content: "\f23b"; }
|
||||
.fa-hourglass-2:before { content: "\f23c"; }
|
||||
.fa-hourglass-3:before { content: "\f23d"; }
|
||||
.fa-hourglass-end:before { content: "\f23e"; }
|
||||
.fa-hourglass-half:before { content: "\f23f"; }
|
||||
.fa-hourglass-o:before { content: "\f240"; }
|
||||
.fa-hourglass-start:before { content: "\f241"; }
|
||||
.fa-houzz:before { content: "\f242"; }
|
||||
.fa-html5:before { content: "\f243"; }
|
||||
.fa-i-cursor:before { content: "\f244"; }
|
||||
.fa-ils:before { content: "\f245"; }
|
||||
.fa-image:before { content: "\f246"; }
|
||||
.fa-inbox:before { content: "\f247"; }
|
||||
.fa-indent:before { content: "\f248"; }
|
||||
.fa-industry:before { content: "\f249"; }
|
||||
.fa-info:before { content: "\f24a"; }
|
||||
.fa-info-circle:before { content: "\f24b"; }
|
||||
.fa-inr:before { content: "\f24c"; }
|
||||
.fa-instagram:before { content: "\f24d"; }
|
||||
.fa-institution:before { content: "\f24e"; }
|
||||
.fa-internet-explorer:before { content: "\f24f"; }
|
||||
.fa-ioxhost:before { content: "\f250"; }
|
||||
.fa-italic:before { content: "\f251"; }
|
||||
.fa-joomla:before { content: "\f252"; }
|
||||
.fa-jpy:before { content: "\f253"; }
|
||||
.fa-jsfiddle:before { content: "\f254"; }
|
||||
.fa-key:before { content: "\f255"; }
|
||||
.fa-keyboard-o:before { content: "\f256"; }
|
||||
.fa-krw:before { content: "\f257"; }
|
||||
.fa-language:before { content: "\f258"; }
|
||||
.fa-laptop:before { content: "\f259"; }
|
||||
.fa-lastfm:before { content: "\f25a"; }
|
||||
.fa-lastfm-square:before { content: "\f25b"; }
|
||||
.fa-leaf:before { content: "\f25c"; }
|
||||
.fa-leanpub:before { content: "\f25d"; }
|
||||
.fa-legal:before { content: "\f25e"; }
|
||||
.fa-lemon-o:before { content: "\f25f"; }
|
||||
.fa-level-down:before { content: "\f260"; }
|
||||
.fa-level-up:before { content: "\f261"; }
|
||||
.fa-life-bouy:before { content: "\f262"; }
|
||||
.fa-life-buoy:before { content: "\f263"; }
|
||||
.fa-life-ring:before, .fa-support:before { content: "\f264"; }
|
||||
.fa-life-saver:before { content: "\f265"; }
|
||||
.fa-lightbulb-o:before { content: "\f266"; }
|
||||
.fa-line-chart:before { content: "\f267"; }
|
||||
.fa-link:before { content: "\f268"; }
|
||||
.fa-linkedin:before { content: "\f269"; }
|
||||
.fa-linkedin-square:before { content: "\f26a"; }
|
||||
.fa-linux:before { content: "\f26b"; }
|
||||
.fa-list:before { content: "\f26c"; }
|
||||
.fa-list-alt:before { content: "\f26d"; }
|
||||
.fa-list-ol:before { content: "\f26e"; }
|
||||
.fa-list-ul:before { content: "\f26f"; }
|
||||
.fa-location-arrow:before { content: "\f270"; }
|
||||
.fa-lock:before { content: "\f271"; }
|
||||
.fa-long-arrow-down:before { content: "\f272"; }
|
||||
.fa-long-arrow-left:before { content: "\f273"; }
|
||||
.fa-long-arrow-right:before { content: "\f274"; }
|
||||
.fa-long-arrow-up:before { content: "\f275"; }
|
||||
.fa-magic:before { content: "\f276"; }
|
||||
.fa-magnet:before { content: "\f277"; }
|
||||
.fa-mail-forward:before { content: "\f278"; }
|
||||
.fa-mail-reply:before { content: "\f279"; }
|
||||
.fa-mail-reply-all:before { content: "\f27a"; }
|
||||
.fa-male:before { content: "\f27b"; }
|
||||
.fa-map:before { content: "\f27c"; }
|
||||
.fa-map-marker:before { content: "\f27d"; }
|
||||
.fa-map-o:before { content: "\f27e"; }
|
||||
.fa-map-pin:before { content: "\f27f"; }
|
||||
.fa-map-signs:before { content: "\f280"; }
|
||||
.fa-mars:before { content: "\f281"; }
|
||||
.fa-mars-double:before { content: "\f282"; }
|
||||
.fa-mars-stroke:before { content: "\f283"; }
|
||||
.fa-mars-stroke-h:before { content: "\f284"; }
|
||||
.fa-mars-stroke-v:before { content: "\f285"; }
|
||||
.fa-maxcdn:before { content: "\f286"; }
|
||||
.fa-meanpath:before { content: "\f287"; }
|
||||
.fa-medium:before { content: "\f288"; }
|
||||
.fa-medkit:before { content: "\f289"; }
|
||||
.fa-meh-o:before { content: "\f28a"; }
|
||||
.fa-mercury:before { content: "\f28b"; }
|
||||
.fa-microphone:before { content: "\f28c"; }
|
||||
.fa-microphone-slash:before { content: "\f28d"; }
|
||||
.fa-minus:before { content: "\f28e"; }
|
||||
.fa-minus-circle:before { content: "\f28f"; }
|
||||
.fa-minus-square:before { content: "\f290"; }
|
||||
.fa-minus-square-o:before { content: "\f291"; }
|
||||
.fa-mobile:before { content: "\f292"; }
|
||||
.fa-mobile-phone:before { content: "\f293"; }
|
||||
.fa-money:before { content: "\f294"; }
|
||||
.fa-moon-o:before { content: "\f295"; }
|
||||
.fa-mortar-board:before { content: "\f296"; }
|
||||
.fa-motorcycle:before { content: "\f297"; }
|
||||
.fa-mouse-pointer:before { content: "\f298"; }
|
||||
.fa-music:before { content: "\f299"; }
|
||||
.fa-navicon:before { content: "\f29a"; }
|
||||
.fa-neuter:before { content: "\f29b"; }
|
||||
.fa-newspaper-o:before { content: "\f29c"; }
|
||||
.fa-object-group:before { content: "\f29d"; }
|
||||
.fa-object-ungroup:before { content: "\f29e"; }
|
||||
.fa-odnoklassniki:before { content: "\f29f"; }
|
||||
.fa-odnoklassniki-square:before { content: "\f2a0"; }
|
||||
.fa-opencart:before { content: "\f2a1"; }
|
||||
.fa-openid:before { content: "\f2a2"; }
|
||||
.fa-opera:before { content: "\f2a3"; }
|
||||
.fa-optin-monster:before { content: "\f2a4"; }
|
||||
.fa-outdent:before { content: "\f2a5"; }
|
||||
.fa-pagelines:before { content: "\f2a6"; }
|
||||
.fa-paint-brush:before { content: "\f2a7"; }
|
||||
.fa-paper-plane:before, .fa-send:before { content: "\f2a8"; }
|
||||
.fa-paper-plane-o:before, .fa-send-o:before { content: "\f2a9"; }
|
||||
.fa-paperclip:before { content: "\f2aa"; }
|
||||
.fa-paragraph:before { content: "\f2ab"; }
|
||||
.fa-paste:before { content: "\f2ac"; }
|
||||
.fa-pause:before { content: "\f2ad"; }
|
||||
.fa-paw:before { content: "\f2ae"; }
|
||||
.fa-paypal:before { content: "\f2af"; }
|
||||
.fa-pencil:before { content: "\f2b0"; }
|
||||
.fa-pencil-square:before { content: "\f2b1"; }
|
||||
.fa-pencil-square-o:before { content: "\f2b2"; }
|
||||
.fa-phone:before { content: "\f2b3"; }
|
||||
.fa-phone-square:before { content: "\f2b4"; }
|
||||
.fa-photo:before { content: "\f2b5"; }
|
||||
.fa-picture-o:before { content: "\f2b6"; }
|
||||
.fa-pie-chart:before { content: "\f2b7"; }
|
||||
.fa-pied-piper:before { content: "\f2b8"; }
|
||||
.fa-pied-piper-alt:before { content: "\f2b9"; }
|
||||
.fa-pinterest:before { content: "\f2ba"; }
|
||||
.fa-pinterest-p:before { content: "\f2bb"; }
|
||||
.fa-pinterest-square:before { content: "\f2bc"; }
|
||||
.fa-plane:before { content: "\f2bd"; }
|
||||
.fa-play:before { content: "\f2be"; }
|
||||
.fa-play-circle:before { content: "\f2bf"; }
|
||||
.fa-play-circle-o:before { content: "\f2c0"; }
|
||||
.fa-plug:before { content: "\f2c1"; }
|
||||
.fa-plus:before { content: "\f2c2"; }
|
||||
.fa-plus-circle:before { content: "\f2c3"; }
|
||||
.fa-plus-square:before { content: "\f2c4"; }
|
||||
.fa-plus-square-o:before { content: "\f2c5"; }
|
||||
.fa-power-off:before { content: "\f2c6"; }
|
||||
.fa-print:before { content: "\f2c7"; }
|
||||
.fa-puzzle-piece:before { content: "\f2c8"; }
|
||||
.fa-qq:before { content: "\f2c9"; }
|
||||
.fa-qrcode:before { content: "\f2ca"; }
|
||||
.fa-question:before { content: "\f2cb"; }
|
||||
.fa-question-circle:before { content: "\f2cc"; }
|
||||
.fa-quote-left:before { content: "\f2cd"; }
|
||||
.fa-quote-right:before { content: "\f2ce"; }
|
||||
.fa-ra:before { content: "\f2cf"; }
|
||||
.fa-random:before { content: "\f2d0"; }
|
||||
.fa-rebel:before { content: "\f2d1"; }
|
||||
.fa-recycle:before { content: "\f2d2"; }
|
||||
.fa-reddit:before { content: "\f2d3"; }
|
||||
.fa-reddit-square:before { content: "\f2d4"; }
|
||||
.fa-refresh:before { content: "\f2d5"; }
|
||||
.fa-registered:before { content: "\f2d6"; }
|
||||
.fa-renren:before { content: "\f2d7"; }
|
||||
.fa-reorder:before { content: "\f2d8"; }
|
||||
.fa-repeat:before { content: "\f2d9"; }
|
||||
.fa-reply:before { content: "\f2da"; }
|
||||
.fa-reply-all:before { content: "\f2db"; }
|
||||
.fa-retweet:before { content: "\f2dc"; }
|
||||
.fa-rmb:before { content: "\f2dd"; }
|
||||
.fa-road:before { content: "\f2de"; }
|
||||
.fa-rocket:before { content: "\f2df"; }
|
||||
.fa-rotate-left:before { content: "\f2e0"; }
|
||||
.fa-rotate-right:before { content: "\f2e1"; }
|
||||
.fa-rouble:before { content: "\f2e2"; }
|
||||
.fa-rss:before, .fa-feed:before { content: "\f2e3"; }
|
||||
.fa-rss-square:before { content: "\f2e4"; }
|
||||
.fa-rub:before { content: "\f2e5"; }
|
||||
.fa-ruble:before { content: "\f2e6"; }
|
||||
.fa-rupee:before { content: "\f2e7"; }
|
||||
.fa-safari:before { content: "\f2e8"; }
|
||||
.fa-save:before { content: "\f2e9"; }
|
||||
.fa-scissors:before { content: "\f2ea"; }
|
||||
.fa-search:before { content: "\f2eb"; }
|
||||
.fa-search-minus:before { content: "\f2ec"; }
|
||||
.fa-search-plus:before { content: "\f2ed"; }
|
||||
.fa-sellsy:before { content: "\f2ee"; }
|
||||
.fa-server:before { content: "\f2ef"; }
|
||||
.fa-share:before { content: "\f2f0"; }
|
||||
.fa-share-alt:before { content: "\f2f1"; }
|
||||
.fa-share-alt-square:before { content: "\f2f2"; }
|
||||
.fa-share-square:before { content: "\f2f3"; }
|
||||
.fa-share-square-o:before { content: "\f2f4"; }
|
||||
.fa-shekel:before { content: "\f2f5"; }
|
||||
.fa-sheqel:before { content: "\f2f6"; }
|
||||
.fa-shield:before { content: "\f2f7"; }
|
||||
.fa-ship:before { content: "\f2f8"; }
|
||||
.fa-shirtsinbulk:before { content: "\f2f9"; }
|
||||
.fa-shopping-cart:before { content: "\f2fa"; }
|
||||
.fa-sign-in:before { content: "\f2fb"; }
|
||||
.fa-sign-out:before { content: "\f2fc"; }
|
||||
.fa-signal:before { content: "\f2fd"; }
|
||||
.fa-simplybuilt:before { content: "\f2fe"; }
|
||||
.fa-sitemap:before { content: "\f2ff"; }
|
||||
.fa-skyatlas:before { content: "\f300"; }
|
||||
.fa-skype:before { content: "\f301"; }
|
||||
.fa-slack:before { content: "\f302"; }
|
||||
.fa-sliders:before { content: "\f303"; }
|
||||
.fa-slideshare:before { content: "\f304"; }
|
||||
.fa-smile-o:before { content: "\f305"; }
|
||||
.fa-sort:before, .fa-unsorted:before { content: "\f306"; }
|
||||
.fa-sort-alpha-asc:before { content: "\f307"; }
|
||||
.fa-sort-alpha-desc:before { content: "\f308"; }
|
||||
.fa-sort-amount-asc:before { content: "\f309"; }
|
||||
.fa-sort-amount-desc:before { content: "\f30a"; }
|
||||
.fa-sort-asc:before, .fa-sort-up:before { content: "\f30b"; }
|
||||
.fa-sort-desc:before, .fa-sort-down:before { content: "\f30c"; }
|
||||
.fa-sort-numeric-asc:before { content: "\f30d"; }
|
||||
.fa-sort-numeric-desc:before { content: "\f30e"; }
|
||||
.fa-soundcloud:before { content: "\f30f"; }
|
||||
.fa-space-shuttle:before { content: "\f310"; }
|
||||
.fa-spinner:before { content: "\f311"; }
|
||||
.fa-spoon:before { content: "\f312"; }
|
||||
.fa-spotify:before { content: "\f313"; }
|
||||
.fa-square:before { content: "\f314"; }
|
||||
.fa-square-o:before { content: "\f315"; }
|
||||
.fa-stack-exchange:before { content: "\f316"; }
|
||||
.fa-stack-overflow:before { content: "\f317"; }
|
||||
.fa-star:before { content: "\f318"; }
|
||||
.fa-star-half:before { content: "\f319"; }
|
||||
.fa-star-half-o:before, .fa-star-half-full:before, .fa-star-half-empty:before { content: "\f31a"; }
|
||||
.fa-star-o:before { content: "\f31b"; }
|
||||
.fa-steam:before { content: "\f31c"; }
|
||||
.fa-steam-square:before { content: "\f31d"; }
|
||||
.fa-step-backward:before { content: "\f31e"; }
|
||||
.fa-step-forward:before { content: "\f31f"; }
|
||||
.fa-stethoscope:before { content: "\f320"; }
|
||||
.fa-sticky-note:before { content: "\f321"; }
|
||||
.fa-sticky-note-o:before { content: "\f322"; }
|
||||
.fa-stop:before { content: "\f323"; }
|
||||
.fa-street-view:before { content: "\f324"; }
|
||||
.fa-strikethrough:before { content: "\f325"; }
|
||||
.fa-stumbleupon:before { content: "\f326"; }
|
||||
.fa-stumbleupon-circle:before { content: "\f327"; }
|
||||
.fa-subscript:before { content: "\f328"; }
|
||||
.fa-subway:before { content: "\f329"; }
|
||||
.fa-suitcase:before { content: "\f32a"; }
|
||||
.fa-sun-o:before { content: "\f32b"; }
|
||||
.fa-superscript:before { content: "\f32c"; }
|
||||
.fa-table:before { content: "\f32d"; }
|
||||
.fa-tablet:before { content: "\f32e"; }
|
||||
.fa-tachometer:before { content: "\f32f"; }
|
||||
.fa-tag:before { content: "\f330"; }
|
||||
.fa-tags:before { content: "\f331"; }
|
||||
.fa-tasks:before { content: "\f332"; }
|
||||
.fa-taxi:before { content: "\f333"; }
|
||||
.fa-television:before, .fa-tv:before { content: "\f334"; }
|
||||
.fa-tencent-weibo:before { content: "\f335"; }
|
||||
.fa-terminal:before { content: "\f336"; }
|
||||
.fa-text-height:before { content: "\f337"; }
|
||||
.fa-text-width:before { content: "\f338"; }
|
||||
.fa-th:before { content: "\f339"; }
|
||||
.fa-th-large:before { content: "\f33a"; }
|
||||
.fa-th-list:before { content: "\f33b"; }
|
||||
.fa-thumb-tack:before { content: "\f33c"; }
|
||||
.fa-thumbs-down:before { content: "\f33d"; }
|
||||
.fa-thumbs-o-down:before { content: "\f33e"; }
|
||||
.fa-thumbs-o-up:before { content: "\f33f"; }
|
||||
.fa-thumbs-up:before { content: "\f340"; }
|
||||
.fa-ticket:before { content: "\f341"; }
|
||||
.fa-times:before, .fa-remove:before { content: "\f342"; }
|
||||
.fa-times-circle:before { content: "\f343"; }
|
||||
.fa-times-circle-o:before { content: "\f344"; }
|
||||
.fa-tint:before { content: "\f345"; }
|
||||
.fa-toggle-off:before { content: "\f346"; }
|
||||
.fa-toggle-on:before { content: "\f347"; }
|
||||
.fa-trademark:before { content: "\f348"; }
|
||||
.fa-train:before { content: "\f349"; }
|
||||
.fa-transgender:before, .fa-intersex:before { content: "\f34a"; }
|
||||
.fa-transgender-alt:before { content: "\f34b"; }
|
||||
.fa-trash:before { content: "\f34c"; }
|
||||
.fa-trash-o:before { content: "\f34d"; }
|
||||
.fa-tree:before { content: "\f34e"; }
|
||||
.fa-trello:before { content: "\f34f"; }
|
||||
.fa-tripadvisor:before { content: "\f350"; }
|
||||
.fa-trophy:before { content: "\f351"; }
|
||||
.fa-truck:before { content: "\f352"; }
|
||||
.fa-try:before { content: "\f353"; }
|
||||
.fa-tty:before { content: "\f354"; }
|
||||
.fa-tumblr:before { content: "\f355"; }
|
||||
.fa-tumblr-square:before { content: "\f356"; }
|
||||
.fa-turkish-lira:before { content: "\f357"; }
|
||||
.fa-twitch:before { content: "\f358"; }
|
||||
.fa-twitter:before { content: "\f359"; }
|
||||
.fa-twitter-square:before { content: "\f35a"; }
|
||||
.fa-umbrella:before { content: "\f35b"; }
|
||||
.fa-underline:before { content: "\f35c"; }
|
||||
.fa-undo:before { content: "\f35d"; }
|
||||
.fa-university:before { content: "\f35e"; }
|
||||
.fa-unlink:before { content: "\f35f"; }
|
||||
.fa-unlock:before { content: "\f360"; }
|
||||
.fa-unlock-alt:before { content: "\f361"; }
|
||||
.fa-upload:before { content: "\f362"; }
|
||||
.fa-usd:before { content: "\f363"; }
|
||||
.fa-user:before { content: "\f364"; }
|
||||
.fa-user-md:before { content: "\f365"; }
|
||||
.fa-user-plus:before { content: "\f366"; }
|
||||
.fa-user-secret:before { content: "\f367"; }
|
||||
.fa-user-times:before { content: "\f368"; }
|
||||
.fa-users:before { content: "\f369"; }
|
||||
.fa-venus:before { content: "\f36a"; }
|
||||
.fa-venus-double:before { content: "\f36b"; }
|
||||
.fa-venus-mars:before { content: "\f36c"; }
|
||||
.fa-viacoin:before { content: "\f36d"; }
|
||||
.fa-video-camera:before { content: "\f36e"; }
|
||||
.fa-vimeo:before { content: "\f36f"; }
|
||||
.fa-vimeo-square:before { content: "\f370"; }
|
||||
.fa-vine:before { content: "\f371"; }
|
||||
.fa-vk:before { content: "\f372"; }
|
||||
.fa-volume-down:before { content: "\f373"; }
|
||||
.fa-volume-off:before { content: "\f374"; }
|
||||
.fa-volume-up:before { content: "\f375"; }
|
||||
.fa-warning:before { content: "\f376"; }
|
||||
.fa-wechat:before { content: "\f377"; }
|
||||
.fa-weibo:before { content: "\f378"; }
|
||||
.fa-weixin:before { content: "\f379"; }
|
||||
.fa-whatsapp:before { content: "\f37a"; }
|
||||
.fa-wheelchair:before { content: "\f37b"; }
|
||||
.fa-wifi:before { content: "\f37c"; }
|
||||
.fa-wikipedia-w:before { content: "\f37d"; }
|
||||
.fa-windows:before { content: "\f37e"; }
|
||||
.fa-won:before { content: "\f37f"; }
|
||||
.fa-wordpress:before { content: "\f380"; }
|
||||
.fa-wrench:before { content: "\f381"; }
|
||||
.fa-xing:before { content: "\f382"; }
|
||||
.fa-xing-square:before { content: "\f383"; }
|
||||
.fa-y-combinator:before { content: "\f384"; }
|
||||
.fa-y-combinator-square:before { content: "\f385"; }
|
||||
.fa-yahoo:before { content: "\f386"; }
|
||||
.fa-yc:before { content: "\f387"; }
|
||||
.fa-yc-square:before { content: "\f388"; }
|
||||
.fa-yelp:before { content: "\f389"; }
|
||||
.fa-yen:before { content: "\f38a"; }
|
||||
.fa-youtube:before { content: "\f38b"; }
|
||||
.fa-youtube-play:before { content: "\f38c"; }
|
||||
.fa-youtube-square:before { content: "\f38d"; }
|
15
bl-kernel/admin/themes/grizzly/css/line-awesome/css/line-awesome-font-awesome.min.css
vendored
Executable file
15
bl-kernel/admin/themes/grizzly/css/line-awesome/css/line-awesome-font-awesome.min.css
vendored
Executable file
File diff suppressed because one or more lines are too long
845
bl-kernel/admin/themes/grizzly/css/line-awesome/css/line-awesome.css
Executable file
845
bl-kernel/admin/themes/grizzly/css/line-awesome/css/line-awesome.css
Executable file
@ -0,0 +1,845 @@
|
||||
/*!
|
||||
* Line Awesome 1.1.0 by @icons_8 - https://icons8.com/line-awesome
|
||||
* License - https://icons8.com/good-boy-license/ (Font: SIL OFL 1.1, CSS: MIT License)
|
||||
*
|
||||
* Made with love by Icons8 [ https://icons8.com/ ] using FontCustom [ https://github.com/FontCustom/fontcustom ]
|
||||
*
|
||||
* Contacts:
|
||||
* [ https://icons8.com/contact ]
|
||||
*
|
||||
* Follow Icon8 on
|
||||
* Twitter [ https://twitter.com/icons_8 ]
|
||||
* Facebook [ https://www.facebook.com/Icons8 ]
|
||||
* Google+ [ https://plus.google.com/+Icons8 ]
|
||||
* GitHub [ https://github.com/icons8 ]
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: "LineAwesome";
|
||||
src: url("../fonts/line-awesome.eot?v=1.1.");
|
||||
src: url("../fonts/line-awesome.eot??v=1.1.#iefix") format("embedded-opentype"),
|
||||
url("../fonts/line-awesome.woff2?v=1.1.") format("woff2"),
|
||||
url("../fonts/line-awesome.woff?v=1.1.") format("woff"),
|
||||
url("../fonts/line-awesome.ttf?v=1.1.") format("truetype"),
|
||||
url("../fonts/line-awesome.svg?v=1.1.#fa") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: "LineAwesome";
|
||||
src: url("../fonts/line-awesome.svg?v=1.1.#fa") format("svg");
|
||||
}
|
||||
}
|
||||
|
||||
/* Thanks to http://fontawesome.io @fontawesome and @davegandy */
|
||||
.la {
|
||||
display: inline-block;
|
||||
font: normal normal normal 16px/1 "LineAwesome";
|
||||
font-size: inherit;
|
||||
text-decoration: inherit;
|
||||
text-rendering: optimizeLegibility;
|
||||
text-transform: none;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-smoothing: antialiased;
|
||||
}
|
||||
/* makes the font 33% larger relative to the icon container */
|
||||
.la-lg {
|
||||
font-size: 1.33333333em;
|
||||
line-height: 0.75em;
|
||||
vertical-align: -15%;
|
||||
}
|
||||
.la-2x {
|
||||
font-size: 2em;
|
||||
}
|
||||
.la-3x {
|
||||
font-size: 3em;
|
||||
}
|
||||
.la-4x {
|
||||
font-size: 4em;
|
||||
}
|
||||
.la-5x {
|
||||
font-size: 5em;
|
||||
}
|
||||
.la-fw {
|
||||
width: 1.28571429em;
|
||||
text-align: center;
|
||||
}
|
||||
.la-ul {
|
||||
padding-left: 0;
|
||||
margin-left: 2.14285714em;
|
||||
list-style-type: none;
|
||||
}
|
||||
.la-ul > li {
|
||||
position: relative;
|
||||
}
|
||||
.la-li {
|
||||
position: absolute;
|
||||
left: -2.14285714em;
|
||||
width: 2.14285714em;
|
||||
top: 0.14285714em;
|
||||
text-align: center;
|
||||
}
|
||||
.la-li.la-lg {
|
||||
left: -1.85714286em;
|
||||
}
|
||||
.la-border {
|
||||
padding: .2em .25em .15em;
|
||||
border: solid 0.08em #eeeeee;
|
||||
border-radius: .1em;
|
||||
}
|
||||
.pull-right {
|
||||
float: right;
|
||||
}
|
||||
.pull-left {
|
||||
float: left;
|
||||
}
|
||||
.li.pull-left {
|
||||
margin-right: .3em;
|
||||
}
|
||||
.li.pull-right {
|
||||
margin-left: .3em;
|
||||
}
|
||||
.la-spin {
|
||||
-webkit-animation: fa-spin 2s infinite linear;
|
||||
animation: fa-spin 2s infinite linear;
|
||||
}
|
||||
@-webkit-keyframes fa-spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@keyframes fa-spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
.la-rotate-90 {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
|
||||
-webkit-transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.la-rotate-180 {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
|
||||
-webkit-transform: rotate(180deg);
|
||||
-ms-transform: rotate(180deg);
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
.la-rotate-270 {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
|
||||
-webkit-transform: rotate(270deg);
|
||||
-ms-transform: rotate(270deg);
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
.la-flip-horizontal {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
|
||||
-webkit-transform: scale(-1, 1);
|
||||
-ms-transform: scale(-1, 1);
|
||||
transform: scale(-1, 1);
|
||||
}
|
||||
.la-flip-vertical {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
|
||||
-webkit-transform: scale(1, -1);
|
||||
-ms-transform: scale(1, -1);
|
||||
transform: scale(1, -1);
|
||||
}
|
||||
:root .la-rotate-90,
|
||||
:root .la-rotate-180,
|
||||
:root .la-rotate-270,
|
||||
:root .la-flip-horizontal,
|
||||
:root .la-flip-vertical {
|
||||
filter: none;
|
||||
}
|
||||
.la-stack {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 2em;
|
||||
height: 2em;
|
||||
line-height: 2em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.la-stack-1x,
|
||||
.la-stack-2x {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
.la-stack-1x {
|
||||
line-height: inherit;
|
||||
}
|
||||
.la-stack-2x {
|
||||
font-size: 2em;
|
||||
}
|
||||
.la-inverse {
|
||||
color: #ffffff;
|
||||
}
|
||||
/* Thanks to http://fontawesome.io @fontawesome and @davegandy */
|
||||
|
||||
.la-500px:before { content: "\f100"; }
|
||||
.la-adjust:before { content: "\f101"; }
|
||||
.la-adn:before { content: "\f102"; }
|
||||
.la-align-center:before { content: "\f103"; }
|
||||
.la-align-justify:before { content: "\f104"; }
|
||||
.la-align-left:before { content: "\f105"; }
|
||||
.la-align-right:before { content: "\f106"; }
|
||||
.la-amazon:before { content: "\f107"; }
|
||||
.la-ambulance:before { content: "\f108"; }
|
||||
.la-anchor:before { content: "\f109"; }
|
||||
.la-android:before { content: "\f10a"; }
|
||||
.la-angellist:before { content: "\f10b"; }
|
||||
.la-angle-double-down:before { content: "\f10c"; }
|
||||
.la-angle-double-left:before { content: "\f10d"; }
|
||||
.la-angle-double-right:before { content: "\f10e"; }
|
||||
.la-angle-double-up:before { content: "\f10f"; }
|
||||
.la-angle-down:before { content: "\f110"; }
|
||||
.la-angle-left:before { content: "\f111"; }
|
||||
.la-angle-right:before { content: "\f112"; }
|
||||
.la-angle-up:before { content: "\f113"; }
|
||||
.la-apple:before { content: "\f114"; }
|
||||
.la-archive:before { content: "\f115"; }
|
||||
.la-area-chart:before { content: "\f116"; }
|
||||
.la-arrow-circle-down:before { content: "\f117"; }
|
||||
.la-arrow-circle-left:before { content: "\f118"; }
|
||||
.la-arrow-circle-o-down:before { content: "\f119"; }
|
||||
.la-arrow-circle-o-left:before { content: "\f11a"; }
|
||||
.la-arrow-circle-o-right:before { content: "\f11b"; }
|
||||
.la-arrow-circle-o-up:before { content: "\f11c"; }
|
||||
.la-arrow-circle-right:before { content: "\f11d"; }
|
||||
.la-arrow-circle-up:before { content: "\f11e"; }
|
||||
.la-arrow-down:before { content: "\f11f"; }
|
||||
.la-arrow-left:before { content: "\f120"; }
|
||||
.la-arrow-right:before { content: "\f121"; }
|
||||
.la-arrow-up:before { content: "\f122"; }
|
||||
.la-arrows:before { content: "\f123"; }
|
||||
.la-arrows-alt:before { content: "\f124"; }
|
||||
.la-arrows-h:before { content: "\f125"; }
|
||||
.la-arrows-v:before { content: "\f126"; }
|
||||
.la-asterisk:before { content: "\f127"; }
|
||||
.la-at:before { content: "\f128"; }
|
||||
.la-automobile:before { content: "\f129"; }
|
||||
.la-backward:before { content: "\f12a"; }
|
||||
.la-balance-scale:before { content: "\f12b"; }
|
||||
.la-ban:before { content: "\f12c"; }
|
||||
.la-bank:before { content: "\f12d"; }
|
||||
.la-bar-chart:before { content: "\f12e"; }
|
||||
.la-bar-chart-o:before { content: "\f12f"; }
|
||||
.la-barcode:before { content: "\f130"; }
|
||||
.la-bars:before { content: "\f131"; }
|
||||
.la-battery-0:before { content: "\f132"; }
|
||||
.la-battery-1:before { content: "\f133"; }
|
||||
.la-battery-2:before { content: "\f134"; }
|
||||
.la-battery-3:before { content: "\f135"; }
|
||||
.la-battery-4:before { content: "\f136"; }
|
||||
.la-battery-empty:before { content: "\f137"; }
|
||||
.la-battery-full:before { content: "\f138"; }
|
||||
.la-battery-half:before { content: "\f139"; }
|
||||
.la-battery-quarter:before { content: "\f13a"; }
|
||||
.la-battery-three-quarters:before { content: "\f13b"; }
|
||||
.la-bed:before { content: "\f13c"; }
|
||||
.la-beer:before { content: "\f13d"; }
|
||||
.la-behance:before { content: "\f13e"; }
|
||||
.la-behance-square:before { content: "\f13f"; }
|
||||
.la-bell:before { content: "\f140"; }
|
||||
.la-bell-o:before { content: "\f141"; }
|
||||
.la-bell-slash:before { content: "\f142"; }
|
||||
.la-bell-slash-o:before { content: "\f143"; }
|
||||
.la-bicycle:before { content: "\f144"; }
|
||||
.la-binoculars:before { content: "\f145"; }
|
||||
.la-birthday-cake:before { content: "\f146"; }
|
||||
.la-bitbucket:before { content: "\f147"; }
|
||||
.la-bitbucket-square:before { content: "\f148"; }
|
||||
.la-bitcoin:before { content: "\f149"; }
|
||||
.la-black-tie:before { content: "\f14a"; }
|
||||
.la-bold:before { content: "\f14b"; }
|
||||
.la-bolt:before { content: "\f14c"; }
|
||||
.la-bomb:before { content: "\f14d"; }
|
||||
.la-book:before { content: "\f14e"; }
|
||||
.la-bookmark:before { content: "\f14f"; }
|
||||
.la-bookmark-o:before { content: "\f150"; }
|
||||
.la-briefcase:before { content: "\f151"; }
|
||||
.la-btc:before { content: "\f152"; }
|
||||
.la-bug:before { content: "\f153"; }
|
||||
.la-building:before { content: "\f154"; }
|
||||
.la-building-o:before { content: "\f155"; }
|
||||
.la-bullhorn:before { content: "\f156"; }
|
||||
.la-bullseye:before { content: "\f157"; }
|
||||
.la-bus:before { content: "\f158"; }
|
||||
.la-buysellads:before { content: "\f159"; }
|
||||
.la-cab:before { content: "\f15a"; }
|
||||
.la-calculator:before { content: "\f15b"; }
|
||||
.la-calendar:before { content: "\f15c"; }
|
||||
.la-calendar-check-o:before { content: "\f15d"; }
|
||||
.la-calendar-minus-o:before { content: "\f15e"; }
|
||||
.la-calendar-o:before { content: "\f15f"; }
|
||||
.la-calendar-plus-o:before { content: "\f160"; }
|
||||
.la-calendar-times-o:before { content: "\f161"; }
|
||||
.la-camera:before { content: "\f162"; }
|
||||
.la-camera-retro:before { content: "\f163"; }
|
||||
.la-car:before { content: "\f164"; }
|
||||
.la-caret-down:before { content: "\f165"; }
|
||||
.la-caret-left:before { content: "\f166"; }
|
||||
.la-caret-right:before { content: "\f167"; }
|
||||
.la-caret-square-o-down:before, .la-toggle-down:before { content: "\f168"; }
|
||||
.la-caret-square-o-left:before, .la-toggle-left:before { content: "\f169"; }
|
||||
.la-caret-square-o-right:before, .la-toggle-right:before { content: "\f16a"; }
|
||||
.la-caret-square-o-up:before, .la-toggle-up:before { content: "\f16b"; }
|
||||
.la-caret-up:before { content: "\f16c"; }
|
||||
.la-cart-arrow-down:before { content: "\f16d"; }
|
||||
.la-cart-plus:before { content: "\f16e"; }
|
||||
.la-cc:before { content: "\f16f"; }
|
||||
.la-cc-amex:before { content: "\f170"; }
|
||||
.la-cc-diners-club:before { content: "\f171"; }
|
||||
.la-cc-discover:before { content: "\f172"; }
|
||||
.la-cc-jcb:before { content: "\f173"; }
|
||||
.la-cc-mastercard:before { content: "\f174"; }
|
||||
.la-cc-paypal:before { content: "\f175"; }
|
||||
.la-cc-stripe:before { content: "\f176"; }
|
||||
.la-cc-visa:before { content: "\f177"; }
|
||||
.la-certificate:before { content: "\f178"; }
|
||||
.la-chain:before { content: "\f179"; }
|
||||
.la-chain-broken:before { content: "\f17a"; }
|
||||
.la-check:before { content: "\f17b"; }
|
||||
.la-check-circle:before { content: "\f17c"; }
|
||||
.la-check-circle-o:before { content: "\f17d"; }
|
||||
.la-check-square:before { content: "\f17e"; }
|
||||
.la-check-square-o:before { content: "\f17f"; }
|
||||
.la-chevron-circle-down:before { content: "\f180"; }
|
||||
.la-chevron-circle-left:before { content: "\f181"; }
|
||||
.la-chevron-circle-right:before { content: "\f182"; }
|
||||
.la-chevron-circle-up:before { content: "\f183"; }
|
||||
.la-chevron-down:before { content: "\f184"; }
|
||||
.la-chevron-left:before { content: "\f185"; }
|
||||
.la-chevron-right:before { content: "\f186"; }
|
||||
.la-chevron-up:before { content: "\f187"; }
|
||||
.la-child:before { content: "\f188"; }
|
||||
.la-chrome:before { content: "\f189"; }
|
||||
.la-circle:before { content: "\f18a"; }
|
||||
.la-circle-o:before { content: "\f18b"; }
|
||||
.la-circle-o-notch:before { content: "\f18c"; }
|
||||
.la-circle-thin:before { content: "\f18d"; }
|
||||
.la-clipboard:before { content: "\f18e"; }
|
||||
.la-clock-o:before { content: "\f18f"; }
|
||||
.la-clone:before { content: "\f190"; }
|
||||
.la-close:before { content: "\f191"; }
|
||||
.la-cloud:before { content: "\f192"; }
|
||||
.la-cloud-download:before { content: "\f193"; }
|
||||
.la-cloud-upload:before { content: "\f194"; }
|
||||
.la-cny:before { content: "\f195"; }
|
||||
.la-code:before { content: "\f196"; }
|
||||
.la-code-fork:before { content: "\f197"; }
|
||||
.la-codepen:before { content: "\f198"; }
|
||||
.la-coffee:before { content: "\f199"; }
|
||||
.la-cog:before { content: "\f19a"; }
|
||||
.la-cogs:before { content: "\f19b"; }
|
||||
.la-columns:before { content: "\f19c"; }
|
||||
.la-comment:before { content: "\f19d"; }
|
||||
.la-comment-o:before { content: "\f19e"; }
|
||||
.la-commenting:before { content: "\f19f"; }
|
||||
.la-commenting-o:before { content: "\f1a0"; }
|
||||
.la-comments:before { content: "\f1a1"; }
|
||||
.la-comments-o:before { content: "\f1a2"; }
|
||||
.la-compass:before { content: "\f1a3"; }
|
||||
.la-compress:before { content: "\f1a4"; }
|
||||
.la-connectdevelop:before { content: "\f1a5"; }
|
||||
.la-contao:before { content: "\f1a6"; }
|
||||
.la-copy:before { content: "\f1a7"; }
|
||||
.la-copyright:before { content: "\f1a8"; }
|
||||
.la-creative-commons:before { content: "\f1a9"; }
|
||||
.la-credit-card:before { content: "\f1aa"; }
|
||||
.la-crop:before { content: "\f1ab"; }
|
||||
.la-crosshairs:before { content: "\f1ac"; }
|
||||
.la-css3:before { content: "\f1ad"; }
|
||||
.la-cube:before { content: "\f1ae"; }
|
||||
.la-cubes:before { content: "\f1af"; }
|
||||
.la-cut:before { content: "\f1b0"; }
|
||||
.la-cutlery:before { content: "\f1b1"; }
|
||||
.la-dashboard:before { content: "\f1b2"; }
|
||||
.la-dashcube:before { content: "\f1b3"; }
|
||||
.la-database:before { content: "\f1b4"; }
|
||||
.la-dedent:before { content: "\f1b5"; }
|
||||
.la-delicious:before { content: "\f1b6"; }
|
||||
.la-desktop:before { content: "\f1b7"; }
|
||||
.la-deviantart:before { content: "\f1b8"; }
|
||||
.la-diamond:before { content: "\f1b9"; }
|
||||
.la-digg:before { content: "\f1ba"; }
|
||||
.la-dollar:before { content: "\f1bb"; }
|
||||
.la-dot-circle-o:before { content: "\f1bc"; }
|
||||
.la-download:before { content: "\f1bd"; }
|
||||
.la-dribbble:before { content: "\f1be"; }
|
||||
.la-dropbox:before { content: "\f1bf"; }
|
||||
.la-drupal:before { content: "\f1c0"; }
|
||||
.la-edit:before { content: "\f1c1"; }
|
||||
.la-eject:before { content: "\f1c2"; }
|
||||
.la-ellipsis-h:before { content: "\f1c3"; }
|
||||
.la-ellipsis-v:before { content: "\f1c4"; }
|
||||
.la-empire:before, .la-ge:before { content: "\f1c5"; }
|
||||
.la-envelope:before { content: "\f1c6"; }
|
||||
.la-envelope-o:before { content: "\f1c7"; }
|
||||
.la-envelope-square:before { content: "\f1c8"; }
|
||||
.la-eraser:before { content: "\f1c9"; }
|
||||
.la-eur:before { content: "\f1ca"; }
|
||||
.la-euro:before { content: "\f1cb"; }
|
||||
.la-exchange:before { content: "\f1cc"; }
|
||||
.la-exclamation:before { content: "\f1cd"; }
|
||||
.la-exclamation-circle:before { content: "\f1ce"; }
|
||||
.la-exclamation-triangle:before { content: "\f1cf"; }
|
||||
.la-expand:before { content: "\f1d0"; }
|
||||
.la-expeditedssl:before { content: "\f1d1"; }
|
||||
.la-external-link:before { content: "\f1d2"; }
|
||||
.la-external-link-square:before { content: "\f1d3"; }
|
||||
.la-eye:before { content: "\f1d4"; }
|
||||
.la-eye-slash:before { content: "\f1d5"; }
|
||||
.la-eyedropper:before { content: "\f1d6"; }
|
||||
.la-facebook:before, .la-facebook-f:before { content: "\f1d7"; }
|
||||
.la-facebook-official:before { content: "\f1d8"; }
|
||||
.la-facebook-square:before { content: "\f1d9"; }
|
||||
.la-fast-backward:before { content: "\f1da"; }
|
||||
.la-fast-forward:before { content: "\f1db"; }
|
||||
.la-fax:before { content: "\f1dc"; }
|
||||
.la-female:before { content: "\f1dd"; }
|
||||
.la-fighter-jet:before { content: "\f1de"; }
|
||||
.la-file:before { content: "\f1df"; }
|
||||
.la-file-archive-o:before { content: "\f1e0"; }
|
||||
.la-file-audio-o:before { content: "\f1e1"; }
|
||||
.la-file-code-o:before { content: "\f1e2"; }
|
||||
.la-file-excel-o:before { content: "\f1e3"; }
|
||||
.la-file-image-o:before { content: "\f1e4"; }
|
||||
.la-file-movie-o:before { content: "\f1e5"; }
|
||||
.la-file-o:before { content: "\f1e6"; }
|
||||
.la-file-pdf-o:before { content: "\f1e7"; }
|
||||
.la-file-photo-o:before { content: "\f1e8"; }
|
||||
.la-file-picture-o:before { content: "\f1e9"; }
|
||||
.la-file-powerpoint-o:before { content: "\f1ea"; }
|
||||
.la-file-sound-o:before { content: "\f1eb"; }
|
||||
.la-file-text:before { content: "\f1ec"; }
|
||||
.la-file-text-o:before { content: "\f1ed"; }
|
||||
.la-file-video-o:before { content: "\f1ee"; }
|
||||
.la-file-word-o:before { content: "\f1ef"; }
|
||||
.la-file-zip-o:before { content: "\f1f0"; }
|
||||
.la-files-o:before { content: "\f1f1"; }
|
||||
.la-film:before { content: "\f1f2"; }
|
||||
.la-filter:before { content: "\f1f3"; }
|
||||
.la-fire:before { content: "\f1f4"; }
|
||||
.la-fire-extinguisher:before { content: "\f1f5"; }
|
||||
.la-firefox:before { content: "\f1f6"; }
|
||||
.la-flag:before { content: "\f1f7"; }
|
||||
.la-flag-checkered:before { content: "\f1f8"; }
|
||||
.la-flag-o:before { content: "\f1f9"; }
|
||||
.la-flash:before { content: "\f1fa"; }
|
||||
.la-flask:before { content: "\f1fb"; }
|
||||
.la-flickr:before { content: "\f1fc"; }
|
||||
.la-floppy-o:before { content: "\f1fd"; }
|
||||
.la-folder:before { content: "\f1fe"; }
|
||||
.la-folder-o:before { content: "\f1ff"; }
|
||||
.la-folder-open:before { content: "\f200"; }
|
||||
.la-folder-open-o:before { content: "\f201"; }
|
||||
.la-font:before { content: "\f202"; }
|
||||
.la-fonticons:before { content: "\f203"; }
|
||||
.la-forumbee:before { content: "\f204"; }
|
||||
.la-forward:before { content: "\f205"; }
|
||||
.la-foursquare:before { content: "\f206"; }
|
||||
.la-frown-o:before { content: "\f207"; }
|
||||
.la-futbol-o:before, .la-soccer-ball-o:before { content: "\f208"; }
|
||||
.la-gamepad:before { content: "\f209"; }
|
||||
.la-gavel:before { content: "\f20a"; }
|
||||
.la-gbp:before { content: "\f20b"; }
|
||||
.la-gear:before { content: "\f20c"; }
|
||||
.la-gears:before { content: "\f20d"; }
|
||||
.la-genderless:before { content: "\f20e"; }
|
||||
.la-get-pocket:before { content: "\f20f"; }
|
||||
.la-gg:before { content: "\f210"; }
|
||||
.la-gg-circle:before { content: "\f211"; }
|
||||
.la-gift:before { content: "\f212"; }
|
||||
.la-git:before { content: "\f213"; }
|
||||
.la-git-square:before { content: "\f214"; }
|
||||
.la-github:before { content: "\f215"; }
|
||||
.la-github-alt:before { content: "\f216"; }
|
||||
.la-github-square:before { content: "\f217"; }
|
||||
.la-glass:before { content: "\f218"; }
|
||||
.la-globe:before { content: "\f219"; }
|
||||
.la-google:before { content: "\f21a"; }
|
||||
.la-google-plus:before { content: "\f21b"; }
|
||||
.la-google-plus-square:before { content: "\f21c"; }
|
||||
.la-google-wallet:before { content: "\f21d"; }
|
||||
.la-graduation-cap:before { content: "\f21e"; }
|
||||
.la-gratipay:before, .la-gittip:before { content: "\f21f"; }
|
||||
.la-group:before { content: "\f220"; }
|
||||
.la-h-square:before { content: "\f221"; }
|
||||
.la-hacker-news:before { content: "\f222"; }
|
||||
.la-hand-grab-o:before { content: "\f223"; }
|
||||
.la-hand-lizard-o:before { content: "\f224"; }
|
||||
.la-hand-o-down:before { content: "\f225"; }
|
||||
.la-hand-o-left:before { content: "\f226"; }
|
||||
.la-hand-o-right:before { content: "\f227"; }
|
||||
.la-hand-o-up:before { content: "\f228"; }
|
||||
.la-hand-paper-o:before { content: "\f229"; }
|
||||
.la-hand-peace-o:before { content: "\f22a"; }
|
||||
.la-hand-pointer-o:before { content: "\f22b"; }
|
||||
.la-hand-rock-o:before { content: "\f22c"; }
|
||||
.la-hand-scissors-o:before { content: "\f22d"; }
|
||||
.la-hand-spock-o:before { content: "\f22e"; }
|
||||
.la-hand-stop-o:before { content: "\f22f"; }
|
||||
.la-hdd-o:before { content: "\f230"; }
|
||||
.la-header:before { content: "\f231"; }
|
||||
.la-headphones:before { content: "\f232"; }
|
||||
.la-heart:before { content: "\f233"; }
|
||||
.la-heart-o:before { content: "\f234"; }
|
||||
.la-heartbeat:before { content: "\f235"; }
|
||||
.la-history:before { content: "\f236"; }
|
||||
.la-home:before { content: "\f237"; }
|
||||
.la-hospital-o:before { content: "\f238"; }
|
||||
.la-hotel:before { content: "\f239"; }
|
||||
.la-hourglass:before { content: "\f23a"; }
|
||||
.la-hourglass-1:before { content: "\f23b"; }
|
||||
.la-hourglass-2:before { content: "\f23c"; }
|
||||
.la-hourglass-3:before { content: "\f23d"; }
|
||||
.la-hourglass-end:before { content: "\f23e"; }
|
||||
.la-hourglass-half:before { content: "\f23f"; }
|
||||
.la-hourglass-o:before { content: "\f240"; }
|
||||
.la-hourglass-start:before { content: "\f241"; }
|
||||
.la-houzz:before { content: "\f242"; }
|
||||
.la-html5:before { content: "\f243"; }
|
||||
.la-i-cursor:before { content: "\f244"; }
|
||||
.la-ils:before { content: "\f245"; }
|
||||
.la-image:before { content: "\f246"; }
|
||||
.la-inbox:before { content: "\f247"; }
|
||||
.la-indent:before { content: "\f248"; }
|
||||
.la-industry:before { content: "\f249"; }
|
||||
.la-info:before { content: "\f24a"; }
|
||||
.la-info-circle:before { content: "\f24b"; }
|
||||
.la-inr:before { content: "\f24c"; }
|
||||
.la-instagram:before { content: "\f24d"; }
|
||||
.la-institution:before { content: "\f24e"; }
|
||||
.la-internet-explorer:before { content: "\f24f"; }
|
||||
.la-ioxhost:before { content: "\f250"; }
|
||||
.la-italic:before { content: "\f251"; }
|
||||
.la-joomla:before { content: "\f252"; }
|
||||
.la-jpy:before { content: "\f253"; }
|
||||
.la-jsfiddle:before { content: "\f254"; }
|
||||
.la-key:before { content: "\f255"; }
|
||||
.la-keyboard-o:before { content: "\f256"; }
|
||||
.la-krw:before { content: "\f257"; }
|
||||
.la-language:before { content: "\f258"; }
|
||||
.la-laptop:before { content: "\f259"; }
|
||||
.la-lastfm:before { content: "\f25a"; }
|
||||
.la-lastfm-square:before { content: "\f25b"; }
|
||||
.la-leaf:before { content: "\f25c"; }
|
||||
.la-leanpub:before { content: "\f25d"; }
|
||||
.la-legal:before { content: "\f25e"; }
|
||||
.la-lemon-o:before { content: "\f25f"; }
|
||||
.la-level-down:before { content: "\f260"; }
|
||||
.la-level-up:before { content: "\f261"; }
|
||||
.la-life-bouy:before { content: "\f262"; }
|
||||
.la-life-buoy:before { content: "\f263"; }
|
||||
.la-life-ring:before, .la-support:before { content: "\f264"; }
|
||||
.la-life-saver:before { content: "\f265"; }
|
||||
.la-lightbulb-o:before { content: "\f266"; }
|
||||
.la-line-chart:before { content: "\f267"; }
|
||||
.la-link:before { content: "\f268"; }
|
||||
.la-linkedin:before { content: "\f269"; }
|
||||
.la-linkedin-square:before { content: "\f26a"; }
|
||||
.la-linux:before { content: "\f26b"; }
|
||||
.la-list:before { content: "\f26c"; }
|
||||
.la-list-alt:before { content: "\f26d"; }
|
||||
.la-list-ol:before { content: "\f26e"; }
|
||||
.la-list-ul:before { content: "\f26f"; }
|
||||
.la-location-arrow:before { content: "\f270"; }
|
||||
.la-lock:before { content: "\f271"; }
|
||||
.la-long-arrow-down:before { content: "\f272"; }
|
||||
.la-long-arrow-left:before { content: "\f273"; }
|
||||
.la-long-arrow-right:before { content: "\f274"; }
|
||||
.la-long-arrow-up:before { content: "\f275"; }
|
||||
.la-magic:before { content: "\f276"; }
|
||||
.la-magnet:before { content: "\f277"; }
|
||||
.la-mail-forward:before { content: "\f278"; }
|
||||
.la-mail-reply:before { content: "\f279"; }
|
||||
.la-mail-reply-all:before { content: "\f27a"; }
|
||||
.la-male:before { content: "\f27b"; }
|
||||
.la-map:before { content: "\f27c"; }
|
||||
.la-map-marker:before { content: "\f27d"; }
|
||||
.la-map-o:before { content: "\f27e"; }
|
||||
.la-map-pin:before { content: "\f27f"; }
|
||||
.la-map-signs:before { content: "\f280"; }
|
||||
.la-mars:before { content: "\f281"; }
|
||||
.la-mars-double:before { content: "\f282"; }
|
||||
.la-mars-stroke:before { content: "\f283"; }
|
||||
.la-mars-stroke-h:before { content: "\f284"; }
|
||||
.la-mars-stroke-v:before { content: "\f285"; }
|
||||
.la-maxcdn:before { content: "\f286"; }
|
||||
.la-meanpath:before { content: "\f287"; }
|
||||
.la-medium:before { content: "\f288"; }
|
||||
.la-medkit:before { content: "\f289"; }
|
||||
.la-meh-o:before { content: "\f28a"; }
|
||||
.la-mercury:before { content: "\f28b"; }
|
||||
.la-microphone:before { content: "\f28c"; }
|
||||
.la-microphone-slash:before { content: "\f28d"; }
|
||||
.la-minus:before { content: "\f28e"; }
|
||||
.la-minus-circle:before { content: "\f28f"; }
|
||||
.la-minus-square:before { content: "\f290"; }
|
||||
.la-minus-square-o:before { content: "\f291"; }
|
||||
.la-mobile:before { content: "\f292"; }
|
||||
.la-mobile-phone:before { content: "\f293"; }
|
||||
.la-money:before { content: "\f294"; }
|
||||
.la-moon-o:before { content: "\f295"; }
|
||||
.la-mortar-board:before { content: "\f296"; }
|
||||
.la-motorcycle:before { content: "\f297"; }
|
||||
.la-mouse-pointer:before { content: "\f298"; }
|
||||
.la-music:before { content: "\f299"; }
|
||||
.la-navicon:before { content: "\f29a"; }
|
||||
.la-neuter:before { content: "\f29b"; }
|
||||
.la-newspaper-o:before { content: "\f29c"; }
|
||||
.la-object-group:before { content: "\f29d"; }
|
||||
.la-object-ungroup:before { content: "\f29e"; }
|
||||
.la-odnoklassniki:before { content: "\f29f"; }
|
||||
.la-odnoklassniki-square:before { content: "\f2a0"; }
|
||||
.la-opencart:before { content: "\f2a1"; }
|
||||
.la-openid:before { content: "\f2a2"; }
|
||||
.la-opera:before { content: "\f2a3"; }
|
||||
.la-optin-monster:before { content: "\f2a4"; }
|
||||
.la-outdent:before { content: "\f2a5"; }
|
||||
.la-pagelines:before { content: "\f2a6"; }
|
||||
.la-paint-brush:before { content: "\f2a7"; }
|
||||
.la-paper-plane:before, .la-send:before { content: "\f2a8"; }
|
||||
.la-paper-plane-o:before, .la-send-o:before { content: "\f2a9"; }
|
||||
.la-paperclip:before { content: "\f2aa"; }
|
||||
.la-paragraph:before { content: "\f2ab"; }
|
||||
.la-paste:before { content: "\f2ac"; }
|
||||
.la-pause:before { content: "\f2ad"; }
|
||||
.la-paw:before { content: "\f2ae"; }
|
||||
.la-paypal:before { content: "\f2af"; }
|
||||
.la-pencil:before { content: "\f2b0"; }
|
||||
.la-pencil-square:before { content: "\f2b1"; }
|
||||
.la-pencil-square-o:before { content: "\f2b2"; }
|
||||
.la-phone:before { content: "\f2b3"; }
|
||||
.la-phone-square:before { content: "\f2b4"; }
|
||||
.la-photo:before { content: "\f2b5"; }
|
||||
.la-picture-o:before { content: "\f2b6"; }
|
||||
.la-pie-chart:before { content: "\f2b7"; }
|
||||
.la-pied-piper:before { content: "\f2b8"; }
|
||||
.la-pied-piper-alt:before { content: "\f2b9"; }
|
||||
.la-pinterest:before { content: "\f2ba"; }
|
||||
.la-pinterest-p:before { content: "\f2bb"; }
|
||||
.la-pinterest-square:before { content: "\f2bc"; }
|
||||
.la-plane:before { content: "\f2bd"; }
|
||||
.la-play:before { content: "\f2be"; }
|
||||
.la-play-circle:before { content: "\f2bf"; }
|
||||
.la-play-circle-o:before { content: "\f2c0"; }
|
||||
.la-plug:before { content: "\f2c1"; }
|
||||
.la-plus:before { content: "\f2c2"; }
|
||||
.la-plus-circle:before { content: "\f2c3"; }
|
||||
.la-plus-square:before { content: "\f2c4"; }
|
||||
.la-plus-square-o:before { content: "\f2c5"; }
|
||||
.la-power-off:before { content: "\f2c6"; }
|
||||
.la-print:before { content: "\f2c7"; }
|
||||
.la-puzzle-piece:before { content: "\f2c8"; }
|
||||
.la-qq:before { content: "\f2c9"; }
|
||||
.la-qrcode:before { content: "\f2ca"; }
|
||||
.la-question:before { content: "\f2cb"; }
|
||||
.la-question-circle:before { content: "\f2cc"; }
|
||||
.la-quote-left:before { content: "\f2cd"; }
|
||||
.la-quote-right:before { content: "\f2ce"; }
|
||||
.la-ra:before { content: "\f2cf"; }
|
||||
.la-random:before { content: "\f2d0"; }
|
||||
.la-rebel:before { content: "\f2d1"; }
|
||||
.la-recycle:before { content: "\f2d2"; }
|
||||
.la-reddit:before { content: "\f2d3"; }
|
||||
.la-reddit-square:before { content: "\f2d4"; }
|
||||
.la-refresh:before { content: "\f2d5"; }
|
||||
.la-registered:before { content: "\f2d6"; }
|
||||
.la-renren:before { content: "\f2d7"; }
|
||||
.la-reorder:before { content: "\f2d8"; }
|
||||
.la-repeat:before { content: "\f2d9"; }
|
||||
.la-reply:before { content: "\f2da"; }
|
||||
.la-reply-all:before { content: "\f2db"; }
|
||||
.la-retweet:before { content: "\f2dc"; }
|
||||
.la-rmb:before { content: "\f2dd"; }
|
||||
.la-road:before { content: "\f2de"; }
|
||||
.la-rocket:before { content: "\f2df"; }
|
||||
.la-rotate-left:before { content: "\f2e0"; }
|
||||
.la-rotate-right:before { content: "\f2e1"; }
|
||||
.la-rouble:before { content: "\f2e2"; }
|
||||
.la-rss:before, .la-feed:before { content: "\f2e3"; }
|
||||
.la-rss-square:before { content: "\f2e4"; }
|
||||
.la-rub:before { content: "\f2e5"; }
|
||||
.la-ruble:before { content: "\f2e6"; }
|
||||
.la-rupee:before { content: "\f2e7"; }
|
||||
.la-safari:before { content: "\f2e8"; }
|
||||
.la-save:before { content: "\f2e9"; }
|
||||
.la-scissors:before { content: "\f2ea"; }
|
||||
.la-search:before { content: "\f2eb"; }
|
||||
.la-search-minus:before { content: "\f2ec"; }
|
||||
.la-search-plus:before { content: "\f2ed"; }
|
||||
.la-sellsy:before { content: "\f2ee"; }
|
||||
.la-server:before { content: "\f2ef"; }
|
||||
.la-share:before { content: "\f2f0"; }
|
||||
.la-share-alt:before { content: "\f2f1"; }
|
||||
.la-share-alt-square:before { content: "\f2f2"; }
|
||||
.la-share-square:before { content: "\f2f3"; }
|
||||
.la-share-square-o:before { content: "\f2f4"; }
|
||||
.la-shekel:before { content: "\f2f5"; }
|
||||
.la-sheqel:before { content: "\f2f6"; }
|
||||
.la-shield:before { content: "\f2f7"; }
|
||||
.la-ship:before { content: "\f2f8"; }
|
||||
.la-shirtsinbulk:before { content: "\f2f9"; }
|
||||
.la-shopping-cart:before { content: "\f2fa"; }
|
||||
.la-sign-in:before { content: "\f2fb"; }
|
||||
.la-sign-out:before { content: "\f2fc"; }
|
||||
.la-signal:before { content: "\f2fd"; }
|
||||
.la-simplybuilt:before { content: "\f2fe"; }
|
||||
.la-sitemap:before { content: "\f2ff"; }
|
||||
.la-skyatlas:before { content: "\f300"; }
|
||||
.la-skype:before { content: "\f301"; }
|
||||
.la-slack:before { content: "\f302"; }
|
||||
.la-sliders:before { content: "\f303"; }
|
||||
.la-slideshare:before { content: "\f304"; }
|
||||
.la-smile-o:before { content: "\f305"; }
|
||||
.la-sort:before, .la-unsorted:before { content: "\f306"; }
|
||||
.la-sort-alpha-asc:before { content: "\f307"; }
|
||||
.la-sort-alpha-desc:before { content: "\f308"; }
|
||||
.la-sort-amount-asc:before { content: "\f309"; }
|
||||
.la-sort-amount-desc:before { content: "\f30a"; }
|
||||
.la-sort-asc:before, .la-sort-up:before { content: "\f30b"; }
|
||||
.la-sort-desc:before, .la-sort-down:before { content: "\f30c"; }
|
||||
.la-sort-numeric-asc:before { content: "\f30d"; }
|
||||
.la-sort-numeric-desc:before { content: "\f30e"; }
|
||||
.la-soundcloud:before { content: "\f30f"; }
|
||||
.la-space-shuttle:before { content: "\f310"; }
|
||||
.la-spinner:before { content: "\f311"; }
|
||||
.la-spoon:before { content: "\f312"; }
|
||||
.la-spotify:before { content: "\f313"; }
|
||||
.la-square:before { content: "\f314"; }
|
||||
.la-square-o:before { content: "\f315"; }
|
||||
.la-stack-exchange:before { content: "\f316"; }
|
||||
.la-stack-overflow:before { content: "\f317"; }
|
||||
.la-star:before { content: "\f318"; }
|
||||
.la-star-half:before { content: "\f319"; }
|
||||
.la-star-half-o:before, .la-star-half-full:before, .la-star-half-empty:before { content: "\f31a"; }
|
||||
.la-star-o:before { content: "\f31b"; }
|
||||
.la-steam:before { content: "\f31c"; }
|
||||
.la-steam-square:before { content: "\f31d"; }
|
||||
.la-step-backward:before { content: "\f31e"; }
|
||||
.la-step-forward:before { content: "\f31f"; }
|
||||
.la-stethoscope:before { content: "\f320"; }
|
||||
.la-sticky-note:before { content: "\f321"; }
|
||||
.la-sticky-note-o:before { content: "\f322"; }
|
||||
.la-stop:before { content: "\f323"; }
|
||||
.la-street-view:before { content: "\f324"; }
|
||||
.la-strikethrough:before { content: "\f325"; }
|
||||
.la-stumbleupon:before { content: "\f326"; }
|
||||
.la-stumbleupon-circle:before { content: "\f327"; }
|
||||
.la-subscript:before { content: "\f328"; }
|
||||
.la-subway:before { content: "\f329"; }
|
||||
.la-suitcase:before { content: "\f32a"; }
|
||||
.la-sun-o:before { content: "\f32b"; }
|
||||
.la-superscript:before { content: "\f32c"; }
|
||||
.la-table:before { content: "\f32d"; }
|
||||
.la-tablet:before { content: "\f32e"; }
|
||||
.la-tachometer:before { content: "\f32f"; }
|
||||
.la-tag:before { content: "\f330"; }
|
||||
.la-tags:before { content: "\f331"; }
|
||||
.la-tasks:before { content: "\f332"; }
|
||||
.la-taxi:before { content: "\f333"; }
|
||||
.la-television:before, .la-tv:before { content: "\f334"; }
|
||||
.la-tencent-weibo:before { content: "\f335"; }
|
||||
.la-terminal:before { content: "\f336"; }
|
||||
.la-text-height:before { content: "\f337"; }
|
||||
.la-text-width:before { content: "\f338"; }
|
||||
.la-th:before { content: "\f339"; }
|
||||
.la-th-large:before { content: "\f33a"; }
|
||||
.la-th-list:before { content: "\f33b"; }
|
||||
.la-thumb-tack:before { content: "\f33c"; }
|
||||
.la-thumbs-down:before { content: "\f33d"; }
|
||||
.la-thumbs-o-down:before { content: "\f33e"; }
|
||||
.la-thumbs-o-up:before { content: "\f33f"; }
|
||||
.la-thumbs-up:before { content: "\f340"; }
|
||||
.la-ticket:before { content: "\f341"; }
|
||||
.la-times:before, .la-remove:before { content: "\f342"; }
|
||||
.la-times-circle:before { content: "\f343"; }
|
||||
.la-times-circle-o:before { content: "\f344"; }
|
||||
.la-tint:before { content: "\f345"; }
|
||||
.la-toggle-off:before { content: "\f346"; }
|
||||
.la-toggle-on:before { content: "\f347"; }
|
||||
.la-trademark:before { content: "\f348"; }
|
||||
.la-train:before { content: "\f349"; }
|
||||
.la-transgender:before, .la-intersex:before { content: "\f34a"; }
|
||||
.la-transgender-alt:before { content: "\f34b"; }
|
||||
.la-trash:before { content: "\f34c"; }
|
||||
.la-trash-o:before { content: "\f34d"; }
|
||||
.la-tree:before { content: "\f34e"; }
|
||||
.la-trello:before { content: "\f34f"; }
|
||||
.la-tripadvisor:before { content: "\f350"; }
|
||||
.la-trophy:before { content: "\f351"; }
|
||||
.la-truck:before { content: "\f352"; }
|
||||
.la-try:before { content: "\f353"; }
|
||||
.la-tty:before { content: "\f354"; }
|
||||
.la-tumblr:before { content: "\f355"; }
|
||||
.la-tumblr-square:before { content: "\f356"; }
|
||||
.la-turkish-lira:before { content: "\f357"; }
|
||||
.la-twitch:before { content: "\f358"; }
|
||||
.la-twitter:before { content: "\f359"; }
|
||||
.la-twitter-square:before { content: "\f35a"; }
|
||||
.la-umbrella:before { content: "\f35b"; }
|
||||
.la-underline:before { content: "\f35c"; }
|
||||
.la-undo:before { content: "\f35d"; }
|
||||
.la-university:before { content: "\f35e"; }
|
||||
.la-unlink:before { content: "\f35f"; }
|
||||
.la-unlock:before { content: "\f360"; }
|
||||
.la-unlock-alt:before { content: "\f361"; }
|
||||
.la-upload:before { content: "\f362"; }
|
||||
.la-usd:before { content: "\f363"; }
|
||||
.la-user:before { content: "\f364"; }
|
||||
.la-user-md:before { content: "\f365"; }
|
||||
.la-user-plus:before { content: "\f366"; }
|
||||
.la-user-secret:before { content: "\f367"; }
|
||||
.la-user-times:before { content: "\f368"; }
|
||||
.la-users:before { content: "\f369"; }
|
||||
.la-venus:before { content: "\f36a"; }
|
||||
.la-venus-double:before { content: "\f36b"; }
|
||||
.la-venus-mars:before { content: "\f36c"; }
|
||||
.la-viacoin:before { content: "\f36d"; }
|
||||
.la-video-camera:before { content: "\f36e"; }
|
||||
.la-vimeo:before { content: "\f36f"; }
|
||||
.la-vimeo-square:before { content: "\f370"; }
|
||||
.la-vine:before { content: "\f371"; }
|
||||
.la-vk:before { content: "\f372"; }
|
||||
.la-volume-down:before { content: "\f373"; }
|
||||
.la-volume-off:before { content: "\f374"; }
|
||||
.la-volume-up:before { content: "\f375"; }
|
||||
.la-warning:before { content: "\f376"; }
|
||||
.la-wechat:before { content: "\f377"; }
|
||||
.la-weibo:before { content: "\f378"; }
|
||||
.la-weixin:before { content: "\f379"; }
|
||||
.la-whatsapp:before { content: "\f37a"; }
|
||||
.la-wheelchair:before { content: "\f37b"; }
|
||||
.la-wifi:before { content: "\f37c"; }
|
||||
.la-wikipedia-w:before { content: "\f37d"; }
|
||||
.la-windows:before { content: "\f37e"; }
|
||||
.la-won:before { content: "\f37f"; }
|
||||
.la-wordpress:before { content: "\f380"; }
|
||||
.la-wrench:before { content: "\f381"; }
|
||||
.la-xing:before { content: "\f382"; }
|
||||
.la-xing-square:before { content: "\f383"; }
|
||||
.la-y-combinator:before { content: "\f384"; }
|
||||
.la-y-combinator-square:before { content: "\f385"; }
|
||||
.la-yahoo:before { content: "\f386"; }
|
||||
.la-yc:before { content: "\f387"; }
|
||||
.la-yc-square:before { content: "\f388"; }
|
||||
.la-yelp:before { content: "\f389"; }
|
||||
.la-yen:before { content: "\f38a"; }
|
||||
.la-youtube:before { content: "\f38b"; }
|
||||
.la-youtube-play:before { content: "\f38c"; }
|
||||
.la-youtube-square:before { content: "\f38d"; }
|
15
bl-kernel/admin/themes/grizzly/css/line-awesome/css/line-awesome.min.css
vendored
Executable file
15
bl-kernel/admin/themes/grizzly/css/line-awesome/css/line-awesome.min.css
vendored
Executable file
File diff suppressed because one or more lines are too long
BIN
bl-kernel/admin/themes/grizzly/css/line-awesome/fonts/line-awesome.eot
Executable file
BIN
bl-kernel/admin/themes/grizzly/css/line-awesome/fonts/line-awesome.eot
Executable file
Binary file not shown.
2628
bl-kernel/admin/themes/grizzly/css/line-awesome/fonts/line-awesome.svg
Executable file
2628
bl-kernel/admin/themes/grizzly/css/line-awesome/fonts/line-awesome.svg
Executable file
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 424 KiB |
BIN
bl-kernel/admin/themes/grizzly/css/line-awesome/fonts/line-awesome.ttf
Executable file
BIN
bl-kernel/admin/themes/grizzly/css/line-awesome/fonts/line-awesome.ttf
Executable file
Binary file not shown.
BIN
bl-kernel/admin/themes/grizzly/css/line-awesome/fonts/line-awesome.woff
Executable file
BIN
bl-kernel/admin/themes/grizzly/css/line-awesome/fonts/line-awesome.woff
Executable file
Binary file not shown.
BIN
bl-kernel/admin/themes/grizzly/css/line-awesome/fonts/line-awesome.woff2
Executable file
BIN
bl-kernel/admin/themes/grizzly/css/line-awesome/fonts/line-awesome.woff2
Executable file
Binary file not shown.
@ -1,133 +1,98 @@
|
||||
<textarea id="editor"></textarea>
|
||||
|
||||
<div id="toolbar" class="d-flex p-1">
|
||||
<div id="message" class="mr-auto"></div>
|
||||
<div class="pr-2">Draft</div>
|
||||
<div>Delete</div>
|
||||
</div>
|
||||
<script>
|
||||
// Returns an array with tags
|
||||
// The tags are parser from hash-tags
|
||||
// text = Hello this is a #test of #the function
|
||||
// returns ['test', 'the']
|
||||
function getTags(text) {
|
||||
var rgx = /#(\w+)\b/gi;
|
||||
var tag;
|
||||
var tags = [];
|
||||
while (tag = rgx.exec(text)){
|
||||
tags.push(tag[1])
|
||||
}
|
||||
// tags is an array, implode with comma ,
|
||||
return tags.join(",");
|
||||
}
|
||||
var _options = {
|
||||
'alertTimeout': 5, // Second in dissapear the alert
|
||||
'autosaveTimeout': 5 // Second to activate before call the autosave
|
||||
};
|
||||
|
||||
// Returns all characters after the hash # and space
|
||||
// Onlt the first match
|
||||
// text = # Hello World
|
||||
// returns "Hello World"
|
||||
function getTitle(text) {
|
||||
var rgx = /# (.*)/;
|
||||
title = rgx.exec(text);
|
||||
return title[1].trim();
|
||||
function showAlert(text) {
|
||||
$("#message").html(text).fadeIn();
|
||||
setTimeout(function(){
|
||||
$("#message").html("");
|
||||
},_options['alertTimeout']*1000);
|
||||
}
|
||||
|
||||
function getContent(text, title, tags) {
|
||||
var content = "";
|
||||
// Remove the title. # Title
|
||||
content = text.replace("# "+title+"\n", "");
|
||||
return content;
|
||||
}
|
||||
|
||||
function getPages() {
|
||||
var params = {token: '790f6f150492ebe24c6197f53ff10010'}
|
||||
apiUrl.search = new URLSearchParams(params)
|
||||
fetch(apiUrl, {
|
||||
method: 'GET'
|
||||
})
|
||||
.then(function(response) {
|
||||
return response.json();
|
||||
})
|
||||
.then(function(json) {
|
||||
return json;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
|
||||
function createPage() {
|
||||
return fetch(apiUrl, {
|
||||
credentials: 'same-origin',
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
token: "790f6f150492ebe24c6197f53ff10010",
|
||||
authentication: "cb75be4a34ce9222914c0555f6faaa8d"
|
||||
}),
|
||||
headers: new Headers({
|
||||
'Content-Type': 'application/json'
|
||||
}),
|
||||
})
|
||||
.then(function(response) {
|
||||
return response.json();
|
||||
})
|
||||
.then(function(json) {
|
||||
key = json.data.key;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
|
||||
function updatePage() {
|
||||
var finalUrl = apiUrl+'/'+key;
|
||||
return fetch(finalUrl, {
|
||||
credentials: 'same-origin',
|
||||
method: 'PUT',
|
||||
body: JSON.stringify({
|
||||
token: "790f6f150492ebe24c6197f53ff10010",
|
||||
authentication: "cb75be4a34ce9222914c0555f6faaa8d",
|
||||
title: title,
|
||||
content: content,
|
||||
tags: tags
|
||||
}),
|
||||
headers: new Headers({
|
||||
'Content-Type': 'application/json'
|
||||
}),
|
||||
})
|
||||
.then(function(response) {
|
||||
return response.json();
|
||||
})
|
||||
.then(function(json) {
|
||||
key = json.data.key;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<textarea id="editor"></textarea>
|
||||
<script>
|
||||
var key = "";
|
||||
var title = "";
|
||||
var content = "";
|
||||
var tags = [];
|
||||
var apiUrl = new URL('http://localhost:8000/api/pages');
|
||||
var _editor = null;
|
||||
var _key = null; // Current page key in the editor
|
||||
var _tags = []; // Current tags from the content
|
||||
var _content = ""; // Current content, this variable helps to know when the content was changed
|
||||
var _autosaveTimer = null; // Timer object for the autosave
|
||||
|
||||
var editor = new EasyMDE({
|
||||
autofocus: true,
|
||||
toolbar: false,
|
||||
spellChecker: false,
|
||||
status: ["lines", "words"],
|
||||
tabSize: 4,
|
||||
initialValue: '# Title \n'
|
||||
|
||||
function editorInitialize(content) {
|
||||
_editor = new EasyMDE({
|
||||
autofocus: true,
|
||||
toolbar: false,
|
||||
spellChecker: false,
|
||||
status: false,
|
||||
tabSize: 4,
|
||||
initialValue: content
|
||||
});
|
||||
|
||||
// Editor event change
|
||||
_editor.codemirror.on("change", function(){
|
||||
// If the content doesn't changed is not need to autosave
|
||||
if (_content == editorGetContent()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Reset timer
|
||||
if (_autosaveTimer != null) {
|
||||
clearTimeout(_autosaveTimer);
|
||||
}
|
||||
|
||||
// Activate timer
|
||||
_autosaveTimer = setTimeout(function() {
|
||||
log('Autosave running', '');
|
||||
_content = editorGetContent();
|
||||
var tags = parser.tags(_content);
|
||||
var title = parser.title(_content);
|
||||
var newContent = parser.removeFirstLine(_content);
|
||||
|
||||
// Update the page because was a change in the content
|
||||
ajax.updatePage(_key, title, newContent, tags);
|
||||
|
||||
// Check if there are new tags in the editor
|
||||
// If there are new tags get the new tags for the sidebar
|
||||
if (JSON.stringify(_tags) != JSON.stringify(tags)) {
|
||||
_tags = tags;
|
||||
displayTags();
|
||||
}
|
||||
}, _options['autosaveTimeout']*1000);
|
||||
});
|
||||
}
|
||||
|
||||
function editorSetContent(text) {
|
||||
// Get the tags from the content
|
||||
// When the content is setted the tags need to be setted
|
||||
_tags = parser.tags(text);
|
||||
|
||||
// Set the current content to the variable
|
||||
// This variable helps to know when the content was changed
|
||||
_content = text;
|
||||
|
||||
// Set the new content into the editor
|
||||
_editor.value(text);
|
||||
}
|
||||
|
||||
function editorGetContent() {
|
||||
return _editor.value();
|
||||
}
|
||||
|
||||
// MAIN
|
||||
|
||||
// Init editor area
|
||||
editorInitialize("# Title \n");
|
||||
|
||||
$(document).ready(function() {
|
||||
showAlert("Welcome to Bludit");
|
||||
});
|
||||
|
||||
// Editor event change
|
||||
editor.codemirror.on("change", function(){
|
||||
var editorValue = editor.value();
|
||||
tags = getTags(editorValue);
|
||||
title = getTitle(editorValue);
|
||||
content = getContent(editorValue, title, tags);
|
||||
console.log(content);
|
||||
//updatePage();
|
||||
});
|
||||
|
||||
//createPage();
|
||||
|
||||
</script>
|
1
bl-kernel/admin/themes/grizzly/html/pages.php
Normal file
1
bl-kernel/admin/themes/grizzly/html/pages.php
Normal file
@ -0,0 +1 @@
|
||||
<h4>Pages</h4>
|
118
bl-kernel/admin/themes/grizzly/html/tags.php
Normal file
118
bl-kernel/admin/themes/grizzly/html/tags.php
Normal file
@ -0,0 +1,118 @@
|
||||
<div class="tags-list col-lg-2 p-0 pt-4">
|
||||
<ul id="currentTags" class="list-group list-group-flush">
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
// Array with all current tags in the system
|
||||
// array[ (string) tagKey => (array) pagesKeys ]
|
||||
var _currentTags = [];
|
||||
|
||||
// Display all the current tags to the <ul> list
|
||||
function displayTags() {
|
||||
let response = ajax.getTags();
|
||||
response.then(function(tags) {
|
||||
// Log
|
||||
log('displayTags() => ajax.getTags => tags',tags);
|
||||
// Get the tag selected
|
||||
let tagSelected = $("li.tagSelected").data("key");
|
||||
// Init array for current tags
|
||||
_currentTags = [];
|
||||
// Remove all tags from the <ul>
|
||||
$("#currentTags").html('<li class="tagItem list-group-item tagSelected"><i class="fa fa-star-o"></i> Untagged</li>');
|
||||
// Add all tags to the <ul>
|
||||
tags.forEach(function(tag) {
|
||||
_currentTags[tag.key] = tag.list;
|
||||
if (tagSelected == tag.key) {
|
||||
$("#currentTags").append('<li class="tagItem list-group-item tagSelected" data-key="'+tag.key+'"># '+tag.name+'</li>');
|
||||
} else {
|
||||
$("#currentTags").append('<li class="tagItem list-group-item" data-key="'+tag.key+'"># '+tag.name+'</li>');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
// Click on tags
|
||||
$(document).on("click", "li.tagItem", function() {
|
||||
// Add class to the tag selected
|
||||
$("li.tagItem").removeClass("tagSelected");
|
||||
$(this).addClass("tagSelected");
|
||||
// Get the tag key clicked
|
||||
let tagKey = $(this).data("key");
|
||||
// Log
|
||||
log('click li.tagItem => tagKey',tagKey);
|
||||
// Display pages by the tag
|
||||
displayPagesByTag(tagKey);
|
||||
});
|
||||
|
||||
// Retrive and show the tags
|
||||
displayTags();
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="pages-list col-lg-2 p-0">
|
||||
<ul id="currentPages" class="list-group list-group-flush">
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
// Array with all current pages in the system
|
||||
// array[ (string) pageKey => (array) { key, title, content, contentRaw, description, date } ]
|
||||
var _currentPages = [];
|
||||
|
||||
// Display all the pages by the tag selected
|
||||
// This function is called when the user click on a tag
|
||||
function displayPagesByTag(tagKey) {
|
||||
let response = ajax.getTag(tagKey);
|
||||
response.then(function(tag) {
|
||||
// Log
|
||||
log('displayPagesByTag() => ajax.getTag => tag',tag);
|
||||
// Init array for current pages by tag
|
||||
_currentPages = [];
|
||||
// Remove all pages from the <ul>
|
||||
$("#currentPages").html("");
|
||||
tag.pages.forEach(function(page) {
|
||||
_currentPages[page.key] = page;
|
||||
// Add all pages to the <ul>
|
||||
$("#currentPages").append('<li class="pageItem list-group-item" data-key="'+page.key+'"><div class="pageItemTitle">'+page.title+'</div><div class="pageItemContent">'+page.contentRaw.substring(0, 50)+'</div></li>');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Set the page selected
|
||||
function loadPage(pageKey) {
|
||||
// Check the current key if the same as the page is editing
|
||||
if (_key == pageKey) {
|
||||
console.log("Page already loaded");
|
||||
return true;
|
||||
}
|
||||
console.log("Loading page by key: "+pageKey);
|
||||
// Set the current key
|
||||
_key = pageKey;
|
||||
// Get the current page
|
||||
let response = ajax.getPage(pageKey);
|
||||
response.then(function(page) {
|
||||
// Log
|
||||
log('loadPage() => ajax.getPage => page',page);
|
||||
let content = "";
|
||||
if (page.title.trim()) {
|
||||
content += "# "+page.title.trim()+"\n";
|
||||
}
|
||||
content += page.contentRaw;
|
||||
editorSetContent(content);
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
// Click on pages
|
||||
$(document).on("click", "li.pageItem", function() {
|
||||
// Add class to the tag selected
|
||||
$("li.pageItem").removeClass("pageSelected");
|
||||
$(this).addClass("pageSelected");
|
||||
// Get the tag key clicked
|
||||
var pageKey = $(this).data("key");
|
||||
log('click li.pageItem => pageKey',pageKey);
|
||||
// Retrive all titles of the pages and show
|
||||
loadPage(pageKey);
|
||||
});
|
||||
});
|
||||
</script>
|
@ -19,7 +19,8 @@
|
||||
'bludit-bootstrap.css',
|
||||
'easymde.min.css',
|
||||
'editor.css',
|
||||
'bludit.css'
|
||||
'bludit.css',
|
||||
'line-awesome/css/line-awesome-font-awesome.min.css'
|
||||
), DOMAIN_ADMIN_THEME_CSS);
|
||||
?>
|
||||
|
||||
@ -36,7 +37,9 @@
|
||||
echo Theme::jquery();
|
||||
echo Theme::jsBootstrap();
|
||||
echo Theme::js(array(
|
||||
'easymde.min.js'
|
||||
'easymde.min.js',
|
||||
'ajax.js',
|
||||
'parser.js'
|
||||
), DOMAIN_ADMIN_THEME_JS);
|
||||
?>
|
||||
|
||||
@ -45,22 +48,30 @@
|
||||
echo '<script charset="utf-8">'.PHP_EOL;
|
||||
include(PATH_CORE_JS.'variables.php');
|
||||
echo '</script>'.PHP_EOL;
|
||||
|
||||
echo '<script charset="utf-8">'.PHP_EOL;
|
||||
include(PATH_CORE_JS.'bludit-ajax.php');
|
||||
echo '</script>'.PHP_EOL;
|
||||
?>
|
||||
|
||||
<div class="container h-100">
|
||||
<script>
|
||||
var ajax = new Ajax();
|
||||
var parser = new Parser();
|
||||
var DEBUG = true;
|
||||
|
||||
var log = function(name, variable){
|
||||
if (DEBUG) {
|
||||
console.log(name);
|
||||
console.log(variable);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="container-fluid h-100">
|
||||
<!-- 25%/75% split on large devices, small, medium devices hide -->
|
||||
<div class="row h-100">
|
||||
<div class="row h-100 d-flex">
|
||||
<!-- LEFT SIDEBAR - Display only on large devices -->
|
||||
<div class="sidebar col-lg-2">
|
||||
<?php include('html/sidebar.php'); ?>
|
||||
</div>
|
||||
<?php include('html/tags.php'); ?>
|
||||
|
||||
<!-- RIGHT MAIN -->
|
||||
<div class="main col-lg-10 mt-2 h-100">
|
||||
<div class="editor-container col-lg-6 h-100" style="max-width: 600px;">
|
||||
<?php include('html/main.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
|
107
bl-kernel/admin/themes/grizzly/js/ajax.js
Normal file
107
bl-kernel/admin/themes/grizzly/js/ajax.js
Normal file
@ -0,0 +1,107 @@
|
||||
class Ajax {
|
||||
|
||||
constructor() {
|
||||
this.apiURL = new URL('http://localhost:8000/api/');
|
||||
this.token = "790f6f150492ebe24c6197f53ff10010";
|
||||
this.authentication = "cb75be4a34ce9222914c0555f6faaa8d";
|
||||
}
|
||||
|
||||
async getPage(key) {
|
||||
let url = this.apiURL+"pages/"+key+"?token="+this.token;
|
||||
try {
|
||||
const response = await fetch(url, {
|
||||
method: "GET"
|
||||
});
|
||||
const json = await response.json();
|
||||
return json.data;
|
||||
}
|
||||
catch (err) {
|
||||
console.log(err);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
createPage() {
|
||||
var url = this.apiURL+"pages";
|
||||
return fetch(url, {
|
||||
credentials: 'same-origin',
|
||||
method: "POST",
|
||||
body: JSON.stringify({
|
||||
token: this.token,
|
||||
authentication: this.authentication
|
||||
}),
|
||||
headers: new Headers({
|
||||
'Content-Type': 'application/json'
|
||||
}),
|
||||
})
|
||||
.then(function(response) {
|
||||
return response.json();
|
||||
})
|
||||
.then(function(json) {
|
||||
return json.data.key;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
updatePage(key, title, content, tags) {
|
||||
log('this.updatePage()', key);
|
||||
var url = this.apiURL+"pages/"+key;
|
||||
return fetch(url, {
|
||||
credentials: 'same-origin',
|
||||
method: "PUT",
|
||||
body: JSON.stringify({
|
||||
token: this.token,
|
||||
authentication: this.authentication,
|
||||
title: title,
|
||||
content: content,
|
||||
tags: tags
|
||||
}),
|
||||
headers: new Headers({
|
||||
'Content-Type': 'application/json'
|
||||
}),
|
||||
})
|
||||
.then(function(response) {
|
||||
return response.json();
|
||||
})
|
||||
.then(function(json) {
|
||||
return json.data.key;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
async getTags() {
|
||||
let url = this.apiURL+"tags?token="+this.token;
|
||||
try {
|
||||
const response = await fetch(url, {
|
||||
method: "GET"
|
||||
});
|
||||
const json = await response.json();
|
||||
return json.data;
|
||||
}
|
||||
catch (err) {
|
||||
console.log(err);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async getTag(key) {
|
||||
let url = this.apiURL+"tags/"+key+"?token="+this.token;
|
||||
try {
|
||||
const response = await fetch(url, {
|
||||
method: "GET"
|
||||
});
|
||||
const json = await response.json();
|
||||
return json.data;
|
||||
}
|
||||
catch (err) {
|
||||
console.log(err);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
42
bl-kernel/admin/themes/grizzly/js/parser.js
Normal file
42
bl-kernel/admin/themes/grizzly/js/parser.js
Normal file
@ -0,0 +1,42 @@
|
||||
class Parser {
|
||||
// Returns an array with tags
|
||||
// The tags are parser from hash-tags
|
||||
// text = Hello this is a #test of #the function
|
||||
// returns ['test', 'the']
|
||||
tags(text) {
|
||||
var rgx = /#(\w+)\b/gi;
|
||||
var tag;
|
||||
var tags = [];
|
||||
while (tag = rgx.exec(text)){
|
||||
tags.push(tag[1])
|
||||
}
|
||||
// tags is an array, implode with comma ,
|
||||
return tags.join(",");
|
||||
}
|
||||
|
||||
// Returns all characters after the hash # and space
|
||||
// Onlt the first match
|
||||
// text = # Hello World
|
||||
// returns "Hello World"
|
||||
title(text) {
|
||||
var rgx = /# (.*)/;
|
||||
let title = rgx.exec(text);
|
||||
if (title) {
|
||||
return title[1].trim();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
// Returns the text without the first line
|
||||
// The first line is removed only if the first line has a # Headline1
|
||||
removeFirstLine(text) {
|
||||
var lines = text.split("\n");
|
||||
if (lines) {
|
||||
// If the first line included # Headline1 then the line is removed
|
||||
if (lines[0].includes("# ")) {
|
||||
lines.splice(0,1);
|
||||
}
|
||||
}
|
||||
return lines.join("\n");
|
||||
}
|
||||
}
|
@ -326,6 +326,18 @@ class Pages extends dbJSON {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Returns a database with all pages
|
||||
// $onlyKeys = true; Returns only the pages keys
|
||||
// $onlyKeys = false; Returns part of the database, I do not recommend use this
|
||||
public function getDB($onlyKeys=true)
|
||||
{
|
||||
$tmp = $this->db;
|
||||
if ($onlyKeys) {
|
||||
return array_keys($tmp);
|
||||
}
|
||||
return $tmp;
|
||||
}
|
||||
|
||||
// Returns a database with published pages
|
||||
// $onlyKeys = true; Returns only the pages keys
|
||||
// $onlyKeys = false; Returns part of the database, I do not recommend use this
|
||||
@ -454,35 +466,47 @@ class Pages extends dbJSON {
|
||||
// (int) $pageNumber, the page number
|
||||
// (int) $numberOfItems, amount of items to return, if -1 returns all the items
|
||||
// (boolean) $onlyPublished, TRUE to return only published pages
|
||||
public function getList($pageNumber, $numberOfItems, $onlyPublished=true)
|
||||
public function getList($pageNumber, $numberOfItems, $published=true, $static=false, $sticky=false, $draft=false, $scheduled=false)
|
||||
{
|
||||
$db = array_keys($this->db);
|
||||
$list = array();
|
||||
if ($published) {
|
||||
$list += $this->getPublishedDB();
|
||||
}
|
||||
|
||||
if ($onlyPublished) {
|
||||
$db = $this->getPublishedDB(true);
|
||||
if ($static) {
|
||||
$list += $pages->getStaticDB();
|
||||
}
|
||||
|
||||
if ($sticky) {
|
||||
$list += $pages->getStickyDB();
|
||||
}
|
||||
|
||||
if ($draft) {
|
||||
$list += $pages->getDraftDB();
|
||||
}
|
||||
|
||||
if ($scheduled) {
|
||||
$list += $pages->getScheduledDB();
|
||||
}
|
||||
|
||||
if ($numberOfItems==-1) {
|
||||
return $db;
|
||||
return $list;
|
||||
}
|
||||
|
||||
// The first page number is 1, so the real is 0
|
||||
$realPageNumber = $pageNumber - 1;
|
||||
|
||||
$total = count($db);
|
||||
$total = count($list);
|
||||
$init = (int) $numberOfItems * $realPageNumber;
|
||||
$end = (int) min( ($init + $numberOfItems - 1), $total );
|
||||
$outrange = $init<0 ? true : $init>$end;
|
||||
|
||||
if (!$outrange) {
|
||||
return array_slice($db, $init, $numberOfItems, true);
|
||||
return array_slice($list, $init, $numberOfItems, true);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Returns the amount of pages
|
||||
// (boolean) $total, TRUE returns the total of pages
|
||||
// (boolean) $total, FALSE returns the total of published pages (without draft and scheduled)
|
||||
|
@ -265,6 +265,7 @@ class Page {
|
||||
$tmp['content'] = $this->content(); // Markdown parsed
|
||||
$tmp['contentRaw'] = $this->contentRaw(true); // No Markdown parsed
|
||||
$tmp['description'] = $this->description();
|
||||
$tmp['type'] = $this->type();
|
||||
$tmp['date'] = $this->dateRaw();
|
||||
$tmp['dateUTC'] = Date::convertToUTC($this->dateRaw(), DB_DATE_FORMAT, DB_DATE_FORMAT);
|
||||
$tmp['permalink'] = $this->permalink(true);
|
||||
|
@ -42,9 +42,24 @@ class Tag {
|
||||
return $this->getValue('permalink');
|
||||
}
|
||||
|
||||
// Returns an array with the keys of pages linked to the tag
|
||||
// Returns an array with the pages keys linked to the tag
|
||||
public function pages()
|
||||
{
|
||||
return $this->getValue('list');
|
||||
}
|
||||
|
||||
// Returns an array in json format with all the data of the tag
|
||||
public function json($returnsArray=false)
|
||||
{
|
||||
$tmp['key'] = $this->key();
|
||||
$tmp['name'] = $this->name();
|
||||
$tmp['permalink'] = $this->permalink();
|
||||
$tmp['pages'] = $this->pages();
|
||||
|
||||
if ($returnsArray) {
|
||||
return $tmp;
|
||||
}
|
||||
|
||||
return json_encode($tmp);
|
||||
}
|
||||
}
|
@ -17,23 +17,22 @@ class Tags extends dbList {
|
||||
global $pages;
|
||||
|
||||
// Get a database with published pages
|
||||
$db = $pages->getPublishedDB(false);
|
||||
|
||||
$db = $pages->getDB(false);
|
||||
$tagsIndex = array();
|
||||
|
||||
foreach($db as $pageKey=>$pageFields) {
|
||||
foreach ($db as $pageKey=>$pageFields) {
|
||||
$tags = $pageFields['tags'];
|
||||
foreach($tags as $tagKey=>$tagName) {
|
||||
if( isset($tagsIndex[$tagKey]) ) {
|
||||
foreach ($tags as $tagKey=>$tagName) {
|
||||
if (isset($tagsIndex[$tagKey])) {
|
||||
array_push($tagsIndex[$tagKey]['list'], $pageKey);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$tagsIndex[$tagKey]['name'] = $tagName;
|
||||
$tagsIndex[$tagKey]['list'] = array($pageKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sort database by alphabet
|
||||
ksort($tagsIndex);
|
||||
$this->db = $tagsIndex;
|
||||
return $this->save();
|
||||
}
|
||||
|
@ -67,16 +67,14 @@ class pluginAPI extends Plugin {
|
||||
// METHOD INPUTS
|
||||
// ------------------------------------------------------------
|
||||
$inputs = $this->getMethodInputs();
|
||||
|
||||
if ( empty($inputs) ) {
|
||||
if (empty($inputs)) {
|
||||
$this->response(400, 'Bad Request', array('message'=>'Missing method inputs.'));
|
||||
}
|
||||
|
||||
// ENDPOINT PARAMETERS
|
||||
// ------------------------------------------------------------
|
||||
$parameters = $this->getEndpointParameters($URI);
|
||||
|
||||
if ( empty($parameters) ) {
|
||||
if (empty($parameters)) {
|
||||
$this->response(400, 'Bad Request', array('message'=>'Missing endpoint parameters.'));
|
||||
}
|
||||
|
||||
@ -123,7 +121,7 @@ class pluginAPI extends Plugin {
|
||||
|
||||
// (GET) /api/pages
|
||||
if ( ($method==='GET') && ($parameters[0]==='pages') && empty($parameters[1]) ) {
|
||||
$data = $this->getPages();
|
||||
$data = $this->getPages($inputs);
|
||||
}
|
||||
// (GET) /api/pages/<key>
|
||||
elseif ( ($method==='GET') && ($parameters[0]==='pages') && !empty($parameters[1]) ) {
|
||||
@ -144,6 +142,15 @@ class pluginAPI extends Plugin {
|
||||
elseif ( ($method==='POST') && ($parameters[0]==='pages') && empty($parameters[1]) && $writePermissions ) {
|
||||
$data = $this->createPage($inputs);
|
||||
}
|
||||
// (GET) /api/tags
|
||||
elseif ( ($method==='GET') && ($parameters[0]==='tags') && empty($parameters[1]) ) {
|
||||
$data = $this->getTags();
|
||||
}
|
||||
// (GET) /api/tags/<key>
|
||||
elseif ( ($method==='GET') && ($parameters[0]==='tags') && !empty($parameters[1]) ) {
|
||||
$tagKey = $parameters[1];
|
||||
$data = $this->getTag($tagKey);
|
||||
}
|
||||
else {
|
||||
$this->response(401, 'Unauthorized', array('message'=>'Access denied or invalid endpoint.'));
|
||||
}
|
||||
@ -193,7 +200,7 @@ class pluginAPI extends Plugin {
|
||||
return $this->cleanInputs($inputs);
|
||||
}
|
||||
|
||||
// Returns an array with key=>value
|
||||
// Returns an array with key=>value with the inputs
|
||||
// If the content is JSON is parsed to array
|
||||
private function cleanInputs($inputs)
|
||||
{
|
||||
@ -240,14 +247,63 @@ class pluginAPI extends Plugin {
|
||||
exit($json);
|
||||
}
|
||||
|
||||
private function getPages()
|
||||
private function getTags()
|
||||
{
|
||||
global $tags;
|
||||
$tmp = array(
|
||||
'status'=>'0',
|
||||
'message'=>'List of tags.',
|
||||
'data'=>array()
|
||||
);
|
||||
foreach ($tags->keys() as $key) {
|
||||
$tag = $tags->getMap($key);
|
||||
array_push($tmp['data'], $tag);
|
||||
}
|
||||
return $tmp;
|
||||
}
|
||||
|
||||
// Returns the tag information and the pages releated to the tag
|
||||
// The array with the pages has the complete information of each page
|
||||
private function getTag($key)
|
||||
{
|
||||
try {
|
||||
$tag = new Tag($key);
|
||||
} catch (Exception $e) {
|
||||
return array(
|
||||
'status'=>'1',
|
||||
'message'=>'Tag not found by the tag key: '.$key
|
||||
);
|
||||
}
|
||||
|
||||
$list = array();
|
||||
foreach ($tag->pages() as $pageKey) {
|
||||
try {
|
||||
$page = new Page($pageKey);
|
||||
array_push($list, $page->json($returnsArray=true));
|
||||
} catch (Exception $e){}
|
||||
}
|
||||
|
||||
$data = $tag->json($returnsArray=true);
|
||||
$data['pages'] = $list;
|
||||
|
||||
return array(
|
||||
'status'=>'0',
|
||||
'message'=>'Tag data and pages related to the tag.',
|
||||
'data'=>$data
|
||||
);
|
||||
}
|
||||
|
||||
private function getPages($args)
|
||||
{
|
||||
global $pages;
|
||||
|
||||
$onlyPublished = true;
|
||||
$published = $args['published'];
|
||||
$static = $args['static'];
|
||||
$draft = $args['draft'];
|
||||
$sticky = $args['sticky'];
|
||||
$scheduled = $args['scheduled'];
|
||||
$numberOfItems = $this->getValue('numberOfItems');
|
||||
$pageNumber = 1;
|
||||
$list = $pages->getList($pageNumber, $numberOfItems, $onlyPublished);
|
||||
$list = $pages->getList($pageNumber, $numberOfItems, $published, $static, $sticky, $draft, $scheduled);
|
||||
|
||||
$tmp = array(
|
||||
'status'=>'0',
|
||||
@ -255,12 +311,16 @@ class pluginAPI extends Plugin {
|
||||
'data'=>array()
|
||||
);
|
||||
|
||||
// Get keys of pages
|
||||
foreach ($list as $pageKey) {
|
||||
try {
|
||||
// Create the page object from the page key
|
||||
$page = new Page($pageKey);
|
||||
array_push($tmp['data'], $page->json( $returnsArray=true ));
|
||||
if ($args['untagged'] && (empty($page->tags()))) {
|
||||
// Push the page to the data array for the response
|
||||
array_push($tmp['data'], $page->json($returnsArray=true));
|
||||
} else {
|
||||
array_push($tmp['data'], $page->json($returnsArray=true));
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
// Continue
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ class pluginsimpleMDE extends Plugin {
|
||||
return simplemde.value();
|
||||
}'.PHP_EOL;
|
||||
|
||||
// Insert an image in the editor in the cursor position
|
||||
// Insert an image in the editor at the cursor position
|
||||
// Function required for Bludit
|
||||
$html .= 'function editorInsertMedia(filename) {
|
||||
addContentSimpleMDE("!['.$L->get('Image description').']("+filename+")");
|
||||
|
@ -77,7 +77,7 @@ class pluginTinymce extends Plugin {
|
||||
$html = <<<EOF
|
||||
<script>
|
||||
|
||||
// Insert an image in the editor in the cursor position
|
||||
// Insert an image in the editor at the cursor position
|
||||
// Function required for Bludit
|
||||
function editorInsertMedia(filename) {
|
||||
tinymce.activeEditor.insertContent("<img src=\""+filename+"\" alt=\"\">");
|
||||
|
Loading…
Reference in New Issue
Block a user