v0.7 du portfolio de Léa

This commit is contained in:
root 2021-12-31 12:44:26 +01:00
commit fd47e2d6a5
912 changed files with 74002 additions and 0 deletions

0
.hugo_build.lock Normal file
View File

6
archetypes/default.md Normal file
View File

@ -0,0 +1,6 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---

View File

@ -0,0 +1,70 @@
# Configuration of Academia
# Documentation: https://sourcethemes.com/academic/
#
# This file is formatted using TOML syntax - learn more at https://learnxinyminutes.com/docs/toml/
# Each configuration section is defined by a name in square brackets (e.g. `[outputs]`).
# Title of your site
title = "Léa Jean"
####################################################################"
#ATTENTION : SE REFERER AU FICHIER DE CONF /etc/apache2/sites-available/redmine-ssl.conf SUR LE SERVEUR DU FABLAB
baseURL = "/portfolios/lea-jean/"
######################################################################
# Enter a copyright notice to display in the site footer.
# To display a copyright symbol, type `©`. For current year, type `{year}`.
copyright = ""
# Enable analytics by entering your Google Analytics tracking ID
googleAnalytics = ""
# Enable comments by entering your Disqus shortname
disqusShortname = ""
############################
## Advanced options below ##
############################
# Name of Academia theme folder in `themes/`.
theme = "academia-hugo"
# Get last modified date for content from Git?
enableGitInfo = false
# Default language to use (if you setup multilingual support)
defaultContentLanguage = "en"
hasCJKLanguage = false # Set `true` for Chinese/Japanese/Korean languages.
defaultContentLanguageInSubdir = false
removePathAccents = true # Workaround for https://github.com/gohugoio/hugo/issues/5687
paginate = 10 # Number of items per page in paginated lists.
enableEmoji = true
footnotereturnlinkcontents = "<sup>^</sup>"
ignoreFiles = ["\\.ipynb$", ".ipynb_checkpoints$", "\\.Rmd$", "\\.Rmarkdown$", "_files$", "_cache$"]
[outputs]
home = [ "HTML", "RSS", "JSON" ]
section = [ "HTML", "RSS" ]
# Configure BlackFriday Markdown rendering.
# See: https://gohugo.io/getting-started/configuration/#configure-blackfriday
[blackfriday]
hrefTargetBlank = true # `true` opens external links in a new tab. See https://github.com/gohugoio/hugo/issues/2424
angledQuotes = false
latexDashes = true
extensions = ["backslashLineBreak"]
[imaging]
resampleFilter = "lanczos"
quality = 90
anchor = "smart" # Anchor for cropping. Options include Smart and Center.
# Taxonomies.
[taxonomies]
tag = "tags"
category = "categories"
publication_type = "publication_types"
author = "authors"

View File

@ -0,0 +1,20 @@
# Languages
# Create a `[X]` block for each language you want, where X is the language ID.
# Refer to https://sourcethemes.com/academic/docs/language/
# Configure the English version of the site.
[en]
languageCode = "en-us"
# contentDir = "content/en" # Uncomment for multi-lingual sites, and move English content into `en` sub-folder.
# Uncomment the lines below to configure your website in a second language.
#[zh]
# languageCode = "zh-Hans"
# contentDir = "content/zh"
# title = "Chinese website title..."
# [zh.params]
# description = "Site description in Chinese..."
# [[zh.menu.main]]
# name = "Wo"
# url = "#about"
# weight = 1

View File

@ -0,0 +1,42 @@
# Navigation Links
# To link a homepage widget, specify the URL as a hash `#` followed by the filename of the
# desired widget in your `content/home/` folder.
# The weight parameter defines the order that the links will appear in.
[[main]]
name = "Accueil"
url = "#hero"
weight = 10
[[main]]
name = "Parcours"
url = "#experience"
weight = 20
[[main]]
name = "Compétences"
url = "#skills"
weight = 30
[[main]]
name = "Réalisations"
url = "#projects"
weight = 40
[[main]]
name = "But"
url = "#about"
weight = 50
[[main]]
name = "Contact"
url = "#contact"
weight = 60
# Link to a PDF of your resume/CV from the menu.
# To enable, copy your resume/CV to `static/files/cv.pdf` and uncomment the lines below.
# [[main]]
# name = "CV"
# url = "files/cv.pdf"
# weight = 70

164
config/_default/params.toml Normal file
View File

@ -0,0 +1,164 @@
# SITE SETUP
# Documentation: https://sourcethemes.com/academic/
# marketing
microsoft_clarity = ""
# Color theme.
# Choose from `default`, `ocean`, `forest`, `dark`, `apogee`, `1950s`, `coffee`, `cupcake`, `strawberry`.
color_theme = "default"
# Enable users to switch between day and night mode?
day_night = true
# Font style.
# Choose from `default`, `classic`, or `playfair`.
font = "classic"
# Description for social sharing and search engines. If undefined, superuser role is used in place.
description = ""
# Default image for social sharing and search engines. Place image in `static/img/` folder and specify image name here.
sharing_image = ""
# Twitter username (without @). Used when a vistor shares your site on Twitter.
twitter = ""
# Diplay a logo in navigation bar rather than title (optional).
# To enable, place an image in `static/img/` and reference its filename below. To disable, set the value to "".
logo = ""
# Enable global source code highlighting? true/false
# Documentation: https://sourcethemes.com/academic/docs/writing-markdown-latex/#highlighting-options
highlight = true
# highlight_languages = ["r"] # Add support for highlighting additional languages
# highlight_style = "github" # For supported styles, see https://cdnjs.com/libraries/highlight.js/
# Enable global LaTeX math rendering?
# If false, you can enable it locally on a per page basis.
math = false
# Privacy pack
# Show a cookie consent message to visitors
# Anonymize IP in Google Analytics (if enabled)
privacy_pack = false
# Date and time format (refer to https://sourcethemes.com/academic/docs/customization/#date-format )
# Examples: "Mon, Jan 2, 2006" or "2006-01-02"
date_format = "02-01-2006"
# Examples: "3:04 pm" or "15:04"
time_format = "15:04"
############################
## Contact Widget setup ##
############################
# Enter contact details (optional). To hide a field, clear it to "".
email = "leajean2001@gmail.com"
phone = "06 11 11 11 11"
address = "Talence, Bordeaux Métropole"
# Office hours: use `<br>` to insert a line break, or set to "" to remove office hours
office_hours = """"""
# Enter an optional link for booking appointments (e.g. calendly.com).
appointment_url = ""
# Contact links
# Set to `[]` to disable, or comment out unwanted lines with a hash `#`.
contact_links = [
{icon = "twitter", icon_pack = "fab", name = "DM Me", link = "https://twitter.com/Twitter"},
{icon = "skype", icon_pack = "fab", name = "Skype Me", link = "skype:echo123?call"},
{icon = "keybase", icon_pack = "fab", name = "Chat on Keybase", link = "https://keybase.io/"},
{icon = "comments", icon_pack = "fas", name = "Discuss on Forum", link = "https://discourse.gohugo.io"},
# {icon = "telegram", icon_pack = "fab", name = "Telegram Me", link = "https://telegram.me/@Telegram"},
]
# Display a map.
# To show your address on a map in the contact widget, you need to enter your latitude, longitude and choose
# a map provider below.
# To use Google Maps, set `map = 1` and enter your API key that can be obtained here:
# https://developers.google.com/maps/documentation/javascript/get-api-key
# To use OpenStreetMap tiles, set `map = 2`.
# To use OpenStreetMap on a high traffic site, set `map = 3` and enter your API key that can be obtained here:
# https://www.mapbox.com/studio/account/tokens
# To get your coordinates, right-click on Google Maps and choose "What's here?". The coords will show up at the bottom.
#
# Map provider:
# 0: No map
# 1: Google Maps
# 2: OpenStreetMap (Mapnik)
# 3: OpenStreetMap (Mapbox)
map = 2
map_api_key = "AIzaSyBu5nZKbeK-WHQ70oqOWo-_4VmwOwKP9YQ"
latitude = "44.79115"
longitude = "-0.60842"
zoom = 15
############################
## Plugins ##
############################
# Load CSS and JS plugins
# E.g. To load `/assets/css/custom.css`, set `plugins_css = ["custom"]`.
# E.g. To load `/assets/js/custom.js`, set `plugins_js = ["custom"]`.
plugins_css = []
plugins_js = []
############################
## Advanced options ##
############################
# Get user avatars from Gravatar.com? (true/false)
gravatar = false
# Align the main menu to the right of the page? (true/false)
menu_align_right = true
# Show estimated reading time for posts? (true/false)
reading_time = true
# Display comment count (if commenting enabled in config.toml)? (true/false)
comment_count = true
# Display next/previous section pager? (true/false)
section_pager = false
docs_section_pager = true # Display pager in Docs layout (e.g. tutorials)?
# Enable in-built social sharing buttons? (true/false)
sharing = true
# Configuration of publication pages.
[publications]
# Date format (refer to https://sourcethemes.com/academic/docs/customization/#date-format )
# Examples: "Mon, Jan 2, 2006" or "2006-01-02"
date_format = "January 2006"
# Citation style ("apa" or "mla")
citation_style = "apa"
# Configuration of project pages.
[projects]
# Views for associated content.
# 1: List
# 2: Compact
# 3: Card
# 4: Citation (publications only)
post_view = 3
publication_view = 3
talk_view = 2
# Search.
[search]
# Search provider:
# 0: No search engine
# 1: academia (built-in)
# 2: Algolia (https://www.algolia.com)
engine = 0
# Configuration of Algolia search engine.
# Paste the values from your Algolia dashboard.
[search.algolia]
app_id = ""
api_key = ""
index_name = ""
show_logo = false

View File

@ -0,0 +1,78 @@
---
# Display name
name: Léa Jean
avatar_image: "Avatar"
# Username (this should match the folder name)
authors:
- admin
# resume download button
## btn:
## - url : "https://sourcethemes.com/academic/docs/install/"
## label : "Download Resume"
# Is this the primary user of the site?
superuser: true
# Role/position
role: Etudiante en Service Civique
# Organizations/Affiliations
organizations:
- name: Fablab Coh@bit (IUT, Bordeaux III)
url: ""
# Short bio (displayed in user profile at end of posts)
bio:
# Should the user's education and interests be displayed?
display_education: false
interests:
- Conception et Fabrication numérique
education:
courses:
- course: PhD in Artificial Intelligence
institution: Stanford University
year: 2012
- course: MEng in Artificial Intelligence
institution: Massachusetts Institute of Technology
year: 2009
- course: BSc in Artificial Intelligence
institution: Massachusetts Institute of Technology
year: 2008
# Social/academia Networking
# For available icons, see: https://sourcethemes.com/academic/docs/widgets/#icons
# For an email link, use "fas" icon pack, "envelope" icon, and a link in the
# form "mailto:your-email@example.com" or "#contact" for contact widget.
social:
- icon: envelope
icon_pack: fas
link: '#contact' # For a direct email link, use "mailto:test@example.org".
- icon: github
icon_pack: fab
link: https://github.com/gcushen
# Link to a PDF of your resume/CV from the About widget.
# To enable, copy your resume/CV to `static/files/cv.pdf` and uncomment the lines below.
# - icon: cv
# icon_pack: ai
# link: files/cv.pdf
# Enter email to display Gravatar (if Gravatar enabled in Config)
email: ""
# Organizational groups that you belong to (for People widget)
# Set this to `[]` or comment out if you are not using People widget.
user_groups:
- Researchers
- Visitors
---
Comment je m'imagine avoir évolué dans mon métier dans 10 ans ?
......
......
......
Disponible pour un RDV ou un entretien à partir du 1er février 2022.

12
content/home/about.md Normal file
View File

@ -0,0 +1,12 @@
+++
# About widget.
widget = "about" # See https://sourcethemes.com/academic/docs/page-builder/
headless = true # This file represents a page section.
active = true # Activate this widget? true/false
weight = 50 # Order that this section will appear in.
# Choose the user profile to display
# This should be the username of a profile in your `content/authors/` folder.
# See https://sourcethemes.com/academic/docs/get-started/#introduce-yourself
author = "admin"
avatar_image= ""
+++

20
content/home/contact.md Normal file
View File

@ -0,0 +1,20 @@
+++
# Contact widget.
widget = "contact" # See https://sourcethemes.com/academic/docs/page-builder/
headless = true # This file represents a page section.
active = true # Activate this widget? true/false
weight = 60 # Order that this section will appear.
title = "Contact"
subtitle = "Joignable sur leajean2001@gmail.com ou via ce formulaire"
# Automatically link email and phone?
autolink = true
# Email form provider
# 0: Disable email form
# 1: Netlify (requires that the site is hosted by Netlify)
# 2: formspree.io
email_form = 2
+++

View File

@ -0,0 +1,46 @@
+++
# Experience widget.
widget = "experience" # See https://sourcethemes.com/academic/docs/page-builder/
headless = true # This file represents a page section.
active = true # Activate this widget? true/false
weight = 20 # Order that this section will appear.
title = "Parcours"
subtitle = "GRANDES ÉTAPES DE MA FORMATION"
# Date format for experience
# Refer to https://sourcethemes.com/academic/docs/customization/#date-format
date_format = "01/2006"
# Experiences.
# Add/remove as many `[[experience]]` blocks below as you like.
# Required fields are `title`, `company`, and `date_start`.
# Leave `date_end` empty if it's your current employer.
# Begin/end multi-line descriptions with 3 quotes `"""`.
[[experience]]
title = "Stagiaire en Service Civique"
company = "Fablab Coh@bit (IUT - Université Bordeaux III)"
company_url = ""
location = "Bordeaux Métropole"
date_start = "2021-07-01"
date_end = ""
description = """
De la co-conception à la fabrication de prototypes et de produits en petites séries, avec un fort caractère numérique :
* Impression 3D (CAO avec Freecad, imprimantes XX et YY)
* Découpeuse laser (vectorisation avec Inkscape, Trottec 3000)
* Fraiseuse numérique (CAO avec Freecad, modèle de fraiseuse ZZ)
* Scanner 3D
"""
[[experience]]
title = "Étudiante en IUT Génie Mécanique"
company = "Université Bordeaux III"
company_url = ""
location = "Bordeaux Métropole"
date_start = "2019-09-01"
date_end = "2022-01-01"
description = """Études en Génie Mécanique.
* Disciplines associées : Électronique.
"""
+++

48
content/home/hero.md Normal file
View File

@ -0,0 +1,48 @@
+++
# Hero widget.
widget = "hero" # See https://sourcethemes.com/academic/docs/page-builder/
headless = true # This file represents a page section.
active = true # Activate this widget? true/false
weight = 10 # Order that this section will appear.
title = "Academia"
# Hero image (optional). Enter filename of an image in the `static/img/` folder.
hero_media = "photo-de-profil.jpg"
[design.background]
# Apply a background color, gradient, or image.
# Uncomment (by removing `#`) an option to apply it.
# Choose a light or dark text color by setting `text_color_light`.
# Any HTML color name or Hex value is valid.
# Background color.
color = "#fff"
# Background gradient.
# gradient_start = "#4bb4e3"
# gradient_end = "#000"
# Background image.
# image = "" # Name of image in `static/img/`.
# image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque.
# Text color (true=light or false=dark).
text_color_light = false
# Call to action links (optional).
# Display link(s) by specifying a URL and label below. Icon is optional for `[cta]`.
# Remove a link/note by deleting a cta/note block.
[btn]
url = "/authors/admin"
label = "Lire mon CV"
[btn_alt]
url = "#contact"
label = "Me contacter"
+++
## **Etudiante** titulaire d'un DUT Génie Mécanique, je me suis spécialisée en **Conception et Fabrication Numérique**
En passe d'achever ma première expérience professionnelle, au sein du Fablab Coh@bit porté par l'IUT de Gradignan et l'Université de Bordeaux III, je recherche un poste en France à partir de Février 2022, en cohérence avec mes compétences et mes aspirations.

5
content/home/index.md Normal file
View File

@ -0,0 +1,5 @@
+++
# Homepage
type = "widget_page"
headless = true # Homepage is headless, other widget pages are not.
+++

81
content/home/projects.md Normal file
View File

@ -0,0 +1,81 @@
+++
# A Projects section created with the Portfolio widget.
widget = "portfolio" # See https://sourcethemes.com/academic/docs/page-builder/
headless = true # This file represents a page section.
active = true # Activate this widget? true/false
weight = 40 # Order that this section will appear.
title = "Réalisations"
subtitle = "PRINCIPAUX PROJETS MENÉS AU FABLAB COH@BIT, AVEC LEURS DOCUMENTATIONS"
[content]
# Page type to display. E.g. project.
page_type = "project"
# Filter toolbar (optional).
# Add or remove as many filters (`[[content.filter_button]]` instances) as you like.
# To show all items, set `tag` to "*".
# To filter by a specific tag, set `tag` to an existing tag name.
# To remove toolbar, delete/comment all instances of `[[content.filter_button]]` below.
# Default filter index (e.g. 0 corresponds to the first `[[filter_button]]` instance below).
filter_default = 0
[[content.filter_button]]
name = "Toutes"
tag = "*"
[[content.filter_button]]
name = "Impression 3D"
tag = "impression-3D"
[[content.filter_button]]
name = "Découpe Laser"
tag = "decoupeuse-laser"
[[content.filter_button]]
name = "Fraisage numérique"
tag = "fraiseuse-numerique"
[design]
# Choose how many columns the section has. Valid values: 1 or 2.
columns = "2"
# Toggle between the various page layout types.
# 1 = List
# 3 = Card
# 5 = Showcase
view = 3
# For Showcase view, flip alternate rows?
flip_alt_rows = false
[design.background]
# Apply a background color, gradient, or image.
# Uncomment (by removing `#`) an option to apply it.
# Choose a light or dark text color by setting `text_color_light`.
# Any HTML color name or Hex value is valid.
# Background color.
# color = "navy"
# Background gradient.
# gradient_start = "DeepSkyBlue"
# gradient_end = "SkyBlue"
# Background image.
# image = "background.jpg" # Name of image in `static/img/`.
# image_darken = 0.6 # Darken the image? Range 0-1 where 0 is transparent and 1 is opaque.
# Text color (true=light or false=dark).
# text_color_light = true
[advanced]
# Custom CSS.
css_style = ""
# CSS class.
css_class = ""
+++

41
content/home/skills.md Normal file
View File

@ -0,0 +1,41 @@
+++
# A Skills section created with the Featurette widget.
widget = "featurette" # See https://sourcethemes.com/academic/docs/page-builder/
headless = true # This file represents a page section.
active = true # Activate this widget? true/false
weight = 30 # Order that this section will appear.
title = "Compétences"
subtitle = "PRINCIPALES COMPÉTENCES TECHNIQUES"
# Showcase personal skills or business features.
#
# Add/remove as many `[[feature]]` blocks below as you like.
#
# For available icons, see: https://sourcethemes.com/academic/docs/widgets/#icons
[[feature]]
icon = "searchengin"
icon_pack = "fab"
name = "Lire et questionner un cahier des charges"
parcent = "90%"
[[feature]]
icon = "user-secret"
icon_pack = "fas"
name = "Choisir les solutions techniques les mieux adaptées aux contraintes de réalisation"
parcent = "60%"
[[feature]]
icon = "chart-line"
icon_pack = "fas"
name = "Mettre en œuvre les outils métiers pour produire une solution complexe optimale"
parcent = "65%"
[[feature]]
icon = "camera-retro"
icon_pack = "fas"
name = "Élaborer un dossier technique exhaustif pour des pièces/systèmes complexes"
parcent = "85%"
+++

13
content/privacy.md Normal file
View File

@ -0,0 +1,13 @@
---
title: Privacy Policy
date: "2018-06-28T00:00:00+01:00"
draft: true
share: false
# Optional header image (relative to `static/img/` folder).
header:
caption: ""
image: ""
---
...

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

View File

@ -0,0 +1,14 @@
---
title: Découpeuse laser
summary: Lorem ipsum dolor sit amet consectetur adipisicing elit. Magnam, eius.
tags:
- decoupeuse-laser
date: "2021-10-01T00:00:00Z"
# Optional external URL for project (replaces project detail page).
external_link:
image:
caption:
focal_point:
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 MiB

View File

@ -0,0 +1,14 @@
---
title: Fraiseuse numérique
summary: Lorem ipsum dolor sit amet consectetur adipisicing elit. Magnam, eius.
tags:
- fraiseuse-numerique
date: "2021-12-01T00:00:00Z"
# Optional external URL for project (replaces project detail page).
external_link:
image:
caption:
focal_point:
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 MiB

View File

@ -0,0 +1,14 @@
---
title: Impression 3D
summary: Lorem ipsum dolor sit amet consectetur adipisicing elit. Magnam, eius.
tags:
- impression-3D
date: "2021-09-01T00:00:00Z"
# Optional external URL for project (replaces project detail page).
external_link:
image:
caption:
focal_point:
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

View File

@ -0,0 +1,14 @@
---
title: Scanner 3D
summary: Lorem ipsum dolor sit amet consectetur adipisicing elit. Magnam, eius.
tags:
- fraiseuse-numerique
date: "2021-12-01T00:00:00Z"
# Optional external URL for project (replaces project detail page).
external_link:
image:
caption:
focal_point:
---

