The website for the Montréal Computational & Quantitative Linguistics Lab, MCQLL, lives here. See mcqll.org.
This jekyll-based site was designed off of the al-folio theme, with modifications. If you wish to make a similar site, see readme there for some info (though note, I've switched from Pygments to Rouge for code highlighting).
Below is information you should find useful if you are editing the MCQLL site.
Download this repo to your local machine. Have Ruby,
jekyll and bundler installed.
You might need to install ruby (for instance, on macOS, using brew install ruby
, or using RVM, or chruby
see below). After installing be sure to update
your PATH by running echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile
, and reload with source ~/.bash_profile
.
Then,
bundler install
This should install the necessry 'gems' (specified in ./Gemfile
), and if
things are correctly configured, you should be able to run
bundle exec jekyll serve
to serve the site locally.
NOTES
- There may be issues with
jekyll-scholar. Use RVM
to install and use an earlier version of ruby, like
rvm install 2.7.2
thenrvm use 2.7.2
. Check withruby -v
. If you are trying to build and getting issues with your ruby version, this may solve it.
- edit a page locally (for example, edit one of the files in the
_pages/
directory, or add a newlastname.firstname.md
file to/_people
to add a new lab member) - generate the site locally with
bundle exec jekyll serve
(and preview your changes by visiting the URL that generates). - once you are satisfied with your edits, add and commit your changes and then
git push
(note, this will not be published yet) - you must deploy using
./bin/deploy --user
, and respondy
to proceed. This deploys the site to themaster
branch- What's going on here? It's a workaround.
master
is where the generated site will live,source
is for the source code. When you just rungit push
you will update the source branch. But we want to just put a generated version of the site at the master branch, rather than have GitHub do this automatically. This is because GitHub pages doesn't allow reference to certain external plugins. Currently,github-scholar
is such an unsupported plugin. So it won't work to just edit the site in themaster
branch and have GitHub do the generation for you.
- What's going on here? It's a workaround.
To add a new item to the News section, create a new document in the _news/
directory. For lab meetings, name this file with "meeting" followed by the date,
like meeting-2020-04-22.md
.
Follow this template:
---
layout: post
title: April 22nd - Presenter Name
date: 2020-04-21 # date of this post (use presentation date)
published: true # can set to false for unpublished drafts
inline: false
---
At this week's lab meeting, **Presenter Name** will be presenting on *topic*.
- **{{ page.date | date: '%A, %B %-d' }}**, at **13:30** (Montréal time, UTC-4).
#### Abstract
<blockquote>
Abstract here.
</blockquote>
#### Bio
Bio here.
Note: allowing future-dated posts requires the line in the _config.yml
:
future: true
if this is changed, posts about future lab meetings will not show up.
Note: In addition to what is described below, there is an additional file
_data/labmembers.yml
, which has a list of current and previous lab members. Currently, this file is used only to make links to lab member pages from the bibliography. This means you have to add labmembers names and info in both places which is not ideal. TODO: Consolidate (all labmember metadata could be in labmembers.yml).
There is a markdown file for each lab member in the /_people
directory, with
name format lastname.firstname.md
(this is just to be tidy and for alphabetic
ordering when the site is built).
Add a headshot or two to the /assets/img/
directory. Then edit the markdown
file: at the top of the file there is a short yaml header between two sets of
three hyphens, which should be filled (starting with layout: person
)
---
layout: person
name: # Full Name Here
position: # see "positions" description below
description: # Principal Investigator, or Associate, for faculty, or affiliation, for external collaborators
img: # image.jpg (in the /assets/img/ directory)
profile:
img: # image2.jpg (in /assets/img) optional, alternate image for the personal page, if desired
office: # address, if you want this
cv: # link to cv
website: # link to external personal webpage
link:
url: # url for other link (such as google scholar profile or something)
text: # text to show for this link.
---
Below this, enter the person's profile/bio as markdown/html.
The position
attribute determines where (and whether) the person will appear
on the People page.
Notes for specific position
s:
faculty
:description
should be the level, that is "Principal Investigator" or "Associate"postdoc
:grad
:undergrad
:alum
: will appear in a simple list. link to website, if there is a website listed underprofile:website
.assoc
: this is for associated collaborators for whom we want a profile on the site. Thedescription
should be the external university (such as "Mila") for students being directly advised by one of the lab members.
The publications page is generated from .bib files located in the
_/bibliography
directory, using
jekyll-scholar. Options for jekyll
scholar are specified in the _config.yml
(see
jekyll-scholar readme for more
info) Anything in the file default.bib
will be included, plus anything in any
additional files that are specified when the bibliography is built, as in
publications.md
, for instance, where {% bibliography --file tim.bib --file morgan.bib %}
outputs the bibliography from default.bib
plus tim.bib
and
morgan.bib
.
Links are automatically generated for a dropdown abstract, or link to a PDF of a
paper, depending on the presence of an abstract
, or url
tag in the bib
entry, respectively. This is specified in
_layouts/bib.html.
TODO: Currently there is an issue with urls that contain the tilde character
(~
). This is because jekyll-scholar uses a filter for bibtex that converts
certain latex syntax (using
bibtex-ruby) while reading the bib
file, and the ~
character is replaced with a non-breaking space, which results
in a broken link (~
becoming %C2%A0
). This filter can be disabled, by
manually setting the latex filter to not be used, in _config.yml
like so
scholar:
bibtex_filters:
# - latex
However, this breaks a lot of other nice things, mostly making a lot of curly braces show up where we don't want them.
HACK: Currently there is just a hack solution: within the bib files in
_/bibliography/*.bib
, manually replace all occurences of the character ~
(in
a URL) with the string \%7E
(that is, the
URL-encoding
for the LaTex escape in HTML).
By setting one of the following tags in a given bib file, links are generated in the following way, either to internal or external files:
url
/html
/preprint
/code
= {http://somewhere.html}
- a link to the URLhttp://somewhere.html
(presumably site-external)pdf
/poster
/slides
= {some.pdf}
- a link to a filesome.pdf
in the/_assets/pdfs/
folder (site internal)abstract = {Some text}
- a collapsing box with the text 'Some text' in itarxiv = {XXXX.YYYYY}
- a link tohttp://arxiv.org/abs/XXXX.YYYYY
lingbuzz = {somewhere.html}
a link tohttps://ling.auf.net/lingbuzz/Something"
For example, in the following, bib file,
@article{portelance.e:2017,
Title = {Mildly context-sensitive grammar induction and variational {B}ayesian
inference},
Author = {Portelance, Eva and Bruno, Chris and Bergen, Leon and O'Donnell,
Timothy J.},
Journal = {{arXiv}},
Number = {arXiv:1710.11350 [cs.CL]},
arxiv = {1710.11350},
Year = {2017},
abstract = {The following technical report presents a formal
approach to probabilistic minimalist grammar parameter estimation. We
describe a formalization of a minimalist grammar. We then present an algorithm
for the application of variational Bayesian inference to this
formalization.}
}
the arxiv
tag generates a link to the appropriate page on arxiv.org
(https://arxiv.org/abs/1710.11350), and the abstract
tag generates a
collapsing html element with the text of the abstract in it.