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
Fork
button 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 file
button. - 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: value
entries.) - Add a meaningful message in the
Commit changes
place. - Select the
Create a new branch for this commit and start a pull request
option. - Give a meaningful name to the branch you are creating.
- Press the
Propose file change
button. - When you've finished all your related changes, press the
Create pull request
button. - Navigate to the BALab web site repository again.
- Click on the
New pull request
button on the left. - In the new page (
Compare changes
), press thecompare accross forks
link. - From the
head fork
drop-down menu, choose theHead Repository
(yourusername/web) and, then, the branch where you made the changes in the forked repository. - Press the
Create pull request
button.
- All text is formatted using Markdown. See this guide for a quick introduction.
- Some pages have
Key: Value
lines 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
XEmember
andXEcategory
fields, 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'
- 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
alumni
directory and change theircategory
frommembers
toalumni
.
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
To install Pelican you need:
python
pelican
: pip install pelicanmarkdown
: pip install Markdowntypogrify
: pip install typogrifypybtex
: pip install pybtex
- Locally:
pelican content/
- To update the web site on the server:
bin/update/
- For a quick update (without pull and verifications) run
pelican content/ --output=balab/stage/
. - GitHub update on commit is done by a GET on the web-deploy endpoint