130
i18n/ca.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Barra de navegació
- id: table_of_contents
translation: Index
- id: on_this_page
translation: On this page
- id: back_to_top
translation: Back to top
- id: related
translation: Relacionat
- id: minute_read
translation: min de lectura
- id: previous
translation: Anterior
- id: next
translation: Següent
- id: figure
translation: 'Figura %d:'
- id: btn_preprint
translation: Preimpresió
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Cita
- id: btn_slides
translation: Diapositives
- id: btn_video
translation: Vídeo
- id: btn_code
translation: Códi
- id: btn_dataset
translation: Dades
- id: btn_project
translation: Projecte
- id: btn_poster
translation: Poster
- id: btn_source
translation: Font
- id: btn_copy
translation: Copia
- id: btn_download
translation: Baixa
- id: interests
translation: Interessos
- id: education
translation: Educació
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: See certificate
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: Més entrades
- id: more_talks
translation: Més xerrades
- id: more_publications
translation: Més publicacions
- id: contact_name
translation: Name
- id: contact_email
translation: Email
- id: contact_message
translation: Message
- id: contact_send
translation: Send
- id: book_appointment
translation: Book an appointment
- id: abstract
translation: Resum
- id: publication
translation: Publicació
- id: publication_type
translation: Tipus
- id: date
translation: Data
- id: last_updated
translation: Última actualizació el
- id: event
translation: Event
- id: location
translation: Ubicació
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Obre el lloc del web del projecte
- id: posts
translation: Entrada
- id: publications
translation: Publicació
- id: talks
translation: Conferència
- id: projects
translation: Projectes
- id: search
translation: Search
- id: search_placeholder
translation: Search...
- id: search_results
translation: results found
- id: search_no_results
translation: No results found
- id: page_not_found
translation: No s'ha trobat la pàgina
- id: 404_recommendations
translation: Buscaves alguna d'aquestes?
- id: cookie_message
translation: Aquet lloc web fa servir cookies per garantitzar una millor experiència.
- id: cookie_dismiss
translation: D'acord
- id: cookie_learn
translation: Més informació

130
i18n/da.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Vis/skjul navigation
- id: table_of_contents
translation: Indholdsfortegnelse
- id: on_this_page
translation: På denne side
- id: back_to_top
translation: Til toppen
- id: related
translation: Relaterede
- id: minute_read
translation: min læsning
- id: previous
translation: Forrige
- id: next
translation: Næste
- id: figure
translation: 'Figur %d:'
- id: btn_preprint
translation: Eksempel
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Citer
- id: btn_slides
translation: Præsentation
- id: btn_video
translation: Video
- id: btn_code
translation: Kode
- id: btn_dataset
translation: Datasæt
- id: btn_project
translation: Projekt
- id: btn_poster
translation: Plakat
- id: btn_source
translation: Kilde kode
- id: btn_copy
translation: Kopier
- id: btn_download
translation: Download
- id: interests
translation: Interesser
- id: education
translation: Uddannelse
- id: user_profile_latest
translation: Seneste
- id: see_certificate
translation: Certifikat
- id: present
translation: Nuværende
- id: more_pages
translation: Se alle
- id: more_posts
translation: Se alle indlæg
- id: more_talks
translation: Se alle foredrag
- id: more_publications
translation: Se alle udgivelser
- id: contact_name
translation: Navn
- id: contact_email
translation: Email
- id: contact_message
translation: Besked
- id: contact_send
translation: Send
- id: book_appointment
translation: Reserver en aftale
- id: abstract
translation: Abstrakt
- id: publication
translation: Udgivelse
- id: publication_type
translation: Type
- id: date
translation: Dato
- id: last_updated
translation: Sidst opdateret
- id: event
translation: Begivenhed
- id: location
translation: Lokation
- id: pub_uncat
translation: Ikke katagoriseret
- id: pub_conf
translation: Konference artikel
- id: pub_journal
translation: Videnskablig artikel
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Rapport
- id: pub_book
translation: Bog
- id: pub_book_section
translation: Bøger
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Gå til projekt side
- id: posts
translation: Indlæg
- id: publications
translation: Udgivelser
- id: talks
translation: Foredrag
- id: projects
translation: Projekter
- id: search
translation: Søg
- id: search_placeholder
translation: Søg...
- id: search_results
translation: resultater fundet
- id: search_no_results
translation: Ingen resultater fundet
- id: page_not_found
translation: Side blev ikke fundet
- id: 404_recommendations
translation: Måske du ledte efter dette?
- id: cookie_message
translation: Denne side benytter cookies for at sikre den bedste oplevelse.
- id: cookie_dismiss
translation: Accepter
- id: cookie_learn
translation: Læs mere

130
i18n/de.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Zur Navigation
- id: table_of_contents
translation: Inhaltsverzeichnis
- id: on_this_page
translation: Auf dieser Seite
- id: back_to_top
translation: Zurück zum Anfang
- id: related
translation: Ähnliches
- id: minute_read
translation: Min. Lektüre
- id: previous
translation: Zurück
- id: next
translation: Weiter
- id: figure
translation: 'Abbildung %d:'
- id: btn_preprint
translation: Preprint
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Zitieren
- id: btn_slides
translation: Folien
- id: btn_video
translation: Video
- id: btn_code
translation: Code
- id: btn_dataset
translation: Datensatz
- id: btn_project
translation: Projekt
- id: btn_poster
translation: Poster
- id: btn_source
translation: Quelldokument
- id: btn_copy
translation: Kopie
- id: btn_download
translation: Download
- id: interests
translation: Interessen
- id: education
translation: Bildung
- id: user_profile_latest
translation: Aktuellste
- id: see_certificate
translation: Zertifikat anzeigen
- id: present
translation: Aktuell
- id: more_pages
translation: Alle anzeigen
- id: more_posts
translation: Weitere Blogbeiträge
- id: more_talks
translation: Weitere Vorträge
- id: more_publications
translation: Weitere Publikationen
- id: contact_name
translation: Name
- id: contact_email
translation: E-Mail
- id: contact_message
translation: Nachricht
- id: contact_send
translation: Senden
- id: book_appointment
translation: Termin vereinbaren
- id: abstract
translation: Zusammenfassung
- id: publication
translation: Publikation
- id: publication_type
translation: Typ
- id: date
translation: Datum
- id: last_updated
translation: Zuletzt aktualisiert am
- id: event
translation: Veranstaltung
- id: location
translation: Ort
- id: pub_uncat
translation: Unkategorisiert
- id: pub_conf
translation: Konferenzpapier
- id: pub_journal
translation: Journalartikel
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Bericht
- id: pub_book
translation: Buch
- id: pub_book_section
translation: Buchkapitel
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Zur Projektseite
- id: posts
translation: Blog
- id: publications
translation: Publikationen
- id: talks
translation: Vorträge
- id: projects
translation: Projekte
- id: search
translation: Suche
- id: search_placeholder
translation: Suche...
- id: search_results
translation: Suchergebnisse
- id: search_no_results
translation: Nichts gefunden
- id: page_not_found
translation: Seite nicht gefunden
- id: 404_recommendations
translation: Suchen Sie vielleicht nach einer der folgenden Seiten?
- id: cookie_message
translation: Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies.
- id: cookie_dismiss
translation: Verstanden!
- id: cookie_learn
translation: Mehr erfahren

130
i18n/el.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Εναλλαγή πλοήγησης
- id: table_of_contents
translation: Πίνακας περιεχομένων
- id: on_this_page
translation: On this page
- id: back_to_top
translation: Back to top
- id: related
translation: Σχετικά
- id: minute_read
translation: λεπτά διαβάσματος
- id: previous
translation: Προηγούμενο
- id: next
translation: Επόμενο
- id: figure
translation: 'Figure %d:'
- id: btn_preprint
translation: Προ-δημοσίευση
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Βιβλιογραφική αναφορά
- id: btn_slides
translation: Διαφάνεια
- id: btn_video
translation: Βίντεο
- id: btn_code
translation: Κώδικας
- id: btn_dataset
translation: Δεδομένα
- id: btn_project
translation: Ερευνητικό πρόγραμμα
- id: btn_poster
translation: Ανακοίνωση συνεδρίου
- id: btn_source
translation: Πηγαίος κώδικας
- id: btn_copy
translation: Αντιγραφή
- id: btn_download
translation: Λήψη
- id: interests
translation: Ενδιαφέροντα
- id: education
translation: Εκπαίδευση
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: See certificate
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: Περισσότερες αναρτήσεις
- id: more_talks
translation: Περισσότερες ομιλίες
- id: more_publications
translation: Περισσότερες δημοσιεύσεις
- id: contact_name
translation: Name
- id: contact_email
translation: Email
- id: contact_message
translation: Message
- id: contact_send
translation: Send
- id: book_appointment
translation: Book an appointment
- id: abstract
translation: Περίληψη
- id: publication
translation: Δημοσίευση
- id: publication_type
translation: Τύπος
- id: date
translation: Ημερομηνία
- id: last_updated
translation: Τελευταία ενημέρωση
- id: event
translation: Συμβάν
- id: location
translation: Τοποθεσία
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Προς ιστοσελίδα ερευνητικού προγράμματος
- id: posts
translation: Αναρτήσεις
- id: publications
translation: Δημοσιεύσεις
- id: talks
translation: Ομιλίες
- id: projects
translation: Ερευνητικά προγράμματα
- id: search
translation: Search
- id: search_placeholder
translation: Search...
- id: search_results
translation: results found
- id: search_no_results
translation: No results found
- id: page_not_found
translation: Η ιστοσελίδα δεν βρέθηκε
- id: 404_recommendations
translation: Μήπως ψάχνατε για μια από αυτές;
- id: cookie_message
translation: This website uses cookies to ensure you get the best experience on our website.
- id: cookie_dismiss
translation: Got it!
- id: cookie_learn
translation: Learn more

222
i18n/en.yaml Normal file
View File

@ -0,0 +1,222 @@
# Navigation
- id: toggle_navigation
translation: Toggle navigation
- id: table_of_contents
translation: Table of Contents
- id: on_this_page
translation: Contents
- id: back_to_top
translation: Back to top
# General
- id: related
translation: Related
- id: minute_read
translation: min read
- id: previous
translation: Previous
- id: next
translation: Next
- id: figure
translation: "Figure %d:"
# Buttons
- id: btn_preprint
translation: Preprint
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Cite
- id: btn_slides
translation: Slides
- id: btn_video
translation: Video
- id: btn_code
translation: Code
- id: btn_dataset
translation: Dataset
- id: btn_project
translation: Project
- id: btn_poster
translation: Poster
- id: btn_source
translation: Source Document
- id: btn_copy
translation: Copy
- id: btn_download
translation: Download
# About widget
- id: interests
translation: Interests
- id: education
translation: Education
- id: user_profile_latest
translation: Latest
# Accomplishments widget
- id: see_certificate
translation: See certificate
# Experience widget
- id: present
translation: Present
# Pages widget
- id: more_pages
translation: See all
- id: more_posts
translation: See all posts
- id: more_talks
translation: See all talks
- id: more_publications
translation: See all publications
# Contact widget
- id: contact_name
translation: votre Nom
- id: contact_email
translation: votre Email
- id: contact_message
translation: votre Message
- id: contact_send
translation: Envoyer
- id: book_appointment
translation: Book an appointment
# Publication/Talk details
- id: abstract
translation: Abstract
- id: publication
translation: Publication
- id: publication_type
translation: Type
- id: date
translation: Date
- id: last_updated
translation: Last updated on
- id: event
translation: Event
- id: location
translation: Location
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
# Project details
- id: open_project_site
translation: Go to Project Site
# Default titles for archive pages
- id: posts
translation: Posts
- id: publications
translation: Publications
- id: talks
translation: Talks
- id: projects
translation: Projects
# Search
- id: search
translation: Search
- id: search_placeholder
translation: Search...
- id: search_results
translation: results found
- id: search_no_results
translation: No results found
# Error 404
- id: page_not_found
translation: Page not found
- id: 404_recommendations
translation: Perhaps you were looking for one of these?
# Cookie consent
- id: cookie_message
translation: This website uses cookies to ensure you get the best experience on our website.
- id: cookie_dismiss
translation: Got it!
- id: cookie_learn
translation: Learn more

130
i18n/es.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Barra de navegación
- id: table_of_contents
translation: Índice
- id: on_this_page
translation: En esta página
- id: back_to_top
translation: Regreso al inicio
- id: related
translation: Relacionado
- id: minute_read
translation: min de lectura
- id: previous
translation: Anterior
- id: next
translation: Siguiente
- id: figure
translation: 'Figura %d:'
- id: btn_preprint
translation: Prepublicación
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Citar
- id: btn_slides
translation: Diapositivas
- id: btn_video
translation: Vídeo
- id: btn_code
translation: Código fuente
- id: btn_dataset
translation: Datos
- id: btn_project
translation: Proyecto
- id: btn_poster
translation: Poster
- id: btn_source
translation: Documento fuente
- id: btn_copy
translation: Copiar
- id: btn_download
translation: Descargar
- id: interests
translation: Intereses
- id: education
translation: Educación
- id: user_profile_latest
translation: Recientes
- id: see_certificate
translation: Ver certificado
- id: present
translation: Actualmente
- id: more_pages
translation: Ver todo
- id: more_posts
translation: Más posts
- id: more_talks
translation: Más charlas
- id: more_publications
translation: Más publicaciones
- id: contact_name
translation: Nombre
- id: contact_email
translation: Email
- id: contact_message
translation: Mensaje
- id: contact_send
translation: Enviar
- id: book_appointment
translation: Solicitar una cita
- id: abstract
translation: Resumen
- id: publication
translation: Publicación
- id: publication_type
translation: Tipo
- id: date
translation: Fecha
- id: last_updated
translation: Última actualización el
- id: event
translation: Evento
- id: location
translation: Localización
- id: pub_uncat
translation: Sin categoría
- id: pub_conf
translation: Artículo de conferencia
- id: pub_journal
translation: Artículo de revista
- id: pub_preprint
translation: Prepublicación
- id: pub_report
translation: Informe
- id: pub_book
translation: Libro
- id: pub_book_section
translation: Capítulo de libro
- id: pub_thesis
translation: Tesis
- id: pub_patent
translation: Patente
- id: open_project_site
translation: Ir al sitio del proyecto
- id: posts
translation: Posts
- id: publications
translation: Publicaciones
- id: talks
translation: Charlas
- id: projects
translation: Proyectos
- id: search
translation: Buscar
- id: search_placeholder
translation: Buscar...
- id: search_results
translation: resultados encontrados
- id: search_no_results
translation: No se encontraron resultados
- id: page_not_found
translation: Página no encontrada
- id: 404_recommendations
translation: ¿Buscabas una de éstas?
- id: cookie_message
translation: Este sitio web utiliza cookies para garantizarle una mejor experiencia.
- id: cookie_dismiss
translation: Entendido!
- id: cookie_learn
translation: Más información

130
i18n/eu.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Txandakatu nabigazioa
- id: table_of_contents
translation: Table of Contents
- id: on_this_page
translation: On this page
- id: back_to_top
translation: Back to top
- id: related
translation: Related
- id: minute_read
translation: min read
- id: previous
translation: Previous
- id: next
translation: Next
- id: figure
translation: 'Figure %d:'
- id: btn_preprint
translation: Preprint
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Cite
- id: btn_slides
translation: Diapositibak
- id: btn_video
translation: Bideoa
- id: btn_code
translation: Kodea
- id: btn_dataset
translation: Datu-sorta
- id: btn_project
translation: Proiektua
- id: btn_poster
translation: Poster
- id: btn_source
translation: Source Document
- id: btn_copy
translation: Copy
- id: btn_download
translation: Download
- id: interests
translation: Interesak
- id: education
translation: Ikasketak
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: See certificate
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: Bidalketa gehiago
- id: more_talks
translation: Hitzaldi gehiago
- id: more_publications
translation: Argitalpen gehiago
- id: contact_name
translation: Name
- id: contact_email
translation: Email
- id: contact_message
translation: Message
- id: contact_send
translation: Send
- id: book_appointment
translation: Book an appointment
- id: abstract
translation: Laburpena
- id: publication
translation: Non argitaratua
- id: publication_type
translation: Mota
- id: date
translation: Data
- id: last_updated
translation: Last updated on
- id: event
translation: Ekitaldia
- id: location
translation: Kokalekua
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Joan proiektuaren webgunera
- id: posts
translation: Bidalketak
- id: publications
translation: Argitalpenak
- id: talks
translation: Hitzaldiak
- id: projects
translation: Projects
- id: search
translation: Search
- id: search_placeholder
translation: Search...
- id: search_results
translation: results found
- id: search_no_results
translation: No results found
- id: page_not_found
translation: Page not found
- id: 404_recommendations
translation: Perhaps you were looking for one of these?
- id: cookie_message
translation: This website uses cookies to ensure you get the best experience on our website.
- id: cookie_dismiss
translation: Got it!
- id: cookie_learn
translation: Learn more

130
i18n/fr.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Ouvrir la barre de navigation
- id: table_of_contents
translation: Table des matières
- id: on_this_page
translation: Dans cette page
- id: back_to_top
translation: Retourner au début
- id: related
translation: Sur le même sujet
- id: minute_read
translation: min de lecture
- id: previous
translation: Précédent
- id: next
translation: Suivant
- id: figure
translation: 'Figure %d:'
- id: btn_preprint
translation: Preprint
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Citation
- id: btn_slides
translation: Diapositives
- id: btn_video
translation: Vidéo
- id: btn_code
translation: Code
- id: btn_dataset
translation: Jeu de données
- id: btn_project
translation: Projet
- id: btn_poster
translation: Poster
- id: btn_source
translation: Document source
- id: btn_copy
translation: Copier
- id: btn_download
translation: Télécharger
- id: interests
translation: Intérêts
- id: education
translation: Formation
- id: user_profile_latest
translation: Récents
- id: see_certificate
translation: Voir certificat
- id: present
translation: Actuellement
- id: more_pages
translation: Voir tout
- id: more_posts
translation: Plus de posts
- id: more_talks
translation: Plus de présentations
- id: more_publications
translation: Plus de publications
- id: contact_name
translation: Nom
- id: contact_email
translation: E-mail
- id: contact_message
translation: Message
- id: contact_send
translation: Envoyer
- id: book_appointment
translation: Demander un rendez-vous
- id: abstract
translation: Résumé
- id: publication
translation: Publication
- id: publication_type
translation: Type
- id: date
translation: Date
- id: last_updated
translation: Dernière mise à jour le
- id: event
translation: Évènement
- id: location
translation: Lieu
- id: pub_uncat
translation: Non catégorisé
- id: pub_conf
translation: Article de conférence
- id: pub_journal
translation: Article de revue
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Rapport
- id: pub_book
translation: Livre
- id: pub_book_section
translation: Chapitre de livre
- id: pub_thesis
translation: Thèse
- id: pub_patent
translation: Brevet
- id: open_project_site
translation: Aller sur le site du projet
- id: posts
translation: Posts
- id: publications
translation: Publications
- id: talks
translation: Présentations
- id: projects
translation: Projets
- id: search
translation: Rechercher
- id: search_placeholder
translation: Recherche...
- id: search_results
translation: Résultats trouvés
- id: search_no_results
translation: Aucun résultat n'a été trouvé
- id: page_not_found
translation: Page non disponible
- id: 404_recommendations
translation: Vous cherchiez peut-être une des pages suivantes ?
- id: cookie_message
translation: Ce site utilise des cookies pour vous assurer la meilleure expérience.
- id: cookie_dismiss
translation: Accepter
- id: cookie_learn
translation: En savoir plus

130
i18n/hu.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Navigáció
- id: table_of_contents
translation: Tartalomjegyzék
- id: on_this_page
translation: Ezen az oldalon
- id: back_to_top
translation: Vissza felülre
- id: related
translation: Kapcsolódó anyagok
- id: minute_read
translation: perc olvasás
- id: previous
translation: Előző
- id: next
translation: Következő
- id: figure
translation: '%d. ábra:'
- id: btn_preprint
translation: Megjelenés előtt
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Idézet
- id: btn_slides
translation: Diák
- id: btn_video
translation: Videó
- id: btn_code
translation: Kód
- id: btn_dataset
translation: Adatcsomag
- id: btn_project
translation: Projekt
- id: btn_poster
translation: Poszter
- id: btn_source
translation: Forrás dokumentum
- id: btn_copy
translation: Másolat
- id: btn_download
translation: Letöltés
- id: interests
translation: Érdeklődési terület
- id: education
translation: Tanulmányok
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: Lásd a bizonyítányt
- id: present
translation: Jelenleg
- id: more_pages
translation: See all
- id: more_posts
translation: További posztok
- id: more_talks
translation: Előadások
- id: more_publications
translation: További publikációk
- id: contact_name
translation: Név
- id: contact_email
translation: Email
- id: contact_message
translation: Üzenet
- id: contact_send
translation: Elküldés
- id: book_appointment
translation: Időpont kérése
- id: abstract
translation: Kivonat
- id: publication
translation: Publikáció
- id: publication_type
translation: Típus
- id: date
translation: Dátum
- id: last_updated
translation: Utoljára frissítve
- id: event
translation: Esemény
- id: location
translation: Helyszín
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Tovább a projekt oldalára
- id: posts
translation: Posztok
- id: publications
translation: Publikációk
- id: talks
translation: Előadások
- id: projects
translation: Projektek
- id: search
translation: Keresés
- id: search_placeholder
translation: Keresés...
- id: search_results
translation: találat
- id: search_no_results
translation: Nincsen találat
- id: page_not_found
translation: Az oldal nem található
- id: 404_recommendations
translation: Esetleg ezeket kereste?
- id: cookie_message
translation: Ez az oldal a legjobb felhasználói élmény érdekében sütiket használ.
- id: cookie_dismiss
translation: Rendben
- id: cookie_learn
translation: További információk

