prettydocs-jekyll 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +7 -0
  3. data/_data/default/base.yml +20 -0
  4. data/_data/default/cards.yml +35 -0
  5. data/_data/default/contact.yml +24 -0
  6. data/_data/default/faqs.yml +46 -0
  7. data/_includes/_partials/post.html +32 -0
  8. data/_includes/_partials/social-buttons.html +12 -0
  9. data/_includes/_partials/toc.html +43 -0
  10. data/_includes/_sections/blog_post.html +33 -0
  11. data/_includes/_sections/cards.html +25 -0
  12. data/_includes/_sections/contact.html +25 -0
  13. data/_includes/_sections/faqs.html +28 -0
  14. data/_includes/_sections/not-found.html +11 -0
  15. data/_includes/_sections/resources.html +68 -0
  16. data/_includes/_theme/footer.html +19 -0
  17. data/_includes/_theme/head.html +42 -0
  18. data/_includes/_theme/header.html +34 -0
  19. data/_includes/_theme/js.html +7 -0
  20. data/_includes/_utils/common +24 -0
  21. data/_includes/_utils/month +17 -0
  22. data/_layouts/compress.html +9 -0
  23. data/_layouts/default.html +19 -0
  24. data/_layouts/faqs.html +20 -0
  25. data/_layouts/landing.html +18 -0
  26. data/_layouts/page.html +15 -0
  27. data/_layouts/post.html +5 -0
  28. data/_sass/globals/_base.scss +44 -0
  29. data/_sass/globals/_mixins.scss +175 -0
  30. data/_sass/partials/_base.scss +109 -0
  31. data/_sass/partials/_buttons.scss +97 -0
  32. data/_sass/partials/_cards.scss +170 -0
  33. data/_sass/partials/_contact.scss +29 -0
  34. data/_sass/partials/_doc.scss +523 -0
  35. data/_sass/partials/_footer.scss +8 -0
  36. data/_sass/partials/_header.scss +91 -0
  37. data/_sass/partials/_helper.scss +42 -0
  38. data/_sass/partials/_landing.scss +61 -0
  39. data/_sass/partials/_post.scss +32 -0
  40. data/_sass/partials/_resources.scss +10 -0
  41. data/_sass/partials/_toc.scss +163 -0
  42. data/_sass/prettydocs-jekyll.scss +20 -0
  43. data/_sass/vendor/_timeline.scss +221 -0
  44. data/_sass/vendor/timeline/functions/desaturated-lighten.scss +7 -0
  45. data/_sass/vendor/timeline/functions/map-deep-get.scss +9 -0
  46. data/_sass/vendor/timeline/functions/map-set.scss +5 -0
  47. data/_sass/vendor/timeline/functions/mutate-colors.scss +9 -0
  48. data/_sass/vendor/timeline/mixins/timeline-element.scss +23 -0
  49. data/_sass/vendor/timeline/mixins/timeline-event-variant.scss +20 -0
  50. data/_sass/vendor/timeline/mixins/timeline-item-arrow-color-variant.scss +6 -0
  51. data/_sass/vendor/timeline/mixins/timeline-item-arrow-size-variant.scss +17 -0
  52. data/_sass/vendor/timeline/mixins/timeline-item-right-side-position.scss +21 -0
  53. data/_sass/vendor/timeline/mixins/timeline-item-start-margins.scss +9 -0
  54. data/_sass/vendor/timeline/mixins/timeline-item-variant.scss +28 -0
  55. data/_sass/vendor/timeline/mixins/timeline-label-variant.scss +3 -0
  56. data/_sass/vendor/timeline/mixins/timeline-line-variant.scss +5 -0
  57. data/_sass/vendor/timeline/mixins/timeline-point-color-variant.scss +4 -0
  58. data/_sass/vendor/timeline/mixins/timeline-point-size-variant.scss +12 -0
  59. data/_sass/vendor/timeline/mixins/timeline-responsive-variant.scss +26 -0
  60. data/_sass/vendor/timeline/mixins/timeline-row-clearfix.scss +10 -0
  61. data/_sass/vendor/timeline/mixins/timeline-single-column.scss +56 -0
  62. data/_sass/vendor/timeline/mixins/transform-center.scss +3 -0
  63. data/_sass/vendor/timeline/variables.scss +90 -0
  64. data/assets/css/main.scss +4 -0
  65. data/assets/images/empty.gif +0 -0
  66. data/assets/images/favicon.ico +0 -0
  67. data/assets/js/main.js +45 -0
  68. metadata +182 -0
