chulapa-jekyll 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +27 -0
  3. data/LICENSE +21 -0
  4. data/README.md +126 -0
  5. data/_includes/components/author.html +40 -0
  6. data/_includes/components/breadcrumbdatesocial.html +63 -0
  7. data/_includes/components/categories.html +15 -0
  8. data/_includes/components/disqus.html +24 -0
  9. data/_includes/components/headers.html +124 -0
  10. data/_includes/components/indexcards.html +48 -0
  11. data/_includes/components/navbeforeafter.html +22 -0
  12. data/_includes/components/tags.html +15 -0
  13. data/_includes/components/toc.html +112 -0
  14. data/_includes/custom/custom_bottomscripts.html +5 -0
  15. data/_includes/custom/custom_head.html +8 -0
  16. data/_includes/custom/custom_head_before_css.html +5 -0
  17. data/_includes/custom/giscus.html +1 -0
  18. data/_includes/footer.html +129 -0
  19. data/_includes/head.html +309 -0
  20. data/_includes/navbar.html +205 -0
  21. data/_includes/search/algolia.html +3 -0
  22. data/_includes/search/google.html +11 -0
  23. data/_includes/search/lunr.html +7 -0
  24. data/_includes/snippets/bootstrapdemo.html +1390 -0
  25. data/_includes/snippets/carousel.html +61 -0
  26. data/_includes/snippets/datetranslate.html +48 -0
  27. data/_includes/snippets/masonry.html +23 -0
  28. data/_includes/snippets/video.html +26 -0
  29. data/_includes/snippets/youtube.html +6 -0
  30. data/_layouts/archive.html +82 -0
  31. data/_layouts/cloudcategory.html +89 -0
  32. data/_layouts/cloudtag.html +86 -0
  33. data/_layouts/compress.html +10 -0
  34. data/_layouts/default.html +39 -0
  35. data/_layouts/indexcategory.html +36 -0
  36. data/_layouts/landingpage.html +51 -0
  37. data/_layouts/minimal.html +21 -0
  38. data/_layouts/search.html +59 -0
  39. data/_sass/bootstrap/_alert.scss +51 -0
  40. data/_sass/bootstrap/_badge.scss +54 -0
  41. data/_sass/bootstrap/_breadcrumb.scss +44 -0
  42. data/_sass/bootstrap/_button-group.scss +163 -0
  43. data/_sass/bootstrap/_buttons.scss +142 -0
  44. data/_sass/bootstrap/_card.scss +282 -0
  45. data/_sass/bootstrap/_carousel.scss +197 -0
  46. data/_sass/bootstrap/_close.scss +40 -0
  47. data/_sass/bootstrap/_code.scss +48 -0
  48. data/_sass/bootstrap/_custom-forms.scss +522 -0
  49. data/_sass/bootstrap/_dropdown.scss +192 -0
  50. data/_sass/bootstrap/_forms.scss +347 -0
  51. data/_sass/bootstrap/_functions.scss +141 -0
  52. data/_sass/bootstrap/_grid.scss +77 -0
  53. data/_sass/bootstrap/_images.scss +42 -0
  54. data/_sass/bootstrap/_input-group.scss +192 -0
  55. data/_sass/bootstrap/_jumbotron.scss +17 -0
  56. data/_sass/bootstrap/_list-group.scss +154 -0
  57. data/_sass/bootstrap/_media.scss +8 -0
  58. data/_sass/bootstrap/_mixins.scss +47 -0
  59. data/_sass/bootstrap/_modal.scss +241 -0
  60. data/_sass/bootstrap/_nav.scss +121 -0
  61. data/_sass/bootstrap/_navbar.scss +324 -0
  62. data/_sass/bootstrap/_pagination.scss +74 -0
  63. data/_sass/bootstrap/_popover.scss +170 -0
  64. data/_sass/bootstrap/_print.scss +141 -0
  65. data/_sass/bootstrap/_progress.scss +47 -0
  66. data/_sass/bootstrap/_reboot.scss +480 -0
  67. data/_sass/bootstrap/_root.scss +20 -0
  68. data/_sass/bootstrap/_spinners.scss +56 -0
  69. data/_sass/bootstrap/_tables.scss +185 -0
  70. data/_sass/bootstrap/_toasts.scss +44 -0
  71. data/_sass/bootstrap/_tooltip.scss +115 -0
  72. data/_sass/bootstrap/_transitions.scss +20 -0
  73. data/_sass/bootstrap/_type.scss +125 -0
  74. data/_sass/bootstrap/_utilities.scss +18 -0
  75. data/_sass/bootstrap/_variables.scss +1147 -0
  76. data/_sass/bootstrap/bootstrap-grid.scss +29 -0
  77. data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
  78. data/_sass/bootstrap/bootstrap.scss +44 -0
  79. data/_sass/bootstrap/mixins/_alert.scss +13 -0
  80. data/_sass/bootstrap/mixins/_background-variant.scss +23 -0
  81. data/_sass/bootstrap/mixins/_badge.scss +17 -0
  82. data/_sass/bootstrap/mixins/_border-radius.scss +76 -0
  83. data/_sass/bootstrap/mixins/_box-shadow.scss +20 -0
  84. data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
  85. data/_sass/bootstrap/mixins/_buttons.scss +110 -0
  86. data/_sass/bootstrap/mixins/_caret.scss +62 -0
  87. data/_sass/bootstrap/mixins/_clearfix.scss +7 -0
  88. data/_sass/bootstrap/mixins/_deprecate.scss +10 -0
  89. data/_sass/bootstrap/mixins/_float.scss +14 -0
  90. data/_sass/bootstrap/mixins/_forms.scss +177 -0
  91. data/_sass/bootstrap/mixins/_gradients.scss +45 -0
  92. data/_sass/bootstrap/mixins/_grid-framework.scss +81 -0
  93. data/_sass/bootstrap/mixins/_grid.scss +69 -0
  94. data/_sass/bootstrap/mixins/_hover.scss +37 -0
  95. data/_sass/bootstrap/mixins/_image.scss +36 -0
  96. data/_sass/bootstrap/mixins/_list-group.scss +21 -0
  97. data/_sass/bootstrap/mixins/_lists.scss +7 -0
  98. data/_sass/bootstrap/mixins/_nav-divider.scss +11 -0
  99. data/_sass/bootstrap/mixins/_pagination.scss +22 -0
  100. data/_sass/bootstrap/mixins/_reset-text.scss +17 -0
  101. data/_sass/bootstrap/mixins/_resize.scss +6 -0
  102. data/_sass/bootstrap/mixins/_screen-reader.scss +34 -0
  103. data/_sass/bootstrap/mixins/_size.scss +7 -0
  104. data/_sass/bootstrap/mixins/_table-row.scss +39 -0
  105. data/_sass/bootstrap/mixins/_text-emphasis.scss +17 -0
  106. data/_sass/bootstrap/mixins/_text-hide.scss +11 -0
  107. data/_sass/bootstrap/mixins/_text-truncate.scss +8 -0
  108. data/_sass/bootstrap/mixins/_transition.scss +26 -0
  109. data/_sass/bootstrap/mixins/_visibility.scss +8 -0
  110. data/_sass/bootstrap/utilities/_align.scss +8 -0
  111. data/_sass/bootstrap/utilities/_background.scss +19 -0
  112. data/_sass/bootstrap/utilities/_borders.scss +75 -0
  113. data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
  114. data/_sass/bootstrap/utilities/_display.scss +26 -0
  115. data/_sass/bootstrap/utilities/_embed.scss +39 -0
  116. data/_sass/bootstrap/utilities/_flex.scss +51 -0
  117. data/_sass/bootstrap/utilities/_float.scss +11 -0
  118. data/_sass/bootstrap/utilities/_interactions.scss +5 -0
  119. data/_sass/bootstrap/utilities/_overflow.scss +5 -0
  120. data/_sass/bootstrap/utilities/_position.scss +32 -0
  121. data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
  122. data/_sass/bootstrap/utilities/_shadows.scss +6 -0
  123. data/_sass/bootstrap/utilities/_sizing.scss +20 -0
  124. data/_sass/bootstrap/utilities/_spacing.scss +73 -0
  125. data/_sass/bootstrap/utilities/_stretched-link.scss +19 -0
  126. data/_sass/bootstrap/utilities/_text.scss +71 -0
  127. data/_sass/bootstrap/utilities/_visibility.scss +13 -0
  128. data/_sass/bootstrap/vendor/_rfs.scss +204 -0
  129. data/_sass/bootstrapv5-migration.scss +79 -0
  130. data/_sass/chulapa-classes.scss +844 -0
  131. data/_sass/chulapa-master.scss +11 -0
  132. data/_sass/chulapa-misc.scss +105 -0
  133. data/_sass/chulapa-mixins.scss +77 -0
  134. data/_sass/chulapa-vars.scss +48 -0
  135. data/_sass/highlight/README.md +23 -0
  136. data/_sass/highlight/UNLICENSE.txt +24 -0
  137. data/_sass/highlight/autumn.scss +58 -0
  138. data/_sass/highlight/borland.scss +46 -0
  139. data/_sass/highlight/bw.scss +34 -0
  140. data/_sass/highlight/colorful.scss +61 -0
  141. data/_sass/highlight/cran.scss +169 -0
  142. data/_sass/highlight/default.scss +61 -0
  143. data/_sass/highlight/dracula.scss +169 -0
  144. data/_sass/highlight/emacs.scss +61 -0
  145. data/_sass/highlight/friendly.scss +61 -0
  146. data/_sass/highlight/fruity.scss +70 -0
  147. data/_sass/highlight/github.scss +61 -0
  148. data/_sass/highlight/gruvbox.light.scss +84 -0
  149. data/_sass/highlight/manni.scss +61 -0
  150. data/_sass/highlight/monokai.scss +65 -0
  151. data/_sass/highlight/murphy.scss +61 -0
  152. data/_sass/highlight/native.scss +70 -0
  153. data/_sass/highlight/pastie.scss +60 -0
  154. data/_sass/highlight/perldoc.scss +58 -0
  155. data/_sass/highlight/skeletor.scss +140 -0
  156. data/_sass/highlight/tango.scss +69 -0
  157. data/_sass/highlight/thankful_eyes.scss +173 -0
  158. data/_sass/highlight/trac.scss +59 -0
  159. data/_sass/highlight/vim.scss +70 -0
  160. data/_sass/highlight/vs.scss +33 -0
  161. data/_sass/highlight/zenburn.scss +136 -0
  162. data/_sass/reset-algolia.scss +24 -0
  163. data/_sass/skins/academia.scss +26 -0
  164. data/_sass/skins/auto.scss +26 -0
  165. data/_sass/skins/chulapa.scss +52 -0
  166. data/_sass/skins/deeply.scss +89 -0
  167. data/_sass/skins/graymor.scss +26 -0
  168. data/_sass/skins/hootstrap.scss +17 -0
  169. data/_sass/skins/journal.scss +142 -0
  170. data/_sass/skins/lux.scss +377 -0
  171. data/_sass/skins/lymcha.scss +14 -0
  172. data/_sass/skins/minty.scss +165 -0
  173. data/_sass/skins/none.scss +2 -0
  174. data/_sass/skins/pear.scss +21 -0
  175. data/_sass/skins/preptor.scss +19 -0
  176. data/_sass/skins/sketchy.scss +745 -0
  177. data/_sass/skins/sunset.scss +14 -0
  178. data/_sass/skins/twitter-dim.scss +30 -0
  179. data/_sass/skins/twitter-lights-out.scss +31 -0
  180. data/_sass/skins/twitter.scss +30 -0
  181. data/_sass/skins/universal.scss +24 -0
  182. data/_sass/skins/wandoo.scss +15 -0
  183. data/assets/atom.xml +72 -0
  184. data/assets/css/custom.scss +4 -0
  185. data/assets/css/highlighter.scss +5 -0
  186. data/assets/css/main.scss +35 -0
  187. data/assets/fonts/Chulapa/Chulapa-Bold.otf +0 -0
  188. data/assets/fonts/Chulapa/Chulapa-Bold_v2.1.otf +0 -0
  189. data/assets/fonts/Chulapa/Chulapa-Bold_v2.2.otf +0 -0
  190. data/assets/fonts/Chulapa/Chulapa-Bold_v2.otf +0 -0
  191. data/assets/fonts/Chulapa/Chulapa-Bold_vmod.otf +0 -0
  192. data/assets/fonts/Chulapa/Chulapa-Light.otf +0 -0
  193. data/assets/fonts/Chulapa/Chulapa-Regular.otf +0 -0
  194. data/assets/fonts/Chulapa/LICENCIA DE USO.txt +2 -0
  195. data/assets/fonts/Ferpal/Ferpal-Regular.otf +0 -0
  196. data/assets/js/algolia/algolia-search.js +148 -0
  197. data/assets/js/ch_ytdefer/ch_ytdefer.js +81 -0
  198. data/assets/js/ch_ytdefer/ch_ytdefer.min.js +1 -0
  199. data/assets/js/clipboardrouge.js +95 -0
  200. data/assets/js/google/google-search.js +24 -0
  201. data/assets/js/lunr/lunr-search.js +122 -0
  202. data/assets/js/lunr/lunr-store.js +35 -0
  203. data/assets/rss.xml +65 -0
  204. metadata +356 -0