130
i18n/id.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Buka navigasi
- id: table_of_contents
translation: Daftar isi
- id: on_this_page
translation: On this page
- id: back_to_top
translation: Back to top
- id: related
translation: Terkait
- id: minute_read
translation: menit untuk membaca
- id: previous
translation: Sebelumnya
- id: next
translation: Selanjutnya
- id: figure
translation: 'Figure %d:'
- id: btn_preprint
translation: Pracetak
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Sitasi
- id: btn_slides
translation: Presentasi
- id: btn_video
translation: Video
- id: btn_code
translation: Skrip Kode
- id: btn_dataset
translation: Dataset
- id: btn_project
translation: Proyek
- id: btn_poster
translation: Poster
- id: btn_source
translation: Sumber dokumen
- id: btn_copy
translation: Salin
- id: btn_download
translation: Unduh
- id: interests
translation: Minat
- id: education
translation: Pendidikan
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: See certificate
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: Tulisan lainnya
- id: more_talks
translation: Presentasi lainnya
- id: more_publications
translation: Publikasi lainnya
- id: contact_name
translation: Name
- id: contact_email
translation: Email
- id: contact_message
translation: Message
- id: contact_send
translation: Send
- id: book_appointment
translation: Book an appointment
- id: abstract
translation: Abstrak
- id: publication
translation: Publikasi
- id: publication_type
translation: Jenis
- id: date
translation: Tanggal
- id: last_updated
translation: Terakhir diperbaharui
- id: event
translation: Acara
- id: location
translation: Lokasi
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Ke laman proyek
- id: posts
translation: Tulisan
- id: publications
translation: Publikasi
- id: talks
translation: Presentasi
- id: projects
translation: Proyek
- id: search
translation: Search
- id: search_placeholder
translation: Search...
- id: search_results
translation: results found
- id: search_no_results
translation: No results found
- id: page_not_found
translation: Laman tidak ditemukan
- id: 404_recommendations
translation: Apakah ini yang Anda cari?
- id: cookie_message
translation: This website uses cookies to ensure you get the best experience on our website.
- id: cookie_dismiss
translation: Got it!
- id: cookie_learn
translation: Learn more

130
i18n/it.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Attiva la navigazione
- id: table_of_contents
translation: Indice dei Contenuti
- id: on_this_page
translation: In questa pagina
- id: back_to_top
translation: Torna su
- id: related
translation: Correlato
- id: minute_read
translation: minuti
- id: previous
translation: Precedente
- id: next
translation: Prossimo
- id: figure
translation: 'Immagine %d:'
- id: btn_preprint
translation: Preprint
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Citazione
- id: btn_slides
translation: Slides
- id: btn_video
translation: Video
- id: btn_code
translation: Codice
- id: btn_dataset
translation: Dataset
- id: btn_project
translation: Progetti
- id: btn_poster
translation: Poster
- id: btn_source
translation: Sorgente
- id: btn_copy
translation: Copia
- id: btn_download
translation: Download
- id: interests
translation: Interessi
- id: education
translation: Formazione
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: Guarda il certificato
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: Altri Post
- id: more_talks
translation: Altre Conferenze
- id: more_publications
translation: Altre pubblicazioni
- id: contact_name
translation: Nome
- id: contact_email
translation: Email
- id: contact_message
translation: Messaggio
- id: contact_send
translation: Invio
- id: book_appointment
translation: Richiedi un appuntamento
- id: abstract
translation: Abstract
- id: publication
translation: Publicazione
- id: publication_type
translation: Tipo
- id: date
translation: Data
- id: last_updated
translation: Aggiornato il
- id: event
translation: Evento
- id: location
translation: Luogo
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Libro
- id: pub_book_section
translation: Sezione Libro
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Apri il sito del Progetto
- id: posts
translation: Post
- id: publications
translation: Pubblicazioni
- id: talks
translation: Conferenze
- id: projects
translation: Progetti
- id: search
translation: Cerca
- id: search_placeholder
translation: Cerca...
- id: search_results
translation: Risultati della ricerca
- id: search_no_results
translation: Nessun risultato
- id: page_not_found
translation: Pagina non trovata
- id: 404_recommendations
translation: Forse stavate carcando uno di questi?
- id: cookie_message
translation: Questo sito usa i cookies per garantire la migliore esperienza di navigazione.
- id: cookie_dismiss
translation: Ok!
- id: cookie_learn
translation: Leggi i dettagli

130
i18n/ja.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: ナビゲーションの切り替え
- id: table_of_contents
translation: 目次
- id: on_this_page
translation: On this page
- id: back_to_top
translation: Back to top
- id: related
translation: 関連項目
- id: minute_read
translation: 分で読める
- id: previous
translation: 前へ
- id: next
translation: 次へ
- id: figure
translation: '図 %d:'
- id: btn_preprint
translation: プレプリント
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: 引用
- id: btn_slides
translation: スライド
- id: btn_video
translation: 動画
- id: btn_code
translation: コード
- id: btn_dataset
translation: データセット
- id: btn_project
translation: プロジェクト
- id: btn_poster
translation: ポスター
- id: btn_source
translation: ソース
- id: btn_copy
translation: コピー
- id: btn_download
translation: ダウンロード
- id: interests
translation: 興味・関心
- id: education
translation: 学歴
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: See certificate
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: 投稿一覧
- id: more_talks
translation: 登壇一覧
- id: more_publications
translation: 発表文献一覧
- id: contact_name
translation: Name
- id: contact_email
translation: Email
- id: contact_message
translation: Message
- id: contact_send
translation: Send
- id: book_appointment
translation: Book an appointment
- id: abstract
translation: 概要
- id: publication
translation: 収録
- id: publication_type
translation: タイプ
- id: date
translation: 日付
- id: last_updated
translation: 最終更新
- id: event
translation: イベント
- id: location
translation: 場所
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: プロジェクトのサイトへ
- id: posts
translation: 投稿
- id: publications
translation: 発表文献
- id: talks
translation: 登壇
- id: projects
translation: プロジェクト
- id: search
translation: Search
- id: search_placeholder
translation: 検索...
- id: search_results
translation: results found
- id: search_no_results
translation: 結果が見つかりませんでした
- id: page_not_found
translation: ページが見つかりませんでした
- id: 404_recommendations
translation: あなたが探しているものはこれらの中にあるかもしれません
- id: cookie_message
translation: このウェブサイトはあなたが最高の体験を得るためにクッキーを使用します。
- id: cookie_dismiss
translation: はい
- id: cookie_learn
translation: 詳細を見る

130
i18n/ko.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: 네비게이션
- id: table_of_contents
translation: Table of Contents
- id: on_this_page
translation: On this page
- id: back_to_top
translation: Back to top
- id: related
translation: Related
- id: minute_read
translation: min read
- id: previous
translation: Previous
- id: next
translation: Next
- id: figure
translation: 'Figure %d:'
- id: btn_preprint
translation: Preprint
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Cite
- id: btn_slides
translation: 슬라이드
- id: btn_video
translation: 비디오
- id: btn_code
translation: 코드
- id: btn_dataset
translation: 데이터세트
- id: btn_project
translation: 프로젝트
- id: btn_poster
translation: Poster
- id: btn_source
translation: Source Document
- id: btn_copy
translation: Copy
- id: btn_download
translation: Download
- id: interests
translation: 관심분야
- id: education
translation: 교육
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: See certificate
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: 포스트 더 보기
- id: more_talks
translation: More Talks
- id: more_publications
translation: 논문 더 보기
- id: contact_name
translation: Name
- id: contact_email
translation: Email
- id: contact_message
translation: Message
- id: contact_send
translation: Send
- id: book_appointment
translation: Book an appointment
- id: abstract
translation: 초록
- id: publication
translation: 발행기관
- id: publication_type
translation: 출판 형태
- id: date
translation: 날짜
- id: last_updated
translation: Last updated on
- id: event
translation: 이벤트
- id: location
translation: 장소
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: 프로젝트 사이트로 가기
- id: posts
translation: 포스트
- id: publications
translation: 논문
- id: talks
translation: 강연
- id: projects
translation: Projects
- id: search
translation: Search
- id: search_placeholder
translation: Search...
- id: search_results
translation: results found
- id: search_no_results
translation: No results found
- id: page_not_found
translation: Page not found
- id: 404_recommendations
translation: Perhaps you were looking for one of these?
- id: cookie_message
translation: This website uses cookies to ensure you get the best experience on our website.
- id: cookie_dismiss
translation: Got it!
- id: cookie_learn
translation: Learn more

130
i18n/nl.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Navigatiebalk
- id: table_of_contents
translation: Table of Contents
- id: on_this_page
translation: On this page
- id: back_to_top
translation: Back to top
- id: related
translation: Related
- id: minute_read
translation: min read
- id: previous
translation: Previous
- id: next
translation: Next
- id: figure
translation: 'Figure %d:'
- id: btn_preprint
translation: Preprint
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Cite
- id: btn_slides
translation: Dia's
- id: btn_video
translation: Video
- id: btn_code
translation: Code
- id: btn_dataset
translation: Dataset
- id: btn_project
translation: Project
- id: btn_poster
translation: Poster
- id: btn_source
translation: Source Document
- id: btn_copy
translation: Copy
- id: btn_download
translation: Download
- id: interests
translation: Interesses
- id: education
translation: Educatie
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: See certificate
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: Meer Berichten
- id: more_talks
translation: Meer Presentaties
- id: more_publications
translation: Meer Publicaties
- id: contact_name
translation: Name
- id: contact_email
translation: Email
- id: contact_message
translation: Message
- id: contact_send
translation: Send
- id: book_appointment
translation: Book an appointment
- id: abstract
translation: Korte inhoud
- id: publication
translation: Publicatie
- id: publication_type
translation: Type
- id: date
translation: Datum
- id: last_updated
translation: Last updated on
- id: event
translation: Evenement
- id: location
translation: Locatie
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Ga naar Projecten pagina
- id: posts
translation: Berichten
- id: publications
translation: Publicaties
- id: talks
translation: Presentaties
- id: projects
translation: Projects
- id: search
translation: Search
- id: search_placeholder
translation: Search...
- id: search_results
translation: results found
- id: search_no_results
translation: No results found
- id: page_not_found
translation: Page not found
- id: 404_recommendations
translation: Perhaps you were looking for one of these?
- id: cookie_message
translation: This website uses cookies to ensure you get the best experience on our website.
- id: cookie_dismiss
translation: Got it!
- id: cookie_learn
translation: Learn more

130
i18n/pl.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Toggle navigation
- id: table_of_contents
translation: Spis treści
- id: on_this_page
translation: On this page
- id: back_to_top
translation: Back to top
- id: related
translation: Powiązane
- id: minute_read
translation: min czytania
- id: previous
translation: Previous
- id: next
translation: Next
- id: figure
translation: 'Figure %d:'
- id: btn_preprint
translation: Preprint
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Cite
- id: btn_slides
translation: Slajdy
- id: btn_video
translation: Video
- id: btn_code
translation: Kod
- id: btn_dataset
translation: Dane
- id: btn_project
translation: Projekt
- id: btn_poster
translation: Poster
- id: btn_source
translation: Source Document
- id: btn_copy
translation: Copy
- id: btn_download
translation: Download
- id: interests
translation: Zainteresowania
- id: education
translation: Wykształcenie
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: See certificate
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: Więcej postów
- id: more_talks
translation: Więcej wystąpień
- id: more_publications
translation: Więcej publikacji
- id: contact_name
translation: Name
- id: contact_email
translation: Email
- id: contact_message
translation: Message
- id: contact_send
translation: Send
- id: book_appointment
translation: Book an appointment
- id: abstract
translation: Streszczenie
- id: publication
translation: Publikacja
- id: publication_type
translation: Rodzaj
- id: date
translation: Data
- id: last_updated
translation: Ostatnia aktualizacja
- id: event
translation: Wydarzenie
- id: location
translation: Miejsce
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Idź do strony projektu
- id: posts
translation: Posty
- id: publications
translation: Publikacje
- id: talks
translation: Wystąpienia
- id: projects
translation: Projects
- id: search
translation: Search
- id: search_placeholder
translation: Search...
- id: search_results
translation: results found
- id: search_no_results
translation: No results found
- id: page_not_found
translation: Page not found
- id: 404_recommendations
translation: Perhaps you were looking for one of these?
- id: cookie_message
translation: This website uses cookies to ensure you get the best experience on our website.
- id: cookie_dismiss
translation: Got it!
- id: cookie_learn
translation: Learn more

130
i18n/pt.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Alterar navegação
- id: table_of_contents
translation: Lista de Conteúdos
- id: on_this_page
translation: Nesta página
- id: back_to_top
translation: Voltar para o topo
- id: related
translation: Relacionados
- id: minute_read
translation: minutos de leitura
- id: previous
translation: Anterior
- id: next
translation: Próximo
- id: figure
translation: 'Figura %d:'
- id: btn_preprint
translation: Pré-impressão
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Citação
- id: btn_slides
translation: Slides
- id: btn_video
translation: Vídeo
- id: btn_code
translation: Código
- id: btn_dataset
translation: Dados
- id: btn_project
translation: Projeto
- id: btn_poster
translation: Pôster
- id: btn_source
translation: Documento Fonte
- id: btn_copy
translation: Copiar
- id: btn_download
translation: Download
- id: interests
translation: Interesses
- id: education
translation: Formação
- id: user_profile_latest
translation: Recentes
- id: see_certificate
translation: Ver certificado
- id: present
translation: Presente
- id: more_pages
translation: Ver todas
- id: more_posts
translation: Mais Posts
- id: more_talks
translation: Mais Palestras
- id: more_publications
translation: Mais Publicações
- id: contact_name
translation: Nome
- id: contact_email
translation: Email
- id: contact_message
translation: Mensagem
- id: contact_send
translation: Enviar
- id: book_appointment
translation: Agendar um horário
- id: abstract
translation: Resumo
- id: publication
translation: Publicação
- id: publication_type
translation: Tipo
- id: date
translation: Data
- id: last_updated
translation: Última atualização em
- id: event
translation: Evento
- id: location
translation: Local
- id: pub_uncat
translation: Sem categoria
- id: pub_conf
translation: Artigo de conferência
- id: pub_journal
translation: Artigo de revista
- id: pub_preprint
translation: Pré-impressão
- id: pub_report
translation: Relatório
- id: pub_book
translation: Livro
- id: pub_book_section
translation: Seção de livro
- id: pub_thesis
translation: Tese
- id: pub_patent
translation: Patente
- id: open_project_site
translation: Ir para o site do projeto
- id: posts
translation: Posts
- id: publications
translation: Publicações
- id: talks
translation: Palestras
- id: projects
translation: Projetos
- id: search
translation: Pesquisar
- id: search_placeholder
translation: Pesquisar...
- id: search_results
translation: Resultados encontrados
- id: search_no_results
translation: Sem resultados
- id: page_not_found
translation: Página não encontrada
- id: 404_recommendations
translation: Você está procurando por um desses?
- id: cookie_message
translation: Este site contém cookies para garantir que você tenha a melhor experência.
- id: cookie_dismiss
translation: Entendi!
- id: cookie_learn
translation: Saiba mais

130
i18n/ro.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Bara de navigare
- id: table_of_contents
translation: Indice
- id: on_this_page
translation: Pe această pagină
- id: back_to_top
translation: Înapoi la început
- id: related
translation: Înrudit
- id: minute_read
translation: min de citire
- id: previous
translation: Anterioară
- id: next
translation: Următor
- id: figure
translation: 'Imagine %d:'
- id: btn_preprint
translation: Preimprimare
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Citat
- id: btn_slides
translation: Diapozitive
- id: btn_video
translation: Vídeo
- id: btn_code
translation: Cod
- id: btn_dataset
translation: Date
- id: btn_project
translation: Proiect
- id: btn_poster
translation: Poster
- id: btn_source
translation: Sursa document
- id: btn_copy
translation: Copie
- id: btn_download
translation: Descărcare
- id: interests
translation: Interese
- id: education
translation: Educație
- id: user_profile_latest
translation: Recent
- id: see_certificate
translation: Vezi certificatul
- id: present
translation: În prezent
- id: more_pages
translation: Vezi tot
- id: more_posts
translation: Mai multe postări
- id: more_talks
translation: Mai multe discuții
- id: more_publications
translation: Mai multe publicații
- id: contact_name
translation: Nume
- id: contact_email
translation: Email
- id: contact_message
translation: Mesaj
- id: contact_send
translation: Trimiteți
- id: book_appointment
translation: Solicitați o întâlnire
- id: abstract
translation: Rezumat
- id: publication
translation: Publicație
- id: publication_type
translation: Tip
- id: date
translation: Data
- id: last_updated
translation: Ultima actualizare la
- id: event
translation: Eveniment
- id: location
translation: Localizare
- id: pub_uncat
translation: Fără categorie
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Articol jurnal
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Carte
- id: pub_book_section
translation: Secțiunea cărți
- id: pub_thesis
translation: Teza
- id: pub_patent
translation: Brevet de invenție
- id: open_project_site
translation: Accesați site-ul proiectului
- id: posts
translation: Articole
- id: publications
translation: Publicații
- id: talks
translation: Conferințe
- id: projects
translation: Proiecte
- id: search
translation: Căutare
- id: search_placeholder
translation: Căutare...
- id: search_results
translation: rezultate găsite
- id: search_no_results
translation: Nu s-au găsit rezultate
- id: page_not_found
translation: Pagina nu a fost găsită
- id: 404_recommendations
translation: Căutați una din acestea?
- id: cookie_message
translation: Acest site utilizează cookie-uri pentru a garanta o experiență mai bună.
- id: cookie_dismiss
translation: Înțeles!
- id: cookie_learn
translation: Mai multe informații

130
i18n/ru.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Переключить навигацию
- id: table_of_contents
translation: Table of Contents
- id: on_this_page
translation: On this page
- id: back_to_top
translation: Back to top
- id: related
translation: Related
- id: minute_read
translation: min read
- id: previous
translation: Previous
- id: next
translation: Next
- id: figure
translation: 'Figure %d:'
- id: btn_preprint
translation: Preprint
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Cite
- id: btn_slides
translation: Слайды
- id: btn_video
translation: Видео
- id: btn_code
translation: Код
- id: btn_dataset
translation: Набор данных
- id: btn_project
translation: Проект
- id: btn_poster
translation: Poster
- id: btn_source
translation: Source Document
- id: btn_copy
translation: Copy
- id: btn_download
translation: Download
- id: interests
translation: Интересы
- id: education
translation: Образование
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: See certificate
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: Больше статей
- id: more_talks
translation: Больше выступлений
- id: more_publications
translation: Больше публикаций
- id: contact_name
translation: Name
- id: contact_email
translation: Email
- id: contact_message
translation: Message
- id: contact_send
translation: Send
- id: book_appointment
translation: Book an appointment
- id: abstract
translation: Аннотация
- id: publication
translation: Публикация
- id: publication_type
translation: Тип
- id: date
translation: Дата
- id: last_updated
translation: Last updated on
- id: event
translation: Событие
- id: location
translation: Место
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Перейти на сайт проекта
- id: posts
translation: Статьи
- id: publications
translation: Публикации
- id: talks
translation: Выступления
- id: projects
translation: Projects
- id: search
translation: Search
- id: search_placeholder
translation: Search...
- id: search_results
translation: results found
- id: search_no_results
translation: No results found
- id: page_not_found
translation: Page not found
- id: 404_recommendations
translation: Perhaps you were looking for one of these?
- id: cookie_message
translation: This website uses cookies to ensure you get the best experience on our website.
- id: cookie_dismiss
translation: Got it!
- id: cookie_learn
translation: Learn more

130
i18n/tr.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Arayüz yönünü değiştir
- id: table_of_contents
translation: Table of Contents
- id: on_this_page
translation: On this page
- id: back_to_top
translation: Back to top
- id: related
translation: Related
- id: minute_read
translation: min read
- id: previous
translation: Previous
- id: next
translation: Next
- id: figure
translation: 'Figure %d:'
- id: btn_preprint
translation: Preprint
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Cite
- id: btn_slides
translation: Slaytlar
- id: btn_video
translation: Video
- id: btn_code
translation: Kod
- id: btn_dataset
translation: Veri kümesi
- id: btn_project
translation: Proje
- id: btn_poster
translation: Poster
- id: btn_source
translation: Source Document
- id: btn_copy
translation: Copy
- id: btn_download
translation: Download
- id: interests
translation: İlgi alanları
- id: education
translation: Eğitim
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: See certificate
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: Daha fazla blog içeriği
- id: more_talks
translation: Daha fazla konuşma
- id: more_publications
translation: Daha fazla yayınlar
- id: contact_name
translation: Name
- id: contact_email
translation: Email
- id: contact_message
translation: Message
- id: contact_send
translation: Send
- id: book_appointment
translation: Book an appointment
- id: abstract
translation: Özet
- id: publication
translation: Yayın
- id: publication_type
translation: Yayın tipi
- id: date
translation: Tarih
- id: last_updated
translation: Last updated on
- id: event
translation: Etkinlikler
- id: location
translation: Adres
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Projenin sayfasına git
- id: posts
translation: Blog içerikleri
- id: publications
translation: Yayınlar
- id: talks
translation: Konuşmalar
- id: projects
translation: Projects
- id: search
translation: Search
- id: search_placeholder
translation: Search...
- id: search_results
translation: results found
- id: search_no_results
translation: No results found
- id: page_not_found
translation: Page not found
- id: 404_recommendations
translation: Perhaps you were looking for one of these?
- id: cookie_message
translation: This website uses cookies to ensure you get the best experience on our website.
- id: cookie_dismiss
translation: Got it!
- id: cookie_learn
translation: Learn more

