This is the repository for the BALab web site. This system is used to create and maintain the website. The system manages information regarding:
- group members and alumni,
- research projects,
- publications,
- software.
This is a responsive website (mobile, tablets and computers), using HTML, CSS & Boostrap 3.3.7. The technologies that are used are Pelican, Markdown & BiBTeX. Text is written in Markdown, while publication data is kept in BiBTeX format Data are transformed into static HTML pages by Pelican.
To contribute to the web site you need to follow these steps.
- Log into GitHub.
- Navigate to the BALab web site repository
- Click on the
Forkbutton on the top right to create your personal copy - Add or change the files you want.
- You can easily create a file with the
Create new filebutton. - You can edit a file you're viewing by pressing the
Edit this file(pencil button) icon.
- You can easily create a file with the
- Preview the change if it is Markdown text, to ensure it appears as you
want it.
(Ignore the formatting of the
key: valueentries.) - Add a meaningful message in the
Commit changesplace. - Select the
Create a new branch for this commit and start a pull requestoption. - Give a meaningful name to the branch you are creating.
- Press the
Propose file changebutton. - When you've finished all your related changes, press the
Create pull requestbutton. - Navigate to the BALab web site repository again.
- Click on the
New pull requestbutton on the left. - In the new page (
Compare changes), press thecompare accross forkslink. - From the
head forkdrop-down menu, choose theHead Repository(yourusername/web) and, then, the branch where you made the changes in the forked repository. - Press the
Create pull requestbutton.
- All text is formatted using Markdown. See this guide for a quick introduction.
- Some pages have
Key: Valuelines at the beginning. Keep these in a separate line each. - To add a new seminar, add a file under
content/seminars, using this template. - To add a new member, add a file under
content/members, using this template. - To add a new publication edit the file in
content/pubs.bib.- Use a templete associated with your publication's type from this file.
- You also can use a BibTeX entry exported from a digital library.
- In all cases, you need to add the
XEmemberandXEcategoryfields, and change the url field to XEurl field and the doi field to XEdoi. - Look at existing entries for examples.
- Use only the following text in
XEcategory:- 'Monographs and Edited Volumes'
- 'Journal Articles'
- 'Book Chapters'
- 'Conference Publications'
- 'Technical Reports'
- 'White Papers'
- 'Magazine Articles'
- 'Working Papers'
- 'PhD Theses'
- To add a new associate, add a file under
content/members, using this template. - To add a new project, add a file under
content/projects, using this template. - To add new software, add a file under
content/software, using this template. - To add a new email recipient add the name in the file
content/mail-extra. - To update a static page (ex. Member Achievements), go to
pages, follow the existing structure and use class="img-responsive" for images. - To modify an existing page, edit the corresponding file.
- To add a yearly report (e.g. Yearly Report 2020),
create a file under
content/yearly_reports. - To make members alumni, move them to the
alumnidirectory and change theircategoryfrommemberstoalumni.
The site is implemented using Pelican.
content: MD and bibtex user datamembers: Members' information (MD)alumni: Alumni' information (MD)projects: Project information (MD)pubs.bib: publications - Bibliographic data (Bibtex)pages: Rogue HTML pages, which are assigned to the site.images: Put your image here
plugins: bibtex plugintheme: templates and static filestemplates:static:css:images:fonts:
output:
doc/templates/member-associate-example.md: Template for a group member or associatedoc/templates/project-example.md: Template for a research projectdoc/templates/publication-schema.bib: Bibtex entries templates
The required pelican package and its dependencies are automatically
installed in a virtual environment when the bin/update command is
first run.
- Locally:
bin/update/ - To update the web site on the server:
git pull && sudo -u www-data bin/updat/ - GitHub update on commit is done by a GET on the web-deploy endpoint