jekyll-theme-neysa 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/{LICENSE.txt → LICENSE} +5 -5
- data/README.md +0 -36
- data/_config.yml +5 -20
- data/_includes/footer.html +92 -10
- data/_includes/head.html +14 -0
- data/_includes/header.html +28 -0
- data/_includes/mathjax.html +11 -13
- data/_layouts/default.html +28 -11
- data/_layouts/notebook.html +28 -26
- data/_layouts/project.html +28 -26
- data/_sass/header-footer.scss +220 -0
- data/_sass/jekyll-theme-neysa.scss +129 -544
- data/assets/css/style.scss +12 -12
- data/assets/images/favicon.ico +0 -0
- data/assets/images/github_64x64.png +0 -0
- data/assets/images/pdf_64x64.png +0 -0
- data/assets/js/bootstrap.min.js +6 -0
- metadata +10 -16
- data/_includes/google-analytics.html +0 -10
- data/_includes/head-custom.html +0 -10
- data/_layouts/.DS_Store +0 -0
- data/_sass/.DS_Store +0 -0
- data/_sass/neysa.scss +0 -4
- data/assets/.DS_Store +0 -0
- data/assets/images/bg_hr.png +0 -0
- data/assets/js/toc.js +0 -99
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2f05073d4c36295502d4739b38590ec3f6295f159fdccd2931860371f3bb832d
|
|
4
|
+
data.tar.gz: e0e99223e5ab573e9a2160be4b1a2409e699c6fb3d2179277b09b1b64742bd72
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8a619e897ff80e03ff1f9693b5771fb8da03c249eb37b7a04e4764d12873fec3514d70c10fbbbbf9bbd6b16e02ba7c7440bf45b040b49fe1c5ab788267d57e1d
|
|
7
|
+
data.tar.gz: 1748e774b69ca06bf92b5115a38437305af2c06a6d0f0e1fb6093f93693e6b7cbf6c36e2d708cfdb17ee639f91cd62a227739bbab3b819d25434a15f475fe863
|
data/{LICENSE.txt → LICENSE}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
3
|
Copyright (c) 2023 Ni Chen
|
|
4
4
|
|
|
@@ -9,13 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
9
9
|
copies of the Software, and to permit persons to whom the Software is
|
|
10
10
|
furnished to do so, subject to the following conditions:
|
|
11
11
|
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
14
|
|
|
15
15
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
16
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
17
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
18
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
data/README.md
CHANGED
|
@@ -1,41 +1,5 @@
|
|
|
1
1
|
# jekyll-theme-neysa
|
|
2
2
|
|
|
3
|
-
Welcome to your new Jekyll theme! In this directory, you'll find the files you need to be able to package up your theme into a gem. Put your layouts in `_layouts`, your includes in `_includes`, your sass files in `_sass` and any other assets in `assets`.
|
|
4
|
-
|
|
5
|
-
To experiment with this code, add some sample content and run `bundle exec jekyll serve` – this directory is setup just like a Jekyll site!
|
|
6
|
-
|
|
7
|
-
TODO: Delete this and the text above, and describe your gem
|
|
8
|
-
|
|
9
|
-
## Installation
|
|
10
|
-
|
|
11
|
-
Add this line to your Jekyll site's `Gemfile`:
|
|
12
|
-
|
|
13
|
-
```ruby
|
|
14
|
-
gem "jekyll-theme-neysa"
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
And add this line to your Jekyll site's `_config.yml`:
|
|
18
|
-
|
|
19
|
-
```yaml
|
|
20
|
-
theme: jekyll-theme-neysa
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
And then execute:
|
|
24
|
-
|
|
25
|
-
$ bundle
|
|
26
|
-
|
|
27
|
-
Or install it yourself as:
|
|
28
|
-
|
|
29
|
-
$ gem install jekyll-theme-neysa
|
|
30
|
-
|
|
31
|
-
## Usage
|
|
32
|
-
|
|
33
|
-
TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets.
|
|
34
|
-
|
|
35
|
-
## Contributing
|
|
36
|
-
|
|
37
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/jekyll-theme-neysa. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](https://www.contributor-covenant.org/) code of conduct.
|
|
38
|
-
|
|
39
3
|
## Development
|
|
40
4
|
|
|
41
5
|
To set up your environment to develop this theme, run `bundle install`.
|
data/_config.yml
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Hide title of repository
|
|
2
|
-
name: ""
|
|
2
|
+
name: " "
|
|
3
3
|
title: null
|
|
4
4
|
description:
|
|
5
|
-
|
|
6
|
-
theme: jekyll-theme-neysa
|
|
5
|
+
# theme: jekyll-theme-neysa
|
|
7
6
|
|
|
8
7
|
# Build settings
|
|
8
|
+
|
|
9
9
|
markdown: kramdown # to show TOC
|
|
10
10
|
kramdown:
|
|
11
11
|
input: GFM
|
|
@@ -18,24 +18,9 @@ kramdown:
|
|
|
18
18
|
enable_coderay: false
|
|
19
19
|
parse_block_html: true # default for kramdown is false. This will enable using Markdown links
|
|
20
20
|
|
|
21
|
-
## => Markdown Enhancements
|
|
22
|
-
## Mathjax
|
|
23
|
-
mathjax: true # false (default), true
|
|
24
|
-
mathjax_autoNumber: true # false (default), true
|
|
25
|
-
|
|
26
|
-
parse:
|
|
27
|
-
myst_enable_extensions:
|
|
28
|
-
# don't forget to list any other extensions you want enabled,
|
|
29
|
-
# including those that are enabled by default!
|
|
30
|
-
- amsmath
|
|
31
|
-
|
|
32
21
|
sass:
|
|
33
22
|
sass_dir: _sass
|
|
34
23
|
|
|
35
|
-
# -----------------------------------------------------------------------------
|
|
36
|
-
# 统计
|
|
37
|
-
# -----------------------------------------------------------------------------
|
|
38
|
-
google_analytics: UA—56515654-4
|
|
39
24
|
|
|
40
|
-
|
|
41
|
-
|
|
25
|
+
exclude:
|
|
26
|
+
- script
|
data/_includes/footer.html
CHANGED
|
@@ -1,10 +1,92 @@
|
|
|
1
|
-
<footer class="
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
{% endif %}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
</footer>
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
<footer class="{% if site.footer_fixed %}fixed-bottom{% else %}sticky-bottom mt-5{% endif %}">
|
|
2
|
+
<div class="container text-center">
|
|
3
|
+
{% assign author_name = site.first_name | append: ' ' | append: site.last_name | strip %}
|
|
4
|
+
{% if author_name == '' %}{% assign author_name = 'Ni Chen' %}{% endif %}
|
|
5
|
+
© Copyright {{ site.time | date: '%Y' }}, {{ author_name }}
|
|
6
|
+
{% if site.footer_text %}<br>{{ site.footer_text }}{% endif %}
|
|
7
|
+
</div>
|
|
8
|
+
</footer>
|
|
9
|
+
|
|
10
|
+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
|
11
|
+
<script src="{{ site.url }}{{ site.baseurl }}/assets/js/bootstrap.min.js"></script>
|
|
12
|
+
<script>
|
|
13
|
+
(function() {
|
|
14
|
+
if (window.jQuery) {
|
|
15
|
+
jQuery(function($) {
|
|
16
|
+
var $car = $('#carousel');
|
|
17
|
+
if ($car.length) {
|
|
18
|
+
$car.carousel({ interval: 5000, pause: 'hover' });
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
})();
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<script>
|
|
26
|
+
// Mark native lazy media as loaded to trigger CSS fade-in.
|
|
27
|
+
// load/error do not bubble, so listen in the capture phase; this also covers media added later.
|
|
28
|
+
(function() {
|
|
29
|
+
function isLazy(el) {
|
|
30
|
+
return el && (el.tagName === 'IMG' || el.tagName === 'IFRAME') && el.getAttribute('loading') === 'lazy';
|
|
31
|
+
}
|
|
32
|
+
function onDone(e) {
|
|
33
|
+
if (isLazy(e.target)) e.target.classList.add('is-loaded');
|
|
34
|
+
}
|
|
35
|
+
document.addEventListener('load', onDone, true);
|
|
36
|
+
document.addEventListener('error', onDone, true);
|
|
37
|
+
[].forEach.call(document.querySelectorAll('img[loading="lazy"]'), function(img) {
|
|
38
|
+
if (img.complete) img.classList.add('is-loaded');
|
|
39
|
+
});
|
|
40
|
+
})();
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
{% if content contains 'li-embed' %}
|
|
44
|
+
<script>
|
|
45
|
+
// Auto-resize LinkedIn embed iframes when they post height messages
|
|
46
|
+
(function () {
|
|
47
|
+
function extractHeight(msg) {
|
|
48
|
+
var data = msg;
|
|
49
|
+
if (typeof data === 'string') {
|
|
50
|
+
try { data = JSON.parse(data); } catch (e) { /* not JSON */ }
|
|
51
|
+
}
|
|
52
|
+
var candidates = [];
|
|
53
|
+
if (data && typeof data === 'object') {
|
|
54
|
+
if (typeof data.height === 'number') candidates.push(data.height);
|
|
55
|
+
if (data.data && typeof data.data.height === 'number') candidates.push(data.data.height);
|
|
56
|
+
if (data.msg && typeof data.msg.height === 'number') candidates.push(data.msg.height);
|
|
57
|
+
}
|
|
58
|
+
for (var j = 0; j < candidates.length; j++) {
|
|
59
|
+
var h = candidates[j];
|
|
60
|
+
if (h >= 150 && h <= 2000) return h;
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function isLinkedIn(origin) {
|
|
66
|
+
try {
|
|
67
|
+
return (new URL(origin).hostname || '').endsWith('linkedin.com');
|
|
68
|
+
} catch (e) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function findIframe(source) {
|
|
74
|
+
var iframes = document.querySelectorAll('iframe.li-embed, iframe[src*="linkedin.com/embed"]');
|
|
75
|
+
for (var i = 0; i < iframes.length; i++) {
|
|
76
|
+
if (iframes[i].contentWindow === source) return iframes[i];
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
window.addEventListener('message', function (event) {
|
|
82
|
+
if (!isLinkedIn(event.origin)) return;
|
|
83
|
+
var newH = extractHeight(event.data);
|
|
84
|
+
if (!newH) return;
|
|
85
|
+
var iframe = findIframe(event.source);
|
|
86
|
+
if (iframe) iframe.style.height = Math.round(newH) + 'px';
|
|
87
|
+
}, false);
|
|
88
|
+
})();
|
|
89
|
+
</script>
|
|
90
|
+
{% endif %}
|
|
91
|
+
|
|
92
|
+
|
data/_includes/head.html
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!-- start custom head snippets, customize with your own _includes/head-custom.html file -->
|
|
2
|
+
|
|
3
|
+
<script type="text/javascript">
|
|
4
|
+
(function(c,l,a,r,i,t,y){
|
|
5
|
+
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
|
|
6
|
+
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
|
|
7
|
+
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
|
|
8
|
+
})(window, document, "clarity", "script", "l0fyrfksvt");
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<!-- You can set your favicon here -->
|
|
12
|
+
<!-- link rel="shortcut icon" type="image/x-icon" href="{{ '/favicon.ico' | relative_url }}" -->
|
|
13
|
+
|
|
14
|
+
<!-- end custom head snippets -->
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{% comment %} Links always go to the personal homepage, also from project pages served under /<repo>/ {% endcomment %}
|
|
2
|
+
{% assign home = site.homepage_url | default: 'https://ni-chen.github.io' %}
|
|
3
|
+
{% assign brand = site.first_name | append: ' ' | append: site.last_name | strip %}
|
|
4
|
+
{% if brand == '' %}{% assign brand = 'Ni Chen, Ph.D.' %}{% elsif site.degree %}{% assign brand = brand | append: ', ' | append: site.degree %}{% endif %}
|
|
5
|
+
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
|
6
|
+
<div class="container-fluid">
|
|
7
|
+
<div class="navbar-header">
|
|
8
|
+
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
|
|
9
|
+
data-target="#navbar-collapse-1" aria-expanded="false">
|
|
10
|
+
<span class="sr-only">Toggle navigation</span>
|
|
11
|
+
<span class="icon-bar"></span>
|
|
12
|
+
<span class="icon-bar"></span>
|
|
13
|
+
<span class="icon-bar"></span>
|
|
14
|
+
</button>
|
|
15
|
+
<a class="navbar-brand" href="{{ home }}/">{{ brand }}</a>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="collapse navbar-collapse" id="navbar-collapse-1">
|
|
18
|
+
<ul class="nav navbar-nav navbar-right">
|
|
19
|
+
<li><a href="{{ home }}/index">Home</a></li>
|
|
20
|
+
<li><a href="{{ home }}/bio">Bio</a></li>
|
|
21
|
+
<li><a href="{{ home }}/publications">Publications</a></li>
|
|
22
|
+
<li><a href="{{ home }}/research">Research</a></li>
|
|
23
|
+
<li><a href="{{ home }}/tools">Tools</a></li>
|
|
24
|
+
<li><a href="{{ home }}/posts">Posts</a></li>
|
|
25
|
+
</ul>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
data/_includes/mathjax.html
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
|
|
13
|
-
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ TeX: { equationNumbers: { autoNumber: "AMS" } } }); </script>
|
|
1
|
+
<script>
|
|
2
|
+
window.MathJax = {
|
|
3
|
+
tex: {
|
|
4
|
+
inlineMath: [['$', '$'], ['\\(', '\\)']],
|
|
5
|
+
displayMath: [['$$', '$$'], ['\\[', '\\]']],
|
|
6
|
+
processEscapes: true,
|
|
7
|
+
tags: 'ams'
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
</script>
|
|
11
|
+
<script src="https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-mml-chtml.js" async></script>
|
data/_layouts/default.html
CHANGED
|
@@ -2,25 +2,42 @@
|
|
|
2
2
|
<html lang="{{ site.lang | default: "en-US" }}">
|
|
3
3
|
|
|
4
4
|
<head>
|
|
5
|
-
<meta charset=
|
|
5
|
+
<meta charset="utf-8">
|
|
6
6
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
7
|
-
<meta name="viewport" content="width=device-width,
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
|
+
<title>{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}</title>
|
|
8
9
|
<link rel="stylesheet" type="text/css" media="screen" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
|
|
9
10
|
|
|
10
|
-
{% include head
|
|
11
|
+
{% include head.html %}
|
|
11
12
|
</head>
|
|
12
13
|
|
|
13
|
-
<body>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
<body text-align="justify">
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
{% include header.html %}
|
|
18
|
+
|
|
19
|
+
<div class="container-fluid">
|
|
20
|
+
<div class="row">
|
|
17
21
|
{{ content }}
|
|
18
|
-
|
|
22
|
+
|
|
23
|
+
<script type="text/javascript">
|
|
24
|
+
// revert publication list number
|
|
25
|
+
var olists = document.getElementsByTagName('ol');
|
|
26
|
+
for (var i = 0; i < olists.length; i++) {
|
|
27
|
+
// if (!olists[i].className.match(/\breversed\b/))
|
|
28
|
+
// continue;
|
|
29
|
+
var items = olists[i].getElementsByTagName('li');
|
|
30
|
+
for(var j = 0; j < items.length; j++) {
|
|
31
|
+
items[j].setAttribute("value", items.length - j);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
</script>
|
|
36
|
+
</div>
|
|
19
37
|
</div>
|
|
20
38
|
|
|
21
|
-
<!-- FOOTER -->
|
|
22
39
|
{% include footer.html %}
|
|
40
|
+
|
|
23
41
|
</body>
|
|
24
|
-
|
|
25
|
-
{% include mathjax.html %} <!--Need to be after the contents-->
|
|
42
|
+
|
|
26
43
|
</html>
|
data/_layouts/notebook.html
CHANGED
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="{{ site.lang | default: "en-US" }}">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset='utf-8'>
|
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
7
|
-
<meta name="viewport" content="width=device-width,maximum-scale=2">
|
|
8
|
-
<link rel="stylesheet" type="text/css" media="screen" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
|
|
9
|
-
|
|
10
|
-
{% include head
|
|
11
|
-
</head>
|
|
12
|
-
|
|
13
|
-
<body>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="{{ site.lang | default: "en-US" }}">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset='utf-8'>
|
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
7
|
+
<meta name="viewport" content="width=device-width,maximum-scale=2">
|
|
8
|
+
<link rel="stylesheet" type="text/css" media="screen" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
|
|
9
|
+
|
|
10
|
+
{% include head.html %}
|
|
11
|
+
</head>
|
|
12
|
+
|
|
13
|
+
<body>
|
|
14
|
+
{% include header.html %}
|
|
15
|
+
|
|
16
|
+
<!-- MAIN CONTENT -->
|
|
17
|
+
<div id="main_content_wrap" class="outer">
|
|
18
|
+
<section id="main_content" class="inner">
|
|
19
|
+
{{ content }}
|
|
20
|
+
</section>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<!-- FOOTER -->
|
|
24
|
+
{% include footer.html %}
|
|
25
|
+
</body>
|
|
26
|
+
|
|
27
|
+
{% include mathjax.html %} <!--Need to be after the contents-->
|
|
28
|
+
</html>
|
data/_layouts/project.html
CHANGED
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="{{ site.lang | default: "en-US" }}">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset='utf-8'>
|
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
7
|
-
<meta name="viewport" content="width=device-width,maximum-scale=2">
|
|
8
|
-
<link rel="stylesheet" type="text/css" media="screen" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
|
|
9
|
-
|
|
10
|
-
{% include head
|
|
11
|
-
</head>
|
|
12
|
-
|
|
13
|
-
<body>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="{{ site.lang | default: "en-US" }}">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset='utf-8'>
|
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
7
|
+
<meta name="viewport" content="width=device-width,maximum-scale=2">
|
|
8
|
+
<link rel="stylesheet" type="text/css" media="screen" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
|
|
9
|
+
|
|
10
|
+
{% include head.html %}
|
|
11
|
+
</head>
|
|
12
|
+
|
|
13
|
+
<body>
|
|
14
|
+
{% include header.html %}
|
|
15
|
+
|
|
16
|
+
<!-- MAIN CONTENT -->
|
|
17
|
+
<div id="main_content_wrap" class="outer">
|
|
18
|
+
<section id="main_content" class="inner">
|
|
19
|
+
{{ content }}
|
|
20
|
+
</section>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<!-- FOOTER -->
|
|
24
|
+
{% include footer.html %}
|
|
25
|
+
</body>
|
|
26
|
+
|
|
27
|
+
{% include mathjax.html %} <!--Need to be after the contents-->
|
|
28
|
+
</html>
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
// Header (navbar) and footer, matching https://ni-chen.github.io
|
|
2
|
+
// Markup: _includes/header.html and _includes/footer.html (Bootstrap 3 class names,
|
|
3
|
+
// so assets/js/bootstrap.min.js can drive the mobile collapse menu).
|
|
4
|
+
|
|
5
|
+
$chrome-font: Optima, Candara, Calibri, Arial, sans-serif;
|
|
6
|
+
$chrome-gradient: linear-gradient(135deg, #5d8f74 0%, #77a88d 100%);
|
|
7
|
+
$chrome-border: #4a7560;
|
|
8
|
+
$chrome-breakpoint: 768px;
|
|
9
|
+
|
|
10
|
+
.sr-only {
|
|
11
|
+
position: absolute;
|
|
12
|
+
width: 1px;
|
|
13
|
+
height: 1px;
|
|
14
|
+
margin: -1px;
|
|
15
|
+
padding: 0;
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
clip: rect(0, 0, 0, 0);
|
|
18
|
+
border: 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// -----------------------------------------------------------------------------
|
|
22
|
+
// Navbar
|
|
23
|
+
// -----------------------------------------------------------------------------
|
|
24
|
+
.navbar {
|
|
25
|
+
position: relative;
|
|
26
|
+
font-family: $chrome-font;
|
|
27
|
+
line-height: 1.5;
|
|
28
|
+
background: $chrome-gradient;
|
|
29
|
+
border-bottom: 1px solid #e8e8e8;
|
|
30
|
+
opacity: 0.95;
|
|
31
|
+
|
|
32
|
+
> .container-fluid {
|
|
33
|
+
max-width: 1082px;
|
|
34
|
+
margin: 0 auto;
|
|
35
|
+
padding: 10px 15px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
> .container-fluid::after,
|
|
39
|
+
.navbar-header::after,
|
|
40
|
+
.navbar-nav::after {
|
|
41
|
+
content: "";
|
|
42
|
+
display: table;
|
|
43
|
+
clear: both;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
a,
|
|
47
|
+
a:hover,
|
|
48
|
+
a:focus {
|
|
49
|
+
color: #fff;
|
|
50
|
+
text-decoration: none;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
ul {
|
|
54
|
+
list-style: none;
|
|
55
|
+
margin: 0;
|
|
56
|
+
padding: 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.navbar-brand {
|
|
61
|
+
float: left;
|
|
62
|
+
height: 80px;
|
|
63
|
+
padding: 10px 15px 14px;
|
|
64
|
+
font-size: 36px;
|
|
65
|
+
line-height: 50px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.navbar-toggle {
|
|
69
|
+
display: none;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.navbar .navbar-nav {
|
|
73
|
+
padding-top: 50px;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.navbar-nav {
|
|
77
|
+
> li {
|
|
78
|
+
float: left;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
> li > a {
|
|
82
|
+
display: block;
|
|
83
|
+
padding: 14px 15px;
|
|
84
|
+
font-size: 20px;
|
|
85
|
+
line-height: 22px;
|
|
86
|
+
border-radius: 3px;
|
|
87
|
+
|
|
88
|
+
&:hover,
|
|
89
|
+
&:focus {
|
|
90
|
+
background-color: rgba(0, 0, 0, 0.12);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Bootstrap collapse states
|
|
96
|
+
.collapse {
|
|
97
|
+
display: none;
|
|
98
|
+
|
|
99
|
+
&.in {
|
|
100
|
+
display: block;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.collapsing {
|
|
105
|
+
position: relative;
|
|
106
|
+
height: 0;
|
|
107
|
+
overflow: hidden;
|
|
108
|
+
transition: height 0.35s ease;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@media (min-width: $chrome-breakpoint) {
|
|
112
|
+
.navbar-header {
|
|
113
|
+
float: left;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.navbar-collapse {
|
|
117
|
+
float: right;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.navbar-collapse.collapse {
|
|
121
|
+
display: block !important;
|
|
122
|
+
height: auto !important;
|
|
123
|
+
overflow: visible !important;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
@media (max-width: $chrome-breakpoint - 1px) {
|
|
128
|
+
.navbar-brand {
|
|
129
|
+
height: 60px;
|
|
130
|
+
font-size: 26px;
|
|
131
|
+
line-height: 40px;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.navbar-toggle {
|
|
135
|
+
display: block;
|
|
136
|
+
float: right;
|
|
137
|
+
margin: 13px 15px 0 0;
|
|
138
|
+
padding: 9px 10px;
|
|
139
|
+
background: transparent;
|
|
140
|
+
border: 1px solid rgba(255, 255, 255, 0.5);
|
|
141
|
+
border-radius: 4px;
|
|
142
|
+
cursor: pointer;
|
|
143
|
+
|
|
144
|
+
&:hover,
|
|
145
|
+
&:focus {
|
|
146
|
+
background-color: rgba(255, 255, 255, 0.15);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.icon-bar {
|
|
150
|
+
display: block;
|
|
151
|
+
width: 22px;
|
|
152
|
+
height: 2px;
|
|
153
|
+
border-radius: 1px;
|
|
154
|
+
background-color: #fff;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.icon-bar + .icon-bar {
|
|
158
|
+
margin-top: 4px;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// Expanded menu: white panel with dark links, as on the homepage
|
|
163
|
+
.navbar-collapse {
|
|
164
|
+
clear: both;
|
|
165
|
+
background-color: #fff;
|
|
166
|
+
border-radius: 4px;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.navbar .navbar-nav {
|
|
170
|
+
padding: 5px 0;
|
|
171
|
+
|
|
172
|
+
> li {
|
|
173
|
+
float: none;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.navbar .navbar-nav > li > a {
|
|
178
|
+
padding: 10px 15px;
|
|
179
|
+
font-size: 18px;
|
|
180
|
+
color: #252525;
|
|
181
|
+
|
|
182
|
+
&:hover,
|
|
183
|
+
&:focus {
|
|
184
|
+
background-color: rgba(0, 0, 0, 0.06);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// -----------------------------------------------------------------------------
|
|
190
|
+
// Footer
|
|
191
|
+
// -----------------------------------------------------------------------------
|
|
192
|
+
footer {
|
|
193
|
+
margin-top: 2.5rem;
|
|
194
|
+
padding: 18px 15px;
|
|
195
|
+
font-family: $chrome-font;
|
|
196
|
+
font-size: 0.8rem;
|
|
197
|
+
line-height: 1.5;
|
|
198
|
+
color: #fff;
|
|
199
|
+
text-align: center;
|
|
200
|
+
background: $chrome-gradient;
|
|
201
|
+
border-top: 1px solid $chrome-border;
|
|
202
|
+
|
|
203
|
+
a {
|
|
204
|
+
color: #e2f0e8;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
a:hover,
|
|
208
|
+
a:focus {
|
|
209
|
+
color: #fff;
|
|
210
|
+
text-decoration: underline;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
&.fixed-bottom {
|
|
214
|
+
position: fixed;
|
|
215
|
+
right: 0;
|
|
216
|
+
bottom: 0;
|
|
217
|
+
left: 0;
|
|
218
|
+
margin: 0;
|
|
219
|
+
}
|
|
220
|
+
}
|