130
i18n/vi.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: Chuyển Điều Hướng
- id: table_of_contents
translation: Mục Lục
- id: on_this_page
translation: On this page
- id: back_to_top
translation: Back to top
- id: related
translation: Bài Liên Quan
- id: minute_read
translation: phút để đọc
- id: previous
translation: Trước
- id: next
translation: Sau
- id: figure
translation: 'Figure %d:'
- id: btn_preprint
translation: Bản Thảo
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: Trích Dẫn
- id: btn_slides
translation: Slides
- id: btn_video
translation: Video
- id: btn_code
translation: Mã Nguồn
- id: btn_dataset
translation: Dữ liệu
- id: btn_project
translation: Dự Án
- id: btn_poster
translation: Poster
- id: btn_source
translation: Mã Nguồn
- id: btn_copy
translation: Sao Chép
- id: btn_download
translation: Tải Về
- id: interests
translation: Hướng Nghiên Cứu
- id: education
translation: Học Vấn
- id: user_profile_latest
translation: Latest
- id: see_certificate
translation: See certificate
- id: present
translation: Present
- id: more_pages
translation: See all
- id: more_posts
translation: Bài Đăng Khác
- id: more_talks
translation: Thuyết Trình Khác
- id: more_publications
translation: Các Công Trình
- id: contact_name
translation: Name
- id: contact_email
translation: Email
- id: contact_message
translation: Message
- id: contact_send
translation: Send
- id: book_appointment
translation: Book an appointment
- id: abstract
translation: Tóm tắt
- id: publication
translation: Công Trình
- id: publication_type
translation: Phân Loại
- id: date
translation: Thời Gian
- id: last_updated
translation: Cập Nhật Lần Cuối
- id: event
translation: Sự Kiện
- id: location
translation: Địa Điểm
- id: pub_uncat
translation: Uncategorized
- id: pub_conf
translation: Conference paper
- id: pub_journal
translation: Journal article
- id: pub_preprint
translation: Preprint
- id: pub_report
translation: Report
- id: pub_book
translation: Book
- id: pub_book_section
translation: Book section
- id: pub_thesis
translation: Thesis
- id: pub_patent
translation: Patent
- id: open_project_site
translation: Đến Trang Dự Án
- id: posts
translation: Bài Đăng
- id: publications
translation: Công Trình
- id: talks
translation: Thuyết Trình
- id: projects
translation: Dự Án
- id: search
translation: Search
- id: search_placeholder
translation: Search...
- id: search_results
translation: results found
- id: search_no_results
translation: No results found
- id: page_not_found
translation: Trang không tìm thấy
- id: 404_recommendations
translation: Có thể bạn đang tìm những trang này
- id: cookie_message
translation: This website uses cookies to ensure you get the best experience on our website.
- id: cookie_dismiss
translation: Got it!
- id: cookie_learn
translation: Learn more

130
i18n/zh.yaml Normal file
View File

@ -0,0 +1,130 @@
- id: toggle_navigation
translation: 切换导航
- id: table_of_contents
translation: 目录
- id: on_this_page
translation: 在本页
- id: back_to_top
translation: 回到顶部
- id: related
translation: 相关
- id: minute_read
translation: 分钟阅读时间
- id: previous
translation: 上一页
- id: next
translation: 下一页
- id: figure
translation: '图%d:'
- id: btn_preprint
translation: 预印本
- id: btn_pdf
translation: PDF
- id: btn_cite
translation: 引用
- id: btn_slides
translation: 演示文稿
- id: btn_video
translation: 视频
- id: btn_code
translation: 代码
- id: btn_dataset
translation: 数据集
- id: btn_project
translation: 项目
- id: btn_poster
translation: 海报
- id: btn_source
translation: 源文档
- id: btn_copy
translation: 复制
- id: btn_download
translation: 下载
- id: interests
translation: 兴趣爱好
- id: education
translation: 教育经历
- id: user_profile_latest
translation: 最新
- id: see_certificate
translation: 查看证书
- id: present
translation: 现在
- id: more_pages
translation: 查看全部
- id: more_posts
translation: 查看全部文章
- id: more_talks
translation: 查看全部演讲
- id: more_publications
translation: 查看全部出版物
- id: contact_name
translation: 姓名
- id: contact_email
translation: 邮箱
- id: contact_message
translation: 信息
- id: contact_send
translation: 发送
- id: book_appointment
translation: 预约
- id: abstract
translation: 摘要
- id: publication
translation: 出版物
- id: publication_type
translation: 类型
- id: date
translation: 日期
- id: last_updated
translation: 最近更新于
- id: event
translation: 事件
- id: location
translation: 位置
- id: pub_uncat
translation: 未分类
- id: pub_conf
translation: 会议文章
- id: pub_journal
translation: 期刊文章
- id: pub_preprint
translation: 预印本
- id: pub_report
translation: 报告
- id: pub_book
translation: 书籍
- id: pub_book_section
translation: 章节
- id: pub_thesis
translation: 论文
- id: pub_patent
translation: 专利
- id: open_project_site
translation: 访问项目网站
- id: posts
translation: 文章
- id: publications
translation: 出版物
- id: talks
translation: 演讲
- id: projects
translation: 项目
- id: search
translation: 搜索
- id: search_placeholder
translation: 搜索...
- id: search_results
translation: 搜索结果
- id: search_no_results
translation: 没有找到结果
- id: page_not_found
translation: 找不到页面
- id: 404_recommendations
translation: 也许你在找?
- id: cookie_message
translation: 本网站使用cookies来确保您在本网站上获得最佳体验。
- id: cookie_dismiss
translation: 知道了!
- id: cookie_learn
translation: 了解更多

31
layouts/404.html Normal file
View File

@ -0,0 +1,31 @@
{{- define "main" -}}
<div class="universal-wrapper pt-3">
<h1>{{ i18n "page_not_found" }}</h1>
{{/* Show search box if academia's search engine is enabled. */}}
{{ if eq site.Params.search.engine 1 }}
<form class="d-flex align-items-center mb-3">
<input name="q" type="search" class="form-control" id="search-query" placeholder="{{ i18n "search_placeholder" }}" autocomplete="off">
</form>
{{ end }}
{{/* Suggest recently published pages to the user. */}}
<p>{{ i18n "404_recommendations" }}</p>
{{ $query := site.RegularPages }}
{{ $count := len $query }}
{{ if gt $count 0 }}
<h2>{{ i18n "user_profile_latest" }}</h2>
<ul>
{{ range first 10 $query }}
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
{{ end }}
</ul>
{{ end }}
</div>
{{- end -}}

View File

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html lang="{{ site.LanguageCode | default "en-us" }}">
{{ partial "site_head.html" . }}
<body id="top" data-spy="scroll" data-target="{{ if or .IsHome (eq .Type "widget_page") }}#navbar-main{{else}}#TableOfContents{{end}}" data-offset="71" {{ if not (.Scratch.Get "light") }}class="dark"{{end}}>
{{ partial "search" . }}
{{ partial "navbar.html" . }}
{{ block "main" . }}{{ end }}
{{ partial "site_js.html" . }}
{{ if ne .Type "docs" }}
<div class="container">
{{ partial "site_footer.html" . }}
</div>
{{ end }}
{{ partial "citation.html" . }}
</body>
</html>

View File

@ -0,0 +1,29 @@
{{- define "main" -}}
{{ partial "page_header.html" . }}
<div class="universal-wrapper">
{{ with .Content }}
<div class="article-style" itemprop="articleBody">{{ . }}</div>
{{ end }}
{{ $paginator := .Paginate .Data.Pages }}
{{ range $paginator.Pages }}
<div>
<h2><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
<div class="article-style">
{{ if .Params.summary }}
{{ .Params.summary | plainify | emojify }}
{{ else if .Params.abstract }}
{{ .Params.abstract | plainify | emojify | truncate 250 }}
{{ else if .Summary }}
{{ .Summary | plainify | emojify }}
{{ end }}
</div>
</div>
{{ end }}
{{ partial "pagination" . }}
</div>
{{- end -}}

33
layouts/_default/rss.xml Normal file
View File

@ -0,0 +1,33 @@
{{/* Generate RSS with full page content rather than just summary. */}}
{{- $pages := .Data.Pages -}}
{{- $limit := site.Config.Services.RSS.Limit -}}
{{- if ge $limit 1 -}}
{{- $pages = $pages | first $limit -}}
{{- end -}}
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>" | safeHTML }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ if eq .Title site.Title }}{{ site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ site.Title }}{{ end }}</title>
<link>{{ .Permalink }}</link>
<description>Recent content {{ if ne .Title site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ site.Title }}</description>
<generator>Source Themes academia (https://sourcethemes.com/academic/)</generator>{{ with site.LanguageCode }}
<language>{{.}}</language>{{end}}{{ with site.Author.email }}
<managingEditor>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with site.Author.email }}
<webMaster>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with site.Copyright }}
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
{{ with .OutputFormats.Get "RSS" }}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{ end }}
{{ range $pages }}
<item>
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{ with site.Author.email }}<author>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</author>{{end}}
<guid>{{ .Permalink }}</guid>
<description>{{ .Content | html }}</description>
</item>
{{ end }}
</channel>
</rss>

View File

@ -0,0 +1,42 @@
{{- define "main" -}}
<article class="article py-5" itemscope itemtype="http://schema.org/Article">
{{ partial "page_header.html" . }}
<div class="article-container">
<div class="article-style" itemprop="articleBody">
{{ .Content }}
</div>
{{ partial "tags.html" . }}
{{ if ne .Type "page" }}
{{ partial "page_author.html" . }}
{{ $related := site.RegularPages.Related . | first 5 }}
{{ with $related }}
<div class="article-widget">
<div class="hr-light"></div>
<h3>{{ i18n "related" }}</h3>
<ul>
{{ range . }}
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
{{ end }}
</ul>
</div>
{{ end }}
{{ end }}
{{ if site.Params.section_pager }}
<div class="article-widget">
{{ partial "section_pager.html" . }}
</div>
{{ end }}
{{ partial "comments.html" . }}
</div>
</article>
{{- end -}}

40
layouts/authors/list.html Normal file
View File

@ -0,0 +1,40 @@
{{/* Author profile page. */}}
{{- define "main" -}}
{{/* If an account has not been created for this user, just display their name as the title. */}}
{{ if not .File }}
<div class="universal-wrapper pt-3">
<h1 itemprop="name">{{ .Title }}</h1>
</div>
{{ end }}
<section id="profile-page" class="pt-5">
<div class="container">
{{/* Show the About widget if an account exists for this user. */}}
{{ if .File }}
{{ $widget := "widgets/about.html" }}
{{ $username := (path.Base (path.Split .Path).Dir) }}{{/* Alternatively, use `index .Params.authors 0` */}}
{{ $params := dict "root" $ "page" . "author" $username }}
{{ partial $widget $params }}
{{end}}
{{ $query := where .Pages ".IsNode" false }}
{{ $count := len $query }}
{{ if $count }}
<div class="article-widget">
<div class="hr-light"></div>
<h3>{{ i18n "user_profile_latest" | default "Latest" }}</h3>
<ul>
{{ range $query }}
<li>
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
</li>
{{ end }}
</ul>
</div>
</div>
{{ end }}
</section>
{{- end -}}

View File

@ -0,0 +1,23 @@
{{/* List of all authors. */}}
{{- define "main" -}}
{{ partial "page_header.html" . }}
<div class="universal-wrapper">
{{ with .Content }}
<div class="article-style" itemprop="articleBody">{{ . }}</div>
{{ end }}
<ul>
{{ $paginator := .Paginate .Data.Pages }}
{{ range $k, $v := $paginator.Pages }}
{{ $name := $v.Params.name | default ($v.Title|plainify) }}
<li><a href="{{$v.Permalink}}">{{$name}}</a></li>
{{ end }}
</ul>
{{ partial "pagination" . }}
</div>
{{- end -}}

3
layouts/docs/list.html Normal file
View File

@ -0,0 +1,3 @@
{{- define "main" -}}
{{ partial "docs_layout.html" . }}
{{- end -}}

3
layouts/docs/single.html Normal file
View File

@ -0,0 +1,3 @@
{{- define "main" -}}
{{ partial "docs_layout.html" . }}
{{- end -}}

9
layouts/index.html Normal file
View File

@ -0,0 +1,9 @@
{{- define "main" -}}
{{ if not (isset site.Params "color_theme") }}
{{ errorf "Please complete the installation of academia by following the steps at https://sourcethemes.com/academic/docs/install/" }}
{{ end }}
{{ partial "widget_page.html" . }}
{{- end -}}

62
layouts/index.json Normal file
View File

@ -0,0 +1,62 @@
{{- /* Generate the search index. */ -}}
{{- $index := slice -}}
{{- $pages := site.RegularPages -}}
{{- /* Add the index page of docs separately since it's not in RegularPages above. */ -}}
{{- $pages := $pages | union (where (where site.Pages "Kind" "section") "Type" "docs") -}}
{{- /* Add author pages to index so their bios can be searched. Hide empty `/authors/` node. */ -}}
{{- $pages := $pages | union (where (where site.Pages "Section" "authors") "Params.name" "!=" nil) -}}
{{- range $pages -}}
{{- /* Do not index drafts or private pages. */ -}}
{{- if and (not .Draft) (not .Params.private) -}}
{{- /* Generate page description. */ -}}
{{- $desc := "" -}}
{{- if .Params.summary -}}
{{- $desc = .Params.summary -}}
{{- else if .Params.abstract -}}
{{- $desc = .Params.abstract -}}
{{- else -}}
{{- $desc = .Summary -}}
{{- end -}}
{{- $authors := .Params.authors -}}
{{- $title := .Title}}
{{- $rel_permalink := .RelPermalink -}}
{{- $permalink := .Permalink -}}
{{/* Correct the title and URL for author profile pages. */}}
{{- if eq .Section "authors" -}}
{{- $title = .Params.name -}}
{{- $username := path.Base (path.Split .Path).Dir -}}
{{- with site.GetPage (printf "/authors/%s" $username) -}}
{{- $permalink = .Permalink -}}
{{- $rel_permalink = .RelPermalink -}}
{{- end -}}
{{- else -}}
{{/* Include a user's display name rather than username where possible. */}}
{{- if .Params.authors -}}
{{- $authorLen := len .Params.authors -}}
{{- if gt $authorLen 0 -}}
{{- $authors = slice -}}
{{- range $k, $v := .Params.authors -}}
{{- $person_page_path := (printf "/authors/%s" (urlize $v)) -}}
{{- $person_page := site.GetPage $person_page_path -}}
{{- if and $person_page $person_page.File -}}
{{- $person := $person_page.Params -}}
{{- $authors = $authors | append $person.name -}}
{{- else -}}
{{- $authors = $authors | append ($v | plainify) -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- /* Add page to index. */ -}}
{{- $index = $index | append (dict "objectID" .File.UniqueID "date" .Date.UTC.Unix "publishdate" .PublishDate "lastmod" .Lastmod.UTC.Unix "expirydate" .ExpiryDate.UTC.Unix "lang" .Lang "permalink" $permalink "relpermalink" $rel_permalink "title" $title "summary" (plainify $desc) "content" .Plain "authors" $authors "kind" .Kind "type" .Type "section" .Section "tags" .Params.Tags "categories" .Params.Categories) -}}
{{- end -}}
{{- end -}}
{{- $index | jsonify -}}

View File

@ -0,0 +1,25 @@
<!-- Citation modal -->
<div id="modal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">{{ i18n "btn_cite" }}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<pre><code class="tex hljs"></code></pre>
</div>
<div class="modal-footer">
<a class="btn btn-outline-primary my-1 js-copy-cite" href="#" target="_blank">
<i class="fas fa-copy"></i> {{ i18n "btn_copy" }}
</a>
<a class="btn btn-outline-primary my-1 js-download-cite" href="#" target="_blank">
<i class="fas fa-download"></i> {{ i18n "btn_download" }}
</a>
<div id="modal-error"></div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,5 @@
{{ if and site.DisqusShortname (not (or site.Params.disable_comments .Params.disable_comments)) }}
<section id="comments">
{{ template "_internal/disqus.html" . }}
</section>
{{ end }}

View File

@ -0,0 +1,27 @@
{{ if site.Params.privacy_pack }}
{{ $scr := .Scratch }}
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.js"></script>
<script>
window.addEventListener("load", function(){
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "{{ $scr.Get "primary" }}",
"text": "{{ $scr.Get "background" }}"
},
"button": {
"background": "{{ $scr.Get "background" }}",
"text": "{{ $scr.Get "primary" }}"
}
},
"theme": "classic",
"content": {
"message": {{ i18n "cookie_message" | default "This website uses cookies to ensure you get the best experience on our website." }},
"dismiss": {{ i18n "cookie_dismiss" | default "Got it!" }},
"link": {{ i18n "cookie_learn" | default "Learn more" }},
"href": {{ with site.GetPage "privacy.md" }}{{ printf "%s" .RelPermalink }}{{ else }}"https://cookies.insites.com"{{ end }}
}
})});
</script>
{{ end }}

View File

@ -0,0 +1,4 @@
{{/* Do not directly modify this file! */}}
{{/* Instead, create a `layout/partials/custom_head.html` file in your site and add your code to it. */}}
{{/* This partial is included in `themes/academia/layout/partials/site_head.html`. */}}

View File

@ -0,0 +1,4 @@
{{/* Do not directly modify this file! */}}
{{/* Instead, create a `layout/partials/custom_js.html` file in your site and add your code to it. */}}
{{/* This partial is included in `themes/academia/layout/partials/site_js.html`. */}}

View File

@ -0,0 +1,51 @@
{{ $current_page := . }}
<div class="container-fluid docs">
<div class="row flex-xl-nowrap">
<div class="col-12 col-md-3 col-xl-2 docs-sidebar">
{{ partial "docs_sidebar.html" . }}
</div>
{{ if .Params.toc }}
<div class="d-none d-xl-block col-xl-2 docs-toc">
<ul class="nav toc-top">
<li><a href="#" id="back_to_top" class="docs-toc-title">{{ i18n "on_this_page" }}</a></li>
</ul>
{{ .TableOfContents }}
{{ partial "docs_toc_foot.html" . }}
</div>
{{ end }}
<main class="col-12 col-md-9 col-xl-8 py-md-3 pl-md-5 docs-content" role="main">
<article class="article" itemscope itemtype="http://schema.org/Article">
<div class="docs-article-container">
<h1 itemprop="name">{{ .Title }}</h1>
<div class="article-style" itemprop="articleBody">
{{ .Content }}
</div>
{{ partial "tags.html" . }}
{{ if site.Params.docs_section_pager }}
<div class="article-widget">
{{ partial "section_pager.html" . }}
</div>
{{ end }}
</div>
<div class="body-footer">
{{ i18n "last_updated" }} {{ $.Lastmod.Format site.Params.date_format }}
</div>
</article>
{{ partial "site_footer.html" . }}
</main>
</div>
</div>

View File

@ -0,0 +1,38 @@
{{ $current_page := . }}
{{/* Dynamically load menu for this docs page. */}}
{{ $menu_name := path.Base (path.Split .CurrentSection.File).Dir }}
{{ if not (index site.Menus $menu_name) }}
{{ errorf "Please define menu items named `menu: %s:` in your %s front matter or define `[[menu.%s]]` in `config/default/menus.toml`. See https://sourcethemes.com/academic/docs/managing-content/#menus" $menu_name .Path $menu_name }}
{{ end }}
<form class="docs-search d-flex align-items-center">
<button class="btn docs-toggle d-md-none p-0 mr-3" type="button" data-toggle="collapse" data-target="#docs-nav" aria-controls="docs-nav" aria-expanded="false" aria-label="Toggle section navigation">
<span><i class="fas fa-bars"></i></span>
</button>
{{ if eq site.Params.search.engine 1 }}
<input name="q" type="search" class="form-control" id="search-query" placeholder="{{ i18n "search_placeholder" }}" autocomplete="off">
{{ end }}
</form>
<nav class="collapse docs-links" id="docs-nav">
{{ with (index site.Menus $menu_name) }}
{{ range (index site.Menus $menu_name).ByWeight }}
<div class="docs-toc-item{{ if $current_page.IsMenuCurrent $menu_name . }} active{{ end }}">
<a class="docs-toc-link" {{ if .URL }}href="{{ .URL }}"{{else if .HasChildren }}href="{{ (index .Children 0).URL }}"{{end}}>{{ .Name }}</a>
{{- if .HasChildren }}
<ul class="nav docs-sidenav">
{{ range .Children }}
<li {{ if $current_page.IsMenuCurrent $menu_name . }}class="active"{{ end }}>
<a href="{{ .URL }}">{{ .Name }}</a>
</li>
{{ end }}
</ul>
{{ end }}
</div>
{{ end }}
{{ end }}
</nav>

View File

View File

@ -0,0 +1,6 @@
{{/* Get Publication Types */}}
{{ $pub_types := slice }}
{{ range site.Data.publication_types.types }}
{{ $pub_types = $pub_types | append (i18n . | default "Uncategorized") }}
{{ end }}
{{ return $pub_types }}

View File

@ -0,0 +1,53 @@
{{- $scr := .Scratch -}}
{{/* Attempt to load font style specified by user. */}}
{{- $font_index := site.Params.font | default "default" -}}
{{ if (index site.Data.fonts $font_index) }}
{{- $font := index site.Data.fonts $font_index -}}
{{- $scr.Set "google_fonts" $font.google_fonts -}}
{{- $scr.Set "body_font" $font.body_font -}}
{{- $scr.Set "heading_font" $font.heading_font -}}
{{- $scr.Set "nav_font" $font.nav_font -}}
{{- $scr.Set "mono_font" $font.mono_font -}}
{{- $scr.Set "font_size" $font.font_size -}}
{{- $scr.Set "font_size_small" $font.font_size_small -}}
{{ else }}
{{ errorf "The `%s` font theme was not found! Check that the `font` option in `config/_default/params.toml` matches the name of an installed font theme." $font_index }}
{{ end }}
{{/* Attempt to load color theme specified by user. */}}
{{- $theme_index := site.Params.color_theme | default "default" -}}
{{ if (index site.Data.themes $theme_index) }}
{{ $theme := index site.Data.themes $theme_index }}
{{- $scr.Set "light" ($theme.light | default true) -}}
{{ if $theme.light }}
{{- $scr.Set "background" ($theme.background | default "#fff") -}}
{{- $scr.Set "dark_background" "rgb(40, 42, 54)" -}}
{{- $scr.Set "home_section_odd" $theme.home_section_odd -}}
{{- $scr.Set "home_section_even" $theme.home_section_even -}}
{{- $scr.Set "dark_home_section_odd" "hsla(231, 15%, 18%, 1)" -}}
{{- $scr.Set "dark_home_section_even" "hsla(231, 15%, 16%, 1)" -}}
{{ else }}
{{- $scr.Set "background" ($theme.background | default "#fff") -}}
{{- $scr.Set "dark_background" ($theme.background | default "rgb(40, 42, 54)") -}}
{{- $scr.Set "home_section_odd" "rgb(255, 255, 255)" -}}
{{- $scr.Set "home_section_even" "rgb(247, 247, 247)" -}}
{{- $scr.Set "dark_home_section_odd" $theme.home_section_odd -}}
{{- $scr.Set "dark_home_section_even" $theme.home_section_even -}}
{{ end }}
{{- $scr.Set "link" ($theme.link | default $theme.primary) -}}
{{- $scr.Set "link_hover" ($theme.link_hover | default $theme.primary) -}}
{{- $scr.Set "primary" $theme.primary -}}
{{- $scr.Set "menu_primary" $theme.menu_primary -}}
{{- $scr.Set "menu_text" $theme.menu_text -}}
{{- $scr.Set "menu_text_active" $theme.menu_text_active -}}
{{- $scr.Set "menu_title" $theme.menu_title -}}
{{ else }}
{{ errorf "The `%s` color theme was not found! Check that the `color_theme` option in `config/_default/params.toml` matches the name of an installed color theme." $theme_index }}
{{ end }}