@@ -0,0 +1,14 @@
1
+ /*! Tophat `Sunset` Bootstrap 4.3.1 theme */
2
+ @import url(https://fonts.googleapis.com/css?family=Voltaire:200,300,400,700);
3
+ $headings-font-family:Voltaire;
4
+
5
+ $primary:#2F414A;
6
+ $secondary:#F47B53;
7
+ $success:#420084;
8
+ $danger:#f2460d;
9
+ $info:#7ebcfa;
10
+ $warning:#ff9933;
11
+ $light:#eef0f2;
12
+ $dark:#000633;
13
+
14
+ // Add SASS theme customizations here..
@@ -0,0 +1,30 @@
1
+ //Twitter dim
2
+ // Some bootstrap variables
3
+ $primary: #1da1f2;
4
+ $secondary:#788995;
5
+ $success: #17bf63;
6
+ $warning: #ffad1f;
7
+ $danger: #e0245e;
8
+ $info: #794bc4;
9
+ $dark: #192734;
10
+ $body-bg:#15202b;
11
+ $body-color: #fff;
12
+ $hero-chulapa-bg-color:#15202b;
13
+ $thead-chulapa-bg-color: $primary;
14
+ $blockquote-chulapa-bg-color: mix(white, $primary, 80%);
15
+ $blockquote-chulapa-text-color: mix(black, $primary, 80%);
16
+
17
+ $navbar-chulapa-bg-color: #15202b;
18
+ $navbar-chulapa-text-color: white;
19
+ $navbar-chulapa-brand-color: white;
20
+ $navbar-chulapa-hover-color: $primary;
21
+ $navbar-chulapa-active-color: $primary;
22
+
23
+ $footer-chulapa-text-color: white;
24
+ $footer-chulapa-hover-color: $primary;
25
+
26
+ $pagination-chulapa-bg-hover-color: $primary;
27
+
28
+ $min-contrast-ratio: 2;
29
+
30
+ $breadcrumb-divider: quote(">");
@@ -0,0 +1,31 @@
1
+ // Some bootstrap variables
2
+ $primary: #1da1f2;
3
+ $secondary:#788995;
4
+ $success: #17bf63;
5
+ $warning: #ffad1f;
6
+ $danger: #e0245e;
7
+ $info: #794bc4;
8
+ $light: #c1c2c2;
9
+ $dark: #15181c;
10
+ $body-bg:#000;
11
+ $body-color: $light;
12
+ $hero-chulapa-bg-color:#000;
13
+ $hero-chulapa-text-color:$light;
14
+ $thead-chulapa-bg-color: $primary;
15
+ $blockquote-chulapa-bg-color: mix(white, $primary, 80%);
16
+ $blockquote-chulapa-text-color: mix(black, $primary, 80%);
17
+
18
+ $navbar-chulapa-bg-color: #000;
19
+ $navbar-chulapa-text-color: $light;
20
+ $navbar-chulapa-brand-color: $light;
21
+ $navbar-chulapa-hover-color: $primary;
22
+ $navbar-chulapa-active-color: $primary;
23
+
24
+ $footer-chulapa-text-color: $light;
25
+ $footer-chulapa-hover-color: $primary;
26
+
27
+ $pagination-chulapa-bg-hover-color: $primary;
28
+
29
+ $min-contrast-ratio: 2;
30
+
31
+ $breadcrumb-divider: quote(">");
@@ -0,0 +1,30 @@
1
+
2
+ // Some bootstrap variables
3
+ $primary: #1da1f2;
4
+ $secondary:#788995;
5
+ $success: #17bf63;
6
+ $warning: #ffad1f;
7
+ $danger: #e0245e;
8
+ $info: #794bc4;
9
+ $light: #f5f8fa;
10
+ $body-bg:#fff;
11
+ $body-color: #14171a;
12
+ $hero-chulapa-bg-color:#fff;
13
+ $thead-chulapa-bg-color: $primary;
14
+ $blockquote-chulapa-bg-color: mix(white, $primary, 80%);
15
+ $blockquote-chulapa-text-color: mix(black, $primary, 80%);
16
+ $navbar-chulapa-bg-color: #fff;
17
+ $navbar-chulapa-text-color: $body-color;
18
+ $navbar-chulapa-brand-color:$body-color;
19
+ $navbar-chulapa-hover-color: $primary;
20
+ $navbar-chulapa-active-color: $primary;
21
+
22
+ $footer-chulapa-text-color: $body-color;
23
+ $footer-chulapa-hover-color: $primary;
24
+
25
+ $pagination-chulapa-bg-hover-color: $primary;
26
+
27
+ $min-contrast-ratio: 2;
28
+
29
+
30
+ $breadcrumb-divider: quote(">");
@@ -0,0 +1,24 @@
1
+ // Adapted from Bootstrapius
2
+ @import url("https://fonts.googleapis.com/css2?family=Roboto+Mono&family=Roboto:wght@100;300;400;500;700&display=swap");
3
+
4
+ $font-family-base: "Roboto";
5
+ $font-family-monospace: "Roboto Mono";
6
+ $headings-font-weight: 700;
7
+ $body-bg: #fff;
8
+ $primary: #986dbd;
9
+ $green: #97bf13;
10
+ $red: #dc3545;
11
+ $orange: #fd7e14;
12
+ $yellow: #ffc107;
13
+ $headings-color: #333;
14
+ $link-color: #986dbd;
15
+ $navbar-chulapa-brand-color: #000;
16
+ $navbar-chulapa-bg-color: white;
17
+ $navbar-chulapa-toggler-color: #986dbd;
18
+ $navbar-chulapa-active-color: #986dbd;
19
+ $hero-chulapa-bg-color: #986dbd;
20
+ $hero-chulapa-text-color: black;
21
+ $footer-chulapa-bg-color: #333;
22
+ $footer-chulapa-text-color: #ccc;
23
+ $footer-chulapa-icon-color: #ccc;
24
+ $footer-chulapa-icon-hover-color: #724599;
@@ -0,0 +1,15 @@
1
+ /*! Tophat `Wandoo` Bootstrap 4.3.1 theme */
2
+ @import url(https://fonts.googleapis.com/css?family=Nunito:200,300,400,700);
3
+ $font-family-base:Nunito;
4
+ @import url(https://fonts.googleapis.com/css?family=Comfortaa:200,300,400,700);
5
+ $headings-font-family:Comfortaa;
6
+
7
+ $primary:#FF304F;
8
+ $secondary:#CACACA;
9
+ $success:#015668;
10
+ $danger:#06648C;
11
+ $info:#0F81C7;
12
+ $warning:#0DE2EA;
13
+ $light:#ececec;
14
+ $dark:#222222;
15
+ $gray-300:#e0e0e0;
data/assets/atom.xml ADDED
@@ -0,0 +1,72 @@
1
+ ---
2
+ layout: null
3
+ permalink: ./atom.xml
4
+ ---
5
+ {%- assign og_image = site.og_image | default: site.author.avatar | default: site.github.owner_gravatar_url | absolute_url -%}
6
+ <?xml version="1.0" encoding="utf-8"?>
7
+ <feed xmlns="http://www.w3.org/2005/Atom" >
8
+ <generator uri="https://dieghernan.github.io/chulapa" version="1.0.0">Chulapa</generator>
9
+ <link href="{{ page.url | absolute_url }}" rel="self" type="application/atom+xml" />
10
+ <link href="{{ "" | absolute_url }}" rel="alternate" type="text/html" />
11
+ <updated>{{ site.time | date_to_xmlschema }}</updated>
12
+ <id>{{ page.url | absolute_url }}</id>
13
+ <title>{{ site.title | strip_html }}{% if site.subtitle %}{{ " | " | append: site.subtitle | strip_html }}{% endif %}</title>
14
+ {% if site.subtitle -%}
15
+ <subtitle>{{- site.subtitle | strip_html -}}</subtitle>
16
+ {%- endif %}
17
+ <author>
18
+ <name>{{ site.author.name | default: site.github.owner_name }}</name>
19
+ {% assign authorlink = site.author.links | where_exp: "item", "item.url contains 'http'" -%}
20
+ {% for link in authorlink limit: 1 -%}
21
+ <uri>{{ link.url | absolute_url }}</uri>
22
+ {%- endfor %}
23
+ </author>
24
+ <rights>(c) {{ site.time | date: '%Y' }}, {{ site.author.name | default: site.github.owner_name }}</rights>
25
+ {% if site.navbar.brand.img -%}
26
+ <icon>{{- site.navbar.brand.img | absolute_url -}}</icon>
27
+ {%- endif %}
28
+ <logo>{{- og_image -}}</logo>
29
+ {%- assign wpm = words_per_minute | default: 200 -%}
30
+ {%- assign alldocs = site.documents |
31
+ where_exp: "item", "item.include_on_feed == true" |
32
+ where_exp: "item", "item.date != nil" |
33
+ sort: 'date' | reverse -%}
34
+ {%- for document in alldocs -%}
35
+ {%- assign entryimg = document.og_image | default: document.header_img | absolute_url -%}
36
+ {%- assign words = document.content | strip_html | number_of_words -%}
37
+ {%- assign minutes = words | divided_by: wpm | ceil | at_least: 1 -%}
38
+ <entry>
39
+ <title>{{ document.title | strip_html | escape }}</title>
40
+ <link href="{{ document.url | replace: "index.html", "" | absolute_url | uri_escape }}" rel="alternate" type="text/html" title="{{ document.title | strip_html | escape }}"/>
41
+ <published>{{ document.date | date_to_xmlschema }}</published>
42
+ <updated>{{ document.last_modified_at | default: document.date | date_to_xmlschema }}</updated>
43
+ <id>{{ document.url | replace: "index.html", "" | absolute_url | uri_escape }}</id>
44
+ <content type="html" xml:base="{{ document.url | replace: "index.html", "" | absolute_url | uri_escape }}">
45
+ {% if document.subtitle %}
46
+ {{ '<h3>' | append: document.subtitle |
47
+ append: '</h3>' | escape }}
48
+
49
+ {% endif %}
50
+ {% if entryimg %}
51
+ {{ "<img src='" | append: entryimg | append: "' >" | escape }}
52
+ {% endif %}
53
+ {{ "<p>" | append: minutes |
54
+ append: " min.</p>" | escape }}
55
+ {{ document.content | markdownify | escape }}
56
+ </content>
57
+ {% assign entryauthor = document.author | default: site.author %}
58
+ <author>
59
+ <name>{{ entryauthor.name | default: site.github.owner_name }}</name>
60
+ {%- for link in entryauthor.links limit: 1 -%}
61
+ <uri>{{ link.url | absolute_url }}</uri>
62
+ {%- endfor -%}
63
+ </author>
64
+ <summary type="html">{{ document.excerpt | escape }}</summary>
65
+ <category term="{{ document.collection }}"/>
66
+ {% assign tagrss = document.tags | join: ',' | split: ',' | sort -%}
67
+ {% for tag in tagrss -%}
68
+ <category term="{{ tag }}"/>
69
+ {%- endfor %}
70
+ </entry>
71
+ {%- endfor -%}
72
+ </feed>
@@ -0,0 +1,4 @@
1
+ ---
2
+ ---
3
+ @charset "utf-8";
4
+ // Your custom css /scss here
@@ -0,0 +1,5 @@
1
+ ---
2
+ ---
3
+ @charset "utf-8";
4
+ // Syntax highlighter
5
+ @import "highlight/{{- site.chulapa-skin.highlight | downcase | default: "default" -}}";
@@ -0,0 +1,35 @@
1
+ ---
2
+ ---
3
+ @charset "utf-8";
4
+ // Custom free font: see https://diario.madrid.es/chulapa/
5
+ @font-face {
6
+ font-family: chulapa;
7
+ src: url({{ "/assets/fonts/Chulapa/Chulapa-Bold_vmod.otf" | absolute_url }});
8
+ font-display: fallback;
9
+ }
10
+
11
+ //Theming Bootstrap from config
12
+
13
+ //Theme
14
+ @import "skins/{{- site.chulapa-skin.skin | default: "none" -}}";
15
+
16
+ //Theming Bootstrap from config // overrides
17
+ {% for var in site.chulapa-skin.vars %}
18
+ {% if var[1] != nil %}
19
+ ${{ var[0] }}: {{ var[1] }};
20
+ {% endif %}
21
+ {% endfor%}
22
+
23
+
24
+ {% if site.chulapa-skin.autothemer %}
25
+ // Autothemer: No overrides
26
+ @import "skins/auto";
27
+ {% endif %}
28
+
29
+ // Import bootstrap
30
+ @import "bootstrap/bootstrap";
31
+ //B. Chulapa specifics
32
+ @import "chulapa-master";
33
+ {% if site.search.provider == "algolia" %}
34
+ @import "reset-algolia";
35
+ {% endif %}
@@ -0,0 +1,2 @@
1
+ Chulapa es una tipografía del Ayuntamiento de Madrid diseñada y producida por Joancarles Casasín y Pablo Gámez sobre una idea de Silvia Fernández Palomar licenciada bajo Creative Commons CC BY, Versión 4.0:
2
+ https://creativecommons.org/licenses/by/4.0/deed.es_ES
@@ -0,0 +1,148 @@
1
+ ---
2
+ layout: null
3
+ ---
4
+
5
+ const algoliaClient = algoliasearch(
6
+ '{{ site.algolia.application_id }}',
7
+ '{{ site.algolia.search_only_api_key }}'
8
+ );
9
+
10
+ const searchClient = {
11
+ search(requests) {
12
+ if (requests.every(({ params }) => !params.query)) {
13
+ return Promise.resolve({
14
+ results: requests.map(() => ({
15
+ hits: [],
16
+ nbHits: 0,
17
+ nbPages: 0,
18
+ })),
19
+ });
20
+ }
21
+
22
+ return algoliaClient.search(requests);
23
+ },
24
+ };
25
+
26
+ const search = instantsearch({
27
+ indexName: '{{ site.algolia.index_name }}',
28
+ searchClient,
29
+ });
30
+
31
+
32
+ function imgurl(p1) {
33
+ if (p1 === undefined){
34
+ return " "
35
+ } else if (p1.indexOf("./") === 0) {
36
+ return p1.replace("./", "{{ '/' | absolute_url }}");
37
+ } else if (p1.indexOf("/") === 0) {
38
+ return p1.replace("/", "{{ '/' | absolute_url }}");
39
+ } else {
40
+ return p1
41
+ }
42
+ }
43
+
44
+ function parsecontent(hit) {
45
+ if (hit.html === undefined){
46
+ return " "
47
+ } else {
48
+ return hit._highlightResult.html.value
49
+ }
50
+ }
51
+ function parsetitle(hit) {
52
+ if (hit.title === undefined){
53
+ return "---------"
54
+ } else {
55
+ return hit._highlightResult.title.value
56
+ }
57
+ }
58
+
59
+ function parseimg(img1, img2){
60
+ if (img1 === undefined){
61
+ return img2;
62
+ } else {
63
+ return img1;
64
+ }
65
+ }
66
+
67
+ const hitTemplate = function(hit) {
68
+ const url = hit.url;
69
+ const title = parsetitle(hit);
70
+ const content = parsecontent(hit);
71
+ const img = parseimg(hit.og_image, hit.header_img);
72
+ const imglink = imgurl(img);
73
+ if (img === undefined){
74
+ return `
75
+ <article class="my-2 text-left">
76
+ <div class="row">
77
+ <div class="col">
78
+ <h5 class="chulapa-links-hover-only"><a href="{{ '' | absolute_url }}${url}">${title}</a></h5>
79
+ </div>
80
+ </div>
81
+ <div class="row mt-2">
82
+ <div class="col">
83
+ <p>${content}</p>
84
+ </div>
85
+ </div>
86
+ <hr>
87
+ </article>
88
+ `;
89
+ } else {
90
+ return `
91
+ <article class="my-2 text-left">
92
+ <div class="row">
93
+ <div class="col">
94
+ <h5 class="chulapa-links-hover-only"><a href="{{ '' | absolute_url }}${url}">${title}</a></h5>
95
+ </div>
96
+ <div class="col-4 col-md-3">
97
+ <a href="{{ '' | absolute_url }}${url}">
98
+ <div class="rounded-lg chulapa-overlay-img chulapa-gradient chulapa-min-h-10" style="background-image: url('${imglink}')" ></div>
99
+ </a>
100
+ </div>
101
+ </div>
102
+ <div class="row mt-2">
103
+ <div class="col">
104
+ <p>${content}</p>
105
+ </div>
106
+ </div>
107
+ <hr>
108
+ </article>
109
+ `;
110
+ }
111
+ }
112
+
113
+
114
+
115
+ search.addWidgets([
116
+ instantsearch.widgets.searchBox({
117
+ container: '#searchbox',
118
+ placeholder: '{{ site.search.label | default: "Search" }}...',
119
+ showReset: false,
120
+ showSubmit: false,
121
+ showLoadingIndicator: false,
122
+ cssClasses: {
123
+ root: ['input-group'],
124
+ form: ['input-group'],
125
+ input: ['form-control', 'rounded'],
126
+ },
127
+ }),
128
+ {% if site.search.algolia_logo %}
129
+ instantsearch.widgets.poweredBy({
130
+ container: '#powered-by',
131
+ }),
132
+ {% endif %}
133
+ {% raw %}
134
+ instantsearch.widgets.hits({
135
+ container: '#hits',
136
+ escapeHTML: false,
137
+ templates: {
138
+ empty: `
139
+ {{#query}}
140
+ <h6 class="text-center">No results found</h6>
141
+ {{/query}}
142
+ `,
143
+ item: hitTemplate
144
+ },
145
+ }),
146
+ {% endraw %}
147
+ ]);
148
+ search.start();
@@ -0,0 +1,81 @@
1
+ var ytdefer_ic_w = 73;
2
+ var ytdefer_ic_h = 52;
3
+ var yt_icon =
4
+ '<svg height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#eb3223"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg>';
5
+ var yt_dark_icon =
6
+ '<svg height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#212121" fill-opacity="0.8"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg>';
7
+
8
+ function ch_ytdefer_setup() {
9
+ var d = document;
10
+ var els = d.getElementsByClassName("ch_ytdefer");
11
+ for (var i = 0; i < els.length; i++) {
12
+ var im = els[i];
13
+ var ds = im.getAttribute("data-src");
14
+ if (!ds) {
15
+ alert("data-src missing for video");
16
+ return;
17
+ }
18
+ // Add ids and clicks
19
+ im.setAttribute('id', "ch_ytdefer" + i);
20
+ //im.id= ;
21
+ im.onclick = gen_ytdefer_clk(i);
22
+ //e.appendChild(im);
23
+
24
+ // Add id to button
25
+ var bt = im.getElementsByClassName("ch_ytdefer_btn")[0];
26
+ bt.setAttribute("id", "ch_ytdefer_icon" + i);
27
+
28
+ // Hover button
29
+ im.onmouseover = gen_mouseover(bt);
30
+ im.onmouseout = gen_mouseout(bt);
31
+
32
+ }
33
+ if (typeof YT == "undefined") {
34
+ var js = d.createElement("script");
35
+ js.type = "text/javascript";
36
+ js.src = "https://www.youtube.com/player_api";
37
+ d.body.appendChild(js);
38
+ }
39
+ }
40
+
41
+ function gen_mouseout(bt) {
42
+ return function() {
43
+ bt.style.backgroundImage = "url(data:image/svg+xml;base64," + window.btoa(yt_dark_icon) + ")";
44
+ };
45
+ }
46
+
47
+ function gen_mouseover(bt) {
48
+ return function() {
49
+ bt.style.backgroundImage = "url(data:image/svg+xml;base64," + window.btoa(yt_icon) + ")";
50
+ };
51
+ }
52
+
53
+ function gen_ytdefer_clk(i) {
54
+ return function() {
55
+ var d = document;
56
+ var im = d.getElementById("ch_ytdefer" + i);
57
+ // Get video id from source
58
+ var vid_id = im.getAttribute("data-src");
59
+
60
+
61
+ // Create an iframe with the responsive class and append it as a child
62
+ var ifr = d.createElement("div");
63
+ ifr.id = "ch_ytdefer_frame" + i;
64
+ ifr.classList.add("embed-responsive-item");
65
+ im.appendChild(ifr);
66
+
67
+ //Remove attributes
68
+ //im.removeAttribute('style');
69
+
70
+ // Add player
71
+ var player = new YT.Player(ifr.id, {
72
+ videoId: vid_id,
73
+ events: {
74
+ onReady: function(ev) {
75
+ ev.target.playVideo();
76
+ },
77
+ },
78
+ });
79
+
80
+ };
81
+ }
@@ -0,0 +1 @@
1
+ var ytdefer_ic_w=73,ytdefer_ic_h=52,yt_icon='<svg height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#eb3223"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg>',yt_dark_icon='<svg height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#212121" fill-opacity="0.8"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg>';function ch_ytdefer_setup(){for(var e=document,t=e.getElementsByClassName("ch_ytdefer"),n=0;n<t.length;n++){var a=t[n];if(!a.getAttribute("data-src")){alert("data-src missing for video");return}a.setAttribute("id","ch_ytdefer"+n),a.onclick=gen_ytdefer_clk(n);var i=a.getElementsByClassName("ch_ytdefer_btn")[0];i.setAttribute("id","ch_ytdefer_icon"+n),a.onmouseover=gen_mouseover(i),a.onmouseout=gen_mouseout(i)}if("undefined"==typeof YT){var r=e.createElement("script");r.type="text/javascript",r.src="https://www.youtube.com/player_api",e.body.appendChild(r)}}function gen_mouseout(e){return function(){e.style.backgroundImage="url(data:image/svg+xml;base64,"+window.btoa(yt_dark_icon)+")"}}function gen_mouseover(e){return function(){e.style.backgroundImage="url(data:image/svg+xml;base64,"+window.btoa(yt_icon)+")"}}function gen_ytdefer_clk(e){return function(){var t=document,n=t.getElementById("ch_ytdefer"+e),a=n.getAttribute("data-src"),i=t.createElement("div");i.id="ch_ytdefer_frame"+e,i.classList.add("embed-responsive-item"),n.appendChild(i),new YT.Player(i.id,{videoId:a,events:{onReady:function(e){e.target.playVideo()}}})}}
@@ -0,0 +1,95 @@
1
+ ---
2
+ layout: null
3
+ ---
4
+
5
+ // Clipboard
6
+ // Uses Bootstrap 4 + JQuery
7
+
8
+ // Initialize tooltips BST4 - Fancy displaying
9
+ // CSS btn-copy-code: Visibility controls that the button is shown only when hovering the code container
10
+ //.btn-copy-code{position:absolute;right:30px;visibility:hidden} NOTE: visibilty optional
11
+ //.highlighter-rouge:hover button.btn-copy-code{visibility:visible} NOTE: Skip if btn_copy_code not hidden
12
+
13
+ $(function () {
14
+ $('[data-toggle="tooltip"]').tooltip()
15
+ })
16
+
17
+ function showTooltip(btn, message) {
18
+ btn.tooltip('hide')
19
+ .attr('data-original-title', message)
20
+ .tooltip('show');
21
+ }
22
+
23
+ function hideTooltip(btn) {
24
+ setTimeout(function() {
25
+ btn.tooltip('hide');
26
+ }, 1000);
27
+ }
28
+
29
+ function sleep(ms) {
30
+ return new Promise(resolve => setTimeout(resolve, ms));
31
+ }
32
+ //
33
+ async function setTooltip(btn, message) {
34
+ btn.classList.remove('btn-light');
35
+ btn.classList.add('btn-success');
36
+ btn.setAttribute('aria-label', message);
37
+ await sleep(1000);
38
+ btn.removeAttribute('aria-label');
39
+ btn.removeAttribute('data-original-title');
40
+ btn.classList.add('btn-light');
41
+ btn.classList.remove('btn-success');
42
+ }
43
+
44
+ async function warningTooltip(btn, message) {
45
+ btn.classList.remove('btn-light');
46
+ btn.classList.add('btn-danger');
47
+ await sleep(500);
48
+ btn.removeAttribute('aria-label');
49
+ btn.removeAttribute('data-original-title');
50
+ btn.classList.add('btn-light');
51
+ btn.classList.remove('btn-danger');
52
+ }
53
+
54
+ // End helpers tooltip
55
+
56
+ // Insert buttons
57
+ $(document).ready(function() {
58
+ // HTML Button styled with BST4
59
+ var copyButton = "<button class='btn btn-light btn-sm btn-chulapa-copy-code' " +
60
+ "type = 'button' " +
61
+ "data-toggle='tooltip'" +
62
+ "data-placement='left'" +
63
+ "data-clipboard-copy>" + //Keyword
64
+ "<i class='far fa-copy'></i>" +
65
+ "</button>";
66
+
67
+ // Insert copy buttons between pre and code on Rouge:
68
+ $(copyButton).prependTo("pre.highlight");
69
+
70
+ });
71
+
72
+ // Copy next Sibling - code part
73
+ var clipboard = new ClipboardJS('[data-clipboard-copy]', { // Keyword
74
+ target: function(trigger) {
75
+ return trigger.nextElementSibling;
76
+ }
77
+ });
78
+ // Fancy displaying using BST4
79
+ clipboard.on('success', function(e) {
80
+ e.clearSelection();
81
+ setTooltip(e.trigger, 'Copied!');
82
+ var btn = $(e.trigger);
83
+ showTooltip(btn, 'Copied!');
84
+ hideTooltip(btn);
85
+ // Console
86
+ console.info('Text:', e.text);
87
+ });
88
+
89
+ clipboard.on('error', function(e) {
90
+ e.clearSelection();
91
+ warningTooltip(e.trigger, 'Error!');
92
+ var btn = $(e.trigger);
93
+ showTooltip(btn, 'Error!');
94
+ hideTooltip(btn);
95
+ });
@@ -0,0 +1,24 @@
1
+ ---
2
+ layout: null
3
+ ---
4
+
5
+ (function() {
6
+ var cx = '{{ site.google_cse_id }}';
7
+ var gcse = document.createElement('script');
8
+ gcse.type = 'text/javascript';
9
+ gcse.async = true;
10
+ gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
11
+ var s = document.getElementsByTagName('script')[0];
12
+ s.parentNode.insertBefore(gcse, s);
13
+ })();
14
+
15
+ function googleCustomSearchExecute() {
16
+ var input = document.getElementById('cse-search-input-box-id');
17
+ var element = google.search.cse.element.getElement('searchresults-only0');
18
+ if (input.value == '') {
19
+ element.clearAllResults();
20
+ } else {
21
+ element.execute(input.value);
22
+ }
23
+ return false;
24
+ }