A searchable knowledge hub for battery research resources, built with Hugo and Tailwind CSS. It aggregates datasets, publications, software, tutorials, and other resources across several battery research categories.
- Full-text fuzzy search powered by Fuse.js
- Categories: Cyclic Testing, Data Repositories, Data Standardisation, Simulation & Parameterisation, System-Level Testing
- Record types: Dataset, Publication, Software, Tutorial, Other
- Mobile-responsive layout
- Auto-generated JSON search index via Hugo
-
Clone the repository
git clone https://github.com/DigiBatt/digibatt-hub.git cd digibatt-hub -
Install Node dependencies (Tailwind CSS and build tools)
npm install
-
Install Hugo (if not already installed)
# macOS via Homebrew brew install hugo
Start the Hugo development server:
# In the terminal — serve the Hugo site
hugo serverThe site will be available at http://localhost:1313.
digibatt-hub/
├── content/ # Markdown content (Category pages)
│ ├── cyclic-testing/
│ ├── data-repositories/
│ ├── data-standardisation/
│ ├── simulation-and-parameterisation/
│ ├── system-level-testing/
│ └── records/ # Markdown content (Record pages)
├── themes/digibatt/ # Custom Hugo theme (layouts, assets)
├── schemas/ # JSON schemas for record types
├── assets/python/ # Helper scripts for importing records
├── data/ # Raw and converted JSON data
└── hugo.toml # Hugo configuration
Records are Markdown files with structured front matter. Each record can have multiple categories (e.g. cyclic-testing) and a single type (e.g. dataset, publication, software, tutorial, other).
- Go to the Issues tab and select "Submit a Record".
- Fill in the form with the resource details (title, URL, description, category, etc.).
- A maintainer will review and add it to the hub.
-
Fork the repository and create a new branch:
git checkout -b add/my-new-record
-
Create a new .md file for the record and place it in
content/records/ -
Preview locally with
hugo server. -
Open a Pull Request against
main. A maintainer will review and merge it.
There are some utilities available in the repo to make it easier to generate new records.
-
Create a .json file from the correct json template in
schemas/json_templates/ -
Place the file in
data/submitted/ -
Convert to a .md file by running
assets/python/convert_dbjson_to_md.py
This should validate against the correct schema, create a new .md file and place it into the content/records folder.
-
Create a new file from the correct hugo archetype (found in
archetypes/)# e.g. hugo new -k dataset records/my-dataset.md # or hugo new -k software records/my-tool.md
-
Edit the generated file and fill in the front matter and put the description in the main file content.
-
Validate your file against the appropriate JSON schema in
/schemas/.
JSON schemas for each record type are in the /schemas/ directory:
| Type | Schema file |
|---|---|
| Dataset | schemas/dataset.json |
| Publication | schemas/publication.json |
| Software | schemas/software.json |
| Tutorial | schemas/tutorial.json |
| Other | schemas/other.json |
This project has received funding from the European Union.
Website code is licenced under GPL3. See LICENSE for details.