View File

@ -0,0 +1,81 @@
{{ $item := . }}
{{ $microdata_type := "CreativeWork" }}
{{ $show_buttons := false }}
{{/* Dynamic view adjusts to content type. */}}
{{ if eq $item.Type "post" }}
{{ $microdata_type = "BlogPosting" }}
{{ else if eq $item.Type "talk" }}
{{ $microdata_type = "Event" }}
{{ $show_buttons = true }}
{{ else if eq $item.Type "publication" }}
{{ $microdata_type = "ScholarlyArticle" }}
{{ $show_buttons = true }}
{{ end }}
{{/* Get summary. */}}
{{ $summary := "" }}
{{ if $item.Params.summary }}
{{ $summary = $item.Params.summary | markdownify | emojify }}
{{ else if .Params.abstract }}
{{ $summary = .Params.abstract | markdownify | emojify }}
{{ else if $item.Truncated }}
{{ $summary = $item.Summary }}
{{ else }}
{{ $summary = $item.Content }}
{{ end }}
<div class="card-simple" itemscope itemtype="http://schema.org/{{$microdata_type}}">
{{ $resource := ($item.Resources.ByType "image").GetMatch "*featured*" }}
{{ $anchor := $item.Params.image.focal_point | default "Smart" }}
{{ with $resource }}
{{ $image := .Fill (printf "918x517 q90 %s" $anchor) }}
<a href="{{ $item.RelPermalink }}">
<img src="{{ $image.RelPermalink }}" class="article-banner" itemprop="image" alt="">
</a>
{{end}}
<div class="card-body">
<h3 class="article-title mb-1 mt-0" itemprop="name">
<a href="{{ $item.RelPermalink }}" itemprop="url">{{ $item.Title }}</a>
</h3>
{{ if eq $item.Type "talk" }}
<div class="article-metadata">
{{ if $item.Params.authors }}
<div itemprop="author">
{{ partial "page_metadata_authors" $item }}
</div>
{{ end }}
<span itemprop="startDate">
{{ $date := $item.Date }}
{{ (time $date).Format site.Params.date_format }}
{{ if not $item.Params.all_day }}
{{ (time $date).Format (site.Params.time_format | default "3:04 PM") }}
{{ with $item.Params.date_end }}
&mdash; {{ (time .).Format (site.Params.time_format | default "3:04 PM") }}
{{ end }}
{{ end }}
</span>
{{ with $item.Params.location }}
<span class="middot-divider"></span>
<span itemprop="location">{{ . }}</span>
{{ end }}
</div>
{{ else }}
{{ partial "page_metadata" (dict "page" $item "is_list" 1) }}
{{ end }}
{{ with $summary }}
<div class="article-style" itemprop="articleBody">
{{ . }}
</div>
{{ end }}
{{ if $show_buttons }}
<div class="btn-links">
{{ partial "page_links" (dict "page" $item "is_list" 1) }}
</div>
{{ end }}
</div>
</div>

View File

@ -0,0 +1,35 @@
<div class="pub-list-item" style="margin-bottom: 1rem" itemscope itemtype="http://schema.org/CreativeWork">
<i class="far fa-file-alt pub-icon" aria-hidden="true"></i>
{{/* APA Style */}}
{{ if eq (site.Params.publications.citation_style | default "apa") "apa" }}
<span itemprop="author" class="article-metadata li-cite-author">
{{ partial "page_metadata_authors" . }}
</span>
({{- .Date.Format "2006" -}}).
<a href="{{ .RelPermalink }}" itemprop="name">{{ .Title }}</a>.
{{ if .Params.publication_short }}
{{- .Params.publication_short | markdownify -}}.
{{ else if .Params.publication }}
{{- .Params.publication | markdownify -}}.
{{ end }}
<p>{{ partial "page_links" (dict "page" . "is_list" 1) }}</p>
{{/* MLA Style */}}
{{ else }}
<span itemprop="author" class="article-metadata li-cite-author">
{{ partial "page_metadata_authors" . }}
</span>.
<a href="{{ .RelPermalink }}" itemprop="name">{{ .Title }}</a>.
{{ if .Params.publication_short }}
{{- .Params.publication_short | markdownify -}},
{{ else if .Params.publication }}
{{- .Params.publication | markdownify -}},
{{ end }}
{{- .Date.Format "2006" -}}.
<p>{{ partial "page_links" (dict "page" . "is_list" 1) }}</p>
{{ end }}
</div>

View File

@ -0,0 +1,91 @@
{{ $item := . }}
{{ $microdata_type := "CreativeWork" }}
{{ $show_authors_only := false }}{{/* Show authors only or full metadata? */}}
{{ $show_buttons := false }}
{{/* Dynamic view adjusts to content type. */}}
{{ if eq $item.Type "post" }}
{{ $microdata_type = "BlogPosting" }}
{{ else if eq $item.Type "talk" }}
{{ $microdata_type = "Event" }}
{{ $show_authors_only = true }}
{{ $show_buttons = true }}
{{ else if eq $item.Type "publication" }}
{{ $microdata_type = "ScholarlyArticle" }}
{{ $show_authors_only = true }}
{{ $show_buttons = true }}
{{ end }}
{{/* Get summary. */}}
{{ $summary := "" }}
{{ if $item.Params.summary }}
{{ $summary = $item.Params.summary | markdownify | emojify }}
{{ else if .Params.abstract }}
{{ $summary = .Params.abstract | markdownify | emojify }}
{{ else if $item.Truncated }}
{{ $summary = $item.Summary }}
{{ end }}
<div class="col-md-10 col-lg-8">
<div class="media stream-item shadow p-4" itemscope itemtype="http://schema.org/{{$microdata_type}}">
<div class="media-body">
<h3 class="article-title mb-0 mt-0" itemprop="name">
<a href="{{ $item.RelPermalink }}" itemprop="url">{{ $item.Title }}</a>
</h3>
{{ with $summary }}
<div class="article-style" itemprop="articleBody">
{{ . | truncate 135 }}
</div>
{{ end }}
<div class="stream-meta article-metadata">
{{ if eq $item.Type "talk" }}
<div>
<span itemprop="startDate">
{{ $date := $item.Date }}
{{ (time $date).Format site.Params.date_format }}
{{ if not $item.Params.all_day }}
{{ (time $date).Format (site.Params.time_format | default "3:04 PM") }}
{{ with $item.Params.date_end }}
&mdash; {{ (time .).Format (site.Params.time_format | default "3:04 PM") }}
{{ end }}
{{ end }}
</span>
{{ with $item.Params.location }}
<span class="middot-divider"></span>
<span itemprop="location">{{ . }}</span>
{{ end }}
</div>
{{ end }}
{{ if and $show_authors_only $item.Params.authors }}
<div itemprop="author">
{{ partial "page_metadata_authors" $item }}
</div>
{{ else if not $show_authors_only }}
{{ partial "page_metadata" (dict "page" $item "is_list" 1) }}
{{ end }}
</div>
{{ if $show_buttons }}
<div class="btn-links">
{{ partial "page_links" (dict "page" $item "is_list" 1) }}
</div>
{{ end }}
</div>
<div class="ml-3">
{{ $resource := ($item.Resources.ByType "image").GetMatch "*featured*" }}
{{ with $resource }}
{{ $image := .Resize "250x" }}
<a href="{{ $item.RelPermalink }}">
<img src="{{ $image.RelPermalink }}" itemprop="image">
</a>
{{end}}
</div>
</div>
</div>

View File

@ -0,0 +1,56 @@
{{ $item := . }}
{{ $microdata_type := "CreativeWork" }}
{{ $icon := "fa-file-alt" }}
{{ $show_authors := false }}
{{ $show_buttons := false }}
{{/* Dynamic view adjusts to content type. */}}
{{ if eq $item.Type "post" }}
{{ $microdata_type = "BlogPosting" }}
{{ $icon = "fa-newspaper" }}
{{ else if eq $item.Type "talk" }}
{{ $microdata_type = "Event" }}
{{ $icon = "fa-calendar-alt" }}
{{ else if eq $item.Type "publication" }}
{{ $microdata_type = "ScholarlyArticle" }}
{{ $show_authors = true }}
{{ $show_buttons = true }}
{{ end }}
<div class="view-list-item col-lg-8 mx-auto" itemscope itemtype="http://schema.org/{{$microdata_type}}">
<i class="far {{$icon}} pub-icon" aria-hidden="true"></i>
<a href="{{ $item.RelPermalink }}" itemprop="url"><span itemprop="name">{{ $item.Title }}</span></a>
{{ if eq $item.Type "talk" }}
<div class="article-metadata">
<span itemprop="startDate">
{{ $date := $item.Date }}
{{ (time $date).Format site.Params.date_format }}
{{ if not $item.Params.all_day }}
{{ (time $date).Format (site.Params.time_format | default "3:04 PM") }}
{{ with $item.Params.date_end }}
&mdash; {{ (time .).Format (site.Params.time_format | default "3:04 PM") }}
{{ end }}
{{ end }}
</span>
{{ with $item.Params.location }}
<span class="middot-divider"></span>
<span itemprop="location">{{ . }}</span>
{{ end }}
</div>
{{ end }}
{{ if and $show_authors $item.Params.authors }}
<div class="article-metadata" itemprop="author">
{{ partial "page_metadata_authors" $item }}
</div>
{{ end }}
{{ if $show_buttons }}
<div class="btn-links">
{{ partial "page_links" (dict "page" $item "is_list" 1) }}
</div>
{{ end }}
</div>

View File

@ -0,0 +1,131 @@
{{ $current_page := . }}
<nav class="navbar navbar-light fixed-top navbar-expand-lg py-0" id="navbar-main">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<a class="navbar-brand" href="{{ "/" | relLangURL }}">
{{- if site.Params.logo -}}
<img src="{{ printf "/img/%s" site.Params.logo | relURL }}" alt="{{ site.Title }}">
{{- else -}}
{{- site.Title -}}
{{- end -}}
</a>
{{ if or site.Menus.main .IsTranslated }}
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="{{ i18n `toggle_navigation` }}"><span><i class="fas fa-bars"></i></span>
</button>
{{ end }}
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="navbar">
<!-- Left Nav Bar -->
{{ $align_right := site.Params.menu_align_right | default true }}
<ul class="navbar-nav {{ if $align_right }}ml-auto{{ else }}mr-auto{{ end }}">
{{ range site.Menus.main }}
{{ if .HasChildren }}
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true">
{{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}}
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
{{ range .Children }}
<li class="dropdown-item my-0 py-0 mx-0 px-0">
<a href="{{ .URL | relLangURL }}"{{ if $.IsHome }} data-target="{{ .URL }}"{{ end }}>
{{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}}
</a>
</li>
{{ end }}
</ul>
</li>
{{ else }}
{{/* Set target for link. */}}
{{ $.Scratch.Set "target" "" }}
{{ if gt (len .URL) 4 }}
{{ if eq "http" (slicestr .URL 0 4) }}
{{ $.Scratch.Set "target" " target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
{{ end }}
{{/* Get active page. */}}
{{ $is_link_in_current_path := in $current_page.RelPermalink .URL }}
{{ $is_widget_page := or $current_page.IsHome (eq $current_page.Type "widget_page") }}
{{ $hash := findRE "#(.+)" .URL }}
{{ $is_same_page := $is_link_in_current_path }}
{{ if gt (len $hash) 0 }}
{{ $hash = index $hash 0 }}
{{ $hash_removed := replace .URL $hash "" }}
{{ if eq (len $hash_removed) 0 }}
{{ $hash_removed = "/" }}{{/* Add robustness for `/#SECTION` or `#SECTION` in `menus.toml`. */}}
{{ end }}
{{ $is_same_page = eq (path.Dir $current_page.RelPermalink) (path.Dir ($hash_removed|relLangURL)) }}
{{ end }}
<li class="nav-item">
<a class="nav-link {{if $is_link_in_current_path }} active{{end}}" href="{{.URL | relLangURL}}"{{ if and $is_widget_page $is_same_page }} data-target="{{$hash}}"{{ end }}{{ ($.Scratch.Get "target") | safeHTMLAttr }}>
{{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}}
</a>
</li>
{{ end }}
{{ end }}
{{ if not $align_right | and (.IsTranslated | or site.Menus.main_right | or site.Params.search.engine | or site.Params.day_night) }}
</ul>
<ul class="navbar-nav ml-auto">
{{ end }}
{{ range site.Menus.main_right }}
{{/* Set target for link. */}}
{{ $.Scratch.Set "target" "" }}
{{ if gt (len .URL) 4 }}
{{ if eq "http" (slicestr .URL 0 4) }}
{{ $.Scratch.Set "target" " target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
{{ end }}
<li class="nav-item">
<a class="nav-link" href="{{ .URL | relLangURL }}"{{ if $.IsHome }} data-target="{{ .URL }}"{{ end }}{{ ($.Scratch.Get "target") | safeHTMLAttr }}>
{{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}}
</a>
</li>
{{ end }}
{{ if site.Params.search.engine }}
<li class="nav-item">
<a class="nav-link js-search" href="#"><i class="fas fa-search" aria-hidden="true"></i></a>
</li>
{{ end }}
{{ if .IsTranslated }}
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true">
<i class="fas fa-globe" aria-hidden="true"></i>
<span>{{ index site.Data.i18n.languages .Lang }}</span>
</a>
<ul class="dropdown-menu">
{{ range .Translations }}
<li class="dropdown-item my-0 py-0 mx-0 px-0">
<a href="{{ .Permalink }}"{{ if $.IsHome }} data-target="{{ .URL }}"{{ end }}>
<span>{{ index site.Data.i18n.languages .Lang }}</span>
</a>
</li>
{{ end }}
</ul>
</li>
{{ end }}
{{ if site.Params.day_night }}
<li class="nav-item">
<a class="nav-link js-dark-toggle" href="#"><i class="fas fa-moon" aria-hidden="true"></i></a>
</li>
{{ end }}
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container -->
</nav>

View File

@ -0,0 +1,65 @@
{{/* Author profile box */}}
{{ if not (or (eq site.Params.profile false) (eq .Params.profile false)) }}
{{/* Display superuser if superuser exists and page authors are not explicitly specified. */}}
{{/* Otherwise, display first author if a profile for them exists. */}}
{{ $author_urlized := "" }}
{{ if and (not .Params.authors) (.Scratch.Get "superuser_username") }}
{{ $author_urlized = (.Scratch.Get "superuser_username") }}
{{ else }}
{{ $first_author := "" }}
{{ if .Params.authors }}
{{ $first_author = index .Params.authors 0 }}
{{ end }}
{{ $author_urlized = urlize $first_author }}
{{ end }}
{{ $taxonomy := "authors" }}
{{ $profile_page := site.GetPage (printf "/%s/%s" $taxonomy $author_urlized) }}
{{ with $profile_page }}
{{/* If it's a personal site and primary page author is superuser, link to the homepage rather than their profile page. */}}
{{ $profile_url := .RelPermalink }}
{{ if and (not site.Data.organization.name) (eq .Params.superuser true) }}
{{ $profile_url = site.BaseURL }}
{{ end }}
{{ $avatar := (.Resources.ByType "image").GetMatch "*avatar*" }}
<div class="media author-card" itemscope itemtype="http://schema.org/Person">
{{ if and site.Params.gravatar .Params.email }}
<img class="portrait mr-3" src="https://s.gravatar.com/avatar/{{ md5 .Params.email }}?s=200')" itemprop="image" alt="Avatar">
{{ else if $avatar }}
{{ $avatar_image := $avatar.Fill "250x250 Center" }}
<img class="portrait mr-3" src="{{ $avatar_image.RelPermalink }}" itemprop="image" alt="Avatar">
{{ end }}
<div class="media-body">
<h5 class="card-title" itemprop="name"><a href="{{$profile_url}}">{{.Params.name}}</a></h5>
{{ with .Params.role }}<h6 class="card-subtitle">{{. | markdownify | emojify}}</h6>{{end}}
{{ with .Params.bio }}<p class="card-text" itemprop="description">{{. | markdownify | emojify}}</p>{{end}}
<ul class="network-icon" aria-hidden="true">
{{ range .Params.social }}
{{ $pack := or .icon_pack "fas" }}
{{ $pack_prefix := $pack }}
{{ if in (slice "fab" "fas" "far" "fal") $pack }}
{{ $pack_prefix = "fa" }}
{{ end }}
{{ $link := .link }}
{{ $scheme := (urls.Parse $link).Scheme }}
{{ $target := "" }}
{{ if not $scheme }}
{{ $link = .link | relLangURL }}
{{ else if in (slice "http" "https") $scheme }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
<li>
<a itemprop="sameAs" href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }}>
<i class="{{ $pack }} {{ $pack_prefix }}-{{ .icon }}"></i>
</a>
</li>
{{end}}
</ul>
</div>
</div>
{{end}}{{/* Profile page block */}}
{{end}}{{/* Show profile block */}}

View File

@ -0,0 +1,62 @@
{{ $page := . }}
{{ $featured := (.Resources.ByType "image").GetMatch "*featured*" }}
{{ $anchor := $page.Params.image.focal_point | default "Smart" }}
{{/* Set default titles for node pages */}}
{{ $title := .Title }}
{{ if and (not $title) .IsNode }}
{{ if eq .Type "post" }}
{{ $title = i18n "posts" }}
{{ else if eq .Type "talk" }}
{{ $title = i18n "talks" }}
{{ else if eq .Type "publication" }}
{{ $title = i18n "publications" }}
{{end}}
{{end}}
{{/* Header image */}}
{{/* Featured image */}}
{{ if and $featured (not .Params.image.preview_only) }}
{{ $image := $featured.Fill (printf "680x500 q90 %s" $anchor) }}
<div class="container split-header">
<div class="row justify-content-center">
<div class="col-lg-8">
<img class="img-fluid w-100" src="{{ $image.RelPermalink }}" itemprop="image" alt="">
{{ with $.Params.image.caption }}<span
class="article-header-caption">{{ . | markdownify | emojify }}</span>{{ end }}
</div>
<div class="col-lg-8">
<h1 itemprop="name">{{ $title }}</h1>
{{ with $page.Params.subtitle }}
<p class="page-subtitle">{{ . | markdownify | emojify }}</p>
{{end}}
{{ partial "page_metadata" (dict "page" $page "is_list" 0 "share" true) }}
{{ partial "page_links_div.html" $page }}
</div>
{{else}}
{{/* Case when page has no image */}}
{{/* Wider container for nodes */}}
{{ $ctnr := "article-container" }}
{{ if $page.IsNode }}
{{ $ctnr = "universal-wrapper" }}
{{end}}
<div class="{{$ctnr}} py-3">
<h1 itemprop="name">{{ $title }}</h1>
{{ with $page.Params.subtitle }}
<p class="page-subtitle">{{ . | markdownify | emojify }}</p>
{{end}}
{{ if not .IsNode }}
{{ partial "page_metadata" (dict "page" $page "is_list" 0 "share" true) }}
{{ partial "page_links_div.html" $page }}
{{end}}
{{end}}
</div>
</div>
</div>

View File

@ -0,0 +1,158 @@
{{ $is_list := .is_list }}
{{ $page := .page }}
{{ $link := "" }}
{{/* ***** TODO: Deprecate `url_preprint` in favour of `url_pdf` given there's now a dedicated "Preprint" pub. type. ***** */}}
{{ with $page.Params.url_preprint }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ i18n "btn_preprint" }}
</a>
{{ end }}
{{ $pdf := "" }}
{{ $resource := $page.Resources.GetMatch (printf "%s.pdf" $page.File.ContentBaseName) }}
{{ with $resource }}
{{ $pdf = .RelPermalink }}
{{ else }}
{{ if $page.Params.url_pdf }}
{{ $pdf = $page.Params.url_pdf | relURL }}
{{ end }}
{{ end }}
{{ with $pdf }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ . }}" target="_blank" rel="noopener">
{{ i18n "btn_pdf" }}
</a>
{{ end }}
{{ $resource := $page.Resources.GetMatch "cite.bib" }}
{{ with $resource }}
<button type="button" class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}} js-cite-modal"
data-filename="{{ .RelPermalink }}">
{{ i18n "btn_cite" }}
</button>
{{ end }}
{{ with $page.Params.url_code }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ i18n "btn_code" }}
</a>
{{ end }}
{{ with $page.Params.url_dataset }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ i18n "btn_dataset" }}
</a>
{{ end }}
{{ if $page.Params.projects }}
{{ range $page.Params.projects }}
{{ with (site.GetPage (printf "project/%s" .)) }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ .RelPermalink }}">
{{ i18n "btn_project" }}
</a>
{{ else }}
{{/* errorf "The `projects` parameter in `content/%s` references a project file, `content/project/%s`, which cannot be found. Please either set `projects = []` or fix the reference." $page.File.Path . */}}
{{ end }}
{{ end }}
{{ else }}
{{ with $page.Params.url_project }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ . }}" target="_blank" rel="noopener">
{{ i18n "btn_project" }}
</a>
{{ end }}
{{ end }}
{{ with $page.Params.url_poster }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ i18n "btn_poster" }}
</a>
{{ end }}
{{ if $page.Params.slides }}
{{ with (site.GetPage (printf "slides/%s" $page.Params.slides)) }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ .RelPermalink }}" target="_blank">
{{ i18n "btn_slides" }}
</a>
{{ end }}
{{ else }}
{{ with $page.Params.url_slides }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ i18n "btn_slides" }}
</a>
{{ end }}
{{ end }}
{{ with $page.Params.url_video }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ i18n "btn_video" }}
</a>
{{ end }}
{{ with $page.Params.url_source }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ i18n "btn_source" }}
</a>
{{ end }}
{{ with $page.Params.doi }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="https://doi.org/{{ . }}" target="_blank" rel="noopener">
DOI
</a>
{{ end }}
{{ range $page.Params.links }}
{{ $pack := or .icon_pack "fas" }}
{{ $pack_prefix := $pack }}
{{ if in (slice "fab" "fas" "far" "fal") $pack }}
{{ $pack_prefix = "fa" }}
{{ end }}
{{ $link := .url | default "" }}
{{ $scheme := (urls.Parse $link).Scheme }}
{{ $target := "" }}
{{ if not $scheme }}
{{ $resource := $page.Resources.GetMatch $link }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = $link | relURL }}
{{ end }}
{{ else if in (slice "http" "https") $scheme }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
<a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }}>
{{ if .icon }}<i class="{{ $pack }} {{ $pack_prefix }}-{{ .icon }} {{if .name}}mr-1{{end}}"></i>{{end}}
{{ with .name }}{{ . | safeHTML }}{{end}}
</a>
{{ end }}

