This is the official website for the Interactive Programming & Analysis Lab at TU Wien, built with Jekyll.
This website is built using Jekyll, a static site generator that transforms plain text into static websites and blogs. Jekyll is particularly well-suited for GitHub Pages hosting.
For more information about Jekyll, see the GitHub Pages Jekyll Tutorial.
To build and preview this Jekyll site locally, follow these steps:
- Ruby (version 2.7 or higher)
- RubyGems
- GCC and Make
-
Clone the repository:
git clone https://github.com/ipa-lab/ipa-lab.github.io.git cd ipa-lab.github.io -
Install the required gems:
bundle install
-
Build and serve the site locally:
bundle exec jekyll serve -
Open your browser and navigate to:
http://localhost:4000
The site will automatically rebuild when you make changes to the source files.
For development, you can use the --livereload flag to automatically refresh the browser when changes are made:
bundle exec jekyll serve --livereloadThis repository includes two Python scripts in the _scripts/ directory for automating data fetching:
Purpose: Fetches publication data from DBLP (Digital Bibliography & Library Project).
Functionality:
- Retrieves publication information for specified researcher DBLP IDs
- Fetches data from the DBLP XML API for each researcher
- Extracts key information including title, year, venue, authors, and publication type
- Sorts publications by year (newest first) and title
- Generates a YAML file at
_data/publications/dblp_generated.yml
Configuration: Edit the dblp_ids list in the script to add or remove researchers.
Usage:
python _scripts/fetch_dblp.pyPurpose: Fetches team member information from the TU Wien TISS (TU Wien Information Systems and Services) API.
Functionality:
- Retrieves detailed information about team members using their TISS IDs
- Fetches data including name, role, unit, email, phone, office location, and photo
- Processes employee information such as function, organizational unit, and room details
- Generates a YAML file at
_data/team/tiss_generated.yml
Configuration: Edit the tiss_ids list in the script to add or remove team members.
Usage:
python _scripts/fetch_tiss.pyNote: Both scripts require internet connectivity and generate YAML files that are automatically used by the Jekyll site to display publications and team information.
.
├── _config.yml # Jekyll configuration
├── _data/ # Data files (YAML) for team and publications
├── _includes/ # Reusable HTML components
├── _layouts/ # Page templates
├── _pages/ # Individual pages (team, publications, etc.)
├── _scripts/ # Python utility scripts
├── css/ # Stylesheets
├── Gemfile # Ruby dependencies
└── index.md # Homepage content
See the repository for license information.