jekyll-any-theme 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +52 -0
  4. data/_includes/api/example.html +23 -0
  5. data/_includes/api/get.html +11 -0
  6. data/_includes/api/save.html +1 -0
  7. data/_includes/components/alert.html +7 -0
  8. data/_includes/components/blockquote.html +23 -0
  9. data/_includes/components/bootstrap.html +245 -0
  10. data/_includes/components/card.html +85 -0
  11. data/_includes/components/lead.html +1 -0
  12. data/_includes/components/login.html +28 -0
  13. data/_includes/components/navbar_link.html +3 -0
  14. data/_includes/components/navbar_text.html +3 -0
  15. data/_includes/components/page_info.html +48 -0
  16. data/_includes/components/toc.html +18 -0
  17. data/_includes/filters/link_to_file.html +26 -0
  18. data/_includes/filters/unslug.html +17 -0
  19. data/_includes/page/end.html +2 -0
  20. data/_includes/page/footer.html +26 -0
  21. data/_includes/page/head.html +28 -0
  22. data/_includes/page/header.html +7 -0
  23. data/_includes/page/init.html +17 -0
  24. data/_includes/page/main.html +44 -0
  25. data/_includes/page/navbar.html +69 -0
  26. data/_includes/page/sidebar.html +6 -0
  27. data/_includes/page/top.html +27 -0
  28. data/_includes/tempus/calendar.html +26 -0
  29. data/_includes/tempus/events.html +72 -0
  30. data/_includes/tempus/next.html +73 -0
  31. data/_includes/widgets/libros.html +183 -0
  32. data/_includes/widgets/themes.html +11 -0
  33. data/_includes/widgets/toc.html +18 -0
  34. data/_layouts/default.html +8 -0
  35. data/_layouts/page.html +5 -0
  36. data/_layouts/post.html +5 -0
  37. data/_sass/_any_theme.sass +54 -0
  38. data/_sass/any_theme/_corrections.sass +71 -0
  39. data/_sass/any_theme/_headings.sass +13 -0
  40. data/_sass/any_theme/_mixins.sass +11 -0
  41. data/_sass/any_theme/_syntax_blood.scss +310 -0
  42. data/_sass/any_theme/_syntax_dark.scss +63 -0
  43. data/_sass/any_theme/_syntax_default.scss +310 -0
  44. data/_sass/any_theme/_toc.sass +4 -0
  45. data/_sass/any_theme/_widgets.sass +48 -0
  46. data/_sass/bootstrap/_alert.scss +51 -0
  47. data/_sass/bootstrap/_badge.scss +47 -0
  48. data/_sass/bootstrap/_breadcrumb.scss +38 -0
  49. data/_sass/bootstrap/_button-group.scss +166 -0
  50. data/_sass/bootstrap/_buttons.scss +143 -0
  51. data/_sass/bootstrap/_card.scss +270 -0
  52. data/_sass/bootstrap/_carousel.scss +191 -0
  53. data/_sass/bootstrap/_close.scss +34 -0
  54. data/_sass/bootstrap/_code.scss +56 -0
  55. data/_sass/bootstrap/_custom-forms.scss +297 -0
  56. data/_sass/bootstrap/_dropdown.scss +131 -0
  57. data/_sass/bootstrap/_forms.scss +333 -0
  58. data/_sass/bootstrap/_functions.scss +86 -0
  59. data/_sass/bootstrap/_grid.scss +52 -0
  60. data/_sass/bootstrap/_images.scss +42 -0
  61. data/_sass/bootstrap/_input-group.scss +159 -0
  62. data/_sass/bootstrap/_jumbotron.scss +16 -0
  63. data/_sass/bootstrap/_list-group.scss +115 -0
  64. data/_sass/bootstrap/_media.scss +8 -0
  65. data/_sass/bootstrap/_mixins.scss +42 -0
  66. data/_sass/bootstrap/_modal.scss +168 -0
  67. data/_sass/bootstrap/_nav.scss +118 -0
  68. data/_sass/bootstrap/_navbar.scss +311 -0
  69. data/_sass/bootstrap/_pagination.scss +77 -0
  70. data/_sass/bootstrap/_popover.scss +183 -0
  71. data/_sass/bootstrap/_print.scss +124 -0
  72. data/_sass/bootstrap/_progress.scss +33 -0
  73. data/_sass/bootstrap/_reboot.scss +482 -0
  74. data/_sass/bootstrap/_root.scss +19 -0
  75. data/_sass/bootstrap/_tables.scss +180 -0
  76. data/_sass/bootstrap/_tooltip.scss +115 -0
  77. data/_sass/bootstrap/_transitions.scss +36 -0
  78. data/_sass/bootstrap/_type.scss +125 -0
  79. data/_sass/bootstrap/_utilities.scss +14 -0
  80. data/_sass/bootstrap/_variables.scss +894 -0
  81. data/_sass/bootstrap/bootstrap-grid.scss +32 -0
  82. data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
  83. data/_sass/bootstrap/bootstrap.scss +42 -0
  84. data/_sass/bootstrap/mixins/_alert.scss +13 -0
  85. data/_sass/bootstrap/mixins/_background-variant.scss +21 -0
  86. data/_sass/bootstrap/mixins/_badge.scss +12 -0
  87. data/_sass/bootstrap/mixins/_border-radius.scss +35 -0
  88. data/_sass/bootstrap/mixins/_box-shadow.scss +5 -0
  89. data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
  90. data/_sass/bootstrap/mixins/_buttons.scss +109 -0
  91. data/_sass/bootstrap/mixins/_caret.scss +65 -0
  92. data/_sass/bootstrap/mixins/_clearfix.scss +7 -0
  93. data/_sass/bootstrap/mixins/_float.scss +11 -0
  94. data/_sass/bootstrap/mixins/_forms.scss +137 -0
  95. data/_sass/bootstrap/mixins/_gradients.scss +45 -0
  96. data/_sass/bootstrap/mixins/_grid-framework.scss +67 -0
  97. data/_sass/bootstrap/mixins/_grid.scss +52 -0
  98. data/_sass/bootstrap/mixins/_hover.scss +39 -0
  99. data/_sass/bootstrap/mixins/_image.scss +36 -0
  100. data/_sass/bootstrap/mixins/_list-group.scss +21 -0
  101. data/_sass/bootstrap/mixins/_lists.scss +7 -0
  102. data/_sass/bootstrap/mixins/_nav-divider.scss +10 -0
  103. data/_sass/bootstrap/mixins/_navbar-align.scss +10 -0
  104. data/_sass/bootstrap/mixins/_pagination.scss +22 -0
  105. data/_sass/bootstrap/mixins/_reset-text.scss +17 -0
  106. data/_sass/bootstrap/mixins/_resize.scss +6 -0
  107. data/_sass/bootstrap/mixins/_screen-reader.scss +35 -0
  108. data/_sass/bootstrap/mixins/_size.scss +6 -0
  109. data/_sass/bootstrap/mixins/_table-row.scss +30 -0
  110. data/_sass/bootstrap/mixins/_text-emphasis.scss +14 -0
  111. data/_sass/bootstrap/mixins/_text-hide.scss +9 -0
  112. data/_sass/bootstrap/mixins/_text-truncate.scss +8 -0
  113. data/_sass/bootstrap/mixins/_transition.scss +9 -0
  114. data/_sass/bootstrap/mixins/_visibility.scss +7 -0
  115. data/_sass/bootstrap/utilities/_align.scss +8 -0
  116. data/_sass/bootstrap/utilities/_background.scss +19 -0
  117. data/_sass/bootstrap/utilities/_borders.scss +59 -0
  118. data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
  119. data/_sass/bootstrap/utilities/_display.scss +38 -0
  120. data/_sass/bootstrap/utilities/_embed.scss +52 -0
  121. data/_sass/bootstrap/utilities/_flex.scss +46 -0
  122. data/_sass/bootstrap/utilities/_float.scss +9 -0
  123. data/_sass/bootstrap/utilities/_position.scss +36 -0
  124. data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
  125. data/_sass/bootstrap/utilities/_sizing.scss +12 -0
  126. data/_sass/bootstrap/utilities/_spacing.scss +51 -0
  127. data/_sass/bootstrap/utilities/_text.scss +52 -0
  128. data/_sass/bootstrap/utilities/_visibility.scss +11 -0
  129. data/assets/css/basic_light_sans.sass +71 -0
  130. data/assets/css_no/basic_dark_sans.sass +114 -0
  131. data/assets/css_no/basic_dark_serif.sass +114 -0
  132. data/assets/css_no/basic_light_serif.sass +69 -0
  133. data/assets/css_no/bootstrap.sass +44 -0
  134. data/assets/css_no/dark_additions.sass +74 -0
  135. data/assets/css_no/dnd.sass +188 -0
  136. data/assets/css_no/gurps.sass +70 -0
  137. data/assets/css_no/minidark.sass +177 -0
  138. data/assets/css_no/minimal.sass +139 -0
  139. data/assets/css_no/roboto_dark.sass +324 -0
  140. data/assets/css_no/roboto_light.sass +275 -0
  141. data/assets/fonts/scala/fonts.scss +59 -0
  142. data/assets/fonts/scala/scala-bold-webfont.eot +0 -0
  143. data/assets/fonts/scala/scala-bold-webfont.svg +873 -0
  144. data/assets/fonts/scala/scala-bold-webfont.ttf +0 -0
  145. data/assets/fonts/scala/scala-bold-webfont.woff +0 -0
  146. data/assets/fonts/scala/scala-italic-webfont.eot +0 -0
  147. data/assets/fonts/scala/scala-italic-webfont.svg +235 -0
  148. data/assets/fonts/scala/scala-italic-webfont.ttf +0 -0
  149. data/assets/fonts/scala/scala-italic-webfont.woff +0 -0
  150. data/assets/fonts/scala/scala-webfont.eot +0 -0
  151. data/assets/fonts/scala/scala-webfont.svg +234 -0
  152. data/assets/fonts/scala/scala-webfont.ttf +0 -0
  153. data/assets/fonts/scala/scala-webfont.woff +0 -0
  154. data/assets/fonts/scala/scalasans-bold-webfont.eot +0 -0
  155. data/assets/fonts/scala/scalasans-bold-webfont.svg +244 -0
  156. data/assets/fonts/scala/scalasans-bold-webfont.ttf +0 -0
  157. data/assets/fonts/scala/scalasans-bold-webfont.woff +0 -0
  158. data/assets/fonts/scala/scalasans-webfont.eot +0 -0
  159. data/assets/fonts/scala/scalasans-webfont.svg +238 -0
  160. data/assets/fonts/scala/scalasans-webfont.ttf +0 -0
  161. data/assets/fonts/scala/scalasans-webfont.woff +0 -0
  162. data/assets/images/dnd-bg.jpg +0 -0
  163. data/assets/js/any-theme.coffee +33 -0
  164. data/assets/js/any_theme/libros.coffee +113 -0
  165. data/assets/js/any_theme/login.coffee +90 -0
  166. data/assets/js/any_theme/storage.coffee +49 -0
  167. data/assets/js/any_theme/themes.coffee +10 -0
  168. data/assets/pages/about.md +17 -0
  169. data/assets/pages/customize/css.md +22 -0
  170. data/assets/pages/customize/themes.md +17 -0
  171. data/assets/pages/docs/libros.md +17 -0
  172. data/assets/pages/docs/tempus.md +66 -0
  173. data/assets/pages/index.md +21 -0
  174. metadata +258 -0