View File

@ -0,0 +1,25 @@
{{/* Div wrapper around page links. */}}
{{/* The wrapper is hidden when the page has no link buttons. */}}
{{ $page := . }}
{{ $pdf_link := false }}
{{ $cite_link := false }}
{{ $slug := $page.File.ContentBaseName }}
{{ $resource := $page.Resources.GetMatch (printf "%s.pdf" $slug) }}
{{ with $resource }}
{{ $pdf_link = true }}
{{ end }}
{{ $resource := $page.Resources.GetMatch "cite.bib" }}
{{ with $resource }}
{{ $cite_link = true }}
{{ end }}
{{ if $cite_link | or $pdf_link | or .Params.external_link | or .Params.doi | or .Params.url_preprint | or .Params.url_pdf | or .Params.url_slides | or .Params.url_video | or .Params.url_source | or .Params.url_code | or .Params.url_dataset | or .Params.url_poster | or .Params.url_project | or .Params.links | or .Params.projects | or .Params.slides }}
<div class="btn-links mb-3">
{{ with .Params.external_link }}
<a class="btn btn-outline-primary my-1" href="{{ . }}" target="_blank" rel="noopener">{{ i18n "open_project_site" }}</a>
{{ end }}
{{ partial "page_links" (dict "page" $page "is_list" 0) }}
</div>
{{ end }}

View File

@ -0,0 +1,74 @@
{{ $is_list := .is_list }}
{{ $share := .share | default false }}
{{ $page := .page }}
<meta content="{{ $page.Params.Date }}" itemprop="datePublished">
<meta content="{{ $page.Params.LastMod }}" itemprop="dateModified">
<div class="article-metadata">
{{/* If `authors` is set and is not empty. */}}
{{ if $page.Params.authors }}
{{ $authorLen := len $page.Params.authors }}
{{ if gt $authorLen 0 }}
<div>
{{ partial "page_metadata_authors" $page }}
</div>
{{ end }}
{{ end }}
{{ if not (in (slice "talk" "page") $page.Type) }}
<span class="article-date">
{{ $date := $page.Lastmod.Format site.Params.date_format }}
{{ if eq $page.Type "publication" }}
{{ $date = $page.Date.Format (site.Params.publications.date_format | default "January, 2006") }}
{{ else }}
{{ if ne $page.Params.Lastmod $page.Params.Date }}
{{ i18n "last_updated" }}
{{ end }}
{{ end }}
<time>{{ $date }}</time>
</span>
{{ end }}
{{ if and (eq $is_list 1) (eq $page.Type "publication") }}
<span class="middot-divider"></span>
<span class="pub-publication">
{{ if $page.Params.publication_short }}
{{ $page.Params.publication_short | markdownify }}
{{ else if $page.Params.publication }}
{{ $page.Params.publication | markdownify }}
{{ end }}
</span>
{{ end }}
{{ if and (eq $page.Type "post") (not (or (eq site.Params.reading_time false) (eq $page.Params.reading_time false))) }}
<span class="middot-divider"></span>
<span class="article-reading-time">
{{ $page.ReadingTime }} {{ i18n "minute_read" }}
</span>
{{ end }}
{{ $comments_enabled := and site.DisqusShortname (not (or site.Params.disable_comments (eq $page.Params.comments false))) }}
{{ if and $comments_enabled (site.Params.comment_count | default true) }}
<span class="middot-divider"></span>
<a href="{{ $page.RelPermalink }}#disqus_thread"><!-- Count will be inserted here --></a>
{{ end}}
{{ $taxonomy := "categories" }}
{{ with $page.Param $taxonomy }}
<span class="middot-divider"></span>
<span class="article-categories">
<i class="fas fa-folder"></i>
{{ range $index, $value := . -}}
{{- if gt $index 0 }}, {{ end -}}
<a href="{{ (site.GetPage (printf "/%s/%s" $taxonomy (. | urlize))).RelPermalink }}">{{ . }}</a>
{{- end -}}
</span>
{{ end }}
{{ if $share }}
{{ partial "share.html" $page }}
{{ end }}
</div>

View File

@ -0,0 +1,17 @@
{{/* Display author list. */}}
{{ $taxonomy := "authors" }}
{{ with .Param $taxonomy }}
{{ range $index, $value := . }}
{{- $profile_page := site.GetPage (printf "/%s/%s" $taxonomy (. | urlize)) -}}
{{- $name := $profile_page.Params.name | default ($value|markdownify) -}}
{{- if gt $index 0 }}, {{ end -}}
<span itemprop="author name" itemtype="http://schema.org/Person">
{{- with $profile_page -}}
<a href="{{.RelPermalink}}">{{$name}}</a>
{{- else -}}
{{$name}}
{{- end -}}
</span>
{{- end -}}
{{ end }}

View File

@ -0,0 +1,12 @@
{{ if or (.Paginator.HasPrev) (.Paginator.HasNext) }}
<nav>
<ul class="pagination justify-content-center">
{{ if .Paginator.HasPrev }}
<li class="page-item"><a class="page-link" href="{{ .Paginator.Prev.URL }}">&laquo;</a></li>
{{ end }}
{{ if .Paginator.HasNext }}
<li class="page-item"><a class="page-link" href="{{ .Paginator.Next.URL }}">&raquo;</a></li>
{{ end }}
</ul>
</nav>
{{ end }}

View File

@ -0,0 +1,25 @@
{{ $item := .item }}
{{ $widget := .widget }}
{{ $link := .link }}
{{ $target := .target }}
{{ $resource := ($item.Resources.ByType "image").GetMatch "*featured*" }}
{{ $js_tag_classes := delimit (apply (apply $item.Params.tags "replace" "." " " "-") "printf" "js-id-%s" ".") " " }}
<div class="project-card project-item isotope-item {{ $js_tag_classes | safeHTMLAttr }}">
<div class="card rounded-0 shadow-sm">
{{ with $resource }}
{{ $image := .Resize (printf "550x q90 %s") }}
<a href="{{ $link }}" {{ $target | safeHTMLAttr }} class="card-image">
<img src="{{ $image.RelPermalink }}" alt="" class="img-responsive">
</a>
{{ end }}
<div class="card-body">
<h4><a href="{{ $link }}" {{ $target | safeHTMLAttr }}>{{ $item.Title | markdownify | emojify }}</a></h4>
<div class="card-desription">
{{ with $item.Params.summary }}<p>{{ . | markdownify | emojify }}</p>{{ end }}
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,15 @@
{{ $item := .item }}
{{ $widget := .widget }}
{{ $link := .link }}
{{ $target := .target }}
{{ $js_tag_classes := delimit (apply (apply $item.Params.tags "replace" "." " " "-") "printf" "js-id-%s" ".") " " }}
<div class="col-lg-12 project-item isotope-item {{ $js_tag_classes | safeHTMLAttr }}" itemscope itemtype="http://schema.org/CreativeWork">
<i class="far fa-copy pub-icon" aria-hidden="true"></i>
<span class="project-title">
<a href="{{ $link }}" {{ $target | safeHTMLAttr }} itemprop="url">{{ $item.Title | markdownify | emojify }}</a>
</span>
{{ with $item.Params.summary }}<p class="project-summary">{{ . | markdownify | emojify }}</p>{{ end }}
</div>

View File

@ -0,0 +1,57 @@
{{ $item := .item }}
{{ $widget := .widget }}
{{ $do_link := true }}
{{ if $item.Params.external_link | or $item.Content }}
{{ $do_link = true }}
{{ else }}
{{ $do_link = false }}
{{ end }}
{{ $link := .link }}
{{ $target := .target }}
{{ $order := "" }}
{{ if and ($widget.Params.design.flip_alt_rows | default true) (not (modBool .index 2)) }}
{{ $order = "order-md-2" }}
{{ end }}
{{ $js_tag_classes := delimit (apply (apply $item.Params.tags "replace" "." " " "-") "printf" "js-id-%s" ".") " " }}
<div class="col-lg-12 project-item isotope-item {{ $js_tag_classes | safeHTMLAttr }}" itemscope itemtype="http://schema.org/CreativeWork">
<div class="row align-items-center">
<div class="col-12 col-md-6">
<h3 class="article-title mb-0 mt-0" itemprop="name">
{{- if $do_link}}<a href="{{ $link }}" {{ $target | safeHTMLAttr }} itemprop="url">{{end -}}
{{ $item.Title | markdownify | emojify }}
{{- if $do_link}}</a>{{end -}}
</h3>
{{ $summary := "" }}
{{ if $item.Params.summary }}
{{ $summary = $item.Params.summary }}
{{ else if $item.Truncated }}
{{ $summary = $item.Summary }}
{{ end }}
{{ with $summary }}
<div class="article-style" itemprop="articleBody">
{{ . | markdownify | emojify }}
</div>
{{ end }}
<div class="btn-links">
{{ partial "page_links" (dict "page" $item "is_list" 0) }}
</div>
</div>
<div class="col-12 col-md-6 order-first {{$order}}">
{{ $resource := ($item.Resources.ByType "image").GetMatch "*featured*" }}
{{ with $resource }}
{{ $image := .Resize "540x" }}
{{if $do_link}}<a href="{{ $link }}" {{ $target | safeHTMLAttr }}>{{end}}
<img src="{{ $image.RelPermalink }}" itemprop="image" alt="">
{{if $do_link}}</a>{{end}}
{{end}}
</div>
</div>
</div>

View File

@ -0,0 +1,32 @@
<aside class="search-results" id="search">
<div class="container">
<section class="search-header">
<div class="row no-gutters justify-content-between mb-3">
<div class="col-6">
<h1>{{ i18n "search" }}</h1>
</div>
<div class="col-6 col-search-close">
<a class="js-search" href="#"><i class="fas fa-times-circle text-muted" aria-hidden="true"></i></a>
</div>
</div>
<div id="search-box">
{{ if eq site.Params.search.engine 1 }}
<input name="q" id="search-query" placeholder="{{i18n "search_placeholder"}}" autocapitalize="off"
autocomplete="off" autocorrect="off" role="textbox" spellcheck="false" type="search">
{{ else }}
<!-- Search box will appear here -->
{{ end }}
</div>
</section>
<section class="section-search-results">
<div id="search-hits">
<!-- Search results will appear here -->
</div>
</section>
</div>
</aside>

View File

@ -0,0 +1,18 @@
{{ $str := "" }}
<div class="post-nav">
{{if .NextInSection}}
{{/* For the docs layout, prev/next labels are reversed. */}}
{{ if eq .Type "docs" }}{{ $str = "previous" }}{{else}}{{ $str = "next" }}{{end}}
<div class="post-nav-item">
<div class="meta-nav">{{ i18n $str }}</div>
<a href="{{.NextInSection.RelPermalink}}" rel="next">{{.NextInSection.Title}}</a>
</div>
{{end}}
{{if .PrevInSection}}
{{ if eq .Type "docs" }}{{ $str = "next" }}{{else}}{{ $str = "previous" }}{{end}}
<div class="post-nav-item">
<div class="meta-nav">{{ i18n $str }}</div>
<a href="{{.PrevInSection.RelPermalink}}" rel="prev">{{.PrevInSection.Title}}</a>
</div>
{{end}}
</div>

View File

@ -0,0 +1,20 @@
{{ if and site.Params.sharing (ne .Params.share false) }}
<div class="share-box" aria-hidden="true">
<ul class="share">
{{ range where site.Data.page_sharer.buttons "enable" true }}
{{ $pack := or .icon_pack "fas" }}
{{ $pack_prefix := $pack }}
{{ if in (slice "fab" "fas" "far" "fal") $pack }}
{{ $pack_prefix = "fa" }}
{{ end }}
{{ $link := replace .url "{url}" ($.Permalink | htmlEscape) }}
{{ $link = replace $link "{title}" ($.Title | htmlEscape) }}
<li>
<a href="{{$link|safeURL}}" target="_blank" rel="noopener" class="share-btn-{{.id}}">
<i class="{{$pack}} {{$pack_prefix}}-{{.icon}}"></i>
</a>
</li>
{{ end }}
</ul>
</div>
{{ end }}

View File

@ -0,0 +1,41 @@
<footer class="site-footer">
<div class="container">
<div class="row align-items-center">
<div class="col-md-6 mb-4 mb-md-0">
{{ with site.GetPage "privacy.md" }}
<p class="powered-by">
{{ printf "<a href=\"%s\">%s</a>" .RelPermalink .Title | safeHTML }}
</p>
{{ end }}
<p class="mb-0">
{{ with site.Copyright }}{{ replace . "{year}" now.Year | markdownify}} &middot; {{ end }}
Site réalisé à partir du thème :
<a href="https://themes.gohugo.io/themes/academia-hugo/" target="_blank" rel="noopener">Academia Hugo</a>.
</p>
</div>
<div class="col-md-6">
<ul class="list-inline network-icon text-right mb-0">
{{/* Contact links. */}}
{{ range site.Params.contact_links }}
{{ $pack := or .icon_pack "fas" }}
{{ $pack_prefix := $pack }}
{{ if in (slice "fab" "fas" "far" "fal") $pack }}
{{ $pack_prefix = "fa" }}
{{ end }}
{{ $link := .link }}
{{ $scheme := (urls.Parse $link).Scheme }}
{{ $target := "" }}
{{ if not $scheme }}
{{ $link = .link | relLangURL }}
{{ else if in (slice "http" "https") $scheme }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
<li class="list-inline-item">
<a href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }} title="{{.name}}"><i class="{{ $pack }} {{ $pack_prefix }}-{{ .icon }}" aria-hidden="true"></i></a>
</li>
{{ end }}
</ul>
</div>
</div>
</div>
</footer>

View File

