minima-scholar 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: edebbb0c6fb97ca7de684124acece536af5d9f852390bb5065665c2ad530cde8
4
+ data.tar.gz: 19308ed70ff075d1a0e9ad75405b8bf70a255bd3dbb432d72351303c4693a8e0
5
+ SHA512:
6
+ metadata.gz: e6ff75a44a6eaf59879e15462505c96c4bb8d81dfc412d154dc3371a56ebc4bd05cdc8f6458441da7aad63d84f38a0d24098b3de04cc970c269dfd800a452da3
7
+ data.tar.gz: 20bfa97ef3b24a4d4888ac531442e86d3626d198384fee62fb3744194f697be853af75d8f1a3346d4e6f7c14b9328137f439bc12c37fed364741412172e16377
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016-present Parker Moore and the minima contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
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
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,129 @@
1
+ # Minima-Scholar
2
+
3
+ **Minima-Scholar** is a Jekyll theme for academic websites, enabling
4
+ simple management and publication of data on team members and
5
+ publications.
6
+
7
+ ## Sources and rationale
8
+
9
+ [Jekyll](http://jekyllrb.com) is a tool for generating websites from
10
+ simple, easy to write and easy to read text files formatted in
11
+ [Markdown](https://en.wikipedia.org/wiki/Markdown). Jekyll websites can
12
+ be hosted for free on [GitHub Pages](https://pages.github.com) and
13
+ require minimal technical knowledge or effort to maintain.
14
+
15
+ This theme is a fork from the excellent Jekyll default theme
16
+ [minima](https://github.com/jekyll/minima) designed by Parker Moore.
17
+ **Minima-Scholar** introduces some additional features useful for
18
+ academics and research labs, while striving to remain compatible with
19
+ future releases of **Minima**. It is also inspired by some other
20
+ venerable Jekyll themes such as
21
+ [AcademicPages](https://academicpages.github.io) and
22
+ Gabriel Alcaras'
23
+ [Academic](https://github.com/gaalcaras/academic).
24
+
25
+ ## Features
26
+
27
+ **Minima-Scholar** behaves mostly like the original **Minima** and is
28
+ designed to be fully compatible with GitHub Pages. It moves a step
29
+ closer than Minima towards the
30
+ [Semantic Web](https://en.wikipedia.org/wiki/Semantic_Web), however, in
31
+ supporting the schema.org vocabulary wherever feasible.
32
+ **Minima-Scholar** supports, out of the box:
33
+
34
+ - Team member lists read from schema.org compliant YAML data files (an
35
+ example file is provided to get you started).
36
+ - Publication lists read from CSL-Yaml files as directly exported from
37
+ [Zotero](https://zotero.org) using the
38
+ [Better BibTeX plugin](https://retorque.re/zotero-better-bibtex/).
39
+
40
+ ## Installation
41
+
42
+ Add this line to your Jekyll site's Gemfile:
43
+
44
+ ```ruby
45
+ gem "minima-scholar"
46
+ ```
47
+
48
+ And then execute:
49
+
50
+ $ bundle
51
+
52
+
53
+ ## Contents At-A-Glance
54
+
55
+ This section only covers the features of **Minima-Scholar** that differ
56
+ from the original **Minima**. Refer to the
57
+ [Minima repository](https://github.com/jekyll/minima) for further
58
+ information.
59
+
60
+ ### Layouts
61
+
62
+ Refers to files within the `_layouts` directory, that define the markup for your theme.
63
+
64
+ - `biblio.html` — This layout generates a list of bibliographic
65
+ references from the file `_data/biblio.yaml`, which is expected to be
66
+ a CSL-compliant YAML file generated by Zotero and Better BibLaTeX
67
+ (please let me know if it works with other exporters, or how to make
68
+ it work with your favorite program). Currently it uses the Chicago
69
+ format, though others may be added in the future.
70
+ - `team.html` — This layout outputs a list of team members, in
71
+ alphabetical order or last names, with links to their
72
+ [ORCID](https://orcid.org) profiles and to their CV (or whatever
73
+ personal website they might have). It reads data from the `_team`
74
+ collection that is compliant with the schema.org specification.
75
+
76
+ ### Includes
77
+
78
+ Refers to snippets of code within the `_includes` directory that can be inserted in multiple layouts (and another include-file as well) within the same theme-gem.
79
+
80
+ - `share.html` — Links for sharing page content on various social
81
+ media.
82
+ - `header.html` — Defines the site's main header section. This
83
+ file has been modified from the original **Minima** version: here, it
84
+ allows you to use an image instead of your website's title as text.
85
+
86
+ ### Plugins
87
+
88
+ **Minima-scholar** requires no additional plugins other than those
89
+ already included by **Minima** and is fully compatible with the plugin
90
+ restrictions imposed by GitHub Pages.
91
+
92
+ ## Usage
93
+
94
+ Have the following line in your `_config.yml` file:
95
+
96
+ ```yaml
97
+ remote_theme: p3palazzo/minima-scholar
98
+ ```
99
+
100
+
101
+ ### Customizing templates
102
+
103
+ See the [Minima](https://github.com/jekyll/minima) README on how to
104
+ customize the appearance of your website.
105
+
106
+ ### Customize navigation links
107
+
108
+ This allows you to set which pages you want to appear in the navigation area and configure order of the links.
109
+
110
+ The default setup in **Minima-Scholar** is to have navigation links to
111
+ your lab's about page, to it publications list, and to the list of lab
112
+ members, in `_config.yml`:
113
+
114
+ ```yaml
115
+ header_pages:
116
+ - about.md
117
+ - team.md
118
+ - biblio.md
119
+ ```
120
+
121
+ ## Contributing
122
+
123
+ Bug reports and feature contributions are welcome on GitHub at
124
+ https://github.com/p3palazzo/minima-scholar.
125
+
126
+ ## License
127
+
128
+ The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
129
+
@@ -0,0 +1,6 @@
1
+ {% comment %}
2
+ Placeholder to allow defining custom head, in principle, you can add anything here, e.g. favicons:
3
+
4
+ 1. Head over to https://realfavicongenerator.net/ to add your own favicons.
5
+ 2. Customize default _includes/custom-head.html in your source directory and insert the given code snippet.
6
+ {% endcomment %}
@@ -0,0 +1,20 @@
1
+ {%- if page.comments != false and jekyll.environment == "production" -%}
2
+
3
+ <div id="disqus_thread"></div>
4
+ <script>
5
+ var disqus_config = function () {
6
+ this.page.url = '{{ page.url | absolute_url }}';
7
+ this.page.identifier = '{{ page.url | absolute_url }}';
8
+ };
9
+
10
+ (function() {
11
+ var d = document, s = d.createElement('script');
12
+
13
+ s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
14
+
15
+ s.setAttribute('data-timestamp', +new Date());
16
+ (d.head || d.body).appendChild(s);
17
+ })();
18
+ </script>
19
+ <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
20
+ {%- endif -%}
@@ -0,0 +1,37 @@
1
+ <footer class="site-footer h-card">
2
+ <data class="u-url" href="{{ "/" | relative_url }}"></data>
3
+
4
+ <div class="wrapper">
5
+
6
+ <div class="footer-col-wrapper">
7
+ <div class="footer-col">
8
+ <p class="feed-subscribe">
9
+ <a href="{{ 'feed.xml' | relative_url }}">
10
+ <svg class="svg-icon orange">
11
+ <use xlink:href="{{ 'assets/minima-social-icons.svg#rss' | relative_url }}"></use>
12
+ </svg><span>Subscribe</span>
13
+ </a>
14
+ </p>
15
+ {%- if site.author %}
16
+ <ul class="contact-list">
17
+ {% if site.author.name -%}
18
+ <li class="p-name">{{ site.author.name | escape }}</li>
19
+ {% endif -%}
20
+ {% if site.author.email -%}
21
+ <li><a class="u-email" href="mailto:{{ site.author.email }}">{{ site.author.email }}</a></li>
22
+ {%- endif %}
23
+ </ul>
24
+ {%- endif %}
25
+ </div>
26
+ <div class="footer-col">
27
+ <p>{{ site.description | escape }}</p>
28
+ </div>
29
+ </div>
30
+
31
+ <div class="social-links">
32
+ {%- include social.html -%}
33
+ </div>
34
+
35
+ </div>
36
+
37
+ </footer>
@@ -0,0 +1,9 @@
1
+ <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
2
+ <script>
3
+ window['ga-disable-{{ site.google_analytics }}'] = window.doNotTrack === "1" || navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1";
4
+ window.dataLayer = window.dataLayer || [];
5
+ function gtag(){dataLayer.push(arguments);}
6
+ gtag('js', new Date());
7
+
8
+ gtag('config', '{{ site.google_analytics }}');
9
+ </script>
@@ -0,0 +1,14 @@
1
+ <head>
2
+ <meta charset="utf-8">
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+ <meta name="viewport" content="width=device-width, initial-scale=1">
5
+ {%- seo -%}
6
+ <link rel="stylesheet" href="{{ "/assets/css/style.css" | relative_url }}">
7
+ {%- feed_meta -%}
8
+ {%- if jekyll.environment == 'production' and site.google_analytics -%}
9
+ {%- include google-analytics.html -%}
10
+ {%- endif -%}
11
+
12
+ {%- include custom-head.html -%}
13
+
14
+ </head>
@@ -0,0 +1,31 @@
1
+ <header class="site-header">
2
+
3
+ <div class="wrapper">
4
+ {%- assign default_paths = site.pages | map: "path" -%}
5
+ {%- assign page_paths = site.header_pages | default: default_paths -%}
6
+ {%- assign titles_size = site.pages | map: 'title' | join: '' | size -%}
7
+ <a class="site-title" rel="author" href="{{ "/" | relative_url }}">{{ site.title | escape }}</a>
8
+
9
+ {%- if titles_size > 0 -%}
10
+ <nav class="site-nav">
11
+ <input type="checkbox" id="nav-trigger" class="nav-trigger" />
12
+ <label for="nav-trigger">
13
+ <span class="menu-icon">
14
+ <svg viewBox="0 0 18 15" width="18px" height="15px">
15
+ <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/>
16
+ </svg>
17
+ </span>
18
+ </label>
19
+
20
+ <div class="trigger">
21
+ {%- for path in page_paths -%}
22
+ {%- assign my_page = site.pages | where: "path", path | first -%}
23
+ {%- if my_page.title -%}
24
+ <a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
25
+ {%- endif -%}
26
+ {%- endfor -%}
27
+ </div>
28
+ </nav>
29
+ {%- endif -%}
30
+ </div>
31
+ </header>
@@ -0,0 +1,23 @@
1
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
2
+
3
+ <div class="share-box">
4
+ <h5>Share this page:</h5>
5
+
6
+ <a class="f" href="https://www.facebook.com/sharer/sharer.php?u={{ site.url }}{{ site.baseurl }}{{ page.url }}" onclick="window.open(this.href, 'mywin',
7
+ 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" ><i class="fa fa-facebook-official fa"></i><span> facebook</span></a>
8
+ |
9
+ <a class="t" href="https://twitter.com/intent/tweet?text=&url={{ site.url }}{{ site.baseurl }}{{ page.url }}" onclick="window.open(this.href, 'mywin',
10
+ 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;"><i class="fa fa-twitter fa"></i><span> twitter</span></a>
11
+ |
12
+ <a class="g" href="https://plus.google.com/share?url={{ site.url }}{{ site.baseurl }}{{ page.url }}" onclick="window.open(this.href, 'mywin',
13
+ 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" ><i class="fa fa-google-plus fa"></i><span> google</span></a>
14
+ |
15
+ <a class="r" href="http://www.reddit.com/submit?url={{ site.url }}{{ site.baseurl }}{{ page.url }}" onclick="window.open(this.href, 'mywin',
16
+ 'left=20,top=20,width=900,height=500,toolbar=1,resizable=0'); return false;" ><i class="fa fa-reddit fa"></i><span> reddit</span></a>
17
+ |
18
+ <a class="l" href="https://www.linkedin.com/shareArticle?mini=true&url={{ site.url }}{{ site.baseurl }}{{ page.url }}&title=&summary=&source=webjeda" onclick="window.open(this.href, 'mywin',
19
+ 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" ><i class="fa fa-linkedin fa"></i><span> linkedin</span></a>
20
+ |
21
+ <a class="e" href="mailto:?subject={{ site.title }}&amp;body={{ site.url }}{{ site.baseurl }}{{ page.url }}"><i class="fa fa-envelope fa"></i><span> email</span></a>
22
+ </div>
23
+ <!-- vim: set filetype=liquid shiftwidth=2 tabstop=2 expandtab foldmethod=indent : -->
@@ -0,0 +1,21 @@
1
+ {%- assign social = site.minima.social_links -%}
2
+
3
+ <ul class="social-media-list">
4
+ {%- for glb in social.gitlab -%}{%- if glb.username and glb.instance -%}<li><a rel="me" href="https://{{ glb.instance | cgi_escape | escape}}/{{glb.username}}" title="{{ glb.username | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#gitlab' | relative_url }}"></use></svg></a></li>{%- endif -%}{%- endfor -%}
5
+ {%- if social.dribbble -%}<li><a rel="me" href="https://dribbble.com/{{ social.dribbble | cgi_escape | escape }}" title="{{ social.dribbble | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#dribbble' | relative_url }}"></use></svg></a></li>{%- endif -%}
6
+ {%- if social.facebook -%}<li><a rel="me" href="https://www.facebook.com/{{ social.facebook | cgi_escape | escape }}" title="{{ social.facebook | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#facebook' | relative_url }}"></use></svg></a></li>{%- endif -%}
7
+ {%- if social.flickr -%}<li><a rel="me" href="https://www.flickr.com/photos/{{ social.flickr | cgi_escape | escape }}" title="{{ social.flickr | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#flickr' | relative_url }}"></use></svg></a></li>{%- endif -%}
8
+ {%- if social.github -%}<li><a rel="me" href="https://github.com/{{ social.github | cgi_escape | escape }}" title="{{ social.github | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#github' | relative_url }}"></use></svg></a></li>{%- endif -%}
9
+ {%- if social.stackoverflow -%}<li><a rel="me" href="https://stackoverflow.com/users/{{ social.stackoverflow | cgi_escape | escape }}" title="{{ social.stackoverflow | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#stackoverflow' | relative_url }}"></use></svg></a></li>{%- endif -%}
10
+ {%- if social.instagram -%}<li><a rel="me" href="https://www.instagram.com/{{ social.instagram | cgi_escape | escape }}" title="{{ social.instagram | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#instagram' | relative_url }}"></use></svg></a></li>{%- endif -%}
11
+ {%- if social.linkedin -%}<li><a rel="me" href="https://www.linkedin.com/in/{{ social.linkedin | cgi_escape | escape }}" title="{{ social.linkedin | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#linkedin' | relative_url }}"></use></svg></a></li>{%- endif -%}
12
+ {%- if social.pinterest -%}<li><a rel="me" href="https://www.pinterest.com/{{ social.pinterest | cgi_escape | escape }}" title="{{ social.pinterest | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#pinterest' | relative_url }}"></use></svg></a></li>{%- endif -%}
13
+ {%- for mst in social.mastodon -%}{%- if mst.username and mst.instance -%}<li><a rel="me" href="https://{{ mst.instance | cgi_escape | escape}}/@{{mst.username}}" title="{{ mst.username | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#mastodon' | relative_url }}"></use></svg></a></li>{%- endif -%}{%- endfor -%}
14
+ {%- if social.twitter -%}<li><a rel="me" href="https://twitter.com/{{ social.twitter | cgi_escape | escape }}" title="{{ social.twitter | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#twitter' | relative_url }}"></use></svg></a></li>{%- endif -%}
15
+ {%- if social.youtube -%}<li><a rel="me" href="https://www.youtube.com/{{ social.youtube | cgi_escape | escape }}" title="{{ social.youtube | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#youtube' | relative_url }}"></use></svg></a></li>{%- endif -%}
16
+ {%- if social.youtube_channel -%}<li><a rel="me" href="https://www.youtube.com/channel/{{ social.youtube_channel | cgi_escape | escape }}" title="{{ social.youtube_channel_name | escape | default: 'YouTube' }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#youtube' | relative_url }}"></use></svg></a></li>{%- endif -%}
17
+ {%- if social.telegram -%}<li><a rel="me" href="https://t.me/{{ social.telegram | cgi_escape | escape }}" title="{{ social.telegram | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#telegram' | relative_url }}"></use></svg></a></li>{%- endif -%}
18
+ {%- if social.keybase -%}<li><a rel="me" href="https://keybase.io/{{ social.keybase | cgi_escape | escape }}" title="{{ social.keybase | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#keybase' | relative_url }}"></use></svg></a></li>{%- endif -%}
19
+ {%- if social.microdotblog -%}<li><a rel="me" href="https://micro.blog/{{ social.microdotblog | cgi_escape | escape }}" title="{{ social.microdotblog | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#microdotblog' | relative_url }}"></use></svg></a></li>{%- endif -%}
20
+ {%- if social.devto -%}<li><a href="https://dev.to/{{ social.devto | cgi_escape | escape }}" title="{{ social.devto | escape }}"><svg class="svg-icon grey"><use xlink:href="{{ '/assets/minima-social-icons.svg#devto' | relative_url }}"></use></svg></a></li>{%- endif -%}
21
+ </ul>
@@ -0,0 +1,114 @@
1
+ ---
2
+ layout: page
3
+ ---
4
+ {%- assign start = "2018" | date: "%Y" -%}
5
+ {%- assign today = "today" | date: "%Y" -%}
6
+ {%- assign biblio = site.data.biblio.references | sort: "id" -%}
7
+
8
+ {{ content }}
9
+
10
+ <ol class="refs">
11
+ {% for work in biblio %}
12
+ <li itemscope itemtype="http://schema.org/{%- case work.type -%}
13
+ {%- when "book" -%}Book
14
+ {%- when "article-journal" -%}Article
15
+ {%- when "chapter" or "paper-conference" -%}Chapter
16
+ {%- when "collection" -%}Collection
17
+ {%- when "thesis" -%}Thesis
18
+ {%- when "artwork" -%}VisualArtwork
19
+ {%- else -%}Creativework
20
+ {%- endcase -%}" id="{{ work.id }}">
21
+ {% if work.author %}
22
+ <span itemprop="author">
23
+ {% for author in work.author %}
24
+ {%- if author.family -%}
25
+ {%- if forloop.first -%}
26
+ <span itemscope itemtype="http://schema.org/Person">{{ author.dropping-particle | append: " " }}{{ author.family }}, {{ author.given }}</span>
27
+ {%- else -%}
28
+ <span itemscope itemtype="http://schema.org/Person">{{ author.given | append: " " }}{{ author.dropping-particle | append: " " }}{{ author.family }}</span>
29
+ {%- endif -%}
30
+ {%- else -%}
31
+ <span itemscope itemtype="http://schema.org/Organization">{{ author }}</span>
32
+ {%- endif -%}
33
+ {%- if forloop.last -%} {%- else -%}; {% endif %}
34
+ {% endfor %}
35
+ </span>
36
+ {% endif %}
37
+ <time datetime="{{ work.issued[0].year }}" itemscope itemprop="datePublished" itemtype="http://schema.org/Date">({{ work.issued[0].year }})</time>
38
+ <span itemprop="name">
39
+ {%- case work.type %}
40
+ {%- when "book" or "thesis" or "artwork" or "collection" -%}
41
+ <em>{{ work.title }}.</em>
42
+ {%- else %}
43
+ “{{ work.title }}.”
44
+ {%- endcase %}
45
+ </span>
46
+ {%- if work.type == 'chapter' or work.type == 'paper-conference' -%} In:
47
+ {% if work.editor %}
48
+ <span itemprop="editor">
49
+ {% for editor in work.editor %}
50
+ {%- if editor.family -%}
51
+ <span itemscope itemtype="http://schema.org/Person">{{ editor.given | append: " " }}{{ editor.dropping-particle | append: " " }}{{ editor.family }}</span>
52
+ {%- else -%}
53
+ <span itemscope itemtype="http://schema.org/Organization">{{ editor }}</span>
54
+ {%- endif -%}
55
+ {% if forloop.last %}
56
+ {% if forloop.last == forloop.first %}
57
+ (ed.)
58
+ {% else %}
59
+ (eds.)
60
+ {% endif %}
61
+ {%- else -%}; {% endif %}
62
+ {% endfor %}
63
+ </span>
64
+ {% endif %}
65
+ {%- endif -%}
66
+ {%- if work.container-title or work.event -%}
67
+ <span itemprop="isPartOf">
68
+ {%- if work.container-title -%}
69
+ {%- if work.event -%}
70
+ {{ work.event | append: ': ' }}
71
+ {%- endif -%}
72
+ <em>{{ work.container-title }}</em>
73
+ {%- elsif work.event -%}
74
+ <em>{{ work.event }}</em>
75
+ {%- endif -%}
76
+ {%- if work.volume -%}
77
+ <span itemprop="volumeNumber">{{work.volume | prepend: ', ' }}</span>
78
+ {%- endif -%}
79
+ {%- if work.issue -%}
80
+ <span itemprop="issueNumber">{{ work.issue | prepend: ' (' | append: ')' }}</span>
81
+ {%- endif -%}
82
+ </span>
83
+ {%- endif -%}
84
+ {%- if work.publisher or work.publisher-place -%}.
85
+ {% if work.publisher %}
86
+ <span itemprop="spatial" itemtype="http://schema.org/Location">{{ work.publisher-place | append: ': ' }}</span>
87
+ <span itemprop="publisher" itemtype="http://schema.org/Organization">{{ work.publisher }}</span>
88
+ {%- else -%}
89
+ <span itemprop="spatial" itemtype="http://schema.org/Location">{{ work.publisher-place }}</span>
90
+ {%- endif -%}
91
+ {%- endif -%}
92
+ {% if work.genre %}
93
+ <span itemprop="genre">{{ product.genre }}</span>
94
+ <span itemprop="locationCreated">{{ work.event-place }}<span>
95
+ {% endif %}
96
+ {%- if work.page -%},
97
+ <span itemprop="pagination">{{ work.page | replace: "-", "--" }}</span>
98
+ {%- endif -%}
99
+ {%- if work.ISBN -%}. ISBN
100
+ {% assign isbn = work.ISBN | split: " " %}
101
+ <span itemprop="ISBN">{{ isbn[0] }}</span>
102
+ {%- endif -%}
103
+ {%- if work.ISSN -%}. ISSN
104
+ <span itemprop="ISSN">{{ work.ISSN }}</span>
105
+ {%- endif -%}
106
+ {%- if work.DOI -%}.
107
+ <a itemprop="doi" href="http://dx.doi.org/{{ work.DOI }}">{{ work.DOI }}</a>
108
+ {%- elsif work.URL -%}.
109
+ <a itemprop="url" href="{{ work.URL }}">{{ work.URL }}</a>
110
+ {%- endif -%}
111
+ </li>
112
+ {% endfor %}
113
+ </ol>
114
+ <!--: vim: set ft=liquid shiftwidth=2 tabstop=2 expandtab foldmethod=indent : -->