A comprehensive data-driven website showcasing Key Performance Indicators (KPIs), achievements, and organizational structure for the University of Idaho Library. Built on Jekyll and CollectionBuilder, this site provides an interactive gallery of library metrics, team overviews, and annual reports.
This repository powers a website that tracks and visualizes the University of Idaho Library's performance across multiple service areas including:
- Building Usage - Patron visits and facility utilization
- Catalog - Bibliographic records and catalog management
- Course Reserves - Textbook affordability and access
- Digital Collections - 77,000+ digitized items across 139+ collections
- Electronic Resources - Database usage and cost-per-use metrics
- Fellowships - Student and faculty fellowship programs
- GIS Services - Geographic information systems support
- Instruction & Workshops - Educational programming and literacy instruction
- Open Publishing - Open educational resources and publishing initiatives
- Physical Circulation - Physical material borrowing patterns
- Research Assistance - Reference and research consultations
- Resource Sharing (ILL) - Interlibrary loan statistics
- Special Collections & Archives - Unique materials and archival services
- Student Employment - Student worker programs
- VERSO - Research information management system
- Web Analytics - Website traffic and user engagement across all library properties
- Static Site Generator: Jekyll
- Framework: CollectionBuilder (CSV variant)
- Languages: Ruby, Python, Liquid templating
- Styling: Bootstrap 5, custom Sass
- Data Format: CSV files for KPI data
- Analytics Processing: Python scripts for data transformation
βββ _config.yml # Jekyll configuration
βββ _data/ # CSV data files
β βββ kpi-sections.csv # KPI section definitions
β βββ teams-units.csv # Organizational structure
β βββ config-*.csv # CollectionBuilder configs
βββ _final_reports24_25/ # Annual team/unit reports
βββ _layouts/ # Page templates
βββ _includes/ # Reusable components
βββ _plugins/ # Custom Jekyll plugins
βββ _sass/ # Custom styling
βββ pages/ # Main content pages
βββ kpidata/ # KPI datasets (CSV)
βββ assets/ # Static assets (CSS, images, PDFs)
βββ convert_pdfs.py # PDF to Markdown converter
βββ process_all_web_data.py # Web analytics processor
βββ process_web_data.py # Individual web data processor
- Ruby (2.7 or higher)
- Bundler gem
- Python 3.7+ (for data processing scripts)
- Clone the repository:
git clone https://github.com/[organization]/kpis.git
cd kpis- Install Ruby dependencies:
bundle install- Install Python dependencies (for data processing):
pip install pandas pdfplumberRun the Jekyll development server:
bundle exec jekyll serveVisit http://localhost:4000 in your browser.
For live reload during development:
bundle exec jekyll serve --livereloadKPI data is stored as CSV files in the kpidata/ directory. Each KPI section has its own CSV file following this naming convention:
building-usage.csvcatalog.csvdigital-collections.csv- etc.
The repository includes Python scripts for processing web analytics data:
# Process all web properties data
python process_all_web_data.py
# Process individual web data files
python process_web_data.pyTo convert PDF reports to Markdown format for Jekyll collections:
python convert_pdfs.pyThis script uses pdfplumber to extract text and converts it to properly formatted Markdown files with Jekyll front matter.
- Add a new markdown file in
pages/directory - Include Jekyll front matter with layout and permalink
- Reference the corresponding CSV data file from
kpidata/ - Add entry to
_data/kpi-sections.csvfor navigation
- Create a new markdown file in
_final_reports24_25/directory - Add front matter with appropriate metadata
- The file will automatically be included in the collection
Custom styles are defined in _sass/:
_custom.scss- Site-specific customizations_theme-colors.scss- Color scheme definitions_pages.scss- Page-specific styles
Edit _config.yml to modify:
- Site title and description
- Organization branding
- Collection settings
- Navigation structure
- Interactive Data Visualizations: Charts and graphs powered by Chart.js
- Responsive Design: Mobile-friendly interface using Bootstrap 5
- Team & Unit Overviews: Detailed organizational structure pages
- Annual Reports: Collections-based report management
- Achievement Tracking: Comprehensive accomplishments and challenges pages
- Accessibility Compliant: WCAG 2.1 AA standards
- Search Functionality: Lunr.js powered search across all content
Additional documentation can be found in:
CONTRIBUTING.md- Contribution guidelinesCODE_OF_CONDUCT.md- Community standardsSECURITY.md- Security policiesCITATION.cff- Citation information
Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the terms specified in LICENSE.
For questions or support, contact the University of Idaho Library Digital Initiatives team.
Built with β€οΈ by the University of Idaho Library