@ -0,0 +1,202 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Source Themes Academia {{ site.Data.academia.version }}">
{{ hugo.Generator}}
{{ $scr := .Scratch }}
{{/* Attempt to load superuser. */}}
{{ $superuser_name := "" }}
{{ $superuser_username := "" }}
{{ $superuser_role := "" }}
{{ range first 1 (where (where site.Pages "Section" "authors") "Params.superuser" true) }}
{{ $superuser_name = .Params.name }}
{{ $superuser_username = path.Base (path.Split .Path).Dir }}
{{ $superuser_role = .Params.role }}
{{ end }}
{{ $scr.Set "superuser_username" $superuser_username }}{{/* For access from page_author.html. */}}
{{ with $superuser_name }}<meta name="author" content="{{ . }}">{{ end }}
{{/* Generate page description. */}}
{{ $desc := "" }}
{{ if .Params.summary }}
{{ $desc = .Params.summary }}
{{ else if .Params.abstract }}
{{ $desc = .Params.abstract }}
{{ else if .IsPage }}
{{ $desc = .Summary }}
{{ else if site.Params.description }}
{{ $desc = site.Params.description }}
{{ else }}
{{ $desc = $superuser_role }}
{{ end }}
<meta name="description" content="{{ $desc }}">
{{ range .Translations }}
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}">
{{ end }}
<link rel="alternate" hreflang="{{ site.LanguageCode | default "en-us" }}" href="{{ .Permalink }}">
{{ partial "functions/parse_theme" . }}
{{ $css := site.Data.assets.css }}
{{ $js := site.Data.assets.js }}
{{ if ne ($scr.Get "primary") "#fff" }}
<meta name="theme-color" content="{{ $scr.Get "primary" }}">
{{ end }}
{{/* Attempt to load local vendor CSS, otherwise load from CDN. */}}
{{ $scr.Set "vendor_css_filename" "main.min.css" }}
{{ $scr.Set "vendor_js_filename" "main.min.js" }}
{{ if and (fileExists (printf "static/css/vendor/%s" ($scr.Get "vendor_css_filename"))) (fileExists (printf "static/js/vendor/%s" ($scr.Get "vendor_js_filename"))) }}
{{ $scr.Set "use_cdn" 0 }}
<link rel="stylesheet" href="{{ printf "/css/vendor/%s" ($scr.Get "vendor_css_filename") | relURL }}">
{{ else }}
{{ $scr.Set "use_cdn" 1 }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.academicons.url $css.academicons.version) $css.academicons.sri | safeHTML }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.fontAwesome.url $css.fontAwesome.version) $css.fontAwesome.sri | safeHTML }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.fancybox.url $css.fancybox.version) $css.fancybox.sri | safeHTML }}
{{/* Default to enabling highlighting, but allow the user to override it in .Params or site.Params.
Use $scr to store "highlight_enabled", so that we can read it again in footer.html. */}}
{{ $scr.Set "highlight_enabled" true }}
{{ if isset .Params "highlight" }}
{{ $scr.Set "highlight_enabled" .Params.highlight }}
{{ else if isset site.Params "highlight" }}
{{ $scr.Set "highlight_enabled" site.Params.highlight }}
{{ end }}
{{ if ($scr.Get "highlight_enabled") }}
{{ $v := $css.highlight.version }}
{{ with site.Params.highlight_style }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-light\">" (printf $css.highlight.url $css.highlight.version .) | safeHTML }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-dark\" disabled>" (printf $css.highlight.url $css.highlight.version .) | safeHTML }}
{{ else }}
{{ if eq ($scr.Get "light") true }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-light\">" (printf $css.highlight.url $css.highlight.version "github") | safeHTML }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-dark\" disabled>" (printf $css.highlight.url $css.highlight.version "dracula") | safeHTML }}
{{ else }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-light\" disabled>" (printf $css.highlight.url $css.highlight.version "github") | safeHTML }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" crossorigin=\"anonymous\" title=\"hl-dark\">" (printf $css.highlight.url $css.highlight.version "dracula") | safeHTML }}
{{ end }}
{{ end }}
{{ end }}
{{ if or (eq site.Params.map 2) (eq site.Params.map 3) }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.leaflet.url $css.leaflet.version) $css.leaflet.sri | safeHTML }}
{{ end }}
{{ if eq site.Params.search.engine 2 }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.instantsearch.url $css.instantsearch.version) $css.instantsearch.sri | safeHTML }}
{{ printf "<link rel=\"stylesheet\" href=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\">" (printf $css.instantsearchTheme.url $css.instantsearchTheme.version) $css.instantsearchTheme.sri | safeHTML }}
{{ end }}
{{ end }}
{{/* We cannot use SRI with Google Fonts because the CSS is dynamically generated according to the user agent. */}}
{{ with ($scr.Get "google_fonts") }}
<link rel="stylesheet" {{ printf "href=\"https://fonts.googleapis.com/css?family=%s&display=swap\"" . | safeHTMLAttr }}>
{{ end }}
{{ $css_options := (dict "targetPath" "css/academia.css" "outputStyle" "compressed") }}
{{ $sass_template := resources.Get "sass/main.scss" }}
{{ $style := $sass_template | resources.ExecuteAsTemplate "main_parsed.scss" . | toCSS $css_options | minify | fingerprint "md5" }}
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
{{ if site.Params.plugins_css }}
{{ $css_comment := printf "/* Source Themes academia v%s | https://sourcethemes.com/academic/ */\n" site.Data.academia.version }}
{{ $css_bundle_head := $css_comment | resources.FromString "css/bundle-head.css" }}
{{ $css_bundle := slice }}
{{ range site.Params.plugins_css }}
{{ $css_bundle = $css_bundle | append (resources.Get (printf "css/%s.css" .)) }}
{{ end }}
{{ $css_bundle := $css_bundle | resources.Concat "css/academia-bundle-pre.css" | minify }}
{{ $css_bundle := slice $css_bundle_head $css_bundle | resources.Concat "css/academia.css" | fingerprint "md5" }}
<link rel="stylesheet" href="{{ $css_bundle.RelPermalink }}">
{{ end }}
{{ if not site.IsServer }}
{{ if site.Params.microsoft_clarity }}
<script type="text/javascript">
(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "{{ site.Params.microsoft_clarity }}");
</script>
{{ end }}
{{ if site.GoogleAnalytics }}
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', '{{ site.GoogleAnalytics }}', 'auto');
{{ if site.Params.privacy_pack }}ga('set', 'anonymizeIp', true);{{ end }}
ga('require', 'eventTracker');
ga('require', 'outboundLinkTracker');
ga('require', 'urlChangeTracker');
ga('send', 'pageview');
</script>
<script async src="//www.google-analytics.com/analytics.js"></script>
{{ if ($scr.Get "use_cdn") }}
{{ printf "<script async src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.autotrack.url $js.autotrack.version) $js.autotrack.sri | safeHTML }}
{{ end }}
{{ end }}
{{ end }}
{{ with .OutputFormats.Get "RSS" }}
<link rel="alternate" href="{{ .RelPermalink }}" type="application/rss+xml" title="{{ site.Title }}">
<link rel="feed" href="{{ .RelPermalink }}" type="application/rss+xml" title="{{ site.Title }}">
{{ end }}
<link rel="manifest" href="{{ "site.webmanifest" | relURL }}">
<link rel="icon" type="image/png" href="{{ "/img/icon.png" | relURL }}">
<link rel="apple-touch-icon" type="image/png" href="{{ "/img/icon-192.png" | relURL }}">
<link rel="canonical" href="{{ .Permalink }}">
{{ $featured_image := (.Resources.ByType "image").GetMatch "*featured*" }}
{{ $og_image := "" }}
{{ $twitter_card := "summary_large_image" }}
{{ if $featured_image }}
{{ $og_image = $featured_image.Permalink }}
{{ else if .Params.header.image }}
{{ $og_image = printf "img/%s" .Params.header.image | absURL }}
{{ else if site.Params.sharing_image }}
{{ $og_image = printf "img/%s" site.Params.sharing_image | absURL }}
{{ else if site.Params.avatar }}
{{ $og_image = (printf "img/%s" site.Params.avatar) | absURL }}
{{ $twitter_card = "summary" }}
{{ else }}
{{ $og_image = "img/icon-192.png" | absURL }}
{{ $twitter_card = "summary" }}
{{ end }}
<meta property="twitter:card" content="{{ $twitter_card }}">
{{ with site.Params.twitter }}
<meta property="twitter:site" content="@{{ . }}">
<meta property="twitter:creator" content="@{{ . }}">
{{ end }}
<meta property="og:site_name" content="{{ site.Title }}">
<meta property="og:url" content="{{ .Permalink }}">
<meta property="og:title" content="{{ if not .IsHome }}{{ .Title }} | {{ end }}{{ site.Title }}">
<meta property="og:description" content="{{ $desc }}">
{{- with $og_image -}}
<meta property="og:image" content="{{.}}">
<meta property="twitter:image" content="{{.}}">
{{- end -}}
<meta property="og:locale" content="{{ site.LanguageCode | default "en-us" }}">
{{ if .IsPage }}
{{ if not .PublishDate.IsZero }}<meta property="article:published_time" content="{{ .PublishDate.Format "2006-01-02T15:04:05-07:00" | safeHTML }}">
{{ else if not .Date.IsZero }}<meta property="article:published_time" content="{{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }}">{{ end }}
{{ if not .Lastmod.IsZero }}<meta property="article:modified_time" content="{{ .Lastmod.Format "2006-01-02T15:04:05-07:00" | safeHTML }}">{{ end }}
{{ else }}
{{ if not .Date.IsZero }}<meta property="og:updated_time" content="{{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }}">{{ end }}
{{ end }}
{{ partial "cookie_consent" . }}
{{ partial "custom_head" . }}
<title>{{ if not .IsHome }}{{ .Title }} | {{ end }}{{ site.Title }}</title>
</head>

View File

@ -0,0 +1,153 @@
{{ $scr := $.Scratch }}
{{/* Config LaTeX math rendering. */}}
{{ if or .Params.math site.Params.math }}
{{ $mathjax_config := resources.Get "js/mathjax-config.js" }}
<script src="{{ $mathjax_config.RelPermalink }}"></script>
{{ end }}
{{/* Attempt to load local vendor JS, otherwise load from CDN. */}}
{{ $js := site.Data.assets.js }}
{{ if not ($scr.Get "use_cdn") }}
<script src="{{ printf "/js/vendor/%s" ($scr.Get "vendor_js_filename") | relURL }}"></script>
{{ else }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.jQuery.url $js.jQuery.version) $js.jQuery.sri | safeHTML }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.imagesLoaded.url $js.imagesLoaded.version) $js.imagesLoaded.sri | safeHTML }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.isotope.url $js.isotope.version) $js.isotope.sri | safeHTML }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.fancybox.url $js.fancybox.version) $js.fancybox.sri | safeHTML }}
{{ if or .Params.diagram site.Params.diagram }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\" title=\"mermaid\"></script>" (printf $js.mermaid.url $js.mermaid.version) $js.mermaid.sri | safeHTML }}
{{ end }}
{{ if $.Scratch.Get "highlight_enabled" }}
{{ $v := $js.highlight.version }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.highlight.url $v) $js.highlight.sri | safeHTML }}
{{ range site.Params.highlight_languages }}
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/{{ $v }}/languages/{{ . }}.min.js"></script>
{{ end }}
{{ end }}
{{/* LaTeX math rendering. */}}
{{ if or .Params.math site.Params.math }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\" async></script>" (printf $js.mathJax.url $js.mathJax.version) $js.mathJax.sri | safeHTML }}
{{ end }}
{{ end }}
{{/* Maps JS. */}}
{{ if eq site.Params.map 1 }}
<script async defer src="//maps.googleapis.com/maps/api/js?key={{ site.Params.map_api_key }}"></script>
{{ if ($scr.Get "use_cdn") }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.gmaps.url $js.gmaps.version) $js.gmaps.sri | safeHTML }}
{{ end }}
{{ else if and (or (eq site.Params.map 2) (eq site.Params.map 3)) ($scr.Get "use_cdn") }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.leaflet.url $js.leaflet.version) $js.leaflet.sri | safeHTML }}
{{ end }}
{{/* Comments JS. */}}
{{ $comments_enabled := and site.DisqusShortname (not (or site.Params.disable_comments $.Params.disable_comments)) }}
{{ if and $comments_enabled (site.Params.comment_count | default true) }}
<script id="dsq-count-scr" src="//{{ site.DisqusShortname }}.disqus.com/count.js" async></script>
{{ end }}
{{/* Initialise code highlighting. */}}
{{ if $.Scratch.Get "highlight_enabled" }}
<script>hljs.initHighlightingOnLoad();</script>
{{ end }}
{{ if ne site.Params.search.engine 0 }}
{{/* Configure search engine. */}}
<script>
const search_index_filename = {{ "/index.json" | relLangURL }};
const i18n = {
'placeholder': {{ i18n "search_placeholder" }},
'results': {{ i18n "search_results" }},
'no_results': {{ i18n "search_no_results" }}
};
const content_type = {
'post': {{ i18n "posts" }},
'project': {{ i18n "projects" }},
'publication' : {{ i18n "publications" }},
'talk' : {{ i18n "talks" }}
};
</script>
{{ end }}
{{/* Load hash anchors for documentation pages. */}}
{{ if eq .Type "docs" }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.anchor.url $js.anchor.version) $js.anchor.sri | safeHTML }}
<script>
anchors.add();
</script>
{{ end }}
{{ if eq site.Params.search.engine 1 }}
{{/* Fuse search result template. */}}
<script id="search-hit-fuse-template" type="text/x-template">
<div class="search-hit" id="summary-{{"{{key}}"}}">
<div class="search-hit-content">
<div class="search-hit-name">
{{ printf "<a href=\"%s\">%s</a>" "{{relpermalink}}" "{{title}}" | safeHTML }}
<div class="article-metadata search-hit-type">{{"{{type}}"}}</div>
<p class="search-hit-description">{{"{{snippet}}"}}</p>
</div>
</div>
</div>
</script>
{{ else if eq site.Params.search.engine 2 }}
{{/* Algolia search result template. */}}
<script id="search-hit-algolia-template" type="text/html">
<div class="search-hit">
<div class="search-hit-content">
<div class="search-hit-name">
{{ printf "<a href=\"%s\">{{{_highlightResult.title.value}}}</a>" "{{relpermalink}}" | safeHTML }}
</div>
<div class="article-metadata search-hit-type">{{"{{type}}"}}</div>
<p class="search-hit-description">{{ safeHTML "{{{_highlightResult.summary.value}}}" }}</p>
</div>
</div>
</script>
{{ end }}
{{/* Fuse search engine. */}}
{{ if and (eq site.Params.search.engine 1) ($scr.Get "use_cdn") }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.fuse.url $js.fuse.version) $js.fuse.sri | safeHTML }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.mark.url $js.mark.version) $js.mark.sri | safeHTML }}
{{ end }}
{{/* Algolia search engine. */}}
{{ if eq site.Params.search.engine 2 }}
{{ if ($scr.Get "use_cdn") }}
{{ printf "<script src=\"%s\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" (printf $js.instantsearch.url $js.instantsearch.version) $js.instantsearch.sri | safeHTML }}
{{ end }}
<script>
const algoliaConfig = {
appId: {{ site.Params.search.algolia.app_id }},
apiKey: {{ site.Params.search.algolia.api_key }},
indexName: {{ site.Params.search.algolia.index_name }},
poweredBy: {{ site.Params.search.algolia.show_logo | default false }}
};
</script>
{{ end }}
{{ $js_comment := printf "/* Source Themes academia v%s | https://sourcethemes.com/academic/ */\n" site.Data.academia.version }}
{{ $js_bundle_head := $js_comment | resources.FromString "js/bundle-head.js" }}
{{ $js_linebreak := "\n" | resources.FromString "js/linebreak.js" }}{{/* Fix no line break after Bootstrap JS causing error. */}}
{{ $js_academia := resources.Get "js/academia.js" }}
{{ $js_academia_search := resources.Get "js/academia-search.js" }}
{{ $js_algolia_search := resources.Get "js/algolia-search.js" }}
{{ $js_bootstrap := resources.Get "js/vendor/bootstrap.min.js" }}
{{ $js_bundle := slice $js_bootstrap $js_linebreak $js_academia }}
{{ if eq site.Params.search.engine 1 }}
{{ $js_bundle = $js_bundle | append $js_academia_search }}
{{ else if eq site.Params.search.engine 2 }}
{{ $js_bundle = $js_bundle | append $js_algolia_search }}
{{ end }}
{{ range site.Params.plugins_js }}
{{ $js_bundle = $js_bundle | append (resources.Get (printf "js/%s.js" .)) }}
{{ end }}
{{ $js_bundle := $js_bundle | resources.Concat "js/academia-bundle-pre.js" | minify }}
{{ $js_bundle := slice $js_bundle_head $js_bundle | resources.Concat "js/academia.min.js" | fingerprint "md5" }}
<script src="{{ $js_bundle.RelPermalink }}"></script>
{{ partial "custom_js" . }}

View File

@ -0,0 +1,25 @@
<div class="reveal">
<div class="slides">
{{/* Loop over each page. */}}
{{ range . }}
{{ if ne (len .Content) 0 }}
{{/* Must remove `<hr />` generated by Blackfriday footnotes as conflicts with slide delimiter. */}}
{{ $content := replace .Content "<div class=\"footnotes\">\n\n<hr />" "<div class=\"footnotes\">" }}
{{/* Let `<hr />` delimit slides. */}}
{{ range (split $content "<hr />") }}
{{/* Each `<section>` defines a new slide. */}}
{{/* Only begin new slide `<section>` if not already added by custom `slide` shortcode. */}}
{{ if not (in . "data-noprocess") }}
<section>
{{ end }}
{{ . | safeHTML }}
</section>
{{ end }}
{{ end }}
{{ end }}
</div>
</div>

View File

@ -0,0 +1,8 @@
{{ $taxonomy := "tags" }}
{{ with .Param $taxonomy }}
<div class="article-tags">
{{ range $index, $value := . }}
<a class="badge badge-light" href="{{ (site.GetPage (printf "/%s/%s" $taxonomy (. | urlize))).RelPermalink }}">{{ . }}</a>
{{ end }}
</div>
{{ end }}

View File

@ -0,0 +1,74 @@
{{/* Notify JS that this is a widget page */}}
<span class="js-widget-page d-none"></span>
{{/* Get widget page */}}
{{ $page := "" }}
{{ if .IsHome }}
{{ $page = "/home" }}
{{ else }}
{{ $page = .File.Path }}
{{ end }}
{{ $headless_bundle := site.GetPage $page }}
{{/* Check homepage exists */}}
{{ if not $headless_bundle }}
{{ errorf "Homepage not found or duplicate homepages detected for a localization! Add the `home/` folder (especially `/home/index.md`) to each language's content folder. For example, your site should have a `content/home/` folder containing `index.md` and your homepage sections, or for multi-language sites, `content/en/home/` and `content/zh/home/` etc. Refer to the 'Build Your Homepage' and 'Language' documentation at https://sourcethemes.com/academic/docs/ and the example homepage at https://github.com/gcushen/hugo-academia/tree/master/exampleSite/content/home/index.md ." }}
{{ end }}
{{/* Load page sections */}}
{{ range $index, $st := where ( $headless_bundle.Resources.ByType "page" ) ".Params.active" "!=" false }}
{{/* Begin widget styling */}}
{{ $bg := $st.Params.design.background }}
{{ $style := "" }}
{{ if $bg.color }}
{{ $style = printf "background-color: %s;" ($bg.color | default "transparent") }}
{{ end }}
{{ if and $bg.gradient_start $bg.gradient_end }}
{{ $style = printf "%sbackground-image: linear-gradient(%s, %s);" $style $bg.gradient_start $bg.gradient_end }}
{{ end }}
{{ if $bg.image }}
{{ $darken := "" }}
{{ if $bg.image_darken }}
{{ $darken = printf "linear-gradient(rgba(0, 0, 0, %s), rgba(0, 0, 0, %s))," (string $bg.image_darken) (string $bg.image_darken) }}
{{ end }}
{{/* See Hugo note on linking assets in styles: https://github.com/gohugoio/hugoThemes#common-permalink-issues */}}
{{ $style = printf "%sbackground-image: %s url('%s');" $style $darken (printf "img/%s" $bg.image | absURL) }}
{{ end }}
{{ with $st.Params.design.spacing.padding }}
{{ $style_pad := printf "padding: %s;" (delimit . " ") }}
{{ $style = print $style $style_pad }}
{{ end }}
{{ with $st.Params.advanced.css_style }}
{{ $style = print $style . }}
{{ end }}
{{/* Fix Hugo's ContentBaseName returning wrong file base name when page section is within a bundle. */}}
{{ $hash_id := replace $st.File.ContentBaseName "index" (path.Base (path.Split .Path).Dir) }}
{{ $widget := or $st.Params.widget "blank" }}
{{ if eq $widget "custom" }}{{ $widget = "blank" }}{{ end }}{{/* Support legacy Custom widget */}}
{{ if eq $widget "projects" }}{{ $widget = "portfolio" }}{{ end }}{{/* Support legacy Projects widget */}}
{{ $widget_path := printf "widgets/%s.html" $widget }}
{{ $widget_args := dict "root" $ "page" $st "hash_id" $hash_id }}
{{ $css_classes := $st.Params.advanced.css_class | default "" }}
{{ $extra_attributes := "" }}
{{ $use_container := true }}
{{/* Special case: Slider widget. */}}
{{ if in (slice "slider") $widget }}
{{ $css_classes = print $css_classes " carousel slide" }}
{{ $extra_attributes = printf "data-ride=\"carousel\" data-interval=\"%s\"" (string $st.Params.interval | default "5000") }}
{{ $use_container = false }}
{{ end }}
<section id="{{$hash_id}}" class="home-section {{printf "wg-%s" (replace $widget "_" "-")}} {{if $bg.text_color_light}}dark{{end}} {{if $bg.image}}parallax{{end}} {{with $css_classes}}{{.}}{{end}}" {{with $style}}style="{{. | safeCSS}}"{{end}} {{print $extra_attributes | safeHTMLAttr}}>
{{if $use_container}}<div class="container">{{end}}
{{ partial $widget_path $widget_args }}
{{if $use_container}}</div>{{end}}
</section>
{{ end }}

View File

@ -0,0 +1,114 @@
{{ $ := .root }}
{{ $page := .page }}
{{ $author := "" }}
{{ if .author }}
{{ $author = .author }}
{{ else }}
{{ $author = $page.Params.author }}
{{end}}
{{ $person_page_path := (printf "/authors/%s" (urlize $author)) }}
{{ $person_page := site.GetPage $person_page_path }}
{{ if not $person_page }}
{{ errorf "Could not find an author page at `%s`. Please check the value of `author` in your About widget and create an associated author page if one does not already exist. See https://sourcethemes.com/academic/docs/page-builder/#about " $person_page_path }}
{{end}}
{{ $person := $person_page.Params }}
<!-- About widget -->
<div class="row" itemprop="author" itemscope itemtype="http://schema.org/Person"
itemref="{{ if site.Params.email }}person-email{{ end }}{{ if site.Params.phone }} person-telephone{{ end }}{{ if site.Params.address}} person-address{{ end }}">
<div class="col-lg-5">
<div id="profile">
{{ if site.Params.gravatar }}
<img class="portrait img-fluid" src="https://s.gravatar.com/avatar/{{ md5 $person.email }}?s=200')"
itemprop="image" alt="Avatar">
{{ else }}
{{ $avatar_image := .page.Params.avatar_image }}
<img class="img-fluid" src="{{ printf "img/%s" $avatar_image | relURL }}" itemprop="image" alt="Avatar">
{{ end }}
</div>
<ul class="network-icon bg-white mx-2 py-2 text-center" aria-hidden="true">
{{ range $person.social }}
{{ $pack := or .icon_pack "fas" }}
{{ $pack_prefix := $pack }}
{{ if in (slice "fab" "fas" "far" "fal") $pack }}
{{ $pack_prefix = "fa" }}
{{ end }}
{{ $link := .link }}
{{ $scheme := (urls.Parse $link).Scheme }}
{{ $target := "" }}
{{ if not $scheme }}
{{ $link = .link | relLangURL }}
{{ else if in (slice "http" "https") $scheme }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
<li class="mx-3">
<a itemprop="sameAs" href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }}>
<i class="{{ $pack }} {{ $pack_prefix }}-{{ .icon }}"></i>
</a>
</li>
{{ end }}
</ul>
</div>
<div class="col-lg-7" itemprop="description">
<div class="portrait-title">
<h2 itemprop="name">{{ $person.name }}</h2>
{{ with $person.role }}<h3 class="d-inline-block" itemprop="jobTitle">{{ . | markdownify | emojify }},</h3>{{ end }}
{{ range $person.organizations }}
<h3 class="d-inline-block" itemprop="worksFor" itemscope itemtype="http://schema.org/Organization">
{{ with .url }}<a href="{{ . }}" target="_blank" itemprop="url" rel="noopener">{{ end }}
<span itemprop="name">{{ .name }}</span>
{{ if .url }}</a>{{ end }}
</h3>
{{ end }}
</div>
<link itemprop="url" href="{{ .Permalink }}">
{{ $person_page.Content }}
{{ range $person.btn }}
<a href="{{ .url }}" class="btn btn-primary btn-lg"><i class="fas fa-download mr-2" aria-hidden="true"></i>{{ .label }}</a>
{{ end }}
{{ if $person.display_education }}
<div class="row">
{{ with $person.education }}
<div class="col-md-7">
<h3>{{ i18n "education" | markdownify }}</h3>
<ul class="ul-edu fa-ul">
{{ range .courses }}
<li>
<i class="fa-li fas fa-graduation-cap"></i>
<div class="description">
<p class="course">{{ .course }}{{ with .year }}, {{ . }}{{ end }}</p>
<p class="institution">{{ .institution }}</p>
</div>
</li>
{{ end }}
</ul>
</div>
{{ end }}
{{ with $person.interests }}
<div class="col-md-5">
<h3>{{ i18n "interests" | markdownify }}</h3>
<ul class="ul-interests">
{{ range . }}
<li>{{ . | markdownify | emojify }}</li>
{{ end }}
</ul>
</div>
{{ end }}
</div>
{{ end }}
</div>
</div>

View File

@ -0,0 +1,49 @@
{{ $ := .root }}
{{ $page := .page }}
<!-- Accomplishments widget -->
<div class="row">
<div class="col-12 text-center section-heading">
<h1>{{ with $page.Title }}{{ . | markdownify }}{{ end }}</h1>
{{ with $page.Params.subtitle }}<p>{{ . | markdownify }}</p>{{ end }}
{{ with $page.Content }}<p>{{ . | markdownify }}</p>{{ end }}
</div>
{{ if $page.Params.item }}
{{ range $idx, $key := sort $page.Params.item ".date_start" "desc" }}
<div class="col-lg-6 col-md-6 mb-4">
<div class="card experience course shadow-sm rounded-0 border-0">
<div class="card-body">
{{- with .url -}}<a href="{{.}}" target="_blank" rel="noopener">{{- end -}}
<h4 class="card-title exp-title text-muted my-0">{{.title | markdownify | emojify}}</h4>
{{- with .url -}}</a>{{- end -}}
<div class="card-subtitle my-0 article-metadata">
{{- with .organization_url}}<a href="{{.}}" target="_blank" rel="noopener">{{end -}}
{{- .organization | markdownify | emojify -}}
{{- with .organization_url}}</a>{{end -}}
<span class="middot-divider"></span>
{{ (time .date_start).Format ($page.Params.date_format | default "Jan 2006") }}
{{ if .date_end}}
{{ (time .date_end).Format ($page.Params.date_format | default "Jan 2006") }}
{{end}}
</div>
{{with .description}}
<div class="card-text">{{. | markdownify | emojify}}</div>
{{end}}
{{ with .certificate_url }}
<a class="card-link" href="{{.}}" target="_blank" rel="noopener">
{{ i18n "see_certificate" | default "See certificate" }}
</a>
{{ end }}
</div>
</div>
</div>
{{end}}
{{end}}
</div>
</div>

View File

@ -0,0 +1,20 @@
{{ $st := .page }}
{{ $columns := $st.Params.design.columns | default "2" }}
<div class="row">
{{ if ne $columns "1" }}
<div class="col-12 section-heading text-center">
{{ with $st.Title }}<h1>{{ . | markdownify | emojify }}</h1>{{ end }}
{{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }}
</div>
<div class="col-12">
{{ $st.Content }}
</div>
{{ else }}
<div class="col-12">
{{ with $st.Title }}<h1>{{ . | markdownify | emojify }}</h1>{{ end }}
{{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }}
{{ $st.Content }}
</div>
{{ end }}
</div>

View File

