jekyll-theme-amethyst 0.4.2 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/typesense.yaml +29 -0
- data/Gemfile +0 -2
- data/README.md +21 -0
- data/_config.yml +5 -16
- data/_data/sidebar_api.yml +8 -4
- data/_includes/search.html +3 -11
- data/_includes/version.html +2 -2
- data/_layouts/page-api.html +26 -17
- data/_layouts/post.html +3 -3
- data/_layouts/wrapper.html +22 -14
- data/_sass/amethyst.scss +36 -218
- data/amethyst.gemspec +1 -1
- data/assets/styles.scss +2 -0
- data/assets/typesense-minibar.css +223 -0
- data/assets/typesense-minibar.js +163 -0
- data/docs/config.md +6 -55
- data/docs/getting-started.md +9 -25
- data/docsearch.config.json +60 -0
- metadata +6 -6
- data/.github/workflows/doc-search.yaml +0 -37
- data/.meilisearch.json +0 -20
- data/_includes/search-js.html +0 -113
- data/assets/logo-algolia.svg +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9eb8365c83817b28e320f98115fd844f545cb6ffea498929bf019491a0a348f1
|
4
|
+
data.tar.gz: 68aa630aa212dcde459e337439147af95841d37afcf255d05a7a276de628c598
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a1046d94dc73a148f6a1f577a3b779721a0516558fedcf2ba05c0ea2d69c4a4e0b463d0408877dea7c9a36b107f85b7af7ba9a47698a5f0c22e95b4b0ff39f9
|
7
|
+
data.tar.gz: 8658b2601fe8ddaf4bfc3c4fcd87f7154ed095306a51ef445c7ff8c05b4852a0c930c0dc193b1db1844dcf80b47a787381a1922be93e0c55793842b0fee05765
|
@@ -0,0 +1,29 @@
|
|
1
|
+
name: typesense
|
2
|
+
on:
|
3
|
+
# Once a week on Wednesday at 11:45 UTC <https://crontab.guru/>
|
4
|
+
schedule:
|
5
|
+
- cron: '45 11 * * 3'
|
6
|
+
# Or after a deployment
|
7
|
+
push:
|
8
|
+
branches:
|
9
|
+
- main
|
10
|
+
- typesense
|
11
|
+
# Or manually
|
12
|
+
workflow_dispatch:
|
13
|
+
jobs:
|
14
|
+
typesense:
|
15
|
+
name: Update Typesense
|
16
|
+
if: ${{ github.repository_owner == 'qunitjs' }} # skip on forks
|
17
|
+
runs-on: ubuntu-latest
|
18
|
+
steps:
|
19
|
+
- uses: actions/checkout@v3
|
20
|
+
- name: Docsearch Scraper
|
21
|
+
shell: bash
|
22
|
+
run: |
|
23
|
+
docker run \
|
24
|
+
-e TYPESENSE_API_KEY=${{ secrets.TYPESENSE_ADMIN_KEY }} \
|
25
|
+
-e TYPESENSE_HOST="${{ secrets.TYPESENSE_HOST }}" \
|
26
|
+
-e TYPESENSE_PORT="443" \
|
27
|
+
-e TYPESENSE_PROTOCOL="https" \
|
28
|
+
-e CONFIG="$(cat docsearch.config.json | jq -r tostring)" \
|
29
|
+
typesense/docsearch-scraper:0.6.0.rc2
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
[![Build Status: spider-check](https://github.com/qunitjs/jekyll-theme-amethyst/actions/workflows/spider-check.yaml/badge.svg)](https://github.com/qunitjs/jekyll-theme-amethyst/actions/workflows/spider-check.yaml)
|
2
|
+
[![rubygems.org: jekyll-theme-amethyst](https://badge.fury.io/rb/jekyll-theme-amethyst.svg)](https://rubygems.org/gems/jekyll-theme-amethyst)
|
2
3
|
|
3
4
|
# Amethyst theme
|
4
5
|
|
@@ -17,6 +18,8 @@ Thanks to [Leo Balter](https://github.com/leobalter) for initiating the use of M
|
|
17
18
|
|
18
19
|
## Contributing
|
19
20
|
|
21
|
+
### Local development
|
22
|
+
|
20
23
|
Requirements:
|
21
24
|
|
22
25
|
* [Ruby](https://www.ruby-lang.org/) (tested with Ruby 2.7+)
|
@@ -33,3 +36,21 @@ To generate the site and serve it locally at <http://localhost:4000/>:
|
|
33
36
|
```shell
|
34
37
|
bundle exec jekyll serve
|
35
38
|
```
|
39
|
+
|
40
|
+
### Releasing
|
41
|
+
|
42
|
+
* Edit `amethyst.gemspec` and set the next release number.
|
43
|
+
* Stage and commit the changes:
|
44
|
+
```
|
45
|
+
git add -p
|
46
|
+
git commit
|
47
|
+
# Tag v0.0.0
|
48
|
+
git push
|
49
|
+
```
|
50
|
+
* Create a signed semver tag, and push it:
|
51
|
+
```
|
52
|
+
git tag -s v0.0.0
|
53
|
+
# Tag v0.0.0
|
54
|
+
git push --tags
|
55
|
+
```
|
56
|
+
* CI will create and publish a new package to <https://rubygems.org/gems/jekyll-theme-amethyst>.
|
data/_config.yml
CHANGED
@@ -45,9 +45,11 @@ amethyst:
|
|
45
45
|
release_base: https://github.com/qunitjs/qunit/releases/tag/
|
46
46
|
github: qunitjs
|
47
47
|
gitter: qunitjs/qunit
|
48
|
-
# https://github.com/qunitjs/jekyll-theme-amethyst/blob/main/docs/getting-started.md#enable-
|
49
|
-
|
50
|
-
|
48
|
+
# https://github.com/qunitjs/jekyll-theme-amethyst/blob/main/docs/getting-started.md#enable-typesense
|
49
|
+
typesense:
|
50
|
+
origin: https://typesense.jquery.com
|
51
|
+
collection: amethyst_demo
|
52
|
+
search_only_api_key: Zh8mMgohXECel9wjPwqT7lekLSG3OCgz
|
51
53
|
|
52
54
|
|
53
55
|
# Conversion settings
|
@@ -67,19 +69,6 @@ sass:
|
|
67
69
|
sourcemap: never
|
68
70
|
|
69
71
|
|
70
|
-
# Backend search settings
|
71
|
-
#
|
72
|
-
# Docs: https://github.com/algolia/jekyll-algolia
|
73
|
-
algolia:
|
74
|
-
application_id: 2Q66ROFTLQ
|
75
|
-
index_name: amethyst-demo
|
76
|
-
# By default only HTML paragraphs are indexed (and headings, albeit through a different mechanism).
|
77
|
-
# * Include list items (similar to paragraphs).
|
78
|
-
# * Include tables (index per row for better excerpts).
|
79
|
-
# * Include <pre> (typically code examples, omit if it "poisons" results too much).
|
80
|
-
nodes_to_index: "p,li,tr,pre"
|
81
|
-
|
82
|
-
|
83
72
|
# Blog archives
|
84
73
|
#
|
85
74
|
# Docs: https://github.com/jekyll/jekyll-archives/
|
data/_data/sidebar_api.yml
CHANGED
@@ -4,10 +4,14 @@
|
|
4
4
|
|
5
5
|
- group: lorem
|
6
6
|
|
7
|
-
-
|
8
|
-
|
7
|
+
- group: deprecated
|
8
|
+
expand: false
|
9
9
|
title: Deprecated
|
10
10
|
|
11
|
-
-
|
12
|
-
|
11
|
+
- group: removed
|
12
|
+
expand: false
|
13
13
|
title: Removed
|
14
|
+
|
15
|
+
- type: link
|
16
|
+
url: /api/foo/quux/
|
17
|
+
title: Quux
|
data/_includes/search.html
CHANGED
@@ -1,14 +1,6 @@
|
|
1
|
-
<form class="site-
|
2
|
-
<
|
3
|
-
<input type="
|
4
|
-
<input type="hidden" name="sites" value="{{ site.url | remove_first: 'http://' | remove_first: 'https://' }}">
|
5
|
-
<svg class="aa-input-icon" viewBox="654 -372 1664 1664" height="20">
|
6
|
-
<path d="M1806,332c0-123.3-43.8-228.8-131.5-316.5C1586.8-72.2,1481.3-116,1358-116s-228.8,43.8-316.5,131.5 C953.8,103.2,910,208.7,910,332s43.8,228.8,131.5,316.5C1129.2,736.2,1234.7,780,1358,780s228.8-43.8,316.5-131.5 C1762.2,560.8,1806,455.3,1806,332z M2318,1164c0,34.7-12.7,64.7-38,90s-55.3,38-90,38c-36,0-66-12.7-90-38l-343-342 c-119.3,82.7-252.3,124-399,124c-95.3,0-186.5-18.5-273.5-55.5s-162-87-225-150s-113-138-150-225S654,427.3,654,332 s18.5-186.5,55.5-273.5s87-162,150-225s138-113,225-150S1262.7-372,1358-372s186.5,18.5,273.5,55.5s162,87,225,150s113,138,150,225 S2062,236.7,2062,332c0,146.7-41.3,279.7-124,399l343,343C2305.7,1098.7,2318,1128.7,2318,1164z"/>
|
7
|
-
</svg>
|
1
|
+
<form role="search" class="tsmb-form"{%- if site.amethyst.typesense.search_only_api_key -%} data-origin="{{ site.amethyst.typesense.origin | escape }}" data-collection="{{ site.amethyst.typesense.collection | escape }}" data-key="{{ site.amethyst.typesense.search_only_api_key | escape }}" data-foot="true"{%- endif -%} action="https://duckduckgo.com">
|
2
|
+
<input type="search" name="q" aria-label="Search" placeholder="Search..." autocomplete="off">
|
3
|
+
<input type="hidden" name="sites" value="{{ site.url | remove_first: 'http://' | remove_first: 'https://' }}">
|
8
4
|
</form>
|
9
5
|
|
10
|
-
{%- comment -%}
|
11
6
|
|
12
|
-
See also search-js.html
|
13
|
-
|
14
|
-
{%- endcomment -%}
|
data/_includes/version.html
CHANGED
@@ -22,7 +22,7 @@ Parameters:
|
|
22
22
|
{%- endif -%}
|
23
23
|
|
24
24
|
{%- if include.version == "unreleased" -%}
|
25
|
-
not yet released
|
25
|
+
not yet released<span class="sep">.</span>
|
26
26
|
{%- else -%}
|
27
|
-
{{ include.label }}: {% if site.amethyst.release_base %}<a href="{{ site.amethyst.release_base }}{{ _full_version | escape }}">{{ include.version | escape }}</a>{% else %}{{ include.version | escape }}{% endif %}
|
27
|
+
{{ include.label }}: {% if site.amethyst.release_base %}<a href="{{ site.amethyst.release_base }}{{ _full_version | escape }}">{{ include.version | escape }}</a>{% else %}{{ include.version | escape }}{% endif %}<span class="sep">.</span>
|
28
28
|
{%- endif -%}
|
data/_layouts/page-api.html
CHANGED
@@ -27,29 +27,38 @@ do that here for convenience.
|
|
27
27
|
{%- endunless -%}
|
28
28
|
<div class="main main--columns wrapper">
|
29
29
|
<div class="content" role="main">
|
30
|
+
<article>
|
31
|
+
<header>
|
30
32
|
<h1>{{ page.title }}</h1>
|
31
|
-
{
|
33
|
+
{% if page.groups -%}
|
34
|
+
<p class="post-meta">Categories: {% comment %} space {% endcomment -%}
|
35
|
+
{%- for group in page.groups -%}
|
36
|
+
{%- if page.groups.first != group %}, {% endif -%}
|
37
|
+
{%- assign group_page = site.pages | where: "layout", "group" | where: "group", group | first -%}
|
38
|
+
<a class="category" href="{{ group_page.url | relative_url }}">{{ group_page.title | escape }}</a>
|
39
|
+
{%- endfor -%}
|
40
|
+
.</p>
|
41
|
+
{%- endif %}
|
42
|
+
</header>
|
43
|
+
{% if page.version_added or page.version_deprecated -%}
|
32
44
|
{%- assign warning = false -%}
|
33
45
|
{%- if page.version_added == "unreleased" or page.version_deprecated or page.version_removed -%}
|
34
46
|
{%- assign warning = true -%}
|
35
47
|
{%- endif -%}
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
{
|
42
|
-
|
43
|
-
|
44
|
-
{
|
45
|
-
|
46
|
-
|
47
|
-
{%- endif -%}
|
48
|
-
{%- endcapture -%}
|
49
|
-
{{ lines | strip | newline_to_br }}
|
50
|
-
</p>
|
48
|
+
<p class="version-details">
|
49
|
+
{%- if page.version_added %}
|
50
|
+
{% include version.html version=page.version_added label="version added" %}
|
51
|
+
{%- endif -%}
|
52
|
+
{%- if page.version_deprecated %}
|
53
|
+
{% include version.html version=page.version_deprecated label="deprecated" %}
|
54
|
+
{%- endif -%}
|
55
|
+
{%- if page.version_removed %}
|
56
|
+
{% include version.html version=page.version_removed label="removed" %}
|
57
|
+
{%- endif -%}
|
58
|
+
</p>
|
51
59
|
{%- endif %}
|
52
|
-
{{
|
60
|
+
{{ content }}
|
61
|
+
</article>
|
53
62
|
</div>
|
54
63
|
{%- assign toc = true -%}
|
55
64
|
{%- if layout.amethyst.toc == false -%}
|
data/_layouts/post.html
CHANGED
@@ -3,15 +3,15 @@ layout: wrapper
|
|
3
3
|
---
|
4
4
|
|
5
5
|
<div class="main main--columns wrapper">
|
6
|
-
<div class="content">
|
7
|
-
|
6
|
+
<div class="content" role="main">
|
7
|
+
<article>
|
8
8
|
<header>
|
9
9
|
<h1>{{ page.title | escape }}</h1>
|
10
10
|
{%- assign date_format = site.amethyst.date_format | default: "%e %B %Y" -%}
|
11
11
|
<p class="post-meta byline">Posted on <a href="{{ page.url | relative_url }}" rel="bookmark"><time itemprop="pubdate" datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: date_format }}</time></a>{% if page.author %} by <span class="vcard"><span class="fn n" rel="author">{{ page.author | escape }}</span></span>{% endif %}</p>
|
12
12
|
</header>
|
13
13
|
{{ content }}
|
14
|
-
|
14
|
+
</article>
|
15
15
|
{%- comment -%}
|
16
16
|
Support basic read-only rendering of imported comments.
|
17
17
|
|
data/_layouts/wrapper.html
CHANGED
@@ -15,9 +15,7 @@
|
|
15
15
|
{{ site.title | escape }}
|
16
16
|
{%- endif -%}
|
17
17
|
</a>
|
18
|
-
{%-
|
19
|
-
{%- include search.html -%}
|
20
|
-
{%- endif -%}
|
18
|
+
{%- include search.html -%}
|
21
19
|
<nav class="site-nav"><ul class="site-nav-list">
|
22
20
|
{%- for item in site.data.sitenav -%}
|
23
21
|
<li class="site-nav-item{%- if item.sub %} has-sub-list{% endif %}">
|
@@ -35,8 +33,7 @@
|
|
35
33
|
{%- endfor -%}
|
36
34
|
</ul></nav>
|
37
35
|
<div class="site-toggles">
|
38
|
-
|
39
|
-
<button class="search-toggle toggle" data-opens=".site-search" aria-expanded="false">
|
36
|
+
<button class="search-toggle toggle" aria-expanded="false">
|
40
37
|
<span class="screen-reader-text">Search</span>
|
41
38
|
<svg class="icon aa-input-icon" aria-hidden="true" viewBox="654 -372 1664 1664" height="20">
|
42
39
|
<path d="M1806,332c0-123.3-43.8-228.8-131.5-316.5C1586.8-72.2,1481.3-116,1358-116s-228.8,43.8-316.5,131.5 C953.8,103.2,910,208.7,910,332s43.8,228.8,131.5,316.5C1129.2,736.2,1234.7,780,1358,780s228.8-43.8,316.5-131.5 C1762.2,560.8,1806,455.3,1806,332z M2318,1164c0,34.7-12.7,64.7-38,90s-55.3,38-90,38c-36,0-66-12.7-90-38l-343-342 c-119.3,82.7-252.3,124-399,124c-95.3,0-186.5-18.5-273.5-55.5s-162-87-225-150s-113-138-150-225S654,427.3,654,332 s18.5-186.5,55.5-273.5s87-162,150-225s138-113,225-150S1262.7-372,1358-372s186.5,18.5,273.5,55.5s162,87,225,150s113,138,150,225 S2062,236.7,2062,332c0,146.7-41.3,279.7-124,399l343,343C2305.7,1098.7,2318,1128.7,2318,1164z"/>
|
@@ -44,16 +41,17 @@
|
|
44
41
|
</button>
|
45
42
|
<script type="module">
|
46
43
|
const searchToggle = document.querySelector('.search-toggle');
|
47
|
-
const
|
44
|
+
const searchForm = document.querySelector('form[role=search]');
|
45
|
+
const searchInput = searchForm.querySelector('input[type=search]');
|
48
46
|
searchToggle.addEventListener('click', () => {
|
49
|
-
const
|
50
|
-
searchToggle.
|
51
|
-
|
52
|
-
|
53
|
-
|
47
|
+
const newState = searchToggle.getAttribute('aria-expanded') !== 'true';
|
48
|
+
searchToggle.setAttribute('aria-expanded', String(newState));
|
49
|
+
searchForm.style.display = newState ? 'block' : '';
|
50
|
+
if (newState) {
|
51
|
+
searchInput.focus();
|
52
|
+
}
|
54
53
|
});
|
55
54
|
</script>
|
56
|
-
{%- endif %}
|
57
55
|
<button class="nav-toggle toggle" data-opens=".site-nav" aria-expanded="false">
|
58
56
|
<span class="screen-reader-text">Menu</span>
|
59
57
|
<svg class="icon icon-nav-toggle" aria-hidden="true" viewBox="0 0 100 100" height="20">
|
@@ -103,8 +101,18 @@
|
|
103
101
|
</p>
|
104
102
|
</div>
|
105
103
|
</footer>
|
106
|
-
{%-
|
107
|
-
|
104
|
+
{%- comment -%}
|
105
|
+
|
106
|
+
We use type="module" as a natural way to cut the mustard,
|
107
|
+
executing the script only on modern browsers with ES6 support,
|
108
|
+
and causing no errors on older browsers.
|
109
|
+
|
110
|
+
<https://responsivenews.tumblr.com/post/18948466399/cutting-the-mustard>
|
111
|
+
<http://web.archive.org/web/20150305005331/http://responsivenews.co.uk/post/18948466399/cutting-the-mustard>
|
112
|
+
|
113
|
+
{%- endcomment -%}
|
114
|
+
{%- if site.amethyst.typesense.search_only_api_key -%}
|
115
|
+
<script defer type="module" src="{{ '/assets/typesense-minibar.js' | file_version_query | relative_url }}"></script>
|
108
116
|
{%- endif -%}
|
109
117
|
</body>
|
110
118
|
</html>
|
data/_sass/amethyst.scss
CHANGED
@@ -131,7 +131,9 @@ iframe {
|
|
131
131
|
.wrapper {
|
132
132
|
max-width: 65rem;
|
133
133
|
margin: 0 auto;
|
134
|
-
|
134
|
+
@media (min-width: $screen-m) {
|
135
|
+
padding: 0 $size-spacing;
|
136
|
+
}
|
135
137
|
}
|
136
138
|
|
137
139
|
.main {
|
@@ -289,6 +291,8 @@ table {
|
|
289
291
|
|
290
292
|
.site-header-wrapper {
|
291
293
|
display: flex;
|
294
|
+
flex-flow: row wrap;
|
295
|
+
gap: 0 $size-spacing;
|
292
296
|
justify-content: space-between;
|
293
297
|
position: relative;
|
294
298
|
}
|
@@ -299,7 +303,7 @@ table {
|
|
299
303
|
align-items: center;
|
300
304
|
font-size: $size-2;
|
301
305
|
font-weight: bold;
|
302
|
-
padding: $size-1 0;
|
306
|
+
padding: $size-1 0 $size-1 $size-1;
|
303
307
|
text-decoration: none;
|
304
308
|
transition: color 0.3s;
|
305
309
|
|
@@ -445,227 +449,34 @@ table {
|
|
445
449
|
|
446
450
|
/* Search */
|
447
451
|
|
448
|
-
.
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
border-top: 1px solid $color-off-white;
|
457
|
-
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
|
458
|
-
|
459
|
-
&.opened {
|
460
|
-
display: block;
|
461
|
-
}
|
462
|
-
|
463
|
-
@media (min-width: $screen-m) {
|
464
|
-
display: block;
|
465
|
-
align-self: center;
|
466
|
-
position: relative;
|
467
|
-
flex: 1;
|
468
|
-
max-width: 20rem;
|
469
|
-
margin: 0 $size-spacing;
|
470
|
-
border: none;
|
471
|
-
box-shadow: none;
|
472
|
-
}
|
473
|
-
}
|
474
|
-
|
475
|
-
.algolia-autocomplete {
|
476
|
-
width: 100%;
|
477
|
-
height: 100%;
|
478
|
-
}
|
479
|
-
|
480
|
-
.aa-input-search {
|
481
|
-
width: 100%;
|
482
|
-
height: 100%;
|
483
|
-
padding: 12px 28px 12px 12px;
|
484
|
-
border: none;
|
485
|
-
-webkit-appearance: none;
|
486
|
-
-moz-appearance: none;
|
487
|
-
appearance: none;
|
488
|
-
font-size: $size-1;
|
489
|
-
|
490
|
-
&::-webkit-search-decoration,
|
491
|
-
&::-webkit-search-cancel-button,
|
492
|
-
&::-webkit-search-results-button,
|
493
|
-
&::-webkit-search-results-decoration {
|
494
|
-
display: none;
|
495
|
-
}
|
496
|
-
|
497
|
-
@media (min-width: $screen-m) {
|
498
|
-
border-radius: 3px;
|
499
|
-
&:not(:focus) {
|
500
|
-
background: lighten($color-accent, 12%);
|
501
|
-
color: $color-white;
|
502
|
-
}
|
503
|
-
}
|
504
|
-
}
|
505
|
-
|
506
|
-
// On wide viewports, when the search field is not focussed,
|
507
|
-
// the search field has a dark background. Override the default
|
508
|
-
// user agent styles for placeholders (which are often mid-grey,
|
509
|
-
// and thus blend into the background too much) to use a bright
|
510
|
-
// color instead.
|
511
|
-
//
|
512
|
-
// When focussed, or when toggling on narrow viewports, the search
|
513
|
-
// field has a bright background, so don't apply this there!
|
514
|
-
@media (min-width: $screen-m) {
|
515
|
-
.site-search:not(:focus-within) .aa-input-search::placeholder {
|
516
|
-
color: $color-bright;
|
517
|
-
opacity: 0.6;
|
518
|
-
}
|
519
|
-
}
|
520
|
-
|
521
|
-
// Only displayed when the optional JS code was supported in the current browser
|
522
|
-
// and run to completion. Also, don't show on narrow viewports (e.g. mobile)
|
523
|
-
// where keyboard shortcuts are typically not used.
|
524
|
-
// Avoid using device type or pointer support, because one can have a large
|
525
|
-
// "mobile"-like device with external keyboard.
|
526
|
-
.site-search--bound:not(:focus-within):after {
|
527
|
-
@media (min-width: $screen-m) {
|
528
|
-
content: '/';
|
529
|
-
display: inline-block;
|
530
|
-
|
531
|
-
font-size: 60%;
|
532
|
-
line-height: 2.5;
|
533
|
-
text-align: center;
|
534
|
-
width: 2.5em;
|
535
|
-
height: 2.5em;
|
536
|
-
position: absolute;
|
537
|
-
top: 50%;
|
538
|
-
right: 48px;
|
539
|
-
transform: translateY(-50%);
|
540
|
-
|
541
|
-
border-radius: 3px;
|
542
|
-
border: 1px solid $color-bright;
|
543
|
-
color: $color-bright;
|
544
|
-
opacity: 0.6;
|
545
|
-
}
|
546
|
-
}
|
547
|
-
|
548
|
-
.aa-input-icon {
|
549
|
-
width: 16px;
|
550
|
-
height: 16px;
|
551
|
-
position: absolute;
|
552
|
-
top: 50%;
|
553
|
-
right: 16px;
|
554
|
-
transform: translateY(-50%);
|
555
|
-
fill: $color-accent;
|
452
|
+
.tsmb-form {
|
453
|
+
--tsmb-color-base-background: #{lighten($color-accent, 12%)};
|
454
|
+
--tsmb-color-primary30: #{$color-accent};
|
455
|
+
--tsmb-color-primary50: #{$color-vibrant};
|
456
|
+
--tsmb-color-primary90: #{$color-bright};
|
457
|
+
--tsmb-color-base30: var(--tsmb-color-primary90);
|
458
|
+
--tsmb-color-base50: #{change-color($color-bright, $alpha: 0.6)}; // #a98dc1
|
459
|
+
--tsmb-color-base90: #{change-color($color-bright, $alpha: 0.6)};
|
556
460
|
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
}
|
561
|
-
}
|
461
|
+
width: auto;
|
462
|
+
flex: 1;
|
463
|
+
align-self: center;
|
562
464
|
}
|
563
|
-
|
564
|
-
|
565
|
-
background: $color-white;
|
566
|
-
border-top: 1px solid $color-off-white;
|
567
|
-
width: 100%;
|
568
|
-
max-height: 60vh;
|
569
|
-
overflow: auto;
|
570
|
-
box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
|
571
|
-
|
572
|
-
@media (min-width: $screen-m) {
|
573
|
-
border-radius: 3px;
|
574
|
-
border-top: none;
|
575
|
-
min-width: 500px;
|
576
|
-
margin-top: $size-spacing;
|
577
|
-
}
|
465
|
+
.tsmb-form:not(:focus-within)::before {
|
466
|
+
filter: unquote("invert()");
|
578
467
|
}
|
579
|
-
|
580
|
-
|
581
|
-
// A sticky element is normally at the start of the content,
|
582
|
-
// but since this is a footer, the space of the sticky element
|
583
|
-
// is naturally preserved at the end of the list and thus won't
|
584
|
-
// overlap the last suggestion.
|
585
|
-
// If this were a ::before or -header instead, then this would need:
|
586
|
-
// .aa-header {
|
587
|
-
// margin-top: -2.4rem;
|
588
|
-
// }
|
589
|
-
//
|
590
|
-
// and
|
591
|
-
//
|
592
|
-
// .aa-dropdown-menu::after {
|
593
|
-
// display: block;
|
594
|
-
// content: "";
|
595
|
-
// height: 2.4rem;
|
596
|
-
// }
|
597
|
-
position: sticky;
|
598
|
-
left: 0;
|
599
|
-
right: 0;
|
600
|
-
box-shadow: 0 0 6px rgba(0,0,0,0.19);
|
601
|
-
|
602
|
-
top: calc(100% - 2.4rem);
|
603
|
-
padding: 0.8rem 1rem;
|
604
|
-
font-size: $size-sm;
|
605
|
-
line-height: 1;
|
606
|
-
|
607
|
-
color: $color-darkgrey;
|
608
|
-
text-align: right;
|
609
|
-
|
610
|
-
.aa-logo {
|
611
|
-
// Replace alt text with image
|
612
|
-
line-height: 0;
|
613
|
-
font-size: 0;
|
614
|
-
}
|
615
|
-
.aa-logo::after {
|
616
|
-
content: '';
|
617
|
-
display: inline-block;
|
618
|
-
vertical-align: top;
|
619
|
-
// Nominal size is 485x120
|
620
|
-
background: url(./logo-algolia.svg);
|
621
|
-
width: calc((485 / 120) * 0.8rem);
|
622
|
-
height: 0.8rem;
|
623
|
-
}
|
468
|
+
.tsmb-form input[type="search"] {
|
469
|
+
border: none;
|
624
470
|
}
|
625
|
-
|
626
|
-
.
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
padding: $box-spacing;
|
632
|
-
cursor: pointer;
|
633
|
-
border-top: 1px solid $color-off-white;
|
634
|
-
border-left: 2px solid transparent;
|
635
|
-
|
636
|
-
a {
|
637
|
-
// reset default link style
|
638
|
-
text-decoration: none;
|
639
|
-
}
|
640
|
-
|
641
|
-
&:hover,
|
642
|
-
&.aa-cursor {
|
643
|
-
background: $color-bright;
|
644
|
-
border-left: 2px solid $color-vibrant;
|
471
|
+
@media (max-width: $screen-m) {
|
472
|
+
.tsmb-form {
|
473
|
+
display: none;
|
474
|
+
flex: 100%;
|
475
|
+
order: 10;
|
476
|
+
--tsmb-size-input: calc( var(--tsmb-size-base) * 2.0 );
|
645
477
|
}
|
646
478
|
}
|
647
479
|
|
648
|
-
.ais-Highlight {
|
649
|
-
font-style: normal;
|
650
|
-
font-weight: bold;
|
651
|
-
}
|
652
|
-
|
653
|
-
.aa-suggestion_title,
|
654
|
-
.aa-suggestion_content {
|
655
|
-
// reset paragraph margin
|
656
|
-
margin: 0;
|
657
|
-
// clip title chunks and content match to one line
|
658
|
-
white-space: nowrap;
|
659
|
-
overflow: hidden;
|
660
|
-
text-overflow: ellipsis;
|
661
|
-
}
|
662
|
-
.aa-suggestion_title {
|
663
|
-
color: $color-accent;
|
664
|
-
}
|
665
|
-
.aa-suggestion_content {
|
666
|
-
font-size: $size-sm;
|
667
|
-
color: $color-darkgrey;
|
668
|
-
}
|
669
480
|
|
670
481
|
/* Site header: Mobile toggle controls */
|
671
482
|
|
@@ -698,7 +509,7 @@ table {
|
|
698
509
|
transform: none;
|
699
510
|
}
|
700
511
|
|
701
|
-
.
|
512
|
+
.toggle[aria-expanded="true"] .icon {
|
702
513
|
fill: $color-white;
|
703
514
|
}
|
704
515
|
|
@@ -826,9 +637,16 @@ table {
|
|
826
637
|
text-align: left;
|
827
638
|
border-width: 1px;
|
828
639
|
border-style: solid;
|
640
|
+
|
641
|
+
.sep {
|
642
|
+
display: block;
|
643
|
+
width: 0px;
|
644
|
+
height: 0px;
|
645
|
+
overflow: hidden;
|
646
|
+
}
|
829
647
|
}
|
830
648
|
}
|
831
|
-
.version-details
|
649
|
+
.version-details {
|
832
650
|
background: $color-light;
|
833
651
|
border-color: $color-off-white;
|
834
652
|
}
|
data/amethyst.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = "jekyll-theme-amethyst"
|
3
|
-
spec.version = "0.
|
3
|
+
spec.version = "0.5.0"
|
4
4
|
spec.summary = "https://github.com/qunitjs/jekyll-theme-amethyst"
|
5
5
|
spec.authors = ["Timo Tijhof", "Trent Willis"]
|
6
6
|
spec.files = `git ls-files -z`.split("\x0")
|