Fetches publications from HAL
Version: 0.1.2
Author: Nicolas Cedilnik
View all tags.
A plugin for Lektor that uses the HAL API to easily maintain an up-to-date list of publications on a static website.
HAL is an open archive where authors can deposit scholarly documents from all academic fields.
Add lektor-hal to the [packages] section of your .lektorproject file.
In ./configs/hal.ini, the query field must be specified, following to the
HAL docs
Example:
query = ((authIdHal_s:my-id-hal) OR (authFullName_s:"My Name"))
<ul class="publications" id="publications">
  {% for publi in hal_publications %}
  <li>
    <a href={{ publi.link }}>{{ publi.title }}</a>
    @
    {{ publi.where }} -
    {{ publi.authors|join(', ') }}
    ({{ publi.date }})
  </li>
  {% endfor %}
</ul>
Two global variables are available in your jinja template, hal_publications and
hal_request.
hal_publicationsA list of Publications, a dataclass with the following attributes:
raw: A dict containing everything about this publication returned by the
HAL API.title: The title of the publicationhal_id: The HAL ID of the publicationauthors: A list of strings (author names)date: A string (producedDate_s)type: The publication type, eg "ART", "COMM", "POSTER", etc/and properties:
link: URL pointing to the HAL resourcewhere: returns where the article was published (journalTitle_s or conferenceTitle_s
if missing)hal_requestURL used for the HAL API request.
Lektor will not 'know' that the page must be rebuilt when new entries are returned by the HAL API request. As a workaround, the plugin allows to mark any page as "dirty", so it is rebuilt everytime. Add this to the template that uses the publications list:
{{ volatile() }}