@ -0,0 +1,109 @@
{{ $ := .root }}
{{ $page := .page }}
{{ $autolink := default true $page.Params.autolink }}
<!-- Contact widget -->
<div class="row contact-widget">
<div class="col-12 text-center section-heading">
<h1>{{ with $page.Title }}{{ . | markdownify }}{{ end }}</h1>
{{ with $page.Params.subtitle }}<p>{{ . | markdownify }}</p>{{ end }}
</div>
<div class="col-12">
{{ with $page.Content }}<p>{{ . | markdownify }}</p>{{ end }}
</div>
<div class="col-md-6">
{{ if $page.Params.email_form }}
{{ $post_action := "" }}
{{ if eq $page.Params.email_form 1 }}
{{ $post_action = "netlify" }}
{{ else }}
{{ if not site.Params.email }}
{{ errorf "Please set an email address for the contact form using the `email` parameter in `config.toml`. Otherwise, set `email_form = 0` to disable the contact form." }}
{{ end }}
{{ $post_action = printf "action=\"https://formspree.io/%s\"" site.Params.email }}
{{end}}
<div class="mb-3">
<form name="contact" method="POST" {{ $post_action | safeHTMLAttr }}>
<div class="form-group form-inline">
<label class="sr-only" for="inputName">{{ i18n "contact_name" }}</label>
<input type="text" name="name" class="form-control rounded-0 w-100" id="inputName"
placeholder="{{ i18n "contact_name" | default "Name" }}" required>
</div>
<div class="form-group form-inline">
<label class="sr-only" for="inputEmail">{{ i18n "contact_email" }}</label>
<input type="email" name="email" class="form-control rounded-0 w-100" id="inputEmail"
placeholder="{{ i18n "contact_email" | default "Email" }}" required>
</div>
<div class="form-group">
<label class="sr-only" for="inputMessage">{{ i18n "contact_message" }}</label>
<textarea name="message" class="form-control rounded-0" id="inputMessage" rows="5"
placeholder="{{ i18n "contact_message" | default "Message" }}" required></textarea>
</div>
<button type="submit"
class="btn btn-outline-primary px-3 py-2">{{ i18n "contact_send" | default "Envoyer" }}</button>
</form>
</div>
{{end}}
</div>
<div class="col-md-6">
<ul class="fa-ul" itemscope>
{{ if and site.Params.email (not $page.Params.email_form) }}
<li>
<i class="fa-li fas fa-envelope mt-2" aria-hidden="true"></i>
<span id="person-email" itemprop="email">
{{- if $autolink }}<a
href="mailto:{{ site.Params.email }}">{{ site.Params.email }}</a>{{ else }}{{ site.Params.email }}{{ end -}}
</span>
</li>
{{ end }}
{{ with site.Params.phone }}
<li>
<i class="fa-li fas fa-phone mt-2" aria-hidden="true"></i>
<span id="person-telephone" itemprop="telephone">
{{- if $autolink }}<a href="tel:{{ . }}">{{ . }}</a>{{ else }}{{ . }}{{ end -}}
</span>
</li>
{{ end }}
{{ with site.Params.address }}
<li>
<i class="fa-li fas fa-map-marker-alt mt-2" aria-hidden="true"></i>
<span id="person-address" itemprop="address">{{ . | markdownify | emojify }}</span>
</li>
{{ end }}
{{ with site.Params.office_hours }}
<li>
<i class="fa-li fas fa-clock mt-2" aria-hidden="true"></i>
<span>{{ . | markdownify | emojify }}</span>
</li>
{{ end }}
{{ with site.Params.appointment_url }}
<li>
<i class="fa-li fas fa-calendar-check mt-2" aria-hidden="true"></i>
<a href="{{ . }}" target="_blank"
rel="noopener">{{ i18n "book_appointment" | default "Book an appointment" }}</a>
</li>
{{ end }}
</ul>
</div>
<div class="col-12">
{{ if site.Params.map }}
<div class="d-none">
<input id="map-provider" value="{{ site.Params.map }}">
<input id="map-lat" value="{{ site.Params.latitude }}">
<input id="map-lng" value="{{ site.Params.longitude }}">
<input id="map-dir" value="{{ site.Params.address }}">
<input id="map-zoom" value="{{ site.Params.zoom | default "15" }}">
<input id="map-api-key" value="{{ site.Params.map_api_key }}">
</div>
<div id="map"></div>
{{ end }}
</div>
</div>

View File

@ -0,0 +1,59 @@
{{ $ := .root }}
{{ $page := .page }}
<!-- Experience widget -->
<div class="row">
<div class="col-12 col-lg-4 section-heading">
<h1>{{ with $page.Title }}{{ . | markdownify }}{{ end }}</h1>
{{ with $page.Params.subtitle }}<p>{{ . | markdownify }}</p>{{ end }}
</div>
<div class="col-12 col-lg-8">
{{ with $page.Content }}{{ . }}{{ end }}
{{ if $page.Params.experience }}
{{ $exp_len := len $page.Params.experience }}
{{ range $idx, $key := sort $page.Params.experience ".date_start" "desc" }}
<div class="row experience">
<!-- Timeline -->
<div class="col-auto text-center flex-column d-none d-sm-flex">
<div class="row h-50">
<div class="col {{if gt $idx 0}}border-right{{end}}">&nbsp;</div>
<div class="col">&nbsp;</div>
</div>
<div class="m-2">
<span class="badge badge-pill border {{if not .date_end}}exp-fill{{end}}">&nbsp;</span>
</div>
<div class="row h-50">
<div class="col {{if lt $idx (sub $exp_len 1)}}border-right{{end}}">&nbsp;</div>
<div class="col">&nbsp;</div>
</div>
</div>
<!-- Content -->
<div class="col py-2">
<div class="card">
<div class="card-body">
<h4 class="card-title exp-title text-muted mt-0 mb-1">{{.title | markdownify | emojify}}</h4>
<h4 class="card-title exp-company text-muted my-0">
{{- with .company_url}}<a href="{{.}}" target="_blank" rel="noopener">{{end}}{{.company | markdownify | emojify}}{{with .company_url}}</a>{{end -}}
</h4>
<div class="text-muted exp-meta">
{{ (time .date_start).Format ($page.Params.date_format | default "January 2006") }}
{{ if .date_end}}
{{ (time .date_end).Format ($page.Params.date_format | default "January 2006") }}
{{else}}
{{ i18n "present" | default "Present" }}
{{end}}
{{with .location}}
<span class="middot-divider"></span>
<span>{{.}}</span>
{{end}}
</div>
{{with .description}}<div class="card-text">{{. | markdownify | emojify}}</div>{{end}}
</div>
</div>
</div>
</div>
{{end}}
{{end}}
</div>
</div>

View File

@ -0,0 +1,59 @@
{{/* Featured Content Widget */}}
{{/* Initialise */}}
{{ $ := .root }}
{{ $st := .page }}
{{ $items_type := $st.Params.content.page_type | default "post" }}
{{ $items_count := $st.Params.content.count | default 65535 }}
{{ $items_sort := $st.Params.content.order| default "desc" }}
{{/* Query */}}
{{ $query := where (where site.RegularPages "Type" $items_type) "Params.featured" true }}
{{/* Filters */}}
{{ if $st.Params.content.filters.tag }}
{{ $archive_page := site.GetPage (printf "tags/%s" $st.Params.content.filters.tag) }}
{{ $query = $query | intersect $archive_page.Pages }}
{{ end }}
{{ if $st.Params.content.filters.category }}
{{ $archive_page := site.GetPage (printf "categories/%s" $st.Params.content.filters.category) }}
{{ $query = $query | intersect $archive_page.Pages }}
{{ end }}
{{ if $st.Params.content.filters.publication_type }}
{{ $archive_page := site.GetPage (printf "publication_types/%s" $st.Params.content.filters.publication_type) }}
{{ $query = $query | intersect $archive_page.Pages }}
{{ end }}
{{/* Sort */}}
{{ $sort_by := "Date" }}
{{ $query = sort $query $sort_by $items_sort }}
{{/* Limit */}}
{{ $query = first $items_count $query }}
<div class="row">
<div class="col-12 section-heading text-center">
<h1>{{ with $st.Title }}{{ . | markdownify | emojify }}{{ end }}</h1>
{{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }}
</div>
<div class="col-12">
<div class="row justify-content-center">
{{/* <p>{{ $st.Content }}</p> */}}
{{ range $post := $query }}
{{ if eq $st.Params.design.view 1 }}
{{ partial "li_list" . }}
{{ else if eq $st.Params.design.view 3 }}
<div class="col-lg-4 col-md-6 mb-4">
{{ partial "li_card" . }}
</div>
{{ else if eq $st.Params.design.view 4 | and (eq $items_type "publication") }}
{{ partial "li_citation" . }}
{{ else }}
{{ partial "li_compact" . }}
{{ end }}
{{end}}
</div>
</div>
</div>

View File

@ -0,0 +1,33 @@
{{ $ := .root }}
{{ $page := .page }}
<div class="row featurette">
{{ with $page.Title }}
<div class="col-12 section-heading">
<h1>{{ . | markdownify | emojify }}</h1>
{{ if $page.Params.subtitle }}<p>{{ $page.Params.subtitle | markdownify | emojify }}</p>{{ end }}
</div>
{{ end }}
{{ with $page.Content }}
<div class="col-12">
{{ . | markdownify }}
</div>
{{ end }}
{{ range $page.Params.feature }}
{{ $pack := or .icon_pack "fas" }}
{{ $pack_prefix := $pack }}
{{ if in (slice "fab" "fas" "far" "fal") $pack }}
{{ $pack_prefix = "fa" }}
{{ end }}
<div class="col-lg-3 col-sm-6 mb-4 mb-lg-0">
<div class="position-relative py-2 shadow featurette-margin">
<div class="progress-bar" style="width:{{ .parcent }}"></div>
{{ with .icon }}<div class="featurette-icon"><i class="{{ $pack }} {{ $pack_prefix }}-{{ . }}"></i></div>{{ end }}
<h3>{{ .name | markdownify | emojify }}</h3>
{{ with .parcent }}<p>{{ . }}</p>{{ end }}
</div>
</div>
{{ end }}
</div>

View File

@ -0,0 +1,54 @@
{{ $ := .root }}
{{ $page := .page }}
{{ $bg := $page.Params.design.background }}
{{ if $page.Params.hero_media }}
<div class="row">
<div class="col-md-6 order-md-1 text-center text-md-left align-self-center">
{{ end }}
{{ with $page.Content }}
<div>{{ . }}</div>
{{ end }}
{{/* Call-to-action link */}}
{{ if $page.Params.btn.url }}
{{ $pack := or $page.Params.btn.icon_pack "fas" }}
{{ $pack_prefix := $pack }}
{{ if in (slice "fab" "fas" "far" "fal") $pack }}
{{ $pack_prefix = "fa" }}
{{ end }}
{{ $link := $page.Params.btn.url }}
{{ $scheme := (urls.Parse $link).Scheme }}
{{ $target := "" }}
{{ if not $scheme }}
{{ $link = $link | relLangURL }}
{{ else if in (slice "http" "https") $scheme }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
<p class="mt-4">
<a href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }} class="btn {{if $bg.text_color_light}}btn-light{{else}}btn-primary{{end}} btn-lg page-scroll">{{ if $page.Params.btn.icon }}<i class="{{ $pack }} {{ $pack_prefix }}-{{ $page.Params.btn.icon }} mr-2" aria-hidden="true"></i>{{end}}{{ $page.Params.btn.label | markdownify | emojify | safeHTML }}</a>
{{/* Alternative Call-to-action link */}}
{{ if $page.Params.btn_alt.url }}
{{ $link := $page.Params.btn_alt.url }}
{{ $scheme := (urls.Parse $link).Scheme }}
{{ $target := "" }}
{{ if not $scheme }}
{{ $link = $link | relLangURL }}
{{ else if in (slice "http" "https") $scheme }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
<a href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }} class="btn btn-lg {{if $bg.text_color_light}}btn-outline-light{{else}}btn-outline-primary{{end}} page-scroll">{{ if $page.Params.btn_alt.icon }}<i class="{{ $pack }} {{ $pack_prefix }}-{{ $page.Params.btn_alt.icon }} mr-2" aria-hidden="true"></i>{{end}}{{ $page.Params.btn_alt.label | markdownify | emojify | safeHTML }}</a>
{{ end }}
</p>
{{ end }}
{{/* Hero image */}}
{{ if $page.Params.hero_media }}
</div>
<div class="col-10 mx-auto col-md-6 order-md-2 hero-media">
<img class="hero-img img-fluid" src="{{ printf "img/%s" $page.Params.hero_media | relURL }}" alt="">
</div>
</div>
{{ end }}

View File

@ -0,0 +1,101 @@
{{/* Pages Widget */}}
{{/* Initialise */}}
{{ $ := .root }}
{{ $st := .page }}
{{ $items_type := $st.Params.content.page_type | default "post" }}
{{ $items_offset := $st.Params.content.offset | default 0 }}
{{ $items_count := $st.Params.content.count }}
{{ if eq $items_count 0 }}
{{ $items_count = 65535 }}
{{ else }}
{{ $items_count = $items_count | default 5 }}
{{ end }}
{{ $items_sort := $st.Params.content.order | default "desc" }}
{{/* Query */}}
{{ $query := where site.RegularPages "Type" $items_type }}
{{ $archive_page := site.GetPage "Section" $items_type }}
{{/* Filters */}}
{{ if $st.Params.content.filters.tag }}
{{ $archive_page = site.GetPage (printf "tags/%s" $st.Params.content.filters.tag) }}
{{ $query = $query | intersect $archive_page.Pages }}
{{ end }}
{{ if $st.Params.content.filters.category }}
{{ $archive_page = site.GetPage (printf "categories/%s" $st.Params.content.filters.category) }}
{{ $query = $query | intersect $archive_page.Pages }}
{{ end }}
{{ if $st.Params.content.filters.publication_type }}
{{ $archive_page = site.GetPage (printf "publication_types/%s" $st.Params.content.filters.publication_type) }}
{{ $query = $query | intersect $archive_page.Pages }}
{{ end }}
{{ if $st.Params.content.filters.exclude_featured }}
{{ $query = where $query "Params.featured" "!=" true }}
{{ end }}
{{ if $st.Params.content.filters.exclude_past }}
{{ $query = where $query "Date" ">=" now }}
{{ end }}
{{ if $st.Params.content.filters.exclude_future }}
{{ $query = where $query "Date" "<" now }}
{{ end }}
{{ $count := len $query }}
{{/* Sort */}}
{{ $sort_by := "Date" }}
{{ $query = sort $query $sort_by $items_sort }}
{{/* Offset and Limit */}}
{{ if gt $items_offset 0 }}
{{ $query = first $items_count (after $items_offset $query) }}
{{ else }}
{{ $query = first $items_count $query }}
{{ end }}
{{/* Localisation */}}
{{ $i18n := "" }}
{{ if eq $items_type "post" }}
{{ $i18n = "more_posts" }}
{{ else if eq $items_type "talk" }}
{{ $i18n = "more_talks" }}
{{ else if eq $items_type "publication" }}
{{ $i18n = "more_publications" }}
{{ else }}
{{ $i18n = "more_pages" }}
{{ end }}
<div class="row">
<div class="col-12 section-heading text-center">
<h1>{{ with $st.Title }}{{ . | markdownify | emojify }}{{ end }}</h1>
{{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }}
{{ with $st.Content }}<p>{{ . }}</p>{{ end }}
</div>
<div class="col-12">
<div class="row justify-content-center">
{{ range $post := $query }}
{{ if eq $st.Params.design.view 1 }}
{{ partial "li_list" . }}
{{ else if eq $st.Params.design.view 3 }}
<div class="col-lg-4 col-md-6 mb-4">
{{ partial "li_card" . }}
</div>
{{ else if eq $st.Params.design.view 4 | and (eq $items_type "publication") }}
{{ partial "li_citation" . }}
{{ else }}
{{ partial "li_compact" . }}
{{ end }}
{{end}}
{{ if gt $count $items_count }}
<div class="see-all">
<a href="{{ $archive_page.RelPermalink }}">
{{ i18n $i18n | default "See all" }}
<i class="fas fa-angle-right"></i>
</a>
</div>
{{ end }}
</div>
</div>
</div>

View File

@ -0,0 +1,53 @@
{{ $ := .root }}
{{ $page := .page }}
<div class="row justify-content-center people-widget">
{{ with $page.Title }}
<div class="col-md-12 section-heading">
<h1>{{ . | markdownify | emojify }}</h1>
{{ if $page.Params.subtitle }}<p>{{ $page.Params.subtitle | markdownify | emojify }}</p>{{ end }}
</div>
{{ end }}
{{ with $page.Content }}
<div class="col-md-12">
<p>{{ . }}</p>
</div>
{{ end }}
{{ range $page.Params.user_groups }}
<div class="col-md-12">
<h2 class="mb-4">{{ . | markdownify }}</h2>
</div>
{{ $query := where (where site.Pages "Section" "authors") ".Params.user_groups" "intersect" (slice .) }}
{{ range $query }}
{{ $avatar := (.Resources.ByType "image").GetMatch "*avatar*" }}
{{/* Get link to user's profile page. */}}
{{ $link := "" }}
{{ with site.GetPage (printf "/authors/%s" (path.Base (path.Split .Path).Dir)) }}
{{ $link = .RelPermalink }}
{{ end }}
<div class="col-12 col-sm-auto people-person">
{{ $src := "" }}
{{ if site.Params.gravatar }}
{{ $src = printf "https://s.gravatar.com/avatar/%s?s=200" (md5 .Params.email) }}
{{ else if $avatar }}
{{ $avatar_image := $avatar.Fill "150x150 Center" }}
{{ $src = $avatar_image.RelPermalink }}
{{ end }}
{{ if $src }}
{{with $link}}<a href="{{.}}">{{end}}<img class="portrait" src="{{ $src }}" alt="Avatar">{{if $link}}</a>{{end}}
{{ end }}
<div class="portrait-title">
<h2>{{with $link}}<a href="{{.}}">{{end}}{{ .Params.name }}{{if $link}}</a>{{end}}</h2>
{{ with .Params.role }}<h3>{{ . | markdownify | emojify }}</h3>{{ end }}
{{ with .Params.interests }}<p class="people-interests">{{ delimit . ", " | markdownify | emojify }}</p>{{ end }}
</div>
</div>
{{ end }}
{{ end }}
</div>

View File

@ -0,0 +1,86 @@
{{/* Portfolio Widget */}}
{{/* Initialise */}}
{{ $ := .root }}
{{ $st := .page }}
{{ $items_type := $st.Params.content.page_type | default "project" }}
{{ $columns := $st.Params.design.columns | default "2" }}
{{ if ne $columns "1" }}
{{/* Standard dual-column layout. */}}
<div class="row">
<div class="col-12 text-center section-heading">
{{ with $st.Title }}<h1>{{ . | markdownify | emojify }}</h1>{{ end }}
{{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }}
</div>
<div class="col-12">
{{ else }}
{{/* Single column layout. */}}
<div class="center-text">
{{ with $st.Title }}<h1 class="mt-0">{{ . | markdownify | emojify }}</h1>{{ end }}
{{ with $st.Params.subtitle }}<p>{{ . | markdownify | emojify }}</p>{{ end }}
</div>
<div>
{{ end }}
{{ with $st.Content }}<p>{{ . }}</p>{{ end }}
{{ if $st.Params.content.filter_button }}
{{ $filter_default := default (int $st.Params.content.filter_default) 0 }}
{{/* Parse default filter tag from front matter in the form of either tag name or CSS class name. */}}
{{ $default_filter_tag_raw := (index $st.Params.content.filter_button ($filter_default)).tag }}
{{ $default_filter_tag := printf ".js-id-%s" (replace $default_filter_tag_raw " " "-") }}
{{ if or (eq (substr $default_filter_tag_raw 0 1) "*") (eq (substr $default_filter_tag_raw 0 1) ".") }}
{{ $default_filter_tag = $default_filter_tag_raw }}
{{ end }}
<span class="d-none default-project-filter">{{ $default_filter_tag }}</span>
{{/* Only show filter buttons if there are multiple filters. */}}
{{ if gt (len $st.Params.content.filter_button) 1 }}
<div class="project-toolbar">
<div class="project-filters">
<ul class="list-inline text-center">
<li class="list-inline-item">{{ range $idx, $item := $st.Params.content.filter_button }}
{{/* Parse filter tag from front matter in the form of either tag name or CSS class name. */}}
{{ $data_filter := printf ".js-id-%s" (replace .tag " " "-") }}
{{ if or (eq (substr .tag 0 1) "*") (eq (substr .tag 0 1) ".") }}
{{ $data_filter = .tag }}
{{ end }}
<a href="#" data-filter="{{ $data_filter | safeHTMLAttr }}"
class="btn btn-primary btn-lg{{ if eq $idx $filter_default }} active{{ end }}">{{ .name }}</a>
{{ end }}
</li>
</ul>
</div>
</div>
{{ end }}
{{ end }}
<div class="{{ if or $st.Params.content.filter_button (eq $st.Params.design.view 3) }}isotope projects-container{{end}} {{if eq $st.Params.design.view 3}}js-layout-masonry{{else}}row js-layout-row{{end}} {{ if eq $st.Params.design.view 5 }}project-showcase mt-5{{end}}">
{{ range $idx, $item := where site.RegularPages "Type" $items_type }}
{{ $link := $item.RelPermalink }}
{{ $target := "" }}
{{ if $item.Params.external_link }}
{{ $link = $item.Params.external_link }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
{{ if eq $st.Params.design.view 1 }}
{{ partial "project_li_list" (dict "widget" $st "index" $idx "item" $item "link" $link "target" $target) }}
{{ else if eq $st.Params.design.view 3 }}
{{ partial "project_li_card" (dict "widget" $st "index" $idx "item" $item "link" $link "target" $target) }}
{{ else }}
{{ partial "project_li_showcase" (dict "widget" $st "index" $idx "item" $item "link" $link "target" $target) }}
{{ end }}
{{ end }}
</div>
</div>
</div>
</div>

Some files were not shown because too many files have changed in this diff Show More