@@ -0,0 +1,26 @@
1
+ <footer>
2
+ <!-- Navbar -->
3
+ <nav class="navbar navbar-expand-md">
4
+ <div class="container{{ fluid }}">
5
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarFooter" aria-controls="navbarFooter" aria-expanded="false" aria-label="Toggle navigation">
6
+ <span class="navbar-toggler-icon"></span>
7
+ </button>
8
+
9
+ <div class="collapse navbar-collapse" id="navbarFooter">
10
+ <ul class="navbar-nav mr-auto">
11
+ <li class="nav-item">
12
+ <a class="nav-link" href="{{ site.github.url }}">GitHub</a>
13
+ </li>
14
+ <li class="nav-item">
15
+ <a class="nav-link" href="Page info">Page info</a>
16
+ </li>
17
+ </ul>
18
+ <ul class="navbar-nav my-lg-0">
19
+ <li class="nav-item">
20
+ <a class="nav-link" href="#top">Top</a>
21
+ </li>
22
+ </ul>
23
+ </div>
24
+ </div>
25
+ </nav>
26
+ </footer>
@@ -0,0 +1,28 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <title>{{ site.title }}{% if page.title %} | {{ page.title }}{% endif %}</title>
5
+
6
+ <!-- Required meta tags -->
7
+ <meta charset="utf-8">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
9
+
10
+ <!-- CSS -->
11
+ <!-- Datepicker -->
12
+ <link rel="stylesheet"
13
+ href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.4/datepicker.css"
14
+ integrity="sha256-zozDkxLZ4hXQxKEFI8DTVkwNRd0J2KW0LxrN+/2RJVQ="
15
+ crossorigin="anonymous" />
16
+
17
+ {% if font_face %}<link rel="stylesheet" href="/assets/{{ font_face }}">{% endif %}
18
+ <link rel="stylesheet" href="/assets/css/{{ theme }}.css" id="main-css">
19
+
20
+ <!-- Javascripts CDN -->
21
+ {% for script in site.scripts %}
22
+ <script src="{{ script.url }}"></script>
23
+ {% endfor %}
24
+
25
+ <!-- any-theme.js is deferred -->
26
+ <script src="/assets/js/any-theme.js" defer></script>
27
+ </head>
28
+ <body>
@@ -0,0 +1,7 @@
1
+ <!-- End of head -->
2
+ <header>
3
+ <div class="container{{ fluid }}">
4
+ <h1>{{ site.title }} / <span>{{ page.title }}</span></h1>
5
+ <!-- <p class="lead">{{ page.description }}</p> -->
6
+ </div>
7
+ </header>
@@ -0,0 +1,17 @@
1
+ {%- assign api_stack = site.emptyArray -%}
2
+ {%- capture api -%}
3
+ Load page's `collection`, `fluid` liquid variabiles and `theme`. Are checked in `collection` or `page` scope.
4
+ {%- endcapture -%}
5
+ {%- include api/save.html -%}
6
+ {%- comment -%} Load collection {%- endcomment -%}
7
+ {%- assign collection = site.collections | where: "label", page.collection | first -%}
8
+ {%- comment -%} Load fluid {%- endcomment -%}
9
+ {%- if collection.fluid or page.fluid -%}
10
+ {%- assign fluid = "-fluid" -%}
11
+ {%- endif -%}
12
+ {%- comment -%} Load theme {%- endcomment -%}
13
+ {%- assign theme = collection.theme | default: page.theme | default: 'basic_light_sans' -%}
14
+ {%- comment -%} Load sidebar {%- endcomment -%}
15
+ {%- assign sidebar = collection.sidebar | default: page.sidebar -%}
16
+ {%- comment -%} Load font-face {%- endcomment -%}
17
+ {%- assign font_face = collection.font_face | default: page.font_face -%}
@@ -0,0 +1,44 @@
1
+ {% capture api %}
2
+ Render `<main>` content and eventually the sidebar.
3
+ Split content by `<!--row-->` and `<!--column-->` and loop to render.
4
+
5
+ - **Called by** `_layouts/default.html`
6
+ - **Call** `_includes/page/sidebar.html`
7
+ {% endcapture %}
8
+ {%- include api/save.html -%}
9
+ <main class="container{{ fluid }}">
10
+ {%- comment -%} Check sidebar left {%- endcomment -%}
11
+ {% if sidebar.side == 'left' %}
12
+ <div class="row">
13
+ {% include page/sidebar.html %}
14
+ <div class="col">
15
+ {% elsif sidebar.side == 'right' %}
16
+ <div class="row">
17
+ <div class="col">
18
+ {% endif %}
19
+ {%- comment -%} Loop rows {%- endcomment -%}
20
+ {% assign rows = content | split: "<!--row-->" %}
21
+ {%- for row in rows -%}
22
+ <div class="row">
23
+ {% assign j = forloop.index0 %}
24
+ {%- comment -%} Loop columns {%- endcomment -%}
25
+ {%- assign columns = row | split: "<!--column-->" -%}
26
+ {%- for column in columns -%}
27
+ <div class="col">
28
+ {%- comment -%} Render column {%- endcomment -%}
29
+ {% assign column_live = rows[j] | split: "<!--column-->" %}
30
+ {{ column_live[forloop.index0] | strip }}
31
+ </div>
32
+ {% endfor %}
33
+ </div>
34
+ {%- endfor -%}
35
+ {%- comment -%} Check sidebar right {%- endcomment -%}
36
+ {% if sidebar.side == 'right' %}
37
+ </div>
38
+ {% include page/sidebar.html %}
39
+ </div>
40
+ {% elsif sidebar.side == 'left' %}
41
+ </div>
42
+ </div>
43
+ {% endif %}
44
+ </main>
@@ -0,0 +1,69 @@
1
+ {% capture api %}
2
+ Return the HTML Bootstrap 4 navbar given in liquid as `include.nav` or `site.nav`. Expected are `right` and `left` arrays with the page title. Array elements containing an array are rendered as dropdowns.
3
+
4
+ ``` yml
5
+ left:
6
+ - Home
7
+ - Docs:
8
+ - Tempus
9
+ - Libros
10
+ - Customize:
11
+ - Css
12
+ - Themes
13
+ - About
14
+ right:
15
+ - Login
16
+ ```
17
+
18
+ - **Usage**
19
+
20
+ ```liquid
21
+ {% raw %}{% include page/navbar.html nav=site.data.navbar %}{% endraw %}
22
+ ```
23
+
24
+ - **Called by** `_includes/page/top.html` to render main navigation
25
+ - **Call** `_includes/components/navbar_link.html` to render singular links
26
+ {% endcapture %}
27
+ {% include api/save.html %}
28
+ {%- assign navigation = include.nav | default: site.navbar -%}
29
+ <!-- Navbar -->
30
+ <nav class="navbar navbar-expand-md">
31
+ <div class="container{{ fluid }}">
32
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarHeader" aria-controls="navbarHeader" aria-expanded="false" aria-label="Toggle navigation">
33
+ <span class="navbar-toggler-icon"></span>
34
+ </button>
35
+
36
+ <div class="collapse navbar-collapse" id="navbarHeader">
37
+ <ul class="navbar-nav mr-auto">
38
+ {%- for nav in navigation.left -%}
39
+ {%- if nav.first == nil -%}
40
+ {% assign link = site.pages | where:'title', nav | default: [url: nav] %}
41
+ {% include components/navbar_link.html %}
42
+ {%- else -%}
43
+ {%- assign list_title = nav | first | first -%}
44
+ {%- assign list_title_slug = list_title | slugify -%}
45
+ {%- assign list = nav.first[1] -%}
46
+ <!-- Dropdown -->
47
+ <li class="nav-item dropdown">
48
+ <a class="nav-link dropdown-toggle" href="#" id="{{ list_title_slug }}_dropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
49
+ {{ list_title }}
50
+ </a>
51
+ <div class="dropdown-menu" aria-labelledby="{{ list_title_slug }}_dropdown">
52
+ {% for item in list %}
53
+ {%- assign link = site.pages | where:'title', item | default: nil -%}
54
+ <a class="dropdown-item{% if page.url == link[0].url %} active{% endif %}" href="{{ link[0].url }}">{{ item }}{% if page.url == link[0].url %} <span class="sr-only">(current)</span>{% endif %}</a>
55
+ {% endfor %}
56
+ </div>
57
+ </li>
58
+ {%- endif -%}
59
+ {%- endfor -%}
60
+ </ul>
61
+ <ul class="navbar-nav my-lg-0">
62
+ {% for nav in navigation.right %}
63
+ {%- assign link = site.pages | where:'title', nav -%}
64
+ {% include components/navbar_link.html %}
65
+ {% endfor %}
66
+ </ul>
67
+ </div>
68
+ </div>
69
+ </nav>
@@ -0,0 +1,6 @@
1
+ <div class="col-{{ sidebar.width | default: 3 }}" id="sidebar">
2
+ {%- for inc in sidebar.includes -%}
3
+ {%- capture to_md -%}{% include {{ inc }} %}{%- endcapture -%}
4
+ {{ to_md | markdownify }}
5
+ {%- endfor -%}
6
+ </div>
@@ -0,0 +1,27 @@
1
+ {% capture api %}
2
+ Swap `<header>` and `<navbar>` order by setting liquid `navbar: "top"` or `"bottom"` for pages or collections, in front matter or config defaults.
3
+
4
+ - **Usage**
5
+
6
+ `navbar: "bottom"` or `nil`
7
+
8
+ 1. `<header>`
9
+ 1. `<navbar>`
10
+
11
+ `navbar: "top"`
12
+
13
+ 1. `<navbar>`
14
+ 1. `<header>`
15
+
16
+ - **Called by** `_layouts/default.html`
17
+ - **Call** `_includes/page/navbar.html`, `_includes/page/header.html`
18
+ {% endcapture %}
19
+ {%- include api/save.html -%}
20
+ {%- if page.navbar == 'top' or collection.navbar == 'top' -%}
21
+ {% include page/navbar.html nav=site.data.navbar %}
22
+ {%- endif -%}
23
+ {% include page/header.html %}
24
+ {%- assign navbar_bottom = page.navbar | default: collection.navbar | default: 'bottom' -%}
25
+ {%- if navbar_bottom == 'bottom' -%}
26
+ {% include page/navbar.html nav=site.data.navbar %}
27
+ {%- endif -%}
@@ -0,0 +1,26 @@
1
+ {%- assign calendar = include.calendar -%}
2
+ {%- assign cal = site.emptyArray -%}
3
+ {%- assign day_seconds = 86400 -%}
4
+ {%- assign starts = calendar.starts | default: 'now' -%}
5
+ {%- assign start_date = starts | date: "%s" -%}
6
+ {%- assign year_day = 0 -%}
7
+ {%- assign year_day_seconds = 0 -%}
8
+ {%- for month in include.calendar.months.list -%}
9
+ {%- assign week_day_name = '' -%}
10
+ {%- assign days = calendar.months.days | default: month.days | default: 30 -%}
11
+ {%- for day in (1..days) -%}
12
+ {%- unless month.leap -%}
13
+ {%- assign week_day = year_day | modulo: calendar.week.size -%}
14
+ {%- unless month.no_week -%}
15
+ {%- assign week_day_name = calendar.week[week_day].name -%}
16
+ {%- assign year_day = year_day | plus: 1 -%}
17
+ {%- endunless -%}
18
+ {%- capture new_day -%}- {% if calendar.week[week_day].holiday %}<span class="text-success">{% endif %}{% if month.holiday %}<span class="text-danger">{% endif %}{{ day }}, **{{ month.name }}**, <em>{{ week_day_name }}</em> ({{ year_day_seconds | plus: start_date | date_to_string }}){% if month.holiday %}</span>{% endif %}{% if calendar.week[week_day].holiday %}</span>{% endif %}{%- endcapture -%}
19
+ {%- assign cal = cal | push: new_day -%}
20
+ {%- assign year_day_seconds = year_day_seconds | plus: 86400 -%}
21
+ {%- endunless -%}
22
+ {%- endfor -%}
23
+ {%- endfor -%}
24
+ Year days: {{ year_day_seconds | divided_by: day_seconds }}
25
+ {% for c in cal %}{{ c }}
26
+ {% endfor %}
@@ -0,0 +1,72 @@
1
+ {%- capture api -%}
2
+ events
3
+
4
+ - ok
5
+ {%- endcapture -%}
6
+ {%- include api/save.html -%}
7
+ {%- assign now = "now" | date: "%s" | plus: 0 -%}
8
+ {%- assign format = include.format | default: "%B %-d %A" -%}
9
+ {%- assign day_seconds = 86400 -%}
10
+ {%- assign year_seconds = day_seconds | times: 364 -%}
11
+ {%- comment -%} LOOP CALENDARS {%- endcomment -%}
12
+ {%- for calendar in site.data.tempus.events -%}
13
+ {% if include.calendar == nil or include.calendar == calendar.title %}
14
+
15
+ **{{ calendar.title }}**
16
+ {%- if include.from or calendar.from or include.past == false -%}
17
+ {%- assign start = include.from | default: calendar.from | date: "%s" | plus: 0 -%}
18
+ {%- else -%}
19
+ {%- assign start = "now" | date: "%s" | plus: 0 -%}
20
+ {%- endif -%}
21
+ {%- if include.to or calendar.to -%}
22
+ {%- assign end = include.to | default: calendar.to | date: "%s" -%}
23
+ {%- else -%}
24
+ {%- comment -%} ADD ONE YEAR FROM THE START {%- endcomment -%}
25
+ {%- assign end = start | plus: year_seconds -%}
26
+ {%- endif -%}
27
+ {%- comment -%} CALCULATE DAYS {%- endcomment -%}
28
+ {%- assign days = end | minus: start | divided_by: day_seconds | round -%}
29
+ {%- comment -%} LOOP DAYS {%- endcomment -%}
30
+ {%- for d in (0..days) -%}
31
+ {%- assign increment = d | times: day_seconds -%}
32
+ {%- assign day = start | plus: increment -%}
33
+ {%- assign week_day = day | date: "%A" -%}
34
+ {%- assign loop_day = day | date: "%Y-%m-%d" -%}
35
+ {%- assign found = false -%}
36
+ {%- for e in calendar.events -%}
37
+ {% if include.event == nil or include.event == e.title %}
38
+ {%- comment -%} DAY EVENT {%- endcomment -%}
39
+ {%- if e.day -%}
40
+ {%- assign event_date = e.day | date: "%Y-%m-%d" -%}
41
+ {%- if loop_day == event_date -%}
42
+ {%- assign found = true -%}
43
+ {%- assign unix = e.day | date: "%s" | plus: 0 -%}
44
+ {%- assign difference = unix | plus: day_seconds | minus: now | divided_by: day_seconds | ceil | times: -1 -%}
45
+ {% if difference == 0 %}{%- assign difference = "today" -%}{% endif %}
46
+ - {% if unix <= now %}<span class="tempus-past">{% endif %}{{ e.day | date: format }}{% if e.title %}: {% if e.color %}<span style="color: {{ e.color }}">{% endif %}**{{ e.title }}**{% endif %} <span class="tempus-difference">{{ difference }}
47
+ {%- endif -%}
48
+ {%- comment -%} WEEKLY EVENT {%- endcomment -%}
49
+ {%- elsif e.weekly.day -%}
50
+ {%- assign week_offset = e.weekly.offset | default: 0 -%}
51
+ {%- assign week_jump = e.weekly.jump | default: 1 -%}
52
+ {%- assign week = day | date: "%U" | minus: week_offset | modulo: week_jump -%}
53
+ {%- assign split = e.weekly.day | split: "," -%}
54
+ {%- for weekly_day in split -%}
55
+ {%- assign weekly_day_stripped = weekly_day | strip -%}
56
+ {%- if weekly_day_stripped == week_day and week == 0 -%}
57
+ {%- assign found = true -%}
58
+ {%- assign difference = day | minus: now | divided_by: day_seconds | ceil | times: -1 -%}
59
+ {% if difference == 0 %}{%- assign difference = "today" -%}{% endif %}
60
+ - {% if day <= now %}<span class="tempus-past">{% endif %}{{ day | date: format }}{% if e.title %}: {% if e.color %}<span style="color: {{ e.color }}">{% endif %}**{{ e.title }}**{% endif %} <span class="tempus-difference">{{ difference }}
61
+ {%- endif -%}
62
+ {%- endfor -%}
63
+ {%- endif -%}
64
+ {%- endif -%}
65
+ {%- endfor -%}
66
+ {%- comment -%} SHOW EMPTY DAYS {%- endcomment -%}
67
+ {% if include.empty and found == false %}
68
+ - <span class="tempus-empty">{{ day | date: format }}
69
+ {% endif %}
70
+ {%- endfor -%}
71
+ {%- endif -%}
72
+ {%- endfor -%}
@@ -0,0 +1,73 @@
1
+ {%- capture api -%}
2
+ Next events
3
+
4
+ {%- endcapture -%}
5
+ {%- include api/save.html -%}
6
+ {%- assign now = "now" | date: "%s" | plus: 0 -%}
7
+ {%- assign format = include.format | default: "%B %-d %A" -%}
8
+ {%- assign day_seconds = 86400 -%}
9
+ {%- assign span_days = include.days | default: 2 -%}
10
+ {%- assign span_seconds = day_seconds | times: span_days | plus: 1 -%}
11
+ {%- comment -%} LOOP CALENDARS {%- endcomment -%}
12
+ {%- for calendar in site.data.tempus.events -%}
13
+ {%- if include.calendar == nil or include.calendar == calendar.title -%}
14
+ {%- assign start = now | minus: span_seconds -%}
15
+ {%- if include.past == false or include.past == "false" -%}{%- assign start = now | plus: 1 -%}{%- endif -%}
16
+ {%- assign end = now | plus: span_seconds -%}
17
+ {%- comment -%} CALCULATE DAYS {%- endcomment -%}
18
+ {%- assign days = end | minus: start | divided_by: day_seconds | round -%}
19
+ {%- comment -%} LOOP DAYS {%- endcomment -%}
20
+ {%- assign present = false -%}
21
+ {%- for d in (0..days) -%}
22
+ {%- assign increment = d | times: day_seconds -%}
23
+ {%- assign day = start | plus: increment -%}
24
+ {%- assign week_day = day | date: "%A" -%}
25
+ {%- assign loop_day = day | date: "%Y-%m-%d" -%}
26
+ {%- assign found = false -%}
27
+ {%- for e in calendar.events -%}
28
+ {% if include.event == nil or include.event == e.title %}
29
+ {%- comment -%} DAY EVENT {%- endcomment -%}
30
+ {%- if e.day -%}
31
+ {%- assign event_date = e.day | date: "%Y-%m-%d" -%}
32
+ {% if loop_day == event_date %}
33
+ {%- assign unix = e.day | date: "%s" | plus: 0 -%}
34
+ {%- assign difference = unix | plus: day_seconds | minus: now | divided_by: day_seconds | ceil | times: -1 -%}
35
+ {%- if difference == 0 -%}{%- assign difference = "today" -%}{%- endif -%}
36
+ {%- if present == false -%}
37
+ {% assign present = true %}
38
+
39
+ **{{ calendar.title }}**
40
+ {%- endif -%}
41
+ {% assign found = true %}
42
+ - {{ e.day | date: format }}{% if e.title %}: {% if e.color %}<span style="color: {{ e.color }}">{% endif %}**{{ e.title }}**{% endif %} <span class="tempus-difference">{{ difference }}
43
+ {% endif %}
44
+ {%- comment -%} WEEKLY EVENT {%- endcomment -%}
45
+ {%- elsif e.weekly.day -%}
46
+ {%- assign week_offset = e.weekly.offset | default: 0 -%}
47
+ {%- assign week_jump = e.weekly.jump | default: 1 -%}
48
+ {%- assign week = day | date: "%U" | minus: week_offset | modulo: week_jump -%}
49
+ {%- assign split = e.weekly.day | split: "," -%}
50
+ {%- for weekly_day in split -%}
51
+ {%- assign weekly_day_stripped = weekly_day | strip -%}
52
+ {%- if weekly_day_stripped == week_day and week == 0 -%}
53
+ {%- if present == false -%}
54
+ {% assign present = true %}
55
+
56
+ **{{ calendar.title }}**
57
+ {%- endif -%}
58
+ {%- assign found = true -%}
59
+ {%- assign difference = day | minus: now | divided_by: day_seconds | ceil | times: -1 -%}
60
+ {% if difference == 0 %}{%- assign difference = "today" -%}{% endif %}
61
+ - {% if day <= now %}<span class="tempus-past">{% endif %}{{ day | date: format }}{% if e.title %}: {% if e.color %}<span style="color: {{ e.color }}">{% endif %}**{{ e.title }}**{% endif %} <span class="tempus-difference">{{ difference }}
62
+ {%- endif -%}
63
+ {%- endfor -%}
64
+ {%- endif -%}
65
+ {%- endif -%}
66
+ {%- endfor -%}
67
+ {%- comment -%} SHOW EMPTY DAYS {%- endcomment -%}
68
+ {% if include.empty and found == false %}
69
+ - <span class="tempus-empty">{{ day | date: format }}
70
+ {% endif %}
71
+ {%- endfor -%}
72
+ {%- endif -%}
73
+ {%- endfor -%}
@@ -0,0 +1,183 @@
1
+ <form id="widget-libros">
2
+ <fieldset>
3
+ <div class="form-group">
4
+ <input type="text" id="libros-title" class="form-control" placeholder="Title">
5
+ </div>
6
+ <div class="form-group">
7
+ <input type="text" id="libros-author" class="form-control" placeholder="Author(s)">
8
+ </div>
9
+ <div class="form-group">
10
+ <button type="submit">
11
+ Search Openlibrary
12
+ </button>
13
+ <input type="reset" value="Reset">
14
+ </div>
15
+ <!-- Open Library results -->
16
+ <div id="libros-results" class="list-group">
17
+ <template id="template-book">
18
+ <div class="row">
19
+ <div class="libros-image-container pr-0">
20
+ </div>
21
+ <div class="col">
22
+ <div class="libros-header">
23
+ <h5 class="libros-title"></h5>
24
+ <small class="libros-year"></small>
25
+ </div>
26
+ <p class="libros-author"></p>
27
+ <small class="libros-publisher"></small>
28
+ </div>
29
+ </div>
30
+ </template>
31
+ </div>
32
+ <div class="form-group">
33
+ <input type="text" id="libros-year" class="form-control" placeholder="Year">
34
+ </div>
35
+ <div class="form-group">
36
+ <input type="text" id="libros-publisher" class="form-control" placeholder="Publisher(s)">
37
+ </div>
38
+ <div class="form-group">
39
+ <input type="text" id="libros-image_url" class="form-control" placeholder="Image URL">
40
+ </div>
41
+ <div class="form-group">
42
+ <input type="date" id="start_reading" class="form-control" placeholder="Start reading" data-toggle="datepicker">
43
+ </div>
44
+ <div class="form-group">
45
+ <input type="date" id="end_reading" class="form-control" placeholder="End reading" data-toggle="datepicker">
46
+ </div>
47
+ <pre class="highlight"><code class="language-txt" id="libros-yml"></code></pre>
48
+ <div class="form-group">
49
+ <button type="button" class="btn btn-sm btn-outline-secondary" data-clipboard-target="#libros-yml">
50
+ Copy to clipboard
51
+ </button>
52
+ </div>
53
+ </fieldset>
54
+ </form>
55
+
56
+
57
+ <!-- <form id="input-form">
58
+ <h3>BOOK</h3>
59
+ <div class="form-row">
60
+ <div class="form-group col-md-6">
61
+ <input type="text" id="input-title" class="form-control" placeholder="Title">
62
+ </div>
63
+ <div class="form-group col-md-6">
64
+ <input type="text" id="input-author" class="form-control" placeholder="Author(s)">
65
+ <small>Author name or comma separated list</small>
66
+ </div>
67
+ </div>
68
+ <div class="form-row">
69
+ <div class="form-group col-md-12">
70
+ <button type="button" id="ol-search" class="btn btn-secondary">
71
+ Search Openlibrary
72
+ </button>
73
+ </div>
74
+ </div>
75
+ <div class="form-row" id="ol-results">
76
+ </div>
77
+ <h3>DETAILS</h3>
78
+ <div class="form-row">
79
+ <div class="form-group col-md-6">
80
+ <input type="text" class="form-control" id="input-publishers" placeholder="Publisher(s)">
81
+ <small>Publisher or comma separated list</small>
82
+ </div>
83
+ <div class="form-group col-md-6">
84
+ <input type="text" class="form-control" id="input-publish_year" placeholder="Publish year">
85
+ </div>
86
+ </div>
87
+ <div class="form-row">
88
+ <div class="form-group col-md-6">
89
+ <input type="text" class="form-control" id="input-cover" placeholder="Cover URL">
90
+ </div>
91
+ <div class="form-group col-md-6">
92
+ <input type="text" class="form-control" placeholder="Subjects">
93
+ <small>Comma separated list</small>
94
+ </div>
95
+ </div>
96
+ <div class="form-row">
97
+ <div class="form-group col-md-6">
98
+ <input type="text" class="form-control" id="input-isbn" placeholder="ISBN">
99
+ </div>
100
+ <div class="form-group col-md-6">
101
+ <input type="text" class="form-control" id="input-edition_key" placeholder="Open Library key">
102
+ </div>
103
+ </div>
104
+ <div class="form-row">
105
+ <div class="form-group col-md-6">
106
+ <select class="form-control" id="Support">
107
+ <option>Book</option>
108
+ <option>Ebook</option>
109
+ <option>Audiobook</option>
110
+ </select>
111
+ <small class="form-text text-muted">Book support</small>
112
+ </div>
113
+ <div class="form-group col-md-6">
114
+ <div class="input-group">
115
+ <input type="text" class="form-control" aria-label="Text input with segmented button dropdown" placeholder="Price">
116
+ <div class="input-group-btn">
117
+ <button type="button" id="button-currency" class="btn btn-outline-secondary">Currency $</button>
118
+ <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
119
+ <span class="sr-only">Toggle Dropdown</span>
120
+ </button>
121
+ <div class="dropdown-menu dropdown-menu-right">
122
+ <a class="dropdown-item" data-currency="$" href="#">USD $</a>
123
+ <a class="dropdown-item" data-currency="€" href="#">Euro €</a>
124
+ <a class="dropdown-item" data-currency="£" href="#">Pound £</a>
125
+ </div>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ </div>
130
+ <h3>READING</h3>
131
+ <div class="form-row">
132
+ <div class="form-group col-md-6">
133
+ <input type="text" class="form-control" placeholder="Date" data-toggle="datepicker">
134
+ <small>Start reading</small>
135
+ </div>
136
+ <div class="form-group col-md-6">
137
+ <input type="text" class="form-control" placeholder="Date" data-toggle="datepicker">
138
+ <small>End reading</small>
139
+ </div>
140
+ </div>
141
+ <div class="form-row">
142
+ <div class="form-group col-md-6">
143
+ <input type="text" class="form-control" placeholder="Category">
144
+ <small>Your categories, manage from <a href="#">Categories</a> page</small>
145
+ </div>
146
+ <div class="form-group col-md-6">
147
+ <div class="dropdown show">
148
+ <a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
149
+ Not rated yet
150
+ </a>
151
+ <div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
152
+ <a class="dropdown-item" href="#">☆☆☆☆☆</a>
153
+ <a class="dropdown-item" href="#">★☆☆☆☆</a>
154
+ <a class="dropdown-item" href="#">★★☆☆☆</a>
155
+ <a class="dropdown-item" href="#">★★★☆☆</a>
156
+ <a class="dropdown-item" href="#">★★★★☆</a>
157
+ <a class="dropdown-item" href="#">★★★★★</a>
158
+ </div>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ <div class="form-row">
163
+ <div class="form-group col-md-12">
164
+ <textarea class="form-control" placeholder="Review" rows="3"></textarea>
165
+ </div>
166
+ </div>
167
+ <div class="form-row">
168
+ <div class="form-group col-md-6">
169
+ <div class="form-check">
170
+ <label class="form-check-label">
171
+ <input type="checkbox" class="form-check-input"> Recommended
172
+ </label>
173
+ </div>
174
+ </div>
175
+ <div class="form-group col-md-6">
176
+ <div class="form-check">
177
+ <label class="form-check-label">
178
+ <input type="checkbox" class="form-check-input"> Difficult
179
+ </label>
180
+ </div>
181
+ </div>
182
+ </div>
183
+ </form> -->
@@ -0,0 +1,11 @@
1
+ <div class="card widget-themes">
2
+ <div class="card-header">
3
+ <strong>Themes switcher</strong>
4
+ </div>
5
+ <div class="list-group list-group-flush">
6
+ {%- for t in page.themes -%}
7
+ {%- assign t_slug = t | slugify | replace: '-', '_' -%}
8
+ <a href="#" class="list-group-item list-group-item-action{% if t_slug == theme %} active{% endif %}" data-theme="{{ t_slug }}">{{ t }}</a>
9
+ {%- endfor -%}
10
+ </div>
11
+ </div>
@@ -0,0 +1,18 @@
1
+ {% assign title = include.title | default: "Table of Contents" %}{% assign show_title = include.show_title | default: true %}{% if include.collapse %}
2
+ <div id="toc-accordion" role="tablist">
3
+ <div class="card">
4
+ <div class="card-header" role="tab" id="toc-headingOne">
5
+ <p class="mb-0">
6
+ <a data-toggle="collapse" href="#toc-collapseOne" aria-expanded="false" aria-controls="toc-collapseOne">{{ title }}</a>
7
+ </p>
8
+ </div>
9
+ <div id="toc-collapseOne" class="collapse " role="tabpanel" aria-labelledby="toc-headingOne" data-parent="#toc-accordion">
10
+ <div></div>
11
+ </div>
12
+ </div>
13
+ </div>
14
+ {% else %}
15
+ <h4 id="toc-title">{{ title }}</h4>
16
+ {% endif %}
17
+ * toc
18
+ {:toc}
@@ -0,0 +1,8 @@
1
+ {%- include page/init.html -%}
2
+ {% include page/head.html %}
3
+ {% include page/top.html %}
4
+ {% include page/main.html %}
5
+ {% include page/footer.html %}
6
+ {% include components/login.html %}
7
+ {% include components/page_info.html %}
8
+ {% include page/end.html %}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {{ content }}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {{ content }}