This is the repository for the ISTLab web site. This system is used to create and maintain the website. The system manages information regarding
- research groups
- group members
- research projects
- publications
The technologies that are used are Git, XML, XSLT, make, grep, BiBTeX, and bib2xhtml
Data are kept in XML form (groups, members, projects) and for the publications BiBTeX is used. Data are transformed into static HTML pages by XSLT scripts and data validation checks are performed by XML validator (DTD schemas).
- To add a new publication edit the file in data/publicationscorresponding to the type of the publication you are adding. You can use a BibTeX entry exported from a digital library. However, you need to add theXEmemberandXEgroupfields; look at existing entries for examples.
- To add a new member, add a file under data/members; to add a new project, add a file underdata/projects; to modify an existing one, edit the corresponding file. Again, when adding, you can get a head-start by copy-pasting a template (see below).
- bin: win32 version of binaries that are needed by the system note : OS X and Linux users and should install them separetaly.
- build: Temporary files that are used to locally build the website
- data: XML and bibtex user data- groups: Research group data (XML)
- members: Members' information (XML)
- projects: Project information (XML)
- publications: Bibliographic data (Bibtex)
- rel_pages: Rogue HTML pages, which are assigned to a research group
 
- doc: System's documentation (still work in progress)
- lists:
- public_html:
- schema: System's DTDs and transformation scripts
- tools: Scripts and tools used by the system to build reports
- Makefile: The system's operation is orchestrated by this make file. Common commands include- html: Build the website locally
- val: Validate local data and report problems
- clean: Delete temporary build files (usually run this before using the- htmltarget)
 
- make : GNU make
- bibtex : LaTeX's bibtex tool
- perl : Perl programming Language (used only on reporting)
- xmlstarlet : A command-line tool that exposes libxmlbasic facilities
Note: The win32 version of these utilities are included in the basic distribution ot the system.
git clone [email protected]:istlab/web.git
git add <path/filename>
git commit -m '<your-comment-here>' -a
git push
make clean html
and then open public_html/index.html file with your favorite web browser.
- doc/templates/group-sample.xml: XML Template for a research group
- doc/templates/member-example.xml: XML Template for a group member
- doc/templates/project-example.xml: XML Template for a research project
- doc/templates/rel_page-example.xml: XML Template for a group HTML page
- doc/templates/publication-schema.bib: Bibtex entries templates
To create,
- a new group, copy the template file to the data/groups/directory
- a new member, copy the template file to the data/members/directory
- a new project, copy the template file to the data/projects/directory
- a group HTML page, copy the template file to the data/rel_page/directory
- a new publication, update the appropriate bib file in data/publications/directory (common files for all groups)
It is important to validate local data before commiting by using the make val command. For example:
bkarak@pc:~/web [master]$ make val Creating output directories Creating unified database ---> Checking group data XML files ... ---> Checking member data XML files ... ---> Checking project data XML files ... ---> Checking additional HTML pages ... ---> Checking announcements ... ---> Checking db.xml ...