@@ -0,0 +1,42 @@
1
+ {% include _utils/common %}
2
+ <head>
3
+ <title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
4
+ <!-- Meta -->
5
+ <meta charset="utf-8">
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
+ <meta name="description" content="{{ page.excerpt | default: site.description | strip_html | normalize_whitespace | truncate: 160 | escape }}">
9
+ {% for meta in general.meta %}
10
+ <meta name="{{ meta.name }}" lang="{{ meta.lang }}" xml:lang="{{ meta.lang }}" content="{{ meta.content | strip }}" />
11
+ {% endfor %}
12
+ {% if page.url == "/404.html" | prepend: {{site.baseurl}} %}
13
+ <meta http-equiv="refresh" content="10; url={{"/" | prepend: site.baseurl }}">
14
+ {% endif %}
15
+
16
+ <link rel="shortcut icon" href="{{ "/favicon.ico" | prepend: site.baseurl }}">
17
+ <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
18
+
19
+ <!-- Global CSS -->
20
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
21
+
22
+ <!-- Plugins CSS -->
23
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.9.0/themes/prism.min.css">
24
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.css">
25
+
26
+ <!-- Theme CSS -->
27
+ <link id="theme-style" rel="stylesheet" href="{{ "/assets/css/main.css" | prepend: site.baseurl }}">
28
+
29
+ <!-- Custom Fonts -->
30
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous" />
31
+
32
+ <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
33
+ <!--[if lt IE 9]>
34
+ <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
35
+ <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
36
+ <![endif]-->
37
+ <link rel="canonical" href="{{ page.url | replace:'index.html','' | absolute_url }}">
38
+ <link rel="alternate" type="application/rss+xml" title="{{ site.title | escape }}" href="{{ "/feed.xml" | relative_url }}">
39
+ {% if jekyll.environment == 'production' and site.google_analytics %}
40
+ {% include google-analytics.html %}
41
+ {% endif %}
42
+ </head>
@@ -0,0 +1,34 @@
1
+ {% include _utils/common %}
2
+ <header id="header" class="header {% if page.layout == 'landing' %}text-center{% endif %}">
3
+ <div class="container">
4
+ <div class="branding">
5
+ <h1 class="logo">
6
+ <a href="{{ page.url }}">
7
+ <span aria-hidden="true" class="fa fa-book icon"></span>
8
+ <span class="text-highlight">{{ general.header.title }}</span>
9
+ <span class="text">{{ general.header.subtitle }}</span>
10
+ </a>
11
+ </h1>
12
+ </div>
13
+ {% if page.layout == 'landing' %}
14
+ <div class="tagline">
15
+ {% for tagline in general.header['tagline'] %}
16
+ <p>{{ tagline }}</p>
17
+ {% endfor %}
18
+ </div>
19
+ {% else %}
20
+ <ol class="breadcrumb">
21
+ <li><a href="/{{ site.baseurl }}">Acasă</a></li>
22
+ {% for resource in resources %}
23
+ {% if resource == "" %}{% continue %}{% endif %}
24
+ {% assign resource_url = resource_url | append: "/" | append: resource %}
25
+ {% if forloop.last == true %}
26
+ <li class="active">{{ page.title }}</li>
27
+ {% else %}
28
+ <li><a href="{{ resource_url }}">{{ resource | capitalize }}</a></li>
29
+ {% endif %}
30
+ {% endfor %}
31
+ </ol>
32
+ {% endif %}
33
+ </div>
34
+ </header>
@@ -0,0 +1,7 @@
1
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
2
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
3
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/2.1.2/jquery.scrollTo.min.js"></script>
4
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.matchHeight/0.7.2/jquery.matchHeight-min.js"></script>
5
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.9.0/prism.min.js"></script>
6
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.min.js"></script>
7
+ <script type="text/javascript" src="{{ "/assets/js/main.js" | prepend: site.baseurl }}"></script>
@@ -0,0 +1,24 @@
1
+ {% assign groups = page.group | split: '.' %}
2
+ {% assign page_data = site.data %}
3
+ {% for group in groups %}
4
+ {% assign page_data = page_data[group] %}
5
+ {% endfor %}
6
+
7
+ {% if page_data.base %} {% assign general = page_data.base %}
8
+ {% else %} {% assign general = site.data.default.base %}
9
+ {% endif %}
10
+
11
+ {% if page_data.cards %} {% assign cards = page_data.cards %}
12
+ {% else %} {% assign cards = site.data.default.cards %}
13
+ {% endif %}
14
+
15
+ {% if page_data.faqs %} {% assign faqs = page_data.faqs %}
16
+ {% else %} {% assign faqs = site.data.default.faqs %}
17
+ {% endif %}
18
+
19
+ {% if page_data.contact %} {% assign contact = page_data.contact %}
20
+ {% else %} {% assign contact = site.data.default.contact %}
21
+ {% endif %}
22
+
23
+ {% assign resources = page.url | remove: site.url | remove: site.baseurl | split: '/' %}
24
+ {% assign resource_url = site.baseurl %}
@@ -0,0 +1,17 @@
1
+ {% capture month %}
2
+ {% assign m = include.date | date: "%-m" %}
3
+ {% case m %}
4
+ {% when '1' %}ianuarie
5
+ {% when '2' %}februarie
6
+ {% when '3' %}martie
7
+ {% when '4' %}aprilie
8
+ {% when '5' %}mai
9
+ {% when '6' %}iunie
10
+ {% when '7' %}iulie
11
+ {% when '8' %}august
12
+ {% when '9' %}septembrie
13
+ {% when '10' %}octombrie
14
+ {% when '11' %}noiembrie
15
+ {% when '12' %}decembrie
16
+ {% endcase %}
17
+ {% endcapture %}
@@ -0,0 +1,9 @@
1
+ ---
2
+ # Jekyll layout that compresses HTML
3
+ # v3.0.2
4
+ # http://jch.penibelst.de/
5
+ # © 2014–2015 Anatol Broder
6
+ # MIT License
7
+ ---
8
+ {% capture _LINE_FEED %}
9
+ {% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
@@ -0,0 +1,19 @@
1
+ ---
2
+ layout: compress
3
+ ---
4
+ {% if page.color %}{% capture body_class %}class="body-{{ page.color }}"{% endcapture %}{% endif %}
5
+
6
+ <!DOCTYPE html>
7
+ <!--[if IE 8]> <html lang="{{ site.lang }}" class="ie8"> <![endif]-->
8
+ <!--[if IE 9]> <html lang="{{ site.lang }}" class="ie9"> <![endif]-->
9
+ <!--[if !IE]><!--> <html lang="{{ site.lang }}"> <!--<![endif]-->
10
+ {% include _theme/head.html %}
11
+ <body {{ body_class }}>
12
+ <div class="page-wrapper">
13
+ {% include _theme/header.html %}
14
+ {{ content }}
15
+ </div>
16
+ {% include _theme/footer.html %}
17
+ {% include _theme/js.html %}
18
+ </body>
19
+ </html>
@@ -0,0 +1,20 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <section class="doc-wrapper">
5
+ <div class="container">
6
+ <div id="doc-header" class="doc-header text-center">
7
+ <h1 class="doc-title">
8
+ <span aria-hidden="true" class="icon fa fa-question-circle"></span> {{ page.title | escape }}
9
+ </h1>
10
+ </div>
11
+ <div class="doc-body">
12
+ <div class="doc-content">
13
+ <div class="content-inner">
14
+ {{ content }}
15
+ </div>
16
+ </div>
17
+ {% include _partials/toc.html content=content %}
18
+ </div>
19
+ </div>
20
+ </div>
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: compress
3
+ ---
4
+ <!DOCTYPE html>
5
+ <!--[if IE 8]> <html lang="{{ site.lang }}" class="ie8"> <![endif]-->
6
+ <!--[if IE 9]> <html lang="{{ site.lang }}" class="ie9"> <![endif]-->
7
+ <!--[if !IE]><!--> <html lang="{{ site.lang }}"> <!--<![endif]-->
8
+ {% include _theme/head.html %}
9
+ <body class="landing-page">
10
+ <div class="page-wrapper">
11
+ {% include _theme/header.html %}
12
+ {% include _sections/cards.html %}
13
+ {{ content }}
14
+ </div>
15
+ {% include _theme/footer.html %}
16
+ {% include _theme/js.html %}
17
+ </body>
18
+ </html>
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <section class="doc-wrapper">
5
+ <div class="container">
6
+ <div id="doc-header" class="doc-header text-center">
7
+ <h1 class="doc-title">
8
+ <span aria-hidden="true" class="icon fa fa-{{ page.icon }}"></span> {{ page.title | escape }}
9
+ </h1>
10
+ </div>
11
+ <div class="doc-body">
12
+ {{ content }}
13
+ </div>
14
+ </div>
15
+ </div>
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {% include _sections/blog_post.html %}
@@ -0,0 +1,44 @@
1
+ // Variables
2
+ $color-primary: #40babd;
3
+ $color-green: #75c181;
4
+ $color-red: #f77b6b;
5
+ $color-blue: #58bbee;
6
+ $color-orange: #F88C30;
7
+ $color-pink: #EA5395;
8
+ $color-purple: #8A40A7;
9
+
10
+ $text-color: #494d55;
11
+ $text-color-secondary: lighten($text-color, 10%);
12
+ $text-grey: lighten($text-color-secondary, 25%);
13
+
14
+ $grey: lighten($text-color-secondary, 25%);
15
+ $light-grey: #c3c3c3;
16
+ $dark-grey: #666;
17
+ $black: #000;
18
+ $smoky-white: #f5f5f5;
19
+ $smoky-grey: #f9f9fb;
20
+ $divider: #f0f0f0;
21
+
22
+ $new: #60A823;
23
+ $error: #E65348;
24
+ $facebook: #3b5998;
25
+ $twitter: #55acee;
26
+ $google: #dd4b39;
27
+ $github: #444;
28
+
29
+ $primary: #1a7bd3;
30
+ $primary-hover: #3266d5;
31
+ $dark: #0b141f;
32
+ $light: #EEE;
33
+ $timeline-border: #036;
34
+ $console: #6a7490;
35
+
36
+ $regular: 300;
37
+ $bold: 500;
38
+
39
+ $social-buttons-color: $primary;
40
+
41
+ $base-transition: all .3s;
42
+ $base-cubic-transition: all .3s cubic-bezier(0.175, 0.885, 0.320, 1.275);
43
+ $long-transition: all .5s;
44
+ $long-cubic-transition: all .5s cubic-bezier(0.175, 0.885, 0.320, 1.275);
@@ -0,0 +1,175 @@
1
+ // Mixins
2
+ @mixin text-shadow($string: 0 1px 3px rgba(0, 0, 0, 0.25)) {
3
+ text-shadow: $string;
4
+ }
5
+
6
+ @mixin box-shadow($string) {
7
+ -webkit-box-shadow: $string;
8
+ -moz-box-shadow: $string;
9
+ box-shadow: $string;
10
+ }
11
+
12
+ @mixin drop-shadow($x: 0, $y: 1px, $blur: 2px, $spread: 0, $alpha: 0.25) {
13
+ -webkit-box-shadow: $x $y $blur $spread rgba(0, 0, 0, $alpha);
14
+ -moz-box-shadow: $x $y $blur $spread rgba(0, 0, 0, $alpha);
15
+ box-shadow: $x $y $blur $spread rgba(0, 0, 0, $alpha);
16
+ }
17
+
18
+ @mixin inner-shadow($x: 0, $y: 1px, $blur: 2px, $spread: 0, $alpha: 0.25) {
19
+ -webkit-box-shadow: inset $x $y $blur $spread rgba(0, 0, 0, $alpha);
20
+ -moz-box-shadow: inset $x $y $blur $spread rgba(0, 0, 0, $alpha);
21
+ box-shadow: inset $x $y $blur $spread rgba(0, 0, 0, $alpha);
22
+ }
23
+
24
+ @mixin box-sizing($type: border-box) {
25
+ -webkit-box-sizing: $type;
26
+ -moz-box-sizing: $type;
27
+ box-sizing: $type;
28
+ }
29
+
30
+ @mixin border-radius($radius: 5px) {
31
+ -webkit-border-radius: $radius;
32
+ -moz-border-radius: $radius;
33
+ -ms-border-radius: $radius;
34
+ -o-border-radius: $radius;
35
+ border-radius: $radius;
36
+
37
+ -moz-background-clip: padding;
38
+ -webkit-background-clip: padding-box;
39
+ background-clip: padding-box;
40
+ }
41
+
42
+ @mixin border-radiuses($topright: 0, $bottomright: 0, $bottomleft: 0, $topleft: 0) {
43
+ -webkit-border-top-right-radius: $topright;
44
+ -webkit-border-bottom-right-radius: $bottomright;
45
+ -webkit-border-bottom-left-radius: $bottomleft;
46
+ -webkit-border-top-left-radius: $topleft;
47
+
48
+ -moz-border-radius-topright: $topright;
49
+ -moz-border-radius-bottomright: $bottomright;
50
+ -moz-border-radius-bottomleft: $bottomleft;
51
+ -moz-border-radius-topleft: $topleft;
52
+
53
+ border-top-right-radius: $topright;
54
+ border-bottom-right-radius: $bottomright;
55
+ border-bottom-left-radius: $bottomleft;
56
+ border-top-left-radius: $topleft;
57
+
58
+ -moz-background-clip: padding;
59
+ -webkit-background-clip: padding-box;
60
+ background-clip: padding-box;
61
+ }
62
+
63
+ @mixin opacity($opacity: 0.5) {
64
+ -webkit-opacity: $opacity;
65
+ -moz-opacity: $opacity;
66
+ opacity: $opacity;
67
+ }
68
+
69
+ @mixin gradient($startColor: #eee, $endColor: white) {
70
+ background-color: $startColor;
71
+ background: -webkit-gradient(linear, left top, left bottom, from($startColor), to($endColor));
72
+ background: -webkit-linear-gradient(top, $startColor, $endColor);
73
+ background: -moz-linear-gradient(top, $startColor, $endColor);
74
+ background: -ms-linear-gradient(top, $startColor, $endColor);
75
+ background: -o-linear-gradient(top, $startColor, $endColor);
76
+ }
77
+
78
+ @mixin horizontal-gradient($startColor: #eee, $endColor: white) {
79
+ background-color: $startColor;
80
+ background-image: -webkit-gradient(linear, left top, right top, from($startColor), to($endColor));
81
+ background-image: -webkit-linear-gradient(left, $startColor, $endColor);
82
+ background-image: -moz-linear-gradient(left, $startColor, $endColor);
83
+ background-image: -ms-linear-gradient(left, $startColor, $endColor);
84
+ background-image: -o-linear-gradient(left, $startColor, $endColor);
85
+ }
86
+
87
+ @mixin animation($name, $duration: 300ms, $delay: 0, $ease: ease) {
88
+ -webkit-animation: $name $duration $delay $ease;
89
+ -moz-animation: $name $duration $delay $ease;
90
+ -ms-animation: $name $duration $delay $ease;
91
+ }
92
+
93
+ @mixin transition($transition) {
94
+ -webkit-transition: $transition;
95
+ -moz-transition: $transition;
96
+ -ms-transition: $transition;
97
+ -o-transition: $transition;
98
+ }
99
+ @mixin transform($string) {
100
+ -webkit-transform: $string;
101
+ -moz-transform: $string;
102
+ -ms-transform: $string;
103
+ -o-transform: $string;
104
+ }
105
+ @mixin scale($factor) {
106
+ -webkit-transform: scale($factor);
107
+ -moz-transform: scale($factor);
108
+ -ms-transform: scale($factor);
109
+ -o-transform: scale($factor);
110
+ }
111
+ @mixin rotate($deg) {
112
+ -webkit-transform: rotate($deg);
113
+ -moz-transform: rotate($deg);
114
+ -ms-transform: rotate($deg);
115
+ -o-transform: rotate($deg);
116
+ }
117
+ @mixin skew($deg, $deg2) {
118
+ -webkit-transform: skew($deg, $deg2);
119
+ -moz-transform: skew($deg, $deg2);
120
+ -ms-transform: skew($deg, $deg2);
121
+ -o-transform: skew($deg, $deg2);
122
+ }
123
+ @mixin translate($x, $y:0) {
124
+ -webkit-transform: translate($x, $y);
125
+ -moz-transform: translate($x, $y);
126
+ -ms-transform: translate($x, $y);
127
+ -o-transform: translate($x, $y);
128
+ }
129
+ @mixin translate3d($x, $y: 0, $z: 0) {
130
+ -webkit-transform: translate3d($x, $y, $z);
131
+ -moz-transform: translate3d($x, $y, $z);
132
+ -ms-transform: translate3d($x, $y, $z);
133
+ -o-transform: translate3d($x, $y, $z);
134
+ }
135
+ @mixin perspective($value: 1000) {
136
+ -webkit-perspective: $value;
137
+ -moz-perspective: $value;
138
+ -ms-perspective: $value;
139
+ perspective: $value;
140
+ }
141
+ @mixin transform-origin($x:center, $y:center) {
142
+ -webkit-transform-origin: $x $y;
143
+ -moz-transform-origin: $x $y;
144
+ -ms-transform-origin: $x $y;
145
+ -o-transform-origin: $x $y;
146
+ }
147
+
148
+ @mixin truncate($max-width: 250px) {
149
+ max-width: $max-width;
150
+ white-space: nowrap;
151
+ overflow: hidden;
152
+ text-overflow: ellipsis;
153
+ }
154
+
155
+ @mixin background-size($string: contain) {
156
+ -webkit-background-size: $string;
157
+ -moz-background-size: $string;
158
+ -o-background-size: $string;
159
+ background-size: $string;
160
+ }
161
+
162
+ @mixin placeholder($color: #999) {
163
+ &::-webkit-input-placeholder { /* WebKit browsers */
164
+ color: $color;
165
+ }
166
+ &:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
167
+ color: $color;
168
+ }
169
+ &::-moz-placeholder { /* Mozilla Firefox 19+ */
170
+ color: $color;
171
+ }
172
+ &:-ms-input-placeholder { /* Internet Explorer 10+ */
173
+ color: $color;
174
+ }
175
+ }